summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBritney Fransen <brfransen@gmail.com>2018-09-06 16:35:27 (GMT)
committerBritney Fransen <brfransen@gmail.com>2018-09-06 16:35:27 (GMT)
commit5669815ec3a539cf7b5ac7d8da2cbba3aeff44be (patch)
treef13051093a52f47f5954c2ee2a783bc2f0f62f96
parent8d35f28049488f2585ef765bf48e7a58958fd587 (diff)
parent04697136037cb5341ee6c051f8aaa265c0400c82 (diff)
downloadlinhes_pkgbuild-5669815ec3a539cf7b5ac7d8da2cbba3aeff44be.zip
linhes_pkgbuild-5669815ec3a539cf7b5ac7d8da2cbba3aeff44be.tar.gz
linhes_pkgbuild-5669815ec3a539cf7b5ac7d8da2cbba3aeff44be.tar.bz2
Merge branch 'testing'
-rw-r--r--abs/core/LinHES-config/09_mythvantge_runit_grub2
-rw-r--r--abs/core/LinHES-config/LinHES-release2
-rwxr-xr-xabs/core/LinHES-config/PKGBUILD19
-rw-r--r--abs/core/LinHES-config/config.install7
-rwxr-xr-xabs/core/LinHES-config/mv_fileshare.py1
-rw-r--r--abs/core/LinHES-config/mv_install.py23
-rwxr-xr-xabs/core/LinHES-system/PKGBUILD11
-rw-r--r--abs/core/LinHES-system/myth2mkv8
-rw-r--r--abs/core/LinHES-system/myth_status.py21
-rw-r--r--abs/core/aalib/PKGBUILD38
-rw-r--r--abs/core/alsa-lib/PKGBUILD12
-rw-r--r--abs/core/alsa-plugins/PKGBUILD12
-rwxr-xr-xabs/core/alsa-utils/90alsa13
-rw-r--r--abs/core/alsa-utils/PKGBUILD28
-rw-r--r--abs/core/apache/PKGBUILD43
-rw-r--r--abs/core/apache/apache-2.2-optionsbleed-CVE-2017-9798.patch21
-rw-r--r--abs/core/apache/apache.install16
-rw-r--r--abs/core/apache/httpd.logrotate3
-rw-r--r--abs/core/apache/httpd.service10
-rw-r--r--abs/core/apache/nohttp2forprefork.patch506
-rw-r--r--abs/core/apache/openssl-malloc-init.patch20
-rw-r--r--abs/core/apache/script_name.patch84
-rw-r--r--abs/core/apr-util/PKGBUILD49
-rw-r--r--abs/core/apr-util/buildconf_config.guess_sub_location.patch22
-rw-r--r--abs/core/apr-util/disable_failing_test.patch13
-rw-r--r--abs/core/apr-util/openssl-1.1.patch250
-rw-r--r--abs/core/apr/PKGBUILD52
-rw-r--r--abs/core/apr/dont_override_external_buildflags21
-rw-r--r--abs/core/apr/fix-apr.pc.patch20
-rw-r--r--abs/core/apr/fix_apr-config.patch33
-rw-r--r--abs/core/apr/omit_extra_libs.patch20
-rw-r--r--abs/core/apr/ship_find_apr.m4.patch25
-rw-r--r--abs/core/archlinux-xdg-menu/PKGBUILD34
-rw-r--r--abs/core/argon2/PKGBUILD47
-rw-r--r--abs/core/argon2/argon2.install6
-rw-r--r--abs/core/argon2/libargon2.pc11
-rw-r--r--abs/core/aspell/PKGBUILD13
-rw-r--r--abs/core/aspell/__changelog1
-rw-r--r--abs/core/aspell/aspell.install24
-rw-r--r--abs/core/aspell/gcc7fixes.patch37
-rw-r--r--abs/core/automake/PKGBUILD33
-rw-r--r--abs/core/automake/automake-1.15-dejagnu-testcase.patch49
-rw-r--r--abs/core/automake/automake.install22
-rw-r--r--abs/core/avahi/0001-avahi-python-Use-the-agnostic-DBM-interface.patch256
-rw-r--r--abs/core/avahi/PKGBUILD52
-rw-r--r--abs/core/avahi/__changelog2
-rw-r--r--abs/core/avahi/avahi.install7
-rw-r--r--abs/core/bash/PKGBUILD138
-rw-r--r--abs/core/bash/bash-4.3-old-memleak.patch24
-rw-r--r--abs/core/bash/bash.install16
-rw-r--r--abs/core/bash/privmode-setuid-fail.patch29
-rw-r--r--abs/core/bash/system.bashrc7
-rw-r--r--abs/core/bc/PKGBUILD28
-rw-r--r--abs/core/bc/bc-1.06.95-void_uninitialized.patch14
-rw-r--r--abs/core/bc/bc.install20
-rw-r--r--abs/core/binutils/0001-PR22741-objcopy-segfault-on-fuzzed-COFF-object.patch29
-rw-r--r--abs/core/binutils/0002-PR22829-objcopy-strip-removes-PT_GNU_RELRO-from-lld-.patch145
-rw-r--r--abs/core/binutils/0003-PR22836-r-s-doesnt-work-with-g3-using-GCC-7.patch233
-rw-r--r--abs/core/binutils/0004-PR22868-Fix-case-where-IR-file-provides-symbol-visibility.patch275
-rw-r--r--abs/core/binutils/PKGBUILD91
-rw-r--r--abs/core/binutils/binutils-e9c1bdad.patch78
-rw-r--r--abs/core/binutils/binutils.install17
-rwxr-xr-xabs/core/ceton_infinitv/PKGBUILD6
-rw-r--r--abs/core/cmake/PKGBUILD25
-rw-r--r--abs/core/cmake/__changelog1
-rw-r--r--abs/core/cmake/cmake-3.10-boost-1.66-support.patch259
-rw-r--r--abs/core/cmake/rebuild.list3
-rw-r--r--abs/core/coreutils/PKGBUILD27
-rw-r--r--abs/core/coreutils/coreutils.install17
-rw-r--r--abs/core/cryptsetup/PKGBUILD52
-rw-r--r--abs/core/cryptsetup/hooks-encrypt (renamed from abs/core/cryptsetup/encrypt_hook)13
-rw-r--r--abs/core/cryptsetup/install-encrypt (renamed from abs/core/cryptsetup/encrypt_install)7
-rw-r--r--abs/core/cryptsetup/install-sd-encrypt (renamed from abs/core/cryptsetup/sd-encrypt)19
-rw-r--r--abs/core/curl/PKGBUILD36
-rw-r--r--abs/core/curl/curlbuild.h9
-rw-r--r--abs/core/cython/PKGBUILD35
-rw-r--r--abs/core/cython/__changelog1
-rw-r--r--abs/core/dbus-python/PKGBUILD65
-rw-r--r--abs/core/dbus-python/__changelog1
-rw-r--r--abs/core/dbus/PKGBUILD87
-rw-r--r--abs/core/dbus/dbus.sysusers5
-rw-r--r--abs/core/dialog/PKGBUILD35
-rw-r--r--abs/core/ding-libs/PKGBUILD37
-rw-r--r--abs/core/dirmngr/PKGBUILD30
-rw-r--r--abs/core/dirmngr/dirmngr.install20
-rw-r--r--abs/core/dnsutils/PKGBUILD52
-rw-r--r--abs/core/dnsutils/remove-bind.patch25
-rw-r--r--abs/core/docutils/PKGBUILD32
-rw-r--r--abs/core/fakeroot/PKGBUILD63
-rw-r--r--abs/core/fakeroot/__changelog1
-rw-r--r--abs/core/fakeroot/fakeroot.install6
-rw-r--r--abs/core/fakeroot/silence-dlerror.patch17
-rw-r--r--abs/core/ffmpeg/PKGBUILD41
-rw-r--r--abs/core/ffmpeg/fs56089.patch84
-rw-r--r--abs/core/freetype2/0001-Enable-table-validation-modules.patch28
-rw-r--r--abs/core/freetype2/0001-psaux-Correctly-handle-Flex-features-52846.patch38
-rw-r--r--abs/core/freetype2/0002-Enable-infinality-subpixel-hinting.patch (renamed from abs/core/freetype2/0003-Enable-infinality-subpixel-hinting.patch)15
-rw-r--r--abs/core/freetype2/0002-Enable-subpixel-rendering.patch25
-rw-r--r--abs/core/freetype2/0003-Enable-long-PCF-family-names.patch28
-rw-r--r--abs/core/freetype2/PKGBUILD81
-rw-r--r--abs/core/fribidi/PKGBUILD38
-rw-r--r--abs/core/func/PKGBUILD6
-rw-r--r--abs/core/gawk/PKGBUILD17
-rw-r--r--abs/core/gawk/gawk.install22
-rw-r--r--abs/core/gcc/PKGBUILD494
-rw-r--r--abs/core/gcc/Unlink-the-response-file.patch54
-rw-r--r--abs/core/gcc/c8910
-rw-r--r--abs/core/gcc/c9910
-rw-r--r--abs/core/gcc/gcc-ada.install20
-rw-r--r--abs/core/gcc/gcc-fortran.install16
-rw-r--r--abs/core/gcc/gcc-go.install20
-rw-r--r--abs/core/gcc/gcc-libs.install16
-rw-r--r--abs/core/gcc/gcc.install20
-rw-r--r--abs/core/gdb/PKGBUILD74
-rw-r--r--abs/core/gdb/gdb.install18
-rw-r--r--abs/core/gettext/PKGBUILD9
-rw-r--r--abs/core/gettext/gettext.install22
-rw-r--r--abs/core/ghostscript/PKGBUILD171
-rw-r--r--abs/core/ghostscript/add_gserrors_h.diff43
-rw-r--r--abs/core/ghostscript/bug_696246.diff203
-rw-r--r--abs/core/ghostscript/fix_check_for_using_shared_freetype_lib.diff30
-rw-r--r--abs/core/ghostscript/ghostscript-9.22-restore-flushpage.patch28
-rw-r--r--abs/core/ghostscript/ghostscript-sys-zlib.patch25
-rw-r--r--abs/core/glibc/PKGBUILD241
-rw-r--r--abs/core/glibc/bz20338.patch114
-rw-r--r--abs/core/glibc/glibc-2.22-CVE-2015-7547.patch572
-rw-r--r--abs/core/glibc/glibc-2.22-roundup.patch2747
-rw-r--r--abs/core/glibc/glibc.install15
-rw-r--r--abs/core/glibc/lib32-glibc.conf1
-rw-r--r--abs/core/gnupg/PKGBUILD51
-rw-r--r--abs/core/gnupg/install43
-rw-r--r--abs/core/gnupg/protect-tool-env.patch28
-rw-r--r--abs/core/gnutls/PKGBUILD21
-rw-r--r--abs/core/gpm/PKGBUILD21
-rw-r--r--abs/core/gpm/__changelog1
-rw-r--r--abs/core/gpm/gpm-1.20.7-glibc-2.26-1.patch58
-rw-r--r--abs/core/gpm/gpm.install16
-rwxr-xr-xabs/core/gpm/gpm.sh2
-rw-r--r--abs/core/gssproxy/PKGBUILD86
-rw-r--r--abs/core/gzip/PKGBUILD47
-rw-r--r--abs/core/gzip/gzip.install15
-rw-r--r--abs/core/imagemagick/PKGBUILD190
-rw-r--r--abs/core/imagemagick/arch-fonts.diff107
-rw-r--r--abs/core/imagemagick/perlmagick.rpath.patch11
-rw-r--r--abs/core/imap/1006_openssl1.1_autoverify.patch58
-rw-r--r--abs/core/imap/PKGBUILD40
-rw-r--r--abs/core/imap/imap.install40
-rw-r--r--abs/core/inetutils/PKGBUILD25
-rw-r--r--abs/core/inetutils/ftpd.service2
-rw-r--r--abs/core/inetutils/inetutils.install19
-rw-r--r--abs/core/iproute2/PKGBUILD73
-rw-r--r--abs/core/iproute2/__changelog1
-rw-r--r--abs/core/iputils/PKGBUILD43
-rw-r--r--abs/core/iputils/iputils.install1
-rw-r--r--abs/core/jade/PKGBUILD41
l---------abs/core/jade/jade-1.2.1-8.src.tar.gz1
-rw-r--r--abs/core/krb5/PKGBUILD96
-rw-r--r--abs/core/krb5/krb5-1.10.1-gcc47.patch11
-rw-r--r--abs/core/krb5/krb5-config_LDFLAGS.patch12
-rw-r--r--abs/core/krb5/krb5-kadmind40
-rw-r--r--abs/core/krb5/krb5-kadmind.service2
-rw-r--r--abs/core/krb5/krb5-kdc40
-rw-r--r--abs/core/krb5/krb5-kdc.service2
-rw-r--r--abs/core/krb5/krb5-kpropd40
-rw-r--r--abs/core/krb5/krb5-kpropd.service2
-rw-r--r--abs/core/krb5/krb5-kpropd@.service2
-rw-r--r--abs/core/lame/PKGBUILD14
-rw-r--r--abs/core/lapack/LICENSE.blas19
-rw-r--r--abs/core/lapack/Makefile.blas148
-rw-r--r--abs/core/lapack/Makefile.lapack411
-rw-r--r--abs/core/lapack/PKGBUILD54
-rw-r--r--abs/core/lapack/lapack-3.1.1-make.inc.patch23
-rw-r--r--abs/core/ldns/PKGBUILD18
-rw-r--r--abs/core/ldns/pc.patch60
-rw-r--r--abs/core/ldns/perl-recent.patch12
-rw-r--r--abs/core/less/PKGBUILD4
-rw-r--r--abs/core/libassuan/PKGBUILD35
-rw-r--r--abs/core/libassuan/libassuan.install20
-rw-r--r--abs/core/libcaca/PKGBUILD31
-rw-r--r--abs/core/libcec/PKGBUILD8
-rw-r--r--abs/core/libdrm/PKGBUILD44
-rw-r--r--abs/core/libdrm/fix_mistake_in_initial_hole_size_calculation.diff39
-rw-r--r--abs/core/libdrm/no-drmdevice-test.diff9
-rw-r--r--abs/core/libedit/PKGBUILD21
-rw-r--r--abs/core/libevent/PKGBUILD30
-rw-r--r--abs/core/libgcrypt/PKGBUILD50
-rw-r--r--abs/core/libgcrypt/libgcrypt.install20
-rw-r--r--abs/core/libglvnd/LICENSE (renamed from abs/extra/libglvnd/LICENSE)0
-rw-r--r--abs/core/libglvnd/PKGBUILD (renamed from abs/extra/libglvnd/PKGBUILD)0
-rw-r--r--abs/core/libglvnd/__changelog (renamed from abs/extra/libglvnd/__changelog)0
-rw-r--r--abs/core/libgpg-error/PKGBUILD23
-rw-r--r--abs/core/libgusb/PKGBUILD49
-rw-r--r--abs/core/libidn/PKGBUILD42
-rw-r--r--abs/core/libidn/gcc7_buildfix.diff327
-rw-r--r--abs/core/libidn/libidn.install19
-rw-r--r--abs/core/libidn2/PKGBUILD40
-rw-r--r--abs/core/libksba/PKGBUILD21
-rw-r--r--abs/core/libksba/libksba.install20
-rw-r--r--abs/core/libmpc/PKGBUILD17
-rw-r--r--abs/core/libmpc/libmpc-0.9-configure_cflags_egrep_issue.patch63
-rw-r--r--abs/core/libmpc/libmpc.install20
-rw-r--r--abs/core/libnghttp2/PKGBUILD39
-rw-r--r--abs/core/libpsl/PKGBUILD47
-rw-r--r--abs/core/libsasl/0003_saslauthd_mdoc.patch35
-rw-r--r--abs/core/libsasl/0012_xopen_crypt_prototype.patch20
-rw-r--r--abs/core/libsasl/0016_pid_file_lock_creation_mask.patch27
-rw-r--r--abs/core/libsasl/0018_auth_rimap_quotes.patch35
-rw-r--r--abs/core/libsasl/0019_ldap_deprecated.patch22
-rw-r--r--abs/core/libsasl/0022_gcc4.4_preprocessor_syntax.patch26
-rw-r--r--abs/core/libsasl/0027_db5_support.patch24
-rw-r--r--abs/core/libsasl/CVE-2013-4122.patch116
-rw-r--r--abs/core/libsasl/PKGBUILD142
-rw-r--r--abs/core/libsasl/cyrus-sasl-2.1.19-checkpw.c.patch170
-rw-r--r--abs/core/libsasl/cyrus-sasl-2.1.22-automake-1.10.patch94
-rw-r--r--abs/core/libsasl/cyrus-sasl-2.1.22-crypt.patch71
-rw-r--r--abs/core/libsasl/cyrus-sasl-2.1.23-authd-fix.patch28
-rw-r--r--abs/core/libsasl/cyrus-sasl-2.1.26-size_t.patch11
-rw-r--r--abs/core/libsasl/cyrus-sasl-2.1.27-openssl-1.1.0.patch435
-rw-r--r--abs/core/libsasl/cyrus-sasl-gssapi.patch16
-rw-r--r--abs/core/libsasl/cyrus-sasl-sql.patch39
-rw-r--r--abs/core/libsasl/fix-pkgconfig.patch27
-rw-r--r--abs/core/libsasl/saslauthd49
-rw-r--r--abs/core/libsasl/saslauthd.service11
-rw-r--r--abs/core/libsasl/tmpfiles.conf1
-rw-r--r--abs/core/libsm/PKGBUILD19
-rw-r--r--abs/core/libssh2/PKGBUILD14
-rw-r--r--abs/core/libstatgrab/PKGBUILD22
-rw-r--r--abs/core/libstatgrab/libstatgrab.changelog10
-rw-r--r--abs/core/libtasn1/PKGBUILD16
-rw-r--r--abs/core/libtasn1/libtasn1.install18
-rw-r--r--abs/core/libtirpc/PKGBUILD40
-rw-r--r--abs/core/libtirpc/libtirpc-0.2.1-fortify.patch18
-rw-r--r--abs/core/libtirpc/libtirpc-0.2.3rc1.patch637
-rw-r--r--abs/core/libtirpc/libtirpc-fix-segfault-0.2.2.patch28
-rw-r--r--abs/core/libtool/PKGBUILD50
-rw-r--r--abs/core/libtool/libtool.install20
-rw-r--r--abs/core/libusb/PKGBUILD19
-rw-r--r--abs/core/libxml2/PKGBUILD64
-rw-r--r--abs/core/libxml2/libxml2-2.9.4-remove-pyverify_fd.patch12
-rw-r--r--abs/core/libxslt/CVE-2011-1202.patch56
-rw-r--r--abs/core/libxslt/PKGBUILD57
-rw-r--r--abs/core/libxtst/PKGBUILD18
-rw-r--r--abs/core/lighttpd/PKGBUILD6
-rwxr-xr-xabs/core/linhes-theme/PKGBUILD19
-rw-r--r--abs/core/linhes-theme/base.xml.patch131
-rw-r--r--abs/core/linhes-theme/config-ui.xml.patch279
-rw-r--r--abs/core/linhes-theme/gg-left-arrow-large.pngbin0 -> 2082 bytes
-rw-r--r--abs/core/linhes-theme/gg-right-arrow-large.pngbin0 -> 2047 bytes
-rw-r--r--abs/core/linhes-theme/recordings-ui.xml.patch12
-rw-r--r--abs/core/linhes-theme/schedule-ui.xml.patch98
-rw-r--r--abs/core/linhes-theme/status-ui.xml.patch28
-rw-r--r--abs/core/linhes-theme/video-ui.xml.patch180
-rw-r--r--abs/core/linux-api-headers/PKGBUILD39
-rw-r--r--abs/core/linux/PKGBUILD6
-rw-r--r--abs/core/linux/config8
-rw-r--r--abs/core/linux/linux.install.pkg2
-rw-r--r--abs/core/lirc/PKGBUILD47
-rw-r--r--abs/core/lirc/__changelog4
-rw-r--r--abs/core/lirc/lirc-0.10-build-fix.patch30
-rw-r--r--abs/core/lirc/lirc.install13
-rw-r--r--abs/core/lockdev/PKGBUILD38
-rw-r--r--abs/core/lockdev/build.patch30
-rw-r--r--abs/core/lockdev/gcc-4.7.patch18
-rw-r--r--abs/core/lsof/PKGBUILD6
-rw-r--r--abs/core/lvm2/PKGBUILD122
-rw-r--r--abs/core/lvm2/dmeventd.service14
-rw-r--r--abs/core/lvm2/dmeventd.socket11
-rw-r--r--abs/core/lvm2/lvm-monitoring.service17
-rw-r--r--abs/core/lvm2/lvm2.conf2
-rw-r--r--abs/core/lvm2/lvm2.install9
-rw-r--r--abs/core/lvm2/lvm2_hook13
-rw-r--r--abs/core/lvm2/lvm2_install23
-rw-r--r--abs/core/lvm2/lvmetad.service16
-rw-r--r--abs/core/lvm2/lvmetad.socket10
-rw-r--r--abs/core/lvm2/sd-lvm231
-rw-r--r--abs/core/lvm2/sd-lvm2_install49
-rw-r--r--abs/core/make/PKGBUILD15
-rw-r--r--abs/core/make/guile-2.2.patch15
-rw-r--r--abs/core/mesa-demos/PKGBUILD27
-rw-r--r--abs/core/mesa/0001-Fix-linkage-against-shared-glapi.patch26
-rw-r--r--abs/core/mesa/0001-glvnd-fix-gl-dot-pc.patch (renamed from abs/core/mesa/0002-glvnd-fix-gl-dot-pc.patch)0
-rw-r--r--abs/core/mesa/PKGBUILD43
-rw-r--r--abs/core/mfdb-json-git/PKGBUILD32
-rw-r--r--abs/core/mpfr/PKGBUILD33
-rw-r--r--abs/core/mpfr/mpfr-3.1.0.p10.patch1896
-rw-r--r--abs/core/mpfr/mpfr-3.1.6-p1.patch285
-rw-r--r--abs/core/mpfr/mpfr.install20
-rw-r--r--abs/core/mplayer-wrapper/PKGBUILD4
-rw-r--r--abs/core/mplayer-wrapper/mplayer-wrapper.pl5
-rw-r--r--abs/core/mplayer/PKGBUILD97
-rw-r--r--abs/core/mplayer/cdio-includes.patch43
-rw-r--r--abs/core/mplayer/mplayer.pngbin1982 -> 0 bytes
-rw-r--r--abs/core/mysql/PKGBUILD8
-rw-r--r--abs/core/mythinstall/PKGBUILD2
-rw-r--r--abs/core/mythtv/stable-29/git_src/git_hash2
-rw-r--r--abs/core/mythtv/stable-29/git_src/git_hash_web2
-rw-r--r--abs/core/mythtv/stable-29/mythplugins/PKGBUILD25
-rw-r--r--abs/core/mythtv/stable-29/mythplugins/mythburn.cpp-python2.patch13
-rw-r--r--abs/core/mythtv/stable-29/mythtv/0259-0117-UI-Provide-dbase-cache-for-RegisterKey-and-RegisterJ.patch276
-rw-r--r--abs/core/mythtv/stable-29/mythtv/PKGBUILD22
-rw-r--r--abs/core/mythtv/stable-29/mythtv/fixTranslations.patch91
-rw-r--r--abs/core/mythtv/stable-29/mythtv/mythfrontend_en_us.ts_Title_Case.patch2498
-rw-r--r--abs/core/mythtv/stable-29/mythweb/PKGBUILD10
-rw-r--r--abs/core/mythtv/stable-29/mythweb/video.css.patch98
-rw-r--r--abs/core/nano/PKGBUILD5
-rw-r--r--abs/core/ncurses/PKGBUILD66
-rw-r--r--abs/core/nfs-utils/PKGBUILD182
-rw-r--r--abs/core/nfs-utils/blkmapd.service11
-rw-r--r--abs/core/nfs-utils/exports15
-rw-r--r--abs/core/nfs-utils/id_resolver.conf10
-rw-r--r--abs/core/nfs-utils/idmapd.conf14
-rw-r--r--abs/core/nfs-utils/nfs40
-rw-r--r--abs/core/nfs-utils/nfs-common.conf40
-rw-r--r--abs/core/nfs-utils/nfs-server.conf29
-rw-r--r--abs/core/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch39
-rw-r--r--abs/core/nfs-utils/nfs-utils-1.1.4-no-exec.patch15
-rw-r--r--abs/core/nfs-utils/nfs-utils.conf1
-rw-r--r--abs/core/nfs-utils/nfs-utils.install32
-rw-r--r--abs/core/nfs-utils/nfsd.service16
-rw-r--r--abs/core/nfs-utils/proc-fs-nfsd.mount8
-rw-r--r--abs/core/nfs-utils/rpc-gssd.service13
-rw-r--r--abs/core/nfs-utils/rpc-idmapd.service13
-rw-r--r--abs/core/nfs-utils/rpc-mountd.service12
-rw-r--r--abs/core/nfs-utils/rpc-statd.service13
-rw-r--r--abs/core/nfs-utils/rpc-svcgssd.service12
-rw-r--r--abs/core/nfs-utils/start-statd.patch10
-rw-r--r--abs/core/nfs-utils/var-lib-nfs-rpc_pipefs.mount7
-rw-r--r--abs/core/npth/PKGBUILD34
-rw-r--r--abs/core/ntp/PKGBUILD67
-rw-r--r--abs/core/ntp/install37
-rw-r--r--abs/core/ntp/logrotate.d4
-rw-r--r--abs/core/ntp/ntp.conf31
-rw-r--r--abs/core/ntp/ntp.install5
-rwxr-xr-xabs/core/ntp/ntpd47
-rw-r--r--abs/core/ntp/ntpd.conf5
-rw-r--r--abs/core/ntp/ntpd.service9
-rwxr-xr-xabs/core/ntp/ntpdate29
-rw-r--r--abs/core/ntp/ntpdate.service12
-rw-r--r--abs/core/nvidia-304xx/PKGBUILD2
-rw-r--r--abs/core/nvidia-340xx-utils/PKGBUILD38
-rw-r--r--abs/core/nvidia-340xx-utils/nvidia-340xx-utils.install3
-rw-r--r--abs/core/nvidia-340xx-utils/nvidia-340xx-utils.sysusers1
-rw-r--r--abs/core/nvidia-340xx-utils/nvidia-drm-outputclass.conf1
-rw-r--r--abs/core/nvidia-340xx/PKGBUILD19
-rw-r--r--abs/core/nvidia-340xx/kernel-4.14.patch29
-rw-r--r--abs/core/nvidia-utils/PKGBUILD29
-rw-r--r--abs/core/nvidia-utils/nvidia-drm-outputclass.conf1
-rw-r--r--abs/core/nvidia-utils/nvidia-utils.install3
-rw-r--r--abs/core/nvidia-utils/nvidia-utils.sysusers1
-rw-r--r--abs/core/nvidia/PKGBUILD22
-rw-r--r--abs/core/nvidia/fix-abi.patch12
-rw-r--r--abs/core/nvidia/kernel-4.16.patch33
-rw-r--r--abs/core/openldap/PKGBUILD72
-rw-r--r--abs/core/openldap/openldap.install21
-rw-r--r--abs/core/openldap/openldap.sysusers1
-rw-r--r--abs/core/openldap/openldap.tmpfiles3
-rw-r--r--abs/core/openldap/slapd.tmpfiles1
-rw-r--r--abs/core/openssh/PKGBUILD46
-rw-r--r--abs/core/openssh/openssl-1.1.0.patch1982
-rw-r--r--abs/core/openssh/sshd@.service1
-rw-r--r--abs/core/openssl-1.0/PKGBUILD88
-rw-r--r--abs/core/openssl-1.0/no-rpath.patch (renamed from abs/core/openssl/no-rpath.patch)0
-rw-r--r--abs/core/openssl-1.0/openssl-1.0-versioned-symbols.patch4667
-rw-r--r--abs/core/openssl-1.0/ssl3-test-failure.patch (renamed from abs/core/openssl/ssl3-test-failure.patch)0
-rw-r--r--abs/core/openssl/PKGBUILD39
-rw-r--r--abs/core/openssl/ca-dir.patch44
-rw-r--r--abs/core/pacman/0001-libmakepkg-fix-is_array-function.patch32
-rw-r--r--abs/core/pacman/PKGBUILD31
-rw-r--r--abs/core/pacman/__changelog3
-rw-r--r--abs/core/pacman/makepkg.conf6
-rw-r--r--abs/core/pacman/pacman.cron20
-rw-r--r--abs/core/pacman/pacman.install18
-rw-r--r--abs/core/pam/PKGBUILD2
-rw-r--r--abs/core/pambase/PKGBUILD14
-rw-r--r--abs/core/pambase/system-login1
-rw-r--r--abs/core/parted/PKGBUILD21
-rw-r--r--abs/core/parted/parted-735669-fat16-crash-v1.patch193
-rw-r--r--abs/core/parted/parted.install18
-rw-r--r--abs/core/pcre/01-CVE-2016-1283.patch18
-rw-r--r--abs/core/pcre/PKGBUILD18
-rw-r--r--abs/core/pcre2/PKGBUILD45
-rw-r--r--abs/core/perl-class-data-inheritable/PKGBUILD27
-rw-r--r--abs/core/perl-exception-class/PKGBUILD41
-rw-r--r--abs/core/perl-params-validationcompiler/PKGBUILD32
-rw-r--r--abs/core/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch83
-rw-r--r--abs/core/perl/CVE-2016-2381_duplicate_env.diff104
-rw-r--r--abs/core/perl/ChangeLog66
-rw-r--r--abs/core/perl/PKGBUILD243
-rw-r--r--abs/core/perl/detect-old-perl-modules.hook10
-rw-r--r--abs/core/perl/detect-old-perl-modules.sh36
-rw-r--r--abs/core/perl/digest_eval_hole.diff61
-rw-r--r--abs/core/perl/fix-h2ph-and-tests.patch104
-rwxr-xr-xabs/core/perl/generate-rebuild-list.sh11
-rwxr-xr-xabs/core/perl/patchprov259
-rw-r--r--abs/core/perl/perl-binary-module-dependency-1.template5
-rw-r--r--abs/core/perl/perl.install10
-rw-r--r--abs/core/perl/perlbin.csh2
-rw-r--r--abs/core/perl/perlbin.fish10
-rwxr-xr-xabs/core/perl/perlbin.sh2
-rw-r--r--abs/core/perl/provides.pl299
-rw-r--r--abs/core/perl/upgpkg4
-rw-r--r--abs/core/perl_modules/libxml-perl/PKGBUILD35
-rw-r--r--abs/core/perl_modules/perl-algorithm-diff/PKGBUILD37
-rw-r--r--abs/core/perl_modules/perl-alien-sdl/PKGBUILD36
-rw-r--r--abs/core/perl_modules/perl-appconfig/PKGBUILD2
-rw-r--r--abs/core/perl_modules/perl-archive-extract/PKGBUILD43
-rw-r--r--abs/core/perl_modules/perl-archive-zip/PKGBUILD36
-rw-r--r--abs/core/perl_modules/perl-astro-suntime/PKGBUILD64
-rw-r--r--abs/core/perl_modules/perl-b-hooks-endofscope/PKGBUILD41
-rw-r--r--abs/core/perl_modules/perl-capture-tiny/PKGBUILD15
-rw-r--r--abs/core/perl_modules/perl-cgi/PKGBUILD47
-rw-r--r--abs/core/perl_modules/perl-class-factory-util/PKGBUILD24
-rw-r--r--abs/core/perl_modules/perl-class-inspector/PKGBUILD30
-rw-r--r--abs/core/perl_modules/perl-class-load/PKGBUILD23
-rw-r--r--abs/core/perl_modules/perl-class-methodmaker/PKGBUILD31
-rw-r--r--abs/core/perl_modules/perl-class-singleton/PKGBUILD26
-rw-r--r--abs/core/perl_modules/perl-class-std-fast/PKGBUILD2
-rw-r--r--abs/core/perl_modules/perl-class-std/PKGBUILD2
-rw-r--r--abs/core/perl_modules/perl-compress-bzip2/PKGBUILD26
-rw-r--r--abs/core/perl_modules/perl-config-simple/PKGBUILD48
-rw-r--r--abs/core/perl_modules/perl-convert-binhex/PKGBUILD16
-rw-r--r--abs/core/perl_modules/perl-cpan-meta/PKGBUILD44
-rw-r--r--abs/core/perl_modules/perl-crypt-ssleay/PKGBUILD31
-rw-r--r--abs/core/perl_modules/perl-data-dump/PKGBUILD2
-rw-r--r--abs/core/perl_modules/perl-data-optlist/PKGBUILD55
-rw-r--r--abs/core/perl_modules/perl-data-uuid/PKGBUILD67
-rw-r--r--abs/core/perl_modules/perl-date-manip/PKGBUILD32
-rw-r--r--abs/core/perl_modules/perl-datetime-format-builder/PKGBUILD8
-rw-r--r--abs/core/perl_modules/perl-datetime-format-iso8601/PKGBUILD15
-rw-r--r--abs/core/perl_modules/perl-datetime-format-mail/PKGBUILD27
-rw-r--r--abs/core/perl_modules/perl-datetime-format-sqlite/PKGBUILD50
-rw-r--r--abs/core/perl_modules/perl-datetime-format-strptime/ChangeLog7
-rw-r--r--abs/core/perl_modules/perl-datetime-format-strptime/PKGBUILD45
-rw-r--r--abs/core/perl_modules/perl-datetime-format-strptime/__changelog1
-rw-r--r--abs/core/perl_modules/perl-datetime-format-w3cdtf/PKGBUILD31
-rw-r--r--abs/core/perl_modules/perl-datetime-locale/PKGBUILD25
-rw-r--r--abs/core/perl_modules/perl-datetime-timezone/PKGBUILD21
-rw-r--r--abs/core/perl_modules/perl-datetime/PKGBUILD45
-rw-r--r--abs/core/perl_modules/perl-dbd-mysql/PKGBUILD45
-rw-r--r--abs/core/perl_modules/perl-dbd-sqlite/PKGBUILD37
-rw-r--r--abs/core/perl_modules/perl-dbi-shell/PKGBUILD28
-rw-r--r--abs/core/perl_modules/perl-dbi/PKGBUILD36
-rw-r--r--abs/core/perl_modules/perl-devel-checklib/PKGBUILD32
-rw-r--r--abs/core/perl_modules/perl-devel-globaldestruction/PKGBUILD30
-rw-r--r--abs/core/perl_modules/perl-devel-stacktrace/PKGBUILD40
-rw-r--r--abs/core/perl_modules/perl-device-serialport/PKGBUILD29
-rw-r--r--abs/core/perl_modules/perl-digest-sha1/PKGBUILD33
-rw-r--r--abs/core/perl_modules/perl-dist-checkconflicts/PKGBUILD56
-rw-r--r--abs/core/perl_modules/perl-email-date-format/PKGBUILD20
-rw-r--r--abs/core/perl_modules/perl-encode-locale/PKGBUILD56
-rw-r--r--abs/core/perl_modules/perl-error/PKGBUILD26
-rw-r--r--abs/core/perl_modules/perl-error/perl-error-0.17016-2-x86_64-build.log.172
-rw-r--r--abs/core/perl_modules/perl-eval-closure/PKGBUILD38
-rw-r--r--abs/core/perl_modules/perl-expect/PKGBUILD31
-rw-r--r--abs/core/perl_modules/perl-exporter-tiny/PKGBUILD48
-rw-r--r--abs/core/perl_modules/perl-fcgi/PKGBUILD20
-rw-r--r--abs/core/perl_modules/perl-file-homedir/PKGBUILD57
-rw-r--r--abs/core/perl_modules/perl-file-listing/PKGBUILD49
-rw-r--r--abs/core/perl_modules/perl-file-remove/PKGBUILD29
-rw-r--r--abs/core/perl_modules/perl-file-sharedir-install/PKGBUILD32
-rw-r--r--abs/core/perl_modules/perl-file-sharedir/PKGBUILD11
-rw-r--r--abs/core/perl_modules/perl-file-slurp-tiny/PKGBUILD34
-rw-r--r--abs/core/perl_modules/perl-file-slurp/PKGBUILD32
-rw-r--r--abs/core/perl_modules/perl-file-which/PKGBUILD13
-rw-r--r--abs/core/perl_modules/perl-html-form/PKGBUILD8
-rw-r--r--abs/core/perl_modules/perl-html-parser/PKGBUILD40
-rw-r--r--abs/core/perl_modules/perl-html-tagset/PKGBUILD7
-rw-r--r--abs/core/perl_modules/perl-html-template/PKGBUILD30
-rw-r--r--abs/core/perl_modules/perl-html-tree/PKGBUILD31
-rw-r--r--abs/core/perl_modules/perl-http-cache-transparent/PKGBUILD28
-rw-r--r--abs/core/perl_modules/perl-http-cookies/PKGBUILD56
-rw-r--r--abs/core/perl_modules/perl-http-daemon/HTTP-Daemon-6.01-Add-IPv6-support.patch305
-rw-r--r--abs/core/perl_modules/perl-http-daemon/HTTP-Daemon-6.01-Handle-undef-and-empty-LocalAddr.patch48
-rw-r--r--abs/core/perl_modules/perl-http-daemon/PKGBUILD69
-rw-r--r--abs/core/perl_modules/perl-http-date/PKGBUILD57
-rw-r--r--abs/core/perl_modules/perl-http-message/PKGBUILD55
-rw-r--r--abs/core/perl_modules/perl-http-negotiate/PKGBUILD55
-rw-r--r--abs/core/perl_modules/perl-http-response-encoding/PKGBUILD29
-rw-r--r--abs/core/perl_modules/perl-http-server-simple/PKGBUILD23
-rw-r--r--abs/core/perl_modules/perl-image-size/PKGBUILD12
-rw-r--r--abs/core/perl_modules/perl-inc-latest/PKGBUILD31
-rw-r--r--abs/core/perl_modules/perl-io-captureoutput/PKGBUILD33
-rw-r--r--abs/core/perl_modules/perl-io-html/PKGBUILD32
-rw-r--r--abs/core/perl_modules/perl-io-socket-inet6/PKGBUILD16
-rw-r--r--abs/core/perl_modules/perl-io-socket-multicast/PKGBUILD2
-rw-r--r--abs/core/perl_modules/perl-io-socket-ssl/PKGBUILD28
-rw-r--r--abs/core/perl_modules/perl-io-tee/PKGBUILD26
-rw-r--r--abs/core/perl_modules/perl-io-tty/PKGBUILD29
-rw-r--r--abs/core/perl_modules/perl-ipc-run3/PKGBUILD41
-rw-r--r--abs/core/perl_modules/perl-ipc-system-simple/PKGBUILD24
-rw-r--r--abs/core/perl_modules/perl-json/PKGBUILD20
-rw-r--r--abs/core/perl_modules/perl-libwww/PKGBUILD69
-rw-r--r--abs/core/perl_modules/perl-lingua-en-numbers-ordinate/PKGBUILD22
-rw-r--r--abs/core/perl_modules/perl-lingua-preferred/PKGBUILD20
-rw-r--r--abs/core/perl_modules/perl-list-allutils/PKGBUILD39
-rw-r--r--abs/core/perl_modules/perl-list-compare/PKGBUILD43
-rw-r--r--abs/core/perl_modules/perl-list-moreutils-xs/PKGBUILD46
-rw-r--r--abs/core/perl_modules/perl-list-moreutils/PKGBUILD52
-rw-r--r--abs/core/perl_modules/perl-list-someutils/PKGBUILD38
-rw-r--r--abs/core/perl_modules/perl-list-utilsby/PKGBUILD44
-rw-r--r--abs/core/perl_modules/perl-locale-gettext/PKGBUILD25
-rw-r--r--abs/core/perl_modules/perl-locale-gettext/compatibility-with-POSIX-module.patch10
-rw-r--r--abs/core/perl_modules/perl-locale-maketext-lexicon/PKGBUILD18
-rw-r--r--abs/core/perl_modules/perl-log-dispatch/PKGBUILD66
-rw-r--r--abs/core/perl_modules/perl-lwp-mediatypes/PKGBUILD63
-rw-r--r--abs/core/perl_modules/perl-lwp-protocol-https/PKGBUILD38
-rw-r--r--abs/core/perl_modules/perl-lwp-protocol-https/certs.patch43
-rw-r--r--abs/core/perl_modules/perl-lwp-useragent-determined/PKGBUILD50
-rw-r--r--abs/core/perl_modules/perl-mailtools/PKGBUILD32
-rw-r--r--abs/core/perl_modules/perl-math-round/PKGBUILD8
-rw-r--r--abs/core/perl_modules/perl-mime-charset/PKGBUILD40
-rw-r--r--abs/core/perl_modules/perl-mime-lite/PKGBUILD29
-rw-r--r--abs/core/perl_modules/perl-mime-tools/PKGBUILD27
-rw-r--r--abs/core/perl_modules/perl-mime-types/PKGBUILD23
-rw-r--r--abs/core/perl_modules/perl-module-build/PKGBUILD18
-rw-r--r--abs/core/perl_modules/perl-module-implementation/PKGBUILD12
-rw-r--r--abs/core/perl_modules/perl-module-install/PKGBUILD32
-rw-r--r--abs/core/perl_modules/perl-module-runtime/PKGBUILD20
-rw-r--r--abs/core/perl_modules/perl-module-scandeps/PKGBUILD33
-rw-r--r--abs/core/perl_modules/perl-mro-compat/PKGBUILD47
-rw-r--r--abs/core/perl_modules/perl-namespace-autoclean/PKGBUILD35
-rw-r--r--abs/core/perl_modules/perl-namespace-clean/PKGBUILD50
-rw-r--r--abs/core/perl_modules/perl-net-http/PKGBUILD45
-rw-r--r--abs/core/perl_modules/perl-net-sftp-foreign/Changes69
-rw-r--r--abs/core/perl_modules/perl-net-sftp-foreign/PKGBUILD24
-rw-r--r--abs/core/perl_modules/perl-net-smtp-ssl/PKGBUILD (renamed from abs/extra/perl-net-smtp-ssl/PKGBUILD)8
-rw-r--r--abs/core/perl_modules/perl-net-ssleay/PKGBUILD59
-rw-r--r--abs/core/perl_modules/perl-net-upnp/PKGBUILD26
-rw-r--r--abs/core/perl_modules/perl-package-deprecationmanager/PKGBUILD67
-rw-r--r--abs/core/perl_modules/perl-package-stash-xs/PKGBUILD61
-rw-r--r--abs/core/perl_modules/perl-package-stash/PKGBUILD63
-rw-r--r--abs/core/perl_modules/perl-par-dist/PKGBUILD32
-rw-r--r--abs/core/perl_modules/perl-params-classify/PKGBUILD44
-rw-r--r--abs/core/perl_modules/perl-params-classify/op-sibling-fixes.patch79
-rw-r--r--abs/core/perl_modules/perl-params-util/PKGBUILD49
-rw-r--r--abs/core/perl_modules/perl-params-validate/PKGBUILD28
-rw-r--r--abs/core/perl_modules/perl-parse-recdescent/PKGBUILD26
-rw-r--r--abs/core/perl_modules/perl-parse-yapp/PKGBUILD27
-rw-r--r--abs/core/perl_modules/perl-path-class/PKGBUILD49
-rw-r--r--abs/core/perl_modules/perl-perl4-corelibs/PKGBUILD (renamed from abs/extra/perl-perl4-corelibs/PKGBUILD)7
-rw-r--r--abs/core/perl_modules/perl-php-serialization/PKGBUILD66
-rw-r--r--abs/core/perl_modules/perl-proc-daemon/PKGBUILD63
-rw-r--r--abs/core/perl_modules/perl-proc-pid-file/PKGBUILD63
-rw-r--r--abs/core/perl_modules/perl-proc-processtable/PKGBUILD16
-rw-r--r--abs/core/perl_modules/perl-role-tiny/PKGBUILD44
-rw-r--r--abs/core/perl_modules/perl-sdl/PKGBUILD20
-rw-r--r--abs/core/perl_modules/perl-sgmls/PKGBUILD52
-rw-r--r--abs/core/perl_modules/perl-shell/PKGBUILD26
-rw-r--r--abs/core/perl_modules/perl-soap-lite/PKGBUILD4
-rw-r--r--abs/core/perl_modules/perl-socket6/PKGBUILD63
-rw-r--r--abs/core/perl_modules/perl-specio/PKGBUILD33
-rw-r--r--abs/core/perl_modules/perl-sub-exporter-progressive/PKGBUILD30
-rw-r--r--abs/core/perl_modules/perl-sub-exporter/PKGBUILD55
-rw-r--r--abs/core/perl_modules/perl-sub-identify/PKGBUILD34
-rw-r--r--abs/core/perl_modules/perl-sub-install/PKGBUILD63
-rw-r--r--abs/core/perl_modules/perl-sub-name/PKGBUILD33
-rw-r--r--abs/core/perl_modules/perl-sub-uplevel/PKGBUILD20
-rw-r--r--abs/core/perl_modules/perl-sys-cpu/PKGBUILD2
-rw-r--r--abs/core/perl_modules/perl-sys-meminfo/PKGBUILD2
-rw-r--r--abs/core/perl_modules/perl-sys-mmap/PKGBUILD50
-rw-r--r--abs/core/perl_modules/perl-template-toolkit/PKGBUILD8
-rw-r--r--abs/core/perl_modules/perl-term-progressbar/PKGBUILD32
-rw-r--r--abs/core/perl_modules/perl-term-readkey/PKGBUILD45
-rw-r--r--abs/core/perl_modules/perl-test-exception/PKGBUILD31
-rw-r--r--abs/core/perl_modules/perl-test-fatal/PKGBUILD63
-rw-r--r--abs/core/perl_modules/perl-test-pod/PKGBUILD32
-rw-r--r--abs/core/perl_modules/perl-test-requires/PKGBUILD31
-rw-r--r--abs/core/perl_modules/perl-test-warn/PKGBUILD22
-rw-r--r--abs/core/perl_modules/perl-text-charwidth/PKGBUILD38
-rw-r--r--abs/core/perl_modules/perl-text-iconv/PKGBUILD36
-rw-r--r--abs/core/perl_modules/perl-text-patch/PKGBUILD33
-rw-r--r--abs/core/perl_modules/perl-text-reform/PKGBUILD29
-rw-r--r--abs/core/perl_modules/perl-text-wrapi18n/PKGBUILD33
-rw-r--r--abs/core/perl_modules/perl-tie-simple/PKGBUILD8
-rw-r--r--abs/core/perl_modules/perl-time-format/PKGBUILD2
-rw-r--r--abs/core/perl_modules/perl-time-modules/PKGBUILD16
-rw-r--r--abs/core/perl_modules/perl-timedate/PKGBUILD32
-rw-r--r--abs/core/perl_modules/perl-tk-tablematrix/PKGBUILD41
-rw-r--r--abs/core/perl_modules/perl-tk/PKGBUILD37
-rw-r--r--abs/core/perl_modules/perl-tree-dag-node/PKGBUILD23
-rw-r--r--abs/core/perl_modules/perl-try-tiny/PKGBUILD57
-rw-r--r--abs/core/perl_modules/perl-unicode-linebreak/PKGBUILD39
-rw-r--r--abs/core/perl_modules/perl-unicode-map/PKGBUILD62
-rw-r--r--abs/core/perl_modules/perl-unicode-string/PKGBUILD35
-rw-r--r--abs/core/perl_modules/perl-unicode-utf8simple/PKGBUILD28
-rw-r--r--abs/core/perl_modules/perl-uri/PKGBUILD18
-rw-r--r--abs/core/perl_modules/perl-variable-magic/PKGBUILD55
-rw-r--r--abs/core/perl_modules/perl-wsdl/PKGBUILD2
-rw-r--r--abs/core/perl_modules/perl-www-mechanize/PKGBUILD20
-rw-r--r--abs/core/perl_modules/perl-www-robotrules/PKGBUILD63
-rw-r--r--abs/core/perl_modules/perl-x10/PKGBUILD64
-rw-r--r--abs/core/perl_modules/perl-xml-dom/PKGBUILD19
-rw-r--r--abs/core/perl_modules/perl-xml-libxml/PKGBUILD47
-rw-r--r--abs/core/perl_modules/perl-xml-libxml/perl-xml-libxml.install43
-rw-r--r--abs/core/perl_modules/perl-xml-libxslt/PKGBUILD41
-rw-r--r--abs/core/perl_modules/perl-xml-namespacesupport/PKGBUILD6
-rw-r--r--abs/core/perl_modules/perl-xml-parser/PKGBUILD42
-rw-r--r--abs/core/perl_modules/perl-xml-regexp/PKGBUILD14
-rw-r--r--abs/core/perl_modules/perl-xml-rss/PKGBUILD18
-rw-r--r--abs/core/perl_modules/perl-xml-sax-base/PKGBUILD6
-rw-r--r--abs/core/perl_modules/perl-xml-sax-expat/PKGBUILD28
-rw-r--r--abs/core/perl_modules/perl-xml-sax-expat/perl-xml-sax-expat.install17
-rw-r--r--abs/core/perl_modules/perl-xml-sax/PKGBUILD25
-rw-r--r--abs/core/perl_modules/perl-xml-sax/perl-xml-sax.patch46
-rw-r--r--abs/core/perl_modules/perl-xml-simple/PKGBUILD24
-rw-r--r--abs/core/perl_modules/perl-xml-simple/__changelog1
-rw-r--r--abs/core/perl_modules/perl-xml-treepp/PKGBUILD2
-rw-r--r--abs/core/perl_modules/perl-xml-twig/PKGBUILD26
-rw-r--r--abs/core/perl_modules/perl-xml-writer/PKGBUILD39
-rw-r--r--abs/core/perl_modules/perl-xml-xpath/PKGBUILD41
-rw-r--r--abs/core/perl_modules/perl-yaml-syck/PKGBUILD37
-rw-r--r--abs/core/perl_modules/perl-yaml-tiny/PKGBUILD36
-rw-r--r--abs/core/php/PKGBUILD292
-rw-r--r--abs/core/php/__changelog7
-rw-r--r--abs/core/php/apache.conf4
-rw-r--r--abs/core/php/apache.patch20
-rw-r--r--abs/core/php/enchant-2.patch84
-rw-r--r--abs/core/php/linhes.ini2
-rw-r--r--abs/core/php/logrotate.d.php-fpm8
-rw-r--r--abs/core/php/php-fpm.conf.in.patch52
-rw-r--r--abs/core/php/php-fpm.install9
-rw-r--r--abs/core/php/php-fpm.service6
-rw-r--r--abs/core/php/php.ini.patch168
-rw-r--r--abs/core/pinentry/PKGBUILD55
-rw-r--r--abs/core/pinentry/pinentry.install20
-rw-r--r--abs/core/poppler/PKGBUILD96
-rw-r--r--abs/core/poppler/gtk-doc.patch24
-rw-r--r--abs/core/procps-ng/PKGBUILD12
-rw-r--r--abs/core/procps-ng/impossibly-high-memory.patch75
-rw-r--r--abs/core/psmisc/PKGBUILD14
-rw-r--r--abs/core/python/PKGBUILD113
-rw-r--r--abs/core/python/__changelog1
-rw-r--r--abs/core/python/dont-make-libpython-readonly.patch13
-rw-r--r--abs/core/python2-contextlib2/PKGBUILD27
-rw-r--r--abs/core/python2/PKGBUILD50
-rw-r--r--abs/core/python2/__changelog1
-rw-r--r--abs/core/python2/descr_ref.patch58
-rw-r--r--abs/core/python2/fix-profile-task.patch13
-rw-r--r--abs/core/python_modules/cython/PKGBUILD52
-rw-r--r--abs/core/python_modules/docutils/PKGBUILD (renamed from abs/core/python_modules/python-docutils/PKGBUILD)44
-rw-r--r--abs/core/python_modules/docutils/python2-docutils.install (renamed from abs/core/python_modules/python-docutils/python2-docutils.install)0
-rw-r--r--abs/core/python_modules/gitpython/PKGBUILD20
-rw-r--r--abs/core/python_modules/m2r/PKGBUILD56
-rw-r--r--abs/core/python_modules/pygobject/PKGBUILD72
-rw-r--r--abs/core/python_modules/pygobject/__changelog1
-rw-r--r--abs/core/python_modules/pygobject2/PKGBUILD92
-rw-r--r--abs/core/python_modules/pygobject2/__changelog1
-rw-r--r--abs/core/python_modules/pygtk/PKGBUILD28
-rw-r--r--abs/core/python_modules/pygtk/fix-leaks-of-pango-objects.patch59
-rw-r--r--abs/core/python_modules/pyopengl/LICENSE (renamed from abs/core/python_modules/python-opengl/LICENSE)0
-rw-r--r--abs/core/python_modules/pyopengl/PKGBUILD51
-rw-r--r--abs/core/python_modules/pyopenssl/PKGBUILD26
-rw-r--r--abs/core/python_modules/pyopenssl/__changelog2
-rw-r--r--abs/core/python_modules/pyqt/PKGBUILD99
-rw-r--r--abs/core/python_modules/pyqt/__changelog1
-rw-r--r--abs/core/python_modules/pyqt/fix-pyuic4.patch91
-rw-r--r--abs/core/python_modules/pyqt5/PKGBUILD128
-rw-r--r--abs/core/python_modules/pyqt5/pyqt-support-new-qt.patch12
-rw-r--r--abs/core/python_modules/python-apipkg/PKGBUILD51
-rw-r--r--abs/core/python_modules/python-appdirs/PKGBUILD14
-rw-r--r--abs/core/python_modules/python-appdirs/__changelog2
-rw-r--r--abs/core/python_modules/python-asn1crypto/PKGBUILD52
-rw-r--r--abs/core/python_modules/python-attrs/PKGBUILD52
-rw-r--r--abs/core/python_modules/python-automat/PKGBUILD57
-rw-r--r--abs/core/python_modules/python-babel/PKGBUILD54
-rw-r--r--abs/core/python_modules/python-beaker/PKGBUILD62
-rw-r--r--abs/core/python_modules/python-beaker/__changelog1
-rw-r--r--abs/core/python_modules/python-beautifulsoup4/PKGBUILD16
-rw-r--r--abs/core/python_modules/python-beautifulsoup4/__changelog2
-rw-r--r--abs/core/python_modules/python-cairo/PKGBUILD43
-rw-r--r--abs/core/python_modules/python-cffi/PKGBUILD44
-rw-r--r--abs/core/python_modules/python-cffi/__changelog1
-rw-r--r--abs/core/python_modules/python-chardet/PKGBUILD6
-rw-r--r--abs/core/python_modules/python-chardet/__changelog2
-rw-r--r--abs/core/python_modules/python-cherrypy/PKGBUILD10
-rw-r--r--abs/core/python_modules/python-cherrypy/__changelog1
-rw-r--r--abs/core/python_modules/python-click/PKGBUILD10
-rw-r--r--abs/core/python_modules/python-constantly/PKGBUILD53
-rw-r--r--abs/core/python_modules/python-coverage/PKGBUILD72
-rw-r--r--abs/core/python_modules/python-cryptography/PKGBUILD61
-rw-r--r--abs/core/python_modules/python-cryptography/__changelog1
-rw-r--r--abs/core/python_modules/python-dateutil/PKGBUILD10
-rw-r--r--abs/core/python_modules/python-dateutil/__changelog1
-rw-r--r--abs/core/python_modules/python-decorator/PKGBUILD53
-rw-r--r--abs/core/python_modules/python-decorator/__changelog0
-rw-r--r--abs/core/python_modules/python-docutils/01-python33-relative-import.patch196
-rw-r--r--abs/core/python_modules/python-docutils/__changelog1
-rw-r--r--abs/core/python_modules/python-execnet/PKGBUILD52
-rw-r--r--abs/core/python_modules/python-feedparser/PKGBUILD17
-rw-r--r--abs/core/python_modules/python-feedparser/__changelog1
-rw-r--r--abs/core/python_modules/python-flask-login/PKGBUILD27
-rw-r--r--abs/core/python_modules/python-flask-login/__changelog1
-rw-r--r--abs/core/python_modules/python-flask/PKGBUILD31
-rw-r--r--abs/core/python_modules/python-flask/__changelog1
-rw-r--r--abs/core/python_modules/python-future/PKGBUILD16
-rw-r--r--abs/core/python_modules/python-future/__changelog1
-rw-r--r--abs/core/python_modules/python-gitdb/PKGBUILD54
-rw-r--r--abs/core/python_modules/python-gitpython/PKGBUILD48
-rw-r--r--abs/core/python_modules/python-html5lib/PKGBUILD71
-rw-r--r--abs/core/python_modules/python-html5lib/__changelog2
-rw-r--r--abs/core/python_modules/python-hyperlink/PKGBUILD53
-rw-r--r--abs/core/python_modules/python-hypothesis/PKGBUILD78
-rw-r--r--abs/core/python_modules/python-idna/PKGBUILD16
-rw-r--r--abs/core/python_modules/python-idna/__changelog1
-rw-r--r--abs/core/python_modules/python-imagesize/PKGBUILD39
-rw-r--r--abs/core/python_modules/python-incremental/PKGBUILD54
-rw-r--r--abs/core/python_modules/python-itsdangerous/PKGBUILD6
-rw-r--r--abs/core/python_modules/python-itsdangerous/__changelog1
-rw-r--r--abs/core/python_modules/python-jinja/Fix-PrefixLoader-does-not-pass-globals-to-load.patch26
-rw-r--r--abs/core/python_modules/python-jinja/PKGBUILD26
-rw-r--r--abs/core/python_modules/python-jinja/__changelog1
-rw-r--r--abs/core/python_modules/python-jsonschema/PKGBUILD68
-rw-r--r--abs/core/python_modules/python-jsonschema/__changelog2
-rw-r--r--abs/core/python_modules/python-lxml/PKGBUILD103
-rw-r--r--abs/core/python_modules/python-lxml/__changelog1
-rw-r--r--abs/core/python_modules/python-mako/PKGBUILD68
-rw-r--r--abs/core/python_modules/python-mako/__changelog1
-rw-r--r--abs/core/python_modules/python-markupsafe/PKGBUILD49
-rw-r--r--abs/core/python_modules/python-markupsafe/__changelog1
-rw-r--r--abs/core/python_modules/python-mistune/PKGBUILD37
-rw-r--r--abs/core/python_modules/python-mock/PKGBUILD43
-rw-r--r--abs/core/python_modules/python-mock/__changelog1
-rw-r--r--abs/core/python_modules/python-more-itertools/PKGBUILD36
-rw-r--r--abs/core/python_modules/python-ndg-httpsclient/PKGBUILD15
-rw-r--r--abs/core/python_modules/python-ndg-httpsclient/__changelog2
-rw-r--r--abs/core/python_modules/python-nose/PKGBUILD26
-rw-r--r--abs/core/python_modules/python-nose/__changelog1
-rwxr-xr-xabs/core/python_modules/python-numpy/PKGBUILD78
-rw-r--r--abs/core/python_modules/python-numpy/__changelog1
-rw-r--r--abs/core/python_modules/python-numpy/site.cfg4
-rw-r--r--abs/core/python_modules/python-oauth/PKGBUILD27
-rw-r--r--abs/core/python_modules/python-opengl/PKGBUILD27
-rw-r--r--abs/core/python_modules/python-packaging/PKGBUILD16
-rw-r--r--abs/core/python_modules/python-packaging/__changelog2
-rw-r--r--abs/core/python_modules/python-parted/PKGBUILD32
-rw-r--r--abs/core/python_modules/python-parted/__changelog1
-rw-r--r--abs/core/python_modules/python-path/PKGBUILD10
-rw-r--r--abs/core/python_modules/python-path/__changelog2
-rw-r--r--abs/core/python_modules/python-pbr/PKGBUILD61
-rw-r--r--abs/core/python_modules/python-pexpect/PKGBUILD37
-rw-r--r--abs/core/python_modules/python-pexpect/__changelog1
-rw-r--r--abs/core/python_modules/python-pillow/PKGBUILD110
-rw-r--r--abs/core/python_modules/python-pillow/__changelog2
-rw-r--r--abs/core/python_modules/python-pip/PKGBUILD17
-rw-r--r--abs/core/python_modules/python-pip/__changelog2
-rw-r--r--abs/core/python_modules/python-pluggy/PKGBUILD53
-rw-r--r--abs/core/python_modules/python-ply/LICENSE28
-rw-r--r--abs/core/python_modules/python-ply/PKGBUILD50
-rw-r--r--abs/core/python_modules/python-ply/__changelog1
-rw-r--r--abs/core/python_modules/python-ptyprocess/PKGBUILD38
-rw-r--r--abs/core/python_modules/python-py/PKGBUILD57
-rw-r--r--abs/core/python_modules/python-py/__changelog1
-rw-r--r--abs/core/python_modules/python-pyasn1-modules/PKGBUILD50
-rw-r--r--abs/core/python_modules/python-pyasn1/PKGBUILD14
-rw-r--r--abs/core/python_modules/python-pyasn1/__changelog1
-rw-r--r--abs/core/python_modules/python-pybluez/PKGBUILD32
-rw-r--r--abs/core/python_modules/python-pybluez/__changelog1
-rw-r--r--abs/core/python_modules/python-pycparser/PKGBUILD52
-rw-r--r--abs/core/python_modules/python-pycparser/__changelog1
-rw-r--r--abs/core/python_modules/python-pycurl/PKGBUILD57
-rw-r--r--abs/core/python_modules/python-pycurl/__changelog2
-rw-r--r--abs/core/python_modules/python-pygments/PKGBUILD63
-rw-r--r--abs/core/python_modules/python-pygments/__changelog1
-rw-r--r--abs/core/python_modules/python-pygments/python-pygments.install7
-rw-r--r--abs/core/python_modules/python-pygments/python2-pygments.install7
-rw-r--r--abs/core/python_modules/python-pyparsing/PKGBUILD14
-rw-r--r--abs/core/python_modules/python-pyparsing/__changelog2
-rw-r--r--abs/core/python_modules/python-pyparted/PKGBUILD44
-rw-r--r--abs/core/python_modules/python-pyrss2gen/PKGBUILD6
-rw-r--r--abs/core/python_modules/python-pyrss2gen/__changelog2
-rw-r--r--abs/core/python_modules/python-pysocks/PKGBUILD16
-rw-r--r--abs/core/python_modules/python-pysocks/__changelog2
-rw-r--r--abs/core/python_modules/python-pytest-forked/PKGBUILD58
-rw-r--r--abs/core/python_modules/python-pytest-runner/PKGBUILD16
-rw-r--r--abs/core/python_modules/python-pytest-runner/__changelog2
-rw-r--r--abs/core/python_modules/python-pytest-xdist/PKGBUILD58
-rw-r--r--abs/core/python_modules/python-pytest/PKGBUILD63
-rw-r--r--abs/core/python_modules/python-pytest/__changelog1
-rw-r--r--abs/core/python_modules/python-pytz/PKGBUILD16
-rw-r--r--abs/core/python_modules/python-pytz/__changelog1
-rw-r--r--abs/core/python_modules/python-rebulk/PKGBUILD6
-rw-r--r--abs/core/python_modules/python-rebulk/__changelog2
-rw-r--r--abs/core/python_modules/python-regex/PKGBUILD42
-rw-r--r--abs/core/python_modules/python-regex/__changelog1
-rw-r--r--abs/core/python_modules/python-requests-cache/PKGBUILD11
-rw-r--r--abs/core/python_modules/python-requests-cache/__changelog1
-rw-r--r--abs/core/python_modules/python-requests/PKGBUILD25
-rw-r--r--abs/core/python_modules/python-requests/__changelog2
-rw-r--r--abs/core/python_modules/python-rpyc/PKGBUILD4
-rw-r--r--abs/core/python_modules/python-rpyc/__changelog2
-rw-r--r--abs/core/python_modules/python-service-identity/PKGBUILD55
-rw-r--r--abs/core/python_modules/python-setuptools-git/PKGBUILD54
-rw-r--r--abs/core/python_modules/python-setuptools-scm/PKGBUILD22
-rw-r--r--abs/core/python_modules/python-setuptools-scm/__changelog2
-rw-r--r--abs/core/python_modules/python-setuptools/PKGBUILD45
-rw-r--r--abs/core/python_modules/python-setuptools/__changelog1
-rw-r--r--abs/core/python_modules/python-simplejson/PKGBUILD46
-rw-r--r--abs/core/python_modules/python-simplejson/__changelog1
-rw-r--r--abs/core/python_modules/python-six/PKGBUILD18
-rw-r--r--abs/core/python_modules/python-six/__changelog1
-rw-r--r--abs/core/python_modules/python-smmap/PKGBUILD57
-rw-r--r--abs/core/python_modules/python-snowballstemmer/PKGBUILD47
-rw-r--r--abs/core/python_modules/python-sphinx-alabaster-theme/PKGBUILD43
-rw-r--r--abs/core/python_modules/python-sphinx/PKGBUILD134
-rw-r--r--abs/core/python_modules/python-sphinx/__changelog1
-rw-r--r--abs/core/python_modules/python-sphinx_rtd_theme/PKGBUILD45
-rw-r--r--abs/core/python_modules/python-sphinxcontrib-websupport/PKGBUILD37
-rw-r--r--abs/core/python_modules/python-sqlalchemy/PKGBUILD21
-rw-r--r--abs/core/python_modules/python-sqlalchemy/__changelog2
-rw-r--r--abs/core/python_modules/python-termcolor/PKGBUILD29
-rw-r--r--abs/core/python_modules/python-tox/PKGBUILD70
-rw-r--r--abs/core/python_modules/python-tzlocal/PKGBUILD74
-rw-r--r--abs/core/python_modules/python-tzlocal/__changelog1
-rw-r--r--abs/core/python_modules/python-urllib3/PKGBUILD38
-rw-r--r--abs/core/python_modules/python-urllib3/__changelog1
-rw-r--r--abs/core/python_modules/python-urllib3/tornado-4.3.patch23
-rw-r--r--abs/core/python_modules/python-vcversioner/PKGBUILD52
-rw-r--r--abs/core/python_modules/python-virtualenv/PKGBUILD77
-rw-r--r--abs/core/python_modules/python-webencodings/PKGBUILD8
-rw-r--r--abs/core/python_modules/python-webencodings/__changelog2
-rw-r--r--abs/core/python_modules/python-werkzeug/PKGBUILD39
-rw-r--r--abs/core/python_modules/python-werkzeug/__changelog1
-rw-r--r--abs/core/python_modules/python-whoosh/PKGBUILD53
-rw-r--r--abs/core/python_modules/python-yaml/PKGBUILD69
-rw-r--r--abs/core/python_modules/python-yaml/__changelog1
-rw-r--r--abs/core/python_modules/python-yaml/python-yaml.install7
-rw-r--r--abs/core/python_modules/python-zope-interface/PKGBUILD52
-rw-r--r--abs/core/python_modules/python2-cairo/PKGBUILD31
-rw-r--r--abs/core/python_modules/python2-m2crypto/LICENSE26
-rw-r--r--abs/core/python_modules/python2-m2crypto/PKGBUILD29
-rw-r--r--abs/core/python_modules/python2-m2crypto/openssl-1.1.0-force.patch33
-rw-r--r--abs/core/python_modules/python2-oauth/PKGBUILD32
-rw-r--r--abs/core/python_modules/python2-typing/PKGBUILD29
-rw-r--r--abs/core/python_modules/python2-typing/python2-typing-3.6.1.tar.gzbin0 -> 66698 bytes
-rw-r--r--abs/core/python_modules/sip/PKGBUILD66
-rw-r--r--abs/core/python_modules/twisted/PKGBUILD99
-rw-r--r--abs/core/python_modules/urlgrabber/PKGBUILD10
-rw-r--r--abs/core/qt5-3d/PKGBUILD40
-rw-r--r--abs/core/qt5-base/PKGBUILD119
-rw-r--r--abs/core/qt5-base/__changelog (renamed from abs/core/qt5/__changelog)0
-rw-r--r--abs/core/qt5-base/qtbug-65478.patch31
-rw-r--r--abs/core/qt5-base/rebuild.list25
-rw-r--r--abs/core/qt5-base/revert-Set-sharedPainter-correctly-for-QGraphicsEffect.patch71
-rw-r--r--abs/core/qt5-canvas3d/PKGBUILD41
-rw-r--r--abs/core/qt5-connectivity/PKGBUILD42
-rw-r--r--abs/core/qt5-declarative/PKGBUILD57
-rw-r--r--abs/core/qt5-declarative/qtbug-61754.patch25
-rw-r--r--abs/core/qt5-doc/PKGBUILD63
-rw-r--r--abs/core/qt5-doc/qt-no-statx.patch11
-rw-r--r--abs/core/qt5-graphicaleffects/PKGBUILD37
-rw-r--r--abs/core/qt5-imageformats/PKGBUILD37
-rw-r--r--abs/core/qt5-location/PKGBUILD42
-rw-r--r--abs/core/qt5-multimedia/PKGBUILD42
-rw-r--r--abs/core/qt5-multimedia/__changelog2
-rw-r--r--abs/core/qt5-networkauth/PKGBUILD39
-rw-r--r--abs/core/qt5-quickcontrols/PKGBUILD41
-rw-r--r--abs/core/qt5-quickcontrols2/PKGBUILD41
-rw-r--r--abs/core/qt5-script/PKGBUILD41
-rw-r--r--abs/core/qt5-sensors/PKGBUILD42
-rw-r--r--abs/core/qt5-serialport/PKGBUILD41
-rw-r--r--abs/core/qt5-svg/PKGBUILD40
-rw-r--r--abs/core/qt5-tools/PKGBUILD75
-rw-r--r--abs/core/qt5-tools/assistant.desktop (renamed from abs/core/qt5/assistant.desktop)2
-rw-r--r--abs/core/qt5-tools/designer.desktop (renamed from abs/core/qt5/designer.desktop)2
-rw-r--r--abs/core/qt5-tools/linguist.desktop (renamed from abs/core/qt5/linguist.desktop)2
-rw-r--r--abs/core/qt5-tools/qdbusviewer.desktop (renamed from abs/core/qt5/qdbusviewer.desktop)2
-rw-r--r--abs/core/qt5-translations/PKGBUILD37
-rw-r--r--abs/core/qt5-webchannel/PKGBUILD41
-rw-r--r--abs/core/qt5-webengine/PKGBUILD62
-rw-r--r--abs/core/qt5-webengine/qtwebengine-harmony.patch77
-rw-r--r--abs/core/qt5-webengine/qtwebengine-no-gpu.patch99
-rw-r--r--abs/core/qt5-webkit/PKGBUILD72
-rw-r--r--abs/core/qt5-webkit/qt5-webkit-gcc7.patch34
-rw-r--r--abs/core/qt5-webkit/qt5-webkit-null-pointer-dereference.patch17
-rw-r--r--abs/core/qt5-websockets/PKGBUILD42
-rw-r--r--abs/core/qt5-x11extras/PKGBUILD41
-rw-r--r--abs/core/qt5-xmlpatterns/PKGBUILD42
-rw-r--r--abs/core/qt5/PKGBUILD579
-rw-r--r--abs/core/qt5/ibus-get-display-number-when-screen-number-is-omitted.patch32
-rw-r--r--abs/core/qt5/qt5-tools.install12
-rw-r--r--abs/core/qt5/rebuild.list6
-rw-r--r--abs/core/readline/PKGBUILD36
-rw-r--r--abs/core/readline/readline.install17
-rw-r--r--abs/core/rpcbind/CVE-2017-8779.diff21
-rw-r--r--abs/core/rpcbind/PKGBUILD61
-rw-r--r--abs/core/rpcbind/rpcbind-sunrpc.patch17
-rw-r--r--abs/core/rpcbind/rpcbind.conf3
-rw-r--r--abs/core/rpcbind/rpcbind.service11
-rw-r--r--abs/core/rpcbind/systemd_service.diff10
-rw-r--r--abs/core/rpcbind/sysusers.d1
-rw-r--r--abs/core/rpcbind/tmpfiles.d1
-rw-r--r--abs/core/rsyslog/PKGBUILD4
-rwxr-xr-xabs/core/runit-scripts/PKGBUILD4
-rwxr-xr-xabs/core/runit-scripts/runitscripts/services/mysql/run9
-rwxr-xr-xabs/core/runit-scripts/runitscripts/services/postfix/run2
-rw-r--r--abs/core/sudo/PKGBUILD26
-rw-r--r--abs/core/sudo/sudo.install10
-rwxr-xr-xabs/core/system-templates/PKGBUILD3
-rw-r--r--abs/core/system-templates/templates/remotes/favorites/streamzap/lircd.conf.streamzap159
-rw-r--r--abs/core/system-templates/templates/xorg/340xx_supported.txt734
-rw-r--r--abs/core/system-templates/templates/xorg/nvidia_supported.txt630
-rw-r--r--abs/core/systemd/PKGBUILD242
-rw-r--r--abs/core/systemd/__changelog1
-rw-r--r--abs/core/systemd/initcpio-install-systemd44
-rw-r--r--abs/core/systemd/initcpio-install-udev7
-rw-r--r--abs/core/systemd/systemd-hwdb.hook11
-rw-r--r--abs/core/systemd/systemd-sysusers.hook11
-rw-r--r--abs/core/systemd/systemd-tmpfiles.hook11
-rw-r--r--abs/core/systemd/systemd-update.hook11
-rw-r--r--abs/core/systemd/systemd-user.pam5
-rw-r--r--abs/core/systemd/systemd.install178
-rw-r--r--abs/core/talloc/PKGBUILD8
-rw-r--r--abs/core/talloc/fix_test_path.patch6
-rw-r--r--abs/core/tar/PKGBUILD52
-rw-r--r--abs/core/tar/tar.install21
-rw-r--r--abs/core/tdb/PKGBUILD6
-rw-r--r--abs/core/texinfo/PKGBUILD49
-rw-r--r--abs/core/texinfo/texinfo-4.13a-data_types.patch32
-rw-r--r--abs/core/texinfo/texinfo-install.hook11
-rw-r--r--abs/core/texinfo/texinfo-remove.hook10
-rw-r--r--abs/core/texinfo/texinfo.install21
-rw-r--r--abs/core/util-linux/0001-chrt-default-to-SCHED_RR-policy.patch39
-rw-r--r--abs/core/util-linux/0001-lsns-Fix-parser-for-proc-pid-stat-which-is-including.patch79
-rw-r--r--abs/core/util-linux/0001-sfdisk-cleanup-dump-error-messages.patch44
-rw-r--r--abs/core/util-linux/0001-sfdisk-don-t-be-silent-when-list-non-existing-device.patch70
-rw-r--r--abs/core/util-linux/0001-sfdisk-support-empty-label-use-case.patch223
-rw-r--r--abs/core/util-linux/60-rfkill.rules1
-rw-r--r--abs/core/util-linux/PKGBUILD75
-rw-r--r--abs/core/util-linux/__changelog2
-rw-r--r--abs/core/util-linux/rfkill-block_.service10
-rw-r--r--abs/core/util-linux/rfkill-unblock_.service10
-rw-r--r--abs/core/util-linux/util-linux.sysusers2
-rw-r--r--abs/core/vi/PKGBUILD67
-rw-r--r--abs/core/vi/exrc.sample5
-rw-r--r--abs/core/vi/fix-tubesize-short-overflow.patch12
-rw-r--r--abs/core/vi/increase-tube.patch13
-rw-r--r--abs/core/vi/preserve-dir.patch (renamed from abs/core/vi/preserve_dir.patch)42
-rw-r--r--abs/core/wget/PKGBUILD34
-rw-r--r--abs/core/wget/wget.install20
-rw-r--r--abs/core/windowmaker/PKGBUILD29
-rw-r--r--abs/core/windowmaker/WindowMaker-0.95.4.tar.gzbin17063436 -> 0 bytes
-rw-r--r--abs/core/windowmaker/giflib_510.diff20
-rw-r--r--abs/core/windowmaker/libpng-1.4.patch12
-rw-r--r--abs/core/windowmaker/windowmaker-gcc4.patch.tar.bz2bin39677 -> 0 bytes
-rw-r--r--abs/core/windowmaker/wm-giflib.patch2422
-rw-r--r--abs/core/wpa_supplicant/0001-Revert-OpenSSL-Do-not-accept-SSL-Client-certificate-.patch74
-rw-r--r--abs/core/wpa_supplicant/0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch174
-rw-r--r--abs/core/wpa_supplicant/0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch250
-rw-r--r--abs/core/wpa_supplicant/0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch184
-rw-r--r--abs/core/wpa_supplicant/0004-Prevent-installation-of-an-all-zero-TK.patch79
-rw-r--r--abs/core/wpa_supplicant/0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch64
-rw-r--r--abs/core/wpa_supplicant/0006-TDLS-Reject-TPK-TK-reconfiguration.patch132
-rw-r--r--abs/core/wpa_supplicant/0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch43
-rw-r--r--abs/core/wpa_supplicant/0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch82
-rw-r--r--abs/core/wpa_supplicant/PKGBUILD106
-rw-r--r--abs/core/wpa_supplicant/config527
-rw-r--r--abs/core/wpa_supplicant/wpa_supplicant.install7
-rw-r--r--abs/core/xf86-video-ati/PKGBUILD18
-rw-r--r--abs/core/xf86-video-intel/PKGBUILD17
-rw-r--r--abs/core/xf86-video-vesa/PKGBUILD18
-rw-r--r--abs/core/xmltv/PKGBUILD53
-rw-r--r--abs/core/xmltv/__changelog1
-rw-r--r--abs/core/xorg-server/PKGBUILD62
-rw-r--r--abs/core/xterm/PKGBUILD13
-rwxr-xr-xabs/core/xymon/PKGBUILD11
-rw-r--r--abs/core/xymon/logfetch.c.patch10
-rw-r--r--abs/core/xymon/xymon-gputemp.sh24
-rwxr-xr-xabs/core/xymon/xymon-hddtemp.sh8
-rwxr-xr-xabs/core/xymon/xymon-smart.sh8
-rw-r--r--abs/core/zlib/PKGBUILD42
-rw-r--r--abs/core/zoneminder/PKGBUILD150
-rw-r--r--abs/core/zoneminder/__changelog7
-rw-r--r--abs/core/zoneminder/fabs.patch11
-rw-r--r--abs/core/zoneminder/log.txt23
-rw-r--r--abs/core/zoneminder/uio.patch22
-rw-r--r--abs/core/zoneminder/zm_rtp_ctrl.h.quick_fix_for_gcc6.diff4
-rw-r--r--abs/core/zoneminder/zoneminder.ini1
-rw-r--r--abs/core/zoneminder/zoneminder.install5
-rw-r--r--abs/extra/asciidoctor/PKGBUILD35
-rw-r--r--abs/extra/assimp/PKGBUILD32
-rw-r--r--abs/extra/bash-completion/PKGBUILD36
-rw-r--r--abs/extra/bind/127.0.0.zone10
-rw-r--r--abs/extra/bind/PKGBUILD134
-rw-r--r--abs/extra/bind/empty.zone8
-rw-r--r--abs/extra/bind/localhost.ip6.zone10
-rw-r--r--abs/extra/bind/localhost.zone11
-rw-r--r--abs/extra/bind/named.conf72
-rw-r--r--abs/extra/bind/named.service10
-rw-r--r--abs/extra/bind/sysusers.conf1
-rw-r--r--abs/extra/bind/tmpfiles.conf1
-rw-r--r--abs/extra/blas/Makefile.blas149
-rwxr-xr-xabs/extra/blas/PKGBUILD52
-rw-r--r--abs/extra/blas/lapack-3.1.1-make.inc.patch23
-rw-r--r--abs/extra/boost/PKGBUILD68
-rw-r--r--abs/extra/boost/__changelog1
-rw-r--r--abs/extra/clisp/PKGBUILD49
-rw-r--r--abs/extra/clisp/clisp-gcc5.patch38
-rw-r--r--abs/extra/clisp/patch-modules_readline_readline.lisp15
-rw-r--r--abs/extra/cmark/PKGBUILD37
-rw-r--r--abs/extra/cmocka/PKGBUILD45
-rw-r--r--abs/extra/community/gstreamer0.10-base/PKGBUILD74
-rw-r--r--abs/extra/community/gstreamer0.10-base/ayuv64-lanczos.patch236
-rw-r--r--abs/extra/community/gstreamer0.10-base/colorbalance-fix-abi.patch23
-rw-r--r--abs/extra/community/gstreamer0.10-base/fix-crash-0-byte-ogg.patch22
-rw-r--r--abs/extra/community/gstreamer0.10-base/gstaudio-symbols.patch10
-rw-r--r--abs/extra/community/gstreamer0.10-base/revert-decodebin-playbin-removal.patch122
-rw-r--r--abs/extra/community/gstreamer0.10-base/videoscale-fix-negotiation.patch171
-rw-r--r--abs/extra/community/gstreamer0.10-ffmpeg/PKGBUILD32
-rw-r--r--abs/extra/community/gstreamer0.10-good/PKGBUILD72
-rw-r--r--abs/extra/community/gstreamer0.10-good/__changelog1
-rw-r--r--abs/extra/community/gstreamer0.10-good/gstreamer0.10-good-plugins.install19
-rw-r--r--abs/extra/community/gstreamer0.10-good/test-rtp-payloading.patch422
-rw-r--r--abs/extra/community/gstreamer0.10-python/PKGBUILD27
-rw-r--r--abs/extra/community/gstreamer0.10/PKGBUILD50
-rw-r--r--abs/extra/community/gstreamer0.10/bison3.patch31
-rw-r--r--abs/extra/community/gstreamer0.10/tests-remove-silly-test_fail_abstract_new-check.patch60
-rw-r--r--abs/extra/crda/PKGBUILD30
-rw-r--r--abs/extra/crda/__changelog2
-rw-r--r--abs/extra/crda/keysUnused.patch34
-rw-r--r--abs/extra/ctags/CVE-2014-7204.patch102
-rw-r--r--abs/extra/ctags/PKGBUILD36
-rw-r--r--abs/extra/dblatex/PKGBUILD23
-rw-r--r--abs/extra/docbook-dsssl/PKGBUILD37
-rw-r--r--abs/extra/docbook-dsssl/docbook-dsssl.install24
-rw-r--r--abs/extra/docbook-dsssl/docbook-style-dsssl.Makefile51
-rw-r--r--abs/extra/docbook-sgml31/PKGBUILD38
-rw-r--r--abs/extra/docbook-sgml31/docbook-sgml31.install42
-rw-r--r--abs/extra/docbook-utils/PKGBUILD47
-rw-r--r--abs/extra/docbook-utils/docbook-utils-0.6.14-grep_fix-1.patch33
-rw-r--r--abs/extra/double-conversion/PKGBUILD40
-rw-r--r--abs/extra/doxygen/PKGBUILD79
-rw-r--r--abs/extra/doxygen/PKGBUILD.orig24
-rw-r--r--abs/extra/emacs/PKGBUILD18
-rw-r--r--abs/extra/emacs/emacs.install32
-rw-r--r--abs/extra/enchant/PKGBUILD27
-rw-r--r--abs/extra/epydoc/PKGBUILD55
-rw-r--r--abs/extra/epydoc/handle-docutils-0.6.patch47
-rw-r--r--abs/extra/epydoc/python26-tokenizer.patch65
-rw-r--r--abs/extra/epydoc/string-exceptions.patch18
-rw-r--r--abs/extra/ffcall/PKGBUILD32
-rw-r--r--abs/extra/ffmpeg2.8/PKGBUILD12
-rw-r--r--abs/extra/flexget/ChangeLog5367
-rw-r--r--abs/extra/flexget/PKGBUILD93
-rw-r--r--abs/extra/flexget/fix_guessit_2.1.2.patch11
-rw-r--r--abs/extra/flexget/flexget.service14
-rw-r--r--abs/extra/gamin/0001-Poll-files-on-nfs4.patch27
-rw-r--r--abs/extra/gamin/18_gam_server_deadlocks.patch70
-rw-r--r--abs/extra/gamin/PKGBUILD53
-rw-r--r--abs/extra/gamin/fix-deprecated-const.patch56
-rw-r--r--abs/extra/gcr/10-gcr.conf3
-rw-r--r--abs/extra/gcr/PKGBUILD59
-rw-r--r--abs/extra/gd/PKGBUILD12
-rw-r--r--abs/extra/geoip/PKGBUILD38
-rw-r--r--abs/extra/git/PKGBUILD71
-rw-r--r--abs/extra/git/git-daemon@.service4
-rw-r--r--abs/extra/git/git-sysusers.conf1
-rw-r--r--abs/extra/git/git.install23
-rw-r--r--abs/extra/google-chrome/PKGBUILD7
-rw-r--r--abs/extra/gptfdisk/PKGBUILD10
-rw-r--r--abs/extra/graphviz/PKGBUILD35
-rw-r--r--abs/extra/gst-plugins-base/PKGBUILD64
-rw-r--r--abs/extra/gst-plugins-base/__changelog2
-rw-r--r--abs/extra/gst-plugins-good/PKGBUILD60
-rw-r--r--abs/extra/gst-plugins-good/__changelog1
-rw-r--r--abs/extra/gstreamer/PKGBUILD53
-rw-r--r--abs/extra/gstreamer/__changelog1
-rw-r--r--abs/extra/gstreamer/gstreamer.install7
-rw-r--r--abs/extra/guile/PKGBUILD29
-rw-r--r--abs/extra/guile/guile.install30
-rw-r--r--abs/extra/guile2.0/PKGBUILD37
-rw-r--r--abs/extra/gypsy/PKGBUILD36
-rw-r--r--abs/extra/gypsy/g_type_init_deprecation.patch85
-rw-r--r--abs/extra/harfbuzz/PKGBUILD48
-rw-r--r--abs/extra/htop/0001-fix-option-string.patch25
-rw-r--r--abs/extra/htop/PKGBUILD36
-rw-r--r--abs/extra/hunspell/PKGBUILD26
-rw-r--r--abs/extra/hyphen/PKGBUILD56
-rw-r--r--abs/extra/icu/PKGBUILD29
-rw-r--r--abs/extra/icu/icu.8198.revert.icu5431.patch129
-rw-r--r--abs/extra/ijs/PKGBUILD30
-rw-r--r--abs/extra/imagemagick6/PKGBUILD132
-rw-r--r--abs/extra/imagemagick6/arch-fonts.diff107
-rw-r--r--abs/extra/iso-codes/PKGBUILD36
-rw-r--r--abs/extra/iw/PKGBUILD12
-rw-r--r--abs/extra/iw/__changelog4
-rw-r--r--abs/extra/jbig2dec/PKGBUILD26
-rw-r--r--abs/extra/js17/PKGBUILD37
-rw-r--r--abs/extra/js52/PKGBUILD75
-rw-r--r--abs/extra/js52/mozjs52-copy-headers.patch30
-rw-r--r--abs/extra/js52/mozjs52-disable-mozglue.patch66
-rw-r--r--abs/extra/js52/mozjs52-fix-soname.patch34
-rw-r--r--abs/extra/js52/mozjs52-include-configure-script.patch63
-rw-r--r--abs/extra/json-c/PKGBUILD22
-rw-r--r--abs/extra/jsoncpp/PKGBUILD81
-rw-r--r--abs/extra/kodi-platform/PKGBUILD10
-rw-r--r--abs/extra/kodi/10160.patch22
-rw-r--r--abs/extra/kodi/10775.patch839
-rw-r--r--abs/extra/kodi/9703.patch1432
-rw-r--r--abs/extra/kodi/PKGBUILD234
-rw-r--r--abs/extra/kodi/cheat-sse-build.patch11
-rw-r--r--abs/extra/kodi/cpuinfo4
-rw-r--r--abs/extra/kodi/fix-ftpparse.patch71
-rw-r--r--abs/extra/kodi/fix-python-lib-path.patch29
-rw-r--r--abs/extra/kodi/kodi.install9
-rw-r--r--abs/extra/lapack/LICENSE.blas (renamed from abs/extra/blas/LICENSE.blas)0
-rw-r--r--abs/extra/lapack/PKGBUILD86
-rw-r--r--abs/extra/lapack/__changelog1
-rw-r--r--abs/extra/ldb/PKGBUILD8
-rw-r--r--abs/extra/libburn/PKGBUILD19
-rw-r--r--abs/extra/libcdio-paranoia/PKGBUILD27
-rw-r--r--abs/extra/libcdio-paranoia/enable_symbol_versions.patch26
-rw-r--r--abs/extra/libcdio/PKGBUILD45
-rw-r--r--abs/extra/libcdio/libcdio-0.83-linking.patch22
-rw-r--r--abs/extra/libcdio/libcdio.install13
-rw-r--r--abs/extra/libcl/PKGBUILD38
-rw-r--r--abs/extra/libfastjson/PKGBUILD12
-rw-r--r--abs/extra/libisoburn/PKGBUILD26
-rw-r--r--abs/extra/libisoburn/libisoburn.install20
-rw-r--r--abs/extra/libisofs/PKGBUILD18
-rw-r--r--abs/extra/libmicrohttpd/PKGBUILD38
-rw-r--r--abs/extra/libmicrohttpd/libmicrohttpd.install20
-rw-r--r--abs/extra/libmythes/PKGBUILD38
-rw-r--r--abs/extra/libproxy/PKGBUILD31
-rw-r--r--abs/extra/libproxy/__changelog1
-rw-r--r--abs/extra/libraqm/PKGBUILD36
-rw-r--r--abs/extra/libraqm/__changelog1
-rw-r--r--abs/extra/libraw/PKGBUILD30
-rw-r--r--abs/extra/librelp/PKGBUILD10
-rw-r--r--abs/extra/libsecret/PKGBUILD41
-rw-r--r--abs/extra/libsigsegv/PKGBUILD25
-rw-r--r--abs/extra/libsodium/PKGBUILD45
-rw-r--r--abs/extra/libssh/PKGBUILD54
-rw-r--r--abs/extra/libva/PKGBUILD33
-rw-r--r--abs/extra/libva/not-finding-wl-drm-interface-with-libglvnd.patch48
-rw-r--r--abs/extra/libvoikko/PKGBUILD34
-rw-r--r--abs/extra/libwebp/PKGBUILD40
-rw-r--r--abs/extra/llvm/0001-GCC-compatibility-Ignore-the-fno-plt-flag.patch37
-rw-r--r--abs/extra/llvm/0002-Enable-SSP-and-PIE-by-default.patch268
-rw-r--r--abs/extra/llvm/AMDGPU-Fix-an-interaction-between-WQM-and-polygon-stippling.patch140
-rw-r--r--abs/extra/llvm/PKGBUILD122
-rw-r--r--abs/extra/llvm/__changelog2
-rw-r--r--abs/extra/llvm/disable-llvm-symbolizer-test.patch26
-rw-r--r--abs/extra/llvm/llvm-config.h (renamed from abs/extra/llvm/llvm-Config-llvm-config.h)0
-rw-r--r--abs/extra/llvm/msan-prevent-initialization-failure-with-newer-glibc.patch103
-rw-r--r--abs/extra/lm_sensors/PKGBUILD4
-rw-r--r--abs/extra/lua51/PKGBUILD14
-rw-r--r--abs/extra/lynx/PKGBUILD38
-rw-r--r--abs/extra/lynx/__changelog2
-rw-r--r--abs/extra/lynx/lynx-2.8.8-openssl.patch11
-rw-r--r--abs/extra/lynx/ncurses.patch78
-rw-r--r--abs/extra/lyx/PKGBUILD51
-rw-r--r--abs/extra/lyx/lyx-enchant2.patch37
-rw-r--r--abs/extra/lyx/lyxrc.dist14
-rw-r--r--abs/extra/meson/0001-tests-skip-objc-nsstring-test-if-gnustep-is-not-inst.patch30
-rw-r--r--abs/extra/meson/PKGBUILD67
-rw-r--r--abs/extra/meson/arch-meson21
-rw-r--r--abs/extra/minisign/PKGBUILD33
-rw-r--r--abs/extra/mkvtoolnix/PKGBUILD40
-rw-r--r--abs/extra/mkvtoolnix/mkvtoolnix-gui.install15
-rw-r--r--abs/extra/mpdecimal/PKGBUILD27
-rw-r--r--abs/extra/mythappletrailers/PKGBUILD49
-rw-r--r--abs/extra/mythappletrailers/apple_all_trailers (renamed from abs/extra/mythappletrailers/all_trailers)0
-rw-r--r--abs/extra/mythappletrailers/apple_shuffle_trailers (renamed from abs/extra/mythappletrailers/shuffle_trailers)0
-rw-r--r--abs/extra/mythappletrailers/fix_aple_url.sh3
-rw-r--r--abs/extra/mythappletrailers/gen_trailer_menu.sh39
-rwxr-xr-xabs/extra/mythappletrailers/loading.sh12
-rwxr-xr-xabs/extra/mythappletrailers/myth_trailers_grabber80
-rw-r--r--abs/extra/mythappletrailers/mythappletrailers.install2
-rw-r--r--abs/extra/mythappletrailers/play_trailer.sh6
-rwxr-xr-xabs/extra/mythappletrailers/trailers2
-rw-r--r--abs/extra/ncdu/PKGBUILD12
-rw-r--r--abs/extra/net-snmp/PKGBUILD39
-rw-r--r--abs/extra/net-snmp/fix-openssl-build-errors.patch171
-rw-r--r--abs/extra/net-snmp/libnl32.patch80
-rw-r--r--abs/extra/net-snmp/net-snmp-5.7.3-perl-5.24.patch2599
-rw-r--r--abs/extra/nvidia-settings/PKGBUILD6
-rw-r--r--abs/extra/ocaml-ctypes/PKGBUILD12
-rw-r--r--abs/extra/ocaml/PKGBUILD35
-rw-r--r--abs/extra/ocl-icd/PKGBUILD42
-rw-r--r--abs/extra/openjade/PKGBUILD63
-rw-r--r--abs/extra/openjade/openjade.install23
-rw-r--r--abs/extra/openpht/PKGBUILD18
-rw-r--r--abs/extra/openpht/__changelog2
-rw-r--r--abs/extra/openpht/plexNetwork.patch38
-rw-r--r--abs/extra/openpht/websocketSSL.patch27
-rw-r--r--abs/extra/opensp/PKGBUILD39
-rw-r--r--abs/extra/p8-platform/PKGBUILD8
-rw-r--r--abs/extra/pcsclite/PKGBUILD44
-rw-r--r--abs/extra/perl-class-inspector/PKGBUILD48
-rw-r--r--abs/extra/perl-sgmls/PKGBUILD34
-rw-r--r--abs/extra/perl-sgmls/__changelog1
-rw-r--r--abs/extra/perl-sys-mmap/PKGBUILD27
-rw-r--r--abs/extra/php-apcu/PKGBUILD44
-rw-r--r--abs/extra/php-apcu/apcu.ini3
-rw-r--r--abs/extra/plex-media-server/PKGBUILD12
-rw-r--r--abs/extra/po4a/PKGBUILD35
-rw-r--r--abs/extra/polkit/PKGBUILD59
-rw-r--r--abs/extra/polkit/__changelog1
-rw-r--r--abs/extra/polkit/polkit.install18
-rw-r--r--abs/extra/polkit/polkit.pam7
-rw-r--r--abs/extra/postfix/PKGBUILD93
-rw-r--r--abs/extra/postfix/__changelog2
-rw-r--r--abs/extra/postfix/sysusers.d2
-rw-r--r--abs/extra/postgresql/PKGBUILD162
-rwxr-xr-xabs/extra/postgresql/postgresql-check-db-dir49
-rw-r--r--abs/extra/postgresql/postgresql-run-socket.patch12
-rw-r--r--abs/extra/postgresql/postgresql.confd11
-rw-r--r--abs/extra/postgresql/postgresql.install23
-rw-r--r--abs/extra/postgresql/postgresql.logrotate4
-rwxr-xr-xabs/extra/postgresql/postgresql.rcd79
-rw-r--r--abs/extra/postgresql/postgresql.service34
-rw-r--r--abs/extra/protobuf/PKGBUILD96
-rw-r--r--abs/extra/publicsuffix-list/PKGBUILD29
-rw-r--r--abs/extra/qtchooser/4.conf2
-rw-r--r--abs/extra/qtchooser/5.conf2
-rw-r--r--abs/extra/qtchooser/PKGBUILD41
-rw-r--r--abs/extra/ragel/PKGBUILD34
-rw-r--r--abs/extra/re2/PKGBUILD33
-rw-r--r--abs/extra/rhash/PKGBUILD49
-rw-r--r--abs/extra/rrdtool/PKGBUILD10
-rw-r--r--abs/extra/rtmpdump/PKGBUILD51
-rw-r--r--abs/extra/ruby-hpricot/PKGBUILD31
-rw-r--r--abs/extra/ruby-mustache/PKGBUILD23
-rw-r--r--abs/extra/ruby-rake/PKGBUILD22
-rw-r--r--abs/extra/ruby-rdiscount/PKGBUILD27
-rw-r--r--abs/extra/ruby-rdoc/PKGBUILD21
-rw-r--r--abs/extra/ruby-ronn/PKGBUILD27
-rw-r--r--abs/extra/ruby/PKGBUILD31
-rw-r--r--abs/extra/ruby/ruby.install2
-rw-r--r--abs/extra/samba/0001-s4-lib-tls-use-gnutls_priority_set_direct.patch69
-rw-r--r--abs/extra/samba/PKGBUILD89
-rw-r--r--abs/extra/samba/__changelog2
-rw-r--r--abs/extra/samba/samba.install4
-rw-r--r--abs/extra/samba/samba.logrotate4
-rw-r--r--abs/extra/serf/PKGBUILD36
-rw-r--r--abs/extra/sgml-common/PKGBUILD37
-rw-r--r--abs/extra/sgml-common/sgml-common-0.6.3-manpage-1.patch14
-rw-r--r--abs/extra/sgml-common/sgml-common.install55
-rw-r--r--abs/extra/shairplay/PKGBUILD26
-rw-r--r--abs/extra/shellinabox/PKGBUILD16
-rw-r--r--abs/extra/shellinabox/shellinaboxd.include13
-rw-r--r--abs/extra/sip/PKGBUILD65
-rw-r--r--abs/extra/sip/__changelog1
-rw-r--r--abs/extra/smpeg/PKGBUILD47
-rw-r--r--abs/extra/smpeg/smpeg-0.4.4-gcc41.patch41
-rw-r--r--abs/extra/source-highlight/PKGBUILD33
-rw-r--r--abs/extra/sqlite/PKGBUILD135
-rw-r--r--abs/extra/subversion/PKGBUILD117
-rw-r--r--abs/extra/subversion/__changelog2
-rw-r--r--abs/extra/subversion/ruby-frozen-nil.patch42
-rw-r--r--abs/extra/subversion/subversion.rpath.fix.patch7
-rwxr-xr-xabs/extra/subversion/svnserve42
-rw-r--r--abs/extra/subversion/svnserve.conf2
-rw-r--r--abs/extra/subversion/svnserve.service11
-rw-r--r--abs/extra/subversion/svnserve.tmpfiles1
-rw-r--r--abs/extra/sysstat/PKGBUILD41
-rw-r--r--abs/extra/sysstat/lib64-fix.patch25
-rw-r--r--abs/extra/sysstat/sysstat.service11
-rw-r--r--abs/extra/t1lib/CVE-2010-2642.patch24
-rw-r--r--abs/extra/t1lib/CVE-2011-0764.diff32
-rw-r--r--abs/extra/t1lib/CVE-2011-1552_1553_1554.patch133
-rw-r--r--abs/extra/t1lib/PKGBUILD44
-rw-r--r--abs/extra/t1lib/format-security.diff33
-rw-r--r--abs/extra/t1lib/lib-cleanup.diff59
-rw-r--r--abs/extra/tevent/PKGBUILD7
-rw-r--r--abs/extra/texlive-bin/PKGBUILD381
-rw-r--r--abs/extra/texlive-bin/luatex-gcc7.patch32
-rw-r--r--abs/extra/texlive-bin/texlive-poppler-0.59.patch1142
-rw-r--r--abs/extra/texlive-core/09-texlive-fonts.conf9
-rw-r--r--abs/extra/texlive-core/Changelog376
-rw-r--r--abs/extra/texlive-core/PKGBUILD333
-rw-r--r--abs/extra/texlive-core/mktexlsr.hook16
-rw-r--r--abs/extra/texlive-core/mktexlsr.script12
-rw-r--r--abs/extra/texlive-core/texlive-core.fmts32
-rw-r--r--abs/extra/texlive-core/texlive-core.maps60
-rw-r--r--abs/extra/texlive-core/texlive-fmtutil.hook12
-rw-r--r--abs/extra/texlive-core/texlive-fmtutil.script19
-rw-r--r--abs/extra/texlive-core/texlive-updmap.hook13
-rw-r--r--abs/extra/texlive-core/texlive-updmap.script15
-rw-r--r--abs/extra/texlive-core/texlive.install12
-rw-r--r--abs/extra/texlive-core/texmf.cnf807
-rw-r--r--abs/extra/texlive-core/texmfcnf.lua190
-rw-r--r--abs/extra/texlive-formatsextra/PKGBUILD59
-rw-r--r--abs/extra/texlive-formatsextra/texlive-formatsextra.fmts9
-rw-r--r--abs/extra/texlive-formatsextra/texlive-formatsextra.maps1
-rw-r--r--abs/extra/texlive-latexextra/PKGBUILD76
-rw-r--r--abs/extra/texlive-latexextra/texlive-latexextra.maps3
-rw-r--r--abs/extra/texlive-pictures/PKGBUILD68
-rw-r--r--abs/extra/texlive-pictures/texlive-pictures.maps2
-rw-r--r--abs/extra/texlive-pictures/xypdf-rev1.21.patch299
-rw-r--r--abs/extra/texlive-science/PKGBUILD52
-rw-r--r--abs/extra/texlive-science/texlive-science.fmts1
-rw-r--r--abs/extra/texlive-science/texlive-science.maps3
-rw-r--r--abs/extra/tidy/PKGBUILD8
-rw-r--r--abs/extra/tig/PKGBUILD12
-rw-r--r--abs/extra/transmission/PKGBUILD11
-rw-r--r--abs/extra/transmission/transmission-2.92-openssl-1.1.0.patch261
-rw-r--r--abs/extra/valgrind/PKGBUILD119
-rw-r--r--abs/extra/valgrind/valgrind-3.13.0-amd64-eflags-tests.patch2104
-rw-r--r--abs/extra/valgrind/valgrind-3.13.0-gdb-8-testfix.patch183
-rw-r--r--abs/extra/valgrind/valgrind-3.13.0-test-fixes.patch29
-rw-r--r--abs/extra/valgrind/valgrind-3.7.0-respect-flags.patch13
-rw-r--r--abs/extra/valgrind/valgrind-fix-xml-socket.patch11
-rw-r--r--abs/extra/vim/PKGBUILD314
-rw-r--r--abs/extra/vim/archlinux.vim15
-rw-r--r--abs/extra/vim/gvim.desktop63
-rw-r--r--abs/extra/vim/gvim.install11
-rw-r--r--abs/extra/vim/vimdoc.hook11
-rw-r--r--abs/extra/vim/vimrc4
-rw-r--r--abs/extra/vulkan-docs/PKGBUILD70
-rw-r--r--abs/extra/wayland-protocols/PKGBUILD7
-rw-r--r--abs/extra/wayland/PKGBUILD6
-rw-r--r--abs/extra/wireless-regdb/PKGBUILD11
-rw-r--r--abs/extra/zziplib/PKGBUILD36
1314 files changed, 50708 insertions, 34491 deletions
diff --git a/abs/core/LinHES-config/09_mythvantge_runit_grub b/abs/core/LinHES-config/09_mythvantge_runit_grub
index aef11a1..137d8f6 100644
--- a/abs/core/LinHES-config/09_mythvantge_runit_grub
+++ b/abs/core/LinHES-config/09_mythvantge_runit_grub
@@ -30,7 +30,7 @@ menuentry 'LinHES' --class arch --class gnu-linux --class gnu --class os $menuen
search --no-floppy --fs-uuid --set=root $boot_device_id
fi
echo 'Loading Linux core repo kernel ...'
- linux /boot/vmlinuz-linux root=UUID=$boot_device_id ro quiet splash udev.log-priority=3 init=/sbin/runit $install_modules
+ linux /boot/vmlinuz-linux root=UUID=$boot_device_id ro quiet splash udev.log-priority=3 loglevel=3 init=/sbin/runit $install_modules
echo 'Loading initial ramdisk ...'
initrd /boot/initramfs-linux.img
}
diff --git a/abs/core/LinHES-config/LinHES-release b/abs/core/LinHES-config/LinHES-release
index b3360a3..5afb5ff 100644
--- a/abs/core/LinHES-config/LinHES-release
+++ b/abs/core/LinHES-config/LinHES-release
@@ -1 +1 @@
-LinHES R8.5.1 (Gareth)
+LinHES R8.5.2 (Gareth)
diff --git a/abs/core/LinHES-config/PKGBUILD b/abs/core/LinHES-config/PKGBUILD
index 9d8cbc9..424d709 100755
--- a/abs/core/LinHES-config/PKGBUILD
+++ b/abs/core/LinHES-config/PKGBUILD
@@ -1,12 +1,13 @@
pkgname=LinHES-config
-pkgver=8.5.1
-pkgrel=2
+pkgver=8.5.2
+pkgrel=3
conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev LinHes-config )
pkgdesc="Install and configure your system"
depends=('bc' 'libstatgrab' 'mysql-python' 'expect' 'curl' 'dnsutils' 'parted'
- 'sg3_utils' 'nmbscan' 'system-templates' 'rsync' 'python-parted'
- 'python2-pexpect' 'python-netifaces' 'xcursor-vanilla-dmz-aa'
- 'python-iplib' 'sudo' 'setserial' 'udevil' 'balance' 'runit-scripts>=8.3-4' )
+ 'sg3_utils' 'nmbscan' 'system-templates' 'rsync' 'python2-pyparted'
+ 'python2-pexpect' 'python-netifaces' 'xcursor-vanilla-dmz-aa'
+ 'python-iplib' 'sudo' 'setserial' 'udevil' 'balance'
+ 'mythinstall' 'runit-scripts>=8.3-4' )
arch=('i686' 'x86_64')
source=(mv_install.py 09_mythvantge_runit_grub
@@ -144,8 +145,8 @@ package() {
install -o root -g root -D -m 0755 blacklist_nouveau.conf $pkgdir/etc/modprobe.d/blacklist_nouveau.conf
}
-md5sums=('518c868141fe443e9258144c029ed3f9'
- '51525188ac6f6034422c5d71d0c84408'
+md5sums=('49952a2375b8ee53d8673473f22f8d12'
+ 'bee51ac2c232ab134eec127f5c8846ad'
'f6e9dd7bc6cf0aaa3bd203dab4cb79b9'
'2596460462cf6c889cf8f95485537b20'
'985891a43f7c4c983eb2a362162f1a0f'
@@ -159,7 +160,7 @@ md5sums=('518c868141fe443e9258144c029ed3f9'
'f0376c98a7986897406d393186c0365e'
'157e73d0f90d7b306aba8f5921aeedd3'
'1f58c0393a131f4a8f9a84b3fe08a7e4'
- '55ac9212faa4efa7f9cb67a35640817e'
+ '03ab4c6af061da01584b450ec83f26ed'
'5f890ea9bda6aef652d2560ca19dac07'
'ab2aa42c2947148c2b1cac0ade6d1d55'
'd429b59d3cfb37b0624c6a4a71a7c2c0'
@@ -182,7 +183,7 @@ md5sums=('518c868141fe443e9258144c029ed3f9'
'8be8ce5f1d8522b1cde12d34840865c2'
'80685e047993b00161be29e3580f3a40'
'0e1c98392887b6efcb3f8b04ead7c4f9'
- '3cb673adb83b6afa52cffaa621b9d96b'
+ '3d84d2b508a73733e8d593e551b21081'
'781f161a79c3188a31c8615b8258b241'
'44e32e7015612cbf5d9f6539f4b6799b'
'6cb0aac63623a44463c4209862d2baa0'
diff --git a/abs/core/LinHES-config/config.install b/abs/core/LinHES-config/config.install
index 50c66c7..332f033 100644
--- a/abs/core/LinHES-config/config.install
+++ b/abs/core/LinHES-config/config.install
@@ -40,7 +40,12 @@ post_upgrade() {
/usr/MythVantage/bin/systemconfig.py -m hostype
fi
- /usr/MythVantage/bin/systemconfig.py -m locale,vnc,ir
+ if [ $(vercmp $2 8.5.1-4) -lt 0 ]; then
+ #reconfig to include grub
+ /usr/MythVantage/bin/systemconfig.py -m locale,vnc,ir,advanced
+ else
+ /usr/MythVantage/bin/systemconfig.py -m locale,vnc,ir
+ fi
echo " Removing pts and shm from fstab..."
cp -a /etc/fstab /etc/fstab.backup.pre_pts_shm
diff --git a/abs/core/LinHES-config/mv_fileshare.py b/abs/core/LinHES-config/mv_fileshare.py
index 5844a2f..3311bb8 100755
--- a/abs/core/LinHES-config/mv_fileshare.py
+++ b/abs/core/LinHES-config/mv_fileshare.py
@@ -441,6 +441,7 @@ def setup_NFSshares(UseNFS,templatefile,data_config,servername,nfslist):
else:
logging.info(" Removing NFS server")
mv_common.remove_service("nfsd")
+ mv_common.remove_service("nfs-common")
return
def setup_dyndns(DDnsEnable):
diff --git a/abs/core/LinHES-config/mv_install.py b/abs/core/LinHES-config/mv_install.py
index f414942..bf53476 100644
--- a/abs/core/LinHES-config/mv_install.py
+++ b/abs/core/LinHES-config/mv_install.py
@@ -82,10 +82,13 @@ def kill_dhcp_chroot():
pass
#force kill
try:
- cmd = "lsof -t /new_boot|xargs kill -9"
+ #cmd = "lsof -t /new_boot|xargs kill -9"
+ #newer versions of lsof show /dev/pts bind mounts
+ #even after they are umounted
+ cmd = "fuser -mk /new_boot"
runcmd(cmd)
except:
- print " !!!Problem killing all /new_boot pids"
+ logging.debug("!!!Problem killing all /new_boot pids")
@@ -218,7 +221,7 @@ def mysqldb(cmd, inchroot):
if cmd == "start":
cmd = "chroot /new_boot /etc/rc.d/mysqld start"
elif cmd == "stop":
- cmd = " chroot /new_boot /etc/rc.d/mysqld stop"
+ cmd = "chroot /new_boot /etc/rc.d/mysqld stop"
else:
if cmd == "start":
cmd = "systemctl start mysqld.service"
@@ -748,10 +751,10 @@ def mount_for_copy_it():
#Versions of util-linux mount after 2.28.2 do not allow 1 image to be
# mounted to multiple loop devices.
#Our ISO mounts airootfs.img to both / and /image_mount
- cmd = 'tar -xvf /tmp/mount2.28.2.tar.xz -C /tmp/'
+ cmd = 'tar -xvf /root/linhes_install/mount2.28.2.tar.xz -C /root/linhes_install/'
rc = runcmd(cmd)[0]
if rc != 0 :
- error_out("Failed to extract static mount from /tmp/mount2.28.2.tar.xz")
+ error_out("Failed to extract static mount from /root/linhes_install/mount2.28.2.tar.xz")
mounts = {}
mounts['/image_mount'] = 'airootfs'
@@ -760,7 +763,7 @@ def mount_for_copy_it():
os.makedirs(image_mount)
except:
pass
- cmd = '/tmp/mount /run/archiso/sfs/%s/%s.img %s' %(fsimage,fsimage,image_mount)
+ cmd = '/root/linhes_install/mount /run/archiso/sfs/%s/%s.img %s' %(fsimage,fsimage,image_mount)
rc = runcmd(cmd)[0]
if rc != 0 :
error_out("Mount image %s" %fsimage)
@@ -770,7 +773,7 @@ def umount_for_copy_it():
mounts = {}
mounts['/image_mount'] = 'airootfs'
for image_mount, fsimage in mounts.iteritems():
- cmd='/tmp/umount %s' %(image_mount)
+ cmd='/root/linhes_install/umount %s' %(image_mount)
rc = runcmd(cmd)[0]
if rc != 0 :
error_out("unMount image %s" %image_mount)
@@ -784,7 +787,7 @@ def copy_it(install_type):
if ( install_type == "install"):
logging.info("Transferring system")
- cmdlist = ['rsync -arp --exclude var-lib-pacman --exclude boot-orig --exclude tmp/mount2.28.2.tar.xz /image_mount/* /new_boot']
+ cmdlist = ['rsync -arp --exclude var-lib-pacman --exclude boot-orig /image_mount/* /new_boot']
for cmd in cmdlist:
rc = runcmd(cmd)[0]
@@ -796,7 +799,7 @@ def copy_it(install_type):
if ( install_type == "upgrade"):
logging.info("Upgrading system")
- cmdlist = ['rsync -arp --exclude var-lib-pacman --exclude boot-orig --exclude tmp/mount2.28.2.tar.xz --exclude /home --exclude /data/srv/mysql /image_mount/* /new_boot']
+ cmdlist = ['rsync -arp --exclude var-lib-pacman --exclude boot-orig --exclude /home --exclude /data/srv/mysql /image_mount/* /new_boot']
for cmd in cmdlist:
rc = runcmd(cmd)[0]
@@ -1653,7 +1656,7 @@ def full_install(hostoptions):
else:
double_mount(fe_only=True)
#move_myth_home("restore")
-# Need to check for to touch /tmp/.dbsysfailed
+ #Need to check for to touch /tmp/.dbsysfailed
#cmd = " chroot %s %s/bin/myth_settings_wrapper.sh -c restore -t syssettings " %(data_config.MOUNTPOINT, MVROOT)
#runcmd(cmd)
if ( 'x' == '1' ):
diff --git a/abs/core/LinHES-system/PKGBUILD b/abs/core/LinHES-system/PKGBUILD
index 5ecc711..c83c19a 100755
--- a/abs/core/LinHES-system/PKGBUILD
+++ b/abs/core/LinHES-system/PKGBUILD
@@ -1,13 +1,14 @@
pkgname=LinHES-system
-pkgver=8.5.1
+pkgver=8.5.2
pkgrel=2
-arch=('i686' 'x86_64')
+arch=('x86_64')
install=system.install
pkgdesc="Everything that makes LinHES an automated system"
license=('GPL2')
depends=('linhes-sounds' 'xdotool' 'tilda' 'keylaunch' 'dvdbackup'
'python_aosd' 'udisks' 'LinHES-config>=2.3-59' 'sudo'
- 'python2-dateutil' 'python2-dbus' 'unclutter' 'wmctrl' 'archlinux-xdg-menu'
+ 'python2-dateutil' 'python2-dbus' 'python2-tzlocal' 'unclutter'
+ 'wmctrl' 'archlinux-xdg-menu'
'ethtool' 'gnu-netcat' 'normalize' 'ttf-overlock'
'handbrake-cli' 'mkvtoolnix-cli' 'mplayer' 'runit-scripts>=8.1-12')
backup=('etc/modprobe.d/alsa-base.conf' 'etc/X11/autostart/autostart.run')
@@ -90,7 +91,7 @@ md5sums=('c6e6b83a1f4c35ef4501e277657ab2ac'
'542e670e78d117657f93141e9689f54d'
'8da6a7f1703a002f84e66629e847d8a6'
'bb72ab230c7a71706285bd0f31a4fb1f'
- '7cc012ad0e71b40b4a376ab33a33c1cd'
+ '14352e6d2cd3ed4206b1dff4ff35880d'
'962a3e9eaba2d1466251b7ab0956705d'
'1758aed160de64abfafb28a3a8f3390e'
'33fbebbd546672cedd3c5e7350ab414e'
@@ -132,7 +133,7 @@ md5sums=('c6e6b83a1f4c35ef4501e277657ab2ac'
'a94fe6d980f4b810f2e2ae5352084b39'
'0d1632ea63d8145c173c6aecf0b007f0'
'ff689f2e9572a78d88384b2e5774f579'
- '28f29578e5b3ba84fdf2aa57cf475bcf'
+ 'a811c5c01cc127ef403a24c941e03c66'
'4a1fda884dcd7d65fb2690fbdbd92a83'
'29f451783db3220b612e00c29e3ded73'
'7fe42dfc99af42a45440c9c3954c3c19'
diff --git a/abs/core/LinHES-system/myth2mkv b/abs/core/LinHES-system/myth2mkv
index 1352476..51a0c9b 100644
--- a/abs/core/LinHES-system/myth2mkv
+++ b/abs/core/LinHES-system/myth2mkv
@@ -93,7 +93,7 @@ fi
check_background_progress()
# check handbrake progress in background
{
-while [ `tail -2 ${STATUSFILE} | grep -c "^HandBrake has exited"` = 0 ]
+while [ ! -f ${HB_RETURN_CODE} ]
do
sleep 15
check_myth_jobcmds
@@ -197,19 +197,19 @@ if [[ ${QUALITY} = HP ]] ; then
if [[ -n ${CROP} ]] ; then
CROP="--crop ${CROP}"
else
- CROP="--crop 0:0:0:0 --strict-anamorphic"
+ CROP="--crop 0:0:0:0 --auto-anamorphic"
fi
HB_OPTS="-o ${TMPFILE} -e x264 ${TUNING} -q 20.0 -a 1,1 -E copy:ac3,faac -B 160,160 -6 dpl2,auto -R Auto,Auto -D 0.0,0.0 --audio-copy-mask aac,ac3,dtshd,dts,mp3 --audio-fallback ffac3 -f mkv --decomb --loose-anamorphic --modulus 2 -m --x264-preset medium --h264-profile high --h264-level 4.1 ${CROP} -s 1"
elif [[ ${QUALITY} = HQ ]] ; then
if [[ -n ${CROP} ]] ; then
CROP="--crop ${CROP}"
else
- CROP="--crop 0:0:0:0 --strict-anamorphic"
+ CROP="--crop 0:0:0:0 --auto-anamorphic"
fi
HB_OPTS="-o ${TMPFILE} -f mkv -m -e x264 ${TUNING} -x b-adapt=2:rc-lookahead=50 -b 5000 -2 -T ${WIDTH} ${HEIGHT} -r ${FPS} --cfr ${CROP} ${DEINT} -a 1 -E copy -s 1"
else
if [[ ${CROP} = "--crop 0:0:0:0" ]] ; then
- CROP="${CROP} --strict-anamorphic"
+ CROP="${CROP} --auto-anamorphic"
fi
if [[ ${QUALITY} = LQ ]] ; then
HB_OPTS="-o ${TMPFILE} -f mkv -m -e x264 ${TUNING} -b 1250 ${WIDTH} ${HEIGHT} -r ${FPS} --pfr ${CROP} ${DEINT} -a 1 -E lame -B 128 -Q 8 -6 stereo -s 1"
diff --git a/abs/core/LinHES-system/myth_status.py b/abs/core/LinHES-system/myth_status.py
index 0662f79..cd541ca 100644
--- a/abs/core/LinHES-system/myth_status.py
+++ b/abs/core/LinHES-system/myth_status.py
@@ -3,9 +3,10 @@
#Also will display alerts generated by xymon. If the location of xymon changes, this script needs to be updated.
from MythTV import MythBE,MythDB,MythLog
-import datetime,time,sys,subprocess,re
+import datetime,pytz,re,socket,subprocess,sys,time
from dateutil.parser import parse
-from dateutil import tz
+from tzlocal import get_localzone
+
import os,glob
from socket import gethostname;
@@ -110,7 +111,8 @@ def print_alerts():
class tuner_recording_status:
def __init__ (self,num_upcoming):
- self.now = datetime.datetime.now()
+ self.now = datetime.datetime.now(pytz.utc)
+ self.currTZ = get_localzone()
self.farout=99999999
self.next_start_diff=datetime.timedelta(self.farout)
self.num_upcoming=num_upcoming
@@ -176,7 +178,6 @@ class tuner_recording_status:
a=self.be.getUpcomingRecordings()
r=0
- currTZ = tz.tzlocal()
for i in a:
r += 1
if r > self.num_upcoming:
@@ -184,14 +185,11 @@ class tuner_recording_status:
title_chan="%s (%s)" %(i.title, i.channame)
# convert timezone to local timezone
start_time=parse(str(i.starttime))
- start_time=start_time.astimezone(currTZ)
+ start_time=start_time.astimezone(self.currTZ)
start_time_out=start_time.strftime("%a %b %d %I:%M%p")
self.upcoming_list.append([start_time_out,i.hostname, title_chan])
- #remove timezone
- start_time=re.split("[-+]\d\d:\d\d",str(i.starttime))[0]
- start_time_struct=datetime.datetime.strptime(start_time, "%Y-%m-%d %H:%M:%S")
- diff = start_time_struct - self.now
+ diff = start_time - self.now
if diff < self.next_start_diff :
self.next_start_diff = diff
@@ -230,13 +228,12 @@ class tuner_recording_status:
def conflicts(self):
a=self.be.getConflictedRecordings()
- currTZ = tz.tzlocal()
for i in a:
out_line=''
title_chan="%s (%s)" %(i.title, i.channame)
# convert timezone to local timezone
start_time=parse(str(i.starttime))
- start_time=start_time.astimezone(currTZ)
+ start_time=start_time.astimezone(self.currTZ)
start_time_out=start_time.strftime("%a %b %d %I:%M%p")
out_line=(start_time_out,i.hostname,title_chan)
self.conflict_list.append(out_line)
@@ -258,6 +255,8 @@ class tuner_recording_status:
def go():
+ welcomeFile=open("/etc/LinHES-release", "r")
+ print "Welcome to %s on %s\n" %(welcomeFile.readline().rstrip(), socket.gethostname())
tuner = tuner_recording_status(12)
if tuner.get_db_check_status() == 0:
tuner.print_tuner_status()
diff --git a/abs/core/aalib/PKGBUILD b/abs/core/aalib/PKGBUILD
index 164b269..13049e9 100644
--- a/abs/core/aalib/PKGBUILD
+++ b/abs/core/aalib/PKGBUILD
@@ -1,28 +1,32 @@
-# $Id: PKGBUILD 9082 2008-08-17 03:29:36Z allan $
-# Maintainer: arjan <arjan@archlinux.org>
-# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
-#
+# $Id$
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
pkgname=aalib
pkgver=1.4rc5
-pkgrel=7
-pkgdesc="AAlib is a portable ASCII art GFX library"
-arch=('i686' 'x86_64')
+pkgrel=13
+pkgdesc="A portable ASCII art graphic library"
+arch=('x86_64')
url="http://aa-project.sourceforge.net/aalib/"
license=('LGPL')
-depends=('glibc' 'ncurses' 'gpm>=1.20.4' 'libx11')
-options=('!libtool')
-source=(http://downloads.sourceforge.net/sourceforge/aa-project/$pkgname-$pkgver.tar.gz
+depends=('gpm' 'libx11')
+makedepends=('libxt')
+source=(https://downloads.sourceforge.net/sourceforge/aa-project/${pkgname}-${pkgver}.tar.gz
aclocal-fixes.patch)
-md5sums=('9801095c42bba12edebd1902bcf0a990' '863a96a6689aa7ee073ca448bc2f133d')
+sha1sums=('a23269e950a249d2ef93625837cace45ddbce03b'
+ '98d8c5a13672a8107945d694ff4520e0bc87d3e9')
+
+prepare() {
+ cd ${pkgname}-1.4.0
+ patch -p0 -i "${srcdir}/aclocal-fixes.patch"
+}
build() {
- cd $startdir/src/$pkgname-1.4.0
- patch -Np0 -i ${startdir}/src/aclocal-fixes.patch || return 1
+ cd ${pkgname}-1.4.0
./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info
- make || return 1
+ make
}
+
package() {
- cd $startdir/src/$pkgname-1.4.0
- make DESTDIR=$startdir/pkg install
- rm ${pkgdir}/usr/share/info/dir
+ cd ${pkgname}-1.4.0
+ make DESTDIR="${pkgdir}" install
}
diff --git a/abs/core/alsa-lib/PKGBUILD b/abs/core/alsa-lib/PKGBUILD
index 24f8aaa..14ce18c 100644
--- a/abs/core/alsa-lib/PKGBUILD
+++ b/abs/core/alsa-lib/PKGBUILD
@@ -1,22 +1,21 @@
# $Id$
-# Maintainer: judd <jvinet@zeroflux.org>
+# Contributor: judd <jvinet@zeroflux.org>
pkgname=alsa-lib
-pkgver=1.1.2
+pkgver=1.1.6
pkgrel=1
pkgdesc="An alternative implementation of Linux sound support"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://www.alsa-project.org"
depends=('glibc')
optdepends=('python2: for python smixer plugin')
makedepends=('python2')
-license=('GPL')
+license=('LGPL')
source=(ftp://ftp.alsa-project.org/pub/lib/$pkgname-$pkgver.tar.bz2)
-sha1sums=('574a0ebd4d218c81f73a0abae79f0e3cc9a6e402')
build() {
cd "$srcdir/$pkgname-$pkgver"
- ./configure --prefix=/usr --with-pythonlibs="-lpthread -lm -ldl -lpython2.7" --with-pythonincludes=-I/usr/include/python2.7
+ ./configure --without-debug --prefix=/usr --with-pythonlibs="-lpthread -lm -ldl -lpython2.7" --with-pythonincludes=-I/usr/include/python2.7
make
}
@@ -24,3 +23,4 @@ package() {
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir" install
}
+md5sums=('2f981a8f7897c59ec2ddc44916d33788')
diff --git a/abs/core/alsa-plugins/PKGBUILD b/abs/core/alsa-plugins/PKGBUILD
index c51c3e6..3fab937 100644
--- a/abs/core/alsa-plugins/PKGBUILD
+++ b/abs/core/alsa-plugins/PKGBUILD
@@ -4,24 +4,22 @@
# Contributor: Daniel Ehlers <danielehlers@mindeye.net>
pkgname=alsa-plugins
-pkgver=1.1.1
-pkgrel=1
+pkgver=1.1.6
+pkgrel=2
pkgdesc="Extra alsa plugins"
-arch=(i686 x86_64)
+arch=(x86_64)
url="http://www.alsa-project.org"
license=(GPL)
depends=(alsa-lib)
makedepends=(ffmpeg)
-optdepends=(
- 'ffmpeg: libavcodec resampling plugin, a52 plugin'
+optdepends=('ffmpeg: libavcodec resampling plugin, a52 plugin'
'libsamplerate: libsamplerate resampling plugin'
'speex: libspeexdsp resampling plugin')
source=("ftp://ftp.alsa-project.org/pub/plugins/$pkgname-$pkgver.tar.bz2")
-sha1sums=('280eb0d9810e463059747d01760a5ac3f44d7057')
+sha1sums=('a3601513f1a54eaef606744c9c9f4e9d4d44bf40')
build() {
cd $pkgname-$pkgver
- CFLAGS+=' -DHAVE_STDINT_H' # We have issue similar to this one https://code.google.com/p/cantata/issues/detail?id=627
./configure --prefix=/usr
make
}
diff --git a/abs/core/alsa-utils/90alsa b/abs/core/alsa-utils/90alsa
deleted file mode 100755
index 9f18bef..0000000
--- a/abs/core/alsa-utils/90alsa
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-#
-# 90alsa: suspend/wakeup ALSA devices
-
-case "$1" in
-hibernate|suspend)
-;;
-thaw|resume)
-aplay -d 1 /dev/zero
-;;
-*) exit $NA
-;;
-esac
diff --git a/abs/core/alsa-utils/PKGBUILD b/abs/core/alsa-utils/PKGBUILD
index 1e450d0..d35b8b1 100644
--- a/abs/core/alsa-utils/PKGBUILD
+++ b/abs/core/alsa-utils/PKGBUILD
@@ -3,40 +3,30 @@
# Contributor: judd <jvinet@zeroflux.org>
pkgname=alsa-utils
-pkgver=1.1.2
+pkgver=1.1.6
pkgrel=1
pkgdesc="An alternative implementation of Linux sound support"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://www.alsa-project.org"
#can not use >=$pkgver due to use of letters in alsa-lib update versioning
depends=("alsa-lib>1.0.24" 'pciutils' 'ncurses' 'psmisc' 'libsamplerate' 'fftw')
-makedepends=('xmlto' 'docbook-xsl')
+makedepends=('xmlto' 'docbook-xsl' 'systemd')
license=('GPL')
-source=(ftp://ftp.alsa-project.org/pub/utils/$pkgname-${pkgver}.tar.bz2
- 90alsa)
+source=(ftp://ftp.alsa-project.org/pub/utils/$pkgname-${pkgver}.tar.bz2)
+sha256sums=('155caecc40b2220f686f34ba3655a53e3bdbc0586adb1056733949feaaf7d36e')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr --disable-alsaconf --sbindir=/usr/bin \
--with-udev-rules-dir=/usr/lib/udev/rules.d \
--with-systemdsystemunitdir=/usr/lib/systemd/system
make
- # fix udev rules genaration
- cd alsactl
- make 90-alsa-restore.rules
}
package() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} install
- install -D -m755 ../90alsa ${pkgdir}/etc/pm/sleep.d/90alsa
-
- # install alsa udev rule file
- install -D -m644 alsactl/90-alsa-restore.rules \
- ${pkgdir}/usr/lib/udev/rules.d/90-alsa-restore.rules
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
# dir where to save ALSA state
- install -d ${pkgdir}/var/lib/alsa
+ install -d "${pkgdir}/var/lib/alsa"
}
-md5sums=('38ac7c781f80c41c02b4664d8cbafa87'
- '529216f6a46e61a546640e08ea7a0879')
diff --git a/abs/core/apache/PKGBUILD b/abs/core/apache/PKGBUILD
index d4344e6..13f0aa7 100644
--- a/abs/core/apache/PKGBUILD
+++ b/abs/core/apache/PKGBUILD
@@ -4,10 +4,10 @@
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=apache
-pkgver=2.4.9
+pkgver=2.4.33
pkgrel=1
pkgdesc='A high performance Unix-based HTTP server'
-arch=('i686' 'x86_64')
+arch=('x86_64')
url='http://www.apache.org/dist/httpd'
license=('APACHE')
backup=(
@@ -19,30 +19,32 @@ backup=(
etc/httpd/conf/{mime.types,magic}
etc/logrotate.d/httpd
)
-depends=('zlib' 'apr-util' 'pcre')
-makedepends=('libxml2' 'lua' 'openssl')
+depends=('zlib' 'apr-util' 'pcre' 'libnghttp2' 'openssl')
+makedepends=('libxml2' 'lua')
optdepends=(
'lua: for mod_lua module'
- 'openssl: for mod_ssl module'
- 'libxml2: for mod_proxy_html, mod_xml2enc modules'
+ 'libxml2: for mod_proxy_html, mod_xml2enc modules'
'lynx: apachectl status'
)
-install=apache.install
source=(
- http://www.apache.org/dist/httpd/httpd-${pkgver}.tar.bz2{,.asc}
+ https://www.apache.org/dist/httpd/httpd-${pkgver}.tar.bz2{,.asc}
+ openssl-malloc-init.patch
apache.tmpfiles.conf
httpd.logrotate
httpd.service
arch.layout
)
-sha256sums=('f78cc90dfa47caf3d83ad18fd6b4e85f237777c1733fc9088594b70ce2847603'
+sha256sums=('de02511859b00d17845b9abdd1f975d5ccb5d0b280c567da5bf2ad4b70846f05'
'SKIP'
+ 'd305f8b52ac2a9bbda7bb0776496471e69e9d30642740f594d00086a8c7e344c'
'63da1a420f4714a3e7af2672d28384419cc7eedbe7bf35baebd02938fabc15bf'
- '875903831634edf35d8d57e9a51bacb818255ecb3bfff29627f03e43d1ab65c3'
- '14d0a775eea7f8c66ba55399a9ad1e4fd29e0302f479a15b28bbfc754c5aa347'
+ '0bbbfae23a917b2fce0bf8f900f60319b50769224a96314e9301a75ccd078e16'
+ 'f574bac6d5f398e7a649fc0e1ca66ff01ad4ef34dac71258e93d8a9d9a2b3960'
'dda05c6e76f12624e418ca18a36f2e90ec1c5b1cc52fed7142fce6076ec413f3')
+validpgpkeys=('A93D62ECC3C8EA12DB220EC934EA76E6791485A8' # Jim Jagielski
+ 'B9E8213AEFB861AF35A41F2C995E35221AD84DFF') # Daniel Ruggeri
-build() {
+prepare() {
cd httpd-${pkgver}
# set default user
@@ -51,7 +53,14 @@ build() {
-i docs/conf/httpd.conf.in
cat "${srcdir}/arch.layout" >> config.layout
-
+
+ # https://github.com/openssl/openssl/issues/2865
+ patch -Np1 -i ../openssl-malloc-init.patch
+}
+
+build() {
+ cd httpd-${pkgver}
+
./configure --sbindir=/usr/bin \
--enable-layout=Arch \
--enable-mpms-shared=all \
@@ -64,14 +73,14 @@ build() {
--with-suexec-logfile=/var/log/httpd/suexec.log \
--with-suexec-bin=/usr/bin/suexec \
--with-suexec-uidmin=99 --with-suexec-gidmin=99 \
- --enable-ldap --enable-authnz-ldap \
+ --enable-ldap --enable-authnz-ldap --enable-authnz-fcgi \
--enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache \
--enable-ssl --with-ssl \
--enable-deflate --enable-cgi --enable-cgid \
--enable-proxy --enable-proxy-connect \
--enable-proxy-http --enable-proxy-ftp \
--enable-dbd --enable-imagemap --enable-ident --enable-cern-meta \
- --enable-lua --enable-xml2enc \
+ --enable-lua --enable-xml2enc --enable-http2 \
--with-apr=/usr/bin/apr-1-config \
--with-apr-util=/usr/bin/apu-1-config \
--with-pcre=/usr
@@ -90,10 +99,8 @@ package() {
install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
# symlinks for /etc/httpd
- # do we really need these symlinks?
- #ln -fs /var/log/httpd "${pkgdir}/etc/httpd/logs"
+ # do we really need this symlink?
ln -fs /usr/lib/httpd/modules "${pkgdir}/etc/httpd/modules"
- #ln -fs /usr/lib/httpd/build "${pkgdir}/etc/httpd/build"
# set sane defaults
sed -e 's#/usr/lib/httpd/modules/#modules/#' \
diff --git a/abs/core/apache/apache-2.2-optionsbleed-CVE-2017-9798.patch b/abs/core/apache/apache-2.2-optionsbleed-CVE-2017-9798.patch
new file mode 100644
index 0000000..040d557
--- /dev/null
+++ b/abs/core/apache/apache-2.2-optionsbleed-CVE-2017-9798.patch
@@ -0,0 +1,21 @@
+CVE-2017-9798
+
+Backport from https://svn.apache.org/viewvc?view=revision&revision=1807655
+
+diff --git a/server/core.c b/server/core.c
+index f61699e..d24542e 100644
+--- a/server/core.c
++++ b/server/core.c
+@@ -1809,6 +1809,12 @@ AP_CORE_DECLARE_NONSTD(const char *) ap_limit_section(cmd_parms *cmd,
+ /* method has not been registered yet, but resorce restriction
+ * is always checked before method handling, so register it.
+ */
++ if (cmd->pool == cmd->temp_pool) {
++ /* In .htaccess, we can't globally register new methods. */
++ return apr_psprintf(cmd->pool, "Could not register method '%s' "
++ "for %s from .htaccess configuration",
++ method, cmd->cmd->name);
++ }
+ methnum = ap_method_register(cmd->pool,
+ apr_pstrdup(cmd->pool, method));
+
diff --git a/abs/core/apache/apache.install b/abs/core/apache/apache.install
deleted file mode 100644
index 5665f08..0000000
--- a/abs/core/apache/apache.install
+++ /dev/null
@@ -1,16 +0,0 @@
-post_install() {
- if type -P systemd-tmpfiles &> /dev/null; then
- systemd-tmpfiles --create apache.conf
- fi
-}
-
-post_upgrade() {
- if type -P systemd-tmpfiles &> /dev/null; then
- systemd-tmpfiles --create apache.conf
- fi
-
- if [[ $2 == 2\.2\.* ]]; then
- # it is a major upgrade, show a useful link to upgrade instructions
- echo ' Check Apache upgrade instructions: https://httpd.apache.org/docs/2.4/upgrading.html'
- fi
-}
diff --git a/abs/core/apache/httpd.logrotate b/abs/core/apache/httpd.logrotate
index c9755de..02eb326 100644
--- a/abs/core/apache/httpd.logrotate
+++ b/abs/core/apache/httpd.logrotate
@@ -1,6 +1,7 @@
/var/log/httpd/*log {
missingok
+ sharedscripts
postrotate
- /bin/kill -HUP `cat /run/httpd/httpd.pid 2>/dev/null` 2> /dev/null || true
+ /usr/bin/systemctl reload httpd.service 2>/dev/null || true
endscript
}
diff --git a/abs/core/apache/httpd.service b/abs/core/apache/httpd.service
index 247e28f..67805ff 100644
--- a/abs/core/apache/httpd.service
+++ b/abs/core/apache/httpd.service
@@ -3,13 +3,13 @@ Description=Apache Web Server
After=network.target remote-fs.target nss-lookup.target
[Service]
-Type=forking
-PIDFile=/run/httpd/httpd.pid
-ExecStart=/usr/bin/apachectl start
-ExecStop=/usr/bin/apachectl graceful-stop
-ExecReload=/usr/bin/apachectl graceful
+Type=simple
+ExecStart=/usr/bin/httpd -k start -DFOREGROUND
+ExecStop=/usr/bin/httpd -k graceful-stop
+ExecReload=/usr/bin/httpd -k graceful
PrivateTmp=true
LimitNOFILE=infinity
+KillMode=mixed
[Install]
WantedBy=multi-user.target
diff --git a/abs/core/apache/nohttp2forprefork.patch b/abs/core/apache/nohttp2forprefork.patch
new file mode 100644
index 0000000..8bb337b
--- /dev/null
+++ b/abs/core/apache/nohttp2forprefork.patch
@@ -0,0 +1,506 @@
+From ab03196a879f4064f618a9a45d63c67a67f4b901 Mon Sep 17 00:00:00 2001
+From: Jim Jagielski <jim@apache.org>
+Date: Tue, 4 Jul 2017 12:34:15 +0000
+Subject: [PATCH] Merge r1800689 from trunk:
+
+On the trunk:
+
+mod_http2: disable and give warning when mpm_prefork is encountered.
+ The server will continue to work, but HTTP/2 will no longer be negotiated.
+
+
+Submitted by: icing
+Reviewed by: icing, ylavic, jim
+
+
+git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1800774 13f79535-47bb-0310-9956-ffa450edef68
+---
+ modules/http2/h2_conn.c | 21 +++++++-
+ modules/http2/h2_conn.h | 3 +-
+ modules/http2/h2_mplx.c | 37 +++++++-------
+ modules/http2/h2_mplx.h | 2 +-
+ modules/http2/h2_session.c | 7 +--
+ modules/http2/h2_stream.c | 14 +++++-
+ modules/http2/h2_switch.c | 8 +++
+ modules/http2/h2_util.c | 118 +++++++++++++++++++++------------------------
+ modules/http2/h2_workers.c | 7 +--
+ modules/http2/mod_http2.c | 12 +++++
+ 12 files changed, 139 insertions(+), 99 deletions(-)
+
+diff --git a/modules/http2/h2_conn.c b/modules/http2/h2_conn.c
+index fcf6bad4d41..e2502c2f167 100644
+--- a/modules/http2/h2_conn.c
++++ b/modules/http2/h2_conn.c
+@@ -47,6 +47,7 @@ static struct h2_workers *workers;
+ static h2_mpm_type_t mpm_type = H2_MPM_UNKNOWN;
+ static module *mpm_module;
+ static int async_mpm;
++static int mpm_supported = 1;
+ static apr_socket_t *dummy_socket;
+
+ static void check_modules(int force)
+@@ -76,11 +77,18 @@ static void check_modules(int force)
+ else if (!strcmp("prefork.c", m->name)) {
+ mpm_type = H2_MPM_PREFORK;
+ mpm_module = m;
++ /* While http2 can work really well on prefork, it collides
++ * today's use case for prefork: runnning single-thread app engines
++ * like php. If we restrict h2_workers to 1 per process, php will
++ * work fine, but browser will be limited to 1 active request at a
++ * time. */
++ mpm_supported = 0;
+ break;
+ }
+ else if (!strcmp("simple_api.c", m->name)) {
+ mpm_type = H2_MPM_SIMPLE;
+ mpm_module = m;
++ mpm_supported = 0;
+ break;
+ }
+ else if (!strcmp("mpm_winnt.c", m->name)) {
+@@ -107,7 +115,6 @@ apr_status_t h2_conn_child_init(apr_pool_t *pool, server_rec *s)
+ int idle_secs = 0;
+
+ check_modules(1);
+-
+ ap_mpm_query(AP_MPMQ_MAX_THREADS, &max_threads_per_child);
+
+ status = ap_mpm_query(AP_MPMQ_IS_ASYNC, &async_mpm);
+@@ -157,6 +164,18 @@ h2_mpm_type_t h2_conn_mpm_type(void)
+ return mpm_type;
+ }
+
++const char *h2_conn_mpm_name(void)
++{
++ check_modules(0);
++ return mpm_module? mpm_module->name : "unknown";
++}
++
++int h2_mpm_supported(void)
++{
++ check_modules(0);
++ return mpm_supported;
++}
++
+ static module *h2_conn_mpm_module(void)
+ {
+ check_modules(0);
+diff --git a/modules/http2/h2_conn.h b/modules/http2/h2_conn.h
+index 79948644ae8..7111a6cd69c 100644
+--- a/modules/http2/h2_conn.h
++++ b/modules/http2/h2_conn.h
+@@ -64,7 +64,8 @@ typedef enum {
+
+ /* Returns the type of MPM module detected */
+ h2_mpm_type_t h2_conn_mpm_type(void);
+-
++const char *h2_conn_mpm_name(void);
++int h2_mpm_supported(void);
+
+ conn_rec *h2_slave_create(conn_rec *master, int slave_id, apr_pool_t *parent);
+ void h2_slave_destroy(conn_rec *slave);
+diff --git a/modules/http2/h2_mplx.c b/modules/http2/h2_mplx.c
+index b73bd0d5bfd..214d84ed1f9 100644
+--- a/modules/http2/h2_mplx.c
++++ b/modules/http2/h2_mplx.c
+@@ -481,9 +481,6 @@ void h2_mplx_release_and_join(h2_mplx *m, apr_thread_cond_t *wait)
+
+ H2_MPLX_LEAVE(m);
+
+- /* 5. unregister again, now that our workers are done */
+- h2_workers_unregister(m->workers, m);
+-
+ ap_log_cerror(APLOG_MARK, APLOG_TRACE1, 0, m->c,
+ "h2_mplx(%ld): released", m->id);
+ }
+@@ -662,7 +659,7 @@ apr_status_t h2_mplx_reprioritize(h2_mplx *m, h2_stream_pri_cmp *cmp, void *ctx)
+
+ static void register_if_needed(h2_mplx *m)
+ {
+- if (!m->is_registered && !h2_iq_empty(m->q)) {
++ if (!m->aborted && !m->is_registered && !h2_iq_empty(m->q)) {
+ apr_status_t status = h2_workers_register(m->workers, m);
+ if (status == APR_SUCCESS) {
+ m->is_registered = 1;
+@@ -755,25 +752,27 @@ static h2_task *next_stream_task(h2_mplx *m)
+ return NULL;
+ }
+
+-h2_task *h2_mplx_pop_task(h2_mplx *m, int *has_more)
++apr_status_t h2_mplx_pop_task(h2_mplx *m, h2_task **ptask)
+ {
+- h2_task *task = NULL;
++ apr_status_t rv = APR_EOF;
+
+- H2_MPLX_ENTER_ALWAYS(m);
+-
+- *has_more = 0;
+- if (!m->aborted) {
+- task = next_stream_task(m);
+- if (task != NULL && !h2_iq_empty(m->q)) {
+- *has_more = 1;
+- }
+- else {
+- m->is_registered = 0; /* h2_workers will discard this mplx */
+- }
++ *ptask = NULL;
++ if (APR_SUCCESS != (rv = apr_thread_mutex_lock(m->lock))) {
++ return rv;
++ }
++
++ if (m->aborted) {
++ rv = APR_EOF;
++ }
++ else {
++ *ptask = next_stream_task(m);
++ rv = (*ptask != NULL && !h2_iq_empty(m->q))? APR_EAGAIN : APR_SUCCESS;
++ }
++ if (APR_EAGAIN != rv) {
++ m->is_registered = 0; /* h2_workers will discard this mplx */
+ }
+-
+ H2_MPLX_LEAVE(m);
+- return task;
++ return rv;
+ }
+
+ static void task_done(h2_mplx *m, h2_task *task, h2_req_engine *ngn)
+diff --git a/modules/http2/h2_mplx.h b/modules/http2/h2_mplx.h
+index 61b1b99aba7..d56c65289c2 100644
+--- a/modules/http2/h2_mplx.h
++++ b/modules/http2/h2_mplx.h
+@@ -124,7 +124,7 @@ h2_mplx *h2_mplx_create(conn_rec *c, apr_pool_t *master,
+ */
+ void h2_mplx_release_and_join(h2_mplx *m, struct apr_thread_cond_t *wait);
+
+-struct h2_task *h2_mplx_pop_task(h2_mplx *mplx, int *has_more);
++apr_status_t h2_mplx_pop_task(h2_mplx *m, struct h2_task **ptask);
+
+ void h2_mplx_task_done(h2_mplx *m, struct h2_task *task, struct h2_task **ptask);
+
+diff --git a/modules/http2/h2_session.c b/modules/http2/h2_session.c
+index bc24bb41cdb..da85d7053fd 100644
+--- a/modules/http2/h2_session.c
++++ b/modules/http2/h2_session.c
+@@ -326,6 +326,7 @@ static int on_frame_recv_cb(nghttp2_session *ng2s,
+ {
+ h2_session *session = (h2_session *)userp;
+ h2_stream *stream;
++ apr_status_t rv = APR_SUCCESS;
+
+ if (APLOGcdebug(session->c)) {
+ char buffer[256];
+@@ -346,7 +347,7 @@ static int on_frame_recv_cb(nghttp2_session *ng2s,
+ * trailers */
+ stream = h2_session_stream_get(session, frame->hd.stream_id);
+ if (stream) {
+- h2_stream_recv_frame(stream, NGHTTP2_HEADERS, frame->hd.flags);
++ rv = h2_stream_recv_frame(stream, NGHTTP2_HEADERS, frame->hd.flags);
+ }
+ break;
+ case NGHTTP2_DATA:
+@@ -356,7 +357,7 @@ static int on_frame_recv_cb(nghttp2_session *ng2s,
+ H2_STRM_LOG(APLOGNO(02923), stream,
+ "DATA, len=%ld, flags=%d"),
+ (long)frame->hd.length, frame->hd.flags);
+- h2_stream_recv_frame(stream, NGHTTP2_DATA, frame->hd.flags);
++ rv = h2_stream_recv_frame(stream, NGHTTP2_DATA, frame->hd.flags);
+ }
+ break;
+ case NGHTTP2_PRIORITY:
+@@ -411,7 +412,7 @@ static int on_frame_recv_cb(nghttp2_session *ng2s,
+ }
+ break;
+ }
+- return 0;
++ return (APR_SUCCESS == rv)? 0 : NGHTTP2_ERR_PROTO;
+ }
+
+ static int h2_session_continue_data(h2_session *session) {
+diff --git a/modules/http2/h2_stream.c b/modules/http2/h2_stream.c
+index 4cd2132207e..925f3d6d81d 100644
+--- a/modules/http2/h2_stream.c
++++ b/modules/http2/h2_stream.c
+@@ -444,7 +444,13 @@ apr_status_t h2_stream_recv_frame(h2_stream *stream, int ftype, int flags)
+ else {
+ /* request HEADER */
+ ap_assert(stream->request == NULL);
+- ap_assert(stream->rtmp != NULL);
++ if (stream->rtmp == NULL) {
++ /* This can only happen, if the stream has received no header
++ * name/value pairs at all. The lastest nghttp2 version have become
++ * pretty good at detecting this early. In any case, we have
++ * to abort the connection here, since this is clearly a protocol error */
++ return APR_EINVAL;
++ }
+ status = h2_request_end_headers(stream->rtmp, stream->pool, eos);
+ if (status != APR_SUCCESS) {
+ return status;
+@@ -739,9 +745,13 @@ apr_status_t h2_stream_add_header(h2_stream *stream,
+ status = h2_request_add_header(stream->rtmp, stream->pool,
+ name, nlen, value, vlen);
+ }
+- else {
++ else if (H2_SS_OPEN == stream->state) {
+ status = add_trailer(stream, name, nlen, value, vlen);
+ }
++ else {
++ status = APR_EINVAL;
++ }
++
+ if (status != APR_SUCCESS) {
+ ap_log_cerror(APLOG_MARK, APLOG_TRACE1, 0, session->c,
+ H2_STRM_MSG(stream, "header %s not accepted"), name);
+diff --git a/modules/http2/h2_switch.c b/modules/http2/h2_switch.c
+index 8a8d56e59ef..5b1247ec700 100644
+--- a/modules/http2/h2_switch.c
++++ b/modules/http2/h2_switch.c
+@@ -55,6 +55,10 @@ static int h2_protocol_propose(conn_rec *c, request_rec *r,
+ const char **protos = is_tls? h2_tls_protos : h2_clear_protos;
+
+ (void)s;
++ if (!h2_mpm_supported()) {
++ return DECLINED;
++ }
++
+ if (strcmp(AP_PROTOCOL_HTTP1, ap_get_protocol(c))) {
+ /* We do not know how to switch from anything else but http/1.1.
+ */
+@@ -127,6 +131,10 @@ static int h2_protocol_switch(conn_rec *c, request_rec *r, server_rec *s,
+ const char **p = protos;
+
+ (void)s;
++ if (!h2_mpm_supported()) {
++ return DECLINED;
++ }
++
+ while (*p) {
+ if (!strcmp(*p, protocol)) {
+ found = 1;
+diff --git a/modules/http2/h2_util.c b/modules/http2/h2_util.c
+index 01b506ac854..04a9311424e 100644
+--- a/modules/http2/h2_util.c
++++ b/modules/http2/h2_util.c
+@@ -695,16 +695,47 @@ int h2_fifo_count(h2_fifo *fifo)
+
+ static apr_status_t check_not_empty(h2_fifo *fifo, int block)
+ {
+- if (fifo->count == 0) {
++ while (fifo->count == 0) {
+ if (!block) {
+ return APR_EAGAIN;
+ }
+- while (fifo->count == 0) {
+- if (fifo->aborted) {
+- return APR_EOF;
++ if (fifo->aborted) {
++ return APR_EOF;
++ }
++ apr_thread_cond_wait(fifo->not_empty, fifo->lock);
++ }
++ return APR_SUCCESS;
++}
++
++static apr_status_t fifo_push_int(h2_fifo *fifo, void *elem, int block)
++{
++ if (fifo->aborted) {
++ return APR_EOF;
++ }
++
++ if (fifo->set && index_of(fifo, elem) >= 0) {
++ /* set mode, elem already member */
++ return APR_EEXIST;
++ }
++ else if (fifo->count == fifo->nelems) {
++ if (block) {
++ while (fifo->count == fifo->nelems) {
++ if (fifo->aborted) {
++ return APR_EOF;
++ }
++ apr_thread_cond_wait(fifo->not_full, fifo->lock);
+ }
+- apr_thread_cond_wait(fifo->not_empty, fifo->lock);
+ }
++ else {
++ return APR_EAGAIN;
++ }
++ }
++
++ ap_assert(fifo->count < fifo->nelems);
++ fifo->elems[nth_index(fifo, fifo->count)] = elem;
++ ++fifo->count;
++ if (fifo->count == 1) {
++ apr_thread_cond_broadcast(fifo->not_empty);
+ }
+ return APR_SUCCESS;
+ }
+@@ -718,33 +749,7 @@ static apr_status_t fifo_push(h2_fifo *fifo, void *elem, int block)
+ }
+
+ if ((rv = apr_thread_mutex_lock(fifo->lock)) == APR_SUCCESS) {
+- if (fifo->set && index_of(fifo, elem) >= 0) {
+- /* set mode, elem already member */
+- apr_thread_mutex_unlock(fifo->lock);
+- return APR_EEXIST;
+- }
+- else if (fifo->count == fifo->nelems) {
+- if (block) {
+- while (fifo->count == fifo->nelems) {
+- if (fifo->aborted) {
+- apr_thread_mutex_unlock(fifo->lock);
+- return APR_EOF;
+- }
+- apr_thread_cond_wait(fifo->not_full, fifo->lock);
+- }
+- }
+- else {
+- apr_thread_mutex_unlock(fifo->lock);
+- return APR_EAGAIN;
+- }
+- }
+-
+- ap_assert(fifo->count < fifo->nelems);
+- fifo->elems[nth_index(fifo, fifo->count)] = elem;
+- ++fifo->count;
+- if (fifo->count == 1) {
+- apr_thread_cond_broadcast(fifo->not_empty);
+- }
++ rv = fifo_push_int(fifo, elem, block);
+ apr_thread_mutex_unlock(fifo->lock);
+ }
+ return rv;
+@@ -760,12 +765,15 @@ apr_status_t h2_fifo_try_push(h2_fifo *fifo, void *elem)
+ return fifo_push(fifo, elem, 0);
+ }
+
+-static void *pull_head(h2_fifo *fifo)
++static apr_status_t pull_head(h2_fifo *fifo, void **pelem, int block)
+ {
+- void *elem;
++ apr_status_t rv;
+
+- ap_assert(fifo->count > 0);
+- elem = fifo->elems[fifo->head];
++ if ((rv = check_not_empty(fifo, block)) != APR_SUCCESS) {
++ *pelem = NULL;
++ return rv;
++ }
++ *pelem = fifo->elems[fifo->head];
+ --fifo->count;
+ if (fifo->count > 0) {
+ fifo->head = nth_index(fifo, 1);
+@@ -773,7 +781,7 @@ static void *pull_head(h2_fifo *fifo)
+ apr_thread_cond_broadcast(fifo->not_full);
+ }
+ }
+- return elem;
++ return APR_SUCCESS;
+ }
+
+ static apr_status_t fifo_pull(h2_fifo *fifo, void **pelem, int block)
+@@ -785,15 +793,7 @@ static apr_status_t fifo_pull(h2_fifo *fifo, void **pelem, int block)
+ }
+
+ if ((rv = apr_thread_mutex_lock(fifo->lock)) == APR_SUCCESS) {
+- if ((rv = check_not_empty(fifo, block)) != APR_SUCCESS) {
+- apr_thread_mutex_unlock(fifo->lock);
+- *pelem = NULL;
+- return rv;
+- }
+-
+- ap_assert(fifo->count > 0);
+- *pelem = pull_head(fifo);
+-
++ rv = pull_head(fifo, pelem, block);
+ apr_thread_mutex_unlock(fifo->lock);
+ }
+ return rv;
+@@ -818,25 +818,17 @@ static apr_status_t fifo_peek(h2_fifo *fifo, h2_fifo_peek_fn *fn, void *ctx, int
+ return APR_EOF;
+ }
+
+- if ((rv = apr_thread_mutex_lock(fifo->lock)) == APR_SUCCESS) {
+- if ((rv = check_not_empty(fifo, block)) != APR_SUCCESS) {
+- apr_thread_mutex_unlock(fifo->lock);
+- return rv;
++ if (APR_SUCCESS == (rv = apr_thread_mutex_lock(fifo->lock))) {
++ if (APR_SUCCESS == (rv = pull_head(fifo, &elem, block))) {
++ switch (fn(elem, ctx)) {
++ case H2_FIFO_OP_PULL:
++ break;
++ case H2_FIFO_OP_REPUSH:
++ rv = fifo_push_int(fifo, elem, block);
++ break;
++ }
+ }
+-
+- ap_assert(fifo->count > 0);
+- elem = pull_head(fifo);
+-
+ apr_thread_mutex_unlock(fifo->lock);
+-
+- switch (fn(elem, ctx)) {
+- case H2_FIFO_OP_PULL:
+- break;
+- case H2_FIFO_OP_REPUSH:
+- return h2_fifo_push(fifo, elem);
+- break;
+- }
+-
+ }
+ return rv;
+ }
+diff --git a/modules/http2/h2_workers.c b/modules/http2/h2_workers.c
+index 0bbb65223f7..5abddd4a1d5 100644
+--- a/modules/http2/h2_workers.c
++++ b/modules/http2/h2_workers.c
+@@ -150,15 +150,16 @@ static void cleanup_zombies(h2_workers *workers)
+
+ static apr_status_t slot_pull_task(h2_slot *slot, h2_mplx *m)
+ {
+- int has_more;
+- slot->task = h2_mplx_pop_task(m, &has_more);
++ apr_status_t rv;
++
++ rv = h2_mplx_pop_task(m, &slot->task);
+ if (slot->task) {
+ /* Ok, we got something to give back to the worker for execution.
+ * If we still have idle workers, we let the worker be sticky,
+ * e.g. making it poll the task's h2_mplx instance for more work
+ * before asking back here. */
+ slot->sticks = slot->workers->max_workers;
+- return has_more? APR_EAGAIN : APR_SUCCESS;
++ return rv;
+ }
+ slot->sticks = 0;
+ return APR_EOF;
+diff --git a/modules/http2/mod_http2.c b/modules/http2/mod_http2.c
+index ea399c91a28..420e74c3363 100644
+--- a/modules/http2/mod_http2.c
++++ b/modules/http2/mod_http2.c
+@@ -65,6 +65,7 @@ typedef struct {
+ } features;
+
+ static features myfeats;
++static int mpm_warned;
+
+ /* The module initialization. Called once as apache hook, before any multi
+ * processing (threaded or not) happens. It is typically at least called twice,
+@@ -141,6 +142,17 @@ static int h2_post_config(apr_pool_t *p, apr_pool_t *plog,
+ break;
+ }
+
++ if (!h2_mpm_supported() && !mpm_warned) {
++ mpm_warned = 1;
++ ap_log_error(APLOG_MARK, APLOG_WARNING, 0, s, APLOGNO(10034)
++ "The mpm module (%s) is not supported by mod_http2. The mpm determines "
++ "how things are processed in your server. HTTP/2 has more demands in "
++ "this regard and the currently selected mpm will just not do. "
++ "This is an advisory warning. Your server will continue to work, but "
++ "the HTTP/2 protocol will be inactive.",
++ h2_conn_mpm_name());
++ }
++
+ status = h2_h2_init(p, s);
+ if (status == APR_SUCCESS) {
+ status = h2_switch_init(p, s);
diff --git a/abs/core/apache/openssl-malloc-init.patch b/abs/core/apache/openssl-malloc-init.patch
new file mode 100644
index 0000000..bfe108f
--- /dev/null
+++ b/abs/core/apache/openssl-malloc-init.patch
@@ -0,0 +1,20 @@
+--- httpd-2.4.25/support/ab.c.orig 2017-05-21 21:59:17.131193359 +0000
++++ httpd-2.4.25/support/ab.c 2017-05-21 22:01:34.704322361 +0000
+@@ -2496,6 +2496,8 @@
+ heartbeatres = 0;
+
+ #ifdef USE_SSL
++ SSL_load_error_strings();
++ SSL_library_init();
+ #ifdef RSAREF
+ R_malloc_init();
+ #else
+@@ -2505,8 +2507,6 @@
+ OPENSSL_malloc_init();
+ #endif
+ #endif
+- SSL_load_error_strings();
+- SSL_library_init();
+ bio_out=BIO_new_fp(stdout,BIO_NOCLOSE);
+ bio_err=BIO_new_fp(stderr,BIO_NOCLOSE);
+
diff --git a/abs/core/apache/script_name.patch b/abs/core/apache/script_name.patch
new file mode 100644
index 0000000..427659b
--- /dev/null
+++ b/abs/core/apache/script_name.patch
@@ -0,0 +1,84 @@
+From 7806711b85b46c3caad150c8fde97f29f32ae6f8 Mon Sep 17 00:00:00 2001
+From: Jim Jagielski <jim@apache.org>
+Date: Mon, 3 Jul 2017 10:22:07 +0000
+Subject: [PATCH] Merge r1800306, r1800393 from trunk:
+
+proxy_fcgi: remove FPM-specific logic
+
+Reverts r1780328, r1780329, and their associated followups, which
+incorrectly manipulated SCRIPT_NAME by default. All proxy_fcgi.t
+regression tests now pass.
+
+PR: 61202
+
+Partial reversal of r1800306... note virtual scripts in notes
+
+Submitted by: jchampion, jim
+Reviewed by: jchampion, jim, covener
+
+
+git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1800618 13f79535-47bb-0310-9956-ffa450edef68
+---
+ modules/proxy/mod_proxy_fcgi.c | 32 --------------------------------
+ 3 files changed, 4 insertions(+), 39 deletions(-)
+
+diff --git a/modules/proxy/mod_proxy_fcgi.c b/modules/proxy/mod_proxy_fcgi.c
+index a268556e302..41292e87267 100644
+--- a/modules/proxy/mod_proxy_fcgi.c
++++ b/modules/proxy/mod_proxy_fcgi.c
+@@ -321,7 +321,6 @@ static apr_status_t send_environment(proxy_conn_rec *conn, request_rec *r,
+ apr_status_t rv;
+ apr_size_t avail_len, len, required_len;
+ int next_elem, starting_elem;
+- int fpm = 0;
+ fcgi_req_config_t *rconf = ap_get_module_config(r->request_config, &proxy_fcgi_module);
+ fcgi_dirconf_t *dconf = ap_get_module_config(r->per_dir_config, &proxy_fcgi_module);
+
+@@ -354,8 +353,6 @@ static apr_status_t send_environment(proxy_conn_rec *conn, request_rec *r,
+ *qs = '\0';
+ }
+ }
+- } else {
+- fpm = 1;
+ }
+
+ if (newfname) {
+@@ -364,38 +361,9 @@ static apr_status_t send_environment(proxy_conn_rec *conn, request_rec *r,
+ }
+ }
+
+-#if 0
+- ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(09999)
+- "r->filename: %s", (r->filename ? r->filename : "nil"));
+- ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(09999)
+- "r->uri: %s", (r->uri ? r->uri : "nil"));
+- ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(09999)
+- "r->path_info: %s", (r->path_info ? r->path_info : "nil"));
+-#endif
+-
+ ap_add_common_vars(r);
+ ap_add_cgi_vars(r);
+
+- if (fpm || apr_table_get(r->notes, "virtual_script")) {
+- /*
+- * Adjust SCRIPT_NAME, PATH_INFO and PATH_TRANSLATED for PHP-FPM
+- * TODO: Right now, PATH_INFO and PATH_TRANSLATED look OK...
+- */
+- const char *pend;
+- const char *script_name = apr_table_get(r->subprocess_env, "SCRIPT_NAME");
+- pend = script_name + strlen(script_name);
+- if (r->path_info && *r->path_info) {
+- pend = script_name + ap_find_path_info(script_name, r->path_info) - 1;
+- }
+- while (pend != script_name && *pend != '/') {
+- pend--;
+- }
+- apr_table_setn(r->subprocess_env, "SCRIPT_NAME", pend);
+- ap_log_rerror(APLOG_MARK, APLOG_TRACE4, 0, r,
+- "fpm:virtual_script: Modified SCRIPT_NAME to: %s",
+- pend);
+- }
+-
+ /* XXX are there any FastCGI specific env vars we need to send? */
+
+ /* Give admins final option to fine-tune env vars */
diff --git a/abs/core/apr-util/PKGBUILD b/abs/core/apr-util/PKGBUILD
index 4a8b380..4ce2874 100644
--- a/abs/core/apr-util/PKGBUILD
+++ b/abs/core/apr-util/PKGBUILD
@@ -1,24 +1,51 @@
-# $Id: PKGBUILD 149396 2012-02-07 13:30:38Z jgc $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Maintainer: Pierre Schmitz <pierre@archlinux.de>
pkgname=apr-util
-pkgver=1.4.1
-pkgrel=1
+pkgver=1.6.1
+pkgrel=2
pkgdesc="The Apache Portable Runtime"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://apr.apache.org/"
-depends=('apr' 'gdbm' 'expat' 'db' 'libldap' 'unixodbc')
-options=('!libtool')
+depends=('apr' 'expat')
+makedepends=('gdbm' 'libldap' 'unixodbc' 'openssl' 'nss' 'sqlite' 'libmariadbclient' 'db' 'postgresql-libs' 'python2')
+optdepends=(
+ 'gdbm: enable gdbm support'
+ 'libldap: enable ldap support'
+ 'unixodbc: enable odbc support'
+ 'libmariadbclient: enable mysql/mariadb support'
+ 'postgresql-libs: enable postgres support'
+ 'db: enable berkley db support'
+ 'sqlite: enable sqlite support'
+ 'nss: enable nss crypto support'
+ 'openssl: enable openssl crypto support'
+)
license=('APACHE')
-source=("http://www.apache.org/dist/apr/apr-util-${pkgver}.tar.bz2")
-md5sums=('52b31b33fb1aa16e65ddaefc76e41151')
+source=(https://www.apache.org/dist/apr/apr-util-${pkgver}.tar.bz2{,.asc}
+ disable_failing_test.patch # TODO: figure out why dbm test fails
+ buildconf_config.guess_sub_location.patch)
+sha512sums=('40eff8a37c0634f7fdddd6ca5e596b38de15fd10767a34c30bbe49c632816e8f3e1e230678034f578dd5816a94f246fb5dfdf48d644829af13bf28de3225205d'
+ 'SKIP'
+ 'f3de06f845972e5fc85c0d01847bcd0cfbbdd5015798970c73e5ef1b2699c54118f00ba5b939d84bbdf748bd1a5088c1393289b1e62c005fa77878436c165802'
+ 'd19024b8a19e46e85dd03e2c06afae13b527e56c0e2864e5b92652c8ed558f155647f50b9cfaddb6e919b5a60922970b1d9f6c7fc62cd5872b3d22e787f99c65')
+validpgpkeys=('5B5181C2C0AB13E59DA3F7A3EC582EB639FF092C' # Jeff Trawick
+ 'B1B96F45DFBDCCF974019235193F180AB55D9977' # William A. Rowe, Jr. <wrowe@rowe-clan.net>
+ '3CE3BAC2EB7BBC624D1D22D8F3B9D88CB87F79A9') # Nick Kew <niq@apache.org>
+
+prepare() {
+ cd apr-util-$pkgver
+ patch -Np1 -i ../buildconf_config.guess_sub_location.patch
+ patch -Np1 -i ../disable_failing_test.patch
+ ./buildconf --with-apr=`apr-1-config --srcdir`
+}
build() {
cd "${srcdir}/apr-util-${pkgver}"
- ./configure --prefix=/usr --with-apr=/usr \
- --without-pgsql --without-mysql --without-sqlite2 --without-sqlite3 \
- --with-berkeley-db=/usr --with-gdbm=/usr --with-ldap
+ ./configure --prefix=/usr --with-apr=/usr --with-ldap --with-crypto \
+ --with-gdbm=/usr --with-sqlite3=/usr --with-nss=/usr --with-odbc=/usr \
+ --with-berkeley-db=/usr --with-pgsql=/usr --with-mysql=/usr --with-oracle=/usr \
+ --with-openssl=/usr
make
}
diff --git a/abs/core/apr-util/buildconf_config.guess_sub_location.patch b/abs/core/apr-util/buildconf_config.guess_sub_location.patch
new file mode 100644
index 0000000..c89bef9
--- /dev/null
+++ b/abs/core/apr-util/buildconf_config.guess_sub_location.patch
@@ -0,0 +1,22 @@
+From: Tollef Fog Heen <tfheen@debian.org>
+Subject: Adjust path of config.guess and config.sub
+
+---
+ buildconf | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+Index: trunk/buildconf
+===================================================================
+--- trunk.orig/buildconf
++++ trunk/buildconf
+@@ -61,8 +61,8 @@
+ rm -f build/apr_common.m4 build/find_apr.m4 build/install.sh \
+ build/config.guess build/config.sub build/get-version.sh
+ cp -p $apr_src_dir/build/apr_common.m4 $apr_src_dir/build/find_apr.m4 \
+- $apr_src_dir/build/install.sh $apr_src_dir/build/config.guess \
+- $apr_src_dir/build/config.sub $apr_src_dir/build/get-version.sh \
++ $apr_src_dir/build/install.sh /usr/share/libtool/build-aux/config.guess \
++ /usr/share/libtool/build-aux/config.sub $apr_src_dir/build/get-version.sh \
+ build/
+
+ # Remove aclocal.m4 as it'll break some builds...
diff --git a/abs/core/apr-util/disable_failing_test.patch b/abs/core/apr-util/disable_failing_test.patch
new file mode 100644
index 0000000..536173a
--- /dev/null
+++ b/abs/core/apr-util/disable_failing_test.patch
@@ -0,0 +1,13 @@
+diff --git a/test/testdbm.c b/test/testdbm.c
+index 89d8d2f..7de9307 100644
+--- a/test/testdbm.c
++++ b/test/testdbm.c
+@@ -205,7 +205,7 @@ abts_suite *testdbm(abts_suite *suite)
+ suite = ADD_SUITE(suite);
+
+ #if APU_HAVE_GDBM
+- abts_run_test(suite, test_dbm, "gdbm");
++// abts_run_test(suite, test_dbm, "gdbm");
+ #endif
+ #if APU_HAVE_NDBM
+ abts_run_test(suite, test_dbm, "ndbm");
diff --git a/abs/core/apr-util/openssl-1.1.patch b/abs/core/apr-util/openssl-1.1.patch
new file mode 100644
index 0000000..090eb02
--- /dev/null
+++ b/abs/core/apr-util/openssl-1.1.patch
@@ -0,0 +1,250 @@
+# commit f163d8b5af9185de80d24b4dd13951dd64872aa6
+# Author: Rainer Jung <rjung@apache.org>
+# Date: Sun Feb 7 14:40:46 2016 +0000
+#
+# Add support for OpenSSL 1.1.0:
+# - Switch configure test for OpenSSL libcrypto
+# from BN_init() to BN_new().
+# - BN_init() is gone in OpenSSL 1.1.0.
+# BN_new() exists at least since 0.9.8.
+# - use OPENSSL_malloc_init() instead of
+# CRYPTO_malloc_init
+# - make cipherCtx a pointer. Type EVP_CIPHER_CTX
+# is now opaque.
+# - use EVP_CIPHER_CTX_new() in init() functions
+# if initialised flag is not set (and set flag)
+# - use EVP_CIPHER_CTX_free() in cleanup function
+# - Improve reuse cleanup
+# - call EVP_CIPHER_CTX_reset() resp.
+# EVP_CIPHER_CTX_cleanup() in finish functions
+# - call EVP_CIPHER_CTX_reset() resp.
+# EVP_CIPHER_CTX_cleanup() when Update fails
+# Backport of r1728958 and r1728963 from trunk.
+#
+#
+# git-svn-id: https://svn.apache.org/repos/asf/apr/apr-util/branches/1.5.x@1728969 13f79535-47bb-0310-9956-ffa450edef68
+#
+diff --git a/build/crypto.m4 b/build/crypto.m4
+index 9f9be6f..57884e3 100644
+--- a/build/crypto.m4
++++ b/build/crypto.m4
+@@ -88,7 +88,7 @@ AC_DEFUN([APU_CHECK_CRYPTO_OPENSSL], [
+ [
+ if test "$withval" = "yes"; then
+ AC_CHECK_HEADERS(openssl/x509.h, [openssl_have_headers=1])
+- AC_CHECK_LIB(crypto, BN_init, AC_CHECK_LIB(ssl, SSL_accept, [openssl_have_libs=1],,-lcrypto))
++ AC_CHECK_LIB(crypto, BN_new, AC_CHECK_LIB(ssl, SSL_accept, [openssl_have_libs=1],,-lcrypto))
+ if test "$openssl_have_headers" != "0" && test "$openssl_have_libs" != "0"; then
+ apu_have_openssl=1
+ fi
+@@ -104,7 +104,7 @@ AC_DEFUN([APU_CHECK_CRYPTO_OPENSSL], [
+
+ AC_MSG_NOTICE(checking for openssl in $withval)
+ AC_CHECK_HEADERS(openssl/x509.h, [openssl_have_headers=1])
+- AC_CHECK_LIB(crypto, BN_init, AC_CHECK_LIB(ssl, SSL_accept, [openssl_have_libs=1],,-lcrypto))
++ AC_CHECK_LIB(crypto, BN_new, AC_CHECK_LIB(ssl, SSL_accept, [openssl_have_libs=1],,-lcrypto))
+ if test "$openssl_have_headers" != "0" && test "$openssl_have_libs" != "0"; then
+ apu_have_openssl=1
+ APR_ADDTO(APRUTIL_LDFLAGS, [-L$withval/lib])
+@@ -113,7 +113,7 @@ AC_DEFUN([APU_CHECK_CRYPTO_OPENSSL], [
+
+ if test "$apu_have_openssl" != "1"; then
+ AC_CHECK_HEADERS(openssl/x509.h, [openssl_have_headers=1])
+- AC_CHECK_LIB(crypto, BN_init, AC_CHECK_LIB(ssl, SSL_accept, [openssl_have_libs=1],,-lcrypto))
++ AC_CHECK_LIB(crypto, BN_new, AC_CHECK_LIB(ssl, SSL_accept, [openssl_have_libs=1],,-lcrypto))
+ if test "$openssl_have_headers" != "0" && test "$openssl_have_libs" != "0"; then
+ apu_have_openssl=1
+ APR_ADDTO(APRUTIL_LDFLAGS, [-L$withval/lib])
+diff --git a/crypto/apr_crypto_openssl.c b/crypto/apr_crypto_openssl.c
+index 0740f93..7d61fca 100644
+--- a/crypto/apr_crypto_openssl.c
++++ b/crypto/apr_crypto_openssl.c
+@@ -64,7 +64,7 @@ struct apr_crypto_block_t {
+ apr_pool_t *pool;
+ const apr_crypto_driver_t *provider;
+ const apr_crypto_t *f;
+- EVP_CIPHER_CTX cipherCtx;
++ EVP_CIPHER_CTX *cipherCtx;
+ int initialised;
+ int ivSize;
+ int blockSize;
+@@ -111,7 +111,11 @@ static apr_status_t crypto_shutdown_helper(void *data)
+ static apr_status_t crypto_init(apr_pool_t *pool, const char *params,
+ const apu_err_t **result)
+ {
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ CRYPTO_malloc_init();
++#else
++ OPENSSL_malloc_init();
++#endif
+ ERR_load_crypto_strings();
+ /* SSL_load_error_strings(); */
+ OpenSSL_add_all_algorithms();
+@@ -134,7 +138,7 @@ static apr_status_t crypto_block_cleanup(apr_crypto_block_t *ctx)
+ {
+
+ if (ctx->initialised) {
+- EVP_CIPHER_CTX_cleanup(&ctx->cipherCtx);
++ EVP_CIPHER_CTX_free(ctx->cipherCtx);
+ ctx->initialised = 0;
+ }
+
+@@ -491,8 +495,10 @@ static apr_status_t crypto_block_encrypt_init(apr_crypto_block_t **ctx,
+ apr_pool_cleanup_null);
+
+ /* create a new context for encryption */
+- EVP_CIPHER_CTX_init(&block->cipherCtx);
+- block->initialised = 1;
++ if (!block->initialised) {
++ block->cipherCtx = EVP_CIPHER_CTX_new();
++ block->initialised = 1;
++ }
+
+ /* generate an IV, if necessary */
+ usedIv = NULL;
+@@ -519,16 +525,16 @@ static apr_status_t crypto_block_encrypt_init(apr_crypto_block_t **ctx,
+
+ /* set up our encryption context */
+ #if CRYPTO_OPENSSL_CONST_BUFFERS
+- if (!EVP_EncryptInit_ex(&block->cipherCtx, key->cipher, config->engine,
++ if (!EVP_EncryptInit_ex(block->cipherCtx, key->cipher, config->engine,
+ key->key, usedIv)) {
+ #else
+- if (!EVP_EncryptInit_ex(&block->cipherCtx, key->cipher, config->engine, (unsigned char *) key->key, (unsigned char *) usedIv)) {
++ if (!EVP_EncryptInit_ex(block->cipherCtx, key->cipher, config->engine, (unsigned char *) key->key, (unsigned char *) usedIv)) {
+ #endif
+ return APR_EINIT;
+ }
+
+ /* Clear up any read padding */
+- if (!EVP_CIPHER_CTX_set_padding(&block->cipherCtx, key->doPad)) {
++ if (!EVP_CIPHER_CTX_set_padding(block->cipherCtx, key->doPad)) {
+ return APR_EPADDING;
+ }
+
+@@ -582,11 +588,16 @@ static apr_status_t crypto_block_encrypt(unsigned char **out,
+ }
+
+ #if CRYPT_OPENSSL_CONST_BUFFERS
+- if (!EVP_EncryptUpdate(&ctx->cipherCtx, (*out), &outl, in, inlen)) {
++ if (!EVP_EncryptUpdate(ctx->cipherCtx, (*out), &outl, in, inlen)) {
+ #else
+- if (!EVP_EncryptUpdate(&ctx->cipherCtx, (*out), &outl,
++ if (!EVP_EncryptUpdate(ctx->cipherCtx, (*out), &outl,
+ (unsigned char *) in, inlen)) {
+ #endif
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++ EVP_CIPHER_CTX_cleanup(ctx->cipherCtx);
++#else
++ EVP_CIPHER_CTX_reset(ctx->cipherCtx);
++#endif
+ return APR_ECRYPT;
+ }
+ *outlen = outl;
+@@ -616,14 +627,22 @@ static apr_status_t crypto_block_encrypt(unsigned char **out,
+ static apr_status_t crypto_block_encrypt_finish(unsigned char *out,
+ apr_size_t *outlen, apr_crypto_block_t *ctx)
+ {
++ apr_status_t rc = APR_SUCCESS;
+ int len = *outlen;
+
+- if (EVP_EncryptFinal_ex(&ctx->cipherCtx, out, &len) == 0) {
+- return APR_EPADDING;
++ if (EVP_EncryptFinal_ex(ctx->cipherCtx, out, &len) == 0) {
++ rc = APR_EPADDING;
++ }
++ else {
++ *outlen = len;
+ }
+- *outlen = len;
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++ EVP_CIPHER_CTX_cleanup(ctx->cipherCtx);
++#else
++ EVP_CIPHER_CTX_reset(ctx->cipherCtx);
++#endif
+
+- return APR_SUCCESS;
++ return rc;
+
+ }
+
+@@ -662,8 +681,10 @@ static apr_status_t crypto_block_decrypt_init(apr_crypto_block_t **ctx,
+ apr_pool_cleanup_null);
+
+ /* create a new context for encryption */
+- EVP_CIPHER_CTX_init(&block->cipherCtx);
+- block->initialised = 1;
++ if (!block->initialised) {
++ block->cipherCtx = EVP_CIPHER_CTX_new();
++ block->initialised = 1;
++ }
+
+ /* generate an IV, if necessary */
+ if (key->ivSize) {
+@@ -674,16 +695,16 @@ static apr_status_t crypto_block_decrypt_init(apr_crypto_block_t **ctx,
+
+ /* set up our encryption context */
+ #if CRYPTO_OPENSSL_CONST_BUFFERS
+- if (!EVP_DecryptInit_ex(&block->cipherCtx, key->cipher, config->engine,
++ if (!EVP_DecryptInit_ex(block->cipherCtx, key->cipher, config->engine,
+ key->key, iv)) {
+ #else
+- if (!EVP_DecryptInit_ex(&block->cipherCtx, key->cipher, config->engine, (unsigned char *) key->key, (unsigned char *) iv)) {
++ if (!EVP_DecryptInit_ex(block->cipherCtx, key->cipher, config->engine, (unsigned char *) key->key, (unsigned char *) iv)) {
+ #endif
+ return APR_EINIT;
+ }
+
+ /* Clear up any read padding */
+- if (!EVP_CIPHER_CTX_set_padding(&block->cipherCtx, key->doPad)) {
++ if (!EVP_CIPHER_CTX_set_padding(block->cipherCtx, key->doPad)) {
+ return APR_EPADDING;
+ }
+
+@@ -737,11 +758,16 @@ static apr_status_t crypto_block_decrypt(unsigned char **out,
+ }
+
+ #if CRYPT_OPENSSL_CONST_BUFFERS
+- if (!EVP_DecryptUpdate(&ctx->cipherCtx, *out, &outl, in, inlen)) {
++ if (!EVP_DecryptUpdate(ctx->cipherCtx, *out, &outl, in, inlen)) {
+ #else
+- if (!EVP_DecryptUpdate(&ctx->cipherCtx, *out, &outl, (unsigned char *) in,
++ if (!EVP_DecryptUpdate(ctx->cipherCtx, *out, &outl, (unsigned char *) in,
+ inlen)) {
+ #endif
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++ EVP_CIPHER_CTX_cleanup(ctx->cipherCtx);
++#else
++ EVP_CIPHER_CTX_reset(ctx->cipherCtx);
++#endif
+ return APR_ECRYPT;
+ }
+ *outlen = outl;
+@@ -771,15 +797,22 @@ static apr_status_t crypto_block_decrypt(unsigned char **out,
+ static apr_status_t crypto_block_decrypt_finish(unsigned char *out,
+ apr_size_t *outlen, apr_crypto_block_t *ctx)
+ {
+-
++ apr_status_t rc = APR_SUCCESS;
+ int len = *outlen;
+
+- if (EVP_DecryptFinal_ex(&ctx->cipherCtx, out, &len) == 0) {
+- return APR_EPADDING;
++ if (EVP_DecryptFinal_ex(ctx->cipherCtx, out, &len) == 0) {
++ rc = APR_EPADDING;
+ }
+- *outlen = len;
++ else {
++ *outlen = len;
++ }
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++ EVP_CIPHER_CTX_cleanup(ctx->cipherCtx);
++#else
++ EVP_CIPHER_CTX_reset(ctx->cipherCtx);
++#endif
+
+- return APR_SUCCESS;
++ return rc;
+
+ }
+
diff --git a/abs/core/apr/PKGBUILD b/abs/core/apr/PKGBUILD
index a1e496a..6a88a5a 100644
--- a/abs/core/apr/PKGBUILD
+++ b/abs/core/apr/PKGBUILD
@@ -1,35 +1,61 @@
-# $Id: PKGBUILD 158966 2012-05-13 20:20:53Z jgc $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=apr
-pkgver=1.4.6
+pkgver=1.6.3
pkgrel=1
-pkgdesc="The Apache Portable Runtime"
-arch=('i686' 'x86_64')
-url="http://apr.apache.org/"
+pkgdesc='The Apache Portable Runtime'
+arch=('x86_64')
+url='http://apr.apache.org/'
depends=('util-linux')
-options=('!libtool')
+makedepends=('python2')
license=('APACHE')
-source=(http://www.apache.org/dist/apr/apr-${pkgver}.tar.bz2)
-md5sums=('ffee70a111fd07372982b0550bbb14b7')
+source=(https://www.apache.org/dist/apr/apr-$pkgver.tar.bz2{,.asc}
+ fix_apr-config.patch
+ ship_find_apr.m4.patch
+ fix-apr.pc.patch
+ omit_extra_libs.patch
+ dont_override_external_buildflags)
+sha256sums=('131f06d16d7aabd097fa992a33eec2b6af3962f93e6d570a9bd4d85e95993172'
+ 'SKIP'
+ '91490ffee726f851edad9fc733ac6632aaf434a87920e706eeb132a97ee5f402'
+ '315932ef6536fc0644c1efe770ceb3bb675c3c7103a7cbb2f02efd8be03eb752'
+ '12595d331b48be9e44bd843635eb4f0f500bd213e197a551a9d383a28a24641f'
+ '3d491d3af8fb5a75db4e085a17e5d8dcbe058bd256ef893ee779dc97fc9f8ad6'
+ '5ac0bdc532479f6082d29115ac9d3ca24524fd8b97a556568755b88e5a68e3df')
+validpgpkeys=('5B5181C2C0AB13E59DA3F7A3EC582EB639FF092C' # Jeff Trawick
+ 'B1B96F45DFBDCCF974019235193F180AB55D9977') # Nick Kew <niq@apache.org>
+
+prepare() {
+ cd apr-$pkgver
+ patch -Np1 -i ../fix_apr-config.patch
+ patch -Np1 -i ../ship_find_apr.m4.patch
+ patch -Np1 -i ../fix-apr.pc.patch
+ patch -Np1 -i ../omit_extra_libs.patch
+ patch -Np1 -i ../dont_override_external_buildflags
+ sed -e 's/env python/env python2/' -i build/gen-build.py
+ sed -e 's/python/python2/g' -i build/buildcheck.sh
+ ./buildconf
+}
build() {
- cd "${srcdir}/apr-${pkgver}"
+ cd apr-$pkgver
./configure --prefix=/usr --includedir=/usr/include/apr-1 \
--with-installbuilddir=/usr/share/apr-1/build \
--enable-nonportable-atomics \
- --with-devrandom=/dev/urandom
+ --with-devrandom=/dev/urandom --disable-static
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
}
check() {
- cd "${srcdir}/apr-${pkgver}"
+ cd apr-$pkgver
make -j1 check
}
package() {
- cd "${srcdir}/apr-${pkgver}"
- make DESTDIR="${pkgdir}" install
+ cd apr-$pkgver
+ make DESTDIR="$pkgdir" install
}
diff --git a/abs/core/apr/dont_override_external_buildflags b/abs/core/apr/dont_override_external_buildflags
new file mode 100644
index 0000000..db30a81
--- /dev/null
+++ b/abs/core/apr/dont_override_external_buildflags
@@ -0,0 +1,21 @@
+# Don't force apr-using projects to use the compile flags used during
+# apr's compilation.
+Index: apr/build/apr_rules.mk.in
+===================================================================
+--- apr.orig/build/apr_rules.mk.in 2010-04-21 17:20:26.000000000 +0200
++++ apr/build/apr_rules.mk.in 2013-11-01 21:22:19.655108671 +0100
+@@ -41,10 +41,10 @@
+ # compilation and linking flags that are supposed to be set only by the user.
+ # configure adds to them for tests, but we restore them at the end.
+ #
+-CFLAGS=@CFLAGS@
+-CPPFLAGS=@CPPFLAGS@
+-LDFLAGS=@LDFLAGS@
+-LIBS=@LIBS@
++CFLAGS?=@CFLAGS@
++CPPFLAGS?=@CPPFLAGS@
++LDFLAGS?=@LDFLAGS@
++LIBS?=@LIBS@
+ DEFS=@DEFS@
+
+ # anything added to the standard flags by configure is moved to EXTRA_*
diff --git a/abs/core/apr/fix-apr.pc.patch b/abs/core/apr/fix-apr.pc.patch
new file mode 100644
index 0000000..890b514
--- /dev/null
+++ b/abs/core/apr/fix-apr.pc.patch
@@ -0,0 +1,20 @@
+From: <tfheen@debian.org>
+Subject: No description.
+
+---
+ apr.pc.in | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+Index: apr/apr.pc.in
+===================================================================
+--- apr.orig/apr.pc.in
++++ apr/apr.pc.in
+@@ -7,5 +7,6 @@
+ Name: APR
+ Description: The Apache Portable Runtime library
+ Version: @APR_DOTTED_VERSION@
+-Libs: -L${libdir} -l@APR_LIBNAME@ @EXTRA_LIBS@
+-Cflags: @EXTRA_CPPFLAGS@ @EXTRA_CFLAGS@ -I${includedir}
++Libs: -L${libdir} -l@APR_LIBNAME@
++Libs.private: @EXTRA_LIBS@
++Cflags: @EXTRA_CPPFLAGS@ -I${includedir}
diff --git a/abs/core/apr/fix_apr-config.patch b/abs/core/apr/fix_apr-config.patch
new file mode 100644
index 0000000..51b4aa3
--- /dev/null
+++ b/abs/core/apr/fix_apr-config.patch
@@ -0,0 +1,33 @@
+From: <tfheen@debian.org>
+Subject: No description.
+
+---
+ apr-config.in | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+Index: apr/apr-config.in
+===================================================================
+--- apr.orig/apr-config.in
++++ apr/apr-config.in
+@@ -39,7 +39,7 @@
+ LIBS="@EXTRA_LIBS@"
+ EXTRA_INCLUDES="@EXTRA_INCLUDES@"
+ SHLIBPATH_VAR="@shlibpath_var@"
+-APR_SOURCE_DIR="@apr_srcdir@"
++APR_SOURCE_DIR="$(cd @installbuilddir@/.. ; pwd)"
+ APR_BUILD_DIR="@apr_builddir@"
+ APR_SO_EXT="@so_ext@"
+ APR_LIB_TARGET="@export_lib_target@"
+@@ -223,11 +223,7 @@
+ exit 0
+ ;;
+ --apr-libtool)
+- if test "$location" = "installed"; then
+- echo "${installbuilddir}/libtool"
+- else
+- echo "$APR_BUILD_DIR/libtool"
+- fi
++ echo "$installbuilddir/libtool"
+ exit 0
+ ;;
+ --help)
diff --git a/abs/core/apr/omit_extra_libs.patch b/abs/core/apr/omit_extra_libs.patch
new file mode 100644
index 0000000..524602e
--- /dev/null
+++ b/abs/core/apr/omit_extra_libs.patch
@@ -0,0 +1,20 @@
+From: Stefan Fritsch <sf@debian.org>
+Subject: #463399
+
+---
+ apr-config.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: apr/apr-config.in
+===================================================================
+--- apr.orig/apr-config.in
++++ apr/apr-config.in
+@@ -36,7 +36,7 @@
+ CPPFLAGS="@EXTRA_CPPFLAGS@"
+ CFLAGS="@EXTRA_CFLAGS@"
+ LDFLAGS="@EXTRA_LDFLAGS@"
+-LIBS="@EXTRA_LIBS@"
++LIBS=""
+ EXTRA_INCLUDES="@EXTRA_INCLUDES@"
+ SHLIBPATH_VAR="@shlibpath_var@"
+ APR_SOURCE_DIR="$(cd @installbuilddir@/.. ; pwd)"
diff --git a/abs/core/apr/ship_find_apr.m4.patch b/abs/core/apr/ship_find_apr.m4.patch
new file mode 100644
index 0000000..0393970
--- /dev/null
+++ b/abs/core/apr/ship_find_apr.m4.patch
@@ -0,0 +1,25 @@
+From: Tollef Fog Heen <tfheen@err.no>
+Subject: Install a set of random build files too
+
+---
+ Makefile.in | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+--- apr.orig/Makefile.in
++++ apr/Makefile.in
+@@ -92,6 +92,15 @@ install: $(TARGETS)
+ done
+ $(INSTALL_DATA) build/apr_rules.out $(DESTDIR)$(installbuilddir)/apr_rules.mk
+ $(INSTALL) -m 755 apr-config.out $(DESTDIR)$(bindir)/$(APR_CONFIG)
++
++ if [ ! -d $(DESTDIR)$(installbuilddir) ]; then \
++ $(top_srcdir)/build/mkdir.sh $(DESTDIR)$(installbuilddir); \
++ fi
++ for file in find_apr.m4 apr_common.m4 install.sh gen-build.py get-version.sh ; do \
++ $(LIBTOOL) --mode=install cp $(top_srcdir)/build/$$file \
++ $(DESTDIR)$(installbuilddir)/$$file ; \
++ done
++
+ @if [ $(INSTALL_SUBDIRS) != "none" ]; then \
+ for i in $(INSTALL_SUBDIRS); do \
+ ( cd $$i ; $(MAKE) DESTDIR=$(DESTDIR) install ); \
diff --git a/abs/core/archlinux-xdg-menu/PKGBUILD b/abs/core/archlinux-xdg-menu/PKGBUILD
index 40d812a..b028ed1 100644
--- a/abs/core/archlinux-xdg-menu/PKGBUILD
+++ b/abs/core/archlinux-xdg-menu/PKGBUILD
@@ -1,30 +1,30 @@
-# $Id: PKGBUILD 101139 2013-11-18 10:37:26Z spupykin $
+# $Id$
# Maintainer: Sergej Pupykin <sergej@aur.archlinux.org>
# Contributor: Sergej Pupykin <sergej@aur.archlinux.org>
pkgname=archlinux-xdg-menu
-pkgver=0.7.6.2
+pkgver=0.7.6.3
pkgrel=1
pkgdesc="automatic generate WM menu from xdg files"
arch=('any')
-url="http://wiki.archlinux.org/index.php/XdgMenu"
+url="https://wiki.archlinux.org/index.php/XdgMenu"
license=("GPL")
-depends=('perl' 'perlxml')
-optdepends=('sux: for xdg_menu_su')
+depends=('perl' 'perl-xml-parser')
+#optdepends=('sux: for xdg_menu_su')
backup=("etc/update-menus.conf"
"etc/xdg/menus/arch-applications.menu")
-source=("http://archlinux-stuff.googlecode.com/files/arch-xdg-menu-$pkgver.tar.gz")
+source=("https://arch.p5n.pp.ru/~sergej/dl/2018/arch-xdg-menu-$pkgver.tar.gz")
+sha256sums=('b99668bee882da7bf0ac247e1d9274b75a062bfe0af12efb994d97e40e361914')
package() {
- cd $srcdir
- install -D -m 0755 xdg_menu $pkgdir/usr/bin/xdg_menu
- install -D -m 0755 xdg_menu_su $pkgdir/usr/bin/xdg_menu_su
- install -D -m 0755 update-menus $pkgdir/usr/bin/update-menus
- install -D -m 0644 update-menus.conf $pkgdir/etc/update-menus.conf
- mkdir -p $pkgdir/usr/share/desktop-directories/
- cp arch-desktop-directories/* $pkgdir/usr/share/desktop-directories/
- mkdir -p $pkgdir/etc/xdg/menus/
- cp arch-xdg-menu/* $pkgdir/etc/xdg/menus/
- mkdir -p $pkgdir//var/cache/xdg-menu
+ cd "$srcdir"
+ install -D -m 0755 xdg_menu "$pkgdir"/usr/bin/xdg_menu
+ install -D -m 0755 xdg_menu_su "$pkgdir"/usr/bin/xdg_menu_su
+ install -D -m 0755 update-menus "$pkgdir"/usr/bin/update-menus
+ install -D -m 0644 update-menus.conf "$pkgdir"/etc/update-menus.conf
+ mkdir -p "$pkgdir"/usr/share/desktop-directories/
+ cp arch-desktop-directories/* "$pkgdir"/usr/share/desktop-directories/
+ mkdir -p "$pkgdir"/etc/xdg/menus/
+ cp arch-xdg-menu/* "$pkgdir"/etc/xdg/menus/
+ mkdir -p "$pkgdir"//var/cache/xdg-menu
}
-md5sums=('e4aadc2a05a8e8330c95c22548a4fcfb')
diff --git a/abs/core/argon2/PKGBUILD b/abs/core/argon2/PKGBUILD
new file mode 100644
index 0000000..531ccfb
--- /dev/null
+++ b/abs/core/argon2/PKGBUILD
@@ -0,0 +1,47 @@
+# Maintainer: Baptiste Jonglez <baptiste--aur at jonglez dot org>
+
+pkgname=argon2
+pkgver=20171227
+pkgrel=3
+pkgdesc='A password-hashing function (reference C implementation)'
+arch=('x86_64')
+url='https://github.com/P-H-C/phc-winner-argon2'
+license=('Apache' 'custom:CC0')
+depends=('glibc')
+install=argon2.install
+source=("https://github.com/P-H-C/phc-winner-argon2/archive/${pkgver}/${pkgname}-${pkgver}.tar.gz"
+ 'libargon2.pc')
+sha256sums=('eaea0172c1f4ee4550d1b6c9ce01aab8d1ab66b4207776aa67991eb5872fdcd8'
+ '4189ce6c183319ceaf2c4ec96facd424deeaa9e2819efb7511893bcf3ef5c836')
+
+prepare() {
+ cd "$srcdir/phc-winner-$pkgname-$pkgver"
+
+ # Copy and prepare custom pkg-config file
+ cp "${srcdir}/libargon2.pc" libargon2.pc
+ sed -i -e "s/@UPSTREAM_VER@/${pkgver}/" libargon2.pc
+}
+
+build() {
+ cd "$srcdir/phc-winner-$pkgname-$pkgver"
+
+ make OPTTARGET=none
+}
+
+check() {
+ cd "$srcdir/phc-winner-$pkgname-$pkgver"
+
+ make OPTTARGET=none test
+}
+
+package() {
+ cd "$srcdir/phc-winner-$pkgname-$pkgver"
+
+ make OPTTARGET=none DESTDIR="$pkgdir" install
+
+ install -D -m0644 LICENSE "${pkgdir}/usr/share/licenses/argon2/LICENSE"
+
+ install -D -m0644 libargon2.pc "${pkgdir}/usr/lib/pkgconfig/libargon2.pc"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/argon2/argon2.install b/abs/core/argon2/argon2.install
new file mode 100644
index 0000000..65b9e24
--- /dev/null
+++ b/abs/core/argon2/argon2.install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+post_upgrade() {
+ # clean up upstream soname mess
+ rm -f usr/lib/libargon2.so.0
+}
diff --git a/abs/core/argon2/libargon2.pc b/abs/core/argon2/libargon2.pc
new file mode 100644
index 0000000..c41e1c0
--- /dev/null
+++ b/abs/core/argon2/libargon2.pc
@@ -0,0 +1,11 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: libargon2
+Description: Development libraries for libargon2
+Version: @UPSTREAM_VER@
+Libs: -L${libdir} -largon2 -lrt -ldl
+Cflags:
+URL: https://github.com/P-H-C/phc-winner-argon2
diff --git a/abs/core/aspell/PKGBUILD b/abs/core/aspell/PKGBUILD
index 50c9264..2cdaf6d 100644
--- a/abs/core/aspell/PKGBUILD
+++ b/abs/core/aspell/PKGBUILD
@@ -8,20 +8,21 @@
pkgname=aspell
pkgver=0.60.6.1
_pkgmajorver=0.60
-pkgrel=2
+pkgrel=5
pkgdesc="A spell checker designed to eventually replace Ispell"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://aspell.net/"
license=('LGPL')
depends=('gcc-libs' 'ncurses')
optdepends=('perl: to import old dictionaries')
-install=aspell.install
-source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz)
-md5sums=('e66a9c9af6a60dc46134fdacf6ce97d7')
-sha1sums=('ff1190db8de279f950c242c6f4c5d5cdc2cbdc49')
+source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz
+ gcc7fixes.patch)
+sha1sums=('ff1190db8de279f950c242c6f4c5d5cdc2cbdc49'
+ 'df5364a8472154452f4e1fe9db0891df457949e0')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 < $srcdir/gcc7fixes.patch
./configure --prefix=/usr --sysconfdir=/etc
make
}
diff --git a/abs/core/aspell/__changelog b/abs/core/aspell/__changelog
new file mode 100644
index 0000000..beb9215
--- /dev/null
+++ b/abs/core/aspell/__changelog
@@ -0,0 +1 @@
+add gcc7fixes.patch
diff --git a/abs/core/aspell/aspell.install b/abs/core/aspell/aspell.install
deleted file mode 100644
index 4bb848e..0000000
--- a/abs/core/aspell/aspell.install
+++ /dev/null
@@ -1,24 +0,0 @@
-infodir=usr/share/info
-filelist=(aspell.info aspell-dev.info)
-
-post_install() {
- echo "==> aspell comes with no default dictionary"
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file $infodir/dir 2> /dev/null
- done
-}
-
-post_upgrade() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file $infodir/dir 2> /dev/null
- done
-}
-
-pre_remove() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info --delete $infodir/$file $infodir/dir 2> /dev/null
- done
-}
diff --git a/abs/core/aspell/gcc7fixes.patch b/abs/core/aspell/gcc7fixes.patch
new file mode 100644
index 0000000..61ffabb
--- /dev/null
+++ b/abs/core/aspell/gcc7fixes.patch
@@ -0,0 +1,37 @@
+From 8089fa02122fed0a6394eba14bbedcb1d18e2384 Mon Sep 17 00:00:00 2001
+From: Kevin Atkinson <kevina@gnu.org>
+Date: Thu, 29 Dec 2016 00:50:31 -0500
+Subject: [PATCH] Compile Fixes for GCC 7.
+
+Closes #519.
+---
+ modules/filter/tex.cpp | 2 +-
+ prog/check_funs.cpp | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/modules/filter/tex.cpp b/modules/filter/tex.cpp
+index a979539..19ab63c 100644
+--- a/modules/filter/tex.cpp
++++ b/modules/filter/tex.cpp
+@@ -174,7 +174,7 @@ namespace {
+
+ if (c == '{') {
+
+- if (top.in_what == Parm || top.in_what == Opt || top.do_check == '\0')
++ if (top.in_what == Parm || top.in_what == Opt || *top.do_check == '\0')
+ push_command(Parm);
+
+ top.in_what = Parm;
+diff --git a/prog/check_funs.cpp b/prog/check_funs.cpp
+index db54f3d..89ee09d 100644
+--- a/prog/check_funs.cpp
++++ b/prog/check_funs.cpp
+@@ -647,7 +647,7 @@ static void print_truncate(FILE * out, const char * word, int width) {
+ }
+ }
+ if (i == width-1) {
+- if (word == '\0')
++ if (*word == '\0')
+ put(out,' ');
+ else if (word[len] == '\0')
+ put(out, word, len);
diff --git a/abs/core/automake/PKGBUILD b/abs/core/automake/PKGBUILD
index bd5603e..2f15ec8 100644
--- a/abs/core/automake/PKGBUILD
+++ b/abs/core/automake/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id$
-# Maintainer: Allan McRae <allan@archlinux.org>
+# Maintainer: Lukas Fleischer <lfleischer@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=automake
-pkgver=1.14.1
+pkgver=1.15.1
pkgrel=1
pkgdesc="A GNU tool for automatically creating Makefiles"
arch=('any')
@@ -12,31 +12,34 @@ url="http://www.gnu.org/software/automake"
groups=('base-devel')
depends=('perl' 'bash')
makedepends=('autoconf')
-checkdepends=('dejagnu' 'python2' 'gcc-fortran' 'java-environment' 'vala' 'emacs' 'cscope')
-install=automake.install
-source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz{,.sig})
-md5sums=('7fc29854c520f56b07aa232a0f880292'
- 'SKIP')
+checkdepends=('dejagnu' 'gcc-fortran' 'java-environment' 'vala' 'emacs' 'cscope') # 'python'
+source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz{,.sig}
+ automake-1.15-dejagnu-testcase.patch)
+md5sums=('24cd3501b6ad8cd4d7e2546f07e8b4d4'
+ 'SKIP'
+ 'ffa4dd8eb78cea82c3009d76087598b1')
+validpgpkeys=('E1622F96D2BB4E58018EEF9860F906016E407573' # Stefano Lattarini
+ 'F2A38D7EEB2B66405761070D0ADEE10094604D37') # Mathieu Lirzin
prepare() {
cd ${srcdir}/${pkgname}-${pkgver}
- # skip failing test...
- sed -i "/instmany-python.sh/d" Makefile.in
+ # fix testsuite issue with resent dejagnu
+ patch -p1 -i $srcdir/automake-1.15-dejagnu-testcase.patch
}
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
- ./configure --prefix=/usr
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --build=$CHOST --prefix=/usr
make
}
check() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd "${srcdir}/${pkgname}-${pkgver}"
make check
}
package() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} install
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
}
diff --git a/abs/core/automake/automake-1.15-dejagnu-testcase.patch b/abs/core/automake/automake-1.15-dejagnu-testcase.patch
new file mode 100644
index 0000000..3af46ad
--- /dev/null
+++ b/abs/core/automake/automake-1.15-dejagnu-testcase.patch
@@ -0,0 +1,49 @@
+From 3b86722e504c686d3e825ca8870708cce7580190 Mon Sep 17 00:00:00 2001
+From: Pavel Raiskup <praiskup@redhat.com>
+Date: Mon, 27 Jun 2016 23:10:12 +0200
+Subject: [PATCH] tests: fix bug in dejagnu testcase
+
+This resolves testsuite error:
+ERROR: tcl error sourcing ./spanner.test/spanner.exp.
+ERROR: couldn't execute "./spanner": no such file or directory
+ while executing
+"spawn $SPANNER"
+ (file "./spanner.test/spanner.exp" line 2)
+ invoked from within
+"source ./spanner.test/spanner.exp"
+ ("uplevel" body line 1)
+ invoked from within
+"uplevel #0 source ./spanner.test/spanner.exp"
+ invoked from within
+"catch "uplevel #0 source $test_file_name""
+
+.. which was there probably for a very long time, but now with
+dejagnu 1.6 the runtest binary started to validly exit with
+non-zero status.
+
+* t/check12.sh (Makefile.am): Also distribute files from
+$(DEJATOOL) because otherwise 'runtest' binary fails later during
+'make distcheck' because of incomplete list of distributed files.
+
+Proposed upstream:
+http://thread.gmane.org/gmane.comp.sysutils.automake.patches/9941
+
+---
+ t/check12.sh | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/t/check12.sh b/t/check12.sh
+index 0f3928a..306c720 100644
+--- a/t/check12.sh
++++ b/t/check12.sh
+@@ -61,6 +61,7 @@ DEJATOOL = hammer spanner
+ AM_RUNTESTFLAGS = HAMMER=$(srcdir)/hammer SPANNER=$(srcdir)/spanner
+ EXTRA_DIST += hammer.test/hammer.exp
+ EXTRA_DIST += spanner.test/spanner.exp
++EXTRA_DIST += $(DEJATOOL)
+ END
+
+ cat > hammer << 'END'
+--
+2.7.4
+
diff --git a/abs/core/automake/automake.install b/abs/core/automake/automake.install
deleted file mode 100644
index 10c2f2d..0000000
--- a/abs/core/automake/automake.install
+++ /dev/null
@@ -1,22 +0,0 @@
-infodir=/usr/share/info
-filelist=(automake.info automake.info-1 automake.info-2)
-
-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
-}
-
-# vim:set ts=2 sw=2 et:
diff --git a/abs/core/avahi/0001-avahi-python-Use-the-agnostic-DBM-interface.patch b/abs/core/avahi/0001-avahi-python-Use-the-agnostic-DBM-interface.patch
new file mode 100644
index 0000000..3945f9c
--- /dev/null
+++ b/abs/core/avahi/0001-avahi-python-Use-the-agnostic-DBM-interface.patch
@@ -0,0 +1,256 @@
+From 426f70261d61db359e573e06b03575ee8cf50f5d Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
+Date: Tue, 11 Jul 2017 21:52:37 +0200
+Subject: [PATCH] avahi-python: Use the agnostic DBM interface
+
+Also fixes configure failing if Python 3 and GDBM are in use, since Py3
+only has anydbm under the name of 'dbm'.
+---
+ avahi-python/avahi/Makefile.am | 15 +-----------
+ avahi-python/avahi/ServiceTypeDatabase.py.in | 31 ++++++++++++++++++-------
+ configure.ac | 9 ++++---
+ service-type-database/.gitignore | 1 -
+ service-type-database/Makefile.am | 18 ++++----------
+ service-type-database/{build-db.in => build-db} | 13 +++++++----
+ 6 files changed, 41 insertions(+), 46 deletions(-)
+ rename service-type-database/{build-db.in => build-db} (87%)
+
+diff --git a/avahi-python/avahi/Makefile.am b/avahi-python/avahi/Makefile.am
+index 3eb67d0df438a7f8..c906b9bf3b6d0708 100644
+--- a/avahi-python/avahi/Makefile.am
++++ b/avahi-python/avahi/Makefile.am
+@@ -25,29 +25,16 @@ avahidir = $(pythondir)/avahi
+
+ if HAVE_GDBM
+ nodist_avahi_SCRIPTS = ServiceTypeDatabase.py
+-
+-ServiceTypeDatabase.py: ServiceTypeDatabase.py.in
+- $(AM_V_GEN)sed -e 's,@PYTHON\@,$(PYTHON),g' \
+- -e 's,@DBM\@,gdbm,g' \
+- -e 's,@FIRST_KEY\@,key = self.db.firstkey(),g' \
+- -e 's,@CHECK_KEY\@,while key is not None:,g' \
+- -e 's,@NEXT_KEY\@,key = self.db.nextkey(key),g' \
+- -e 's,@pkglibdatadir\@,$(pkglibdatadir),g' $< > $@ && \
+- chmod +x $@
+ endif
+
+ if HAVE_DBM
+ nodist_avahi_SCRIPTS = ServiceTypeDatabase.py
++endif
+
+ ServiceTypeDatabase.py: ServiceTypeDatabase.py.in
+ $(AM_V_GEN)sed -e 's,@PYTHON\@,$(PYTHON),g' \
+- -e 's,@DBM\@,dbm,g' \
+- -e 's,@FIRST_KEY\@,keys = self.db.keys(),g' \
+- -e 's,@CHECK_KEY\@,for key in keys:,g' \
+- -e 's,@NEXT_KEY\@,,g' \
+ -e 's,@pkglibdatadir\@,$(pkglibdatadir),g' $< > $@ && \
+ chmod +x $@
+-endif
+
+ avahi_PYTHON = $(avahi_SCRIPTS)
+
+diff --git a/avahi-python/avahi/ServiceTypeDatabase.py.in b/avahi-python/avahi/ServiceTypeDatabase.py.in
+index 4ddd654409deb983..d7f9969bbd5a6ab0 100644
+--- a/avahi-python/avahi/ServiceTypeDatabase.py.in
++++ b/avahi-python/avahi/ServiceTypeDatabase.py.in
+@@ -17,18 +17,22 @@
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ # USA.
+
+-import @DBM@
++try:
++ import anydbm as dbm
++except ImportError:
++ import dbm
++
+ import locale
+ import re
+
+ locale.setlocale(locale.LC_ALL, '')
+
+ class ServiceTypeDatabase:
+ """ServiceTypeDatabase maps service types to descriptions"""
+
+ def __init__(self, filename = "@pkglibdatadir@/service-types.db"):
+
+- self.db = @DBM@.open(filename, "r")
++ self.db = dbm.open(filename, "r")
+
+ l = locale.getlocale(locale.LC_MESSAGES)
+
+@@ -90,13 +94,24 @@ class ServiceTypeDatabase:
+
+ def __iter__(self):
+
+- @FIRST_KEY@
+- @CHECK_KEY@
++ def want_key(key):
++ if not re.search('_[a-zA-Z0-9-]+\._[a-zA-Z0-9-]+', key):
++ return False
++ if re.search('_[a-zA-Z0-9-]+\._[a-zA-Z0-9-]+\[.*\]', key):
++ return False
++ return True
+
+- if re.search('_[a-zA-Z0-9-]+\._[a-zA-Z0-9-]+', key) and not re.search('_[a-zA-Z0-9-]+\._[a-zA-Z0-9-]+\[.*\]', key):
+- yield key
+-
+- @NEXT_KEY@
++ try:
++ key = self.db.firstkey()
++ except AttributeError:
++ for key in self.db.keys():
++ if want_key(key):
++ yield key
++ else:
++ while key is not None:
++ if want_key(key):
++ yield key
++ key = self.db.nextkey(key)
+
+ def __len__(self):
+
+diff --git a/configure.ac b/configure.ac
+index 66789718d45ff4ea..fbbf7cf3ef562a26 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -824,11 +824,10 @@ if test "x$HAVE_PYTHON" = "xyes" ; then
+ fi
+
+ AM_CHECK_PYMOD(socket,,,[AC_MSG_ERROR(Could not find Python module socket)])
+- if test "x$HAVE_GDBM" = "xyes"; then
+- AM_CHECK_PYMOD(gdbm,,,[AC_MSG_ERROR(Could not find Python module gdbm)])
+- fi
+- if test "x$HAVE_DBM" = "xyes"; then
+- AM_CHECK_PYMOD(dbm,,,[AC_MSG_ERROR(Could not find Python module dbm)])
++ if test "x$HAVE_GDBM" = "xyes" || test "x$HAVE_DBM" = "xyes"; then
++ AM_CHECK_PYMOD(anydbm,,,[
++ AM_CHECK_PYMOD(dbm,,,[AC_MSG_ERROR(Could not find Python module dbm)])
++ ])
+ fi
+ fi
+ fi
+diff --git a/service-type-database/.gitignore b/service-type-database/.gitignore
+index 581f1929d521c01d..51b02600e70c1ceb 100644
+--- a/service-type-database/.gitignore
++++ b/service-type-database/.gitignore
+@@ -1,4 +1,3 @@
+ Makefile
+ Makefile.in
+ service-types.db
+-build-db
+diff --git a/service-type-database/Makefile.am b/service-type-database/Makefile.am
+index d184fde30f0758c5..f9fa0825e937f2f7 100644
+--- a/service-type-database/Makefile.am
++++ b/service-type-database/Makefile.am
+@@ -15,49 +15,39 @@
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ # USA.
+
+-EXTRA_DIST=build-db.in service-types
++EXTRA_DIST=service-types
+
+ pkglibdatadir=$(libdir)/avahi
+
+ pkglibdata_DATA=
+
+ if HAVE_PYTHON
+ if HAVE_GDBM
+
+ noinst_SCRIPTS=build-db
+ pkglibdata_DATA+=service-types.db
+
+-build-db: build-db.in
+- $(AM_V_GEN)sed -e 's,@PYTHON\@,$(PYTHON),g' \
+- -e 's,@DBM\@,gdbm,g' $< > $@ && \
+- chmod +x $@
+-
+-service-types.db: service-types build-db
++service-types.db: service-types
+ $(AM_V_GEN)$(PYTHON) build-db $< $@.coming && \
+ mv $@.coming $@
+
+-CLEANFILES = service-types.db build-db
++CLEANFILES = service-types.db
+
+ endif
+ if HAVE_DBM
+
+ noinst_SCRIPTS=build-db
+ pkglibdata_DATA+=service-types.db.pag service-types.db.dir
+
+-build-db: build-db.in
+- $(AM_V_GEN)sed -e 's,@PYTHON\@,$(PYTHON),g' \
+- -e 's,@DBM\@,dbm,g' $< > $@ && \
+- chmod +x $@
+-
+ service-types.db.pag: service-types.db
+ $(AM_V_GEN)mv service-types.db.coming.pag service-types.db.pag
+ service-types.db.dir: service-types.db
+ $(AM_V_GEN)mv service-types.db.coming.dir service-types.db.dir
+ service-types.db: service-types build-db
+ $(AM_V_GEN)$(PYTHON) build-db $< $@.coming && \
+ if test -f "$@.coming"; then mv $@.coming $@; fi
+
+-CLEANFILES = service-types.db* build-db
++CLEANFILES = service-types.db*
+
+ endif
+ endif
+diff --git a/service-type-database/build-db.in b/service-type-database/build-db
+similarity index 87%
+rename from service-type-database/build-db.in
+rename to service-type-database/build-db
+index 4cda425374a79198..78ee892f606ea43c 100755
+--- a/service-type-database/build-db.in
++++ b/service-type-database/build-db
+@@ -1,37 +1,42 @@
+-#!@PYTHON@
++#!/usr/bin/env python
+ # -*-python-*-
+ # This file is part of avahi.
+ #
+ # avahi is free software; you can redistribute it and/or modify it
+ # under the terms of the GNU Lesser General Public License as
+ # published by the Free Software Foundation; either version 2 of the
+ # License, or (at your option) any later version.
+ #
+ # avahi 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 Lesser General Public
+ # License along with avahi; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ # USA.
+
+-import @DBM@, sys
++try:
++ import anydbm as dbm
++except ImportError:
++ import dbm
++
++import sys
+
+ if len(sys.argv) > 1:
+ infn = sys.argv[1]
+ else:
+ infn = "service-types"
+
+ if len(sys.argv) > 2:
+ outfn = sys.argv[2]
+ else:
+ outfn = infn + ".db"
+
+-db = @DBM@.open(outfn, "n")
++db = dbm.open(outfn, "n")
+
+-for ln in file(infn, "r"):
++for ln in open(infn, "r"):
+ ln = ln.strip(" \r\n\t")
+
+ if ln == "" or ln.startswith("#"):
+--
+2.13.2
+
diff --git a/abs/core/avahi/PKGBUILD b/abs/core/avahi/PKGBUILD
index 5aa2247..68d5751 100644
--- a/abs/core/avahi/PKGBUILD
+++ b/abs/core/avahi/PKGBUILD
@@ -4,39 +4,46 @@
# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
pkgname=avahi
-pkgver=0.6.32
-pkgrel=2
-_commit=4f334990f692ce08ab4ea2eece695f1592f535b2
+pkgver=0.7
+pkgrel=4
pkgdesc='Service Discovery for Linux using mDNS/DNS-SD -- compatible with Bonjour'
url='https://github.com/lathiat/avahi'
license=(LGPL)
-arch=(i686 x86_64)
+arch=(x86_64)
depends=(expat libdaemon glib2 libcap gdbm dbus)
-makedepends=(git qt4 pygtk mono intltool python2-dbus gtk-sharp-2 gobject-introspection gtk3
- xmltoman)
-optdepends=('gtk3: avahi-discover-standalone, bshell, bssh, bvnc'
+makedepends=(git qt4 pygtk mono intltool gtk-sharp-2 gobject-introspection gtk3
+ xmltoman python-dbus python-gobject doxygen graphviz)
+optdepends=('gtk3: avahi-discover, avahi-discover-standalone, bshell, bssh, bvnc'
'gtk2: gtk2 bindings'
'qt4: qt4 bindings'
- 'pygtk: avahi-bookmarks, avahi-discover'
+ 'pygtk: avahi-bookmarks'
'python2-twisted: avahi-bookmarks'
'mono: mono bindings'
- 'python2-dbus: avahi-discover'
- 'nss-mdns: NSS support for mDNS')
-install=avahi.install
+ 'nss-mdns: NSS support for mDNS'
+ 'python-gobject: avahi-discover'
+ 'python-dbus: avahi-discover')
backup=(etc/avahi/{hosts,avahi-daemon.conf}
- usr/lib/avahi/service-types.db usr/share/avahi/service-types)
-source=("git+$url#commit=$_commit")
-sha256sums=('SKIP')
+ usr/lib/avahi/service-types.db)
+_commit=6242e5f0fe001b7de2ccaa9431db279b2ee76b83 # tags/v0.7
+source=("git+https://github.com/lathiat/avahi#commit=$_commit"
+ 0001-avahi-python-Use-the-agnostic-DBM-interface.patch)
+sha512sums=('SKIP'
+ '8cfc7c2cb0061e6348caa96b73bb6069efce5b4438962aa12448e46bc950a47c1f18059afbb1cacf7b2a1aa21f77025472532ad5e6eddb17834a8b1a34432226')
+pkgver() {
+ cd $pkgname
+ git describe --tags | sed 's/^v//;s/-/+/g'
+}
prepare() {
cd $pkgname
+ patch -Np1 -i ../0001-avahi-python-Use-the-agnostic-DBM-interface.patch
NOCONFIGURE=1 ./autogen.sh
}
build() {
cd $pkgname
- export MOC_QT4=/usr/bin/moc-qt4 PYTHON=/usr/bin/python2
+ export MOC_QT4=/usr/bin/moc-qt4 PYTHON=/usr/bin/python3
./configure \
--prefix=/usr \
@@ -51,19 +58,25 @@ build() {
--with-autoipd-user=avahi \
--with-autoipd-group=avahi \
--with-systemdsystemunitdir=/usr/lib/systemd/system
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
- cp -a avahi-python/avahi avahi-python/avahi3
+ cp -a avahi-python/avahi avahi-python/avahi2
make
- make -C avahi-python/avahi3 PYTHON=/usr/bin/python2
+ make -C avahi-python/avahi2 PYTHON=/usr/bin/python2
}
package() {
cd $pkgname
make DESTDIR="$pkgdir" install
- make DESTDIR="$pkgdir" -C avahi-python/avahi3 install \
+ make DESTDIR="$pkgdir" -C avahi-python/avahi2 install \
PYTHON=/usr/bin/python2 pythondir=/usr/lib/python2.7/site-packages
+ rmdir "$pkgdir/run"
+
+ # this isn't ported
+ sed -i '1s|python3|python2|' "$pkgdir/usr/bin/avahi-bookmarks"
+
# mdnsresponder compat
ln -s avahi-compat-libdns_sd/dns_sd.h "$pkgdir/usr/include/dns_sd.h"
@@ -72,5 +85,6 @@ package() {
mv "$pkgdir"/etc/avahi/services/{,sftp-}ssh.service \
"$pkgdir/usr/share/doc/$pkgname/"
- rmdir "$pkgdir"/var{/run,}
+ echo 'u avahi - "Avahi mDNS/DNS-SD daemon"' |
+ install -Dm644 /dev/stdin "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
}
diff --git a/abs/core/avahi/__changelog b/abs/core/avahi/__changelog
deleted file mode 100644
index 5c5991a..0000000
--- a/abs/core/avahi/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD: change py3 to py2
-avahi.install: remove systemd start message
diff --git a/abs/core/avahi/avahi.install b/abs/core/avahi/avahi.install
deleted file mode 100644
index 909cf98..0000000
--- a/abs/core/avahi/avahi.install
+++ /dev/null
@@ -1,7 +0,0 @@
-post_install() {
- if ! getent passwd avahi &>/dev/null; then
- groupadd -r -g 84 avahi
- useradd -r -u 84 -g avahi -d / -s /bin/nologin -c avahi avahi
- fi
-}
-
diff --git a/abs/core/bash/PKGBUILD b/abs/core/bash/PKGBUILD
index cb6847e..553a6ad 100644
--- a/abs/core/bash/PKGBUILD
+++ b/abs/core/bash/PKGBUILD
@@ -4,33 +4,30 @@
# Contributor: Aaron Griffin <aaron@archlinux.org>
pkgname=bash
-_basever=4.3
-_patchlevel=042
-pkgver=$_basever.$_patchlevel
-pkgrel=4
+_basever=4.4
+_patchlevel=019
+pkgver=${_basever}.${_patchlevel}
+pkgrel=1
pkgdesc='The GNU Bourne Again shell'
-arch=('i686' 'x86_64')
-license=('GPL')
+arch=(x86_64)
+license=(GPL)
url='http://www.gnu.org/software/bash/bash.html'
-groups=('base')
+groups=(base)
backup=(etc/bash.bash{rc,_logout} etc/skel/.bash{rc,_profile,_logout})
-depends=('readline>=6.3' 'glibc' 'ncurses' 'libncursesw.so')
+depends=('readline>=7.0' glibc ncurses)
optdepends=('bash-completion: for tab completion')
provides=('sh')
-install=bash.install
-source=(http://ftp.gnu.org/gnu/bash/bash-$_basever.tar.gz{,.sig}
+source=(https://ftp.gnu.org/gnu/bash/bash-$_basever.tar.gz{,.sig}
dot.bashrc
dot.bash_profile
dot.bash_logout
system.bashrc
- system.bash_logout
- privmode-setuid-fail.patch
- bash-4.3-old-memleak.patch)
+ system.bash_logout)
validpgpkeys=('7C0135FB088AAF6C66C650B9BB5869F064EA74AB') # Chet Ramey
if [[ $((10#${_patchlevel})) -gt 0 ]]; then
for (( _p=1; _p<=$((10#${_patchlevel})); _p++ )); do
- source=(${source[@]} http://ftp.gnu.org/gnu/bash/bash-$_basever-patches/bash${_basever//.}-$(printf "%03d" $_p){,.sig})
+ source=(${source[@]} https://ftp.gnu.org/gnu/bash/bash-$_basever-patches/bash${_basever//.}-$(printf "%03d" $_p){,.sig})
done
fi
@@ -41,12 +38,6 @@ prepare() {
msg "applying patch bash${_basever//.}-$(printf "%03d" $_p)"
patch -p0 -i ../bash${_basever//.}-$(printf "%03d" $_p)
done
-
- # http://hmarco.org/bugs/bash_4.3-setuid-bug.html (FS#40663)
- patch -p0 -i ../privmode-setuid-fail.patch
-
- # https://bugs.archlinux.org/task/45891
- patch -p1 -i ../bash-4.3-old-memleak.patch
}
build() {
@@ -55,7 +46,8 @@ build() {
_bashconfig=(-DDEFAULT_PATH_VALUE=\'\"/usr/local/sbin:/usr/local/bin:/usr/bin\"\'
-DSTANDARD_UTILS_PATH=\'\"/usr/bin\"\'
-DSYS_BASHRC=\'\"/etc/bash.bashrc\"\'
- -DSYS_BASH_LOGOUT=\'\"/etc/bash.bash_logout\"\')
+ -DSYS_BASH_LOGOUT=\'\"/etc/bash.bash_logout\"\'
+ -DNON_INTERACTIVE_LOGIN_SHELLS)
export CFLAGS="${CFLAGS} ${_bashconfig[@]}"
./configure --prefix=/usr --with-curses --enable-readline \
@@ -69,109 +61,61 @@ check() {
package() {
make -C $pkgname-$_basever DESTDIR="$pkgdir" install
- ln -s bash "$pkgdir"/usr/bin/sh
+ ln -s bash "$pkgdir/usr/bin/sh"
- install -dm755 "$pkgdir"/etc/skel/
# system-wide configuration files
- install -m644 system.bashrc $pkgdir/etc/bash.bashrc
- install -m644 system.bash_logout "$pkgdir"/etc/bash.bash_logout
+ install -Dm644 system.bashrc "$pkgdir/etc/bash.bashrc"
+ install -Dm644 system.bash_logout "$pkgdir/etc/bash.bash_logout"
# user configuration file skeletons
- install -m644 dot.bashrc "$pkgdir"/etc/skel/.bashrc
- install -m644 dot.bash_profile "$pkgdir"/etc/skel/.bash_profile
- install -m644 dot.bash_logout "$pkgdir"/etc/skel/.bash_logout
+ install -dm755 "$pkgdir/etc/skel/"
+ install -m644 dot.bashrc "$pkgdir/etc/skel/.bashrc"
+ install -m644 dot.bash_profile "$pkgdir/etc/skel/.bash_profile"
+ install -m644 dot.bash_logout "$pkgdir/etc/skel/.bash_logout"
}
-md5sums=('81348932d5da294953e15d4814c74dd1'
+md5sums=('148888a7c95ac23705559b6f477dfe25'
'SKIP'
'027d6bd8f5f6a06b75bb7698cb478089'
'2902e0fee7a9168f3a4fd2ccd60ff047'
'42f4400ed2314bd7519c020d0187edc5'
- '561949793177116b7be29a07c385ba8b'
+ 'd8f3f334e72c0e30032eae1a1229aef1'
'472f536d7c9e8250dc4568ec4cfaf294'
- 'a577d42e38249d298d6a8d4bf2823883'
- '5bb46160bba51ff904922c6ccfd9c49e'
- '1ab682b4e36afa4cf1b426aa7ac81c0d'
- 'SKIP'
- '8fc22cf50ec85da00f6af3d66f7ddc1b'
- 'SKIP'
- 'a41728eca78858758e26b5dea64ae506'
- 'SKIP'
- 'bf8d53d227829d67235927689a03cc7a'
- 'SKIP'
- 'c0c00935c8b8ffff76e8ab77e7be7d15'
- 'SKIP'
- '6f01e364cd092faa28dd7119f47ddb5f'
- 'SKIP'
- 'dcf471d222bcd83283d3094e6ceeb6f8'
- 'SKIP'
- 'f7553416646dc26c266454c78a916d36'
- 'SKIP'
- '7e73d2151f4064b484a4ba2c4b09960e'
- 'SKIP'
- 'a275463d21735bb6d7161f9fbd320d8f'
- 'SKIP'
- 'c17103ee20420d77e46b224c8d3fceda'
- 'SKIP'
- '3e2a057a19d02b3f92a3a09eacbc03ae'
- 'SKIP'
- 'fb377143a996d4ff087a2771bc8332f9'
- 'SKIP'
- '1a1aaecc99a9d0cbc310e8e247dcc8b6'
- 'SKIP'
- '4f04387458a3c1b4d460d199f49991a8'
- 'SKIP'
- '90e759709720c4f877525bebc9d5dc06'
- 'SKIP'
- '11e4046e1b86070f6adbb7ffc89641be'
- 'SKIP'
- 'cd5a9b46f5bea0dc0248c93c7dfac011'
- 'SKIP'
- 'cff4dc024d9d3456888aaaf8a36ca774'
- 'SKIP'
- '167839c5f147347f4a03d88ab97ff787'
- 'SKIP'
- '1d350671c48dec30b34d8b81f09cd79d'
- 'SKIP'
- '11c349af66a55481a3215ef2520bec36'
- 'SKIP'
- 'b3cb0d80fd0c47728264405cbb3b23c7'
- 'SKIP'
- 'b5ea5600942acceb4b6f07313d2de74e'
+ '817d01a6c0af6f79308a8b7b649e53d8'
'SKIP'
- '193c06f578d38ffdbaebae9c51a7551f'
+ '765e14cff12c7284009772e8e24f2fe0'
'SKIP'
- '922578e2be7ed03729454e92ee8d3f3a'
+ '49e7da93bf07f510a2eb6bb43ac3e5a2'
'SKIP'
- '8ff6948b16f2db5c29b1b9ae1085bbe7'
+ '4557d674ab5831a5fa98052ab19edaf4'
'SKIP'
- 'dd51fa67913b5dca45a702b672b3323f'
+ 'cce96dd77cdd1d293beec10848f6cbb5'
'SKIP'
- '0729364c977ef4271e9f8dfafadacf67'
+ 'd3379f8d8abce5c6ee338f931ad008d5'
'SKIP'
- 'efb709fdb1368945513de23ccbfae053'
+ 'ec38c76ca439ca7f9c178e9baede84fc'
'SKIP'
- '236df1ac1130a033ed0dbe2d2115f28f'
+ 'e0ba18c1e3b94f905da9b5bf9d38b58b'
'SKIP'
- '2360f7e79cfb28526f80021025ea5909'
+ 'e952d4f44e612048930c559d90eb99bb'
'SKIP'
- 'b551c4ee7b8713759e4143499d0bbd48'
+ '57b5b35955d68f9a09dbef6b86d2c782'
'SKIP'
- 'c9a56fbe0348e05a886dff97f2872b74'
+ 'cc896e1fa696b93ded568e557e2392d5'
'SKIP'
- 'e564e8ab44ed1ca3a4e315a9f6cabdc9'
+ 'fa47fbfa56fb7e9e5367f19a9df5fc9e'
'SKIP'
- 'b00ff66c41a7c0f06e191200981980b0'
+ '5e6a20166efe166267972cc78025417b'
'SKIP'
- 'be2a7b05f6ae560313f3c9d5f7127bda'
+ '00a8877a8787dbd78d97767db1115b0a'
'SKIP'
- '61e0522830b24fbe8c0d1b010f132470'
+ '2409586fd19e3104197ead86ce549eca'
'SKIP'
- 'a4775487abe958536751c8ce53cdf6f9'
+ '4b31183db086daf8be8943d7f7ea7526'
'SKIP'
- '80d3587c58854e226055ef099ffeb535'
+ 'c15c8844f1eb87bdbcde71417c9bd342'
'SKIP'
- '20bf63eef7cb441c0b1cc49ef3191d03'
+ 'b25e3373fc8de00523116dfe151ac4e0'
'SKIP'
- '70790646ae61e207c995e44931390e50'
+ '8f43e1d277b02f3319a34c1cd4a4ff3e'
'SKIP')
diff --git a/abs/core/bash/bash-4.3-old-memleak.patch b/abs/core/bash/bash-4.3-old-memleak.patch
deleted file mode 100644
index ff2b665..0000000
--- a/abs/core/bash/bash-4.3-old-memleak.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -up bash-4.3/subst.c.old bash-4.3/subst.c
---- bash-4.3/subst.c.old 2015-08-03 10:32:37.353490080 +0200
-+++ bash-4.3/subst.c 2015-08-03 10:33:34.818533408 +0200
-@@ -9492,7 +9492,7 @@ make_internal_declare (word, option)
- char *word;
- char *option;
- {
-- int t;
-+ int t, r;
- WORD_LIST *wl;
- WORD_DESC *w;
-
-@@ -9504,7 +9504,10 @@ make_internal_declare (word, option)
- wl = make_word_list (w, (WORD_LIST *)NULL);
- wl = make_word_list (make_word (option), wl);
-
-- return (declare_builtin (wl));
-+ r = declare_builtin (wl);
-+
-+ dispose_words (wl);
-+ return r;
- }
- #endif
-
diff --git a/abs/core/bash/bash.install b/abs/core/bash/bash.install
deleted file mode 100644
index a10e6e9..0000000
--- a/abs/core/bash/bash.install
+++ /dev/null
@@ -1,16 +0,0 @@
-info_dir=usr/share/info
-info_files=(bash.info)
-
-post_upgrade() {
- [ -x usr/bin/install-info ] || return 0
- for f in ${info_files[@]}; do
- usr/bin/install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
- done
-}
-
-pre_remove() {
- [ -x usr/bin/install-info ] || return 0
- for f in ${info_files[@]}; do
- usr/bin/install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
- done
-}
diff --git a/abs/core/bash/privmode-setuid-fail.patch b/abs/core/bash/privmode-setuid-fail.patch
deleted file mode 100644
index 059857d..0000000
--- a/abs/core/bash/privmode-setuid-fail.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-*** ../bash-4.3-patched/shell.c 2014-01-14 08:04:32.000000000 -0500
---- shell.c 2014-06-06 16:29:01.000000000 -0400
-***************
-*** 1227,1232 ****
- disable_priv_mode ()
- {
-! setuid (current_user.uid);
-! setgid (current_user.gid);
- current_user.euid = current_user.uid;
- current_user.egid = current_user.gid;
---- 1229,1246 ----
- disable_priv_mode ()
- {
-! int e;
-!
-! if (setuid (current_user.uid) < 0)
-! {
-! e = errno;
-! sys_error (_("cannot set uid to %d: effective uid %d"), current_user.uid, current_user.euid);
-! #if defined (EXIT_ON_SETUID_FAILURE)
-! if (e == EAGAIN)
-! exit (e);
-! #endif
-! }
-! if (setgid (current_user.gid) < 0)
-! sys_error (_("cannot set gid to %d: effective gid %d"), current_user.gid, current_user.egid);
-!
- current_user.euid = current_user.uid;
- current_user.egid = current_user.gid;
diff --git a/abs/core/bash/system.bashrc b/abs/core/bash/system.bashrc
index 4d7a643..c484b2b 100644
--- a/abs/core/bash/system.bashrc
+++ b/abs/core/bash/system.bashrc
@@ -5,17 +5,16 @@
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
+[[ $DISPLAY ]] && shopt -s checkwinsize
+
PS1='[\u@\h \W]\$ '
-PS2='> '
-PS3='> '
-PS4='+ '
case ${TERM} in
xterm*|rxvt*|Eterm|aterm|kterm|gnome*)
PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
;;
- screen)
+ screen*)
PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
;;
esac
diff --git a/abs/core/bc/PKGBUILD b/abs/core/bc/PKGBUILD
index faf854f..3b40624 100644
--- a/abs/core/bc/PKGBUILD
+++ b/abs/core/bc/PKGBUILD
@@ -2,39 +2,31 @@
# Maintainer: dorphell <dorphell@archlinux.org>
pkgname=bc
-pkgver=1.06.95
+pkgver=1.07.1
pkgrel=1
pkgdesc="An arbitrary precision calculator language"
-arch=('i686' 'x86_64')
-url="http://www.gnu.org/software/bc/"
+arch=('x86_64')
+url="https://www.gnu.org/software/bc/"
license=('GPL')
depends=('readline')
+makedepends=('ed')
replaces=('bc-readline')
conflicts=('bc-readline')
-install=bc.install
-source=(ftp://alpha.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.bz2{,.sig}
- bc-1.06.95-void_uninitialized.patch)
-md5sums=('5126a721b73f97d715bb72c13c889035'
- 'SKIP'
- 'fe85d42dd4151801e9b8c2d2c4d990bf')
-
-prepare() {
- cd "${pkgname}-${pkgver}"
-
- # https://bugs.gentoo.org/show_bug.cgi?id=349339
- patch -Np0 -i ${srcdir}/bc-1.06.95-void_uninitialized.patch
-}
+source=(https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.sig})
+sha256sums=('62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a'
+ 'SKIP')
+validpgpkeys=('00E426232F384BF6D32D8B1881C24FF12FB7B14B') # Phil Nelson <philnelson@acm.org>
build() {
cd "${pkgname}-${pkgver}"
./configure --prefix=/usr --mandir=/usr/share/man \
--infodir=/usr/share/info --with-readline
- make
+ make -j1
}
check () {
cd "${pkgname}-${pkgver}"
- echo "quit" | ./bc/bc -l Test/checklib.b # 10 failures
+ echo "quit" | ./bc/bc -l Test/checklib.b
}
package() {
diff --git a/abs/core/bc/bc-1.06.95-void_uninitialized.patch b/abs/core/bc/bc-1.06.95-void_uninitialized.patch
deleted file mode 100644
index c60290c..0000000
--- a/abs/core/bc/bc-1.06.95-void_uninitialized.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-http://www.pixelbeat.org/programming/oss_bug_flow.html
-https://bugs.gentoo.org/349339
-
---- bc/storage.c
-+++ bc/storage.c
-@@ -99,6 +99,7 @@
- {
- f = &functions[indx];
- f->f_defined = FALSE;
-+ f->f_void = FALSE;
- f->f_body = (char *) bc_malloc (BC_START_SIZE);
- f->f_body_size = BC_START_SIZE;
- f->f_code_size = 0;
-
diff --git a/abs/core/bc/bc.install b/abs/core/bc/bc.install
deleted file mode 100644
index e1e2eaa..0000000
--- a/abs/core/bc/bc.install
+++ /dev/null
@@ -1,20 +0,0 @@
-infodir=/usr/share/info
-filelist=(bc.info.gz dc.info.gz)
-
-post_install() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file $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 $infodir/dir 2> /dev/null
- done
-}
diff --git a/abs/core/binutils/0001-PR22741-objcopy-segfault-on-fuzzed-COFF-object.patch b/abs/core/binutils/0001-PR22741-objcopy-segfault-on-fuzzed-COFF-object.patch
new file mode 100644
index 0000000..24c814e
--- /dev/null
+++ b/abs/core/binutils/0001-PR22741-objcopy-segfault-on-fuzzed-COFF-object.patch
@@ -0,0 +1,29 @@
+From eb77f6a4621795367a39cdd30957903af9dbb815 Mon Sep 17 00:00:00 2001
+From: Alan Modra <amodra@gmail.com>
+Date: Sat, 27 Jan 2018 08:19:33 +1030
+Subject: [PATCH] PR22741, objcopy segfault on fuzzed COFF object
+
+ PR 22741
+ * coffgen.c (coff_pointerize_aux): Ensure auxent tagndx is in
+ range before converting to a symbol table pointer.
+---
+ bfd/coffgen.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/bfd/coffgen.c b/bfd/coffgen.c
+index b2410873d0..4f90eaddd9 100644
+--- a/bfd/coffgen.c
++++ b/bfd/coffgen.c
+@@ -1555,7 +1555,8 @@ coff_pointerize_aux (bfd *abfd,
+ }
+ /* A negative tagndx is meaningless, but the SCO 3.2v4 cc can
+ generate one, so we must be careful to ignore it. */
+- if (auxent->u.auxent.x_sym.x_tagndx.l > 0)
++ if ((unsigned long) auxent->u.auxent.x_sym.x_tagndx.l
++ < obj_raw_syment_count (abfd))
+ {
+ auxent->u.auxent.x_sym.x_tagndx.p =
+ table_base + auxent->u.auxent.x_sym.x_tagndx.l;
+--
+2.16.2
+
diff --git a/abs/core/binutils/0002-PR22829-objcopy-strip-removes-PT_GNU_RELRO-from-lld-.patch b/abs/core/binutils/0002-PR22829-objcopy-strip-removes-PT_GNU_RELRO-from-lld-.patch
new file mode 100644
index 0000000..3b73a6a
--- /dev/null
+++ b/abs/core/binutils/0002-PR22829-objcopy-strip-removes-PT_GNU_RELRO-from-lld-.patch
@@ -0,0 +1,145 @@
+From 3b56a1358768563d9cf320559ebdedfb30f122dd Mon Sep 17 00:00:00 2001
+From: Alan Modra <amodra@gmail.com>
+Date: Mon, 12 Feb 2018 13:06:07 +1030
+Subject: [PATCH] PR22829, objcopy/strip removes PT_GNU_RELRO from lld binaries
+
+lld lays out the relro segment differently to GNU ld, not bothering to
+include the first few bytes of .got.plt and padding out to a page at
+the end of the segment. This patch teaches binutils to recognize the
+different (and somewhat inferior) layout as valid.
+
+bfd/
+ PR 22829
+ * elf.c (assign_file_positions_for_non_load_sections): Rewrite
+ PT_GNU_RELRO setup.
+ld/
+ * testsuite/ld-x86-64/pr14207.d: Adjust relro p_filesz.
+
+(cherry picked from commit f2731e0c374e5323ce4cdae2bcc7b7fe22da1a6f)
+---
+ bfd/elf.c | 78 ++++++++++++++++++++++++++--------------
+ ld/testsuite/ld-x86-64/pr14207.d | 2 +-
+ 2 files changed, 52 insertions(+), 28 deletions(-)
+
+diff --git a/bfd/elf.c b/bfd/elf.c
+index bbaab26918..f5a230cd77 100644
+--- a/bfd/elf.c
++++ b/bfd/elf.c
+@@ -5826,50 +5826,74 @@ assign_file_positions_for_non_load_sections (bfd *abfd,
+ {
+ if (p->p_type == PT_GNU_RELRO)
+ {
+- const Elf_Internal_Phdr *lp;
+- struct elf_segment_map *lm;
++ bfd_vma start, end;
+
+ if (link_info != NULL)
+ {
+ /* During linking the range of the RELRO segment is passed
+- in link_info. */
++ in link_info. Note that there may be padding between
++ relro_start and the first RELRO section. */
++ start = link_info->relro_start;
++ end = link_info->relro_end;
++ }
++ else if (m->count != 0)
++ {
++ if (!m->p_size_valid)
++ abort ();
++ start = m->sections[0]->vma;
++ end = start + m->p_size;
++ }
++ else
++ {
++ start = 0;
++ end = 0;
++ }
++
++ if (start < end)
++ {
++ struct elf_segment_map *lm;
++ const Elf_Internal_Phdr *lp;
++ unsigned int i;
++
++ /* Find a LOAD segment containing a section in the RELRO
++ segment. */
+ for (lm = elf_seg_map (abfd), lp = phdrs;
+ lm != NULL;
+ lm = lm->next, lp++)
+ {
+ if (lp->p_type == PT_LOAD
+- && lp->p_vaddr < link_info->relro_end
+ && lm->count != 0
+- && lm->sections[0]->vma >= link_info->relro_start)
++ && lm->sections[lm->count - 1]->vma >= start
++ && lm->sections[0]->vma < end)
+ break;
+ }
+-
+ BFD_ASSERT (lm != NULL);
+- }
+- else
+- {
+- /* Otherwise we are copying an executable or shared
+- library, but we need to use the same linker logic. */
+- for (lp = phdrs; lp < phdrs + count; ++lp)
++
++ /* Find the section starting the RELRO segment. */
++ for (i = 0; i < lm->count; i++)
+ {
+- if (lp->p_type == PT_LOAD
+- && lp->p_paddr == p->p_paddr)
++ asection *s = lm->sections[i];
++ if (s->vma >= start
++ && s->vma < end
++ && s->size != 0)
+ break;
+ }
+- }
++ BFD_ASSERT (i < lm->count);
++
++ p->p_vaddr = lm->sections[i]->vma;
++ p->p_paddr = lm->sections[i]->lma;
++ p->p_offset = lm->sections[i]->filepos;
++ p->p_memsz = end - p->p_vaddr;
++ p->p_filesz = p->p_memsz;
++
++ /* The RELRO segment typically ends a few bytes into
++ .got.plt but other layouts are possible. In cases
++ where the end does not match any loaded section (for
++ instance is in file padding), trim p_filesz back to
++ correspond to the end of loaded section contents. */
++ if (p->p_filesz > lp->p_vaddr + lp->p_filesz - p->p_vaddr)
++ p->p_filesz = lp->p_vaddr + lp->p_filesz - p->p_vaddr;
+
+- if (lp < phdrs + count)
+- {
+- p->p_vaddr = lp->p_vaddr;
+- p->p_paddr = lp->p_paddr;
+- p->p_offset = lp->p_offset;
+- if (link_info != NULL)
+- p->p_filesz = link_info->relro_end - lp->p_vaddr;
+- else if (m->p_size_valid)
+- p->p_filesz = m->p_size;
+- else
+- abort ();
+- p->p_memsz = p->p_filesz;
+ /* Preserve the alignment and flags if they are valid. The
+ gold linker generates RW/4 for the PT_GNU_RELRO section.
+ It is better for objcopy/strip to honor these attributes
+diff --git a/ld/testsuite/ld-x86-64/pr14207.d b/ld/testsuite/ld-x86-64/pr14207.d
+index f6558e7cd7..41f92b8bd8 100644
+--- a/ld/testsuite/ld-x86-64/pr14207.d
++++ b/ld/testsuite/ld-x86-64/pr14207.d
+@@ -13,7 +13,7 @@ Program Headers:
+ LOAD 0x000000 0x0000000000000000 0x0000000000000000 0x0001c8 0x0001c8 R 0x200000
+ LOAD 0x000b.8 0x0000000000200b.8 0x0000000000200b.8 0x0004.0 0x000c.8 RW 0x200000
+ DYNAMIC 0x000b.0 0x0000000000200b.0 0x0000000000200b.0 0x0001.0 0x0001.0 RW 0x8
+- GNU_RELRO 0x000b.8 0x0000000000200b.8 0x0000000000200b.8 0x0004.8 0x0004.8 R 0x1
++ GNU_RELRO 0x000b.8 0x0000000000200b.8 0x0000000000200b.8 0x0004.0 0x0004.8 R 0x1
+
+ Section to Segment mapping:
+ Segment Sections...
+--
+2.16.2
+
diff --git a/abs/core/binutils/0003-PR22836-r-s-doesnt-work-with-g3-using-GCC-7.patch b/abs/core/binutils/0003-PR22836-r-s-doesnt-work-with-g3-using-GCC-7.patch
new file mode 100644
index 0000000..2f3c652
--- /dev/null
+++ b/abs/core/binutils/0003-PR22836-r-s-doesnt-work-with-g3-using-GCC-7.patch
@@ -0,0 +1,233 @@
+From d957f81cb38d7e82ae546cd03265ee3087ba8a85 Mon Sep 17 00:00:00 2001
+From: Alan Modra <amodra@gmail.com>
+Date: Tue, 13 Feb 2018 14:09:48 +1030
+Subject: [PATCH] PR22836, "-r -s" doesn't work with -g3 using GCC 7
+
+This fixes the case where all of a group is removed with ld -r, the
+situation in the PR, and failures where part of a group is removed
+that contain relocs.
+
+bfd/
+ PR 22836
+ * elf.c (_bfd_elf_fixup_group_sections): Account for removed
+ relocation sections. If size reduces to just the flag word,
+ remove that too and mark with SEC_EXCLUDE.
+ * elflink.c (bfd_elf_final_link): Strip empty group sections.
+binutils/
+ * testsuite/binutils-all/group-7.s,
+ * testsuite/binutils-all/group-7a.d,
+ * testsuite/binutils-all/group-7b.d,
+ * testsuite/binutils-all/group-7c.d: New tests.
+ * testsuite/binutils-all/objcopy.exp: Run them.
+ld/
+ * testsuite/ld-elf/pr22836-2.d,
+ * testsuite/ld-elf/pr22836-2.s: New test.
+
+(cherry picked from commit 6e5e9d58c1eeef5677c90886578a895cb8c164c5)
+---
+ bfd/ChangeLog | 11 +++++++++++
+ bfd/elf.c | 25 +++++++++++++++++++++----
+ bfd/elflink.c | 7 +++++++
+ binutils/ChangeLog | 12 ++++++++++++
+ binutils/testsuite/binutils-all/group-7.s | 6 ++++++
+ binutils/testsuite/binutils-all/group-7a.d | 16 ++++++++++++++++
+ binutils/testsuite/binutils-all/group-7b.d | 19 +++++++++++++++++++
+ binutils/testsuite/binutils-all/group-7c.d | 8 ++++++++
+ binutils/testsuite/binutils-all/objcopy.exp | 3 +++
+ ld/ChangeLog | 9 +++++++++
+ ld/testsuite/ld-elf/pr22836-2.d | 7 +++++++
+ ld/testsuite/ld-elf/pr22836-2.s | 7 +++++++
+ 12 files changed, 126 insertions(+), 4 deletions(-)
+ create mode 100644 binutils/testsuite/binutils-all/group-7.s
+ create mode 100644 binutils/testsuite/binutils-all/group-7a.d
+ create mode 100644 binutils/testsuite/binutils-all/group-7b.d
+ create mode 100644 binutils/testsuite/binutils-all/group-7c.d
+ create mode 100644 ld/testsuite/ld-elf/pr22836-2.d
+ create mode 100644 ld/testsuite/ld-elf/pr22836-2.s
+
+diff --git a/bfd/elf.c b/bfd/elf.c
+index 325bdd5..e95c8a9 100644
+--- a/bfd/elf.c
++++ b/bfd/elf.c
+@@ -7579,7 +7579,16 @@ _bfd_elf_fixup_group_sections (bfd *ibfd, asection *discarded)
+ but the SHT_GROUP section is, then adjust its size. */
+ else if (s->output_section == discarded
+ && isec->output_section != discarded)
+- removed += 4;
++ {
++ struct bfd_elf_section_data *elf_sec = elf_section_data (s);
++ removed += 4;
++ if (elf_sec->rel.hdr != NULL
++ && (elf_sec->rel.hdr->sh_flags & SHF_GROUP) != 0)
++ removed += 4;
++ if (elf_sec->rela.hdr != NULL
++ && (elf_sec->rela.hdr->sh_flags & SHF_GROUP) != 0)
++ removed += 4;
++ }
+ s = elf_next_in_group (s);
+ if (s == first)
+ break;
+@@ -7589,18 +7598,26 @@ _bfd_elf_fixup_group_sections (bfd *ibfd, asection *discarded)
+ if (discarded != NULL)
+ {
+ /* If we've been called for ld -r, then we need to
+- adjust the input section size. This function may
+- be called multiple times, so save the original
+- size. */
++ adjust the input section size. */
+ if (isec->rawsize == 0)
+ isec->rawsize = isec->size;
+ isec->size = isec->rawsize - removed;
++ if (isec->size <= 4)
++ {
++ isec->size = 0;
++ isec->flags |= SEC_EXCLUDE;
++ }
+ }
+ else
+ {
+ /* Adjust the output section size when called from
+ objcopy. */
+ isec->output_section->size -= removed;
++ if (isec->output_section->size <= 4)
++ {
++ isec->output_section->size = 0;
++ isec->output_section->flags |= SEC_EXCLUDE;
++ }
+ }
+ }
+ }
+diff --git a/bfd/elflink.c b/bfd/elflink.c
+index 72aa3ac..69cb5ab 100644
+--- a/bfd/elflink.c
++++ b/bfd/elflink.c
+@@ -11618,6 +11618,13 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
+ else
+ o->flags |= SEC_EXCLUDE;
+ }
++ else if ((o->flags & SEC_GROUP) != 0 && o->size == 0)
++ {
++ /* Remove empty group section from linker output. */
++ o->flags |= SEC_EXCLUDE;
++ bfd_section_list_remove (abfd, o);
++ abfd->section_count--;
++ }
+ }
+
+ /* Count up the number of relocations we will output for each output
+diff --git a/binutils/testsuite/binutils-all/group-7.s b/binutils/testsuite/binutils-all/group-7.s
+new file mode 100644
+index 0000000..5028afc
+--- /dev/null
++++ b/binutils/testsuite/binutils-all/group-7.s
+@@ -0,0 +1,6 @@
++ .section .data.foo,"awG",%progbits,foo,comdat
++here:
++ .dc.a here
++
++ .section .data2.foo,"awG",%progbits,foo,comdat
++ .dc.a 0
+diff --git a/binutils/testsuite/binutils-all/group-7a.d b/binutils/testsuite/binutils-all/group-7a.d
+new file mode 100644
+index 0000000..fa8db60
+--- /dev/null
++++ b/binutils/testsuite/binutils-all/group-7a.d
+@@ -0,0 +1,16 @@
++#name: copy removing reloc group member
++#source: group-7.s
++#PROG: objcopy
++#DUMPPROG: readelf
++#objcopy: --remove-section .data.foo
++#readelf: -Sg --wide
++
++#...
++ \[[ 0-9]+\] \.group[ \t]+GROUP[ \t]+.*
++#...
++ \[[ 0-9]+\] \.data2\.foo[ \t]+PROGBITS[ \t0-9a-f]+WAG.*
++#...
++COMDAT group section \[[ 0-9]+\] `\.group' \[foo\] contains 1 section.*
++ \[Index\] Name
++ \[[ 0-9]+\] \.data2\.foo
++#pass
+diff --git a/binutils/testsuite/binutils-all/group-7b.d b/binutils/testsuite/binutils-all/group-7b.d
+new file mode 100644
+index 0000000..b674545
+--- /dev/null
++++ b/binutils/testsuite/binutils-all/group-7b.d
+@@ -0,0 +1,19 @@
++#name: copy removing non-reloc group member
++#source: group-7.s
++#PROG: objcopy
++#DUMPPROG: readelf
++#objcopy: --remove-section .data2.foo
++#readelf: -Sg --wide
++
++#...
++ \[[ 0-9]+\] \.group[ \t]+GROUP[ \t]+.*
++#...
++ \[[ 0-9]+\] \.data\.foo[ \t]+PROGBITS[ \t0-9a-f]+WAG.*
++#...
++ \[[ 0-9]+\] \.rela?\.data\.foo[ \t]+RELA?[ \t0-9a-f]+IG.*
++#...
++COMDAT group section \[[ 0-9]+\] `\.group' \[foo\] contains 2 sections:
++ \[Index\] Name
++ \[[ 0-9]+\] \.data\.foo
++ \[[ 0-9]+\] \.rela?\.data\.foo
++#pass
+diff --git a/binutils/testsuite/binutils-all/group-7c.d b/binutils/testsuite/binutils-all/group-7c.d
+new file mode 100644
+index 0000000..83e9115
+--- /dev/null
++++ b/binutils/testsuite/binutils-all/group-7c.d
+@@ -0,0 +1,8 @@
++#name: copy removing reloc and non-reloc group member
++#source: group-7.s
++#PROG: objcopy
++#DUMPPROG: readelf
++#objcopy: -R .data.foo -R .data2.foo
++#readelf: -g --wide
++
++There are no section groups in this file\.
+diff --git a/binutils/testsuite/binutils-all/objcopy.exp b/binutils/testsuite/binutils-all/objcopy.exp
+index 377f88c..f4a7692 100644
+--- a/binutils/testsuite/binutils-all/objcopy.exp
++++ b/binutils/testsuite/binutils-all/objcopy.exp
+@@ -1051,6 +1051,9 @@ if [is_elf_format] {
+ objcopy_test_readelf "GNU_MBIND section" mbind1.s
+ run_dump_test "group-5"
+ run_dump_test "group-6"
++ run_dump_test "group-7a"
++ run_dump_test "group-7b"
++ run_dump_test "group-7c"
+ run_dump_test "copy-1"
+ run_dump_test "note-1"
+ if [is_elf64 tmpdir/bintest.o] {
+diff --git a/ld/testsuite/ld-elf/pr22836-2.d b/ld/testsuite/ld-elf/pr22836-2.d
+new file mode 100644
+index 0000000..10133e4
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr22836-2.d
+@@ -0,0 +1,7 @@
++#source: pr22836-2.s
++#ld: -r -S
++#readelf: -g --wide
++
++group section \[[ 0-9]+\] `\.group' \[foo\] contains 1 section.*
++ \[Index\] Name
++ \[[ 0-9]+\] \.comment
+diff --git a/ld/testsuite/ld-elf/pr22836-2.s b/ld/testsuite/ld-elf/pr22836-2.s
+new file mode 100644
+index 0000000..77cd83a
+--- /dev/null
++++ b/ld/testsuite/ld-elf/pr22836-2.s
+@@ -0,0 +1,7 @@
++ .section .debug_macro,"G",%progbits,foo
++ .long .LASF0
++.LASF0:
++ .string "__STDC__ 1"
++
++ .section .comment,"G",%progbits,foo
++ .asciz "hi"
+--
+2.9.3
+
diff --git a/abs/core/binutils/0004-PR22868-Fix-case-where-IR-file-provides-symbol-visibility.patch b/abs/core/binutils/0004-PR22868-Fix-case-where-IR-file-provides-symbol-visibility.patch
new file mode 100644
index 0000000..999260d
--- /dev/null
+++ b/abs/core/binutils/0004-PR22868-Fix-case-where-IR-file-provides-symbol-visibility.patch
@@ -0,0 +1,275 @@
+From 330b90b5ffbbc20c5de6ae6c7f60c40fab2e7a4f Mon Sep 17 00:00:00 2001
+From: Cary Coutant <ccoutant@gmail.com>
+Date: Fri, 23 Mar 2018 09:03:34 -0700
+Subject: [PATCH] Fix case where IR file provides symbol visibility but
+ replacement file does not.
+
+In PR 22868, two IR files provide conflicting visibility for a symbol.
+When a def with PROTECTED visibility is seen after a def with DEFAULT
+visibility, gold does not override the visibility. Later, if the
+replacement object define the symbol with DEFAULT visibility, the symbol
+remains DEFAULT. This was caused by a recent change to allow multiply-defined
+absolute symbols, combined with the fact that the plugin framework was using
+SHN_ABS as the section index for placeholder symbols. The solution is to
+use a real (but arbitrary) section index.
+
+gold/
+ PR gold/22868
+ * plugin.cc (Sized_pluginobj::do_add_symbols): Use a real section
+ index instead of SHN_ABS for defined symbols.
+ * testsuite/Makefile.am (plugin_pr22868): New test case.
+ * testsuite/Makefile.in: Regenerate
+ * testsuite/plugin_pr22868.sh: New test script.
+ * testsuite/plugin_pr22868_a.c: New source file.
+ * testsuite/plugin_pr22868_b.c: New source file.
+---
+ gold/plugin.cc | 3 ++-
+ gold/testsuite/Makefile.am | 21 ++++++++++++++++++
+ gold/testsuite/Makefile.in | 28 +++++++++++++++++++++---
+ gold/testsuite/plugin_pr22868.sh | 45 +++++++++++++++++++++++++++++++++++++++
+ gold/testsuite/plugin_pr22868_a.c | 28 ++++++++++++++++++++++++
+ gold/testsuite/plugin_pr22868_b.c | 39 +++++++++++++++++++++++++++++++++
+ 6 files changed, 160 insertions(+), 4 deletions(-)
+ create mode 100755 gold/testsuite/plugin_pr22868.sh
+ create mode 100644 gold/testsuite/plugin_pr22868_a.c
+ create mode 100644 gold/testsuite/plugin_pr22868_b.c
+
+diff --git a/gold/plugin.cc b/gold/plugin.cc
+index 02fef25..a59f19d 100644
+--- a/gold/plugin.cc
++++ b/gold/plugin.cc
+@@ -1144,7 +1144,8 @@ Sized_pluginobj<size, big_endian>::do_add_symbols(Symbol_table* symtab,
+ {
+ case LDPK_DEF:
+ case LDPK_WEAKDEF:
+- shndx = elfcpp::SHN_ABS;
++ // We use an arbitrary section number for a defined symbol.
++ shndx = 1;
+ break;
+ case LDPK_COMMON:
+ shndx = elfcpp::SHN_COMMON;
+diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am
+index 16cae80..d086dad 100644
+--- a/gold/testsuite/Makefile.am
++++ b/gold/testsuite/Makefile.am
+@@ -2433,6 +2433,27 @@ plugin_section_alignment.so: plugin_section_alignment.o gcctestdir/ld
+ plugin_section_alignment.o: plugin_section_alignment.cc
+ $(CXXCOMPILE) -O0 -c -fpic -o $@ $<
+
++check_SCRIPTS += plugin_pr22868.sh
++check_DATA += plugin_pr22868.stdout
++MOSTLYCLEANFILES += plugin_pr22868.stdout
++plugin_pr22868.stdout: plugin_pr22868.so
++ $(TEST_READELF) -W --dyn-syms $< >$@ 2>/dev/null
++plugin_pr22868.so: plugin_pr22868_a.o.syms plugin_pr22868_b.o.syms plugin_pr22868_b.o plugin_test.so gcctestdir/ld
++ $(LINK) -Bgcctestdir/ -shared -Wl,--plugin,"./plugin_test.so" plugin_pr22868_a.o.syms plugin_pr22868_b.o.syms
++plugin_pr22868_a.o.syms: plugin_pr22868_a.o
++ $(TEST_READELF) -sW $< >$@ 2>/dev/null
++# Generate the .syms file from an alternate version of the original source
++# file, with a "protected" visibility attribute. We'll link with a
++# "replacement" object that does not have that attribute.
++plugin_pr22868_b.o.syms: plugin_pr22868_b_ir.o
++ $(TEST_READELF) -sW $< >$@ 2>/dev/null
++plugin_pr22868_a.o: plugin_pr22868_a.c
++ $(COMPILE) -c -fpic -o $@ $<
++plugin_pr22868_b_ir.o: plugin_pr22868_b.c
++ $(COMPILE) -c -DIR -fpic -o $@ $<
++plugin_pr22868_b.o: plugin_pr22868_b.c
++ $(COMPILE) -c -fpic -o $@ $<
++
+ endif PLUGINS
+
+ check_PROGRAMS += exclude_libs_test
+diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in
+index bbf8dc1..22940ca 100644
+--- a/gold/testsuite/Makefile.in
++++ b/gold/testsuite/Makefile.in
+@@ -591,16 +591,19 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_52 = unused.c \
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_final_layout \
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_layout_new_file \
+-@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_layout_with_alignment
++@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_layout_with_alignment \
++@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_pr22868.stdout
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_53 = plugin_final_layout.sh \
+-@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_layout_with_alignment.sh
++@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_layout_with_alignment.sh \
++@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_pr22868.sh
+
+ # Uses the plugin_final_layout.sh script above to avoid duplication
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@am__append_54 = plugin_final_layout.stdout \
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_final_layout_readelf.stdout \
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_layout_new_file.stdout \
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_layout_new_file_readelf.stdout \
+-@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_layout_with_alignment.stdout
++@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_layout_with_alignment.stdout \
++@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ plugin_pr22868.stdout
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_55 = exclude_libs_test \
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@ local_labels_test \
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@ discard_locals_test
+@@ -5299,6 +5302,8 @@ plugin_final_layout.sh.log: plugin_final_layout.sh
+ @p='plugin_final_layout.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ plugin_layout_with_alignment.sh.log: plugin_layout_with_alignment.sh
+ @p='plugin_layout_with_alignment.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
++plugin_pr22868.sh.log: plugin_pr22868.sh
++ @p='plugin_pr22868.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ exclude_libs_test.sh.log: exclude_libs_test.sh
+ @p='exclude_libs_test.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ discard_locals_test.sh.log: discard_locals_test.sh
+@@ -7086,6 +7091,23 @@ uninstall-am:
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared plugin_section_alignment.o
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_section_alignment.o: plugin_section_alignment.cc
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(CXXCOMPILE) -O0 -c -fpic -o $@ $<
++@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_pr22868.stdout: plugin_pr22868.so
++@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(TEST_READELF) -W --dyn-syms $< >$@ 2>/dev/null
++@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_pr22868.so: plugin_pr22868_a.o.syms plugin_pr22868_b.o.syms plugin_pr22868_b.o plugin_test.so gcctestdir/ld
++@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(LINK) -Bgcctestdir/ -shared -Wl,--plugin,"./plugin_test.so" plugin_pr22868_a.o.syms plugin_pr22868_b.o.syms
++@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_pr22868_a.o.syms: plugin_pr22868_a.o
++@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null
++# Generate the .syms file from an alternate version of the original source
++# file, with a "protected" visibility attribute. We'll link with a
++# "replacement" object that does not have that attribute.
++@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_pr22868_b.o.syms: plugin_pr22868_b_ir.o
++@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null
++@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_pr22868_a.o: plugin_pr22868_a.c
++@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(COMPILE) -c -fpic -o $@ $<
++@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_pr22868_b_ir.o: plugin_pr22868_b.c
++@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(COMPILE) -c -DIR -fpic -o $@ $<
++@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@plugin_pr22868_b.o: plugin_pr22868_b.c
++@GCC_TRUE@@NATIVE_LINKER_TRUE@@PLUGINS_TRUE@ $(COMPILE) -c -fpic -o $@ $<
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@exclude_libs_test.syms: exclude_libs_test
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -sW $< >$@ 2>/dev/null
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@libexclude_libs_test_1.a: exclude_libs_test_1.o
+diff --git a/gold/testsuite/plugin_pr22868.sh b/gold/testsuite/plugin_pr22868.sh
+new file mode 100755
+index 0000000..72f364b
+--- /dev/null
++++ b/gold/testsuite/plugin_pr22868.sh
+@@ -0,0 +1,45 @@
++#!/bin/sh
++
++# plugin_pr22868.sh -- a test case for the plugin API.
++
++# Copyright (C) 2018 Free Software Foundation, Inc.
++# Written by Cary Coutant <ccoutant@google.com>.
++
++# This file is part of gold.
++
++# This program 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 3 of the License, or
++# (at your option) any later version.
++
++# This program 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., 51 Franklin Street - Fifth Floor, Boston,
++# MA 02110-1301, USA.
++
++# This file goes with plugin_pr22868_a.c and plugin_pr22868_b.c,
++# which check that if a symbol is declared PROTECTED in any IR file,
++# it will remain PROTECTED in the output even if the replacement file(s)
++# fail to declare it PROTECTED.
++
++check()
++{
++ if ! grep -q "$2" "$1"
++ then
++ echo "Did not find expected output in $1:"
++ echo " $2"
++ echo ""
++ echo "Actual output below:"
++ cat "$1"
++ exit 1
++ fi
++}
++
++check plugin_pr22868.stdout "PROTECTED.*foo"
++
++exit 0
+diff --git a/gold/testsuite/plugin_pr22868_a.c b/gold/testsuite/plugin_pr22868_a.c
+new file mode 100644
+index 0000000..86a9843
+--- /dev/null
++++ b/gold/testsuite/plugin_pr22868_a.c
+@@ -0,0 +1,28 @@
++/* plugin_pr22868_a.c -- a test case for the plugin API with GC.
++
++ Copyright (C) 2018 Free Software Foundation, Inc.
++ Written by Cary Coutant <ccoutant@gmail.com>.
++
++ This file is part of gold.
++
++ This program 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 3 of the License, or
++ (at your option) any later version.
++
++ This program 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., 51 Franklin Street - Fifth Floor, Boston,
++ MA 02110-1301, USA. */
++
++int foo(int i) __attribute__ (( weak ));
++
++int foo(int i)
++{
++ return i + 1;
++}
+diff --git a/gold/testsuite/plugin_pr22868_b.c b/gold/testsuite/plugin_pr22868_b.c
+new file mode 100644
+index 0000000..92d2145
+--- /dev/null
++++ b/gold/testsuite/plugin_pr22868_b.c
+@@ -0,0 +1,39 @@
++/* plugin_pr22868_b_ir.c -- a test case for the plugin API with GC.
++
++ Copyright (C) 2018 Free Software Foundation, Inc.
++ Written by Cary Coutant <ccoutant@gmail.com>.
++
++ This file is part of gold.
++
++ This program 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 3 of the License, or
++ (at your option) any later version.
++
++ This program 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., 51 Franklin Street - Fifth Floor, Boston,
++ MA 02110-1301, USA. */
++
++/* This file is compiled with -DIR to generate the .syms file,
++ and without -DIR for use as the replacement object.
++ The .syms file declares foo with protected visibility, but
++ the replacement file does not. */
++
++#ifdef IR
++#define PROTECTED __attribute__ (( visibility ("protected") ))
++#else
++#define PROTECTED
++#endif
++
++int foo(int i) __attribute__ (( weak )) PROTECTED;
++
++int foo(int i)
++{
++ return i + 1;
++}
+--
+2.9.3
+
diff --git a/abs/core/binutils/PKGBUILD b/abs/core/binutils/PKGBUILD
index 7a41923..e2b300c 100644
--- a/abs/core/binutils/PKGBUILD
+++ b/abs/core/binutils/PKGBUILD
@@ -1,50 +1,79 @@
# $Id$
-# Maintainer: Allan McRae <allan@archlinux.org>
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
pkgname=binutils
-pkgver=2.26
-pkgrel=3
-_commit=71090e7a
-pkgdesc="A set of programs to assemble and manipulate binary and object files"
-arch=('i686' 'x86_64')
-url="http://www.gnu.org/software/binutils/"
-license=('GPL')
-groups=('base-devel')
-depends=('glibc>=2.23' 'zlib')
-makedepends=('git')
-checkdepends=('dejagnu' 'bc')
-conflicts=('binutils-multilib')
-replaces=('binutils-multilib')
-options=('staticlibs' '!distcc' '!ccache')
-install=binutils.install
-source=(git://sourceware.org/git/binutils-gdb.git#commit=${_commit})
-md5sums=('SKIP')
+pkgver=2.30
+pkgrel=5
+pkgdesc='A set of programs to assemble and manipulate binary and object files'
+arch=(x86_64)
+url='http://www.gnu.org/software/binutils/'
+license=(GPL)
+groups=(base-devel)
+depends=(glibc zlib)
+checkdepends=(dejagnu bc)
+conflicts=(binutils-multilib)
+replaces=(binutils-multilib)
+options=(staticlibs !distcc !ccache)
+source=(https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz{,.sig}
+ 0001-PR22741-objcopy-segfault-on-fuzzed-COFF-object.patch
+ 0002-PR22829-objcopy-strip-removes-PT_GNU_RELRO-from-lld-.patch
+ 0003-PR22836-r-s-doesnt-work-with-g3-using-GCC-7.patch
+ 0004-PR22868-Fix-case-where-IR-file-provides-symbol-visibility.patch)
+validpgpkeys=(3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F)
+md5sums=('ffc476dd46c96f932875d1b2e27e929f'
+ 'SKIP'
+ '469164f3c93a0e92a697537b60c9806c'
+ '0c679b37e90fb23de60a4d28329b956a'
+ '53b5682e09c0a27e9994c3efdfe01d29'
+ '0fac94f7fa54a95354454677d3e43994')
prepare() {
- cd binutils-gdb
+ mkdir -p binutils-build
+
+ #cd binutils-gdb
+ cd binutils-$pkgver
# hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS"
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
- mkdir ${srcdir}/binutils-build
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=22741
+ patch -p1 -i "$srcdir/0001-PR22741-objcopy-segfault-on-fuzzed-COFF-object.patch"
+
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=22829
+ patch -p1 -i "$srcdir/0002-PR22829-objcopy-strip-removes-PT_GNU_RELRO-from-lld-.patch"
+
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=22836
+ patch -p1 -i "$srcdir/0003-PR22836-r-s-doesnt-work-with-g3-using-GCC-7.patch"
+
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=22868
+ patch -p1 -i "$srcdir/0004-PR22868-Fix-case-where-IR-file-provides-symbol-visibility.patch"
}
build() {
cd binutils-build
- ../binutils-gdb/configure --prefix=/usr \
+ "$srcdir/binutils-$pkgver/configure" \
+ --prefix=/usr \
--with-lib-path=/usr/lib:/usr/local/lib \
--with-bugurl=https://bugs.archlinux.org/ \
- --enable-threads --enable-shared --with-pic \
- --enable-ld=default --enable-gold --enable-plugins \
--enable-deterministic-archives \
- --disable-werror --disable-gdb
+ --enable-gold \
+ --enable-ld=default \
+ --enable-lto \
+ --enable-plugins \
+ --enable-relro \
+ --enable-shared \
+ --enable-targets=x86_64-pep \
+ --enable-threads \
+ --disable-gdb \
+ --disable-werror \
+ --with-pic \
+ --with-system-zlib
- # check the host environment and makes sure all the necessary tools are available
make configure-host
-
make tooldir=/usr
}
@@ -58,13 +87,13 @@ check() {
package() {
cd binutils-build
- make prefix=${pkgdir}/usr tooldir=${pkgdir}/usr install
+ make prefix="$pkgdir/usr" tooldir="$pkgdir/usr" install
# Remove unwanted files
- rm ${pkgdir}/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}*
+ rm -f "$pkgdir"/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}*
# No shared linking to these files outside binutils
- rm ${pkgdir}/usr/lib/lib{bfd,opcodes}.so
- echo "INPUT ( /usr/lib/libbfd.a -liberty -lz -ldl )" > "$pkgdir"/usr/lib/libbfd.so
- echo "INPUT ( /usr/lib/libopcodes.a -lbfd )" > "$pkgdir"/usr/lib/libopcodes.so
+ rm -f "$pkgdir"/usr/lib/lib{bfd,opcodes}.so
+ echo 'INPUT( /usr/lib/libbfd.a -liberty -lz -ldl )' > "$pkgdir/usr/lib/libbfd.so"
+ echo 'INPUT( /usr/lib/libopcodes.a -lbfd )' > "$pkgdir/usr/lib/libopcodes.so"
}
diff --git a/abs/core/binutils/binutils-e9c1bdad.patch b/abs/core/binutils/binutils-e9c1bdad.patch
deleted file mode 100644
index 6ef9f52..0000000
--- a/abs/core/binutils/binutils-e9c1bdad.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-diff --git a/gold/layout.cc b/gold/layout.cc
-index bcdaac8..7836640 100644
---- a/gold/layout.cc
-+++ b/gold/layout.cc
-@@ -4873,7 +4873,8 @@ Layout::finish_dynamic_section(const Input_objects* input_objects,
- flags |= elfcpp::DF_STATIC_TLS;
- if (parameters->options().origin())
- flags |= elfcpp::DF_ORIGIN;
-- if (parameters->options().Bsymbolic())
-+ if (parameters->options().Bsymbolic()
-+ && !parameters->options().have_dynamic_list())
- {
- flags |= elfcpp::DF_SYMBOLIC;
- // Add DT_SYMBOLIC for compatibility with older loaders.
-diff --git a/gold/options.cc b/gold/options.cc
-index 7eb8f27..7f1f69e 100644
---- a/gold/options.cc
-+++ b/gold/options.cc
-@@ -1200,13 +1200,6 @@ General_options::finalize()
- // in the path, as appropriate.
- this->add_sysroot();
-
-- // --dynamic-list overrides -Bsymbolic and -Bsymbolic-functions.
-- if (this->have_dynamic_list())
-- {
-- this->set_Bsymbolic(false);
-- this->set_Bsymbolic_functions(false);
-- }
--
- // Now that we've normalized the options, check for contradictory ones.
- if (this->shared() && this->is_static())
- gold_fatal(_("-shared and -static are incompatible"));
-diff --git a/gold/symtab.h b/gold/symtab.h
-index aa0cb68..9413360 100644
---- a/gold/symtab.h
-+++ b/gold/symtab.h
-@@ -604,10 +604,8 @@ class Symbol
- if (parameters->options().in_dynamic_list(this->name()))
- return true;
-
-- // If the user used -Bsymbolic or provided a --dynamic-list script,
-- // then nothing (else) is preemptible.
-- if (parameters->options().Bsymbolic()
-- || parameters->options().have_dynamic_list())
-+ // If the user used -Bsymbolic, then nothing (else) is preemptible.
-+ if (parameters->options().Bsymbolic())
- return false;
-
- // If the user used -Bsymbolic-functions, then functions are not
-diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am
-index f767c21..7b73f9d 100644
---- a/gold/testsuite/Makefile.am
-+++ b/gold/testsuite/Makefile.am
-@@ -1518,7 +1518,7 @@ dynamic_list_lib1.o: dynamic_list_lib1.cc
- $(CXXCOMPILE) -c -fpic -o $@ $<
-
- dynamic_list_lib2.so: gcctestdir/ld dynamic_list_lib2.o $(srcdir)/dynamic_list_2.t
-- $(CXXLINK) -Bgcctestdir/ -shared -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
-+ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-Bsymbolic-functions -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
- dynamic_list_lib2.o: dynamic_list_lib2.cc
- $(CXXCOMPILE) -c -fpic -o $@ $<
-
-diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in
-index 217e472..b4ae3fd 100644
---- a/gold/testsuite/Makefile.in
-+++ b/gold/testsuite/Makefile.in
-@@ -5319,7 +5319,7 @@ uninstall-am:
- @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $<
-
- @GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list_lib2.so: gcctestdir/ld dynamic_list_lib2.o $(srcdir)/dynamic_list_2.t
--@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
-+@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-Bsymbolic-functions -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
- @GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list_lib2.o: dynamic_list_lib2.cc
- @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $<
-
---
-1.9.4
-
diff --git a/abs/core/binutils/binutils.install b/abs/core/binutils/binutils.install
deleted file mode 100644
index 9de0533..0000000
--- a/abs/core/binutils/binutils.install
+++ /dev/null
@@ -1,17 +0,0 @@
-infodir=usr/share/info
-filelist=(as.info bfd.info binutils.info gprof.info ld.info)
-
-post_upgrade() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
-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/core/ceton_infinitv/PKGBUILD b/abs/core/ceton_infinitv/PKGBUILD
index 9768d79..7264dd9 100755
--- a/abs/core/ceton_infinitv/PKGBUILD
+++ b/abs/core/ceton_infinitv/PKGBUILD
@@ -2,14 +2,14 @@
pkgname=ceton_infinitv
#_kernver=`uname -r`
-_kernver=4.9.73-1-ARCH
+_kernver=4.9.109-1-ARCH
_extramods="extramodules-4.9-ARCH"
pkgver=2013.0326.2226
-pkgrel=24
+pkgrel=26
usb_pkgver=0.1.0
pci_pkgver=`echo $pkgver | tr . _`
pkgdesc="Drivers for Ceton InfiniTV4 - pci/usb "
-arch=('i686' 'x86_64')
+arch=('x86_64')
license=('GPL2')
url="http://cetoncorp.com/infinitv_support/linux_drivers"
depends=('linux>=4.9' 'linux<4.10' 'libgusb' 'libnl1' 'ctntad')
diff --git a/abs/core/cmake/PKGBUILD b/abs/core/cmake/PKGBUILD
index 6896a07..94f426f 100644
--- a/abs/core/cmake/PKGBUILD
+++ b/abs/core/cmake/PKGBUILD
@@ -4,21 +4,24 @@
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=cmake
-pkgver=3.6.2
-pkgrel=1
+pkgver=3.10.2
+pkgrel=3
pkgdesc='A cross-platform open-source make system'
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://www.cmake.org/"
license=('custom')
-depends=('curl' 'libarchive' 'shared-mime-info' 'jsoncpp')
-makedepends=('qt5-base' 'python2-sphinx' 'emacs')
+depends=('curl' 'libarchive' 'shared-mime-info' 'jsoncpp' 'libuv' 'rhash')
+makedepends=('qt5-base' 'python-sphinx' 'emacs')
optdepends=('qt5-base: cmake-gui'
'libxkbcommon-x11: cmake-gui')
-source=("http://www.cmake.org/files/v${pkgver%.*}/${pkgname}-${pkgver}.tar.gz")
-md5sums=('139d7affdd4e8ab1edfc9f4322d69e43')
+source=("https://www.cmake.org/files/v${pkgver%.*}/${pkgname}-${pkgver}.tar.gz"
+ 'cmake-3.10-boost-1.66-support.patch')
+sha512sums=('f58fdd025285c9ff5396c0bd0d9573fc8a498fcbe5c11b336cb8ad6154ca6bc875c1a5e22d6654ba98596791ecf89ae8adffb83450839fa1275756b0af5bf82b'
+ 'edc24a0e057056427e15b0b4c23828c8d0d23a69061d0ede9ae1bb6104bece53157480f63361b48994ea9f3b12f5bcd9f1d56c4f7d5c4b1b88c8e1a7b6ee5b68')
prepare() {
- cd ${pkgname}-${pkgver}
+ cd ${pkgname}-${pkgver}
+ patch -p1 -i "${srcdir}/cmake-3.10-boost-1.66-support.patch"
}
build() {
@@ -40,11 +43,9 @@ package() {
vimpath="${pkgdir}/usr/share/vim/vimfiles"
install -d "${vimpath}"/{help,indent,syntax}
- ln -s /usr/share/cmake-${pkgver%.*}/editors/vim/cmake-help.vim \
- "${vimpath}"/help/
- ln -s /usr/share/cmake-${pkgver%.*}/editors/vim/cmake-indent.vim \
+ ln -s /usr/share/cmake-${pkgver%.*}/editors/vim/indent/cmake.vim \
"${vimpath}"/indent/
- ln -s /usr/share/cmake-${pkgver%.*}/editors/vim/cmake-syntax.vim \
+ ln -s /usr/share/cmake-${pkgver%.*}/editors/vim/syntax/cmake.vim \
"${vimpath}"/syntax/
install -d "${pkgdir}"/usr/share/emacs/site-lisp/
diff --git a/abs/core/cmake/__changelog b/abs/core/cmake/__changelog
deleted file mode 100644
index 1f97308..0000000
--- a/abs/core/cmake/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: change dep python-sphinx to python2-sphinx
diff --git a/abs/core/cmake/cmake-3.10-boost-1.66-support.patch b/abs/core/cmake/cmake-3.10-boost-1.66-support.patch
new file mode 100644
index 0000000..fbca966
--- /dev/null
+++ b/abs/core/cmake/cmake-3.10-boost-1.66-support.patch
@@ -0,0 +1,259 @@
+From d757601d51304b12afa11aedb2f3748c9958fa81 Mon Sep 17 00:00:00 2001
+From: "Paul \"TBBle\" Hampson" <Paul.Hampson@Pobox.com>
+Date: Fri, 29 Dec 2017 19:55:49 +1100
+Subject: [PATCH 1/5] Boost 1.66.0 dependency and release update
+
+Release notes: http://www.boost.org/users/history/version_1_66_0.html
+
+* All new libraries are header-only.
+* _Boost_COMPONENT_DEPENDENCIES is unchanged from 1.65.1
+* _Boost_FIBER_COMPILER_FEATURES is unchanged from 1.64.0
+---
+ Modules/FindBoost.cmake | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake
+index 88d14ab..8db9800 100644
+--- a/Modules/FindBoost.cmake
++++ b/Modules/FindBoost.cmake
+@@ -797,7 +797,7 @@ function(_Boost_COMPONENT_DEPENDENCIES component _ret)
+ set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
+ set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+ endif()
+- if(NOT Boost_VERSION VERSION_LESS 106600)
++ if(NOT Boost_VERSION VERSION_LESS 106700)
+ message(WARNING "New Boost version may have incorrect or missing dependencies and imported targets")
+ set(_Boost_IMPORTED_TARGETS FALSE)
+ endif()
+@@ -931,8 +931,8 @@ endfunction()
+ # `${Boost_ROOT}/libs/fiber/build/Jamfile.v2`.
+ #
+ function(_Boost_COMPILER_FEATURES component _ret)
+- # Boost >= 1.62 and < 1.65
+- if(NOT Boost_VERSION VERSION_LESS 106200 AND Boost_VERSION VERSION_LESS 106500)
++ # Boost >= 1.62 and < 1.67
++ if(NOT Boost_VERSION VERSION_LESS 106200 AND Boost_VERSION VERSION_LESS 106700)
+ set(_Boost_FIBER_COMPILER_FEATURES
+ cxx_alias_templates
+ cxx_auto_type
+@@ -1038,7 +1038,7 @@ else()
+ # _Boost_COMPONENT_HEADERS. See the instructions at the top of
+ # _Boost_COMPONENT_DEPENDENCIES.
+ set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
+- "1.65.1" "1.65.0" "1.65"
++ "1.66.0" "1.66" "1.65.1" "1.65.0" "1.65"
+ "1.64.0" "1.64" "1.63.0" "1.63" "1.62.0" "1.62" "1.61.0" "1.61" "1.60.0" "1.60"
+ "1.59.0" "1.59" "1.58.0" "1.58" "1.57.0" "1.57" "1.56.0" "1.56" "1.55.0" "1.55"
+ "1.54.0" "1.54" "1.53.0" "1.53" "1.52.0" "1.52" "1.51.0" "1.51"
+--
+2.15.1
+
+From 73605cce7b4c0157c4cf3251e46877bee4cb1160 Mon Sep 17 00:00:00 2001
+From: "Paul \"TBBle\" Hampson" <Paul.Hampson@Pobox.com>
+Date: Fri, 29 Dec 2017 20:07:31 +1100
+Subject: [PATCH 2/5] Fix incorrect alphabetisation of headers list
+
+---
+ Modules/FindBoost.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake
+index 8db9800..a7df333 100644
+--- a/Modules/FindBoost.cmake
++++ b/Modules/FindBoost.cmake
+@@ -831,8 +831,8 @@ function(_Boost_COMPONENT_HEADERS component _hdrs)
+ set(_Boost_CONTAINER_HEADERS "boost/container/container_fwd.hpp")
+ set(_Boost_CONTEXT_HEADERS "boost/context/all.hpp")
+ set(_Boost_COROUTINE_HEADERS "boost/coroutine/all.hpp")
+- set(_Boost_EXCEPTION_HEADERS "boost/exception/exception.hpp")
+ set(_Boost_DATE_TIME_HEADERS "boost/date_time/date.hpp")
++ set(_Boost_EXCEPTION_HEADERS "boost/exception/exception.hpp")
+ set(_Boost_FIBER_HEADERS "boost/fiber/all.hpp")
+ set(_Boost_FILESYSTEM_HEADERS "boost/filesystem/path.hpp")
+ set(_Boost_GRAPH_HEADERS "boost/graph/adjacency_list.hpp")
+--
+2.15.1
+
+From a99b3f0698e453faf778dab5d59b91b89e35f5a1 Mon Sep 17 00:00:00 2001
+From: "Paul \"TBBle\" Hampson" <Paul.Hampson@Pobox.com>
+Date: Fri, 29 Dec 2017 21:50:54 +1100
+Subject: [PATCH 3/5] Implement "Architecture and Address Model" tag
+
+This tag is new in Boost 1.66.0, and is present in the 'versioned'
+library file name layout.
+---
+ Modules/FindBoost.cmake | 51 +++++++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 41 insertions(+), 10 deletions(-)
+
+diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake
+index a7df333..81acf02 100644
+--- a/Modules/FindBoost.cmake
++++ b/Modules/FindBoost.cmake
+@@ -1385,8 +1385,11 @@ if(Boost_DEBUG)
+ endif()
+
+ #======================
+-# Systematically build up the Boost ABI tag
+-# http://boost.org/doc/libs/1_41_0/more/getting_started/windows.html#library-naming
++# Systematically build up the Boost ABI tag for the 'tagged' and 'versioned' layouts
++# http://boost.org/doc/libs/1_66_0/more/getting_started/windows.html#library-naming
++# http://boost.org/doc/libs/1_66_0/boost/config/auto_link.hpp
++# http://boost.org/doc/libs/1_66_0/tools/build/src/tools/common.jam
++# http://boost.org/doc/libs/1_66_0/boostcpp.jam
+ set( _boost_RELEASE_ABI_TAG "-")
+ set( _boost_DEBUG_ABI_TAG "-")
+ # Key Use this library when:
+@@ -1418,11 +1421,39 @@ if(Boost_USE_STLPORT)
+ string(APPEND _boost_DEBUG_ABI_TAG "p")
+ endif()
+ # n using the STLport deprecated "native iostreams" feature
++# removed from the documentation in 1.43.0 but still present in
++# boost/config/auto_link.hpp
+ if(Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS)
+ string(APPEND _boost_RELEASE_ABI_TAG "n")
+ string(APPEND _boost_DEBUG_ABI_TAG "n")
+ endif()
+
++# -x86 Architecture and address model tag
++# First character is the architecture, then word-size, either 32 or 64
++# Only used in 'versioned' layout, added in Boost 1.66.0
++set(_boost_ARCHITECTURE_TAG "")
++# if(NOT Boost_VERSION VERSION_LESS 106600)
++# string(APPEND _boost_ARCHITECTURE_TAG "-")
++# # This needs to be kept in-sync with the section of CMakePlatformId.h.in
++# # inside 'defined(_WIN32) && defined(_MSC_VER)'
++# if(${CMAKE_CXX_COMPILER_ARCHITECTURE_ID} STREQUAL "IA64")
++# string(APPEND _boost_ARCHITECTURE_TAG "i")
++# elseif(${CMAKE_CXX_COMPILER_ARCHITECTURE_ID} STREQUAL "X86"
++# OR ${CMAKE_CXX_COMPILER_ARCHITECTURE_ID} STREQUAL "x64")
++# string(APPEND _boost_ARCHITECTURE_TAG "x")
++# elseif(${CMAKE_CXX_COMPILER_ARCHITECTURE_ID} MATCHES "^ARM")
++# string(APPEND _boost_ARCHITECTURE_TAG "a")
++# elseif(${CMAKE_CXX_COMPILER_ARCHITECTURE_ID} STREQUAL "MIPS")
++# string(APPEND _boost_ARCHITECTURE_TAG "m")
++# endif()
++#
++# if(CMAKE_SIZEOF_VOID_P EQUAL 8)
++# string(APPEND _boost_ARCHITECTURE_TAG "64")
++# else()
++# string(APPEND _boost_ARCHITECTURE_TAG "32")
++# endif()
++# endif()
++
+ if(Boost_DEBUG)
+ message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+ "_boost_RELEASE_ABI_TAG = ${_boost_RELEASE_ABI_TAG}")
+@@ -1616,22 +1647,22 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS})
+ unset(_boost_RELEASE_NAMES)
+ foreach(compiler IN LISTS _boost_COMPILER)
+ list(APPEND _boost_RELEASE_NAMES
+- ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION}
++ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}${_boost_ARCHITECTURE_TAG}-${Boost_LIB_VERSION}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG} )
+ endforeach()
+ list(APPEND _boost_RELEASE_NAMES
+- ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION}
++ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}${_boost_ARCHITECTURE_TAG}-${Boost_LIB_VERSION}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT} )
+ if(_boost_STATIC_RUNTIME_WORKAROUND)
+ set(_boost_RELEASE_STATIC_ABI_TAG "-s${_boost_RELEASE_ABI_TAG}")
+ foreach(compiler IN LISTS _boost_COMPILER)
+ list(APPEND _boost_RELEASE_NAMES
+- ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION}
++ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}${_boost_ARCHITECTURE_TAG}-${Boost_LIB_VERSION}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} )
+ endforeach()
+ list(APPEND _boost_RELEASE_NAMES
+- ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION}
++ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}${_boost_ARCHITECTURE_TAG}-${Boost_LIB_VERSION}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} )
+ endif()
+ if(Boost_THREADAPI AND ${COMPONENT} STREQUAL "thread")
+@@ -1666,11 +1697,11 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS})
+ unset(_boost_DEBUG_NAMES)
+ foreach(compiler IN LISTS _boost_COMPILER)
+ list(APPEND _boost_DEBUG_NAMES
+- ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION}
++ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}${_boost_ARCHITECTURE_TAG}-${Boost_LIB_VERSION}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG} )
+ endforeach()
+ list(APPEND _boost_DEBUG_NAMES
+- ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION}
++ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}${_boost_ARCHITECTURE_TAG}-${Boost_LIB_VERSION}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT} )
+@@ -1678,11 +1709,11 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS})
+ set(_boost_DEBUG_STATIC_ABI_TAG "-s${_boost_DEBUG_ABI_TAG}")
+ foreach(compiler IN LISTS _boost_COMPILER)
+ list(APPEND _boost_DEBUG_NAMES
+- ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION}
++ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}${_boost_ARCHITECTURE_TAG}-${Boost_LIB_VERSION}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${compiler}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} )
+ endforeach()
+ list(APPEND _boost_DEBUG_NAMES
+- ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION}
++ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}${_boost_ARCHITECTURE_TAG}-${Boost_LIB_VERSION}
+ ${Boost_LIB_PREFIX}${Boost_NAMESPACE}_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} )
+ endif()
+ if(Boost_THREADAPI AND ${COMPONENT} STREQUAL "thread")
+--
+2.15.1
+
+From 6160aed8eb8e9c6ac78b1b5ec136b4601a6c1edf Mon Sep 17 00:00:00 2001
+From: "Paul \"TBBle\" Hampson" <Paul.Hampson@Pobox.com>
+Date: Fri, 29 Dec 2017 22:38:36 +1100
+Subject: [PATCH 4/5] Search for upstream-packaged libs next to includes
+
+Upstream packages Boost binaries for Windows with the 'boost' directory
+(the INCLUDE_DIR) next to the lib-... directory (the LIBRARY_DIR).
+---
+ Modules/FindBoost.cmake | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake
+index 81acf02..6f2fd9d 100644
+--- a/Modules/FindBoost.cmake
++++ b/Modules/FindBoost.cmake
+@@ -1501,6 +1501,7 @@ foreach(c DEBUG RELEASE)
+ ${Boost_INCLUDE_DIR}/stage/lib
+ )
+ _Boost_UPDATE_WINDOWS_LIBRARY_SEARCH_DIRS_WITH_PREBUILT_PATHS(_boost_LIBRARY_SEARCH_DIRS_${c} "${Boost_INCLUDE_DIR}/..")
++ _Boost_UPDATE_WINDOWS_LIBRARY_SEARCH_DIRS_WITH_PREBUILT_PATHS(_boost_LIBRARY_SEARCH_DIRS_${c} "${Boost_INCLUDE_DIR}")
+ if( Boost_NO_SYSTEM_PATHS )
+ list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c} NO_CMAKE_SYSTEM_PATH NO_SYSTEM_ENVIRONMENT_PATH)
+ else()
+--
+2.15.1
+
+From 298d89e3bbbb480358c20af51c5be1e1d2929e0a Mon Sep 17 00:00:00 2001
+From: "Paul \"TBBle\" Hampson" <Paul.Hampson@Pobox.com>
+Date: Sat, 30 Dec 2017 16:00:29 +1100
+Subject: [PATCH 5/5] Generate imported targets for future Boost versions
+
+Per discussion on cmake/cmake#17575, this protection not particularly
+valuable, as the dependency information which the imported targets wrap
+is generated anyway.
+
+This removes a road-block for using `Boost_ADDITIONAL_VERSIONS` to
+support newly-released Boost versions pending a new CMake release.
+---
+ Modules/FindBoost.cmake | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake
+index 6f2fd9d..dbcc261 100644
+--- a/Modules/FindBoost.cmake
++++ b/Modules/FindBoost.cmake
+@@ -799,7 +799,6 @@ function(_Boost_COMPONENT_DEPENDENCIES component _ret)
+ endif()
+ if(NOT Boost_VERSION VERSION_LESS 106700)
+ message(WARNING "New Boost version may have incorrect or missing dependencies and imported targets")
+- set(_Boost_IMPORTED_TARGETS FALSE)
+ endif()
+ endif()
+
+--
+2.15.1
+
diff --git a/abs/core/cmake/rebuild.list b/abs/core/cmake/rebuild.list
index a433213..f249e83 100644
--- a/abs/core/cmake/rebuild.list
+++ b/abs/core/cmake/rebuild.list
@@ -1,4 +1,3 @@
quazip
-gluon
sfml
-wt
+cmake-fedora
diff --git a/abs/core/coreutils/PKGBUILD b/abs/core/coreutils/PKGBUILD
index 6762512..44154a2 100644
--- a/abs/core/coreutils/PKGBUILD
+++ b/abs/core/coreutils/PKGBUILD
@@ -5,27 +5,30 @@
# Contributor: judd <jvinet@zeroflux.org>
pkgname=coreutils
-pkgver=8.24
+pkgver=8.29
pkgrel=1
pkgdesc='The basic file, shell and text manipulation utilities of the GNU operating system'
-arch=('i686' 'x86_64')
+arch=('x86_64')
license=('GPL3')
-url='http://www.gnu.org/software/coreutils'
+url='https://www.gnu.org/software/coreutils/'
groups=('base')
depends=('glibc' 'acl' 'attr' 'gmp' 'libcap' 'openssl')
-install=$pkgname.install
-source=("ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig})
+source=("https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig})
validpgpkeys=('6C37DC12121A5006BC1DB804DF6FD971306037D9') # Pádraig Brady
-md5sums=('40efdbce865d2458d8da0a9dcee7c16c'
+md5sums=('960cfe75a42c9907c71439f8eb436303'
'SKIP')
prepare() {
- local _p
- for _p in *.patch; do
- [[ -e $_p ]] || continue
- msg2 "Applying $_p"
- patch -p1 -d $pkgname-$pkgver < "$_p"
+ cd $pkgname-$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() {
@@ -41,7 +44,7 @@ build() {
check() {
cd $pkgname-$pkgver
- make check
+ #make check
}
package() {
diff --git a/abs/core/coreutils/coreutils.install b/abs/core/coreutils/coreutils.install
deleted file mode 100644
index 22cfcb2..0000000
--- a/abs/core/coreutils/coreutils.install
+++ /dev/null
@@ -1,17 +0,0 @@
-infodir=usr/share/info
-file=coreutils.info
-
-post_install() {
- [[ -x usr/bin/install-info ]] || return 0
- install-info $infodir/$file.gz $infodir/dir 2> /dev/null
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- [[ -x usr/bin/install-info ]] || return 0
- install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
-}
-
diff --git a/abs/core/cryptsetup/PKGBUILD b/abs/core/cryptsetup/PKGBUILD
index 238fff9..4b2617f 100644
--- a/abs/core/cryptsetup/PKGBUILD
+++ b/abs/core/cryptsetup/PKGBUILD
@@ -1,43 +1,47 @@
# $Id$
-# Maintainer: Thomas Bächler <thomas@archlinux.org>
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Thomas Bächler <thomas@archlinux.org>
+
pkgname=cryptsetup
-pkgver=1.7.0
-pkgrel=1
-pkgdesc="Userspace setup tool for transparent encryption of block devices using dm-crypt"
-arch=(i686 x86_64)
+pkgver=2.0.1
+pkgrel=2
+pkgdesc='Userspace setup tool for transparent encryption of block devices using dm-crypt'
+arch=(x86_64)
license=('GPL')
-url="http://code.google.com/p/cryptsetup/"
+url='https://gitlab.com/cryptsetup/cryptsetup/'
groups=('base')
-depends=('device-mapper' 'libgcrypt' 'popt' 'libutil-linux')
+depends=('device-mapper' 'libgcrypt' 'popt' 'libutil-linux' 'json-c' 'argon2')
makedepends=('util-linux')
options=('!emptydirs')
-source=(https://www.kernel.org/pub/linux/utils/cryptsetup/v1.7/${pkgname}-${pkgver}.tar.xz
- https://www.kernel.org/pub/linux/utils/cryptsetup/v1.7/${pkgname}-${pkgver}.tar.sign
- encrypt_hook
- encrypt_install
- sd-encrypt)
validpgpkeys=('2A2918243FDE46648D0686F9D9B0577BD93E98FC') # Milan Broz <gmazyland@gmail.com>
-sha256sums=('075524a7cc0db36d12119fa79116750accb1c6c8825d5faa2534b74b8ce3d148'
+source=("https://www.kernel.org/pub/linux/utils/cryptsetup/v2.0/${pkgname}-${pkgver}.tar."{xz,sign}
+ 'hooks-encrypt'
+ 'install-encrypt'
+ 'install-sd-encrypt')
+sha256sums=('41d188092c52e23d576af41cf0cfe0555d8f7efa21598d4c57c56ea1b6d9c975'
'SKIP'
- '4406f8dc83f4f1b408e49d557515f721d91b358355c71fbe51f74ab27e5c84ff'
- 'cfe465bdad3d958bb2332a05e04f2e1e884422a5714dfd1a0a3b9b74bf7dc6ae'
- 'd442304e6a78b3513ebc53be3fe2f1276a7df470c8da701b3ece971d59979bdd')
-
-#prepare() {
-# cd "${srcdir}"/$pkgname-${pkgver}
-#}
+ '416aa179ce3c6a7a5eee0861f1f0a4fafac91b69e84a2aae82b6e5a6140e31e2'
+ '7b8c8a189f1b63cb4a0c0dd93d3452615bdc05f0e33570c78b338446a59ca750'
+ '7891087a588ede7a5b885c439217af325c994471e821fbfbf4f4ccce47679261')
build() {
cd "${srcdir}"/$pkgname-${pkgver}
- ./configure --prefix=/usr --sbindir=/usr/bin --disable-static --enable-cryptsetup-reencrypt
+
+ ./configure \
+ --prefix=/usr \
+ --sbindir=/usr/bin \
+ --enable-libargon2 \
+ --disable-static
make
}
package() {
cd "${srcdir}"/$pkgname-${pkgver}
+
make DESTDIR="${pkgdir}" install
+
# install hook
- install -D -m644 "${srcdir}"/encrypt_hook "${pkgdir}"/usr/lib/initcpio/hooks/encrypt
- install -D -m644 "${srcdir}"/encrypt_install "${pkgdir}"/usr/lib/initcpio/install/encrypt
- install -D -m644 "${srcdir}"/sd-encrypt "${pkgdir}"/usr/lib/initcpio/install/sd-encrypt
+ install -D -m0644 "${srcdir}"/hooks-encrypt "${pkgdir}"/usr/lib/initcpio/hooks/encrypt
+ install -D -m0644 "${srcdir}"/install-encrypt "${pkgdir}"/usr/lib/initcpio/install/encrypt
+ install -D -m0644 "${srcdir}"/install-sd-encrypt "${pkgdir}"/usr/lib/initcpio/install/sd-encrypt
}
diff --git a/abs/core/cryptsetup/encrypt_hook b/abs/core/cryptsetup/hooks-encrypt
index 819c4cf..882d5fb 100644
--- a/abs/core/cryptsetup/encrypt_hook
+++ b/abs/core/cryptsetup/hooks-encrypt
@@ -44,6 +44,12 @@ EOF
cryptname="root"
fi
+ # This may happen if third party hooks do the crypt setup
+ if [ -b "/dev/mapper/${cryptname}" ]; then
+ echo "Device ${cryptname} already exists, not doing any crypt setup."
+ return 0
+ fi
+
warn_deprecated() {
echo "The syntax 'root=${root}' where '${root}' is an encrypted volume is deprecated"
echo "Use 'cryptdevice=${root}:root root=/dev/mapper/root' instead."
@@ -88,7 +94,7 @@ EOF
fi
else
err "Password succeeded, but ${cryptname} creation failed, aborting..."
- exit 1
+ return 1
fi
elif [ -n "${crypto}" ]; then
[ ${DEPRECATED_CRYPT} -eq 1 ] && warn_deprecated
@@ -110,7 +116,6 @@ EOF
if [ -f "$ckeyfile" ]; then
exe="$exe --key-file $ckeyfile"
else
- exe="$exe --verify-passphrase"
echo ""
echo "A password is required to access the ${cryptname} volume:"
fi
@@ -119,7 +124,7 @@ EOF
if [ $? -ne 0 ]; then
err "Non-LUKS device decryption failed. verify format: "
err " crypto=hash:cipher:keysize:offset:skip"
- exit 1
+ return 1
fi
if [ -e "/dev/mapper/${cryptname}" ]; then
if [ ${DEPRECATED_CRYPT} -eq 1 ]; then
@@ -127,7 +132,7 @@ EOF
fi
else
err "Password succeeded, but ${cryptname} creation failed, aborting..."
- exit 1
+ return 1
fi
else
err "Failed to open encryption mapping: The device ${cryptdev} is not a LUKS volume and the crypto= paramater was not specified."
diff --git a/abs/core/cryptsetup/encrypt_install b/abs/core/cryptsetup/install-encrypt
index 38e5ddc..017ba00 100644
--- a/abs/core/cryptsetup/encrypt_install
+++ b/abs/core/cryptsetup/install-encrypt
@@ -3,13 +3,13 @@
build() {
local mod
- add_module dm-crypt
+ add_module "dm-crypt"
if [[ $CRYPTO_MODULES ]]; then
for mod in $CRYPTO_MODULES; do
add_module "$mod"
done
else
- add_all_modules '/crypto/'
+ add_all_modules "/crypto/"
fi
add_binary "cryptsetup"
@@ -19,6 +19,9 @@ build() {
add_file "/usr/lib/udev/rules.d/95-dm-notify.rules"
add_file "/usr/lib/initcpio/udev/11-dm-initramfs.rules" "/usr/lib/udev/rules.d/11-dm-initramfs.rules"
+ # cryptsetup calls pthread_create(), which dlopen()s libgcc_s.so.1
+ add_binary "/usr/lib/libgcc_s.so.1"
+
add_runscript
}
diff --git a/abs/core/cryptsetup/sd-encrypt b/abs/core/cryptsetup/install-sd-encrypt
index c18fd2f..08d83d6 100644
--- a/abs/core/cryptsetup/sd-encrypt
+++ b/abs/core/cryptsetup/install-sd-encrypt
@@ -3,13 +3,13 @@
build() {
local mod
- add_module dm-crypt
+ add_module "dm-crypt"
if [[ $CRYPTO_MODULES ]]; then
for mod in $CRYPTO_MODULES; do
add_module "$mod"
done
else
- add_all_modules '/crypto/'
+ add_all_modules "/crypto/"
fi
add_binary "dmsetup"
@@ -18,14 +18,17 @@ build() {
add_file "/usr/lib/udev/rules.d/95-dm-notify.rules"
add_file "/usr/lib/initcpio/udev/11-dm-initramfs.rules" "/usr/lib/udev/rules.d/11-dm-initramfs.rules"
- add_systemd_unit cryptsetup.target
- add_binary /usr/lib/systemd/system-generators/systemd-cryptsetup-generator
- add_binary /usr/lib/systemd/systemd-cryptsetup
+ add_systemd_unit "cryptsetup.target"
+ add_binary "/usr/lib/systemd/system-generators/systemd-cryptsetup-generator"
+ add_binary "/usr/lib/systemd/systemd-cryptsetup"
- add_systemd_unit systemd-ask-password-console.path
- add_systemd_unit systemd-ask-password-console.service
+ add_systemd_unit "systemd-ask-password-console.path"
+ add_systemd_unit "systemd-ask-password-console.service"
- [[ -f /etc/crypttab.initramfs ]] && add_file /etc/crypttab.initramfs /etc/crypttab
+ # cryptsetup calls pthread_create(), which dlopen()s libgcc_s.so.1
+ add_binary "/usr/lib/libgcc_s.so.1"
+
+ [[ -f /etc/crypttab.initramfs ]] && add_file "/etc/crypttab.initramfs" "/etc/crypttab"
}
help() {
diff --git a/abs/core/curl/PKGBUILD b/abs/core/curl/PKGBUILD
index 212a08a..fed52a2 100644
--- a/abs/core/curl/PKGBUILD
+++ b/abs/core/curl/PKGBUILD
@@ -6,21 +6,20 @@
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=curl
-pkgver=7.47.1
+pkgver=7.58.0
pkgrel=2
pkgdesc="An URL retrieval utility and library"
-arch=('i686' 'x86_64')
-url="http://curl.haxx.se"
+arch=('x86_64')
+url="https://curl.haxx.se"
license=('MIT')
-depends=('ca-certificates' 'krb5' 'libidn' 'libssh2' 'openssl' 'zlib')
+depends=('ca-certificates' 'krb5' 'libssh2' 'openssl' 'zlib' 'libpsl' 'libnghttp2')
provides=('libcurl.so')
options=('strip' 'debug')
-source=("http://curl.haxx.se/download/$pkgname-$pkgver.tar.gz"{,.asc}
- curlbuild.h)
-md5sums=('3f9d1be7bf33ca4b8c8602820525302b'
- 'SKIP'
- '751bd433ede935c8fae727377625a8ae')
-validpgpkeys=('914C533DF9B2ADA2204F586D78E11C6B279D5C91') # Daniel Stenberg
+source=("https://curl.haxx.se/download/$pkgname-$pkgver.tar.gz"{,.asc})
+sha512sums=('7b12b79107558bb266672d6e128615fe5a8149c37f4ae540197e3298f5d312beb2d78fbb23e3ea84ea7afc41549898a1e5cd38509f0388b11707b48d5efb8ca3'
+ 'SKIP')
+validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2' # Daniel Stenberg
+ '914C533DF9B2ADA2204F586D78E11C6B279D5C91') # Daniel Stenberg (old key)
build() {
cd "$pkgname-$pkgver"
@@ -30,12 +29,11 @@ build() {
--mandir=/usr/share/man \
--disable-ldap \
--disable-ldaps \
+ --disable-manual \
--enable-ipv6 \
- --enable-manual \
--enable-versioned-symbols \
--enable-threaded-resolver \
--with-gssapi \
- --with-libidn \
--with-random=/dev/urandom \
--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt
@@ -46,20 +44,8 @@ package() {
cd "$pkgname-$pkgver"
make DESTDIR="$pkgdir" install
-
- local ptrsize=$(cpp <<<'__SIZEOF_POINTER__' | sed '/^#/d')
- case $ptrsize in
- 8) _curlbuild=curlbuild-64.h ;;
- 4) _curlbuild=curlbuild-32.h ;;
- *) error "unknown pointer size for architecture: %s bytes" "$ptrsize"
- exit 1
- ;;
- esac
+ make DESTDIR="$pkgdir" install -C scripts
# license
install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
-
- # devel
- mv "$pkgdir/usr/include/curl/curlbuild.h" "$pkgdir/usr/include/curl/$_curlbuild"
- install -m644 "$srcdir/curlbuild.h" "$pkgdir/usr/include/curl/curlbuild.h"
}
diff --git a/abs/core/curl/curlbuild.h b/abs/core/curl/curlbuild.h
deleted file mode 100644
index b488626..0000000
--- a/abs/core/curl/curlbuild.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <bits/wordsize.h>
-
-#if __WORDSIZE == 32
-#include "curlbuild-32.h"
-#elif __WORDSIZE == 64
-#include "curlbuild-64.h"
-#else
-#error "Unknown word size"
-#endif
diff --git a/abs/core/cython/PKGBUILD b/abs/core/cython/PKGBUILD
deleted file mode 100644
index 1952091..0000000
--- a/abs/core/cython/PKGBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# $Id$
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Contributor: Igor Scabini <furester @ gmail.com>
-
-pkgname=('cython2')
-pkgbase=cython
-pkgver=0.24
-pkgrel=1
-pkgdesc="C-Extensions for Python "
-arch=(i686 x86_64)
-url="http://www.cython.org"
-license=('APACHE')
-makedepends=('python2-setuptools')
-source=("http://cython.org/release/Cython-$pkgver.tar.gz")
-md5sums=('14fbc970f4a856845e633cbc09e61048')
-
-package_cython() {
- depends=('python' 'python-setuptools')
-
- cd $srcdir/Cython-$pkgver
- python setup.py install --root=$pkgdir
-
- sed -i 's|#!.*python|#!/usr/bin/python3|' $pkgdir/usr/bin/*
-}
-
-package_cython2() {
- depends=('python2' 'python2-setuptools')
-
- cd $srcdir/Cython-$pkgver
- python2 setup.py install --root=$pkgdir
-
- mv $pkgdir/usr/bin/cygdb $pkgdir/usr/bin/cygdb2
- mv $pkgdir/usr/bin/cython $pkgdir/usr/bin/cython2
- mv $pkgdir/usr/bin/cythonize $pkgdir/usr/bin/cythonize2
-}
diff --git a/abs/core/cython/__changelog b/abs/core/cython/__changelog
deleted file mode 100644
index 9731eb3..0000000
--- a/abs/core/cython/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-removed python3
diff --git a/abs/core/dbus-python/PKGBUILD b/abs/core/dbus-python/PKGBUILD
index 2e7116d..acaf5e8 100644
--- a/abs/core/dbus-python/PKGBUILD
+++ b/abs/core/dbus-python/PKGBUILD
@@ -2,59 +2,62 @@
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=dbus-python
-pkgname=('python2-dbus' 'python-dbus-common')
-pkgver=1.2.0
-pkgrel=4
+pkgname=('python-dbus' 'python2-dbus' 'python-dbus-common')
+pkgver=1.2.6
+pkgrel=1
pkgdesc="Python bindings for DBUS"
-arch=('i686' 'x86_64')
+url="https://www.freedesktop.org/wiki/Software/DBusBindings"
+arch=(x86_64)
license=('GPL' 'LGPL')
-url="http://www.freedesktop.org/wiki/Software/DBusBindings"
-makedepends=('docutils' 'dbus-glib' 'python2')
-source=(http://dbus.freedesktop.org/releases/${pkgbase}/${pkgbase}-${pkgver}.tar.gz{,.asc})
-md5sums=('b09cd2d1a057cc432ce944de3fc06bf7'
- 'SKIP')
+depends=('dbus' 'glib2')
+makedepends=('docutils' 'python' 'python2' 'autoconf-archive')
+source=(https://dbus.freedesktop.org/releases/${pkgbase}/${pkgbase}-${pkgver}.tar.gz{,.asc})
+sha256sums=('32f29c17172cdb9cb61c68b1f1a71dfe7351506fc830869029c47449bd04faeb'
+ 'SKIP')
+validpgpkeys=('DA98F25C0871C49A59EAFF2C4DE8FF2A63C7CC90')
prepare() {
- mkdir build-python2
+ mkdir build-python2 build-python3
cd $pkgbase-$pkgver
autoreconf -fi
}
build() {
cd build-python2
- PYTHON=python2 ../${pkgbase}-${pkgver}/configure --prefix=/usr
+ ../${pkgbase}-${pkgver}/configure --prefix=/usr PYTHON_VERSION=2
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
-# cd ../build-python3
-# ../${pkgbase}-${pkgver}/configure --prefix=/usr
-# make
+ cd ../build-python3
+ ../${pkgbase}-${pkgver}/configure --prefix=/usr
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+ make
}
package_python-dbus-common() {
pkgdesc="Common dbus-python files shared between python-dbus and python2-dbus"
+ depends=()
conflicts=('dbus-python<1.1.0')
- cd build-python2
+ cd build-python3
make DESTDIR="${pkgdir}" install-data
- rm -rf "${pkgdir}"/usr/lib/python*
+ rm -r "${pkgdir}"/usr/lib/python*
}
-#package_python-dbus() {
-# depends=('python-dbus-common' 'python' 'dbus')
-# optdepends=('dbus-glib: glib mainloop support')
-# pkgdesc="Python 3.3 bindings for DBUS"
+package_python-dbus() {
+ depends+=('python-dbus-common' 'python')
+ pkgdesc="Python 3.6 bindings for DBUS"
-# cd build-python3
-# make DESTDIR="${pkgdir}" install
+ cd build-python3
+ make DESTDIR="${pkgdir}" install
-# rm -rf "${pkgdir}/usr/share"
-# rm -rf "${pkgdir}/usr/include"
-# rm -rf "${pkgdir}/usr/lib/pkgconfig"
-#}
+ rm -r "${pkgdir}/usr/share"
+ rm -r "${pkgdir}/usr/include"
+ rm -r "${pkgdir}/usr/lib/pkgconfig"
+}
package_python2-dbus() {
- depends=('python-dbus-common' 'python2' 'dbus')
- optdepends=('dbus-glib: glib mainloop support')
+ depends+=('python-dbus-common' 'python2')
pkgdesc="Python 2.7 bindings for DBUS"
replaces=('dbus-python')
conflicts=('dbus-python')
@@ -63,7 +66,7 @@ package_python2-dbus() {
cd build-python2
make DESTDIR="${pkgdir}" install
- rm -rf "${pkgdir}/usr/share"
- rm -rf "${pkgdir}/usr/include"
- rm -rf "${pkgdir}/usr/lib/pkgconfig"
+ rm -r "${pkgdir}/usr/share"
+ rm -r "${pkgdir}/usr/include"
+ rm -r "${pkgdir}/usr/lib/pkgconfig"
}
diff --git a/abs/core/dbus-python/__changelog b/abs/core/dbus-python/__changelog
deleted file mode 100644
index 9731eb3..0000000
--- a/abs/core/dbus-python/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-removed python3
diff --git a/abs/core/dbus/PKGBUILD b/abs/core/dbus/PKGBUILD
index ddc3ebf..32a2d2f 100644
--- a/abs/core/dbus/PKGBUILD
+++ b/abs/core/dbus/PKGBUILD
@@ -1,68 +1,87 @@
# $Id$
-# Maintainer: Tom Gundersen <teg@jklm.no>
# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Tom Gundersen <teg@jklm.no>
# Contributor: Link Dupont <link@subpop.net>
pkgbase=dbus
-pkgname=('dbus' 'libdbus')
-pkgver=1.10.6
+pkgname=(dbus dbus-docs)
+pkgver=1.12.6
pkgrel=1
pkgdesc="Freedesktop.org message bus system"
-url="http://www.freedesktop.org/Software/dbus"
-arch=(i686 x86_64)
-license=('GPL' 'custom')
-makedepends=('libx11' 'systemd' 'xmlto' 'docbook-xsl')
-source=(http://dbus.freedesktop.org/releases/dbus/dbus-$pkgver.tar.gz{,.asc})
-md5sums=('26d0cf3a1c9782cb0e342101f0450440'
- 'SKIP')
+url="https://wiki.freedesktop.org/www/Software/dbus/"
+arch=(x86_64)
+license=(GPL custom)
+depends=(libsystemd expat)
+makedepends=(systemd xmlto docbook-xsl python yelp-tools doxygen git autoconf-archive graphviz)
+_commit=a723baa2bc7e91fc9b1926cda1ce53e9301de4d8 # tags/dbus-1.12.6^0
+source=("git+https://anongit.freedesktop.org/git/dbus/dbus#commit=$_commit"
+ 'dbus.sysusers')
+sha256sums=('SKIP'
+ 'ee7a7a4b2f944cb2e64b9e760efb82589d81872b5b70268356fb73c83c394845')
validpgpkeys=('DA98F25C0871C49A59EAFF2C4DE8FF2A63C7CC90' # Simon McVittie <simon.mcvittie@collabora.co.uk>
'3C8672A0F49637FE064AC30F52A43A1E4B77B059') # Simon McVittie <simon.mcvittie@collabora.co.uk>
+pkgver() {
+ cd $pkgbase
+ git describe --tags | sed 's/^dbus-//;s/-/+/g'
+}
+
prepare() {
- cd dbus-$pkgver
+ cd $pkgbase
+
+ # Reduce docs size
+ printf '%s\n' >>Doxyfile.in \
+ HAVE_DOT=yes DOT_IMAGE_FORMAT=svg INTERACTIVE_SVG=yes
+
+ NOCONFIGURE=1 ./autogen.sh
}
build() {
- cd dbus-$pkgver
+ cd $pkgbase
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
--libexecdir=/usr/lib/dbus-1.0 --with-dbus-user=dbus \
--with-system-pid-file=/run/dbus/pid \
--with-system-socket=/run/dbus/system_bus_socket \
--with-console-auth-dir=/run/console/ \
- --enable-inotify \
- --disable-verbose-mode --disable-static \
- --disable-tests --disable-asserts \
+ --enable-inotify --disable-static \
+ --disable-verbose-mode --disable-asserts \
--with-systemdsystemunitdir=/usr/lib/systemd/system \
--enable-systemd --enable-user-session
make
}
-package_dbus(){
- depends=('libdbus' 'expat')
- optdepends=('libx11: dbus-launch support')
- provides=('dbus-core')
- conflicts=('dbus-core')
- replaces=('dbus-core')
+check() {
+ cd $pkgbase
+ make check
+}
- cd dbus-$pkgver
+package_dbus() {
+ provides=(libdbus)
+ conflicts=(libdbus)
+ replaces=(libdbus)
- # Disable installation of libdbus
- sed -i -e 's/^SUBDIRS = dbus/SUBDIRS =/' Makefile
+ cd $pkgbase
make DESTDIR="$pkgdir" install
- rm -r "${pkgdir}/var/run"
- rm -r "${pkgdir}/usr/lib/pkgconfig"
+ rm -r "$pkgdir/var/run"
+
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgbase/COPYING"
- install -Dm644 COPYING "$pkgdir/usr/share/licenses/dbus/COPYING"
+ # We have a pre-assigned uid (81)
+ install -m644 "$srcdir/dbus.sysusers" "$pkgdir/usr/lib/sysusers.d/dbus.conf"
+
+ # Split docs
+ mv "$pkgdir/usr/share/doc" "$srcdir"
}
-package_libdbus(){
- pkgdesc="DBus library"
- depends=('libsystemd')
+package_dbus-docs() {
+ pkgdesc+=" (documentation)"
+ depends=(dbus)
+
+ install -d "$pkgdir/usr/share/licenses"
+ ln -s dbus "$pkgdir/usr/share/licenses/dbus-docs"
- cd dbus-$pkgver
- make DESTDIR="$pkgdir" -C dbus install
- make DESTDIR="$pkgdir" install-data-am
- install -Dm644 COPYING "${pkgdir}/usr/share/licenses/libdbus/COPYING"
+ mv doc "$pkgdir/usr/share"
}
diff --git a/abs/core/dbus/dbus.sysusers b/abs/core/dbus/dbus.sysusers
new file mode 100644
index 0000000..c6199ed
--- /dev/null
+++ b/abs/core/dbus/dbus.sysusers
@@ -0,0 +1,5 @@
+# sysusers.d snippet for creating the D-Bus system user automatically
+# at boot on systemd-based systems that ship with an unpopulated
+# /etc. See sysusers.d(5) for details.
+
+u dbus 81 "System Message Bus"
diff --git a/abs/core/dialog/PKGBUILD b/abs/core/dialog/PKGBUILD
index d615e05..1f4e0b5 100644
--- a/abs/core/dialog/PKGBUILD
+++ b/abs/core/dialog/PKGBUILD
@@ -1,27 +1,36 @@
-# $Id: PKGBUILD 163201 2012-07-09 14:42:05Z stephane $
-# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
+# $Id$
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Andreas Radke <andyrtr@archlinux.org>
pkgname=dialog
-pkgver=1.1_20120706
+pkgver=1.3_20171209
pkgrel=1
+epoch=1
pkgdesc="A tool to display dialog boxes from shell scripts"
-arch=('i686' 'x86_64')
-url="http://invisible-island.net/dialog/"
+arch=('x86_64')
+url="https://invisible-island.net/dialog/"
license=('LGPL2.1')
-depends=('ncurses')
-source=(ftp://invisible-island.net/${pkgname}/${pkgname}-${pkgver/_/-}.tgz)
-sha1sums=('fa033f0fb166da86e29d70e68159a92a9b9cdb84')
+depends=('sh' 'ncurses')
+provides=('libdialog.so')
+source=(https://invisible-mirror.net/archives/$pkgname/$pkgname-${pkgver/_/-}.tgz)
+sha256sums=('20139442119e2eff5c35236e8e5e313c901539008d9cccf8c8ab3851b41267e6')
build() {
- cd "${srcdir}/$pkgname-${pkgver/_/-}"
- ./configure --prefix=/usr --mandir=/usr/share/man \
- --with-ncursesw --enable-nls
+ cd "$srcdir/$pkgname-${pkgver/_/-}"
+
+ ./configure \
+ --prefix=/usr \
+ --enable-nls \
+ --with-libtool \
+ --with-ncursesw
make
}
package() {
- cd "${srcdir}/$pkgname-${pkgver/_/-}"
- make DESTDIR="${pkgdir}" install install-lib
+ cd "$srcdir/$pkgname-${pkgver/_/-}"
+ make DESTDIR="$pkgdir" install-full
}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/ding-libs/PKGBUILD b/abs/core/ding-libs/PKGBUILD
new file mode 100644
index 0000000..be98822
--- /dev/null
+++ b/abs/core/ding-libs/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id$
+# Maintainer: AndyRTR <andyrtr@archlinux.org>
+# Contributor: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+# Contributor: Mantas M. <grawity@gmail.com>
+
+pkgname=ding-libs
+pkgver=0.6.1
+pkgrel=1
+pkgdesc="'D is not GLib' utility libraries"
+arch=('x86_64')
+url="https://pagure.io/SSSD/ding-libs/"
+license=('GPL3' 'LGPL3')
+depends=('glibc')
+makedepends=('doxygen')
+checkdepends=('check')
+source=(https://releases.pagure.org/SSSD//$pkgname/$pkgname-$pkgver.tar.gz{,.asc})
+sha1sums=('dab4c855b065bd728021437af81ae726c31c5272'
+ 'SKIP')
+validpgpkeys=('7B54CAE8A03D66F3D70A5B516F5A90EB44FBC7C7' # "Pavel Reichl <preichl@redhat.com>"
+ 'E4E366758CA0716AAB8048671EC6AB7532E7BC25' # "Jakub Hrozek <jhrozek@redhat.com>"
+ '16F24229488E736048952737BA88000FE6398272') # "Michal Židek (rh_work) <mzidek@redhat.com>"
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --disable-static
+ make all docs
+}
+
+check() {
+ cd $pkgname-$pkgver
+ make check
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/abs/core/dirmngr/PKGBUILD b/abs/core/dirmngr/PKGBUILD
deleted file mode 100644
index 40e0c74..0000000
--- a/abs/core/dirmngr/PKGBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# $Id: PKGBUILD 155870 2012-04-08 07:13:40Z tpowa $
-# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
-
-pkgname=dirmngr
-pkgver=1.1.0
-pkgrel=4
-pkgdesc="A daemon to handle CRL and certificate requests"
-arch=('i686' 'x86_64')
-license=('GPL')
-url="ftp://ftp.gnupg.org/gcrypt/dirmngr"
-depends=('libgcrypt' 'libldap' 'libksba' 'libgpg-error' 'libassuan' 'pth')
-source=(ftp://ftp.gnupg.org/gcrypt/$pkgname/$pkgname-$pkgver.tar.bz2)
-install=dirmngr.install
-
-build() {
- cd $srcdir/$pkgname-$pkgver
- # FIX for https://bugzilla.redhat.com/565131
- # not sure how best to turn this into something more upstreamable
- # patch configure to try this combo first? -- Rex
- # https://bugs.archlinux.org/task/28606
- export LDAPLIBS="-lldap -llber"
- ./configure --prefix=/usr --libexecdir=/usr/lib
- make
-}
-
-package() {
- cd $srcdir/$pkgname-$pkgver
- make DESTDIR=$pkgdir install
-}
-md5sums=('f2570f0248f5947daac200e85291b328')
diff --git a/abs/core/dirmngr/dirmngr.install b/abs/core/dirmngr/dirmngr.install
deleted file mode 100644
index e26e0e7..0000000
--- a/abs/core/dirmngr/dirmngr.install
+++ /dev/null
@@ -1,20 +0,0 @@
-infodir=usr/share/info
-filelist=(dirmngr.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/core/dnsutils/PKGBUILD b/abs/core/dnsutils/PKGBUILD
deleted file mode 100644
index 9fc5101..0000000
--- a/abs/core/dnsutils/PKGBUILD
+++ /dev/null
@@ -1,52 +0,0 @@
-# $Id: PKGBUILD 161356 2012-06-10 08:42:42Z bisson $
-# Maintainer: Gaetan Bisson <bisson@archlinux.org>
-# Contributor: kevin <kevin@archlinux.org>
-# Contributor: mario <mario_vazq@hotmail.com>
-
-pkgname=dnsutils
-
-# Use a period and not a hyphen before the patch level for proper versioning.
-pkgver=9.9.1.P1
-_pkgver=9.9.1-P1
-pkgrel=1
-
-pkgdesc='DNS utilities: dig host nslookup'
-url='http://www.isc.org/software/bind/'
-license=('custom:ISC')
-arch=('i686' 'x86_64')
-options=('!makeflags')
-depends=('openssl' 'krb5' 'idnkit' 'dnssec-anchors')
-source=("http://ftp.isc.org/isc/bind9/${_pkgver}/bind-${_pkgver}.tar.gz"
- 'remove-bind.patch')
-sha1sums=('a2263b96ccd8a143ea54b39958142c542bf605a8'
- 'b465ef6160b004838f04de9978fe1be8422af777')
-
-replaces=('bind-tools' 'host')
-
-build() {
- cd "${srcdir}/bind-${_pkgver}"
-
- patch -p1 -i ../remove-bind.patch
- export STD_CDEFINES='-DDIG_SIGCHASE'
-
- # hack to remove unused bloat from the binaries
- CFLAGS+=' -fdata-sections -ffunction-sections'
- LDFLAGS+=' -Wl,--gc-sections'
-
- ./configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --disable-static \
- --disable-linux-caps \
- --with-openssl \
- --with-idn \
-
- make
-}
-
-package() {
- cd "${srcdir}/bind-${_pkgver}"
- install -Dm644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
- cd bin; make DESTDIR="${pkgdir}" install
-}
diff --git a/abs/core/dnsutils/remove-bind.patch b/abs/core/dnsutils/remove-bind.patch
deleted file mode 100644
index 19d6509..0000000
--- a/abs/core/dnsutils/remove-bind.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -aur old/bin/Makefile.in new/bin/Makefile.in
---- old/bin/Makefile.in 2009-10-05 05:07:08.000000000 -0700
-+++ new/bin/Makefile.in 2011-08-28 19:16:17.245495043 -0700
-@@ -19,8 +19,7 @@
- VPATH = @srcdir@
- top_srcdir = @top_srcdir@
-
--SUBDIRS = named rndc dig dnssec tests tools nsupdate \
-- check confgen @PKCS11_TOOLS@
-+SUBDIRS = dig
- TARGETS =
-
- @BIND9_MAKE_RULES@
-diff -aur old/lib/Makefile.in new/lib/Makefile.in
---- old/lib/Makefile.in 2007-06-19 16:47:13.000000000 -0700
-+++ new/lib/Makefile.in 2011-08-28 19:17:50.828688599 -0700
-@@ -23,7 +23,7 @@
- # Attempt to disable parallel processing.
- .NOTPARALLEL:
- .NO_PARALLEL:
--SUBDIRS = isc isccc dns isccfg bind9 lwres tests
-+SUBDIRS = isc dns isccfg bind9 lwres
- TARGETS =
-
- @BIND9_MAKE_RULES@
diff --git a/abs/core/docutils/PKGBUILD b/abs/core/docutils/PKGBUILD
deleted file mode 100644
index 0b04dc3..0000000
--- a/abs/core/docutils/PKGBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# $Id: PKGBUILD 87861 2010-08-18 14:26:28Z ibiru $
-# Maintainer : Ionut Biru <ibiru@archlinux.org>
-# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
-
-pkgname=docutils
-pkgver=0.7
-pkgrel=5
-pkgdesc="Set of tools for processing plaintext docs into formats such as HTML, XML, or LaTeX"
-arch=('any')
-url="http://docutils.sourceforge.net"
-license=('custom')
-depends=('python2')
-source=(http://downloads.sourceforge.net/docutils/docutils-$pkgver.tar.gz)
-md5sums=('9aec716baf15d06b5aa57cf8d5591c15')
-
-build() {
- cd ${srcdir}/${pkgname}-${pkgver}
- python2 setup.py install --root=${pkgdir} --optimize=1
-
- for f in ${pkgdir}/usr/bin/*.py; do
- ln -s $(basename $f) $pkgdir/usr/bin/$(basename $f .py)
- done
-
- sed -e 's|#! /usr/bin/env python|#!/usr/bin/env python2|' \
- -i ${pkgdir}/usr/lib/python2.7/site-packages/docutils/readers/python/pynodes.py
- sed -e 's|#!/usr/bin/env python|#!/usr/bin/env python2|' \
- -i ${pkgdir}/usr/lib/python2.7/site-packages/docutils/_string_template_compat.py
-
- install -D -m644 COPYING.txt ${pkgdir}/usr/share/licenses/${pkgname}/COPYING.txt
- install -D -m644 licenses/python* ${pkgdir}/usr/share/licenses/${pkgname}/
-}
-
diff --git a/abs/core/fakeroot/PKGBUILD b/abs/core/fakeroot/PKGBUILD
index 292e30d..ed80d20 100644
--- a/abs/core/fakeroot/PKGBUILD
+++ b/abs/core/fakeroot/PKGBUILD
@@ -1,35 +1,58 @@
-# $Id: PKGBUILD 160939 2012-06-07 07:26:49Z allan $
-# Maintainer: Allan McRae <allan@archlinux.org>
+# $Id$
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Jochem Kossen <j.kossen@home.nl>
pkgname=fakeroot
-pkgver=1.18.4
+pkgver=1.22
pkgrel=1
-pkgdesc="Gives a fake root environment, useful for building packages as a non-privileged user"
-arch=('i686' 'x86_64')
-license=('GPL')
-url="http://packages.debian.org/fakeroot"
-groups=('base-devel')
+pkgdesc='Tool for simulating superuser privileges'
+arch=(x86_64)
+license=(GPL)
+url='http://packages.debian.org/fakeroot'
+groups=(base-devel)
install=fakeroot.install
-depends=('glibc' 'filesystem' 'sed' 'util-linux' 'sh')
-options=('!libtool')
-source=(http://ftp.debian.org/debian/pool/main/f/${pkgname}/${pkgname}_${pkgver}.orig.tar.bz2)
-md5sums=('706171d8d520b1ca1576ac73f2ceb4f3')
+depends=(glibc filesystem sed util-linux sh)
+#makedepends=(po4a)
+checkdepends=(sharutils)
+source=(http://ftp.debian.org/debian/pool/main/f/$pkgname/${pkgname}_${pkgver}.orig.tar.bz2
+ silence-dlerror.patch)
+md5sums=('fae64c9aeb2c895ead8e1b99bf50c631'
+ '5fba0b541b5af39d804265223fda525c')
+
+prepare() {
+ cd $pkgname-$pkgver
+ patch -p1 -i "$srcdir"/silence-dlerror.patch
+
+ ./bootstrap
+}
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr --libdir=/usr/lib/libfakeroot \
- --disable-static --with-ipc=sysv
+ cd $pkgname-$pkgver
+
+ ./configure --prefix=/usr \
+ --libdir=/usr/lib/libfakeroot \
+ --disable-static \
+ --with-ipc=sysv
+
make
+
+# cd doc
+# po4a -k 0 --rm-backups --variable 'srcdir=../doc/' po4a/po4a.cfg
+}
+
+check() {
+ cd $pkgname-$pkgver
+ make check
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR=${pkgdir} install
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
- install -dm755 ${pkgdir}/etc/ld.so.conf.d/
- echo '/usr/lib/libfakeroot' > ${pkgdir}/etc/ld.so.conf.d/fakeroot.conf
+ install -dm755 "$pkgdir/etc/ld.so.conf.d/"
+ echo '/usr/lib/libfakeroot' > "$pkgdir/etc/ld.so.conf.d/fakeroot.conf"
# install README for sysv/tcp usage
- install -Dm644 $srcdir/$pkgname-$pkgver/README $pkgdir/usr/share/doc/$pkgname/README
+ install -Dm644 README "$pkgdir/usr/share/doc/$pkgname/README"
}
diff --git a/abs/core/fakeroot/__changelog b/abs/core/fakeroot/__changelog
new file mode 100644
index 0000000..3df28e1
--- /dev/null
+++ b/abs/core/fakeroot/__changelog
@@ -0,0 +1 @@
+PKGBUILD: don't use po4a
diff --git a/abs/core/fakeroot/fakeroot.install b/abs/core/fakeroot/fakeroot.install
index 986c91b..caab922 100644
--- a/abs/core/fakeroot/fakeroot.install
+++ b/abs/core/fakeroot/fakeroot.install
@@ -1,14 +1,14 @@
post_install() {
- sbin/ldconfig -r .
+ usr/bin/ldconfig -r .
}
post_upgrade() {
if [ "$(vercmp $2 1.14.4-2)" -lt 0 ]; then
sed -i -e '/\/usr\/lib\/libfakeroot/d' etc/ld.so.conf
fi
- sbin/ldconfig -r .
+ usr/bin/ldconfig -r .
}
pre_remove() {
- sbin/ldconfig -r .
+ usr/bin/ldconfig -r .
}
diff --git a/abs/core/fakeroot/silence-dlerror.patch b/abs/core/fakeroot/silence-dlerror.patch
new file mode 100644
index 0000000..a4472d8
--- /dev/null
+++ b/abs/core/fakeroot/silence-dlerror.patch
@@ -0,0 +1,17 @@
+diff --git a/libfakeroot.c b/libfakeroot.c
+index f867758..7ef6e47 100644
+--- a/libfakeroot.c
++++ b/libfakeroot.c
+@@ -256,10 +256,12 @@ void load_library_symbols(void){
+ /* clear dlerror() just in case dlsym() legitimately returns NULL */
+ msg = dlerror();
+ *(next_wrap[i].doit)=dlsym(get_libc(), next_wrap[i].name);
++#ifdef LIBFAKEROOT_DEBUGGING
+ if ( (msg = dlerror()) != NULL){
+ fprintf (stderr, "dlsym(%s): %s\n", next_wrap[i].name, msg);
+ /* abort ();*/
+ }
++#endif /* LIBFAKEROOT_DEBUGGING */
+ }
+ }
+
diff --git a/abs/core/ffmpeg/PKGBUILD b/abs/core/ffmpeg/PKGBUILD
index 4e9be79..8e23c0f 100644
--- a/abs/core/ffmpeg/PKGBUILD
+++ b/abs/core/ffmpeg/PKGBUILD
@@ -6,30 +6,41 @@
# Contributor: Paul Mattal <paul@archlinux.org>
pkgname=ffmpeg
-pkgver=3.2.2
+pkgver=3.4.2
pkgrel=2
epoch=1
pkgdesc='Complete solution to record, convert and stream audio and video'
-arch=('i686' 'x86_64')
+arch=('x86_64')
url='http://ffmpeg.org/'
license=('GPL3')
depends=('alsa-lib' 'bzip2' 'fontconfig' 'fribidi' 'glibc' 'gmp' 'gnutls' 'gsm'
'lame' 'libavc1394' 'libiec61883' 'libmodplug'
- 'libraw1394' 'libsoxr' 'libssh' 'libtheora' 'libva' 'libvdpau'
- 'libwebp' 'libx11' 'libxcb' 'opencore-amr' 'openjpeg2' 'opus'
- 'schroedinger' 'sdl2' 'speex' 'v4l-utils' 'xz' 'zlib'
- 'libass.so' 'libbluray.so' 'libfreetype.so' 'libnetcdf.so'
- 'libvidstab.so' 'libvorbisenc.so' 'libvorbis.so' 'libvpx.so'
- 'libx264.so' 'libx265.so' 'libxvidcore.so')
-makedepends=('hardening-wrapper' 'ladspa' 'libvdpau' 'yasm')
+ 'libraw1394' 'libsoxr' 'libssh' 'libtheora' 'libvdpau' 'libwebp'
+ 'libx11' 'libxcb' 'libxml2' 'opencore-amr' 'openjpeg2' 'opus' 'sdl2'
+ 'speex' 'v4l-utils' 'xz' 'zlib'
+ 'libomxil-bellagio'
+ 'libass.so' 'libbluray.so' 'libfreetype.so' 'libva-drm.so' 'libva.so'
+ 'libva-x11.so' 'libvidstab.so' 'libvorbisenc.so' 'libvorbis.so'
+ 'libvpx.so' 'libx264.so' 'libx265.so' 'libxvidcore.so')
+makedepends=('ladspa' 'libvdpau' 'yasm')
optdepends=('ladspa: LADSPA filters')
provides=('libavcodec.so' 'libavdevice.so' 'libavfilter.so' 'libavformat.so'
'libavresample.so' 'libavutil.so' 'libpostproc.so' 'libswresample.so'
'libswscale.so')
-source=("https://ffmpeg.org/releases/ffmpeg-${pkgver}.tar.xz"{,.asc})
+source=("https://ffmpeg.org/releases/ffmpeg-${pkgver}.tar.xz"{,.asc}
+ 'fs56089.patch')
validpgpkeys=('FCF986EA15E6E293A5644F10B4322F04D67658D8')
-sha256sums=('3f01bd1fe1a17a277f8c84869e5d9192b4b978cb660872aa2b54c3cc8a2fedfc'
- 'SKIP')
+sha256sums=('2b92e9578ef8b3e49eeab229e69305f5f4cbc1fdaa22e927fc7fca18acccd740'
+ 'SKIP'
+ '0bfcd12d1992903f21c146ae56d9ad89b52818cfb2303197ee905347c25a5427')
+
+prepare() {
+ cd ffmpeg-${pkgver}
+
+ # https://bugs.archlinux.org/task/56089
+ # Backport of http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=a606f27f4c610708fa96e35eed7b7537d3d8f712
+ patch -Np1 -i ../fs56089.patch
+}
build() {
cd ffmpeg-${pkgver}
@@ -59,7 +70,6 @@ build() {
--enable-libopenjpeg \
--enable-libopus \
--disable-libpulse \
- --enable-libschroedinger \
--enable-libsoxr \
--enable-libspeex \
--enable-libssh \
@@ -71,11 +81,12 @@ build() {
--enable-libwebp \
--enable-libx264 \
--enable-libx265 \
+ --enable-libxcb \
+ --enable-libxml2 \
--enable-libxvid \
- --enable-netcdf \
--enable-shared \
--enable-version3 \
- --enable-x11grab
+ --enable-omx
make
make tools/qt-faststart
diff --git a/abs/core/ffmpeg/fs56089.patch b/abs/core/ffmpeg/fs56089.patch
new file mode 100644
index 0000000..6aca38f
--- /dev/null
+++ b/abs/core/ffmpeg/fs56089.patch
@@ -0,0 +1,84 @@
+diff -rupN ffmpeg-3.4.orig/libavformat/aviobuf.c ffmpeg-3.4/libavformat/aviobuf.c
+--- ffmpeg-3.4.orig/libavformat/aviobuf.c 2017-11-02 14:57:16.078834563 +0100
++++ ffmpeg-3.4/libavformat/aviobuf.c 2017-11-02 15:02:52.549816990 +0100
+@@ -531,6 +531,24 @@ void avio_write_marker(AVIOContext *s, i
+ s->last_time = time;
+ }
+
++static int read_packet_wrapper(AVIOContext *s, uint8_t *buf, int size)
++{
++ int ret;
++
++ if (!s->read_packet)
++ return AVERROR_EOF;
++ ret = s->read_packet(s->opaque, buf, size);
++#if FF_API_OLD_AVIO_EOF_0
++ if (!ret && !s->max_packet_size) {
++ av_log(NULL, AV_LOG_WARNING, "Invalid return value 0 for stream protocol\n");
++ ret = AVERROR_EOF;
++ }
++#else
++ av_assert2(ret || s->max_packet_size);
++#endif
++ return ret;
++}
++
+ /* Input stream */
+
+ static void fill_buffer(AVIOContext *s)
+@@ -569,10 +587,7 @@ static void fill_buffer(AVIOContext *s)
+ len = s->orig_buffer_size;
+ }
+
+- if (s->read_packet)
+- len = s->read_packet(s->opaque, dst, len);
+- else
+- len = 0;
++ len = read_packet_wrapper(s, dst, len);
+ if (len <= 0) {
+ /* do not modify buffer if EOF reached so that a seek back can
+ be done without rereading data */
+@@ -644,8 +659,7 @@ int avio_read(AVIOContext *s, unsigned c
+ if (len == 0 || s->write_flag) {
+ if((s->direct || size > s->buffer_size) && !s->update_checksum) {
+ // bypass the buffer and read data directly into buf
+- if(s->read_packet)
+- len = s->read_packet(s->opaque, buf, size);
++ len = read_packet_wrapper(s, buf, size);
+
+ if (len <= 0) {
+ /* do not modify buffer if EOF reached so that a seek back can
+@@ -711,7 +725,7 @@ int avio_read_partial(AVIOContext *s, un
+ return -1;
+
+ if (s->read_packet && s->write_flag) {
+- len = s->read_packet(s->opaque, buf, size);
++ len = read_packet_wrapper(s, buf, size);
+ if (len > 0)
+ s->pos += len;
+ return len;
+diff -rupN ffmpeg-3.4.orig/libavformat/avio.h ffmpeg-3.4/libavformat/avio.h
+--- ffmpeg-3.4.orig/libavformat/avio.h 2017-11-02 14:57:16.078834563 +0100
++++ ffmpeg-3.4/libavformat/avio.h 2017-11-02 14:59:15.602300896 +0100
+@@ -452,6 +452,8 @@ void avio_free_directory_entry(AVIODirEn
+ * @param write_flag Set to 1 if the buffer should be writable, 0 otherwise.
+ * @param opaque An opaque pointer to user-specific data.
+ * @param read_packet A function for refilling the buffer, may be NULL.
++ * For stream protocols, must never return 0 but rather
++ * a proper AVERROR code.
+ * @param write_packet A function for writing the buffer contents, may be NULL.
+ * The function may not change the input buffers content.
+ * @param seek A function for seeking to specified byte position, may be NULL.
+diff -rupN ffmpeg-3.4.orig/libavformat/version.h ffmpeg-3.4/libavformat/version.h
+--- ffmpeg-3.4.orig/libavformat/version.h 2017-11-02 14:57:16.082167807 +0100
++++ ffmpeg-3.4/libavformat/version.h 2017-11-02 15:04:01.704627612 +0100
+@@ -97,6 +97,9 @@
+ #ifndef FF_API_OLD_ROTATE_API
+ #define FF_API_OLD_ROTATE_API (LIBAVFORMAT_VERSION_MAJOR < 58)
+ #endif
++#ifndef FF_API_OLD_AVIO_EOF_0
++#define FF_API_OLD_AVIO_EOF_0 (LIBAVFORMAT_VERSION_MAJOR < 58)
++#endif
+
+
+ #ifndef FF_API_R_FRAME_RATE
diff --git a/abs/core/freetype2/0001-Enable-table-validation-modules.patch b/abs/core/freetype2/0001-Enable-table-validation-modules.patch
index 3e9451f..5fd339f 100644
--- a/abs/core/freetype2/0001-Enable-table-validation-modules.patch
+++ b/abs/core/freetype2/0001-Enable-table-validation-modules.patch
@@ -1,17 +1,18 @@
-From c3680bf8d38cf759c1e33dcc2d2d51e0a4fea2f9 Mon Sep 17 00:00:00 2001
+From c7a6a2312313a971089fb592deb8c476be4dca0f Mon Sep 17 00:00:00 2001
+Message-Id: <c7a6a2312313a971089fb592deb8c476be4dca0f.1513462508.git.jan.steffens@gmail.com>
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
Date: Tue, 23 Jun 2015 08:40:29 +0200
-Subject: [PATCH 1/3] Enable table validation modules
+Subject: [PATCH 1/4] Enable table validation modules
---
modules.cfg | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules.cfg b/modules.cfg
-index f30049c38cc45159..7b8e50fe1b34584a 100644
+index 56a2340e56d187aa..3a028329187275df 100644
--- a/modules.cfg
+++ b/modules.cfg
-@@ -120,7 +120,7 @@ AUX_MODULES += cache
+@@ -120,30 +120,30 @@ AUX_MODULES += cache
# TrueType GX/AAT table validation. Needs ftgxval.c below.
#
# No FT_CONFIG_OPTION_PIC support.
@@ -20,7 +21,22 @@ index f30049c38cc45159..7b8e50fe1b34584a 100644
# Support for streams compressed with gzip (files with suffix .gz).
#
-@@ -143,7 +143,7 @@ AUX_MODULES += bzip2
+ # See include/freetype/ftgzip.h for the API.
+ # No FT_CONFIG_OPTION_PIC support.
+ AUX_MODULES += gzip
+
+ # Support for streams compressed with LZW (files with suffix .Z).
+ #
+ # See include/freetype/ftlzw.h for the API.
+ # No FT_CONFIG_OPTION_PIC support.
+ AUX_MODULES += lzw
+
+ # Support for streams compressed with bzip2 (files with suffix .bz2).
+ #
+ # See include/freetype/ftbzip2.h for the API.
+ # No FT_CONFIG_OPTION_PIC support.
+ AUX_MODULES += bzip2
+
# OpenType table validation. Needs ftotval.c below.
#
# No FT_CONFIG_OPTION_PIC support.
@@ -30,5 +46,5 @@ index f30049c38cc45159..7b8e50fe1b34584a 100644
# Auxiliary PostScript driver component to share common code.
#
--
-2.9.3
+2.15.1
diff --git a/abs/core/freetype2/0001-psaux-Correctly-handle-Flex-features-52846.patch b/abs/core/freetype2/0001-psaux-Correctly-handle-Flex-features-52846.patch
new file mode 100644
index 0000000..44630fb
--- /dev/null
+++ b/abs/core/freetype2/0001-psaux-Correctly-handle-Flex-features-52846.patch
@@ -0,0 +1,38 @@
+From cc2f3cdecff5a351e7e8961b9f2e389ab740231a Mon Sep 17 00:00:00 2001
+From: Ewald Hew <ewaldhew@gmail.com>
+Date: Wed, 10 Jan 2018 13:24:56 +0800
+Subject: [PATCH] [psaux] Correctly handle Flex features (#52846).
+
+* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdVMOVETO,
+cf2_cmdHMOVETO>: Do not move if doing Flex.
+---
+ src/psaux/psintrp.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/psaux/psintrp.c b/src/psaux/psintrp.c
+index 5c0ee78..da5a8da 100644
+--- a/src/psaux/psintrp.c
++++ b/src/psaux/psintrp.c
+@@ -852,7 +852,8 @@
+
+ curY = ADD_INT32( curY, cf2_stack_popFixed( opStack ) );
+
+- cf2_glyphpath_moveTo( &glyphPath, curX, curY );
++ if ( !decoder->flex_state )
++ cf2_glyphpath_moveTo( &glyphPath, curX, curY );
+
+ break;
+
+@@ -2674,7 +2675,8 @@
+
+ curX = ADD_INT32( curX, cf2_stack_popFixed( opStack ) );
+
+- cf2_glyphpath_moveTo( &glyphPath, curX, curY );
++ if ( !decoder->flex_state )
++ cf2_glyphpath_moveTo( &glyphPath, curX, curY );
+
+ break;
+
+--
+2.16.1
+
diff --git a/abs/core/freetype2/0003-Enable-infinality-subpixel-hinting.patch b/abs/core/freetype2/0002-Enable-infinality-subpixel-hinting.patch
index bbfa2a2..5f43915 100644
--- a/abs/core/freetype2/0003-Enable-infinality-subpixel-hinting.patch
+++ b/abs/core/freetype2/0002-Enable-infinality-subpixel-hinting.patch
@@ -1,18 +1,21 @@
-From 220e96a9a8d7aff6ad0f0f1aa12c79cdb563331c Mon Sep 17 00:00:00 2001
+From 438b8c65e900d4c28db9eeb2a45e5998048eb471 Mon Sep 17 00:00:00 2001
+Message-Id: <438b8c65e900d4c28db9eeb2a45e5998048eb471.1513462508.git.jan.steffens@gmail.com>
+In-Reply-To: <c7a6a2312313a971089fb592deb8c476be4dca0f.1513462508.git.jan.steffens@gmail.com>
+References: <c7a6a2312313a971089fb592deb8c476be4dca0f.1513462508.git.jan.steffens@gmail.com>
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
Date: Mon, 29 Aug 2016 08:43:10 +0200
-Subject: [PATCH 3/3] Enable infinality subpixel hinting
+Subject: [PATCH 2/4] Enable infinality subpixel hinting
---
include/freetype/config/ftoption.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
-index 67a361dd41e0b026..c4812862518b66a6 100644
+index 06f3d50bb02fb5ac..e6f9720df9b5d004 100644
--- a/include/freetype/config/ftoption.h
+++ b/include/freetype/config/ftoption.h
-@@ -675,8 +675,8 @@ FT_BEGIN_HEADER
- /* [1] http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx */
+@@ -654,8 +654,8 @@ FT_BEGIN_HEADER
+ /* [1] https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx */
/* */
/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING 1 */
-#define TT_CONFIG_OPTION_SUBPIXEL_HINTING 2
@@ -23,5 +26,5 @@ index 67a361dd41e0b026..c4812862518b66a6 100644
/*************************************************************************/
--
-2.9.3
+2.15.1
diff --git a/abs/core/freetype2/0002-Enable-subpixel-rendering.patch b/abs/core/freetype2/0002-Enable-subpixel-rendering.patch
deleted file mode 100644
index dfb5796..0000000
--- a/abs/core/freetype2/0002-Enable-subpixel-rendering.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 96f09f08417887b2618c177bccfb6da2906568d9 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Tue, 23 Jun 2015 08:43:07 +0200
-Subject: [PATCH 2/3] Enable subpixel rendering
-
----
- include/freetype/config/ftoption.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
-index 90c123ef93e9ea04..67a361dd41e0b026 100644
---- a/include/freetype/config/ftoption.h
-+++ b/include/freetype/config/ftoption.h
-@@ -122,7 +122,7 @@ FT_BEGIN_HEADER
- /* This is done to allow FreeType clients to run unmodified, forcing */
- /* them to display normal gray-level anti-aliased glyphs. */
- /* */
--/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
-+#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING
-
-
- /*************************************************************************/
---
-2.9.3
-
diff --git a/abs/core/freetype2/0003-Enable-long-PCF-family-names.patch b/abs/core/freetype2/0003-Enable-long-PCF-family-names.patch
new file mode 100644
index 0000000..be202c1
--- /dev/null
+++ b/abs/core/freetype2/0003-Enable-long-PCF-family-names.patch
@@ -0,0 +1,28 @@
+From 7e262bff01573c67432f8b8fd879bf858e1611b3 Mon Sep 17 00:00:00 2001
+Message-Id: <7e262bff01573c67432f8b8fd879bf858e1611b3.1513462508.git.jan.steffens@gmail.com>
+In-Reply-To: <c7a6a2312313a971089fb592deb8c476be4dca0f.1513462508.git.jan.steffens@gmail.com>
+References: <c7a6a2312313a971089fb592deb8c476be4dca0f.1513462508.git.jan.steffens@gmail.com>
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
+Date: Sun, 14 May 2017 18:09:31 +0200
+Subject: [PATCH 3/4] Enable long PCF family names
+
+---
+ include/freetype/config/ftoption.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
+index e6f9720df9b5d004..832c9c3cd200f91a 100644
+--- a/include/freetype/config/ftoption.h
++++ b/include/freetype/config/ftoption.h
+@@ -845,7 +845,7 @@ FT_BEGIN_HEADER
+ /* If this option is activated, it can be controlled with the */
+ /* `no-long-family-names' property of the pcf driver module. */
+ /* */
+-/* #define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
++#define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
+
+
+ /*************************************************************************/
+--
+2.15.1
+
diff --git a/abs/core/freetype2/PKGBUILD b/abs/core/freetype2/PKGBUILD
index 80f5160..251ac74 100644
--- a/abs/core/freetype2/PKGBUILD
+++ b/abs/core/freetype2/PKGBUILD
@@ -2,32 +2,36 @@
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=freetype2
-pkgname=('freetype2' 'freetype2-demos')
-pkgver=2.7.1
-pkgrel=1
-arch=(i686 x86_64)
+pkgname=('freetype2' 'freetype2-demos' 'freetype2-docs')
+pkgver=2.9
+pkgrel=2
+pkgdesc="Font rasterization library"
+arch=(x86_64)
license=('GPL')
-url="http://www.freetype.org/"
+url="https://www.freetype.org/"
# adding harfbuzz for improved OpenType features auto-hinting
# introduces a cycle dep to harfbuzz depending on freetype wanted by upstream
-makedepends=('libx11' 'zlib' 'bzip2' 'sh' 'libpng' 'harfbuzz')
-source=(https://download.savannah.gnu.org/releases/freetype/freetype-${pkgver}.tar.bz2{,.sig}
- https://download.savannah.gnu.org/releases/freetype/freetype-doc-${pkgver}.tar.bz2{,.sig}
- https://download.savannah.gnu.org/releases/freetype/ft2demos-${pkgver}.tar.bz2{,.sig}
+depends=('zlib' 'bzip2' 'sh' 'libpng' 'harfbuzz')
+makedepends=('libx11')
+source=(https://download-mirror.savannah.gnu.org/releases/freetype/freetype-${pkgver}.tar.bz2{,.sig}
+ https://download-mirror.savannah.gnu.org/releases/freetype/freetype-doc-${pkgver}.tar.bz2{,.sig}
+ https://download-mirror.savannah.gnu.org/releases/freetype/ft2demos-${pkgver}.tar.bz2{,.sig}
0001-Enable-table-validation-modules.patch
- 0002-Enable-subpixel-rendering.patch
- 0003-Enable-infinality-subpixel-hinting.patch
+ 0002-Enable-infinality-subpixel-hinting.patch
+ 0003-Enable-long-PCF-family-names.patch
+ 0001-psaux-Correctly-handle-Flex-features-52846.patch
0005-freetype-2.5.2-more-demos.patch
freetype2.sh)
-sha1sums=('4d08a9a6567c6332d58e9a5f9a7e9e3fbce66789'
+sha1sums=('94c4399b1a55c5892812e732843fcb4a7c2fe657'
'SKIP'
- 'd8ce472cd775b8ce50d127689acab59181e72ecf'
+ '63e171aa5b2c46e7bece3ae7781015380d012e1f'
'SKIP'
- '2ebe93df13eb45dac8515c5ed0216ef694c33f18'
+ 'bd8a5d17274f987284e6f934722fb7715d00892e'
'SKIP'
- 'b31882ef5e8447e761acee1c4a44c0630cd4d465'
- 'b1494810ed3aca25cdd8e8cedf634e5adfe6c09e'
- '41d27140fd590945e22e012c9dce62de3d6f11e6'
+ 'b69531770c343d403be294b7e4d25ac45738c833'
+ '3d26a569f0cb94c28a550577f5dcaadb4e193d91'
+ '770f1981734a837bcf065564c91644b4cc5e256a'
+ '21ad7dd31e16adb5b39adfa5671018a736626562'
'72cfecbe738085eec475e012617661ad0cc9b76f'
'bc6df1661c4c33e20f5ce30c2da8ad3c2083665f')
validpgpkeys=('58E0C111E39F5408C5D3EC76C1A60EACE707FDA5')
@@ -35,13 +39,18 @@ validpgpkeys=('58E0C111E39F5408C5D3EC76C1A60EACE707FDA5')
prepare() {
# Rename source dir to allow building the demos
mv freetype-${pkgver} freetype2
+ mv ft2demos-${pkgver} freetype2-demos
cd freetype2
patch -Np1 -i ../0001-Enable-table-validation-modules.patch
- patch -Np1 -i ../0002-Enable-subpixel-rendering.patch
- patch -Np1 -i ../0003-Enable-infinality-subpixel-hinting.patch
+ patch -Np1 -i ../0002-Enable-infinality-subpixel-hinting.patch
+ patch -Np1 -i ../0003-Enable-long-PCF-family-names.patch
- cd ../ft2demos-${pkgver}
+ # Freetype 2.9 regression: bad rendering for some Type 1 fonts
+ # https://savannah.nongnu.org/bugs/?52846
+ patch -Np1 -i ../0001-psaux-Correctly-handle-Flex-features-52846.patch
+
+ cd ../freetype2-demos
# enable more demos
patch -Np1 -i ../0005-freetype-2.5.2-more-demos.patch
@@ -55,7 +64,7 @@ build() {
make
# Build demos
- cd ../ft2demos-${pkgver}
+ cd ../freetype2-demos
make
}
@@ -65,31 +74,33 @@ check() {
}
package_freetype2() {
- pkgdesc="TrueType font rendering library"
- depends=('zlib' 'bzip2' 'sh' 'libpng' 'harfbuzz')
provides=('libfreetype.so')
install=freetype2.install
backup=('etc/profile.d/freetype2.sh')
cd freetype2
make DESTDIR="${pkgdir}" install
- install -Dm644 ../freetype2.sh "${pkgdir}/etc/profile.d/freetype2.sh"
+ install -Dt "${pkgdir}/etc/profile.d" -m644 ../freetype2.sh
+}
- # Package docs
- install -dm755 "${pkgdir}/usr/share/doc"
- cp -a docs "${pkgdir}/usr/share/doc/${pkgname}"
+package_freetype2-demos() {
+ pkgdesc="Freetype tools and demos"
+ depends=('freetype2' 'libx11')
- cd ../ft2demos-${pkgver}
- mkdir -p $srcdir/ft-demos
+ cd freetype2-demos
+ install -d "${pkgdir}/usr/bin"
for _i in bin/{f,t}t*; do
- libtool --mode=install install $_i "$srcdir/ft-demos"
+ libtool --mode=install install $_i "${pkgdir}/usr/bin"
done
}
-package_freetype2-demos() {
- pkgdesc="Freetype tools and demos"
- depends=('freetype2' 'libx11')
+package_freetype2-docs() {
+ pkgdesc="Freetype documentation"
+ depends=('freetype2')
- install -dm755 "${pkgdir}/usr/bin"
- cp -a $srcdir/ft-demos/* "${pkgdir}/usr/bin"
+ cd freetype2
+ install -d "${pkgdir}/usr/share/doc"
+ cp -a docs "${pkgdir}/usr/share/doc/freetype2"
}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/fribidi/PKGBUILD b/abs/core/fribidi/PKGBUILD
index 1a955d4..e599369 100644
--- a/abs/core/fribidi/PKGBUILD
+++ b/abs/core/fribidi/PKGBUILD
@@ -3,26 +3,44 @@
# Contributor: Nezmer <Nezmer@gmail.com>
pkgname=fribidi
-pkgver=0.19.7
+pkgver=1.0.1+8+gdf7252b
pkgrel=1
pkgdesc="A Free Implementation of the Unicode Bidirectional Algorithm"
-arch=('i686' 'x86_64')
+arch=('x86_64')
license=('LGPL')
-url="http://fribidi.org"
-depends=('glib2')
-source=("http://fribidi.org/download/${pkgname}-${pkgver}.tar.bz2")
-md5sums=('6c7e7cfdd39c908f7ac619351c1c5c23')
+url="https://github.com/fribidi/fribidi/"
+makedepends=(git glib2)
+depends=('glibc')
+options=('!makeflags')
+_commit=df7252be3fd94ceae8141a09ee86421fdd8b3b7e # master
+source=("git+https://github.com/fribidi/fribidi#commit=$_commit")
+md5sums=('SKIP')
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+pkgver() {
+ cd $pkgname
+ git describe --tags | sed -e 's/-/+/g' -e 's/^v//'
+}
- ./configure --prefix=/usr
+prepare() {
+ cd $pkgname
+ NOCONFIGURE=1 ./autogen.sh
+}
+
+build() {
+ cd "${srcdir}/$pkgname"
+ ./configure --prefix=/usr
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "${srcdir}/$pkgname"
make DESTDIR="${pkgdir}" install
}
+
+check() {
+ cd "${srcdir}/$pkgname"
+ make check
+}
diff --git a/abs/core/func/PKGBUILD b/abs/core/func/PKGBUILD
index 5ff6dd5..f895ac0 100644
--- a/abs/core/func/PKGBUILD
+++ b/abs/core/func/PKGBUILD
@@ -1,10 +1,10 @@
pkgname=func
pkgver=0.25
-pkgrel=19
+pkgrel=20
pkgdesc="fedora unifed network controller"
url=""
-license="gpl"
-depends=(pyopenssl certmaster python_aosd)
+license=("gpl")
+depends=(python2-pyopenssl certmaster python_aosd)
makedepends=()
conflicts=()
replaces=()
diff --git a/abs/core/gawk/PKGBUILD b/abs/core/gawk/PKGBUILD
index 071d2ec..5272608 100644
--- a/abs/core/gawk/PKGBUILD
+++ b/abs/core/gawk/PKGBUILD
@@ -3,25 +3,24 @@
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=gawk
-pkgver=4.1.3
-pkgrel=1
+pkgver=4.2.0
+pkgrel=3
pkgdesc="GNU version of awk"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://www.gnu.org/software/gawk/"
license=('GPL')
groups=('base' 'base-devel')
depends=('sh' 'glibc' 'mpfr')
provides=('awk')
-install=gawk.install
-source=(ftp://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.sig})
-md5sums=('55d37f4069502677f25d1340df8eec97'
+source=(https://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.sig})
+md5sums=('0b598c31bc703d66082bd958d4189980'
'SKIP')
validpgpkeys=('D1967C63788713177D861ED7DF597815937EC0D2') # Arnold Robbins
build() {
cd ${srcdir}/${pkgname}-${pkgver}
- ./configure --prefix=/usr --libexecdir=/usr/lib --without-libsigsegv
- make
+ ./configure --prefix=/usr --libexecdir=/usr/lib --sysconfdir=/etc --without-libsigsegv
+ make
}
check() {
@@ -33,7 +32,7 @@ package() {
cd ${srcdir}/${pkgname}-${pkgver}
make DESTDIR=${pkgdir} install
- #install -dm755 ${pkgdir}/bin
+ #install -dm755 ${pkgdir}/bin
#ln -sf /usr/bin/gawk ${pkgdir}/bin/
#ln -sf gawk ${pkgdir}/bin/awk
}
diff --git a/abs/core/gawk/gawk.install b/abs/core/gawk/gawk.install
deleted file mode 100644
index 3f7f24c..0000000
--- a/abs/core/gawk/gawk.install
+++ /dev/null
@@ -1,22 +0,0 @@
-infodir=usr/share/info
-filelist=(gawk.info.gz gawkinet.info.gz)
-
-post_install() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file $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 $infodir/dir 2> /dev/null
- done
-}
-
-# vim:set ts=2 sw=2 et:
diff --git a/abs/core/gcc/PKGBUILD b/abs/core/gcc/PKGBUILD
index b32797b..66aed86 100644
--- a/abs/core/gcc/PKGBUILD
+++ b/abs/core/gcc/PKGBUILD
@@ -1,40 +1,58 @@
# $Id$
-# Maintainer: Allan McRae <allan@archlinux.org>
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
# NOTE: libtool requires rebuilt with each new gcc version
-pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-ada' 'gcc-go')
-pkgver=5.3.0
-_pkgver=5
-_islver=0.15
-pkgrel=5
-_snapshot=5-20160209
-pkgdesc="The GNU Compiler Collection"
-arch=('i686' 'x86_64')
-license=('GPL' 'LGPL' 'FDL' 'custom')
-url="http://gcc.gnu.org"
-makedepends=('binutils>=2.26' 'libmpc' 'gcc-ada' 'doxygen')
-checkdepends=('dejagnu' 'inetutils')
-options=('!emptydirs')
-source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2
- ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2
+pkgname=(gcc gcc-libs gcc-fortran gcc-objc gcc-ada gcc-go lib32-gcc-libs)
+pkgver=7.3.0
+_majorver=${pkgver:0:1}
+_islver=0.18
+pkgrel=1
+pkgdesc='The GNU Compiler Collection'
+arch=(x86_64)
+license=(GPL LGPL FDL custom)
+url='http://gcc.gnu.org'
+makedepends=(binutils libmpc gcc-ada doxygen lib32-glibc lib32-gcc-libs)
+checkdepends=(dejagnu inetutils)
+options=(!emptydirs)
+#source=(https://sources.archlinux.org/other/gcc/gcc-${pkgver/+/-}.tar.xz{,.sig}
+source=(https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.xz{,.sig}
http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2
- Unlink-the-response-file.patch)
-md5sums=('499161c65b639aa5c12a14944582b7ec'
- '8428efbbc6f6e2810ce5c1ba73ecf98c'
- '1f4d4ef71004261376d26d5ba6a84499')
-
-if [ -n "${_snapshot}" ]; then
- _basedir=gcc-${_snapshot}
-else
- _basedir=gcc-${pkgver}
-fi
-
-_libdir="usr/lib/gcc/$CHOST/$pkgver"
+ c89 c99)
+validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org
+ 13975A70E63C361C73AE69EF6EEB81F8981C74C7) # richard.guenther@gmail.com
+sha256sums=('832ca6ae04636adbb430e865a1451adf6979ab44ca1c8374f61fba65645ce15c'
+ 'SKIP'
+ '6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b'
+ 'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931'
+ '2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a')
+
+_svnrev=256757
+_svnurl=svn://gcc.gnu.org/svn/gcc/branches/gcc-${_majorver}-branch
+_libdir=usr/lib/gcc/$CHOST/${pkgver%%+*}
+
+snapshot() {
+ svn export -r${_svnrev} ${_svnurl} gcc-r${_svnrev}
+
+ local datestamp basever _pkgver
+ basever=$(< gcc-r${_svnrev}/gcc/BASE-VER)
+ datestamp=$(< gcc-r${_svnrev}/gcc/DATESTAMP)
+ _pkgver=${basever}-${datestamp}
+
+ mv gcc-r${_svnrev} gcc-${_pkgver}
+ tar cf - gcc-${_pkgver} | xz > gcc-${_pkgver}.tar.xz
+ gpg -b gcc-${_pkgver}.tar.xz
+ scp gcc-${_pkgver}.tar.xz{,.sig} sources.archlinux.org:/srv/ftp/other/gcc/
+
+ echo
+ echo "pkgver=${_pkgver/-/+}"
+}
prepare() {
- cd ${srcdir}/${_basedir}
+ ln -s gcc-${pkgver/+/-} gcc
+ cd gcc
# link isl for in-tree build
ln -s ../isl-${_islver} isl
@@ -43,73 +61,78 @@ prepare() {
sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
# Arch Linux installs x86_64 libraries /lib
- [[ $CARCH == "x86_64" ]] && sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
-
- echo ${pkgver} > gcc/BASE-VER
+ sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
# hack! - some configure tests for header files using "$CPP $CPPFLAGS"
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
- # https://bugs.archlinux.org/task/47874 - commit f591a95d
- patch -p1 -i $srcdir/Unlink-the-response-file.patch
-
- mkdir ${srcdir}/gcc-build
+ mkdir -p "$srcdir/gcc-build"
}
build() {
- cd ${srcdir}/gcc-build
+ cd gcc-build
# using -pipe causes spurious test-suite failures
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48565
CFLAGS=${CFLAGS/-pipe/}
CXXFLAGS=${CXXFLAGS/-pipe/}
- ${srcdir}/${_basedir}/configure --prefix=/usr \
- --libdir=/usr/lib --libexecdir=/usr/lib \
- --mandir=/usr/share/man --infodir=/usr/share/info \
+ "$srcdir/gcc/configure" --prefix=/usr \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
--with-bugurl=https://bugs.archlinux.org/ \
--enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \
- --enable-shared --enable-threads=posix --enable-libmpx \
- --with-system-zlib --with-isl --enable-__cxa_atexit \
- --disable-libunwind-exceptions --enable-clocale=gnu \
- --disable-libstdcxx-pch --disable-libssp \
- --enable-gnu-unique-object --enable-linker-build-id \
- --enable-lto --enable-plugin --enable-install-libiberty \
- --with-linker-hash-style=gnu --enable-gnu-indirect-function \
- --disable-multilib --disable-werror \
- --enable-checking=release
+ --enable-shared \
+ --enable-threads=posix \
+ --enable-libmpx \
+ --with-system-zlib \
+ --with-isl \
+ --enable-__cxa_atexit \
+ --disable-libunwind-exceptions \
+ --enable-clocale=gnu \
+ --disable-libstdcxx-pch \
+ --disable-libssp \
+ --enable-gnu-unique-object \
+ --enable-linker-build-id \
+ --enable-lto \
+ --enable-plugin \
+ --enable-install-libiberty \
+ --with-linker-hash-style=gnu \
+ --enable-gnu-indirect-function \
+ --enable-multilib \
+ --disable-werror \
+ --enable-checking=release \
+ --enable-default-pie \
+ --enable-default-ssp
make
-
+
# make documentation
make -C $CHOST/libstdc++-v3/doc doc-man-doxygen
}
check() {
- cd ${srcdir}/gcc-build
-
- # increase stack size to prevent test failures
- # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31827
- ulimit -s 32768
+ cd gcc-build
# do not abort on error as some are "expected"
make -k check || true
- ${srcdir}/${_basedir}/contrib/test_summary
+ "$srcdir/gcc/contrib/test_summary"
}
-package_gcc-libs()
-{
- pkgdesc="Runtime libraries shipped by GCC"
- groups=('base')
- depends=('glibc>=2.23')
- options=('!emptydirs' '!strip')
- install=gcc-libs.install
-
- cd ${srcdir}/gcc-build
-
- make -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared
- rm ${pkgdir}/${_libdir}/libgcc_eh.a
-
+package_gcc-libs() {
+ pkgdesc='Runtime libraries shipped by GCC'
+ groups=(base)
+ depends=('glibc>=2.26')
+ options+=(!strip)
+ provides=($pkgname-multilib)
+ replaces=($pkgname-multilib)
+
+ cd gcc-build
+ make -C $CHOST/libgcc DESTDIR="$pkgdir" install-shared
+ rm -f "$pkgdir/$_libdir/libgcc_eh.a"
+
for lib in libatomic \
libcilkrts \
libgfortran \
@@ -117,209 +140,246 @@ package_gcc-libs()
libgomp \
libitm \
libquadmath \
- libsanitizer/{a,l,ub}san \
+ libsanitizer/{a,l,ub,t}san \
libstdc++-v3/src \
libvtv; do
- make -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
+ make -C $CHOST/$lib DESTDIR="$pkgdir" install-toolexeclibLTLIBRARIES
done
- [[ $CARCH == "x86_64" ]] && \
- make -C $CHOST/libsanitizer/tsan DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
-
- make -C $CHOST/libobjc DESTDIR=${pkgdir} install-libs
-
- make -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install
-
- make -C $CHOST/libmpx DESTDIR=${pkgdir} install
- rm ${pkgdir}/usr/lib/libmpx.spec
+ make -C $CHOST/libobjc DESTDIR="$pkgdir" install-libs
+ make -C $CHOST/libstdc++-v3/po DESTDIR="$pkgdir" install
+ make -C $CHOST/libmpx DESTDIR="$pkgdir" install
+ rm -f "$pkgdir/usr/lib/libmpx.spec"
for lib in libgomp \
libitm \
libquadmath; do
- make -C $CHOST/$lib DESTDIR=${pkgdir} install-info
+ make -C $CHOST/$lib DESTDIR="$pkgdir" install-info
done
+ # remove files provided by lib32-gcc-libs
+ rm -rf "$pkgdir"/usr/lib32/
+
# Install Runtime Library Exception
- install -Dm644 ${srcdir}/${_basedir}/COPYING.RUNTIME \
- ${pkgdir}/usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION
+ install -Dm644 "$srcdir/gcc/COPYING.RUNTIME" \
+ "$pkgdir/usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION"
}
-package_gcc()
-{
+package_gcc() {
pkgdesc="The GNU Compiler Collection - C and C++ frontends"
- depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.26' 'libmpc')
+ depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.28' libmpc)
groups=('base-devel')
- options=('staticlibs')
- install=gcc.install
+ optdepends=('lib32-gcc-libs: for generating code for 32-bit ABI')
+ provides=($pkgname-multilib)
+ replaces=($pkgname-multilib)
+ options+=(staticlibs)
- cd ${srcdir}/gcc-build
+ cd gcc-build
- make -C gcc DESTDIR=${pkgdir} install-driver install-cpp install-gcc-ar \
+ make -C gcc DESTDIR="$pkgdir" install-driver install-cpp install-gcc-ar \
c++.install-common install-headers install-plugin install-lto-wrapper
- install -m755 -t $pkgdir/usr/bin/ gcc/gcov{,-tool}
- install -m755 -t $pkgdir/${_libdir}/ gcc/{cc1,cc1plus,collect2,lto1}
-
- make -C $CHOST/libgcc DESTDIR=${pkgdir} install
- rm ${pkgdir}/usr/lib/libgcc_s.so*
-
- make -C $CHOST/libstdc++-v3/src DESTDIR=${pkgdir} install
- make -C $CHOST/libstdc++-v3/include DESTDIR=${pkgdir} install
- make -C $CHOST/libstdc++-v3/libsupc++ DESTDIR=${pkgdir} install
- make -C $CHOST/libstdc++-v3/python DESTDIR=${pkgdir} install
-
- make DESTDIR=${pkgdir} install-libcc1
- install -d $pkgdir/usr/share/gdb/auto-load/usr/lib
- mv $pkgdir/usr/lib/libstdc++.so.6.*-gdb.py \
- $pkgdir/usr/share/gdb/auto-load/usr/lib/
- rm ${pkgdir}/usr/lib/libstdc++.so*
-
- make DESTDIR=${pkgdir} install-fixincludes
- make -C gcc DESTDIR=${pkgdir} install-mkheaders
-
- make -C lto-plugin DESTDIR=${pkgdir} install
- install -dm755 ${pkgdir}/usr/lib/bfd-plugins/
- ln -s /usr/lib/gcc/$CHOST/${pkgver}/liblto_plugin.so \
- ${pkgdir}/usr/lib/bfd-plugins/
-
- make -C $CHOST/libcilkrts DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS \
- install-nodist_cilkincludeHEADERS
- make -C $CHOST/libgomp DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS \
- install-nodist_libsubincludeHEADERS
- make -C $CHOST/libitm DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
- make -C $CHOST/libquadmath DESTDIR=${pkgdir} install-nodist_libsubincludeHEADERS
- make -C $CHOST/libsanitizer DESTDIR=${pkgdir} install-nodist_{saninclude,toolexeclib}HEADERS
- make -C $CHOST/libsanitizer/asan DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
- make -C $CHOST/libmpx DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS
-
- make -C libiberty DESTDIR=${pkgdir} install
- # install PIC version of libiberty
- install -m644 ${srcdir}/gcc-build/libiberty/pic/libiberty.a ${pkgdir}/usr/lib
-
- make -C gcc DESTDIR=${pkgdir} install-man install-info
- rm ${pkgdir}/usr/share/man/man1/{gccgo,gfortran}.1
- rm ${pkgdir}/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn}.info
-
- make -C libcpp DESTDIR=${pkgdir} install
- make -C gcc DESTDIR=${pkgdir} install-po
+ install -m755 -t "$pkgdir/usr/bin/" gcc/gcov{,-tool}
+ install -m755 -t "$pkgdir/${_libdir}/" gcc/{cc1,cc1plus,collect2,lto1}
+
+ make -C $CHOST/libgcc DESTDIR="$pkgdir" install
+ make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install
+ rm -f "$pkgdir"/usr/lib{,32}/libgcc_s.so*
+
+ make -C $CHOST/libstdc++-v3/src DESTDIR="$pkgdir" install
+ make -C $CHOST/libstdc++-v3/include DESTDIR="$pkgdir" install
+ make -C $CHOST/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install
+ make -C $CHOST/libstdc++-v3/python DESTDIR="$pkgdir" install
+ make -C $CHOST/32/libstdc++-v3/src DESTDIR="$pkgdir" install
+ make -C $CHOST/32/libstdc++-v3/include DESTDIR="$pkgdir" install
+ make -C $CHOST/32/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install
+
+ make DESTDIR="$pkgdir" install-libcc1
+ install -d "$pkgdir/usr/share/gdb/auto-load/usr/lib"
+ mv "$pkgdir"/usr/lib/libstdc++.so.6.*-gdb.py \
+ "$pkgdir/usr/share/gdb/auto-load/usr/lib/"
+ rm "$pkgdir"/usr/lib{,32}/libstdc++.so*
+
+ make DESTDIR="$pkgdir" install-fixincludes
+ make -C gcc DESTDIR="$pkgdir" install-mkheaders
+
+ make -C lto-plugin DESTDIR="$pkgdir" install
+ install -dm755 "$pkgdir"/usr/lib/bfd-plugins/
+ ln -s /${_libdir}/liblto_plugin.so \
+ "$pkgdir/usr/lib/bfd-plugins/"
+
+ make -C $CHOST/libcilkrts DESTDIR="$pkgdir" install-nodist_{toolexeclib,cilkinclude}HEADERS
+ make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_{libsubinclude,toolexeclib}HEADERS
+ make -C $CHOST/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+ make -C $CHOST/libquadmath DESTDIR="$pkgdir" install-nodist_libsubincludeHEADERS
+ make -C $CHOST/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS
+ make -C $CHOST/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+ make -C $CHOST/libmpx DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+ make -C $CHOST/32/libcilkrts DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+ make -C $CHOST/32/libgomp DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+ make -C $CHOST/32/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+ make -C $CHOST/32/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS
+ make -C $CHOST/32/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+ make -C $CHOST/32/libmpx DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS
+
+ make -C libiberty DESTDIR="$pkgdir" install
+ install -m644 libiberty/pic/libiberty.a "$pkgdir/usr/lib"
+
+ make -C gcc DESTDIR="$pkgdir" install-man install-info
+ rm "$pkgdir"/usr/share/man/man1/{gccgo,gfortran}.1
+ rm "$pkgdir"/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn}.info
+
+ make -C libcpp DESTDIR="$pkgdir" install
+ make -C gcc DESTDIR="$pkgdir" install-po
# many packages expect this symlink
- ln -s gcc ${pkgdir}/usr/bin/cc
+ ln -s gcc "$pkgdir"/usr/bin/cc
# POSIX conformance launcher scripts for c89 and c99
- cat > $pkgdir/usr/bin/c89 <<"EOF"
-#!/bin/sh
-fl="-std=c89"
-for opt; do
- case "$opt" in
- -ansi|-std=c89|-std=iso9899:1990) fl="";;
- -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
- exit 1;;
- esac
-done
-exec gcc $fl ${1+"$@"}
-EOF
-
- cat > $pkgdir/usr/bin/c99 <<"EOF"
-#!/bin/sh
-fl="-std=c99"
-for opt; do
- case "$opt" in
- -std=c99|-std=iso9899:1999) fl="";;
- -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
- exit 1;;
- esac
-done
-exec gcc $fl ${1+"$@"}
-EOF
-
- chmod 755 $pkgdir/usr/bin/c{8,9}9
+ install -Dm755 "$srcdir/c89" "$pkgdir/usr/bin/c89"
+ install -Dm755 "$srcdir/c99" "$pkgdir/usr/bin/c99"
# install the libstdc++ man pages
- make -C $CHOST/libstdc++-v3/doc DESTDIR=$pkgdir doc-install-man
+ make -C $CHOST/libstdc++-v3/doc DESTDIR="$pkgdir" doc-install-man
+
+ # remove files provided by lib32-gcc-libs
+ rm -f "$pkgdir"/usr/lib32/lib{stdc++,gcc_s}.so
# Install Runtime Library Exception
- install -d ${pkgdir}/usr/share/licenses/gcc/
- ln -s ../gcc-libs/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/gcc/
+ install -d "$pkgdir/usr/share/licenses/$pkgname/"
+ ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \
+ "$pkgdir/usr/share/licenses/$pkgname/"
}
-package_gcc-fortran()
-{
- pkgdesc="Fortran front-end for GCC"
+package_gcc-fortran() {
+ pkgdesc='Fortran front-end for GCC'
depends=("gcc=$pkgver-$pkgrel")
- options=('!emptydirs')
- install=gcc-fortran.install
+ provides=($pkgname-multilib)
+ replaces=($pkgname-multilib)
- cd ${srcdir}/gcc-build
- make -C $CHOST/libgfortran DESTDIR=$pkgdir install-{caf,my}execlibLTLIBRARIES \
+ cd gcc-build
+ make -C $CHOST/libgfortran DESTDIR="$pkgdir" install-cafexeclibLTLIBRARIES \
install-{toolexeclibDATA,nodist_fincludeHEADERS}
- make -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS
- make -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info}
- install -Dm755 gcc/f951 $pkgdir/${_libdir}/f951
+ make -C $CHOST/32/libgfortran DESTDIR=$pkgdir install-cafexeclibLTLIBRARIES \
+ install-{toolexeclibDATA,nodist_fincludeHEADERS}
+ make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_fincludeHEADERS
+ make -C gcc DESTDIR="$pkgdir" fortran.install-{common,man,info}
+ install -Dm755 gcc/f951 "$pkgdir/${_libdir}/f951"
- ln -s gfortran ${pkgdir}/usr/bin/f95
+ ln -s gfortran "$pkgdir/usr/bin/f95"
# Install Runtime Library Exception
- install -d ${pkgdir}/usr/share/licenses/gcc-fortran/
- ln -s ../gcc-libs/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/gcc-fortran/
+ install -d "$pkgdir/usr/share/licenses/$pkgname/"
+ ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \
+ "$pkgdir/usr/share/licenses/$pkgname/"
}
-package_gcc-objc()
-{
- pkgdesc="Objective-C front-end for GCC"
+package_gcc-objc() {
+ pkgdesc='Objective-C front-end for GCC'
depends=("gcc=$pkgver-$pkgrel")
+ provides=($pkgname-multilib)
+ replaces=($pkgname-multilib)
- cd ${srcdir}/gcc-build
- make DESTDIR=$pkgdir -C $CHOST/libobjc install-headers
- install -dm755 $pkgdir/${_libdir}
- install -m755 gcc/cc1obj{,plus} $pkgdir/${_libdir}/
+ cd gcc-build
+ make DESTDIR="$pkgdir" -C $CHOST/libobjc install-headers
+ install -dm755 "$pkgdir/${_libdir}"
+ install -m755 gcc/cc1obj{,plus} "$pkgdir/${_libdir}/"
# Install Runtime Library Exception
- install -d ${pkgdir}/usr/share/licenses/gcc-objc/
- ln -s ../gcc-libs/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/gcc-objc/
+ install -d "$pkgdir/usr/share/licenses/$pkgname/"
+ ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \
+ "$pkgdir/usr/share/licenses/$pkgname/"
}
-package_gcc-ada()
-{
- pkgdesc="Ada front-end for GCC (GNAT)"
+package_gcc-ada() {
+ pkgdesc='Ada front-end for GCC (GNAT)'
depends=("gcc=$pkgver-$pkgrel")
- options=('staticlibs' '!emptydirs')
- install=gcc-ada.install
+ provides=($pkgname-multilib)
+ replaces=($pkgname-multilib)
+ options+=(staticlibs)
+
+ cd gcc-build/gcc
+ make DESTDIR="$pkgdir" ada.install-{common,info}
+ install -m755 gnat1 "$pkgdir/${_libdir}"
- cd ${srcdir}/gcc-build/gcc
- make DESTDIR=$pkgdir ada.install-{common,info}
- install -m755 gnat1 $pkgdir/${_libdir}
+ cd "$srcdir"/gcc-build/$CHOST/32/libada
+ make DESTDIR=${pkgdir} INSTALL="install" \
+ INSTALL_DATA="install -m644" install-gnatlib
- ln -s gcc ${pkgdir}/usr/bin/gnatgcc
+ ln -s gcc "$pkgdir/usr/bin/gnatgcc"
# insist on dynamic linking, but keep static libraries because gnatmake complains
- mv ${pkgdir}/${_libdir}/adalib/libgna{rl,t}-${_pkgver}.so ${pkgdir}/usr/lib
- ln -s libgnarl-${_pkgver}.so ${pkgdir}/usr/lib/libgnarl.so
- ln -s libgnat-${_pkgver}.so ${pkgdir}/usr/lib/libgnat.so
- rm ${pkgdir}/${_libdir}/adalib/libgna{rl,t}.so
+ mv "$pkgdir"/${_libdir}/adalib/libgna{rl,t}-${_majorver}.so "$pkgdir/usr/lib"
+ ln -s libgnarl-${_majorver}.so "$pkgdir/usr/lib/libgnarl.so"
+ ln -s libgnat-${_majorver}.so "$pkgdir/usr/lib/libgnat.so"
+ rm -f "$pkgdir"/${_libdir}/adalib/libgna{rl,t}.so
+
+ install -d "$pkgdir/usr/lib32/"
+ mv "$pkgdir"/${_libdir}/32/adalib/libgna{rl,t}-${_majorver}.so "$pkgdir/usr/lib32"
+ ln -s libgnarl-${_majorver}.so "$pkgdir/usr/lib32/libgnarl.so"
+ ln -s libgnat-${_majorver}.so "$pkgdir/usr/lib32/libgnat.so"
+ rm -f "$pkgdir"/${_libdir}/32/adalib/libgna{rl,t}.so
# Install Runtime Library Exception
- install -d ${pkgdir}/usr/share/licenses/gcc-ada/
- ln -s ../gcc-libs/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/gcc-ada/
+ install -d "$pkgdir/usr/share/licenses/$pkgname/"
+ ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \
+ "$pkgdir/usr/share/licenses/$pkgname/"
}
-package_gcc-go()
-{
- pkgdesc="Go front-end for GCC"
+package_gcc-go() {
+ pkgdesc='Go front-end for GCC'
depends=("gcc=$pkgver-$pkgrel")
- conflicts=('go')
- options=('!emptydirs')
- install=gcc-go.install
+ provides=("go=1.8.1" $pkgname-multilib)
+ replaces=($pkgname-multilib)
+ conflicts=(go)
+
+ cd gcc-build
+ make -C $CHOST/libgo DESTDIR="$pkgdir" install-exec-am
+ make -C $CHOST/32/libgo DESTDIR="$pkgdir" install-exec-am
+ make DESTDIR="$pkgdir" install-gotools
+ make -C gcc DESTDIR="$pkgdir" go.install-{common,man,info}
+
+ rm -f "$pkgdir"/usr/lib{,32}/libgo.so*
+ install -Dm755 gcc/go1 "$pkgdir/${_libdir}/go1"
+
+ # Install Runtime Library Exception
+ install -d "$pkgdir/usr/share/licenses/$pkgname/"
+ ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \
+ "$pkgdir/usr/share/licenses/$pkgname/"
+}
+
+package_lib32-gcc-libs() {
+ pkgdesc='32-bit runtime libraries shipped by GCC'
+ depends=('lib32-glibc>=2.26')
+ groups=(multilib-devel)
+ options=(!emptydirs !strip)
+
+ cd gcc-build
+
+ make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install-shared
+ rm -f "$pkgdir/$_libdir/32/libgcc_eh.a"
+
+ for lib in libatomic \
+ libcilkrts \
+ libgfortran \
+ libgo \
+ libgomp \
+ libitm \
+ libquadmath \
+ libsanitizer/{a,l,ub}san \
+ libstdc++-v3/src \
+ libvtv; do
+ make -C $CHOST/32/$lib DESTDIR="$pkgdir" install-toolexeclibLTLIBRARIES
+ done
- cd ${srcdir}/gcc-build
- make -C $CHOST/libgo DESTDIR=$pkgdir install-exec-am
- rm ${pkgdir}/usr/lib/libgo.so*
- make -C gcc DESTDIR=$pkgdir go.install-{common,man,info}
- install -Dm755 gcc/go1 $pkgdir/${_libdir}/go1
+ make -C $CHOST/32/libobjc DESTDIR="$pkgdir" install-libs
+ make -C $CHOST/32/libmpx DESTDIR="$pkgdir" install
+ rm -f "$pkgdir/usr/lib32/libmpx.spec"
- make DESTDIR=${pkgdir} install-gotools
+ # remove files provided by gcc-libs
+ rm -rf "$pkgdir"/usr/lib
# Install Runtime Library Exception
- install -d ${pkgdir}/usr/share/licenses/gcc-go/
- ln -s ../gcc-libs/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/gcc-go/
+ install -Dm644 "$srcdir/gcc/COPYING.RUNTIME" \
+ "$pkgdir/usr/share/licenses/lib32-gcc-libs/RUNTIME.LIBRARY.EXCEPTION"
}
diff --git a/abs/core/gcc/Unlink-the-response-file.patch b/abs/core/gcc/Unlink-the-response-file.patch
deleted file mode 100644
index 55c95a7..0000000
--- a/abs/core/gcc/Unlink-the-response-file.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From f591a95d1532ac7791c146a8e55ba3a32b3e476f Mon Sep 17 00:00:00 2001
-From: ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Tue, 23 Jun 2015 20:48:07 +0000
-Subject: [PATCH] * collect-utils.c (collect_wait): Unlink the
- response file here instead of... (do_wait): ...here.
- (utils_cleanup): ...and here.
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224858 138bc75d-0d04-0410-961f-82ee72b054a4
----
- gcc/ChangeLog | 7 +++++++
- gcc/collect-utils.c | 14 ++++++--------
- 2 files changed, 13 insertions(+), 8 deletions(-)
-
-diff --git a/gcc/collect-utils.c b/gcc/collect-utils.c
-index 6bbe9eb..517a075 100644
---- a/gcc/collect-utils.c
-+++ b/gcc/collect-utils.c
-@@ -68,6 +68,12 @@ collect_wait (const char *prog, struct pex_obj *pex)
- fatal_error (input_location, "can't get program status: %m");
- pex_free (pex);
-
-+ if (response_file && !save_temps)
-+ {
-+ unlink (response_file);
-+ response_file = NULL;
-+ }
-+
- if (status)
- {
- if (WIFSIGNALED (status))
-@@ -90,12 +96,6 @@ do_wait (const char *prog, struct pex_obj *pex)
- int ret = collect_wait (prog, pex);
- if (ret != 0)
- fatal_error (input_location, "%s returned %d exit status", prog, ret);
--
-- if (response_file && !save_temps)
-- {
-- unlink (response_file);
-- response_file = NULL;
-- }
- }
-
-
-@@ -224,7 +224,5 @@ utils_cleanup (bool from_signal)
- calls to maybe_unlink fails. */
- cleanup_done = true;
-
-- if (response_file)
-- maybe_unlink (response_file);
- tool_cleanup (from_signal);
- }
---
-2.7.1
-
diff --git a/abs/core/gcc/c89 b/abs/core/gcc/c89
new file mode 100644
index 0000000..35486ea
--- /dev/null
+++ b/abs/core/gcc/c89
@@ -0,0 +1,10 @@
+#!/bin/sh
+fl="-std=c89"
+for opt; do
+ case "$opt" in
+ -ansi|-std=c89|-std=iso9899:1990) fl="";;
+ -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
+ exit 1;;
+ esac
+done
+exec gcc $fl ${1+"$@"}
diff --git a/abs/core/gcc/c99 b/abs/core/gcc/c99
new file mode 100644
index 0000000..88dd806
--- /dev/null
+++ b/abs/core/gcc/c99
@@ -0,0 +1,10 @@
+#!/bin/sh
+fl="-std=c99"
+for opt; do
+ case "$opt" in
+ -std=c99|-std=iso9899:1999) fl="";;
+ -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
+ exit 1;;
+ esac
+done
+exec gcc $fl ${1+"$@"}
diff --git a/abs/core/gcc/gcc-ada.install b/abs/core/gcc/gcc-ada.install
deleted file mode 100644
index df0553a..0000000
--- a/abs/core/gcc/gcc-ada.install
+++ /dev/null
@@ -1,20 +0,0 @@
-infodir=usr/share/info
-filelist=(gnat-style.info gnat_rm.info gnat_ugn.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/core/gcc/gcc-fortran.install b/abs/core/gcc/gcc-fortran.install
deleted file mode 100644
index b15d89a..0000000
--- a/abs/core/gcc/gcc-fortran.install
+++ /dev/null
@@ -1,16 +0,0 @@
-infodir=usr/share/info
-file="gfortran.info"
-
-post_install() {
- [ -x usr/bin/install-info ] || return 0
- install-info $infodir/$file.gz $infodir/dir 2> /dev/null
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- [ -x usr/bin/install-info ] || return 0
- install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
-}
diff --git a/abs/core/gcc/gcc-go.install b/abs/core/gcc/gcc-go.install
deleted file mode 100644
index 7dc50de..0000000
--- a/abs/core/gcc/gcc-go.install
+++ /dev/null
@@ -1,20 +0,0 @@
-infodir=usr/share/info
-filelist=(gccgo.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/core/gcc/gcc-libs.install b/abs/core/gcc/gcc-libs.install
deleted file mode 100644
index 23553b8..0000000
--- a/abs/core/gcc/gcc-libs.install
+++ /dev/null
@@ -1,16 +0,0 @@
-infodir=usr/share/info
-filelist=(libgomp.info libquadmath.info)
-
-post_upgrade() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
-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/core/gcc/gcc.install b/abs/core/gcc/gcc.install
deleted file mode 100644
index 3407a5e..0000000
--- a/abs/core/gcc/gcc.install
+++ /dev/null
@@ -1,20 +0,0 @@
-infodir=usr/share/info
-filelist=(cpp.info cppinternals.info gcc.info gccinstall.info gccint.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/core/gdb/PKGBUILD b/abs/core/gdb/PKGBUILD
index 6e0648b..12c1933 100644
--- a/abs/core/gdb/PKGBUILD
+++ b/abs/core/gdb/PKGBUILD
@@ -1,43 +1,71 @@
-# $Id: PKGBUILD 172148 2012-11-30 04:20:34Z allan $
+# $Id$
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
-pkgname=gdb
-pkgver=7.5.1
+pkgbase=gdb
+# gdb-common is a package that contains files common for all cross compiled versions
+# of gdb (for arm/avr/...)
+pkgname=(gdb gdb-common)
+pkgver=8.1
pkgrel=1
-pkgdesc="The GNU Debugger"
-arch=('i686' 'x86_64')
-url="http://www.gnu.org/software/gdb/"
-license=('GPL3')
-depends=('ncurses' 'expat' 'python2')
-makedepends=('texinfo')
-backup=('etc/gdb/gdbinit')
-options=('!libtool')
-install=gdb.install
-source=(http://ftp.gnu.org/gnu/gdb/${pkgname}-${pkgver}.tar.bz2{,.sig})
-md5sums=('3f48f468b24447cf24820054ff6e85b1'
- '31ab569c78a01d3f946c6fe0336175fe')
+pkgdesc='The GNU Debugger'
+arch=(x86_64)
+url='http://www.gnu.org/software/gdb/'
+license=(GPL3)
+makedepends=(texinfo python guile2.0 ncurses expat xz)
+source=(https://ftp.gnu.org/gnu/gdb/${pkgname}-${pkgver}.tar.xz{,.sig})
+sha1sums=('641861f7d3f22b6a23bc3e801f0ff29a78375490'
+ 'SKIP')
+validpgpkeys=('F40ADB902B24264AA42E50BF92EDB04BFF325CF3') # Joel Brobecker
+
+prepare() {
+ cd gdb-$pkgver
+
+ # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS"
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
+}
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd gdb-$pkgver
./configure --prefix=/usr --disable-nls \
--with-system-readline \
- --with-python=/usr/bin/python2 \
+ --with-python=/usr/bin/python3 \
+ --with-guile=guile-2.0 \
--with-system-gdbinit=/etc/gdb/gdbinit
make
}
-package() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} install
+package_gdb-common() {
+ depends=(python guile2.0)
+
+ cd gdb-$pkgver
+ make DESTDIR=$pkgdir install
+
+ # resolve conflicts with binutils
+ rm $pkgdir/usr/include/{ansidecl,bfd,bfdlink,dis-asm,plugin-api,symcat}.h
+ rm $pkgdir/usr/share/info/bfd.info
+ rm $pkgdir/usr/lib/{libbfd,libopcodes}.a
+
+ rm -r $pkgdir/usr/{bin,include,lib,share/info,share/man}
+}
+
+package_gdb() {
+ depends=(ncurses expat xz mpfr gdb-common=$pkgver)
+ backup=(etc/gdb/gdbinit)
+
+ cd gdb-$pkgver
+ make DESTDIR=$pkgdir install
# install "custom" system gdbinit
install -dm755 $pkgdir/etc/gdb
touch $pkgdir/etc/gdb/gdbinit
# resolve conflicts with binutils
- rm ${pkgdir}/usr/include/{ansidecl,bfd,bfdlink,dis-asm,symcat}.h
- rm ${pkgdir}/usr/lib/{libbfd,libiberty,libopcodes}.a
- rm ${pkgdir}/usr/share/info/{bfd,configure,standards}.info
+ rm $pkgdir/usr/include/{ansidecl,bfd,bfdlink,dis-asm,plugin-api,symcat}.h
+ rm $pkgdir/usr/share/info/bfd.info
+ rm $pkgdir/usr/lib/{libbfd,libopcodes}.a
+
+ # comes from gdb-common
+ rm -r $pkgdir/usr/share/gdb/
}
diff --git a/abs/core/gdb/gdb.install b/abs/core/gdb/gdb.install
deleted file mode 100644
index 986ec54..0000000
--- a/abs/core/gdb/gdb.install
+++ /dev/null
@@ -1,18 +0,0 @@
-infodir=usr/share/info
-filelist=(annotate.info gdb.info gdb.info-1 gdb.info-2 gdb.info-3 gdb.info-4 gdbint.info gdbint.info-1 gdbint.info-2 stabs.info)
-
-post_install() {
- for file in ${filelist[@]}; do
- install-info $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- for file in ${filelist[@]}; do
- install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
diff --git a/abs/core/gettext/PKGBUILD b/abs/core/gettext/PKGBUILD
index 87bcf54..c8dbf03 100644
--- a/abs/core/gettext/PKGBUILD
+++ b/abs/core/gettext/PKGBUILD
@@ -2,17 +2,16 @@
# Maintainer:
pkgname=gettext
-pkgver=0.19.5
-pkgrel=1
+pkgver=0.19.8.1
+pkgrel=2
pkgdesc="GNU internationalization library"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://www.gnu.org/software/gettext/"
license=('GPL')
groups=('base' 'base-devel')
depends=('gcc-libs' 'acl' 'sh' 'glib2' 'libunistring')
optdepends=('git: for autopoint infrastructure updates')
options=(!docs)
-install=gettext.install
source=(ftp://ftp.gnu.org/pub/gnu/gettext/${pkgname}-${pkgver}.tar.gz{,.sig})
validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871') # Daiki Ueno
@@ -31,5 +30,5 @@ package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
}
-md5sums=('0f3c108d64e8dcd9e6fbdff4ca722feb'
+md5sums=('97e034cf8ce5ba73a28ff6c3c0638092'
'SKIP')
diff --git a/abs/core/gettext/gettext.install b/abs/core/gettext/gettext.install
deleted file mode 100644
index 0ff5294..0000000
--- a/abs/core/gettext/gettext.install
+++ /dev/null
@@ -1,22 +0,0 @@
-infodir=/usr/share/info
-filelist=(gettext.info.gz autosprintf.info.gz)
-
-post_install() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file $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 $infodir/dir 2> /dev/null
- done
-}
-
-# vim:set ts=2 sw=2 et:
diff --git a/abs/core/ghostscript/PKGBUILD b/abs/core/ghostscript/PKGBUILD
index 42dada7..7d3a869 100644
--- a/abs/core/ghostscript/PKGBUILD
+++ b/abs/core/ghostscript/PKGBUILD
@@ -1,100 +1,105 @@
# $Id$
# Maintainer: AndyRTR <andyrtr@archlinux.org>
-### !!! rebuild groff from core that picks up hardcoding the GS versioned font path !!! ###
-
-pkgname=ghostscript
-pkgver=9.18
-pkgrel=6
+pkgbase=ghostscript
+pkgname=(ghostscript ghostxps ghostpcl)
+pkgver=9.22
+pkgrel=7
pkgdesc="An interpreter for the PostScript language"
-arch=('i686' 'x86_64')
-license=('AGPL' 'custom')
-depends=('libxt' 'libcups' 'fontconfig' 'jasper' 'zlib' 'libpng>=1.5.7' 'libjpeg'
- 'libtiff>=4.0.0' 'lcms2' 'dbus' 'libpaper')
-makedepends=('gtk3' 'gnutls' 'hardening-wrapper')
-optdepends=('texlive-core: needed for dvipdf'
- 'gtk3: needed for gsx')
-url="http://www.ghostscript.com/"
-source=(http://downloads.ghostscript.com/public/ghostscript-${pkgver}.tar.bz2
- ghostscript-sys-zlib.patch
- bug_696246.diff
- add_gserrors_h.diff
- fix_check_for_using_shared_freetype_lib.diff)
-#options=('!makeflags')
-# http://downloads.ghostscript.com/public/SHA1SUMS
-sha1sums=('388fea50a38e422a4c6ff27c184491bf5ecb96e1'
- 'e054caf753df4d67221b29a2eac66130653f7556'
- 'f259eaac3beb0ec346bb2d4d2455e4e3baddecd4'
- 'ca686fed1af36d1f9fa866b47ff129c71d6a19ff'
- '8258043b111832fe52989ccb00d6d87285fcad81')
+url="https://www.ghostscript.com/"
+arch=('x86_64')
+license=('AGPL3' 'custom')
+depends=('libxt' 'libcups' 'fontconfig' 'zlib' 'libpng' 'libjpeg' 'jbig2dec'
+ 'libtiff' 'lcms2' 'dbus' 'libpaper' 'ijs' 'openjpeg2')
+makedepends=('gtk3' 'gnutls' 'glu' 'freeglut')
+# https://github.com/ArtifexSoftware/ghostpdl-downloads/releases
+source=(https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${pkgver/./}/ghostpdl-${pkgver}.tar.xz
+ ghostscript-9.22-restore-flushpage.patch)
+sha256sums=('f4e46bc1f8285a61ab036007705fc2b532cc40f4448fe6bc156bd130733f306b'
+ '22156c892ea27572386f5211f51a10a17079a9974ded9ec9af3f37a93a1bb8ca')
prepare() {
- cd ghostscript-${pkgver}
- # fix build with system zlib
- patch -Np1 -i ${srcdir}/ghostscript-sys-zlib.patch
- # fix http://bugs.ghostscript.com/show_bug.cgi?id=696246 - FS#46637, FS#46734?
- patch -Np1 -i ${srcdir}/bug_696246.diff
- # add a missing header; FS#46928
- patch -Np1 -i ${srcdir}/add_gserrors_h.diff
- # fix use system freetype - FS#46744
- # http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=8f5d28536e4518716fdfe974e580194c8f57871d
- patch -Np1 -i ${srcdir}/fix_check_for_using_shared_freetype_lib.diff
-}
+ cd ghostpdl-${pkgver}
+
+ # http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=19ebb5f1f497b6f2d50fe13d17d3e627dfb6c868
+ patch -Np1 --no-backup-if-mismatch -i ../ghostscript-9.22-restore-flushpage.patch
-build() {
- cd ghostscript-${pkgver}
-
# force it to use system-libs
- # keep heavily patched included openjpeg, leads to segfault with system openjpeg
- # https://bugs.archlinux.org/task/38226
- rm -rf jpeg libpng zlib jasper expat tiff lcms lcms2 freetype cups/libs # jbig2dec is in community
+ rm -r cups/libs expat ijs jbig2dec jpeg lcms2 libpng openjpeg tiff zlib
+ # using tree freetype because of https://bugs.archlinux.org/task/56849
+
+ autoreconf -fvi
+}
- autoconf --force
+build() {
+ cd ghostpdl-${pkgver}
./configure --prefix=/usr \
- --enable-dynamic \
- --with-ijs \
- --with-jbig2dec \
- --with-omni \
- --with-x \
- --with-drivers=ALL\
- --with-fontpath=/usr/share/fonts/Type1:/usr/share/fonts \
- --enable-fontconfig \
- --enable-freetype \
- --enable-openjpeg \
- --without-luratech \
- --without-omni \
- --with-system-libtiff \
- --with-libpaper \
- --disable-compile-inits #--help # needed for linking with system-zlib
- make
-
- # Build IJS
- cd ijs
- sed -i "s:AM_PROG_CC_STDC:AC_PROG_CC:g" configure.ac
- ./autogen.sh
- ./configure --prefix=/usr --enable-shared --disable-static
- make
+ --enable-dynamic \
+ --with-ijs \
+ --with-jbig2dec \
+ --with-x \
+ --with-drivers=ALL \
+ --with-fontpath=/usr/share/fonts/gsfonts \
+ --enable-fontconfig \
+ --enable-freetype \
+ --enable-openjpeg \
+ --without-luratech \
+ --with-system-libtiff \
+ --with-libpaper \
+ --disable-compile-inits #--help # needed for linking with system-zlib
+
+ make so-only
}
-package() {
- cd ghostscript-${pkgver}
+package_ghostscript() {
+ optdepends=('texlive-core: needed for dvipdf'
+ 'gtk3: needed for gsx')
+
+ cd ghostpdl-${pkgver}
+
make DESTDIR="${pkgdir}" \
- cups_serverroot="${pkgdir}"/etc/cups \
- cups_serverbin="${pkgdir}"/usr/lib/cups install install-so
+ CUPSSERVERROOT="${pkgdir}$(cups-config --serverroot)" \
+ CUPSSERVERBIN="${pkgdir}$(cups-config --serverbin)" \
+ soinstall
+ ln -s gsc "${pkgdir}"/usr/bin/gs
# install missing doc files # http://bugs.archlinux.org/task/18023
- install -m 644 "${srcdir}"/ghostscript-${pkgver}/doc/{Ps2ps2.htm,gs-vms.hlp,gsdoc.el,pscet_status.txt} "${pkgdir}"/usr/share/ghostscript/$pkgver/doc/
-
- install -D -m644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
-
- # remove unwanted localized man-pages
- rm -rf "$pkgdir"/usr/share/man/[^man1]*
-
- # install IJS
- cd ijs
- make DESTDIR="${pkgdir}" install
-
- # remove filters that are now maintained in cups-filters as upstream home
- rm -rf "$pkgdir"/usr/lib/cups/filter/{gstopxl,gstoraster}
+ install -Dt "${pkgdir}"/usr/share/ghostscript/${pkgver}/doc \
+ -m644 doc/{VectorDevices.htm,gs-vms.hlp,gsdoc.el,pscet_status.txt}
+
+ # remove unwanted localized manpages
+ rm -r "${pkgdir}"/usr/share/man/de
+
+ install -Dt "${pkgdir}"/usr/share/licenses/${pkgname} -m644 LICENSE
+}
+
+package_ghostxps() {
+ pkgdesc="${pkgdesc/PostScript/XPS document}"
+ depends=("ghostscript=${pkgver}-${pkgrel}")
+
+ cd ghostpdl-${pkgver}
+
+ install -Dt "${pkgdir}"/usr/bin sobin/gxpsc
+ ln -s gxpsc "${pkgdir}"/usr/bin/gxps
+
+ install -Dt "${pkgdir}"/usr/lib sobin/libgxps.so.${pkgver}
+ ln -s libgxps.so.${pkgver} "${pkgdir}"/usr/lib/libgxps.so.${pkgver%.*}
+
+ install -Dt "${pkgdir}"/usr/share/licenses/${pkgname} -m644 LICENSE
+}
+
+package_ghostpcl() {
+ pkgdesc="${pkgdesc/PostScript/PCL 6}"
+ depends=("ghostscript=${pkgver}-${pkgrel}")
+
+ cd ghostpdl-${pkgver}
+
+ install -Dt "${pkgdir}"/usr/bin sobin/gpcl6c
+ ln -sf gpcl6c "${pkgdir}"/usr/bin/gpcl6
+
+ install -Dt "${pkgdir}"/usr/lib sobin/libgpcl6.so.${pkgver}
+ ln -s libgpcl6.so.${pkgver} "${pkgdir}"/usr/lib/libgpcl6.so.${pkgver%.*}
+
+ install -Dt "${pkgdir}"/usr/share/licenses/${pkgname} -m644 LICENSE
}
diff --git a/abs/core/ghostscript/add_gserrors_h.diff b/abs/core/ghostscript/add_gserrors_h.diff
deleted file mode 100644
index c34e486..0000000
--- a/abs/core/ghostscript/add_gserrors_h.diff
+++ /dev/null
@@ -1,43 +0,0 @@
-From feafe5e540a0545ec5d28f3f66bb542056bba495 Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Fri, 23 Oct 2015 10:16:11 +0100
-Subject: [PATCH] Bug 696301: add gserrors.h to the installed files
-
-for the so-install target.
-
-Also remove a spurious (copy'n'paste error) comment.
-
-No cluster differences
----
- base/gserrors.h | 2 +-
- base/unix-dll.mak | 1 +
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/base/gserrors.h b/base/gserrors.h
-index 5f18081..cdebb38 100644
---- a/base/gserrors.h
-+++ b/base/gserrors.h
-@@ -25,7 +25,7 @@
- /* We don't use a typedef internally to avoid a lot of casting. */
-
- enum gs_error_type {
-- gs_error_ok = 0, /* unknown error */
-+ gs_error_ok = 0,
- gs_error_unknownerror = -1, /* unknown error */
- gs_error_dictfull = -2,
- gs_error_dictstackoverflow = -3,
-diff --git a/base/unix-dll.mak b/base/unix-dll.mak
-index 7b67aa1..73b4fa9 100644
---- a/base/unix-dll.mak
-+++ b/base/unix-dll.mak
-@@ -186,6 +186,7 @@ install-so-subtarget: so-subtarget
- ln -s $(GS_SONAME_MAJOR_MINOR) $(DESTDIR)$(libdir)/$(GS_SONAME_MAJOR)
- $(INSTALL_DATA) $(PSSRC)iapi.h $(DESTDIR)$(gsincludedir)iapi.h
- $(INSTALL_DATA) $(PSSRC)ierrors.h $(DESTDIR)$(gsincludedir)ierrors.h
-+ $(INSTALL_DATA) $(GLSRC)gserrors.h $(DESTDIR)$(gsincludedir)gserrors.h
- $(INSTALL_DATA) $(DEVSRC)gdevdsp.h $(DESTDIR)$(gsincludedir)gdevdsp.h
-
- soinstall:
---
-2.5.1
-
diff --git a/abs/core/ghostscript/bug_696246.diff b/abs/core/ghostscript/bug_696246.diff
deleted file mode 100644
index 4719eb5..0000000
--- a/abs/core/ghostscript/bug_696246.diff
+++ /dev/null
@@ -1,203 +0,0 @@
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Fri, 9 Oct 2015 09:54:10 +0000 (+0100)
-Subject: Bug 696246: devijs account for device sublassing.
-X-Git-Url: http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff_plain;h=b68e05c3
-
-Bug 696246: devijs account for device sublassing.
-
-The IJS device wasn't coping with the possibility it had been subclassed.
-
-No cluster differences
----
-
-diff --git a/devices/gdevijs.c b/devices/gdevijs.c
-index 5520716..a2e21ea 100644
---- a/devices/gdevijs.c
-+++ b/devices/gdevijs.c
-@@ -827,6 +827,10 @@ gsijs_open(gx_device *dev)
- if (code < 0)
- return code;
-
-+ while (dev->child)
-+ dev = dev->child;
-+ ijsdev = (gx_device_ijs *)dev;
-+
- if (use_outputfd) {
- /* Note: dup() may not be portable to all interesting IJS
- platforms. In that case, this branch should be #ifdef'ed out.
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Fri, 9 Oct 2015 11:54:44 +0000 (+0100)
-Subject: Bug 696246: patch the memory manager fields for sublassed devices.
-X-Git-Url: http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff_plain;h=95553954
-
-Bug 696246: patch the memory manager fields for sublassed devices.
-
-When we subclass a device, we were patching the "visible" type field - that is,
-the one referenced directly in the device structure. We were not patching
-the type information in the memory object header so, in particular, the
-garbage collector could end up calling the wrong methods for the subclassed
-device.
-
-No cluster differences.
----
-
-diff --git a/base/gdevdflt.c b/base/gdevdflt.c
-index 5768937..305f89d 100644
---- a/base/gdevdflt.c
-+++ b/base/gdevdflt.c
-@@ -17,6 +17,8 @@
- #include "math_.h"
- #include "memory_.h"
- #include "gx.h"
-+#include "gsstruct.h"
-+#include "gxobj.h"
- #include "gserrors.h"
- #include "gsropt.h"
- #include "gxcomp.h"
-@@ -26,6 +28,7 @@
- #include "gstrans.h" /* For gs_pdf14trans_t */
- #include "gxistate.h" /* for gs_image_state_s */
-
-+
- /* defined in gsdpram.c */
- int gx_default_get_param(gx_device *dev, char *Param, void *list);
-
-@@ -1294,6 +1297,11 @@ int gx_device_subclass(gx_device *dev_to_subclass, gx_device *new_prototype, uns
- ptr1 = ((char *)new_prototype) + sizeof(gx_device);
- memcpy(ptr, ptr1, new_prototype->params_size - sizeof(gx_device));
-
-+ /* We have to patch up the "type" parameters that the memory manage/garbage
-+ * collector will use, as well.
-+ */
-+ (((obj_header_t *)dev_to_subclass) - 1)->o_type = new_prototype->stype;
-+
- /* If the original device's stype structure was dynamically allocated, we need
- * to 'fixup' the contents, it's procs need to point to the new device's procs
- * for instance.
-diff --git a/base/lib.mak b/base/lib.mak
-index de78333..09b70e5 100644
---- a/base/lib.mak
-+++ b/base/lib.mak
-@@ -1210,7 +1210,7 @@ $(GLOBJ)gdevdsha.$(OBJ) : $(GLSRC)gdevdsha.c $(AK) $(gx_h)\
-
- $(GLOBJ)gdevdflt.$(OBJ) : $(GLSRC)gdevdflt.c $(AK) $(gx_h)\
- $(gserrors_h) $(gsropt_h) $(gxcomp_h) $(gxdevice_h) $(gxdevsop_h) $(math__h)\
-- $(MAKEDIRS)
-+ $(gsstruct_h) $(gxobj_h) $(MAKEDIRS)
- $(GLCC) $(GLO_)gdevdflt.$(OBJ) $(C_) $(GLSRC)gdevdflt.c
-
- $(GLOBJ)gdevdgbr.$(OBJ) : $(GLSRC)gdevdgbr.c $(AK) $(gx_h)\
-From 007bd77d08d800e6b07274d62e3c91be7c4a3f47 Mon Sep 17 00:00:00 2001
-From: Ken Sharp <ken.sharp@artifex.com>
-Date: Mon, 12 Oct 2015 16:36:11 +0100
-Subject: [PATCH] Guard against NULL 'base' for non-clist devices
-
-Bug #696246 "Ghostscript 9.18 with -dFirstPage/-dLastPage fails for ijs and some x11 devices"
-
-This is actually for the plib device. This device is currently (this will
-change in the next commit) set to BandingAuto, despite the fact that the
-device only works in banding mode.
-
-This can lead to use arriving in gdev_mem_open_scan_lines with all of
-mdev->bitmap_memory, mdev->line_pointers_memory and mdev->base being set to
-NULL. The code didn't check and assumed that mdev->base was valid, which
-led to a later seg fault.
-
-Here we just check to make sure it isn't NULL and return an error if it is.
-This doesn't prevent the possibility of garbage uninitialised values, but
-there's not much we can do to check that at this stage, devices are supposed
-to be initialised to 0 so this 'shouldn't' happen.
-
-No differences expected.
----
- base/gdevmem.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/base/gdevmem.c b/base/gdevmem.c
-index 3019451f..507fa19 100644
---- a/base/gdevmem.c
-+++ b/base/gdevmem.c
-@@ -471,6 +471,9 @@ gdev_mem_open_scan_lines(gx_device_memory *mdev, int setup_height)
- line_pointers_adjacent = false;
- }
- if (line_pointers_adjacent) {
-+ if (mdev->base == 0)
-+ return_error(gs_error_rangecheck);
-+
- gdev_mem_bits_size(mdev, mdev->width, mdev->height, &size);
- mdev->line_ptrs = (byte **)(mdev->base + size);
- }
---
-2.5.1
-
-From 1bdbe4f87dc57648821e613ebcc591b84e8b35b3 Mon Sep 17 00:00:00 2001
-From: Ken Sharp <ken.sharp@artifex.com>
-Date: Mon, 12 Oct 2015 16:38:09 +0100
-Subject: [PATCH] Ensure plib devices always use the clist
-
-Bug #696246 "Ghostscript 9.18 with -dFirstPage/-dLastPage fails for ijs and some x11 devices"
-
-the plib* class of devices only work if clist is present, but previously
-they left the banding_type set to 'auto', which meant that under some
-conditions we did not use the clist, leading to a seg fault.
-
-This commit simply forces banding_type to be 'BandingAlways'.
-
-No differences expected.
----
- devices/gdevplib.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/devices/gdevplib.c b/devices/gdevplib.c
-index 51bd7ea..87c6f46 100644
---- a/devices/gdevplib.c
-+++ b/devices/gdevplib.c
-@@ -691,6 +691,8 @@ plib_open(gx_device * pdev)
- bdev->printer_procs.buf_procs.size_buf_device = plib_size_buf_device;
- pdev->is_planar = 1;
-
-+ bdev->space_params.banding_type = BandingAlways;
-+
- /* You might expect us to call gdev_prn_open_planar rather than
- * gdev_prn_open, but if we do that, it overwrites the 2 function
- * pointers we've just overwritten! */
---
-2.5.1
-
-From 5571ddfa377c5d7d98f55af40e693814ac287ae4 Mon Sep 17 00:00:00 2001
-From: Ken Sharp <ken.sharp@artifex.com>
-Date: Mon, 12 Oct 2015 16:40:10 +0100
-Subject: [PATCH] prevent rinkj device crash when misconfigured (no SetupFile)
-
-Bug #696246 "Ghostscript 9.18 with -dFirstPage/-dLastPage fails for ijs and some x11 devices"
-
-The rinkj device requires a SetupFile to be given as a device parameter,
-however it doesn't actually check to see if one is given, and just tries
-to open the filename, with a predictable crash when none is given.
-
-Here we check the filename and attempt to ensure it is both present and
-minimally valid.
-
-No differences expected.
----
- devices/gdevrinkj.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/devices/gdevrinkj.c b/devices/gdevrinkj.c
-index f55bc60..12c396a 100644
---- a/devices/gdevrinkj.c
-+++ b/devices/gdevrinkj.c
-@@ -1193,6 +1193,10 @@ rinkj_print_page(gx_device_printer *pdev, FILE *file)
- int code = 0;
- RinkjDevice *cmyk_dev;
-
-+ if (rdev->setup_fn == 0 || rdev->setup_fn[0] == 0) {
-+ emprintf(rdev->memory, "Error, SetupFile not defined, output aborted\n");
-+ return 0;
-+ }
- cmyk_dev = rinkj_init(rdev, file);
- if (cmyk_dev == 0)
- return gs_note_error(gs_error_ioerror);
---
-2.5.1
-
diff --git a/abs/core/ghostscript/fix_check_for_using_shared_freetype_lib.diff b/abs/core/ghostscript/fix_check_for_using_shared_freetype_lib.diff
deleted file mode 100644
index b5b7b9b..0000000
--- a/abs/core/ghostscript/fix_check_for_using_shared_freetype_lib.diff
+++ /dev/null
@@ -1,30 +0,0 @@
-From 8f5d28536e4518716fdfe974e580194c8f57871d Mon Sep 17 00:00:00 2001
-From: Chris Liddell <chris.liddell@artifex.com>
-Date: Thu, 7 Jan 2016 09:03:10 +0000
-Subject: [PATCH] Bug 696281: fix check for using shared freetype lib
-
-When I changed the initial value of the Freetype source path variable (to reduce
-the risk of header search path problems), I neglected to fix the logic for
-falling back to the system's libfreetype2.
-
-Credit to Rodrigo Rivas Costa for spotting the problem.
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 0c97fcc..f533e46 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -811,7 +811,7 @@ if test x"$enable_fapi" != xno; then
- fi
- done
-
-- if test -z $FTSRCDIR; then
-+ if test x"$FTSRCDIR" = x"src"; then
- AC_MSG_RESULT([no])
- if test "x$PKGCONFIG" != x; then
- AC_MSG_CHECKING(for system freetype2 >= 2.4.2 with pkg-config)
---
-2.6.3
-
diff --git a/abs/core/ghostscript/ghostscript-9.22-restore-flushpage.patch b/abs/core/ghostscript/ghostscript-9.22-restore-flushpage.patch
new file mode 100644
index 0000000..c4b3673
--- /dev/null
+++ b/abs/core/ghostscript/ghostscript-9.22-restore-flushpage.patch
@@ -0,0 +1,28 @@
+diff -up ghostscript-9.22/Resource/Init/gs_init.ps.restore-flushpage ghostscript-9.22/Resource/Init/gs_init.ps
+--- ghostscript-9.22/Resource/Init/gs_init.ps.restore-flushpage 2017-11-29 14:58:35.449534983 -0500
++++ ghostscript-9.22/Resource/Init/gs_init.ps 2017-11-29 14:59:25.903397616 -0500
+@@ -2163,7 +2163,7 @@ SAFER { .setsafeglobal } if
+ /.type1execchar /.type2execchar /.type42execchar /.setweightvector /.getuseciecolor /processcolors /.includecolorspace
+ /.execn /.instopped /.stop /.stopped /.setcolorrendering /.setdevicecolorrendering /.buildcolorrendering1 /.builddevicecolorrendering1
+ /.TransformPQR_scale_WB0 /.TransformPQR_scale_WB1 /.TransformPQR_scale_WB2 /.currentoverprintmode /.copydevice2
+-/.devicename /.doneshowpage /flushpage /.getbitsrect /.getdevice /.getdefaultdevice /.getdeviceparams /.gethardwareparams
++/.devicename /.doneshowpage /.getbitsrect /.getdevice /.getdefaultdevice /.getdeviceparams /.gethardwareparams
+ /makewordimagedevice /.outputpage /.putdeviceparams /.setdevice /.currentshowpagecount
+ /.setpagedevice /.currentpagedevice /.knownundef /.setmaxlength /.rectappend /.initialize_dsc_parser /.parse_dsc_comments
+ /.fillCIDMap /.fillIdentityCIDMap /.buildcmap /.filenamelistseparator /.libfile /.getfilename
+@@ -2181,6 +2181,15 @@ SAFER { .setsafeglobal } if
+ /.systemvmSFD /.settrapparams /.currentsystemparams /.currentuserparams /.getsystemparam /.getuserparam /.setsystemparams /.setuserparams
+ /.checkpassword /.locale_to_utf8 /.currentglobal /.gcheck /.imagepath
+
++% Used by a free user in the Library of Congress. Apparently this is used to
++% draw a partial page, which is then filled in by the results of a barcode
++% scanner and SQL database lookup. Its not clear to us exactly why this needs to be
++% done as a partial page, but its easiest to restore the operator, and it seems like
++% its a reasonably safe operator to restore, for the *very* few devices on which
++% it will have any effect. Currently this uses the 'sync_outptu' device method
++% to transfer the partial page, in future we may use a spec_op instead.
++%/flushpage
++
+ % Used by our own test suite files
+ %/.fileposition %image-qa.ps
+ %/.makeoperator /.setCPSImode % gs_cet.ps
diff --git a/abs/core/ghostscript/ghostscript-sys-zlib.patch b/abs/core/ghostscript/ghostscript-sys-zlib.patch
deleted file mode 100644
index d632fcb..0000000
--- a/abs/core/ghostscript/ghostscript-sys-zlib.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -up ghostscript-9.12/configure.ac.sys-zlib ghostscript-9.12/configure.ac
---- ghostscript-9.12/configure.ac.sys-zlib 2014-03-26 11:48:54.983972222 +0000
-+++ ghostscript-9.12/configure.ac 2014-03-26 11:49:36.807230531 +0000
-@@ -854,7 +854,7 @@ AC_MSG_CHECKING([for local zlib source])
- dnl zlib is needed for language level 3, and libpng
- # we must define ZLIBDIR regardless because png.mak does a -I$(ZLIBDIR)
- # this seems a harmless default
--ZLIBDIR=src
-+ZLIBDIR=$includedir
- AUX_SHARED_ZLIB=
-
- if test -d $srcdir/zlib; then
-diff -up ghostscript-9.12/configure.sys-zlib ghostscript-9.12/configure
---- ghostscript-9.12/configure.sys-zlib 2014-03-26 11:49:45.547284521 +0000
-+++ ghostscript-9.12/configure 2014-03-26 11:49:56.171350127 +0000
-@@ -6254,7 +6254,7 @@ fi
- $as_echo_n "checking for local zlib source... " >&6; }
- # we must define ZLIBDIR regardless because png.mak does a -I$(ZLIBDIR)
- # this seems a harmless default
--ZLIBDIR=src
-+ZLIBDIR=$includedir
- AUX_SHARED_ZLIB=
-
- if test -d $srcdir/zlib; then
-
diff --git a/abs/core/glibc/PKGBUILD b/abs/core/glibc/PKGBUILD
index 980bf41..1da7c0a 100644
--- a/abs/core/glibc/PKGBUILD
+++ b/abs/core/glibc/PKGBUILD
@@ -1,112 +1,164 @@
# $Id$
-# Maintainer: Allan McRae <allan@archlinux.org>
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
# NOTE: valgrind requires rebuilt with each major glibc version
-pkgname=glibc
-pkgver=2.23
-pkgrel=1
-_commit=e742928c
-pkgdesc="GNU C Library"
-arch=('i686' 'x86_64')
-url="http://www.gnu.org/software/libc"
-license=('GPL' 'LGPL')
-groups=('base')
-depends=('linux-api-headers>=4.1' 'tzdata' 'filesystem')
-makedepends=('gcc>=5.2' 'git')
-backup=(etc/gai.conf
- etc/locale.gen
- etc/nscd.conf)
-options=('!strip' 'staticlibs')
-install=glibc.install
-source=(git://sourceware.org/git/glibc.git#commit=${_commit}
+pkgbase=glibc
+pkgname=(glibc lib32-glibc)
+pkgver=2.26
+pkgrel=11
+arch=(x86_64)
+url='http://www.gnu.org/software/libc'
+license=(GPL LGPL)
+makedepends=(git gd lib32-gcc-libs)
+options=(!strip staticlibs)
+_commit=de51f431ed6226ec68ca76e578f2cbd55b6262cb
+source=(git+https://sourceware.org/git/glibc.git#commit=${_commit}
locale.gen.txt
- locale-gen)
+ locale-gen
+ lib32-glibc.conf
+ bz20338.patch)
md5sums=('SKIP'
'07ac979b6ab5eeb778d55f041529d623'
- '476e9113489f93b348b21e144b6a8fcf')
+ '476e9113489f93b348b21e144b6a8fcf'
+ '6e052f1cb693d5d3203f50f9d4e8c33b'
+ 'dc0d3ad59aeaaf591b085a77de6e03e9')
prepare() {
- mkdir glibc-build
+ mkdir -p glibc-build lib32-glibc-build
+
+ cd glibc
+
+ local i; for i in ${source[@]}; do
+ case ${i%::*} in
+ *.patch)
+ msg2 "Applying ${i}"
+ patch -p1 -i "$srcdir/${i}"
+ ;;
+ esac
+ done
}
build() {
- cd glibc-build
+ local _configure_flags=(
+ --prefix=/usr
+ --with-headers=/usr/include
+ --with-bugurl=https://bugs.archlinux.org/
+ --enable-add-ons
+ --enable-bind-now
+ --enable-lock-elision
+ --enable-multi-arch
+ --enable-obsolete-nsl
+ --enable-obsolete-rpc
+ --enable-stack-protector=strong
+ --enable-stackguard-randomization
+ --disable-profile
+ --disable-werror
+ )
- if [[ ${CARCH} = "i686" ]]; then
- # Hack to fix NPTL issues with Xen, only required on 32bit platforms
- # TODO: make separate glibc-xen package for i686
- export CFLAGS="${CFLAGS} -mno-tls-direct-seg-refs"
- fi
+ cd "$srcdir/glibc-build"
echo "slibdir=/usr/lib" >> configparms
echo "rtlddir=/usr/lib" >> configparms
echo "sbindir=/usr/bin" >> configparms
echo "rootsbindir=/usr/bin" >> configparms
- # remove hardening options for building libraries
- CFLAGS=${CFLAGS/-fstack-protector-strong/}
+ # remove fortify for building libraries
CPPFLAGS=${CPPFLAGS/-D_FORTIFY_SOURCE=2/}
- ../${pkgname}/configure --prefix=/usr \
- --libdir=/usr/lib --libexecdir=/usr/lib \
- --with-headers=/usr/include \
- --with-bugurl=https://bugs.archlinux.org/ \
- --enable-add-ons \
- --enable-obsolete-rpc \
- --enable-kernel=2.6.32 \
- --enable-bind-now --disable-profile \
- --enable-stackguard-randomization \
- --enable-lock-elision \
- --enable-multi-arch \
- --disable-werror
+ "$srcdir/glibc/configure" \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ ${_configure_flags[@]}
- # build libraries with hardening disabled
+ # build libraries with fortify disabled
echo "build-programs=no" >> configparms
make
- # re-enable hardening for programs
+ # re-enable fortify for programs
sed -i "/build-programs=/s#no#yes#" configparms
- echo "CC += -fstack-protector-strong -D_FORTIFY_SOURCE=2" >> configparms
- echo "CXX += -fstack-protector-strong -D_FORTIFY_SOURCE=2" >> configparms
+
+ echo "CC += -D_FORTIFY_SOURCE=2" >> configparms
+ echo "CXX += -D_FORTIFY_SOURCE=2" >> configparms
+ make
+
+ cd "$srcdir/lib32-glibc-build"
+ export CC="gcc -m32 -mstackrealign"
+ export CXX="g++ -m32 -mstackrealign"
+
+ echo "slibdir=/usr/lib32" >> configparms
+ echo "rtlddir=/usr/lib32" >> configparms
+ echo "sbindir=/usr/bin" >> configparms
+ echo "rootsbindir=/usr/bin" >> configparms
+
+ # remove fortify for building libraries
+ CPPFLAGS=${CPPFLAGS/-D_FORTIFY_SOURCE=2/}
+ CFLAGS=${CFLAGS/-fno-plt/}
+ CXXFLAGS=${CXXFLAGS/-fno-plt/}
+
+ "$srcdir/glibc/configure" \
+ --host=i686-pc-linux-gnu \
+ --libdir=/usr/lib32 \
+ --libexecdir=/usr/lib32 \
+ ${_configure_flags[@]}
+
+ # build libraries with fortify disabled
+ echo "build-programs=no" >> configparms
+ make
+
+ # re-enable fortify for programs
+ sed -i "/build-programs=/s#no#yes#" configparms
+
+ echo "CC += -D_FORTIFY_SOURCE=2" >> configparms
+ echo "CXX += -D_FORTIFY_SOURCE=2" >> configparms
make
- # remove harding in preparation to run test-suite
- sed -i '/FORTIFY/d' configparms
}
check() {
cd glibc-build
+ # remove fortify in preparation to run test-suite
+ sed -i '/FORTIFY/d' configparms
+
# some failures are "expected"
make check || true
}
-package() {
- cd glibc-build
-
- install -dm755 ${pkgdir}/etc
- touch ${pkgdir}/etc/ld.so.conf
+package_glibc() {
+ pkgdesc='GNU C Library'
+ depends=('linux-api-headers>=4.10' tzdata filesystem)
+ optdepends=('gd: for memusagestat')
+ install=glibc.install
+ backup=(etc/gai.conf
+ etc/locale.gen
+ etc/nscd.conf)
+ groups=(base)
- make install_root=${pkgdir} install
+ install -dm755 "$pkgdir/etc"
+ touch "$pkgdir/etc/ld.so.conf"
- rm -f ${pkgdir}/etc/ld.so.{cache,conf}
+ make -C glibc-build install_root="$pkgdir" install
+ rm -f "$pkgdir"/etc/ld.so.{cache,conf}
- install -dm755 ${pkgdir}/usr/lib/{locale,systemd/system,tmpfiles.d}
+ cd glibc
- install -m644 ${srcdir}/${pkgname}/nscd/nscd.conf ${pkgdir}/etc/nscd.conf
- install -m644 ${srcdir}/${pkgname}/nscd/nscd.service ${pkgdir}/usr/lib/systemd/system
- install -m644 ${srcdir}/${pkgname}/nscd/nscd.tmpfiles ${pkgdir}/usr/lib/tmpfiles.d/nscd.conf
+ install -dm755 "$pkgdir"/usr/lib/{locale,systemd/system,tmpfiles.d}
+ install -m644 nscd/nscd.conf "$pkgdir/etc/nscd.conf"
+ install -m644 nscd/nscd.service "$pkgdir/usr/lib/systemd/system"
+ install -m644 nscd/nscd.tmpfiles "$pkgdir/usr/lib/tmpfiles.d/nscd.conf"
+ install -dm755 "$pkgdir/var/db/nscd"
- install -m644 ${srcdir}/${pkgname}/posix/gai.conf ${pkgdir}/etc/gai.conf
+ install -m644 posix/gai.conf "$pkgdir"/etc/gai.conf
- install -m755 ${srcdir}/locale-gen ${pkgdir}/usr/bin
+ install -m755 "$srcdir/locale-gen" "$pkgdir/usr/bin"
# create /etc/locale.gen
- install -m644 ${srcdir}/locale.gen.txt ${pkgdir}/etc/locale.gen
+ install -m644 "$srcdir/locale.gen.txt" "$pkgdir/etc/locale.gen"
sed -e '1,3d' -e 's|/| |g' -e 's|\\| |g' -e 's|^|#|g' \
- ${srcdir}/glibc/localedata/SUPPORTED >> ${pkgdir}/etc/locale.gen
+ "$srcdir/glibc/localedata/SUPPORTED" >> "$pkgdir/etc/locale.gen"
# Do not strip the following files for improved debugging support
# ("improved" as in not breaking gdb and valgrind...):
@@ -115,23 +167,58 @@ package() {
# libpthread-${pkgver}.so
# libthread_db-1.0.so
- cd $pkgdir
- strip $STRIP_BINARIES usr/bin/{gencat,getconf,getent,iconv,iconvconfig} \
- usr/bin/{ldconfig,locale,localedef,nscd,makedb} \
- usr/bin/{pcprofiledump,pldd,rpcgen,sln,sprof} \
- usr/lib/getconf/*
- if [[ $CARCH = "i686" ]]; then
- strip $STRIP_BINARIES usr/bin/lddlibc4
+ if check_option 'debug' n; then
+ cd "$pkgdir"
+ strip $STRIP_BINARIES usr/bin/{gencat,getconf,getent,iconv,iconvconfig} \
+ usr/bin/{ldconfig,locale,localedef,nscd,makedb} \
+ usr/bin/{pcprofiledump,pldd,rpcgen,sln,sprof} \
+ usr/lib/getconf/*
+
+ strip $STRIP_STATIC usr/lib/lib{anl,BrokenLocale,c{,_nonshared},crypt}.a \
+ usr/lib/lib{dl,g,ieee,mcheck,nsl,pthread{,_nonshared}}.a \
+ usr/lib/lib{resolv,rpcsvc,rt,util}.a \
+ usr/lib/lib{m-${pkgver},mvec{,_nonshared}}.a
+
+ strip $STRIP_SHARED usr/lib/lib{anl,BrokenLocale,cidn,crypt}-${pkgver}.so \
+ usr/lib/libnss_{compat,db,dns,files,hesiod,nis,nisplus}-*.so \
+ usr/lib/lib{dl,m,nsl,resolv,rt,util}-${pkgver}.so \
+ usr/lib/lib{memusage,pcprofile,SegFault}.so \
+ usr/lib/{audit,gconv}/*.so usr/lib/libmvec-*.so || true
fi
+}
+
+package_lib32-glibc() {
+ pkgdesc='GNU C Library (32-bit)'
+ depends=("glibc=$pkgver")
+
+ cd lib32-glibc-build
+
+ make install_root="$pkgdir" install
+ rm -rf "$pkgdir"/{etc,sbin,usr/{bin,sbin,share},var}
+
+ # We need to keep 32 bit specific header files
+ find "$pkgdir/usr/include" -type f -not -name '*-32.h' -delete
+
+ # Dynamic linker
+ install -d "$pkgdir/usr/lib"
+ ln -s ../lib32/ld-linux.so.2 "$pkgdir/usr/lib/"
+
+ # Add lib32 paths to the default library search path
+ install -Dm644 "$srcdir/lib32-glibc.conf" "$pkgdir/etc/ld.so.conf.d/lib32-glibc.conf"
- strip $STRIP_STATIC usr/lib/*.a
+ # Symlink /usr/lib32/locale to /usr/lib/locale
+ ln -s ../lib/locale "$pkgdir/usr/lib32/locale"
- strip $STRIP_SHARED usr/lib/lib{anl,BrokenLocale,cidn,crypt}-*.so \
- usr/lib/libnss_{compat,db,dns,files,hesiod,nis,nisplus}-*.so \
- usr/lib/lib{dl,m,nsl,resolv,rt,util}-*.so \
- usr/lib/lib{memusage,pcprofile,SegFault}.so \
- usr/lib/{audit,gconv}/*.so || true
- if [[ $CARCH = "x86_64" ]]; then
- strip $STRIP_SHARED usr/lib/libmvec-*.so
+ if check_option 'debug' n; then
+ cd $pkgdir
+ strip $STRIP_BINARIES usr/lib32/getconf/*
+ strip $STRIP_STATIC usr/lib32/lib{anl,BrokenLocale,c{,_nonshared},crypt}.a \
+ usr/lib32/lib{dl,g,ieee,mcheck,nsl,pthread{,_nonshared}}.a \
+ usr/lib32/lib{resolv,rpcsvc,rt,util,m}.a
+ strip $STRIP_SHARED usr/lib32/lib{anl,BrokenLocale,cidn,crypt}-${pkgver}.so \
+ usr/lib32/libnss_{compat,db,dns,files,hesiod,nis,nisplus}-*.so \
+ usr/lib32/lib{dl,m,nsl,resolv,rt,util}-${pkgver}.so \
+ usr/lib32/lib{memusage,pcprofile,SegFault}.so \
+ usr/lib32/{audit,gconv}/*.so || true
fi
}
diff --git a/abs/core/glibc/bz20338.patch b/abs/core/glibc/bz20338.patch
new file mode 100644
index 0000000..d223e9f
--- /dev/null
+++ b/abs/core/glibc/bz20338.patch
@@ -0,0 +1,114 @@
+From 74250a7cdf106d4ca7d9506e6d5dc7c448dc3434 Mon Sep 17 00:00:00 2001
+From: David Michael <david.michael@coreos.com>
+Date: Thu, 15 Dec 2016 15:22:57 -0800
+Subject: [PATCH] gshadow: Sync fgetsgent_r.c with grp/fgetgrent_r.c
+
+ [BZ #20338]
+ * gshadow/fgetsgent_r.c: Include <libio/iolibio.h>.
+ (flockfile): New macro.
+ (funlockfile): Likewise.
+ (__fgetsgent_r): Sync with __fgetgrent_r.
+ * nss/nss_files/files-sgrp.c: Fix "fgetsgent_r.c" typo.
+---
+ gshadow/fgetsgent_r.c | 35 ++++++++++++++++++++++++-----------
+ nss/nss_files/files-sgrp.c | 2 +-
+ 2 files changed, 25 insertions(+), 12 deletions(-)
+
+diff --git a/gshadow/fgetsgent_r.c b/gshadow/fgetsgent_r.c
+index b70f6fa..02cd33a 100644
+--- a/gshadow/fgetsgent_r.c
++++ b/gshadow/fgetsgent_r.c
+@@ -20,39 +20,44 @@
+ #include <gshadow.h>
+ #include <stdio.h>
+
++#include <libio/iolibio.h>
++#define flockfile(s) _IO_flockfile (s)
++#define funlockfile(s) _IO_funlockfile (s)
++
+ /* Define a line parsing function using the common code
+ used in the nss_files module. */
+
+ #define STRUCTURE sgrp
+ #define ENTNAME sgent
+-#define EXTERN_PARSER 1
++#define EXTERN_PARSER 1
+ struct sgent_data {};
+
+ #include <nss/nss_files/files-parse.c>
+
+
+-/* Read one shadow entry from the given stream. */
++/* Read one entry from the given stream. */
+ int
+ __fgetsgent_r (FILE *stream, struct sgrp *resbuf, char *buffer, size_t buflen,
+ struct sgrp **result)
+ {
+ char *p;
++ int parse_result;
+
+- _IO_flockfile (stream);
++ flockfile (stream);
+ do
+ {
+ buffer[buflen - 1] = '\xff';
+ p = fgets_unlocked (buffer, buflen, stream);
+- if (p == NULL && feof_unlocked (stream))
++ if (__builtin_expect (p == NULL, 0) && feof_unlocked (stream))
+ {
+- _IO_funlockfile (stream);
++ funlockfile (stream);
+ *result = NULL;
+ __set_errno (ENOENT);
+ return errno;
+ }
+- if (p == NULL || buffer[buflen - 1] != '\xff')
++ if (__builtin_expect (p == NULL, 0) || buffer[buflen - 1] != '\xff')
+ {
+- _IO_funlockfile (stream);
++ funlockfile (stream);
+ *result = NULL;
+ __set_errno (ERANGE);
+ return errno;
+@@ -61,13 +66,21 @@ __fgetsgent_r (FILE *stream, struct sgrp *resbuf, char *buffer, size_t buflen,
+ /* Skip leading blanks. */
+ while (isspace (*p))
+ ++p;
+- } while (*p == '\0' || *p == '#' || /* Ignore empty and comment lines. */
++ } while (*p == '\0' || *p == '#' /* Ignore empty and comment lines. */
+ /* Parse the line. If it is invalid, loop to
+ get the next line of the file to parse. */
+- ! parse_line (buffer, (void *) resbuf, (void *) buffer, buflen,
+- &errno));
++ || ! (parse_result = parse_line (p, resbuf,
++ (void *) buffer, buflen,
++ &errno)));
++
++ funlockfile (stream);
+
+- _IO_funlockfile (stream);
++ if (__builtin_expect (parse_result, 0) == -1)
++ {
++ /* The parser ran out of space. */
++ *result = NULL;
++ return errno;
++ }
+
+ *result = resbuf;
+ return 0;
+diff --git a/nss/nss_files/files-sgrp.c b/nss/nss_files/files-sgrp.c
+index 15dc659..05c3805 100644
+--- a/nss/nss_files/files-sgrp.c
++++ b/nss/nss_files/files-sgrp.c
+@@ -23,7 +23,7 @@
+ #define DATABASE "gshadow"
+ struct sgent_data {};
+
+-/* Our parser function is already defined in sgetspent_r.c, so use that
++/* Our parser function is already defined in sgetsgent_r.c, so use that
+ to parse lines from the database file. */
+ #define EXTERN_PARSER
+ #include "files-parse.c"
+--
+2.7.4
+
diff --git a/abs/core/glibc/glibc-2.22-CVE-2015-7547.patch b/abs/core/glibc/glibc-2.22-CVE-2015-7547.patch
deleted file mode 100644
index 525ee49..0000000
--- a/abs/core/glibc/glibc-2.22-CVE-2015-7547.patch
+++ /dev/null
@@ -1,572 +0,0 @@
-CVE-2015-7547
-
-2016-02-15 Carlos O'Donell <carlos@redhat.com>
-
- [BZ #18665]
- * resolv/nss_dns/dns-host.c (gaih_getanswer_slice): Always set
- *herrno_p.
- (gaih_getanswer): Document functional behviour. Return tryagain
- if any result is tryagain.
- * resolv/res_query.c (__libc_res_nsearch): Set buffer size to zero
- when freed.
- * resolv/res_send.c: Add copyright text.
- (__libc_res_nsend): Document that MAXPACKET is expected.
- (send_vc): Document. Remove buffer reuse.
- (send_dg): Document. Remove buffer reuse. Set *thisanssizp to set the
- size of the buffer. Add Dprint for truncated UDP buffer.
-
-diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
-index a255d5e..47cfe27 100644
---- a/resolv/nss_dns/dns-host.c
-+++ b/resolv/nss_dns/dns-host.c
-@@ -1031,7 +1031,10 @@ gaih_getanswer_slice (const querybuf *answer, int anslen, const char *qname,
- int h_namelen = 0;
-
- if (ancount == 0)
-- return NSS_STATUS_NOTFOUND;
-+ {
-+ *h_errnop = HOST_NOT_FOUND;
-+ return NSS_STATUS_NOTFOUND;
-+ }
-
- while (ancount-- > 0 && cp < end_of_message && had_error == 0)
- {
-@@ -1208,7 +1211,14 @@ gaih_getanswer_slice (const querybuf *answer, int anslen, const char *qname,
- /* Special case here: if the resolver sent a result but it only
- contains a CNAME while we are looking for a T_A or T_AAAA record,
- we fail with NOTFOUND instead of TRYAGAIN. */
-- return canon == NULL ? NSS_STATUS_TRYAGAIN : NSS_STATUS_NOTFOUND;
-+ if (canon != NULL)
-+ {
-+ *h_errnop = HOST_NOT_FOUND;
-+ return NSS_STATUS_NOTFOUND;
-+ }
-+
-+ *h_errnop = NETDB_INTERNAL;
-+ return NSS_STATUS_TRYAGAIN;
- }
-
-
-@@ -1222,11 +1232,101 @@ gaih_getanswer (const querybuf *answer1, int anslen1, const querybuf *answer2,
-
- enum nss_status status = NSS_STATUS_NOTFOUND;
-
-+ /* Combining the NSS status of two distinct queries requires some
-+ compromise and attention to symmetry (A or AAAA queries can be
-+ returned in any order). What follows is a breakdown of how this
-+ code is expected to work and why. We discuss only SUCCESS,
-+ TRYAGAIN, NOTFOUND and UNAVAIL, since they are the only returns
-+ that apply (though RETURN and MERGE exist). We make a distinction
-+ between TRYAGAIN (recoverable) and TRYAGAIN' (not-recoverable).
-+ A recoverable TRYAGAIN is almost always due to buffer size issues
-+ and returns ERANGE in errno and the caller is expected to retry
-+ with a larger buffer.
-+
-+ Lastly, you may be tempted to make significant changes to the
-+ conditions in this code to bring about symmetry between responses.
-+ Please don't change anything without due consideration for
-+ expected application behaviour. Some of the synthesized responses
-+ aren't very well thought out and sometimes appear to imply that
-+ IPv4 responses are always answer 1, and IPv6 responses are always
-+ answer 2, but that's not true (see the implemetnation of send_dg
-+ and send_vc to see response can arrive in any order, particlarly
-+ for UDP). However, we expect it holds roughly enough of the time
-+ that this code works, but certainly needs to be fixed to make this
-+ a more robust implementation.
-+
-+ ----------------------------------------------
-+ | Answer 1 Status / | Synthesized | Reason |
-+ | Answer 2 Status | Status | |
-+ |--------------------------------------------|
-+ | SUCCESS/SUCCESS | SUCCESS | [1] |
-+ | SUCCESS/TRYAGAIN | TRYAGAIN | [5] |
-+ | SUCCESS/TRYAGAIN' | SUCCESS | [1] |
-+ | SUCCESS/NOTFOUND | SUCCESS | [1] |
-+ | SUCCESS/UNAVAIL | SUCCESS | [1] |
-+ | TRYAGAIN/SUCCESS | TRYAGAIN | [2] |
-+ | TRYAGAIN/TRYAGAIN | TRYAGAIN | [2] |
-+ | TRYAGAIN/TRYAGAIN' | TRYAGAIN | [2] |
-+ | TRYAGAIN/NOTFOUND | TRYAGAIN | [2] |
-+ | TRYAGAIN/UNAVAIL | TRYAGAIN | [2] |
-+ | TRYAGAIN'/SUCCESS | SUCCESS | [3] |
-+ | TRYAGAIN'/TRYAGAIN | TRYAGAIN | [3] |
-+ | TRYAGAIN'/TRYAGAIN' | TRYAGAIN' | [3] |
-+ | TRYAGAIN'/NOTFOUND | TRYAGAIN' | [3] |
-+ | TRYAGAIN'/UNAVAIL | UNAVAIL | [3] |
-+ | NOTFOUND/SUCCESS | SUCCESS | [3] |
-+ | NOTFOUND/TRYAGAIN | TRYAGAIN | [3] |
-+ | NOTFOUND/TRYAGAIN' | TRYAGAIN' | [3] |
-+ | NOTFOUND/NOTFOUND | NOTFOUND | [3] |
-+ | NOTFOUND/UNAVAIL | UNAVAIL | [3] |
-+ | UNAVAIL/SUCCESS | UNAVAIL | [4] |
-+ | UNAVAIL/TRYAGAIN | UNAVAIL | [4] |
-+ | UNAVAIL/TRYAGAIN' | UNAVAIL | [4] |
-+ | UNAVAIL/NOTFOUND | UNAVAIL | [4] |
-+ | UNAVAIL/UNAVAIL | UNAVAIL | [4] |
-+ ----------------------------------------------
-+
-+ [1] If the first response is a success we return success.
-+ This ignores the state of the second answer and in fact
-+ incorrectly sets errno and h_errno to that of the second
-+ answer. However because the response is a success we ignore
-+ *errnop and *h_errnop (though that means you touched errno on
-+ success). We are being conservative here and returning the
-+ likely IPv4 response in the first answer as a success.
-+
-+ [2] If the first response is a recoverable TRYAGAIN we return
-+ that instead of looking at the second response. The
-+ expectation here is that we have failed to get an IPv4 response
-+ and should retry both queries.
-+
-+ [3] If the first response was not a SUCCESS and the second
-+ response is not NOTFOUND (had a SUCCESS, need to TRYAGAIN,
-+ or failed entirely e.g. TRYAGAIN' and UNAVAIL) then use the
-+ result from the second response, otherwise the first responses
-+ status is used. Again we have some odd side-effects when the
-+ second response is NOTFOUND because we overwrite *errnop and
-+ *h_errnop that means that a first answer of NOTFOUND might see
-+ its *errnop and *h_errnop values altered. Whether it matters
-+ in practice that a first response NOTFOUND has the wrong
-+ *errnop and *h_errnop is undecided.
-+
-+ [4] If the first response is UNAVAIL we return that instead of
-+ looking at the second response. The expectation here is that
-+ it will have failed similarly e.g. configuration failure.
-+
-+ [5] Testing this code is complicated by the fact that truncated
-+ second response buffers might be returned as SUCCESS if the
-+ first answer is a SUCCESS. To fix this we add symmetry to
-+ TRYAGAIN with the second response. If the second response
-+ is a recoverable error we now return TRYAGIN even if the first
-+ response was SUCCESS. */
-+
- if (anslen1 > 0)
- status = gaih_getanswer_slice(answer1, anslen1, qname,
- &pat, &buffer, &buflen,
- errnop, h_errnop, ttlp,
- &first);
-+
- if ((status == NSS_STATUS_SUCCESS || status == NSS_STATUS_NOTFOUND
- || (status == NSS_STATUS_TRYAGAIN
- /* We want to look at the second answer in case of an
-@@ -1242,8 +1342,15 @@ gaih_getanswer (const querybuf *answer1, int anslen1, const querybuf *answer2,
- &pat, &buffer, &buflen,
- errnop, h_errnop, ttlp,
- &first);
-+ /* Use the second response status in some cases. */
- if (status != NSS_STATUS_SUCCESS && status2 != NSS_STATUS_NOTFOUND)
- status = status2;
-+ /* Do not return a truncated second response (unless it was
-+ unavoidable e.g. unrecoverable TRYAGAIN). */
-+ if (status == NSS_STATUS_SUCCESS
-+ && (status2 == NSS_STATUS_TRYAGAIN
-+ && *errnop == ERANGE && *h_errnop != NO_RECOVERY))
-+ status = NSS_STATUS_TRYAGAIN;
- }
-
- return status;
-diff --git a/resolv/res_query.c b/resolv/res_query.c
-index 4a9b3b3..95470a9 100644
---- a/resolv/res_query.c
-+++ b/resolv/res_query.c
-@@ -396,6 +396,7 @@ __libc_res_nsearch(res_state statp,
- {
- free (*answerp2);
- *answerp2 = NULL;
-+ *nanswerp2 = 0;
- *answerp2_malloced = 0;
- }
- }
-@@ -447,6 +448,7 @@ __libc_res_nsearch(res_state statp,
- {
- free (*answerp2);
- *answerp2 = NULL;
-+ *nanswerp2 = 0;
- *answerp2_malloced = 0;
- }
-
-@@ -521,6 +523,7 @@ __libc_res_nsearch(res_state statp,
- {
- free (*answerp2);
- *answerp2 = NULL;
-+ *nanswerp2 = 0;
- *answerp2_malloced = 0;
- }
- if (saved_herrno != -1)
-diff --git a/resolv/res_send.c b/resolv/res_send.c
-index a968b95..21843f1 100644
---- a/resolv/res_send.c
-+++ b/resolv/res_send.c
-@@ -1,3 +1,20 @@
-+/* Copyright (C) 2016 Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ The GNU C Library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 2.1 of the License, or (at your option) any later version.
-+
-+ The GNU C Library 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
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with the GNU C Library; if not, see
-+ <http://www.gnu.org/licenses/>. */
-+
- /*
- * Copyright (c) 1985, 1989, 1993
- * The Regents of the University of California. All rights reserved.
-@@ -355,6 +372,8 @@ __libc_res_nsend(res_state statp, const u_char *buf, int buflen,
- #ifdef USE_HOOKS
- if (__glibc_unlikely (statp->qhook || statp->rhook)) {
- if (anssiz < MAXPACKET && ansp) {
-+ /* Always allocate MAXPACKET, callers expect
-+ this specific size. */
- u_char *buf = malloc (MAXPACKET);
- if (buf == NULL)
- return (-1);
-@@ -630,6 +649,77 @@ get_nsaddr (res_state statp, int n)
- return (struct sockaddr *) (void *) &statp->nsaddr_list[n];
- }
-
-+/* The send_vc function is responsible for sending a DNS query over TCP
-+ to the nameserver numbered NS from the res_state STATP i.e.
-+ EXT(statp).nssocks[ns]. The function supports sending both IPv4 and
-+ IPv6 queries at the same serially on the same socket.
-+
-+ Please note that for TCP there is no way to disable sending both
-+ queries, unlike UDP, which honours RES_SNGLKUP and RES_SNGLKUPREOP
-+ and sends the queries serially and waits for the result after each
-+ sent query. This implemetnation should be corrected to honour these
-+ options.
-+
-+ Please also note that for TCP we send both queries over the same
-+ socket one after another. This technically violates best practice
-+ since the server is allowed to read the first query, respond, and
-+ then close the socket (to service another client). If the server
-+ does this, then the remaining second query in the socket data buffer
-+ will cause the server to send the client an RST which will arrive
-+ asynchronously and the client's OS will likely tear down the socket
-+ receive buffer resulting in a potentially short read and lost
-+ response data. This will force the client to retry the query again,
-+ and this process may repeat until all servers and connection resets
-+ are exhausted and then the query will fail. It's not known if this
-+ happens with any frequency in real DNS server implementations. This
-+ implementation should be corrected to use two sockets by default for
-+ parallel queries.
-+
-+ The query stored in BUF of BUFLEN length is sent first followed by
-+ the query stored in BUF2 of BUFLEN2 length. Queries are sent
-+ serially on the same socket.
-+
-+ Answers to the query are stored firstly in *ANSP up to a max of
-+ *ANSSIZP bytes. If more than *ANSSIZP bytes are needed and ANSCP
-+ is non-NULL (to indicate that modifying the answer buffer is allowed)
-+ then malloc is used to allocate a new response buffer and ANSCP and
-+ ANSP will both point to the new buffer. If more than *ANSSIZP bytes
-+ are needed but ANSCP is NULL, then as much of the response as
-+ possible is read into the buffer, but the results will be truncated.
-+ When truncation happens because of a small answer buffer the DNS
-+ packets header feild TC will bet set to 1, indicating a truncated
-+ message and the rest of the socket data will be read and discarded.
-+
-+ Answers to the query are stored secondly in *ANSP2 up to a max of
-+ *ANSSIZP2 bytes, with the actual response length stored in
-+ *RESPLEN2. If more than *ANSSIZP bytes are needed and ANSP2
-+ is non-NULL (required for a second query) then malloc is used to
-+ allocate a new response buffer, *ANSSIZP2 is set to the new buffer
-+ size and *ANSP2_MALLOCED is set to 1.
-+
-+ The ANSP2_MALLOCED argument will eventually be removed as the
-+ change in buffer pointer can be used to detect the buffer has
-+ changed and that the caller should use free on the new buffer.
-+
-+ Note that the answers may arrive in any order from the server and
-+ therefore the first and second answer buffers may not correspond to
-+ the first and second queries.
-+
-+ It is not supported to call this function with a non-NULL ANSP2
-+ but a NULL ANSCP. Put another way, you can call send_vc with a
-+ single unmodifiable buffer or two modifiable buffers, but no other
-+ combination is supported.
-+
-+ It is the caller's responsibility to free the malloc allocated
-+ buffers by detecting that the pointers have changed from their
-+ original values i.e. *ANSCP or *ANSP2 has changed.
-+
-+ If errors are encountered then *TERRNO is set to an appropriate
-+ errno value and a zero result is returned for a recoverable error,
-+ and a less-than zero result is returned for a non-recoverable error.
-+
-+ If no errors are encountered then *TERRNO is left unmodified and
-+ a the length of the first response in bytes is returned. */
- static int
- send_vc(res_state statp,
- const u_char *buf, int buflen, const u_char *buf2, int buflen2,
-@@ -639,11 +729,7 @@ send_vc(res_state statp,
- {
- const HEADER *hp = (HEADER *) buf;
- const HEADER *hp2 = (HEADER *) buf2;
-- u_char *ans = *ansp;
-- int orig_anssizp = *anssizp;
-- // XXX REMOVE
-- // int anssiz = *anssizp;
-- HEADER *anhp = (HEADER *) ans;
-+ HEADER *anhp = (HEADER *) *ansp;
- struct sockaddr *nsap = get_nsaddr (statp, ns);
- int truncating, connreset, n;
- /* On some architectures compiler might emit a warning indicating
-@@ -731,6 +817,8 @@ send_vc(res_state statp,
- * Receive length & response
- */
- int recvresp1 = 0;
-+ /* Skip the second response if there is no second query.
-+ To do that we mark the second response as received. */
- int recvresp2 = buf2 == NULL;
- uint16_t rlen16;
- read_len:
-@@ -767,40 +855,14 @@ send_vc(res_state statp,
- u_char **thisansp;
- int *thisresplenp;
- if ((recvresp1 | recvresp2) == 0 || buf2 == NULL) {
-+ /* We have not received any responses
-+ yet or we only have one response to
-+ receive. */
- thisanssizp = anssizp;
- thisansp = anscp ?: ansp;
- assert (anscp != NULL || ansp2 == NULL);
- thisresplenp = &resplen;
- } else {
-- if (*anssizp != MAXPACKET) {
-- /* No buffer allocated for the first
-- reply. We can try to use the rest
-- of the user-provided buffer. */
--#if __GNUC_PREREQ (4, 7)
-- DIAG_PUSH_NEEDS_COMMENT;
-- DIAG_IGNORE_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
--#endif
--#if _STRING_ARCH_unaligned
-- *anssizp2 = orig_anssizp - resplen;
-- *ansp2 = *ansp + resplen;
--#else
-- int aligned_resplen
-- = ((resplen + __alignof__ (HEADER) - 1)
-- & ~(__alignof__ (HEADER) - 1));
-- *anssizp2 = orig_anssizp - aligned_resplen;
-- *ansp2 = *ansp + aligned_resplen;
--#endif
--#if __GNUC_PREREQ (4, 7)
-- DIAG_POP_NEEDS_COMMENT;
--#endif
-- } else {
-- /* The first reply did not fit into the
-- user-provided buffer. Maybe the second
-- answer will. */
-- *anssizp2 = orig_anssizp;
-- *ansp2 = *ansp;
-- }
--
- thisanssizp = anssizp2;
- thisansp = ansp2;
- thisresplenp = resplen2;
-@@ -804,10 +870,14 @@ send_vc(res_state statp,
- anhp = (HEADER *) *thisansp;
-
- *thisresplenp = rlen;
-- if (rlen > *thisanssizp) {
-- /* Yes, we test ANSCP here. If we have two buffers
-- both will be allocatable. */
-- if (__glibc_likely (anscp != NULL)) {
-+ /* Is the answer buffer too small? */
-+ if (*thisanssizp < rlen) {
-+ /* If the current buffer is not the the static
-+ user-supplied buffer then we can reallocate
-+ it. */
-+ if (thisansp != NULL && thisansp != ansp) {
-+ /* Always allocate MAXPACKET, callers expect
-+ this specific size. */
- u_char *newp = malloc (MAXPACKET);
- if (newp == NULL) {
- *terrno = ENOMEM;
-@@ -819,6 +889,9 @@ send_vc(res_state statp,
- if (thisansp == ansp2)
- *ansp2_malloced = 1;
- anhp = (HEADER *) newp;
-+ /* A uint16_t can't be larger than MAXPACKET
-+ thus it's safe to allocate MAXPACKET but
-+ read RLEN bytes instead. */
- len = rlen;
- } else {
- Dprint(statp->options & RES_DEBUG,
-@@ -948,6 +1021,66 @@ reopen (res_state statp, int *terrno, int ns)
- return 1;
- }
-
-+/* The send_dg function is responsible for sending a DNS query over UDP
-+ to the nameserver numbered NS from the res_state STATP i.e.
-+ EXT(statp).nssocks[ns]. The function supports IPv4 and IPv6 queries
-+ along with the ability to send the query in parallel for both stacks
-+ (default) or serially (RES_SINGLKUP). It also supports serial lookup
-+ with a close and reopen of the socket used to talk to the server
-+ (RES_SNGLKUPREOP) to work around broken name servers.
-+
-+ The query stored in BUF of BUFLEN length is sent first followed by
-+ the query stored in BUF2 of BUFLEN2 length. Queries are sent
-+ in parallel (default) or serially (RES_SINGLKUP or RES_SNGLKUPREOP).
-+
-+ Answers to the query are stored firstly in *ANSP up to a max of
-+ *ANSSIZP bytes. If more than *ANSSIZP bytes are needed and ANSCP
-+ is non-NULL (to indicate that modifying the answer buffer is allowed)
-+ then malloc is used to allocate a new response buffer and ANSCP and
-+ ANSP will both point to the new buffer. If more than *ANSSIZP bytes
-+ are needed but ANSCP is NULL, then as much of the response as
-+ possible is read into the buffer, but the results will be truncated.
-+ When truncation happens because of a small answer buffer the DNS
-+ packets header feild TC will bet set to 1, indicating a truncated
-+ message, while the rest of the UDP packet is discarded.
-+
-+ Answers to the query are stored secondly in *ANSP2 up to a max of
-+ *ANSSIZP2 bytes, with the actual response length stored in
-+ *RESPLEN2. If more than *ANSSIZP bytes are needed and ANSP2
-+ is non-NULL (required for a second query) then malloc is used to
-+ allocate a new response buffer, *ANSSIZP2 is set to the new buffer
-+ size and *ANSP2_MALLOCED is set to 1.
-+
-+ The ANSP2_MALLOCED argument will eventually be removed as the
-+ change in buffer pointer can be used to detect the buffer has
-+ changed and that the caller should use free on the new buffer.
-+
-+ Note that the answers may arrive in any order from the server and
-+ therefore the first and second answer buffers may not correspond to
-+ the first and second queries.
-+
-+ It is not supported to call this function with a non-NULL ANSP2
-+ but a NULL ANSCP. Put another way, you can call send_vc with a
-+ single unmodifiable buffer or two modifiable buffers, but no other
-+ combination is supported.
-+
-+ It is the caller's responsibility to free the malloc allocated
-+ buffers by detecting that the pointers have changed from their
-+ original values i.e. *ANSCP or *ANSP2 has changed.
-+
-+ If an answer is truncated because of UDP datagram DNS limits then
-+ *V_CIRCUIT is set to 1 and the return value non-zero to indicate to
-+ the caller to retry with TCP. The value *GOTSOMEWHERE is set to 1
-+ if any progress was made reading a response from the nameserver and
-+ is used by the caller to distinguish between ECONNREFUSED and
-+ ETIMEDOUT (the latter if *GOTSOMEWHERE is 1).
-+
-+ If errors are encountered then *TERRNO is set to an appropriate
-+ errno value and a zero result is returned for a recoverable error,
-+ and a less-than zero result is returned for a non-recoverable error.
-+
-+ If no errors are encountered then *TERRNO is left unmodified and
-+ a the length of the first response in bytes is returned. */
- static int
- send_dg(res_state statp,
- const u_char *buf, int buflen, const u_char *buf2, int buflen2,
-@@ -957,8 +1090,6 @@ send_dg(res_state statp,
- {
- const HEADER *hp = (HEADER *) buf;
- const HEADER *hp2 = (HEADER *) buf2;
-- u_char *ans = *ansp;
-- int orig_anssizp = *anssizp;
- struct timespec now, timeout, finish;
- struct pollfd pfd[1];
- int ptimeout;
-@@ -991,6 +1122,8 @@ send_dg(res_state statp,
- int need_recompute = 0;
- int nwritten = 0;
- int recvresp1 = 0;
-+ /* Skip the second response if there is no second query.
-+ To do that we mark the second response as received. */
- int recvresp2 = buf2 == NULL;
- pfd[0].fd = EXT(statp).nssocks[ns];
- pfd[0].events = POLLOUT;
-@@ -1154,55 +1287,56 @@ send_dg(res_state statp,
- int *thisresplenp;
-
- if ((recvresp1 | recvresp2) == 0 || buf2 == NULL) {
-+ /* We have not received any responses
-+ yet or we only have one response to
-+ receive. */
- thisanssizp = anssizp;
- thisansp = anscp ?: ansp;
- assert (anscp != NULL || ansp2 == NULL);
- thisresplenp = &resplen;
- } else {
-- if (*anssizp != MAXPACKET) {
-- /* No buffer allocated for the first
-- reply. We can try to use the rest
-- of the user-provided buffer. */
--#if _STRING_ARCH_unaligned
-- *anssizp2 = orig_anssizp - resplen;
-- *ansp2 = *ansp + resplen;
--#else
-- int aligned_resplen
-- = ((resplen + __alignof__ (HEADER) - 1)
-- & ~(__alignof__ (HEADER) - 1));
-- *anssizp2 = orig_anssizp - aligned_resplen;
-- *ansp2 = *ansp + aligned_resplen;
--#endif
-- } else {
-- /* The first reply did not fit into the
-- user-provided buffer. Maybe the second
-- answer will. */
-- *anssizp2 = orig_anssizp;
-- *ansp2 = *ansp;
-- }
--
- thisanssizp = anssizp2;
- thisansp = ansp2;
- thisresplenp = resplen2;
- }
-
- if (*thisanssizp < MAXPACKET
-- /* Yes, we test ANSCP here. If we have two buffers
-- both will be allocatable. */
-- && anscp
-+ /* If the current buffer is not the the static
-+ user-supplied buffer then we can reallocate
-+ it. */
-+ && (thisansp != NULL && thisansp != ansp)
- #ifdef FIONREAD
-+ /* Is the size too small? */
- && (ioctl (pfd[0].fd, FIONREAD, thisresplenp) < 0
- || *thisanssizp < *thisresplenp)
- #endif
- ) {
-+ /* Always allocate MAXPACKET, callers expect
-+ this specific size. */
- u_char *newp = malloc (MAXPACKET);
- if (newp != NULL) {
-- *anssizp = MAXPACKET;
-- *thisansp = ans = newp;
-+ *thisanssizp = MAXPACKET;
-+ *thisansp = newp;
- if (thisansp == ansp2)
- *ansp2_malloced = 1;
- }
- }
-+ /* We could end up with truncation if anscp was NULL
-+ (not allowed to change caller's buffer) and the
-+ response buffer size is too small. This isn't a
-+ reliable way to detect truncation because the ioctl
-+ may be an inaccurate report of the UDP message size.
-+ Therefore we use this only to issue debug output.
-+ To do truncation accurately with UDP we need
-+ MSG_TRUNC which is only available on Linux. We
-+ can abstract out the Linux-specific feature in the
-+ future to detect truncation. */
-+ if (__glibc_unlikely (*thisanssizp < *thisresplenp)) {
-+ Dprint(statp->options & RES_DEBUG,
-+ (stdout, ";; response may be truncated (UDP)\n")
-+ );
-+ }
-+
- HEADER *anhp = (HEADER *) *thisansp;
- socklen_t fromlen = sizeof(struct sockaddr_in6);
- assert (sizeof(from) <= fromlen);
-
diff --git a/abs/core/glibc/glibc-2.22-roundup.patch b/abs/core/glibc/glibc-2.22-roundup.patch
deleted file mode 100644
index d820315..0000000
--- a/abs/core/glibc/glibc-2.22-roundup.patch
+++ /dev/null
@@ -1,2747 +0,0 @@
-diff --git a/ChangeLog b/ChangeLog
-index cb9124e..376355f 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,300 @@
-+2016-02-12 Florian Weimer <fweimer@redhat.com>
-+
-+ * misc/bug18240.c (do_test): Set RLIMIT_AS.
-+
-+2016-01-27 Paul Eggert <eggert@cs.ucla.edu>
-+
-+ [BZ #18240]
-+ * misc/hsearch_r.c (isprime, __hcreate_r): Protect against
-+ unsigned int wraparound.
-+
-+2016-01-27 Florian Weimer <fweimer@redhat.com>
-+
-+ [BZ #18240]
-+ * misc/bug18240.c: New test.
-+ * misc/Makefile (tests): Add it.
-+
-+2015-08-25 Ondřej Bílka <neleai@seznam.cz>
-+
-+ [BZ #18240]
-+ * misc/hsearch_r.c (__hcreate_r): Handle overflow.
-+
-+2015-10-27 Ludovic Courtès <ludo@gnu.org>
-+
-+ * locale/loadlocale.c (_nl_intern_locale_data): Change assertion
-+ on CNT to a conditional jump to 'puntdata'.
-+
-+2015-08-18 Alan Modra <amodra@gmail.com>
-+
-+ [BZ #18421]
-+ * sysdeps/hppa/start.S [SHARED]: Use .section .data.rel.ro and define
-+ .Lp__global.
-+ (_start): Load %dp via .Lp__global.
-+ [!SHARED]: Use .section .rodata.
-+
-+2015-08-09 John David Anglin <danglin@gcc.gnu.org>
-+
-+ [BZ #18480]
-+ * sysdeps/unix/sysv/linux/hppa/sysdep.h (LOAD_ARGS_0, LOAD_ARGS_1,
-+ LOAD_ARGS_2, LOAD_ARGS_3, LOAD_ARGS_4, LOAD_ARGS_5, LOAD_ARGS_6):
-+ Define.
-+ (LOAD_REGS_0, LOAD_REGS_1, LOAD_REGS_2, LOAD_REGS_3, LOAD_REGS_4,
-+ LOAD_REGS_5, LOAD_REGS_6): Update.
-+ (INTERNAL_SYSCALL): Update using new LOAD defines.
-+ (INTERNAL_SYSCALL_NCS): Likewise.
-+ * sysdeps/unix/sysv/linux/hppa/syscall.c (syscall): Likewise.
-+
-+2015-09-26 Paul Pluzhnikov <ppluzhnikov@google.com>
-+
-+ [BZ #18985]
-+ * time/strftime_l.c (a_wkday, f_wkday, a_month, f_month): Range check.
-+ (__strftime_internal): Likewise.
-+ * time/tst-strftime.c (do_bz18985): New test.
-+ (do_test): Call it.
-+
-+2015-08-08 Paul Pluzhnikov <ppluzhnikov@google.com>
-+
-+ [BZ #17905]
-+ * catgets/Makefile (tst-catgets-mem): New test.
-+ * catgets/catgets.c (catopen): Don't use unbounded alloca.
-+ * catgets/open_catalog.c (__open_catalog): Likewise.
-+ * catgets/tst-catgets.c (do_bz17905): Test unbounded alloca.
-+
-+2015-12-31 Aurelien Jarno <aurelien@aurel32.net>
-+
-+ * sysdeps/unix/sysv/linux/alpha/libc.abilist [GLIBC_2.22]: Move
-+ to keep the file sorted.
-+ * sysdeps/unix/sysv/linux/hppa/libc.abilist [GLIBC_2.22]: Likewise.
-+
-+2015-12-17 Paul E. Murphy <murphyp@linux.vnet.ibm.com>
-+
-+ [BZ #19174]
-+ * sysdeps/powerpc/nptl/elide.h (__elide_lock): Fix usage of
-+ .skip_lock_out_of_tbegin_retries.
-+ * sysdeps/unix/sysv/linux/powerpc/elision-lock.c
-+ (__lll_lock_elision): Likewise, and respect a value of
-+ try_tbegin <= 0.
-+
-+2015-11-20 Roland McGrath <roland@hack.frob.com>
-+
-+ * sysdeps/nacl/dl-map-segments.h (_dl_map_segments): Use
-+ __glibc_likely instead of __builtin_expect. After falling back to
-+ dyncode_create in a non-ET_DYN case, use the allocate_code_data
-+ system interface to register the code pages as occupied.
-+
-+2015-11-14 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ * config.make.in (have-glob-dat-reloc): New.
-+ * configure.ac (libc_cv_has_glob_dat): New. Set to yes if
-+ target supports GLOB_DAT relocaton. AC_SUBST.
-+ * configure: Regenerated.
-+ * elf/Makefile (tests): Add tst-prelink.
-+ (tests-special): Add $(objpfx)tst-prelink-cmp.out.
-+ (tst-prelink-ENV): New.
-+ ($(objpfx)tst-prelink-conflict.out): Likewise.
-+ ($(objpfx)tst-prelink-cmp.out): Likewise.
-+ * sysdeps/x86/tst-prelink.c: Moved to ...
-+ * elf/tst-prelink.c: Here.
-+ * sysdeps/x86/tst-prelink.exp: Moved to ...
-+ * elf/tst-prelink.exp: Here.
-+ * sysdeps/x86/Makefile (tests): Don't add tst-prelink.
-+ (tst-prelink-ENV): Removed.
-+ ($(objpfx)tst-prelink-conflict.out): Likewise.
-+ ($(objpfx)tst-prelink-cmp.out): Likewise.
-+ (tests-special): Don't add $(objpfx)tst-prelink-cmp.out.
-+
-+2015-11-10 Roland McGrath <roland@hack.frob.com>
-+
-+ * elf/dl-load.c (open_verify): Take new argument FD.
-+ Skip __open call if passed FD is not -1.
-+ (_dl_map_object, open_path): Update callers.
-+ * elf/dl-sysdep-open.h: New file.
-+ * elf/dl-load.c: Include it.
-+ (_dl_map_object): Try _dl_sysdep_open_object before ldconfig cache.
-+ * sysdeps/nacl/dl-sysdep.c (_dl_sysdep_open_object): New function.
-+ * sysdeps/nacl/dl-sysdep-open.h: New file.
-+ * sysdeps/nacl/nacl-interface-list.h: Move nacl_irt_resource_open
-+ from libc to rtld.
-+
-+2015-11-10 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ [BZ #19178]
-+ * sysdeps/x86/Makefile (tests): Add tst-prelink.
-+ (tst-prelink-ENV): New.
-+ ($(objpfx)tst-prelink-conflict.out): Likewise.
-+ ($(objpfx)tst-prelink-cmp.out): Likewise.
-+ (tests-special): Add $(objpfx)tst-prelink-cmp.out.
-+ * sysdeps/x86/tst-prelink.c: New file.
-+ * sysdeps/x86/tst-prelink.exp: Likewise.
-+
-+2015-11-07 H.J. Lu <hongjiu.lu@intel.com>
-+
-+ [BZ #19178]
-+ * elf/dl-lookup.c (RTYPE_CLASS_VALID): New.
-+ (RTYPE_CLASS_PLT): Likewise.
-+ (RTYPE_CLASS_COPY): Likewise.
-+ (RTYPE_CLASS_TLS): Likewise.
-+ (_dl_debug_bindings): Use RTYPE_CLASS_TLS and RTYPE_CLASS_VALID
-+ to set relocation type class for DL_DEBUG_PRELINK. Keep only
-+ ELF_RTYPE_CLASS_PLT and ELF_RTYPE_CLASS_COPY bits for
-+ DL_DEBUG_PRELINK.
-+
-+2015-10-20 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
-+
-+ [BZ #18743]
-+ * sysdeps/powerpc/nptl/elide.h (__elide_lock): Move most of this
-+ code to...
-+ (ELIDE_LOCK): ...here.
-+ (__get_new_count): New function with part of the code from
-+ __elide_lock that updates the value of adapt_count after a
-+ transaction abort.
-+ (__elided_trylock): Moved this code to...
-+ (ELIDE_TRYLOCK): ...here.
-+
-+2015-10-06 Florian Weimer <fweimer@redhat.com>
-+
-+ [BZ #19018]
-+ * stdlib/cxa_thread_atexit_impl.c (__cxa_thread_atexit_impl):
-+ Mangle function pointer before storing it.
-+ (__call_tls_dtors): Demangle function pointer before calling it.
-+
-+2015-10-15 Florian Weimer <fweimer@redhat.com>
-+
-+ [BZ #18928]
-+ * sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Remove
-+ _dl_pointer_guard member.
-+ * elf/rtld.c (_rtld_global_ro): Remove _dl_pointer_guard
-+ initializer.
-+ (security_init): Always set up pointer guard.
-+ (process_envvars): Do not process LD_POINTER_GUARD.
-+
-+2015-10-09 Carlos O'Donell <carlos@redhat.com>
-+
-+ [BZ #18589]
-+ * string/bug-strcoll2.c: Adjust copyright, and remove contributed by.
-+ * string/Makefile ($(objpfx)bug-strcoll2.out): Depend on
-+ $(gen-locales).
-+
-+2015-10-08 Carlos O'Donell <carlos@redhat.com>
-+
-+ [BZ #18589]
-+ * string/Makefile (tests): Add bug-strcoll2.
-+ (LOCALES): Add cs_CZ.UTF-8.
-+
-+2015-09-28 Martin Sebor <msebor@redhat.com>
-+
-+ [BZ #18969]
-+ * string/Makefile (LOCALES): Define.
-+ (gen-locales.mk): Include.
-+ (test-strcasecmp.out, test-strncasecmp.out, tst-strxfrm.out)
-+ (tst-strxfrm2.out): Add deppendency on $(gen-locales).
-+ * string/tst-strxfrm2.c (do_test): Print the name of the locale
-+ on setlocale failure.
-+
-+2015-10-08 Carlos O'Donell <carlos@redhat.com>
-+
-+ [BZ #18589]
-+ * string/bug-strcoll2.c: New file.
-+ * locale/categories.def: Revert commit
-+ f13c2a8dff2329c6692a80176262ceaaf8a6f74e.
-+ * locale/langinfo.h: Likewise.
-+ * locale/localeinfo.h: Likewise.
-+ * locale/C-collate.c: Likewise.
-+ * programs/ld-collate.c (collate_output): Likewise.
-+ * string/strcoll_l.c (STRDIFF): Likewise.
-+ (STRCOLL): Likewise.
-+ * wcsmbs/wcscoll_l.c: Likewise.
-+
-+2015-09-15 Roland McGrath <roland@hack.frob.com>
-+
-+ * misc/sys/param.h [!MAXHOSTNAMELEN && HOST_NAME_MAX]
-+ (MAXHOSTNAMELEN): Define it to HOST_NAME_MAX.
-+
-+2015-09-11 Roland McGrath <roland@hack.frob.com>
-+
-+ * sysdeps/nacl/Makefile [$(subdir) = misc] (sysdep_headers):
-+ Use 'override' keyword to freeze the value here, preventing
-+ the addition of sys/mtio.h by sysdeps/gnu/Makefile.
-+
-+2015-09-04 Roland McGrath <roland@hack.frob.com>
-+
-+ [BZ #18921]
-+ * sysdeps/posix/opendir.c (need_isdir_precheck) [O_DIRECTORY]:
-+ Fix inverted sense of test of 'o_directory_works' value.
-+ Reported by Pádraig Brady <P@draigBrady.com>, diagnosed by
-+ Bernhard Voelker <mail@bernhard-voelker.de>.
-+
-+2015-08-31 Brett Neumeier <brett@neumeier.us>
-+
-+ [BZ #18870]
-+ * sysdeps/sparc/sparc32/sem_open.c: Add missing #include
-+
-+2015-08-28 Mike Frysinger <vapier@gentoo.org>
-+
-+ [BZ #18887]
-+ * misc/Makefile (tests): Add tst-mntent-blank-corrupt and
-+ tst-mntent-blank-passno.
-+ * misc/mntent_r.c (__getmntent_r): Do not read past buffer[0].
-+ * misc/tst-mntent-blank-corrupt.c: New test.
-+ * misc/tst-mntent-blank-passno.c: New test ripped from ...
-+ * misc/tst-mntent.c (do_test): ... here.
-+
-+2015-08-25 Roland McGrath <roland@hack.frob.com>
-+
-+ * sysdeps/nacl/start.c (_start): Call __nacl_main instead of main
-+ if the weak reference is not null.
-+
-+2015-08-19 Andrew Senkevich <andrew.senkevich@intel.com>
-+
-+ [BZ #18796]
-+ * scripts/test-installation.pl: Don't add -lmvec to build options
-+ if libmvec wasn't built.
-+ * NEWS: Mention this fix.
-+
-+2015-08-10 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
-+
-+ [BZ #18778]
-+ * elf/Makefile (tests): Add Add tst-nodelete2.
-+ (modules-names): Add tst-nodelete2mod.
-+ (tst-nodelete2mod.so-no-z-defs): New.
-+ ($(objpfx)tst-nodelete2): Likewise.
-+ ($(objpfx)tst-nodelete2.out): Likewise.
-+ (LDFLAGS-tst-nodelete2): Likewise.
-+ * elf/dl-close.c (_dl_close_worker): Move DF_1_NODELETE clearing
-+ out of loop through all loaded libraries.
-+ * elf/tst-nodelete2.c: New file.
-+ * elf/tst-nodelete2mod.c: Likewise.
-+
-+2015-08-10 Andreas Schwab <schwab@suse.de>
-+
-+ [BZ #18781]
-+ * sysdeps/unix/sysv/linux/openat.c (__OPENAT) [MORE_OFLAGS]: Add
-+ MORE_OFLAGS to oflag.
-+ * io/test-lfs.c (do_test): Test openat64.
-+
-+2015-08-08 John David Anglin <danglin@gcc.gnu.org>
-+
-+ [BZ #18787]
-+ * sysdeps/unix/sysv/linux/hppa/bits/atomic.h (_LWS_CLOBBER): Revise
-+ clobber registers.
-+ (atomic_compare_and_exchange_val_acq): Use register asms to assign
-+ operand registers. Use register %r20 for EAGAIN and EDEADLOCK checks.
-+ Cast return to __typeof (oldval).
-+
-+2015-08-08 Mike Frysinger <vapier@gentoo.org>
-+
-+ * sysdeps/unix/sysv/linux/microblaze/sysdep.h: Wrap the whole file
-+ in _LINUX_MICROBLAZE_SYSDEP_H defines. Include sysdeps/unix/sysdep.h
-+ and delete sys/syscall.h include.
-+
-+2015-08-07 Mike Frysinger <vapier@gentoo.org>
-+
-+ * sysdeps/hppa/dl-symaddr.c (_dl_symbol_address): Add rtld_hidden_def.
-+
-+2015-08-05 Zack Weinberg <zackw@panix.com>
-+
-+ * misc/regexp.h: Update comments.
-+
- 2015-08-05 Carlos O'Donell <carlos@systemhalted.org>
-
- * version.h (RELEASE): Set to "stable".
-diff --git a/NEWS b/NEWS
-index 4c31de7..7c4fbc6 100644
---- a/NEWS
-+++ b/NEWS
-@@ -5,6 +5,16 @@ See the end for copying conditions.
- Please send GNU C library bug reports via <http://sourceware.org/bugzilla/>
- using `glibc' in the "product" field.
-
-+Version 2.22.1
-+
-+* The following bugs are resolved with this release:
-+
-+ 17905, 18420, 18421, 18480, 18589, 18743, 18778, 18781, 18787, 18796,
-+ 18870, 18887, 18921, 18928, 18969, 18985, 19018, 19174, 19178.
-+
-+* The LD_POINTER_GUARD environment variable can no longer be used to
-+ disable the pointer guard feature. It is always enabled.
-+
- Version 2.22
-
- * The following bugs are resolved with this release:
-@@ -84,7 +94,7 @@ Version 2.22
- release. Use of this header will trigger a deprecation warning.
- Application developers should update their code to use <regex.h> instead.
-
-- This header was formerly part of SUSv2, but was deprecated in 1997 and
-+ This header was formerly part of SUS, but was deprecated in 1994 and
- removed from the standard in 2001. Also, the glibc implementation
- leaks memory. See BZ#18681 for more details.
-
-diff --git a/catgets/Makefile b/catgets/Makefile
-index 4624a88..56de38b 100644
---- a/catgets/Makefile
-+++ b/catgets/Makefile
-@@ -34,6 +34,7 @@ test-srcs = test-gencat
- ifeq ($(run-built-tests),yes)
- tests-special += $(objpfx)de/libc.cat $(objpfx)test1.cat $(objpfx)test2.cat \
- $(objpfx)sample.SJIS.cat $(objpfx)test-gencat.out
-+tests-special += $(objpfx)tst-catgets-mem.out
- endif
-
- gencat-modules = xmalloc
-@@ -50,9 +51,11 @@ catgets-CPPFLAGS := -DNLSPATH='"$(msgcatdir)/%L/%N:$(msgcatdir)/%L/LC_MESSAGES/%
-
- generated += de.msg test1.cat test1.h test2.cat test2.h sample.SJIS.cat \
- test-gencat.h
-+generated += tst-catgets.mtrace tst-catgets-mem.out
-+
- generated-dirs += de
-
--tst-catgets-ENV = NLSPATH="$(objpfx)%l/%N.cat" LANG=de
-+tst-catgets-ENV = NLSPATH="$(objpfx)%l/%N.cat" LANG=de MALLOC_TRACE=$(objpfx)tst-catgets.mtrace
-
- ifeq ($(run-built-tests),yes)
- # This test just checks whether the program produces any error or not.
-@@ -86,4 +89,8 @@ $(objpfx)test-gencat.out: test-gencat.sh $(objpfx)test-gencat \
- $(objpfx)sample.SJIS.cat: sample.SJIS $(objpfx)gencat
- $(built-program-cmd) -H $(objpfx)test-gencat.h < $(word 1,$^) > $@; \
- $(evaluate-test)
-+
-+$(objpfx)tst-catgets-mem.out: $(objpfx)tst-catgets.out
-+ $(common-objpfx)malloc/mtrace $(objpfx)tst-catgets.mtrace > $@; \
-+ $(evaluate-test)
- endif
-diff --git a/catgets/catgets.c b/catgets/catgets.c
-index cf93d56..4be452d 100644
---- a/catgets/catgets.c
-+++ b/catgets/catgets.c
-@@ -16,7 +16,6 @@
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
--#include <alloca.h>
- #include <errno.h>
- #include <locale.h>
- #include <nl_types.h>
-@@ -35,6 +34,7 @@ catopen (const char *cat_name, int flag)
- __nl_catd result;
- const char *env_var = NULL;
- const char *nlspath = NULL;
-+ char *tmp = NULL;
-
- if (strchr (cat_name, '/') == NULL)
- {
-@@ -54,7 +54,10 @@ catopen (const char *cat_name, int flag)
- {
- /* Append the system dependent directory. */
- size_t len = strlen (nlspath) + 1 + sizeof NLSPATH;
-- char *tmp = alloca (len);
-+ tmp = malloc (len);
-+
-+ if (__glibc_unlikely (tmp == NULL))
-+ return (nl_catd) -1;
-
- __stpcpy (__stpcpy (__stpcpy (tmp, nlspath), ":"), NLSPATH);
- nlspath = tmp;
-@@ -65,16 +68,18 @@ catopen (const char *cat_name, int flag)
-
- result = (__nl_catd) malloc (sizeof (*result));
- if (result == NULL)
-- /* We cannot get enough memory. */
-- return (nl_catd) -1;
--
-- if (__open_catalog (cat_name, nlspath, env_var, result) != 0)
-+ {
-+ /* We cannot get enough memory. */
-+ result = (nl_catd) -1;
-+ }
-+ else if (__open_catalog (cat_name, nlspath, env_var, result) != 0)
- {
- /* Couldn't open the file. */
- free ((void *) result);
-- return (nl_catd) -1;
-+ result = (nl_catd) -1;
- }
-
-+ free (tmp);
- return (nl_catd) result;
- }
-
-diff --git a/catgets/open_catalog.c b/catgets/open_catalog.c
-index e069416..9f4d776 100644
---- a/catgets/open_catalog.c
-+++ b/catgets/open_catalog.c
-@@ -47,6 +47,7 @@ __open_catalog (const char *cat_name, const char *nlspath, const char *env_var,
- size_t tab_size;
- const char *lastp;
- int result = -1;
-+ char *buf = NULL;
-
- if (strchr (cat_name, '/') != NULL || nlspath == NULL)
- fd = open_not_cancel_2 (cat_name, O_RDONLY);
-@@ -57,23 +58,23 @@ __open_catalog (const char *cat_name, const char *nlspath, const char *env_var,
- if (__glibc_unlikely (bufact + (n) >= bufmax)) \
- { \
- char *old_buf = buf; \
-- bufmax += 256 + (n); \
-- buf = (char *) alloca (bufmax); \
-- memcpy (buf, old_buf, bufact); \
-+ bufmax += (bufmax < 256 + (n)) ? 256 + (n) : bufmax; \
-+ buf = realloc (buf, bufmax); \
-+ if (__glibc_unlikely (buf == NULL)) \
-+ { \
-+ free (old_buf); \
-+ return -1; \
-+ } \
- }
-
- /* The RUN_NLSPATH variable contains a colon separated list of
- descriptions where we expect to find catalogs. We have to
- recognize certain % substitutions and stop when we found the
- first existing file. */
-- char *buf;
- size_t bufact;
-- size_t bufmax;
-+ size_t bufmax = 0;
- size_t len;
-
-- buf = NULL;
-- bufmax = 0;
--
- fd = -1;
- while (*run_nlspath != '\0')
- {
-@@ -188,7 +189,10 @@ __open_catalog (const char *cat_name, const char *nlspath, const char *env_var,
-
- /* Avoid dealing with directories and block devices */
- if (__builtin_expect (fd, 0) < 0)
-- return -1;
-+ {
-+ free (buf);
-+ return -1;
-+ }
-
- if (__builtin_expect (__fxstat64 (_STAT_VER, fd, &st), 0) < 0)
- goto close_unlock_return;
-@@ -325,6 +329,7 @@ __open_catalog (const char *cat_name, const char *nlspath, const char *env_var,
- /* Release the lock again. */
- close_unlock_return:
- close_not_cancel_no_status (fd);
-+ free (buf);
-
- return result;
- }
-diff --git a/catgets/tst-catgets.c b/catgets/tst-catgets.c
-index a0a4089..0886938 100644
---- a/catgets/tst-catgets.c
-+++ b/catgets/tst-catgets.c
-@@ -1,7 +1,10 @@
-+#include <assert.h>
- #include <mcheck.h>
- #include <nl_types.h>
- #include <stdio.h>
-+#include <stdlib.h>
- #include <string.h>
-+#include <sys/resource.h>
-
-
- static const char *msgs[] =
-@@ -12,6 +15,33 @@ static const char *msgs[] =
- };
- #define nmsgs (sizeof (msgs) / sizeof (msgs[0]))
-
-+
-+/* Test for unbounded alloca. */
-+static int
-+do_bz17905 (void)
-+{
-+ char *buf;
-+ struct rlimit rl;
-+ nl_catd result;
-+
-+ const int sz = 1024 * 1024;
-+
-+ getrlimit (RLIMIT_STACK, &rl);
-+ rl.rlim_cur = sz;
-+ setrlimit (RLIMIT_STACK, &rl);
-+
-+ buf = malloc (sz + 1);
-+ memset (buf, 'A', sz);
-+ buf[sz] = '\0';
-+ setenv ("NLSPATH", buf, 1);
-+
-+ result = catopen (buf, NL_CAT_LOCALE);
-+ assert (result == (nl_catd) -1);
-+
-+ free (buf);
-+ return 0;
-+}
-+
- #define ROUNDS 5
-
- static int
-@@ -62,6 +92,7 @@ do_test (void)
- }
- }
-
-+ result += do_bz17905 ();
- return result;
- }
-
-diff --git a/config.make.in b/config.make.in
-index a9f5696..46cd9bb 100644
---- a/config.make.in
-+++ b/config.make.in
-@@ -51,6 +51,7 @@ have-z-combreloc = @libc_cv_z_combreloc@
- have-z-execstack = @libc_cv_z_execstack@
- have-Bgroup = @libc_cv_Bgroup@
- have-protected-data = @libc_cv_protected_data@
-+have-glob-dat-reloc = @libc_cv_has_glob_dat@
- with-fp = @with_fp@
- old-glibc-headers = @old_glibc_headers@
- unwind-find-fde = @libc_cv_gcc_unwind_find_fde@
-diff --git a/configure b/configure
-index 45cc7cb..4f87b31 100755
---- a/configure
-+++ b/configure
-@@ -628,6 +628,7 @@ gnu89_inline
- libc_cv_ssp
- fno_unit_at_a_time
- libc_cv_output_format
-+libc_cv_has_glob_dat
- libc_cv_hashstyle
- libc_cv_fpie
- libc_cv_z_execstack
-@@ -6335,6 +6336,39 @@ $as_echo "$libc_cv_use_default_link" >&6; }
- use_default_link=$libc_cv_use_default_link
- fi
-
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLOB_DAT reloc" >&5
-+$as_echo_n "checking for GLOB_DAT reloc... " >&6; }
-+if ${libc_cv_has_glob_dat+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ cat > conftest.c <<EOF
-+extern int mumble;
-+int foo (void) { return mumble; }
-+EOF
-+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-+ -fPIC -shared -o conftest.so conftest.c
-+ -nostdlib -nostartfiles
-+ 1>&5'
-+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; }; }
-+then
-+ if $READELF -rW conftest.so | grep '_GLOB_DAT' > /dev/null; then
-+ libc_cv_has_glob_dat=yes
-+ else
-+ libc_cv_has_glob_dat=no
-+ fi
-+else
-+ libc_cv_has_glob_dat=no
-+fi
-+rm -f conftest*
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_has_glob_dat" >&5
-+$as_echo "$libc_cv_has_glob_dat" >&6; }
-+
-+
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker output format" >&5
- $as_echo_n "checking linker output format... " >&6; }
- if ${libc_cv_output_format+:} false; then :
-diff --git a/configure.ac b/configure.ac
-index 7e9383a..8be612d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1535,6 +1535,29 @@ $ac_try"
- use_default_link=$libc_cv_use_default_link
- fi
-
-+AC_CACHE_CHECK(for GLOB_DAT reloc,
-+ libc_cv_has_glob_dat, [dnl
-+cat > conftest.c <<EOF
-+extern int mumble;
-+int foo (void) { return mumble; }
-+EOF
-+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-+ -fPIC -shared -o conftest.so conftest.c
-+ -nostdlib -nostartfiles
-+ 1>&AS_MESSAGE_LOG_FD])
-+then
-+dnl look for GLOB_DAT relocation.
-+ if $READELF -rW conftest.so | grep '_GLOB_DAT' > /dev/null; then
-+ libc_cv_has_glob_dat=yes
-+ else
-+ libc_cv_has_glob_dat=no
-+ fi
-+else
-+ libc_cv_has_glob_dat=no
-+fi
-+rm -f conftest*])
-+AC_SUBST(libc_cv_has_glob_dat)
-+
- AC_CACHE_CHECK(linker output format, libc_cv_output_format, [dnl
- if libc_cv_output_format=`
- ${CC-cc} -nostartfiles -nostdlib -Wl,--print-output-format 2>&AS_MESSAGE_LOG_FD`
-diff --git a/elf/Makefile b/elf/Makefile
-index 4ceeaf8..a2c43bc 100644
---- a/elf/Makefile
-+++ b/elf/Makefile
-@@ -148,7 +148,8 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \
- tst-unique1 tst-unique2 $(if $(CXX),tst-unique3 tst-unique4 \
- tst-nodelete) \
- tst-initorder tst-initorder2 tst-relsort1 tst-null-argv \
-- tst-ptrguard1 tst-tlsalign tst-tlsalign-extern tst-nodelete-opened
-+ tst-ptrguard1 tst-tlsalign tst-tlsalign-extern tst-nodelete-opened \
-+ tst-nodelete2
- # reldep9
- ifeq ($(build-hardcoded-path-in-tests),yes)
- tests += tst-dlopen-aout
-@@ -218,7 +219,7 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
- tst-initorder2d \
- tst-relsort1mod1 tst-relsort1mod2 tst-array2dep \
- tst-array5dep tst-null-argv-lib \
-- tst-tlsalign-lib tst-nodelete-opened-lib
-+ tst-tlsalign-lib tst-nodelete-opened-lib tst-nodelete2mod
- ifeq (yes,$(have-protected-data))
- modules-names += tst-protected1moda tst-protected1modb
- tests += tst-protected1a tst-protected1b
-@@ -292,6 +293,13 @@ check-abi: $(objpfx)check-abi-ld.out
- tests-special += $(objpfx)check-abi-ld.out
- update-abi: update-abi-ld
-
-+ifeq ($(have-glob-dat-reloc),yes)
-+tests += tst-prelink
-+ifeq ($(run-built-tests),yes)
-+tests-special += $(objpfx)tst-prelink-cmp.out
-+endif
-+endif
-+
- include ../Rules
-
- ifeq (yes,$(build-shared))
-@@ -594,6 +602,7 @@ tst-auditmod9b.so-no-z-defs = yes
- tst-nodelete-uniquemod.so-no-z-defs = yes
- tst-nodelete-rtldmod.so-no-z-defs = yes
- tst-nodelete-zmod.so-no-z-defs = yes
-+tst-nodelete2mod.so-no-z-defs = yes
-
- ifeq ($(build-shared),yes)
- # Build all the modules even when not actually running test programs.
-@@ -1164,6 +1173,11 @@ $(objpfx)tst-nodelete.out: $(objpfx)tst-nodelete-uniquemod.so \
- LDFLAGS-tst-nodelete = -rdynamic
- LDFLAGS-tst-nodelete-zmod.so = -Wl,--enable-new-dtags,-z,nodelete
-
-+$(objpfx)tst-nodelete2: $(libdl)
-+$(objpfx)tst-nodelete2.out: $(objpfx)tst-nodelete2mod.so
-+
-+LDFLAGS-tst-nodelete2 = -rdynamic
-+
- $(objpfx)tst-initorder-cmp.out: tst-initorder.exp $(objpfx)tst-initorder.out
- cmp $^ > $@; \
- $(evaluate-test)
-@@ -1205,3 +1219,13 @@ $(objpfx)tst-unused-dep.out: $(objpfx)testobj1.so
- $(objpfx)tst-unused-dep-cmp.out: $(objpfx)tst-unused-dep.out
- cmp $< /dev/null > $@; \
- $(evaluate-test)
-+
-+tst-prelink-ENV = LD_TRACE_PRELINKING=1
-+
-+$(objpfx)tst-prelink-conflict.out: $(objpfx)tst-prelink.out
-+ grep stdout $< | grep conflict | $(AWK) '{ print $$10, $$11 }' > $@
-+
-+$(objpfx)tst-prelink-cmp.out: tst-prelink.exp \
-+ $(objpfx)tst-prelink-conflict.out
-+ cmp $^ > $@; \
-+ $(evaluate-test)
-diff --git a/elf/dl-close.c b/elf/dl-close.c
-index 9105277..c897247 100644
---- a/elf/dl-close.c
-+++ b/elf/dl-close.c
-@@ -144,6 +144,14 @@ _dl_close_worker (struct link_map *map, bool force)
- char done[nloaded];
- struct link_map *maps[nloaded];
-
-+ /* Clear DF_1_NODELETE to force object deletion. We don't need to touch
-+ l_tls_dtor_count because forced object deletion only happens when an
-+ error occurs during object load. Destructor registration for TLS
-+ non-POD objects should not have happened till then for this
-+ object. */
-+ if (force)
-+ map->l_flags_1 &= ~DF_1_NODELETE;
-+
- /* Run over the list and assign indexes to the link maps and enter
- them into the MAPS array. */
- int idx = 0;
-@@ -153,13 +161,6 @@ _dl_close_worker (struct link_map *map, bool force)
- maps[idx] = l;
- ++idx;
-
-- /* Clear DF_1_NODELETE to force object deletion. We don't need to touch
-- l_tls_dtor_count because forced object deletion only happens when an
-- error occurs during object load. Destructor registration for TLS
-- non-POD objects should not have happened till then for this
-- object. */
-- if (force)
-- l->l_flags_1 &= ~DF_1_NODELETE;
- }
- assert (idx == nloaded);
-
-diff --git a/elf/dl-load.c b/elf/dl-load.c
-index 0c052e4..7e6f4c5 100644
---- a/elf/dl-load.c
-+++ b/elf/dl-load.c
-@@ -42,6 +42,7 @@
- #include <dl-map-segments.h>
- #include <dl-unmap-segments.h>
- #include <dl-machine-reject-phdr.h>
-+#include <dl-sysdep-open.h>
-
-
- #include <endian.h>
-@@ -1471,9 +1472,13 @@ print_search_path (struct r_search_path_elem **list,
- ignore only ELF files for other architectures. Non-ELF files and
- ELF files with different header information cause fatal errors since
- this could mean there is something wrong in the installation and the
-- user might want to know about this. */
-+ user might want to know about this.
-+
-+ If FD is not -1, then the file is already open and FD refers to it.
-+ In that case, FD is consumed for both successful and error returns. */
- static int
--open_verify (const char *name, struct filebuf *fbp, struct link_map *loader,
-+open_verify (const char *name, int fd,
-+ struct filebuf *fbp, struct link_map *loader,
- int whatcode, int mode, bool *found_other_class, bool free_name)
- {
- /* This is the expected ELF header. */
-@@ -1514,6 +1519,7 @@ open_verify (const char *name, struct filebuf *fbp, struct link_map *loader,
- if (__glibc_unlikely (GLRO(dl_naudit) > 0) && whatcode != 0
- && loader->l_auditing == 0)
- {
-+ const char *original_name = name;
- struct audit_ifaces *afct = GLRO(dl_audit);
- for (unsigned int cnt = 0; cnt < GLRO(dl_naudit); ++cnt)
- {
-@@ -1528,11 +1534,21 @@ open_verify (const char *name, struct filebuf *fbp, struct link_map *loader,
-
- afct = afct->next;
- }
-+
-+ if (fd != -1 && name != original_name && strcmp (name, original_name))
-+ {
-+ /* An audit library changed what we're supposed to open,
-+ so FD no longer matches it. */
-+ __close (fd);
-+ fd = -1;
-+ }
- }
- #endif
-
-- /* Open the file. We always open files read-only. */
-- int fd = __open (name, O_RDONLY | O_CLOEXEC);
-+ if (fd == -1)
-+ /* Open the file. We always open files read-only. */
-+ fd = __open (name, O_RDONLY | O_CLOEXEC);
-+
- if (fd != -1)
- {
- ElfW(Ehdr) *ehdr;
-@@ -1801,7 +1817,7 @@ open_path (const char *name, size_t namelen, int mode,
- if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_LIBS))
- _dl_debug_printf (" trying file=%s\n", buf);
-
-- fd = open_verify (buf, fbp, loader, whatcode, mode,
-+ fd = open_verify (buf, -1, fbp, loader, whatcode, mode,
- found_other_class, false);
- if (this_dir->status[cnt] == unknown)
- {
-@@ -2041,6 +2057,20 @@ _dl_map_object (struct link_map *loader, const char *name,
- &loader->l_runpath_dirs, &realname, &fb, loader,
- LA_SER_RUNPATH, &found_other_class);
-
-+ if (fd == -1)
-+ {
-+ realname = _dl_sysdep_open_object (name, namelen, &fd);
-+ if (realname != NULL)
-+ {
-+ fd = open_verify (realname, fd,
-+ &fb, loader ?: GL(dl_ns)[nsid]._ns_loaded,
-+ LA_SER_CONFIG, mode, &found_other_class,
-+ false);
-+ if (fd == -1)
-+ free (realname);
-+ }
-+ }
-+
- #ifdef USE_LDCONFIG
- if (fd == -1
- && (__glibc_likely ((mode & __RTLD_SECURE) == 0)
-@@ -2086,7 +2116,7 @@ _dl_map_object (struct link_map *loader, const char *name,
-
- if (cached != NULL)
- {
-- fd = open_verify (cached,
-+ fd = open_verify (cached, -1,
- &fb, loader ?: GL(dl_ns)[nsid]._ns_loaded,
- LA_SER_CONFIG, mode, &found_other_class,
- false);
-@@ -2121,7 +2151,7 @@ _dl_map_object (struct link_map *loader, const char *name,
- fd = -1;
- else
- {
-- fd = open_verify (realname, &fb,
-+ fd = open_verify (realname, -1, &fb,
- loader ?: GL(dl_ns)[nsid]._ns_loaded, 0, mode,
- &found_other_class, true);
- if (__glibc_unlikely (fd == -1))
-diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c
-index 11cb44b..acf5280 100644
---- a/elf/dl-lookup.c
-+++ b/elf/dl-lookup.c
-@@ -1016,6 +1016,18 @@ _dl_debug_bindings (const char *undef_name, struct link_map *undef_map,
- #ifdef SHARED
- if (GLRO(dl_debug_mask) & DL_DEBUG_PRELINK)
- {
-+/* ELF_RTYPE_CLASS_XXX must match RTYPE_CLASS_XXX used by prelink with
-+ LD_TRACE_PRELINKING. */
-+#define RTYPE_CLASS_VALID 8
-+#define RTYPE_CLASS_PLT (8|1)
-+#define RTYPE_CLASS_COPY (8|2)
-+#define RTYPE_CLASS_TLS (8|4)
-+#if ELF_RTYPE_CLASS_PLT != 0 && ELF_RTYPE_CLASS_PLT != 1
-+# error ELF_RTYPE_CLASS_PLT must be 0 or 1!
-+#endif
-+#if ELF_RTYPE_CLASS_COPY != 0 && ELF_RTYPE_CLASS_COPY != 2
-+# error ELF_RTYPE_CLASS_COPY must be 0 or 2!
-+#endif
- int conflict = 0;
- struct sym_val val = { NULL, NULL };
-
-@@ -1071,12 +1083,17 @@ _dl_debug_bindings (const char *undef_name, struct link_map *undef_map,
-
- if (value->s)
- {
-+ /* Keep only ELF_RTYPE_CLASS_PLT and ELF_RTYPE_CLASS_COPY
-+ bits since since prelink only uses them. */
-+ type_class &= ELF_RTYPE_CLASS_PLT | ELF_RTYPE_CLASS_COPY;
- if (__glibc_unlikely (ELFW(ST_TYPE) (value->s->st_info)
- == STT_TLS))
-- type_class = 4;
-+ /* Clear the RTYPE_CLASS_VALID bit in RTYPE_CLASS_TLS. */
-+ type_class = RTYPE_CLASS_TLS & ~RTYPE_CLASS_VALID;
- else if (__glibc_unlikely (ELFW(ST_TYPE) (value->s->st_info)
- == STT_GNU_IFUNC))
-- type_class |= 8;
-+ /* Set the RTYPE_CLASS_VALID bit. */
-+ type_class |= RTYPE_CLASS_VALID;
- }
-
- if (conflict
-diff --git a/elf/dl-sysdep-open.h b/elf/dl-sysdep-open.h
-new file mode 100644
-index 0000000..a63d9f5
---- /dev/null
-+++ b/elf/dl-sysdep-open.h
-@@ -0,0 +1,45 @@
-+/* System-specific call to open a shared object by name. Stub version.
-+ Copyright (C) 2015 Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ The GNU C Library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 2.1 of the License, or (at your option) any later version.
-+
-+ The GNU C Library 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
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with the GNU C Library; if not, see
-+ <http://www.gnu.org/licenses/>. */
-+
-+#ifndef _DL_SYSDEP_OPEN_H
-+#define _DL_SYSDEP_OPEN_H 1
-+
-+#include <assert.h>
-+#include <stddef.h>
-+
-+/* NAME is a name without slashes, as it appears in a DT_NEEDED entry
-+ or a dlopen call's argument or suchlike. NAMELEN is (strlen (NAME) + 1).
-+
-+ Find NAME in an OS-dependent fashion, and return its "real" name.
-+ Optionally fill in *FD with a file descriptor open on that file (or
-+ else leave its initial value of -1). The return value is a new
-+ malloc'd string, which will be free'd by the caller. If NAME is
-+ resolved to an actual file that can be opened, then the return
-+ value should name that file (and if *FD was not set, then a normal
-+ __open call on that string will be made). If *FD was set by some
-+ other means than a normal open and there is no "real" name to use,
-+ then __strdup (NAME) is fine (modulo error checking). */
-+
-+static inline char *
-+_dl_sysdep_open_object (const char *name, size_t namelen, int *fd)
-+{
-+ assert (*fd == -1);
-+ return NULL;
-+}
-+
-+#endif /* dl-sysdep-open.h */
-diff --git a/elf/rtld.c b/elf/rtld.c
-index 69873c2..07e741c 100644
---- a/elf/rtld.c
-+++ b/elf/rtld.c
-@@ -162,7 +162,6 @@ struct rtld_global_ro _rtld_global_ro attribute_relro =
- ._dl_hwcap_mask = HWCAP_IMPORTANT,
- ._dl_lazy = 1,
- ._dl_fpu_control = _FPU_DEFAULT,
-- ._dl_pointer_guard = 1,
- ._dl_pagesize = EXEC_PAGESIZE,
- ._dl_inhibit_cache = 0,
-
-@@ -709,15 +708,12 @@ security_init (void)
- #endif
-
- /* Set up the pointer guard as well, if necessary. */
-- if (GLRO(dl_pointer_guard))
-- {
-- uintptr_t pointer_chk_guard = _dl_setup_pointer_guard (_dl_random,
-- stack_chk_guard);
-+ uintptr_t pointer_chk_guard
-+ = _dl_setup_pointer_guard (_dl_random, stack_chk_guard);
- #ifdef THREAD_SET_POINTER_GUARD
-- THREAD_SET_POINTER_GUARD (pointer_chk_guard);
-+ THREAD_SET_POINTER_GUARD (pointer_chk_guard);
- #endif
-- __pointer_chk_guard_local = pointer_chk_guard;
-- }
-+ __pointer_chk_guard_local = pointer_chk_guard;
-
- /* We do not need the _dl_random value anymore. The less
- information we leave behind, the better, so clear the
-@@ -2471,9 +2467,6 @@ process_envvars (enum mode *modep)
- GLRO(dl_use_load_bias) = envline[14] == '1' ? -1 : 0;
- break;
- }
--
-- if (memcmp (envline, "POINTER_GUARD", 13) == 0)
-- GLRO(dl_pointer_guard) = envline[14] != '0';
- break;
-
- case 14:
-diff --git a/elf/tst-nodelete2.c b/elf/tst-nodelete2.c
-new file mode 100644
-index 0000000..388e8af
---- /dev/null
-+++ b/elf/tst-nodelete2.c
-@@ -0,0 +1,37 @@
-+#include "../dlfcn/dlfcn.h"
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <gnu/lib-names.h>
-+
-+static int
-+do_test (void)
-+{
-+ int result = 0;
-+
-+ printf ("\nOpening pthread library.\n");
-+ void *pthread = dlopen (LIBPTHREAD_SO, RTLD_LAZY);
-+
-+ /* This is a test for correct DF_1_NODELETE clearing when dlopen failure
-+ happens. We should clear DF_1_NODELETE for failed library only, because
-+ doing this for others (e.g. libpthread) might cause them to be unloaded,
-+ that may lead to some global references (e.g. __rtld_lock_unlock) to be
-+ broken. The dlopen should fail because of undefined symbols in shared
-+ library, that cause DF_1_NODELETE to be cleared. For libpthread, this
-+ flag should be set, because if not, SIGSEGV will happen in dlclose. */
-+ if (dlopen ("tst-nodelete2mod.so", RTLD_NOW) != NULL)
-+ {
-+ printf ("Unique symbols test failed\n");
-+ result = 1;
-+ }
-+
-+ if (pthread)
-+ dlclose (pthread);
-+
-+ if (result == 0)
-+ printf ("SUCCESS\n");
-+
-+ return result;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
-diff --git a/elf/tst-nodelete2mod.c b/elf/tst-nodelete2mod.c
-new file mode 100644
-index 0000000..e88c756
---- /dev/null
-+++ b/elf/tst-nodelete2mod.c
-@@ -0,0 +1,7 @@
-+/* Undefined symbol. */
-+extern int not_exist (void);
-+
-+int foo (void)
-+{
-+ return not_exist ();
-+}
-diff --git a/elf/tst-prelink.c b/elf/tst-prelink.c
-new file mode 100644
-index 0000000..ab61c4e
---- /dev/null
-+++ b/elf/tst-prelink.c
-@@ -0,0 +1,30 @@
-+/* Test the output from the environment variable, LD_TRACE_PRELINKING,
-+ for prelink.
-+ Copyright (C) 2015 Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ The GNU C Library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 2.1 of the License, or (at your option) any later version.
-+
-+ The GNU C Library 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
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with the GNU C Library; if not, see
-+ <http://www.gnu.org/licenses/>. */
-+
-+#include <stdio.h>
-+
-+static int
-+do_test (void)
-+{
-+ fprintf (stdout, "hello\n");
-+ return 0;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
-diff --git a/elf/tst-prelink.exp b/elf/tst-prelink.exp
-new file mode 100644
-index 0000000..b35b4c9
---- /dev/null
-+++ b/elf/tst-prelink.exp
-@@ -0,0 +1 @@
-+/0 stdout
-diff --git a/elf/tst-znodelete-zlib.cc b/elf/tst-znodelete-zlib.cc
-deleted file mode 100644
-index 1e8f368..0000000
---- a/elf/tst-znodelete-zlib.cc
-+++ /dev/null
-@@ -1,6 +0,0 @@
--extern int not_exist (void);
--
--int foo (void)
--{
-- return not_exist ();
--}
-diff --git a/io/test-lfs.c b/io/test-lfs.c
-index 539c2a2..b6ebae4 100644
---- a/io/test-lfs.c
-+++ b/io/test-lfs.c
-@@ -144,7 +144,7 @@ test_ftello (void)
- int
- do_test (int argc, char *argv[])
- {
-- int ret;
-+ int ret, fd2;
- struct stat64 statbuf;
-
- ret = lseek64 (fd, TWO_GB+100, SEEK_SET);
-@@ -195,6 +195,25 @@ do_test (int argc, char *argv[])
- error (EXIT_FAILURE, 0, "stat reported size %lld instead of %lld.",
- (long long int) statbuf.st_size, (TWO_GB + 100 + 5));
-
-+ fd2 = openat64 (AT_FDCWD, name, O_RDWR);
-+ if (fd2 == -1)
-+ {
-+ if (errno == ENOSYS)
-+ {
-+ /* Silently ignore this test. */
-+ error (0, 0, "openat64 is not supported");
-+ }
-+ else
-+ error (EXIT_FAILURE, errno, "openat64 failed to open big file");
-+ }
-+ else
-+ {
-+ ret = close (fd2);
-+
-+ if (ret == -1)
-+ error (EXIT_FAILURE, errno, "error closing file");
-+ }
-+
- test_ftello ();
-
- return 0;
-diff --git a/locale/C-collate.c b/locale/C-collate.c
-index d7f3c55..06dfdfa 100644
---- a/locale/C-collate.c
-+++ b/locale/C-collate.c
-@@ -144,8 +144,6 @@ const struct __locale_data _nl_C_LC_COLLATE attribute_hidden =
- /* _NL_COLLATE_COLLSEQWC */
- { .string = (const char *) collseqwc },
- /* _NL_COLLATE_CODESET */
-- { .string = _nl_C_codeset },
-- /* _NL_COLLATE_ENCODING_TYPE */
-- { .word = __cet_8bit }
-+ { .string = _nl_C_codeset }
- }
- };
-diff --git a/locale/categories.def b/locale/categories.def
-index 045489d..a8dda53 100644
---- a/locale/categories.def
-+++ b/locale/categories.def
-@@ -58,7 +58,6 @@ DEFINE_CATEGORY
- DEFINE_ELEMENT (_NL_COLLATE_COLLSEQMB, "collate-collseqmb", std, wstring)
- DEFINE_ELEMENT (_NL_COLLATE_COLLSEQWC, "collate-collseqwc", std, wstring)
- DEFINE_ELEMENT (_NL_COLLATE_CODESET, "collate-codeset", std, string)
-- DEFINE_ELEMENT (_NL_COLLATE_ENCODING_TYPE, "collate-encoding-type", std, word)
- ), NO_POSTLOAD)
-
-
-diff --git a/locale/langinfo.h b/locale/langinfo.h
-index ffc5c7f..a565d9d 100644
---- a/locale/langinfo.h
-+++ b/locale/langinfo.h
-@@ -255,7 +255,6 @@ enum
- _NL_COLLATE_COLLSEQMB,
- _NL_COLLATE_COLLSEQWC,
- _NL_COLLATE_CODESET,
-- _NL_COLLATE_ENCODING_TYPE,
- _NL_NUM_LC_COLLATE,
-
- /* LC_CTYPE category: character classification.
-diff --git a/locale/loadlocale.c b/locale/loadlocale.c
-index fdba6e9..dcbb833 100644
---- a/locale/loadlocale.c
-+++ b/locale/loadlocale.c
-@@ -121,9 +121,10 @@ _nl_intern_locale_data (int category, const void *data, size_t datasize)
- switch (category)
- {
- #define CATTEST(cat) \
-- case LC_##cat: \
-- assert (cnt < (sizeof (_nl_value_type_LC_##cat) \
-- / sizeof (_nl_value_type_LC_##cat[0]))); \
-+ case LC_##cat: \
-+ if (cnt >= (sizeof (_nl_value_type_LC_##cat) \
-+ / sizeof (_nl_value_type_LC_##cat[0]))) \
-+ goto puntdata; \
- break
- CATTEST (NUMERIC);
- CATTEST (TIME);
-diff --git a/locale/localeinfo.h b/locale/localeinfo.h
-index bdab9fe..1d2ee00 100644
---- a/locale/localeinfo.h
-+++ b/locale/localeinfo.h
-@@ -110,14 +110,6 @@ enum coll_sort_rule
- sort_mask
- };
-
--/* Collation encoding type. */
--enum collation_encoding_type
--{
-- __cet_other,
-- __cet_8bit,
-- __cet_utf8
--};
--
- /* We can map the types of the entries into a few categories. */
- enum value_type
- {
-diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c
-index a39a94f..dc0fe30 100644
---- a/locale/programs/ld-collate.c
-+++ b/locale/programs/ld-collate.c
-@@ -32,7 +32,6 @@
- #include "linereader.h"
- #include "locfile.h"
- #include "elem-hash.h"
--#include "../localeinfo.h"
-
- /* Uncomment the following line in the production version. */
- /* #define NDEBUG 1 */
-@@ -2131,8 +2130,6 @@ collate_output (struct localedef_t *locale, const struct charmap_t *charmap,
- /* The words have to be handled specially. */
- if (idx == _NL_ITEM_INDEX (_NL_COLLATE_SYMB_HASH_SIZEMB))
- add_locale_uint32 (&file, 0);
-- else if (idx == _NL_ITEM_INDEX (_NL_COLLATE_ENCODING_TYPE))
-- add_locale_uint32 (&file, __cet_other);
- else
- add_locale_empty (&file);
- }
-@@ -2496,12 +2493,6 @@ collate_output (struct localedef_t *locale, const struct charmap_t *charmap,
- add_locale_raw_data (&file, collate->mbseqorder, 256);
- add_locale_collseq_table (&file, &collate->wcseqorder);
- add_locale_string (&file, charmap->code_set_name);
-- if (strcmp (charmap->code_set_name, "UTF-8") == 0)
-- add_locale_uint32 (&file, __cet_utf8);
-- else if (charmap->mb_cur_max == 1)
-- add_locale_uint32 (&file, __cet_8bit);
-- else
-- add_locale_uint32 (&file, __cet_other);
- write_locale_data (output_path, LC_COLLATE, "LC_COLLATE", &file);
-
- obstack_free (&weightpool, NULL);
-diff --git a/misc/Makefile b/misc/Makefile
-index aecb0da..12055ce 100644
---- a/misc/Makefile
-+++ b/misc/Makefile
-@@ -76,7 +76,8 @@ install-lib := libg.a
- gpl2lgpl := error.c error.h
-
- tests := tst-dirname tst-tsearch tst-fdset tst-efgcvt tst-mntent tst-hsearch \
-- tst-error1 tst-pselect tst-insremque tst-mntent2 bug-hsearch1
-+ tst-error1 tst-pselect tst-insremque tst-mntent2 bug-hsearch1 \
-+ tst-mntent-blank-corrupt tst-mntent-blank-passno bug18240
- ifeq ($(run-built-tests),yes)
- tests-special += $(objpfx)tst-error1-mem.out
- endif
-diff --git a/misc/bug18240.c b/misc/bug18240.c
-new file mode 100644
-index 0000000..773586e
---- /dev/null
-+++ b/misc/bug18240.c
-@@ -0,0 +1,97 @@
-+/* Test integer wraparound in hcreate.
-+ Copyright (C) 2016 Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ The GNU C Library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 2.1 of the License, or (at your option) any later version.
-+
-+ The GNU C Library 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
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with the GNU C Library; if not, see
-+ <http://www.gnu.org/licenses/>. */
-+
-+#include <errno.h>
-+#include <limits.h>
-+#include <search.h>
-+#include <stdbool.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <sys/resource.h>
-+
-+static void
-+test_size (size_t size)
-+{
-+ int res = hcreate (size);
-+ if (res == 0)
-+ {
-+ if (errno == ENOMEM)
-+ return;
-+ printf ("error: hcreate (%zu): %m\n", size);
-+ exit (1);
-+ }
-+ char *keys[100];
-+ for (int i = 0; i < 100; ++i)
-+ {
-+ if (asprintf (keys + i, "%d", i) < 0)
-+ {
-+ printf ("error: asprintf: %m\n");
-+ exit (1);
-+ }
-+ ENTRY e = { keys[i], (char *) "value" };
-+ if (hsearch (e, ENTER) == NULL)
-+ {
-+ printf ("error: hsearch (\"%s\"): %m\n", keys[i]);
-+ exit (1);
-+ }
-+ }
-+ hdestroy ();
-+
-+ for (int i = 0; i < 100; ++i)
-+ free (keys[i]);
-+}
-+
-+static int
-+do_test (void)
-+{
-+ /* Limit the size of the process, so that memory allocation will
-+ fail without impacting the entire system. */
-+ {
-+ struct rlimit limit;
-+ if (getrlimit (RLIMIT_AS, &limit) != 0)
-+ {
-+ printf ("getrlimit (RLIMIT_AS) failed: %m\n");
-+ return 1;
-+ }
-+ long target = 100 * 1024 * 1024;
-+ if (limit.rlim_cur == RLIM_INFINITY || limit.rlim_cur > target)
-+ {
-+ limit.rlim_cur = target;
-+ if (setrlimit (RLIMIT_AS, &limit) != 0)
-+ {
-+ printf ("setrlimit (RLIMIT_AS) failed: %m\n");
-+ return 1;
-+ }
-+ }
-+ }
-+
-+ test_size (500);
-+ test_size (-1);
-+ test_size (-3);
-+ test_size (INT_MAX - 2);
-+ test_size (INT_MAX - 1);
-+ test_size (INT_MAX);
-+ test_size (((unsigned) INT_MAX) + 1);
-+ test_size (UINT_MAX - 2);
-+ test_size (UINT_MAX - 1);
-+ test_size (UINT_MAX);
-+ return 0;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
-diff --git a/misc/hsearch_r.c b/misc/hsearch_r.c
-index 9f55e84..661f0f6 100644
---- a/misc/hsearch_r.c
-+++ b/misc/hsearch_r.c
-@@ -19,7 +19,7 @@
- #include <errno.h>
- #include <malloc.h>
- #include <string.h>
--
-+#include <stdint.h>
- #include <search.h>
-
- /* [Aho,Sethi,Ullman] Compilers: Principles, Techniques and Tools, 1986
-@@ -46,15 +46,12 @@ static int
- isprime (unsigned int number)
- {
- /* no even number will be passed */
-- unsigned int div = 3;
--
-- while (div * div < number && number % div != 0)
-- div += 2;
--
-- return number % div != 0;
-+ for (unsigned int div = 3; div <= number / div; div += 2)
-+ if (number % div == 0)
-+ return 0;
-+ return 1;
- }
-
--
- /* Before using the hash table we must allocate memory for it.
- Test for an existing table are done. We allocate one element
- more as the found prime number says. This is done for more effective
-@@ -81,10 +78,19 @@ __hcreate_r (nel, htab)
- use will not work. */
- if (nel < 3)
- nel = 3;
-- /* Change nel to the first prime number not smaller as nel. */
-- nel |= 1; /* make odd */
-- while (!isprime (nel))
-- nel += 2;
-+
-+ /* Change nel to the first prime number in the range [nel, UINT_MAX - 2],
-+ The '- 2' means 'nel += 2' cannot overflow. */
-+ for (nel |= 1; ; nel += 2)
-+ {
-+ if (UINT_MAX - 2 < nel)
-+ {
-+ __set_errno (ENOMEM);
-+ return 0;
-+ }
-+ if (isprime (nel))
-+ break;
-+ }
-
- htab->size = nel;
- htab->filled = 0;
-diff --git a/misc/mntent_r.c b/misc/mntent_r.c
-index 6159873..4f26998 100644
---- a/misc/mntent_r.c
-+++ b/misc/mntent_r.c
-@@ -136,7 +136,9 @@ __getmntent_r (FILE *stream, struct mntent *mp, char *buffer, int bufsiz)
- end_ptr = strchr (buffer, '\n');
- if (end_ptr != NULL) /* chop newline */
- {
-- while (end_ptr[-1] == ' ' || end_ptr[-1] == '\t')
-+ /* Do not walk past the start of buffer if it's all whitespace. */
-+ while (end_ptr != buffer
-+ && (end_ptr[-1] == ' ' || end_ptr[-1] == '\t'))
- end_ptr--;
- *end_ptr = '\0';
- }
-diff --git a/misc/regexp.h b/misc/regexp.h
-index 3460989..42394f7 100644
---- a/misc/regexp.h
-+++ b/misc/regexp.h
-@@ -19,10 +19,11 @@
- #ifndef _REGEXP_H
- #define _REGEXP_H 1
-
--/* The contents of this header file were standardized in the
-- Single Unix Specification, Version 2 (1997) but marked as
-- LEGACY; new applications were already being encouraged to
-- use <regex.h> instead. POSIX.1-2001 removed this header.
-+/* The contents of this header file were originally standardized in
-+ the Single Unix Specification, Issue 3 (1992). In Issue 4 (1994)
-+ the header was marked as TO BE WITHDRAWN, and new applications
-+ were encouraged to use <regex.h> instead. It was officially
-+ withdrawn from the standard in Issue 6 (aka POSIX.1-2001).
-
- This header is provided only for backward compatibility.
- It will be removed in the next release of the GNU C Library.
-diff --git a/misc/sys/param.h b/misc/sys/param.h
-index 62b7ed2..1908b93 100644
---- a/misc/sys/param.h
-+++ b/misc/sys/param.h
-@@ -50,6 +50,9 @@
- #if !defined NOFILE && defined OPEN_MAX
- # define NOFILE OPEN_MAX
- #endif
-+#if !defined MAXHOSTNAMELEN && defined HOST_NAME_MAX
-+# define MAXHOSTNAMELEN HOST_NAME_MAX
-+#endif
- #ifndef NCARGS
- # ifdef ARG_MAX
- # define NCARGS ARG_MAX
-diff --git a/misc/tst-mntent-blank-corrupt.c b/misc/tst-mntent-blank-corrupt.c
-new file mode 100644
-index 0000000..92266a3
---- /dev/null
-+++ b/misc/tst-mntent-blank-corrupt.c
-@@ -0,0 +1,45 @@
-+/* Make sure blank lines does not cause memory corruption BZ #18887.
-+
-+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ The GNU C Library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 2.1 of the License, or (at your option) any later version.
-+
-+ The GNU C Library 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
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with the GNU C Library; if not, see
-+ <http://www.gnu.org/licenses/>. */
-+
-+#include <mntent.h>
-+#include <stdio.h>
-+#include <string.h>
-+
-+/* Make sure blank lines don't trigger memory corruption. This doesn't happen
-+ for all targets though, so it's a best effort test BZ #18887. */
-+static int
-+do_test (void)
-+{
-+ FILE *fp;
-+
-+ fp = tmpfile ();
-+ fputs ("\n \n/foo\\040dir /bar\\040dir auto bind \t \n", fp);
-+ rewind (fp);
-+
-+ /* The corruption happens here ... */
-+ getmntent (fp);
-+ /* ... but trigers here. */
-+ endmntent (fp);
-+
-+ /* If the test failed, we would crash, and not hit this point. */
-+ return 0;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
-diff --git a/misc/tst-mntent-blank-passno.c b/misc/tst-mntent-blank-passno.c
-new file mode 100644
-index 0000000..fc04291
---- /dev/null
-+++ b/misc/tst-mntent-blank-passno.c
-@@ -0,0 +1,53 @@
-+/* Make sure trailing whitespace is handled properly BZ #17273.
-+
-+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ The GNU C Library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 2.1 of the License, or (at your option) any later version.
-+
-+ The GNU C Library 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
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with the GNU C Library; if not, see
-+ <http://www.gnu.org/licenses/>. */
-+
-+#include <mntent.h>
-+#include <stdio.h>
-+#include <string.h>
-+
-+/* Check entries to make sure trailing whitespace is ignored and we return the
-+ correct passno value BZ #17273. */
-+static int
-+do_test (void)
-+{
-+ int result = 0;
-+ FILE *fp;
-+ struct mntent *mnt;
-+
-+ fp = tmpfile ();
-+ fputs ("/foo\\040dir /bar\\040dir auto bind \t \n", fp);
-+ rewind (fp);
-+
-+ mnt = getmntent (fp);
-+ if (strcmp (mnt->mnt_fsname, "/foo dir") != 0
-+ || strcmp (mnt->mnt_dir, "/bar dir") != 0
-+ || strcmp (mnt->mnt_type, "auto") != 0
-+ || strcmp (mnt->mnt_opts, "bind") != 0
-+ || mnt->mnt_freq != 0
-+ || mnt->mnt_passno != 0)
-+ {
-+ puts ("Error while reading entry with trailing whitespaces");
-+ result = 1;
-+ }
-+
-+ return result;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
-diff --git a/misc/tst-mntent.c b/misc/tst-mntent.c
-index 876c89f..820b354 100644
---- a/misc/tst-mntent.c
-+++ b/misc/tst-mntent.c
-@@ -73,26 +73,6 @@ main (int argc, char *argv[])
- puts ("Error while reading written entry back in");
- result = 1;
- }
--
-- /* Part III: Entry with whitespaces at the end of a line. */
-- rewind (fp);
--
-- fputs ("/foo\\040dir /bar\\040dir auto bind \t \n", fp);
--
-- rewind (fp);
--
-- mnt = getmntent (fp);
--
-- if (strcmp (mnt->mnt_fsname, "/foo dir") != 0
-- || strcmp (mnt->mnt_dir, "/bar dir") != 0
-- || strcmp (mnt->mnt_type, "auto") != 0
-- || strcmp (mnt->mnt_opts, "bind") != 0
-- || mnt->mnt_freq != 0
-- || mnt->mnt_passno != 0)
-- {
-- puts ("Error while reading entry with trailing whitespaces");
-- result = 1;
-- }
- }
-
- return result;
-diff --git a/scripts/test-installation.pl b/scripts/test-installation.pl
-index cac1562..79b2b3e 100755
---- a/scripts/test-installation.pl
-+++ b/scripts/test-installation.pl
-@@ -80,16 +80,25 @@ arglist: while (@ARGV) {
- # We expect none or one argument.
- if ($#ARGV == -1) {
- $soversions="soversions.mk";
-+ $config="config.make";
- } elsif ($#ARGV == 0) {
- if (-d $ARGV[0]) {
- $soversions = "$ARGV[0]/soversions.mk";
-+ $config = "$ARGV[0]/config.make";
- } else {
-- $soversions = $ARGV[0];
-+ $soversions = $dir = $ARGV[0];
-+ $dir =~ s!/?[^/]*/*$!!;
-+ $config = $dir . "/config.make";
- }
- } else {
- die "Wrong number of arguments.";
- }
-
-+if (system ("grep -q \"build-mathvec = yes\" $config") == 0) {
-+ $build_mathvec = 1;
-+} else {
-+ $build_mathvec = 0;
-+}
-
- # Read names and versions of all shared libraries that are part of
- # glibc
-@@ -111,6 +120,8 @@ while (<SOVERSIONS>) {
- # - libthread_db since it contains unresolved references
- # - it's just a test NSS module
- # - We don't provide the libgcc so we don't test it
-+ # - libmvec if it wasn't built
-+ next if ($build_mathvec == 0 && $name eq "mvec");
- if ($name ne "nss_ldap" && $name ne "db1"
- && !($name =~/^nss1_/) && $name ne "thread_db"
- && $name ne "nss_test1" && $name ne "libgcc_s") {
-diff --git a/stdlib/cxa_thread_atexit_impl.c b/stdlib/cxa_thread_atexit_impl.c
-index 2d5d56a..5717f09 100644
---- a/stdlib/cxa_thread_atexit_impl.c
-+++ b/stdlib/cxa_thread_atexit_impl.c
-@@ -98,6 +98,10 @@ static __thread struct link_map *lm_cache;
- int
- __cxa_thread_atexit_impl (dtor_func func, void *obj, void *dso_symbol)
- {
-+#ifdef PTR_MANGLE
-+ PTR_MANGLE (func);
-+#endif
-+
- /* Prepend. */
- struct dtor_list *new = calloc (1, sizeof (struct dtor_list));
- new->func = func;
-@@ -142,9 +146,13 @@ __call_tls_dtors (void)
- while (tls_dtor_list)
- {
- struct dtor_list *cur = tls_dtor_list;
-+ dtor_func func = cur->func;
-+#ifdef PTR_DEMANGLE
-+ PTR_DEMANGLE (func);
-+#endif
-
- tls_dtor_list = tls_dtor_list->next;
-- cur->func (cur->obj);
-+ func (cur->obj);
-
- /* Ensure that the MAP dereference happens before
- l_tls_dtor_count decrement. That way, we protect this access from a
-diff --git a/string/Makefile b/string/Makefile
-index 8424a61..ebe9354 100644
---- a/string/Makefile
-+++ b/string/Makefile
-@@ -54,7 +54,7 @@ tests := tester inl-tester noinl-tester testcopy test-ffs \
- tst-strtok tst-strxfrm bug-strcoll1 tst-strfry \
- bug-strtok1 $(addprefix test-,$(strop-tests)) \
- bug-envz1 tst-strxfrm2 tst-endian tst-svc2 \
-- tst-strtok_r
-+ tst-strtok_r bug-strcoll2
-
- xtests = tst-strcoll-overflow
-
-@@ -75,4 +75,17 @@ ifeq ($(run-built-tests),yes)
- $(objpfx)tst-svc-cmp.out: tst-svc.expect $(objpfx)tst-svc.out
- cmp $^ > $@; \
- $(evaluate-test)
-+
-+LOCALES := de_DE.UTF-8 en_US.ISO-8859-1 en_US.UTF-8 \
-+ tr_TR.ISO-8859-9 tr_TR.UTF-8 cs_CZ.UTF-8 \
-+ da_DK.ISO-8859-1
-+include ../gen-locales.mk
-+
-+$(objpfx)test-strcasecmp.out: $(gen-locales)
-+$(objpfx)test-strncasecmp.out: $(gen-locales)
-+$(objpfx)tst-strxfrm.out: $(gen-locales)
-+$(objpfx)tst-strxfrm2.out: $(gen-locales)
-+# bug-strcoll2 needs cs_CZ.UTF-8 and da_DK.ISO-8859-1.
-+$(objpfx)bug-strcoll2.out: $(gen-locales)
-+
- endif
-diff --git a/string/bug-strcoll2.c b/string/bug-strcoll2.c
-new file mode 100644
-index 0000000..72a9ff2
---- /dev/null
-+++ b/string/bug-strcoll2.c
-@@ -0,0 +1,92 @@
-+/* Bug 18589: sort-test.sh fails at random.
-+ Copyright (C) 2015 Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ The GNU C Library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 2.1 of the License, or (at your option) any later version.
-+
-+ The GNU C Library 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
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with the GNU C Library; if not, see
-+ <http://www.gnu.org/licenses/>. */
-+
-+#include <stdio.h>
-+#include <string.h>
-+#include <locale.h>
-+
-+/* An incorrect strcoll optimization resulted in incorrect
-+ results from strcoll for cs_CZ and da_DK. */
-+
-+int
-+test_cs_CZ (void)
-+{
-+ const char t1[] = "config";
-+ const char t2[] = "choose";
-+ if (setlocale (LC_ALL, "cs_CZ.UTF-8") == NULL)
-+ {
-+ perror ("setlocale");
-+ return 1;
-+ }
-+ /* In Czech the digraph ch sorts after c, therefore we expect
-+ config to sort before choose. */
-+ int a = strcoll (t1, t2);
-+ int b = strcoll (t2, t1);
-+ printf ("strcoll (\"%s\", \"%s\") = %d\n", t1, t2, a);
-+ printf ("strcoll (\"%s\", \"%s\") = %d\n", t2, t1, b);
-+ if (a < 0 && b > 0)
-+ {
-+ puts ("PASS: config < choose");
-+ return 0;
-+ }
-+ else
-+ {
-+ puts ("FAIL: Wrong sorting in cs_CZ.UTF-8.");
-+ return 1;
-+ }
-+}
-+
-+int
-+test_da_DK (void)
-+{
-+ const char t1[] = "AS";
-+ const char t2[] = "AA";
-+ if (setlocale (LC_ALL, "da_DK.ISO-8859-1") == NULL)
-+ {
-+ perror ("setlocale");
-+ return 1;
-+ }
-+ /* AA should be treated as the last letter of the Danish alphabet,
-+ hence sorting after AS. */
-+ int a = strcoll (t1, t2);
-+ int b = strcoll (t2, t1);
-+ printf ("strcoll (\"%s\", \"%s\") = %d\n", t1, t2, a);
-+ printf ("strcoll (\"%s\", \"%s\") = %d\n", t2, t1, b);
-+ if (a < 0 && b > 0)
-+ {
-+ puts ("PASS: AS < AA");
-+ return 0;
-+ }
-+ else
-+ {
-+ puts ("FAIL: Wrong sorting in da_DK.ISO-8859-1");
-+ return 1;
-+ }
-+}
-+
-+static int
-+do_test (void)
-+{
-+ int err = 0;
-+ err |= test_cs_CZ ();
-+ err |= test_da_DK ();
-+ return err;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
-diff --git a/string/strcoll_l.c b/string/strcoll_l.c
-index 8f1225f..35bc0e4 100644
---- a/string/strcoll_l.c
-+++ b/string/strcoll_l.c
-@@ -29,7 +29,6 @@
- # define STRING_TYPE char
- # define USTRING_TYPE unsigned char
- # define STRCOLL __strcoll_l
--# define STRDIFF __strdiff
- # define STRCMP strcmp
- # define WEIGHT_H "../locale/weight.h"
- # define SUFFIX MB
-@@ -42,20 +41,6 @@
- #include "../locale/localeinfo.h"
- #include WEIGHT_H
-
--#define MASK_UTF8_7BIT (1 << 7)
--#define MASK_UTF8_START (3 << 6)
--
--size_t
--STRDIFF (const STRING_TYPE *s, const STRING_TYPE *t)
--{
-- size_t n;
--
-- for (n = 0; *s != '\0' && *s++ == *t++; ++n)
-- continue;
--
-- return n;
--}
--
- /* Track status while looking for sequences in a string. */
- typedef struct
- {
-@@ -269,29 +254,9 @@ STRCOLL (const STRING_TYPE *s1, const STRING_TYPE *s2, __locale_t l)
- const USTRING_TYPE *extra;
- const int32_t *indirect;
-
-- /* In case there is no locale specific sort order (C / POSIX). */
- if (nrules == 0)
- return STRCMP (s1, s2);
-
-- /* Fast forward to the position of the first difference. Needs to be
-- encoding aware as the byte-by-byte comparison can stop in the middle
-- of a char sequence for multibyte encodings like UTF-8. */
-- uint_fast32_t encoding =
-- current->values[_NL_ITEM_INDEX (_NL_COLLATE_ENCODING_TYPE)].word;
-- if (encoding != __cet_other)
-- {
-- size_t diff = STRDIFF (s1, s2);
-- if (diff > 0)
-- {
-- if (encoding == __cet_utf8 && (*(s1 + diff) & MASK_UTF8_7BIT) != 0)
-- do
-- diff--;
-- while (diff > 0 && (*(s1 + diff) & MASK_UTF8_START) != MASK_UTF8_START);
-- s1 += diff;
-- s2 += diff;
-- }
-- }
--
- /* Catch empty strings. */
- if (__glibc_unlikely (*s1 == '\0') || __glibc_unlikely (*s2 == '\0'))
- return (*s1 != '\0') - (*s2 != '\0');
-@@ -358,8 +323,7 @@ STRCOLL (const STRING_TYPE *s1, const STRING_TYPE *s2, __locale_t l)
- byte-level comparison to ensure that we don't waste time
- going through multiple passes for totally equal strings
- before proceeding to subsequent passes. */
-- if (pass == 0 && encoding == __cet_other &&
-- STRCMP (s1, s2) == 0)
-+ if (pass == 0 && STRCMP (s1, s2) == 0)
- return result;
- else
- break;
-diff --git a/string/tst-strxfrm2.c b/string/tst-strxfrm2.c
-index d5a1115..bea5aa2 100644
---- a/string/tst-strxfrm2.c
-+++ b/string/tst-strxfrm2.c
-@@ -5,6 +5,8 @@
- static int
- do_test (void)
- {
-+ static const char test_locale[] = "de_DE.UTF-8";
-+
- int res = 0;
-
- char buf[20];
-@@ -38,9 +40,9 @@ do_test (void)
- res = 1;
- }
-
-- if (setlocale (LC_ALL, "de_DE.UTF-8") == NULL)
-+ if (setlocale (LC_ALL, test_locale) == NULL)
- {
-- puts ("setlocale failed");
-+ printf ("cannot set locale \"%s\"\n", test_locale);
- res = 1;
- }
- else
-diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
-index 7a0fe8d..78e3a97 100644
---- a/sysdeps/generic/ldsodefs.h
-+++ b/sysdeps/generic/ldsodefs.h
-@@ -592,9 +592,6 @@ struct rtld_global_ro
- /* List of auditing interfaces. */
- struct audit_ifaces *_dl_audit;
- unsigned int _dl_naudit;
--
-- /* 0 if internal pointer values should not be guarded, 1 if they should. */
-- EXTERN int _dl_pointer_guard;
- };
- # define __rtld_global_attribute__
- # if IS_IN (rtld)
-diff --git a/sysdeps/hppa/dl-symaddr.c b/sysdeps/hppa/dl-symaddr.c
-index b707c19..89d8baf 100644
---- a/sysdeps/hppa/dl-symaddr.c
-+++ b/sysdeps/hppa/dl-symaddr.c
-@@ -33,3 +33,4 @@ _dl_symbol_address (struct link_map *map, const ElfW(Sym) *ref)
- else
- return (void *) value;
- }
-+rtld_hidden_def (_dl_symbol_address)
-diff --git a/sysdeps/hppa/start.S b/sysdeps/hppa/start.S
-index 64d8c3e..cc4f243 100644
---- a/sysdeps/hppa/start.S
-+++ b/sysdeps/hppa/start.S
-@@ -42,7 +42,11 @@
- /* Have the linker create plabel words so we get PLABEL32
- relocs and not 21/14. The use of 21/14 relocs is only
- supported in the latest dynamic linker. */
-- .section .rodata
-+#ifdef SHARED
-+ .section .data.rel.ro,"aw",@progbits
-+#else
-+ .section .rodata,"a",@progbits
-+#endif
- .align 4
- .Lpmain:
- .word P%main
-@@ -52,6 +56,10 @@
- .word P%__libc_csu_fini
- .Lp__libc_csu_init:
- .word P%__libc_csu_init
-+#ifdef SHARED
-+.Lp__global:
-+ .word $global$
-+#endif
-
- .text
- .align 4
-@@ -122,10 +130,14 @@ _start:
- /* void *stack_end (7th argument) */
- stw %sp, -60(%sp)
-
-+#ifdef SHARED
-+ addil LT'.Lp__global, %r19
-+ ldw RT'.Lp__global(%r1), %dp
-+#else
- /* load global */
- ldil L%$global$, %dp
- ldo R%$global$(%dp), %dp
--
-+#endif
- bl __libc_start_main,%r2
- nop
- /* die horribly if it returned (it shouldn't) */
-diff --git a/sysdeps/nacl/Makefile b/sysdeps/nacl/Makefile
-index 6749a44..1748886 100644
---- a/sysdeps/nacl/Makefile
-+++ b/sysdeps/nacl/Makefile
-@@ -132,4 +132,13 @@ ifeq ($(subdir),misc)
- # sysdeps/.../linux/ directories, but it's still a sysdeps decision to
- # install it.
- sysdep_headers += bits/mman-linux.h
-+
-+# This defeats sysdeps/gnu/Makefile's addition of sys/mtio.h, which
-+# we do not want. This is a total kludge, but it seems no worse for
-+# now than making the sysdeps/gnu/Makefile code conditional on a
-+# variable we set here. If some sysdeps/.../Makefile that is later
-+# in the list than sysdeps/gnu needed to add to sysdep_headers, this
-+# would break it. But sysdeps/gnu is close to last in the list and
-+# this coming up seems unlikely.
-+override sysdep_headers := $(sysdep_headers)
- endif
-diff --git a/sysdeps/nacl/dl-map-segments.h b/sysdeps/nacl/dl-map-segments.h
-index f305da3..f2d5d84 100644
---- a/sysdeps/nacl/dl-map-segments.h
-+++ b/sysdeps/nacl/dl-map-segments.h
-@@ -53,7 +53,7 @@ _dl_map_segments (struct link_map *l, int fd,
- const size_t maplength, bool has_holes,
- struct link_map *loader)
- {
-- if (__builtin_expect (type, ET_DYN) == ET_DYN)
-+ if (__glibc_likely (type == ET_DYN))
- {
- /* This is a position-independent shared object. Let the system
- choose where to place it.
-@@ -165,6 +165,32 @@ _dl_map_segments (struct link_map *l, int fd,
- errno = error;
- return DL_MAP_SEGMENTS_ERROR_MAP_SEGMENT;
- }
-+ if (__glibc_unlikely (type != ET_DYN))
-+ {
-+ /* A successful PROT_EXEC mmap would have implicitly
-+ updated the bookkeeping so that a future
-+ allocate_code_data call would know that this range
-+ of the address space is already occupied. That
-+ doesn't happen implicitly with dyncode_create, so
-+ it's necessary to do an explicit call to update the
-+ bookkeeping. */
-+ uintptr_t allocated_address;
-+ error = __nacl_irt_code_data_alloc.allocate_code_data
-+ (l->l_addr + c->mapstart, len, 0, 0, &allocated_address);
-+ if (__glibc_unlikely (error))
-+ {
-+ errno = error;
-+ return DL_MAP_SEGMENTS_ERROR_MAP_SEGMENT;
-+ }
-+ if (__glibc_unlikely
-+ (allocated_address != l->l_addr + c->mapstart))
-+ {
-+ /* This is not a very helpful error for this case,
-+ but there isn't really anything better to use. */
-+ errno = ENOMEM;
-+ return DL_MAP_SEGMENTS_ERROR_MAP_SEGMENT;
-+ }
-+ }
- }
- else
- {
-diff --git a/sysdeps/nacl/dl-sysdep-open.h b/sysdeps/nacl/dl-sysdep-open.h
-new file mode 100644
-index 0000000..38b0f9e
---- /dev/null
-+++ b/sysdeps/nacl/dl-sysdep-open.h
-@@ -0,0 +1,40 @@
-+/* System-specific call to open a shared object by name. NaCl version.
-+ Copyright (C) 2015 Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ The GNU C Library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 2.1 of the License, or (at your option) any later version.
-+
-+ The GNU C Library 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
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with the GNU C Library; if not, see
-+ <http://www.gnu.org/licenses/>. */
-+
-+#ifndef _DL_SYSDEP_OPEN_H
-+#define _DL_SYSDEP_OPEN_H 1
-+
-+#include <stddef.h>
-+
-+/* NAME is a name without slashes, as it appears in a DT_NEEDED entry
-+ or a dlopen call's argument or suchlike. NAMELEN is (strlen (NAME) + 1).
-+
-+ Find NAME in an OS-dependent fashion, and return its "real" name.
-+ Optionally fill in *FD with a file descriptor open on that file (or
-+ else leave its initial value of -1). The return value is a new
-+ malloc'd string, which will be free'd by the caller. If NAME is
-+ resolved to an actual file that can be opened, then the return
-+ value should name that file (and if *FD was not set, then a normal
-+ __open call on that string will be made). If *FD was set by some
-+ other means than a normal open and there is no "real" name to use,
-+ then __strdup (NAME) is fine (modulo error checking). */
-+
-+extern char *_dl_sysdep_open_object (const char *name, size_t namelen, int *fd)
-+ internal_function attribute_hidden;
-+
-+#endif /* dl-sysdep-open.h */
-diff --git a/sysdeps/nacl/dl-sysdep.c b/sysdeps/nacl/dl-sysdep.c
-index 3e902c2..3a04aa1 100644
---- a/sysdeps/nacl/dl-sysdep.c
-+++ b/sysdeps/nacl/dl-sysdep.c
-@@ -87,3 +87,26 @@ _dl_start_user (void (*user_entry) (uint32_t info[]), uint32_t info[])
- #endif /* SHARED */
-
- #include <elf/dl-sysdep.c>
-+
-+#include <dl-sysdep-open.h>
-+#include <nacl-interfaces.h>
-+#include <assert.h>
-+#include <string.h>
-+#include <unistd.h>
-+
-+char *
-+internal_function
-+_dl_sysdep_open_object (const char *name, size_t namelen, int *fd)
-+{
-+ int error = __nacl_irt_resource_open.open_resource (name, fd);
-+ if (error)
-+ return NULL;
-+ assert (*fd != -1);
-+ char *realname = __strdup (name);
-+ if (__glibc_unlikely (realname == NULL))
-+ {
-+ __close (*fd);
-+ *fd = -1;
-+ }
-+ return realname;
-+}
-diff --git a/sysdeps/nacl/nacl-interface-list.h b/sysdeps/nacl/nacl-interface-list.h
-index cb33751..c68faed 100644
---- a/sysdeps/nacl/nacl-interface-list.h
-+++ b/sysdeps/nacl/nacl-interface-list.h
-@@ -28,7 +28,7 @@ NACL_MANDATORY_INTERFACE (rtld,
- NACL_IRT_FUTEX_v0_1, nacl_irt_futex)
- NACL_MANDATORY_INTERFACE (rtld,
- NACL_IRT_TLS_v0_1, nacl_irt_tls)
--NACL_MANDATORY_INTERFACE (libc,
-+NACL_MANDATORY_INTERFACE (rtld,
- NACL_IRT_RESOURCE_OPEN_v0_1, nacl_irt_resource_open)
- NACL_MANDATORY_INTERFACE (rtld,
- NACL_IRT_CODE_DATA_ALLOC_v0_1,
-diff --git a/sysdeps/nacl/start.c b/sysdeps/nacl/start.c
-index a4b6dd3..8e8bc1a 100644
---- a/sysdeps/nacl/start.c
-+++ b/sysdeps/nacl/start.c
-@@ -44,6 +44,10 @@
- /* The application defines this, of course. */
- extern int main (int argc, char **argv, char **envp);
-
-+/* But maybe it defines this too, in which case it takes precedence. */
-+extern int __nacl_main (int argc, char **argv, char **envp)
-+ __attribute__ ((weak));
-+
- /* These are defined in libc. */
- extern int __libc_csu_init (int argc, char **argv, char **envp);
- extern void __libc_csu_fini (void);
-@@ -59,7 +63,7 @@ _start (uint32_t info[])
- {
- /* The generic code actually assumes that envp follows argv. */
-
-- __libc_start_main (&main,
-+ __libc_start_main (&__nacl_main ?: &main,
- nacl_startup_argc (info),
- nacl_startup_argv (info),
- nacl_startup_auxv (info),
-diff --git a/sysdeps/posix/opendir.c b/sysdeps/posix/opendir.c
-index 6509f5c..9edf056 100644
---- a/sysdeps/posix/opendir.c
-+++ b/sysdeps/posix/opendir.c
-@@ -105,7 +105,7 @@ need_isdir_precheck (void)
- tryopen_o_directory ();
-
- /* We can skip the expensive `stat' call if O_DIRECTORY works. */
-- return o_directory_works > 0;
-+ return o_directory_works < 0;
- #endif
- return true;
- }
-diff --git a/sysdeps/powerpc/nptl/elide.h b/sysdeps/powerpc/nptl/elide.h
-index 389f5a5..2e1e443 100644
---- a/sysdeps/powerpc/nptl/elide.h
-+++ b/sysdeps/powerpc/nptl/elide.h
-@@ -23,67 +23,78 @@
- # include <htm.h>
- # include <elision-conf.h>
-
--/* Returns true if the lock defined by is_lock_free as elided.
-- ADAPT_COUNT is a pointer to per-lock state variable. */
--
-+/* Get the new value of adapt_count according to the elision
-+ configurations. Returns true if the system should retry again or false
-+ otherwise. */
- static inline bool
--__elide_lock (uint8_t *adapt_count, int is_lock_free)
-+__get_new_count (uint8_t *adapt_count, int attempt)
- {
-- if (*adapt_count > 0)
-+ /* A persistent failure indicates that a retry will probably
-+ result in another failure. Use normal locking now and
-+ for the next couple of calls. */
-+ if (_TEXASRU_FAILURE_PERSISTENT (__builtin_get_texasru ()))
- {
-- (*adapt_count)--;
-+ if (__elision_aconf.skip_lock_internal_abort > 0)
-+ *adapt_count = __elision_aconf.skip_lock_internal_abort;
- return false;
- }
--
-- for (int i = __elision_aconf.try_tbegin; i > 0; i--)
-- {
-- if (__builtin_tbegin (0))
-- {
-- if (is_lock_free)
-- return true;
-- /* Lock was busy. */
-- __builtin_tabort (_ABORT_LOCK_BUSY);
-- }
-- else
-- {
-- /* A persistent failure indicates that a retry will probably
-- result in another failure. Use normal locking now and
-- for the next couple of calls. */
-- if (_TEXASRU_FAILURE_PERSISTENT (__builtin_get_texasru ()))
-- {
-- if (__elision_aconf.skip_lock_internal_abort > 0)
-- *adapt_count = __elision_aconf.skip_lock_internal_abort;
-- break;
-- }
-- /* Same logic as above, but for a number of temporary failures in a
-- a row. */
-- else if (__elision_aconf.skip_lock_out_of_tbegin_retries > 0
-- && __elision_aconf.try_tbegin > 0)
-- *adapt_count = __elision_aconf.skip_lock_out_of_tbegin_retries;
-- }
-- }
--
-- return false;
-+ /* Same logic as above, but for a number of temporary failures in a
-+ a row. */
-+ else if (attempt <= 1 && __elision_aconf.skip_lock_out_of_tbegin_retries > 0
-+ && __elision_aconf.try_tbegin > 0)
-+ *adapt_count = __elision_aconf.skip_lock_out_of_tbegin_retries;
-+ return true;
- }
-
--# define ELIDE_LOCK(adapt_count, is_lock_free) \
-- __elide_lock (&(adapt_count), is_lock_free)
--
--
--static inline bool
--__elide_trylock (uint8_t *adapt_count, int is_lock_free, int write)
--{
-- if (__elision_aconf.try_tbegin > 0)
-- {
-- if (write)
-- __builtin_tabort (_ABORT_NESTED_TRYLOCK);
-- return __elide_lock (adapt_count, is_lock_free);
-- }
-- return false;
--}
-+/* CONCURRENCY NOTES:
-+
-+ The evaluation of the macro expression is_lock_free encompasses one or
-+ more loads from memory locations that are concurrently modified by other
-+ threads. For lock elision to work, this evaluation and the rest of the
-+ critical section protected by the lock must be atomic because an
-+ execution with lock elision must be equivalent to an execution in which
-+ the lock would have been actually acquired and released. Therefore, we
-+ evaluate is_lock_free inside of the transaction that represents the
-+ critical section for which we want to use lock elision, which ensures
-+ the atomicity that we require. */
-+
-+/* Returns 0 if the lock defined by is_lock_free was elided.
-+ ADAPT_COUNT is a per-lock state variable. */
-+# define ELIDE_LOCK(adapt_count, is_lock_free) \
-+ ({ \
-+ int ret = 0; \
-+ if (adapt_count > 0) \
-+ (adapt_count)--; \
-+ else \
-+ for (int i = __elision_aconf.try_tbegin; i > 0; i--) \
-+ { \
-+ if (__builtin_tbegin (0)) \
-+ { \
-+ if (is_lock_free) \
-+ { \
-+ ret = 1; \
-+ break; \
-+ } \
-+ __builtin_tabort (_ABORT_LOCK_BUSY); \
-+ } \
-+ else \
-+ if (!__get_new_count (&adapt_count,i)) \
-+ break; \
-+ } \
-+ ret; \
-+ })
-
- # define ELIDE_TRYLOCK(adapt_count, is_lock_free, write) \
-- __elide_trylock (&(adapt_count), is_lock_free, write)
-+ ({ \
-+ int ret = 0; \
-+ if (__elision_aconf.try_tbegin > 0) \
-+ { \
-+ if (write) \
-+ __builtin_tabort (_ABORT_NESTED_TRYLOCK); \
-+ ret = ELIDE_LOCK (adapt_count, is_lock_free); \
-+ } \
-+ ret; \
-+ })
-
-
- static inline bool
-diff --git a/sysdeps/sparc/sparc32/sem_open.c b/sysdeps/sparc/sparc32/sem_open.c
-index 16cb9ad..59df2d7 100644
---- a/sysdeps/sparc/sparc32/sem_open.c
-+++ b/sysdeps/sparc/sparc32/sem_open.c
-@@ -29,6 +29,7 @@
- #include <sys/mman.h>
- #include <sys/stat.h>
- #include "semaphoreP.h"
-+#include <futex-internal.h>
- #include <shm-directory.h>
-
-
-diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
-index 58c8b32..aa20e22 100644
---- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
-+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
-@@ -1822,9 +1822,6 @@ GLIBC_2.17
- GLIBC_2.18
- GLIBC_2.18 A
- __cxa_thread_atexit_impl F
--GLIBC_2.22
-- GLIBC_2.22 A
-- fmemopen F
- GLIBC_2.2
- GLIBC_2.2 A
- _IO_adjust_wcolumn F
-@@ -2015,6 +2012,9 @@ GLIBC_2.2.4
- GLIBC_2.2.6
- GLIBC_2.2.6 A
- __nanosleep F
-+GLIBC_2.22
-+ GLIBC_2.22 A
-+ fmemopen F
- GLIBC_2.3
- GLIBC_2.3 A
- __ctype_b_loc F
-diff --git a/sysdeps/unix/sysv/linux/hppa/bits/atomic.h b/sysdeps/unix/sysv/linux/hppa/bits/atomic.h
-index abde83e..6e73504 100644
---- a/sysdeps/unix/sysv/linux/hppa/bits/atomic.h
-+++ b/sysdeps/unix/sysv/linux/hppa/bits/atomic.h
-@@ -56,42 +56,41 @@ typedef uintmax_t uatomic_max_t;
- #define _LWS "0xb0"
- #define _LWS_CAS "0"
- /* Note r31 is the link register. */
--#define _LWS_CLOBBER "r1", "r26", "r25", "r24", "r23", "r22", "r21", "r20", "r28", "r31", "memory"
-+#define _LWS_CLOBBER "r1", "r23", "r22", "r20", "r31", "memory"
- /* String constant for -EAGAIN. */
- #define _ASM_EAGAIN "-11"
- /* String constant for -EDEADLOCK. */
- #define _ASM_EDEADLOCK "-45"
-
- #if __ASSUME_LWS_CAS
--/* The only basic operation needed is compare and exchange. */
-+/* The only basic operation needed is compare and exchange. The mem
-+ pointer must be word aligned. */
- # define atomic_compare_and_exchange_val_acq(mem, newval, oldval) \
- ({ \
-- volatile int lws_errno; \
-- __typeof__ (*mem) lws_ret; \
-- asm volatile( \
-+ register long lws_errno asm("r21"); \
-+ register unsigned long lws_ret asm("r28"); \
-+ register unsigned long lws_mem asm("r26") = (unsigned long)(mem); \
-+ register unsigned long lws_old asm("r25") = (unsigned long)(oldval);\
-+ register unsigned long lws_new asm("r24") = (unsigned long)(newval);\
-+ __asm__ __volatile__( \
- "0: \n\t" \
-- "copy %2, %%r26 \n\t" \
-- "copy %3, %%r25 \n\t" \
-- "copy %4, %%r24 \n\t" \
- "ble " _LWS "(%%sr2, %%r0) \n\t" \
- "ldi " _LWS_CAS ", %%r20 \n\t" \
-- "ldi " _ASM_EAGAIN ", %%r24 \n\t" \
-- "cmpb,=,n %%r24, %%r21, 0b \n\t" \
-+ "ldi " _ASM_EAGAIN ", %%r20 \n\t" \
-+ "cmpb,=,n %%r20, %%r21, 0b \n\t" \
- "nop \n\t" \
-- "ldi " _ASM_EDEADLOCK ", %%r25 \n\t" \
-- "cmpb,=,n %%r25, %%r21, 0b \n\t" \
-+ "ldi " _ASM_EDEADLOCK ", %%r20 \n\t" \
-+ "cmpb,=,n %%r20, %%r21, 0b \n\t" \
- "nop \n\t" \
-- "stw %%r28, %0 \n\t" \
-- "stw %%r21, %1 \n\t" \
-- : "=m" (lws_ret), "=m" (lws_errno) \
-- : "r" (mem), "r" (oldval), "r" (newval) \
-+ : "=r" (lws_ret), "=r" (lws_errno) \
-+ : "r" (lws_mem), "r" (lws_old), "r" (lws_new) \
- : _LWS_CLOBBER \
- ); \
- \
-- if(lws_errno == -EFAULT || lws_errno == -ENOSYS) \
-+ if (lws_errno == -EFAULT || lws_errno == -ENOSYS) \
- ABORT_INSTRUCTION; \
- \
-- lws_ret; \
-+ (__typeof (oldval)) lws_ret; \
- })
-
- # define atomic_compare_and_exchange_bool_acq(mem, newval, oldval) \
-diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
-index cf0ad90..224e1f3 100644
---- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
-+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
-@@ -95,9 +95,6 @@ GLIBC_2.18
- GLIBC_2.19
- GLIBC_2.19 A
- fanotify_mark F
--GLIBC_2.22
-- GLIBC_2.22 A
-- fmemopen F
- GLIBC_2.2
- GLIBC_2.2 A
- _Exit F
-@@ -1863,6 +1860,9 @@ GLIBC_2.2.4
- GLIBC_2.2.6
- GLIBC_2.2.6 A
- __nanosleep F
-+GLIBC_2.22
-+ GLIBC_2.22 A
-+ fmemopen F
- GLIBC_2.3
- GLIBC_2.3 A
- __ctype_b_loc F
-diff --git a/sysdeps/unix/sysv/linux/hppa/syscall.c b/sysdeps/unix/sysv/linux/hppa/syscall.c
-index aff67a8..958fa47 100644
---- a/sysdeps/unix/sysv/linux/hppa/syscall.c
-+++ b/sysdeps/unix/sysv/linux/hppa/syscall.c
-@@ -43,9 +43,10 @@ syscall (long int __sysno, ...)
- va_end (args);
-
- {
-+ LOAD_ARGS_6 (arg0, arg1, arg2, arg3, arg4, arg5)
- register unsigned long int __res asm("r28");
- PIC_REG_DEF
-- LOAD_ARGS_6 (arg0, arg1, arg2, arg3, arg4, arg5)
-+ LOAD_REGS_6
- asm volatile (SAVE_ASM_PIC
- " ble 0x100(%%sr2, %%r0) \n"
- " copy %1, %%r20 \n"
-diff --git a/sysdeps/unix/sysv/linux/hppa/sysdep.h b/sysdeps/unix/sysv/linux/hppa/sysdep.h
-index d20a04b..cb1f163 100644
---- a/sysdeps/unix/sysv/linux/hppa/sysdep.h
-+++ b/sysdeps/unix/sysv/linux/hppa/sysdep.h
-@@ -400,9 +400,10 @@ L(pre_end): ASM_LINE_SEP \
- ({ \
- long __sys_res; \
- { \
-+ LOAD_ARGS_##nr(args) \
- register unsigned long __res asm("r28"); \
- PIC_REG_DEF \
-- LOAD_ARGS_##nr(args) \
-+ LOAD_REGS_##nr \
- /* FIXME: HACK save/load r19 around syscall */ \
- asm volatile( \
- SAVE_ASM_PIC \
-@@ -425,9 +426,10 @@ L(pre_end): ASM_LINE_SEP \
- ({ \
- long __sys_res; \
- { \
-+ LOAD_ARGS_##nr(args) \
- register unsigned long __res asm("r28"); \
- PIC_REG_DEF \
-- LOAD_ARGS_##nr(args) \
-+ LOAD_REGS_##nr \
- /* FIXME: HACK save/load r19 around syscall */ \
- asm volatile( \
- SAVE_ASM_PIC \
-@@ -443,27 +445,44 @@ L(pre_end): ASM_LINE_SEP \
- __sys_res; \
- })
-
--
--
- #define LOAD_ARGS_0()
--#define LOAD_ARGS_1(r26) \
-- register unsigned long __r26 __asm__("r26") = (unsigned long)(r26); \
-+#define LOAD_REGS_0
-+#define LOAD_ARGS_1(a1) \
-+ register unsigned long __x26 = (unsigned long)(a1); \
- LOAD_ARGS_0()
--#define LOAD_ARGS_2(r26,r25) \
-- register unsigned long __r25 __asm__("r25") = (unsigned long)(r25); \
-- LOAD_ARGS_1(r26)
--#define LOAD_ARGS_3(r26,r25,r24) \
-- register unsigned long __r24 __asm__("r24") = (unsigned long)(r24); \
-- LOAD_ARGS_2(r26,r25)
--#define LOAD_ARGS_4(r26,r25,r24,r23) \
-- register unsigned long __r23 __asm__("r23") = (unsigned long)(r23); \
-- LOAD_ARGS_3(r26,r25,r24)
--#define LOAD_ARGS_5(r26,r25,r24,r23,r22) \
-- register unsigned long __r22 __asm__("r22") = (unsigned long)(r22); \
-- LOAD_ARGS_4(r26,r25,r24,r23)
--#define LOAD_ARGS_6(r26,r25,r24,r23,r22,r21) \
-- register unsigned long __r21 __asm__("r21") = (unsigned long)(r21); \
-- LOAD_ARGS_5(r26,r25,r24,r23,r22)
-+#define LOAD_REGS_1 \
-+ register unsigned long __r26 __asm__("r26") = __x26; \
-+ LOAD_REGS_0
-+#define LOAD_ARGS_2(a1,a2) \
-+ register unsigned long __x25 = (unsigned long)(a2); \
-+ LOAD_ARGS_1(a1)
-+#define LOAD_REGS_2 \
-+ register unsigned long __r25 __asm__("r25") = __x25; \
-+ LOAD_REGS_1
-+#define LOAD_ARGS_3(a1,a2,a3) \
-+ register unsigned long __x24 = (unsigned long)(a3); \
-+ LOAD_ARGS_2(a1,a2)
-+#define LOAD_REGS_3 \
-+ register unsigned long __r24 __asm__("r24") = __x24; \
-+ LOAD_REGS_2
-+#define LOAD_ARGS_4(a1,a2,a3,a4) \
-+ register unsigned long __x23 = (unsigned long)(a4); \
-+ LOAD_ARGS_3(a1,a2,a3)
-+#define LOAD_REGS_4 \
-+ register unsigned long __r23 __asm__("r23") = __x23; \
-+ LOAD_REGS_3
-+#define LOAD_ARGS_5(a1,a2,a3,a4,a5) \
-+ register unsigned long __x22 = (unsigned long)(a5); \
-+ LOAD_ARGS_4(a1,a2,a3,a4)
-+#define LOAD_REGS_5 \
-+ register unsigned long __r22 __asm__("r22") = __x22; \
-+ LOAD_REGS_4
-+#define LOAD_ARGS_6(a1,a2,a3,a4,a5,a6) \
-+ register unsigned long __x21 = (unsigned long)(a6); \
-+ LOAD_ARGS_5(a1,a2,a3,a4,a5)
-+#define LOAD_REGS_6 \
-+ register unsigned long __r21 __asm__("r21") = __x21; \
-+ LOAD_REGS_5
-
- /* Even with zero args we use r20 for the syscall number */
- #define ASM_ARGS_0
-diff --git a/sysdeps/unix/sysv/linux/microblaze/sysdep.h b/sysdeps/unix/sysv/linux/microblaze/sysdep.h
-index 83c0340..9d5c542 100644
---- a/sysdeps/unix/sysv/linux/microblaze/sysdep.h
-+++ b/sysdeps/unix/sysv/linux/microblaze/sysdep.h
-@@ -16,8 +16,11 @@
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-+#ifndef _LINUX_MICROBLAZE_SYSDEP_H
-+#define _LINUX_MICROBLAZE_SYSDEP_H 1
-+
-+#include <sysdeps/unix/sysdep.h>
- #include <sysdeps/microblaze/sysdep.h>
--#include <sys/syscall.h>
-
- /* Defines RTLD_PRIVATE_ERRNO. */
- #include <dl-sysdep.h>
-@@ -305,3 +308,5 @@ SYSCALL_ERROR_LABEL_DCL: \
- # define PTR_DEMANGLE(var) (void) (var)
-
- #endif /* not __ASSEMBLER__ */
-+
-+#endif /* _LINUX_MICROBLAZE_SYSDEP_H */
-diff --git a/sysdeps/unix/sysv/linux/openat.c b/sysdeps/unix/sysv/linux/openat.c
-index 6777123..ad8e31d 100644
---- a/sysdeps/unix/sysv/linux/openat.c
-+++ b/sysdeps/unix/sysv/linux/openat.c
-@@ -68,6 +68,11 @@ __OPENAT (int fd, const char *file, int oflag, ...)
- va_end (arg);
- }
-
-+ /* We have to add the O_LARGEFILE flag for openat64. */
-+#ifdef MORE_OFLAGS
-+ oflag |= MORE_OFLAGS;
-+#endif
-+
- return SYSCALL_CANCEL (openat, fd, file, oflag, mode);
- }
- libc_hidden_def (__OPENAT)
-diff --git a/sysdeps/unix/sysv/linux/powerpc/elision-lock.c b/sysdeps/unix/sysv/linux/powerpc/elision-lock.c
-index 7f9bcc2..c6731ca 100644
---- a/sysdeps/unix/sysv/linux/powerpc/elision-lock.c
-+++ b/sysdeps/unix/sysv/linux/powerpc/elision-lock.c
-@@ -72,8 +72,7 @@ __lll_lock_elision (int *lock, short *adapt_count, EXTRAARG int pshared)
- goto use_lock;
- }
-
-- int try_begin = aconf.try_tbegin;
-- while (1)
-+ for (int i = aconf.try_tbegin; i > 0; i--)
- {
- if (__builtin_tbegin (0))
- {
-@@ -87,21 +86,19 @@ __lll_lock_elision (int *lock, short *adapt_count, EXTRAARG int pshared)
- /* A persistent failure indicates that a retry will probably
- result in another failure. Use normal locking now and
- for the next couple of calls. */
-- if (try_begin-- <= 0
-- || _TEXASRU_FAILURE_PERSISTENT (__builtin_get_texasru ()))
-+ if (_TEXASRU_FAILURE_PERSISTENT (__builtin_get_texasru ()))
- {
- if (aconf.skip_lock_internal_abort > 0)
- *adapt_count = aconf.skip_lock_internal_abort;
- goto use_lock;
- }
-- /* Same logic as above, but for for a number of temporary failures
-- in a row. */
-- else if (aconf.skip_lock_out_of_tbegin_retries > 0
-- && aconf.try_tbegin > 0)
-- *adapt_count = aconf.skip_lock_out_of_tbegin_retries;
- }
- }
-
-+ /* Fall back to locks for a bit if retries have been exhausted */
-+ if (aconf.try_tbegin > 0 && aconf.skip_lock_out_of_tbegin_retries > 0)
-+ *adapt_count = aconf.skip_lock_out_of_tbegin_retries;
-+
- use_lock:
- return LLL_LOCK ((*lock), pshared);
- }
-diff --git a/time/strftime_l.c b/time/strftime_l.c
-index b48ef34..4eb647c 100644
---- a/time/strftime_l.c
-+++ b/time/strftime_l.c
-@@ -510,13 +510,17 @@ __strftime_internal (s, maxsize, format, tp, tzset_called ut_argument
- only a few elements. Dereference the pointers only if the format
- requires this. Then it is ok to fail if the pointers are invalid. */
- # define a_wkday \
-- ((const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(ABDAY_1) + tp->tm_wday))
-+ ((const CHAR_T *) (tp->tm_wday < 0 || tp->tm_wday > 6 \
-+ ? "?" : _NL_CURRENT (LC_TIME, NLW(ABDAY_1) + tp->tm_wday)))
- # define f_wkday \
-- ((const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(DAY_1) + tp->tm_wday))
-+ ((const CHAR_T *) (tp->tm_wday < 0 || tp->tm_wday > 6 \
-+ ? "?" : _NL_CURRENT (LC_TIME, NLW(DAY_1) + tp->tm_wday)))
- # define a_month \
-- ((const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(ABMON_1) + tp->tm_mon))
-+ ((const CHAR_T *) (tp->tm_mon < 0 || tp->tm_mon > 11 \
-+ ? "?" : _NL_CURRENT (LC_TIME, NLW(ABMON_1) + tp->tm_mon)))
- # define f_month \
-- ((const CHAR_T *) _NL_CURRENT (LC_TIME, NLW(MON_1) + tp->tm_mon))
-+ ((const CHAR_T *) (tp->tm_mon < 0 || tp->tm_mon > 11 \
-+ ? "?" : _NL_CURRENT (LC_TIME, NLW(MON_1) + tp->tm_mon)))
- # define ampm \
- ((const CHAR_T *) _NL_CURRENT (LC_TIME, tp->tm_hour > 11 \
- ? NLW(PM_STR) : NLW(AM_STR)))
-@@ -526,8 +530,10 @@ __strftime_internal (s, maxsize, format, tp, tzset_called ut_argument
- # define ap_len STRLEN (ampm)
- #else
- # if !HAVE_STRFTIME
--# define f_wkday (weekday_name[tp->tm_wday])
--# define f_month (month_name[tp->tm_mon])
-+# define f_wkday (tp->tm_wday < 0 || tp->tm_wday > 6 \
-+ ? "?" : weekday_name[tp->tm_wday])
-+# define f_month (tp->tm_mon < 0 || tp->tm_mon > 11 \
-+ ? "?" : month_name[tp->tm_mon])
- # define a_wkday f_wkday
- # define a_month f_month
- # define ampm (L_("AMPM") + 2 * (tp->tm_hour > 11))
-@@ -1321,7 +1327,7 @@ __strftime_internal (s, maxsize, format, tp, tzset_called ut_argument
- *tzset_called = true;
- }
- # endif
-- zone = tzname[tp->tm_isdst];
-+ zone = tp->tm_isdst <= 1 ? tzname[tp->tm_isdst] : "?";
- }
- #endif
- if (! zone)
-diff --git a/time/tst-strftime.c b/time/tst-strftime.c
-index 374fba4..af3ff72 100644
---- a/time/tst-strftime.c
-+++ b/time/tst-strftime.c
-@@ -4,6 +4,56 @@
- #include <time.h>
-
-
-+static int
-+do_bz18985 (void)
-+{
-+ char buf[1000];
-+ struct tm ttm;
-+ int rc, ret = 0;
-+
-+ memset (&ttm, 1, sizeof (ttm));
-+ ttm.tm_zone = NULL; /* Dereferenced directly if non-NULL. */
-+ rc = strftime (buf, sizeof (buf), "%a %A %b %B %c %z %Z", &ttm);
-+
-+ if (rc == 66)
-+ {
-+ const char expected[]
-+ = "? ? ? ? ? ? 16843009 16843009:16843009:16843009 16844909 +467836 ?";
-+ if (0 != strcmp (buf, expected))
-+ {
-+ printf ("expected:\n %s\ngot:\n %s\n", expected, buf);
-+ ret += 1;
-+ }
-+ }
-+ else
-+ {
-+ printf ("expected 66, got %d\n", rc);
-+ ret += 1;
-+ }
-+
-+ /* Check negative values as well. */
-+ memset (&ttm, 0xFF, sizeof (ttm));
-+ ttm.tm_zone = NULL; /* Dereferenced directly if non-NULL. */
-+ rc = strftime (buf, sizeof (buf), "%a %A %b %B %c %z %Z", &ttm);
-+
-+ if (rc == 30)
-+ {
-+ const char expected[] = "? ? ? ? ? ? -1 -1:-1:-1 1899 ";
-+ if (0 != strcmp (buf, expected))
-+ {
-+ printf ("expected:\n %s\ngot:\n %s\n", expected, buf);
-+ ret += 1;
-+ }
-+ }
-+ else
-+ {
-+ printf ("expected 30, got %d\n", rc);
-+ ret += 1;
-+ }
-+
-+ return ret;
-+}
-+
- static struct
- {
- const char *fmt;
-@@ -104,7 +154,7 @@ do_test (void)
- }
- }
-
-- return result;
-+ return result + do_bz18985 ();
- }
-
- #define TEST_FUNCTION do_test ()
-diff --git a/wcsmbs/wcscoll_l.c b/wcsmbs/wcscoll_l.c
-index 6d9384a..87f240d 100644
---- a/wcsmbs/wcscoll_l.c
-+++ b/wcsmbs/wcscoll_l.c
-@@ -23,7 +23,6 @@
- #define STRING_TYPE wchar_t
- #define USTRING_TYPE wint_t
- #define STRCOLL __wcscoll_l
--#define STRDIFF __wcsdiff
- #define STRCMP __wcscmp
- #define WEIGHT_H "../locale/weightwc.h"
- #define SUFFIX WC
diff --git a/abs/core/glibc/glibc.install b/abs/core/glibc/glibc.install
index a49daa5..351f05b 100644
--- a/abs/core/glibc/glibc.install
+++ b/abs/core/glibc/glibc.install
@@ -1,20 +1,5 @@
-infodir=usr/share/info
-filelist=(libc.info{,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11})
-
post_upgrade() {
locale-gen
ldconfig -r .
-
- [[ -x usr/bin/install-info ]] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
-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/core/glibc/lib32-glibc.conf b/abs/core/glibc/lib32-glibc.conf
new file mode 100644
index 0000000..9b08c3f
--- /dev/null
+++ b/abs/core/glibc/lib32-glibc.conf
@@ -0,0 +1 @@
+/usr/lib32
diff --git a/abs/core/gnupg/PKGBUILD b/abs/core/gnupg/PKGBUILD
index 6d7dc98..06f35f5 100644
--- a/abs/core/gnupg/PKGBUILD
+++ b/abs/core/gnupg/PKGBUILD
@@ -1,35 +1,40 @@
-# $Id: PKGBUILD 195927 2013-10-05 17:40:59Z bisson $
+# $Id$
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Andreas Radke <andyrtr@archlinux.org>
# Contributor: Judd Vinet <jvinet@zeroflux.org>
pkgname=gnupg
-pkgver=2.0.22
-pkgrel=2
+pkgver=2.2.5
+pkgrel=1
pkgdesc='Complete and free implementation of the OpenPGP standard'
url='http://www.gnupg.org/'
license=('GPL')
-arch=('i686' 'x86_64')
-optdepends=('curl: gpg2keys_curl'
- 'libldap: gpg2keys_ldap'
- 'libusb-compat: scdaemon')
-makedepends=('curl' 'libldap' 'libusb-compat')
-depends=('bzip2' 'libksba' 'libgcrypt' 'pth' 'libassuan' 'readline' 'pinentry' 'dirmngr')
-source=("ftp://ftp.gnupg.org/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2"{,.sig}
- 'protect-tool-env.patch')
-sha1sums=('9ba9ee288e9bf813e0f1e25cbe06b58d3072d8b8' 'SKIP'
- '2ec97ba55ae47ff0d63bc813b8c64cb79cef11db')
+arch=('x86_64')
+optdepends=('libldap: gpg2keys_ldap'
+ 'libusb-compat: scdaemon'
+ 'pcsclite: scdaemon')
+makedepends=('libldap' 'libusb-compat' 'pcsclite')
+checkdepends=('openssh')
+depends=('npth' 'libgpg-error' 'libgcrypt' 'libksba' 'libassuan'
+ 'pinentry' 'bzip2' 'readline' 'gnutls' 'sqlite')
+validpgpkeys=('D8692123C4065DEA5E0F3AB5249B39D24F25E3B6'
+ '46CC730865BB5C78EBABADCF04376F3EE0856959'
+ '031EC2536E580D8EA286A9F22071B08A33BD3F06'
+ 'D238EA65D64C67ED4C3073F28A861B1C7EFD60D9')
+source=("https://gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2"{,.sig})
+sha256sums=('3fa189a32d4fb62147874eb1389047c267d9ba088f57ab521cb0df46f08aef57'
+ 'SKIP')
install=install
-conflicts=('gnupg2')
-provides=("gnupg2=${pkgver}")
-replaces=('gnupg2')
+conflicts=('dirmngr' 'gnupg2')
+provides=('dirmngr' "gnupg2=${pkgver}")
+replaces=('dirmngr' 'gnupg2')
prepare() {
cd "${srcdir}/${pkgname}-${pkgver}"
- patch -p1 -i ../protect-tool-env.patch # FS#31900
+ sed '/noinst_SCRIPTS = gpg-zip/c sbin_SCRIPTS += gpg-zip' -i tools/Makefile.in
}
build() {
@@ -41,7 +46,6 @@ build() {
--libexecdir=/usr/lib/gnupg \
--enable-maintainer-mode \
--enable-symcryptrun \
- --enable-gpgtar \
make
}
@@ -54,8 +58,11 @@ check() {
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
- ln -s gpg2 "${pkgdir}"/usr/bin/gpg
- ln -s gpgv2 "${pkgdir}"/usr/bin/gpgv
- ln -s gpg2.1.gz "${pkgdir}"/usr/share/man/man1/gpg.1.gz
- rm "${pkgdir}/usr/share/gnupg/com-certs.pem" # FS#33059
+ ln -s gpg "${pkgdir}"/usr/bin/gpg2
+ ln -s gpgv "${pkgdir}"/usr/bin/gpgv2
+
+ cd doc/examples/systemd-user
+ for i in *.*; do
+ install -Dm644 "$i" "${pkgdir}/usr/lib/systemd/user/$i"
+ done
}
diff --git a/abs/core/gnupg/install b/abs/core/gnupg/install
index 3a5dc9f..95cb351 100644
--- a/abs/core/gnupg/install
+++ b/abs/core/gnupg/install
@@ -1,20 +1,41 @@
-info_dir=/usr/share/info
-info_files=(gnupg.info gnupg.info-1 gnupg.info-2)
+_global_units() {
+ _units=(dirmngr.socket gpg-agent.socket gpg-agent-{browser,extra,ssh}.socket)
+ _dir=/etc/systemd/user/sockets.target.wants
+
+ case $1 in
+ enable)
+ mkdir -p $_dir
+ for _u in "${_units[@]}"; do
+ ln -sf /usr/lib/systemd/user/$_u $_dir/$_u
+ done
+ ;;
+ disable)
+ for _u in "${_units[@]}"; do
+ rm -f $_dir/$_u
+ done
+ rmdir -p --ignore-fail-on-non-empty $_dir
+ ;;
+ esac
+}
post_install() {
- [ -x usr/bin/install-info ] || return 0
- for f in ${info_files[@]}; do
- usr/bin/install-info ${info_dir}/$f ${info_dir}/dir 2> /dev/null
- done
+ # See FS#42798 and FS#47371
+ dirmngr </dev/null &>/dev/null
+
+ # Let systemd supervise daemons by default
+ _global_units enable
}
post_upgrade() {
- post_install $1
+ if (( $(vercmp $2 2.1.13-1) < 0 )); then
+ echo "==> Please kill running gpg-agent and dirmngr processes before using this release."
+ fi
+
+ if (( $(vercmp $2 2.1.21-3) < 0 )); then
+ _global_units enable
+ fi
}
pre_remove() {
- [ -x usr/bin/install-info ] || return 0
- for f in ${info_files[@]}; do
- usr/bin/install-info --delete ${info_dir}/$f ${info_dir}/dir 2> /dev/null
- done
+ _global_units disable
}
diff --git a/abs/core/gnupg/protect-tool-env.patch b/abs/core/gnupg/protect-tool-env.patch
deleted file mode 100644
index 132791f..0000000
--- a/abs/core/gnupg/protect-tool-env.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -Naur old/agent/protect-tool.c new/agent/protect-tool.c
---- old/agent/protect-tool.c 2012-12-08 13:53:17.067611957 +1100
-+++ new/agent/protect-tool.c 2012-12-08 13:53:28.247633012 +1100
-@@ -102,6 +102,7 @@
- static int opt_status_msg;
- static const char *opt_p12_charset;
- static const char *opt_agent_program;
-+static session_env_t opt_session_env;
-
- static char *get_passphrase (int promptno);
- static void release_passphrase (char *pw);
-@@ -1040,6 +1041,7 @@
-
- opt_homedir = default_homedir ();
-
-+ opt_session_env = session_env_new ();
-
- pargs.argc = &argc;
- pargs.argv = &argv;
-@@ -1091,7 +1093,7 @@
- opt.verbose,
- opt_homedir,
- opt_agent_program,
-- NULL, NULL, NULL);
-+ NULL, NULL, opt_session_env);
-
- if (opt_prompt)
- opt_prompt = percent_plus_unescape (opt_prompt, 0);
diff --git a/abs/core/gnutls/PKGBUILD b/abs/core/gnutls/PKGBUILD
index 307d02c..593304a 100644
--- a/abs/core/gnutls/PKGBUILD
+++ b/abs/core/gnutls/PKGBUILD
@@ -3,24 +3,30 @@
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgname=gnutls
-pkgver=3.4.15
+pkgver=3.5.18
pkgrel=1
pkgdesc="A library which provides a secure layer over a reliable transport layer"
-arch=('i686' 'x86_64')
+arch=('x86_64')
license=('GPL3' 'LGPL2.1')
-url="http://www.gnutls.org/"
+url="https://www.gnutls.org/"
options=('!zipman')
-depends=('gcc-libs' 'libtasn1' 'readline' 'zlib' 'nettle' 'p11-kit')
+depends=('gcc-libs' 'libtasn1' 'readline' 'zlib' 'nettle' 'p11-kit' 'libidn' 'libunistring')
checkdepends=('net-tools')
optdepends=('guile: for use with Guile bindings')
-source=(ftp://ftp.gnutls.org/gcrypt/gnutls/v3.4/${pkgname}-${pkgver}.tar.xz{,.sig})
-md5sums=('4ea5b239bd8bf1b734dda02997b36459'
- 'SKIP')
+source=(https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/${pkgname}-${pkgver}.tar.xz{,.sig})
+sha256sums=('ae2248d9e78747cf9c469dde81ff8f90b56838b707a0637f3f7d4eee90e80234'
+ 'SKIP')
validpgpkeys=('0424D4EE81A0E3D119C6F835EDA21E94B565716F'
'1F42418905D8206AA754CCDC29EE58B996865171')
# "Simon Josefsson <simon@josefsson.org>"
# "Nikos Mavrogiannopoulos <nmav@gnutls.org>
+prepare() {
+ cd ${pkgname}-${pkgver}
+ # fix a broken test
+# sed 's/global_init/gnutls_global_init/g' -i tests/trust-store.c
+}
+
build() {
cd ${pkgname}-${pkgver}
@@ -34,6 +40,7 @@ build() {
--enable-openssl-compatibility \
--enable-guile --with-guile-site-dir=no \
--with-default-trust-store-pkcs11="pkcs11:model=p11-kit-trust;manufacturer=PKCS%2311%20Kit"
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
}
diff --git a/abs/core/gpm/PKGBUILD b/abs/core/gpm/PKGBUILD
index cb2cd9b..37fd76e 100644
--- a/abs/core/gpm/PKGBUILD
+++ b/abs/core/gpm/PKGBUILD
@@ -1,24 +1,21 @@
-# $Id: PKGBUILD 197717 2013-10-28 22:26:50Z eric $
+# $Id$
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=gpm
pkgver=1.20.7
-pkgrel=4
+pkgrel=8
pkgdesc="A mouse server for the console and xterm"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://www.nico.schottelius.org/software/gpm/"
license=('GPL')
-depends=('bash')
+depends=('bash' 'procps-ng')
options=('!makeflags')
-install=gpm.install
-source=(http://www.nico.schottelius.org/software/gpm/archives/${pkgname}-${pkgver}.tar.lzma \
- gpm.sh gpm.service)
-sha1sums=('8d9f3655c80ce7667d31ede2a100b44986480369'
- '88fe5ff10916c68a87abc8418a56eb0073f69fa9'
- 'f9bde96eb9c78da9f225bcf40822647f6592cf23')
+source=(http://www.nico.schottelius.org/software/gpm/archives/${pkgname}-${pkgver}.tar.lzma
+ gpm.sh gpm.service gpm-1.20.7-glibc-2.26-1.patch)
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 < ${srcdir}/gpm-1.20.7-glibc-2.26-1.patch || return 1
./autogen.sh
./configure --prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin
make
@@ -35,3 +32,7 @@ package() {
ln -s libgpm.so.2.* libgpm.so
chmod 755 "${pkgdir}"/usr/lib/libgpm.so.*
}
+md5sums=('fa8a6fe09826896625ca557ac5e42ed7'
+ 'd73dd7e579192a58e5af72be206ce3c8'
+ '452cd869cfcc2fd9678f59b3757e4f83'
+ 'b3554e7a64402f87dd72473727dcd32e')
diff --git a/abs/core/gpm/__changelog b/abs/core/gpm/__changelog
new file mode 100644
index 0000000..f81c49f
--- /dev/null
+++ b/abs/core/gpm/__changelog
@@ -0,0 +1 @@
+PKGBUILD: add gpm-1.20.7-glibc-2.26-1.patch
diff --git a/abs/core/gpm/gpm-1.20.7-glibc-2.26-1.patch b/abs/core/gpm/gpm-1.20.7-glibc-2.26-1.patch
new file mode 100644
index 0000000..6f63c27
--- /dev/null
+++ b/abs/core/gpm/gpm-1.20.7-glibc-2.26-1.patch
@@ -0,0 +1,58 @@
+diff -Naur gpm-1.20.7-orig/src/daemon/open_console.c gpm-1.20.7/src/daemon/open_console.c
+--- gpm-1.20.7-orig/src/daemon/open_console.c 2012-10-26 21:21:38.000000000 +0000
++++ gpm-1.20.7/src/daemon/open_console.c 2017-08-08 17:58:15.176232558 +0000
+@@ -23,6 +23,10 @@
+ #include <sys/stat.h> /* stat() */
+ #include <sys/ioctl.h> /* ioctl */
+
++#ifdef HAVE_SYS_SYSMACROS_H
++#include <sys/sysmacros.h> /* major() w/newer glibc */
++#endif
++
+ /* Linux specific (to be outsourced in gpm2 */
+ #include <linux/serial.h> /* for serial console check */
+ #include <asm/ioctls.h> /* for serial console check */
+diff -Naur gpm-1.20.7-orig/src/prog/gpm-root.y gpm-1.20.7/src/prog/gpm-root.y
+--- gpm-1.20.7-orig/src/prog/gpm-root.y 2012-10-26 21:21:38.000000000 +0000
++++ gpm-1.20.7/src/prog/gpm-root.y 2017-08-08 18:00:36.442898559 +0000
+@@ -443,6 +443,7 @@
+ }
+
+ /*---------------------------------------------------------------------*/
++#if 0
+ static int f_debug_one(FILE *f, Draw *draw)
+ {
+ DrawItem *ip;
+@@ -465,6 +466,7 @@
+ #undef LINE
+ return 0;
+ }
++#endif
+
+ int f_debug(int mode, DrawItem *self, int uid)
+ {
+@@ -960,10 +962,8 @@
+ /*------------*/
+ static inline void scr_restore(int fd, FILE *f, unsigned char *buffer, int vc)
+ {
+- int x,y, dumpfd;
++ int dumpfd;
+ char dumpname[20];
+-
+- x=buffer[2]; y=buffer[3];
+
+ /* WILL NOT WORK WITH DEVFS! FIXME! */
+ sprintf(dumpname,"/dev/vcsa%i",vc);
+@@ -1196,11 +1196,7 @@
+ LOG_DAEMON : LOG_USER);
+ /* reap your zombies */
+ childaction.sa_handler=reap_children;
+-#if defined(__GLIBC__)
+- __sigemptyset(&childaction.sa_mask);
+-#else /* __GLIBC__ */
+- childaction.sa_mask=0;
+-#endif /* __GLIBC__ */
++ sigemptyset(&childaction.sa_mask);
+ childaction.sa_flags=SA_INTERRUPT; /* need to break the select() call */
+ sigaction(SIGCHLD,&childaction,NULL);
+
diff --git a/abs/core/gpm/gpm.install b/abs/core/gpm/gpm.install
deleted file mode 100644
index 2a1519a..0000000
--- a/abs/core/gpm/gpm.install
+++ /dev/null
@@ -1,16 +0,0 @@
-infodir=/usr/share/info
-file=gpm.info.gz
-
-post_install() {
- [ -x usr/bin/install-info ] || return 0
- install-info $infodir/$file $infodir/dir 2> /dev/null
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- [ -x usr/bin/install-info ] || return 0
- install-info --delete $infodir/$file $infodir/dir 2> /dev/null
-}
diff --git a/abs/core/gpm/gpm.sh b/abs/core/gpm/gpm.sh
index af35a5f..1aea572 100755
--- a/abs/core/gpm/gpm.sh
+++ b/abs/core/gpm/gpm.sh
@@ -1,3 +1,3 @@
case $( /usr/bin/tty ) in
- /dev/tty[0-9]*) [ -n "$(pgrep gpm)" ] && /usr/bin/disable-paste ;;
+ /dev/tty[0-9]*) [ -n "$(pidof -s gpm)" ] && /usr/bin/disable-paste ;;
esac
diff --git a/abs/core/gssproxy/PKGBUILD b/abs/core/gssproxy/PKGBUILD
new file mode 100644
index 0000000..8270496
--- /dev/null
+++ b/abs/core/gssproxy/PKGBUILD
@@ -0,0 +1,86 @@
+# $Id$
+# Maintainer: AndyRTR <andyrtr@archlinux.org>
+# Contributor: Mantas Mikulėnas <grawity@gmail.com>
+
+pkgname=gssproxy
+pkgver=0.8.0
+pkgrel=1
+pkgdesc="GSSAPI Proxy"
+arch=(x86_64)
+url="https://pagure.io/gssproxy"
+license=('custom: MIT')
+depends=('krb5' 'popt' 'ding-libs')
+makedepends=('popt' 'libxslt' 'systemd' 'docbook-xsl' 'doxygen' 'po4a')
+options=('emptydirs' 'makeflags')
+backup=(etc/gssproxy/{gssproxy,24-nfs-server,80-httpd,99-nfs-client}.conf
+ etc/gss/mech.d/gssproxy.conf)
+source=(https://releases.pagure.org/gssproxy/$pkgname-$pkgver.tar.gz)
+sha512sums=('f3b8f053d6750d7ee6ab2bfb6bfc4dc1ac2e2f354f923590340bb3c522f57cc881df5a2850750bc00c0dcacf2ae173549dc3bb9ece4512cf2f39869527afc2ec')
+
+prepare() {
+ cd "$srcdir/gssproxy-$pkgver"
+ # delete unneeded service dependency
+ sed -i "/# GSSPROXY will not be started until syslog is/d" systemd/gssproxy.service.in
+ sed -i "/^After=syslog.target/d" systemd/gssproxy.service.in
+
+ # see http://pkgs.fedoraproject.org/cgit/nfs-utils.git/tree/nfs-utils.spec creating symlinks
+ # rpc-gssd.service is nfs-secure.service
+ sed -i "s/nfs-secure.service/rpc-gssd.service/" systemd/gssproxy.service.in
+ # rpc.svcgssd is nfs-secure-server.service
+ sed -i "s/nfs-secure-server.service/rpc-svcgssd.service/" systemd/gssproxy.service.in
+
+# autoreconf -vfi
+}
+
+build() {
+ cd gssproxy-$pkgver
+ # make it find bundled verto from krb5 without its own pkg-config file
+ export VERTO_CFLAGS="-I/usr/include"
+ export VERTO_LIBS="-L/usr/lib -lverto"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --with-pubconf-path=/etc/gssproxy \
+ --sbindir=/usr/bin \
+ --localstatedir=/var \
+ --without-selinux \
+ --with-initscript=systemd \
+ --with-gpp-default-behavior=REMOTE_FIRST
+
+#LOCAL_FIRST|LOCAL_ONLY|REMOTE_FIRST|REMOTE_ONLY
+# Which default behavior the gssproxy interposer
+# plugin should use [LOCAL_FIRST]
+#--help
+ make
+}
+
+check() {
+ cd $pkgname-$pkgver
+ make test_proxymech
+}
+
+
+package() {
+ cd gssproxy-$pkgver
+ make DESTDIR=$pkgdir install
+
+ # cleanup empty directories
+ rm -rf $pkgdir/usr/include
+ rm -rf $pkgdir/usr/share/doc
+
+ # install default config files
+ install -m644 examples/gssproxy.conf $pkgdir/etc/gssproxy/gssproxy.conf
+ # nfs services
+ install -m644 examples/24-nfs-server.conf $pkgdir/etc/gssproxy/24-nfs-server.conf
+ install -m644 examples/99-nfs-client.conf $pkgdir/etc/gssproxy/99-nfs-client.conf
+ # httpd service / use Arch UID/GID http/33 (by pkg filesystem)
+ install -m644 examples/80-httpd.conf $pkgdir/etc/gssproxy/80-httpd.conf
+ sed -i -e "s:euid = apache:euid = http:" $pkgdir/etc/gssproxy/80-httpd.conf
+
+ install -Dm644 examples/mech $pkgdir/etc/gss/mech.d/gssproxy.conf
+
+ # FS#51574
+ install -m700 -d ${pkgdir}/var/lib/gssproxy/rcache
+
+ install -m755 -d ${pkgdir}/usr/share/licenses/$pkgname
+ install -m644 COPYING ${pkgdir}/usr/share/licenses/$pkgname/
+}
diff --git a/abs/core/gzip/PKGBUILD b/abs/core/gzip/PKGBUILD
index df04137..7b85e26 100644
--- a/abs/core/gzip/PKGBUILD
+++ b/abs/core/gzip/PKGBUILD
@@ -1,33 +1,48 @@
-# $Id: PKGBUILD 162088 2012-06-19 15:43:54Z allan $
-# Maintainer: Allan McRae <allan@archlinux.org>
+# $Id$
+# Mainainer: Sébastien "Seblu" Luttringer <seblu@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=gzip
-pkgver=1.5
+pkgver=1.9
pkgrel=1
-pkgdesc="GNU compression utility"
-arch=('i686' 'x86_64')
-url="http://www.gnu.org/software/gzip/"
+pkgdesc='GNU compression utility'
+arch=('x86_64')
+url='https://www.gnu.org/software/gzip/'
license=('GPL3')
-groups=('base')
-depends=('glibc' 'bash')
-install=gzip.install
-source=(ftp://ftp.gnu.org/pub/gnu/gzip/gzip-$pkgver.tar.xz{,.sig})
-md5sums=('2a431e169b6f62f7332ef6d47cc53bae'
- '2de95937a3f65137acf9c55d4ad0447a')
+groups=('base' 'base-devel')
+depends=('glibc' 'bash' 'less')
+validpgpkeys=('155D3FC500C834486D1EEA677FD9FCCB000BEEEE') # Jim Meyering
+source=("https://ftp.gnu.org/pub/gnu/gzip/gzip-$pkgver.tar.xz"{,.sig})
+md5sums=('9492c6ccb2239ff679a5475a7bb543ed'
+ 'SKIP')
+prepare() {
+ cd $pkgname-$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 "${srcdir}/${pkgname}-${pkgver}"
+ cd $pkgname-$pkgver
./configure --prefix=/usr
make
}
check() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd $pkgname-$pkgver
make check
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make prefix=${pkgdir}/usr install
+ cd $pkgname-$pkgver
+ make prefix="$pkgdir/usr" install
}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/gzip/gzip.install b/abs/core/gzip/gzip.install
deleted file mode 100644
index 43218d9..0000000
--- a/abs/core/gzip/gzip.install
+++ /dev/null
@@ -1,15 +0,0 @@
-infodir=usr/share/info
-
-post_install() {
- [ -x usr/bin/install-info ] || return 0
- usr/bin/install-info $infodir/gzip.info.gz $infodir/dir 2> /dev/null
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- [ -x usr/bin/install-info ] || return 0
- usr/bin/install-info --delete $infodir/gzip.info.gz $infodir/dir 2> /dev/null
-}
diff --git a/abs/core/imagemagick/PKGBUILD b/abs/core/imagemagick/PKGBUILD
index 4080a3b..fea39d9 100644
--- a/abs/core/imagemagick/PKGBUILD
+++ b/abs/core/imagemagick/PKGBUILD
@@ -2,89 +2,141 @@
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgbase=imagemagick
-pkgname=('imagemagick' 'imagemagick-doc')
-pkgver=6.9.0.0
+pkgname=(libmagick imagemagick imagemagick-doc)
+pkgver=7.0.7.37
pkgrel=1
-arch=('i686' 'x86_64')
-url="http://www.imagemagick.org/"
-license=('custom')
-makedepends=('libltdl' 'lcms2' 'libxt' 'fontconfig' 'libxext' 'ghostscript'
- 'openexr' 'libwmf' 'librsvg' 'libxml2' 'liblqr' 'openjpeg2'
- 'opencl-headers' 'libcl' 'libwebp' 'subversion')
-#source=(http://www.imagemagick.org/download/ImageMagick-${pkgver%.*}-${pkgver##*.}.tar.xz{,.asc}
-source=(ftp://ftp.sunet.se/pub/multimedia/graphics/ImageMagick/ImageMagick-${pkgver%.*}-${pkgver##*.}.tar.xz{,.asc}
- perlmagick.rpath.patch)
-sha1sums=('6bf4263ceaeea61e00fe15a95db320d49bcc48c4'
- 'SKIP'
- 'e143cf9d530fabf3b58023899b5cc544ba93daec')
+pkgdesc="An image viewing/manipulation program"
+url="https://www.imagemagick.org/"
+arch=(x86_64)
+license=(custom)
+depends=(libltdl lcms2 fontconfig libxext liblqr libraqm libpng libxml2)
+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=('c722c6de497991023661e6a2e7605f3c6590a9989a170bdf2661328381a67165'
+ 'SKIP'
+ 'a85b744c61b1b563743ecb7c7adad999d7ed9a8af816650e3ab9321b2b102e73')
+validpgpkeys=(D8272EF51DA223E4D05B466989AB63D48277377A) # Lexie Parsimoniae
+
+shopt -s extglob
prepare() {
- cd ImageMagick-${pkgver%.*}-${pkgver##*.}
- sed '/AC_PATH_XTRA/d' -i configure.ac
- autoreconf --force --install
- patch -p0 -i "${srcdir}/perlmagick.rpath.patch"
+ 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 ImageMagick-${pkgver%.*}-${pkgver##*.}
- [[ $CARCH = "i686" ]] && EXTRAOPTS="--with-gcc-arch=i686"
- [[ $CARCH = "x86_64" ]] && EXTRAOPTS="--with-gcc-arch=x86-64"
-
- ./configure --prefix=/usr --sysconfdir=/etc --with-modules \
- --enable-hdri --with-wmf --with-openexr --with-xml --with-lcms2 \
- --with-webp --with-gslib --with-gs-font-dir=/usr/share/fonts/Type1 \
- --with-perl --with-perl-options="INSTALLDIRS=vendor" --with-lqr --with-rsvg \
- --enable-opencl --with-openjp2 --without-gvc --without-djvu --without-autotrace \
- --without-jbig --without-fpx --without-dps --without-fftw $EXTRAOPTS
+ 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 ImageMagick-${pkgver%.*}-${pkgver##*.}
-# make check
+check() (
+ cd $_tarname
+ ulimit -n 4096
+ make check
+)
+
+package_libmagick() {
+ 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=('!emptydirs' libtool)
+
+ cd $_tarname
+ make DESTDIR="$pkgdir" install
+
+ 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/
+
+# Split docs
+ mv "$pkgdir/usr/share/doc" "$srcdir/docpkg/usr/share/"
}
package_imagemagick() {
- pkgdesc="An image viewing/manipulation program"
- depends=('perl' 'libltdl' 'lcms2' 'libxt' 'fontconfig' 'libxext' 'liblqr' 'libcl')
- optdepends=('imagemagick-doc: for additional information'
- 'ghostscript: for Ghostscript support'
- 'openexr: for OpenEXR support'
- 'openjpeg2: for JP2 support'
- 'libwmf: for WMF support'
- 'librsvg: for SVG support'
- 'libxml2: for XML support'
- 'libpng: for PNG support'
- 'libwebp: for WEBP support')
- backup=("etc/ImageMagick-${pkgver%%.*}/coder.xml"
- "etc/ImageMagick-${pkgver%%.*}/colors.xml"
- "etc/ImageMagick-${pkgver%%.*}/delegates.xml"
- "etc/ImageMagick-${pkgver%%.*}/log.xml"
- "etc/ImageMagick-${pkgver%%.*}/magic.xml"
- "etc/ImageMagick-${pkgver%%.*}/mime.xml"
- "etc/ImageMagick-${pkgver%%.*}/policy.xml"
- "etc/ImageMagick-${pkgver%%.*}/quantization-table.xml"
- "etc/ImageMagick-${pkgver%%.*}/thresholds.xml"
- "etc/ImageMagick-${pkgver%%.*}/type.xml"
- "etc/ImageMagick-${pkgver%%.*}/type-dejavu.xml"
- "etc/ImageMagick-${pkgver%%.*}/type-ghostscript.xml"
- "etc/ImageMagick-${pkgver%%.*}/type-windows.xml")
- options=('!docs' 'libtool' '!emptydirs')
-
- cd ImageMagick-${pkgver%.*}-${pkgver##*.}
- make -j1 DESTDIR="${pkgdir}" install
- install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/imagemagick/LICENSE"
- install -Dm644 NOTICE "${pkgdir}/usr/share/licenses/imagemagick/NOTICE"
-
-#Cleaning
- rm -f "${pkgdir}"/usr/lib/*.la
+ depends=("libmagick=$pkgver-$pkgrel")
+ optdepends=('imagemagick-doc: manual and API docs')
+ 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);')
+# echo $_perlver_min $_perlver_max
+# depends+=("perl>=$_perlver_min" "perl<$_perlver_max")
+#fi
+# template end;
+
+ cd $_tarname
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 LICENSE NOTICE
}
package_imagemagick-doc() {
- pkgdesc="The ImageMagick documentation (utilities manuals and libraries API)"
+ pkgdesc+=" (manual and API docs)"
+ depends=()
+
+ mv docpkg/* "$pkgdir"
- cd ImageMagick-${pkgver%.*}-${pkgver##*.}
- make DESTDIR="${pkgdir}" install-data-html
- install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/imagemagick-doc/LICENSE"
- install -Dm644 NOTICE "${pkgdir}/usr/share/licenses/imagemagick-doc/NOTICE"
+ cd $_tarname
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 LICENSE NOTICE
}
diff --git a/abs/core/imagemagick/arch-fonts.diff b/abs/core/imagemagick/arch-fonts.diff
new file mode 100644
index 0000000..63a547c
--- /dev/null
+++ b/abs/core/imagemagick/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/core/imagemagick/perlmagick.rpath.patch b/abs/core/imagemagick/perlmagick.rpath.patch
deleted file mode 100644
index a5b1a82..0000000
--- a/abs/core/imagemagick/perlmagick.rpath.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- Makefile.in.orig 2013-02-21 03:26:56.785156600 -0500
-+++ Makefile.in 2013-02-21 03:39:03.102411457 -0500
-@@ -10469,6 +10469,8 @@
-
- @WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@$(PERLMAKEFILE): perl-sources $(MAGICKCORE_LIBS) $(MAGICKWAND_LIBS) $(PERLMAKEMAKER)
- @WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@ cd $(PERLMAGICK) && @PERL@ Makefile.PL $(PERL_MAKE_OPTIONS)
-+@WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@ cd $(PERLMAGICK) && @SED@ -i 's|LD_RUN_PATH|DIE_LD_RUN_PATH_DIE|g' Makefile
-+@WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@ cd $(PERLMAGICK) && @SED@ -i 's|LD_RUN_PATH|DIE_LD_RUN_PATH_DIE|g' quantum/Makefile
-
- @WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@install-exec-perl: $(PERLMAKEFILE)
- @WITH_PERL_DYNAMIC_TRUE@@WITH_PERL_TRUE@ ( cd $(PERLMAGICK) && $(MAKE) CC='@CC@' && \
diff --git a/abs/core/imap/1006_openssl1.1_autoverify.patch b/abs/core/imap/1006_openssl1.1_autoverify.patch
new file mode 100644
index 0000000..087e747
--- /dev/null
+++ b/abs/core/imap/1006_openssl1.1_autoverify.patch
@@ -0,0 +1,58 @@
+Description: Support OpenSSL 1.1
+ When building with OpenSSL 1.1 and newer, use the new built-in
+ hostname verification instead of code that doesn't compile due to
+ structs having been made opaque.
+Bug-Debian: https://bugs.debian.org/828589
+
+--- a/src/osdep/unix/ssl_unix.c
++++ b/src/osdep/unix/ssl_unix.c
+@@ -227,8 +227,16 @@ static char *ssl_start_work (SSLSTREAM *
+ /* disable certificate validation? */
+ if (flags & NET_NOVALIDATECERT)
+ SSL_CTX_set_verify (stream->context,SSL_VERIFY_NONE,NIL);
+- else SSL_CTX_set_verify (stream->context,SSL_VERIFY_PEER,ssl_open_verify);
++ else {
++#if OPENSSL_VERSION_NUMBER >= 0x10100000
++ X509_VERIFY_PARAM *param = SSL_CTX_get0_param(stream->context);
++ X509_VERIFY_PARAM_set_hostflags(param, X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS);
++ X509_VERIFY_PARAM_set1_host(param, host, 0);
++#endif
++
++ SSL_CTX_set_verify (stream->context,SSL_VERIFY_PEER,ssl_open_verify);
+ /* set default paths to CAs... */
++ }
+ SSL_CTX_set_default_verify_paths (stream->context);
+ /* ...unless a non-standard path desired */
+ if (s = (char *) mail_parameters (NIL,GET_SSLCAPATH,NIL))
+@@ -266,6 +274,7 @@ static char *ssl_start_work (SSLSTREAM *
+ if (SSL_write (stream->con,"",0) < 0)
+ return ssl_last_error ? ssl_last_error : "SSL negotiation failed";
+ /* need to validate host names? */
++#if OPENSSL_VERSION_NUMBER < 0x10100000
+ if (!(flags & NET_NOVALIDATECERT) &&
+ (err = ssl_validate_cert (cert = SSL_get_peer_certificate (stream->con),
+ host))) {
+@@ -275,6 +284,7 @@ static char *ssl_start_work (SSLSTREAM *
+ sprintf (tmp,"*%.128s: %.255s",err,cert ? cert->name : "???");
+ return ssl_last_error = cpystr (tmp);
+ }
++#endif
+ return NIL;
+ }
+
+@@ -313,6 +323,7 @@ static int ssl_open_verify (int ok,X509_
+ * Returns: NIL if validated, else string of error message
+ */
+
++#if OPENSSL_VERSION_NUMBER < 0x10100000
+ static char *ssl_validate_cert (X509 *cert,char *host)
+ {
+ int i,n;
+@@ -342,6 +353,7 @@ static char *ssl_validate_cert (X509 *ce
+ else ret = "Unable to locate common name in certificate";
+ return ret;
+ }
++#endif
+
+ /* Case-independent wildcard pattern match
+ * Accepts: base string
diff --git a/abs/core/imap/PKGBUILD b/abs/core/imap/PKGBUILD
index cad646c..77219da 100644
--- a/abs/core/imap/PKGBUILD
+++ b/abs/core/imap/PKGBUILD
@@ -3,17 +3,18 @@
pkgbase=imap
pkgname=(imap c-client)
pkgver=2007f
-pkgrel=5
-arch=('i686' 'x86_64')
+pkgrel=9
+arch=('x86_64')
license=('APACHE')
url="http://www.washington.edu/imap"
makedepends=('pam')
-source=("ftp://ftp.cac.washington.edu/imap/${pkgname}-${pkgver}.tar.gz"
- 'c-client-2006k_GENTOO_amd64-so-fix.patch'
+source=("https://www.mirrorservice.org/sites/ftp.cac.washington.edu/imap/${pkgname}-${pkgver}.tar.gz"
+ 'c-client-2006k_GENTOO_amd64-so-fix.patch' '1006_openssl1.1_autoverify.patch'
'imap' 'ipop2' 'ipop3')
options=('staticlibs')
md5sums=('2126fd125ea26b73b20f01fcd5940369'
'7f3937a871edd54203fe51f91423e204'
+ 'cc8cc4df43f73bc144b9a41c55ef5991'
'3ae5b3b333bc8ea2da106f6a97d7bd8d'
'448f988dc5f9bdb2223dcea3abc4f5f1'
'1499b13015075f0aafba04324a6f523a')
@@ -28,35 +29,15 @@ prepare() {
-i src/osdep/unix/Makefile
patch -p1 -i $srcdir/c-client-2006k_GENTOO_amd64-so-fix.patch
+ patch -p1 -i $srcdir/1006_openssl1.1_autoverify.patch
}
build() {
cd $srcdir/$pkgbase-$pkgver
# NOTE: if you wish to enforce SSL, use SSLTYPE=unix.nopwd
- yes "y" | make lnp EXTRAAUTHENTICATORS=gss PASSWDTYPE=pam SPECIALAUTHENTICATORS=ssl SSLTYPE=unix EXTRACFLAGS="${CFLAGS} -fPIC -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lpam"
+ yes "y" | make lnp EXTRAAUTHENTICATORS=gss PASSWDTYPE=pam SPECIALAUTHENTICATORS=ssl SSLTYPE=unix EXTRACFLAGS="${CFLAGS} -fPIC -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lpam" EXTRALDFLAGS="${LDFLAGS}"
- # create ssl certs for secure imap
- for i in imapd ipop3d; do
- PEM1=$srcdir/pem1
- PEM2=$srcdir/pem2
- /usr/bin/openssl req -newkey rsa:1024 -keyout $PEM1 \
- -nodes -x509 -days 365 -out $PEM2 << EOF
---
-SomeState
-SomeCity
-SomeOrganization
-SomeOrganizationalUnit
-localhost.localdomain
-root@localhost.localdomain
-EOF
-
- cat $PEM1 > ${i}.pem
- echo "" >> ${i}.pem
- cat $PEM2 >> ${i}.pem
- rm $PEM1 $PEM2
- umask 022
- done
}
package_imap() {
@@ -64,7 +45,8 @@ package_imap() {
depends=('c-client')
provides=('imap-server' 'pop3-server')
conflicts=('courier-mta' 'courier-imap')
- backup=(etc/xinetd.d/{imap,ipop2,ipop3} etc/ssl/certs/{imapd,ipop3d}.pem)
+ backup=(etc/xinetd.d/{imap,ipop2,ipop3})
+ install=imap.install
cd $srcdir/$pkgbase-$pkgver
install -d $pkgdir/usr/bin
@@ -72,10 +54,6 @@ package_imap() {
install -D -m755 ipopd/ipop2d $pkgdir/usr/bin/ipop2d
install -D -m755 ipopd/ipop3d $pkgdir/usr/bin/ipop3d
- # install certs
- install -D -m600 imapd.pem $pkgdir/etc/ssl/certs/imapd.pem
- install -D -m600 ipop3d.pem $pkgdir/etc/ssl/certs/ipop3d.pem
-
# install xinetd.d configs
install -D -m644 ../imap $pkgdir/etc/xinetd.d/imap
install -D -m644 ../ipop2 $pkgdir/etc/xinetd.d/ipop2
diff --git a/abs/core/imap/imap.install b/abs/core/imap/imap.install
new file mode 100644
index 0000000..1f554a8
--- /dev/null
+++ b/abs/core/imap/imap.install
@@ -0,0 +1,40 @@
+post_install() {
+ if [ ! -e /etc/ssl/certs/imapd.pem ]; then
+ generate_certificate imapd
+ fi
+ if [ ! -e /etc/ssl/certs/ipop3d.pem ]; then
+ generate_certificate ipop3d
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+generate_certificate() {
+ t=$1
+ echo -n "Generating $t certificate..."
+
+ umask 077
+ tmpdir=$(mktemp -d)
+ PEM1="$tmpdir/$t.pem1"
+ PEM2="$tmpdir/$t.pem2"
+ cert="$tmpdir/$t.pem"
+ /usr/bin/openssl req -newkey rsa:4096 -keyout "$PEM1" \
+ -nodes -x509 -days 365 -out "$PEM2" >/dev/null 2>&1 << EOF
+--
+SomeState
+SomeCity
+SomeOrganization
+SomeOrganizationalUnit
+localhost.localdomain
+root@localhost.localdomain
+EOF
+
+ cat "$PEM1" > "$cert"
+ echo "" >> "$cert"
+ cat "$PEM2" >> "$cert"
+ install -Dm 600 "$cert" -t /etc/ssl/certs
+ rm -rf "$tmpdir"
+ echo "done."
+}
diff --git a/abs/core/inetutils/PKGBUILD b/abs/core/inetutils/PKGBUILD
index fd85ed1..f972945 100644
--- a/abs/core/inetutils/PKGBUILD
+++ b/abs/core/inetutils/PKGBUILD
@@ -1,28 +1,28 @@
-# $Id: PKGBUILD 201551 2013-12-14 23:02:04Z eric $
+# $Id$
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=inetutils
-pkgver=1.9.1.341
-pkgrel=2
+pkgver=1.9.4
+pkgrel=5
pkgdesc="A collection of common network programs"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://www.gnu.org/software/inetutils/"
license=('GPL3')
groups=('base')
-depends=('pam')
+depends=('pam' 'libcap')
makedepends=('help2man')
backup=('etc/xinetd.d/telnet' 'etc/xinetd.d/talk'
'etc/xinetd.d/rlogin' 'etc/xinetd.d/rsh'
'etc/pam.d/rlogin' 'etc/pam.d/rsh')
options=('!emptydirs')
install=inetutils.install
-source=(ftp://ftp.archlinux.org/other/packages/inetutils/${pkgname}-${pkgver}.tar.xz{,.sig}
- ftpd.service rlogin.pam rlogin@.service rlogin.socket rlogin.xinetd
- rsh.pam rsh@.service rsh.socket rsh.xinetd talk.service talk.socket talk.xinetd
- telnet@.service telnet.socket telnet.xinetd)
-sha1sums=('eaccc1568c9cc624f6cda3a265fb92ec72c7304d'
+source=("https://ftp.gnu.org/gnu/inetutils/${pkgname}-${pkgver}.tar.xz"{,.sig}
+ 'ftpd.service' 'rlogin.pam' 'rlogin@.service' 'rlogin.socket' 'rlogin.xinetd'
+ 'rsh.pam' 'rsh@.service' 'rsh.socket' 'rsh.xinetd' 'talk.service' 'talk.socket'
+ 'talk.xinetd' 'telnet@.service' 'telnet.socket' 'telnet.xinetd')
+sha1sums=('5e515cc9da142cb73bb1beda137b4c2dcf2b528c'
'SKIP'
- 'aa4730d662398b6c33df2b6fc116ab6b5c3cd120'
+ '026181500b71f0c09ef5c262450be718651e5658'
'387b371cbaa3611b95d30f806c0dd08b621a584a'
'6f9a304391610a17b8ae3ad35b742c78c86aee16'
'0455126fa18d2a9422469d79b9e73dd928b15652'
@@ -37,6 +37,7 @@ sha1sums=('eaccc1568c9cc624f6cda3a265fb92ec72c7304d'
'0917dc6b5a80d914bf550065b1733b7da2c776f3'
'a7ac7bbe917ff80fd8cd4357fbc62fab50595c34'
'2b2dd71eb3233e5090f4c2df8abe9b4924d323f3')
+validpgpkeys=('4FBD67621082C4C502448E3B180551BAD95A3C35')
build() {
cd ${pkgname}-${pkgver}
@@ -67,6 +68,8 @@ package() {
cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
+ chmod -s "${pkgdir}"/usr/bin/{rcp,rlogin,rsh}
+
install -D -m644 "${srcdir}/telnet.xinetd" "${pkgdir}/etc/xinetd.d/telnet"
install -D -m644 "${srcdir}/talk.xinetd" "${pkgdir}/etc/xinetd.d/talk"
install -D -m644 "${srcdir}/rlogin.xinetd" "${pkgdir}/etc/xinetd.d/rlogin"
diff --git a/abs/core/inetutils/ftpd.service b/abs/core/inetutils/ftpd.service
index 3020804..c1deb0d 100644
--- a/abs/core/inetutils/ftpd.service
+++ b/abs/core/inetutils/ftpd.service
@@ -6,7 +6,7 @@ After=network.target
Type=forking
PIDFile=/run/ftpd.pid
ExecStart=/usr/bin/ftpd -D
-ExecStopPost=/bin/rm -f /run/ftpd.pid
+ExecStopPost=/usr/bin/rm -f /run/ftpd.pid
[Install]
WantedBy=multi-user.target
diff --git a/abs/core/inetutils/inetutils.install b/abs/core/inetutils/inetutils.install
index bd2a283..4776e7e 100644
--- a/abs/core/inetutils/inetutils.install
+++ b/abs/core/inetutils/inetutils.install
@@ -1,20 +1,9 @@
-infodir=usr/share/info
-filelist=(inetutils.info.gz)
-
post_install() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file $infodir/dir 2> /dev/null
- done
+ setcap cap_net_bind_service=+ep usr/bin/rcp 2>/dev/null || chmod +s usr/bin/rcp
+ setcap cap_net_bind_service=+ep usr/bin/rlogin 2>/dev/null || chmod +s usr/bin/rlogin
+ setcap cap_net_bind_service=+ep usr/bin/rsh 2>/dev/null || chmod +s usr/bin/rsh
}
post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info --delete $infodir/$file $infodir/dir 2> /dev/null
- done
+ post_install
}
diff --git a/abs/core/iproute2/PKGBUILD b/abs/core/iproute2/PKGBUILD
index 566c75b..e26cafa 100644
--- a/abs/core/iproute2/PKGBUILD
+++ b/abs/core/iproute2/PKGBUILD
@@ -3,27 +3,38 @@
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Judd Vinet <jvinet@zeroflux.org>
-pkgbase=iproute2
-#pkgname=(iproute2 iproute2-doc)
-pkgname=(iproute2)
-pkgver=4.9.0
+pkgname=iproute2
+pkgver=4.15.0
pkgrel=1
pkgdesc='IP Routing Utilities'
-arch=('i686' 'x86_64')
+arch=('x86_64')
license=('GPL2')
-url='http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2'
-#makedepends=('iptables' 'linux-atm' 'linuxdoc-tools' 'texlive-bin' 'texlive-core' 'texlive-latexextra')
-makedepends=('iptables' 'linux-atm')
-options=('staticlibs' '!makeflags')
+url='https://git.kernel.org/pub/scm/network/iproute2/iproute2.git'
+depends=('glibc' 'iptables' 'libelf')
+optdepends=('linux-atm: ATM support')
+groups=('base')
+provides=('iproute')
+# Upstream commit b2fd7a0e6efa7b85a041b5cb9ea6fc1a6a798fd3 removed old documentation.
+# Add conflict and replace to get rid of the package. TODO: Remove anytime soon.
+conflicts=('iproute' 'iproute2-doc')
+replaces=('iproute' 'iproute2-doc')
+backup=('etc/iproute2/ematch_map'
+ 'etc/iproute2/rt_dsfield'
+ 'etc/iproute2/rt_protos'
+ 'etc/iproute2/rt_realms'
+ 'etc/iproute2/rt_scopes'
+ 'etc/iproute2/rt_tables')
+makedepends=('linux-atm')
+options=('staticlibs')
validpgpkeys=('9F6FC345B05BE7E766B83C8F80A77F6095CDE47E') # Stephen Hemminger
-source=("https://www.kernel.org/pub/linux/utils/net/${pkgbase}/${pkgbase}-${pkgver}.tar."{xz,sign}
+source=("https://www.kernel.org/pub/linux/utils/net/${pkgname}/${pkgname}-${pkgver}.tar."{xz,sign}
'0001-make-iproute2-fhs-compliant.patch')
-sha256sums=('c0f30f043f7767cc1b2cd2197b08d4e9b2392c95823fabe30bbce308c30116c4'
+sha256sums=('48d4616a99d7b609b7b795c0ae8ec57099fb0271ed89253e8772c02327798355'
'SKIP'
'f60fefe4c17d3b768824bb50ae6416292bcebba06d73452e23f4147b46b827d3')
prepare() {
- cd "${srcdir}/${pkgbase}-${pkgver}"
+ cd "${srcdir}/${pkgname}-${pkgver}"
# set correct fhs structure
patch -Np1 -i "${srcdir}/0001-make-iproute2-fhs-compliant.patch"
@@ -34,51 +45,19 @@ prepare() {
}
build() {
- cd "${srcdir}/${pkgbase}-${pkgver}"
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure
make
-
-# cd "${srcdir}/${pkgbase}-${pkgver}/doc/"
-
-# make html pdf
}
-package_iproute2() {
- depends=('glibc' 'iptables')
- optdepends=('linux-atm: ATM support')
- groups=('base')
- provides=('iproute')
- conflicts=('iproute')
- replaces=('iproute')
- backup=('etc/iproute2/ematch_map' 'etc/iproute2/rt_dsfield' 'etc/iproute2/rt_protos' \
- 'etc/iproute2/rt_realms' 'etc/iproute2/rt_scopes' 'etc/iproute2/rt_tables')
-
- cd "${srcdir}/${pkgbase}-${pkgver}"
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" SBINDIR="/usr/bin" install
- # remove documentation
- rm -rf "${pkgdir}/usr/share/doc/"
-
# libnetlink isn't installed, install it FS#19385
install -Dm0644 include/libnetlink.h "${pkgdir}/usr/include/libnetlink.h"
install -Dm0644 lib/libnetlink.a "${pkgdir}/usr/lib/libnetlink.a"
}
-package_iproute2-doc() {
- pkgdesc='IP Routing Utilities documentation'
-
- cd "${srcdir}/${pkgbase}-${pkgver}"
-
- make DESTDIR="${pkgdir}" install
-
- # documentation is included in default install target... So clean up here.
- find "${pkgdir}/" ! -type d ! -regex '.*examples.*' -delete
- find "${pkgdir}/" -empty -delete
- find "${pkgdir}/" -name '*.sgml' -delete
- find "${pkgdir}/" -name '*.tex' -delete
-
- install -m0644 doc/*.html doc/*.pdf "${pkgdir}/usr/share/doc/iproute2/"
-}
-
diff --git a/abs/core/iproute2/__changelog b/abs/core/iproute2/__changelog
deleted file mode 100644
index fd3fc81..0000000
--- a/abs/core/iproute2/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: disable iproute2-doc and tex doc deps
diff --git a/abs/core/iputils/PKGBUILD b/abs/core/iputils/PKGBUILD
index 9e017fa..3bc5bf8 100644
--- a/abs/core/iputils/PKGBUILD
+++ b/abs/core/iputils/PKGBUILD
@@ -1,59 +1,50 @@
-# $Id: PKGBUILD 192554 2013-08-14 06:31:20Z tpowa $
+# $Id$
# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Aaron Griffin <aaron@archlinux.org>
pkgname=iputils
-pkgver=20121221
-pkgrel=3
+# Commit date + git rev-parse --short origin/master
+_rev=1f2bb12
+pkgver=20161105.${_rev}
+pkgrel=2
pkgdesc="Network monitoring tools, including ping"
-arch=('i686' 'x86_64')
+arch=('x86_64')
license=('GPL')
url="http://www.skbuff.net/iputils/"
groups=('base')
-depends=('openssl' 'sysfsutils' 'libcap')
+depends=('openssl' 'sysfsutils' 'libcap' 'libidn')
optdepends=('xinetd: for tftpd')
-makedepends=('docbook2x' 'opensp')
+makedepends=('docbook-utils' 'perl-sgmls' 'git')
conflicts=('netkit-base' 'arping' 'netkit-tftpd')
replaces=('netkit-base')
backup=(etc/xinetd.d/tftp)
install=${pkgname}.install
-source=(http://www.skbuff.net/${pkgname}/${pkgname}-s${pkgver}.tar.bz2
+source=("git+https://github.com/iputils/iputils.git#commit=${_rev}"
tftp.xinetd)
-sha1sums=('4d56d8c75d6a5d58f052e4056e975f01ebab9ba9'
+sha1sums=('SKIP'
'fc2ae26f5609725e3f4aeaf4ab82dfa6d2e378fd')
build() {
- cd "${srcdir}/${pkgname}-s${pkgver}"
+ cd "${srcdir}/${pkgname}"
- make USE_GNUTLS=no CCOPTOPT="$CFLAGS"
-
- cd doc
- for file in *.sgml; do
- xf=${file/.sgml/.xml}
- osx -xlower -xno-nl-in-tag $file > $xf || true
- sed -i "s|<refname>\(.*\), \(.*\)</refname>|<refname>\1</refname>, <refname>\2</refname>|g" $xf
- docbook2man $xf
- done
+ make USE_NETTLE=no USE_GNUTLS=no CCOPTOPT="$CFLAGS"
+ # fix perl-sgmls
+ sed -i -e 's#sgmlspl#sgmlspl.pl#g' "${srcdir}/${pkgname}/doc/Makefile"
+ make -C doc man
}
package() {
- cd "${srcdir}/${pkgname}-s${pkgver}"
+ cd "${srcdir}/${pkgname}"
install -dm755 "${pkgdir}"/usr/bin
- install -m755 arping clockdiff rarpd rdisc tftpd tracepath tracepath6 "${pkgdir}"/usr/bin/
-
- install -m755 ping{,6} "${pkgdir}"/usr/bin/
+ install -m755 arping clockdiff ping rarpd rdisc tftpd tracepath "${pkgdir}"/usr/bin/
install -dm755 "${pkgdir}"/usr/share/man/man8
install -m644 doc/{arping,clockdiff,ping,rarpd,rdisc,tftpd,tracepath}.8 \
"${pkgdir}"/usr/share/man/man8/
- cd "${pkgdir}"/usr/share/man/man8
- ln -sf ping.8.gz ping6.8.gz
- ln -sf tracepath.8.gz tracepath6.8.gz
-
# FS#24768
install -dm755 "${pkgdir}"/etc/xinetd.d/
install -m644 "${srcdir}"/tftp.xinetd "${pkgdir}"/etc/xinetd.d/tftp
diff --git a/abs/core/iputils/iputils.install b/abs/core/iputils/iputils.install
index 8e5159e..1684c2e 100644
--- a/abs/core/iputils/iputils.install
+++ b/abs/core/iputils/iputils.install
@@ -1,6 +1,5 @@
post_install() {
setcap cap_net_raw=ep usr/bin/ping 2>/dev/null || chmod +s usr/bin/ping
- setcap cap_net_raw=ep usr/bin/ping6 2>/dev/null || chmod +s usr/bin/ping6
}
post_upgrade() {
diff --git a/abs/core/jade/PKGBUILD b/abs/core/jade/PKGBUILD
deleted file mode 100644
index 1fa51e1..0000000
--- a/abs/core/jade/PKGBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# $Id: PKGBUILD 161891 2012-06-16 05:10:30Z eric $
-# Maintainer:
-# Contributor: dorphell <dorphell@archlinux.org>
-# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
-
-pkgname=jade
-pkgver=1.2.1
-pkgrel=8
-_debpatch=47.1
-pkgdesc="James Clark's DSSSL Engine"
-url='http://www.jclark.com/jade/'
-arch=('i686' 'x86_64')
-license=('custom')
-depends=('gcc-libs')
-replaces=('openjade')
-options=('!libtool' '!makeflags')
-source=("ftp://ftp.jclark.com/pub/${pkgname}/${pkgname}-${pkgver}.tar.gz"
- "http://ftp.debian.org/debian/pool/main/j/jade/jade_${pkgver}-${_debpatch}.diff.gz")
-md5sums=('4239670ca6b578bff68b8c2e7cd1225f'
- '6c9c0109e3b6d283cb7a18ec8a672575')
-
-build() {
- cd "${srcdir}"/${pkgname}-${pkgver}
-
- export CXXFLAGS="$CXXFLAGS -fpermissive"
-
- patch -p1 -i "${srcdir}"/jade_${pkgver}-${_debpatch}.diff
-
- chmod 755 configure
- ./configure --prefix=/usr --enable-default-catalog=/usr/share/sgml/catalog
-
- make
-}
-
-package() {
- cd "${srcdir}"/${pkgname}-${pkgver}
- install -d -m755 "${pkgdir}"/usr/lib
- make prefix="${pkgdir}"/usr install
- mv "${pkgdir}"/usr/bin/sx "${pkgdir}"/usr/bin/sgml2xml
- install -Dm644 COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
-}
diff --git a/abs/core/jade/jade-1.2.1-8.src.tar.gz b/abs/core/jade/jade-1.2.1-8.src.tar.gz
deleted file mode 120000
index cc254e3..0000000
--- a/abs/core/jade/jade-1.2.1-8.src.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/data/pkg_repo/src_packages/jade-1.2.1-8.src.tar.gz \ No newline at end of file
diff --git a/abs/core/krb5/PKGBUILD b/abs/core/krb5/PKGBUILD
index 9fce5eb..4f6f841 100644
--- a/abs/core/krb5/PKGBUILD
+++ b/abs/core/krb5/PKGBUILD
@@ -1,56 +1,52 @@
-# $Id: PKGBUILD 162178 2012-06-22 17:24:25Z stephane $
-# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
pkgname=krb5
-pkgver=1.10.2
-pkgrel=3
-pkgdesc="The Kerberos network authentication system"
-arch=('i686' 'x86_64')
-url="http://web.mit.edu/kerberos/"
+_pkgvermajor=1.16
+pkgver=${_pkgvermajor}
+pkgrel=1
+pkgdesc='The Kerberos network authentication system'
+url='https://web.mit.edu/kerberos/'
+arch=('x86_64')
license=('custom')
depends=('e2fsprogs' 'libldap' 'keyutils')
makedepends=('perl')
backup=('etc/krb5.conf' 'var/lib/krb5kdc/kdc.conf')
-source=(http://web.mit.edu/kerberos/dist/${pkgname}/1.10/${pkgname}-${pkgver}-signed.tar
- krb5-1.10.1-gcc47.patch
- krb5-kadmind
+options=('!emptydirs')
+source=(https://web.mit.edu/kerberos/dist/krb5/${_pkgvermajor}/${pkgname}-${pkgver}.tar.gz{,.asc}
+ krb5-config_LDFLAGS.patch
krb5-kadmind.service
- krb5-kdc
krb5-kdc.service
- krb5-kpropd
krb5-kpropd.service
krb5-kpropd@.service
krb5-kpropd.socket)
-sha1sums=('8b6e2c5bf0c65aacd368b3698add7888f2a7332d'
- '78b759d566b1fdefd9bbcd06df14f07f12effe96'
- '2aa229369079ed1bbb201a1ef72c47bf143f4dbe'
- 'a2a01e7077d9e89cda3457ea0e216debb3dc353c'
- '77d2312ecd8bf12a6e72cc8fd871a8ac93b23393'
- 'f5e4fa073e11b0fcb4e3098a5d58a4f791ec841e'
- '7f402078fa65bb9ff1beb6cbbbb017450df78560'
- '614401dd4ac18e310153240bb26eb32ff1e8cf5b'
- '023a8164f8ee7066ac814486a68bc605e79f6101'
- 'f3677d30dbbd7106c581379c2c6ebb1bf7738912')
-options=('!emptydirs')
+sha512sums=('7e162467b95dad2b6aaa11686d08a00f1cc4eb08247fca8f0e5a8bcaa5f9f7b42cdf00db69c5c6111bdf9eb8063d53cef3bb207ce5d6a287615ca10b710153f9'
+ 'SKIP'
+ '5a3782ff17b383f8cd0415fd13538ab56afd788130d6ad640e9f2682b7deaae7f25713ce358058ed771091040dccf62a3bc87e6fd473d505ec189a95debcc801'
+ 'ae1fa980e8e30a83dfef7fe233be70a9ec530ebaffc344a0e7eba61e7de4c800421b45cf203f1e526cc8351754038d6539184b30aa049a567e2a9e80f0d39841'
+ 'b137ff0154f9af4891e9e78cec692af47ecfd92ca9ce6e00b40ef137d942ba04e8caf483fc5d464b9559ad4a5c4e75ec57b6eab7fc35181115ca1606c0b316c1'
+ 'b57bbe55c19c92a04cd3e8ad569adcc5aedd4246075b2e6dbcc363e523853332a3e7650be85098b91e495799f8b728ea550495ab303f46ccd9298a2260120b2f'
+ 'a31ed42e988fed892dd3f1ca1942c3cd4bf391d894c9cebe5e91f52797392261e129727590ae06e2f727bb7b0f8d73a7aa35e8b983d6bad77f22a099091ee944'
+ '4e7ae175425e0787a1d5ff959471a88bf5af4cd6e213dc6d4048902fab7547c1186a082370b523f9549f5096acfab1fb03b4839e42bd80dc539130ae4bb3ea55')
+validpgpkeys=('2C732B1C0DBEF678AB3AF606A32F17FD0055C305' # Tom Yu <tlyu@mit.edu>
+ 'C4493CB739F4A89F9852CBC20CBA08575F8372DF') # Greg Hudson <ghudson@mit.edu>
-build() {
- tar zxvf ${pkgname}-${pkgver}.tar.gz
- cd "${srcdir}/${pkgname}-${pkgver}/src"
+prepare() {
+ cd ${pkgname}-${pkgver}
- # With gcc47 : deltat.c:1694:12: error: 'yylval' may be used uninitialized
- # in this function [-Werror=maybe-uninitialized]
- # As this is generated code, just ignore the complaint.
- patch -Np2 -i ../../krb5-1.10.1-gcc47.patch
- rm lib/krb5/krb/deltat.c
+ # cf https://bugs.gentoo.org/show_bug.cgi?id=448778
+ patch -p1 < "${srcdir}"/krb5-config_LDFLAGS.patch
- # FS#25384
- sed -i "/KRB5ROOT=/s/\/local//" util/ac_check_krb5.m4
+ # FS#25384
+ sed -i "/KRB5ROOT=/s/\/local//" src/util/ac_check_krb5.m4
+}
+build() {
+ cd ${pkgname}-${pkgver}/src
export CFLAGS+=" -fPIC -fno-strict-aliasing -fstack-protector-all"
export CPPFLAGS+=" -I/usr/include/et"
./configure --prefix=/usr \
- --sbindir=/usr/bin \
- --mandir=/usr/share/man \
+ --sbindir=/usr/bin \
+ --sysconfdir=/etc \
--localstatedir=/var/lib \
--enable-shared \
--with-system-et \
@@ -64,30 +60,24 @@ build() {
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}/src"
+ cd ${pkgname}-${pkgver}/src
make DESTDIR="${pkgdir}" EXAMPLEDIR=/usr/share/doc/${pkgname}/examples install
# Fix FS#29889
- install -m 644 plugins/kdb/ldap/libkdb_ldap/kerberos.{ldif,schema} "${pkgdir}"/usr/share/doc/${pkgname}/examples
-
- # Sample KDC config file
- install -dm 755 "${pkgdir}"/var/lib/krb5kdc
- install -pm 644 config-files/kdc.conf "${pkgdir}"/var/lib/krb5kdc/kdc.conf
+ install -m 644 plugins/kdb/ldap/libkdb_ldap/kerberos.{ldif,schema} \
+ "${pkgdir}/usr/share/doc/${pkgname}/examples"
- # Default configuration file
- install -dm 755 "${pkgdir}"/etc
- install -pm 644 config-files/krb5.conf "${pkgdir}"/etc/krb5.conf
+ install -Dpm 644 config-files/krb5.conf -t "${pkgdir}/etc"
+ install -Dpm 644 config-files/kdc.conf -t "${pkgdir}/var/lib/krb5kdc"
- install -dm 755 "${pkgdir}"/etc/rc.d
- install -m 755 ../../krb5-{kdc,kadmind,kpropd} "${pkgdir}"/etc/rc.d
+ install -Dm 644 util/ac_check_krb5.m4 -t "${pkgdir}/usr/share/aclocal"
- install -dm 755 "${pkgdir}"/usr/share/aclocal
- install -m 644 util/ac_check_krb5.m4 "${pkgdir}"/usr/share/aclocal
-
- install -Dm644 "${srcdir}"/${pkgname}-${pkgver}/NOTICE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+ install -Dm 644 "${srcdir}"/${pkgname}-${pkgver}/NOTICE \
+ "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
# systemd stuff
- install -dm 755 "${pkgdir}"/usr/lib/systemd/system
- install -m 644 ../../krb5-{kadmind.service,kdc.service,kpropd.service,kpropd@.service,kpropd.socket} \
- "${pkgdir}"/usr/lib/systemd/system
+ install -Dm 644 "${srcdir}"/krb5-{kadmind.service,kdc.service,kpropd.service,kpropd@.service,kpropd.socket} \
+ -t "${pkgdir}/usr/lib/systemd/system"
}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/core/krb5/krb5-1.10.1-gcc47.patch b/abs/core/krb5/krb5-1.10.1-gcc47.patch
deleted file mode 100644
index ffd01c2..0000000
--- a/abs/core/krb5/krb5-1.10.1-gcc47.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Naur krb5-1.10.1.ori/src/lib/krb5/krb/x-deltat.y krb5-1.10.1/src/lib/krb5/krb/x-deltat.y
---- krb5-1.10.1.ori/src/lib/krb5/krb/x-deltat.y 2011-09-06 07:34:32.000000000 -0400
-+++ krb5-1.10.1/src/lib/krb5/krb/x-deltat.y 2012-03-24 13:15:11.543551318 -0400
-@@ -44,6 +44,7 @@
- #ifdef __GNUC__
- #pragma GCC diagnostic push
- #pragma GCC diagnostic ignored "-Wuninitialized"
-+#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
- #endif
-
- #include <ctype.h>
diff --git a/abs/core/krb5/krb5-config_LDFLAGS.patch b/abs/core/krb5/krb5-config_LDFLAGS.patch
new file mode 100644
index 0000000..1b85086
--- /dev/null
+++ b/abs/core/krb5/krb5-config_LDFLAGS.patch
@@ -0,0 +1,12 @@
+Bug #448778
+--- krb5-1.11/src/build-tools/krb5-config.in 2012-12-18 02:47:04.000000000 +0000
++++ krb5-1.11/src/build-tools/krb5-config.in 2012-12-28 07:13:16.582693363 +0000
+@@ -217,7 +217,7 @@
+ -e 's#\$(PROG_RPATH)#'$libdir'#' \
+ -e 's#\$(PROG_LIBPATH)#'$libdirarg'#' \
+ -e 's#\$(RPATH_FLAG)#'"$RPATH_FLAG"'#' \
+- -e 's#\$(LDFLAGS)#'"$LDFLAGS"'#' \
++ -e 's#\$(LDFLAGS)##' \
+ -e 's#\$(PTHREAD_CFLAGS)#'"$PTHREAD_CFLAGS"'#' \
+ -e 's#\$(CFLAGS)##'`
+
diff --git a/abs/core/krb5/krb5-kadmind b/abs/core/krb5/krb5-kadmind
deleted file mode 100644
index 04df0dc..0000000
--- a/abs/core/krb5/krb5-kadmind
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/bash
-
-# general config
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-PID=`pidof -o %PPID /usr/sbin/kadmind`
-case "$1" in
- start)
- stat_busy "Starting Kerberos Admin Daemon"
- if [ -z "$PID" ]; then
- /usr/sbin/kadmind
- fi
- if [ ! -z "$PID" -o $? -gt 0 ]; then
- stat_fail
- else
- add_daemon krb5-kadmind
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping Kerberos Admin Daemon"
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon krb5-kadmind
- stat_done
- fi
- ;;
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
- ;;
-esac
-exit 0
diff --git a/abs/core/krb5/krb5-kadmind.service b/abs/core/krb5/krb5-kadmind.service
index f3836c8..4819e0d 100644
--- a/abs/core/krb5/krb5-kadmind.service
+++ b/abs/core/krb5/krb5-kadmind.service
@@ -2,7 +2,7 @@
Description=Kerberos 5 administration server
[Service]
-ExecStart=/usr/sbin/kadmind -nofork
+ExecStart=/usr/bin/kadmind -nofork
[Install]
WantedBy=multi-user.target
diff --git a/abs/core/krb5/krb5-kdc b/abs/core/krb5/krb5-kdc
deleted file mode 100644
index 05a0341..0000000
--- a/abs/core/krb5/krb5-kdc
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/bash
-
-# general config
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-PID=`pidof -o %PPID /usr/sbin/krb5kdc`
-case "$1" in
- start)
- stat_busy "Starting Kerberos Authentication"
- if [ -z "$PID" ]; then
- /usr/sbin/krb5kdc
- fi
- if [ ! -z "$PID" -o $? -gt 0 ]; then
- stat_fail
- else
- add_daemon krb5-kdc
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping Kerberos Authentication"
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon krb5-kdc
- stat_done
- fi
- ;;
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
- ;;
-esac
-exit 0
diff --git a/abs/core/krb5/krb5-kdc.service b/abs/core/krb5/krb5-kdc.service
index 6ec93bb..4918f60 100644
--- a/abs/core/krb5/krb5-kdc.service
+++ b/abs/core/krb5/krb5-kdc.service
@@ -2,7 +2,7 @@
Description=Kerberos 5 KDC
[Service]
-ExecStart=/usr/sbin/krb5kdc -n
+ExecStart=/usr/bin/krb5kdc -n
Restart=always
[Install]
diff --git a/abs/core/krb5/krb5-kpropd b/abs/core/krb5/krb5-kpropd
deleted file mode 100644
index a0077d6..0000000
--- a/abs/core/krb5/krb5-kpropd
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/bash
-
-# general config
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-PID=`pidof -o %PPID /usr/sbin/kpropd`
-case "$1" in
- start)
- stat_busy "Starting Kerberos Database Propagation Daemon"
- if [ -z "$PID" ]; then
- /usr/sbin/kpropd -S
- fi
- if [ ! -z "$PID" -o $? -gt 0 ]; then
- stat_fail
- else
- add_daemon kpropd
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping Kerberos Database Propagation Daemon"
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon kpropd
- stat_done
- fi
- ;;
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
- ;;
-esac
-exit 0
diff --git a/abs/core/krb5/krb5-kpropd.service b/abs/core/krb5/krb5-kpropd.service
index a7c5b57..c6c3224 100644
--- a/abs/core/krb5/krb5-kpropd.service
+++ b/abs/core/krb5/krb5-kpropd.service
@@ -2,7 +2,7 @@
Description=Kerberos 5 propagation server
[Service]
-ExecStart=/usr/sbin/kpropd -S
+ExecStart=/usr/bin/kpropd -S
[Install]
WantedBy=multi-user.target
diff --git a/abs/core/krb5/krb5-kpropd@.service b/abs/core/krb5/krb5-kpropd@.service
index 46f7e36..989270f 100644
--- a/abs/core/krb5/krb5-kpropd@.service
+++ b/abs/core/krb5/krb5-kpropd@.service
@@ -3,6 +3,6 @@ Description=Kerberos 5 propagation server
Conflicts=krb5-kpropd.service
[Service]
-ExecStart=/usr/sbin/kpropd
+ExecStart=/usr/bin/kpropd
StandardInput=socket
StandardError=syslog
diff --git a/abs/core/lame/PKGBUILD b/abs/core/lame/PKGBUILD
index 432a519..3e31dfe 100644
--- a/abs/core/lame/PKGBUILD
+++ b/abs/core/lame/PKGBUILD
@@ -4,19 +4,19 @@
# Contributor: Hugo Doria <hugo@archlinux.org>
pkgname=lame
-pkgver=3.99.5
-pkgrel=2
+pkgver=3.100
+pkgrel=1
pkgdesc="A high quality MPEG Audio Layer III (MP3) encoder"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://lame.sourceforge.net/"
depends=('ncurses')
makedepends=('nasm')
license=('LGPL')
source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz")
-md5sums=('84835b313d4a8b68f5349816d33e07ce')
+md5sums=('83e260acbe4389b54fe08e0bdbf7cddb')
build() {
- cd "$srcdir/$pkgname-$pkgver"
+ cd $pkgname-$pkgver
./configure --prefix=/usr \
--enable-nasm \
@@ -25,9 +25,7 @@ build() {
}
package() {
- cd "$srcdir/$pkgname-$pkgver"
+ cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
}
-
-# vim:set ts=2 sw=2 et:
diff --git a/abs/core/lapack/LICENSE.blas b/abs/core/lapack/LICENSE.blas
deleted file mode 100644
index 79f3838..0000000
--- a/abs/core/lapack/LICENSE.blas
+++ /dev/null
@@ -1,19 +0,0 @@
-From: http://www.netlib.org/blas/faq.html
-
- 2) Are there legal restrictions on the use of BLAS reference
- implementation software?
-
-The reference BLAS is a freely-available software package. It is
-available from netlib via anonymous ftp and the World Wide Web. Thus,
-it can be included in commercial software packages (and has been). We
-only ask that proper credit be given to the authors.
-
-Like all software, it is copyrighted. It is not trademarked, but we do
-ask the following:
-
-If you modify the source for these routines we ask that you change the
-name of the routine and comment the changes made to the original.
-
-We will gladly answer any questions regarding the software. If a
-modification is done, however, it is the responsibility of the person
-who modified the routine to provide support.
diff --git a/abs/core/lapack/Makefile.blas b/abs/core/lapack/Makefile.blas
deleted file mode 100644
index 46b3eeb..0000000
--- a/abs/core/lapack/Makefile.blas
+++ /dev/null
@@ -1,148 +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.3.0 $(ALLOBJ) -lm -lgfortran -lc
diff --git a/abs/core/lapack/Makefile.lapack b/abs/core/lapack/Makefile.lapack
deleted file mode 100644
index 3443d70..0000000
--- a/abs/core/lapack/Makefile.lapack
+++ /dev/null
@@ -1,411 +0,0 @@
-include ../make.inc
-
-#######################################################################
-# This is the makefile to create a library for LAPACK.
-# The files are organized as follows:
-# ALLAUX -- Auxiliary routines called from all precisions
-#
-# SCLAUX -- Auxiliary routines called from both REAL and COMPLEX.
-# DZLAUX -- Auxiliary routines called from both DOUBLE and COMPLEX*16.
-#
-# DSLASRC -- Double-single mixed precision real routines called from
-# single, single-extra and double precision real LAPACK
-# routines (i.e. from SLASRC, SXLASRC, DLASRC).
-# ZCLASRC -- Double-single mixed precision complex routines called from
-# single, single-extra and double precision complex LAPACK
-# routines (i.e. from CLASRC, CXLASRC, ZLASRC).
-#
-# SLASRC -- Single precision real LAPACK routines
-# SXLASRC -- Single precision real LAPACK routines using extra
-# precision.
-# CLASRC -- Single precision complex LAPACK routines
-# CXLASRC -- Single precision complex LAPACK routines using extra
-# precision.
-# DLASRC -- Double precision real LAPACK routines
-# DXLASRC -- Double precision real LAPACK routines using extra
-# precision.
-# ZLASRC -- Double precision complex LAPACK routines
-# ZXLASRC -- Double precision complex LAPACK routines using extra
-# precision.
-#
-# 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
-# Alternatively, the command
-# make
-# without any arguments creates a library of all four precisions.
-# The library is called
-# lapack.a
-# and is created at the next higher directory level.
-#
-# To remove the object files after the library is created, enter
-# make clean
-# On some systems, you can force the source files to be recompiled by
-# entering (for example)
-# make single FRC=FRC
-#
-# ***Note***
-# The functions lsame, second, dsecnd, slamch, and dlamch may have
-# to be installed before compiling the library. Refer to the
-# installation guide, LAPACK Working Note 41, for instructions.
-#
-#######################################################################
-
-ALLAUX = ilaenv.o ieeeck.o lsamen.o xerbla.o xerbla_array.o iparmq.o \
- ilaprec.o ilatrans.o ilauplo.o iladiag.o chla_transtype.o \
- ../INSTALL/ilaver.o ../INSTALL/lsame.o ../INSTALL/slamch.o
-
-SCLAUX = \
- sbdsdc.o \
- sbdsqr.o sdisna.o slabad.o slacpy.o sladiv.o slae2.o slaebz.o \
- slaed0.o slaed1.o slaed2.o slaed3.o slaed4.o slaed5.o slaed6.o \
- slaed7.o slaed8.o slaed9.o slaeda.o slaev2.o slagtf.o \
- slagts.o slamrg.o slanst.o \
- slapy2.o slapy3.o slarnv.o \
- slarra.o slarrb.o slarrc.o slarrd.o slarre.o slarrf.o slarrj.o \
- slarrk.o slarrr.o slaneg.o \
- slartg.o slaruv.o slas2.o slascl.o \
- slasd0.o slasd1.o slasd2.o slasd3.o slasd4.o slasd5.o slasd6.o \
- slasd7.o slasd8.o slasda.o slasdq.o slasdt.o \
- slaset.o slasq1.o slasq2.o slasq3.o slasq4.o slasq5.o slasq6.o \
- slasr.o slasrt.o slassq.o slasv2.o spttrf.o sstebz.o sstedc.o \
- ssteqr.o ssterf.o slaisnan.o sisnan.o \
- slartgp.o slartgs.o \
- ../INSTALL/second_$(TIMER).o
-
-DZLAUX = \
- dbdsdc.o \
- dbdsqr.o ddisna.o dlabad.o dlacpy.o dladiv.o dlae2.o dlaebz.o \
- dlaed0.o dlaed1.o dlaed2.o dlaed3.o dlaed4.o dlaed5.o dlaed6.o \
- dlaed7.o dlaed8.o dlaed9.o dlaeda.o dlaev2.o dlagtf.o \
- dlagts.o dlamrg.o dlanst.o \
- dlapy2.o dlapy3.o dlarnv.o \
- dlarra.o dlarrb.o dlarrc.o dlarrd.o dlarre.o dlarrf.o dlarrj.o \
- dlarrk.o dlarrr.o dlaneg.o \
- dlartg.o dlaruv.o dlas2.o dlascl.o \
- dlasd0.o dlasd1.o dlasd2.o dlasd3.o dlasd4.o dlasd5.o dlasd6.o \
- dlasd7.o dlasd8.o dlasda.o dlasdq.o dlasdt.o \
- dlaset.o dlasq1.o dlasq2.o dlasq3.o dlasq4.o dlasq5.o dlasq6.o \
- dlasr.o dlasrt.o dlassq.o dlasv2.o dpttrf.o dstebz.o dstedc.o \
- dsteqr.o dsterf.o dlaisnan.o disnan.o \
- dlartgp.o dlartgs.o \
- ../INSTALL/dlamch.o ../INSTALL/dsecnd_$(TIMER).o
-
-SLASRC = \
- sgbbrd.o sgbcon.o sgbequ.o sgbrfs.o sgbsv.o \
- sgbsvx.o sgbtf2.o sgbtrf.o sgbtrs.o sgebak.o sgebal.o sgebd2.o \
- sgebrd.o sgecon.o sgeequ.o sgees.o sgeesx.o sgeev.o sgeevx.o \
- sgegs.o sgegv.o sgehd2.o sgehrd.o sgelq2.o sgelqf.o \
- sgels.o sgelsd.o sgelss.o sgelsx.o sgelsy.o sgeql2.o sgeqlf.o \
- sgeqp3.o sgeqpf.o sgeqr2.o sgeqr2p.o sgeqrf.o sgeqrfp.o sgerfs.o \
- sgerq2.o sgerqf.o sgesc2.o sgesdd.o sgesv.o sgesvd.o sgesvx.o \
- sgetc2.o sgetf2.o sgetri.o \
- sggbak.o sggbal.o sgges.o sggesx.o sggev.o sggevx.o \
- sggglm.o sgghrd.o sgglse.o sggqrf.o \
- sggrqf.o sggsvd.o sggsvp.o sgtcon.o sgtrfs.o sgtsv.o \
- sgtsvx.o sgttrf.o sgttrs.o sgtts2.o shgeqz.o \
- shsein.o shseqr.o slabrd.o slacon.o slacn2.o \
- slaein.o slaexc.o slag2.o slags2.o slagtm.o slagv2.o slahqr.o \
- slahrd.o slahr2.o slaic1.o slaln2.o slals0.o slalsa.o slalsd.o \
- slangb.o slange.o slangt.o slanhs.o slansb.o slansp.o \
- slansy.o slantb.o slantp.o slantr.o slanv2.o \
- slapll.o slapmt.o \
- slaqgb.o slaqge.o slaqp2.o slaqps.o slaqsb.o slaqsp.o slaqsy.o \
- slaqr0.o slaqr1.o slaqr2.o slaqr3.o slaqr4.o slaqr5.o \
- slaqtr.o slar1v.o slar2v.o ilaslr.o ilaslc.o \
- slarf.o slarfb.o slarfg.o slarfgp.o slarft.o slarfx.o slargv.o \
- slarrv.o slartv.o \
- slarz.o slarzb.o slarzt.o slaswp.o slasy2.o slasyf.o \
- slatbs.o slatdf.o slatps.o slatrd.o slatrs.o slatrz.o slatzm.o \
- slauu2.o slauum.o sopgtr.o sopmtr.o sorg2l.o sorg2r.o \
- sorgbr.o sorghr.o sorgl2.o sorglq.o sorgql.o sorgqr.o sorgr2.o \
- sorgrq.o sorgtr.o sorm2l.o sorm2r.o \
- sormbr.o sormhr.o sorml2.o sormlq.o sormql.o sormqr.o sormr2.o \
- sormr3.o sormrq.o sormrz.o sormtr.o spbcon.o spbequ.o spbrfs.o \
- spbstf.o spbsv.o spbsvx.o \
- spbtf2.o spbtrf.o spbtrs.o spocon.o spoequ.o sporfs.o sposv.o \
- sposvx.o spotf2.o spotri.o spstrf.o spstf2.o \
- sppcon.o sppequ.o \
- spprfs.o sppsv.o sppsvx.o spptrf.o spptri.o spptrs.o sptcon.o \
- spteqr.o sptrfs.o sptsv.o sptsvx.o spttrs.o sptts2.o srscl.o \
- ssbev.o ssbevd.o ssbevx.o ssbgst.o ssbgv.o ssbgvd.o ssbgvx.o \
- ssbtrd.o sspcon.o sspev.o sspevd.o sspevx.o sspgst.o \
- sspgv.o sspgvd.o sspgvx.o ssprfs.o sspsv.o sspsvx.o ssptrd.o \
- ssptrf.o ssptri.o ssptrs.o sstegr.o sstein.o sstev.o sstevd.o sstevr.o \
- sstevx.o ssycon.o ssyev.o ssyevd.o ssyevr.o ssyevx.o ssygs2.o \
- ssygst.o ssygv.o ssygvd.o ssygvx.o ssyrfs.o ssysv.o ssysvx.o \
- ssytd2.o ssytf2.o ssytrd.o ssytrf.o ssytri.o ssytri2.o ssytri2x.o \
- ssyswapr.o ssytrs.o ssytrs2.o ssyconv.o stbcon.o \
- stbrfs.o stbtrs.o stgevc.o stgex2.o stgexc.o stgsen.o \
- stgsja.o stgsna.o stgsy2.o stgsyl.o stpcon.o stprfs.o stptri.o \
- stptrs.o \
- strcon.o strevc.o strexc.o strrfs.o strsen.o strsna.o strsyl.o \
- strti2.o strtri.o strtrs.o stzrqf.o stzrzf.o sstemr.o \
- slansf.o spftrf.o spftri.o spftrs.o ssfrk.o stfsm.o stftri.o stfttp.o \
- stfttr.o stpttf.o stpttr.o strttf.o strttp.o \
- sgejsv.o sgesvj.o sgsvj0.o sgsvj1.o \
- sgeequb.o ssyequb.o spoequb.o sgbequb.o \
- sbbcsd.o slapmr.o sorbdb.o sorcsd.o \
- sgeqrt.o sgeqrt2.o sgeqrt3.o sgemqrt.o \
- stpqrt.o stpqrt2.o stpmqrt.o stprfb.o
-
-DSLASRC = spotrs.o sgetrs.o spotrf.o sgetrf.o
-
-ifdef USEXBLAS
-SXLASRC = sgesvxx.o sgerfsx.o sla_gerfsx_extended.o sla_geamv.o \
- sla_gercond.o sla_gerpvgrw.o ssysvxx.o ssyrfsx.o \
- sla_syrfsx_extended.o sla_syamv.o sla_syrcond.o sla_syrpvgrw.o \
- sposvxx.o sporfsx.o sla_porfsx_extended.o sla_porcond.o \
- sla_porpvgrw.o sgbsvxx.o sgbrfsx.o sla_gbrfsx_extended.o \
- sla_gbamv.o sla_gbrcond.o sla_gbrpvgrw.o sla_lin_berr.o slarscl2.o \
- slascl2.o sla_wwaddw.o
-endif
-
-CLASRC = \
- cbdsqr.o cgbbrd.o cgbcon.o cgbequ.o cgbrfs.o cgbsv.o cgbsvx.o \
- cgbtf2.o cgbtrf.o cgbtrs.o cgebak.o cgebal.o cgebd2.o cgebrd.o \
- cgecon.o cgeequ.o cgees.o cgeesx.o cgeev.o cgeevx.o \
- cgegs.o cgegv.o cgehd2.o cgehrd.o cgelq2.o cgelqf.o \
- cgels.o cgelsd.o cgelss.o cgelsx.o cgelsy.o cgeql2.o cgeqlf.o cgeqp3.o \
- cgeqpf.o cgeqr2.o cgeqr2p.o cgeqrf.o cgeqrfp.o cgerfs.o \
- cgerq2.o cgerqf.o cgesc2.o cgesdd.o cgesv.o cgesvd.o \
- cgesvx.o cgetc2.o cgetf2.o cgetri.o \
- cggbak.o cggbal.o cgges.o cggesx.o cggev.o cggevx.o cggglm.o \
- cgghrd.o cgglse.o cggqrf.o cggrqf.o \
- cggsvd.o cggsvp.o \
- cgtcon.o cgtrfs.o cgtsv.o cgtsvx.o cgttrf.o cgttrs.o cgtts2.o chbev.o \
- chbevd.o chbevx.o chbgst.o chbgv.o chbgvd.o chbgvx.o chbtrd.o \
- checon.o cheev.o cheevd.o cheevr.o cheevx.o chegs2.o chegst.o \
- chegv.o chegvd.o chegvx.o cherfs.o chesv.o chesvx.o chetd2.o \
- chetf2.o chetrd.o \
- chetrf.o chetri.o chetri2.o chetri2x.o cheswapr.o \
- chetrs.o chetrs2.o chgeqz.o chpcon.o chpev.o chpevd.o \
- chpevx.o chpgst.o chpgv.o chpgvd.o chpgvx.o chprfs.o chpsv.o \
- chpsvx.o \
- chptrd.o chptrf.o chptri.o chptrs.o chsein.o chseqr.o clabrd.o \
- clacgv.o clacon.o clacn2.o clacp2.o clacpy.o clacrm.o clacrt.o cladiv.o \
- claed0.o claed7.o claed8.o \
- claein.o claesy.o claev2.o clags2.o clagtm.o \
- clahef.o clahqr.o \
- clahrd.o clahr2.o claic1.o clals0.o clalsa.o clalsd.o clangb.o clange.o clangt.o \
- clanhb.o clanhe.o \
- clanhp.o clanhs.o clanht.o clansb.o clansp.o clansy.o clantb.o \
- clantp.o clantr.o clapll.o clapmt.o clarcm.o claqgb.o claqge.o \
- claqhb.o claqhe.o claqhp.o claqp2.o claqps.o claqsb.o \
- claqr0.o claqr1.o claqr2.o claqr3.o claqr4.o claqr5.o \
- claqsp.o claqsy.o clar1v.o clar2v.o ilaclr.o ilaclc.o \
- clarf.o clarfb.o clarfg.o clarft.o clarfgp.o \
- clarfx.o clargv.o clarnv.o clarrv.o clartg.o clartv.o \
- clarz.o clarzb.o clarzt.o clascl.o claset.o clasr.o classq.o \
- claswp.o clasyf.o clatbs.o clatdf.o clatps.o clatrd.o clatrs.o clatrz.o \
- clatzm.o clauu2.o clauum.o cpbcon.o cpbequ.o cpbrfs.o cpbstf.o cpbsv.o \
- cpbsvx.o cpbtf2.o cpbtrf.o cpbtrs.o cpocon.o cpoequ.o cporfs.o \
- cposv.o cposvx.o cpotf2.o cpotri.o cpstrf.o cpstf2.o \
- cppcon.o cppequ.o cpprfs.o cppsv.o cppsvx.o cpptrf.o cpptri.o cpptrs.o \
- cptcon.o cpteqr.o cptrfs.o cptsv.o cptsvx.o cpttrf.o cpttrs.o cptts2.o \
- crot.o cspcon.o cspmv.o cspr.o csprfs.o cspsv.o \
- cspsvx.o csptrf.o csptri.o csptrs.o csrscl.o cstedc.o \
- cstegr.o cstein.o csteqr.o csycon.o csymv.o \
- csyr.o csyrfs.o csysv.o csysvx.o csytf2.o csytrf.o csytri.o csytri2.o csytri2x.o \
- csyswapr.o csytrs.o csytrs2.o csyconv.o ctbcon.o ctbrfs.o ctbtrs.o ctgevc.o ctgex2.o \
- ctgexc.o ctgsen.o ctgsja.o ctgsna.o ctgsy2.o ctgsyl.o ctpcon.o \
- ctprfs.o ctptri.o \
- ctptrs.o ctrcon.o ctrevc.o ctrexc.o ctrrfs.o ctrsen.o ctrsna.o \
- ctrsyl.o ctrti2.o ctrtri.o ctrtrs.o ctzrqf.o ctzrzf.o cung2l.o cung2r.o \
- cungbr.o cunghr.o cungl2.o cunglq.o cungql.o cungqr.o cungr2.o \
- cungrq.o cungtr.o cunm2l.o cunm2r.o cunmbr.o cunmhr.o cunml2.o \
- cunmlq.o cunmql.o cunmqr.o cunmr2.o cunmr3.o cunmrq.o cunmrz.o \
- cunmtr.o cupgtr.o cupmtr.o icmax1.o scsum1.o cstemr.o \
- chfrk.o ctfttp.o clanhf.o cpftrf.o cpftri.o cpftrs.o ctfsm.o ctftri.o \
- ctfttr.o ctpttf.o ctpttr.o ctrttf.o ctrttp.o \
- cgeequb.o cgbequb.o csyequb.o cpoequb.o cheequb.o \
- cbbcsd.o clapmr.o cunbdb.o cuncsd.o \
- cgeqrt.o cgeqrt2.o cgeqrt3.o cgemqrt.o \
- ctpqrt.o ctpqrt2.o ctpmqrt.o ctprfb.o
-
-ifdef USEXBLAS
-CXLASRC = cgesvxx.o cgerfsx.o cla_gerfsx_extended.o cla_geamv.o \
- cla_gercond_c.o cla_gercond_x.o cla_gerpvgrw.o \
- csysvxx.o csyrfsx.o cla_syrfsx_extended.o cla_syamv.o \
- cla_syrcond_c.o cla_syrcond_x.o cla_syrpvgrw.o \
- cposvxx.o cporfsx.o cla_porfsx_extended.o \
- cla_porcond_c.o cla_porcond_x.o cla_porpvgrw.o \
- cgbsvxx.o cgbrfsx.o cla_gbrfsx_extended.o cla_gbamv.o \
- cla_gbrcond_c.o cla_gbrcond_x.o cla_gbrpvgrw.o \
- chesvxx.o cherfsx.o cla_herfsx_extended.o cla_heamv.o \
- cla_hercond_c.o cla_hercond_x.o cla_herpvgrw.o \
- cla_lin_berr.o clarscl2.o clascl2.o cla_wwaddw.o
-endif
-
-ZCLASRC = cpotrs.o cgetrs.o cpotrf.o cgetrf.o
-
-DLASRC = \
- dgbbrd.o dgbcon.o dgbequ.o dgbrfs.o dgbsv.o \
- dgbsvx.o dgbtf2.o dgbtrf.o dgbtrs.o dgebak.o dgebal.o dgebd2.o \
- dgebrd.o dgecon.o dgeequ.o dgees.o dgeesx.o dgeev.o dgeevx.o \
- dgegs.o dgegv.o dgehd2.o dgehrd.o dgelq2.o dgelqf.o \
- dgels.o dgelsd.o dgelss.o dgelsx.o dgelsy.o dgeql2.o dgeqlf.o \
- dgeqp3.o dgeqpf.o dgeqr2.o dgeqr2p.o dgeqrf.o dgeqrfp.o dgerfs.o \
- dgerq2.o dgerqf.o dgesc2.o dgesdd.o dgesv.o dgesvd.o dgesvx.o \
- dgetc2.o dgetf2.o dgetrf.o dgetri.o \
- dgetrs.o dggbak.o dggbal.o dgges.o dggesx.o dggev.o dggevx.o \
- dggglm.o dgghrd.o dgglse.o dggqrf.o \
- dggrqf.o dggsvd.o dggsvp.o dgtcon.o dgtrfs.o dgtsv.o \
- dgtsvx.o dgttrf.o dgttrs.o dgtts2.o dhgeqz.o \
- dhsein.o dhseqr.o dlabrd.o dlacon.o dlacn2.o \
- dlaein.o dlaexc.o dlag2.o dlags2.o dlagtm.o dlagv2.o dlahqr.o \
- dlahrd.o dlahr2.o dlaic1.o dlaln2.o dlals0.o dlalsa.o dlalsd.o \
- dlangb.o dlange.o dlangt.o dlanhs.o dlansb.o dlansp.o \
- dlansy.o dlantb.o dlantp.o dlantr.o dlanv2.o \
- dlapll.o dlapmt.o \
- dlaqgb.o dlaqge.o dlaqp2.o dlaqps.o dlaqsb.o dlaqsp.o dlaqsy.o \
- dlaqr0.o dlaqr1.o dlaqr2.o dlaqr3.o dlaqr4.o dlaqr5.o \
- dlaqtr.o dlar1v.o dlar2v.o iladlr.o iladlc.o \
- dlarf.o dlarfb.o dlarfg.o dlarfgp.o dlarft.o dlarfx.o \
- dlargv.o dlarrv.o dlartv.o \
- dlarz.o dlarzb.o dlarzt.o dlaswp.o dlasy2.o dlasyf.o \
- dlatbs.o dlatdf.o dlatps.o dlatrd.o dlatrs.o dlatrz.o dlatzm.o dlauu2.o \
- dlauum.o dopgtr.o dopmtr.o dorg2l.o dorg2r.o \
- dorgbr.o dorghr.o dorgl2.o dorglq.o dorgql.o dorgqr.o dorgr2.o \
- dorgrq.o dorgtr.o dorm2l.o dorm2r.o \
- dormbr.o dormhr.o dorml2.o dormlq.o dormql.o dormqr.o dormr2.o \
- dormr3.o dormrq.o dormrz.o dormtr.o dpbcon.o dpbequ.o dpbrfs.o \
- dpbstf.o dpbsv.o dpbsvx.o \
- dpbtf2.o dpbtrf.o dpbtrs.o dpocon.o dpoequ.o dporfs.o dposv.o \
- dposvx.o dpotf2.o dpotrf.o dpotri.o dpotrs.o dpstrf.o dpstf2.o \
- dppcon.o dppequ.o \
- dpprfs.o dppsv.o dppsvx.o dpptrf.o dpptri.o dpptrs.o dptcon.o \
- dpteqr.o dptrfs.o dptsv.o dptsvx.o dpttrs.o dptts2.o drscl.o \
- dsbev.o dsbevd.o dsbevx.o dsbgst.o dsbgv.o dsbgvd.o dsbgvx.o \
- dsbtrd.o dspcon.o dspev.o dspevd.o dspevx.o dspgst.o \
- dspgv.o dspgvd.o dspgvx.o dsprfs.o dspsv.o dspsvx.o dsptrd.o \
- dsptrf.o dsptri.o dsptrs.o dstegr.o dstein.o dstev.o dstevd.o dstevr.o \
- dstevx.o dsycon.o dsyev.o dsyevd.o dsyevr.o \
- dsyevx.o dsygs2.o dsygst.o dsygv.o dsygvd.o dsygvx.o dsyrfs.o \
- dsysv.o dsysvx.o \
- dsytd2.o dsytf2.o dsytrd.o dsytrf.o dsytri.o dsytri2.o dsytri2x.o \
- dsyswapr.o dsytrs.o dsytrs2.o dsyconv.o dtbcon.o \
- dtbrfs.o dtbtrs.o dtgevc.o dtgex2.o dtgexc.o dtgsen.o \
- dtgsja.o dtgsna.o dtgsy2.o dtgsyl.o dtpcon.o dtprfs.o dtptri.o \
- dtptrs.o \
- dtrcon.o dtrevc.o dtrexc.o dtrrfs.o dtrsen.o dtrsna.o dtrsyl.o \
- dtrti2.o dtrtri.o dtrtrs.o dtzrqf.o dtzrzf.o dstemr.o \
- dsgesv.o dsposv.o dlag2s.o slag2d.o dlat2s.o \
- dlansf.o dpftrf.o dpftri.o dpftrs.o dsfrk.o dtfsm.o dtftri.o dtfttp.o \
- dtfttr.o dtpttf.o dtpttr.o dtrttf.o dtrttp.o \
- dgejsv.o dgesvj.o dgsvj0.o dgsvj1.o \
- dgeequb.o dsyequb.o dpoequb.o dgbequb.o \
- dbbcsd.o dlapmr.o dorbdb.o dorcsd.o \
- dgeqrt.o dgeqrt2.o dgeqrt3.o dgemqrt.o \
- dtpqrt.o dtpqrt2.o dtpmqrt.o dtprfb.o
-
-ifdef USEXBLAS
-DXLASRC = dgesvxx.o dgerfsx.o dla_gerfsx_extended.o dla_geamv.o \
- dla_gercond.o dla_gerpvgrw.o dsysvxx.o dsyrfsx.o \
- dla_syrfsx_extended.o dla_syamv.o dla_syrcond.o dla_syrpvgrw.o \
- dposvxx.o dporfsx.o dla_porfsx_extended.o dla_porcond.o \
- dla_porpvgrw.o dgbsvxx.o dgbrfsx.o dla_gbrfsx_extended.o \
- dla_gbamv.o dla_gbrcond.o dla_gbrpvgrw.o dla_lin_berr.o dlarscl2.o \
- dlascl2.o dla_wwaddw.o
-endif
-
-ZLASRC = \
- zbdsqr.o zgbbrd.o zgbcon.o zgbequ.o zgbrfs.o zgbsv.o zgbsvx.o \
- zgbtf2.o zgbtrf.o zgbtrs.o zgebak.o zgebal.o zgebd2.o zgebrd.o \
- zgecon.o zgeequ.o zgees.o zgeesx.o zgeev.o zgeevx.o \
- zgegs.o zgegv.o zgehd2.o zgehrd.o zgelq2.o zgelqf.o \
- zgels.o zgelsd.o zgelss.o zgelsx.o zgelsy.o zgeql2.o zgeqlf.o zgeqp3.o \
- zgeqpf.o zgeqr2.o zgeqr2p.o zgeqrf.o zgeqrfp.o zgerfs.o zgerq2.o zgerqf.o \
- zgesc2.o zgesdd.o zgesv.o zgesvd.o zgesvx.o zgetc2.o zgetf2.o zgetrf.o \
- zgetri.o zgetrs.o \
- zggbak.o zggbal.o zgges.o zggesx.o zggev.o zggevx.o zggglm.o \
- zgghrd.o zgglse.o zggqrf.o zggrqf.o \
- zggsvd.o zggsvp.o \
- zgtcon.o zgtrfs.o zgtsv.o zgtsvx.o zgttrf.o zgttrs.o zgtts2.o zhbev.o \
- zhbevd.o zhbevx.o zhbgst.o zhbgv.o zhbgvd.o zhbgvx.o zhbtrd.o \
- zhecon.o zheev.o zheevd.o zheevr.o zheevx.o zhegs2.o zhegst.o \
- zhegv.o zhegvd.o zhegvx.o zherfs.o zhesv.o zhesvx.o zhetd2.o \
- zhetf2.o zhetrd.o \
- zhetrf.o zhetri.o zhetri2.o zhetri2x.o zheswapr.o \
- zhetrs.o zhetrs2.o zhgeqz.o zhpcon.o zhpev.o zhpevd.o \
- zhpevx.o zhpgst.o zhpgv.o zhpgvd.o zhpgvx.o zhprfs.o zhpsv.o \
- zhpsvx.o \
- zhptrd.o zhptrf.o zhptri.o zhptrs.o zhsein.o zhseqr.o zlabrd.o \
- zlacgv.o zlacon.o zlacn2.o zlacp2.o zlacpy.o zlacrm.o zlacrt.o zladiv.o \
- zlaed0.o zlaed7.o zlaed8.o \
- zlaein.o zlaesy.o zlaev2.o zlags2.o zlagtm.o \
- zlahef.o zlahqr.o \
- zlahrd.o zlahr2.o zlaic1.o zlals0.o zlalsa.o zlalsd.o zlangb.o zlange.o \
- zlangt.o zlanhb.o \
- zlanhe.o \
- zlanhp.o zlanhs.o zlanht.o zlansb.o zlansp.o zlansy.o zlantb.o \
- zlantp.o zlantr.o zlapll.o zlapmt.o zlaqgb.o zlaqge.o \
- zlaqhb.o zlaqhe.o zlaqhp.o zlaqp2.o zlaqps.o zlaqsb.o \
- zlaqr0.o zlaqr1.o zlaqr2.o zlaqr3.o zlaqr4.o zlaqr5.o \
- zlaqsp.o zlaqsy.o zlar1v.o zlar2v.o ilazlr.o ilazlc.o \
- zlarcm.o zlarf.o zlarfb.o \
- zlarfg.o zlarft.o zlarfgp.o \
- zlarfx.o zlargv.o zlarnv.o zlarrv.o zlartg.o zlartv.o \
- zlarz.o zlarzb.o zlarzt.o zlascl.o zlaset.o zlasr.o \
- zlassq.o zlaswp.o zlasyf.o \
- zlatbs.o zlatdf.o zlatps.o zlatrd.o zlatrs.o zlatrz.o zlatzm.o zlauu2.o \
- zlauum.o zpbcon.o zpbequ.o zpbrfs.o zpbstf.o zpbsv.o \
- zpbsvx.o zpbtf2.o zpbtrf.o zpbtrs.o zpocon.o zpoequ.o zporfs.o \
- zposv.o zposvx.o zpotf2.o zpotrf.o zpotri.o zpotrs.o zpstrf.o zpstf2.o \
- zppcon.o zppequ.o zpprfs.o zppsv.o zppsvx.o zpptrf.o zpptri.o zpptrs.o \
- zptcon.o zpteqr.o zptrfs.o zptsv.o zptsvx.o zpttrf.o zpttrs.o zptts2.o \
- zrot.o zspcon.o zspmv.o zspr.o zsprfs.o zspsv.o \
- zspsvx.o zsptrf.o zsptri.o zsptrs.o zdrscl.o zstedc.o \
- zstegr.o zstein.o zsteqr.o zsycon.o zsymv.o \
- zsyr.o zsyrfs.o zsysv.o zsysvx.o zsytf2.o zsytrf.o zsytri.o zsytri2.o zsytri2x.o \
- zsyswapr.o zsytrs.o zsytrs2.o zsyconv.o ztbcon.o ztbrfs.o ztbtrs.o ztgevc.o ztgex2.o \
- ztgexc.o ztgsen.o ztgsja.o ztgsna.o ztgsy2.o ztgsyl.o ztpcon.o \
- ztprfs.o ztptri.o \
- ztptrs.o ztrcon.o ztrevc.o ztrexc.o ztrrfs.o ztrsen.o ztrsna.o \
- ztrsyl.o ztrti2.o ztrtri.o ztrtrs.o ztzrqf.o ztzrzf.o zung2l.o \
- zung2r.o zungbr.o zunghr.o zungl2.o zunglq.o zungql.o zungqr.o zungr2.o \
- zungrq.o zungtr.o zunm2l.o zunm2r.o zunmbr.o zunmhr.o zunml2.o \
- zunmlq.o zunmql.o zunmqr.o zunmr2.o zunmr3.o zunmrq.o zunmrz.o \
- zunmtr.o zupgtr.o \
- zupmtr.o izmax1.o dzsum1.o zstemr.o \
- zcgesv.o zcposv.o zlag2c.o clag2z.o zlat2c.o \
- zhfrk.o ztfttp.o zlanhf.o zpftrf.o zpftri.o zpftrs.o ztfsm.o ztftri.o \
- ztfttr.o ztpttf.o ztpttr.o ztrttf.o ztrttp.o \
- zgeequb.o zgbequb.o zsyequb.o zpoequb.o zheequb.o \
- zbbcsd.o zlapmr.o zunbdb.o zuncsd.o \
- zgeqrt.o zgeqrt2.o zgeqrt3.o zgemqrt.o \
- ztpqrt.o ztpqrt2.o ztpmqrt.o ztprfb.o
-
-ifdef USEXBLAS
-ZXLASRC = zgesvxx.o zgerfsx.o zla_gerfsx_extended.o zla_geamv.o \
- zla_gercond_c.o zla_gercond_x.o zla_gerpvgrw.o zsysvxx.o zsyrfsx.o \
- zla_syrfsx_extended.o zla_syamv.o zla_syrcond_c.o zla_syrcond_x.o \
- zla_syrpvgrw.o zposvxx.o zporfsx.o zla_porfsx_extended.o \
- zla_porcond_c.o zla_porcond_x.o zla_porpvgrw.o zgbsvxx.o zgbrfsx.o \
- zla_gbrfsx_extended.o zla_gbamv.o zla_gbrcond_c.o zla_gbrcond_x.o \
- zla_gbrpvgrw.o zhesvxx.o zherfsx.o zla_herfsx_extended.o \
- zla_heamv.o zla_hercond_c.o zla_hercond_x.o zla_herpvgrw.o \
- zla_lin_berr.o zlarscl2.o zlascl2.o zla_wwaddw.o
-endif
-
-all: ../$(LAPACKLIB)
-
-ifdef USEXBLAS
-ALLXOBJ=$(SXLASRC) $(DXLASRC) $(CXLASRC) $(ZXLASRC) $(ALLXAUX)
-endif
-
-ALLOBJ=$(SLASRC) $(DLASRC) $(DSLASRC) $(CLASRC) $(ZLASRC) $(ZCLASRC) \
- $(SCLAUX) $(DZLAUX) $(ALLAUX)
-
-clean:
- rm -f *.o liblapack*
-
-static: $(ALLOBJ) $(ALLXOBJ)
- ar ruv liblapack.a $(ALLOBJ)
- ranlib liblapack.a
-
-shared: $(ALLOBJ) $(ALLXOBJ)
- cc $(CFLAGS) -shared -Wl,-soname,liblapack.so.3 -o liblapack.so.3.4.0 $(ALLOBJ) -L.. -lblas -lm -lgfortran -lc
diff --git a/abs/core/lapack/PKGBUILD b/abs/core/lapack/PKGBUILD
deleted file mode 100644
index cef5ff2..0000000
--- a/abs/core/lapack/PKGBUILD
+++ /dev/null
@@ -1,54 +0,0 @@
-# $Id: PKGBUILD 147948 2012-01-28 21:21:33Z 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=lapack
-pkgver=3.4.0
-pkgrel=1
-url="http://www.netlib.org/lapack"
-pkgdesc="Linear Algebra PACKage"
-makedepends=('gcc-fortran')
-depends=("blas=${pkgver}")
-arch=('i686' 'x86_64')
-license=("custom")
-source=(http://www.netlib.org/${pkgname}/${pkgname}-${pkgver}.tgz
- Makefile.lapack)
-sha1sums=('910109a931524f8dcc2734ce23fe927b00ca199f'
- '2bedfe0d778b401b24d1fbf0eb1dc576d374be28')
-
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- cp -f INSTALL/make.inc.gfortran make.inc
- cp -f "${srcdir}/Makefile.lapack" SRC/Makefile
-
- export FC=gfortran
-
- pushd INSTALL
- make clean
- make NOOPT="${CFLAGS/-O?/-O0} -fPIC" OPTS="${CFLAGS} -fPIC"
- popd
- # make sure no files with '_', *vxx.o *vfx.o and *2.O as defined in *ASRC
- # are in OBJS
- pushd SRC
- make clean
-
- make FFLAGS="${CFLAGS} -fPIC" CFLAGS="${CFLAGS} -fPIC" shared
- cp liblapack.so.${pkgver} "${srcdir}/${pkgname}-${pkgver}/"
- popd
-}
-
-package() {
- install -m755 -d "${pkgdir}/usr/lib"
- install -m755 "${srcdir}/${pkgname}-${pkgver}/liblapack.so.${pkgver}" \
- "${pkgdir}/usr/lib/"
- ln -sf liblapack.so.${pkgver} "${pkgdir}/usr/lib/liblapack.so"
- ln -sf liblapack.so.${pkgver} "${pkgdir}/usr/lib/liblapack.so.3"
-
- install -m755 -d "${pkgdir}/usr/share/licenses/lapack"
- install -m644 "${srcdir}/${pkgname}-${pkgver}/LICENSE" \
- "${pkgdir}/usr/share/licenses/lapack/"
-}
-
diff --git a/abs/core/lapack/lapack-3.1.1-make.inc.patch b/abs/core/lapack/lapack-3.1.1-make.inc.patch
deleted file mode 100644
index c807ccb..0000000
--- a/abs/core/lapack/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/core/ldns/PKGBUILD b/abs/core/ldns/PKGBUILD
index 7ed8319..7604cc2 100644
--- a/abs/core/ldns/PKGBUILD
+++ b/abs/core/ldns/PKGBUILD
@@ -4,23 +4,23 @@
# Contributor: jiribb <jiribb@gmail.com>
pkgname=ldns
-pkgver=1.6.17
-pkgrel=3
+pkgver=1.7.0
+pkgrel=4
pkgdesc='Fast DNS library supporting recent RFCs'
-url='http://www.nlnetlabs.nl/projects/ldns/'
+url='https://www.nlnetlabs.nl/projects/ldns/'
license=('custom:BSD')
-arch=('i686' 'x86_64')
+arch=('x86_64')
depends=('openssl' 'dnssec-anchors')
optdepends=('libpcap: ldns-dpa tool')
makedepends=('libpcap')
-source=("http://www.nlnetlabs.nl/downloads/${pkgname}/${pkgname}-${pkgver}.tar.gz"
- 'perl-recent.patch')
-sha1sums=('4218897b3c002aadfc7280b3f40cda829e05c9a4'
- '026b276a360d29b3bd3690293a27178262a0b3dc')
+source=("https://www.nlnetlabs.nl/downloads/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'pc.patch')
+sha256sums=('c19f5b1b4fb374cfe34f4845ea11b1e0551ddc67803bd6ddd5d2a20f0997a6cc'
+ '3586302eed28269c7fa6013785c0a017689aa9d4ff24ff8d7735fa23a3732cb7')
prepare() {
cd "${srcdir}/${pkgname}-${pkgver}"
- patch -p1 -i ../perl-recent.patch
+ patch -p1 -i ../pc.patch
}
build() {
diff --git a/abs/core/ldns/pc.patch b/abs/core/ldns/pc.patch
new file mode 100644
index 0000000..a37b1c3
--- /dev/null
+++ b/abs/core/ldns/pc.patch
@@ -0,0 +1,60 @@
+From 2a38f26ed5695c3ad737de082b56a296240dd51a Mon Sep 17 00:00:00 2001
+From: Willem Toorop <willem@nlnetlabs.nl>
+Date: Thu, 19 Jan 2017 09:41:51 +0100
+Subject: bugfix #1209: make install ldns.pc file
+
+---
+ Changelog | 4 ++++
+ Makefile.in | 16 ++++++++++++++--
+ 2 files changed, 18 insertions(+), 2 deletions(-)
+
+diff --git a/Changelog b/Changelog
+index 0bd3658..efda95e 100644
+--- a/Changelog
++++ b/Changelog
+@@ -1,3 +1,7 @@
++1.7.1 ????-??-??
++ * bugfix #1209: make install ldns.pc file
++ Thanks Oleksandr Natalenko
++
+ 1.7.0 2016-12-20
+ * Fix lookup of relative names in ldns_resolver_search.
+ * bugfix #548: Double free for answers > 4096 in ldns_resolver_send_pkt
+diff --git a/Makefile.in b/Makefile.in
+index 04f683b..853777e 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -308,9 +308,9 @@ clean-p5-dns-ldns: $(p5_dns_ldns_dir)/Makefile
+ test-p5-dns-ldns: $(p5_dns_ldns_dir)/Makefile
+ cd $(p5_dns_ldns_dir); $(MAKE) test
+
+-install: install-h install-lib @INSTALL_CONFIG@ install-manpages $(pyldns_inst) $(pyldnsx_inst) @INSTALL_P5_DNS_LDNS@ @INSTALL_DRILL@ @INSTALL_EXAMPLES@
++install: install-h install-lib install-pc @INSTALL_CONFIG@ install-manpages $(pyldns_inst) $(pyldnsx_inst) @INSTALL_P5_DNS_LDNS@ @INSTALL_DRILL@ @INSTALL_EXAMPLES@
+
+-uninstall: uninstall-manpages @UNINSTALL_CONFIG@ uninstall-h uninstall-lib $(pyldns_uninst) $(pyldnsx_uninst) @UNINSTALL_P5_DNS_LDNS@ @UNINSTALL_DRILL@ @UNINSTALL_EXAMPLES@
++uninstall: uninstall-manpages @UNINSTALL_CONFIG@ uninstall-h uninstall-lib uninstall-pc $(pyldns_uninst) $(pyldnsx_uninst) @UNINSTALL_P5_DNS_LDNS@ @UNINSTALL_DRILL@ @UNINSTALL_EXAMPLES@
+
+ destclean: uninstall
+
+@@ -355,6 +355,18 @@ uninstall-h:
+ test ! -d $(DESTDIR)$(includedir)/ldns || rmdir -p $(DESTDIR)$(includedir)/ldns || echo "ok, dir already gone"
+ exit 0
+
++packaging/libldns.pc: packaging/libldns.pc.in
++ ./config.status $@
++
++install-pc: packaging/libldns.pc
++ $(INSTALL) -m 644 packaging/libldns.pc $(DESTDIR)$(libdir)/pkgconfig/ldns.pc
++
++uninstall-pc:
++ $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/pkgconfig/ldns.pc
++ test ! -d $(DESTDIR)$(libdir)/pkgconfig || rmdir -p $(DESTDIR)$(libdir)/pkgconfig || echo "ok, dir already gone"
++ test ! -d $(DESTDIR)$(libdir) || rmdir -p $(DESTDIR)$(libdir) || echo "ok, dir already gone"
++
++
+ install-lib: lib
+ $(INSTALL) -m 755 -d $(DESTDIR)$(libdir)
+ $(LIBTOOL) --mode=install cp libldns.la $(DESTDIR)$(libdir)
+--
+cgit v0.11.2
+
diff --git a/abs/core/ldns/perl-recent.patch b/abs/core/ldns/perl-recent.patch
deleted file mode 100644
index ddf711c..0000000
--- a/abs/core/ldns/perl-recent.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur old/doc/doxyparse.pl new/doc/doxyparse.pl
---- old/doc/doxyparse.pl 2014-01-11 06:04:41.000000000 +0900
-+++ new/doc/doxyparse.pl 2015-08-08 22:29:34.216889652 +0900
-@@ -273,7 +273,7 @@
-
- print MAN $MAN_MIDDLE;
-
-- if (defined(@$also)) {
-+ if (@$also) {
- print MAN "\n.SH SEE ALSO\n\\fI";
- print MAN join "\\fR, \\fI", @$also;
- print MAN "\\fR.\nAnd ";
diff --git a/abs/core/less/PKGBUILD b/abs/core/less/PKGBUILD
index c833986..a3a080a 100644
--- a/abs/core/less/PKGBUILD
+++ b/abs/core/less/PKGBUILD
@@ -5,10 +5,10 @@
pkgname=less
pkgver=487
-pkgrel=1
+pkgrel=2
pkgdesc='A terminal based program for viewing text files'
license=('GPL3')
-arch=('i686' 'x86_64')
+arch=('x86_64')
url='http://www.greenwoodsoftware.com/less'
groups=('base')
depends=('glibc' 'ncurses' 'pcre')
diff --git a/abs/core/libassuan/PKGBUILD b/abs/core/libassuan/PKGBUILD
index 12e79ce..5bfce59 100644
--- a/abs/core/libassuan/PKGBUILD
+++ b/abs/core/libassuan/PKGBUILD
@@ -1,31 +1,32 @@
-# $Id: PKGBUILD 146745 2012-01-16 22:52:52Z dreisner $
-# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# $Id$
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
pkgname=libassuan
-pkgver=2.0.3
+pkgver=2.5.1
pkgrel=1
-pkgdesc="A IPC library used by some GnuPG related software"
-arch=('i686' 'x86_64')
+pkgdesc='IPC library used by some GnuPG related software'
+url='http://www.gnupg.org/related_software/libassuan/'
+arch=('x86_64')
license=('GPL')
-url="http://www.gnupg.org/related_software/libassuan"
depends=('libgpg-error')
-options=('!libtool')
-source=(ftp://ftp.gnupg.org/gcrypt/$pkgname/$pkgname-$pkgver.tar.bz2)
-install=libassuan.install
+validpgpkeys=('D8692123C4065DEA5E0F3AB5249B39D24F25E3B6') # Werner Koch
+source=("https://gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2"{,.sig})
+sha256sums=('47f96c37b4f2aac289f0bc1bacfa8bd8b4b209a488d3d15e2229cb6cc9b26449'
+ 'SKIP')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
- ./configure --prefix=/usr
- make
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
}
check() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make check
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make check
}
package() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} install
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
}
-md5sums=('179d1918325fdb928c7bd90b8a514fc7')
diff --git a/abs/core/libassuan/libassuan.install b/abs/core/libassuan/libassuan.install
deleted file mode 100644
index 07e2672..0000000
--- a/abs/core/libassuan/libassuan.install
+++ /dev/null
@@ -1,20 +0,0 @@
-infodir=usr/share/info
-filelist=(assuan.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/core/libcaca/PKGBUILD b/abs/core/libcaca/PKGBUILD
index 40bc0ab..4d436eb 100644
--- a/abs/core/libcaca/PKGBUILD
+++ b/abs/core/libcaca/PKGBUILD
@@ -1,27 +1,28 @@
-# $Id: PKGBUILD 71245 2010-03-05 16:17:11Z jgc $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libcaca
-pkgver=0.99.beta17
-pkgrel=2
+pkgver=0.99.beta19
+pkgrel=1
pkgdesc="Color AsCii Art library"
-arch=('i686' 'x86_64')
-license=('LGPL')
-url="http://libcaca.zoy.org/"
-depends=('imlib2' 'ncurses>=5.7')
-options=(!libtool !emptydirs)
+arch=('x86_64')
+license=('custom:WTFPL')
+url="http://caca.zoy.org/wiki/libcaca"
+depends=('imlib2' 'ncurses')
+options=(!emptydirs)
source=(http://libcaca.zoy.org/files/libcaca/${pkgname}-${pkgver}.tar.gz)
-md5sums=('790d6e26b7950e15909fdbeb23a7ea87')
+md5sums=('a3d4441cdef488099f4a92f4c6c1da00')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd $pkgname-$pkgver
./configure --prefix=/usr --mandir=/usr/share/man \
- --enable-shared --disable-doc --disable-java \
- --disable-cxx --disable-gl --disable-csharp || return 1
- make || return 1
+ --enable-shared --disable-doc --disable-java \
+ --disable-cxx --disable-gl --disable-csharp --disable-static
+ make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install || return 1
+ cd $pkgname-$pkgver
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 COPYING "${pkgdir}/usr/share/licenses/libcaca/COPYING"
}
diff --git a/abs/core/libcec/PKGBUILD b/abs/core/libcec/PKGBUILD
index fc0c6c4..23c0a3a 100644
--- a/abs/core/libcec/PKGBUILD
+++ b/abs/core/libcec/PKGBUILD
@@ -4,16 +4,16 @@
# vim: ft=sh:
pkgname=libcec
-pkgver=3.1.0
-pkgrel=2
+pkgver=4.0.2
+pkgrel=1
pkgdesc="Pulse-Eight's libcec for the Pulse-Eight USB-CEC adapter"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://libcec.pulse-eight.com/"
license=('GPL')
makedepends=('cmake')
depends=('udev' 'lockdev' 'p8-platform' 'libxrandr')
source=("$pkgname-$pkgver.tar.gz::https://github.com/Pulse-Eight/$pkgname/archive/$pkgname-$pkgver.tar.gz")
-sha256sums=('09109d21a1b03f42c9e341d12600f2e4c41038d640269fa75408e2d36126f921')
+sha256sums=('b8b8dd31f3ebdd5472f03ab7d401600ea0d959b1288b9ca24bf457ef60e2ba27')
build() {
cd "$pkgname-$pkgname-$pkgver"
diff --git a/abs/core/libdrm/PKGBUILD b/abs/core/libdrm/PKGBUILD
index 964dc57..59dd0ab 100644
--- a/abs/core/libdrm/PKGBUILD
+++ b/abs/core/libdrm/PKGBUILD
@@ -2,20 +2,24 @@
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libdrm
-pkgver=2.4.81
-pkgrel=1
+pkgver=2.4.90
+pkgrel=3
pkgdesc="Userspace interface to kernel DRM services"
-arch=(i686 x86_64)
+url="https://dri.freedesktop.org/"
+arch=(x86_64)
license=('custom')
depends=('libpciaccess')
-makedepends=('valgrind' 'xorg-util-macros' 'libxslt' 'docbook-xsl')
+makedepends=('valgrind' 'libxslt' 'docbook-xsl' 'meson')
checkdepends=('cairo')
replaces=('libdrm-new' 'libdrm-nouveau')
-url="http://dri.freedesktop.org/"
source=(https://dri.freedesktop.org/$pkgname/$pkgname-$pkgver.tar.bz2{,.sig}
+ no-drmdevice-test.diff
+ fix_mistake_in_initial_hole_size_calculation.diff
COPYING)
-sha512sums=('5f7a1524acad59890d3f890bed90a660a424e18a88d587ca356223bde4a7446d1c540f97ec11cb10d2e7ed1b4ae86127957634354a1be6d04199295ab24782e5'
+sha512sums=('3d32d60c44ffdcb58667d0926e6af8d375332add1f243d8b2d37567aeef4e4b26d786294aeecf46c3dea94fc002fb73756567c457300703acfc21e32ffbd458c'
'SKIP'
+ 'f1dd5d8c2270c092ccb8e4f92a0da9ab27706dfa22dcedd3fb2414b968ced9333c8bf62baf0219b822e43dce0d804d1dd5cc27d09b0afe8c01967c1784d4a4bb'
+ '679ba7ef4f29cc4d511d5fbb7b505d8eade4cd3fc16eceaed2d1aa47947ebf31bac113ead5f2a1db8f5626ba290e9e1ffeab28c2abb924d0c85efe816c1201f8'
'b0ca349b882a4326b19f81f22804fabdb6fb7aef31cdc7b16b0a7ae191bfbb50c7daddb2fc4e6c33f1136af06d060a273de36f6f3412ea326f16fa4309fda660')
validpgpkeys=('B97BD6A80CAC4981091AE547FE558C72A67013C3') # Maarten Lankhorst <maarten.lankhorst@canonical.com>
validpgpkeys+=('215DEE688925CCB965BE5DA97C03D7797B6E1AE2') # Damien Lespiau <damien.lespiau@intel.com>
@@ -28,21 +32,31 @@ validpgpkeys+=('3BB639E56F861FA2E86505690FDD682D974CA72A') # Matt Turner <mattst
validpgpkeys+=('C20F5C4490D7D64B4C9A09998CD1DF552975297B') # Robert Bragg <robert@sixbynine.org>
validpgpkeys+=('CD47C5341A375F33BEF7BAFAFDD15D5ACEF0F2B1') # Marek Olšák <maraeo@gmail.com>
validpgpkeys+=('A66D805F7C9329B4C5D82767CCC4F07FAC641EFF') # Daniel Stone <daniels@collabora.com>
+validpgpkeys+=('CFD0E654BCBE5DD2D030D222CFCC297C6D0A120B') # Lucas Stach <l.stach@pengutronix.de>
-build() {
+prepare() {
cd $pkgname-$pkgver
- ./configure --prefix=/usr --enable-udev
- make
+
+ # Fix version
+ sed -i 's/2\.4\.89/2.4.90/' meson.build
+
+ # Fails in a container; autotools skipped this one already
+ patch -Np1 -i ../no-drmdevice-test.diff
+ # FS#57576; fix amdgpu cards
+ patch -Np1 -i ../fix_mistake_in_initial_hole_size_calculation.diff
+}
+
+build() {
+ arch-meson $pkgname-$pkgver build -Dudev=true
+ ninja -C build
}
check() {
- cd $pkgname-$pkgver
- make -k check
+ cd build
+ meson test
}
package() {
- cd $pkgname-$pkgver
- make DESTDIR="$pkgdir" install
- install -m755 -d "$pkgdir/usr/share/licenses/$pkgname"
- install -m644 ../COPYING "$pkgdir/usr/share/licenses/$pkgname/"
+ DESTDIR="$pkgdir" ninja -C build install
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 COPYING
}
diff --git a/abs/core/libdrm/fix_mistake_in_initial_hole_size_calculation.diff b/abs/core/libdrm/fix_mistake_in_initial_hole_size_calculation.diff
new file mode 100644
index 0000000..8998e45
--- /dev/null
+++ b/abs/core/libdrm/fix_mistake_in_initial_hole_size_calculation.diff
@@ -0,0 +1,39 @@
+From 33a2851ab9bc3cd8a68bedf4cf0fdc549b0f3596 Mon Sep 17 00:00:00 2001
+From: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
+Date: Mon, 19 Feb 2018 02:18:36 -0500
+Subject: amdgpu: Fix mistake in initial hole size calculation.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
+Acked-by: Christian König <christian.koenig@amd.com>
+---
+ amdgpu/amdgpu_vamgr.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/amdgpu/amdgpu_vamgr.c b/amdgpu/amdgpu_vamgr.c
+index 722067f..5840042 100644
+--- a/amdgpu/amdgpu_vamgr.c
++++ b/amdgpu/amdgpu_vamgr.c
+@@ -57,7 +57,7 @@ drm_private void amdgpu_vamgr_init(struct amdgpu_bo_va_mgr *mgr, uint64_t start,
+ pthread_mutex_init(&mgr->bo_va_mutex, NULL);
+ pthread_mutex_lock(&mgr->bo_va_mutex);
+ n = calloc(1, sizeof(struct amdgpu_bo_va_hole));
+- n->size = mgr->va_max;
++ n->size = mgr->va_max - start;
+ n->offset = start;
+ list_add(&n->list, &mgr->va_holes);
+ pthread_mutex_unlock(&mgr->bo_va_mutex);
+@@ -80,6 +80,7 @@ amdgpu_vamgr_find_va(struct amdgpu_bo_va_mgr *mgr, uint64_t size,
+ struct amdgpu_bo_va_hole *hole, *n;
+ uint64_t offset = 0, waste = 0;
+
++
+ alignment = MAX2(alignment, mgr->va_alignment);
+ size = ALIGN(size, mgr->va_alignment);
+
+--
+cgit v1.1
+
+
diff --git a/abs/core/libdrm/no-drmdevice-test.diff b/abs/core/libdrm/no-drmdevice-test.diff
new file mode 100644
index 0000000..f60df04
--- /dev/null
+++ b/abs/core/libdrm/no-drmdevice-test.diff
@@ -0,0 +1,9 @@
+diff --git i/tests/meson.build w/tests/meson.build
+index fdf950b7..a6a2f1f1 100644
+--- i/tests/meson.build
++++ w/tests/meson.build
+@@ -83,4 +83,3 @@ drmdevice = executable(
+ test('random', random, timeout : 240)
+ test('hash', hash)
+ test('drmsl', drmsl)
+-test('drmdevice', drmdevice)
diff --git a/abs/core/libedit/PKGBUILD b/abs/core/libedit/PKGBUILD
index 3ea5bbf..40df793 100644
--- a/abs/core/libedit/PKGBUILD
+++ b/abs/core/libedit/PKGBUILD
@@ -1,30 +1,31 @@
-# $Id: PKGBUILD 153493 2012-03-15 00:07:12Z bisson $
+# $Id$
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Maintainer: Vesa Kaihlavirta <vesa@archlinux.org>
# Contributor: Roman Cheplyaka <roma@ro-che.info>
pkgname=libedit
-pkgver=20120311_3.0
+_pkgver=20170329-3.1
+pkgver=${_pkgver/-/_}
pkgrel=1
pkgdesc='Command line editor library providing generic line editing, history, and tokenization functions'
-url='http://www.thrysoee.dk/editline/'
-arch=('i686' 'x86_64')
+url='http://thrysoee.dk/editline/'
+arch=('x86_64')
license=('BSD')
depends=('ncurses')
-options=('!libtool')
-source=("http://www.thrysoee.dk/editline/libedit-${pkgver/_/-}.tar.gz")
-sha1sums=('2a4be10c33af5e3b09c1d3c8829b02fe5b41796b')
+source=("http://thrysoee.dk/editline/libedit-${_pkgver}.tar.gz")
+sha256sums=('91f2d90fbd2a048ff6dad7131d9a39e690fd8a8fd982a353f1333dd4017dd4be')
build() {
- cd "${srcdir}/${pkgname}-${pkgver/_/-}"
- ./configure --prefix=/usr --enable-widec --enable-static=no
+ cd "${srcdir}/${pkgname}-${_pkgver}"
+ ./configure --prefix=/usr --enable-widec
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver/_/-}"
+ cd "${srcdir}/${pkgname}-${_pkgver}"
make prefix="${pkgdir}"/usr install
+ rm "${pkgdir}"/usr/share/man/man3/history.3 # conflicts with readline
cp "${pkgdir}"/usr/share/man/man3/editline.3 "${pkgdir}"/usr/share/man/man3/el.3
install -Dm644 COPYING "${pkgdir}"/usr/share/licenses/libedit/LICENSE
}
diff --git a/abs/core/libevent/PKGBUILD b/abs/core/libevent/PKGBUILD
index a697da6..c7251c5 100644
--- a/abs/core/libevent/PKGBUILD
+++ b/abs/core/libevent/PKGBUILD
@@ -1,34 +1,36 @@
-# $Id: PKGBUILD 159369 2012-05-22 19:07:09Z tomegun $
+# $Id$
# Maintainer: Tom Gundersen <teg@jklm.no>
# Contributor: Judd <jvinet@zeroflux.org>
pkgname=libevent
-pkgver=2.0.19
+pkgver=2.1.8
pkgrel=1
pkgdesc="An event notification library"
-arch=('i686' 'x86_64')
-url="http://www.monkey.org/~provos/libevent/"
+arch=('x86_64')
+url="http://libevent.org/"
license=('BSD')
depends=('openssl')
optdepends=('python2: to use event_rpcgen.py')
-options=('!libtool')
-source=(https://github.com/downloads/${pkgname}/${pkgname}/${pkgname}-$pkgver-stable.tar.gz{,.asc})
+source=(https://github.com/libevent/libevent/releases/download/release-$pkgver-stable/$pkgname-$pkgver-stable.tar.gz{,.asc})
+sha256sums=('965cc5a8bb46ce4199a47e9b2c9e1cae3b137e8356ffdad6d94d3b9069b71dc2'
+ 'SKIP')
+validpgpkeys=('B35BF85BF19489D04E28C33C21194EBB165733EA'
+ '9E3AC83A27974B84D1B3401DB86086848EF8686D')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}-stable"
- sed -i 's#python#python2#' event_rpcgen.py
- ./configure --prefix=/usr --sysconfdir=/etc
+ cd ${pkgname}-${pkgver}-stable
+ ./autogen.sh
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-libevent-regress
make
}
check() {
- cd "${srcdir}/${pkgname}-${pkgver}-stable"
- make check || true # this never worked, should be taken upstream
+ cd ${pkgname}-${pkgver}-stable
+ make -j1 check
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}-stable"
+ cd ${pkgname}-${pkgver}-stable
make DESTDIR="${pkgdir}" install
+ install -Dm 644 LICENSE "${pkgdir}"/usr/share/licenses/libevent/LICENSE
}
-md5sums=('91111579769f46055b0a438f5cc59572'
- 'a211997b20913954f744a665f31f77d2')
diff --git a/abs/core/libgcrypt/PKGBUILD b/abs/core/libgcrypt/PKGBUILD
index e3a887b..aea1f81 100644
--- a/abs/core/libgcrypt/PKGBUILD
+++ b/abs/core/libgcrypt/PKGBUILD
@@ -1,35 +1,53 @@
-# $Id: PKGBUILD 156348 2012-04-17 15:57:54Z andyrtr $
+# $Id$
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# after a .so bump first rebuild dirmngr
+# with sudo testing-x86_64-build -- -I libgcrypt-1.6.0-1-x86_64.pkg.tar.xz
+# then cp /usr/lib/libgcrypt.so.11 /var/lib/archbuild/staging-x86_64/root/usr/lib/ and do staging-x86_64-build
+
pkgname=libgcrypt
-pkgver=1.5.0
-pkgrel=3
-pkgdesc="a general purpose crypto library based on the code used"
-arch=(i686 x86_64)
+pkgver=1.8.2
+pkgrel=1
+pkgdesc="General purpose cryptographic library based on the code from GnuPG"
+arch=(x86_64)
url="http://www.gnupg.org"
license=('LGPL')
-depends=('libgpg-error>=1.10-2')
-options=('!libtool' '!emptydirs')
-install=$pkgname.install
-source=(ftp://ftp.gnupg.org/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2
- #ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/libgcrypt/${pkgname}-${pkgver}.tar.bz2
-)
-sha1sums=('3e776d44375dc1a710560b98ae8437d5da6e32cf')
+depends=('libgpg-error')
+options=('!emptydirs')
+# https://www.gnupg.org/download/integrity_check.html
+source=(https://gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2{,.sig})
+sha1sums=('ab8aae5d7a68f8e0988f90e11e7f6a4805af5c8d'
+ 'SKIP')
+validpgpkeys=('031EC2536E580D8EA286A9F22071B08A33BD3F06' # "NIIBE Yutaka (GnuPG Release Key) <gniibe@fsij.org>"
+ 'D8692123C4065DEA5E0F3AB5249B39D24F25E3B6') # Werner Koch
+options=(!makeflags)
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+ # tests fail due to systemd+libseccomp preventing memory syscalls when building in chroots
+ # t-secmem: line 176: gcry_control (GCRYCTL_INIT_SECMEM, pool_size, 0) failed: General error
+ # FAIL: t-secmem
+ # t-sexp: line 1174: gcry_control (GCRYCTL_INIT_SECMEM, 16384, 0) failed: General error
+ # FAIL: t-sexp
+ sed -i "s:t-secmem::" tests/Makefile.am
+ sed -i "s:t-sexp::" tests/Makefile.am
+ autoreconf -vfi
+}
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr \
--disable-static \
- --disable-padlock-support #$EXTRAFLAGS
+ --disable-padlock-support
make
}
check() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd ${pkgname}-${pkgver}
make check
}
package() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd ${pkgname}-${pkgver}
make DESTDIR=${pkgdir} install
}
diff --git a/abs/core/libgcrypt/libgcrypt.install b/abs/core/libgcrypt/libgcrypt.install
deleted file mode 100644
index 79b8782..0000000
--- a/abs/core/libgcrypt/libgcrypt.install
+++ /dev/null
@@ -1,20 +0,0 @@
-infodir=/usr/share/info
-filelist=(gcrypt.info.gz gcrypt.info-1.gz)
-
-post_install() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file $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 $infodir/dir 2> /dev/null
- done
-}
diff --git a/abs/extra/libglvnd/LICENSE b/abs/core/libglvnd/LICENSE
index 57bc4f4..57bc4f4 100644
--- a/abs/extra/libglvnd/LICENSE
+++ b/abs/core/libglvnd/LICENSE
diff --git a/abs/extra/libglvnd/PKGBUILD b/abs/core/libglvnd/PKGBUILD
index e589b42..e589b42 100644
--- a/abs/extra/libglvnd/PKGBUILD
+++ b/abs/core/libglvnd/PKGBUILD
diff --git a/abs/extra/libglvnd/__changelog b/abs/core/libglvnd/__changelog
index 99dab7b..99dab7b 100644
--- a/abs/extra/libglvnd/__changelog
+++ b/abs/core/libglvnd/__changelog
diff --git a/abs/core/libgpg-error/PKGBUILD b/abs/core/libgpg-error/PKGBUILD
index 5f3d0bb..03e6ea6 100644
--- a/abs/core/libgpg-error/PKGBUILD
+++ b/abs/core/libgpg-error/PKGBUILD
@@ -1,31 +1,34 @@
-# $Id: PKGBUILD 197822 2013-10-30 11:04:47Z allan $
-# Maintainer: judd <jvinet@zeroflux.org>
+# $Id$
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
pkgname=libgpg-error
-pkgver=1.12
+pkgver=1.27
pkgrel=1
pkgdesc="Support library for libgcrypt"
-arch=(i686 x86_64)
-url="http://www.gnupg.org"
+arch=(x86_64)
+url="https://www.gnupg.org"
license=('LGPL')
depends=('glibc' 'sh')
source=(ftp://ftp.gnupg.org/gcrypt/libgpg-error/${pkgname}-${pkgver}.tar.bz2{,.sig})
#ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/libgpg-error/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('259f359cd1440b21840c3a78e852afd549c709b8'
+# https://www.gnupg.org/download/integrity_check.html
+sha1sums=('a428758999ff573e62d06892e3d2c0b0f335787c'
'SKIP')
-
+validpgpkeys=('D8692123C4065DEA5E0F3AB5249B39D24F25E3B6' # Werner Koch
+ '031EC2536E580D8EA286A9F22071B08A33BD3F06') # NIIBE Yutaka (GnuPG Release Key) <gniibe@fsij.org>
build() {
- cd "${srcdir}"/${pkgname}-${pkgver}
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr
make
}
check() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd ${pkgname}-${pkgver}
make check
}
package() {
- cd "${srcdir}"/${pkgname}-${pkgver}
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}/" install
}
diff --git a/abs/core/libgusb/PKGBUILD b/abs/core/libgusb/PKGBUILD
index 4c38e81..62252a9 100644
--- a/abs/core/libgusb/PKGBUILD
+++ b/abs/core/libgusb/PKGBUILD
@@ -1,27 +1,46 @@
-# $Id: PKGBUILD 198178 2013-10-30 13:16:56Z allan $
-# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# $Id$
+# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
pkgname=libgusb
-pkgver=0.1.6
+pkgver=0.2.11
pkgrel=1
-pkgdesc="GLib wrapper around libusb1"
-arch=('i686' 'x86_64')
-url="https://gitorious.org/gusb/"
+pkgdesc='GObject wrapper for libusb1'
+url='https://github.com/hughsie/libgusb'
+arch=('x86_64')
license=('LGPL2.1')
-depends=('udev' 'libusbx')
-makedepends=('gobject-introspection')
-source=(http://people.freedesktop.org/~hughsient/releases/$pkgname-$pkgver.tar.xz)
-sha256sums=('900103ff24a851ef8395b992236ced0aedb4c265ef2264f6ad8349300095198b')
+depends=('glib2' 'glibc' 'libusb')
+makedepends=('git' 'gobject-introspection' 'gtk-doc' 'python2' 'vala')
+_commit='732b49b528cc69bf4c8999e088835ecab9d5c05c'
+source=("git+https://github.com/hughsie/libgusb#commit=$_commit")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd libgusb
+
+ git describe --tags | sed 's/^gusb_//;s/_/./g;s/-/+/g'
+}
+
+prepare() {
+ cd libgusb
+
+ NOCONFIGURE=1 ./autogen.sh
+}
build() {
- cd $pkgname-$pkgver
- ./configure --prefix=/usr --disable-static
+ cd libgusb
+
+ ./configure \
+ --prefix='/usr' \
+ --enable-gtk-doc \
+ --disable-static
make
}
package() {
- cd $pkgname-$pkgver
- make DESTDIR="$pkgdir" install
+ cd libgusb
+
+ make DESTDIR="${pkgdir}" install
}
-# vim:set ts=2 sw=2 et:
+# vim: ts=2 sw=2 et:
diff --git a/abs/core/libidn/PKGBUILD b/abs/core/libidn/PKGBUILD
index 42aaa09..c911e6b 100644
--- a/abs/core/libidn/PKGBUILD
+++ b/abs/core/libidn/PKGBUILD
@@ -1,29 +1,43 @@
-# $Id: PKGBUILD 162005 2012-06-18 08:51:29Z ronald $
+# $Id$
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Jan de Groot <jgc.archlinux.org>
# Contributor: Eric Johnson <eric.archlinux.org>
pkgname=libidn
-pkgver=1.25
-pkgrel=1
+pkgver=1.33
+pkgrel=2
pkgdesc="Implementation of the Stringprep, Punycode and IDNA specifications"
-url="http://www.gnu.org/software/libidn/"
-arch=('i686' 'x86_64')
+url="https://www.gnu.org/software/libidn/"
+arch=('x86_64')
license=('GPL3' 'LGPL')
-depends=('glibc' 'texinfo')
-makedepends=('pkgconfig')
-options=('!libtool')
-source=(http://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz)
-install=libidn.install
-sha1sums=('92e64fd5a6428bda6ade2c3cde475b76455cd7dd')
-
+depends=('glibc')
+source=(https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.sig}
+ gcc7_buildfix.diff)
+sha256sums=('44a7aab635bb721ceef6beecc4d49dfd19478325e1b47f3196f7d2acc4930e19'
+ 'SKIP'
+ '1b539ba3916fe8982d596f4de9a65138ae9a35a042e1673328a092a478b7fb33')
+validpgpkeys=('9AA9BDB11BB1B99A21285A330664A76954265E8C') # "Simon Josefsson <simon@josefsson.org>"
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+ # fix build with gcc7
+ patch -Np1 -i ../gcc7_buildfix.diff
+}
+
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr
make
}
+check() {
+ cd ${pkgname}-${pkgver}
+ make check
+}
package() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd ${pkgname}-${pkgver}
make DESTDIR=${pkgdir} install
+ # doc html installation - gtk-doc isn't supported anymore - FS#55151
+ mkdir -p ${pkgdir}/usr/share/gtk-doc/html/${pkgname}
+ cp -r -v doc/reference/html/* ${pkgdir}/usr/share/gtk-doc/html/${pkgname}
}
diff --git a/abs/core/libidn/gcc7_buildfix.diff b/abs/core/libidn/gcc7_buildfix.diff
new file mode 100644
index 0000000..1ed5b18
--- /dev/null
+++ b/abs/core/libidn/gcc7_buildfix.diff
@@ -0,0 +1,327 @@
+From: Tim Rühsen <tim.ruehsen@gmx.de>
+Date: Wed, 1 Feb 2017 09:44:36 +0000 (+0100)
+Subject: Update intprops.h for gcc-7 compatibility
+X-Git-Url: http://git.savannah.gnu.org/gitweb/?p=libidn.git;a=commitdiff_plain;h=230930b3bc3e431b819eb45420cb42475d83ca93
+
+Update intprops.h for gcc-7 compatibility
+---
+
+diff --git a/gl/intprops.h b/gl/intprops.h
+index e1fce5c..eb06b69 100644
+--- a/gl/intprops.h
++++ b/gl/intprops.h
+@@ -1,18 +1,18 @@
+ /* intprops.h -- properties of integer types
+
+- Copyright (C) 2001-2016 Free Software Foundation, Inc.
++ Copyright (C) 2001-2017 Free Software Foundation, Inc.
+
+ This program 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 3 of the License, or
++ under the terms of the GNU Lesser General Public License as published
++ by the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ This program 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.
++ GNU Lesser General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
++ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+ /* Written by Paul Eggert. */
+@@ -47,12 +47,16 @@
+
+ /* Minimum and maximum values for integer types and expressions. */
+
++/* The width in bits of the integer type or expression T.
++ Padding bits are not supported; this is checked at compile-time below. */
++#define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT)
++
+ /* The maximum and minimum values for the integer type T. */
+ #define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t))
+ #define TYPE_MAXIMUM(t) \
+ ((t) (! TYPE_SIGNED (t) \
+ ? (t) -1 \
+- : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
++ : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1)))
+
+ /* The maximum and minimum values for the type of the expression E,
+ after integer promotion. E should not have side effects. */
+@@ -65,7 +69,13 @@
+ ? _GL_SIGNED_INT_MAXIMUM (e) \
+ : _GL_INT_NEGATE_CONVERT (e, 1))
+ #define _GL_SIGNED_INT_MAXIMUM(e) \
+- (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1)
++ (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH ((e) + 0) - 2)) - 1) * 2 + 1)
++
++/* Work around OpenVMS incompatibility with C99. */
++#if !defined LLONG_MAX && defined __INT64_MAX
++# define LLONG_MAX __INT64_MAX
++# define LLONG_MIN __INT64_MIN
++#endif
+
+ /* This include file assumes that signed types are two's complement without
+ padding bits; the above macros have undefined behavior otherwise.
+@@ -84,10 +94,15 @@ verify (TYPE_MAXIMUM (long int) == LONG_MAX);
+ verify (TYPE_MINIMUM (long long int) == LLONG_MIN);
+ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+ #endif
++/* Similarly, sanity-check one ISO/IEC TS 18661-1:2014 macro if defined. */
++#ifdef UINT_WIDTH
++verify (TYPE_WIDTH (unsigned int) == UINT_WIDTH);
++#endif
+
+ /* Does the __typeof__ keyword work? This could be done by
+ 'configure', but for now it's easier to do it by hand. */
+-#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \
++#if (2 <= __GNUC__ \
++ || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \
+ || (0x5110 <= __SUNPRO_C && !__STDC__))
+ # define _GL_HAVE___TYPEOF__ 1
+ #else
+@@ -116,8 +131,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+ signed, this macro may overestimate the true bound by one byte when
+ applied to unsigned types of size 2, 4, 16, ... bytes. */
+ #define INT_STRLEN_BOUND(t) \
+- (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT \
+- - _GL_SIGNED_TYPE_OR_EXPR (t)) \
++ (INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - _GL_SIGNED_TYPE_OR_EXPR (t)) \
+ + _GL_SIGNED_TYPE_OR_EXPR (t))
+
+ /* Bound on buffer size needed to represent an integer type or expression T,
+@@ -222,20 +236,23 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+ ? (a) < (min) >> (b) \
+ : (max) >> (b) < (a))
+
+-/* True if __builtin_add_overflow (A, B, P) works when P is null. */
+-#define _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL (7 <= __GNUC__)
++/* True if __builtin_add_overflow (A, B, P) works when P is non-null. */
++#define _GL_HAS_BUILTIN_OVERFLOW (5 <= __GNUC__)
++
++/* True if __builtin_add_overflow_p (A, B, C) works. */
++#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__)
+
+ /* The _GL*_OVERFLOW macros have the same restrictions as the
+ *_RANGE_OVERFLOW macros, except that they do not assume that operands
+ (e.g., A and B) have the same type as MIN and MAX. Instead, they assume
+ that the result (e.g., A + B) has that type. */
+-#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
+-# define _GL_ADD_OVERFLOW(a, b, min, max)
+- __builtin_add_overflow (a, b, (__typeof__ ((a) + (b)) *) 0)
+-# define _GL_SUBTRACT_OVERFLOW(a, b, min, max)
+- __builtin_sub_overflow (a, b, (__typeof__ ((a) - (b)) *) 0)
+-# define _GL_MULTIPLY_OVERFLOW(a, b, min, max)
+- __builtin_mul_overflow (a, b, (__typeof__ ((a) * (b)) *) 0)
++#if _GL_HAS_BUILTIN_OVERFLOW_P
++# define _GL_ADD_OVERFLOW(a, b, min, max) \
++ __builtin_add_overflow_p (a, b, (__typeof__ ((a) + (b))) 0)
++# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) \
++ __builtin_sub_overflow_p (a, b, (__typeof__ ((a) - (b))) 0)
++# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) \
++ __builtin_mul_overflow_p (a, b, (__typeof__ ((a) * (b))) 0)
+ #else
+ # define _GL_ADD_OVERFLOW(a, b, min, max) \
+ ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max) \
+@@ -315,7 +332,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+ _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW)
+ #define INT_SUBTRACT_OVERFLOW(a, b) \
+ _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW)
+-#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
++#if _GL_HAS_BUILTIN_OVERFLOW_P
+ # define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a)
+ #else
+ # define INT_NEGATE_OVERFLOW(a) \
+@@ -349,10 +366,6 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+ #define INT_MULTIPLY_WRAPV(a, b, r) \
+ _GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW)
+
+-#ifndef __has_builtin
+-# define __has_builtin(x) 0
+-#endif
+-
+ /* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See:
+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193
+ https://llvm.org/bugs/show_bug.cgi?id=25390
+@@ -369,7 +382,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+ the operation. BUILTIN is the builtin operation, and OVERFLOW the
+ overflow predicate. Return 1 if the result overflows. See above
+ for restrictions. */
+-#if 5 <= __GNUC__ || __has_builtin (__builtin_add_overflow)
++#if _GL_HAS_BUILTIN_OVERFLOW
+ # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r)
+ #elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS
+ # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
+@@ -412,7 +425,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+ # else
+ # define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \
+ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+- long int, LONG_MIN, LONG_MAX))
++ long int, LONG_MIN, LONG_MAX)
+ # endif
+ #endif
+
+diff --git a/lib/gltests/intprops.h b/lib/gltests/intprops.h
+index e1fce5c..eb06b69 100644
+--- a/lib/gltests/intprops.h
++++ b/lib/gltests/intprops.h
+@@ -1,18 +1,18 @@
+ /* intprops.h -- properties of integer types
+
+- Copyright (C) 2001-2016 Free Software Foundation, Inc.
++ Copyright (C) 2001-2017 Free Software Foundation, Inc.
+
+ This program 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 3 of the License, or
++ under the terms of the GNU Lesser General Public License as published
++ by the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ This program 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.
++ GNU Lesser General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
++ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+ /* Written by Paul Eggert. */
+@@ -47,12 +47,16 @@
+
+ /* Minimum and maximum values for integer types and expressions. */
+
++/* The width in bits of the integer type or expression T.
++ Padding bits are not supported; this is checked at compile-time below. */
++#define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT)
++
+ /* The maximum and minimum values for the integer type T. */
+ #define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t))
+ #define TYPE_MAXIMUM(t) \
+ ((t) (! TYPE_SIGNED (t) \
+ ? (t) -1 \
+- : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
++ : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1)))
+
+ /* The maximum and minimum values for the type of the expression E,
+ after integer promotion. E should not have side effects. */
+@@ -65,7 +69,13 @@
+ ? _GL_SIGNED_INT_MAXIMUM (e) \
+ : _GL_INT_NEGATE_CONVERT (e, 1))
+ #define _GL_SIGNED_INT_MAXIMUM(e) \
+- (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1)
++ (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH ((e) + 0) - 2)) - 1) * 2 + 1)
++
++/* Work around OpenVMS incompatibility with C99. */
++#if !defined LLONG_MAX && defined __INT64_MAX
++# define LLONG_MAX __INT64_MAX
++# define LLONG_MIN __INT64_MIN
++#endif
+
+ /* This include file assumes that signed types are two's complement without
+ padding bits; the above macros have undefined behavior otherwise.
+@@ -84,10 +94,15 @@ verify (TYPE_MAXIMUM (long int) == LONG_MAX);
+ verify (TYPE_MINIMUM (long long int) == LLONG_MIN);
+ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+ #endif
++/* Similarly, sanity-check one ISO/IEC TS 18661-1:2014 macro if defined. */
++#ifdef UINT_WIDTH
++verify (TYPE_WIDTH (unsigned int) == UINT_WIDTH);
++#endif
+
+ /* Does the __typeof__ keyword work? This could be done by
+ 'configure', but for now it's easier to do it by hand. */
+-#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \
++#if (2 <= __GNUC__ \
++ || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \
+ || (0x5110 <= __SUNPRO_C && !__STDC__))
+ # define _GL_HAVE___TYPEOF__ 1
+ #else
+@@ -116,8 +131,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+ signed, this macro may overestimate the true bound by one byte when
+ applied to unsigned types of size 2, 4, 16, ... bytes. */
+ #define INT_STRLEN_BOUND(t) \
+- (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT \
+- - _GL_SIGNED_TYPE_OR_EXPR (t)) \
++ (INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - _GL_SIGNED_TYPE_OR_EXPR (t)) \
+ + _GL_SIGNED_TYPE_OR_EXPR (t))
+
+ /* Bound on buffer size needed to represent an integer type or expression T,
+@@ -222,20 +236,23 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+ ? (a) < (min) >> (b) \
+ : (max) >> (b) < (a))
+
+-/* True if __builtin_add_overflow (A, B, P) works when P is null. */
+-#define _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL (7 <= __GNUC__)
++/* True if __builtin_add_overflow (A, B, P) works when P is non-null. */
++#define _GL_HAS_BUILTIN_OVERFLOW (5 <= __GNUC__)
++
++/* True if __builtin_add_overflow_p (A, B, C) works. */
++#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__)
+
+ /* The _GL*_OVERFLOW macros have the same restrictions as the
+ *_RANGE_OVERFLOW macros, except that they do not assume that operands
+ (e.g., A and B) have the same type as MIN and MAX. Instead, they assume
+ that the result (e.g., A + B) has that type. */
+-#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
+-# define _GL_ADD_OVERFLOW(a, b, min, max)
+- __builtin_add_overflow (a, b, (__typeof__ ((a) + (b)) *) 0)
+-# define _GL_SUBTRACT_OVERFLOW(a, b, min, max)
+- __builtin_sub_overflow (a, b, (__typeof__ ((a) - (b)) *) 0)
+-# define _GL_MULTIPLY_OVERFLOW(a, b, min, max)
+- __builtin_mul_overflow (a, b, (__typeof__ ((a) * (b)) *) 0)
++#if _GL_HAS_BUILTIN_OVERFLOW_P
++# define _GL_ADD_OVERFLOW(a, b, min, max) \
++ __builtin_add_overflow_p (a, b, (__typeof__ ((a) + (b))) 0)
++# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) \
++ __builtin_sub_overflow_p (a, b, (__typeof__ ((a) - (b))) 0)
++# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) \
++ __builtin_mul_overflow_p (a, b, (__typeof__ ((a) * (b))) 0)
+ #else
+ # define _GL_ADD_OVERFLOW(a, b, min, max) \
+ ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max) \
+@@ -315,7 +332,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+ _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW)
+ #define INT_SUBTRACT_OVERFLOW(a, b) \
+ _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW)
+-#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
++#if _GL_HAS_BUILTIN_OVERFLOW_P
+ # define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a)
+ #else
+ # define INT_NEGATE_OVERFLOW(a) \
+@@ -349,10 +366,6 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+ #define INT_MULTIPLY_WRAPV(a, b, r) \
+ _GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW)
+
+-#ifndef __has_builtin
+-# define __has_builtin(x) 0
+-#endif
+-
+ /* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See:
+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193
+ https://llvm.org/bugs/show_bug.cgi?id=25390
+@@ -369,7 +382,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+ the operation. BUILTIN is the builtin operation, and OVERFLOW the
+ overflow predicate. Return 1 if the result overflows. See above
+ for restrictions. */
+-#if 5 <= __GNUC__ || __has_builtin (__builtin_add_overflow)
++#if _GL_HAS_BUILTIN_OVERFLOW
+ # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r)
+ #elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS
+ # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
+@@ -412,7 +425,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
+ # else
+ # define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \
+ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
+- long int, LONG_MIN, LONG_MAX))
++ long int, LONG_MIN, LONG_MAX)
+ # endif
+ #endif
+
+
diff --git a/abs/core/libidn/libidn.install b/abs/core/libidn/libidn.install
deleted file mode 100644
index a0366eb..0000000
--- a/abs/core/libidn/libidn.install
+++ /dev/null
@@ -1,19 +0,0 @@
-info_dir=/usr/share/info
-info_files=(libidn.info)
-
-post_install() {
- for f in ${info_files[@]}; do
- install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
- done
-}
-
-post_upgrade() {
- post_install
-}
-
-pre_remove() {
- for f in ${info_files[@]}; do
- install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
- done
-}
-
diff --git a/abs/core/libidn2/PKGBUILD b/abs/core/libidn2/PKGBUILD
new file mode 100644
index 0000000..c0a1a25
--- /dev/null
+++ b/abs/core/libidn2/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id$
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: Daurnimator <quae@daurnimator.com>
+
+pkgname=libidn2
+pkgver=2.0.4
+pkgrel=2
+pkgdesc="Free software implementation of IDNA2008, Punycode and TR46"
+arch=('x86_64')
+url="https://www.gnu.org/software/libidn/#libidn2"
+license=('GPL2' 'LGPL3')
+depends=('libunistring')
+makedepends=('gtk-doc' 'ruby-ronn')
+source=(https://ftp.gnu.org/gnu/libidn/$pkgname-$pkgver.tar.gz{,.sig})
+sha256sums=('644b6b03b285fb0ace02d241d59483d98bc462729d8bb3608d5cad5532f3d2f0'
+ 'SKIP')
+validpgpkeys=('1CB27DBC98614B2D5841646D08302DB6A2670428')
+
+prepare() {
+ cd $pkgname-$pkgver
+ # https://gitlab.com/libidn/libidn2/issues/39
+ autoreconf -fvi
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd $pkgname-$pkgver
+ make check
+}
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/libksba/PKGBUILD b/abs/core/libksba/PKGBUILD
index 505a606..fc40a23 100644
--- a/abs/core/libksba/PKGBUILD
+++ b/abs/core/libksba/PKGBUILD
@@ -1,19 +1,19 @@
-# $Id: PKGBUILD 149815 2012-02-11 07:14:25Z tpowa $
-# Maintainer: damir <damir@archlinux.org>
+# $Id$
+# Maintainer:
# Contributor: Damir Perisa <damir.perisa@bluewin.ch>
pkgname=libksba
-pkgver=1.2.0
-pkgrel=2
+pkgver=1.3.5
+pkgrel=1
pkgdesc="A CMS and X.509 access library"
-arch=(i686 x86_64)
+arch=(x86_64)
license=('GPL')
-url="ftp://ftp.gnupg.org/gcrypt/alpha/libksba"
+url="https://www.gnupg.org/related_software/libksba/index.html"
depends=('bash' 'libgpg-error' 'glibc')
-source=(ftp://ftp.gnupg.org/gcrypt/$pkgname/$pkgname-$pkgver.tar.bz2)
-options=(!libtool)
-install=libksba.install
-
+source=(https://www.gnupg.org/ftp/gcrypt/$pkgname/$pkgname-$pkgver.tar.bz2{,.sig})
+sha1sums=('a98385734a0c3f5b713198e8d6e6e4aeb0b76fde'
+ 'SKIP')
+validpgpkeys=('D8692123C4065DEA5E0F3AB5249B39D24F25E3B6') # Werner Koch
build() {
cd $srcdir/$pkgname-$pkgver
./configure --prefix=/usr
@@ -29,4 +29,3 @@ package() {
cd $srcdir/$pkgname-$pkgver
make DESTDIR=$pkgdir install
}
-md5sums=('e797f370b69b4dc776499d6a071ae137')
diff --git a/abs/core/libksba/libksba.install b/abs/core/libksba/libksba.install
deleted file mode 100644
index 3715b89..0000000
--- a/abs/core/libksba/libksba.install
+++ /dev/null
@@ -1,20 +0,0 @@
-infodir=usr/share/info
-filelist=(ksba.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/core/libmpc/PKGBUILD b/abs/core/libmpc/PKGBUILD
index 8def5f5..d67f225 100644
--- a/abs/core/libmpc/PKGBUILD
+++ b/abs/core/libmpc/PKGBUILD
@@ -1,19 +1,18 @@
-# $Id: PKGBUILD 166514 2012-09-09 07:34:43Z allan $
+# $Id$
# Maintainer: Allan McRae <allan@archlinux.org>
pkgname=libmpc
-pkgver=1.0.1
+pkgver=1.1.0
pkgrel=1
pkgdesc="Library for the arithmetic of complex numbers with arbitrarily high precision"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://www.multiprecision.org/"
license=('LGPL')
-depends=('mpfr>=3.0.0')
-options=('!libtool')
-install=libmpc.install
-source=(http://www.multiprecision.org/mpc/download/mpc-${pkgver/_/-}.tar.gz{,.sig})
-md5sums=('b32a2e1a3daa392372fbd586d1ed3679'
- 'c064863fbbb5831ba4f75f1181333862')
+depends=('mpfr')
+source=(https://ftp.gnu.org/gnu/mpc/mpc-${pkgver/_/-}.tar.gz{,.sig})
+md5sums=('4125404e41e482ec68282a2e687f6c73'
+ 'SKIP')
+validpgpkeys=('AD17A21EF8AED8F1CC02DBD9F7D5C9BF765C61E3') # Andreas Enge
build() {
cd "${srcdir}/mpc-${pkgver}"
diff --git a/abs/core/libmpc/libmpc-0.9-configure_cflags_egrep_issue.patch b/abs/core/libmpc/libmpc-0.9-configure_cflags_egrep_issue.patch
deleted file mode 100644
index 3bf3247..0000000
--- a/abs/core/libmpc/libmpc-0.9-configure_cflags_egrep_issue.patch
+++ /dev/null
@@ -1,63 +0,0 @@
---- trunk/configure.ac 2011/02/21 12:18:31 932
-+++ trunk/configure.ac 2011/02/21 16:41:09 936
-@@ -33,7 +33,7 @@
- AC_CANONICAL_HOST
- AC_CONFIG_MACRO_DIR([m4])
-
--dnl Extra arguments to configure
-+# Extra arguments to configure
- AC_ARG_WITH([mpfr_include],
- [AC_HELP_STRING([--with-mpfr-include=DIR],
- [MPFR include directory])],
-@@ -85,18 +85,19 @@
- )
-
-
--dnl Setup CC and CFLAGS
-+# Setup CC and CFLAGS
-+AC_PROG_CC
-+AC_LANG(C)
-
--dnl Check for user specification of CC or CFLAGS
-+# Set up LibTool
-+AC_PROG_LIBTOOL
-+
-+# Check for user specification of CC or CFLAGS
- if test -n "$CFLAGS" || test -n "$CC" ; then
- user_redefine_cc=yes
- fi
-
--# Check for programs
--AC_PROG_CC
--AC_LANG(C)
--
--dnl Check GMP Header
-+# Check GMP Header
- AC_MSG_CHECKING(for gmp.h)
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
- #include "gmp.h"
-@@ -105,22 +106,19 @@
- AC_MSG_ERROR([gmp.h can't be found, or is unusable.])
- ])
-
--dnl Check for GMP CFLAGS in gmp.h
-+# Check for GMP CFLAGS in gmp.h
- if test -z "$user_redefine_cc" ; then
- MPC_GMP_CC_CFLAGS
- fi
-
-
--dnl Configs for Windows DLLs
-+# Configs for Windows DLLs
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- MPC_WINDOWS
- esac
-
-
--dnl Finally set up LibTool
--AC_PROG_LIBTOOL
--
- # Checks for header files.
- AC_HEADER_STDC
- AC_CHECK_HEADERS([complex.h locale.h inttypes.h stdint.h limits.h unistd.h sys/time.h])
diff --git a/abs/core/libmpc/libmpc.install b/abs/core/libmpc/libmpc.install
deleted file mode 100644
index b0718c7..0000000
--- a/abs/core/libmpc/libmpc.install
+++ /dev/null
@@ -1,20 +0,0 @@
-infodir=usr/share/info
-filelist=(libmpc.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/core/libnghttp2/PKGBUILD b/abs/core/libnghttp2/PKGBUILD
new file mode 100644
index 0000000..592082b
--- /dev/null
+++ b/abs/core/libnghttp2/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 289632 2017-02-27 17:36:38Z anatolik $
+# Maintainer: Anatol Pomozov
+# Contributor: Zhuoyun Wei <wzyboy@wzyboy.org>
+
+pkgname=libnghttp2
+pkgver=1.30.0
+pkgrel=1
+pkgdesc='Framing layer of HTTP/2 is implemented as a reusable C library'
+arch=(x86_64)
+url='https://nghttp2.org/'
+license=(MIT)
+depends=(glibc)
+conflicts=('nghttp2<1.20.0-2')
+source=(https://github.com/nghttp2/nghttp2/releases/download/v$pkgver/nghttp2-$pkgver.tar.xz)
+sha256sums=('089afb4c22a53f72384b71ea06194be255a8a73b50b1412589105d0e683c52ac')
+
+build() {
+ cd nghttp2-$pkgver
+
+ autoreconf -i
+ ./configure \
+ --prefix=/usr \
+ --disable-examples \
+ --disable-python-bindings \
+ --enable-lib-only
+ make
+}
+
+check() {
+ cd nghttp2-$pkgver
+ make check
+}
+
+package() {
+ cd nghttp2-$pkgver/lib
+
+ make DESTDIR="$pkgdir" install
+ install -Dm644 ../COPYING "$pkgdir/usr/share/licenses/libnghttp2/COPYING"
+}
diff --git a/abs/core/libpsl/PKGBUILD b/abs/core/libpsl/PKGBUILD
new file mode 100644
index 0000000..5689be0
--- /dev/null
+++ b/abs/core/libpsl/PKGBUILD
@@ -0,0 +1,47 @@
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Contributor: Darshit Shah <darnir@gmail.com>
+
+pkgname=libpsl
+pkgver=0.19.1
+pkgrel=1
+pkgdesc='Public Suffix List library'
+url='https://github.com/rockdaboot/libpsl'
+arch=('x86_64')
+license=('MIT')
+depends=('libidn2' 'libunistring')
+makedepends=('libxslt' 'python' 'publicsuffix-list' 'gtk-doc')
+source=(https://github.com/rockdaboot/libpsl/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.gz)
+sha512sums=('86bb2f35764491c65cacec8cd5de97c7d7e1c4d1cc2590d54f394ed17acc75922494115019631b2d930d64dbdc73c266efb323036ac7e52131111287ee6381d5')
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+ rm -frv list
+ autoreconf -fiv
+}
+
+build() {
+ cd ${pkgname}-${pkgver}
+ ./configure \
+ --prefix=/usr \
+ --disable-static \
+ --disable-dependency-tracking \
+ --enable-man \
+ --enable-gtk-doc \
+ --enable-{builtin,runtime}=libidn2 \
+ --with-psl-file=/usr/share/publicsuffix/effective_tld_names.dat \
+ --with-psl-testfile=/usr/share/publicsuffix/test_psl.txt
+ LC_CTYPE=en_US.UTF-8 make
+}
+
+check() {
+ cd ${pkgname}-${pkgver}
+ make check
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+ install -Dm 644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}"
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/core/libsasl/0003_saslauthd_mdoc.patch b/abs/core/libsasl/0003_saslauthd_mdoc.patch
deleted file mode 100644
index 694f4bb..0000000
--- a/abs/core/libsasl/0003_saslauthd_mdoc.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-0003_saslauthd_mdoc.dpatch by <fabbe@debian.org>
-
-Use the correct path for the saslauthd.conf file, and use another
-date format (cosmetic).
-
-diff -urNad trunk~/saslauthd/saslauthd.mdoc trunk/saslauthd/saslauthd.mdoc
---- trunk~/saslauthd/saslauthd.mdoc 2006-05-29 22:52:42.000000000 +0300
-+++ trunk/saslauthd/saslauthd.mdoc 2006-07-12 15:05:25.000000000 +0300
-@@ -10,7 +10,7 @@
- .\" manpage in saslauthd.8 whenever you change this source
- .\" version. Only the pre-formatted manpage is installed.
- .\"
--.Dd 10 24 2002
-+.Dd October 24 2002
- .Dt SASLAUTHD 8
- .Os "CMU-SASL"
- .Sh NAME
-@@ -216,7 +216,7 @@
- .Em (All platforms that support OpenLDAP 2.0 or higher)
- .Pp
- Authenticate against an ldap server. The ldap configuration parameters are
--read from /usr/local/etc/saslauthd.conf. The location of this file can be
-+read from /etc/saslauthd.conf. The location of this file can be
- changed with the -O parameter. See the LDAP_SASLAUTHD file included with the
- distribution for the list of available parameters.
- .It Li sia
-@@ -249,7 +249,7 @@
- .Bl -tag -width "/var/run/saslauthd/mux"
- .It Pa /var/run/saslauthd/mux
- The default communications socket.
--.It Pa /usr/local/etc/saslauthd.conf
-+.It Pa /etc/saslauthd.conf
- The default configuration file for ldap support.
- .El
- .Sh SEE ALSO
diff --git a/abs/core/libsasl/0012_xopen_crypt_prototype.patch b/abs/core/libsasl/0012_xopen_crypt_prototype.patch
deleted file mode 100644
index d50ec83..0000000
--- a/abs/core/libsasl/0012_xopen_crypt_prototype.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-0012_xopen_crypt_prototype.dpatch by <dannf@debian.org>
-
-When _XOPEN_SOURCE is defined, the subsequent #include <unistd.h>
-will define a correct function prototype for the crypt function.
-This avoids segfaults on architectures where the size of a pointer
-is greater than the size of an integer (ia64 and amd64 are examples).
-This may be detected by looking for build log lines such as the
-following:
-auth_shadow.c:183: warning: implicit declaration of function ‘crypt’
-auth_shadow.c:183: warning: cast to pointer from integer of different
-size
-
-diff -urNad trunk~/saslauthd/auth_shadow.c trunk/saslauthd/auth_shadow.c
---- trunk~/saslauthd/auth_shadow.c 2006-05-29 22:52:42.000000000 +0300
-+++ trunk/saslauthd/auth_shadow.c 2006-11-08 13:44:23.000000000 +0200
-@@ -1,3 +1,4 @@
-+#define _XOPEN_SOURCE
- #define PWBUFSZ 256 /***SWB***/
-
- /* MODULE: auth_shadow */
diff --git a/abs/core/libsasl/0016_pid_file_lock_creation_mask.patch b/abs/core/libsasl/0016_pid_file_lock_creation_mask.patch
deleted file mode 100644
index e9170ce..0000000
--- a/abs/core/libsasl/0016_pid_file_lock_creation_mask.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-0016_pid_file_lock_creation_mask.dpatch by Sam Hocevar <sam@zoy.org>
-
-pid_file_lock is created with a mask of 644 instead of 0644.
-This patch fixes this octal/decimal confusion as well as the
-(harmless) one in the previous umask() call.
-
-diff -urNad trunk~/saslauthd/saslauthd-main.c trunk/saslauthd/saslauthd-main.c
---- trunk~/saslauthd/saslauthd-main.c 2006-05-29 22:52:42.000000000 +0300
-+++ trunk/saslauthd/saslauthd-main.c 2007-06-26 12:07:10.000000000 +0300
-@@ -276,7 +276,7 @@
- exit(1);
- }
-
-- umask(077);
-+ umask(0077);
-
- pid_file_size = strlen(run_path) + sizeof(PID_FILE_LOCK) + 1;
- if ((pid_file_lock = malloc(pid_file_size)) == NULL) {
-@@ -287,7 +287,7 @@
- strlcpy(pid_file_lock, run_path, pid_file_size);
- strlcat(pid_file_lock, PID_FILE_LOCK, pid_file_size);
-
-- if ((pid_file_lock_fd = open(pid_file_lock, O_CREAT|O_TRUNC|O_RDWR, 644)) < 0) {
-+ if ((pid_file_lock_fd = open(pid_file_lock, O_CREAT|O_TRUNC|O_RDWR, 0644)) < 0) {
- rc = errno;
- logger(L_ERR, L_FUNC, "could not open pid lock file: %s", pid_file_lock);
- logger(L_ERR, L_FUNC, "open: %s", strerror(rc));
diff --git a/abs/core/libsasl/0018_auth_rimap_quotes.patch b/abs/core/libsasl/0018_auth_rimap_quotes.patch
deleted file mode 100644
index 13fa999..0000000
--- a/abs/core/libsasl/0018_auth_rimap_quotes.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-0016_auth_rimap_quotes.dpatch by <fabbe@debian.org>
-
-All lines beginning with `## DP:' are a description of the patch.
-Avoid infinite loop when username/password has a double quote character.
-Upstream change: https://bugzilla.andrew.cmu.edu/cgi-bin/cvsweb.cgi/src/sasl/saslauthd/auth_rimap.c.diff?r1=1.12;r2=1.13
-
-diff -urNad etch~/saslauthd/auth_rimap.c etch/saslauthd/auth_rimap.c
---- etch~/saslauthd/auth_rimap.c 2007-03-29 15:16:20.000000000 +0300
-+++ etch/saslauthd/auth_rimap.c 2008-02-13 13:42:53.000000000 +0200
-@@ -162,6 +162,7 @@
- num_quotes = 0;
- p1 = s;
- while ((p1 = strchr(p1, '"')) != NULL) {
-+ p1++;
- num_quotes++;
- }
-
-@@ -438,7 +439,7 @@
- syslog(LOG_WARNING, "auth_rimap: writev: %m");
- memset(qlogin, 0, strlen(qlogin));
- free(qlogin);
-- memset(qpass, 0, strlen(qlogin));
-+ memset(qpass, 0, strlen(qpass));
- free(qpass);
- (void)close(s);
- return strdup(RESP_IERROR);
-@@ -447,7 +448,7 @@
- /* don't need these any longer */
- memset(qlogin, 0, strlen(qlogin));
- free(qlogin);
-- memset(qpass, 0, strlen(qlogin));
-+ memset(qpass, 0, strlen(qpass));
- free(qpass);
-
- /* read and parse the LOGIN response */
diff --git a/abs/core/libsasl/0019_ldap_deprecated.patch b/abs/core/libsasl/0019_ldap_deprecated.patch
deleted file mode 100644
index 8825256..0000000
--- a/abs/core/libsasl/0019_ldap_deprecated.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-0019_ldap_deprecated.dpatch by dann frazier <dannf@debian.org>
-
-The function ldap_get_values, used in saslauthd/lak.c, is deprecated.
-Therefore, its prototype is not included by default when compiling
-against the ldap.h headers. As a result, the compiler cannot know the
-return type of the function at compile time, and will implicitly
-convert to a pointer. This has implications on 64-bit systems.
-This patch sets the deprecation mode on, so that the function prototype
-gets included when compiling.
-(Description by Fabian Fagerholm <fabbe@debian.org>)
-
-diff -urNad trunk~/saslauthd/lak.c trunk/saslauthd/lak.c
---- trunk~/saslauthd/lak.c 2006-06-04 12:26:20.000000000 +0300
-+++ trunk/saslauthd/lak.c 2008-02-15 14:32:11.000000000 +0200
-@@ -55,6 +55,7 @@
- #include <openssl/des.h>
- #endif
-
-+#define LDAP_DEPRECATED 1
- #include <ldap.h>
- #include <lber.h>
- #include <sasl.h>
diff --git a/abs/core/libsasl/0022_gcc4.4_preprocessor_syntax.patch b/abs/core/libsasl/0022_gcc4.4_preprocessor_syntax.patch
deleted file mode 100644
index a49b553..0000000
--- a/abs/core/libsasl/0022_gcc4.4_preprocessor_syntax.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-0022_gcc4.4_preprocessor_syntax.dpatch by <fabbe@paniq.net>
-
-The #elif preprocessor directive requires a test condition.
-GCC 4.4 enforces this rule.
-
-diff -urNad trunk~/plugins/digestmd5.c trunk/plugins/digestmd5.c
---- trunk~/plugins/digestmd5.c 2006-06-04 12:26:19.000000000 +0300
-+++ trunk/plugins/digestmd5.c 2009-01-26 13:29:40.000000000 +0200
-@@ -2715,7 +2715,7 @@
- "DIGEST-MD5", /* mech_name */
- #ifdef WITH_RC4
- 128, /* max_ssf */
--#elif WITH_DES
-+#elif defined(WITH_DES)
- 112,
- #else
- 1,
-@@ -4034,7 +4034,7 @@
- "DIGEST-MD5",
- #ifdef WITH_RC4 /* mech_name */
- 128, /* max ssf */
--#elif WITH_DES
-+#elif defined(WITH_DES)
- 112,
- #else
- 1,
diff --git a/abs/core/libsasl/0027_db5_support.patch b/abs/core/libsasl/0027_db5_support.patch
deleted file mode 100644
index 5228240..0000000
--- a/abs/core/libsasl/0027_db5_support.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Author: Ondřej Surý <ondrej@debian.org>
-Description: Support newer Berkeley DB versions
---- a/sasldb/db_berkeley.c
-+++ b/sasldb/db_berkeley.c
-@@ -101,7 +101,7 @@ static int berkeleydb_open(const sasl_ut
- ret = db_create(mbdb, NULL, 0);
- if (ret == 0 && *mbdb != NULL)
- {
--#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1
-+#if (DB_VERSION_MAJOR > 4) || ((DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 1))
- ret = (*mbdb)->open(*mbdb, NULL, path, NULL, DB_HASH, flags, 0660);
- #else
- ret = (*mbdb)->open(*mbdb, path, NULL, DB_HASH, flags, 0660);
---- a/utils/dbconverter-2.c
-+++ b/utils/dbconverter-2.c
-@@ -214,7 +214,7 @@ static int berkeleydb_open(const char *p
- ret = db_create(mbdb, NULL, 0);
- if (ret == 0 && *mbdb != NULL)
- {
--#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1
-+#if (DB_VERSION_MAJOR > 4) || ((DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 1))
- ret = (*mbdb)->open(*mbdb, NULL, path, NULL, DB_HASH, DB_CREATE, 0664);
- #else
- ret = (*mbdb)->open(*mbdb, path, NULL, DB_HASH, DB_CREATE, 0664);
diff --git a/abs/core/libsasl/CVE-2013-4122.patch b/abs/core/libsasl/CVE-2013-4122.patch
new file mode 100644
index 0000000..d6b9800
--- /dev/null
+++ b/abs/core/libsasl/CVE-2013-4122.patch
@@ -0,0 +1,116 @@
+From dedad73e5e7a75d01a5f3d5a6702ab8ccd2ff40d Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Thu, 11 Jul 2013 09:08:07 +0000
+Subject: Handle NULL returns from glibc 2.17+ crypt()
+
+Starting with glibc 2.17 (eglibc 2.17), crypt() fails with EINVAL
+(w/ NULL return) if the salt violates specifications. Additionally,
+on FIPS-140 enabled Linux systems, DES/MD5-encrypted passwords
+passed to crypt() fail with EPERM (w/ NULL return).
+
+When using glibc's crypt(), check return value to avoid a possible
+NULL pointer dereference.
+
+Patch by mancha1@hush.com.
+---
+diff --git a/pwcheck/pwcheck_getpwnam.c b/pwcheck/pwcheck_getpwnam.c
+index 4b34222..400289c 100644
+--- a/pwcheck/pwcheck_getpwnam.c
++++ b/pwcheck/pwcheck_getpwnam.c
+@@ -32,6 +32,7 @@ char *userid;
+ char *password;
+ {
+ char* r;
++ char* crpt_passwd;
+ struct passwd *pwd;
+
+ pwd = getpwnam(userid);
+@@ -41,7 +42,7 @@ char *password;
+ else if (pwd->pw_passwd[0] == '*') {
+ r = "Account disabled";
+ }
+- else if (strcmp(pwd->pw_passwd, crypt(password, pwd->pw_passwd)) != 0) {
++ else if (!(crpt_passwd = crypt(password, pwd->pw_passwd)) || strcmp(pwd->pw_passwd, (const char *)crpt_passwd) != 0) {
+ r = "Incorrect password";
+ }
+ else {
+diff --git a/pwcheck/pwcheck_getspnam.c b/pwcheck/pwcheck_getspnam.c
+index 2b11286..6d607bb 100644
+--- a/pwcheck/pwcheck_getspnam.c
++++ b/pwcheck/pwcheck_getspnam.c
+@@ -32,13 +32,15 @@ char *userid;
+ char *password;
+ {
+ struct spwd *pwd;
++ char *crpt_passwd;
+
+ pwd = getspnam(userid);
+ if (!pwd) {
+ return "Userid not found";
+ }
+
+- if (strcmp(pwd->sp_pwdp, crypt(password, pwd->sp_pwdp)) != 0) {
++ crpt_passwd = crypt(password, pwd->sp_pwdp);
++ if (!crpt_passwd || strcmp(pwd->sp_pwdp, (const char *)crpt_passwd) != 0) {
+ return "Incorrect password";
+ }
+ else {
+diff --git a/saslauthd/auth_getpwent.c b/saslauthd/auth_getpwent.c
+index fc8029d..d4ebe54 100644
+--- a/saslauthd/auth_getpwent.c
++++ b/saslauthd/auth_getpwent.c
+@@ -77,6 +77,7 @@ auth_getpwent (
+ {
+ /* VARIABLES */
+ struct passwd *pw; /* pointer to passwd file entry */
++ char *crpt_passwd; /* encrypted password */
+ int errnum;
+ /* END VARIABLES */
+
+@@ -105,7 +106,8 @@ auth_getpwent (
+ }
+ }
+
+- if (strcmp(pw->pw_passwd, (const char *)crypt(password, pw->pw_passwd))) {
++ crpt_passwd = crypt(password, pw->pw_passwd);
++ if (!crpt_passwd || strcmp(pw->pw_passwd, (const char *)crpt_passwd)) {
+ if (flags & VERBOSE) {
+ syslog(LOG_DEBUG, "DEBUG: auth_getpwent: %s: invalid password", login);
+ }
+diff --git a/saslauthd/auth_shadow.c b/saslauthd/auth_shadow.c
+index 677131b..1988afd 100644
+--- a/saslauthd/auth_shadow.c
++++ b/saslauthd/auth_shadow.c
+@@ -210,8 +210,8 @@ auth_shadow (
+ RETURN("NO Insufficient permission to access NIS authentication database (saslauthd)");
+ }
+
+- cpw = strdup((const char *)crypt(password, sp->sp_pwdp));
+- if (strcmp(sp->sp_pwdp, cpw)) {
++ cpw = crypt(password, sp->sp_pwdp);
++ if (!cpw || strcmp(sp->sp_pwdp, (const char *)cpw)) {
+ if (flags & VERBOSE) {
+ /*
+ * This _should_ reveal the SHADOW_PW_LOCKED prefix to an
+@@ -221,10 +221,8 @@ auth_shadow (
+ syslog(LOG_DEBUG, "DEBUG: auth_shadow: pw mismatch: '%s' != '%s'",
+ sp->sp_pwdp, cpw);
+ }
+- free(cpw);
+ RETURN("NO Incorrect password");
+ }
+- free(cpw);
+
+ /*
+ * The following fields will be set to -1 if:
+@@ -286,7 +284,7 @@ auth_shadow (
+ RETURN("NO Invalid username");
+ }
+
+- if (strcmp(upw->upw_passwd, crypt(password, upw->upw_passwd)) != 0) {
++ if (!(cpw = crypt(password, upw->upw_passwd)) || (strcmp(upw->upw_passwd, (const char *)cpw) != 0)) {
+ if (flags & VERBOSE) {
+ syslog(LOG_DEBUG, "auth_shadow: pw mismatch: %s != %s",
+ password, upw->upw_passwd);
+--
+cgit v0.9.2
diff --git a/abs/core/libsasl/PKGBUILD b/abs/core/libsasl/PKGBUILD
index 2d2de46..d755f72 100644
--- a/abs/core/libsasl/PKGBUILD
+++ b/abs/core/libsasl/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 146449 2012-01-11 15:21:04Z stephane $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
# This package spans multiple repositories.
@@ -7,54 +7,68 @@
#pkgbase=('cyrus-sasl')
#pkgname=('cyrus-sasl' 'cyrus-sasl-gssapi' 'cyrus-sasl-ldap' 'cyrus-sasl-sql')
pkgname=libsasl
-pkgver=2.1.23
-pkgrel=10
+pkgver=2.1.26
+pkgrel=12
pkgdesc="Cyrus Simple Authentication Service Layer (SASL) library"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://cyrusimap.web.cmu.edu/"
license=('custom')
-options=('!makeflags' '!libtool')
-makedepends=('postgresql-libs' 'libmysqlclient' 'libldap' 'krb5' 'openssl')
-source=(ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-${pkgver}.tar.gz
- cyrus-sasl-2.1.19-checkpw.c.patch
- cyrus-sasl-2.1.22-crypt.patch
+options=('!makeflags')
+makedepends=('postgresql-libs' 'libmariadbclient' 'libldap' 'krb5' 'openssl' 'sqlite')
+source=(ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-${pkgver}.tar.gz
cyrus-sasl-2.1.22-qa.patch
- cyrus-sasl-2.1.22-automake-1.10.patch
- cyrus-sasl-2.1.23-authd-fix.patch
- 0003_saslauthd_mdoc.patch
+ cyrus-sasl-2.1.26-size_t.patch
0010_maintainer_mode.patch
0011_saslauthd_ac_prog_libtool.patch
- 0012_xopen_crypt_prototype.patch
- 0016_pid_file_lock_creation_mask.patch
- 0018_auth_rimap_quotes.patch
- 0019_ldap_deprecated.patch
- 0022_gcc4.4_preprocessor_syntax.patch
0025_ld_as_needed.patch
0026_drop_krb5support_dependency.patch
- 0027_db5_support.patch
0030-dont_use_la_files_for_opening_plugins.patch
+ saslauthd.service
saslauthd.conf.d
- saslauthd)
+ tmpfiles.conf
+ CVE-2013-4122.patch
+ cyrus-sasl-sql.patch
+ cyrus-sasl-gssapi.patch
+ cyrus-sasl-2.1.27-openssl-1.1.0.patch
+ fix-pkgconfig.patch)
+md5sums=('a7f4e5e559a0e37b3ffc438c9456e425'
+ '79b8a5e8689989e2afd4b7bda595a7b1'
+ 'f45aa8c42b32e0569ab3d14a83485b37'
+ 'f45d8b60e8f74dd7f7c2ec1665fa602a'
+ '9d93880514cb5ff5da969f1ceb64a661'
+ '62bf892fe4d1df41ff748e91a1afaf67'
+ 'b7848957357e7c02d6490102be496bf9'
+ '8e7106f32e495e9ade69014fd1b3352a'
+ '3499dcd610ad1ad58e0faffde2aa7a23'
+ '49219af5641150edec288a3fdb65e7c1'
+ '45bb0192d2f188066240b9a66ee6365f'
+ 'c5f0ec88c584a75c14d7f402eaeed7ef'
+ '82c0f66fdc5c1145eb48ea9116c27931'
+ '0363b1a0337474a57b1f75f72fe88fa3'
+ 'c8a385bbca9bd79910c6bda3dd02845c'
+ '409727695f9f28a3c43e340232462ff6')
+
+prepare() {
+ cd cyrus-sasl-$pkgver
+ patch -Np1 -i ../cyrus-sasl-2.1.22-qa.patch
+ patch -Np1 -i ../cyrus-sasl-2.1.26-size_t.patch
+ patch -Np1 -i ../0010_maintainer_mode.patch
+ patch -Np1 -i ../0011_saslauthd_ac_prog_libtool.patch
+ patch -Np1 -i ../0025_ld_as_needed.patch
+ patch -Np1 -i ../0026_drop_krb5support_dependency.patch
+ patch -Np1 -i ../0030-dont_use_la_files_for_opening_plugins.patch
+ patch -Np1 -i ../CVE-2013-4122.patch
+ patch -Np0 -i ../cyrus-sasl-sql.patch
+ patch -Np1 -i ../cyrus-sasl-gssapi.patch
+ patch -Np1 -i ../cyrus-sasl-2.1.27-openssl-1.1.0.patch
+ patch -Np1 -i ../fix-pkgconfig.patch
+
+ sed -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' -e 's/libmysqlclient.a/libmysqlclient.so/' -i configure.in
+}
build() {
- cd "${srcdir}/cyrus-sasl-${pkgver}"
- patch -Np1 -i "${srcdir}/cyrus-sasl-2.1.19-checkpw.c.patch"
- patch -Np1 -i "${srcdir}/cyrus-sasl-2.1.22-crypt.patch"
- patch -Np1 -i "${srcdir}/cyrus-sasl-2.1.22-qa.patch"
- patch -Np1 -i "${srcdir}/cyrus-sasl-2.1.22-automake-1.10.patch"
- patch -Np0 -i "${srcdir}/cyrus-sasl-2.1.23-authd-fix.patch"
- patch -Np1 -i "${srcdir}/0003_saslauthd_mdoc.patch"
- patch -Np1 -i "${srcdir}/0010_maintainer_mode.patch"
- patch -Np1 -i "${srcdir}/0011_saslauthd_ac_prog_libtool.patch"
- patch -Np1 -i "${srcdir}/0012_xopen_crypt_prototype.patch"
- patch -Np1 -i "${srcdir}/0016_pid_file_lock_creation_mask.patch"
- patch -Np1 -i "${srcdir}/0018_auth_rimap_quotes.patch"
- patch -Np1 -i "${srcdir}/0019_ldap_deprecated.patch"
- patch -Np1 -i "${srcdir}/0022_gcc4.4_preprocessor_syntax.patch"
- patch -Np1 -i "${srcdir}/0025_ld_as_needed.patch"
- patch -Np1 -i "${srcdir}/0026_drop_krb5support_dependency.patch"
- patch -Np1 -i "${srcdir}/0027_db5_support.patch"
- patch -Np1 -i "${srcdir}/0030-dont_use_la_files_for_opening_plugins.patch"
+ export CFLAGS="$CFLAGS -fPIC"
+ cd cyrus-sasl-$pkgver
rm -f config/config.guess config/config.sub
rm -f config/ltconfig config/ltmain.sh config/libtool.m4
@@ -77,7 +91,7 @@ build() {
popd
./configure --prefix=/usr \
- --sbin=/usr/bin \
+ --sbin=/usr/bin \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--disable-static \
@@ -98,11 +112,15 @@ build() {
--enable-ntlm \
--disable-passdss \
--enable-sql \
+ --with-mysql=/usr \
+ --with-pgsql=/usr/lib \
+ --with-sqlite3=/usr/lib \
--enable-ldapdb \
--disable-macos-framework \
--with-pam \
--with-saslauthd=/var/run/saslauthd \
--with-ldap \
+ --with-dblib=gdbm \
--with-configdir=/etc/sasl2:/etc/sasl:/usr/lib/sasl2 \
--sysconfdir=/etc \
--with-devrandom=/dev/urandom
@@ -114,7 +132,8 @@ package_libsasl() {
depends=('openssl')
conflicts=('cyrus-sasl-plugins')
- cd "${srcdir}/cyrus-sasl-${pkgver}"
+ cd cyrus-sasl-$pkgver
+ make DESTDIR="$pkgdir" install-pkgconfigDATA
for dir in include lib sasldb plugins utils; do
pushd ${dir}
make DESTDIR="${pkgdir}" install
@@ -123,21 +142,21 @@ package_libsasl() {
rm -f "${pkgdir}"/usr/lib/sasl2/libsql.so*
rm -f "${pkgdir}"/usr/lib/sasl2/libgssapiv2.so*
rm -f "${pkgdir}"/usr/lib/sasl2/libldapdb.so*
+ rm -f "${pkgdir}"/usr/lib/sasl2/libgs2.so*
install -m755 -d "${pkgdir}/usr/share/licenses/libsasl"
install -m644 COPYING "${pkgdir}/usr/share/licenses/libsasl/"
}
package_cyrus-sasl() {
- depends=("libsasl=${pkgver}-${pkgrel}")
+ depends=("libsasl=${pkgver}" 'krb5')
pkgdesc="Cyrus saslauthd SASL authentication daemon"
backup=('etc/conf.d/saslauthd')
- cd "${srcdir}/cyrus-sasl-${pkgver}/saslauthd"
+ cd cyrus-sasl-$pkgver/saslauthd
make DESTDIR="${pkgdir}" install
- install -m755 -d "${pkgdir}/etc/rc.d"
- install -m755 -d "${pkgdir}/etc/conf.d"
- install -m755 "${srcdir}/saslauthd" "${pkgdir}/etc/rc.d/"
- install -m644 "${srcdir}/saslauthd.conf.d" "${pkgdir}/etc/conf.d/saslauthd"
+ install -Dm644 "${srcdir}/saslauthd.conf.d" "${pkgdir}/etc/conf.d/saslauthd"
+ install -Dm644 "${srcdir}/saslauthd.service" "${pkgdir}/usr/lib/systemd/system/saslauthd.service"
+ install -Dm644 "${srcdir}/tmpfiles.conf" "${pkgdir}/usr/lib/tmpfiles.d/saslauthd.conf"
install -m755 -d "${pkgdir}/usr/share/licenses/cyrus-sasl"
ln -sf ../libsasl/COPYING "${pkgdir}/usr/share/licenses/cyrus-sasl/"
@@ -145,12 +164,13 @@ package_cyrus-sasl() {
package_cyrus-sasl-gssapi() {
pkgdesc="GSSAPI authentication mechanism for Cyrus SASL"
- depends=("libsasl=${pkgver}-${pkgrel}" 'krb5')
+ depends=("libsasl=${pkgver}" 'krb5')
replaces=('cyrus-sasl-plugins')
- cd "${srcdir}/cyrus-sasl-${pkgver}/plugins"
+ cd cyrus-sasl-$pkgver/plugins
install -m755 -d "${pkgdir}/usr/lib/sasl2"
cp -a .libs/libgssapiv2.so* "${pkgdir}/usr/lib/sasl2/"
+ cp -a .libs/libgs2.so* "${pkgdir}/usr/lib/sasl2/"
install -m755 -d "${pkgdir}/usr/share/licenses/cyrus-sasl-gssapi"
ln -sf ../libsasl/COPYING "${pkgdir}/usr/share/licenses/cyrus-sasl-gssapi/"
@@ -158,10 +178,10 @@ package_cyrus-sasl-gssapi() {
package_cyrus-sasl-ldap() {
pkgdesc="ldapdb auxprop module for Cyrus SASL"
- depends=("libsasl=${pkgver}-${pkgrel}" 'libldap')
+ depends=("libsasl=${pkgver}" 'libldap')
replaces=('cyrus-sasl-plugins')
- cd "${srcdir}/cyrus-sasl-${pkgver}/plugins"
+ cd cyrus-sasl-$pkgver/plugins
install -m755 -d "${pkgdir}/usr/lib/sasl2"
cp -a .libs/libldapdb.so* "${pkgdir}/usr/lib/sasl2/"
@@ -171,33 +191,13 @@ package_cyrus-sasl-ldap() {
package_cyrus-sasl-sql() {
pkgdesc="SQL auxprop module for Cyrus SASL"
- depends=("libsasl=${pkgver}-${pkgrel}" 'postgresql-libs' 'libmysqlclient')
+ depends=("libsasl=${pkgver}" 'postgresql-libs' 'libmariadbclient' 'sqlite')
replaces=('cyrus-sasl-plugins')
- cd "${srcdir}/cyrus-sasl-${pkgver}/plugins"
+ cd cyrus-sasl-$pkgver/plugins
install -m755 -d "${pkgdir}/usr/lib/sasl2"
cp -a .libs/libsql.so* "${pkgdir}/usr/lib/sasl2/"
install -m755 -d "${pkgdir}/usr/share/licenses/cyrus-sasl-sql"
ln -sf ../libsasl/COPYING "${pkgdir}/usr/share/licenses/cyrus-sasl-sql/"
}
-md5sums=('2eb0e48106f0e9cd8001e654f267ecbc'
- 'e27ddff076342e7a3041c4759817d04b'
- 'd7e6886e88af04d05f3dec7f0a59ccf7'
- '79b8a5e8689989e2afd4b7bda595a7b1'
- 'f4131b077ddb5240b375d749162f1b7a'
- 'c7ad2c70c1ef814eb4b119f316c064f2'
- 'caeeac3feba19cbbd36e7345cc805600'
- 'f45d8b60e8f74dd7f7c2ec1665fa602a'
- '9d93880514cb5ff5da969f1ceb64a661'
- 'dfdc052a7e678db9f687482c5d52f34e'
- '4a09f6b24b91f8450892a78e378860da'
- '213abe7c5dfe0d7f446992787da1e780'
- '5a0321177ad30cb5518c8b6812e3961a'
- '0c965748970eea29fa295524821d43f0'
- '62bf892fe4d1df41ff748e91a1afaf67'
- 'b7848957357e7c02d6490102be496bf9'
- 'd86a5aa2e3b5b7c1bad6f8b548b7ea36'
- '8e7106f32e495e9ade69014fd1b3352a'
- '49219af5641150edec288a3fdb65e7c1'
- '75542f613185d5a90520ad0d7d926a20')
diff --git a/abs/core/libsasl/cyrus-sasl-2.1.19-checkpw.c.patch b/abs/core/libsasl/cyrus-sasl-2.1.19-checkpw.c.patch
deleted file mode 100644
index f7bf44b..0000000
--- a/abs/core/libsasl/cyrus-sasl-2.1.19-checkpw.c.patch
+++ /dev/null
@@ -1,170 +0,0 @@
-diff -ur ../cyrus-sasl-2.1.19.orig/lib/Makefile.in ./lib/Makefile.in
---- ../cyrus-sasl-2.1.19.orig/lib/Makefile.in 2004-07-02 21:40:15.000000000 +0200
-+++ ./lib/Makefile.in 2004-09-07 13:21:22.746680576 +0200
-@@ -120,7 +120,7 @@
- JAVA_TRUE = @JAVA_TRUE@
- LDFLAGS = @LDFLAGS@
- LIBOBJS = @LIBOBJS@
--LIBS = @LIBS@
-+LIBS = -lcrypt @LIBS@
- LIBTOOL = @LIBTOOL@
- LIB_CRYPT = @LIB_CRYPT@
- LIB_DES = @LIB_DES@
-diff -ur ../cyrus-sasl-2.1.19.orig/lib/checkpw.c ./lib/checkpw.c
---- ../cyrus-sasl-2.1.19.orig/lib/checkpw.c 2004-03-17 14:58:13.000000000 +0100
-+++ ./lib/checkpw.c 2004-09-07 13:21:12.645916147 +0200
-@@ -94,6 +94,23 @@
- # endif
- #endif
-
-+/******************************
-+ * crypt(3) patch start *
-+ ******************************/
-+char *crypt(const char *key, const char *salt);
-+
-+/* cleartext password formats */
-+#define PASSWORD_FORMAT_CLEARTEXT 1
-+#define PASSWORD_FORMAT_CRYPT 2
-+#define PASSWORD_FORMAT_CRYPTTRAD 3
-+#define PASSWORD_SALT_BUF_LEN 22
-+
-+/* weeds out crypt(3) password's salt */
-+int _sasl_get_salt (char *dest, char *src, int format);
-+
-+/******************************
-+ * crypt(3) patch stop *
-+ ******************************/
-
- /* we store the following secret to check plaintext passwords:
- *
-@@ -143,7 +160,51 @@
- "*cmusaslsecretPLAIN",
- NULL };
- struct propval auxprop_values[3];
--
-+
-+ /******************************
-+ * crypt(3) patch start *
-+ * for password format check *
-+ ******************************/
-+ sasl_getopt_t *getopt;
-+ void *context;
-+ const char *p = NULL;
-+ /**
-+ * MD5: 12 char salt
-+ * BLOWFISH: 16 char salt
-+ */
-+ char salt[PASSWORD_SALT_BUF_LEN];
-+ int password_format;
-+
-+ /* get password format from auxprop configuration */
-+ if (_sasl_getcallback(conn, SASL_CB_GETOPT, &getopt, &context) == SASL_OK) {
-+ getopt(context, NULL, "password_format", &p, NULL);
-+ }
-+
-+ /* set password format */
-+ if (p) {
-+ /*
-+ memset(pass_format_str, '\0', PASSWORD_FORMAT_STR_LEN);
-+ strncpy(pass_format_str, p, (PASSWORD_FORMAT_STR_LEN - 1));
-+ */
-+ /* modern, modular crypt(3) */
-+ if (strncmp(p, "crypt", 11) == 0)
-+ password_format = PASSWORD_FORMAT_CRYPT;
-+ /* traditional crypt(3) */
-+ else if (strncmp(p, "crypt_trad", 11) == 0)
-+ password_format = PASSWORD_FORMAT_CRYPTTRAD;
-+ /* cleartext password */
-+ else
-+ password_format = PASSWORD_FORMAT_CLEARTEXT;
-+ } else {
-+ /* cleartext password */
-+ password_format = PASSWORD_FORMAT_CLEARTEXT;
-+ }
-+
-+ /******************************
-+ * crypt(3) patch stop *
-+ * for password format check *
-+ ******************************/
-+
- if (!conn || !userstr)
- return SASL_BADPARAM;
-
-@@ -180,14 +241,31 @@
- goto done;
- }
-
-- /* At the point this has been called, the username has been canonified
-- * and we've done the auxprop lookup. This should be easy. */
-- if(auxprop_values[0].name
-- && auxprop_values[0].values
-- && auxprop_values[0].values[0]
-- && !strcmp(auxprop_values[0].values[0], passwd)) {
-- /* We have a plaintext version and it matched! */
-- return SASL_OK;
-+
-+ /******************************
-+ * crypt(3) patch start *
-+ ******************************/
-+
-+ /* get salt */
-+ _sasl_get_salt(salt, (char *) auxprop_values[0].values[0], password_format);
-+
-+ /* crypt(3)-ed password? */
-+ if (password_format != PASSWORD_FORMAT_CLEARTEXT) {
-+ /* compare password */
-+ if (auxprop_values[0].name && auxprop_values[0].values && auxprop_values[0].values[0] && strcmp(crypt(passwd, salt), auxprop_values[0].values[0]) == 0)
-+ return SASL_OK;
-+ else
-+ ret = SASL_BADAUTH;
-+ }
-+ else if (password_format == PASSWORD_FORMAT_CLEARTEXT) {
-+ /* compare passwords */
-+ if (auxprop_values[0].name && auxprop_values[0].values && auxprop_values[0].values[0] && strcmp(auxprop_values[0].values[0], passwd) == 0)
-+ return SASL_OK;
-+ else
-+ ret = SASL_BADAUTH;
-+ /******************************
-+ * crypt(3) patch stop *
-+ ******************************/
- } else if(auxprop_values[1].name
- && auxprop_values[1].values
- && auxprop_values[1].values[0]) {
-@@ -975,3 +1053,37 @@
- #endif
- { NULL, NULL }
- };
-+
-+/* weeds out crypt(3) password's salt */
-+int _sasl_get_salt (char *dest, char *src, int format) {
-+ int num; /* how many characters is salt long? */
-+ switch (format) {
-+ case PASSWORD_FORMAT_CRYPT:
-+ /* md5 crypt */
-+ if (src[1] == '1')
-+ num = 12;
-+ /* blowfish crypt */
-+ else if (src[1] == '2')
-+ num = (src[1] == '2' && src[2] == 'a') ? 17 : 16;
-+ /* traditional crypt */
-+ else
-+ num = 2;
-+ break;
-+
-+ case PASSWORD_FORMAT_CRYPTTRAD:
-+ num = 2;
-+ break;
-+
-+ default:
-+ return 1;
-+ }
-+
-+ /* destroy destination */
-+ memset(dest, '\0', (num + 1));
-+
-+ /* copy salt to destination */
-+ strncpy(dest, src, num);
-+
-+ return 1;
-+}
-+
diff --git a/abs/core/libsasl/cyrus-sasl-2.1.22-automake-1.10.patch b/abs/core/libsasl/cyrus-sasl-2.1.22-automake-1.10.patch
deleted file mode 100644
index 8cd71c0..0000000
--- a/abs/core/libsasl/cyrus-sasl-2.1.22-automake-1.10.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-Re-merged patch by Robert Scheck <redhat@linuxnetz.de> for cyrus-sasl >= 2.1.22, which was
-originally written by Jacek Konieczny <jajcus@pld-linux.org> and makes cyrus-sasl building
-using automake 1.10.
-
---- cyrus-sasl-2.1.22/plugins/Makefile.am 2006-05-17 18:46:16.000000000 +0200
-+++ cyrus-sasl-2.1.22/plugins/Makefile.am.am110 2007-02-16 15:42:07.000000000 +0100
-@@ -82,73 +82,73 @@
- libntlm.la libpassdss.la libsasldb.la libsql.la libldapdb.la
-
- libplain_la_SOURCES = plain.c plain_init.c $(common_sources)
--libplain_la_LDFLAGS = -version-info $(plain_version)
-+libplain_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(plain_version)
- libplain_la_DEPENDENCIES = $(COMPAT_OBJS)
- libplain_la_LIBADD = $(PLAIN_LIBS) $(COMPAT_OBJS)
-
- libanonymous_la_SOURCES = anonymous.c anonymous_init.c $(common_sources)
--libanonymous_la_LDFLAGS = -version-info $(anonymous_version)
-+libanonymous_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(anonymous_version)
- libanonymous_la_DEPENDENCIES = $(COMPAT_OBJS)
- libanonymous_la_LIBADD = $(COMPAT_OBJS)
-
- libkerberos4_la_SOURCES = kerberos4.c kerberos4_init.c $(common_sources)
--libkerberos4_la_LDFLAGS = -version-info $(kerberos4_version)
-+libkerberos4_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(kerberos4_version)
- libkerberos4_la_DEPENDENCIES = $(COMPAT_OBJS)
- libkerberos4_la_LIBADD = $(SASL_KRB_LIB) $(LIB_SOCKET) $(COMPAT_OBJS)
-
- libgssapiv2_la_SOURCES = gssapi.c gssapiv2_init.c $(common_sources)
--libgssapiv2_la_LDFLAGS = -version-info $(gssapiv2_version)
-+libgssapiv2_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(gssapiv2_version)
- libgssapiv2_la_DEPENDENCIES = $(COMPAT_OBJS)
- libgssapiv2_la_LIBADD = $(GSSAPIBASE_LIBS) $(GSSAPI_LIBS) $(LIB_SOCKET) $(COMPAT_OBJS)
-
- libcrammd5_la_SOURCES = cram.c crammd5_init.c $(common_sources)
--libcrammd5_la_LDFLAGS = -version-info $(crammd5_version)
-+libcrammd5_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(crammd5_version)
- libcrammd5_la_DEPENDENCIES = $(COMPAT_OBJS)
- libcrammd5_la_LIBADD = $(COMPAT_OBJS)
-
- libdigestmd5_la_SOURCES = digestmd5.c digestmd5_init.c $(common_sources)
--libdigestmd5_la_LDFLAGS = -version-info $(digestmd5_version)
-+libdigestmd5_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(digestmd5_version)
- libdigestmd5_la_DEPENDENCIES = $(COMPAT_OBJS)
- libdigestmd5_la_LIBADD = $(LIB_DES) $(LIB_SOCKET) $(COMPAT_OBJS)
-
- liblogin_la_SOURCES = login.c login_init.c $(common_sources)
--liblogin_la_LDFLAGS = -version-info $(login_version)
-+liblogin_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(login_version)
- liblogin_la_DEPENDENCIES = $(COMPAT_OBJS)
- liblogin_la_LIBADD = $(PLAIN_LIBS) $(COMPAT_OBJS)
-
- libsrp_la_SOURCES = srp.c srp_init.c $(common_sources)
--libsrp_la_LDFLAGS = -version-info $(srp_version)
-+libsrp_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(srp_version)
- libsrp_la_DEPENDENCIES = $(COMPAT_OBJS)
- libsrp_la_LIBADD = $(SRP_LIBS) $(COMPAT_OBJS)
-
- libotp_la_SOURCES = otp.c otp_init.c otp.h $(common_sources)
--libotp_la_LDFLAGS = -version-info $(otp_version)
-+libotp_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(otp_version)
- libotp_la_DEPENDENCIES = $(COMPAT_OBJS)
- libotp_la_LIBADD = $(OTP_LIBS) $(COMPAT_OBJS)
-
- libntlm_la_SOURCES = ntlm.c ntlm_init.c $(common_sources)
--libntlm_la_LDFLAGS = -version-info $(ntlm_version)
-+libntlm_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(ntlm_version)
- libntlm_la_DEPENDENCIES = $(COMPAT_OBJS)
- libntlm_la_LIBADD = $(NTLM_LIBS) $(COMPAT_OBJS)
-
- libpassdss_la_SOURCES = passdss.c passdss_init.c $(common_sources)
--libpassdss_la_LDFLAGS = -version-info $(passdss_version)
-+libpassdss_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(passdss_version)
- libpassdss_la_DEPENDENCIES = $(COMPAT_OBJS)
- libpassdss_la_LIBADD = $(PASSDSS_LIBS) $(COMPAT_OBJS)
-
- # Auxprop Plugins
- libsasldb_la_SOURCES = sasldb.c sasldb_init.c $(common_sources)
--libsasldb_la_LDFLAGS = -version-info $(sasldb_version)
-+libsasldb_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(sasldb_version)
- libsasldb_la_DEPENDENCIES = $(COMPAT_OBJS)
- libsasldb_la_LIBADD = ../sasldb/libsasldb.la $(SASL_DB_LIB) $(COMPAT_OBJS)
-
- libldapdb_la_SOURCES = ldapdb.c ldapdb_init.c $(common_sources)
--libldapdb_la_LDFLAGS = $(LIB_LDAP) -version-info $(ldapdb_version)
-+libldapdb_la_LDFLAGS = $(AM_LDFLAGS) $(LIB_LDAP) -version-info $(ldapdb_version)
- libldapdb_la_DEPENDENCIES = $(COMPAT_OBJS)
- libldapdb_la_LIBADD = $(COMPAT_OBJS)
-
- libsql_la_SOURCES = sql.c sql_init.c $(common_sources)
--libsql_la_LDFLAGS = $(LIB_MYSQL) $(LIB_PGSQL) $(LIB_SQLITE) -version-info $(sql_version)
-+libsql_la_LDFLAGS = $(AM_LDFLAGS) $(LIB_MYSQL) $(LIB_PGSQL) $(LIB_SQLITE) -version-info $(sql_version)
- libsql_la_DEPENDENCIES = $(COMPAT_OBJS)
- libsql_la_LIBADD = $(COMPAT_OBJS)
-
diff --git a/abs/core/libsasl/cyrus-sasl-2.1.22-crypt.patch b/abs/core/libsasl/cyrus-sasl-2.1.22-crypt.patch
deleted file mode 100644
index fd35632..0000000
--- a/abs/core/libsasl/cyrus-sasl-2.1.22-crypt.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-http://bugs.gentoo.org/152544
-
---- cyrus-sasl-2.1.22/lib/Makefile.am
-+++ cyrus-sasl-2.1.22/lib/Makefile.am
-@@ -45,6 +45,7 @@ sasl_version = 2:22:0
-
- INCLUDES=-I$(top_srcdir)/include -I$(top_srcdir)/plugins -I$(top_builddir)/include -I$(top_srcdir)/sasldb
-
-+AM_CFLAGS = -fPIC
- EXTRA_DIST = windlopen.c staticopen.h NTMakefile
- EXTRA_LIBRARIES = libsasl2.a
- noinst_LIBRARIES = @SASL_STATIC_LIBS@
---- cyrus-sasl-2.1.22/plugins/Makefile.am
-+++ cyrus-sasl-2.1.22/plugins/Makefile.am
-@@ -63,6 +63,7 @@ srp_version = 2:22:0
-
- INCLUDES=-I$(top_srcdir)/include -I$(top_srcdir)/lib -I$(top_srcdir)/sasldb -I$(top_builddir)/include
- AM_LDFLAGS = -module -export-dynamic -rpath $(plugindir)
-+AM_CFLAGS = -fPIC
-
- COMPAT_OBJS = @LTGETADDRINFOOBJS@ @LTGETNAMEINFOOBJS@ @LTSNPRINTFOBJS@
-
---- cyrus-sasl-2.1.22/sasldb/Makefile.am
-+++ cyrus-sasl-2.1.22/sasldb/Makefile.am
-@@ -48,6 +48,7 @@ INCLUDES=-I$(top_srcdir)/include -I$(top
-
- extra_common_sources = db_none.c db_ndbm.c db_gdbm.c db_berkeley.c
-
-+AM_CFLAGS = -fPIC
- EXTRA_DIST = NTMakefile
-
- noinst_LTLIBRARIES = libsasldb.la
---- cyrus-sasl-2.1.22/utils/Makefile.am
-+++ cyrus-sasl-2.1.22/utils/Makefile.am
-@@ -42,7 +42,7 @@
- #
- ################################################################
-
--all_sasl_libs = ../lib/libsasl2.la $(SASL_DB_LIB) $(LIB_SOCKET)
-+all_sasl_libs = ../lib/libsasl2.la $(SASL_DB_LIB) $(LIB_SOCKET) $(LIB_CRYPT)
- all_sasl_static_libs = ../lib/.libs/libsasl2.a $(SASL_DB_LIB) $(LIB_SOCKET) $(GSSAPIBASE_LIBS) $(GSSAPI_LIBS) $(SASL_KRB_LIB) $(LIB_DES) $(PLAIN_LIBS) $(SRP_LIBS) $(LIB_MYSQL) $(LIB_PGSQL) $(LIB_SQLITE)
-
- sbin_PROGRAMS = @SASL_DB_UTILS@ @SMTPTEST_PROGRAM@ pluginviewer
---- cyrus-sasl-2.1.22/sample/Makefile.am
-+++ cyrus-sasl-2.1.22/sample/Makefile.am
-@@ -54,10 +54,10 @@ sample_server_SOURCES = sample-server.c
- server_SOURCES = server.c common.c common.h
- client_SOURCES = client.c common.c common.h
-
--server_LDADD = ../lib/libsasl2.la $(LIB_SOCKET)
--client_LDADD = ../lib/libsasl2.la $(LIB_SOCKET)
-+server_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) $(LIB_CRYPT)
-+client_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) $(LIB_CRYPT)
-
--sample_client_LDADD = ../lib/libsasl2.la $(LIB_SOCKET)
--sample_server_LDADD = ../lib/libsasl2.la $(LIB_SOCKET)
-+sample_client_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) $(LIB_CRYPT)
-+sample_server_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) $(LIB_CRYPT)
-
- EXTRA_DIST = NTMakefile
---- cyrus-sasl-2.1.22/lib/Makefile.am
-+++ cyrus-sasl-2.1.22/lib/Makefile.am
-@@ -63,7 +63,7 @@ lib_LTLIBRARIES = libsasl2.la
- libsasl2_la_SOURCES = $(common_sources) $(common_headers)
- libsasl2_la_LDFLAGS = -version-info $(sasl_version)
- libsasl2_la_DEPENDENCIES = $(LTLIBOBJS)
--libsasl2_la_LIBADD = $(LTLIBOBJS) $(SASL_DL_LIB) $(LIB_SOCKET) $(LIB_DOOR)
-+libsasl2_la_LIBADD = $(LTLIBOBJS) $(SASL_DL_LIB) $(LIB_SOCKET) $(LIB_DOOR) $(LIB_CRYPT)
-
- if MACOSX
- framedir = /Library/Frameworks/SASL2.framework
diff --git a/abs/core/libsasl/cyrus-sasl-2.1.23-authd-fix.patch b/abs/core/libsasl/cyrus-sasl-2.1.23-authd-fix.patch
deleted file mode 100644
index f5f372d..0000000
--- a/abs/core/libsasl/cyrus-sasl-2.1.23-authd-fix.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-fix warnings:
-
-auth_sasldb.c: In function ‘auth_sasldb’:
-auth_sasldb.c:144: warning: implicit declaration of function ‘gethostname’
-
-auth_sasldb.c:153: warning: passing argument 8 of ‘_sasldb_getdata’ from incompatible pointer type
-../sasldb/sasldb.h:60: note: expected ‘size_t *’ but argument is of type ‘int *’
-
---- saslauthd/auth_sasldb.c
-+++ saslauthd/auth_sasldb.c
-@@ -41,6 +41,7 @@
- #include <string.h>
- #include <stdlib.h>
- #include <pwd.h>
-+#include <unistd.h>
- /* END PUBLIC DEPENDENCIES */
-
- #define RETURN(x) return strdup(x)
-@@ -131,7 +132,8 @@
- /* VARIABLES */
- char pw[1024]; /* pointer to passwd file entry */
- sasl_utils_t utils;
-- int ret, outsize;
-+ int ret;
-+ size_t outsize;
- const char *use_realm;
- char realm_buf[MAXHOSTNAMELEN];
- /* END VARIABLES */
diff --git a/abs/core/libsasl/cyrus-sasl-2.1.26-size_t.patch b/abs/core/libsasl/cyrus-sasl-2.1.26-size_t.patch
new file mode 100644
index 0000000..3a4820f
--- /dev/null
+++ b/abs/core/libsasl/cyrus-sasl-2.1.26-size_t.patch
@@ -0,0 +1,11 @@
+--- cyrus-sasl-2.1.26/include/sasl.h 2012-10-12 09:05:48.000000000 -0500
++++ cyrus-sasl-2.1.26/include/sasl.h 2013-01-31 13:21:04.007739327 -0600
+@@ -223,6 +223,8 @@ extern "C" {
+ * they must be called before all other SASL functions:
+ */
+
++#include <sys/types.h>
++
+ /* memory allocation functions which may optionally be replaced:
+ */
+ typedef void *sasl_malloc_t(size_t);
diff --git a/abs/core/libsasl/cyrus-sasl-2.1.27-openssl-1.1.0.patch b/abs/core/libsasl/cyrus-sasl-2.1.27-openssl-1.1.0.patch
new file mode 100644
index 0000000..c02a214
--- /dev/null
+++ b/abs/core/libsasl/cyrus-sasl-2.1.27-openssl-1.1.0.patch
@@ -0,0 +1,435 @@
+diff -up cyrus-sasl-2.1.26/plugins/ntlm.c.openssl110 cyrus-sasl-2.1.26/plugins/ntlm.c
+--- cyrus-sasl-2.1.26/plugins/ntlm.c.openssl110 2012-01-28 00:31:36.000000000 +0100
++++ cyrus-sasl-2.1.26/plugins/ntlm.c 2016-11-07 16:15:57.498259304 +0100
+@@ -417,6 +417,29 @@ static unsigned char *P24(unsigned char
+ return P24;
+ }
+
++static HMAC_CTX *_plug_HMAC_CTX_new(const sasl_utils_t *utils)
++{
++ utils->log(NULL, SASL_LOG_DEBUG, "_plug_HMAC_CTX_new()");
++
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++ return HMAC_CTX_new();
++#else
++ return utils->malloc(sizeof(HMAC_CTX));
++#endif
++}
++
++static void _plug_HMAC_CTX_free(HMAC_CTX *ctx, const sasl_utils_t *utils)
++{
++ utils->log(NULL, SASL_LOG_DEBUG, "_plug_HMAC_CTX_free()");
++
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++ HMAC_CTX_free(ctx);
++#else
++ HMAC_cleanup(ctx);
++ utils->free(ctx);
++#endif
++}
++
+ static unsigned char *V2(unsigned char *V2, sasl_secret_t *passwd,
+ const char *authid, const char *target,
+ const unsigned char *challenge,
+@@ -424,7 +447,7 @@ static unsigned char *V2(unsigned char *
+ const sasl_utils_t *utils,
+ char **buf, unsigned *buflen, int *result)
+ {
+- HMAC_CTX ctx;
++ HMAC_CTX *ctx = NULL;
+ unsigned char hash[EVP_MAX_MD_SIZE];
+ char *upper;
+ unsigned int len;
+@@ -435,6 +458,10 @@ static unsigned char *V2(unsigned char *
+ SETERROR(utils, "cannot allocate NTLMv2 hash");
+ *result = SASL_NOMEM;
+ }
++ else if ((ctx = _plug_HMAC_CTX_new(utils)) == NULL) {
++ SETERROR(utils, "cannot allocate HMAC CTX");
++ *result = SASL_NOMEM;
++ }
+ else {
+ /* NTLMv2hash = HMAC-MD5(NTLMhash, unicode(ucase(authid + domain))) */
+ P16_nt(hash, passwd, utils, buf, buflen, result);
+@@ -449,17 +476,18 @@ static unsigned char *V2(unsigned char *
+ HMAC(EVP_md5(), hash, MD4_DIGEST_LENGTH, *buf, 2 * len, hash, &len);
+
+ /* V2 = HMAC-MD5(NTLMv2hash, challenge + blob) + blob */
+- HMAC_Init(&ctx, hash, len, EVP_md5());
+- HMAC_Update(&ctx, challenge, NTLM_NONCE_LENGTH);
+- HMAC_Update(&ctx, blob, bloblen);
+- HMAC_Final(&ctx, V2, &len);
+- HMAC_cleanup(&ctx);
++ HMAC_Init_ex(ctx, hash, len, EVP_md5(), NULL);
++ HMAC_Update(ctx, challenge, NTLM_NONCE_LENGTH);
++ HMAC_Update(ctx, blob, bloblen);
++ HMAC_Final(ctx, V2, &len);
+
+ /* the blob is concatenated outside of this function */
+
+ *result = SASL_OK;
+ }
+
++ if (ctx) _plug_HMAC_CTX_free(ctx, utils);
++
+ return V2;
+ }
+
+diff -up cyrus-sasl-2.1.26/plugins/otp.c.openssl110 cyrus-sasl-2.1.26/plugins/otp.c
+--- cyrus-sasl-2.1.26/plugins/otp.c.openssl110 2012-10-12 16:05:48.000000000 +0200
++++ cyrus-sasl-2.1.26/plugins/otp.c 2016-11-07 16:13:54.374327601 +0100
+@@ -96,6 +96,28 @@ static algorithm_option_t algorithm_opti
+ {NULL, 0, NULL}
+ };
+
++static EVP_MD_CTX *_plug_EVP_MD_CTX_new(const sasl_utils_t *utils)
++{
++ utils->log(NULL, SASL_LOG_DEBUG, "_plug_EVP_MD_CTX_new()");
++
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++ return EVP_MD_CTX_new();
++#else
++ return utils->malloc(sizeof(EVP_MD_CTX));
++#endif
++}
++
++static void _plug_EVP_MD_CTX_free(EVP_MD_CTX *ctx, const sasl_utils_t *utils)
++{
++ utils->log(NULL, SASL_LOG_DEBUG, "_plug_EVP_MD_CTX_free()");
++
++#if OPENSSL_VERSION_NUMBER >= 0x10100000L
++ EVP_MD_CTX_free(ctx);
++#else
++ utils->free(ctx);
++#endif
++}
++
+ /* Convert the binary data into ASCII hex */
+ void bin2hex(unsigned char *bin, int binlen, char *hex)
+ {
+@@ -116,17 +138,16 @@ void bin2hex(unsigned char *bin, int bin
+ * swabbing bytes if necessary.
+ */
+ static void otp_hash(const EVP_MD *md, char *in, size_t inlen,
+- unsigned char *out, int swab)
++ unsigned char *out, int swab, EVP_MD_CTX *mdctx)
+ {
+- EVP_MD_CTX mdctx;
+- char hash[EVP_MAX_MD_SIZE];
++ unsigned char hash[EVP_MAX_MD_SIZE];
+ unsigned int i;
+ int j;
+ unsigned hashlen;
+
+- EVP_DigestInit(&mdctx, md);
+- EVP_DigestUpdate(&mdctx, in, inlen);
+- EVP_DigestFinal(&mdctx, hash, &hashlen);
++ EVP_DigestInit(mdctx, md);
++ EVP_DigestUpdate(mdctx, in, inlen);
++ EVP_DigestFinal(mdctx, hash, &hashlen);
+
+ /* Fold the result into 64 bits */
+ for (i = OTP_HASH_SIZE; i < hashlen; i++) {
+@@ -149,7 +170,9 @@ static int generate_otp(const sasl_utils
+ char *secret, char *otp)
+ {
+ const EVP_MD *md;
+- char *key;
++ EVP_MD_CTX *mdctx = NULL;
++ char *key = NULL;
++ int r = SASL_OK;
+
+ if (!(md = EVP_get_digestbyname(alg->evp_name))) {
+ utils->seterror(utils->conn, 0,
+@@ -157,23 +180,32 @@ static int generate_otp(const sasl_utils
+ return SASL_FAIL;
+ }
+
++ if ((mdctx = _plug_EVP_MD_CTX_new(utils)) == NULL) {
++ SETERROR(utils, "cannot allocate MD CTX");
++ r = SASL_NOMEM;
++ goto done;
++ }
++
+ if ((key = utils->malloc(strlen(seed) + strlen(secret) + 1)) == NULL) {
+ SETERROR(utils, "cannot allocate OTP key");
+- return SASL_NOMEM;
++ r = SASL_NOMEM;
++ goto done;
+ }
+
+ /* initial step */
+ strcpy(key, seed);
+ strcat(key, secret);
+- otp_hash(md, key, strlen(key), otp, alg->swab);
++ otp_hash(md, key, strlen(key), otp, alg->swab, mdctx);
+
+ /* computation step */
+ while (seq-- > 0)
+- otp_hash(md, otp, OTP_HASH_SIZE, otp, alg->swab);
+-
+- utils->free(key);
++ otp_hash(md, otp, OTP_HASH_SIZE, otp, alg->swab, mdctx);
++
++ done:
++ if (key) utils->free(key);
++ if (mdctx) _plug_EVP_MD_CTX_free(mdctx, utils);
+
+- return SASL_OK;
++ return r;
+ }
+
+ static int parse_challenge(const sasl_utils_t *utils,
+@@ -693,7 +725,8 @@ static int strptrcasecmp(const void *arg
+
+ /* Convert the 6 words into binary data */
+ static int word2bin(const sasl_utils_t *utils,
+- char *words, unsigned char *bin, const EVP_MD *md)
++ char *words, unsigned char *bin, const EVP_MD *md,
++ EVP_MD_CTX *mdctx)
+ {
+ int i, j;
+ char *c, *word, buf[OTP_RESPONSE_MAX+1];
+@@ -752,13 +785,12 @@ static int word2bin(const sasl_utils_t *
+
+ /* alternate dictionary */
+ if (alt_dict) {
+- EVP_MD_CTX mdctx;
+- char hash[EVP_MAX_MD_SIZE];
+- int hashlen;
++ unsigned char hash[EVP_MAX_MD_SIZE];
++ unsigned hashlen;
+
+- EVP_DigestInit(&mdctx, md);
+- EVP_DigestUpdate(&mdctx, word, strlen(word));
+- EVP_DigestFinal(&mdctx, hash, &hashlen);
++ EVP_DigestInit(mdctx, md);
++ EVP_DigestUpdate(mdctx, word, strlen(word));
++ EVP_DigestFinal(mdctx, hash, &hashlen);
+
+ /* use lowest 11 bits */
+ x = ((hash[hashlen-2] & 0x7) << 8) | hash[hashlen-1];
+@@ -802,6 +834,7 @@ static int verify_response(server_contex
+ char *response)
+ {
+ const EVP_MD *md;
++ EVP_MD_CTX *mdctx = NULL;
+ char *c;
+ int do_init = 0;
+ unsigned char cur_otp[OTP_HASH_SIZE], prev_otp[OTP_HASH_SIZE];
+@@ -815,6 +848,11 @@ static int verify_response(server_contex
+ return SASL_FAIL;
+ }
+
++ if ((mdctx = _plug_EVP_MD_CTX_new(utils)) == NULL) {
++ SETERROR(utils, "cannot allocate MD CTX");
++ return SASL_NOMEM;
++ }
++
+ /* eat leading whitespace */
+ c = response;
+ while (isspace((int) *c)) c++;
+@@ -824,7 +862,7 @@ static int verify_response(server_contex
+ r = hex2bin(c+strlen(OTP_HEX_TYPE), cur_otp, OTP_HASH_SIZE);
+ }
+ else if (!strncasecmp(c, OTP_WORD_TYPE, strlen(OTP_WORD_TYPE))) {
+- r = word2bin(utils, c+strlen(OTP_WORD_TYPE), cur_otp, md);
++ r = word2bin(utils, c+strlen(OTP_WORD_TYPE), cur_otp, md, mdctx);
+ }
+ else if (!strncasecmp(c, OTP_INIT_HEX_TYPE,
+ strlen(OTP_INIT_HEX_TYPE))) {
+@@ -834,7 +872,7 @@ static int verify_response(server_contex
+ else if (!strncasecmp(c, OTP_INIT_WORD_TYPE,
+ strlen(OTP_INIT_WORD_TYPE))) {
+ do_init = 1;
+- r = word2bin(utils, c+strlen(OTP_INIT_WORD_TYPE), cur_otp, md);
++ r = word2bin(utils, c+strlen(OTP_INIT_WORD_TYPE), cur_otp, md, mdctx);
+ }
+ else {
+ SETERROR(utils, "unknown OTP extended response type");
+@@ -843,14 +881,15 @@ static int verify_response(server_contex
+ }
+ else {
+ /* standard response, try word first, and then hex */
+- r = word2bin(utils, c, cur_otp, md);
++ r = word2bin(utils, c, cur_otp, md, mdctx);
+ if (r != SASL_OK)
+ r = hex2bin(c, cur_otp, OTP_HASH_SIZE);
+ }
+
+ if (r == SASL_OK) {
+ /* do one more hash (previous otp) and compare to stored otp */
+- otp_hash(md, cur_otp, OTP_HASH_SIZE, prev_otp, text->alg->swab);
++ otp_hash(md, (char *) cur_otp, OTP_HASH_SIZE,
++ prev_otp, text->alg->swab, mdctx);
+
+ if (!memcmp(prev_otp, text->otp, OTP_HASH_SIZE)) {
+ /* update the secret with this seq/otp */
+@@ -879,23 +918,28 @@ static int verify_response(server_contex
+ *new_resp++ = '\0';
+ }
+
+- if (!(new_chal && new_resp))
+- return SASL_BADAUTH;
++ if (!(new_chal && new_resp)) {
++ r = SASL_BADAUTH;
++ goto done;
++ }
+
+ if ((r = parse_challenge(utils, new_chal, &alg, &seq, seed, 1))
+ != SASL_OK) {
+- return r;
++ goto done;
+ }
+
+- if (seq < 1 || !strcasecmp(seed, text->seed))
+- return SASL_BADAUTH;
++ if (seq < 1 || !strcasecmp(seed, text->seed)) {
++ r = SASL_BADAUTH;
++ goto done;
++ }
+
+ /* find the MDA */
+ if (!(md = EVP_get_digestbyname(alg->evp_name))) {
+ utils->seterror(utils->conn, 0,
+ "OTP algorithm %s is not available",
+ alg->evp_name);
+- return SASL_BADAUTH;
++ r = SASL_BADAUTH;
++ goto done;
+ }
+
+ if (!strncasecmp(c, OTP_INIT_HEX_TYPE, strlen(OTP_INIT_HEX_TYPE))) {
+@@ -903,7 +947,7 @@ static int verify_response(server_contex
+ }
+ else if (!strncasecmp(c, OTP_INIT_WORD_TYPE,
+ strlen(OTP_INIT_WORD_TYPE))) {
+- r = word2bin(utils, new_resp, new_otp, md);
++ r = word2bin(utils, new_resp, new_otp, md, mdctx);
+ }
+
+ if (r == SASL_OK) {
+@@ -914,7 +958,10 @@ static int verify_response(server_contex
+ memcpy(text->otp, new_otp, OTP_HASH_SIZE);
+ }
+ }
+-
++
++ done:
++ if (mdctx) _plug_EVP_MD_CTX_free(mdctx, utils);
++
+ return r;
+ }
+
+diff -up cyrus-sasl-2.1.26/saslauthd/lak.c.openssl110 cyrus-sasl-2.1.26/saslauthd/lak.c
+--- cyrus-sasl-2.1.26/saslauthd/lak.c.openssl110 2016-11-07 16:13:54.347327616 +0100
++++ cyrus-sasl-2.1.26/saslauthd/lak.c 2016-11-07 16:18:42.283167898 +0100
+@@ -61,6 +61,35 @@
+ #include <sasl.h>
+ #include "lak.h"
+
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++static EVP_MD_CTX *EVP_MD_CTX_new(void)
++{
++ return EVP_MD_CTX_create();
++}
++static void EVP_MD_CTX_free(EVP_MD_CTX *ctx)
++{
++ if (ctx == NULL)
++ return;
++
++ EVP_MD_CTX_destroy(ctx);
++}
++
++static EVP_ENCODE_CTX *EVP_ENCODE_CTX_new(void)
++{
++ EVP_ENCODE_CTX *ctx = OPENSSL_malloc(sizeof(*ctx));
++
++ if (ctx != NULL) {
++ memset(ctx, 0, sizeof(*ctx));
++ }
++ return ctx;
++}
++static void EVP_ENCODE_CTX_free(EVP_ENCODE_CTX *ctx)
++{
++ OPENSSL_free(ctx);
++ return;
++}
++#endif
++
+ typedef struct lak_auth_method {
+ int method;
+ int (*check) (LAK *lak, const char *user, const char *service, const char *realm, const char *password) ;
+@@ -1720,20 +1749,28 @@ static int lak_base64_decode(
+
+ int rc, i, tlen = 0;
+ char *text;
+- EVP_ENCODE_CTX EVP_ctx;
++ EVP_ENCODE_CTX *enc_ctx = EVP_ENCODE_CTX_new();
+
+- text = (char *)malloc(((strlen(src)+3)/4 * 3) + 1);
+ if (text == NULL)
+ return LAK_NOMEM;
+
+- EVP_DecodeInit(&EVP_ctx);
+- rc = EVP_DecodeUpdate(&EVP_ctx, text, &i, (char *)src, strlen(src));
++ text = (char *)malloc(((strlen(src)+3)/4 * 3) + 1);
++ if (text == NULL) {
++ EVP_ENCODE_CTX_free(enc_ctx);
++ return LAK_NOMEM;
++ }
++
++ EVP_DecodeInit(enc_ctx);
++ rc = EVP_DecodeUpdate(enc_ctx, (unsigned char *) text, &i, (const unsigned char *)src, strlen(src));
+ if (rc < 0) {
++ EVP_ENCODE_CTX_free(enc_ctx);
+ free(text);
+ return LAK_FAIL;
+ }
+ tlen += i;
+- EVP_DecodeFinal(&EVP_ctx, text, &i);
++ EVP_DecodeFinal(enc_ctx, (unsigned char *) text, &i);
++
++ EVP_ENCODE_CTX_free(enc_ctx);
+
+ *ret = text;
+ if (rlen != NULL)
+@@ -1749,7 +1786,7 @@ static int lak_check_hashed(
+ {
+ int rc, clen;
+ LAK_HASH_ROCK *hrock = (LAK_HASH_ROCK *) rock;
+- EVP_MD_CTX mdctx;
++ EVP_MD_CTX *mdctx;
+ const EVP_MD *md;
+ unsigned char digest[EVP_MAX_MD_SIZE];
+ char *cred;
+@@ -1758,17 +1795,24 @@ static int lak_check_hashed(
+ if (!md)
+ return LAK_FAIL;
+
++ mdctx = EVP_MD_CTX_new();
++ if (!mdctx)
++ return LAK_NOMEM;
++
+ rc = lak_base64_decode(hash, &cred, &clen);
+- if (rc != LAK_OK)
++ if (rc != LAK_OK) {
++ EVP_MD_CTX_free(mdctx);
+ return rc;
++ }
+
+- EVP_DigestInit(&mdctx, md);
+- EVP_DigestUpdate(&mdctx, passwd, strlen(passwd));
++ EVP_DigestInit(mdctx, md);
++ EVP_DigestUpdate(mdctx, passwd, strlen(passwd));
+ if (hrock->salted) {
+- EVP_DigestUpdate(&mdctx, &cred[EVP_MD_size(md)],
++ EVP_DigestUpdate(mdctx, &cred[EVP_MD_size(md)],
+ clen - EVP_MD_size(md));
+ }
+- EVP_DigestFinal(&mdctx, digest, NULL);
++ EVP_DigestFinal(mdctx, digest, NULL);
++ EVP_MD_CTX_free(mdctx);
+
+ rc = memcmp((char *)cred, (char *)digest, EVP_MD_size(md));
+ free(cred);
diff --git a/abs/core/libsasl/cyrus-sasl-gssapi.patch b/abs/core/libsasl/cyrus-sasl-gssapi.patch
new file mode 100644
index 0000000..cfbcd8b
--- /dev/null
+++ b/abs/core/libsasl/cyrus-sasl-gssapi.patch
@@ -0,0 +1,16 @@
+diff -aur cyrus-sasl-2.1.26.orig/plugins/gssapi.c cyrus-sasl-2.1.26/plugins/gssapi.c
+--- cyrus-sasl-2.1.26.orig/plugins/gssapi.c 2016-06-10 13:55:25.985676293 -0700
++++ cyrus-sasl-2.1.26/plugins/gssapi.c 2016-06-10 13:58:00.687337430 -0700
+@@ -1583,10 +1583,10 @@
+ }
+
+ /* Setup req_flags properly */
+- req_flags = GSS_C_INTEG_FLAG;
++ req_flags = GSS_C_MUTUAL_FLAG | GSS_C_SEQUENCE_FLAG;
+ if (params->props.max_ssf > params->external_ssf) {
+ /* We are requesting a security layer */
+- req_flags |= GSS_C_MUTUAL_FLAG | GSS_C_SEQUENCE_FLAG;
++ req_flags |= GSS_C_INTEG_FLAG;
+ /* Any SSF bigger than 1 is confidentiality. */
+ /* Let's check if the client of the API requires confidentiality,
+ and it wasn't already provided by an external layer */
diff --git a/abs/core/libsasl/cyrus-sasl-sql.patch b/abs/core/libsasl/cyrus-sasl-sql.patch
new file mode 100644
index 0000000..2dcdad8
--- /dev/null
+++ b/abs/core/libsasl/cyrus-sasl-sql.patch
@@ -0,0 +1,39 @@
+--- configure.in 2012-10-12 16:05:48.000000000 +0200
++++ configure.in 2013-05-11 18:48:59.021848013 +0200
+@@ -861,9 +860,9 @@
+ notfound) AC_WARN([SQLite Library not found]); true;;
+ *)
+ if test -d ${with_sqlite}/lib; then
+- LIB_SQLITE="-L${with_sqlite}/lib -R${with_sqlite}/lib"
++ LIB_SQLITE="-L${with_sqlite}/lib"
+ else
+- LIB_SQLITE="-L${with_sqlite} -R${with_sqlite}"
++ LIB_SQLITE="-L${with_sqlite}"
+ fi
+
+ LIB_SQLITE_DIR=$LIB_SQLITE
+@@ -913,9 +912,9 @@
+ notfound) AC_WARN([SQLite3 Library not found]); true;;
+ *)
+ if test -d ${with_sqlite3}/lib; then
+- LIB_SQLITE3="-L${with_sqlite3}/lib -R${with_sqlite3}/lib"
++ LIB_SQLITE3="-L${with_sqlite3}/lib"
+ else
+- LIB_SQLITE3="-L${with_sqlite3} -R${with_sqlite3}"
++ LIB_SQLITE3="-L${with_sqlite3}"
+ fi
+
+ LIB_SQLITE3_DIR=$LIB_SQLITE3
+--- configure.in
++++ configure.in
+@@ -674,7 +674,9 @@
+ LIB_PGSQL_DIR=$LIB_PGSQL
+ LIB_PGSQL="$LIB_PGSQL -lpq"
+
+- if test -d ${with_pgsql}/include/pgsql; then
++ if test -d ${with_pgsql}/include/postgresql/pgsql; then
++ CPPFLAGS="${CPPFLAGS} -I${with_pgsql}/include/postgresql/pgsql"
++ elif test -d ${with_pgsql}/include/pgsql; then
+ CPPFLAGS="${CPPFLAGS} -I${with_pgsql}/include/pgsql"
+ elif test -d ${with_pgsql}/pgsql/include; then
+ CPPFLAGS="${CPPFLAGS} -I${with_pgsql}/pgsql/include"
diff --git a/abs/core/libsasl/fix-pkgconfig.patch b/abs/core/libsasl/fix-pkgconfig.patch
new file mode 100644
index 0000000..3b1c38e
--- /dev/null
+++ b/abs/core/libsasl/fix-pkgconfig.patch
@@ -0,0 +1,27 @@
+From 3f42b7d7f3ef52056c79b31529d1a5be695c74c1 Mon Sep 17 00:00:00 2001
+From: Ignacio Casal Quinteiro <icq@gnome.org>
+Date: Fri, 20 Nov 2015 11:16:31 +0100
+Subject: [PATCH] Fix up pkgconfig pc file
+
+---
+ libsasl2.pc.in | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/libsasl2.pc.in b/libsasl2.pc.in
+index 40bea37..ddad76d 100644
+--- a/libsasl2.pc.in
++++ b/libsasl2.pc.in
+@@ -1,8 +1,12 @@
+-libdir = @libdir@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
+
+ Name: Cyrus SASL
+ Description: Cyrus SASL implementation
+ URL: http://www.cyrussasl.org/
+ Version: @VERSION@
++Cflags: -I${includedir}
+ Libs: -L${libdir} -lsasl2
+ Libs.private: @LIB_DOOR@ @SASL_DL_LIB@ @LIBS@
diff --git a/abs/core/libsasl/saslauthd b/abs/core/libsasl/saslauthd
deleted file mode 100644
index 6afafae..0000000
--- a/abs/core/libsasl/saslauthd
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/bin/bash
-
-# source application-specific settings
-[ -f /etc/conf.d/saslauthd ] && . /etc/conf.d/saslauthd
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-DAEMON_NAME="saslauthd"
-SASLAUTHD_BIN=/usr/sbin/saslauthd
-SASLAUTHD_RUN=/var/run/saslauthd
-SASLAUTHD_PID=$SASLAUTHD_RUN/saslauthd.pid
-
-case "$1" in
- start)
- stat_busy "Starting $DAEMON_NAME"
- [ ! -d /var/run/saslauthd ] && install -d /var/run/saslauthd
- if $SASLAUTHD_BIN $SASLAUTHD_OPTS >/dev/null; then
- add_daemon $DAEMON_NAME
- stat_done
- else
- stat_fail
- exit 1
- fi
- ;;
-
- stop)
- stat_busy "Stopping $DAEMON_NAME"
- [ -f $SASLAUTHD_PID ] && kill `cat $SASLAUTHD_PID` &>/dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- exit 1
- else
- rm_daemon $DAEMON_NAME
- stat_done
- fi
- ;;
-
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
-
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
-exit 0
-# vim: ts=2 sw=2 et ft=sh
diff --git a/abs/core/libsasl/saslauthd.service b/abs/core/libsasl/saslauthd.service
new file mode 100644
index 0000000..978dbd3
--- /dev/null
+++ b/abs/core/libsasl/saslauthd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Cyrus SASL authentication daemon
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/conf.d/saslauthd
+ExecStart=/usr/sbin/saslauthd $SASLAUTHD_OPTS
+PIDFile=/var/run/saslauthd/saslauthd.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/abs/core/libsasl/tmpfiles.conf b/abs/core/libsasl/tmpfiles.conf
new file mode 100644
index 0000000..7258b1a
--- /dev/null
+++ b/abs/core/libsasl/tmpfiles.conf
@@ -0,0 +1 @@
+d /run/saslauthd 0755 root root - -
diff --git a/abs/core/libsm/PKGBUILD b/abs/core/libsm/PKGBUILD
index 945778b..14aab58 100644
--- a/abs/core/libsm/PKGBUILD
+++ b/abs/core/libsm/PKGBUILD
@@ -1,27 +1,26 @@
-# $Id: PKGBUILD 151850 2012-03-03 13:43:52Z andyrtr $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libsm
-pkgver=1.2.1
-pkgrel=1
+pkgver=1.2.2
+pkgrel=2
pkgdesc="X11 Session Management library"
-arch=('i686' 'x86_64')
+arch=('x86_64')
license=('custom')
-url="http://xorg.freedesktop.org/"
-depends=('libice' 'util-linux-ng')
+url="https://xorg.freedesktop.org/"
+depends=('libice' 'util-linux')
makedepends=('xorg-util-macros' 'xtrans')
-options=('!libtool')
source=(${url}/releases/individual/lib/libSM-${pkgver}.tar.bz2)
-sha1sums=('8d354a165e330022ffd3606aba562b8c8154213d')
+sha256sums=('0baca8c9f5d934450a70896c4ad38d06475521255ca63b717a6510fdb6e287bd')
build() {
- cd "${srcdir}/libSM-${pkgver}"
+ cd libSM-${pkgver}
./configure --prefix=/usr --sysconfdir=/etc
make
}
package() {
- cd "${srcdir}/libSM-${pkgver}"
+ cd libSM-${pkgver}
make DESTDIR="${pkgdir}" install
install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
diff --git a/abs/core/libssh2/PKGBUILD b/abs/core/libssh2/PKGBUILD
index d9b7d82..695c448 100644
--- a/abs/core/libssh2/PKGBUILD
+++ b/abs/core/libssh2/PKGBUILD
@@ -6,18 +6,20 @@
# Contributor: ice-man <icemanf@gmail.com>
pkgname=libssh2
-pkgver=1.4.3
+pkgver=1.8.0
pkgrel=2
pkgdesc="A library implementing the SSH2 protocol as defined by Internet Drafts"
-url="http://www.libssh2.org/"
-arch=('i686' 'x86_64')
+url="https://www.libssh2.org/"
+arch=('x86_64')
license=('BSD')
depends=('openssl')
makedepends=('zlib')
provides=('libssh2.so')
-source=("http://www.libssh2.org/download/$pkgname-$pkgver.tar.gz"{,.asc})
-md5sums=('071004c60c5d6f90354ad1b701013a0b'
- 'bd01eca1e58c15233d69dae411dd2656')
+validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2' # Daniel Stenberg
+ '914C533DF9B2ADA2204F586D78E11C6B279D5C91') # Daniel Stenberg (old key)
+source=("https://www.libssh2.org/download/$pkgname-$pkgver.tar.gz"{,.asc})
+md5sums=('3d1147cae66e2959ea5441b183de1b1c'
+ 'SKIP')
build() {
cd "$pkgname-$pkgver"
diff --git a/abs/core/libstatgrab/PKGBUILD b/abs/core/libstatgrab/PKGBUILD
index a531c26..14ca612 100644
--- a/abs/core/libstatgrab/PKGBUILD
+++ b/abs/core/libstatgrab/PKGBUILD
@@ -1,28 +1,30 @@
-# $Id: PKGBUILD 22416 2010-07-21 18:45:21Z jlichtblau $
+# $Id$
# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
# Contributor: Eric Belanger <eric@archlinux.org>
# Contributor: Hugo Ideler <hugoideler@dse.nl>
pkgname=libstatgrab
-pkgver=0.16
+pkgver=0.91
pkgrel=2
pkgdesc="A library that provides cross platform access to statistics about the system on which it's run"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://www.i-scream.org/libstatgrab"
license=('LGPL' 'GPL')
depends=('ncurses' 'perl')
-options=('!libtool' '!makeflags')
+options=('!makeflags')
changelog=$pkgname.changelog
-source=(http://www.mirrorservice.org/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/$pkgname-$pkgver.tar.gz)
-md5sums=('77582438274679a9641d043ddcccdd4e')
+source=(http://www.mirrorservice.org/sites/ftp.i-scream.org/pub/i-scream/$pkgname/$pkgname-$pkgver.tar.gz)
+sha256sums=('03e9328e4857c2c9dcc1b0347724ae4cd741a72ee11acc991784e8ef45b7f1ab')
build() {
- cd ${srcdir}/$pkgname-$pkgver
+ cd "${srcdir}"/$pkgname-$pkgver
./configure --prefix=/usr
- make || return 1
+ make
}
+
package() {
- cd ${srcdir}/$pkgname-$pkgver
- make DESTDIR=${pkgdir} install
+ cd "${srcdir}"/$pkgname-$pkgver
+
+ make DESTDIR="${pkgdir}" install
}
diff --git a/abs/core/libstatgrab/libstatgrab.changelog b/abs/core/libstatgrab/libstatgrab.changelog
index b65782f..25a2ef3 100644
--- a/abs/core/libstatgrab/libstatgrab.changelog
+++ b/abs/core/libstatgrab/libstatgrab.changelog
@@ -1,3 +1,12 @@
+2014-11-06 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * libstatgrab 0.91-1
+
+2013-12-25 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * libstatgrab 0.17-4 static library removal
+
+2011-01-27 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * libstatgrab 0.17-1
+
2010-07-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
* rebuild for correct package naming
@@ -6,3 +15,4 @@
* libstatgrab 0.16-1
* Upstream update
* Added ChangeLog
+
diff --git a/abs/core/libtasn1/PKGBUILD b/abs/core/libtasn1/PKGBUILD
index 0942ca5..d6ca02f 100644
--- a/abs/core/libtasn1/PKGBUILD
+++ b/abs/core/libtasn1/PKGBUILD
@@ -4,17 +4,16 @@
# Contributor: judd <jvinet@zeroflux.org>
pkgname=libtasn1
-pkgver=4.7
+pkgver=4.13
pkgrel=1
pkgdesc="The ASN.1 library used in GNUTLS"
-arch=('i686' 'x86_64')
+arch=('x86_64')
license=('GPL3' 'LGPL')
-url="http://www.gnu.org/software/libtasn1/"
-depends=('glibc' 'texinfo')
-install=libtasn1.install
-source=(http://ftp.gnu.org/gnu/libtasn1/${pkgname}-${pkgver}.tar.gz{,.sig})
-md5sums=('12d10ca4ae0a3b95f7aa06a076da39ec'
- 'SKIP')
+url="https://www.gnu.org/software/libtasn1/"
+depends=('glibc')
+source=(https://ftp.gnu.org/gnu/libtasn1/${pkgname}-${pkgver}.tar.gz{,.sig})
+sha256sums=('7e528e8c317ddd156230c4e31d082cd13e7ddeb7a54824be82632209550c8cca'
+ 'SKIP')
validpgpkeys=('1F42418905D8206AA754CCDC29EE58B996865171') #Nikos Mavrogiannopoulos <nmav@gnutls.org>
build() {
@@ -34,4 +33,5 @@ check() {
package() {
cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
+ make -C doc/reference DESTDIR="${pkgdir}" install-data-local
}
diff --git a/abs/core/libtasn1/libtasn1.install b/abs/core/libtasn1/libtasn1.install
deleted file mode 100644
index 2d1ecc0..0000000
--- a/abs/core/libtasn1/libtasn1.install
+++ /dev/null
@@ -1,18 +0,0 @@
-info_dir=/usr/share/info
-info_files=(libtasn1.info)
-
-post_install() {
- for f in ${info_files[@]}; do
- install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
- done
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- for f in ${info_files[@]}; do
- install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
- done
-}
diff --git a/abs/core/libtirpc/PKGBUILD b/abs/core/libtirpc/PKGBUILD
index 6035cdb..5219fba 100644
--- a/abs/core/libtirpc/PKGBUILD
+++ b/abs/core/libtirpc/PKGBUILD
@@ -1,42 +1,28 @@
-# $Id: PKGBUILD 133597 2011-07-29 21:03:33Z tpowa $
-# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# $Id$
+# Maintainer: Tom Gundersen <teg@jklm.no>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
pkgname=libtirpc
-pkgver=0.2.2
-pkgrel=2
+pkgver=1.0.3
+pkgrel=1
pkgdesc="Transport Independent RPC library (SunRPC replacement)"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://libtirpc.sourceforge.net/"
license=('BSD')
-depends=('libgssglue')
+depends=('krb5')
backup=('etc/netconfig')
-options=('!libtool')
-source=(http://downloads.sourceforge.net/sourceforge/libtirpc/${pkgname}-${pkgver}.tar.bz2
- libtirpc-0.2.1-fortify.patch
- libtirpc-0.2.3rc1.patch
- libtirpc-fix-segfault-0.2.2.patch)
-md5sums=('74c41c15c2909f7d11d9c7bfa7db6273'
- '2e5c067f1651469dfbbdc91d3c9c60e8'
- 'ac2a1657b44f4a99c37d8265b05b9133'
- '5a3ab55934cad4e8b38fc90c54756472')
+# git tree: git://linux-nfs.org/~steved/libtirpc
+source=(http://downloads.sourceforge.net/sourceforge/libtirpc/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('48adb32dc7c3b73c66f001c239da76b8398abf11')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- # fix http://bugs.gentoo.org/293593
- # https://bugs.archlinux.org/task/20082
- patch -Np1 -i ../libtirpc-0.2.1-fortify.patch
- # add patches from fedora git to make nfs-utils compile again
- patch -Np1 -i ../libtirpc-0.2.3rc1.patch
- patch -Np1 -i ../libtirpc-fix-segfault-0.2.2.patch
- sh autogen.sh
- autoreconf -fisv
- ./configure --prefix=/usr --enable-gss
+ cd ${pkgname}-${pkgver}
+ ./configure --prefix=/usr --sysconf=/etc
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
- install -D -m644 doc/etc_netconfig "${pkgdir}"/etc/netconfig
install -D -m644 COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
}
diff --git a/abs/core/libtirpc/libtirpc-0.2.1-fortify.patch b/abs/core/libtirpc/libtirpc-0.2.1-fortify.patch
deleted file mode 100644
index 7375bf8..0000000
--- a/abs/core/libtirpc/libtirpc-0.2.1-fortify.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Index: libtirpc-0.2.1/src/getrpcport.c
-===================================================================
---- libtirpc-0.2.1.orig/src/getrpcport.c
-+++ libtirpc-0.2.1/src/getrpcport.c
-@@ -54,11 +54,11 @@ getrpcport(host, prognum, versnum, proto
-
- if ((hp = gethostbyname(host)) == NULL)
- return (0);
-+ if (hp->h_length != sizeof(addr.sin_addr.s_addr))
-+ return (0);
- memset(&addr, 0, sizeof(addr));
- addr.sin_family = AF_INET;
- addr.sin_port = 0;
-- if (hp->h_length > sizeof(addr))
-- hp->h_length = sizeof(addr);
- memcpy(&addr.sin_addr.s_addr, hp->h_addr, (size_t)hp->h_length);
- /* Inconsistent interfaces need casts! :-( */
- return (pmap_getport(&addr, (u_long)prognum, (u_long)versnum,
diff --git a/abs/core/libtirpc/libtirpc-0.2.3rc1.patch b/abs/core/libtirpc/libtirpc-0.2.3rc1.patch
deleted file mode 100644
index d57a59e..0000000
--- a/abs/core/libtirpc/libtirpc-0.2.3rc1.patch
+++ /dev/null
@@ -1,637 +0,0 @@
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 7ee8cbc..6731ff9 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -50,7 +50,7 @@ libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c cln
- rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \
- rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_generic.c \
- svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \
-- auth_time.c auth_des.c authdes_prot.c des_crypt.c
-+ auth_time.c auth_des.c authdes_prot.c
-
- ## XDR
- libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c
-diff --git a/src/auth_des.c b/src/auth_des.c
-index 37e7667..f0c8b8c 100644
---- a/src/auth_des.c
-+++ b/src/auth_des.c
-@@ -223,6 +223,7 @@ authdes_pk_seccreate(const char *servername, netobj *pkey, u_int window,
- goto failed;
- }
- ad->ad_nis_srvr = NULL; /* not needed any longer */
-+ auth_get(auth); /* Reference for caller */
- return (auth);
-
- failed:
-@@ -472,6 +473,12 @@ authdes_destroy(AUTH *auth)
- FREE(auth, sizeof(AUTH));
- }
-
-+static bool_t
-+authdes_wrap(AUTH *auth, XDR *xdrs, xdrproc_t xfunc, caddr_t xwhere)
-+{
-+ return ((*xfunc)(xdrs, xwhere));
-+}
-+
- static struct auth_ops *
- authdes_ops(void)
- {
-@@ -487,6 +494,8 @@ authdes_ops(void)
- ops.ah_validate = authdes_validate;
- ops.ah_refresh = authdes_refresh;
- ops.ah_destroy = authdes_destroy;
-+ ops.ah_wrap = authdes_wrap;
-+ ops.ah_unwrap = authdes_wrap;
- }
- mutex_unlock(&authdes_ops_lock);
- return (&ops);
-diff --git a/src/auth_gss.c b/src/auth_gss.c
-index df3017a..a992049 100644
---- a/src/auth_gss.c
-+++ b/src/auth_gss.c
-@@ -200,6 +200,8 @@ authgss_create(CLIENT *clnt, gss_name_t name, struct rpc_gss_sec *sec)
-
- if (!authgss_refresh(auth))
- auth = NULL;
-+ else
-+ auth_get(auth); /* Reference for caller */
-
- clnt->cl_auth = save_auth;
-
-@@ -555,9 +557,20 @@ authgss_destroy_context(AUTH *auth)
-
- if (gd->gc.gc_ctx.length != 0) {
- if (gd->established) {
-+ AUTH *save_auth = NULL;
-+
-+ /* Make sure we use the right auth_ops */
-+ if (gd->clnt->cl_auth != auth) {
-+ save_auth = gd->clnt->cl_auth;
-+ gd->clnt->cl_auth = auth;
-+ }
-+
- gd->gc.gc_proc = RPCSEC_GSS_DESTROY;
- clnt_call(gd->clnt, NULLPROC, (xdrproc_t)xdr_void, NULL,
- (xdrproc_t)xdr_void, NULL, AUTH_TIMEOUT);
-+
-+ if (save_auth != NULL)
-+ gd->clnt->cl_auth = save_auth;
- }
- gss_release_buffer(&min_stat, &gd->gc.gc_ctx);
- /* XXX ANDROS check size of context - should be 8 */
-diff --git a/src/auth_none.c b/src/auth_none.c
-index a439ec6..008c589 100644
---- a/src/auth_none.c
-+++ b/src/auth_none.c
-@@ -155,6 +155,12 @@ authnone_destroy(AUTH *client)
- {
- }
-
-+static bool_t
-+authnone_wrap(AUTH *auth, XDR *xdrs, xdrproc_t xfunc, caddr_t xwhere)
-+{
-+ return ((*xfunc)(xdrs, xwhere));
-+}
-+
- static struct auth_ops *
- authnone_ops()
- {
-@@ -170,6 +176,8 @@ authnone_ops()
- ops.ah_validate = authnone_validate;
- ops.ah_refresh = authnone_refresh;
- ops.ah_destroy = authnone_destroy;
-+ ops.ah_wrap = authnone_wrap;
-+ ops.ah_unwrap = authnone_wrap;
- }
- mutex_unlock(&ops_lock);
- return (&ops);
-diff --git a/src/auth_unix.c b/src/auth_unix.c
-index c2469da..4b9b13f 100644
---- a/src/auth_unix.c
-+++ b/src/auth_unix.c
-@@ -162,6 +162,7 @@ authunix_create(machname, uid, gid, len, aup_gids)
- */
- auth->ah_cred = au->au_origcred;
- marshal_new_auth(auth);
-+ auth_get(auth); /* Reference for caller */
- return (auth);
- #ifndef _KERNEL
- cleanup_authunix_create:
-@@ -396,6 +397,12 @@ marshal_new_auth(auth)
- XDR_DESTROY(xdrs);
- }
-
-+static bool_t
-+authunix_wrap(AUTH *auth, XDR *xdrs, xdrproc_t xfunc, caddr_t xwhere)
-+{
-+ return ((*xfunc)(xdrs, xwhere));
-+}
-+
- static struct auth_ops *
- authunix_ops()
- {
-@@ -411,6 +418,8 @@ authunix_ops()
- ops.ah_validate = authunix_validate;
- ops.ah_refresh = authunix_refresh;
- ops.ah_destroy = authunix_destroy;
-+ ops.ah_wrap = authunix_wrap;
-+ ops.ah_unwrap = authunix_wrap;
- }
- mutex_unlock(&ops_lock);
- return (&ops);
-diff --git a/src/authgss_prot.c b/src/authgss_prot.c
-index 9d7fa09..0168318 100644
---- a/src/authgss_prot.c
-+++ b/src/authgss_prot.c
-@@ -161,6 +161,7 @@ xdr_rpc_gss_wrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr,
- databuflen = end - start - 4;
- XDR_SETPOS(xdrs, start + 4);
- databuf.value = XDR_INLINE(xdrs, databuflen);
-+ databuf.length = databuflen;
-
- xdr_stat = FALSE;
-
-@@ -169,7 +170,6 @@ xdr_rpc_gss_wrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr,
- XDR_SETPOS(xdrs, start);
- if (!xdr_u_int(xdrs, (u_int *)&databuflen))
- return (FALSE);
-- databuf.length = databuflen;
-
- /* Checksum rpc_gss_data_t. */
- maj_stat = gss_get_mic(&min_stat, ctx, qop,
-diff --git a/src/clnt_dg.c b/src/clnt_dg.c
-index 79fed5d..4a1f60a 100644
---- a/src/clnt_dg.c
-+++ b/src/clnt_dg.c
-@@ -366,7 +366,7 @@ call_again:
-
- if ((! XDR_PUTINT32(xdrs, (int32_t *)&proc)) ||
- (! AUTH_MARSHALL(cl->cl_auth, xdrs)) ||
-- (! (*xargs)(xdrs, argsp))) {
-+ (! AUTH_WRAP(cl->cl_auth, xdrs, xargs, argsp))) {
- cu->cu_error.re_status = RPC_CANTENCODEARGS;
- goto out;
- }
-@@ -400,8 +400,8 @@ get_reply:
- * (We assume that this is actually only executed once.)
- */
- reply_msg.acpted_rply.ar_verf = _null_auth;
-- reply_msg.acpted_rply.ar_results.where = resultsp;
-- reply_msg.acpted_rply.ar_results.proc = xresults;
-+ reply_msg.acpted_rply.ar_results.where = NULL;
-+ reply_msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void;
-
- fd.fd = cu->cu_fd;
- fd.events = POLLIN;
-@@ -512,6 +512,10 @@ get_reply:
- &reply_msg.acpted_rply.ar_verf)) {
- cu->cu_error.re_status = RPC_AUTHERROR;
- cu->cu_error.re_why = AUTH_INVALIDRESP;
-+ } else if (! AUTH_UNWRAP(cl->cl_auth, &reply_xdrs,
-+ xresults, resultsp)) {
-+ if (cu->cu_error.re_status == RPC_SUCCESS)
-+ cu->cu_error.re_status = RPC_CANTDECODERES;
- }
- if (reply_msg.acpted_rply.ar_verf.oa_base != NULL) {
- xdrs->x_op = XDR_FREE;
-diff --git a/src/clnt_vc.c b/src/clnt_vc.c
-index 359063c..097cae8 100644
---- a/src/clnt_vc.c
-+++ b/src/clnt_vc.c
-@@ -364,7 +364,7 @@ call_again:
- if ((! XDR_PUTBYTES(xdrs, ct->ct_u.ct_mcallc, ct->ct_mpos)) ||
- (! XDR_PUTINT32(xdrs, (int32_t *)&proc)) ||
- (! AUTH_MARSHALL(cl->cl_auth, xdrs)) ||
-- (! (*xdr_args)(xdrs, args_ptr))) {
-+ (! AUTH_WRAP(cl->cl_auth, xdrs, xdr_args, args_ptr))) {
- if (ct->ct_error.re_status == RPC_SUCCESS)
- ct->ct_error.re_status = RPC_CANTENCODEARGS;
- (void)xdrrec_endofrecord(xdrs, TRUE);
-@@ -420,7 +420,8 @@ call_again:
- &reply_msg.acpted_rply.ar_verf)) {
- ct->ct_error.re_status = RPC_AUTHERROR;
- ct->ct_error.re_why = AUTH_INVALIDRESP;
-- } else if (! (*xdr_results)(xdrs, results_ptr)) {
-+ } else if (! AUTH_UNWRAP(cl->cl_auth, xdrs,
-+ xdr_results, results_ptr)) {
- if (ct->ct_error.re_status == RPC_SUCCESS)
- ct->ct_error.re_status = RPC_CANTDECODERES;
- }
-diff --git a/src/svc.c b/src/svc.c
-index b4a63d0..08cd6c9 100644
---- a/src/svc.c
-+++ b/src/svc.c
-@@ -77,9 +77,6 @@ static struct svc_callout
-
- extern rwlock_t svc_lock;
- extern rwlock_t svc_fd_lock;
--#ifdef HAVE_LIBGSSAPI
--extern struct svc_auth_ops svc_auth_gss_ops;
--#endif
-
- static struct svc_callout *svc_find (rpcprog_t, rpcvers_t,
- struct svc_callout **, char *);
-@@ -717,11 +714,9 @@ svc_getreq_common (fd)
- SVC_DESTROY (xprt);
- break;
- }
-- else if ((xprt->xp_auth != NULL)
--#ifdef HAVE_LIBGSSAPI
-- && (xprt->xp_auth->svc_ah_ops != &svc_auth_gss_ops)
--#endif
-- ) {
-+ else if ((xprt->xp_auth != NULL) &&
-+ (xprt->xp_auth->svc_ah_private == NULL))
-+ {
- xprt->xp_auth = NULL;
- }
- }
-diff --git a/src/svc_auth.c b/src/svc_auth.c
-index c6b3a0b..e80d5f9 100644
---- a/src/svc_auth.c
-+++ b/src/svc_auth.c
-@@ -98,8 +98,8 @@ _authenticate(rqst, msg)
- rqst->rq_xprt->xp_verf.oa_length = 0;
- cred_flavor = rqst->rq_cred.oa_flavor;
- switch (cred_flavor) {
-- case AUTH_NULL:
-- dummy = _svcauth_null(rqst, msg);
-+ case AUTH_NONE:
-+ dummy = _svcauth_none(rqst, msg);
- return (dummy);
- case AUTH_SYS:
- dummy = _svcauth_unix(rqst, msg);
-@@ -132,15 +132,6 @@ _authenticate(rqst, msg)
- return (AUTH_REJECTEDCRED);
- }
-
--/*ARGSUSED*/
--enum auth_stat
--_svcauth_null(rqst, msg)
-- struct svc_req *rqst;
-- struct rpc_msg *msg;
--{
-- return (AUTH_OK);
--}
--
- /*
- * Allow the rpc service to register new authentication types that it is
- * prepared to handle. When an authentication flavor is registered,
-diff --git a/src/svc_auth_unix.c b/src/svc_auth_unix.c
-index ce83859..9585069 100644
---- a/src/svc_auth_unix.c
-+++ b/src/svc_auth_unix.c
-@@ -43,6 +43,8 @@
-
- #include <rpc/rpc.h>
-
-+extern SVCAUTH svc_auth_none;
-+
- /*
- * Unix longhand authenticator
- */
-@@ -67,6 +69,8 @@ _svcauth_unix(rqst, msg)
- assert(rqst != NULL);
- assert(msg != NULL);
-
-+ rqst->rq_xprt->xp_auth = &svc_auth_none;
-+
- area = (struct area *) rqst->rq_clntcred;
- aup = &area->area_aup;
- aup->aup_machname = area->area_machname;
-@@ -142,5 +146,6 @@ _svcauth_short(rqst, msg)
- struct svc_req *rqst;
- struct rpc_msg *msg;
- {
-+ rqst->rq_xprt->xp_auth = &svc_auth_none;
- return (AUTH_REJECTEDCRED);
- }
-diff --git a/src/svc_dg.c b/src/svc_dg.c
-index 66a56ee..5ef9df2 100644
---- a/src/svc_dg.c
-+++ b/src/svc_dg.c
-@@ -134,6 +134,7 @@ svc_dg_create(fd, sendsize, recvsize)
- su->su_cache = NULL;
- xprt->xp_fd = fd;
- xprt->xp_p2 = su;
-+ xprt->xp_auth = NULL;
- xprt->xp_verf.oa_base = su->su_verfbody;
- svc_dg_ops(xprt);
- xprt->xp_rtaddr.maxlen = sizeof (struct sockaddr_storage);
-@@ -234,10 +235,27 @@ svc_dg_reply(xprt, msg)
- bool_t stat = FALSE;
- size_t slen;
-
-+ xdrproc_t xdr_results;
-+ caddr_t xdr_location;
-+ bool_t has_args;
-+
-+ if (msg->rm_reply.rp_stat == MSG_ACCEPTED &&
-+ msg->rm_reply.rp_acpt.ar_stat == SUCCESS) {
-+ has_args = TRUE;
-+ xdr_results = msg->acpted_rply.ar_results.proc;
-+ xdr_location = msg->acpted_rply.ar_results.where;
-+
-+ msg->acpted_rply.ar_results.proc = (xdrproc_t)xdr_void;
-+ msg->acpted_rply.ar_results.where = NULL;
-+ } else
-+ has_args = FALSE;
-+
- xdrs->x_op = XDR_ENCODE;
- XDR_SETPOS(xdrs, 0);
- msg->rm_xid = su->su_xid;
-- if (xdr_replymsg(xdrs, msg)) {
-+ if (xdr_replymsg(xdrs, msg) &&
-+ (!has_args ||
-+ (SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_results, xdr_location)))) {
- struct msghdr *msg = &su->su_msghdr;
- struct iovec iov;
-
-@@ -264,7 +282,12 @@ svc_dg_getargs(xprt, xdr_args, args_ptr)
- xdrproc_t xdr_args;
- void *args_ptr;
- {
-- return (*xdr_args)(&(su_data(xprt)->su_xdrs), args_ptr);
-+ if (! SVCAUTH_UNWRAP(xprt->xp_auth, &(su_data(xprt)->su_xdrs),
-+ xdr_args, args_ptr)) {
-+ (void)svc_freeargs(xprt, xdr_args, args_ptr);
-+ return FALSE;
-+ }
-+ return TRUE;
- }
-
- static bool_t
-@@ -288,6 +311,10 @@ svc_dg_destroy(xprt)
- xprt_unregister(xprt);
- if (xprt->xp_fd != -1)
- (void)close(xprt->xp_fd);
-+ if (xprt->xp_auth != NULL) {
-+ SVCAUTH_DESTROY(xprt->xp_auth);
-+ xprt->xp_auth = NULL;
-+ }
- XDR_DESTROY(&(su->su_xdrs));
- (void) mem_free(rpc_buffer(xprt), su->su_iosz);
- (void) mem_free(su, sizeof (*su));
-diff --git a/src/svc_vc.c b/src/svc_vc.c
-index aaaf2d7..74632e2 100644
---- a/src/svc_vc.c
-+++ b/src/svc_vc.c
-@@ -172,6 +172,7 @@ svc_vc_create(fd, sendsize, recvsize)
- xprt->xp_p1 = r;
- xprt->xp_p2 = NULL;
- xprt->xp_p3 = NULL;
-+ xprt->xp_auth = NULL;
- xprt->xp_verf = _null_auth;
- svc_vc_rendezvous_ops(xprt);
- xprt->xp_port = (u_short)-1; /* It is the rendezvouser */
-@@ -283,6 +284,7 @@ makefd_xprt(fd, sendsize, recvsize)
- xdrrec_create(&(cd->xdrs), sendsize, recvsize,
- xprt, read_vc, write_vc);
- xprt->xp_p1 = cd;
-+ xprt->xp_auth = NULL;
- xprt->xp_verf.oa_base = cd->verf_body;
- svc_vc_ops(xprt); /* truely deals with calls */
- xprt->xp_port = 0; /* this is a connection, not a rendezvouser */
-@@ -412,6 +414,10 @@ __svc_vc_dodestroy(xprt)
- XDR_DESTROY(&(cd->xdrs));
- mem_free(cd, sizeof(struct cf_conn));
- }
-+ if (xprt->xp_auth != NULL) {
-+ SVCAUTH_DESTROY(xprt->xp_auth);
-+ xprt->xp_auth = NULL;
-+ }
- if (xprt->xp_rtaddr.buf)
- mem_free(xprt->xp_rtaddr.buf, xprt->xp_rtaddr.maxlen);
- if (xprt->xp_ltaddr.buf)
-@@ -610,7 +616,11 @@ svc_vc_recv(xprt, msg)
- }
-
- xdrs->x_op = XDR_DECODE;
-- (void)xdrrec_skiprecord(xdrs);
-+ /*
-+ * No need skip records with nonblocking connections
-+ */
-+ if (cd->nonblock == FALSE)
-+ (void)xdrrec_skiprecord(xdrs);
- if (xdr_callmsg(xdrs, msg)) {
- cd->x_id = msg->rm_xid;
- return (TRUE);
-@@ -628,8 +638,13 @@ svc_vc_getargs(xprt, xdr_args, args_ptr)
-
- assert(xprt != NULL);
- /* args_ptr may be NULL */
-- return ((*xdr_args)(&(((struct cf_conn *)(xprt->xp_p1))->xdrs),
-- args_ptr));
-+
-+ if (! SVCAUTH_UNWRAP(xprt->xp_auth,
-+ &(((struct cf_conn *)(xprt->xp_p1))->xdrs),
-+ xdr_args, args_ptr)) {
-+ return FALSE;
-+ }
-+ return TRUE;
- }
-
- static bool_t
-@@ -658,15 +673,35 @@ svc_vc_reply(xprt, msg)
- XDR *xdrs;
- bool_t rstat;
-
-+ xdrproc_t xdr_results;
-+ caddr_t xdr_location;
-+ bool_t has_args;
-+
- assert(xprt != NULL);
- assert(msg != NULL);
-
- cd = (struct cf_conn *)(xprt->xp_p1);
- xdrs = &(cd->xdrs);
-
-+ if (msg->rm_reply.rp_stat == MSG_ACCEPTED &&
-+ msg->rm_reply.rp_acpt.ar_stat == SUCCESS) {
-+ has_args = TRUE;
-+ xdr_results = msg->acpted_rply.ar_results.proc;
-+ xdr_location = msg->acpted_rply.ar_results.where;
-+
-+ msg->acpted_rply.ar_results.proc = (xdrproc_t)xdr_void;
-+ msg->acpted_rply.ar_results.where = NULL;
-+ } else
-+ has_args = FALSE;
-+
- xdrs->x_op = XDR_ENCODE;
- msg->rm_xid = cd->x_id;
-- rstat = xdr_replymsg(xdrs, msg);
-+ rstat = FALSE;
-+ if (xdr_replymsg(xdrs, msg) &&
-+ (!has_args ||
-+ (SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_results, xdr_location)))) {
-+ rstat = TRUE;
-+ }
- (void)xdrrec_endofrecord(xdrs, TRUE);
- return (rstat);
- }
-diff --git a/src/xdr_rec.c b/src/xdr_rec.c
-index 4e815d7..2aca623 100644
---- a/src/xdr_rec.c
-+++ b/src/xdr_rec.c
-@@ -64,7 +64,6 @@
- #include <rpc/clnt.h>
- #include <stddef.h>
- #include "rpc_com.h"
--#include <unistd.h>
- static bool_t xdrrec_getlong(XDR *, long *);
- static bool_t xdrrec_putlong(XDR *, const long *);
- static bool_t xdrrec_getbytes(XDR *, char *, u_int);
-@@ -330,22 +329,22 @@ xdrrec_getpos(xdrs)
- RECSTREAM *rstrm = (RECSTREAM *)xdrs->x_private;
- off_t pos;
-
-- pos = lseek((int)(u_long)rstrm->tcp_handle, (off_t)0, 1);
-- if (pos != -1)
-- switch (xdrs->x_op) {
-+ switch (xdrs->x_op) {
-
-- case XDR_ENCODE:
-- pos += rstrm->out_finger - rstrm->out_base;
-- break;
-+ case XDR_ENCODE:
-+ pos = rstrm->out_finger - rstrm->out_base
-+ - BYTES_PER_XDR_UNIT;
-+ break;
-
-- case XDR_DECODE:
-- pos -= rstrm->in_boundry - rstrm->in_finger;
-- break;
-+ case XDR_DECODE:
-+ pos = rstrm->in_boundry - rstrm->in_finger
-+ - BYTES_PER_XDR_UNIT;
-+ break;
-
-- default:
-- pos = (off_t) -1;
-- break;
-- }
-+ default:
-+ pos = (off_t) -1;
-+ break;
-+ }
- return ((u_int) pos);
- }
-
-diff --git a/tirpc/rpc/auth.h b/tirpc/rpc/auth.h
-index 734e6b9..5f66e67 100644
---- a/tirpc/rpc/auth.h
-+++ b/tirpc/rpc/auth.h
-@@ -203,8 +203,22 @@ typedef struct __auth {
-
- } *ah_ops;
- void *ah_private;
-+ int ah_refcnt;
- } AUTH;
-
-+static __inline int
-+auth_get(AUTH *auth)
-+{
-+ return __sync_add_and_fetch(&auth->ah_refcnt, 1);
-+}
-+
-+static __inline int
-+auth_put(AUTH *auth)
-+{
-+ return __sync_sub_and_fetch(&auth->ah_refcnt, 1);
-+}
-+
-+
-
- /*
- * Authentication ops.
-@@ -234,10 +248,23 @@ typedef struct __auth {
- #define auth_refresh(auth, msg) \
- ((*((auth)->ah_ops->ah_refresh))(auth, msg))
-
--#define AUTH_DESTROY(auth) \
-- ((*((auth)->ah_ops->ah_destroy))(auth))
--#define auth_destroy(auth) \
-- ((*((auth)->ah_ops->ah_destroy))(auth))
-+#define AUTH_DESTROY(auth) \
-+ do { \
-+ int refs; \
-+ if ((refs = auth_put((auth))) == 0) \
-+ ((*((auth)->ah_ops->ah_destroy))(auth));\
-+ log_debug("%s: auth_put(), refs %d\n", \
-+ __func__, refs); \
-+ } while (0)
-+
-+#define auth_destroy(auth) \
-+ do { \
-+ int refs; \
-+ if ((refs = auth_put((auth))) == 0) \
-+ ((*((auth)->ah_ops->ah_destroy))(auth));\
-+ log_debug("%s: auth_put(), refs %d\n", \
-+ __func__, refs); \
-+ } while (0)
-
- #define AUTH_WRAP(auth, xdrs, xfunc, xwhere) \
- ((*((auth)->ah_ops->ah_wrap))(auth, xdrs, \
-@@ -373,7 +400,7 @@ __END_DECLS
- __BEGIN_DECLS
- struct svc_req;
- struct rpc_msg;
--enum auth_stat _svcauth_null (struct svc_req *, struct rpc_msg *);
-+enum auth_stat _svcauth_none (struct svc_req *, struct rpc_msg *);
- enum auth_stat _svcauth_short (struct svc_req *, struct rpc_msg *);
- enum auth_stat _svcauth_unix (struct svc_req *, struct rpc_msg *);
- __END_DECLS
-diff --git a/tirpc/rpc/des.h b/tirpc/rpc/des.h
-index e3d6897..d2881ad 100644
---- a/tirpc/rpc/des.h
-+++ b/tirpc/rpc/des.h
-@@ -33,6 +33,9 @@
- * Copyright (c) 1986 by Sun Microsystems, Inc.
- */
-
-+#ifndef _RPC_DES_H_
-+#define _RPC_DES_H_
-+
- #define DES_MAXLEN 65536 /* maximum # of bytes to encrypt */
- #define DES_QUICKLEN 16 /* maximum # of bytes to encrypt quickly */
-
-@@ -80,3 +83,5 @@ struct desparams {
- * Software DES.
- */
- extern int _des_crypt( char *, int, struct desparams * );
-+
-+#endif
-diff --git a/tirpc/rpc/svc_auth.h b/tirpc/rpc/svc_auth.h
-index 659e90c..14269d1 100644
---- a/tirpc/rpc/svc_auth.h
-+++ b/tirpc/rpc/svc_auth.h
-@@ -44,17 +44,23 @@
- /*
- * Interface to server-side authentication flavors.
- */
--typedef struct {
-+typedef struct SVCAUTH {
- struct svc_auth_ops {
-- int (*svc_ah_wrap)(void);
-- int (*svc_ah_unwrap)(void);
-- int (*svc_ah_destroy)(void);
-+ int (*svc_ah_wrap)(struct SVCAUTH *, XDR *, xdrproc_t,
-+ caddr_t);
-+ int (*svc_ah_unwrap)(struct SVCAUTH *, XDR *, xdrproc_t,
-+ caddr_t);
-+ int (*svc_ah_destroy)(struct SVCAUTH *);
- } *svc_ah_ops;
- caddr_t svc_ah_private;
- } SVCAUTH;
-
--#define SVCAUTH_DESTROY(cred) ((*(cred)->svc_ah_ops->svc_ah_destroy)())
--#define svcauth_destroy(cred) ((*(cred)->svc_ah_ops->svc_ah_destroy)())
-+#define SVCAUTH_WRAP(auth, xdrs, xfunc, xwhere) \
-+ ((*((auth)->svc_ah_ops->svc_ah_wrap))(auth, xdrs, xfunc, xwhere))
-+#define SVCAUTH_UNWRAP(auth, xdrs, xfunc, xwhere) \
-+ ((*((auth)->svc_ah_ops->svc_ah_unwrap))(auth, xdrs, xfunc, xwhere))
-+#define SVCAUTH_DESTROY(auth) \
-+ ((*((auth)->svc_ah_ops->svc_ah_destroy))(auth))
-
- /*
- * Server side authenticator
diff --git a/abs/core/libtirpc/libtirpc-fix-segfault-0.2.2.patch b/abs/core/libtirpc/libtirpc-fix-segfault-0.2.2.patch
deleted file mode 100644
index 8a04c16..0000000
--- a/abs/core/libtirpc/libtirpc-fix-segfault-0.2.2.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -up libtirpc-0.2.2/src/svc_dg.c.orig libtirpc-0.2.2/src/svc_dg.c
---- libtirpc-0.2.2/src/svc_dg.c.orig 2011-07-19 15:02:41.087631000 -0400
-+++ libtirpc-0.2.2/src/svc_dg.c 2011-07-19 15:04:43.154243000 -0400
-@@ -254,8 +254,8 @@ svc_dg_reply(xprt, msg)
- XDR_SETPOS(xdrs, 0);
- msg->rm_xid = su->su_xid;
- if (xdr_replymsg(xdrs, msg) &&
-- (!has_args ||
-- (SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_results, xdr_location)))) {
-+ (!has_args || (xprt->xp_auth &&
-+ SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_results, xdr_location)))) {
- struct msghdr *msg = &su->su_msghdr;
- struct iovec iov;
-
-diff -up libtirpc-0.2.2/src/svc_vc.c.orig libtirpc-0.2.2/src/svc_vc.c
---- libtirpc-0.2.2/src/svc_vc.c.orig 2011-07-19 15:05:28.577588000 -0400
-+++ libtirpc-0.2.2/src/svc_vc.c 2011-07-19 15:05:40.058928000 -0400
-@@ -698,8 +698,8 @@ svc_vc_reply(xprt, msg)
- msg->rm_xid = cd->x_id;
- rstat = FALSE;
- if (xdr_replymsg(xdrs, msg) &&
-- (!has_args ||
-- (SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_results, xdr_location)))) {
-+ (!has_args || (xprt->xp_auth &&
-+ SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_results, xdr_location)))) {
- rstat = TRUE;
- }
- (void)xdrrec_endofrecord(xdrs, TRUE);
diff --git a/abs/core/libtool/PKGBUILD b/abs/core/libtool/PKGBUILD
index 07fcee8..31abf0d 100644
--- a/abs/core/libtool/PKGBUILD
+++ b/abs/core/libtool/PKGBUILD
@@ -1,41 +1,51 @@
# $Id$
-# Maintainer: Allan McRae <allan@archlinux.org>
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
# NOTE: requires rebuilt with each new gcc version
pkgname=libtool
-pkgver=2.4.6
+pkgver=2.4.6+40+g6ca5e224
pkgrel=4
-_gccver=5.3.0
-pkgdesc="A generic library support script"
-arch=('i686' 'x86_64')
-url="http://www.gnu.org/software/libtool"
-license=('GPL')
-groups=('base-devel')
-depends=('sh' 'tar' 'glibc')
-makedepends=("gcc=$_gccver")
+_gccver=7.3.0
+pkgdesc='A generic library support script'
+arch=(x86_64)
+url='http://www.gnu.org/software/libtool'
+license=(GPL)
+groups=(base-devel)
+depends=(sh tar glibc)
+makedepends=("gcc=$_gccver" git help2man)
provides=("libltdl=$pkgver" "libtool-multilib=$pkgver")
conflicts=('libltdl' 'libtool-multilib')
replaces=('libltdl' 'libtool-multilib')
-install=libtool.install
-source=(ftp://ftp.gnu.org/pub/gnu/libtool/${pkgname}-${pkgver}.tar.xz{,.sig})
-md5sums=('1bfb9b923f2c1339b4d2ce1807064aa5'
- 'SKIP')
-validpgpkeys=('CFE2BE707B538E8B26757D84151308092983D606') # Gary Vaughan
+_commit=6ca5e224bc7bcc114a9ba2cf5dcf0fbf0ec40c9f
+source=(git+https://git.savannah.gnu.org/git/libtool.git#commit=$_commit)
+md5sums=('SKIP')
+
+
+pkgver() {
+ cd libtool
+ git describe --tags | sed 's/-/+/g;s/^v//'
+}
+
+prepare() {
+ cd libtool
+ ./bootstrap
+}
build() {
- cd ${srcdir}/${pkgbase}-${pkgver}
+ cd libtool
./configure --prefix=/usr lt_cv_sys_lib_dlsearch_path_spec="/usr/lib /usr/lib32"
make
}
check() {
- cd ${srcdir}/${pkgbase}-${pkgver}
- make check
+ cd libtool
+ make check || :
}
package() {
- cd ${srcdir}/${pkgbase}-${pkgver}
- make DESTDIR=${pkgdir} install
+ cd libtool
+ make DESTDIR="$pkgdir" install
}
diff --git a/abs/core/libtool/libtool.install b/abs/core/libtool/libtool.install
deleted file mode 100644
index 73cf564..0000000
--- a/abs/core/libtool/libtool.install
+++ /dev/null
@@ -1,20 +0,0 @@
-infodir=usr/share/info
-filelist=(libtool.info libtool.info-1 libtool.info-2)
-
-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/core/libusb/PKGBUILD b/abs/core/libusb/PKGBUILD
index 2702179..3a092d4 100644
--- a/abs/core/libusb/PKGBUILD
+++ b/abs/core/libusb/PKGBUILD
@@ -3,23 +3,24 @@
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
pkgname=libusb
-pkgver=1.0.21
+pkgver=1.0.22
pkgrel=1
pkgdesc='Library that provides generic access to USB devices'
-arch=('i686' 'x86_64')
+arch=(x86_64)
url='http://libusb.info/'
-license=('LGPL')
-depends=('glibc' 'systemd')
-replaces=('libusb1' 'libusbx')
-provides=("libusbx=$pkgver")
-conflicts=('libusbx')
+license=(LGPL)
+depends=(glibc libsystemd)
+makedepends=(systemd)
+replaces=(libusb1 libusbx)
+provides=("libusbx=$pkgver" libusb-1.0.so)
+conflicts=(libusbx)
source=(https://github.com/libusb/libusb/releases/download/v$pkgver/libusb-$pkgver.tar.bz2)
-md5sums=('1da9ea3c27b3858fa85c5f4466003e44')
+md5sums=('466267889daead47674df933cea9cacb')
build() {
cd $pkgname-$pkgver
./configure --prefix=/usr
- make -j1
+ make
}
check() {
diff --git a/abs/core/libxml2/PKGBUILD b/abs/core/libxml2/PKGBUILD
index fe3e82c..2ab74b4 100644
--- a/abs/core/libxml2/PKGBUILD
+++ b/abs/core/libxml2/PKGBUILD
@@ -1,45 +1,61 @@
# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Maintainer: Tom Gundersen <teg@jklm.no>
+# Contributor: Tom Gundersen <teg@jklm.no>
# Contributor: John Proctor <jproctor@prium.net>
pkgname=libxml2
-pkgver=2.9.3
+pkgver=2.9.8
pkgrel=1
pkgdesc="XML parsing library, version 2"
-arch=(i686 x86_64)
-license=('MIT')
-depends=('zlib' 'readline' 'ncurses' 'xz')
-makedepends=('python2')
-optdepends=('python2: python bindings to libxml')
url="http://www.xmlsoft.org/"
-source=(ftp://ftp.xmlsoft.org/${pkgname}/${pkgname}-${pkgver}.tar.gz
- http://www.w3.org/XML/Test/xmlts20080827.tar.gz)
-md5sums=('daece17e045f1c107610e137ab50c179'
- 'ae3d1ebe000a3972afa104ca7f0e1b4a')
+arch=(x86_64)
+license=(MIT)
+depends=(zlib readline ncurses xz icu)
+makedepends=(python2 python git)
+_commit=18890f471c420411aa3c989e104d090966ec9dbf # tags/v2.9.8^0
+source=(git+https://git.gnome.org/browse/libxml2#commit=$_commit
+ https://www.w3.org/XML/Test/xmlts20130923.tar.gz)
+sha256sums=('SKIP'
+ '9b61db9f5dbffa545f4b8d78422167083a8568c59bd1129f94138f936cf6fc1f')
-prepare() {
- cd ${pkgname}-${pkgver}
- sed -e 's|/usr/bin/python -u|/usr/bin/python2 -u|g' -e 's|/usr/bin/python$|/usr/bin/python2|g' -i python/tests/*.py
- mv ../xmlconf .
+pkgver() {
+ cd $pkgname
+ git describe --tags | sed 's/-rc/rc/;s/^v//;s/-/+/g'
}
-build() {
- cd ${pkgname}-${pkgver}
- ./configure --prefix=/usr --with-threads --with-history --with-python=/usr/bin/python2
+prepare() {
+ mkdir build-py{2,3}
- sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool
+ cd $pkgname
+ NOCONFIGURE=1 ./autogen.sh
+}
+
+_build() (
+ cd build-py$1
+ ../$pkgname/configure \
+ --prefix=/usr \
+ --with-threads \
+ --with-history \
+ --with-python=/usr/bin/python$1 \
+ --with-icu
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' libtool
+ PYTHONHASHSEED=0 make
+ find doc -type f -exec chmod 0644 {} +
+)
- make
+build() {
+ _build 2
+ _build 3
}
check() {
- cd ${pkgname}-${pkgver}
+ cd build-py2
+ ln -s ../xmlconf
make check
}
package() {
- cd ${pkgname}-${pkgver}
- make DESTDIR="${pkgdir}" install
- install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+ make -C build-py2 DESTDIR="$pkgdir" install
+ make -C build-py3/python DESTDIR="$pkgdir" install
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 build-py2/COPYING
}
diff --git a/abs/core/libxml2/libxml2-2.9.4-remove-pyverify_fd.patch b/abs/core/libxml2/libxml2-2.9.4-remove-pyverify_fd.patch
new file mode 100644
index 0000000..d05d4cb
--- /dev/null
+++ b/abs/core/libxml2/libxml2-2.9.4-remove-pyverify_fd.patch
@@ -0,0 +1,12 @@
+diff -Nur libxml2-2.9.4.orig/python/types.c libxml2-2.9.4/python/types.c
+--- libxml2-2.9.4.orig/python/types.c 2016-02-09 03:17:33.000000000 -0700
++++ libxml2-2.9.4/python/types.c 2016-12-21 12:34:06.755650986 -0700
+@@ -31,8 +31,6 @@
+ const char *mode;
+
+ fd = PyObject_AsFileDescriptor(f);
+- if (!_PyVerify_fd(fd))
+- return(NULL);
+ /*
+ * Get the flags on the fd to understand how it was opened
+ */
diff --git a/abs/core/libxslt/CVE-2011-1202.patch b/abs/core/libxslt/CVE-2011-1202.patch
deleted file mode 100644
index 61ea213..0000000
--- a/abs/core/libxslt/CVE-2011-1202.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From ecb6bcb8d1b7e44842edde3929f412d46b40c89f Mon Sep 17 00:00:00 2001
-From: Daniel Veillard <veillard@redhat.com>
-Date: Tue, 22 Feb 2011 02:14:23 +0000
-Subject: Fix generate-id() to not expose object addresses
-
-As pointed out by Chris Evans <scarybeasts@gmail.com> it's better
-security wise to not expose object addresses directly, use a diff
-w.r.t. the document root own address to avoid this
-* libxslt/functions.c: fix IDs generation code
----
-diff --git a/libxslt/functions.c b/libxslt/functions.c
-index 4720c7a..de962f4 100644
---- a/libxslt/functions.c
-+++ b/libxslt/functions.c
-@@ -654,8 +654,9 @@ xsltFormatNumberFunction(xmlXPathParserContextPtr ctxt, int nargs)
- void
- xsltGenerateIdFunction(xmlXPathParserContextPtr ctxt, int nargs){
- xmlNodePtr cur = NULL;
-- unsigned long val;
-- xmlChar str[20];
-+ long val;
-+ xmlChar str[30];
-+ xmlDocPtr doc;
-
- if (nargs == 0) {
- cur = ctxt->context->node;
-@@ -694,9 +695,24 @@ xsltGenerateIdFunction(xmlXPathParserContextPtr ctxt, int nargs){
- * Okay this is ugly but should work, use the NodePtr address
- * to forge the ID
- */
-- val = (unsigned long)((char *)cur - (char *)0);
-- val /= sizeof(xmlNode);
-- sprintf((char *)str, "id%ld", val);
-+ if (cur->type != XML_NAMESPACE_DECL)
-+ doc = cur->doc;
-+ else {
-+ xmlNsPtr ns = (xmlNsPtr) cur;
-+
-+ if (ns->context != NULL)
-+ doc = ns->context;
-+ else
-+ doc = ctxt->context->doc;
-+
-+ }
-+
-+ val = (long)((char *)cur - (char *)doc);
-+ if (val >= 0) {
-+ sprintf((char *)str, "idp%ld", val);
-+ } else {
-+ sprintf((char *)str, "idm%ld", -val);
-+ }
- valuePush(ctxt, xmlXPathNewString(str));
- }
-
---
-cgit v0.9.0.2
diff --git a/abs/core/libxslt/PKGBUILD b/abs/core/libxslt/PKGBUILD
index 7cdc5e9..3f8af1b 100644
--- a/abs/core/libxslt/PKGBUILD
+++ b/abs/core/libxslt/PKGBUILD
@@ -1,42 +1,51 @@
-# $Id: PKGBUILD 149384 2012-02-07 12:34:45Z jgc $
+# $Id$
# Maintainer: Eric Belanger <eric@archlinux.org>
# Contributor: John Proctor <jproctor@prium.net>
pkgname=libxslt
-pkgver=1.1.26
-pkgrel=3
+pkgver=1.1.32+3+g32c8821
+pkgrel=1
pkgdesc="XML stylesheet transformation library"
-arch=('i686' 'x86_64')
url="http://xmlsoft.org/XSLT/"
-license=('custom')
-depends=('libxml2' 'libgcrypt')
-makedepends=('python2')
-checkdepends=('docbook-xml')
-options=('!libtool')
-source=(ftp://xmlsoft.org/libxslt/${pkgname}-${pkgver}.tar.gz
- CVE-2011-1202.patch)
-md5sums=('e61d0364a30146aaa3001296f853b2b9'
- 'ce9744943575efaa6b5501668899b753')
+arch=(x86_64)
+license=(custom)
+depends=(libxml2 libgcrypt)
+makedepends=(python2 git)
+checkdepends=(docbook-xml python)
+_commit=32c88216ddbaa0f3491f45bc84ee89285c6a1129 # master
+source=("git+https://git.gnome.org/browse/libxslt#commit=$_commit")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd $pkgname
+ git describe --tags | sed 's/^v//;s/-/+/g'
+}
+
+prepare() {
+ cd $pkgname
+
+ sed -e 's|/usr/bin/python -u|/usr/bin/python2 -u|g' \
+ -e 's|/usr/bin/python$|/usr/bin/python2|g' \
+ -i python/tests/*.py
+
+ NOCONFIGURE=1 ./autogen.sh
+}
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- patch -Np1 -i "${srcdir}/CVE-2011-1202.patch"
- sed -e 's|/usr/bin/python -u|/usr/bin/python2 -u|g' -e 's|/usr/bin/python$|/usr/bin/python2|g' -i python/tests/*.py
+ cd $pkgname
./configure --prefix=/usr --with-python=/usr/bin/python2
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
}
check() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd $pkgname
make check
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
-
- install -d "${pkgdir}/usr/share/licenses/${pkgname}"
- install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
-
- rm -f "${pkgdir}"/usr/lib/python*/site-packages/*.a
+ cd $pkgname
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ find "$pkgdir" -name '*.a' -print -delete
}
diff --git a/abs/core/libxtst/PKGBUILD b/abs/core/libxtst/PKGBUILD
index 810b6d1..4a728de 100644
--- a/abs/core/libxtst/PKGBUILD
+++ b/abs/core/libxtst/PKGBUILD
@@ -1,18 +1,20 @@
-# $Id: PKGBUILD 152793 2012-03-09 16:30:31Z andyrtr $
+# $Id$
+# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libxtst
-pkgver=1.2.1
+pkgver=1.2.3
pkgrel=1
pkgdesc="X11 Testing -- Resource extension library"
-arch=('i686' 'x86_64')
-url="http://xorg.freedesktop.org/"
+arch=('x86_64')
+url="https://xorg.freedesktop.org/"
license=('custom')
-depends=('libxext' 'libxi' 'recordproto' 'inputproto')
+depends=('libxext' 'libxi' 'recordproto' 'inputproto' 'libxfixes')
makedepends=('xorg-util-macros')
-options=('!libtool')
-source=("${url}/releases/individual/lib/libXtst-${pkgver}.tar.bz2")
-sha1sums=('44e19899f9938d3db5546e51c338d6f86d88cfe2')
+source=(${url}/releases/individual/lib/libXtst-${pkgver}.tar.bz2{,.sig})
+sha256sums=('4655498a1b8e844e3d6f21f3b2c4e2b571effb5fd83199d428a6ba7ea4bf5204'
+ 'SKIP')
+validpgpkeys=('C41C985FDCF1E5364576638B687393EE37D128F8') # Matthieu Herrb <matthieu.herrb@laas.fr>
build() {
cd "${srcdir}/libXtst-${pkgver}"
diff --git a/abs/core/lighttpd/PKGBUILD b/abs/core/lighttpd/PKGBUILD
index 4801dab..365d92e 100644
--- a/abs/core/lighttpd/PKGBUILD
+++ b/abs/core/lighttpd/PKGBUILD
@@ -2,8 +2,8 @@
# Maintainer: Pierre Schmitz <pierre@archlinux.de>
pkgname=lighttpd
-pkgver=1.4.45
-pkgrel=2
+pkgver=1.4.48
+pkgrel=1
pkgdesc='A secure, fast, compliant and very flexible web-server'
license=('custom')
arch=('i686' 'x86_64')
@@ -62,7 +62,7 @@ package() {
install -D -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/COPYING
}
-md5sums=('98b97852441fc6b1942dfa9cf5c0beba'
+md5sums=('fe9ea4dccacd9738be03245c364bc055'
'42d106b101d21ffd76ed9f3f1621e164'
'fd4afd737fd16a82ba99b9a99533d34b'
'62779511e3f1127c3cc9b94c49f99c29'
diff --git a/abs/core/linhes-theme/PKGBUILD b/abs/core/linhes-theme/PKGBUILD
index d45b85e..35a8d82 100755
--- a/abs/core/linhes-theme/PKGBUILD
+++ b/abs/core/linhes-theme/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=linhes-theme
pkgver=8.5.1
-pkgrel=4
+pkgrel=10
pkgdesc="Default LinHES MythTV theme"
arch=('i686' 'x86_64')
license=('GPL2')
@@ -19,6 +19,7 @@ patches=('readme.txt.patch' 'osd.xml.patch' 'base.xml.patch' 'browser-ui.xml.pat
#The LinHES theme is based on TintedGlass 4.56 by Harley Peters
source=(`echo ${patches[@]:0}` 'themeinfo.xml' 'install-ui.xml' 'osd_subtitle.xml'
'bubble_background.png' 'preview.png' 'blank_coverart.png'
+ 'gg-left-arrow-large.png' 'gg-right-arrow-large.png'
'checkmark.png' 'error.png' 'gears.png' 'question.png' 'warning.png'
'image-ui.xml' 'standardsetting-ui.xml'
'LHLogo.png' 'LHLogoAndText.png')
@@ -66,6 +67,8 @@ package() {
rm -r $pkgdir/$THEMEROOT/LinHES/osd.xml.alt
rsync -pL $srcdir/bubble_background.png $pkgdir/$THEMEROOT/LinHES/images/backgrounds/background.png
rsync -pL $srcdir/blank_coverart.png $pkgdir/$THEMEROOT/LinHES/images/
+ rsync -pL $srcdir/gg-left-arrow-large.png $pkgdir/$THEMEROOT/LinHES/images/
+ rsync -pL $srcdir/gg-right-arrow-large.png $pkgdir/$THEMEROOT/LinHES/images/
rsync -pL $srcdir/checkmark.png $pkgdir/$THEMEROOT/LinHES/images/
rsync -pL $srcdir/error.png $pkgdir/$THEMEROOT/LinHES/images/
rsync -pL $srcdir/gears.png $pkgdir/$THEMEROOT/LinHES/images/
@@ -99,9 +102,9 @@ package() {
}
md5sums=('2dca856c2a4d1f959473512c94e43b60'
'3fc2c8838a9e331a2d19c114760a5acb'
- 'b534a456304ed75d0082e04e4fd7a965'
+ '391f8e5d43ca846b04a5e8119dccc8cf'
'd1d54968a2297924673d9653f707df33'
- 'b7ab73f7e445b617b1ea293ca40ef4e4'
+ '25ff929dc4aca3b2a0bd38d9ded5a6b8'
'26a6db272dee225b9e4dc282f1494e51'
'b90b745c72a057c78ebd0b6f2c5530b9'
'a0ea2d3e386c0b483b31aa1a2703f9eb'
@@ -112,12 +115,12 @@ md5sums=('2dca856c2a4d1f959473512c94e43b60'
'643e7d548587b8742ed5accb6d736257'
'dd1e013e806efc26049ea89637a51f83'
'9fe3371a8b964a7028126405cfaa330b'
- '958d25f7b932c923cf9f8376063eeb57'
- 'a0b6733e4a6734a3c24e8dc3b0c14e74'
+ '814b52b7ad9a6918585764f5790d1c3b'
+ 'a65ab8c1c409e89358373aa51f0b3eb3'
'384871202030f41148536e2e89bb1801'
- '979cdd540b672e3383b33188ccb247b6'
+ '8efbd524cef4dd3f5fbe5b7d5ad854f0'
'8312aff444945f80a76100696c81cb2e'
- '81a2706cd36a16a1e0c54d87f3a0857b'
+ '2803a328cd276393964240842da03010'
'4125880d1739b196a8041ecc3d773ee2'
'5a8fb2a5f0e657d52be6f0a6a006ce72'
'274b6f8cb5cd82c5ce28422decd7754b'
@@ -125,6 +128,8 @@ md5sums=('2dca856c2a4d1f959473512c94e43b60'
'326a71eb795b322a9ea26f116d890c87'
'8fcd0acc11f4db33a9442949fb1a293d'
'699e3abe05523f454db3561bfc08b4b2'
+ 'c3b17c90d85e9e9908d194570f2da3ac'
+ '39c3c560ed4d8779326f4e63861d8f33'
'60cb915909c477dbc2e18233ee6424d9'
'30ea7d2001b8562177b8f85f34f050a2'
'e8dee86a10ce7c4423a97305b38b4668'
diff --git a/abs/core/linhes-theme/base.xml.patch b/abs/core/linhes-theme/base.xml.patch
index fb6091f..1357b37 100644
--- a/abs/core/linhes-theme/base.xml.patch
+++ b/abs/core/linhes-theme/base.xml.patch
@@ -1,5 +1,5 @@
---- base.xml.orig 2017-12-01 19:19:20.906194024 +0000
-+++ base.xml 2017-12-01 19:13:11.344053140 +0000
+--- base.xml.orig 2018-04-17 14:44:34.438582684 +0000
++++ base.xml 2018-05-24 19:32:20.152603456 +0000
@@ -3,55 +3,55 @@
<mythuitheme>
@@ -485,7 +485,27 @@
</statetype>
<statetype name="background">
<state name="active" />
-@@ -2186,7 +2199,7 @@
+@@ -1916,6 +1929,9 @@
+ <group name="select_bar" from="base_spinbox_select_bar_selectedactive_group">
+ <area>0,0,100%,100%</area>
+ </group>
++ <textarea name="buttontext">
++ <font>basesmallyellow</font>
++ </textarea>
+ </state>
+ <state name="selectedinactive" from="active" />
+ <state name="disabled" from="active">
+@@ -1992,6 +2008,9 @@
+ <group name="select_bar" from="base_selector_select_bar_selectedactive_group">
+ <area>0,0,100%,100%</area>
+ </group>
++ <textarea name="buttontext">
++ <font>basesmallyellow</font>
++ </textarea>
+ </state>
+ <state name="selectedinactive" from="active" />
+ <state name="disabled">
+@@ -2186,7 +2205,7 @@
</shape>
<shape name="popup-seperator-line" from="base_line">
@@ -494,7 +514,7 @@
</shape>
<shape name="popup-third-line" from="base_highlight_line">
-@@ -2202,23 +2215,23 @@
+@@ -2202,23 +2221,23 @@
</shape>
<shape name="popup-arrows-backdrop" from="base_arrows_backdrop">
@@ -523,7 +543,7 @@
</textarea>
<imagetype name="buttonarrow">
<position>560,8</position>
-@@ -2227,7 +2240,8 @@
+@@ -2227,7 +2246,8 @@
<state name="selectedactive">
<area>0,0,100%,34</area>
<textarea name="buttontext">
@@ -533,7 +553,7 @@
</textarea>
<imagetype name="buttonarrow">
<position>560,8</position>
-@@ -2236,7 +2250,7 @@
+@@ -2236,7 +2256,7 @@
<state name="selectedinactive">
<area>0,0,100%,34</area>
<textarea name="buttontext">
@@ -542,7 +562,7 @@
</textarea>
<imagetype name="buttonarrow">
<position>560,8</position>
-@@ -2244,10 +2258,10 @@
+@@ -2244,10 +2264,10 @@
</state>
</statetype>
<statetype name="upscrollarrow">
@@ -555,7 +575,7 @@
</statetype>
</buttonlist>
</window>
-@@ -2299,7 +2313,7 @@
+@@ -2299,7 +2319,7 @@
</shape>
<shape name="large-dialogbox-arrows-backdrop" from="base_arrows_backdrop">
@@ -564,7 +584,7 @@
</shape>
<textarea name="messagearea" from="basetextarea">
-@@ -2332,10 +2346,10 @@
+@@ -2332,10 +2352,10 @@
</state>
</statetype>
<statetype name="upscrollarrow">
@@ -577,7 +597,7 @@
</statetype>
</buttonlist>
</window>
-@@ -2486,7 +2500,7 @@
+@@ -2486,7 +2506,7 @@
<textarea name="message" from="basetextarea">
<area>8,8,571,127</area>
@@ -586,7 +606,7 @@
<align>allcenter</align>
<multiline>yes</multiline>
<cutdown>no</cutdown>
-@@ -2501,6 +2515,7 @@
+@@ -2501,6 +2521,7 @@
<area>338,151,150,35</area>
<value>OK</value>
</button>
@@ -594,7 +614,7 @@
</window>
<!-- Popup search dialog used to search button lists -->
-@@ -2630,12 +2645,12 @@
+@@ -2630,12 +2651,12 @@
<textarea name="message" from="basetextarea">
<area>10,14,567,36</area>
@@ -609,7 +629,7 @@
</textedit>
<button name="ok" from="base_button">
-@@ -2708,6 +2723,63 @@
+@@ -2708,6 +2729,63 @@
</window>
@@ -673,7 +693,7 @@
<window name="MythSearchDialog">
<area>-1,-1,602,488</area>
-@@ -2795,10 +2867,10 @@
+@@ -2795,10 +2873,10 @@
</state>
</statetype>
<statetype name="upscrollarrow">
@@ -686,7 +706,84 @@
</statetype>
</buttonlist>
-@@ -2819,7 +2891,7 @@
+@@ -2813,13 +2891,84 @@
+ </button>
+ </window>
+
++ <!-- Popup dialog to enter into a spin box -->
++ <window name="SpinBoxEntryDialog">
++ <area>-1,-1,587,178</area>
++
++ <animation trigger="AboutToShow">
++ <section>
++ <alpha start="0" end="255" easingcurve="OutQuart"/>
++ <zoom start="0" end="100" easingcurve="OutQuart"/>
++ </section>
++ </animation>
++
++ <animation trigger="AboutToHide">
++ <section>
++ <alpha start="255" end="0" easingcurve="InQuart"/>
++ <zoom start="100" end="0" easingcurve="InQuart"/>
++ </section>
++ </animation>
++
++ <shape name="spinbox-entry-backdrop" from="base_popup_backdrop">
++ <area>0,0,587,178</area>
++ </shape>
++
++ <shape name="spinbox-entry-backdrop-line" from="base_backdrop_line">
++ <area>1,1,585,176</area>
++ </shape>
++
++ <shape name="spinbox-entry-dialog-top-line" from="base_highlight_line">
++ <area>2,2,583,2</area>
++ </shape>
++
++ <shape name="spinbox-entry-dialog-bottom-line" from="base_highlight_line">
++ <area>2,174,583,2</area>
++ </shape>
++
++ <shape name="spinbox-entry-dialog-left-line" from="base_highlight_vertical_line">
++ <area>2,4,2,170</area>
++ </shape>
++
++ <shape name="spinbox-entry-dialog-right-line" from="base_highlight_vertical_line">
++ <area>583,4,2,170</area>
++ </shape>
++<!--
++ <textarea name="title" from="basetextarea">
++ <area>10,14,567,36</area>
++ <font>basesmall</font>
++ <align>allcenter</align>
++ <value>Enter a value:</value>
++ </textarea>
++-->
++ <textarea name="rules" from="basetextarea">
++ <area>10,14,567,36</area>
++ <font>basesmall</font>
++ <align>allcenter</align>
++ <template>Enter %LOW% to %HIGH% in increments of %STEP%:</template>
++ </textarea>
++
++ <textedit name="entry" from="base_textedit">
++ <area>50,62,487,40</area>
++ </textedit>
++<!--
++ <button name="cancel" from="base_button">
++ <area>50,124,150,35</area>
++ <value>Cancel</value>
++ </button>
++-->
++ <button name="ok" from="base_button">
++ <area>218,124,150,35</area>
++ <value>OK</value>
++ </button>
++ </window>
++
+ <window name="MythFileBrowser">
+ <area>0,0,1280,720</area>
+
<group name="fanart-group" from="base_fanart_group" />
<textarea name="heading" from="base_heading">
@@ -695,7 +792,7 @@
</textarea>
<shape name="fullpath-backdrop" from="base_backdrop">
-@@ -2836,87 +2908,85 @@
+@@ -2836,87 +2985,85 @@
</shape>
<shape name="file-browser-preview-backdrop" from="base_backdrop">
@@ -804,7 +901,7 @@
<statetype name="buttonitem">
<state name="active">
<area>0,0,599,54</area>
-@@ -3029,52 +3099,53 @@
+@@ -3029,52 +3176,53 @@
</buttonlist>
<textedit name="location" from="base_textedit">
diff --git a/abs/core/linhes-theme/config-ui.xml.patch b/abs/core/linhes-theme/config-ui.xml.patch
index 0ce47cf..6203f79 100644
--- a/abs/core/linhes-theme/config-ui.xml.patch
+++ b/abs/core/linhes-theme/config-ui.xml.patch
@@ -1,6 +1,68 @@
---- config-ui.xml.orig 2017-12-01 19:19:08.627784142 +0000
-+++ config-ui.xml 2017-12-01 19:10:38.513844323 +0000
-@@ -645,7 +645,7 @@
+--- config-ui.xml.orig 2018-04-17 14:44:54.355990144 +0000
++++ config-ui.xml 2018-04-17 21:15:29.208674746 +0000
+@@ -151,7 +151,7 @@
+ <area>0,0,1280,720</area>
+
+ <textarea name="heading" from="base_heading">
+- <value>Edit Channels</value>
++ <value>Channel Editor</value>
+ </textarea>
+
+ <shape name="edit-channels-top-backdrop" from="base_backdrop">
+@@ -261,13 +261,7 @@
+ <align>right,vcenter</align>
+ </textarea>
+ </state>
+- <state name="selectedinactive" from="selectedactive">
+- <group name="select_bar" from="base_select_bar_selectedinactive_group">
+- <area>0,0,100%,100%</area>
+- <shape name="select_bar_bottom_highlight">
+- <area>0,70,100%,2</area>
+- </shape>
+- </group>
++ <state name="selectedinactive" from="active">
+ </state>
+ </statetype>
+ <statetype name="upscrollarrow">
+@@ -301,7 +295,7 @@
+ </textarea>
+
+ <buttonlist name="sorting" from="base_selector">
+- <area>415,460,580,40</area>
++ <area>415,460,560,40</area>
+ </buttonlist>
+
+ <textarea name="sourcelabel" from="sortlabel">
+@@ -310,21 +304,21 @@
+ </textarea>
+
+ <buttonlist name="source" from="sorting">
+- <area>415,515,580,40</area>
++ <area>415,515,560,40</area>
+ </buttonlist>
+
+ <button name="delete" from="base_button">
+- <area>1030,517,150,35</area>
+- <value>Delete</value>
++ <area>1010,517,200,35</area>
++ <value>Delete Source</value>
+ </button>
+
+- <textarea name="nochannumlabel" from="basetextarea">
+- <area>450,575,500,60</area>
+- <value>Hide Channels without channel number.</value>
++ <textarea name="nochannumlabel" from="sortlabel">
++ <area>245,575,425,30</area>
++ <value>Hide Channels Without Channel Number:</value>
+ </textarea>
+
+ <checkbox name="nochannum" from="base_checkbox">
+- <position>410,572</position>
++ <position>685,575</position>
+ </checkbox>
+
+ <button name="scan" from="base_button">
+@@ -645,7 +639,7 @@
<textarea name="helptext" from="basetextarea">
<area>231,372,818,227</area>
<multiline>yes</multiline>
@@ -9,7 +71,7 @@
<align>allcenter</align>
</textarea>
-@@ -734,7 +734,7 @@
+@@ -734,7 +728,7 @@
<textarea name="helptext" from="basetextarea">
<area>231,372,818,227</area>
<multiline>yes</multiline>
@@ -18,7 +80,7 @@
<align>allcenter</align>
</textarea>
-@@ -901,7 +901,7 @@
+@@ -901,7 +895,7 @@
<textarea name="helptext" from="basetextarea">
<area>233,488,814,111</area>
<multiline>yes</multiline>
@@ -27,7 +89,7 @@
<align>allcenter</align>
</textarea>
-@@ -1000,7 +1000,7 @@
+@@ -1000,7 +994,7 @@
<textarea name="helptext" from="basetextarea">
<area>231,372,818,227</area>
<multiline>yes</multiline>
@@ -36,7 +98,7 @@
<align>allcenter</align>
</textarea>
-@@ -1016,4 +1016,369 @@
+@@ -1016,4 +1010,572 @@
</window>
@@ -405,4 +467,207 @@
+ </button>
+ </window>
+
++ <window name="channelscanner">
++ <area>0,0,1280,720</area>
++
++ <textarea name="heading" from="base_heading">
++ <value>Channel Scanner</value>
++ </textarea>
++
++ <shape name="status-backdrop" from="base_backdrop">
++ <area>0,37,1280,44</area>
++ <type>box</type>
++ </shape>
++
++ <shape name="status-top-line" from="base_line">
++ <area>0,38,1280,2</area>
++ </shape>
++
++ <shape name="status-bottom-line" from="base_line">
++ <area>0,77,1280,2</area>
++ </shape>
++
++ <shape name="scanner-progress-backdrop" from="base_backdrop">
++ <area>645,92,615,592</area>
++ </shape>
++
++ <shape name="scanner-progress-backdrop-line" from="base_backdrop_line">
++ <area>646,93,613,590</area>
++ </shape>
++
++ <shape name="scanner-progress-top-line" from="base_highlight_line">
++ <area>647,94,611,2</area>
++ </shape>
++
++ <shape name="scanner-progress-bottom-line" from="base_highlight_line">
++ <area>647,680,611,2</area>
++ </shape>
++
++ <shape name="scanner-progress-left-line" from="base_highlight_vertical_line">
++ <area>647,96,2,584</area>
++ </shape>
++
++ <shape name="scanner-progress-right-line" from="base_highlight_vertical_line">
++ <area>1256,96,2,584</area>
++ </shape>
++
++ <shape name="scanner-channels-backdrop" from="base_backdrop">
++ <area>20,92,615,592</area>
++ </shape>
++
++ <shape name="scanner-channels-backdrop-line" from="base_backdrop_line">
++ <area>21,93,613,590</area>
++ </shape>
++
++ <shape name="scanner-channels-top-line" from="base_highlight_line">
++ <area>22,94,611,2</area>
++ </shape>
++
++ <shape name="scanner-channels-bottom-line" from="base_highlight_line">
++ <area>22,680,611,2</area>
++ </shape>
++
++ <shape name="scanner-channels-left-line" from="base_highlight_vertical_line">
++ <area>22,96,2,584</area>
++ </shape>
++
++ <shape name="scanner-channels-right-line" from="base_highlight_vertical_line">
++ <area>631,96,2,584</area>
++ </shape>
++
++ <shape name="scanner-channels-arrows-backdrop" from="base_arrows_backdrop">
++ <area>1207,684,50,10</area>
++ </shape>
++
++ <textarea name="status">
++ <area>265,39,460,40</area>
++ <font>basesmall</font>
++ <align>right,vcenter</align>
++ <template>%1</template>
++ </textarea>
++
++ <textarea name="signallock" from="status">
++ <area>735,39,300,40</area>
++ <align>left,vcenter</align>
++ <template>[%1]</template>
++ </textarea>
++
++ <textarea name="scanprogresstext" from="status">
++ <area>945,39,300,40</area>
++ <template>Channels%1</template>
++ </textarea>
++
++ <textarea name="progress_label">
++ <area>60,190,535,30</area>
++ <font>basesmall</font>
++ <align>left,vcenter</align>
++ <value>Scan Progress</value>
++ </textarea>
++
++ <textarea name="progresstext" from="progress_label">
++ <area>60,240,535,30</area>
++ <font>basesmall</font>
++ <align>allcenter</align>
++ </textarea>
++
++ <progressbar name="scanprogress" from="baseprogressbar">
++ <position>60,225</position>
++ </progressbar>
++
++ <group name="noisegroup" depends="signalnoise">
++ <area>60,300,535,200</area>
++ <textarea name="signalnoise_label">
++ <area>0,0,100%,30</area>
++ <align>left,vcenter</align>
++ <font>basesmall</font>
++ <value>Signal/Noise</value>
++ </textarea>
++ <textarea name="signalnoisetext">
++ <area>0,50,100%,30</area>
++ <font>basesmall</font>
++ <align>allcenter</align>
++ </textarea>
++ <progressbar name="signalnoise" from="smallprogressbar">
++ <position>0,35</position>
++ </progressbar>
++ </group>
++
++ <group name="strengthgroup" depends="signalstrength">
++ <area>60,400,535,200</area>
++ <textarea name="signalstrength_label">
++ <area>0,0,100%,30</area>
++ <align>left,vcenter</align>
++ <font>basesmall</font>
++ <value>Signal Strength</value>
++ </textarea>
++ <textarea name="signalstrengthtext">
++ <area>0,50,100%,30</area>
++ <font>basesmall</font>
++ <align>allcenter</align>
++ </textarea>
++ <progressbar name="signalstrength" from="smallprogressbar">
++ <position>0,35</position>
++ </progressbar>
++ </group>
++
++ <group name="rotatorgroup" depends="rotorprogress">
++ <area>60,500,535,200</area>
++ <textarea name="rotorprogress_label">
++ <area>0,0,100%,30</area>
++ <align>left,vcenter</align>
++ <font>basesmall</font>
++ <value>Rotor Movement</value>
++ </textarea>
++ <textarea name="rotatorprogresstext">
++ <area>0,50,100%,30</area>
++ <font>basesmall</font>
++ <align>allcenter</align>
++ </textarea>
++ <progressbar name="rotorprogress" from="smallprogressbar">
++ <position>0,35</position>
++ </progressbar>
++ </group>
++
++ <buttonlist name="log" from="base_list">
++ <area>653,100,599,578</area>
++ <statetype name="buttonitem">
++ <state name="active">
++ <area>0,0,599,54</area>
++ <textarea name="buttontext">
++ <area>0,0,100%,100%</area>
++ <font>basesmaller</font>
++ <multiline>yes</multiline>
++ <align>allcenter</align>
++ </textarea>
++ </state>
++ <state name="selectedactive" from="active">
++ <area>0,0,599,112</area>
++ <group name="select_bar" from="base_select_bar_selectedactive_group">
++ <area>0,0,100%,100%</area>
++ <shape name="select_bar_bottom_highlight">
++ <area>0,110,100%,2</area>
++ </shape>
++ </group>
++ <textarea name="buttontext">
++ <font>basesmalleryellow</font>
++ </textarea>
++ </state>
++ <state name="selectedinactive" from="selectedactive">
++ <group name="select_bar" from="base_select_bar_selectedinactive_group">
++ <area>0,0,100%,100%</area>
++ <shape name="select_bar_bottom_highlight">
++ <area>0,110,100%,2</area>
++ </shape>
++ </group>
++ </state>
++ </statetype>
++ <statetype name="upscrollarrow">
++ <position>561,585</position>
++ </statetype>
++ <statetype name="downscrollarrow">
++ <position>581,585</position>
++ </statetype>
++ </buttonlist>
++ </window>
++
</mythuitheme>
diff --git a/abs/core/linhes-theme/gg-left-arrow-large.png b/abs/core/linhes-theme/gg-left-arrow-large.png
new file mode 100644
index 0000000..7d44070
--- /dev/null
+++ b/abs/core/linhes-theme/gg-left-arrow-large.png
Binary files differ
diff --git a/abs/core/linhes-theme/gg-right-arrow-large.png b/abs/core/linhes-theme/gg-right-arrow-large.png
new file mode 100644
index 0000000..8ff318a
--- /dev/null
+++ b/abs/core/linhes-theme/gg-right-arrow-large.png
Binary files differ
diff --git a/abs/core/linhes-theme/recordings-ui.xml.patch b/abs/core/linhes-theme/recordings-ui.xml.patch
index e70625a..15d80fc 100644
--- a/abs/core/linhes-theme/recordings-ui.xml.patch
+++ b/abs/core/linhes-theme/recordings-ui.xml.patch
@@ -1,5 +1,5 @@
---- recordings-ui.xml.orig 2017-12-19 19:51:38.610985722 +0000
-+++ recordings-ui.xml 2017-12-19 19:51:28.052356436 +0000
+--- recordings-ui.xml.orig 2018-05-25 17:44:18.266763054 +0000
++++ recordings-ui.xml 2018-05-25 17:43:56.879526676 +0000
@@ -105,19 +105,11 @@
</shape>
@@ -84,7 +84,7 @@
<font state="normal">baseextrasmall</font>
<align>right,vcenter</align>
</textarea>
-@@ -606,57 +601,48 @@
+@@ -606,60 +601,51 @@
</statetype>
</buttonlist>
@@ -153,7 +153,11 @@
+ <area>38,665,833,20</area>
<font>basesupersmallyellow</font>
<align>allcenter</align>
- <template>Disk space: %1</template>
+- <template>Disk space: %1</template>
++ <template>Disk Space: %1</template>
+ </textarea>
+
+ <imagetype name="no_preview_image_without_fanart" depends="!fanart">
@@ -688,7 +674,7 @@
<textarea name="norecordings">
<area>350,87,906,351</area>
diff --git a/abs/core/linhes-theme/schedule-ui.xml.patch b/abs/core/linhes-theme/schedule-ui.xml.patch
index 00e1066..729b250 100644
--- a/abs/core/linhes-theme/schedule-ui.xml.patch
+++ b/abs/core/linhes-theme/schedule-ui.xml.patch
@@ -1,7 +1,17 @@
---- schedule-ui.xml.orig 2017-01-12 02:24:06.812272686 +0000
-+++ schedule-ui.xml 2017-10-26 17:04:02.976373390 +0000
-@@ -126,7 +126,7 @@
- <conflictingcolor>#ff6600</conflictingcolor>
+--- schedule-ui.xml.orig 2018-06-06 17:48:28.091163462 +0000
++++ schedule-ui.xml 2018-06-06 18:04:00.119905930 +0000
+@@ -119,14 +119,14 @@
+ <channels>6</channels>
+ <timeslots>5</timeslots>
+ <solidcolor>#003256</solidcolor>
+- <selector type="roundbox" linecolor="#d6d6d6" />
++ <selector type="highlight" linecolor="#e6e6e6" fillcolor="#000000"/>
+ <showcategories>yes</showcategories>
+ <categoryalpha>130</categoryalpha>
+- <recordingcolor>#00aa00</recordingcolor>
+- <conflictingcolor>#ff6600</conflictingcolor>
++ <recordingcolor>#80d400</recordingcolor>
++ <conflictingcolor>#d97616</conflictingcolor>
<cutdown>no</cutdown>
<multiline>yes</multiline>
- <textoffset>6,7</textoffset>
@@ -9,6 +19,86 @@
<recordstatus type="SingleRecord" image="images/gg-rs-single.png"></recordstatus>
<recordstatus type="TimeslotRecord" image="images/gg-rs-timeslot.png"></recordstatus>
<recordstatus type="ChannelRecord" image="images/gg-rs-channel.png"></recordstatus>
+@@ -134,8 +134,8 @@
+ <recordstatus type="WeekslotRecord" image="images/gg-rs-weekslot.png"></recordstatus>
+ <recordstatus type="FindOneRecord" image="images/gg-rs-findone.png"></recordstatus>
+ <recordstatus type="OverrideRecord" image="images/gg-rs-override.png"></recordstatus>
+- <arrow direction="left" image="images/gg-arrow-left.png"></arrow>
+- <arrow direction="right" image="imaages/gg-arrow-right.png"></arrow>
++ <arrow direction="left" image="images/gg-left-arrow-large.png"></arrow>
++ <arrow direction="right" image="images/gg-right-arrow-large.png"></arrow>
+ <font>basesmall</font>
+ </guidegrid>
+
+@@ -146,7 +146,7 @@
+ <buttonarea>0,0,1019,41</buttonarea>
+ <statetype name="buttonitem">
+ <state name="active">
+- <area>-1,0,203,41</area>
++ <area>0,0,203,41</area>
+ <shape name="separator" from="base_vertical_line">
+ <area>0,5,2,31</area>
+ </shape>
+@@ -301,7 +301,7 @@
+ <area>0,0,1280,720</area>
+
+ <textarea name="heading" from="base_heading">
+- <value>Program Guide Video</value>
++ <value>Program Guide</value>
+ </textarea>
+
+ <shape name="guide-top-backdrop" from="base_backdrop">
+@@ -434,14 +434,14 @@
+ <channels>5</channels>
+ <timeslots>5</timeslots>
+ <solidcolor>#003256</solidcolor>
+- <selector type="roundbox" linecolor="#d6d6d6" />
++ <selector type="highlight" linecolor="#e6e6e6" fillcolor="#000000"/>
+ <showcategories>yes</showcategories>
+ <categoryalpha>130</categoryalpha>
+- <recordingcolor>#00aa00</recordingcolor>
+- <conflictingcolor>#ff6600</conflictingcolor>
++ <recordingcolor>#80d400</recordingcolor>
++ <conflictingcolor>#d97616</conflictingcolor>
+ <cutdown>no</cutdown>
+ <multiline>yes</multiline>
+- <textoffset>6,7</textoffset>
++ <textoffset>6,2</textoffset>
+ <recordstatus type="SingleRecord" image="images/gg-rs-single.png"></recordstatus>
+ <recordstatus type="TimeslotRecord" image="images/gg-rs-timeslot.png"></recordstatus>
+ <recordstatus type="ChannelRecord" image="images/gg-rs-channel.png"></recordstatus>
+@@ -449,24 +449,24 @@
+ <recordstatus type="WeekslotRecord" image="images/gg-rs-weekslot.png"></recordstatus>
+ <recordstatus type="FindOneRecord" image="images/gg-rs-findone.png"></recordstatus>
+ <recordstatus type="OverrideRecord" image="images/gg-rs-override.png"></recordstatus>
+- <arrow direction="left" image="images/gg-arrow-left.png"></arrow>
+- <arrow direction="right" image="imaages/gg-arrow-right.png"></arrow>
++ <arrow direction="left" image="images/gg-left-arrow-large.png"></arrow>
++ <arrow direction="right" image="images/gg-right-arrow-large.png"></arrow>
+ <font>basesmall</font>
+ </guidegrid>
+
+ <buttonlist name="timelist">
+- <area>238,40,1019,42</area>
++ <area>238,40,1019,41</area>
+ <layout>horizontal</layout>
+ <spacing>0</spacing>
+- <buttonarea>0,0,1019,42</buttonarea>
++ <buttonarea>0,0,1019,41</buttonarea>
+ <statetype name="buttonitem">
+ <state name="active">
+- <area>-1,0,203,42</area>
++ <area>0,0,203,41</area>
+ <shape name="separator" from="base_vertical_line">
+- <area>0,5,2,30</area>
++ <area>0,5,2,31</area>
+ </shape>
+ <textarea name="buttontext" from="basetextarea">
+- <area>0,0,203,42</area>
++ <area>0,1,203,41</area>
+ <font>basesmall</font>
+ <align>allcenter</align>
+ </textarea>
@@ -1084,7 +1084,7 @@
<textarea name="helptext">
diff --git a/abs/core/linhes-theme/status-ui.xml.patch b/abs/core/linhes-theme/status-ui.xml.patch
index 400f14c..f50061e 100644
--- a/abs/core/linhes-theme/status-ui.xml.patch
+++ b/abs/core/linhes-theme/status-ui.xml.patch
@@ -1,29 +1,33 @@
---- status-ui.xml.orig 2018-01-03 21:51:16.028700351 +0000
-+++ status-ui.xml 2018-01-03 21:21:37.423911248 +0000
-@@ -170,100 +170,140 @@
+--- status-ui.xml.orig 2018-06-01 18:03:53.259163788 +0000
++++ status-ui.xml 2018-06-01 18:02:26.000483611 +0000
+@@ -170,100 +170,152 @@
</window>
<window name="standbymode">
- <area>-1,-1,568,320</area>
+ <area>0,0,1280,720</area>
-- <animation trigger="AboutToShow">
+ <animation trigger="AboutToShow">
- <section>
- <alpha start="0" end="255" easingcurve="OutQuart"/>
- <zoom start="0" end="100" easingcurve="OutQuart"/>
-- </section>
-- </animation>
--
-- <animation trigger="AboutToHide">
-- <section>
++ <section duration="400">
++ <alpha start="0" end="255" easingcurve="InQuart"/>
+ </section>
+ </animation>
+
+ <animation trigger="AboutToHide">
+ <section>
- <alpha start="255" end="0" easingcurve="InQuart"/>
- <zoom start="100" end="0" easingcurve="InQuart"/>
-- </section>
-- </animation>
++ <alpha start="255" end="0" easingcurve="OutQuart"/>
+ </section>
+ </animation>
+
+ <textarea name="heading" from="base_heading">
+ <value>Standby</value>
+ </textarea>
-
++
<shape name="standbymode-backdrop" from="base_backdrop">
- <area>0,0,568,320</area>
+ <area>20,36,1240,649</area>
diff --git a/abs/core/linhes-theme/video-ui.xml.patch b/abs/core/linhes-theme/video-ui.xml.patch
index e3a9f7d..2a336ef 100644
--- a/abs/core/linhes-theme/video-ui.xml.patch
+++ b/abs/core/linhes-theme/video-ui.xml.patch
@@ -1,8 +1,54 @@
---- video-ui.xml.orig 2016-12-13 20:43:30.600314830 +0000
-+++ video-ui.xml 2017-10-26 19:57:07.944986189 +0000
-@@ -171,6 +171,7 @@
+--- video-ui.xml.orig 2018-04-17 14:44:43.827360598 +0000
++++ video-ui.xml 2018-04-17 14:47:36.544853593 +0000
+@@ -58,8 +58,8 @@
+ <textarea name="label" from="basetextarea">
+ <area>10,4,543,70</area>
+ <align>allcenter</align>
+- <font>baselargedarkyellow</font>
+- <value>Cast Members</value>
++ <font>baselarge</font>
++ <value>Cast</value>
+ </textarea>
+
+ <buttonlist name="cast" from="base_button_list">
+@@ -98,10 +98,10 @@
+ </state>
+ </statetype>
+ <statetype name="upscrollarrow">
+- <position>0,368</position>
++ <position>507,368</position>
+ </statetype>
+ <statetype name="downscrollarrow">
+- <position>20,368</position>
++ <position>527,368</position>
+ </statetype>
+ </buttonlist>
+
+@@ -154,7 +154,7 @@
+ </shape>
+
+ <shape name="full-plot-seperator-first-line" from="base_line">
+- <area>23,45,517,2</area>
++ <area>23,74,517,2</area>
+ </shape>
+
+ <shape name="full-plot-seperator-second-line" from="base_line">
+@@ -162,15 +162,16 @@
+ </shape>
+
+ <textarea name="label" from="basetextarea">
+- <area>24,4,515,41</area>
++ <area>10,4,543,70</area>
+ <align>allcenter</align>
+- <font>basesmalldarkyellow</font>
+- <value>Full Plot</value>
++ <font>baselarge</font>
++ <value>Plot</value>
+ </textarea>
+
<textarea name="description" from="basetextarea">
- <area>24,51,515,393</area>
+- <area>24,51,515,393</area>
++ <area>24,78,515,358</area>
<multiline>yes</multiline>
+ <scroll direction="up" rate="20" startdelay="5"/>
<font>basesmall</font>
@@ -144,16 +190,19 @@
</statetype>
<textarea name="dirlbl" from="basetextarea">
- <area>44,453,132,40</area>
+- <area>44,453,132,40</area>
- <font>basesmall</font>
++ <area>44,453,122,40</area>
+ <font>basesmallblue</font>
<align>left,vcenter</align>
- <value>Directed By:</value>
+- <value>Directed By:</value>
++ <value>Director:</value>
</textarea>
<textarea name="director" from="basetextarea">
- <area>186,453,611,40</area>
+- <area>186,453,611,40</area>
- <font>basesmallblue</font>
++ <area>176,453,621,40</area>
+ <font>basesmall</font>
<align>left,vcenter</align>
</textarea>
@@ -528,16 +577,19 @@
</statetype>
<textarea name="dirlbl" from="basetextarea">
- <area>44,448,132,34</area>
+- <area>44,448,132,34</area>
- <font>basesmall</font>
++ <area>44,448,122,34</area>
+ <font>basesmallblue</font>
<align>left,vcenter</align>
- <value>Directed By:</value>
+- <value>Directed By:</value>
++ <value>Director:</value>
</textarea>
<textarea name="director" from="basetextarea">
- <area>186,448,621,34</area>
+- <area>186,448,621,34</area>
- <font>basesmallblue</font>
++ <area>176,448,631,34</area>
+ <font>basesmall</font>
<align>left,vcenter</align>
</textarea>
@@ -862,18 +914,22 @@
<area>-165,3,158,24</area>
<font>basesmallred</font>
<cutdown>no</cutdown>
-@@ -1887,210 +1951,210 @@
+@@ -1886,211 +1950,211 @@
+ </statetype>
<textarea name="dirlbl" from="basetextarea">
- <area>40,444,132,42</area>
+- <area>40,444,132,42</area>
- <font>basesmall</font>
++ <area>40,444,102,42</area>
+ <font>basesmallblue</font>
<align>left,vcenter</align>
- <value>Directed By:</value>
+- <value>Directed By:</value>
++ <value>Director:</value>
</textarea>
<textarea name="director" from="basetextarea">
- <area>187,444,407,42</area>
+- <area>187,444,407,42</area>
++ <area>152,444,441,42</area>
+ <font>basesmall</font>
+ <align>left,vcenter</align>
+ </textarea>
@@ -1225,7 +1281,23 @@
</window>
<window name="edit_metadata">
-@@ -2947,82 +3011,84 @@
+@@ -2367,13 +2431,13 @@
+ </textedit>
+
+ <textarea name="director_text" from="basetextarea">
+- <area>40,126,124,36</area>
++ <area>40,126,114,36</area>
+ <value>Director:</value>
+ <align>right,vcenter</align>
+ </textarea>
+
+ <textedit name="director_edit" from="base_textedit">
+- <area>177,126,366,36</area>
++ <area>167,126,366,36</area>
+ </textedit>
+
+ <textarea name="tagline_text" from="basetextarea">
+@@ -2947,83 +3011,85 @@
<multiline>no</multiline>
<font>basesmalldarkyellow</font>
<align>allcenter</align>
@@ -1234,7 +1306,8 @@
</textarea>
<textarea name="description" from="basetextarea">
- <area>23,54,527,214</area>
+- <area>23,54,527,214</area>
++ <area>23,60,527,202</area>
<multiline>yes</multiline>
<font>basesmaller</font>
+ <scroll direction="up" rate="20" startdelay="5"/>
@@ -1242,7 +1315,7 @@
<textarea name="cast" from="basetextarea">
- <area>23,275,527,48</area>
-+ <area>25,275,527,43</area>
++ <area>25,279,527,38</area>
<multiline>yes</multiline>
- <font>basesmaller</font>
+ <font>baseextrasmall</font>
@@ -1250,17 +1323,20 @@
</textarea>
<textarea name="dirlbl" from="basetextarea">
- <area>23,325,112,24</area>
+- <area>23,325,112,24</area>
- <font>basesmaller</font>
+- <value>Directed by:</value>
+- <align>left,vcenter</align>
++ <area>23,325,82,24</area>
+ <font>basesmallerblue</font>
- <value>Directed by:</value>
- <align>left,vcenter</align>
++ <value>Director:</value>
++ <align>right,vcenter</align>
</textarea>
<textarea name="director" from="basetextarea">
- <area>145,326,405,24</area>
- <font>basesmallerblue</font>
-+ <area>145,325,405,24</area>
++ <area>115,325,435,24</area>
+ <font>basesmaller</font>
<align>left,vcenter</align>
</textarea>
@@ -1268,16 +1344,17 @@
<textarea name="yearlbl" from="basetextarea">
- <area>23,354,46,24</area>
- <font>basesmaller</font>
-+ <area>23,354,47,24</area>
+- <align>left,vcenter</align>
++ <area>23,354,82,24</area>
+ <font>basesmallerblue</font>
- <align>left,vcenter</align>
++ <align>right,vcenter</align>
<value>Year:</value>
</textarea>
<textarea name="year" from="basetextarea">
- <area>79,356,80,24</area>
- <font>basesmallerblue</font>
-+ <area>79,354,80,24</area>
++ <area>115,354,150,24</area>
+ <font>basesmaller</font>
</textarea>
@@ -1298,36 +1375,63 @@
</textarea>
<textarea name="seasonlbl" from="basetextarea">
- <area>88,382,90,20</area>
+- <area>88,382,90,20</area>
- <font>baseextrasmall</font>
-+ <font>baseextrasmallblue</font>
++ <area>23,380,82,24</area>
++ <font>basesmallerblue</font>
<value>Season:</value>
<align>right,vcenter</align>
</textarea>
<textarea name="season" from="basetextarea">
- <area>188,382,110,20</area>
+- <area>188,382,110,20</area>
- <font>baseextrasmallblue</font>
-+ <font>baseextrasmall</font>
- <align>vcenter</align>
+- <align>vcenter</align>
++ <area>115,380,150,24</area>
++ <font>basesmaller</font>
++ <align>left,vcenter</align>
</textarea>
<textarea name="episodelbl" from="basetextarea">
- <area>331,382,94,20</area>
+- <area>331,382,94,20</area>
- <font>baseextrasmall</font>
-+ <font>baseextrasmallblue</font>
++ <area>331,380,94,24</area>
++ <font>basesmallerblue</font>
<align>right,vcenter</align>
<value>Episode:</value>
</textarea>
<textarea name="episode" from="basetextarea">
- <area>435,382,110,20</area>
+- <area>435,382,110,20</area>
- <font>baseextrasmallblue</font>
-+ <font>baseextrasmall</font>
- <align>vcenter</align>
+- <align>vcenter</align>
++ <area>435,380,110,24</area>
++ <font>basesmaller</font>
++ <align>left,vcenter</align>
</textarea>
-@@ -3200,12 +3266,13 @@
+ <imagetype name="coverart">
+@@ -3050,6 +3116,9 @@
+ <group name="select_bar" from="base_button_select_bar_selected_group">
+ <area>0,0,100%,100%</area>
+ </group>
++ <textarea name="buttontext">
++ <font>basesmallyellow</font>
++ </textarea>
+ </state>
+ <state name="pushed" from="active">
+ <group name="select_bar" from="base_button_select_bar_pushed_group">
+@@ -3080,6 +3149,9 @@
+ <group name="select_bar" from="base_button_select_bar_selected_group">
+ <area>0,0,100%,100%</area>
+ </group>
++ <textarea name="buttontext">
++ <font>basesmallyellow</font>
++ </textarea>
+ </state>
+ <state name="pushed" from="active">
+ <group name="select_bar" from="base_button_select_bar_pushed_group">
+@@ -3200,12 +3272,13 @@
</buttonlist>
<checkbox name="altcheck" from="base_checkbox">
@@ -1343,7 +1447,7 @@
<value>Enable Alternate Player:</value>
</textarea>
-@@ -3221,19 +3288,19 @@
+@@ -3221,19 +3294,19 @@
<textarea name="helptext" from="basetextarea">
<area>239,551,802,61</area>
@@ -1368,7 +1472,7 @@
</button>
</window>
-@@ -3313,7 +3380,7 @@
+@@ -3313,7 +3386,7 @@
<position>390,175</position>
</checkbox>
@@ -1377,7 +1481,7 @@
<area>245,259,175,40</area>
<value>Trailers to Play:</value>
<align>right,vcenter</align>
-@@ -3345,21 +3412,21 @@
+@@ -3345,21 +3418,21 @@
<textarea name="helptext" from="basetextarea">
<area>239,523,802,76</area>
diff --git a/abs/core/linux-api-headers/PKGBUILD b/abs/core/linux-api-headers/PKGBUILD
index a1ef29c..dfda3b4 100644
--- a/abs/core/linux-api-headers/PKGBUILD
+++ b/abs/core/linux-api-headers/PKGBUILD
@@ -1,46 +1,45 @@
# $Id$
-# Maintainer: Allan McRae <allan@archlinux.org>
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
pkgname=linux-api-headers
-pkgver=4.9.20
-_basever=4.9
+pkgver=4.14.8
+_basever=${pkgver%.*}
pkgrel=1
-pkgdesc="Kernel headers sanitized for use in userspace"
-arch=('i686' 'x86_64')
-url="http://www.gnu.org/software/libc"
-license=('GPL2')
-source=(http://www.kernel.org/pub/linux/kernel/v4.x/linux-${_basever}.tar.xz
- http://www.kernel.org/pub/linux/kernel/v4.x/linux-${_basever}.tar.sign
- http://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.xz
- http://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.sign)
-md5sums=('0a68ef3615c64bd5ee54a3320e46667d'
+pkgdesc='Kernel headers sanitized for use in userspace'
+arch=(any)
+url='http://www.gnu.org/software/libc'
+license=(GPL2)
+source=(https://www.kernel.org/pub/linux/kernel/v4.x/linux-${_basever}.tar.{xz,sign}
+ https://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.{xz,sign})
+md5sums=('bacdb9ffdcd922aa069a5e1520160e24'
'SKIP'
- '1d336b33f01320e3bdbdc2d9b52aadbd'
+ 'e4a4d2abd61516d4eaf4789ca5e113ff'
'SKIP')
validpgpkeys=('ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E') # Greg Kroah-Hartman
prepare() {
- cd ${srcdir}/linux-${_basever}
- [[ $pkgver != $_basever ]] && patch -p1 -i ${srcdir}/patch-${pkgver} || true
+ cd linux-${_basever}
+ [[ $pkgver != $_basever ]] && patch -p1 -i "$srcdir/patch-$pkgver"
}
build() {
- cd ${srcdir}/linux-${_basever}
+ cd linux-${_basever}
make mrproper
make headers_check
}
package() {
- cd ${srcdir}/linux-${_basever}
- make INSTALL_HDR_PATH=${pkgdir}/usr headers_install
+ cd linux-${_basever}
+ make INSTALL_HDR_PATH="$pkgdir/usr" headers_install
# use headers from libdrm
- rm -r ${pkgdir}/usr/include/drm
+ rm -r "$pkgdir/usr/include/drm"
# clean-up unnecessary files generated during install
- find ${pkgdir} \( -name .install -o -name ..install.cmd \) -delete
+ find "$pkgdir" \( -name .install -o -name ..install.cmd \) -delete
}
diff --git a/abs/core/linux/PKGBUILD b/abs/core/linux/PKGBUILD
index 914d8b2..2e481b0 100644
--- a/abs/core/linux/PKGBUILD
+++ b/abs/core/linux/PKGBUILD
@@ -4,7 +4,7 @@
pkgbase=linux
#pkgbase=linux-custom
_srcname=linux-4.9
-pkgver=4.9.73
+pkgver=4.9.109
pkgrel=1
arch=('x86_64')
url="https://www.kernel.org/"
@@ -25,9 +25,9 @@ source=(https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.{xz,sign}
# https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc
sha256sums=('029098dcffab74875e086ae970e3828456838da6e0ba22ce3f64ef764f3d7f1a'
'SKIP'
- '2af9c1806d1c4a6b90f5b105bdb6eedba8e0610712d0bab8a906bb015b2993f3'
+ 'e688e9626b60b6e3ded8545803f6c9a81ee8dcdc12c908bba757793d3ea2e427'
'SKIP'
- '2bafc851b494310056bdc1a8bd3f5342f18c50a83594f5e5bf603406c5144ae4'
+ 'a11c6643d5b39bd4a37caa1ff3135cecdd1239348580b36e0abaaa425b5ced07'
'834bd254b56ab71d73f59b3221f056c72f559553c04718e350ab2a3e2991afe0'
'1f036f7464da54ae510630f0edb69faa115287f86d9f17641197ffda8cfd49e0'
'f8f6c9e9d82fac0ad1333a15418df81e2186e6a2e257aa670d1da57b4a15cafe'
diff --git a/abs/core/linux/config b/abs/core/linux/config
index c700de9..44f0716 100644
--- a/abs/core/linux/config
+++ b/abs/core/linux/config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.9.53-1 Kernel Configuration
+# Linux/x86 4.9.77-1 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
@@ -222,6 +222,7 @@ CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_BPF_SYSCALL=y
+CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_ADVISE_SYSCALLS=y
@@ -415,6 +416,7 @@ CONFIG_X86_FAST_FEATURE_TESTS=y
CONFIG_X86_X2APIC=y
CONFIG_X86_MPPARSE=y
# CONFIG_GOLDFISH is not set
+CONFIG_RETPOLINE=y
# CONFIG_X86_EXTENDED_PLATFORM is not set
CONFIG_X86_INTEL_LPSS=y
# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
@@ -837,7 +839,6 @@ CONFIG_IA32_EMULATION=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_SYSVIPC_COMPAT=y
-CONFIG_KEYS_COMPAT=y
CONFIG_X86_DEV_DMA_OPS=y
CONFIG_PMC_ATOM=y
CONFIG_NET=y
@@ -1788,6 +1789,7 @@ CONFIG_DEV_COREDUMP=y
CONFIG_SYS_HYPERVISOR=y
# CONFIG_GENERIC_CPU_DEVICES is not set
CONFIG_GENERIC_CPU_AUTOPROBE=y
+CONFIG_GENERIC_CPU_VULNERABILITIES=y
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_SPI=y
@@ -7621,6 +7623,7 @@ CONFIG_DEFAULT_IO_DELAY_TYPE=0
# Security options
#
CONFIG_KEYS=y
+CONFIG_KEYS_COMPAT=y
CONFIG_PERSISTENT_KEYRINGS=y
# CONFIG_BIG_KEYS is not set
CONFIG_TRUSTED_KEYS=m
@@ -7628,6 +7631,7 @@ CONFIG_ENCRYPTED_KEYS=m
CONFIG_KEY_DH_OPERATIONS=y
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
+CONFIG_PAGE_TABLE_ISOLATION=y
CONFIG_SECURITYFS=y
# CONFIG_SECURITY_NETWORK is not set
CONFIG_SECURITY_PATH=y
diff --git a/abs/core/linux/linux.install.pkg b/abs/core/linux/linux.install.pkg
index 9229cc6..c9b1687 100644
--- a/abs/core/linux/linux.install.pkg
+++ b/abs/core/linux/linux.install.pkg
@@ -2,7 +2,7 @@
# arg 2: the old package version
KERNEL_NAME=
-KERNEL_VERSION=4.9.73-1-ARCH
+KERNEL_VERSION=4.9.109-1-ARCH
post_install () {
# updating module dependencies
diff --git a/abs/core/lirc/PKGBUILD b/abs/core/lirc/PKGBUILD
index c9b70c1..2734220 100644
--- a/abs/core/lirc/PKGBUILD
+++ b/abs/core/lirc/PKGBUILD
@@ -1,48 +1,55 @@
-# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Maintainer: Lukas Fleischer <lfleischer@archlinux.org>
# Contributor: Paul Mattal <paul@archlinux.org>
pkgname=lirc
-_pkgver=0.9.2a
+_pkgver=0.10.1
[[ $_pkgver =~ [a-z]$ ]] && pkgver="${_pkgver:0:-1}.${_pkgver: -1}" || pkgver="$_pkgver"
-pkgrel=2
+pkgrel=1
epoch=1
-pkgdesc="Linux Infrared Remote Control utils"
-arch=('i686' 'x86_64')
+pkgdesc="Linux Infrared Remote Control utilities"
+arch=('x86_64')
url="http://www.lirc.org/"
license=('GPL')
-depends=('alsa-lib' 'libx11' 'libftdi-compat' 'libirman' 'iguanair')
-makedepends=('help2man' 'alsa-lib' 'libx11' 'libftdi-compat' 'libirman' 'python2')
-#optdepends=('python: for lirc-setup, irdb-get and pronto2lirc')
+depends=('alsa-lib' 'iguanair' 'libx11' 'libftdi' 'libusb-compat')
+makedepends=('help2man' 'alsa-lib' 'libx11' 'libxslt' 'python' 'python-setuptools')
+optdepends=('python: for lirc-setup, irdb-get and pronto2lirc')
provides=('lirc-utils')
conflicts=('lirc-utils')
replaces=('lirc-utils')
-#backup=('etc/lirc/lirc_options.conf' 'etc/lirc/lircd.conf' 'etc/lirc/lircmd.conf')
-install=lirc.install
+backup=('etc/lirc/lirc_options.conf' 'etc/lirc/lircd.conf' 'etc/lirc/lircmd.conf')
source=("http://prdownloads.sourceforge.net/${pkgname}/${pkgname}-${_pkgver}.tar.bz2"
+ lirc-0.10-build-fix.patch
lirc.logrotate
lirc.tmpfiles)
-md5sums=('639a14ed0b3b34ae227a047b952ea368'
- '3deb02604b37811d41816e9b4385fcc3'
- 'febf25c154a7d36f01159e84f26c2d9a')
+sha1sums=('9d6f6d18ac566a96ef4ca1d6909a4e8bc517d48a'
+ '952ce902c94d822b0113d8e74bc6fda6a551ad7e'
+ '4342b004eb53d51fcbb9af2cf136bb4990874608'
+ '5cd3f206e6e60632d9bea2ce9d22dbe5283eb129')
-build() {
+prepare() {
cd "${srcdir}/lirc-${_pkgver}"
- # don't user python3
- sed -i 's:#!/usr/bin/env python3:#!/usr/bin/env python:' ./tools/make_rel_symlink.py
+ patch -p1 -i ../lirc-0.10-build-fix.patch
+
+ autoreconf -fi
+ automake -ac
+}
+
+build() {
+ cd "${srcdir}/lirc-${_pkgver}"
- ./configure --prefix=/usr --sbindir=/usr/bin --sysconfdir=/etc --localstatedir=/var \
- --with-transmitter --enable-sandboxed
+ HAVE_UINPUT=1 ./configure --prefix=/usr --sbindir=/usr/bin --sysconfdir=/etc --localstatedir=/var
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
}
package() {
cd "${srcdir}/lirc-${_pkgver}"
- make DESTDIR="${pkgdir}" install
+ make DESTDIR="${pkgdir}" -j1 install
install -Dm644 "${srcdir}"/lirc.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/lirc.conf
install -Dm644 "${srcdir}"/lirc.logrotate "${pkgdir}"/etc/logrotate.d/lirc
- rmdir "${pkgdir}"/var/{run/lirc/,run/,}
+ rmdir "${pkgdir}"/var/{run/lirc/,run/}
}
diff --git a/abs/core/lirc/__changelog b/abs/core/lirc/__changelog
index 5d3d026..fa92350 100644
--- a/abs/core/lirc/__changelog
+++ b/abs/core/lirc/__changelog
@@ -1,5 +1 @@
PKGBUILD: add 'iguanair' to depends
-PKGBUILD: change dep python to python2
-PKGBUILD: comment out optdepends
-PKGBUILD: add sed to not use python3
-lirc.install: comment out service message
diff --git a/abs/core/lirc/lirc-0.10-build-fix.patch b/abs/core/lirc/lirc-0.10-build-fix.patch
new file mode 100644
index 0000000..41353db
--- /dev/null
+++ b/abs/core/lirc/lirc-0.10-build-fix.patch
@@ -0,0 +1,30 @@
+diff --git a/configure.ac b/configure.ac
+index 58347d8..8c7fca2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -77,15 +77,10 @@ AC_TYPE_UINT64_T
+
+ dnl AC_TYPE_GETGROUPS seems broken on recent MacOS, so:
+ AC_MSG_CHECKING([Figure out if getgrouplist() needs gid_t or int])
+-oldcflags="$CFLAGS"
+-export CFLAGS=-Werror
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <unistd.h>
+-#include <grp.h>
+- ]], [[
+-gid_t groups[32]; int ngroups; const char* user = "root";
+-getgrouplist(user, 1, groups, &ngroups);
+- ]])],[
++int getgroups(int gidsetsize, gid_t grouplist[]);
++ ]], [[ ]])],[
+ AC_MSG_RESULT(gid_t)
+ AC_DEFINE(GETGROUPS_T,[gid_t])
+ ],[
+@@ -93,7 +88,6 @@ getgrouplist(user, 1, groups, &ngroups);
+ AC_DEFINE(GETGROUPS_T,[int])
+ ]
+ )
+-export CFLAGS="$oldcflags"
+
+ dnl Checks for library functions.
+ AC_CHECK_FUNCS(gethostname gettimeofday mkfifo select socket strdup \
diff --git a/abs/core/lirc/lirc.install b/abs/core/lirc/lirc.install
deleted file mode 100644
index cc5d931..0000000
--- a/abs/core/lirc/lirc.install
+++ /dev/null
@@ -1,13 +0,0 @@
-post_install() {
- systemd-tmpfiles --create lirc.conf
-}
-
-post_upgrade() {
- post_install
-
-# if [[ "$(vercmp $2 1:0.9.1-1)" -lt 0 ]]; then
-# echo ':: lirc.service and lircm.service have been replaced'
-# echo ' by the upstream unit files lircd.service and'
-# echo ' lircmd.service.'
-# fi
-}
diff --git a/abs/core/lockdev/PKGBUILD b/abs/core/lockdev/PKGBUILD
index 946f55d..5398e7a 100644
--- a/abs/core/lockdev/PKGBUILD
+++ b/abs/core/lockdev/PKGBUILD
@@ -1,27 +1,45 @@
+# $Id$
+# Maintainer: Lukas Fleischer <lfleischer@archlinux.org>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Andreas Wagner <a.wagner@stud.uni-frankfurt.de>
+
pkgname=lockdev
-pkgver=1.0.3_1.5
+pkgver=1.0.3_1.6
_pkgver=1.0.3
-pkgrel=3
+pkgrel=4
pkgdesc='Run-time shared library for locking devices, using _both_ FSSTND and SVr4 methods.'
url='http://packages.qa.debian.org/l/lockdev.html'
license=("GPL")
-arch=('i686' 'x86_64')
+arch=('x86_64')
+depends=('glibc' 'systemd')
source=("http://ftp.debian.org/debian/pool/main/l/${pkgname}/${pkgname}_${_pkgver}.orig.tar.gz"
- "http://ftp.debian.org/debian/pool/main/l/${pkgname}/${pkgname}_${pkgver/_/-}.diff.gz")
+ "http://ftp.debian.org/debian/pool/main/l/${pkgname}/${pkgname}_${pkgver/_/-}.diff.gz"
+ 'build.patch'
+ 'gcc-4.7.patch')
+md5sums=('64b9c1b87b125fc348e892e24625524a'
+ '5ef6267c42fca9145e0af006ccb6aff7'
+ '2db93cadf6670ddcd01de4bfc22a35e1'
+ 'e16faebfa2d162d40830ef6f2700b7ba')
-build() {
+prepare() {
cd "${pkgname}-${_pkgver}"
-
patch -p1 -i "../${pkgname}_${pkgver/_/-}.diff"
sed -i "s|CFLAGS = -g|CFLAGS = -g -fPIC|" Makefile
+ patch -p1 -i ../build.patch # FS#33280
+ patch -p1 -i ../gcc-4.7.patch # FS#34457
+}
- make shared
- make static
+build() {
+ cd "${pkgname}-${_pkgver}"
+ make CFLAGS="${CFLAGS} -D_PATH_LOCK=\\\"/run/lock/lockdev\\\" -fPIC"
}
package() {
cd "${pkgname}-${_pkgver}"
make basedir="${pkgdir}/usr" install
+
+ # Setup lock directory
+ install -dm755 "$pkgdir"/usr/lib/{sysusers,tmpfiles}.d
+ echo 'g lock - - -' > "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
+ echo 'd /run/lock/lockdev 0775 root lock -' > "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
}
-md5sums=('64b9c1b87b125fc348e892e24625524a'
- 'c4e8a5a2e46b76b48339c232b358f579')
diff --git a/abs/core/lockdev/build.patch b/abs/core/lockdev/build.patch
new file mode 100644
index 0000000..f1053d0
--- /dev/null
+++ b/abs/core/lockdev/build.patch
@@ -0,0 +1,30 @@
+commit 0dd47123655c52d68185f06b9da8fb0e1b925400
+Author: Ludwig Nussel <ludwig.nussel@suse.de>
+Date: Tue Feb 9 14:56:23 2010 +0100
+
+ RedHat patch 2
+
+ - change library file name
+ - install devel symlink
+
+diff --git a/Makefile b/Makefile
+index b7b4d1f..3b351dd 100644
+--- a/Makefile
++++ b/Makefile
+@@ -11,7 +11,7 @@ VER = $(shell expr `pwd` : '.*-\([0-9.]*\)')
+ MVER = ${shell expr `pwd` : '.*-\([0-9]*\).[0-9]*'}
+
+ static = ${libname}.a
+-shared = ${libname}.${VER}.so
++shared = ${libname}.so.${VER}
+ soname = ${libname}.so.${MVER}
+
+ # overwritten by caller (e.g.: debian/rules)
+@@ -76,6 +76,7 @@ install_doc: docs/lockdev.3
+ install_run: ${shared}
+ install -m755 -d ${libdir}
+ install -m644 ${shared} ${libdir}
++ ln -s ${shared} ${libdir}/liblockdev.so
+
+ .PHONY: clean distclean perl-clean mostyclean
+ perl-clean: clean
diff --git a/abs/core/lockdev/gcc-4.7.patch b/abs/core/lockdev/gcc-4.7.patch
new file mode 100644
index 0000000..3b11e0b
--- /dev/null
+++ b/abs/core/lockdev/gcc-4.7.patch
@@ -0,0 +1,18 @@
+diff -Naur lockdev-1.0.3.orig/src/ttylock.h lockdev-1.0.3/src/ttylock.h
+--- lockdev-1.0.3.orig/src/ttylock.h 2013-12-13 15:34:52.195877321 +0000
++++ lockdev-1.0.3/src/ttylock.h 2013-12-13 15:38:16.131190480 +0000
+@@ -36,10 +36,10 @@
+
+ /* API of the library */
+
+-int ttylock (char * devname);
+-int ttywait (char * devname);
+-int ttyunlock (char * devname);
+-int ttylocked (char * devname);
++static inline int ttylock (char * devname);
++static inline int ttywait (char * devname);
++static inline int ttyunlock (char * devname);
++static inline int ttylocked (char * devname);
+
+
+ static inline int
diff --git a/abs/core/lsof/PKGBUILD b/abs/core/lsof/PKGBUILD
index 7d25f4c..bcbde94 100644
--- a/abs/core/lsof/PKGBUILD
+++ b/abs/core/lsof/PKGBUILD
@@ -6,16 +6,16 @@
# Contributor: Jochem Kossen <j.kossen@home.nl>
pkgname=lsof
-pkgver=4.89
+pkgver=4.90
pkgrel=1
pkgdesc="Lists open files for running Unix processes"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://people.freebsd.org/~abe/"
license=('custom')
depends=('glibc')
source=(ftp://ftp.fu-berlin.de/pub/unix/tools/lsof/lsof_$pkgver.tar.bz2
license.txt)
-sha1sums=('ea8fb2588c9732f1b22d73ffab17dd055590df2c'
+sha1sums=('9980f2ed68242c292f7aeb077d450c1e911ded88'
'db6b6d90ce895e4053f91ad25c7761fbf9a37dd6')
#validpgpkeys=(9AFD62A840BD3D55) It is PGP-2 key
diff --git a/abs/core/lvm2/PKGBUILD b/abs/core/lvm2/PKGBUILD
index e31f8a8..a449821 100644
--- a/abs/core/lvm2/PKGBUILD
+++ b/abs/core/lvm2/PKGBUILD
@@ -1,82 +1,105 @@
-# $Id: PKGBUILD 199802 2013-11-16 17:53:26Z thomas $
+# $Id$
# Maintainer: Eric Bélanger <eric@archlinux.org>
# Maintainer: Thomas Bächler <thomas@archlinux.org>
pkgbase=lvm2
pkgname=('lvm2' 'device-mapper')
-pkgver=2.02.104
-pkgrel=1
-arch=('i686' 'x86_64')
+pkgver=2.02.177
+pkgrel=4
+arch=('x86_64')
url="http://sourceware.org/lvm2/"
license=('GPL2' 'LGPL2.1')
makedepends=('systemd' 'thin-provisioning-tools')
groups=('base')
-source=(ftp://sources.redhat.com/pub/lvm2/LVM2.${pkgver}.tgz{,.asc}
- lvm2_install
- lvm2_hook
- sd-lvm2
- 11-dm-initramfs.rules
- lvm2.conf
- dmeventd.service
- dmeventd.socket
- lvm-monitoring.service
- lvmetad.service
- lvmetad.socket)
-sha1sums=('4c296453e10deafe02004fde40075cdb3792eeb2'
- 'SKIP'
- '76e83966d1bc84f9a1e30bcaff84b8b8fefbca0f'
- 'ff0fdf0a3005a41acd4b36865056109effc3474b'
- '30777d42e31cb7fe1f4fadc1e8f4c4d4cdd8ffed'
- 'f6a554eea9557c3c236df2943bb6e7e723945c41'
- 'ccefad65fde3d50331a42b0e90a1539dc7c8b9e4'
- '01782ce8e10718c1513e3906b126f30f682f5cab'
- '1d56f47a81350ae37ffbf61ee036fe31f4c5d504'
- 'aad90fce0e12eda41d38571d8eb27c5d5a8c59ec'
- 'f857a4a63fcc604a981e56875edda91767d4f1bf'
- 'fcfc265e3b10294cc4b10949a342e9db4310b186')
+validpgpkeys=('88437EF5C077BD113D3B7224228191C1567E2C17') # Alasdair G Kergon <agk@redhat.com>
+source=("https://mirrors.kernel.org/sourceware/lvm2/releases/LVM2.${pkgver}.tgz"{,.asc}
+ 'lvm2_install'
+ 'lvm2_hook'
+ 'sd-lvm2_install'
+ '11-dm-initramfs.rules')
+sha256sums=('4025a23ec9b15c2cb7486d151c29dc953b75efc4d452cfe9dbbc7c0fac8e80f2'
+ 'SKIP'
+ '5129f87a8b30d5a8621e9c1c0664910a588bdd77bff09473afb73efb41305cbb'
+ '97d7c92e4954bc0108e7cd183b2eb5fe7ecc97e6f56369669e6537cb6ed45d80'
+ 'cc1ed670a7ca21ee2ab32ad6b5ab7a6a5e86d0651ea2e1593e289a82c87aa4da'
+ 'e10f24b57582d6e2da71f7c80732a62e0ee2e3b867fe84591ccdb53e80fa92e0')
prepare() {
cd LVM2.${pkgver}
+
# enable lvmetad
sed -i 's|use_lvmetad = 0|use_lvmetad = 1|' conf/example.conf.in
+
+ # remove install section from systemd units that are enabled by default
+ sed -i -e '/^\[Install\]$/,$d' \
+ scripts/dm_event_systemd_red_hat.socket.in \
+ scripts/lvm2_lvmetad_systemd_red_hat.socket.in \
+ scripts/lvm2_lvmpolld_systemd_red_hat.socket.in \
+ scripts/lvm2_monitoring_systemd_red_hat.service.in
}
build() {
+ local CONFIGUREOPTS=(
+ --prefix=/usr
+ --sbindir=/usr/bin
+ --sysconfdir=/etc
+ --localstatedir=/var
+ --enable-applib
+ --enable-cmdlib
+ --enable-dmeventd
+ --enable-lvmetad
+ --enable-lvmpolld
+ --enable-pkgconfig
+ --enable-readline
+ --enable-udev_rules
+ --enable-udev_sync
+ --with-cache=internal
+ --with-default-dm-run-dir=/run
+ --with-default-locking-dir=/run/lock/lvm
+ --with-default-pid-dir=/run
+ --with-default-run-dir=/run/lvm
+ --with-systemdsystemunitdir=/usr/lib/systemd/system
+ --with-thin=internal
+ --with-udev-prefix=/usr
+ )
+
+ cp -a LVM2.${pkgver} LVM2-initramfs
+
cd LVM2.${pkgver}
- unset LDFLAGS
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --sbindir=/usr/bin \
- --with-udev-prefix=/usr --with-systemdsystemunitdir=/usr/lib/systemd/system \
- --with-default-pid-dir=/run --with-default-dm-run-dir=/run --with-default-run-dir=/run/lvm \
- --enable-pkgconfig --enable-readline --enable-dmeventd --enable-cmdlib --enable-applib \
- --enable-udev_sync --enable-udev_rules --with-default-locking-dir=/run/lock/lvm \
- --enable-lvmetad --with-thin=internal
+ ./configure "${CONFIGUREOPTS[@]}" --enable-udev-systemd-background-jobs
make
+
+ # Build legacy udev rule for initramfs
+ cd ../LVM2-initramfs
+ ./configure "${CONFIGUREOPTS[@]}" --enable-udev-systemd-background-jobs=no
+ cd udev
+ make 69-dm-lvm-metad.rules
}
package_device-mapper() {
pkgdesc="Device mapper userspace library and tools"
url="http://sourceware.org/dm/"
- depends=('glibc' 'systemd')
+ depends=('glibc' 'libsystemd')
cd LVM2.${pkgver}
make DESTDIR="${pkgdir}" install_device-mapper
# extra udev rule for device-mapper in initramfs
install -D -m644 "${srcdir}/11-dm-initramfs.rules" "${pkgdir}/usr/lib/initcpio/udev/11-dm-initramfs.rules"
# Install dmeventd socket and service
- install -D -m644 "${srcdir}/dmeventd.service" "${pkgdir}/usr/lib/systemd/system/dmeventd.service"
- install -D -m644 "${srcdir}/dmeventd.socket" "${pkgdir}/usr/lib/systemd/system/dmeventd.socket"
+ make DESTDIR="${pkgdir}" install_systemd_units
+ rm -f "${pkgdir}/usr/lib/systemd/system/"{blk-availability.service,lvm2-*}
install -d -m755 "${pkgdir}/usr/lib/systemd/system/sockets.target.wants"
- ln -sf /usr/lib/systemd/system/dmeventd.socket "${pkgdir}/usr/lib/systemd/system/sockets.target.wants/dmeventd.socket"
+ ln -sf ../dm-event.socket "${pkgdir}/usr/lib/systemd/system/sockets.target.wants/dm-event.socket"
}
package_lvm2() {
pkgdesc="Logical Volume Manager 2 utilities"
- depends=('bash' "device-mapper>=${pkgver}" 'systemd' 'readline')
+ depends=('bash' "device-mapper>=${pkgver}" 'libsystemd' 'readline' 'thin-provisioning-tools')
conflicts=('lvm' 'mkinitcpio<0.7')
- backup=('etc/lvm/lvm.conf')
+ backup=('etc/lvm/lvm.conf'
+ 'etc/lvm/lvmlocal.conf')
options=('!makeflags')
- optdepends=('thin-provisioning-tools: For thin provisioning support.')
install=lvm2.install
cd LVM2.${pkgver}
@@ -88,12 +111,15 @@ package_lvm2() {
# mkinitcpio hook
install -D -m644 "${srcdir}/lvm2_hook" "${pkgdir}/usr/lib/initcpio/hooks/lvm2"
install -D -m644 "${srcdir}/lvm2_install" "${pkgdir}/usr/lib/initcpio/install/lvm2"
- install -D -m644 "${srcdir}/sd-lvm2" "${pkgdir}/usr/lib/initcpio/install/sd-lvm2"
+ install -D -m644 "${srcdir}/sd-lvm2_install" "${pkgdir}/usr/lib/initcpio/install/sd-lvm2"
+ # extra udev rule for lvmetad in non-systemd initramfs
+ install -D -m644 "${srcdir}/LVM2-initramfs/udev/69-dm-lvm-metad.rules" "${pkgdir}/usr/lib/initcpio/udev/69-dm-lvm-metad.rules"
# systemd support
- install -D -m644 "${srcdir}/lvm2.conf" "${pkgdir}/usr/lib/tmpfiles.d/lvm2.conf"
- install -D -m644 "${srcdir}/lvm-monitoring.service" "${pkgdir}/usr/lib/systemd/system/lvm-monitoring.service"
- install -D -m644 "${srcdir}/lvmetad.service" "${pkgdir}/usr/lib/systemd/system/lvmetad.service"
- install -D -m644 "${srcdir}/lvmetad.socket" "${pkgdir}/usr/lib/systemd/system/lvmetad.socket"
- install -d -m755 "${pkgdir}/usr/lib/systemd/system/sockets.target.wants"
- ln -sf /usr/lib/systemd/system/lvmetad.socket "${pkgdir}/usr/lib/systemd/system/sockets.target.wants/lvmetad.socket"
+ make DESTDIR="${pkgdir}" install_systemd_units
+ rm -f "${pkgdir}/usr/lib/systemd/system/"dm-*
+ install -d -m755 "${pkgdir}/usr/lib/systemd/system/sysinit.target.wants"
+ ln -sf ../lvm2-lvmetad.socket "${pkgdir}/usr/lib/systemd/system/sysinit.target.wants/lvm2-lvmetad.socket"
+ ln -sf ../lvm2-lvmpolld.socket "${pkgdir}/usr/lib/systemd/system/sysinit.target.wants/lvm2-lvmpolld.socket"
+ ln -sf ../lvm2-monitor.service "${pkgdir}/usr/lib/systemd/system/sysinit.target.wants/lvm2-monitor.service"
+ make DESTDIR="${pkgdir}" install_systemd_generators
}
diff --git a/abs/core/lvm2/dmeventd.service b/abs/core/lvm2/dmeventd.service
deleted file mode 100644
index e0b1b33..0000000
--- a/abs/core/lvm2/dmeventd.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=Device-mapper event daemon
-Documentation=man:dmeventd(8)
-Requires=dmeventd.socket
-After=dmeventd.socket
-DefaultDependencies=no
-
-[Service]
-Type=forking
-ExecStart=/usr/bin/dmeventd
-ExecReload=/usr/bin/dmeventd -R
-Environment=SD_ACTIVATION=1
-PIDFile=/run/dmeventd.pid
-OOMScoreAdjust=-1000
diff --git a/abs/core/lvm2/dmeventd.socket b/abs/core/lvm2/dmeventd.socket
deleted file mode 100644
index 726d112..0000000
--- a/abs/core/lvm2/dmeventd.socket
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Device-mapper event daemon FIFOs
-Documentation=man:dmeventd(8)
-Before=sockets.target
-DefaultDependencies=no
-Conflicts=shutdown.target
-
-[Socket]
-ListenFIFO=/run/dmeventd-server
-ListenFIFO=/run/dmeventd-client
-SocketMode=0600
diff --git a/abs/core/lvm2/lvm-monitoring.service b/abs/core/lvm2/lvm-monitoring.service
deleted file mode 100644
index 14b2d1d..0000000
--- a/abs/core/lvm2/lvm-monitoring.service
+++ /dev/null
@@ -1,17 +0,0 @@
-[Unit]
-Description=Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling
-Documentation=man:dmeventd(8) man:lvcreate(8) man:lvchange(8) man:vgchange(8)
-Requires=dmeventd.socket
-After=dmeventd.socket lvmetad.socket
-DefaultDependencies=no
-Conflicts=shutdown.target
-
-[Service]
-Type=oneshot
-Environment=LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES=1
-ExecStart=/usr/bin/lvm vgchange --monitor y
-ExecStop=/usr/bin/lvm vgchange --monitor n
-RemainAfterExit=yes
-
-[Install]
-WantedBy=sysinit.target
diff --git a/abs/core/lvm2/lvm2.conf b/abs/core/lvm2/lvm2.conf
deleted file mode 100644
index 1298245..0000000
--- a/abs/core/lvm2/lvm2.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-d /run/lock/lvm 0755 root root -
-d /run/lvm 0755 root root -
diff --git a/abs/core/lvm2/lvm2.install b/abs/core/lvm2/lvm2.install
index 7faf708..e11834d 100644
--- a/abs/core/lvm2/lvm2.install
+++ b/abs/core/lvm2/lvm2.install
@@ -11,6 +11,15 @@ post_upgrade() {
echo " into /etc/lvm/lvm.conf or LVM will fail to work."
fi
fi
+
+ if [ $(vercmp $2 2.02.106-2) -lt 0 ]; then
+ if [ -L /etc/systemd/system/sysinit.target.wants/lvm-monitoring.service ]; then
+ echo "rm /etc/systemd/system/sysinit.target.wants/lvm-monitoring.service"
+ rm /etc/systemd/system/sysinit.target.wants/lvm-monitoring.service
+ echo "ln -s /usr/lib/systemd/system/lvm2-monitor.service /etc/systemd/system/sysinit.target.wants/lvm2-monitor.service"
+ ln -s /usr/lib/systemd/system/lvm2-monitor.service /etc/systemd/system/sysinit.target.wants/lvm2-monitor.service
+ fi
+ fi
}
# vim:set ts=2 sw=2 et:
diff --git a/abs/core/lvm2/lvm2_hook b/abs/core/lvm2/lvm2_hook
index 65de7bd..3c28d67 100644
--- a/abs/core/lvm2/lvm2_hook
+++ b/abs/core/lvm2/lvm2_hook
@@ -5,6 +5,19 @@ run_earlyhook() {
lvmetad
}
+# We are suffering a race condition in non-systemd initramfs: If lvmetad is
+# killed before pvscan processes finish we have stale processes and
+# uninitialized physical volumes. So wait for pvscan processes to finish.
+# Break after 10 seconds (50*0.2s) to avaid infinite loop.
+run_latehook() {
+ local i=50
+
+ while pgrep -f pvscan >/dev/null 2>/dev/null && [ $i -gt 0 ]; do
+ sleep 0.2
+ i=$((i - 1))
+ done
+}
+
run_cleanuphook() {
kill $(cat /run/lvmetad.pid)
}
diff --git a/abs/core/lvm2/lvm2_install b/abs/core/lvm2/lvm2_install
index 6f3c1cb..e0be711 100644
--- a/abs/core/lvm2/lvm2_install
+++ b/abs/core/lvm2/lvm2_install
@@ -2,18 +2,37 @@
build() {
local mod
- for mod in dm-mod dm-snapshot dm-mirror; do
+ local symlink
+
+ # device mapper modules
+ for mod in dm-mod dm-snapshot dm-mirror dm-cache dm-cache-smq dm-thin-pool; do
add_module "$mod"
done
+ # binaries from lvm2
add_binary "/usr/bin/lvm"
add_binary "/usr/bin/lvmetad"
+
+ # beinaries from device-mapper
add_binary "/usr/bin/dmsetup"
+ add_binary "/usr/bin/dmeventd"
+
+ # these are dlopen()ed
+ for library in libdevmapper-event-lvm2{mirror,raid,snapshot,thin}; do
+ add_binary "/usr/lib/${library}.so"
+ done
+
+ # from thin-provisioning-tools
+ add_binary "/usr/bin/pdata_tools"
+ for symlink in cache_{check,dump,metadata_size,repair,restore} thin_{check,delta,dump,ls,metadata_size,repair,restore,rmap,trim}; do
+ add_symlink "/usr/bin/${symlink}" "pdata_tools"
+ done
+
add_file "/usr/lib/udev/rules.d/10-dm.rules"
add_file "/usr/lib/udev/rules.d/13-dm-disk.rules"
add_file "/usr/lib/udev/rules.d/95-dm-notify.rules"
add_file "/usr/lib/udev/rules.d/11-dm-lvm.rules"
- add_file "/usr/lib/udev/rules.d/69-dm-lvm-metad.rules"
+ add_file "/usr/lib/initcpio/udev/69-dm-lvm-metad.rules" "/usr/lib/udev/rules.d/69-dm-lvm-metad.rules"
add_file "/usr/lib/initcpio/udev/11-dm-initramfs.rules" "/usr/lib/udev/rules.d/11-dm-initramfs.rules"
add_file "/etc/lvm/lvm.conf"
diff --git a/abs/core/lvm2/lvmetad.service b/abs/core/lvm2/lvmetad.service
deleted file mode 100644
index 4be520a..0000000
--- a/abs/core/lvm2/lvmetad.service
+++ /dev/null
@@ -1,16 +0,0 @@
-[Unit]
-Description=LVM2 metadata daemon
-Documentation=man:lvmetad(8)
-Requires=lvmetad.socket
-After=lvmetad.socket
-DefaultDependencies=no
-Conflicts=shutdown.target
-
-[Service]
-Type=forking
-NonBlocking=true
-ExecStart=/usr/bin/lvmetad
-ExecReload=/usr/bin/lvmetad -R
-Environment=SD_ACTIVATION=1
-Restart=on-abort
-PIDFile=/run/lvmetad.pid
diff --git a/abs/core/lvm2/lvmetad.socket b/abs/core/lvm2/lvmetad.socket
deleted file mode 100644
index 9c0ffa5..0000000
--- a/abs/core/lvm2/lvmetad.socket
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=LVM2 metadata daemon socket
-Documentation=man:lvmetad(8)
-Before=sockets.target systemd-udev-trigger.service
-DefaultDependencies=no
-Conflicts=shutdown.target
-
-[Socket]
-ListenStream=/run/lvm/lvmetad.socket
-SocketMode=0600
diff --git a/abs/core/lvm2/sd-lvm2 b/abs/core/lvm2/sd-lvm2
deleted file mode 100644
index 07cb19a..0000000
--- a/abs/core/lvm2/sd-lvm2
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/bash
-
-build() {
- local mod
- for mod in dm-mod dm-snapshot dm-mirror; do
- add_module "$mod"
- done
-
- add_binary "/usr/bin/lvm"
- add_binary "/usr/bin/lvmetad"
- add_binary "/usr/bin/dmsetup"
- add_file "/usr/lib/udev/rules.d/10-dm.rules"
- add_file "/usr/lib/udev/rules.d/13-dm-disk.rules"
- add_file "/usr/lib/udev/rules.d/95-dm-notify.rules"
- add_file "/usr/lib/udev/rules.d/11-dm-lvm.rules"
- add_file "/usr/lib/udev/rules.d/69-dm-lvm-metad.rules"
- add_file "/usr/lib/initcpio/udev/11-dm-initramfs.rules" "/usr/lib/udev/rules.d/11-dm-initramfs.rules"
- add_file "/etc/lvm/lvm.conf"
-
- add_file "/usr/lib/systemd/system/lvmetad.service"
- add_file "/usr/lib/systemd/system/lvmetad.socket"
- add_symlink "/usr/lib/systemd/system/sockets.target.wants/lvmetad.socket"
-}
-
-help() {
- cat <<HELPEOF
-This hook enables LVM2 volumes in systemd-based initramfs.
-HELPEOF
-}
-
-# vim: set ft=sh ts=4 sw=4 et:
diff --git a/abs/core/lvm2/sd-lvm2_install b/abs/core/lvm2/sd-lvm2_install
new file mode 100644
index 0000000..f90cc82
--- /dev/null
+++ b/abs/core/lvm2/sd-lvm2_install
@@ -0,0 +1,49 @@
+#!/usr/bin/bash
+
+build() {
+ local mod
+ local symlink
+
+ # device mapper modules
+ for mod in dm-mod dm-snapshot dm-mirror dm-cache dm-cache-smq dm-thin-pool; do
+ add_module "$mod"
+ done
+
+ # device mapper and lvm2 systemd units
+ # binaries and libraries are pull automatically, except ...
+ add_systemd_unit "dm-event.service"
+ add_systemd_unit "lvm2-lvmetad.service"
+ add_systemd_unit "lvm2-pvscan@.service"
+ add_symlink "/usr/lib/systemd/system/sysinit.target.wants/lvm2-lvmetad.socket"
+
+ # ... dmsetup and ...
+ add_binary "dmsetup"
+
+ # ... these, which are dlopen()ed
+ for library in libdevmapper-event-lvm2{mirror,raid,snapshot,thin}; do
+ add_binary "/usr/lib/${library}.so"
+ done
+
+ # from thin-provisioning-tools
+ add_binary "pdata_tools"
+ for symlink in cache_{check,dump,metadata_size,repair,restore} thin_{check,delta,dump,ls,metadata_size,repair,restore,rmap,trim}; do
+ add_symlink "/usr/bin/${symlink}" "pdata_tools"
+ done
+
+ # udev rules and lvm configuration
+ add_file "/usr/lib/udev/rules.d/10-dm.rules"
+ add_file "/usr/lib/udev/rules.d/13-dm-disk.rules"
+ add_file "/usr/lib/udev/rules.d/95-dm-notify.rules"
+ add_file "/usr/lib/udev/rules.d/11-dm-lvm.rules"
+ add_file "/usr/lib/udev/rules.d/69-dm-lvm-metad.rules"
+ add_file "/usr/lib/initcpio/udev/11-dm-initramfs.rules" "/usr/lib/udev/rules.d/11-dm-initramfs.rules"
+ add_file "/etc/lvm/lvm.conf"
+}
+
+help() {
+ cat <<HELPEOF
+This hook enables LVM2 volumes in systemd-based initramfs.
+HELPEOF
+}
+
+# vim: set ft=sh ts=4 sw=4 et:
diff --git a/abs/core/make/PKGBUILD b/abs/core/make/PKGBUILD
index 91f2da8..4d6b494 100644
--- a/abs/core/make/PKGBUILD
+++ b/abs/core/make/PKGBUILD
@@ -4,18 +4,25 @@
pkgname=make
pkgver=4.2.1
-pkgrel=1
+pkgrel=2
pkgdesc="GNU make utility to maintain groups of programs"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://www.gnu.org/software/make"
license=('GPL3')
groups=('base-devel')
depends=('glibc' 'guile')
-source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.bz2{,.sig})
+source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.bz2{,.sig}
+ guile-2.2.patch)
md5sums=('15b012617e7c44c0ed482721629577ac'
- 'SKIP')
+ 'SKIP'
+ '89bbbe3f806f208608e117665feb562b')
validpgpkeys=('3D2554F0A15338AB9AF1BB9D96B047156338B6D4') # Paul Smith
+prepare() {
+ cd ${pkgname}-${pkgver}
+ patch -p1 -i ${srcdir}/guile-2.2.patch
+ autoreconf -fi
+}
build() {
cd ${pkgname}-${pkgver}
diff --git a/abs/core/make/guile-2.2.patch b/abs/core/make/guile-2.2.patch
new file mode 100644
index 0000000..8e4cbc0
--- /dev/null
+++ b/abs/core/make/guile-2.2.patch
@@ -0,0 +1,15 @@
+diff --git a/configure.ac b/configure.ac
+index 64ec870..eb1139f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -168,8 +168,8 @@ AC_ARG_WITH([guile], [AS_HELP_STRING([--with-guile],
+ # comes with it's own PC file so we have to specify them as individual
+ # packages. Ugh.
+ AS_IF([test "x$with_guile" != xno],
+-[ PKG_CHECK_MODULES([GUILE], [guile-2.0], [have_guile=yes],
+- [PKG_CHECK_MODULES([GUILE], [guile-1.8], [have_guile=yes],
++[ PKG_CHECK_MODULES([GUILE], [guile-2.2], [have_guile=yes],
++ [PKG_CHECK_MODULES([GUILE], [guile-2.0], [have_guile=yes],
+ [have_guile=no])])
+ ])
+
diff --git a/abs/core/mesa-demos/PKGBUILD b/abs/core/mesa-demos/PKGBUILD
index 68d27a5..a54101b 100644
--- a/abs/core/mesa-demos/PKGBUILD
+++ b/abs/core/mesa-demos/PKGBUILD
@@ -3,28 +3,35 @@
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgname='mesa-demos'
-pkgver=8.2.0
-pkgrel=3
-arch=('i686' 'x86_64')
-pkgdesc="Mesa demos and tools"
-url="http://mesa3d.sourceforge.net"
+pkgver=8.4.0
+pkgrel=1
+arch=('x86_64')
+pkgdesc="Mesa demos and tools incl. glxinfo + glxgears"
+url="https://www.mesa3d.org/"
license=('custom')
depends=('libgl' 'glew' 'freeglut')
-source=("ftp://ftp.freedesktop.org/pub/mesa/demos/${pkgver}/mesa-demos-${pkgver}.tar.bz2"
+makedepends=('mesa' 'freetype2' 'git')
+source=(https://mesa.freedesktop.org/archive/demos/mesa-demos-$pkgver.tar.bz2{,.sig}
'LICENSE')
-sha256sums=('e4bfecb5816ddd4b7b37c1bc876b63f1f7f06fda5879221a9774d0952f90ba92'
- '7fdc119cf53c8ca65396ea73f6d10af641ba41ea1dd2bd44a824726e01c8b3f2')
+sha512sums=('b72d03cad36e0535ff18dcfb222ec4200064b9264f6da51a6e5f03b0dd912abe188bc1d600b6698de3ce6f63b28d2ce01565886ca8e7079edc4967fbf2fb0957'
+ 'SKIP'
+ '25da77914dded10c1f432ebcbf29941124138824ceecaf1367b3deedafaecabc082d463abcfa3d15abff59f177491472b505bcb5ba0c4a51bb6b93b4721a23c2')
+validpgpkeys=('E390B9700582FAEA959ACAD41EEF53D38A3A9C67') # "Andreas Boll <andreas.boll.dev@gmail.com>"
build() {
- cd mesa-demos-${pkgver}
+ cd mesa-demos-$pkgver
./configure --prefix=/usr \
--with-system-data-files=/usr/share/mesa-demos
make
}
package() {
- cd mesa-demos-${pkgver}
+ cd mesa-demos-$pkgver
make DESTDIR="${pkgdir}" install
+
+ # add missing egl files
+ install -m 0755 src/egl/opengl/{eglgears_x11,eglinfo,eglkms,egltri_x11,peglgears,xeglgears,xeglthreads} "${pkgdir}/usr/bin/"
+
install -m755 -d "${pkgdir}/usr/share/licenses/mesa-demos"
install -m755 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa-demos/"
}
diff --git a/abs/core/mesa/0001-Fix-linkage-against-shared-glapi.patch b/abs/core/mesa/0001-Fix-linkage-against-shared-glapi.patch
deleted file mode 100644
index 7f8f716..0000000
--- a/abs/core/mesa/0001-Fix-linkage-against-shared-glapi.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 1b5a187c3c31513ae39cd2a917a3234c2c5f87fc Mon Sep 17 00:00:00 2001
-From: Adam Jackson <ajax@redhat.com>
-Date: Wed, 12 Oct 2016 13:41:33 -0400
-Subject: [PATCH] Fix linkage against shared glapi
-
-Signed-off-by: Adam Jackson <ajax@redhat.com>
----
- src/gallium/targets/osmesa/Makefile.am | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/src/gallium/targets/osmesa/Makefile.am b/src/gallium/targets/osmesa/Makefile.am
-index 5d39486..04add87 100644
---- a/src/gallium/targets/osmesa/Makefile.am
-+++ b/src/gallium/targets/osmesa/Makefile.am
-@@ -63,7 +63,7 @@ lib@OSMESA_LIB@_la_LIBADD = \
- $(top_builddir)/src/gallium/drivers/trace/libtrace.la \
- $(top_builddir)/src/gallium/drivers/softpipe/libsoftpipe.la \
- $(top_builddir)/src/gallium/state_trackers/osmesa/libosmesa.la \
-- $(top_builddir)/src/mapi/glapi/libglapi.la \
-+ $(top_builddir)/src/mapi/shared-glapi/libglapi.la \
- $(SHARED_GLAPI_LIB) \
- $(OSMESA_LIB_DEPS) \
- $(CLOCK_LIB)
---
-2.9.3
-
diff --git a/abs/core/mesa/0002-glvnd-fix-gl-dot-pc.patch b/abs/core/mesa/0001-glvnd-fix-gl-dot-pc.patch
index 68118f4..68118f4 100644
--- a/abs/core/mesa/0002-glvnd-fix-gl-dot-pc.patch
+++ b/abs/core/mesa/0001-glvnd-fix-gl-dot-pc.patch
diff --git a/abs/core/mesa/PKGBUILD b/abs/core/mesa/PKGBUILD
index 3c0f62b..504d32b 100644
--- a/abs/core/mesa/PKGBUILD
+++ b/abs/core/mesa/PKGBUILD
@@ -4,23 +4,21 @@
pkgbase=mesa
pkgname=('opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'libva-mesa-driver' 'mesa-vdpau' 'mesa')
-pkgver=17.1.2
+pkgver=17.3.6
pkgrel=1
-arch=('i686' 'x86_64')
+arch=('x86_64')
makedepends=('python2-mako' 'libxml2' 'libx11' 'glproto' 'libdrm' 'dri2proto' 'dri3proto' 'presentproto'
- 'libxshmfence' 'libxxf86vm' 'libxdamage' 'libvdpau' 'libva' 'wayland' 'elfutils' 'llvm'
- 'libomxil-bellagio' 'libclc' 'clang' 'libglvnd' 'libunwind' 'lm_sensors')
-url="http://mesa3d.sourceforge.net"
+ 'libxshmfence' 'libxxf86vm' 'libxdamage' 'libvdpau' 'libva' 'wayland' 'wayland-protocols'
+ 'elfutils' 'llvm' 'libomxil-bellagio' 'libclc' 'clang' 'libglvnd' 'libunwind' 'lm_sensors')
+url="https://www.mesa3d.org/"
license=('custom')
source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
LICENSE
- 0001-Fix-linkage-against-shared-glapi.patch
- 0002-glvnd-fix-gl-dot-pc.patch)
-sha256sums=('0937804f43746339b1f9540d8f9c8b4a1bb3d3eec0e4020eac283b8799798239'
+ 0001-glvnd-fix-gl-dot-pc.patch)
+sha512sums=('5164ed5a1d3d25031b712a9f443f0e467a29b2bca0a1aa11324ed5c10279411979c9c7482825053926a813e76c58b78a3439c7c81fcd51a7808f53977080828f'
'SKIP'
- '7fdc119cf53c8ca65396ea73f6d10af641ba41ea1dd2bd44a824726e01c8b3f2'
- 'c68d1522f9bce4ce31c92aa7a688da49f13043f5bb2254795b76dea8f47130b7'
- '64a77944a28026b066c1682c7258d02289d257b24b6f173a9f7580c48beed966')
+ '25da77914dded10c1f432ebcbf29941124138824ceecaf1367b3deedafaecabc082d463abcfa3d15abff59f177491472b505bcb5ba0c4a51bb6b93b4721a23c2'
+ '75849eca72ca9d01c648d5ea4f6371f1b8737ca35b14be179e14c73cc51dca0739c333343cdc228a6d464135f4791bcdc21734e2debecd29d57023c8c088b028')
validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D') # Emil Velikov <emil.l.velikov@gmail.com>
validpgpkeys+=('946D09B5E4C9845E63075FF1D961C596A7203456') # Andres Gomez <tanty@igalia.com>
validpgpkeys+=('E3E8F480C52ADD73B278EE78E1ECBE07D7D70895') # Juan Antonio Suárez Romero (Igalia, S.L.) <jasuarez@igalia.com>"
@@ -30,9 +28,8 @@ prepare() {
# glvnd support patches - from Fedora
# non-upstreamed ones
- patch -Np1 -i ../0001-Fix-linkage-against-shared-glapi.patch
- patch -Np1 -i ../0002-glvnd-fix-gl-dot-pc.patch
-
+ patch -Np1 -i ../0001-glvnd-fix-gl-dot-pc.patch
+
autoreconf -fiv
}
@@ -41,7 +38,6 @@ build() {
./configure --prefix=/usr \
--sysconfdir=/etc \
- --with-dri-driverdir=/usr/lib/xorg/modules/dri \
--with-gallium-drivers=r300,r600,radeonsi,nouveau,svga,swrast,virgl,swr \
--with-dri-drivers=i915,i965,r200,radeon,nouveau,swrast \
--with-platforms=x11,drm,wayland \
@@ -65,7 +61,7 @@ build() {
--enable-texture-float \
--enable-xa \
--enable-vdpau \
- --enable-omx \
+ --enable-omx-bellagio \
--enable-nine \
--enable-opencl \
--enable-opencl-icd \
@@ -130,8 +126,8 @@ package_libva-mesa-driver() {
pkgdesc="VA-API implementation for gallium"
depends=('libdrm' 'libx11' 'llvm-libs' 'expat' 'libelf' 'libxshmfence' 'lm_sensors' 'libunwind')
- install -m755 -d ${pkgdir}/usr/lib
- cp -rv ${srcdir}/fakeinstall/usr/lib/dri ${pkgdir}/usr/lib
+ install -m755 -d ${pkgdir}/usr/lib/dri
+ cp -av ${srcdir}/fakeinstall/usr/lib/dri/*_drv_video.so ${pkgdir}/usr/lib/dri
install -m755 -d "${pkgdir}/usr/share/licenses/libva-mesa-driver"
install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libva-mesa-driver/"
@@ -141,8 +137,8 @@ package_mesa-vdpau() {
pkgdesc="Mesa VDPAU drivers"
depends=('libdrm' 'libx11' 'llvm-libs' 'expat' 'libelf' 'libxshmfence' 'lm_sensors' 'libunwind')
- install -m755 -d ${pkgdir}/usr/lib
- cp -rv ${srcdir}/fakeinstall/usr/lib/vdpau ${pkgdir}/usr/lib
+ install -m755 -d ${pkgdir}/usr/lib/vdpau
+ cp -av ${srcdir}/fakeinstall/usr/lib/vdpau/* ${pkgdir}/usr/lib/vdpau
install -m755 -d "${pkgdir}/usr/share/licenses/mesa-vdpau"
install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa-vdpau/"
@@ -151,13 +147,14 @@ package_mesa-vdpau() {
package_mesa() {
pkgdesc="an open-source implementation of the OpenGL specification"
depends=('libdrm' 'wayland' 'libxxf86vm' 'libxdamage' 'libxshmfence' 'libelf'
- 'libomxil-bellagio' 'libtxc_dxtn' 'libunwind' 'llvm-libs' 'lm_sensors' 'libglvnd')
+ 'libomxil-bellagio' 'libunwind' 'llvm-libs' 'lm_sensors' 'libglvnd')
optdepends=('opengl-man-pages: for the OpenGL API man pages'
'mesa-vdpau: for accelerated video playback'
'libva-mesa-driver: for accelerated video playback')
provides=('ati-dri' 'intel-dri' 'nouveau-dri' 'svga-dri' 'mesa-dri' 'mesa-libgl' 'opengl-driver')
conflicts=('ati-dri' 'intel-dri' 'nouveau-dri' 'svga-dri' 'mesa-dri' 'mesa-libgl')
replaces=('ati-dri' 'intel-dri' 'nouveau-dri' 'svga-dri' 'mesa-dri' 'mesa-libgl')
+ backup=('etc/drirc')
install -m755 -d ${pkgdir}/etc
cp -rv ${srcdir}/fakeinstall/etc/drirc ${pkgdir}/etc
@@ -165,9 +162,9 @@ package_mesa() {
install -m755 -d ${pkgdir}/usr/share/glvnd/egl_vendor.d
cp -rv ${srcdir}/fakeinstall/usr/share/glvnd/egl_vendor.d/50_mesa.json ${pkgdir}/usr/share/glvnd/egl_vendor.d/
- install -m755 -d ${pkgdir}/usr/lib/xorg/modules/dri
+ install -m755 -d ${pkgdir}/usr/lib/dri
# ati-dri, nouveau-dri, intel-dri, svga-dri, swrast
- cp -av ${srcdir}/fakeinstall/usr/lib/xorg/modules/dri/* ${pkgdir}/usr/lib/xorg/modules/dri
+ cp -av ${srcdir}/fakeinstall/usr/lib/dri/*_dri.so ${pkgdir}/usr/lib/dri
cp -rv ${srcdir}/fakeinstall/usr/lib/bellagio ${pkgdir}/usr/lib
cp -rv ${srcdir}/fakeinstall/usr/lib/d3d ${pkgdir}/usr/lib
diff --git a/abs/core/mfdb-json-git/PKGBUILD b/abs/core/mfdb-json-git/PKGBUILD
deleted file mode 100644
index aca7a60..0000000
--- a/abs/core/mfdb-json-git/PKGBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Maintainer: Jameson Pugh <imntreal@gmail.com>
-
-pkgname=mfdb-json-git
-pkgver=6e5d774
-pkgrel=1
-pkgdesc="mythfilldatabase replacement for new SchedulesDirect format"
-arch=('i686' 'x86_64')
-url="https://github.com/SchedulesDirect/mfdb-json"
-license=('GPLv2')
-depends=('php-composer')
-provides=(mfdb-json)
-conflicts=(mfdb-json)
-source=("mfdb-json-git::git://github.com/SchedulesDirect/mfdb-json#branch=API-20140530")
-sha256sums=('SKIP')
-
-pkgver() {
- cd ${pkgname}
- git describe --always | sed 's|-|.|g'
-}
-
-package() {
- cd "${srcdir}/${pkgname}"
-
- composer install
- install -dm 755 "${pkgdir}/opt/mfdb-json"
- install -dm 755 "${pkgdir}/usr/bin"
- cp -rv ./* "${pkgdir}/opt/mfdb-json"
- ln -s /opt/mfdb-json/sd-utility.php "${pkgdir}/usr/bin/sd-utility"
- ln -s /opt/mfdb-json/mfdb-json.php "${pkgdir}/usr/bin/mfdb-json"
-}
-
-# vim: set ts=2 sw=2 ft=sh noet:
diff --git a/abs/core/mpfr/PKGBUILD b/abs/core/mpfr/PKGBUILD
index 4912c45..0f21bef 100644
--- a/abs/core/mpfr/PKGBUILD
+++ b/abs/core/mpfr/PKGBUILD
@@ -1,36 +1,33 @@
-# $Id: PKGBUILD 163011 2012-07-05 13:48:54Z allan $
+# $Id$
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: damir <damir@archlinux.org>
pkgname=mpfr
-_pkgver=3.1.1
-#_patchlevel=p1
-#pkgver=${_pkgver}.${_patchlevel}
-pkgver=${_pkgver}
+pkgver=4.0.1
pkgrel=1
-pkgdesc="Multiple-precision floating-point library"
-arch=('i686' 'x86_64')
-url="http://www.mpfr.org/"
-license=('LGPL')
+pkgdesc='Multiple-precision floating-point library'
+arch=(x86_64)
+url='http://www.mpfr.org/'
+license=(LGPL)
depends=('gmp>=5.0')
-options=('!libtool')
-install=mpfr.install
-source=(http://www.mpfr.org/mpfr-current/mpfr-${_pkgver}.tar.xz{,.asc})
-md5sums=('91d51c41fcf2799e4ee7a7126fc95c17'
- '91b187a2229211e543ba6fb82a079b2c')
+source=(http://www.mpfr.org/mpfr-$pkgver/mpfr-${pkgver}.tar.xz{,.asc})
+validpgpkeys=('07F3DBBECC1A39605078094D980C197698C3739D')
+sha256sums=('67874a60826303ee2fb6affc6dc0ddd3e749e9bfcb4c8655e3953d0458a6e16e'
+ 'SKIP')
build() {
- cd "${srcdir}/${pkgname}-${_pkgver}"
+ cd $pkgname-$pkgver
./configure --prefix=/usr --enable-thread-safe --enable-shared
make
}
check() {
- cd "${srcdir}/${pkgname}-${_pkgver}"
+ cd $pkgname-$pkgver
make check
+ make check-exported-symbols
}
package() {
- cd "${srcdir}/${pkgname}-${_pkgver}"
- make DESTDIR="${pkgdir}" install
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
}
diff --git a/abs/core/mpfr/mpfr-3.1.0.p10.patch b/abs/core/mpfr/mpfr-3.1.0.p10.patch
deleted file mode 100644
index 0073be7..0000000
--- a/abs/core/mpfr/mpfr-3.1.0.p10.patch
+++ /dev/null
@@ -1,1896 +0,0 @@
-diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
---- mpfr-3.1.0-a/PATCHES 2011-10-05 21:39:57.000000000 +0000
-+++ mpfr-3.1.0-b/PATCHES 2011-10-05 21:39:57.000000000 +0000
-@@ -0,0 +1 @@
-+mpfr_unlikely
-diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
---- mpfr-3.1.0-a/VERSION 2011-10-03 08:17:15.000000000 +0000
-+++ mpfr-3.1.0-b/VERSION 2011-10-05 21:39:57.000000000 +0000
-@@ -1 +1 @@
--3.1.0
-+3.1.0-p1
-diff -Naurd mpfr-3.1.0-a/src/mpfr-impl.h mpfr-3.1.0-b/src/mpfr-impl.h
---- mpfr-3.1.0-a/src/mpfr-impl.h 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/mpfr-impl.h 2011-10-05 21:39:57.000000000 +0000
-@@ -988,10 +988,11 @@
- ******************************************************/
-
- /* Theses macros help the compiler to determine if a test is
-- * likely or unlikely. */
-+ likely or unlikely. The !! is necessary in case x is larger
-+ than a long. */
- #if __MPFR_GNUC(3,0) || __MPFR_ICC(8,1,0)
- # define MPFR_LIKELY(x) (__builtin_expect(!!(x),1))
--# define MPFR_UNLIKELY(x) (__builtin_expect((x),0))
-+# define MPFR_UNLIKELY(x) (__builtin_expect(!!(x),0))
- #else
- # define MPFR_LIKELY(x) (x)
- # define MPFR_UNLIKELY(x) (x)
-diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
---- mpfr-3.1.0-a/src/mpfr.h 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/mpfr.h 2011-10-05 21:39:57.000000000 +0000
-@@ -27,7 +27,7 @@
- #define MPFR_VERSION_MAJOR 3
- #define MPFR_VERSION_MINOR 1
- #define MPFR_VERSION_PATCHLEVEL 0
--#define MPFR_VERSION_STRING "3.1.0"
-+#define MPFR_VERSION_STRING "3.1.0-p1"
-
- /* Macros dealing with MPFR VERSION */
- #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
-diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
---- mpfr-3.1.0-a/src/version.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/version.c 2011-10-05 21:39:57.000000000 +0000
-@@ -25,5 +25,5 @@
- const char *
- mpfr_get_version (void)
- {
-- return "3.1.0";
-+ return "3.1.0-p1";
- }
-diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
---- mpfr-3.1.0-a/PATCHES 2011-10-14 10:43:32.000000000 +0000
-+++ mpfr-3.1.0-b/PATCHES 2011-10-14 10:43:32.000000000 +0000
-@@ -0,0 +1 @@
-+lib-search-path
-diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
---- mpfr-3.1.0-a/VERSION 2011-10-05 21:39:57.000000000 +0000
-+++ mpfr-3.1.0-b/VERSION 2011-10-14 10:43:32.000000000 +0000
-@@ -1 +1 @@
--3.1.0-p1
-+3.1.0-p2
-diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
---- mpfr-3.1.0-a/src/mpfr.h 2011-10-05 21:39:57.000000000 +0000
-+++ mpfr-3.1.0-b/src/mpfr.h 2011-10-14 10:43:32.000000000 +0000
-@@ -27,7 +27,7 @@
- #define MPFR_VERSION_MAJOR 3
- #define MPFR_VERSION_MINOR 1
- #define MPFR_VERSION_PATCHLEVEL 0
--#define MPFR_VERSION_STRING "3.1.0-p1"
-+#define MPFR_VERSION_STRING "3.1.0-p2"
-
- /* Macros dealing with MPFR VERSION */
- #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
-diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
---- mpfr-3.1.0-a/src/version.c 2011-10-05 21:39:57.000000000 +0000
-+++ mpfr-3.1.0-b/src/version.c 2011-10-14 10:43:32.000000000 +0000
-@@ -25,5 +25,5 @@
- const char *
- mpfr_get_version (void)
- {
-- return "3.1.0-p1";
-+ return "3.1.0-p2";
- }
-diff -Naurd mpfr-3.1.0-a/tests/Makefile.am mpfr-3.1.0-b/tests/Makefile.am
---- mpfr-3.1.0-a/tests/Makefile.am 2011-10-03 08:17:14.000000000 +0000
-+++ mpfr-3.1.0-b/tests/Makefile.am 2011-10-03 08:17:14.000000000 +0000
-@@ -65,8 +65,24 @@
- TESTS = $(check_PROGRAMS)
- TESTS_ENVIRONMENT = MPFR_QUIET=1 $(VALGRIND)
-
--# Option to prevent libtool from generating wrapper scripts for the tests.
-+# The -no-install option prevents libtool from generating wrapper scripts
-+# for the tests.
- # This is useful to easily run the test scripts under valgrind or gdb.
- # See discussion http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28033
- # http://article.gmane.org/gmane.comp.lib.gnulib.bugs/28140 in particular.
--AM_LDFLAGS = -no-install
-+#
-+# The -L$(top_builddir)/src/.libs option is necessary for some platforms,
-+# such as HP-UX, when --with-gmp or --with-gmp-lib is used and an old MPFR
-+# library is already installed in the corresponding lib directory: its
-+# purpose is to make sure that the local .libs comes first in the library
-+# search path (otherwise the tests are linked against the old MPFR library
-+# by the LINK command -- see the generated Makefile). See:
-+# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00042.html
-+# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00043.html
-+# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00044.html
-+# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00066.html
-+# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00065.html
-+# and
-+# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9728
-+#
-+AM_LDFLAGS = -no-install -L$(top_builddir)/src/.libs
-diff -Naurd mpfr-3.1.0-a/tests/Makefile.in mpfr-3.1.0-b/tests/Makefile.in
---- mpfr-3.1.0-a/tests/Makefile.in 2011-10-03 08:17:35.000000000 +0000
-+++ mpfr-3.1.0-b/tests/Makefile.in 2011-10-03 08:17:35.000000000 +0000
-@@ -1124,11 +1124,27 @@
- TESTS = $(check_PROGRAMS)
- TESTS_ENVIRONMENT = MPFR_QUIET=1 $(VALGRIND)
-
--# Option to prevent libtool from generating wrapper scripts for the tests.
-+# The -no-install option prevents libtool from generating wrapper scripts
-+# for the tests.
- # This is useful to easily run the test scripts under valgrind or gdb.
- # See discussion http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28033
- # http://article.gmane.org/gmane.comp.lib.gnulib.bugs/28140 in particular.
--AM_LDFLAGS = -no-install
-+#
-+# The -L$(top_builddir)/src/.libs option is necessary for some platforms,
-+# such as HP-UX, when --with-gmp or --with-gmp-lib is used and an old MPFR
-+# library is already installed in the corresponding lib directory: its
-+# purpose is to make sure that the local .libs comes first in the library
-+# search path (otherwise the tests are linked against the old MPFR library
-+# by the LINK command -- see the generated Makefile). See:
-+# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00042.html
-+# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00043.html
-+# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00044.html
-+# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00066.html
-+# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00065.html
-+# and
-+# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9728
-+#
-+AM_LDFLAGS = -no-install -L$(top_builddir)/src/.libs
- all: all-am
-
- .SUFFIXES:
-diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
---- mpfr-3.1.0-a/PATCHES 2011-11-03 15:15:11.000000000 +0000
-+++ mpfr-3.1.0-b/PATCHES 2011-11-03 15:15:11.000000000 +0000
-@@ -0,0 +1 @@
-+vasprintf
-diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
---- mpfr-3.1.0-a/VERSION 2011-10-14 10:43:32.000000000 +0000
-+++ mpfr-3.1.0-b/VERSION 2011-11-03 15:15:11.000000000 +0000
-@@ -1 +1 @@
--3.1.0-p2
-+3.1.0-p3
-diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
---- mpfr-3.1.0-a/src/mpfr.h 2011-10-14 10:43:32.000000000 +0000
-+++ mpfr-3.1.0-b/src/mpfr.h 2011-11-03 15:15:11.000000000 +0000
-@@ -27,7 +27,7 @@
- #define MPFR_VERSION_MAJOR 3
- #define MPFR_VERSION_MINOR 1
- #define MPFR_VERSION_PATCHLEVEL 0
--#define MPFR_VERSION_STRING "3.1.0-p2"
-+#define MPFR_VERSION_STRING "3.1.0-p3"
-
- /* Macros dealing with MPFR VERSION */
- #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
-diff -Naurd mpfr-3.1.0-a/src/vasprintf.c mpfr-3.1.0-b/src/vasprintf.c
---- mpfr-3.1.0-a/src/vasprintf.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/vasprintf.c 2011-11-03 15:15:11.000000000 +0000
-@@ -1178,7 +1178,7 @@
- mpfr_exp_t exp;
- char * str;
- const int spec_g = (spec.spec == 'g' || spec.spec == 'G');
-- const int keep_trailing_zeros = spec_g && spec.alt;
-+ const int keep_trailing_zeros = !spec_g || spec.alt;
-
- /* WARNING: an empty precision field is forbidden (it means precision = 6
- and it should have been changed to 6 before the function call) */
-@@ -1356,7 +1356,7 @@
- else
- /* 1 <= |p| */
- {
-- size_t nsd; /* Number of significant digits */
-+ size_t str_len;
-
- /* Determine the position of the most significant decimal digit. */
- exp = floor_log10 (p);
-@@ -1365,12 +1365,10 @@
- /* P is too large to print all its integral part digits */
- return -1;
-
-- np->ip_size = exp + 1;
--
-- nsd = spec.prec + np->ip_size;
- if (dec_info == NULL)
-- {
-- str = mpfr_get_str (NULL, &exp, 10, nsd, p, spec.rnd_mode);
-+ { /* this case occurs with mpfr_printf ("%.0RUf", x) with x=9.5 */
-+ str =
-+ mpfr_get_str (NULL, &exp, 10, spec.prec+exp+1, p, spec.rnd_mode);
- register_string (np->sl, str);
- }
- else
-@@ -1379,81 +1377,60 @@
- str = dec_info->str;
- }
- np->ip_ptr = MPFR_IS_NEG (p) ? ++str : str; /* skip sign */
-+ str_len = strlen (str);
-+
-+ /* integral part */
-+ if (exp > str_len)
-+ /* mpfr_get_str gives no trailing zero when p is rounded up to the next
-+ power of 10 (p integer, so no fractional part) */
-+ {
-+ np->ip_trailing_zeros = exp - str_len;
-+ np->ip_size = str_len;
-+ }
-+ else
-+ np->ip_size = exp;
-
- if (spec.group)
- /* thousands separator in integral part */
- np->thousands_sep = MPFR_THOUSANDS_SEPARATOR;
-
-- if (nsd == 0 || (spec_g && !spec.alt))
-- /* compute how much non-zero digits in integral and fractional
-- parts */
-+ /* fractional part */
-+ str += np->ip_size;
-+ str_len -= np->ip_size;
-+ if (!keep_trailing_zeros)
-+ /* remove trailing zeros, if any */
- {
-- size_t str_len;
-- str_len = strlen (str); /* note: the sign has been skipped */
--
-- if (exp > str_len)
-- /* mpfr_get_str doesn't give the trailing zeros when p is a
-- multiple of 10 (p integer, so no fractional part) */
-- {
-- np->ip_trailing_zeros = exp - str_len;
-- np->ip_size = str_len;
-- if (spec.alt)
-- np->point = MPFR_DECIMAL_POINT;
-- }
-- else
-- /* str may contain some digits which are in fractional part */
-+ char *ptr = str + str_len - 1; /* pointer to the last digit of
-+ str */
-+ while ((*ptr == '0') && (str_len != 0))
- {
-- char *ptr;
--
-- ptr = str + str_len - 1; /* points to the end of str */
-- str_len -= np->ip_size; /* number of digits in fractional
-- part */
--
-- if (!keep_trailing_zeros)
-- /* remove trailing zeros, if any */
-- {
-- while ((*ptr == '0') && (str_len != 0))
-- {
-- --ptr;
-- --str_len;
-- }
-- }
--
-- if (str_len > INT_MAX)
-- /* too many digits in fractional part */
-- return -1;
--
-- if (str_len != 0)
-- /* some digits in fractional part */
-- {
-- np->point = MPFR_DECIMAL_POINT;
-- np->fp_ptr = str + np->ip_size;
-- np->fp_size = str_len;
-- }
-+ --ptr;
-+ --str_len;
- }
- }
-- else
-- /* spec.prec digits in fractional part */
-+
-+ if (str_len > 0)
-+ /* some nonzero digits in fractional part */
- {
-- if (np->ip_size == exp - 1)
-- /* the absolute value of the number has been rounded up to a power
-- of ten.
-- Insert an additional zero in integral part and put the rest of
-- them in fractional part. */
-- np->ip_trailing_zeros = 1;
-+ if (str_len > INT_MAX)
-+ /* too many digits in fractional part */
-+ return -1;
-
-- if (spec.prec != 0)
-- {
-- MPFR_ASSERTD (np->ip_size + np->ip_trailing_zeros == exp);
-- MPFR_ASSERTD (np->ip_size + spec.prec == nsd);
-+ np->point = MPFR_DECIMAL_POINT;
-+ np->fp_ptr = str;
-+ np->fp_size = str_len;
-+ }
-
-- np->point = MPFR_DECIMAL_POINT;
-- np->fp_ptr = str + np->ip_size;
-- np->fp_size = spec.prec;
-- }
-- else if (spec.alt)
-- np->point = MPFR_DECIMAL_POINT;
-+ if (keep_trailing_zeros && str_len < spec.prec)
-+ /* add missing trailing zeros */
-+ {
-+ np->point = MPFR_DECIMAL_POINT;
-+ np->fp_trailing_zeros = spec.prec - np->fp_size;
- }
-+
-+ if (spec.alt)
-+ /* add decimal point even if no digits follow it */
-+ np->point = MPFR_DECIMAL_POINT;
- }
-
- return 0;
-diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
---- mpfr-3.1.0-a/src/version.c 2011-10-14 10:43:32.000000000 +0000
-+++ mpfr-3.1.0-b/src/version.c 2011-11-03 15:15:11.000000000 +0000
-@@ -25,5 +25,5 @@
- const char *
- mpfr_get_version (void)
- {
-- return "3.1.0-p2";
-+ return "3.1.0-p3";
- }
-diff -Naurd mpfr-3.1.0-a/tests/tsprintf.c mpfr-3.1.0-b/tests/tsprintf.c
---- mpfr-3.1.0-a/tests/tsprintf.c 2011-10-03 08:17:14.000000000 +0000
-+++ mpfr-3.1.0-b/tests/tsprintf.c 2011-11-03 15:15:11.000000000 +0000
-@@ -475,6 +475,18 @@
- check_sprintf ("-1.", "%- #0.1RG", x);
-
- /* precision zero */
-+ mpfr_set_d (x, 9.5, MPFR_RNDN);
-+ check_sprintf ("9", "%.0RDf", x);
-+ check_sprintf ("10", "%.0RUf", x);
-+
-+ mpfr_set_d (x, 19.5, MPFR_RNDN);
-+ check_sprintf ("19", "%.0RDf", x);
-+ check_sprintf ("20", "%.0RUf", x);
-+
-+ mpfr_set_d (x, 99.5, MPFR_RNDN);
-+ check_sprintf ("99", "%.0RDf", x);
-+ check_sprintf ("100", "%.0RUf", x);
-+
- mpfr_set_d (x, -9.5, MPFR_RNDN);
- check_sprintf ("-10", "%.0RDf", x);
- check_sprintf ("-10", "%.0RYf", x);
-@@ -1078,6 +1090,23 @@
- mpfr_clear (x);
- }
-
-+static void
-+bug20111102 (void)
-+{
-+ mpfr_t t;
-+ char s[100];
-+
-+ mpfr_init2 (t, 84);
-+ mpfr_set_str (t, "999.99999999999999999999", 10, MPFR_RNDN);
-+ mpfr_sprintf (s, "%.20RNg", t);
-+ if (strcmp (s, "1000") != 0)
-+ {
-+ printf ("Error in bug20111102, expected 1000, got %s\n", s);
-+ exit (1);
-+ }
-+ mpfr_clear (t);
-+}
-+
- /* In particular, the following test makes sure that the rounding
- * for %Ra and %Rb is not done on the MPFR number itself (as it
- * would overflow). Note: it has been reported on comp.std.c that
-@@ -1161,6 +1190,7 @@
- locale = setlocale (LC_ALL, "C");
- #endif
-
-+ bug20111102 ();
- native_types ();
- hexadecimal ();
- binary ();
-diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
---- mpfr-3.1.0-a/PATCHES 2011-11-28 12:22:52.000000000 +0000
-+++ mpfr-3.1.0-b/PATCHES 2011-11-28 12:22:52.000000000 +0000
-@@ -0,0 +1 @@
-+gmp41compat
-diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
---- mpfr-3.1.0-a/VERSION 2011-11-03 15:15:11.000000000 +0000
-+++ mpfr-3.1.0-b/VERSION 2011-11-28 12:22:52.000000000 +0000
-@@ -1 +1 @@
--3.1.0-p3
-+3.1.0-p4
-diff -Naurd mpfr-3.1.0-a/doc/mpfr.info mpfr-3.1.0-b/doc/mpfr.info
---- mpfr-3.1.0-a/doc/mpfr.info 2011-10-03 09:43:04.000000000 +0000
-+++ mpfr-3.1.0-b/doc/mpfr.info 2011-11-28 12:22:52.000000000 +0000
-@@ -2994,11 +2994,12 @@
-
- * `mpfr_urandom' and `mpfr_urandomb' changed in MPFR 3.1. Their
- behavior no longer depends on the platform (assuming this is also
-- true for GMP's random generator). As a consequence, the returned
-- values can be different between MPFR 3.1 and previous MPFR
-- versions. Note: as the reproducibility of these functions was not
-- specified before MPFR 3.1, the MPFR 3.1 behavior is _not_ regarded
-- as backward incompatible with previous versions.
-+ true for GMP's random generator, which is not the case between GMP
-+ 4.1 and 4.2 if `gmp_randinit_default' is used). As a consequence,
-+ the returned values can be different between MPFR 3.1 and previous
-+ MPFR versions. Note: as the reproducibility of these functions
-+ was not specified before MPFR 3.1, the MPFR 3.1 behavior is _not_
-+ regarded as backward incompatible with previous versions.
-
-
- 
-@@ -4239,13 +4240,13 @@
- Node: Type and Macro Changes129308
- Node: Added Functions132029
- Node: Changed Functions134972
--Node: Removed Functions139167
--Node: Other Changes139579
--Node: Contributors141108
--Node: References143574
--Node: GNU Free Documentation License145315
--Node: Concept Index167758
--Node: Function and Type Index173677
-+Node: Removed Functions139253
-+Node: Other Changes139665
-+Node: Contributors141194
-+Node: References143660
-+Node: GNU Free Documentation License145401
-+Node: Concept Index167844
-+Node: Function and Type Index173763
- 
- End Tag Table
-
-diff -Naurd mpfr-3.1.0-a/doc/mpfr.texi mpfr-3.1.0-b/doc/mpfr.texi
---- mpfr-3.1.0-a/doc/mpfr.texi 2011-10-03 08:17:14.000000000 +0000
-+++ mpfr-3.1.0-b/doc/mpfr.texi 2011-11-28 12:22:52.000000000 +0000
-@@ -3466,8 +3466,9 @@
- a lack of specification.
-
- @item @code{mpfr_urandom} and @code{mpfr_urandomb} changed in MPFR 3.1.
--Their behavior no longer depends on the platform (assuming this is also
--true for GMP's random generator). As a consequence, the returned values
-+Their behavior no longer depends on the platform (assuming this is also true
-+for GMP's random generator, which is not the case between GMP 4.1 and 4.2 if
-+@code{gmp_randinit_default} is used). As a consequence, the returned values
- can be different between MPFR 3.1 and previous MPFR versions.
- Note: as the reproducibility of these functions was not specified
- before MPFR 3.1, the MPFR 3.1 behavior is @emph{not} regarded as
-diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
---- mpfr-3.1.0-a/src/mpfr.h 2011-11-03 15:15:11.000000000 +0000
-+++ mpfr-3.1.0-b/src/mpfr.h 2011-11-28 12:22:52.000000000 +0000
-@@ -27,7 +27,7 @@
- #define MPFR_VERSION_MAJOR 3
- #define MPFR_VERSION_MINOR 1
- #define MPFR_VERSION_PATCHLEVEL 0
--#define MPFR_VERSION_STRING "3.1.0-p3"
-+#define MPFR_VERSION_STRING "3.1.0-p4"
-
- /* Macros dealing with MPFR VERSION */
- #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
-diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
---- mpfr-3.1.0-a/src/version.c 2011-11-03 15:15:11.000000000 +0000
-+++ mpfr-3.1.0-b/src/version.c 2011-11-28 12:22:52.000000000 +0000
-@@ -25,5 +25,5 @@
- const char *
- mpfr_get_version (void)
- {
-- return "3.1.0-p3";
-+ return "3.1.0-p4";
- }
-diff -Naurd mpfr-3.1.0-a/tests/trandom.c mpfr-3.1.0-b/tests/trandom.c
---- mpfr-3.1.0-a/tests/trandom.c 2011-10-03 08:17:14.000000000 +0000
-+++ mpfr-3.1.0-b/tests/trandom.c 2011-11-28 12:22:52.000000000 +0000
-@@ -114,21 +114,29 @@
- mpfr_t x;
- gmp_randstate_t s;
-
-+#if __MPFR_GMP(4,2,0)
-+# define C1 "0.895943"
-+# define C2 "0.848824"
-+#else
-+# define C1 "0.479652"
-+# define C2 "0.648529"
-+#endif
-+
- gmp_randinit_default (s);
- gmp_randseed_ui (s, 42);
- mpfr_init2 (x, 17);
- mpfr_urandomb (x, s);
-- if (mpfr_cmp_str1 (x, "0.895943") != 0)
-+ if (mpfr_cmp_str1 (x, C1) != 0)
- {
-- printf ("Error in bug20100914, expected 0.895943, got ");
-+ printf ("Error in bug20100914, expected " C1 ", got ");
- mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN);
- printf ("\n");
- exit (1);
- }
- mpfr_urandomb (x, s);
-- if (mpfr_cmp_str1 (x, "0.848824") != 0)
-+ if (mpfr_cmp_str1 (x, C2) != 0)
- {
-- printf ("Error in bug20100914, expected 0.848824, got ");
-+ printf ("Error in bug20100914, expected " C2 ", got ");
- mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN);
- printf ("\n");
- exit (1);
-diff -Naurd mpfr-3.1.0-a/tests/turandom.c mpfr-3.1.0-b/tests/turandom.c
---- mpfr-3.1.0-a/tests/turandom.c 2011-10-03 08:17:14.000000000 +0000
-+++ mpfr-3.1.0-b/tests/turandom.c 2011-11-28 12:22:52.000000000 +0000
-@@ -160,23 +160,29 @@
- mpfr_t x;
- gmp_randstate_t s;
-
-+#if __MPFR_GMP(4,2,0)
-+# define C1 "0.8488312"
-+# define C2 "0.8156509"
-+#else
-+# define C1 "0.6485367"
-+# define C2 "0.9362717"
-+#endif
-+
- gmp_randinit_default (s);
- gmp_randseed_ui (s, 42);
- mpfr_init2 (x, 17);
- mpfr_urandom (x, s, MPFR_RNDN);
-- /* the following values are obtained on a 32-bit computer, we should get
-- the same values on a 64-bit computer */
-- if (mpfr_cmp_str1 (x, "0.8488312") != 0)
-+ if (mpfr_cmp_str1 (x, C1) != 0)
- {
-- printf ("Error in bug20100914, expected 0.8488312, got ");
-+ printf ("Error in bug20100914, expected " C1 ", got ");
- mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN);
- printf ("\n");
- exit (1);
- }
- mpfr_urandom (x, s, MPFR_RNDN);
-- if (mpfr_cmp_str1 (x, "0.8156509") != 0)
-+ if (mpfr_cmp_str1 (x, C2) != 0)
- {
-- printf ("Error in bug20100914, expected 0.8156509, got ");
-+ printf ("Error in bug20100914, expected " C2 ", got ");
- mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN);
- printf ("\n");
- exit (1);
-diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
---- mpfr-3.1.0-a/PATCHES 2012-02-24 12:44:49.000000000 +0000
-+++ mpfr-3.1.0-b/PATCHES 2012-02-24 12:44:49.000000000 +0000
-@@ -0,0 +1 @@
-+logging-freeze
-diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
---- mpfr-3.1.0-a/VERSION 2011-11-28 12:22:52.000000000 +0000
-+++ mpfr-3.1.0-b/VERSION 2012-02-24 12:44:49.000000000 +0000
-@@ -1 +1 @@
--3.1.0-p4
-+3.1.0-p5
-diff -Naurd mpfr-3.1.0-a/src/add_d.c mpfr-3.1.0-b/src/add_d.c
---- mpfr-3.1.0-a/src/add_d.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/add_d.c 2012-02-24 12:44:49.000000000 +0000
-@@ -34,7 +34,7 @@
- (("b[%Pu]=%.*Rg c=%.20g rnd=%d",
- mpfr_get_prec(b), mpfr_log_prec, b, c, rnd_mode),
- ("a[%Pu]=%.*Rg inexact=%d",
-- mpfr_get_prec (a), mpfr_get_prec, a, inexact));
-+ mpfr_get_prec (a), mpfr_log_prec, a, inexact));
-
- MPFR_SAVE_EXPO_MARK (expo);
-
-diff -Naurd mpfr-3.1.0-a/src/add_ui.c mpfr-3.1.0-b/src/add_ui.c
---- mpfr-3.1.0-a/src/add_ui.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/add_ui.c 2012-02-24 12:44:49.000000000 +0000
-@@ -29,7 +29,7 @@
- MPFR_LOG_FUNC
- (("x[%Pu]=%.*Rg u=%d rnd=%d",
- mpfr_get_prec(x), mpfr_log_prec, x, u, rnd_mode),
-- ("y[%Pu]=%.*Rg", mpfr_get_prec (y), mpfr_get_prec, y));
-+ ("y[%Pu]=%.*Rg", mpfr_get_prec (y), mpfr_log_prec, y));
-
- if (MPFR_LIKELY(u != 0) ) /* if u=0, do nothing */
- {
-diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
---- mpfr-3.1.0-a/src/mpfr.h 2011-11-28 12:22:52.000000000 +0000
-+++ mpfr-3.1.0-b/src/mpfr.h 2012-02-24 12:44:49.000000000 +0000
-@@ -27,7 +27,7 @@
- #define MPFR_VERSION_MAJOR 3
- #define MPFR_VERSION_MINOR 1
- #define MPFR_VERSION_PATCHLEVEL 0
--#define MPFR_VERSION_STRING "3.1.0-p4"
-+#define MPFR_VERSION_STRING "3.1.0-p5"
-
- /* Macros dealing with MPFR VERSION */
- #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
-diff -Naurd mpfr-3.1.0-a/src/mul_d.c mpfr-3.1.0-b/src/mul_d.c
---- mpfr-3.1.0-a/src/mul_d.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/mul_d.c 2012-02-24 12:44:49.000000000 +0000
-@@ -34,7 +34,7 @@
- (("b[%Pu]=%.*Rg c=%.20g rnd=%d",
- mpfr_get_prec(b), mpfr_log_prec, b, c, rnd_mode),
- ("a[%Pu]=%.*Rg inexact=%d",
-- mpfr_get_prec (a), mpfr_get_prec, a, inexact));
-+ mpfr_get_prec (a), mpfr_log_prec, a, inexact));
-
- MPFR_SAVE_EXPO_MARK (expo);
-
-diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
---- mpfr-3.1.0-a/src/version.c 2011-11-28 12:22:52.000000000 +0000
-+++ mpfr-3.1.0-b/src/version.c 2012-02-24 12:44:49.000000000 +0000
-@@ -25,5 +25,5 @@
- const char *
- mpfr_get_version (void)
- {
-- return "3.1.0-p4";
-+ return "3.1.0-p5";
- }
-diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
---- mpfr-3.1.0-a/PATCHES 2012-02-24 13:50:05.000000000 +0000
-+++ mpfr-3.1.0-b/PATCHES 2012-02-24 13:50:05.000000000 +0000
-@@ -0,0 +1 @@
-+logging-varfmt
-diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
---- mpfr-3.1.0-a/VERSION 2012-02-24 12:44:49.000000000 +0000
-+++ mpfr-3.1.0-b/VERSION 2012-02-24 13:50:05.000000000 +0000
-@@ -1 +1 @@
--3.1.0-p5
-+3.1.0-p6
-diff -Naurd mpfr-3.1.0-a/src/mpfr-impl.h mpfr-3.1.0-b/src/mpfr-impl.h
---- mpfr-3.1.0-a/src/mpfr-impl.h 2011-10-05 21:39:57.000000000 +0000
-+++ mpfr-3.1.0-b/src/mpfr-impl.h 2012-02-24 13:50:05.000000000 +0000
-@@ -1592,7 +1592,7 @@
- do \
- if ((MPFR_LOG_INTERNAL_F & mpfr_log_type) && \
- (mpfr_log_current <= mpfr_log_level)) \
-- LOG_PRINT ("%s.%d:%s[%#Pu]=%.*Rf\n", __func__, __LINE__, \
-+ LOG_PRINT ("%s.%d:%s[%#Pu]=%.*Rg\n", __func__, __LINE__, \
- #x, mpfr_get_prec (x), mpfr_log_prec, x); \
- while (0)
-
-diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
---- mpfr-3.1.0-a/src/mpfr.h 2012-02-24 12:44:49.000000000 +0000
-+++ mpfr-3.1.0-b/src/mpfr.h 2012-02-24 13:50:05.000000000 +0000
-@@ -27,7 +27,7 @@
- #define MPFR_VERSION_MAJOR 3
- #define MPFR_VERSION_MINOR 1
- #define MPFR_VERSION_PATCHLEVEL 0
--#define MPFR_VERSION_STRING "3.1.0-p5"
-+#define MPFR_VERSION_STRING "3.1.0-p6"
-
- /* Macros dealing with MPFR VERSION */
- #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
-diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
---- mpfr-3.1.0-a/src/version.c 2012-02-24 12:44:49.000000000 +0000
-+++ mpfr-3.1.0-b/src/version.c 2012-02-24 13:50:05.000000000 +0000
-@@ -25,5 +25,5 @@
- const char *
- mpfr_get_version (void)
- {
-- return "3.1.0-p5";
-+ return "3.1.0-p6";
- }
-diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
---- mpfr-3.1.0-a/PATCHES 2012-03-08 15:17:03.000000000 +0000
-+++ mpfr-3.1.0-b/PATCHES 2012-03-08 15:17:03.000000000 +0000
-@@ -0,0 +1 @@
-+large-prec
-diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
---- mpfr-3.1.0-a/VERSION 2012-02-24 13:50:05.000000000 +0000
-+++ mpfr-3.1.0-b/VERSION 2012-03-08 15:17:03.000000000 +0000
-@@ -1 +1 @@
--3.1.0-p6
-+3.1.0-p7
-diff -Naurd mpfr-3.1.0-a/src/add1.c mpfr-3.1.0-b/src/add1.c
---- mpfr-3.1.0-a/src/add1.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/add1.c 2012-03-08 15:17:03.000000000 +0000
-@@ -44,12 +44,12 @@
- bq = MPFR_PREC(b);
- cq = MPFR_PREC(c);
-
-- an = (aq-1)/GMP_NUMB_BITS+1; /* number of limbs of a */
-+ an = MPFR_PREC2LIMBS (aq); /* number of limbs of a */
- aq2 = (mpfr_prec_t) an * GMP_NUMB_BITS;
- sh = aq2 - aq; /* non-significant bits in low limb */
-
-- bn = (bq-1)/GMP_NUMB_BITS+1; /* number of limbs of b */
-- cn = (cq-1)/GMP_NUMB_BITS+1; /* number of limbs of c */
-+ bn = MPFR_PREC2LIMBS (bq); /* number of limbs of b */
-+ cn = MPFR_PREC2LIMBS (cq); /* number of limbs of c */
-
- ap = MPFR_MANT(a);
- bp = MPFR_MANT(b);
-@@ -124,7 +124,7 @@
- dif = aq2 - diff_exp;
- /* dif is the number of bits of c which overlap with a' */
-
-- difn = (dif-1)/GMP_NUMB_BITS + 1;
-+ difn = MPFR_PREC2LIMBS (dif);
- /* only the highest difn limbs from c have to be considered */
- if (MPFR_UNLIKELY(difn > cn))
- {
-diff -Naurd mpfr-3.1.0-a/src/add1sp.c mpfr-3.1.0-b/src/add1sp.c
---- mpfr-3.1.0-a/src/add1sp.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/add1sp.c 2012-03-08 15:17:03.000000000 +0000
-@@ -107,7 +107,7 @@
-
- /* Read prec and num of limbs */
- p = MPFR_PREC(b);
-- n = (p+GMP_NUMB_BITS-1)/GMP_NUMB_BITS;
-+ n = MPFR_PREC2LIMBS (p);
- MPFR_UNSIGNED_MINUS_MODULO(sh, p);
- bx = MPFR_GET_EXP(b);
- d = (mpfr_uexp_t) (bx - MPFR_GET_EXP(c));
-diff -Naurd mpfr-3.1.0-a/src/agm.c mpfr-3.1.0-b/src/agm.c
---- mpfr-3.1.0-a/src/agm.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/agm.c 2012-03-08 15:17:03.000000000 +0000
-@@ -91,7 +91,7 @@
- q = MPFR_PREC(r);
- p = q + MPFR_INT_CEIL_LOG2(q) + 15;
- MPFR_ASSERTD (p >= 7); /* see algorithms.tex */
-- s = (p - 1) / GMP_NUMB_BITS + 1;
-+ s = MPFR_PREC2LIMBS (p);
-
- /* b (op2) and a (op1) are the 2 operands but we want b >= a */
- compare = mpfr_cmp (op1, op2);
-@@ -285,7 +285,7 @@
-
- /* Next iteration */
- MPFR_ZIV_NEXT (loop, p);
-- s = (p - 1) / GMP_NUMB_BITS + 1;
-+ s = MPFR_PREC2LIMBS (p);
- }
- MPFR_ZIV_FREE (loop);
-
-diff -Naurd mpfr-3.1.0-a/src/eq.c mpfr-3.1.0-b/src/eq.c
---- mpfr-3.1.0-a/src/eq.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/eq.c 2012-03-08 15:17:03.000000000 +0000
-@@ -56,8 +56,8 @@
- if (uexp != vexp)
- return 0; /* no bit agree */
-
-- usize = (MPFR_PREC(u) - 1) / GMP_NUMB_BITS + 1;
-- vsize = (MPFR_PREC(v) - 1) / GMP_NUMB_BITS + 1;
-+ usize = MPFR_LIMB_SIZE (u);
-+ vsize = MPFR_LIMB_SIZE (v);
-
- if (vsize > usize) /* exchange u and v */
- {
-diff -Naurd mpfr-3.1.0-a/src/exp.c mpfr-3.1.0-b/src/exp.c
---- mpfr-3.1.0-a/src/exp.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/exp.c 2012-03-08 15:17:03.000000000 +0000
-@@ -133,7 +133,7 @@
- mp_size_t yn;
- int sh;
-
-- yn = 1 + (MPFR_PREC(y) - 1) / GMP_NUMB_BITS;
-+ yn = MPFR_LIMB_SIZE (y);
- sh = (mpfr_prec_t) yn * GMP_NUMB_BITS - MPFR_PREC(y);
- MPFR_MANT(y)[0] += MPFR_LIMB_ONE << sh;
- inexact = 1;
-diff -Naurd mpfr-3.1.0-a/src/get_d.c mpfr-3.1.0-b/src/get_d.c
---- mpfr-3.1.0-a/src/get_d.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/get_d.c 2012-03-08 15:17:03.000000000 +0000
-@@ -100,7 +100,7 @@
- nbits += (1021 + e);
- MPFR_ASSERTD (nbits >= 1);
- }
-- np = (nbits + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS;
-+ np = MPFR_PREC2LIMBS (nbits);
- MPFR_ASSERTD ( np <= MPFR_LIMBS_PER_DOUBLE );
- carry = mpfr_round_raw_4 (tp, MPFR_MANT(src), MPFR_PREC(src), negative,
- nbits, rnd_mode);
-diff -Naurd mpfr-3.1.0-a/src/get_flt.c mpfr-3.1.0-b/src/get_flt.c
---- mpfr-3.1.0-a/src/get_flt.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/get_flt.c 2012-03-08 15:17:03.000000000 +0000
-@@ -92,7 +92,7 @@
- nbits += (125 + e);
- MPFR_ASSERTD (nbits >= 1);
- }
-- np = (nbits + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS;
-+ np = MPFR_PREC2LIMBS (nbits);
- MPFR_ASSERTD(np <= MPFR_LIMBS_PER_FLT);
- carry = mpfr_round_raw_4 (tp, MPFR_MANT(src), MPFR_PREC(src), negative,
- nbits, rnd_mode);
-diff -Naurd mpfr-3.1.0-a/src/get_str.c mpfr-3.1.0-b/src/get_str.c
---- mpfr-3.1.0-a/src/get_str.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/get_str.c 2012-03-08 15:17:03.000000000 +0000
-@@ -2351,7 +2351,7 @@
-
- /* the first digit will contain only r bits */
- prec = (m - 1) * pow2 + r; /* total number of bits */
-- n = (prec - 1) / GMP_NUMB_BITS + 1;
-+ n = MPFR_PREC2LIMBS (prec);
-
- MPFR_TMP_MARK (marker);
- x1 = MPFR_TMP_LIMBS_ALLOC (n + 1);
-@@ -2417,12 +2417,12 @@
- exact = 1;
-
- /* number of limbs */
-- n = 1 + (prec - 1) / GMP_NUMB_BITS;
-+ n = MPFR_PREC2LIMBS (prec);
-
- /* a will contain the approximation of the mantissa */
- a = MPFR_TMP_LIMBS_ALLOC (n);
-
-- nx = 1 + (MPFR_PREC(x) - 1) / GMP_NUMB_BITS;
-+ nx = MPFR_LIMB_SIZE (x);
-
- if ((mpfr_exp_t) m == g) /* final exponent is 0, no multiplication or
- division to perform */
-diff -Naurd mpfr-3.1.0-a/src/init2.c mpfr-3.1.0-b/src/init2.c
---- mpfr-3.1.0-a/src/init2.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/init2.c 2012-03-08 15:17:03.000000000 +0000
-@@ -51,7 +51,7 @@
- which both have an odd mantissa */
- MPFR_ASSERTN(p >= MPFR_PREC_MIN && p <= MPFR_PREC_MAX);
-
-- xsize = (mp_size_t) ((p - 1) / GMP_NUMB_BITS) + 1;
-+ xsize = MPFR_PREC2LIMBS (p);
- tmp = (mpfr_limb_ptr) (*__gmp_allocate_func)(MPFR_MALLOC_SIZE(xsize));
-
- MPFR_PREC(x) = p; /* Set prec */
-diff -Naurd mpfr-3.1.0-a/src/lngamma.c mpfr-3.1.0-b/src/lngamma.c
---- mpfr-3.1.0-a/src/lngamma.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/lngamma.c 2012-03-08 15:17:03.000000000 +0000
-@@ -67,7 +67,7 @@
-
- /* Now, the unit bit is represented. */
-
-- prec = ((prec - 1) / GMP_NUMB_BITS + 1) * GMP_NUMB_BITS - expo;
-+ prec = MPFR_PREC2LIMBS (prec) * GMP_NUMB_BITS - expo;
- /* number of represented fractional bits (including the trailing 0's) */
-
- x0 = *(MPFR_MANT (x) + prec / GMP_NUMB_BITS);
-diff -Naurd mpfr-3.1.0-a/src/mpfr-impl.h mpfr-3.1.0-b/src/mpfr-impl.h
---- mpfr-3.1.0-a/src/mpfr-impl.h 2012-02-24 13:50:05.000000000 +0000
-+++ mpfr-3.1.0-b/src/mpfr-impl.h 2012-03-09 12:06:26.000000000 +0000
-@@ -646,10 +646,24 @@
- **************** mpfr_t properties *******************
- ******************************************************/
-
-+/* In the following macro, p is usually a mpfr_prec_t, but this macro
-+ works with other integer types (without integer overflow). Checking
-+ that p >= 1 in debug mode is useful here because this macro can be
-+ used on a computed precision (in particular, this formula does not
-+ work for a degenerate case p = 0, and could give different results
-+ on different platforms). But let us not use an assertion checking
-+ in the MPFR_LAST_LIMB() and MPFR_LIMB_SIZE() macros below to avoid
-+ too much expansion for assertions (in practice, this should be a
-+ problem just when testing MPFR with the --enable-assert configure
-+ option and the -ansi -pedantic-errors gcc compiler flags). */
-+#define MPFR_PREC2LIMBS(p) \
-+ (MPFR_ASSERTD ((p) >= 1), ((p) - 1) / GMP_NUMB_BITS + 1)
-+
- #define MPFR_PREC(x) ((x)->_mpfr_prec)
- #define MPFR_EXP(x) ((x)->_mpfr_exp)
- #define MPFR_MANT(x) ((x)->_mpfr_d)
--#define MPFR_LIMB_SIZE(x) ((MPFR_PREC((x))-1)/GMP_NUMB_BITS+1)
-+#define MPFR_LAST_LIMB(x) ((MPFR_PREC (x) - 1) / GMP_NUMB_BITS)
-+#define MPFR_LIMB_SIZE(x) (MPFR_LAST_LIMB (x) + 1)
-
-
- /******************************************************
-@@ -749,7 +763,8 @@
- #define MPFR_IS_FP(x) (!MPFR_IS_NAN(x) && !MPFR_IS_INF(x))
- #define MPFR_IS_SINGULAR(x) (MPFR_EXP(x) <= MPFR_EXP_INF)
- #define MPFR_IS_PURE_FP(x) (!MPFR_IS_SINGULAR(x) && \
-- (MPFR_ASSERTD (MPFR_MANT(x)[MPFR_LIMB_SIZE(x)-1] & MPFR_LIMB_HIGHBIT), 1))
-+ (MPFR_ASSERTD ((MPFR_MANT(x)[MPFR_LAST_LIMB(x)] \
-+ & MPFR_LIMB_HIGHBIT) != 0), 1))
-
- #define MPFR_ARE_SINGULAR(x,y) \
- (MPFR_UNLIKELY(MPFR_IS_SINGULAR(x)) || MPFR_UNLIKELY(MPFR_IS_SINGULAR(y)))
-@@ -1061,7 +1076,7 @@
- /* Set a number to 1 (Fast) - It doesn't check if 1 is in the exponent range */
- #define MPFR_SET_ONE(x) \
- do { \
-- mp_size_t _size = MPFR_LIMB_SIZE(x) - 1; \
-+ mp_size_t _size = MPFR_LAST_LIMB(x); \
- MPFR_SET_POS(x); \
- MPFR_EXP(x) = 1; \
- MPN_ZERO ( MPFR_MANT(x), _size); \
-@@ -1213,8 +1228,8 @@
- _destp = MPFR_MANT (dest); \
- if (MPFR_UNLIKELY (_destprec >= _srcprec)) \
- { \
-- _srcs = (_srcprec + GMP_NUMB_BITS-1)/GMP_NUMB_BITS; \
-- _dests = (_destprec + GMP_NUMB_BITS-1)/GMP_NUMB_BITS - _srcs; \
-+ _srcs = MPFR_PREC2LIMBS (_srcprec); \
-+ _dests = MPFR_PREC2LIMBS (_destprec) - _srcs; \
- MPN_COPY (_destp + _dests, srcp, _srcs); \
- MPN_ZERO (_destp, _dests); \
- inexact = 0; \
-@@ -1227,8 +1242,8 @@
- mp_limb_t _rb, _sb, _ulp; \
- \
- /* Compute Position and shift */ \
-- _srcs = (_srcprec + GMP_NUMB_BITS-1)/GMP_NUMB_BITS; \
-- _dests = (_destprec + GMP_NUMB_BITS-1)/GMP_NUMB_BITS; \
-+ _srcs = MPFR_PREC2LIMBS (_srcprec); \
-+ _dests = MPFR_PREC2LIMBS (_destprec); \
- MPFR_UNSIGNED_MINUS_MODULO (_sh, _destprec); \
- _sp = (srcp) + _srcs - _dests; \
- \
-@@ -1372,7 +1387,7 @@
- if (MPFR_LIKELY (MPFR_PREC (dest) == MPFR_PREC (src))) \
- { \
- MPN_COPY (MPFR_MANT (dest), MPFR_MANT (src), \
-- (MPFR_PREC (src) + GMP_NUMB_BITS-1)/GMP_NUMB_BITS); \
-+ MPFR_LIMB_SIZE (src)); \
- inexact = 0; \
- } \
- else \
-@@ -1682,7 +1697,7 @@
- MPFR_ASSERTD (_prec >= MPFR_PREC_MIN); \
- if (MPFR_UNLIKELY (_prec > MPFR_PREC_MAX)) \
- mpfr_abort_prec_max (); \
-- _size = (mpfr_prec_t) (_prec + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS; \
-+ _size = MPFR_PREC2LIMBS (_prec); \
- if (MPFR_UNLIKELY (_size * (num) > MPFR_GROUP_STATIC_SIZE)) \
- { \
- (g).alloc = (num) * _size * sizeof (mp_limb_t); \
-@@ -1733,7 +1748,7 @@
- MPFR_ASSERTD (_prec >= MPFR_PREC_MIN); \
- if (MPFR_UNLIKELY (_prec > MPFR_PREC_MAX)) \
- mpfr_abort_prec_max (); \
-- _size = (mpfr_prec_t) (_prec + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS; \
-+ _size = MPFR_PREC2LIMBS (_prec); \
- (g).alloc = (num) * _size * sizeof (mp_limb_t); \
- if (MPFR_LIKELY (_oalloc == 0)) \
- (g).mant = (mp_limb_t *) (*__gmp_allocate_func) ((g).alloc); \
-@@ -1886,7 +1901,7 @@
- MPFR_NORETURN_ATTR;
-
- __MPFR_DECLSPEC void mpfr_rand_raw _MPFR_PROTO((mpfr_limb_ptr, gmp_randstate_t,
-- unsigned long));
-+ mpfr_prec_t));
-
- __MPFR_DECLSPEC mpz_t* mpfr_bernoulli_internal _MPFR_PROTO((mpz_t*,
- unsigned long));
-diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
---- mpfr-3.1.0-a/src/mpfr.h 2012-02-24 13:50:05.000000000 +0000
-+++ mpfr-3.1.0-b/src/mpfr.h 2012-03-08 15:17:03.000000000 +0000
-@@ -27,7 +27,7 @@
- #define MPFR_VERSION_MAJOR 3
- #define MPFR_VERSION_MINOR 1
- #define MPFR_VERSION_PATCHLEVEL 0
--#define MPFR_VERSION_STRING "3.1.0-p6"
-+#define MPFR_VERSION_STRING "3.1.0-p7"
-
- /* Macros dealing with MPFR VERSION */
- #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
-diff -Naurd mpfr-3.1.0-a/src/mul.c mpfr-3.1.0-b/src/mul.c
---- mpfr-3.1.0-a/src/mul.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/mul.c 2012-03-08 15:17:03.000000000 +0000
-@@ -93,15 +93,15 @@
-
- ax = MPFR_GET_EXP (b) + MPFR_GET_EXP (c);
-
-- bq = MPFR_PREC(b);
-- cq = MPFR_PREC(c);
-+ bq = MPFR_PREC (b);
-+ cq = MPFR_PREC (c);
-
-- MPFR_ASSERTD(bq+cq > bq); /* PREC_MAX is /2 so no integer overflow */
-+ MPFR_ASSERTN ((mpfr_uprec_t) bq + cq <= MPFR_PREC_MAX);
-
-- bn = (bq+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; /* number of limbs of b */
-- cn = (cq+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; /* number of limbs of c */
-+ bn = MPFR_PREC2LIMBS (bq); /* number of limbs of b */
-+ cn = MPFR_PREC2LIMBS (cq); /* number of limbs of c */
- k = bn + cn; /* effective nb of limbs used by b*c (= tn or tn+1) below */
-- tn = (bq + cq + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS;
-+ tn = MPFR_PREC2LIMBS (bq + cq);
- /* <= k, thus no int overflow */
- MPFR_ASSERTD(tn <= k);
-
-@@ -292,12 +292,12 @@
- bq = MPFR_PREC (b);
- cq = MPFR_PREC (c);
-
-- MPFR_ASSERTD (bq+cq > bq); /* PREC_MAX is /2 so no integer overflow */
-+ MPFR_ASSERTN ((mpfr_uprec_t) bq + cq <= MPFR_PREC_MAX);
-
-- bn = (bq+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; /* number of limbs of b */
-- cn = (cq+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; /* number of limbs of c */
-+ bn = MPFR_PREC2LIMBS (bq); /* number of limbs of b */
-+ cn = MPFR_PREC2LIMBS (cq); /* number of limbs of c */
- k = bn + cn; /* effective nb of limbs used by b*c (= tn or tn+1) below */
-- tn = (bq + cq + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS;
-+ tn = MPFR_PREC2LIMBS (bq + cq);
- MPFR_ASSERTD (tn <= k); /* tn <= k, thus no int overflow */
-
- /* Check for no size_t overflow*/
-diff -Naurd mpfr-3.1.0-a/src/pow.c mpfr-3.1.0-b/src/pow.c
---- mpfr-3.1.0-a/src/pow.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/pow.c 2012-03-08 15:17:03.000000000 +0000
-@@ -136,7 +136,7 @@
- (b) all the 'z' bits are zero
- */
-
-- prec = ((prec - 1) / GMP_NUMB_BITS + 1) * GMP_NUMB_BITS - expo;
-+ prec = MPFR_PREC2LIMBS (prec) * GMP_NUMB_BITS - expo;
- /* number of z+0 bits */
-
- yn = prec / GMP_NUMB_BITS;
-diff -Naurd mpfr-3.1.0-a/src/print_raw.c mpfr-3.1.0-b/src/print_raw.c
---- mpfr-3.1.0-a/src/print_raw.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/print_raw.c 2012-03-08 15:17:03.000000000 +0000
-@@ -84,7 +84,7 @@
- int i;
- mpfr_prec_t count = 0;
- char c;
-- mp_size_t n = (r - 1) / GMP_NUMB_BITS + 1;
-+ mp_size_t n = MPFR_PREC2LIMBS (r);
-
- printf("%s ", str);
- for(n-- ; n>=0 ; n--)
-@@ -109,7 +109,7 @@
- int i;
- mpfr_prec_t count = 0;
- char c;
-- mp_size_t n = (r - 1) / GMP_NUMB_BITS + 1;
-+ mp_size_t n = MPFR_PREC2LIMBS (r);
-
- for(n-- ; n>=0 ; n--)
- {
-diff -Naurd mpfr-3.1.0-a/src/round_prec.c mpfr-3.1.0-b/src/round_prec.c
---- mpfr-3.1.0-a/src/round_prec.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/round_prec.c 2012-03-08 15:17:03.000000000 +0000
-@@ -55,12 +55,12 @@
-
- MPFR_ASSERTN(prec >= MPFR_PREC_MIN && prec <= MPFR_PREC_MAX);
-
-- nw = 1 + (prec - 1) / GMP_NUMB_BITS; /* needed allocated limbs */
-+ nw = MPFR_PREC2LIMBS (prec); /* needed allocated limbs */
-
- /* check if x has enough allocated space for the significand */
- /* Get the number of limbs from the precision.
- (Compatible with all allocation methods) */
-- ow = (MPFR_PREC (x) + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS;
-+ ow = MPFR_LIMB_SIZE (x);
- if (nw > ow)
- {
- /* FIXME: Variable can't be created using custom allocation,
-diff -Naurd mpfr-3.1.0-a/src/round_raw_generic.c mpfr-3.1.0-b/src/round_raw_generic.c
---- mpfr-3.1.0-a/src/round_raw_generic.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/round_raw_generic.c 2012-03-08 15:17:03.000000000 +0000
-@@ -80,7 +80,7 @@
- (xprec <= yprec || MPFR_IS_LIKE_RNDZ (rnd_mode, neg)))
- return 0;
-
-- xsize = (xprec-1)/GMP_NUMB_BITS + 1;
-+ xsize = MPFR_PREC2LIMBS (xprec);
- nw = yprec / GMP_NUMB_BITS;
- rw = yprec & (GMP_NUMB_BITS - 1);
-
-diff -Naurd mpfr-3.1.0-a/src/set.c mpfr-3.1.0-b/src/set.c
---- mpfr-3.1.0-a/src/set.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/set.c 2012-03-08 15:17:03.000000000 +0000
-@@ -48,8 +48,7 @@
- /* Same precision and b is not singular:
- * just copy the mantissa, and set the exponent and the sign
- * The result is exact. */
-- MPN_COPY (MPFR_MANT (a), MPFR_MANT (b),
-- (MPFR_PREC (b) + GMP_NUMB_BITS-1)/GMP_NUMB_BITS);
-+ MPN_COPY (MPFR_MANT (a), MPFR_MANT (b), MPFR_LIMB_SIZE (b));
- MPFR_RET (0);
- }
- else
-diff -Naurd mpfr-3.1.0-a/src/set_f.c mpfr-3.1.0-b/src/set_f.c
---- mpfr-3.1.0-a/src/set_f.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/set_f.c 2012-03-08 15:17:03.000000000 +0000
-@@ -43,7 +43,7 @@
- if (SIZ(x) * MPFR_FROM_SIGN_TO_INT(MPFR_SIGN(y)) < 0)
- MPFR_CHANGE_SIGN (y);
-
-- sy = 1 + (MPFR_PREC(y) - 1) / GMP_NUMB_BITS;
-+ sy = MPFR_LIMB_SIZE (y);
- my = MPFR_MANT(y);
- mx = PTR(x);
-
-diff -Naurd mpfr-3.1.0-a/src/set_prec.c mpfr-3.1.0-b/src/set_prec.c
---- mpfr-3.1.0-a/src/set_prec.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/set_prec.c 2012-03-08 15:17:03.000000000 +0000
-@@ -32,7 +32,7 @@
- MPFR_ASSERTN (p >= MPFR_PREC_MIN && p <= MPFR_PREC_MAX);
-
- /* Calculate the new number of limbs */
-- xsize = (p - 1) / GMP_NUMB_BITS + 1;
-+ xsize = MPFR_PREC2LIMBS (p);
-
- /* Realloc only if the new size is greater than the old */
- xoldsize = MPFR_GET_ALLOC_SIZE (x);
-diff -Naurd mpfr-3.1.0-a/src/setmax.c mpfr-3.1.0-b/src/setmax.c
---- mpfr-3.1.0-a/src/setmax.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/setmax.c 2012-03-08 15:17:03.000000000 +0000
-@@ -32,7 +32,7 @@
- mp_limb_t *xp;
-
- MPFR_SET_EXP (x, e);
-- xn = 1 + (MPFR_PREC(x) - 1) / GMP_NUMB_BITS;
-+ xn = MPFR_LIMB_SIZE (x);
- sh = (mpfr_prec_t) xn * GMP_NUMB_BITS - MPFR_PREC(x);
- xp = MPFR_MANT(x);
- xp[0] = MP_LIMB_T_MAX << sh;
-diff -Naurd mpfr-3.1.0-a/src/sqr.c mpfr-3.1.0-b/src/sqr.c
---- mpfr-3.1.0-a/src/sqr.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/sqr.c 2012-03-08 15:17:03.000000000 +0000
-@@ -56,11 +56,11 @@
- ax = 2 * MPFR_GET_EXP (b);
- bq = MPFR_PREC(b);
-
-- MPFR_ASSERTD (2 * bq > bq); /* PREC_MAX is /2 so no integer overflow */
-+ MPFR_ASSERTN (2 * (mpfr_uprec_t) bq <= MPFR_PREC_MAX);
-
-- bn = MPFR_LIMB_SIZE(b); /* number of limbs of b */
-- tn = 1 + (2 * bq - 1) / GMP_NUMB_BITS; /* number of limbs of square,
-- 2*bn or 2*bn-1 */
-+ bn = MPFR_LIMB_SIZE (b); /* number of limbs of b */
-+ tn = MPFR_PREC2LIMBS (2 * bq); /* number of limbs of square,
-+ 2*bn or 2*bn-1 */
-
- if (MPFR_UNLIKELY(bn > MPFR_SQR_THRESHOLD))
- return mpfr_mul (a, b, b, rnd_mode);
-diff -Naurd mpfr-3.1.0-a/src/stack_interface.c mpfr-3.1.0-b/src/stack_interface.c
---- mpfr-3.1.0-a/src/stack_interface.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/stack_interface.c 2012-03-08 15:17:03.000000000 +0000
-@@ -26,7 +26,7 @@
- size_t
- mpfr_custom_get_size (mpfr_prec_t prec)
- {
-- return (prec + GMP_NUMB_BITS -1) / GMP_NUMB_BITS * BYTES_PER_MP_LIMB;
-+ return MPFR_PREC2LIMBS (prec) * BYTES_PER_MP_LIMB;
- }
-
- #undef mpfr_custom_init
-diff -Naurd mpfr-3.1.0-a/src/strtofr.c mpfr-3.1.0-b/src/strtofr.c
---- mpfr-3.1.0-a/src/strtofr.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/strtofr.c 2012-03-08 15:17:03.000000000 +0000
-@@ -467,7 +467,7 @@
- /* Set y to the value of the ~prec most significant bits of pstr->mant
- (as long as we guarantee correct rounding, we don't need to get
- exactly prec bits). */
-- ysize = (prec - 1) / GMP_NUMB_BITS + 1;
-+ ysize = MPFR_PREC2LIMBS (prec);
- /* prec bits corresponds to ysize limbs */
- ysize_bits = ysize * GMP_NUMB_BITS;
- /* and to ysize_bits >= prec > MPFR_PREC (x) bits */
-diff -Naurd mpfr-3.1.0-a/src/sub1sp.c mpfr-3.1.0-b/src/sub1sp.c
---- mpfr-3.1.0-a/src/sub1sp.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/sub1sp.c 2012-03-08 15:17:03.000000000 +0000
-@@ -155,8 +155,8 @@
- MPFR_ASSERTD(MPFR_IS_PURE_FP(c));
-
- /* Read prec and num of limbs */
-- p = MPFR_PREC(b);
-- n = (p-1)/GMP_NUMB_BITS+1;
-+ p = MPFR_PREC (b);
-+ n = MPFR_PREC2LIMBS (p);
-
- /* Fast cmp of |b| and |c|*/
- bx = MPFR_GET_EXP (b);
-diff -Naurd mpfr-3.1.0-a/src/urandomb.c mpfr-3.1.0-b/src/urandomb.c
---- mpfr-3.1.0-a/src/urandomb.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/urandomb.c 2012-03-08 15:17:03.000000000 +0000
-@@ -31,13 +31,20 @@
- a sufficient number of limbs */
- void
- mpfr_rand_raw (mpfr_limb_ptr mp, gmp_randstate_t rstate,
-- unsigned long int nbits)
-+ mpfr_prec_t nbits)
- {
- mpz_t z;
-
-+ MPFR_ASSERTN (nbits >= 1);
- /* To be sure to avoid the potential allocation of mpz_urandomb */
-- ALLOC(z) = SIZ(z) = ((nbits - 1) / GMP_NUMB_BITS) + 1;
-+ ALLOC(z) = SIZ(z) = MPFR_PREC2LIMBS (nbits);
- PTR(z) = mp;
-+#if __MPFR_GMP(5,0,0)
-+ /* Check for integer overflow (unless mp_bitcnt_t is signed,
-+ but according to the GMP manual, this shouldn't happen).
-+ Note: mp_bitcnt_t has been introduced in GMP 5.0.0. */
-+ MPFR_ASSERTN ((mp_bitcnt_t) -1 < 0 || nbits <= (mp_bitcnt_t) -1);
-+#endif
- mpz_urandomb (z, rstate, nbits);
- }
-
-diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
---- mpfr-3.1.0-a/src/version.c 2012-02-24 13:50:05.000000000 +0000
-+++ mpfr-3.1.0-b/src/version.c 2012-03-08 15:17:03.000000000 +0000
-@@ -25,5 +25,5 @@
- const char *
- mpfr_get_version (void)
- {
-- return "3.1.0-p6";
-+ return "3.1.0-p7";
- }
-diff -Naurd mpfr-3.1.0-a/tests/tinits.c mpfr-3.1.0-b/tests/tinits.c
---- mpfr-3.1.0-a/tests/tinits.c 2011-10-03 08:17:14.000000000 +0000
-+++ mpfr-3.1.0-b/tests/tinits.c 2012-03-08 15:17:03.000000000 +0000
-@@ -1,4 +1,4 @@
--/* Test file for mpfr_inits, mpfr_inits2 and mpfr_clears.
-+/* Test file for mpfr_init2, mpfr_inits, mpfr_inits2 and mpfr_clears.
-
- Copyright 2003, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
- Contributed by the Arenaire and Caramel projects, INRIA.
-@@ -20,18 +20,43 @@
- http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-+#include <stdlib.h>
-+
- #include "mpfr-test.h"
-
- int
- main (void)
- {
- mpfr_t a, b, c;
-+ long large_prec;
-
- tests_start_mpfr ();
-+
- mpfr_inits (a, b, c, (mpfr_ptr) 0);
- mpfr_clears (a, b, c, (mpfr_ptr) 0);
- mpfr_inits2 (200, a, b, c, (mpfr_ptr) 0);
- mpfr_clears (a, b, c, (mpfr_ptr) 0);
-+
-+ /* test for precision 2^31-1, see
-+ https://gforge.inria.fr/tracker/index.php?func=detail&aid=13918 */
-+ large_prec = 2147483647;
-+ if (getenv ("MPFR_CHECK_LARGEMEM") != NULL)
-+ {
-+ /* We assume that the precision won't be increased internally. */
-+ if (large_prec > MPFR_PREC_MAX)
-+ large_prec = MPFR_PREC_MAX;
-+ mpfr_inits2 (large_prec, a, b, (mpfr_ptr) 0);
-+ mpfr_set_ui (a, 17, MPFR_RNDN);
-+ mpfr_set (b, a, MPFR_RNDN);
-+ if (mpfr_get_ui (a, MPFR_RNDN) != 17)
-+ {
-+ printf ("Error in mpfr_init2 with precision 2^31-1\n");
-+ exit (1);
-+ }
-+ mpfr_clears (a, b, (mpfr_ptr) 0);
-+ }
-+
- tests_end_mpfr ();
-+
- return 0;
- }
-diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
---- mpfr-3.1.0-a/PATCHES 2012-03-12 11:59:47.000000000 +0000
-+++ mpfr-3.1.0-b/PATCHES 2012-03-12 11:59:47.000000000 +0000
-@@ -0,0 +1 @@
-+__gmp_const
-diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
---- mpfr-3.1.0-a/VERSION 2012-03-08 15:17:03.000000000 +0000
-+++ mpfr-3.1.0-b/VERSION 2012-03-12 11:59:47.000000000 +0000
-@@ -1 +1 @@
--3.1.0-p7
-+3.1.0-p8
-diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
---- mpfr-3.1.0-a/src/mpfr.h 2012-03-08 15:17:03.000000000 +0000
-+++ mpfr-3.1.0-b/src/mpfr.h 2012-03-12 11:59:47.000000000 +0000
-@@ -27,7 +27,7 @@
- #define MPFR_VERSION_MAJOR 3
- #define MPFR_VERSION_MINOR 1
- #define MPFR_VERSION_PATCHLEVEL 0
--#define MPFR_VERSION_STRING "3.1.0-p7"
-+#define MPFR_VERSION_STRING "3.1.0-p8"
-
- /* Macros dealing with MPFR VERSION */
- #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
-@@ -39,6 +39,18 @@
- # include <gmp.h>
- #endif
-
-+/* GMP's internal __gmp_const macro has been removed on 2012-03-04:
-+ http://gmplib.org:8000/gmp/rev/d287cfaf6732
-+ const is standard and now assumed to be available. If the __gmp_const
-+ definition is no longer present in GMP, this probably means that GMP
-+ assumes that const is available; thus let's define it to const.
-+ Note: this is a temporary fix that can be backported to previous MPFR
-+ versions. In the future, __gmp_const should be replaced by const like
-+ in GMP. */
-+#ifndef __gmp_const
-+# define __gmp_const const
-+#endif
-+
- /* Avoid some problems with macro expansion if the user defines macros
- with the same name as keywords. By convention, identifiers and macro
- names starting with mpfr_ are reserved by MPFR. */
-diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
---- mpfr-3.1.0-a/src/version.c 2012-03-08 15:17:03.000000000 +0000
-+++ mpfr-3.1.0-b/src/version.c 2012-03-12 11:59:47.000000000 +0000
-@@ -25,5 +25,5 @@
- const char *
- mpfr_get_version (void)
- {
-- return "3.1.0-p7";
-+ return "3.1.0-p8";
- }
-diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
---- mpfr-3.1.0-a/PATCHES 2012-04-27 01:13:15.000000000 +0000
-+++ mpfr-3.1.0-b/PATCHES 2012-04-27 01:13:15.000000000 +0000
-@@ -0,0 +1 @@
-+gamma-underflow
-diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
---- mpfr-3.1.0-a/VERSION 2012-03-12 11:59:47.000000000 +0000
-+++ mpfr-3.1.0-b/VERSION 2012-04-27 01:13:15.000000000 +0000
-@@ -1 +1 @@
--3.1.0-p8
-+3.1.0-p9
-diff -Naurd mpfr-3.1.0-a/src/gamma.c mpfr-3.1.0-b/src/gamma.c
---- mpfr-3.1.0-a/src/gamma.c 2011-10-03 08:17:09.000000000 +0000
-+++ mpfr-3.1.0-b/src/gamma.c 2012-04-27 01:13:15.000000000 +0000
-@@ -296,7 +296,7 @@
- /* we want an upper bound for x * [log(2-x)-1].
- since x < 0, we need a lower bound on log(2-x) */
- mpfr_ui_sub (xp, 2, x, MPFR_RNDD);
-- mpfr_log2 (xp, xp, MPFR_RNDD);
-+ mpfr_log (xp, xp, MPFR_RNDD);
- mpfr_sub_ui (xp, xp, 1, MPFR_RNDD);
- mpfr_mul (xp, xp, x, MPFR_RNDU);
-
-diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
---- mpfr-3.1.0-a/src/mpfr.h 2012-03-12 11:59:47.000000000 +0000
-+++ mpfr-3.1.0-b/src/mpfr.h 2012-04-27 01:13:15.000000000 +0000
-@@ -27,7 +27,7 @@
- #define MPFR_VERSION_MAJOR 3
- #define MPFR_VERSION_MINOR 1
- #define MPFR_VERSION_PATCHLEVEL 0
--#define MPFR_VERSION_STRING "3.1.0-p8"
-+#define MPFR_VERSION_STRING "3.1.0-p9"
-
- /* Macros dealing with MPFR VERSION */
- #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
-diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
---- mpfr-3.1.0-a/src/version.c 2012-03-12 11:59:47.000000000 +0000
-+++ mpfr-3.1.0-b/src/version.c 2012-04-27 01:13:15.000000000 +0000
-@@ -25,5 +25,5 @@
- const char *
- mpfr_get_version (void)
- {
-- return "3.1.0-p8";
-+ return "3.1.0-p9";
- }
-diff -Naurd mpfr-3.1.0-a/tests/tgamma.c mpfr-3.1.0-b/tests/tgamma.c
---- mpfr-3.1.0-a/tests/tgamma.c 2011-10-03 08:17:14.000000000 +0000
-+++ mpfr-3.1.0-b/tests/tgamma.c 2012-04-27 01:13:15.000000000 +0000
-@@ -478,6 +478,36 @@
- mpfr_clear (x);
- }
-
-+/* bug found by Giridhar Tammana */
-+static void
-+test20120426 (void)
-+{
-+ mpfr_t xa, xb;
-+ int i;
-+ mpfr_exp_t emin;
-+
-+ mpfr_init2 (xa, 53);
-+ mpfr_init2 (xb, 53);
-+ mpfr_set_d (xb, -168.5, MPFR_RNDN);
-+ emin = mpfr_get_emin ();
-+ mpfr_set_emin (-1073);
-+ i = mpfr_gamma (xa, xb, MPFR_RNDN);
-+ i = mpfr_subnormalize (xa, i, MPFR_RNDN); /* new ternary value */
-+ mpfr_set_str (xb, "-9.5737343987585366746184749943e-304", 10, MPFR_RNDN);
-+ if (!((i > 0) && (mpfr_cmp (xa, xb) == 0)))
-+ {
-+ printf ("Error in test20120426, i=%d\n", i);
-+ printf ("expected ");
-+ mpfr_print_binary (xb); putchar ('\n');
-+ printf ("got ");
-+ mpfr_print_binary (xa); putchar ('\n');
-+ exit (1);
-+ }
-+ mpfr_set_emin (emin);
-+ mpfr_clear (xa);
-+ mpfr_clear (xb);
-+}
-+
- static void
- exprange (void)
- {
-@@ -821,6 +851,7 @@
- gamma_integer ();
- test20071231 ();
- test20100709 ();
-+ test20120426 ();
-
- data_check ("data/gamma", mpfr_gamma, "mpfr_gamma");
-
-diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
---- mpfr-3.1.0-a/PATCHES 2012-05-07 18:52:45.000000000 +0000
-+++ mpfr-3.1.0-b/PATCHES 2012-05-07 18:52:45.000000000 +0000
-@@ -0,0 +1 @@
-+gamma-overunderflow
-diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
---- mpfr-3.1.0-a/VERSION 2012-04-27 01:13:15.000000000 +0000
-+++ mpfr-3.1.0-b/VERSION 2012-05-07 18:52:45.000000000 +0000
-@@ -1 +1 @@
--3.1.0-p9
-+3.1.0-p10
-diff -Naurd mpfr-3.1.0-a/src/gamma.c mpfr-3.1.0-b/src/gamma.c
---- mpfr-3.1.0-a/src/gamma.c 2012-04-27 01:13:15.000000000 +0000
-+++ mpfr-3.1.0-b/src/gamma.c 2012-05-07 18:52:45.000000000 +0000
-@@ -100,7 +100,8 @@
- mpfr_t xp, GammaTrial, tmp, tmp2;
- mpz_t fact;
- mpfr_prec_t realprec;
-- int compared, inex, is_integer;
-+ int compared, is_integer;
-+ int inex = 0; /* 0 means: result gamma not set yet */
- MPFR_GROUP_DECL (group);
- MPFR_SAVE_EXPO_DECL (expo);
- MPFR_ZIV_DECL (loop);
-@@ -377,6 +378,15 @@
- mpfr_mul (GammaTrial, tmp2, xp, MPFR_RNDN); /* Pi*(2-x), error (1+u)^2 */
- err_g = MPFR_GET_EXP(GammaTrial);
- mpfr_sin (GammaTrial, GammaTrial, MPFR_RNDN); /* sin(Pi*(2-x)) */
-+ /* If tmp is +Inf, we compute exp(lngamma(x)). */
-+ if (mpfr_inf_p (tmp))
-+ {
-+ inex = mpfr_explgamma (gamma, x, &expo, tmp, tmp2, rnd_mode);
-+ if (inex)
-+ goto end;
-+ else
-+ goto ziv_next;
-+ }
- err_g = err_g + 1 - MPFR_GET_EXP(GammaTrial);
- /* let g0 the true value of Pi*(2-x), g the computed value.
- We have g = g0 + h with |h| <= |(1+u^2)-1|*g.
-@@ -411,11 +421,16 @@
- if (MPFR_LIKELY (MPFR_CAN_ROUND (GammaTrial, realprec - err_g,
- MPFR_PREC(gamma), rnd_mode)))
- break;
-+
-+ ziv_next:
- MPFR_ZIV_NEXT (loop, realprec);
- }
-+
-+ end:
- MPFR_ZIV_FREE (loop);
-
-- inex = mpfr_set (gamma, GammaTrial, rnd_mode);
-+ if (inex == 0)
-+ inex = mpfr_set (gamma, GammaTrial, rnd_mode);
- MPFR_GROUP_CLEAR (group);
- mpz_clear (fact);
-
-diff -Naurd mpfr-3.1.0-a/src/lngamma.c mpfr-3.1.0-b/src/lngamma.c
---- mpfr-3.1.0-a/src/lngamma.c 2012-03-08 15:17:03.000000000 +0000
-+++ mpfr-3.1.0-b/src/lngamma.c 2012-05-07 18:52:45.000000000 +0000
-@@ -49,9 +49,72 @@
- mpfr_set_ui_2exp (s, 9, -1, MPFR_RNDN); /* 4.5 */
- }
-
--#ifndef IS_GAMMA
-+#ifdef IS_GAMMA
-+
-+/* This function is called in case of intermediate overflow/underflow.
-+ The s1 and s2 arguments are temporary MPFR numbers, having the
-+ working precision. If the result could be determined, then the
-+ flags are updated via pexpo, y is set to the result, and the
-+ (non-zero) ternary value is returned. Otherwise 0 is returned
-+ in order to perform the next Ziv iteration. */
- static int
--unit_bit (mpfr_srcptr (x))
-+mpfr_explgamma (mpfr_ptr y, mpfr_srcptr x, mpfr_save_expo_t *pexpo,
-+ mpfr_ptr s1, mpfr_ptr s2, mpfr_rnd_t rnd)
-+{
-+ mpfr_t t1, t2;
-+ int inex1, inex2, sign;
-+ MPFR_BLOCK_DECL (flags1);
-+ MPFR_BLOCK_DECL (flags2);
-+ MPFR_GROUP_DECL (group);
-+
-+ MPFR_BLOCK (flags1, inex1 = mpfr_lgamma (s1, &sign, x, MPFR_RNDD));
-+ MPFR_ASSERTN (inex1 != 0);
-+ /* s1 = RNDD(lngamma(x)), inexact */
-+ if (MPFR_UNLIKELY (MPFR_OVERFLOW (flags1)))
-+ {
-+ if (MPFR_SIGN (s1) > 0)
-+ {
-+ MPFR_SAVE_EXPO_UPDATE_FLAGS (*pexpo, MPFR_FLAGS_OVERFLOW);
-+ return mpfr_overflow (y, rnd, sign);
-+ }
-+ else
-+ {
-+ MPFR_SAVE_EXPO_UPDATE_FLAGS (*pexpo, MPFR_FLAGS_UNDERFLOW);
-+ return mpfr_underflow (y, rnd == MPFR_RNDN ? MPFR_RNDZ : rnd, sign);
-+ }
-+ }
-+
-+ mpfr_set (s2, s1, MPFR_RNDN); /* exact */
-+ mpfr_nextabove (s2); /* v = RNDU(lngamma(z0)) */
-+
-+ if (sign < 0)
-+ rnd = MPFR_INVERT_RND (rnd); /* since the result with be negated */
-+ MPFR_GROUP_INIT_2 (group, MPFR_PREC (y), t1, t2);
-+ MPFR_BLOCK (flags1, inex1 = mpfr_exp (t1, s1, rnd));
-+ MPFR_BLOCK (flags2, inex2 = mpfr_exp (t2, s2, rnd));
-+ /* t1 is the rounding with mode 'rnd' of a lower bound on |Gamma(x)|,
-+ t2 is the rounding with mode 'rnd' of an upper bound, thus if both
-+ are equal, so is the wanted result. If t1 and t2 differ or the flags
-+ differ, at some point of Ziv's loop they should agree. */
-+ if (mpfr_equal_p (t1, t2) && flags1 == flags2)
-+ {
-+ MPFR_ASSERTN ((inex1 > 0 && inex2 > 0) || (inex1 < 0 && inex2 < 0));
-+ mpfr_set4 (y, t1, MPFR_RNDN, sign); /* exact */
-+ if (sign < 0)
-+ inex1 = - inex1;
-+ MPFR_SAVE_EXPO_UPDATE_FLAGS (*pexpo, flags1);
-+ }
-+ else
-+ inex1 = 0; /* couldn't determine the result */
-+ MPFR_GROUP_CLEAR (group);
-+
-+ return inex1;
-+}
-+
-+#else
-+
-+static int
-+unit_bit (mpfr_srcptr x)
- {
- mpfr_exp_t expo;
- mpfr_prec_t prec;
-@@ -75,6 +138,7 @@
-
- return (x0 >> (prec % GMP_NUMB_BITS)) & 1;
- }
-+
- #endif
-
- /* lngamma(x) = log(gamma(x)).
-@@ -99,12 +163,14 @@
- mpfr_t s, t, u, v, z;
- unsigned long m, k, maxm;
- mpz_t *INITIALIZED(B); /* variable B declared as initialized */
-- int inexact, compared;
-+ int compared;
-+ int inexact = 0; /* 0 means: result y not set yet */
- mpfr_exp_t err_s, err_t;
- unsigned long Bm = 0; /* number of allocated B[] */
- unsigned long oldBm;
- double d;
- MPFR_SAVE_EXPO_DECL (expo);
-+ MPFR_ZIV_DECL (loop);
-
- compared = mpfr_cmp_ui (z0, 1);
-
-@@ -122,7 +188,7 @@
- if (MPFR_EXP(z0) <= - (mpfr_exp_t) MPFR_PREC(y))
- {
- mpfr_t l, h, g;
-- int ok, inex2;
-+ int ok, inex1, inex2;
- mpfr_prec_t prec = MPFR_PREC(y) + 14;
- MPFR_ZIV_DECL (loop);
-
-@@ -157,14 +223,14 @@
- mpfr_sub (h, h, g, MPFR_RNDD);
- mpfr_mul (g, z0, z0, MPFR_RNDU);
- mpfr_add (h, h, g, MPFR_RNDU);
-- inexact = mpfr_prec_round (l, MPFR_PREC(y), rnd);
-+ inex1 = mpfr_prec_round (l, MPFR_PREC(y), rnd);
- inex2 = mpfr_prec_round (h, MPFR_PREC(y), rnd);
- /* Caution: we not only need l = h, but both inexact flags should
- agree. Indeed, one of the inexact flags might be zero. In that
- case if we assume lngamma(z0) cannot be exact, the other flag
- should be correct. We are conservative here and request that both
- inexact flags agree. */
-- ok = SAME_SIGN (inexact, inex2) && mpfr_cmp (l, h) == 0;
-+ ok = SAME_SIGN (inex1, inex2) && mpfr_cmp (l, h) == 0;
- if (ok)
- mpfr_set (y, h, rnd); /* exact */
- mpfr_clear (l);
-@@ -172,8 +238,9 @@
- mpfr_clear (g);
- if (ok)
- {
-+ MPFR_ZIV_FREE (loop);
- MPFR_SAVE_EXPO_FREE (expo);
-- return mpfr_check_range (y, inexact, rnd);
-+ return mpfr_check_range (y, inex1, rnd);
- }
- /* since we have log|gamma(x)| = - log|x| - gamma*x + O(x^2),
- if x ~ 2^(-n), then we have a n-bit approximation, thus
-@@ -205,9 +272,10 @@
- thus lngamma(x) = log(Pi*(x-1)/sin(Pi*(2-x))) - lngamma(2-x) */
-
- w = precy + MPFR_INT_CEIL_LOG2 (precy);
-+ w += MPFR_INT_CEIL_LOG2 (w) + 14;
-+ MPFR_ZIV_INIT (loop, w);
- while (1)
- {
-- w += MPFR_INT_CEIL_LOG2 (w) + 14;
- MPFR_ASSERTD(w >= 3);
- mpfr_set_prec (s, w);
- mpfr_set_prec (t, w);
-@@ -288,7 +356,9 @@
- + (rnd == MPFR_RNDN)))
- goto end;
- }
-+ MPFR_ZIV_NEXT (loop, w);
- }
-+ MPFR_ZIV_FREE (loop);
- }
-
- /* now z0 > 1 */
-@@ -298,10 +368,10 @@
- /* since k is O(w), the value of log(z0*...*(z0+k-1)) is about w*log(w),
- so there is a cancellation of ~log(w) in the argument reconstruction */
- w = precy + MPFR_INT_CEIL_LOG2 (precy);
--
-- do
-+ w += MPFR_INT_CEIL_LOG2 (w) + 13;
-+ MPFR_ZIV_INIT (loop, w);
-+ while (1)
- {
-- w += MPFR_INT_CEIL_LOG2 (w) + 13;
- MPFR_ASSERTD (w >= 3);
-
- /* argument reduction: we compute gamma(z0 + k), where the series
-@@ -441,6 +511,15 @@
- #ifdef IS_GAMMA
- err_s = MPFR_GET_EXP(s);
- mpfr_exp (s, s, MPFR_RNDN);
-+ /* If s is +Inf, we compute exp(lngamma(z0)). */
-+ if (mpfr_inf_p (s))
-+ {
-+ inexact = mpfr_explgamma (y, z0, &expo, s, t, rnd);
-+ if (inexact)
-+ goto end0;
-+ else
-+ goto ziv_next;
-+ }
- /* before the exponential, we have s = s0 + h where
- |h| <= (2m+48)*ulp(s), thus exp(s0) = exp(s) * exp(-h).
- For |h| <= 1/4, we have |exp(h)-1| <= 1.2*|h| thus
-@@ -480,16 +559,26 @@
- err_s = (err_t == err_s) ? 1 + err_s : ((err_t > err_s) ? err_t : err_s);
- err_s += 1 - MPFR_GET_EXP(s);
- #endif
-+ if (MPFR_LIKELY (MPFR_CAN_ROUND (s, w - err_s, precy, rnd)))
-+ break;
-+#ifdef IS_GAMMA
-+ ziv_next:
-+#endif
-+ MPFR_ZIV_NEXT (loop, w);
- }
-- while (MPFR_UNLIKELY (!MPFR_CAN_ROUND (s, w - err_s, precy, rnd)));
-
-+#ifdef IS_GAMMA
-+ end0:
-+#endif
- oldBm = Bm;
- while (Bm--)
- mpz_clear (B[Bm]);
- (*__gmp_free_func) (B, oldBm * sizeof (mpz_t));
-
- end:
-- inexact = mpfr_set (y, s, rnd);
-+ if (inexact == 0)
-+ inexact = mpfr_set (y, s, rnd);
-+ MPFR_ZIV_FREE (loop);
-
- mpfr_clear (s);
- mpfr_clear (t);
-diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
---- mpfr-3.1.0-a/src/mpfr.h 2012-04-27 01:13:15.000000000 +0000
-+++ mpfr-3.1.0-b/src/mpfr.h 2012-05-07 18:52:45.000000000 +0000
-@@ -27,7 +27,7 @@
- #define MPFR_VERSION_MAJOR 3
- #define MPFR_VERSION_MINOR 1
- #define MPFR_VERSION_PATCHLEVEL 0
--#define MPFR_VERSION_STRING "3.1.0-p9"
-+#define MPFR_VERSION_STRING "3.1.0-p10"
-
- /* Macros dealing with MPFR VERSION */
- #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
-diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
---- mpfr-3.1.0-a/src/version.c 2012-04-27 01:13:15.000000000 +0000
-+++ mpfr-3.1.0-b/src/version.c 2012-05-07 18:52:45.000000000 +0000
-@@ -25,5 +25,5 @@
- const char *
- mpfr_get_version (void)
- {
-- return "3.1.0-p9";
-+ return "3.1.0-p10";
- }
-diff -Naurd mpfr-3.1.0-a/tests/tgamma.c mpfr-3.1.0-b/tests/tgamma.c
---- mpfr-3.1.0-a/tests/tgamma.c 2012-04-27 01:13:15.000000000 +0000
-+++ mpfr-3.1.0-b/tests/tgamma.c 2012-05-07 18:52:45.000000000 +0000
-@@ -838,6 +838,175 @@
- exit (1);
- }
-
-+/* Test mpfr_gamma in precision p1 by comparing it with exp(lgamma(x))
-+ computing with a working precision p2. Assume that x is not an
-+ integer <= 2. */
-+static void
-+exp_lgamma (mpfr_t x, mpfr_prec_t p1, mpfr_prec_t p2)
-+{
-+ mpfr_t yd, yu, zd, zu;
-+ int inexd, inexu, sign;
-+ int underflow = -1, overflow = -1; /* -1: we don't know */
-+ int got_underflow, got_overflow;
-+
-+ if (mpfr_integer_p (x) && mpfr_cmp_si (x, 2) <= 0)
-+ {
-+ printf ("Warning! x is an integer <= 2 in exp_lgamma: ");
-+ mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN); putchar ('\n');
-+ return;
-+ }
-+ mpfr_inits2 (p2, yd, yu, (mpfr_ptr) 0);
-+ inexd = mpfr_lgamma (yd, &sign, x, MPFR_RNDD);
-+ mpfr_set (yu, yd, MPFR_RNDN); /* exact */
-+ if (inexd)
-+ mpfr_nextabove (yu);
-+ mpfr_clear_flags ();
-+ mpfr_exp (yd, yd, MPFR_RNDD);
-+ if (! mpfr_underflow_p ())
-+ underflow = 0;
-+ if (mpfr_overflow_p ())
-+ overflow = 1;
-+ mpfr_clear_flags ();
-+ mpfr_exp (yu, yu, MPFR_RNDU);
-+ if (mpfr_underflow_p ())
-+ underflow = 1;
-+ if (! mpfr_overflow_p ())
-+ overflow = 0;
-+ if (sign < 0)
-+ {
-+ mpfr_neg (yd, yd, MPFR_RNDN); /* exact */
-+ mpfr_neg (yu, yu, MPFR_RNDN); /* exact */
-+ mpfr_swap (yd, yu);
-+ }
-+ /* yd < Gamma(x) < yu (strict inequalities since x != 1 and x != 2) */
-+ mpfr_inits2 (p1, zd, zu, (mpfr_ptr) 0);
-+ mpfr_clear_flags ();
-+ inexd = mpfr_gamma (zd, x, MPFR_RNDD); /* zd <= Gamma(x) < yu */
-+ got_underflow = underflow == -1 ? -1 : !! mpfr_underflow_p ();
-+ got_overflow = overflow == -1 ? -1 : !! mpfr_overflow_p ();
-+ if (! mpfr_less_p (zd, yu) || inexd > 0 ||
-+ got_underflow != underflow ||
-+ got_overflow != overflow)
-+ {
-+ printf ("Error in exp_lgamma on x = ");
-+ mpfr_out_str (stdout, 16, 0, x, MPFR_RNDN); putchar ('\n');
-+ printf ("yu = ");
-+ mpfr_dump (yu);
-+ printf ("zd = ");
-+ mpfr_dump (zd);
-+ printf ("got inexd = %d, expected <= 0\n", inexd);
-+ printf ("got underflow = %d, expected %d\n", got_underflow, underflow);
-+ printf ("got overflow = %d, expected %d\n", got_overflow, overflow);
-+ exit (1);
-+ }
-+ mpfr_clear_flags ();
-+ inexu = mpfr_gamma (zu, x, MPFR_RNDU); /* zu >= Gamma(x) > yd */
-+ got_underflow = underflow == -1 ? -1 : !! mpfr_underflow_p ();
-+ got_overflow = overflow == -1 ? -1 : !! mpfr_overflow_p ();
-+ if (! mpfr_greater_p (zu, yd) || inexu < 0 ||
-+ got_underflow != underflow ||
-+ got_overflow != overflow)
-+ {
-+ printf ("Error in exp_lgamma on x = ");
-+ mpfr_out_str (stdout, 16, 0, x, MPFR_RNDN); putchar ('\n');
-+ printf ("yd = ");
-+ mpfr_dump (yd);
-+ printf ("zu = ");
-+ mpfr_dump (zu);
-+ printf ("got inexu = %d, expected >= 0\n", inexu);
-+ printf ("got underflow = %d, expected %d\n", got_underflow, underflow);
-+ printf ("got overflow = %d, expected %d\n", got_overflow, overflow);
-+ exit (1);
-+ }
-+ if (mpfr_equal_p (zd, zu))
-+ {
-+ if (inexd != 0 || inexu != 0)
-+ {
-+ printf ("Error in exp_lgamma on x = ");
-+ mpfr_out_str (stdout, 16, 0, x, MPFR_RNDN); putchar ('\n');
-+ printf ("zd = zu, thus exact, but inexd = %d and inexu = %d\n",
-+ inexd, inexu);
-+ exit (1);
-+ }
-+ MPFR_ASSERTN (got_underflow == 0);
-+ MPFR_ASSERTN (got_overflow == 0);
-+ }
-+ else if (inexd == 0 || inexu == 0)
-+ {
-+ printf ("Error in exp_lgamma on x = ");
-+ mpfr_out_str (stdout, 16, 0, x, MPFR_RNDN); putchar ('\n');
-+ printf ("zd != zu, thus inexact, but inexd = %d and inexu = %d\n",
-+ inexd, inexu);
-+ exit (1);
-+ }
-+ mpfr_clears (yd, yu, zd, zu, (mpfr_ptr) 0);
-+}
-+
-+static void
-+exp_lgamma_tests (void)
-+{
-+ mpfr_t x;
-+ mpfr_exp_t emin, emax;
-+ int i;
-+
-+ emin = mpfr_get_emin ();
-+ emax = mpfr_get_emax ();
-+ set_emin (MPFR_EMIN_MIN);
-+ set_emax (MPFR_EMAX_MAX);
-+
-+ mpfr_init2 (x, 96);
-+ for (i = 3; i <= 8; i++)
-+ {
-+ mpfr_set_ui (x, i, MPFR_RNDN);
-+ exp_lgamma (x, 53, 64);
-+ mpfr_nextbelow (x);
-+ exp_lgamma (x, 53, 64);
-+ mpfr_nextabove (x);
-+ mpfr_nextabove (x);
-+ exp_lgamma (x, 53, 64);
-+ }
-+ mpfr_set_str (x, "1.7", 10, MPFR_RNDN);
-+ exp_lgamma (x, 53, 64);
-+ mpfr_set_str (x, "-4.6308260837372266e+07", 10, MPFR_RNDN);
-+ exp_lgamma (x, 53, 64);
-+ mpfr_set_str (x, "-90.6308260837372266e+15", 10, MPFR_RNDN);
-+ exp_lgamma (x, 53, 64);
-+ /* The following test gives a large positive result < +Inf */
-+ mpfr_set_str (x, "1.2b13fc45a92dea1@14", 16, MPFR_RNDN);
-+ exp_lgamma (x, 53, 64);
-+ /* Idem for a large negative result > -Inf */
-+ mpfr_set_str (x, "-1.2b13fc45a92de81@14", 16, MPFR_RNDN);
-+ exp_lgamma (x, 53, 64);
-+ /* The following two tests trigger an endless loop in r8186
-+ on 64-bit machines (64-bit exponent). The second one (due
-+ to undetected overflow) is a direct consequence of the
-+ first one, due to the call of Gamma(2-x) if x < 1. */
-+ mpfr_set_str (x, "1.2b13fc45a92dec8@14", 16, MPFR_RNDN);
-+ exp_lgamma (x, 53, 64);
-+ mpfr_set_str (x, "-1.2b13fc45a92dea8@14", 16, MPFR_RNDN);
-+ exp_lgamma (x, 53, 64);
-+ /* Similar tests (overflow threshold) for 32-bit machines. */
-+ mpfr_set_str (x, "2ab68d8.657542f855111c61", 16, MPFR_RNDN);
-+ exp_lgamma (x, 12, 64);
-+ mpfr_set_str (x, "-2ab68d6.657542f855111c61", 16, MPFR_RNDN);
-+ exp_lgamma (x, 12, 64);
-+ /* The following test is an overflow on 32-bit and 64-bit machines.
-+ Revision r8189 fails on 64-bit machines as the flag is unset. */
-+ mpfr_set_str (x, "1.2b13fc45a92ded8@14", 16, MPFR_RNDN);
-+ exp_lgamma (x, 53, 64);
-+ /* On the following tests, with r8196, one gets an underflow on
-+ 32-bit machines, while a normal result is expected (see FIXME
-+ in gamma.c:382). */
-+ mpfr_set_str (x, "-2ab68d6.657542f855111c6104", 16, MPFR_RNDN);
-+ exp_lgamma (x, 12, 64); /* failure on 32-bit machines */
-+ mpfr_set_str (x, "-12b13fc45a92deb.1c6c5bc964", 16, MPFR_RNDN);
-+ exp_lgamma (x, 12, 64); /* failure on 64-bit machines */
-+ mpfr_clear (x);
-+
-+ set_emin (emin);
-+ set_emax (emax);
-+}
-+
- int
- main (int argc, char *argv[])
- {
-@@ -852,6 +1021,7 @@
- test20071231 ();
- test20100709 ();
- test20120426 ();
-+ exp_lgamma_tests ();
-
- data_check ("data/gamma", mpfr_gamma, "mpfr_gamma");
-
diff --git a/abs/core/mpfr/mpfr-3.1.6-p1.patch b/abs/core/mpfr/mpfr-3.1.6-p1.patch
new file mode 100644
index 0000000..5c742f0
--- /dev/null
+++ b/abs/core/mpfr/mpfr-3.1.6-p1.patch
@@ -0,0 +1,285 @@
+diff -Naurd mpfr-3.1.6-a/PATCHES mpfr-3.1.6-b/PATCHES
+--- mpfr-3.1.6-a/PATCHES 2017-10-26 13:55:51.168013439 +0000
++++ mpfr-3.1.6-b/PATCHES 2017-10-26 13:55:51.236013121 +0000
+@@ -0,0 +1 @@
++mpfr_get
+diff -Naurd mpfr-3.1.6-a/VERSION mpfr-3.1.6-b/VERSION
+--- mpfr-3.1.6-a/VERSION 2017-09-07 11:36:44.000000000 +0000
++++ mpfr-3.1.6-b/VERSION 2017-10-26 13:55:51.236013121 +0000
+@@ -1 +1 @@
+-3.1.6
++3.1.6-p1
+diff -Naurd mpfr-3.1.6-a/src/get_ld.c mpfr-3.1.6-b/src/get_ld.c
+--- mpfr-3.1.6-a/src/get_ld.c 2017-01-01 01:39:09.000000000 +0000
++++ mpfr-3.1.6-b/src/get_ld.c 2017-10-26 13:55:51.208013252 +0000
+@@ -41,6 +41,9 @@
+ mpfr_exp_t sh; /* exponent shift, so that x/2^sh is in the double range */
+ mpfr_t y, z;
+ int sign;
++ MPFR_SAVE_EXPO_DECL (expo);
++
++ MPFR_SAVE_EXPO_MARK (expo);
+
+ /* first round x to the target long double precision, so that
+ all subsequent operations are exact (this avoids double rounding
+@@ -103,6 +106,7 @@
+ }
+ if (sign < 0)
+ r = -r;
++ MPFR_SAVE_EXPO_FREE (expo);
+ return r;
+ }
+ }
+diff -Naurd mpfr-3.1.6-a/src/get_si.c mpfr-3.1.6-b/src/get_si.c
+--- mpfr-3.1.6-a/src/get_si.c 2017-01-01 01:39:09.000000000 +0000
++++ mpfr-3.1.6-b/src/get_si.c 2017-10-26 13:55:51.208013252 +0000
+@@ -28,6 +28,7 @@
+ mpfr_prec_t prec;
+ long s;
+ mpfr_t x;
++ MPFR_SAVE_EXPO_DECL (expo);
+
+ if (MPFR_UNLIKELY (!mpfr_fits_slong_p (f, rnd)))
+ {
+@@ -39,14 +40,22 @@
+ if (MPFR_IS_ZERO (f))
+ return (long) 0;
+
+- /* determine prec of long */
+- for (s = LONG_MIN, prec = 0; s != 0; s /= 2, prec++)
++ /* Determine the precision of long. |LONG_MIN| may have one more bit
++ as an integer, but in this case, this is a power of 2, thus fits
++ in a precision-prec floating-point number. */
++ for (s = LONG_MAX, prec = 0; s != 0; s /= 2, prec++)
+ { }
+
++ MPFR_SAVE_EXPO_MARK (expo);
++
+ /* first round to prec bits */
+ mpfr_init2 (x, prec);
+ mpfr_rint (x, f, rnd);
+
++ /* The flags from mpfr_rint are the wanted ones. In particular,
++ it sets the inexact flag when necessary. */
++ MPFR_SAVE_EXPO_UPDATE_FLAGS (expo, __gmpfr_flags);
++
+ /* warning: if x=0, taking its exponent is illegal */
+ if (MPFR_UNLIKELY (MPFR_IS_ZERO(x)))
+ s = 0;
+@@ -65,5 +74,7 @@
+
+ mpfr_clear (x);
+
++ MPFR_SAVE_EXPO_FREE (expo);
++
+ return s;
+ }
+diff -Naurd mpfr-3.1.6-a/src/get_sj.c mpfr-3.1.6-b/src/get_sj.c
+--- mpfr-3.1.6-a/src/get_sj.c 2017-01-01 01:39:09.000000000 +0000
++++ mpfr-3.1.6-b/src/get_sj.c 2017-10-26 13:55:51.208013252 +0000
+@@ -35,6 +35,7 @@
+ intmax_t r;
+ mpfr_prec_t prec;
+ mpfr_t x;
++ MPFR_SAVE_EXPO_DECL (expo);
+
+ if (MPFR_UNLIKELY (!mpfr_fits_intmax_p (f, rnd)))
+ {
+@@ -46,20 +47,24 @@
+ if (MPFR_IS_ZERO (f))
+ return (intmax_t) 0;
+
+- /* determine the precision of intmax_t */
+- for (r = MPFR_INTMAX_MIN, prec = 0; r != 0; r /= 2, prec++)
++ /* Determine the precision of intmax_t. |INTMAX_MIN| may have one
++ more bit as an integer, but in this case, this is a power of 2,
++ thus fits in a precision-prec floating-point number. */
++ for (r = MPFR_INTMAX_MAX, prec = 0; r != 0; r /= 2, prec++)
+ { }
+- /* Note: though INTMAX_MAX would have been sufficient for the conversion,
+- we chose INTMAX_MIN so that INTMAX_MIN - 1 is always representable in
+- precision prec; this is useful to detect overflows in MPFR_RNDZ (will
+- be needed later). */
+
+- /* Now, r = 0. */
++ MPFR_ASSERTD (r == 0);
++
++ MPFR_SAVE_EXPO_MARK (expo);
+
+ mpfr_init2 (x, prec);
+ mpfr_rint (x, f, rnd);
+ MPFR_ASSERTN (MPFR_IS_FP (x));
+
++ /* The flags from mpfr_rint are the wanted ones. In particular,
++ it sets the inexact flag when necessary. */
++ MPFR_SAVE_EXPO_UPDATE_FLAGS (expo, __gmpfr_flags);
++
+ if (MPFR_NOTZERO (x))
+ {
+ mp_limb_t *xp;
+@@ -67,15 +72,15 @@
+
+ xp = MPFR_MANT (x);
+ sh = MPFR_GET_EXP (x);
+- MPFR_ASSERTN ((mpfr_prec_t) sh <= prec);
++ MPFR_ASSERTN ((mpfr_prec_t) sh <= prec + 1);
+ if (MPFR_INTMAX_MIN + MPFR_INTMAX_MAX != 0
+- && MPFR_UNLIKELY ((mpfr_prec_t) sh == prec))
++ && MPFR_UNLIKELY ((mpfr_prec_t) sh > prec))
+ {
+ /* 2's complement and x <= INTMAX_MIN: in the case mp_limb_t
+ has the same size as intmax_t, we cannot use the code in
+ the for loop since the operations would be performed in
+ unsigned arithmetic. */
+- MPFR_ASSERTN (MPFR_IS_NEG (x) && (mpfr_powerof2_raw (x)));
++ MPFR_ASSERTN (MPFR_IS_NEG (x) && mpfr_powerof2_raw (x));
+ r = MPFR_INTMAX_MIN;
+ }
+ else if (MPFR_IS_POS (x))
+@@ -117,6 +122,8 @@
+
+ mpfr_clear (x);
+
++ MPFR_SAVE_EXPO_FREE (expo);
++
+ return r;
+ }
+
+diff -Naurd mpfr-3.1.6-a/src/get_ui.c mpfr-3.1.6-b/src/get_ui.c
+--- mpfr-3.1.6-a/src/get_ui.c 2017-01-01 01:39:09.000000000 +0000
++++ mpfr-3.1.6-b/src/get_ui.c 2017-10-26 13:55:51.208013252 +0000
+@@ -30,6 +30,7 @@
+ mpfr_t x;
+ mp_size_t n;
+ mpfr_exp_t exp;
++ MPFR_SAVE_EXPO_DECL (expo);
+
+ if (MPFR_UNLIKELY (!mpfr_fits_ulong_p (f, rnd)))
+ {
+@@ -44,10 +45,16 @@
+ for (s = ULONG_MAX, prec = 0; s != 0; s /= 2, prec ++)
+ { }
+
++ MPFR_SAVE_EXPO_MARK (expo);
++
+ /* first round to prec bits */
+ mpfr_init2 (x, prec);
+ mpfr_rint (x, f, rnd);
+
++ /* The flags from mpfr_rint are the wanted ones. In particular,
++ it sets the inexact flag when necessary. */
++ MPFR_SAVE_EXPO_UPDATE_FLAGS (expo, __gmpfr_flags);
++
+ /* warning: if x=0, taking its exponent is illegal */
+ if (MPFR_IS_ZERO(x))
+ s = 0;
+@@ -61,5 +68,7 @@
+
+ mpfr_clear (x);
+
++ MPFR_SAVE_EXPO_FREE (expo);
++
+ return s;
+ }
+diff -Naurd mpfr-3.1.6-a/src/get_uj.c mpfr-3.1.6-b/src/get_uj.c
+--- mpfr-3.1.6-a/src/get_uj.c 2017-01-01 01:39:09.000000000 +0000
++++ mpfr-3.1.6-b/src/get_uj.c 2017-10-26 13:55:51.208013252 +0000
+@@ -35,6 +35,7 @@
+ uintmax_t r;
+ mpfr_prec_t prec;
+ mpfr_t x;
++ MPFR_SAVE_EXPO_DECL (expo);
+
+ if (MPFR_UNLIKELY (!mpfr_fits_uintmax_p (f, rnd)))
+ {
+@@ -50,12 +51,18 @@
+ for (r = MPFR_UINTMAX_MAX, prec = 0; r != 0; r /= 2, prec++)
+ { }
+
+- /* Now, r = 0. */
++ MPFR_ASSERTD (r == 0);
++
++ MPFR_SAVE_EXPO_MARK (expo);
+
+ mpfr_init2 (x, prec);
+ mpfr_rint (x, f, rnd);
+ MPFR_ASSERTN (MPFR_IS_FP (x));
+
++ /* The flags from mpfr_rint are the wanted ones. In particular,
++ it sets the inexact flag when necessary. */
++ MPFR_SAVE_EXPO_UPDATE_FLAGS (expo, __gmpfr_flags);
++
+ if (MPFR_NOTZERO (x))
+ {
+ mp_limb_t *xp;
+@@ -76,6 +83,8 @@
+
+ mpfr_clear (x);
+
++ MPFR_SAVE_EXPO_FREE (expo);
++
+ return r;
+ }
+
+diff -Naurd mpfr-3.1.6-a/src/get_z.c mpfr-3.1.6-b/src/get_z.c
+--- mpfr-3.1.6-a/src/get_z.c 2017-01-01 01:39:09.000000000 +0000
++++ mpfr-3.1.6-b/src/get_z.c 2017-10-26 13:55:51.208013252 +0000
+@@ -29,6 +29,7 @@
+ int inex;
+ mpfr_t r;
+ mpfr_exp_t exp;
++ MPFR_SAVE_EXPO_DECL (expo);
+
+ if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (f)))
+ {
+@@ -41,6 +42,8 @@
+ return 0;
+ }
+
++ MPFR_SAVE_EXPO_MARK (expo);
++
+ exp = MPFR_GET_EXP (f);
+ /* if exp <= 0, then |f|<1, thus |o(f)|<=1 */
+ MPFR_ASSERTN (exp < 0 || exp <= MPFR_PREC_MAX);
+@@ -50,6 +53,11 @@
+ MPFR_ASSERTN (inex != 1 && inex != -1); /* integral part of f is
+ representable in r */
+ MPFR_ASSERTN (MPFR_IS_FP (r));
++
++ /* The flags from mpfr_rint are the wanted ones. In particular,
++ it sets the inexact flag when necessary. */
++ MPFR_SAVE_EXPO_UPDATE_FLAGS (expo, __gmpfr_flags);
++
+ exp = mpfr_get_z_2exp (z, r);
+ if (exp >= 0)
+ mpz_mul_2exp (z, z, exp);
+@@ -57,5 +65,7 @@
+ mpz_fdiv_q_2exp (z, z, -exp);
+ mpfr_clear (r);
+
++ MPFR_SAVE_EXPO_FREE (expo);
++
+ return inex;
+ }
+diff -Naurd mpfr-3.1.6-a/src/mpfr.h mpfr-3.1.6-b/src/mpfr.h
+--- mpfr-3.1.6-a/src/mpfr.h 2017-09-07 11:36:44.000000000 +0000
++++ mpfr-3.1.6-b/src/mpfr.h 2017-10-26 13:55:51.232013138 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 1
+ #define MPFR_VERSION_PATCHLEVEL 6
+-#define MPFR_VERSION_STRING "3.1.6"
++#define MPFR_VERSION_STRING "3.1.6-p1"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.1.6-a/src/version.c mpfr-3.1.6-b/src/version.c
+--- mpfr-3.1.6-a/src/version.c 2017-09-07 11:36:44.000000000 +0000
++++ mpfr-3.1.6-b/src/version.c 2017-10-26 13:55:51.232013138 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.1.6";
++ return "3.1.6-p1";
+ }
diff --git a/abs/core/mpfr/mpfr.install b/abs/core/mpfr/mpfr.install
deleted file mode 100644
index d6dd047..0000000
--- a/abs/core/mpfr/mpfr.install
+++ /dev/null
@@ -1,20 +0,0 @@
-info_dir=usr/share/info
-info_files=(mpfr.info)
-
-post_install() {
- [ -x usr/bin/install-info ] || return 0
- for f in ${info_files[@]}; do
- install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
- done
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- [ -x usr/bin/install-info ] || return 0
- for f in ${info_files[@]}; do
- install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
- done
-}
diff --git a/abs/core/mplayer-wrapper/PKGBUILD b/abs/core/mplayer-wrapper/PKGBUILD
index 5fa1f99..8c70913 100644
--- a/abs/core/mplayer-wrapper/PKGBUILD
+++ b/abs/core/mplayer-wrapper/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=mplayer-wrapper
pkgver=1
-pkgrel=11
+pkgrel=12
pkgdesc="wrapper for mplayer and mplayer derivatives"
arch=('i686' 'x86_64')
depends=('perl' 'vdpauinfo')
@@ -14,4 +14,4 @@ package() {
# executables
install -m0755 -D $srcdir/*.pl $pkgdir/$LH_ROOT/bin/
}
-md5sums=('da888009e5937e7e3046f5adcb2a604c')
+md5sums=('af150ea192ce97a95ebf38b5dc15f233')
diff --git a/abs/core/mplayer-wrapper/mplayer-wrapper.pl b/abs/core/mplayer-wrapper/mplayer-wrapper.pl
index d938fbf..6b07892 100644
--- a/abs/core/mplayer-wrapper/mplayer-wrapper.pl
+++ b/abs/core/mplayer-wrapper/mplayer-wrapper.pl
@@ -238,7 +238,7 @@ sub dynamic_parameters () {
# Finally, if no bookmarking players can be found, a barebones mplayer is used.
sub pick_player () {
#my @possible_players = ("smplayer", "mplayer-resumer.pl", "mplayer");
- my @possible_players = ("mplayer-resumer.pl", "mplayer");
+ my @possible_players = ("mplayer");
my $command;
my $candidate_player;
foreach (@possible_players) {
@@ -256,7 +256,8 @@ sub pick_player () {
# Calls player
sub player () {
my($player,$parameters,$mediafile)=@_;
- my $command = "$player $parameters \"$mediafile\" 2>&1 |";
+ #my $command = "$player $parameters \"$mediafile\" 2>&1 |";
+ my $command = "$player $parameters \"$mediafile\" > /tmp/.mplayer-status |";
print "DEBUG: $0's player command is: *** $command ***\n";
open(SHELL, $command);
diff --git a/abs/core/mplayer/PKGBUILD b/abs/core/mplayer/PKGBUILD
index 4d95801..c59bebe 100644
--- a/abs/core/mplayer/PKGBUILD
+++ b/abs/core/mplayer/PKGBUILD
@@ -1,46 +1,43 @@
-# $Id$
-# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Maintainer: Levente Polyak <anthraxx@archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Hugo Doria <hugo@archlinux.org>
pkgbase=mplayer
pkgname=('mplayer' 'mencoder')
-pkgver=37857
-pkgrel=2
-arch=('i686' 'x86_64')
-makedepends=(
- 'libxxf86dga' 'libmad' 'libxinerama'
- 'libmng' 'libxss' 'smbclient' 'aalib' 'libcaca'
- 'faac' 'faad2' 'lirc' 'libxvmc' 'enca' 'libdca' 'a52dec' 'libvpx' 'unzip' 'mesa'
- 'live-media' 'yasm' 'git' 'mpg123' 'ladspa'
- 'libcdio-paranoia' 'subversion' 'x264' 'libx264' 'rtmpdump'
- 'libdvdcss' 'libdvdread' 'libdvdnav' 'ffmpeg'
-)
-license=('GPL')
+pkgver=38017
+pkgrel=1
+pkgdesc='Media player for Linux'
url='http://www.mplayerhq.hu/'
-options=('!buildflags' '!emptydirs')
-source=($pkgbase-$pkgver::svn://svn.mplayerhq.hu/mplayer/trunk#revision=$pkgver
+arch=('x86_64')
+license=('GPL')
+makedepends=('libxxf86dga' 'libmad' 'libxinerama' 'libmng' 'libxss' 'smbclient' 'aalib'
+ 'libcaca' 'faac' 'faad2' 'lirc' 'libxvmc' 'enca' 'libdca' 'a52dec' 'libvpx' 'unzip'
+ 'mesa' 'live-media' 'yasm' 'git' 'mpg123' 'ladspa' 'libcdio-paranoia' 'subversion'
+ 'x264' 'libx264' 'rtmpdump' 'libdvdcss' 'libdvdread' 'libdvdnav' 'ffmpeg')
+options=('!emptydirs')
+source=(${pkgbase}-${pkgver}::"svn://svn.mplayerhq.hu/mplayer/trunk#revision=${pkgver}"
mplayer.desktop
include-samba-4.0.patch
revert-icl-fixes.patch)
-md5sums=('SKIP'
- '62f44a58f072b2b1a3c3d3e4976d64b3'
- '868a92bdef148df7f38bfa992b26ce9d'
- '3579402002b7302fdf2d146639333efd')
+sha512sums=('SKIP'
+ 'd3c5cbf0035279c6f307e4e225473d7b77f9b56566537a26aa694e68446b9e3240333296da627ad5af83b04cc8f476d1a3f8c05e4cf81cd6e77153feb4ed74bc'
+ '9debb8c58b996f6c716c22c86c720bf9dc49b4ee9b76c57519f791667ae1de2cc6f5add878fbf4ac02c6b6fd1865e1bcfa6105e75de4bf7ec596c338ed0cae99'
+ '0cae0b26d3d97fd4c962962c43a481de20335369cbca406cadfc9bda1a0608b32f5374e76c477cb9a85bda83a568a1ed17126df224ae61579d0a402c1824aea8')
prepare() {
- cd $pkgbase-$pkgver
-# mv ../ffmpeg-*/ ./ffmpeg
-
- patch -Np1 -i ../include-samba-4.0.patch
- patch -Np0 -i ../revert-icl-fixes.patch
-
+ cd ${pkgbase}-${pkgver}
+ patch -p1 < "../include-samba-4.0.patch"
+ patch -p0 < "../revert-icl-fixes.patch"
./version.sh
}
build() {
- cd $pkgbase-$pkgver
-
+ cd ${pkgbase}-${pkgver}
+ export CFLAGS="${CFLAGS/-march=x86-64/}"
+ export CFLAGS="${CFLAGS/-mtune=generic/}"
+ export LDFLAGS="${LDFLAGS/,O1/}"
+ export LDFLAGS="${LDFLAGS/,--sort-common/}"
./configure --prefix=/usr \
--enable-runtime-cpudetection \
--disable-gui \
@@ -60,42 +57,36 @@ build() {
--enable-radio-capture \
--enable-smb \
--language=all \
- --confdir=/etc/mplayer
- [[ "$CARCH" = "i686" ]] && sed 's|-march=i486|-march=i686|g' -i config.mak
-
+ --confdir=/etc/mplayer \
+ --extra-cflags="${CFLAGS}" \
+ --extra-ldflags="${LDFLAGS}"
+ [[ "${CARCH}" = "i686" ]] && sed 's|-march=i486|-march=i686|g' -i config.mak
make
}
package_mplayer() {
pkgdesc='Media player for Linux'
backup=('etc/mplayer/codecs.conf' 'etc/mplayer/input.conf')
- depends=(
- 'desktop-file-utils' 'ttf-font' 'enca' 'libxss' 'a52dec' 'libvpx'
- 'lirc' 'libx264' 'libmng' 'libdca' 'aalib' 'libxinerama' 'smbclient'
- 'libmad' 'libcaca' 'libxxf86dga' 'faac' 'faad2' 'libxvmc' 'mpg123'
- 'libcdio-paranoia' 'rtmpdump' 'libdvdnav' 'ffmpeg'
- )
+ depends=('desktop-file-utils' 'ttf-font' 'enca' 'libxss' 'a52dec' 'libvpx'
+ 'lirc' 'libx264' 'libmng' 'libdca' 'aalib' 'libxinerama' 'smbclient'
+ 'libmad' 'libcaca' 'libxxf86dga' 'faac' 'faad2' 'libxvmc' 'mpg123'
+ 'libcdio-paranoia' 'rtmpdump' 'libdvdnav' 'ffmpeg')
- cd $pkgbase-$pkgver
- make DESTDIR="$pkgdir" install-mplayer install-mplayer-man
+ cd ${pkgbase}-${pkgver}
+ make DESTDIR="${pkgdir}" install-mplayer install-mplayer-man
- install -Dm644 etc/{codecs.conf,input.conf,example.conf} \
- "$pkgdir/etc/mplayer/"
-
- # desktop file (FS#14770)
- install -Dm644 ../mplayer.desktop \
- "$pkgdir"/usr/share/applications/mplayer.desktop
- install -Dm644 etc/mplayer256x256.png \
- "$pkgdir"/usr/share/pixmaps/mplayer.png
+ install -Dm 644 etc/{codecs.conf,input.conf,example.conf} "${pkgdir}/etc/mplayer"
+ install -Dm 644 "${srcdir}/mplayer.desktop" -t "${pkgdir}/usr/share/applications"
+ install -Dm 644 etc/mplayer256x256.png "${pkgdir}/usr/share/pixmaps/mplayer.png"
}
package_mencoder() {
pkgdesc='Free command line video decoding, encoding and filtering tool'
- depends=(
- 'enca' 'a52dec' 'libvpx' 'libx264' 'libmng' 'libdca' 'smbclient' 'libmad' 'faac' 'faad2'
- 'mpg123' 'libcdio-paranoia' 'rtmpdump' 'libdvdnav' 'ffmpeg'
- )
+ depends=('enca' 'a52dec' 'libvpx' 'libx264' 'libmng' 'libdca' 'smbclient' 'libmad'
+ 'faac' 'faad2' 'mpg123' 'libcdio-paranoia' 'rtmpdump' 'libdvdnav' 'ffmpeg')
- make -C $pkgbase-$pkgver DESTDIR="$pkgdir" install-mencoder install-mencoder-man
- find "$pkgdir"/usr/share/man -name mplayer.1 -exec rename mplayer.1 mencoder.1 {} +
+ make -C ${pkgbase}-${pkgver} DESTDIR="${pkgdir}" install-mencoder install-mencoder-man
+ find "${pkgdir}/usr/share/man" -name mplayer.1 -exec rename mplayer.1 mencoder.1 {} +
}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/core/mplayer/cdio-includes.patch b/abs/core/mplayer/cdio-includes.patch
deleted file mode 100644
index f714728..0000000
--- a/abs/core/mplayer/cdio-includes.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-Index: configure
-===================================================================
---- configure (revision 35421)
-+++ configure (working copy)
-@@ -5968,8 +5968,8 @@
- cat > $TMPC << EOF
- #include <stdio.h>
- #include <cdio/version.h>
--#include <cdio/cdda.h>
--#include <cdio/paranoia.h>
-+#include <cdio/paranoia/cdda.h>
-+#include <cdio/paranoia/paranoia.h>
- int main(void) {
- void *test = cdda_verbose_set;
- printf("%s\n", CDIO_VERSION);
-Index: gui/win32/interface.c
-===================================================================
---- gui/win32/interface.c (revision 35421)
-+++ gui/win32/interface.c (working copy)
-@@ -24,7 +24,7 @@
- #include "config.h"
-
- #if defined(CONFIG_LIBCDIO)
--#include <cdio/cdda.h>
-+#include <cdio/paranoia/cdda.h>
- #elif defined(CONFIG_CDDA)
- #include <cdda_interface.h>
- #endif
-Index: stream/stream_cdda.c
-===================================================================
---- stream/stream_cdda.c (revision 35421)
-+++ stream/stream_cdda.c (working copy)
-@@ -21,8 +21,8 @@
- #include <cdda_interface.h>
- #include <cdda_paranoia.h>
- #else
--#include <cdio/cdda.h>
--#include <cdio/paranoia.h>
-+#include <cdio/paranoia/cdda.h>
-+#include <cdio/paranoia/paranoia.h>
- #endif
- #include <stdio.h>
- #include <stdlib.h>
diff --git a/abs/core/mplayer/mplayer.png b/abs/core/mplayer/mplayer.png
deleted file mode 100644
index 7997693..0000000
--- a/abs/core/mplayer/mplayer.png
+++ /dev/null
Binary files differ
diff --git a/abs/core/mysql/PKGBUILD b/abs/core/mysql/PKGBUILD
index 0c3a45f..2a74619 100644
--- a/abs/core/mysql/PKGBUILD
+++ b/abs/core/mysql/PKGBUILD
@@ -5,11 +5,11 @@
pkgname=('mysql' 'libmysqlclient' 'mysql-clients')
pkgbase=mysql
-pkgver=5.6.35
+pkgver=5.6.39
pkgrel=1
pkgdesc="Fast SQL database server, community edition"
arch=('i686' 'x86_64')
-makedepends=('openssl' 'zlib' 'cmake' 'systemd-tools' 'libaio' 'jemalloc')
+makedepends=('zlib' 'cmake' 'systemd-tools' 'libaio' 'jemalloc')
license=('GPL')
url="https://www.mysql.com/products/community/"
options=('!libtool')
@@ -53,7 +53,7 @@ build() {
-DINSTALL_DOCDIR=share/mysql/docs \
-DINSTALL_SHAREDIR=share/mysql \
-DWITH_ZLIB=system \
- -DWITH_SSL=system \
+ -DWITH_SSL=bundled \
-DWITH_LIBWRAP=OFF \
-DCMAKE_EXE_LINKER_FLAGS='-ljemalloc' \
-DWITH_EXTRA_CHARSETS=complex \
@@ -169,7 +169,7 @@ package_mysql(){
rm "${pkgdir}/usr/share/man/man1/mysql-test-run.pl.1"
}
-md5sums=('e4f170f6f73aa94c0d8da90019545908'
+md5sums=('abcee03992647d508ac5c2568c6cc802'
'b79e65a5aa536e6b5bc60988eb0b78a2'
'2fa6e456964d4ff5e6d4f9ff0126aed6'
'81b62df0f569935109c1b107dfe9f9fa'
diff --git a/abs/core/mythinstall/PKGBUILD b/abs/core/mythinstall/PKGBUILD
index 64486cd..75ffe99 100644
--- a/abs/core/mythinstall/PKGBUILD
+++ b/abs/core/mythinstall/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: Jams
pkgname=mythinstall
pkgver=8.5.1
-pkgrel=2
+pkgrel=4
pkgdesc="LinHES installer/systemconfig GUI."
arch=('i686' 'x86_64')
depends=('mythtv>=29' 'LinHES-config')
diff --git a/abs/core/mythtv/stable-29/git_src/git_hash b/abs/core/mythtv/stable-29/git_src/git_hash
index 1aef815..524ff49 100644
--- a/abs/core/mythtv/stable-29/git_src/git_hash
+++ b/abs/core/mythtv/stable-29/git_src/git_hash
@@ -1 +1 @@
-9b7b96283458073007a8f3801d5284fb59af3979
+e5fc66e822072037aeaf8c54c4292f17f65cef56
diff --git a/abs/core/mythtv/stable-29/git_src/git_hash_web b/abs/core/mythtv/stable-29/git_src/git_hash_web
index 38dfcdc..22e5e67 100644
--- a/abs/core/mythtv/stable-29/git_src/git_hash_web
+++ b/abs/core/mythtv/stable-29/git_src/git_hash_web
@@ -1 +1 @@
-99838ff4323d7dfc20fd720d4ed3a2042592df69
+6a6eb1a4a9e48a3f7fcf3006cb4404051e572911
diff --git a/abs/core/mythtv/stable-29/mythplugins/PKGBUILD b/abs/core/mythtv/stable-29/mythplugins/PKGBUILD
index ed4036c..7dcae9e 100644
--- a/abs/core/mythtv/stable-29/mythplugins/PKGBUILD
+++ b/abs/core/mythtv/stable-29/mythplugins/PKGBUILD
@@ -9,22 +9,23 @@ pkgname=('mytharchive'
'mythweather'
'mythzoneminder')
pkgver=29.1
-pkgrel=1
-arch=('i686' 'x86_64')
+pkgrel=9
+arch=('x86_64')
url="http://www.mythtv.org"
license=('GPL')
makedepends=('cdrkit' 'dcraw' 'dvdauthor' 'dvd+rw-tools' 'ffmpeg' 'flac' 'libexif'
'libvorbis' 'mesa' 'libgl' 'mplayer' "mythtv>=${pkgver}"
'perl-datetime-format-iso8601' 'perl-date-manip' 'perl-image-size'
'perl-json' 'perl-libwww' 'perl-soap-lite' 'perl-xml-sax'
- 'perl-xml-simple' 'perl-xml-xpath' 'python-oauth' 'python2-pillow'
- 'python-pycurl' 'zlib')
+ 'perl-xml-simple' 'perl-xml-xpath' 'python2-oauth' 'python2-pillow'
+ 'python2-pycurl' 'zlib')
source=('mythburn.py-aspectratio.patch'
+ 'mythburn.cpp-python2.patch'
'cdparanoia.patch'
'0317-0336-MythMusic-Fix-Playlist-copyTracks-and-removeAllTrack.patch'
)
-build() {
+prepare() {
if [ -e ${srcdir}/mythplugins ]
then
msg "Removing old mythplugins src"
@@ -38,14 +39,21 @@ build() {
cd ${srcdir}
patch -Np1 -i "$srcdir/0317-0336-MythMusic-Fix-Playlist-copyTracks-and-removeAllTrack.patch"
- msg "Patching configure"
+ msg "Change python to python2"
+ find . -name '*.py' -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@'
+ patch -Np1 -i "$srcdir/mythburn.cpp-python2.patch"
+
+ msg "Patching Configure"
cd ${srcdir}/${pkgbase}
patch -Np1 -i "$srcdir/cdparanoia.patch"
+}
+build() {
+ cd ${srcdir}/${pkgbase}
msg "Configuring mythplugins"
./configure --prefix=/usr \
--enable-all \
- --python=/usr/bin/python2
+ --python=python2
msg "Compiling mythplugins"
qmake-qt5 mythplugins.pro || return 1
@@ -93,7 +101,7 @@ package_mythmusic() {
package_mythnetvision() {
pkgdesc="MythNetvision plugin for MythTV"
- depends=("mythtv>=${pkgver}" 'python-pycurl' 'python-oauth'
+ depends=("mythtv>=${pkgver}" 'python2-pycurl' 'python2-oauth'
'python2-lxml' 'python2')
cd "${srcdir}/${_gitname}/${pkgbase}/mythnetvision"
make INSTALL_ROOT="${pkgdir}" install || return 1
@@ -124,5 +132,6 @@ package_mythzoneminder() {
}
md5sums=('e98c2a09bcb051fdde959fb4bb2e5ab2'
+ 'b9edd8f7da64ffa74baa91092bd48cc9'
'5de8dd79d0b8a2b006f3c3258938b6b7'
'0299d0214c0d3a452c0284352435d698')
diff --git a/abs/core/mythtv/stable-29/mythplugins/mythburn.cpp-python2.patch b/abs/core/mythtv/stable-29/mythplugins/mythburn.cpp-python2.patch
new file mode 100644
index 0000000..2c43f9e
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythplugins/mythburn.cpp-python2.patch
@@ -0,0 +1,13 @@
+diff --git a/mythplugins/mytharchive/mytharchive/mythburn.cpp b/mythplugins/mytharchive/mytharchive/mythburn.cpp
+index 4188579bb0..639f17abe9 100644
+--- a/mythplugins/mytharchive/mytharchive/mythburn.cpp
++++ b/mythplugins/mytharchive/mytharchive/mythburn.cpp
+@@ -950,7 +950,7 @@ void MythBurn::runScript()
+ QFile::remove(logDir + "/mythburncancel.lck");
+
+ createConfigFile(configDir + "/mydata.xml");
+- commandline = "python " + GetShareDir() + "mytharchive/scripts/mythburn.py";
++ commandline = "python2 " + GetShareDir() + "mytharchive/scripts/mythburn.py";
+ commandline += " -j " + configDir + "/mydata.xml"; // job file
+ commandline += " -l " + logDir + "/progress.log"; // progress log
+ commandline += " > " + logDir + "/mythburn.log 2>&1 &"; // Logs
diff --git a/abs/core/mythtv/stable-29/mythtv/0259-0117-UI-Provide-dbase-cache-for-RegisterKey-and-RegisterJ.patch b/abs/core/mythtv/stable-29/mythtv/0259-0117-UI-Provide-dbase-cache-for-RegisterKey-and-RegisterJ.patch
deleted file mode 100644
index 79169e4..0000000
--- a/abs/core/mythtv/stable-29/mythtv/0259-0117-UI-Provide-dbase-cache-for-RegisterKey-and-RegisterJ.patch
+++ /dev/null
@@ -1,276 +0,0 @@
-From 53ab06dc745938d2ea74214fc10a2b5446bac01a Mon Sep 17 00:00:00 2001
-From: Lawrence Rust <lvr@softsystem.co.uk>
-Date: Wed, 5 Jun 2013 16:07:56 +0100
-Subject: [PATCH 117/333] UI: Provide dbase cache for RegisterKey and
- RegisterJump to speed startup
-
-Signed-off-by: Lawrence Rust <lvr@softsystem.co.uk>
----
- mythtv/libs/libmythui/mythmainwindow.cpp | 211 +++++++++++++++++++++---------
- 1 file changed, 147 insertions(+), 64 deletions(-)
-
-diff --git a/mythtv/libs/libmythui/mythmainwindow.cpp b/mythtv/libs/libmythui/mythmainwindow.cpp
-index c765279..226454a 100644
---- a/mythtv/libs/libmythui/mythmainwindow.cpp
-+++ b/mythtv/libs/libmythui/mythmainwindow.cpp
-@@ -25,6 +25,9 @@ using namespace std;
- #include <QKeyEvent>
- #include <QKeySequence>
- #include <QSize>
-+#include <QPair>
-+#include <QMap>
-+#include <QMutexLocker>
-
- // Platform headers
- #include "unistd.h"
-@@ -1765,67 +1768,107 @@ void MythMainWindow::BindKey(const QString &context, const QString &action,
- void MythMainWindow::RegisterKey(const QString &context, const QString &action,
- const QString &description, const QString &key)
- {
-- QString keybind = key;
--
-- MSqlQuery query(MSqlQuery::InitCon());
-+ typedef QPair< QString,QString > key_t; // context, action
-+ typedef QPair< QString,QString > val_t; // keybind, description
-+ typedef QMap< key_t,val_t > cache_t;
-+ static cache_t s_cache;
-+ static QMutex s_mutex;
-
-- if (d->m_useDB && query.isConnected())
-+ if (s_cache.empty() && d->m_useDB)
- {
-- query.prepare("SELECT keylist, description FROM keybindings WHERE "
-- "context = :CONTEXT AND action = :ACTION AND "
-- "hostname = :HOSTNAME ;");
-- query.bindValue(":CONTEXT", context);
-- query.bindValue(":ACTION", action);
-- query.bindValue(":HOSTNAME", GetMythDB()->GetHostName());
--
-- if (query.exec() && query.next())
-+ MSqlQuery query(MSqlQuery::InitCon());
-+ if (query.isConnected())
- {
-- keybind = query.value(0).toString();
-- QString db_description = query.value(1).toString();
--
-- // Update keybinding description if changed
-- if (db_description != description)
-+ query.prepare("SELECT context, action, keylist, description "
-+ "FROM keybindings WHERE hostname = :HOSTNAME ;");
-+ query.bindValue(":HOSTNAME", GetMythDB()->GetHostName());
-+ if (query.exec())
- {
-- LOG(VB_GENERAL, LOG_NOTICE,
-- "Updating keybinding description...");
-- query.prepare(
-- "UPDATE keybindings "
-- "SET description = :DESCRIPTION "
-- "WHERE context = :CONTEXT AND "
-- " action = :ACTION AND "
-- " hostname = :HOSTNAME");
--
-- query.bindValue(":DESCRIPTION", description);
-- query.bindValue(":CONTEXT", context);
-- query.bindValue(":ACTION", action);
-- query.bindValue(":HOSTNAME", GetMythDB()->GetHostName());
--
-- if (!query.exec() && !(GetMythDB()->SuppressDBMessages()))
-+ QMutexLocker locker(&s_mutex);
-+ while (query.next())
- {
-- MythDB::DBError("Update Keybinding", query);
-+ key_t k(query.value(0).toString(), query.value(1).toString());
-+ val_t v(query.value(2).toString(), query.value(3).toString());
-+ s_cache[k] = v;
- }
- }
-+ else if (!GetMythDB()->SuppressDBMessages())
-+ MythDB::DBError("RegisterKey", query);
- }
-- else
-+ }
-+
-+ QString keybind = key;
-+ QString db_description;
-+ bool bFound = false;
-+ {
-+ QMutexLocker locker(&s_mutex);
-+ cache_t::const_iterator it = s_cache.find(key_t(context, action));
-+ if (it != s_cache.end())
- {
-- QString inskey = keybind;
--
-- query.prepare("INSERT INTO keybindings (context, action, "
-- "description, keylist, hostname) VALUES "
-- "( :CONTEXT, :ACTION, :DESCRIPTION, :KEYLIST, "
-- ":HOSTNAME );");
-- query.bindValue(":CONTEXT", context);
-- query.bindValue(":ACTION", action);
-+ keybind = it->first;
-+ db_description = it->second;
-+ bFound = true;
-+ }
-+ }
-+
-+ if (bFound)
-+ {
-+ // Update keybinding description if changed
-+ if (db_description != description && d->m_useDB)
-+ {
-+ LOG(VB_GENERAL, LOG_NOTICE, "Updating keybinding description...");
-+
-+ MSqlQuery query(MSqlQuery::InitCon());
-+
-+ query.prepare(
-+ "UPDATE keybindings "
-+ "SET description = :DESCRIPTION "
-+ "WHERE context = :CONTEXT AND "
-+ " action = :ACTION AND "
-+ " hostname = :HOSTNAME");
-+
- query.bindValue(":DESCRIPTION", description);
-- query.bindValue(":KEYLIST", inskey);
-- query.bindValue(":HOSTNAME", GetMythDB()->GetHostName());
-+ query.bindValue(":CONTEXT", context);
-+ query.bindValue(":ACTION", action);
-+ query.bindValue(":HOSTNAME", GetMythDB()->GetHostName());
-
- if (!query.exec() && !(GetMythDB()->SuppressDBMessages()))
- {
-- MythDB::DBError("Insert Keybinding", query);
-+ MythDB::DBError("Update Keybinding", query);
- }
- }
- }
-+ else if (d->m_useDB)
-+ {
-+ LOG(VB_GENERAL, LOG_NOTICE, QString("Add keybinding %1::%2 = %3")
-+ .arg(context).arg(action).arg(keybind) );
-+
-+ MSqlQuery query(MSqlQuery::InitCon());
-+
-+ QString inskey = keybind;
-+
-+ query.prepare("INSERT INTO keybindings (context, action, "
-+ "description, keylist, hostname) VALUES "
-+ "( :CONTEXT, :ACTION, :DESCRIPTION, :KEYLIST, "
-+ ":HOSTNAME );");
-+ query.bindValue(":CONTEXT", context);
-+ query.bindValue(":ACTION", action);
-+ query.bindValue(":DESCRIPTION", description);
-+ query.bindValue(":KEYLIST", inskey);
-+ query.bindValue(":HOSTNAME", GetMythDB()->GetHostName());
-+
-+ if (!query.exec() && !(GetMythDB()->SuppressDBMessages()))
-+ {
-+ MythDB::DBError("Insert Keybinding", query);
-+ }
-+ else
-+ {
-+ QMutexLocker locker(&s_mutex);
-+ key_t k(context, action);
-+ val_t v(keybind, description);
-+ s_cache[k] = v;
-+ }
-+ }
-
- BindKey(context, action, keybind);
- d->actionText[context][action] = description;
-@@ -1930,35 +1973,75 @@ void MythMainWindow::RegisterJump(const QString &destination,
- const QString &key, void (*callback)(void),
- bool exittomain, QString localAction)
- {
-- QString keybind = key;
-+ typedef QPair< QString,QString > val_t; // keylist, description
-+ typedef QMap< QString,val_t > cache_t; // destination -> keylist, description
-+ static cache_t s_cache;
-+ static QMutex s_mutex;
-
-- MSqlQuery query(MSqlQuery::InitCon());
-- if (query.isConnected())
-+ if (s_cache.empty() && d->m_useDB)
- {
-- query.prepare("SELECT keylist FROM jumppoints WHERE "
-- "destination = :DEST and hostname = :HOST ;");
-- query.bindValue(":DEST", destination);
-- query.bindValue(":HOST", GetMythDB()->GetHostName());
--
-- if (query.exec() && query.next())
-+ MSqlQuery query(MSqlQuery::InitCon());
-+ if (query.isConnected())
- {
-- keybind = query.value(0).toString();
-+ query.prepare("SELECT destination, keylist, description "
-+ "FROM jumppoints WHERE hostname = :HOSTNAME ;");
-+ query.bindValue(":HOSTNAME", GetMythDB()->GetHostName());
-+ if (query.exec())
-+ {
-+ QMutexLocker locker(&s_mutex);
-+ while (query.next())
-+ {
-+ val_t v(query.value(1).toString(), query.value(2).toString());
-+ s_cache.insert(query.value(0).toString(), v);
-+ }
-+ }
-+ else if (!GetMythDB()->SuppressDBMessages())
-+ MythDB::DBError("RegisterJump", query);
- }
-- else
-+ }
-+
-+ QString keybind = key;
-+ bool bFound = false;
-+ {
-+ QMutexLocker locker(&s_mutex);
-+ cache_t::const_iterator it = s_cache.find(destination);
-+ if (it != s_cache.end())
- {
-- QString inskey = keybind;
-+ keybind = it->first;
-+ bFound = true;
-+ }
-+ }
-
-- query.prepare("INSERT INTO jumppoints (destination, description, "
-- "keylist, hostname) VALUES ( :DEST, :DESC, :KEYLIST, "
-- ":HOST );");
-+ if (!bFound)
-+ {
-+ MSqlQuery query(MSqlQuery::InitCon());
-+ if (query.isConnected())
-+ {
-+ query.prepare("SELECT keylist FROM jumppoints WHERE "
-+ "destination = :DEST and hostname = :HOST ;");
- query.bindValue(":DEST", destination);
-- query.bindValue(":DESC", description);
-- query.bindValue(":KEYLIST", inskey);
- query.bindValue(":HOST", GetMythDB()->GetHostName());
-
-- if (!query.exec() || !query.isActive())
-+ if (query.exec() && query.next())
- {
-- MythDB::DBError("Insert Jump Point", query);
-+ keybind = query.value(0).toString();
-+ }
-+ else
-+ {
-+ QString inskey = keybind;
-+
-+ query.prepare("INSERT INTO jumppoints (destination, description, "
-+ "keylist, hostname) VALUES ( :DEST, :DESC, :KEYLIST, "
-+ ":HOST );");
-+ query.bindValue(":DEST", destination);
-+ query.bindValue(":DESC", description);
-+ query.bindValue(":KEYLIST", inskey);
-+ query.bindValue(":HOST", GetMythDB()->GetHostName());
-+
-+ if (!query.exec() || !query.isActive())
-+ {
-+ MythDB::DBError("Insert Jump Point", query);
-+ }
- }
- }
- }
---
-1.7.9.5
-
diff --git a/abs/core/mythtv/stable-29/mythtv/PKGBUILD b/abs/core/mythtv/stable-29/mythtv/PKGBUILD
index 070ca76..a850229 100644
--- a/abs/core/mythtv/stable-29/mythtv/PKGBUILD
+++ b/abs/core/mythtv/stable-29/mythtv/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=mythtv
pkgver=29.1
-pkgrel=1
+pkgrel=9
commit_hash=`cat ../git_src/git_hash`
pkgdesc="A Homebrew PVR project $commit_hash"
arch=('x86_64')
@@ -33,18 +33,18 @@ patches=(
'defaultThemeLinHES.patch'
'addEnableDisableAutoShutdownToSystemMenu.patch'
'mythfrontend_en_us.ts_Title_Case.patch'
+ 'fixTranslations.patch'
'pull103-Add-heuristic-in-TMDB-script-to-detect-movie-release-years.patch'
'0006-cardutil_show_displayname.patch'
+ '0287-MythUiImage-Don-t-block-UI-when-exiting-screens.patch'
'0292-UPnP-Reduce-startup-latency-by-moving-blocking-code-to-own-thread.patch'
'0294-0283-FE-Add-network-status-to-machine-status-dialog.patch'
- '0287-MythUiImage-Don-t-block-UI-when-exiting-screens.patch'
- '0259-0117-UI-Provide-dbase-cache-for-RegisterKey-and-RegisterJ.patch'
)
optdepends=()
source=(`echo ${patches[@]:0}` 'recordings')
-build() {
+prepare() {
if [ -e ${srcdir}/mythtv ]
then
msg "Removing old mythtv src"
@@ -61,14 +61,20 @@ build() {
for i in `echo ${patches[@]:0}`
do
echo applying $i
- patch -Np2 -i ${startdir}/src/$i || return 1
+ patch -Np2 -i ${startdir}/src/$i || return 1
echo "-----------------------------"
done
msg "--------------------------done applying patches-------------------------"
+ msg "Change python to python2"
+ find 'bindings/python' 'contrib' 'programs/scripts' -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@'
+
msg "Updating en_us Translation"
cd ${srcdir}/$pkgname/i18n
lrelease -removeidentical mythfrontend_en_us.ts
+}
+
+build() {
cd ${srcdir}/$pkgname
msg "Configuring mythtv"
@@ -132,11 +138,11 @@ md5sums=('fb5a87c52a31168a0c8fdde72f27cc45'
'6add9c16bbb988067e82029327e567b2'
'b0b238320fa78a4928dce2cea7c85071'
'8e4492d1777234a021f368bd6ee964ee'
- 'e7c148608832563b418ffaad5f8498eb'
+ 'f2cb8dc8c4bff42102563a9e80011e19'
+ 'a1c7fb6a3bd11b7b21f2ea8327a843e1'
'd05eaf66c434a131c8efb4d87e99b402'
'5f2bd4065b145b7b7ff09dfd6f08276c'
+ '3cccbab70c7615bc47e51790e024d5bf'
'1f0dbd44f8c1a89b86bb331086f58578'
'abaef221b00690b329f4dca18676bcd6'
- '3cccbab70c7615bc47e51790e024d5bf'
- '4b5f00a19006b915b7ee5ab7f861599a'
'633cd853a89aeee5388daaad21ccec28')
diff --git a/abs/core/mythtv/stable-29/mythtv/fixTranslations.patch b/abs/core/mythtv/stable-29/mythtv/fixTranslations.patch
new file mode 100644
index 0000000..b013470
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythtv/fixTranslations.patch
@@ -0,0 +1,91 @@
+diff --git a/mythtv/programs/mythfrontend/audiogeneralsettings.h b/mythtv/programs/mythfrontend/audiogeneralsettings.h
+index 79aa41dd8d..46421a84c2 100644
+--- a/mythtv/programs/mythfrontend/audiogeneralsettings.h
++++ b/mythtv/programs/mythfrontend/audiogeneralsettings.h
+@@ -19,6 +19,8 @@ class AudioTest;
+
+ class AudioConfigScreen : public StandardSettingDialog
+ {
++ Q_OBJECT
++
+ public:
+ AudioConfigScreen(MythScreenStack *parent, const char *name,
+ GroupSetting *groupSetting);
+diff --git a/mythtv/programs/mythfrontend/globalsettings.cpp b/mythtv/programs/mythfrontend/globalsettings.cpp
+index 4507619170..0618f9762b 100644
+--- a/mythtv/programs/mythfrontend/globalsettings.cpp
++++ b/mythtv/programs/mythfrontend/globalsettings.cpp
+@@ -3871,7 +3871,7 @@ class PlayBackScaling : public GroupSetting
+ PlayBackScaling::PlayBackScaling()
+ :GroupSetting()
+ {
+- setLabel(tr("Scaling"));
++ setLabel(PlaybackSettings::tr("Scaling"));
+ addChild(m_VertScan = VertScanPercentage());
+ addChild(m_YScan = YScanDisplacement());
+ addChild(m_HorizScan = HorizScanPercentage());
+@@ -3894,7 +3894,7 @@ void PlayBackScaling::updateButton(MythUIButtonListItem *item)
+ m_HorizScan->getValue() == "0" &&
+ m_YScan->getValue() == "0" &&
+ m_XScan->getValue() == "0")
+- item->SetText(tr("No scaling"),"value");
++ item->SetText(PlaybackSettings::tr("No scaling"),"value");
+ else
+ item->SetText(QString("%1%x%2%+%3%+%4%")
+ .arg(m_HorizScan->getValue())
+@@ -4364,7 +4364,7 @@ ChannelCheckBoxSetting::ChannelCheckBoxSetting(uint chanid,
+ m_channelId(chanid)
+ {
+ setLabel(QString("%1 %2").arg(channum).arg(channame));
+- setHelpText(tr("Select/Unselect channels for this channel group"));
++ setHelpText(ChannelGroupSettings::tr("Select/Unselect channels for this channel group"));
+ }
+
+ ChannelGroupSetting::ChannelGroupSetting(const QString &groupName,
+diff --git a/mythtv/programs/mythfrontend/globalsettings.h b/mythtv/programs/mythfrontend/globalsettings.h
+index e069ec1cfb..8c1de7a02e 100644
+--- a/mythtv/programs/mythfrontend/globalsettings.h
++++ b/mythtv/programs/mythfrontend/globalsettings.h
+@@ -259,6 +259,8 @@ class PlaybackProfileConfig : public GroupSetting
+
+ class ChannelGroupSetting : public GroupSetting
+ {
++ Q_OBJECT
++
+ public:
+ ChannelGroupSetting(const QString &groupName, int groupId);
+ virtual void Load();
+diff --git a/mythtv/programs/mythtv-setup/backendsettings.cpp b/mythtv/programs/mythtv-setup/backendsettings.cpp
+index 6de0bae49d..bf24cc4f1a 100644
+--- a/mythtv/programs/mythtv-setup/backendsettings.cpp
++++ b/mythtv/programs/mythtv-setup/backendsettings.cpp
+@@ -126,11 +126,12 @@ class IpAddressSettings : public HostCheckBoxSetting
+ explicit IpAddressSettings(/*Setting* trigger*/) :
+ HostCheckBoxSetting("ListenOnAllIps")
+ {
+- setLabel(QObject::tr("Listen on All IP Addresses"));
++ setLabel(BackendSettings::tr("Listen on All IP Addresses"));
+ setValue(true);
+- setHelpText(tr("Allow this backend to receive connections on any IP "
+- "Address assigned to it. Recommended for most users "
+- "for ease and reliability."));
++ setHelpText(BackendSettings::tr("Allow this backend to receive "
++ "connections on any IP Address assigned to it. "
++ "Recommended for most users for ease and "
++ "reliability."));
+
+ localServerIP = LocalServerIP();
+ localServerIP6 = LocalServerIP6();
+diff --git a/mythtv/i18n/translate.pro b/mythtv/i18n/translate.pro
+index 210d9907f1..d51ec37ee5 100644
+--- a/mythtv/i18n/translate.pro
++++ b/mythtv/i18n/translate.pro
+@@ -10,6 +10,8 @@ SOURCES += ../libs/libmyth/audio/*.cpp
+ SOURCES += ../libs/libmyth/audio/*.h
+ SOURCES += ../libs/libmythmetadata/*.cpp
+ SOURCES += ../libs/libmythmetadata/*.h
++SOURCES += ../libs/libmythservicecontracts/enums/*.cpp
++SOURCES += ../libs/libmythservicecontracts/enums/*.h
+ SOURCES += ../libs/libmythtv/*.cpp
+ SOURCES += ../libs/libmythtv/*.h
+ SOURCES += ../libs/libmythtv/AirPlay/*.cpp
diff --git a/abs/core/mythtv/stable-29/mythtv/mythfrontend_en_us.ts_Title_Case.patch b/abs/core/mythtv/stable-29/mythtv/mythfrontend_en_us.ts_Title_Case.patch
index c4ce70a..59024b7 100644
--- a/abs/core/mythtv/stable-29/mythtv/mythfrontend_en_us.ts_Title_Case.patch
+++ b/abs/core/mythtv/stable-29/mythtv/mythfrontend_en_us.ts_Title_Case.patch
@@ -1,5 +1,5 @@
---- src/mythtv/i18n/mythfrontend_en_us.ts.orig 2018-01-25 13:58:55.277053891 +0000
-+++ src/mythtv/i18n/mythfrontend_en_us.ts 2018-01-25 13:58:44.968390548 +0000
+--- src/mythtv/i18n/mythfrontend_en_us.ts.orig 2018-05-23 18:35:11.221352872 +0000
++++ src/mythtv/i18n/mythfrontend_en_us.ts 2018-06-19 04:42:01.650264282 +0000
@@ -573,7 +573,7 @@
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="400"/>
@@ -75,7 +75,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="492"/>
-@@ -715,32 +715,31 @@
+@@ -715,32 +715,32 @@
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="494"/>
<source>Holiday-children</source>
@@ -83,11 +83,10 @@
+ <translation>Holiday-Children</translation>
</message>
<message>
-- <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="496"/>
-- <source>Holiday-children special</source>
+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="496"/>
+ <source>Holiday-children special</source>
- <translation>Holiday-children special</translation>
-+ <source>Holiday-Children Special</source>
-+ <translation type="vanished">Holiday-Children Special</translation>
++ <translation>Holiday-Children Special</translation>
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="498"/>
@@ -115,7 +114,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="510"/>
-@@ -765,12 +764,12 @@
+@@ -765,12 +765,12 @@
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="524"/>
<source>Music special</source>
@@ -130,19 +129,8 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="528"/>
-@@ -778,9 +777,18 @@
- <translation>Musical</translation>
- </message>
+@@ -780,7 +780,7 @@
<message>
-+ <source>Musical Comedy</source>
-+ <translation type="vanished">Musical comedy</translation>
-+ </message>
-+ <message>
-+ <location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="496"/>
-+ <source>Holiday-children special</source>
-+ <translation>Holiday-Chidren Special</translation>
-+ </message>
-+ <message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="530"/>
<source>Musical comedy</source>
- <translation>Musical comedy</translation>
@@ -150,7 +138,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="538"/>
-@@ -795,7 +803,7 @@
+@@ -795,7 +795,7 @@
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="542"/>
<source>Public affairs</source>
@@ -159,7 +147,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="544"/>
-@@ -810,7 +818,7 @@
+@@ -810,7 +810,7 @@
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="552"/>
<source>Romance-comedy</source>
@@ -168,7 +156,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="554"/>
-@@ -825,12 +833,12 @@
+@@ -825,12 +825,12 @@
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="560"/>
<source>Science fiction</source>
@@ -183,7 +171,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="566"/>
-@@ -860,12 +868,12 @@
+@@ -860,12 +860,12 @@
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="578"/>
<source>Sports non-event</source>
@@ -198,7 +186,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="584"/>
-@@ -875,7 +883,7 @@
+@@ -875,7 +875,7 @@
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="590"/>
<source>Track/field</source>
@@ -207,7 +195,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="596"/>
-@@ -920,7 +928,7 @@
+@@ -920,7 +920,7 @@
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="616"/>
<source>Arts/crafts</source>
@@ -216,7 +204,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="618"/>
-@@ -930,12 +938,12 @@
+@@ -930,12 +930,12 @@
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="620"/>
<source>Auto racing</source>
@@ -231,7 +219,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="624"/>
-@@ -945,7 +953,7 @@
+@@ -945,7 +945,7 @@
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="626"/>
<source>Bicycle racing</source>
@@ -240,7 +228,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="628"/>
-@@ -965,12 +973,12 @@
+@@ -965,12 +965,12 @@
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="636"/>
<source>Dog show</source>
@@ -255,7 +243,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="642"/>
-@@ -986,12 +994,12 @@
+@@ -986,12 +986,12 @@
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="646"/>
<source>Field hockey</source>
@@ -270,7 +258,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="652"/>
-@@ -1001,7 +1009,7 @@
+@@ -1001,7 +1001,7 @@
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="654"/>
<source>Home improvement</source>
@@ -279,7 +267,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="656"/>
-@@ -1011,7 +1019,7 @@
+@@ -1011,7 +1011,7 @@
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="658"/>
<source>Hydroplane racing</source>
@@ -288,7 +276,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="660"/>
-@@ -1021,7 +1029,7 @@
+@@ -1021,7 +1021,7 @@
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="662"/>
<source>Motorcycle racing</source>
@@ -297,7 +285,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="664"/>
-@@ -1047,7 +1055,7 @@
+@@ -1047,7 +1047,7 @@
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="674"/>
<source>Pro wrestling</source>
@@ -306,7 +294,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="676"/>
-@@ -1092,7 +1100,7 @@
+@@ -1092,7 +1092,7 @@
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="694"/>
<source>Card games</source>
@@ -315,7 +303,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="696"/>
-@@ -1107,12 +1115,12 @@
+@@ -1107,12 +1107,12 @@
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="702"/>
<source>Mixed martial arts</source>
@@ -330,7 +318,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dishdescriptors.cpp" line="706"/>
-@@ -1144,7 +1152,7 @@
+@@ -1144,7 +1144,7 @@
<message>
<location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="326"/>
<source>Soap/melodrama/folkloric</source>
@@ -339,7 +327,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="333"/>
-@@ -1160,12 +1168,12 @@
+@@ -1160,12 +1160,12 @@
<message>
<location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="341"/>
<source>News/weather report</source>
@@ -354,7 +342,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="347"/>
-@@ -1380,7 +1388,7 @@
+@@ -1380,7 +1380,7 @@
<message>
<location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="447"/>
<source>Nature/animals/Environment</source>
@@ -363,7 +351,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="449"/>
-@@ -1440,7 +1448,7 @@
+@@ -1440,7 +1440,7 @@
<message>
<location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="473"/>
<source>Advertizement/Shopping</source>
@@ -372,7 +360,7 @@
</message>
<message>
<location filename="../libs/libmythtv/mpeg/dvbdescriptors.cpp" line="475"/>
-@@ -1471,124 +1479,132 @@
+@@ -1471,124 +1471,132 @@
<context>
<name>(ChannelSettings)</name>
<message>
@@ -537,7 +525,7 @@
</message>
<message>
<location filename="../libs/libmythtv/channelsettings.cpp" line="417"/>
-@@ -1601,22 +1617,22 @@
+@@ -1601,22 +1609,22 @@
<translation>Value to be added to your desired frequency (in kHz) for &apos;fine tuning&apos;.</translation>
</message>
<message>
@@ -564,7 +552,7 @@
<source>Channel Options - Raw Transport Stream</source>
<translation>Channel Options - Raw Transport Stream</translation>
</message>
-@@ -1624,39 +1640,37 @@
+@@ -1624,39 +1632,37 @@
<context>
<name>(Common)</name>
<message>
@@ -617,7 +605,7 @@
<source>Cancel</source>
<translation>Cancel</translation>
</message>
-@@ -1699,7 +1713,7 @@
+@@ -1699,7 +1705,7 @@
<message numerus="yes">
<location filename="../libs/libmythmetadata/metadatacommon.cpp" line="481"/>
<location filename="../libs/libmythmetadata/metadatacommon.cpp" line="493"/>
@@ -626,7 +614,7 @@
<source>%n second(s)</source>
<translation>
<numerusform>%n second</numerusform>
-@@ -1724,31 +1738,29 @@
+@@ -1724,31 +1730,29 @@
<translation>No</translation>
</message>
<message>
@@ -665,7 +653,7 @@
<source>Channel Name</source>
<translation>Channel Name</translation>
</message>
-@@ -1758,51 +1770,56 @@
+@@ -1758,65 +1762,70 @@
<translation>Channel Number</translation>
</message>
<message>
@@ -726,14 +714,32 @@
<translation>Hue</translation>
</message>
<message>
- <location filename="../libs/libmythtv/recorders/dvbsignalmonitor.cpp" line="51"/>
+- <location filename="../libs/libmythtv/recorders/dvbsignalmonitor.cpp" line="51"/>
++ <location filename="../libs/libmythtv/recorders/dvbsignalmonitor.cpp" line="52"/>
<source>Signal To Noise</source>
- <translation>Signal To Noise</translation>
+ <translation>Signal to Noise</translation>
</message>
<message>
- <location filename="../libs/libmythtv/recorders/signalmonitor.cpp" line="222"/>
-@@ -1842,81 +1859,75 @@
+- <location filename="../libs/libmythtv/recorders/signalmonitor.cpp" line="222"/>
++ <location filename="../libs/libmythtv/recorders/signalmonitor.cpp" line="235"/>
+ <location filename="../libs/libmythtv/signalmonitorvalue.cpp" line="28"/>
+ <source>Signal Lock</source>
+ <translation>Signal Lock</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recorders/signalmonitor.cpp" line="224"/>
++ <location filename="../libs/libmythtv/recorders/signalmonitor.cpp" line="237"/>
+ <source>Signal Power</source>
+ <translation>Signal Power</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recorders/signalmonitor.cpp" line="226"/>
++ <location filename="../libs/libmythtv/recorders/signalmonitor.cpp" line="239"/>
+ <source>Script Status</source>
+ <translation>Script Status</translation>
+ </message>
+@@ -1842,81 +1851,75 @@
<translation>MythTV</translation>
</message>
<message>
@@ -831,7 +837,7 @@
<source>There are no configured tuners.</source>
<translation>There are no configured tuners.</translation>
</message>
-@@ -2061,7 +2072,7 @@
+@@ -2061,7 +2064,7 @@
<message>
<location filename="../libs/libmythtv/channelscan/modulationsetting.h" line="56"/>
<location filename="../libs/libmythtv/channelscan/modulationsetting.h" line="89"/>
@@ -840,7 +846,7 @@
<source>Modulation</source>
<translation>Modulation</translation>
</message>
-@@ -2076,17 +2087,17 @@
+@@ -2076,17 +2079,17 @@
<translation>Modulation (Default: Auto)</translation>
</message>
<message>
@@ -861,7 +867,7 @@
<source>Modulation, QPSK, 8PSK, QAM-16. Most DVB-S transponders use QPSK, while DVB-S2 use 8PSK. QAM-16 is not available for DVB-S2 transports.</source>
<translation>Modulation, QPSK, 8PSK, QAM-16. Most DVB-S transponders use QPSK, while DVB-S2 use 8PSK. QAM-16 is not available for DVB-S2 transports.</translation>
</message>
-@@ -2094,32 +2105,32 @@
+@@ -2094,32 +2097,32 @@
<context>
<name>(MythFrontendMain)</name>
<message>
@@ -902,7 +908,7 @@
<source>MythTV Frontend</source>
<comment>Main window title</comment>
<translation>MythTV Frontend</translation>
-@@ -2180,7 +2191,7 @@
+@@ -2180,7 +2183,7 @@
<message>
<location filename="../libs/libmythbase/storagegroup.cpp" line="35"/>
<source>MusicArt</source>
@@ -911,7 +917,7 @@
</message>
</context>
<context>
-@@ -2215,48 +2226,48 @@
+@@ -2215,48 +2218,48 @@
<context>
<name>(mythcommflag)</name>
<message>
@@ -976,7 +982,7 @@
</message>
<message>
<location filename="../programs/mythcommflag/main.cpp" line="420"/>
-@@ -2274,7 +2285,7 @@
+@@ -2274,7 +2277,7 @@
<location filename="../programs/mythcommflag/main.cpp" line="1211"/>
<source>Failed with exit status %1</source>
<comment>Job status</comment>
@@ -985,7 +991,7 @@
</message>
<message numerus="yes">
<location filename="../programs/mythcommflag/main.cpp" line="1217"/>
-@@ -2282,347 +2293,357 @@
+@@ -2282,347 +2285,357 @@
<source>%n commercial break(s)</source>
<comment>Job status</comment>
<translation>
@@ -1000,13 +1006,13 @@
<name>ASIConfigurationGroup</name>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1963"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1978"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1981"/>
<source>Not a valid DVEO ASI card</source>
<translation>Not a valid DVEO ASI card</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1968"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1983"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1986"/>
<source>Valid DVEO ASI card</source>
- <translation>Valid DVEO ASI card</translation>
+ <translation>Valid DVEO ASI Card</translation>
@@ -1446,7 +1452,7 @@
<source>Localization</source>
<translation>Localization</translation>
</message>
-@@ -2630,350 +2651,491 @@
+@@ -2630,350 +2643,491 @@
<context>
<name>AudioAdvancedSettings</name>
<message>
@@ -1738,7 +1744,8 @@
- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="510"/>
+ <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="484"/>
<source>Enable if your amplifier or sound decoder supports DTS. You must use a digital connection. Uncheck if using an analog connection</source>
- <translation>Enable if your amplifier or sound decoder supports DTS. You must use a digital connection. Uncheck if using an analog connection</translation>
+- <translation>Enable if your amplifier or sound decoder supports DTS. You must use a digital connection. Uncheck if using an analog connection</translation>
++ <translation>Enable if your amplifier or sound decoder supports DTS. You must use a digital connection. Uncheck if using an analog connection.</translation>
</message>
<message>
- <location filename="../programs/mythfrontend/audiogeneralsettings.cpp" line="520"/>
@@ -2048,7 +2055,7 @@
</message>
</context>
<context>
-@@ -2981,29 +3143,29 @@
+@@ -2981,29 +3135,29 @@
<message>
<location filename="../libs/libmyth/audio/audiooutput.cpp" line="325"/>
<source>Invalid or unuseable audio device</source>
@@ -2083,7 +2090,7 @@
</message>
<message>
<location filename="../libs/libmyth/audio/audiooutput.cpp" line="476"/>
-@@ -3013,7 +3175,7 @@
+@@ -3013,7 +3167,7 @@
<message>
<location filename="../libs/libmyth/audio/audiooutput.cpp" line="507"/>
<source>CoreAudio default output</source>
@@ -2092,34 +2099,34 @@
</message>
<message>
<location filename="../libs/libmyth/audio/audiooutput.cpp" line="556"/>
-@@ -3072,22 +3234,22 @@
+@@ -3072,22 +3226,22 @@
<message>
<location filename="../libs/libmyth/audio/audiooutputjack.cpp" line="181"/>
<source>Error while registering new jack port: %1</source>
- <translation>Error while registering new jack port: %1</translation>
-+ <translation>ERROR: While registering new jack port: %1</translation>
++ <translation>ERROR: Registering new jack port: %1</translation>
</message>
<message>
<location filename="../libs/libmyth/audio/audiooutputjack.cpp" line="202"/>
<source>Error. Unable to set process callback?!</source>
- <translation>Error. Unable to set process callback?!</translation>
-+ <translation>ERROR: Unable to set process callback?!</translation>
++ <translation>ERROR: Unable to set process callback!</translation>
</message>
<message>
<location filename="../libs/libmyth/audio/audiooutputjack.cpp" line="204"/>
<source>Error. Unable to set xrun callback?!</source>
- <translation>Error. Unable to set xrun callback?!</translation>
-+ <translation>ERROR: Unable to set xrun callback?!</translation>
++ <translation>ERROR: Unable to set xrun callback!</translation>
</message>
<message>
<location filename="../libs/libmyth/audio/audiooutputjack.cpp" line="206"/>
<source>Error. Unable to set graph order change callback?!</source>
- <translation>Error. Unable to set graph order change callback?!</translation>
-+ <translation>ERROR: Unable to set graph order change callback?!</translation>
++ <translation>ERROR: Unable to set graph order change callback!</translation>
</message>
<message>
<location filename="../libs/libmyth/audio/audiooutputjack.cpp" line="211"/>
-@@ -3103,7 +3265,7 @@
+@@ -3103,7 +3257,7 @@
<message>
<location filename="../libs/libmyth/audio/audiooutputjack.cpp" line="634"/>
<source>Error closing Jack output device. Error: %1</source>
@@ -2128,7 +2135,7 @@
</message>
</context>
<context>
-@@ -3129,7 +3291,7 @@
+@@ -3129,7 +3283,7 @@
<message>
<location filename="../programs/mythfrontend/setupwizard_audio.cpp" line="94"/>
<source>Select from one of the audio devices detected on your system. When satisfied, you can test audio before moving on. If you fail to configure audio, video playback may fail as well.</source>
@@ -2137,7 +2144,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/setupwizard_audio.cpp" line="99"/>
-@@ -3139,27 +3301,27 @@
+@@ -3139,27 +3293,27 @@
<message>
<location filename="../programs/mythfrontend/setupwizard_audio.cpp" line="103"/>
<source>Select this checkbox if your receiver is capable of playing DTS.</source>
@@ -2170,7 +2177,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/setupwizard_audio.cpp" line="115"/>
-@@ -3185,10 +3347,10 @@
+@@ -3185,10 +3339,10 @@
<message>
<location filename="../programs/mythfrontend/setupwizard_audio.cpp" line="128"/>
<source>Discovering audio devices...</source>
@@ -2183,7 +2190,7 @@
<source>Stop Speaker Test</source>
<translation>Stop Speaker Test</translation>
</message>
-@@ -3196,88 +3358,130 @@
+@@ -3196,88 +3350,130 @@
<context>
<name>AudioTest</name>
<message>
@@ -2337,7 +2344,7 @@
<source>Audio device is invalid or not useable.</source>
<translation>Audio device is invalid or not useable.</translation>
</message>
-@@ -3285,7 +3489,7 @@
+@@ -3285,7 +3481,7 @@
<context>
<name>AudioTestThread</name>
<message>
@@ -2346,7 +2353,7 @@
<source>Unable to create AudioOutput.</source>
<translation>Unable to create AudioOutput.</translation>
</message>
-@@ -3293,7 +3497,7 @@
+@@ -3293,7 +3489,7 @@
<context>
<name>BDInfo</name>
<message>
@@ -2355,7 +2362,7 @@
<source>Could not open Blu-ray device: %1</source>
<translation>Could not open Blu-ray device: %1</translation>
</message>
-@@ -3301,29 +3505,29 @@
+@@ -3301,29 +3497,29 @@
<context>
<name>BDRingBuffer</name>
<message>
@@ -2394,34 +2401,41 @@
</message>
</context>
<context>
-@@ -3336,159 +3540,162 @@
+@@ -3336,159 +3532,172 @@
<message>
<location filename="../libs/libmyth/backendselect.cpp" line="358"/>
<source>Please enter the backend access PIN</source>
- <translation>Please enter the backend access PIN</translation>
+ <translation>Please enter the backend access PIN:</translation>
++ </message>
++</context>
++<context>
++ <name>BackendSettings</name>
++ <message>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="129"/>
++ <source>Listen on All IP Addresses</source>
++ <translation>Listen on All IP Addresses</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="131"/>
++ <source>Allow this backend to receive connections on any IP Address assigned to it. Recommended for most users for ease and reliability.</source>
++ <translation>Allow this backend to receive connections on any IP Address assigned to it. Recommended for most users for ease and reliability.</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="884"/>
++ <source>Host Address Backend Setup</source>
++ <translation>Host Address Backend Setup</translation>
</message>
</context>
<context>
-- <name>BookmarkDialog</name>
-+ <name>BackendSettings</name>
+ <name>BookmarkDialog</name>
<message>
- <location filename="../programs/mythfrontend/main.cpp" line="205"/>
-- <source>DVD/Video contains a bookmark</source>
-- <translation>DVD/Video contains a bookmark</translation>
-- </message>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="883"/>
-+ <source>Host Address Backend Setup</source>
-+ <translation>Host Address Backend Setup</translation>
-+ </message>
-+</context>
-+<context>
-+ <name>BookmarkDialog</name>
-+ <message>
+ <location filename="../programs/mythfrontend/main.cpp" line="213"/>
-+ <source>DVD/Video contains a bookmark</source>
+ <source>DVD/Video contains a bookmark</source>
+- <translation>DVD/Video contains a bookmark</translation>
+ <translation>DVD/Video Contains a Bookmark</translation>
-+ </message>
+ </message>
<message>
- <location filename="../programs/mythfrontend/main.cpp" line="206"/>
+ <location filename="../programs/mythfrontend/main.cpp" line="214"/>
@@ -2441,19 +2455,20 @@
<name>CaptureCardEditor</name>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3752"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3741"/>
+- <source>Capture cards</source>
+- <translation>Capture cards</translation>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3751"/>
+ <source>New capture card</source>
+ <translation>New Capture Card</translation>
+ </message>
+ <message>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3773"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3783"/>
+ <source>Error getting list of cards for this host. Unable to delete capturecards for %1</source>
+ <translation>Error getting list of cards for this host. Unable to delete capture cards for %1.</translation>
+ </message>
+ <message>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3790"/>
- <source>Capture cards</source>
-- <translation>Capture cards</translation>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3800"/>
++ <source>Capture cards</source>
+ <translation>Capture Cards</translation>
</message>
<message>
@@ -2476,7 +2491,7 @@
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3815"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3721"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3731"/>
<source>Are you sure you want to delete ALL capture cards on %1?</source>
<translation>Are you sure you want to delete ALL capture cards on %1?</translation>
</message>
@@ -2509,7 +2524,7 @@
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3850"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3731"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3741"/>
<source>Are you sure you want to delete ALL capture cards?</source>
<translation>Are you sure you want to delete ALL capture cards?</translation>
</message>
@@ -2530,33 +2545,33 @@
<name>CardInput</name>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3456"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3346"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3356"/>
<source>Scan for channels</source>
- <translation>Scan for channels</translation>
+ <translation>Scan for Channels</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3458"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3380"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3390"/>
<source>Use channel scanner to find channels for this input.</source>
<translation>Use channel scanner to find channels for this input.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3460"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3347"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3357"/>
<source>Fetch channels from listings source</source>
- <translation>Fetch channels from listings source</translation>
+ <translation>Fetch Channels from Listings Source</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3462"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3383"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3393"/>
<source>This uses the listings data source to provide the channels for this input.</source>
<translation>This uses the listings data source to provide the channels for this input.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3464"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3385"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3395"/>
<source>This can take a long time to run.</source>
<translation>This can take a long time to run.</translation>
</message>
@@ -2568,7 +2583,7 @@
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3546"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3473"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3483"/>
<source>Enter new group name</source>
- <translation>Enter new group name</translation>
+ <translation>Enter group name:</translation>
@@ -2582,14 +2597,14 @@
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3555"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3489"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3499"/>
<source>Sorry, this Input Group name cannot be blank.</source>
- <translation>Sorry, this Input Group name cannot be blank.</translation>
+ <translation>Sorry, the name cannot be blank.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3578"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3509"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3519"/>
<source>Sorry, this Input Group name is already in use.</source>
- <translation>Sorry, this Input Group name is already in use.</translation>
+ <translation>Sorry, this name is already in use.</translation>
@@ -2599,7 +2614,7 @@
<name>CardInputEditor</name>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3987"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3858"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3868"/>
<source>Input connections</source>
- <translation>Input connections</translation>
+ <translation>Input Connections</translation>
@@ -2609,22 +2624,22 @@
<name>CetonConfigurationGroup</name>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2426"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2381"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2384"/>
<source>Description</source>
<translation>Description</translation>
</message>
-@@ -3496,141 +3703,147 @@
+@@ -3496,141 +3705,146 @@
<context>
<name>CetonDeviceID</name>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2377"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2338"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2341"/>
<source>Device ID</source>
<translation>Device ID</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2378"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2339"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2342"/>
<source>Device ID of Ceton device</source>
- <translation>Device ID of Ceton device</translation>
+ <translation>Device ID of Ceton Tuner</translation>
@@ -2649,10 +2664,9 @@
+ <name>ChannelCheckBoxSetting</name>
<message>
- <location filename="../libs/libmythtv/channelgroupsettings.cpp" line="92"/>
-+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4367"/>
<source>Select/Unselect channels for this channel group</source>
- <translation>Select/Unselect channels for this channel group</translation>
-+ <translation>Select/Unselect Channels for this Channel Group</translation>
++ <translation type="vanished">Select channels for this channel group.</translation>
</message>
</context>
<context>
@@ -2802,7 +2816,7 @@
</message>
</context>
<context>
-@@ -3644,87 +3857,105 @@
+@@ -3644,87 +3858,110 @@
<context>
<name>ChannelGroupConfig</name>
<message>
@@ -2901,6 +2915,11 @@
- <translation>Default channel group to be shown in the EPG. Pressing GUIDE key will toggle channel group.</translation>
+ <translation>Default channel group to be shown in the EPG. Pressing GUIDE key will toggle channel group.</translation>
+ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4367"/>
++ <source>Select/Unselect channels for this channel group</source>
++ <translation>Select channels for this channel group.</translation>
++ </message>
+</context>
+<context>
+ <name>ChannelGroupsSetting</name>
@@ -2939,7 +2958,7 @@
<source>Channel Importer</source>
<translation>Channel Importer</translation>
</message>
-@@ -3732,8 +3963,8 @@
+@@ -3732,8 +3969,8 @@
<location filename="../libs/libmythtv/channelscan/channelimporter.cpp" line="49"/>
<source>Found %n channel(s)</source>
<translation>
@@ -2950,7 +2969,7 @@
</translation>
</message>
<message>
-@@ -3800,7 +4031,7 @@
+@@ -3800,7 +4037,7 @@
</translation>
</message>
<message numerus="yes">
@@ -2959,7 +2978,7 @@
<source>Found %n transport(s):
</source>
<extracomment>%n is the number of transports</extracomment>
-@@ -3812,148 +4043,159 @@
+@@ -3812,148 +4049,159 @@
</translation>
</message>
<message>
@@ -3171,7 +3190,7 @@
<source>Please enter a non-conflicting channel number (or type &apos;%1&apos; to skip, &apos;%2&apos; to skip all): </source>
<extracomment>%1 is the translation of &quot;cancel&quot;, %2 of &quot;cancel all&quot;</extracomment>
<translation>Please enter a non-conflicting channel number (or type &apos;%1&apos; to skip, &apos;%2&apos; to skip all): </translation>
-@@ -3978,32 +4220,32 @@
+@@ -3978,32 +4226,32 @@
<location filename="../libs/libmythtv/channelscan/channelscanner.cpp" line="192"/>
<location filename="../libs/libmythtv/channelscan/channelscanner.cpp" line="225"/>
<source>Error tuning to transport</source>
@@ -3210,7 +3229,7 @@
</message>
<message>
<location filename="../libs/libmythtv/channelscan/channelscanner.cpp" line="375"/>
-@@ -4013,7 +4255,7 @@
+@@ -4013,7 +4261,7 @@
<message>
<location filename="../libs/libmythtv/channelscan/channelscanner.cpp" line="454"/>
<source>Programmer Error: Channel not created</source>
@@ -3219,7 +3238,7 @@
</message>
<message>
<location filename="../libs/libmythtv/channelscan/channelscanner.cpp" line="465"/>
-@@ -4024,72 +4266,80 @@
+@@ -4024,72 +4272,80 @@
<context>
<name>ChannelScannerGUI</name>
<message>
@@ -3323,7 +3342,7 @@
</message>
</context>
<context>
-@@ -4104,7 +4354,7 @@
+@@ -4104,7 +4360,7 @@
<context>
<name>ChannelWizard</name>
<message>
@@ -3332,7 +3351,7 @@
<source>Channel Options</source>
<translation>Channel Options</translation>
</message>
-@@ -4116,7 +4366,7 @@
+@@ -4116,7 +4372,7 @@
<location filename="../libs/libmythtv/commbreakmap.cpp" line="368"/>
<source>Skip %1</source>
<extracomment>%1 is the skip time</extracomment>
@@ -3341,7 +3360,7 @@
</message>
<message>
<location filename="../libs/libmythtv/commbreakmap.cpp" line="241"/>
-@@ -4127,19 +4377,19 @@
+@@ -4127,19 +4383,19 @@
<message>
<location filename="../libs/libmythtv/commbreakmap.cpp" line="272"/>
<source>Skipping Back.</source>
@@ -3364,7 +3383,7 @@
</message>
<message>
<location filename="../libs/libmythtv/commbreakmap.cpp" line="362"/>
-@@ -4163,124 +4413,124 @@
+@@ -4163,124 +4419,124 @@
<message>
<location filename="../programs/mythfrontend/customedit.cpp" line="129"/>
<source>&lt;New rule&gt;</source>
@@ -3513,7 +3532,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/customedit.cpp" line="783"/>
-@@ -4290,82 +4540,82 @@
+@@ -4290,82 +4546,82 @@
<message>
<location filename="../programs/mythfrontend/customedit.cpp" line="787"/>
<source>Power Search rules cannot include semicolon ( ; ) </source>
@@ -3612,41 +3631,41 @@
</message>
<message>
<location filename="../programs/mythfrontend/customedit.cpp" line="507"/>
-@@ -4375,7 +4625,7 @@
+@@ -4375,7 +4631,7 @@
<message>
<location filename="../programs/mythfrontend/customedit.cpp" line="517"/>
<source>Multiple sports teams (complete example)</source>
- <translation>Multiple sports teams (complete example)</translation>
-+ <translation>MultipleSports Teams (complete example)</translation>
++ <translation>Multiple Sports Teams (complete example)</translation>
</message>
<message>
<location filename="../programs/mythfrontend/customedit.cpp" line="525"/>
-@@ -4590,29 +4840,28 @@
+@@ -4590,52 +4846,51 @@
<context>
<name>DVBConfigurationGroup</name>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="4124"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3976"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3986"/>
<source>Could not open card %1</source>
- <translation>Could not open card %1</translation>
+ <translation>Could Not Open Card %1</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="4125"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3977"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3987"/>
<source>Could not get card info for card %1</source>
- <translation>Could not get card info for card %1</translation>
+ <translation>Could Not Get Card Info for %1</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="4330"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="4149"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="4159"/>
<source>DiSEqC (Switch, LNB, and Rotor Configuration)</source>
<translation>DiSEqC (Switch, LNB, and Rotor Configuration)</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="4331"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="4150"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="4160"/>
<source>Input and satellite settings.</source>
<translation>Input and satellite settings.</translation>
</message>
@@ -3658,16 +3677,35 @@
</message>
</context>
<context>
-@@ -4635,7 +4884,7 @@
+ <name>DVBSignalMonitor</name>
+ <message>
+- <location filename="../libs/libmythtv/recorders/dvbsignalmonitor.cpp" line="54"/>
++ <location filename="../libs/libmythtv/recorders/dvbsignalmonitor.cpp" line="55"/>
+ <source>Bit Error Rate</source>
+ <translation>Bit Error Rate</translation>
+ </message>
<message>
- <location filename="../libs/libmythtv/recorders/dvbsignalmonitor.cpp" line="224"/>
+- <location filename="../libs/libmythtv/recorders/dvbsignalmonitor.cpp" line="56"/>
++ <location filename="../libs/libmythtv/recorders/dvbsignalmonitor.cpp" line="57"/>
+ <source>Uncorrected Blocks</source>
+ <translation>Uncorrected Blocks</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recorders/dvbsignalmonitor.cpp" line="58"/>
++ <location filename="../libs/libmythtv/recorders/dvbsignalmonitor.cpp" line="59"/>
+ <source>Rotor Progress</source>
+ <translation>Rotor Progress</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recorders/dvbsignalmonitor.cpp" line="224"/>
++ <location filename="../libs/libmythtv/recorders/dvbsignalmonitor.cpp" line="225"/>
<source>Error: stream handler died</source>
- <translation>Error: stream handler died</translation>
+ <translation>Error: Stream Handler Died</translation>
</message>
</context>
<context>
-@@ -4643,7 +4892,7 @@
+@@ -4643,7 +4898,7 @@
<message>
<location filename="../libs/libmythtv/DVD/dvdringbuffer.cpp" line="63"/>
<source>Failed to open device at %1</source>
@@ -3676,7 +3714,7 @@
</message>
</context>
<context>
-@@ -4651,227 +4900,238 @@
+@@ -4651,227 +4906,238 @@
<message>
<location filename="../libs/libmythtv/DVD/dvdringbuffer.cpp" line="474"/>
<source>Title %1 chapter %2</source>
@@ -3709,12 +3747,12 @@
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="532"/>
+ <source>Fetching of lineups failed</source>
-+ <translation>Fetching of Lineups Failed</translation>
++ <translation>Fetching Lineups Failed</translation>
+ </message>
+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="546"/>
+ <source>Fetching of lineups complete</source>
-+ <translation>Fetching of Lineups Complete</translation>
++ <translation>Fetching Lineups Complete</translation>
</message>
</context>
<context>
@@ -3988,7 +4026,7 @@
</message>
</context>
<context>
-@@ -4879,12 +5139,12 @@
+@@ -4879,12 +5145,12 @@
<message>
<location filename="../libs/libmythtv/deletemap.cpp" line="82"/>
<source>(Nothing to undo)</source>
@@ -4003,7 +4041,7 @@
</message>
<message>
<location filename="../libs/libmythtv/deletemap.cpp" line="99"/>
-@@ -4903,7 +5163,7 @@
+@@ -4903,7 +5169,7 @@
</message>
<message>
<location filename="../libs/libmythtv/deletemap.cpp" line="124"/>
@@ -4012,7 +4050,7 @@
<source>Delete</source>
<extracomment>Delete the current cut or preserved region</extracomment>
<translation>Delete</translation>
-@@ -4975,35 +5235,35 @@
+@@ -4975,35 +5241,35 @@
<translation>Reverse Cuts</translation>
</message>
<message>
@@ -4056,7 +4094,7 @@
<source>If enabled, move deleted recordings to the &apos;Deleted&apos; recgroup and turn on autoexpire instead of deleting immediately.</source>
<translation>If enabled, move deleted recordings to the &apos;Deleted&apos; recgroup and turn on autoexpire instead of deleting immediately.</translation>
</message>
-@@ -5011,256 +5271,258 @@
+@@ -5011,256 +5277,258 @@
<context>
<name>DemoConfigurationGroup</name>
<message>
@@ -4064,42 +4102,42 @@
<source>A local MPEG file used to simulate a recording. Must be entered as file:/path/movie.mpg</source>
- <translation>A local MPEG file used to simulate a recording. Must be entered as file:/path/movie.mpg</translation>
+ <translation type="vanished">A local MPEG file used to simulate a recording. Must be entered as file:/path/movie.mpg</translation>
-+ </message>
-+ <message>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2505"/>
-+ <source>A local MPEG file used to simulate a recording.</source>
-+ <translation></translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2560"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2512"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2508"/>
++ <source>A local MPEG file used to simulate a recording.</source>
++ <translation>A local MPEG file used to simulate a recording.</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2515"/>
<source>File info</source>
- <translation>File info</translation>
+ <translation>File Info</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2563"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2516"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2519"/>
<source>File size</source>
- <translation>File size</translation>
+ <translation>File Size</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2589"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2535"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2538"/>
<source>%1 MB</source>
<translation>%1 MB</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2592"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2538"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2541"/>
<source>File not readable</source>
- <translation>File not readable</translation>
+ <translation>File Not Readable</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2596"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2542"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2545"/>
<source>File does not exist</source>
- <translation>File does not exist</translation>
+ <translation>File Does Not Exist</translation>
@@ -4379,7 +4417,7 @@
<source>Universal (Europe)</source>
<translation>Universal (Europe)</translation>
</message>
-@@ -5275,128 +5537,132 @@
+@@ -5275,128 +5543,132 @@
<translation>The Cartesian longitude for your location. Use negative numbers for western coordinates.</translation>
</message>
<message>
@@ -4539,7 +4577,7 @@
<source>This defines the offset the frequency coming from the LNB will be in low setting. For bandstacked LNBs this is the vertical/right polarization band.</source>
<translation>This defines the offset the frequency coming from the LNB will be in low setting. For bandstacked LNBs this is the vertical/right polarization band.</translation>
</message>
-@@ -5411,77 +5677,75 @@
+@@ -5411,77 +5683,75 @@
<translation>This defines the offset the frequency coming from the LNB will be in high setting. For bandstacked LNBs this is the horizontal/left polarization band.</translation>
</message>
<message>
@@ -4632,7 +4670,7 @@
<source>DTV Device Configuration</source>
<translation>DTV Device Configuration</translation>
</message>
-@@ -5489,29 +5753,33 @@
+@@ -5489,29 +5759,33 @@
<context>
<name>EPGSettings</name>
<message>
@@ -4674,7 +4712,7 @@
</message>
</context>
<context>
-@@ -5529,12 +5797,12 @@
+@@ -5529,12 +5803,12 @@
<message>
<location filename="../programs/mythfrontend/editvideometadata.cpp" line="500"/>
<source>Enter new category</source>
@@ -4689,7 +4727,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/editvideometadata.cpp" line="663"/>
-@@ -5545,22 +5813,22 @@
+@@ -5545,22 +5819,22 @@
<message>
<location filename="../programs/mythfrontend/editvideometadata.cpp" line="682"/>
<source>Downloading selected artwork...</source>
@@ -4716,7 +4754,7 @@
</message>
</context>
<context>
-@@ -5611,7 +5879,7 @@
+@@ -5611,7 +5885,7 @@
<message>
<location filename="../programs/mythfrontend/exitprompt.cpp" line="227"/>
<source>Yes, Exit now</source>
@@ -4725,7 +4763,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/exitprompt.cpp" line="229"/>
-@@ -5644,12 +5912,12 @@
+@@ -5644,12 +5918,12 @@
<message>
<location filename="../programs/mythtv-setup/exitprompt.cpp" line="85"/>
<source>Yes please</source>
@@ -4740,48 +4778,70 @@
</message>
</context>
<context>
-@@ -5668,32 +5936,32 @@
+@@ -5668,34 +5942,51 @@
<context>
<name>ExternalConfigurationGroup</name>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2611"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2557"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2560"/>
++ <source>Command path</source>
++ <translation>Command Path</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2561"/>
<source>A &apos;black box&apos; application controlled via stdin, status on stderr and TransportStream read from stdout</source>
- <translation>A &apos;black box&apos; application controlled via stdin, status on stderr and TransportStream read from stdout</translation>
+ <translation>A &apos;black box&apos; application controlled via stdin, status on stderr and TransportStream read from stdout.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2616"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2562"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2566"/>
<source>File info</source>
- <translation>File info</translation>
+ <translation>File Info</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2638"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2582"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2589"/>
<source>&apos;%1&apos; is valid.</source>
<translation>&apos;%1&apos; is valid.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2640"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2584"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2591"/>
++ <source>WARNING: &apos;%1&apos; is not readable.</source>
++ <translation>WARNING: &apos;%1&apos; is not readable.</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2594"/>
++ <source>WARNING: &apos;%1&apos; is not executable.</source>
++ <translation>WARNING: &apos;%1&apos; is not executable.</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2599"/>
++ <source>WARNING: &apos;%1&apos; does not exist.</source>
++ <translation>WARNING: &apos;%1&apos; does not exist.</translation>
++ </message>
++ <message>
<source>&apos;%1&apos; is not readable.</source>
- <translation>&apos;%1&apos; is not readable.</translation>
+- <translation>&apos;%1&apos; is not readable.</translation>
++ <translation type="vanished">&apos;%1&apos; is not readable.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2642"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2586"/>
<source>&apos;%1&apos; is not executable.</source>
- <translation>&apos;%1&apos; is not executable.</translation>
+- <translation>&apos;%1&apos; is not executable.</translation>
++ <translation type="vanished">&apos;%1&apos; is not executable.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2646"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2590"/>
<source>&apos;%1&apos; does not exist.</source>
- <translation>&apos;%1&apos; does not exist.</translation>
+- <translation>&apos;%1&apos; does not exist.</translation>
++ <translation type="vanished">&apos;%1&apos; does not exist.</translation>
</message>
-@@ -5708,22 +5976,22 @@
+ </context>
+ <context>
+@@ -5708,22 +5999,22 @@
<message>
<location filename="../programs/mythfrontend/videofileassoc.cpp" line="375"/>
<source>The command to use when playing this kind of file. To use MythTV&apos;s Internal player, use &quot;Internal&quot; as the player. For all other players, you can use %s to substitute the filename.</source>
@@ -4808,7 +4868,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/videofileassoc.cpp" line="384"/>
-@@ -5738,7 +6006,7 @@
+@@ -5738,7 +6029,7 @@
<message>
<location filename="../programs/mythfrontend/videofileassoc.cpp" line="444"/>
<source>Enter the new extension:</source>
@@ -4817,7 +4877,7 @@
</message>
</context>
<context>
-@@ -5747,45 +6015,45 @@
+@@ -5747,45 +6038,45 @@
<location filename="../libs/libmythtv/fileringbuffer.cpp" line="304"/>
<source>Could not open %1</source>
<extracomment>%1 is the filename</extracomment>
@@ -4844,7 +4904,8 @@
+ <translation>Cannot Seek in File</translation>
</message>
<message>
- <location filename="../libs/libmythtv/fileringbuffer.cpp" line="374"/>
+- <location filename="../libs/libmythtv/fileringbuffer.cpp" line="374"/>
++ <location filename="../libs/libmythtv/fileringbuffer.cpp" line="376"/>
<source>Failed to open remote file %1</source>
<extracomment>%1 is the filename</extracomment>
- <translation>Failed to open remote file %1</translation>
@@ -4871,12 +4932,12 @@
<source>Complete</source>
<translation>Complete</translation>
</message>
-@@ -5793,15 +6061,88 @@
+@@ -5793,15 +6084,88 @@
<context>
<name>FirewireDesc</name>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1255"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1294"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1297"/>
<source>Description</source>
<translation>Description</translation>
</message>
@@ -4951,7 +5012,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="214"/>
+ <source>Warning! This will erase settings for: hidden images, directory covers and re-orientations. You will have to set them again after re-scanning.</source>
-+ <translation>Warning! This will erase settings for: hidden images, directory covers and re-orientations. You will have to set them again after re-scanning.</translation>
++ <translation>Warning! This will erase settings for hidden images, directory covers, and re-orientations. You will have to set them again after re-scanning.</translation>
+ </message>
+</context>
+<context>
@@ -4962,7 +5023,7 @@
<source>Gallery Settings</source>
<translation>Gallery Settings</translation>
</message>
-@@ -5809,135 +6150,135 @@
+@@ -5809,135 +6173,135 @@
<context>
<name>GallerySlideView</name>
<message>
@@ -5126,7 +5187,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/galleryslideview.cpp" line="654"/>
-@@ -5950,7 +6291,7 @@
+@@ -5950,7 +6314,7 @@
<translation>Start</translation>
</message>
<message>
@@ -5135,7 +5196,7 @@
<source>End</source>
<extracomment>Slideshow has reached last slide</extracomment>
<translation>End</translation>
-@@ -5959,12 +6300,12 @@
+@@ -5959,12 +6323,12 @@
<context>
<name>GalleryThumbView</name>
<message>
@@ -5150,7 +5211,7 @@
<source>No images found.
Scan storage group using menu,
or insert/mount local media.
-@@ -5975,477 +6316,477 @@
+@@ -5975,477 +6339,477 @@
</translation>
</message>
<message>
@@ -5746,7 +5807,7 @@
<source>Import command failed.
Error: %1</source>
<translation>Import command failed.
-@@ -6455,117 +6796,117 @@
+@@ -6455,117 +6819,117 @@
<context>
<name>GeneralRecPrioritiesSettings</name>
<message>
@@ -5895,7 +5956,7 @@
<source>Accessibility Options</source>
<translation>Accessibility Options</translation>
</message>
-@@ -6573,270 +6914,271 @@
+@@ -6573,270 +6937,271 @@
<context>
<name>GeneralSettings</name>
<message>
@@ -6250,7 +6311,7 @@
<source>General (Channel Groups)</source>
<translation>General (Channel Groups)</translation>
</message>
-@@ -6866,7 +7208,7 @@
+@@ -6866,7 +7231,7 @@
<message>
<location filename="../programs/mythfrontend/setupwizard_general.cpp" line="66"/>
<source>Exit this wizard, save no changes.</source>
@@ -6259,7 +6320,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/setupwizard_general.cpp" line="133"/>
-@@ -6876,7 +7218,7 @@
+@@ -6876,7 +7241,7 @@
<message>
<location filename="../programs/mythfrontend/setupwizard_general.cpp" line="151"/>
<source>Submitting your hardware profile...</source>
@@ -6268,7 +6329,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/setupwizard_general.cpp" line="159"/>
-@@ -6911,7 +7253,7 @@
+@@ -6911,7 +7276,7 @@
<message>
<location filename="../programs/mythfrontend/setupwizard_general.cpp" line="253"/>
<source>Deleting your hardware profile...</source>
@@ -6277,7 +6338,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/setupwizard_general.cpp" line="261"/>
-@@ -6944,12 +7286,12 @@
+@@ -6944,12 +7309,12 @@
<message>
<location filename="../programs/mythfrontend/grabbersettings.cpp" line="62"/>
<source>Save your changes and close this window.</source>
@@ -6292,7 +6353,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/grabbersettings.cpp" line="65"/>
-@@ -6959,159 +7301,159 @@
+@@ -6959,159 +7324,159 @@
<message>
<location filename="../programs/mythfrontend/grabbersettings.cpp" line="76"/>
<source>Searching for data sources...</source>
@@ -6328,14 +6389,15 @@
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1102"/>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1924"/>
+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1107"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1940"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1942"/>
<source>Change to Channel</source>
<translation>Change to Channel</translation>
</message>
<message>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1104"/>
+- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1928"/>
+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1109"/>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1928"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1930"/>
<source>Watch This Channel</source>
<translation>Watch This Channel</translation>
</message>
@@ -6343,7 +6405,7 @@
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1106"/>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1920"/>
+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1111"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1936"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1938"/>
<source>Record This</source>
<translation>Record This</translation>
</message>
@@ -6353,7 +6415,7 @@
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1961"/>
+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1113"/>
+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1143"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1971"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1973"/>
<source>Recording Options</source>
<translation>Recording Options</translation>
</message>
@@ -6361,7 +6423,7 @@
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1112"/>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1965"/>
+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1117"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1975"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1977"/>
<source>Jump to Time</source>
<translation>Jump to Time</translation>
</message>
@@ -6369,7 +6431,7 @@
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1116"/>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1944"/>
+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1121"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1954"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1956"/>
<source>Channel Search</source>
<translation>Channel Search</translation>
</message>
@@ -6377,7 +6439,7 @@
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1151"/>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1972"/>
+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1156"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1982"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1984"/>
<source>Edit Recording Status</source>
<translation>Edit Recording Status</translation>
</message>
@@ -6385,7 +6447,7 @@
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1152"/>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1976"/>
+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1157"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1986"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1988"/>
<source>Edit Schedule</source>
<translation>Edit Schedule</translation>
</message>
@@ -6393,7 +6455,7 @@
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1154"/>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1984"/>
+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1159"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1994"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1996"/>
<source>Previously Recorded</source>
<translation>Previously Recorded</translation>
</message>
@@ -6402,17 +6464,17 @@
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1863"/>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="2235"/>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="2236"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1704"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1871"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2242"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2243"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1706"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1873"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2244"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2245"/>
<source>Unknown</source>
<comment>Unknown program title</comment>
<translation>Unknown</translation>
</message>
<message>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="2730"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2737"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2739"/>
<source>Jump to a specific date and time in the guide</source>
- <translation>Jump to a specific date and time in the guide</translation>
+ <translation>Jump to a Specific Date and Time in the Guide</translation>
@@ -6421,7 +6483,7 @@
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1110"/>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1934"/>
+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1115"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1944"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1946"/>
<source>Program Details</source>
<translation>Program Details</translation>
</message>
@@ -6429,7 +6491,7 @@
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1153"/>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1980"/>
+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1158"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1990"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1992"/>
<source>Show Upcoming</source>
<translation>Show Upcoming</translation>
</message>
@@ -6437,7 +6499,7 @@
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1155"/>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1988"/>
+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1160"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1998"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2000"/>
<source>Custom Edit</source>
<translation>Custom Edit</translation>
</message>
@@ -6445,7 +6507,7 @@
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1158"/>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1992"/>
+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1163"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2002"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2004"/>
<source>Delete Rule</source>
<translation>Delete Rule</translation>
</message>
@@ -6453,7 +6515,7 @@
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1114"/>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1938"/>
+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1119"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1948"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1950"/>
<source>Reverse Channel Order</source>
<translation>Reverse Channel Order</translation>
</message>
@@ -6461,7 +6523,7 @@
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1123"/>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1948"/>
+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1128"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1958"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1960"/>
<source>Add To Channel Group</source>
- <translation>Add To Channel Group</translation>
+ <translation>Add to Channel Group</translation>
@@ -6470,7 +6532,7 @@
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1125"/>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1953"/>
+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1130"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1963"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1965"/>
<source>Remove from Channel Group</source>
<translation>Remove from Channel Group</translation>
</message>
@@ -6478,55 +6540,55 @@
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1120"/>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="1957"/>
+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1125"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1967"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="1969"/>
<source>Choose Channel Group</source>
<translation>Choose Channel Group</translation>
</message>
<message>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="2289"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2296"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2298"/>
<source>You don&apos;t have any channel groups defined</source>
<translation>You don&apos;t have any channel groups defined</translation>
</message>
<message>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="2303"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2310"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2312"/>
<source>Select Channel Group</source>
<translation>Select Channel Group</translation>
</message>
<message>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="2588"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2595"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2597"/>
<source>Delete &apos;%1&apos; %2 rule?</source>
<translation>Delete &apos;%1&apos; %2 rule?</translation>
</message>
-@@ -7119,12 +7461,12 @@
+@@ -7119,12 +7484,12 @@
<context>
<name>HDHomeRunConfigurationGroup</name>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2067"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2074"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2077"/>
<source>Description</source>
<translation>Description</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2082"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2089"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2092"/>
<source>Recording Options</source>
<translation>Recording Options</translation>
</message>
-@@ -7132,22 +7474,22 @@
+@@ -7132,22 +7497,22 @@
<context>
<name>HDHomeRunDeviceID</name>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1415"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1441"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1444"/>
<source>Device ID</source>
<translation>Device ID</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1416"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1442"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1445"/>
<source>Device ID of HDHomeRun device</source>
- <translation>Device ID of HDHomeRun device</translation>
+ <translation>Device ID of HDHomeRun Device</translation>
@@ -6538,32 +6600,32 @@
- <location filename="../libs/libmythtv/videosource.cpp" line="1509"/>
- <location filename="../libs/libmythtv/videosource.cpp" line="1565"/>
- <location filename="../libs/libmythtv/videosource.cpp" line="1575"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1538"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1596"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1606"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1541"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1599"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1609"/>
<source>Manually Enter IP Address</source>
<translation>Manually Enter IP Address</translation>
</message>
-@@ -7155,122 +7497,122 @@
+@@ -7155,122 +7520,122 @@
<context>
<name>HDPVRConfigurationGroup</name>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2662"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2608"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2618"/>
<source>Probed info</source>
- <translation>Probed info</translation>
+ <translation>Probed Info</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2679"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2626"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2636"/>
<source>Failed to open</source>
- <translation>Failed to open</translation>
+ <translation>Failed to Open</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2685"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2632"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2642"/>
<source>Failed to probe</source>
- <translation>Failed to probe</translation>
+ <translation>Failed to Probe</translation>
@@ -6590,7 +6652,7 @@
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="5549"/>
<source>The program is able to auto-expire</source>
- <translation>The program is able to auto-expire</translation>
-+ <translation>Program Is Set to Auto-expire</translation>
++ <translation>Program is Set to Auto-expire</translation>
</message>
<message>
- <location filename="../programs/mythfrontend/playbackbox.cpp" line="5519"/>
@@ -6702,7 +6764,7 @@
</message>
</context>
<context>
-@@ -7296,7 +7638,7 @@
+@@ -7296,7 +7661,7 @@
<message>
<location filename="../html/htmlstrings.h" line="24"/>
<source>Package installed</source>
@@ -6711,7 +6773,7 @@
</message>
<message>
<location filename="../html/htmlstrings.h" line="25"/>
-@@ -7747,7 +8089,7 @@
+@@ -7747,7 +8112,7 @@
<message>
<location filename="../html/htmlstrings.h" line="163"/>
<source>Use Link-Local</source>
@@ -6720,7 +6782,7 @@
</message>
<message>
<location filename="../html/htmlstrings.h" line="165"/>
-@@ -8060,7 +8402,7 @@
+@@ -8060,7 +8425,7 @@
<message>
<location filename="../html/htmlstrings.h" line="240"/>
<source>Auto-Expire</source>
@@ -6729,7 +6791,7 @@
</message>
<message>
<location filename="../html/htmlstrings.h" line="241"/>
-@@ -8080,7 +8422,7 @@
+@@ -8080,7 +8445,7 @@
<message>
<location filename="../html/htmlstrings.h" line="245"/>
<source>Delete and Re-Record</source>
@@ -6738,7 +6800,7 @@
</message>
<message>
<location filename="../html/htmlstrings.h" line="246"/>
-@@ -8165,7 +8507,7 @@
+@@ -8165,7 +8530,7 @@
<message>
<location filename="../html/htmlstrings.h" line="272"/>
<source>Allow Auto-Expire</source>
@@ -6747,7 +6809,7 @@
</message>
<message>
<location filename="../html/htmlstrings.h" line="275"/>
-@@ -8449,7 +8791,7 @@
+@@ -8449,7 +8814,7 @@
<message>
<location filename="../html/htmlstrings.h" line="12"/>
<source>Loading ...</source>
@@ -6756,7 +6818,7 @@
</message>
<message>
<location filename="../html/htmlstrings.h" line="14"/>
-@@ -8661,7 +9003,7 @@
+@@ -8661,7 +9026,7 @@
<message>
<location filename="../libs/libmythtv/channelscan/iptvchannelfetcher.cpp" line="335"/>
<source>Encountered malformed channel</source>
@@ -6765,52 +6827,52 @@
</message>
</context>
<context>
-@@ -8691,34 +9033,34 @@
+@@ -8691,34 +9056,34 @@
<context>
<name>ImportConfigurationGroup</name>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1980"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1996"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1999"/>
<source>A local file used to simulate a recording. Leave empty to use MythEvents to trigger an external program to import recording files.</source>
<translation>A local file used to simulate a recording. Leave empty to use MythEvents to trigger an external program to import recording files.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1988"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2004"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2007"/>
<source>File info</source>
- <translation>File info</translation>
+ <translation>File Info</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1991"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2008"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2011"/>
<source>File size</source>
- <translation>File size</translation>
+ <translation>File Size</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2014"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2032"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2035"/>
<source>%1 MB</source>
<translation>%1 MB</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2017"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2035"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2038"/>
<source>File not readable</source>
- <translation>File not readable</translation>
+ <translation>File Not Readable</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2021"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2039"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2042"/>
<source>File %1 does not exist</source>
- <translation>File %1 does not exist</translation>
+ <translation>File %1 Does Not Exist</translation>
</message>
</context>
<context>
-@@ -8726,27 +9068,27 @@
+@@ -8726,27 +9091,27 @@
<message>
<location filename="../programs/mythtv-setup/importicons.cpp" line="94"/>
<source>Name of the icon file</source>
@@ -6843,7 +6905,7 @@
</message>
<message>
<location filename="../programs/mythtv-setup/importicons.cpp" line="139"/>
-@@ -8761,7 +9103,7 @@
+@@ -8761,7 +9126,7 @@
<message>
<location filename="../programs/mythtv-setup/importicons.cpp" line="173"/>
<source>No matches found for &quot;%1&quot;</source>
@@ -6852,7 +6914,7 @@
</message>
<message>
<location filename="../programs/mythtv-setup/importicons.cpp" line="411"/>
-@@ -8772,7 +9114,7 @@
+@@ -8772,7 +9137,7 @@
<message>
<location filename="../programs/mythtv-setup/importicons.cpp" line="483"/>
<source>No matches found for %1</source>
@@ -6861,7 +6923,7 @@
</message>
<message>
<location filename="../programs/mythtv-setup/importicons.cpp" line="218"/>
-@@ -8787,12 +9129,12 @@
+@@ -8787,12 +9152,12 @@
<message>
<location filename="../programs/mythtv-setup/importicons.cpp" line="319"/>
<source>Initializing, please wait...</source>
@@ -6876,7 +6938,7 @@
</message>
<message numerus="yes">
<location filename="../programs/mythtv-setup/importicons.cpp" line="423"/>
-@@ -8805,20 +9147,20 @@
+@@ -8805,20 +9170,20 @@
<message>
<location filename="../programs/mythtv-setup/importicons.cpp" line="479"/>
<source>Choose icon for channel %1</source>
@@ -6901,7 +6963,7 @@
<source>Icon choices submitted successfully.</source>
<translation>Icon choices submitted successfully.</translation>
</message>
-@@ -8826,17 +9168,17 @@
+@@ -8826,17 +9191,17 @@
<context>
<name>ImportSettings</name>
<message>
@@ -6922,7 +6984,7 @@
<source>Command/script that can be run from the menu.
%TMPDIR% will be replaced by a new temporary directory, which the import dialog will show automatically. The directory will be removed when Gallery exits.</source>
<translation>Command/script that can be run from the menu.
-@@ -8877,7 +9219,7 @@
+@@ -8877,7 +9242,7 @@
<message>
<location filename="../programs/mythfrontend/galleryinfo.cpp" line="168"/>
<source>Dir size</source>
@@ -6931,7 +6993,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/galleryinfo.cpp" line="176"/>
-@@ -8913,7 +9255,7 @@
+@@ -8913,7 +9278,7 @@
<message>
<location filename="../programs/mythfrontend/galleryinfo.cpp" line="243"/>
<source>Last scan</source>
@@ -6940,7 +7002,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/galleryinfo.cpp" line="251"/>
-@@ -8923,7 +9265,7 @@
+@@ -8923,7 +9288,7 @@
<message>
<location filename="../programs/mythfrontend/galleryinfo.cpp" line="257"/>
<source>File size</source>
@@ -6949,22 +7011,21 @@
</message>
<message>
<location filename="../programs/mythfrontend/galleryinfo.cpp" line="258"/>
-@@ -8940,6 +9282,14 @@
+@@ -8940,6 +9305,13 @@
</message>
</context>
<context>
+ <name>IpAddressSettings</name>
+ <message>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="131"/>
+ <source>Allow this backend to receive connections on any IP Address assigned to it. Recommended for most users for ease and reliability.</source>
-+ <translation>Allow this backend to receive connections on any IP Address assigned to it. Recommended for most users for ease and reliability.</translation>
++ <translation type="vanished">Allow this backend to receive connections on any IP Address assigned to it. Recommended for most users for ease and reliability.</translation>
+ </message>
+</context>
+<context>
<name>JobQueue</name>
<message>
<location filename="../libs/libmythtv/jobqueue.cpp" line="1109"/>
-@@ -8954,7 +9304,7 @@
+@@ -8954,7 +9326,7 @@
<message>
<location filename="../libs/libmythtv/jobqueue.cpp" line="1111"/>
<source>Look up Metadata</source>
@@ -6973,7 +7034,7 @@
</message>
<message>
<location filename="../libs/libmythtv/jobqueue.cpp" line="1121"/>
-@@ -8969,12 +9319,12 @@
+@@ -8969,12 +9341,12 @@
<message>
<location filename="../libs/libmythtv/jobqueue.cpp" line="1678"/>
<source>Unable to retrieve program info from database</source>
@@ -6988,7 +7049,7 @@
</message>
<message>
<location filename="../libs/libmythtv/jobqueue.cpp" line="1733"/>
-@@ -8989,7 +9339,7 @@
+@@ -8989,7 +9361,7 @@
<message>
<location filename="../libs/libmythtv/jobqueue.cpp" line="2028"/>
<source>Finished.</source>
@@ -6997,7 +7058,7 @@
</message>
<message>
<location filename="../libs/libmythtv/jobqueue.cpp" line="2040"/>
-@@ -9005,12 +9355,12 @@
+@@ -9005,12 +9377,12 @@
<message>
<location filename="../libs/libmythtv/jobqueue.cpp" line="2096"/>
<source>Retry limit exceeded</source>
@@ -7012,7 +7073,7 @@
</message>
<message>
<location filename="../libs/libmythtv/jobqueue.cpp" line="2155"/>
-@@ -9020,12 +9370,12 @@
+@@ -9020,12 +9392,12 @@
<message>
<location filename="../libs/libmythtv/jobqueue.cpp" line="2181"/>
<source>Unable to find mythmetadatalookup</source>
@@ -7027,7 +7088,7 @@
</message>
<message>
<location filename="../libs/libmythtv/jobqueue.cpp" line="2211"/>
-@@ -9036,7 +9386,7 @@
+@@ -9036,7 +9408,7 @@
<message>
<location filename="../libs/libmythtv/jobqueue.cpp" line="2273"/>
<source>Could not open new database connection for commercial detector.</source>
@@ -7036,7 +7097,7 @@
</message>
<message>
<location filename="../libs/libmythtv/jobqueue.cpp" line="2280"/>
-@@ -9046,7 +9396,7 @@
+@@ -9046,7 +9418,7 @@
<message>
<location filename="../libs/libmythtv/jobqueue.cpp" line="2318"/>
<source>Unable to find mythcommflag</source>
@@ -7045,7 +7106,7 @@
</message>
<message>
<location filename="../libs/libmythtv/jobqueue.cpp" line="2440"/>
-@@ -9061,32 +9411,32 @@
+@@ -9061,32 +9433,32 @@
<message>
<location filename="../libs/libmythtv/jobqueue.cpp" line="2464"/>
<source>Successfully Completed.</source>
@@ -7084,7 +7145,7 @@
</translation>
</message>
<message>
-@@ -9181,43 +9531,43 @@
+@@ -9181,43 +9553,43 @@
<message>
<location filename="../programs/mythfrontend/keygrabber.cpp" line="49"/>
<source>Waiting for key press</source>
@@ -7136,7 +7197,7 @@
<source>RECORDING|</source>
<translation>RECORDING|</translation>
</message>
-@@ -9227,170 +9577,169 @@
+@@ -9227,170 +9599,169 @@
<message>
<location filename="../libs/libmyth/langsettings.cpp" line="76"/>
<source>Preferred language</source>
@@ -7352,7 +7413,7 @@
</message>
</context>
<context>
-@@ -9405,47 +9754,46 @@
+@@ -9405,47 +9776,46 @@
<location filename="../libs/libmythmetadata/lyricsdata.cpp" line="95"/>
<location filename="../libs/libmythmetadata/lyricsdata.cpp" line="230"/>
<source>No lyrics found for this track</source>
@@ -7364,21 +7425,21 @@
<name>MPEGConfigurationGroup</name>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2513"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2464"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2467"/>
<source>Probed info</source>
- <translation>Probed info</translation>
+ <translation>Probed Info</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2528"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2480"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2483"/>
<source>Failed to open</source>
- <translation>Failed to open</translation>
+ <translation>Failed to Open</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2535"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2487"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2490"/>
<source>Failed to probe</source>
- <translation>Failed to probe</translation>
+ <translation>Failed to Probe</translation>
@@ -7413,7 +7474,7 @@
<source>Video on the desktop will skip this many frames for each frame drawn. Set to 0 to show every frame.</source>
<translation>Video on the desktop will skip this many frames for each frame drawn. Set to 0 to show every frame.</translation>
</message>
-@@ -9453,23 +9801,22 @@
+@@ -9453,23 +9823,22 @@
<context>
<name>MacDockSettings</name>
<message>
@@ -7443,7 +7504,7 @@
<source>Video in the dock icon will skip this many frames for each frame drawn. Set to 0 to show every frame.</source>
<translation>Video in the dock icon will skip this many frames for each frame drawn. Set to 0 to show every frame.</translation>
</message>
-@@ -9477,33 +9824,32 @@
+@@ -9477,33 +9846,32 @@
<context>
<name>MacFloatSettings</name>
<message>
@@ -7485,7 +7546,7 @@
<source>The opacity of the floating window. Set to 100 for completely opaque, set to 0 for completely transparent.</source>
<translation>The opacity of the floating window. Set to 100 for completely opaque, set to 0 for completely transparent.</translation>
</message>
-@@ -9511,33 +9857,32 @@
+@@ -9511,33 +9879,32 @@
<context>
<name>MacMainSettings</name>
<message>
@@ -7527,7 +7588,7 @@
<source>The opacity of the main window. Set to 100 for completely opaque, set to 0 for completely transparent.</source>
<translation>The opacity of the main window. Set to 100 for completely opaque, set to 0 for completely transparent.</translation>
</message>
-@@ -9545,252 +9890,269 @@
+@@ -9545,252 +9912,269 @@
<context>
<name>MainGeneralSettings</name>
<message>
@@ -7778,14 +7839,14 @@
<source>Your iPhone, iPad, iPod Touch, or iTunes on your computer will prompt you for this password when required</source>
- <translation>Your iPhone, iPad, iPod Touch, or iTunes on your computer will prompt you for this password when required</translation>
+ <translation>Your iPhone, iPad, iPod Touch, or iTunes on your computer will prompt you for this password when required.</translation>
- </message>
- <message>
-- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3140"/>
++ </message>
++ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3137"/>
+ <source>AirPlay - Password</source>
+ <translation>AirPlay - Password</translation>
-+ </message>
-+ <message>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3140"/>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3148"/>
<source>AirPlay full screen playback</source>
- <translation>AirPlay full screen playback</translation>
@@ -7833,14 +7894,14 @@
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3325"/>
+ <source>This enables support for monitoring your CD/DVD drives for new disks and launching the proper plugin to handle them. Requires restart.</source>
+ <translation>This enables support for monitoring your CD/DVD drives for new disks and launching the proper plugin to handle them. Requires restart.</translation>
- </message>
- <message>
-- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3848"/>
++ </message>
++ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3808"/>
+ <source>Main Settings</source>
+ <translation>Main Settings</translation>
-+ </message>
-+ <message>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3848"/>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3813"/>
<source>Settings Access</source>
<translation>Settings Access</translation>
@@ -7875,7 +7936,7 @@
<source>Shutdown/Reboot Settings</source>
<translation>Shutdown/Reboot Settings</translation>
</message>
-@@ -9800,135 +10162,132 @@
+@@ -9800,135 +10184,132 @@
<message>
<location filename="../programs/mythfrontend/manualschedule.cpp" line="93"/>
<source>5 weekdays if daily</source>
@@ -8054,7 +8115,7 @@
</message>
</context>
<context>
-@@ -9961,12 +10320,12 @@
+@@ -9961,12 +10342,12 @@
<message>
<location filename="../programs/mythfrontend/videometadatasettings.cpp" line="114"/>
<source>Exit without saving settings</source>
@@ -8069,7 +8130,7 @@
</message>
</context>
<context>
-@@ -10004,7 +10363,7 @@
+@@ -10004,7 +10385,7 @@
<translation>Unknown Genre</translation>
</message>
<message>
@@ -8078,7 +8139,7 @@
<source>Never Played</source>
<translation>Never Played</translation>
</message>
-@@ -10014,7 +10373,7 @@
+@@ -10014,7 +10395,7 @@
<message>
<location filename="../libs/libmythtv/AirPlay/mythairplayserver.cpp" line="593"/>
<source>Client disconnected</source>
@@ -8087,7 +8148,7 @@
</message>
<message>
<location filename="../libs/libmythtv/AirPlay/mythairplayserver.cpp" line="593"/>
-@@ -10050,1505 +10409,1509 @@
+@@ -10050,1505 +10431,1509 @@
<context>
<name>MythControls</name>
<message>
@@ -9147,7 +9208,7 @@
+ <location filename="../libs/libmythtv/tv_play.cpp" line="953"/>
<source>Toggle OSD playback information</source>
- <translation>Toggle OSD playback information</translation>
-+ <translation>Toggle Osd Playback Information</translation>
++ <translation>Toggle OSD Playback Information</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="955"/>
@@ -9283,14 +9344,14 @@
+ <location filename="../libs/libmythtv/tv_play.cpp" line="914"/>
<source>Jump back 10x the normal amount</source>
- <translation>Jump back 10x the normal amount</translation>
-+ <translation>Jump Back 10x the Normal Amount</translation>
++ <translation>Jump Back 10x Normal</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="914"/>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="916"/>
<source>Jump forward 10x the normal amount</source>
- <translation>Jump forward 10x the normal amount</translation>
-+ <translation>Jump Forward 10x the Normal Amount</translation>
++ <translation>Jump Forward 10x Normal</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="920"/>
@@ -9594,7 +9655,7 @@
+ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1321"/>
<source>Turn the display on</source>
- <translation>Turn the display on</translation>
-+ <translation>Turn the Display on</translation>
++ <translation>Turn the Display On</translation>
</message>
<message>
- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1318"/>
@@ -9668,7 +9729,7 @@
+ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1348"/>
<source>Zoom in on browser window</source>
- <translation>Zoom in on browser window</translation>
-+ <translation>Zoom in on Browser Window</translation>
++ <translation>Zoom In on Browser Window</translation>
</message>
<message>
- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1345"/>
@@ -9682,7 +9743,7 @@
+ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1352"/>
<source>Toggle where keyboard input goes to</source>
- <translation>Toggle where keyboard input goes to</translation>
-+ <translation>Toggle Where Keyboard Input Goes to</translation>
++ <translation>Toggle Where Keyboard Input Goes To</translation>
</message>
<message>
- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1350"/>
@@ -9724,28 +9785,28 @@
+ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1366"/>
<source>Scroll down half a page</source>
- <translation>Scroll down half a page</translation>
-+ <translation>Scroll Down Half a Page</translation>
++ <translation>Scroll Down Half Page</translation>
</message>
<message>
- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1363"/>
+ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1368"/>
<source>Scroll up half a page</source>
- <translation>Scroll up half a page</translation>
-+ <translation>Scroll Up Half a Page</translation>
++ <translation>Scroll Up Half Page</translation>
</message>
<message>
- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1365"/>
+ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1370"/>
<source>Scroll left half a page</source>
- <translation>Scroll left half a page</translation>
-+ <translation>Scroll Left Half a Page</translation>
++ <translation>Scroll Left Half Page</translation>
</message>
<message>
- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1367"/>
+ <location filename="../libs/libmythui/mythmainwindow.cpp" line="1372"/>
<source>Scroll right half a page</source>
- <translation>Scroll right half a page</translation>
-+ <translation>Scroll Right Half a Page</translation>
++ <translation>Scroll Right Half Page</translation>
</message>
<message>
- <location filename="../libs/libmythui/mythmainwindow.cpp" line="1370"/>
@@ -9991,7 +10052,7 @@
+ <location filename="../programs/mythfrontend/main.cpp" line="1552"/>
<source>Zoom image in</source>
- <translation>Zoom image in</translation>
-+ <translation>Zoom Image in</translation>
++ <translation>Zoom Image In</translation>
</message>
<message>
- <location filename="../programs/mythfrontend/main.cpp" line="1462"/>
@@ -10072,7 +10133,7 @@
<source>MythImage Media Handler 2/2</source>
<translation>MythImage Media Handler 2/2</translation>
</message>
-@@ -11576,12 +11939,12 @@
+@@ -11576,12 +11961,12 @@
<message>
<location filename="../programs/mythfrontend/mythcontrols.cpp" line="234"/>
<source>Actions By Context</source>
@@ -10087,7 +10148,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/mythcontrols.cpp" line="236"/>
-@@ -11642,57 +12005,57 @@
+@@ -11642,57 +12027,57 @@
<translation>Keys</translation>
</message>
<message>
@@ -10095,7 +10156,7 @@
+ <location filename="../programs/mythwelcome/main.cpp" line="38"/>
<source>Open an Xterm window</source>
- <translation>Open an Xterm window</translation>
-+ <translation>Open an Xterm Window</translation>
++ <translation>Open Xterm Window</translation>
</message>
<message>
- <location filename="../programs/mythwelcome/main.cpp" line="39"/>
@@ -10162,7 +10223,7 @@
<source>MythDVD DVD Media Handler</source>
<translation>MythDVD DVD Media Handler</translation>
</message>
-@@ -11700,9 +12063,9 @@
+@@ -11700,9 +12085,9 @@
<context>
<name>MythCoreContext</name>
<message>
@@ -10174,7 +10235,7 @@
</message>
</context>
<context>
-@@ -11721,184 +12084,183 @@
+@@ -11721,184 +12106,183 @@
<context>
<name>MythPlayer</name>
<message>
@@ -10209,14 +10270,14 @@
+ <location filename="../libs/libmythtv/mythplayer.cpp" line="980"/>
<source>Could not find an A/V decoder</source>
- <translation>Could not find an A/V decoder</translation>
-+ <translation>Could Not Find an A/V Decoder</translation>
++ <translation>Could Not Find a Decoder</translation>
</message>
<message>
- <location filename="../libs/libmythtv/mythplayer.cpp" line="977"/>
+ <location filename="../libs/libmythtv/mythplayer.cpp" line="989"/>
<source>Could not initialize A/V decoder</source>
- <translation>Could not initialize A/V decoder</translation>
-+ <translation>Could Not Initialize A/V Decoder</translation>
++ <translation>Could Not Initialize Decoder</translation>
</message>
<message>
- <location filename="../libs/libmythtv/mythplayer.cpp" line="1002"/>
@@ -10417,7 +10478,7 @@
<source>%n second(s)</source>
<translation>
<numerusform>%n second</numerusform>
-@@ -11906,42 +12268,42 @@
+@@ -11906,42 +12290,42 @@
</translation>
</message>
<message>
@@ -10470,7 +10531,7 @@
<source>Disabled Night Mode</source>
<translation>Disabled Night Mode</translation>
</message>
-@@ -11964,7 +12326,7 @@
+@@ -11964,7 +12348,7 @@
<message>
<location filename="../libs/libmythtv/AirPlay/mythraopconnection.cpp" line="1500"/>
<source>Failed to read key from: %1</source>
@@ -10479,7 +10540,7 @@
</message>
<message>
<location filename="../libs/libmythtv/AirPlay/mythraopconnection.cpp" line="1517"/>
-@@ -12019,7 +12381,7 @@
+@@ -12019,7 +12403,7 @@
<message>
<location filename="../programs/mythwelcome/welcomesettings.cpp" line="136"/>
<source>Wakeup time format</source>
@@ -10488,7 +10549,7 @@
</message>
<message>
<location filename="../programs/mythwelcome/welcomesettings.cpp" line="139"/>
-@@ -12039,7 +12401,7 @@
+@@ -12039,7 +12423,7 @@
<message>
<location filename="../programs/mythwelcome/welcomesettings.cpp" line="163"/>
<source>Command to reboot</source>
@@ -10497,7 +10558,7 @@
</message>
<message>
<location filename="../programs/mythwelcome/welcomesettings.cpp" line="165"/>
-@@ -12049,7 +12411,7 @@
+@@ -12049,7 +12433,7 @@
<message>
<location filename="../programs/mythwelcome/welcomesettings.cpp" line="172"/>
<source>Command to shutdown</source>
@@ -10506,7 +10567,7 @@
</message>
<message>
<location filename="../programs/mythwelcome/welcomesettings.cpp" line="174"/>
-@@ -12059,7 +12421,7 @@
+@@ -12059,7 +12443,7 @@
<message>
<location filename="../programs/mythwelcome/welcomesettings.cpp" line="181"/>
<source>Command to run to start the Frontend</source>
@@ -10515,7 +10576,7 @@
</message>
<message>
<location filename="../programs/mythwelcome/welcomesettings.cpp" line="184"/>
-@@ -12069,7 +12431,7 @@
+@@ -12069,7 +12453,7 @@
<message>
<location filename="../programs/mythwelcome/welcomesettings.cpp" line="191"/>
<source>Command to run Xterm</source>
@@ -10524,7 +10585,7 @@
</message>
<message>
<location filename="../programs/mythwelcome/welcomesettings.cpp" line="193"/>
-@@ -12085,212 +12447,217 @@
+@@ -12085,212 +12469,217 @@
<context>
<name>MythSystemEventEditor</name>
<message>
@@ -10539,14 +10600,14 @@
<source>Recording pending</source>
- <translation>Recording pending</translation>
+ <translation>Recording Pending</translation>
- </message>
- <message>
-- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="385"/>
++ </message>
++ <message>
+ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="388"/>
+ <source>Recording about to fail</source>
+ <translation>Recording About to Fail</translation>
-+ </message>
-+ <message>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/mythsystemevent.cpp" line="385"/>
+ <location filename="../libs/libmythtv/mythsystemevent.cpp" line="390"/>
<source>Recording failing</source>
- <translation>Recording failing</translation>
@@ -10823,7 +10884,7 @@
</message>
</context>
<context>
-@@ -12303,12 +12670,12 @@
+@@ -12303,12 +12692,12 @@
<message>
<location filename="../libs/libmythui/myththemedmenu.cpp" line="322"/>
<source>Enter standby mode</source>
@@ -10838,7 +10899,7 @@
</message>
<message>
<location filename="../libs/libmythui/myththemedmenu.cpp" line="333"/>
-@@ -12339,12 +12706,12 @@
+@@ -12339,12 +12728,12 @@
<message>
<location filename="../libs/libmythui/myththemedmenu.cpp" line="377"/>
<source>Ok</source>
@@ -10853,7 +10914,7 @@
</message>
<message>
<location filename="../libs/libmythui/myththemedmenu.cpp" line="626"/>
-@@ -12390,8 +12757,8 @@
+@@ -12390,8 +12779,8 @@
<context>
<name>MythUISearchDialog</name>
<message numerus="yes">
@@ -10864,7 +10925,7 @@
<source>%n match(es)</source>
<translation>
<numerusform>%n match</numerusform>
-@@ -12402,76 +12769,76 @@
+@@ -12402,76 +12791,76 @@
<context>
<name>MythUIWebBrowser</name>
<message>
@@ -10965,7 +11026,7 @@
<source>Cancel</source>
<translation>Cancel</translation>
</message>
-@@ -12482,7 +12849,7 @@
+@@ -12482,7 +12871,7 @@
<location filename="../programs/mythwelcome/welcomesettings.cpp" line="14"/>
<location filename="../programs/mythwelcome/welcomesettings.cpp" line="34"/>
<source>Period %1 start time</source>
@@ -10974,7 +11035,7 @@
</message>
<message>
<location filename="../programs/mythwelcome/welcomesettings.cpp" line="15"/>
-@@ -12494,7 +12861,7 @@
+@@ -12494,7 +12883,7 @@
<location filename="../programs/mythwelcome/welcomesettings.cpp" line="24"/>
<location filename="../programs/mythwelcome/welcomesettings.cpp" line="44"/>
<source>Period %1 end time</source>
@@ -10983,7 +11044,7 @@
</message>
<message>
<location filename="../programs/mythwelcome/welcomesettings.cpp" line="25"/>
-@@ -12541,7 +12908,7 @@
+@@ -12541,7 +12930,7 @@
<location filename="../programs/mythwelcome/welcomesettings.cpp" line="96"/>
<location filename="../programs/mythwelcome/welcomesettings.cpp" line="101"/>
<source>Daily Wakeup/ShutDown Period %1</source>
@@ -10992,7 +11053,7 @@
</message>
</context>
<context>
-@@ -12570,7 +12937,7 @@
+@@ -12570,7 +12959,7 @@
<context>
<name>NetworkControl</name>
<message>
@@ -11001,7 +11062,7 @@
<source>Network Control</source>
<translation>Network Control</translation>
</message>
-@@ -12578,87 +12945,87 @@
+@@ -12578,87 +12967,87 @@
<context>
<name>OSDSettings</name>
<message>
@@ -11114,7 +11175,7 @@
<source>On-screen Display</source>
<translation>On-screen Display</translation>
</message>
-@@ -12719,7 +13086,7 @@
+@@ -12719,7 +13108,7 @@
<context>
<name>PaneATSC</name>
<message>
@@ -11123,7 +11184,7 @@
<source>Scanning Range</source>
<translation>Scanning Range</translation>
</message>
-@@ -12727,12 +13094,12 @@
+@@ -12727,12 +13116,12 @@
<context>
<name>PaneDVBUtilsImport</name>
<message>
@@ -11139,20 +11200,18 @@
<source>Location of the channels.conf file.</source>
<translation>Location of the channels.conf file.</translation>
</message>
-@@ -12802,67 +13169,80 @@
+@@ -12802,67 +13191,78 @@
</message>
</context>
<context>
+ <name>PlayBackScaling</name>
+ <message>
-+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3874"/>
+ <source>Scaling</source>
-+ <translation>Scaling</translation>
++ <translation type="vanished">Scaling</translation>
+ </message>
+ <message>
-+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3897"/>
+ <source>No scaling</source>
-+ <translation>No Scaling</translation>
++ <translation type="vanished">No Scaling</translation>
+ </message>
+</context>
+<context>
@@ -11240,7 +11299,7 @@
<source>%1 Group</source>
<comment>Play Group</comment>
<extracomment>%1 is the name of the playgroup</extracomment>
-@@ -12872,410 +13252,417 @@
+@@ -12872,631 +13272,651 @@
<context>
<name>PlayGroupEditor</name>
<message>
@@ -11553,7 +11612,7 @@
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2375"/>
<source>This recording is already being deleted</source>
- <translation>This recording is already being deleted</translation>
-+ <translation>This Recording Is Already Being Deleted</translation>
++ <translation>This Recording is Already Being Deleted</translation>
</message>
<message>
- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2450"/>
@@ -11570,7 +11629,7 @@
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2735"/>
<source>This recording is currently Available</source>
- <translation>This recording is currently Available</translation>
-+ <translation>This Recording Is Currently Available</translation>
++ <translation>This Recording is Currently Available</translation>
</message>
<message>
- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2709"/>
@@ -11593,14 +11652,14 @@
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2742"/>
<source>This recording is currently being deleted and is unavailable</source>
- <translation>This recording is currently being deleted and is unavailable</translation>
-+ <translation>This Recording Is Currently Being Deleted and Is Unavailable</translation>
++ <translation>This Recording is Currently Being Deleted and is Unavailable</translation>
</message>
<message>
- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2717"/>
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2748"/>
<source>This recording has been deleted and is unavailable</source>
- <translation>This recording has been deleted and is unavailable</translation>
-+ <translation>This Recording Has Been Deleted and Is Unavailable</translation>
++ <translation>This Recording Has Been Deleted and is Unavailable</translation>
</message>
<message>
- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2723"/>
@@ -11614,14 +11673,14 @@
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2760"/>
<source>The file for this recording is empty.</source>
- <translation>The file for this recording is empty.</translation>
-+ <translation>The File for This Recording Is Empty</translation>
++ <translation>The File for This Recording is Empty</translation>
</message>
<message>
- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2735"/>
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2766"/>
<source>This recording is not yet available.</source>
- <translation>This recording is not yet available.</translation>
-+ <translation>This Recording Is Not Yet Available</translation>
++ <translation>This Recording is Not Yet Available</translation>
</message>
<message>
- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2747"/>
@@ -11802,8 +11861,10 @@
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="2824"/>
<source>There is %n item(s) in the playlist. Actions affect all items in the playlist</source>
<translation>
- <numerusform>There is %n item in the playlist. Actions affect all items in the playlist</numerusform>
-@@ -13283,220 +13670,233 @@
+- <numerusform>There is %n item in the playlist. Actions affect all items in the playlist</numerusform>
+- <numerusform>There are %n items in the playlist. Actions affect all items in the playlist</numerusform>
++ <numerusform>There is %n item in the playlist. Actions affect all items in the playlist.</numerusform>
++ <numerusform>There are %n items in the playlist. Actions affect all items in the playlist.</numerusform>
</translation>
</message>
<message>
@@ -11846,14 +11907,14 @@
+ <numerusform>There is %n recording in this display group, which consumes %1 GiB.</numerusform>
+ <numerusform>There are %n recordings in this display group, which consume %1 GiB.</numerusform>
+ </translation>
- </message>
- <message>
-- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2996"/>
++ </message>
++ <message>
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="744"/>
+ <source>There is no recording in this display group.</source>
+ <translation>There Are No Recordings in This Display Group</translation>
-+ </message>
-+ <message>
+ </message>
+ <message>
+- <location filename="../programs/mythfrontend/playbackbox.cpp" line="2996"/>
+ <location filename="../programs/mythfrontend/playbackbox.cpp" line="3027"/>
<source>Do not preserve this episode</source>
- <translation>Do not preserve this episode</translation>
@@ -12108,7 +12169,7 @@
<source>%1 [%n item(s)]</source>
<translation>
<numerusform>%1 [%n item]</numerusform>
-@@ -13504,32 +13904,32 @@
+@@ -13504,32 +13924,32 @@
</translation>
</message>
<message>
@@ -12147,7 +12208,7 @@
<source>New Recording Group</source>
<translation>New Recording Group</translation>
</message>
-@@ -13537,18 +13937,22 @@
+@@ -13537,18 +13957,22 @@
<context>
<name>PlaybackProfileConfig</name>
<message>
@@ -12174,7 +12235,7 @@
<source>Add New Entry</source>
<translation>Add New Entry</translation>
</message>
-@@ -13556,662 +13960,798 @@
+@@ -13556,662 +13980,808 @@
<context>
<name>PlaybackProfileConfigs</name>
<message>
@@ -13066,6 +13127,16 @@
<message>
- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3909"/>
- <location filename="../programs/mythfrontend/globalsettings.cpp" line="3941"/>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3874"/>
++ <source>Scaling</source>
++ <translation>Scaling</translation>
++ </message>
++ <message>
++ <location filename="../programs/mythfrontend/globalsettings.cpp" line="3897"/>
++ <source>No scaling</source>
++ <translation>No Scaling</translation>
++ </message>
++ <message>
+ <location filename="../programs/mythfrontend/globalsettings.cpp" line="4001"/>
+ <source>Playback settings</source>
+ <translation>Playback Settings</translation>
@@ -13179,7 +13250,7 @@
</message>
</context>
<context>
-@@ -14224,12 +14764,12 @@
+@@ -14224,12 +14794,12 @@
<message>
<location filename="../programs/mythfrontend/videoplayersettings.cpp" line="92"/>
<source>This can be any command to launch a DVD player. Internal is the default. For other players, %d will be substituted for the DVD device (e.g. /dev/dvd).</source>
@@ -13194,7 +13265,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/videoplayersettings.cpp" line="101"/>
-@@ -14249,12 +14789,12 @@
+@@ -14249,12 +14819,12 @@
<message>
<location filename="../programs/mythfrontend/videoplayersettings.cpp" line="112"/>
<source>Exit without saving settings</source>
@@ -13209,7 +13280,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/videoplayersettings.cpp" line="170"/>
-@@ -14308,12 +14848,21 @@
+@@ -14308,12 +14878,21 @@
<context>
<name>ProfileGroup</name>
<message>
@@ -13222,19 +13293,19 @@
+ <location filename="../libs/libmythtv/profilegroup.cpp" line="47"/>
+ <source>Profile Group</source>
+ <translation>Profile Group</translation>
- </message>
- <message>
-- <location filename="../libs/libmythtv/profilegroup.cpp" line="168"/>
++ </message>
++ <message>
+ <location filename="../libs/libmythtv/profilegroup.cpp" line="171"/>
+ <source>Profiles</source>
+ <translation>Profiles</translation>
-+ </message>
-+ <message>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/profilegroup.cpp" line="168"/>
+ <location filename="../libs/libmythtv/profilegroup.cpp" line="180"/>
<source>Transcoders</source>
<translation>Transcoders</translation>
</message>
-@@ -14321,52 +14870,52 @@
+@@ -14321,52 +14900,52 @@
<context>
<name>ProfileGroupEditor</name>
<message>
@@ -13301,7 +13372,7 @@
<source>%n star(s)</source>
<translation>
<numerusform>%n star</numerusform>
-@@ -14374,199 +14923,208 @@
+@@ -14374,199 +14953,204 @@
</translation>
</message>
<message>
@@ -13372,10 +13443,6 @@
</message>
<message>
- <location filename="../programs/mythfrontend/progdetails.cpp" line="328"/>
-+ <source>Damaged</source>
-+ <translation type="vanished">Damaged</translation>
-+ </message>
-+ <message>
+ <location filename="../programs/mythfrontend/progdetails.cpp" line="291"/>
<source>CC</source>
<comment>Closed Captioned</comment>
@@ -13549,7 +13616,7 @@
<source>%n hour(s)</source>
<translation>
<numerusform>%n hour</numerusform>
-@@ -14574,133 +15132,126 @@
+@@ -14574,133 +15158,126 @@
</translation>
</message>
<message>
@@ -13709,7 +13776,7 @@
</message>
</context>
<context>
-@@ -14794,7 +15345,7 @@
+@@ -14794,7 +15371,7 @@
<message>
<location filename="../programs/mythfrontend/progfind.cpp" line="371"/>
<source>Select a letter...</source>
@@ -13718,7 +13785,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/progfind.cpp" line="373"/>
-@@ -14804,7 +15355,7 @@
+@@ -14804,7 +15381,7 @@
<message>
<location filename="../programs/mythfrontend/progfind.cpp" line="382"/>
<source>Select a program...</source>
@@ -13727,7 +13794,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/progfind.cpp" line="384"/>
-@@ -14951,7 +15502,7 @@
+@@ -14951,7 +15528,7 @@
<message>
<location filename="../programs/mythfrontend/proglist.cpp" line="519"/>
<source>Start search from date and time</source>
@@ -13736,7 +13803,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/proglist.cpp" line="766"/>
-@@ -14971,12 +15522,12 @@
+@@ -14971,12 +15548,12 @@
<message>
<location filename="../programs/mythfrontend/proglist.cpp" line="326"/>
<source>Sort By Title</source>
@@ -13751,7 +13818,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/proglist.cpp" line="489"/>
-@@ -15001,7 +15552,7 @@
+@@ -15001,7 +15578,7 @@
<message>
<location filename="../programs/mythfrontend/proglist.cpp" line="494"/>
<source>Select a search stored from</source>
@@ -13760,7 +13827,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/proglist.cpp" line="495"/>
-@@ -15027,14 +15578,14 @@
+@@ -15027,14 +15604,14 @@
</translation>
</message>
<message>
@@ -13778,7 +13845,7 @@
<source>%1 of %2</source>
<comment>Current position in list where %1 is the position, %2 is the total count</comment>
<translation>%1 of %2</translation>
-@@ -15062,22 +15613,22 @@
+@@ -15062,22 +15639,22 @@
<message>
<location filename="../programs/mythfrontend/proglist.cpp" line="761"/>
<source>Allow this episode to re-record</source>
@@ -13805,7 +13872,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/proglist.cpp" line="940"/>
-@@ -15211,43 +15762,43 @@
+@@ -15211,43 +15788,43 @@
<location filename="../programs/mythfrontend/programrecpriority.cpp" line="663"/>
<location filename="../programs/mythfrontend/programrecpriority.cpp" line="743"/>
<source>Sort By Title</source>
@@ -13856,7 +13923,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/programrecpriority.cpp" line="728"/>
-@@ -15284,13 +15835,13 @@
+@@ -15284,13 +15861,13 @@
<context>
<name>QObject</name>
<message>
@@ -13868,35 +13935,35 @@
<message numerus="yes">
- <location filename="../libs/libmyth/programinfo.cpp" line="1697"/>
- <location filename="../libs/libmyth/programinfo.cpp" line="1702"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="1720"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="1725"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1711"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1716"/>
<source>%n hour(s)</source>
<translation>
<numerusform>%n hour</numerusform>
-@@ -15298,8 +15849,8 @@
+@@ -15298,8 +15875,8 @@
</translation>
</message>
<message numerus="yes">
- <location filename="../libs/libmyth/programinfo.cpp" line="1686"/>
- <location filename="../libs/libmyth/programinfo.cpp" line="1695"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1700"/>
+ <location filename="../libs/libmyth/programinfo.cpp" line="1709"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="1718"/>
<source>%n minute(s)</source>
<translation>
<numerusform>%n minute</numerusform>
-@@ -15307,24 +15858,24 @@
+@@ -15307,24 +15884,25 @@
</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="1035"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="1036"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1027"/>
+ <location filename="../libs/libmythmetadata/metadatacommon.h" line="255"/>
<source>Manual Record</source>
<translation>Manual Record</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="1725"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="1748"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1739"/>
<source>Re-Record</source>
- <translation>Re-Record</translation>
+ <translation>Re-record</translation>
@@ -13905,18 +13972,19 @@
- <location filename="../libs/libmyth/programinfo.cpp" line="1767"/>
- <location filename="../libs/libmyth/programinfo.cpp" line="1772"/>
- <location filename="../libs/libmyth/programtypes.cpp" line="212"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="1790"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="1795"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1781"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1786"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="172"/>
<source>Repeat</source>
<translation>Repeat</translation>
</message>
<message numerus="yes">
- <location filename="../libs/libmyth/programinfo.cpp" line="1795"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="1818"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1809"/>
<source>%n star(s)</source>
<translation>
<numerusform>%n star</numerusform>
-@@ -15333,60 +15884,57 @@
+@@ -15333,60 +15911,60 @@
</message>
<message>
<location filename="../libs/libmythtv/channelinfo.cpp" line="280"/>
@@ -13937,8 +14005,10 @@
- <location filename="../libs/libmyth/programinfo.cpp" line="4980"/>
- <location filename="../libs/libmyth/programtypes.cpp" line="228"/>
- <location filename="../libs/libmyth/programtypes.cpp" line="231"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="3134"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5003"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="3125"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="4994"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="188"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="191"/>
<location filename="../libs/libmythtv/videoouttypes.h" line="137"/>
<location filename="../libs/libmythtv/videoouttypes.h" line="160"/>
- <location filename="../programs/mythfrontend/statusbox.cpp" line="1053"/>
@@ -13948,48 +14018,49 @@
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="3115"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="3138"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="3129"/>
<source>Playing</source>
<translation>Playing</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="3122"/>
- <location filename="../libs/libmyth/programtypes.cpp" line="185"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="3145"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="3136"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="143"/>
<source>Recording</source>
<translation>Recording</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="3130"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="3153"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="3144"/>
<source>Transcoding</source>
<translation>Transcoding</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="3117"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="3140"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="3131"/>
<source>PIP</source>
<translation>PIP</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="1847"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="1870"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1861"/>
<source>Blu-ray Disc</source>
<translation>Blu-ray Disc</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="3119"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="3142"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="3133"/>
<source>PBP</source>
<translation>PBP</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="3124"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="3147"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="3138"/>
<source>File transfer</source>
<translation>File transfer</translation>
</message>
-@@ -15436,47 +15984,47 @@
+@@ -15436,47 +16014,47 @@
<message>
<location filename="../libs/libmyth/recordingtypes.cpp" line="55"/>
<source>Record only this showing</source>
@@ -14046,711 +14117,723 @@
</message>
<message>
<location filename="../libs/libmyth/recordingtypes.cpp" line="137"/>
-@@ -15513,655 +16061,585 @@
+@@ -15513,655 +16091,665 @@
<translation>Override Recording</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="176"/>
<location filename="../libs/libmyth/recordingtypes.cpp" line="45"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="134"/>
<source>Not Recording</source>
<translation>Not Recording</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="181"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="139"/>
<source>Aborted</source>
-- <translation>Aborted</translation>
-+ <translation type="vanished">Aborted</translation>
+ <translation>Aborted</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="183"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="141"/>
<source>Recorded</source>
-- <translation>Recorded</translation>
-+ <translation type="vanished">Recorded</translation>
+ <translation>Recorded</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="187"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="145"/>
<source>Tuning</source>
-- <translation>Tuning</translation>
-+ <translation type="vanished">Tuning</translation>
+ <translation>Tuning</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="191"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="149"/>
<source>Will Record</source>
-- <translation>Will Record</translation>
-+ <translation type="vanished">Will Record</translation>
+ <translation>Will Record</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="193"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="151"/>
++ <source>Pending</source>
++ <translation>Pending</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="153"/>
<source>Don&apos;t Record</source>
-- <translation>Don&apos;t Record</translation>
-+ <translation type="vanished">Don&apos;t Record</translation>
+ <translation>Don&apos;t Record</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="195"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="155"/>
<source>Previously Recorded</source>
-- <translation>Previously Recorded</translation>
-+ <translation type="vanished">Previously Recorded</translation>
+ <translation>Previously Recorded</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="197"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="157"/>
<source>Currently Recorded</source>
-- <translation>Currently Recorded</translation>
-+ <translation type="vanished">Currently Recorded</translation>
+ <translation>Currently Recorded</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="199"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="159"/>
<source>Earlier Showing</source>
-- <translation>Earlier Showing</translation>
-+ <translation type="vanished">Earlier Showing</translation>
+ <translation>Earlier Showing</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="201"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="161"/>
<source>Max Recordings</source>
-- <translation>Max Recordings</translation>
-+ <translation type="vanished">Max Recordings</translation>
+ <translation>Max Recordings</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="203"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="163"/>
<source>Manual Cancel</source>
-- <translation>Manual Cancel</translation>
-+ <translation type="vanished">Manual Cancel</translation>
+ <translation>Manual Cancel</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="206"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="166"/>
<source>Missed</source>
-- <translation>Missed</translation>
-+ <translation type="vanished">Missed</translation>
+ <translation>Missed</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="208"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="168"/>
<source>Conflicting</source>
-- <translation>Conflicting</translation>
-+ <translation type="vanished">Conflicting</translation>
+ <translation>Conflicting</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="210"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="170"/>
<source>Later Showing</source>
-- <translation>Later Showing</translation>
-+ <translation type="vanished">Later Showing</translation>
+ <translation>Later Showing</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="214"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="174"/>
<source>Inactive</source>
-- <translation>Inactive</translation>
-+ <translation type="vanished">Inactive</translation>
+ <translation>Inactive</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="216"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="176"/>
<source>Low Disk Space</source>
-- <translation>Low Disk Space</translation>
-+ <translation type="vanished">Low Disk Space</translation>
+ <translation>Low Disk Space</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="218"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="178"/>
<source>Tuner Busy</source>
-- <translation>Tuner Busy</translation>
-+ <translation type="vanished">Tuner Busy</translation>
+ <translation>Tuner Busy</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="220"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="180"/>
<source>Recorder Failed</source>
-- <translation>Recorder Failed</translation>
-+ <translation type="vanished">Recorder Failed</translation>
+ <translation>Recorder Failed</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="222"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="182"/>
<source>Not Listed</source>
-- <translation>Not Listed</translation>
-+ <translation type="vanished">Not Listed</translation>
+ <translation>Not Listed</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="224"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="184"/>
<source>Never Record</source>
-- <translation>Never Record</translation>
-+ <translation type="vanished">Never Record</translation>
+ <translation>Never Record</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="226"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="186"/>
<source>Recorder Off-Line</source>
-- <translation>Recorder Off-Line</translation>
-+ <translation type="vanished">Recorder Off-Line</translation>
+ <translation>Recorder Off-Line</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="239"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="199"/>
<source>This showing is not scheduled to record</source>
- <translation>This showing is not scheduled to record</translation>
-+ <translation type="vanished">This showing is not scheduled to record</translation>
++ <translation>This showing is not scheduled to record.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="249"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="209"/>
<source>This showing will be recorded.</source>
-- <translation>This showing will be recorded.</translation>
-+ <translation type="vanished">This showing will be recorded.</translation>
+ <translation>This showing will be recorded.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="252"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="212"/>
++ <source>This showing is about to record.</source>
++ <translation>This showing is about to record.</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="215"/>
<source>This showing is being recorded.</source>
-- <translation>This showing is being recorded.</translation>
-+ <translation type="vanished">This showing is being recorded.</translation>
+ <translation>This showing is being recorded.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="262"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="225"/>
<source>This showing was recorded.</source>
-- <translation>This showing was recorded.</translation>
-+ <translation type="vanished">This showing was recorded.</translation>
+ <translation>This showing was recorded.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="265"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="228"/>
<source>This showing was recorded but was aborted before completion.</source>
-- <translation>This showing was recorded but was aborted before completion.</translation>
-+ <translation type="vanished">This showing was recorded but was aborted before completion.</translation>
+ <translation>This showing was recorded but was aborted before completion.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="270"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="233"/>
<source>This showing was not recorded because the master backend was not running.</source>
-- <translation>This showing was not recorded because the master backend was not running.</translation>
-+ <translation type="vanished">This showing was not recorded because the master backend was not running.</translation>
+ <translation>This showing was not recorded because the master backend was not running.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="278"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="241"/>
<source>This showing was not recorded because there wasn&apos;t enough disk space.</source>
-- <translation>This showing was not recorded because there wasn&apos;t enough disk space.</translation>
-+ <translation type="vanished">This showing was not recorded because there wasn&apos;t enough disk space.</translation>
+ <translation>This showing was not recorded because there wasn&apos;t enough disk space.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="282"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="245"/>
<source>This showing was not recorded because the recorder was already in use.</source>
-- <translation>This showing was not recorded because the recorder was already in use.</translation>
-+ <translation type="vanished">This showing was not recorded because the recorder was already in use.</translation>
+ <translation>This showing was not recorded because the recorder was already in use.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="286"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="249"/>
<source>This showing was not recorded because the recorder failed.</source>
-- <translation>This showing was not recorded because the recorder failed.</translation>
-+ <translation type="vanished">This showing was not recorded because the recorder failed.</translation>
+ <translation>This showing was not recorded because the recorder failed.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="330"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="293"/>
<source>this episode will be recorded at a later time instead.</source>
-- <translation>this episode will be recorded at a later time instead.</translation>
-+ <translation type="vanished">this episode will be recorded at a later time instead.</translation>
+ <translation>this episode will be recorded at a later time instead.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="347"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="310"/>
<source>the required recorder is off-line.</source>
-- <translation>the required recorder is off-line.</translation>
-+ <translation type="vanished">the required recorder is off-line.</translation>
+ <translation>the required recorder is off-line.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="274"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="237"/>
<source>This showing was not recorded because it was manually cancelled.</source>
-- <translation>This showing was not recorded because it was manually cancelled.</translation>
-+ <translation type="vanished">This showing was not recorded because it was manually cancelled.</translation>
+ <translation>This showing was not recorded because it was manually cancelled.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="96"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="51"/>
<source>A</source>
<comment>RecStatusChar RecStatus::Aborted</comment>
-- <translation>A</translation>
-+ <translation type="vanished">A</translation>
+ <translation>A</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="99"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="54"/>
<source>R</source>
<comment>RecStatusChar RecStatus::Recorded</comment>
-- <translation>R</translation>
-+ <translation type="vanished">R</translation>
+ <translation>R</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="114"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="72"/>
<source>X</source>
<comment>RecStatusChar RecStatus::DontRecord</comment>
-- <translation>X</translation>
-+ <translation type="vanished">X</translation>
+ <translation>X</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="117"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="75"/>
<source>P</source>
<comment>RecStatusChar RecStatus::PreviousRecording</comment>
-- <translation>P</translation>
-+ <translation type="vanished">P</translation>
+ <translation>P</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="120"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="78"/>
<source>R</source>
<comment>RecStatusChar RecStatus::CurrentRecording</comment>
-- <translation>R</translation>
-+ <translation type="vanished">R</translation>
+ <translation>R</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="123"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="81"/>
<source>E</source>
<comment>RecStatusChar RecStatus::EarlierShowing</comment>
-- <translation>E</translation>
-+ <translation type="vanished">E</translation>
+ <translation>E</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="126"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="84"/>
<source>T</source>
<comment>RecStatusChar RecStatus::TooManyRecordings</comment>
-- <translation>T</translation>
-+ <translation type="vanished">T</translation>
+ <translation>T</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="129"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="87"/>
<source>c</source>
<comment>RecStatusChar RecStatus::Cancelled</comment>
-- <translation>c</translation>
-+ <translation type="vanished">c</translation>
+ <translation>c</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="133"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="91"/>
<source>M</source>
<comment>RecStatusChar RecStatus::Missed</comment>
-- <translation>M</translation>
-+ <translation type="vanished">M</translation>
+ <translation>M</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="136"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="94"/>
<source>C</source>
<comment>RecStatusChar RecStatus::Conflict</comment>
-- <translation>C</translation>
-+ <translation type="vanished">C</translation>
+ <translation>C</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="139"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="97"/>
<source>L</source>
<comment>RecStatusChar RecStatus::LaterShowing</comment>
-- <translation>L</translation>
-+ <translation type="vanished">L</translation>
+ <translation>L</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="142"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="100"/>
<source>r</source>
<comment>RecStatusChar RecStatus::Repeat</comment>
-- <translation>r</translation>
-+ <translation type="vanished">r</translation>
+ <translation>r</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="145"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="103"/>
<source>x</source>
<comment>RecStatusChar RecStatus::Inactive</comment>
-- <translation>x</translation>
-+ <translation type="vanished">x</translation>
+ <translation>x</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="148"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="106"/>
<source>K</source>
<comment>RecStatusChar RecStatus::LowDiskSpace</comment>
-- <translation>K</translation>
-+ <translation type="vanished">K</translation>
+ <translation>K</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="151"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="109"/>
<source>B</source>
<comment>RecStatusChar RecStatus::TunerBusy</comment>
-- <translation>B</translation>
-+ <translation type="vanished">B</translation>
+ <translation>B</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="154"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="112"/>
<source>f</source>
<comment>RecStatusChar RecStatus::Failed</comment>
-- <translation>f</translation>
-+ <translation type="vanished">f</translation>
+ <translation>f</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="157"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="115"/>
<source>N</source>
<comment>RecStatusChar RecStatus::NotListed</comment>
-- <translation>N</translation>
-+ <translation type="vanished">N</translation>
+ <translation>N</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="160"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="118"/>
<source>V</source>
<comment>RecStatusChar RecStatus::NeverRecord</comment>
-- <translation>V</translation>
-+ <translation type="vanished">V</translation>
+ <translation>V</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="163"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="121"/>
<source>F</source>
<comment>RecStatusChar RecStatus::Offline</comment>
-- <translation>F</translation>
-+ <translation type="vanished">F</translation>
+ <translation>F</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="189"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="147"/>
<source>Failing</source>
-- <translation>Failing</translation>
-+ <translation type="vanished">Failing</translation>
+ <translation>Failing</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="258"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="221"/>
<source>The showing is failing to record because of errors.</source>
-- <translation>The showing is failing to record because of errors.</translation>
-+ <translation type="vanished">The showing is failing to record because of errors.</translation>
+ <translation>The showing is failing to record because of errors.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="351"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="314"/>
<source>This showing will not be recorded.</source>
-- <translation>This showing will not be recorded.</translation>
-+ <translation type="vanished">This showing will not be recorded.</translation>
+ <translation>This showing will not be recorded.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="353"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="316"/>
<source>This showing was not recorded.</source>
-- <translation>This showing was not recorded.</translation>
-+ <translation type="vanished">This showing was not recorded.</translation>
+ <translation>This showing was not recorded.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="290"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="253"/>
<source>The status of this showing is unknown.</source>
-- <translation>The status of this showing is unknown.</translation>
-+ <translation type="vanished">The status of this showing is unknown.</translation>
+ <translation>The status of this showing is unknown.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="255"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="218"/>
<source>The showing is being tuned.</source>
-- <translation>The showing is being tuned.</translation>
-+ <translation type="vanished">The showing is being tuned.</translation>
+ <translation>The showing is being tuned.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="298"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="261"/>
<source>This showing will not be recorded because </source>
-- <translation>This showing will not be recorded because </translation>
-+ <translation type="vanished">This showing will not be recorded because </translation>
+ <translation>This showing will not be recorded because </translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="300"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="263"/>
<source>This showing was not recorded because </source>
-- <translation>This showing was not recorded because </translation>
-+ <translation type="vanished">This showing was not recorded because </translation>
+ <translation>This showing was not recorded because </translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="305"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="268"/>
<source>it was manually set to not record.</source>
-- <translation>it was manually set to not record.</translation>
-+ <translation type="vanished">it was manually set to not record.</translation>
+ <translation>it was manually set to not record.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="308"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="271"/>
<source>this episode was previously recorded according to the duplicate policy chosen for this title.</source>
-- <translation>this episode was previously recorded according to the duplicate policy chosen for this title.</translation>
-+ <translation type="vanished">this episode was previously recorded according to the duplicate policy chosen for this title.</translation>
+ <translation>this episode was previously recorded according to the duplicate policy chosen for this title.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="313"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="276"/>
<source>this episode was previously recorded and is still available in the list of recordings.</source>
-- <translation>this episode was previously recorded and is still available in the list of recordings.</translation>
-+ <translation type="vanished">this episode was previously recorded and is still available in the list of recordings.</translation>
+ <translation>this episode was previously recorded and is still available in the list of recordings.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="318"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="281"/>
<source>this episode will be recorded at an earlier time instead.</source>
-- <translation>this episode will be recorded at an earlier time instead.</translation>
-+ <translation type="vanished">this episode will be recorded at an earlier time instead.</translation>
+ <translation>this episode will be recorded at an earlier time instead.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="322"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="285"/>
<source>too many recordings of this program have already been recorded.</source>
-- <translation>too many recordings of this program have already been recorded.</translation>
-+ <translation type="vanished">too many recordings of this program have already been recorded.</translation>
+ <translation>too many recordings of this program have already been recorded.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="326"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="289"/>
<source>another program with a higher priority will be recorded.</source>
-- <translation>another program with a higher priority will be recorded.</translation>
-+ <translation type="vanished">another program with a higher priority will be recorded.</translation>
+ <translation>another program with a higher priority will be recorded.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="334"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="297"/>
<source>this episode is a repeat.</source>
-- <translation>this episode is a repeat.</translation>
-+ <translation type="vanished">this episode is a repeat.</translation>
+ <translation>this episode is a repeat.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="337"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="300"/>
<source>this recording rule is inactive.</source>
-- <translation>this recording rule is inactive.</translation>
-+ <translation type="vanished">this recording rule is inactive.</translation>
+ <translation>this recording rule is inactive.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="340"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="303"/>
<source>this rule does not match any showings in the current program listings.</source>
-- <translation>this rule does not match any showings in the current program listings.</translation>
-+ <translation type="vanished">this rule does not match any showings in the current program listings.</translation>
+ <translation>this rule does not match any showings in the current program listings.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programtypes.cpp" line="344"/>
++ <location filename="../libs/libmythservicecontracts/enums/recStatus.cpp" line="307"/>
<source>it was marked to never be recorded.</source>
-- <translation>it was marked to never be recorded.</translation>
-+ <translation type="vanished">it was marked to never be recorded.</translation>
+ <translation>it was marked to never be recorded.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5223"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5246"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5190"/>
<source>Default</source>
<comment>Recording Profile Default</comment>
<translation>Default</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5224"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5247"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5191"/>
<source>High Quality</source>
<comment>Recording Profile High Quality</comment>
<translation>High Quality</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5225"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5248"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5192"/>
<source>Live TV</source>
<comment>Recording Profile Live TV</comment>
<translation>Live TV</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5226"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5249"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5193"/>
<source>Low Quality</source>
<comment>Recording Profile Low Quality</comment>
<translation>Low Quality</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5227"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5250"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5194"/>
<source>Medium Quality</source>
<comment>Recording Profile Medium Quality</comment>
<translation>Medium Quality</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5233"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5256"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5200"/>
<source>CRC IP Recorders</source>
<comment>Recording Profile Group Name</comment>
<translation>CRC IP Recorders</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5235"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5258"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5202"/>
<source>FireWire Input</source>
<comment>Recording Profile Group Name</comment>
<translation>FireWire Input</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5237"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5260"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5204"/>
<source>Freebox Input</source>
<comment>Recording Profile Group Name</comment>
<translation>Freebox Input</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5239"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5262"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5206"/>
<source>Hardware DVB Encoders</source>
<comment>Recording Profile Group Name</comment>
<translation>Hardware DVB Encoders</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5241"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5264"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5208"/>
<source>Hardware HDTV</source>
<comment>Recording Profile Group Name</comment>
<translation>Hardware HDTV</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5243"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5266"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5210"/>
<source>Hardware MJPEG Encoders (Matrox G200-TV, Miro DC10, etc)</source>
<comment>Recording Profile Group Name</comment>
<translation>Hardware MJPEG Encoders (Matrox G200-TV, Miro DC10, etc)</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5245"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5268"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5212"/>
<source>HD-PVR Recorders</source>
<comment>Recording Profile Group Name</comment>
<translation>HD-PVR Recorders</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5247"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5270"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5214"/>
<source>HDHomeRun Recorders</source>
<comment>Recording Profile Group Name</comment>
<translation>HDHomeRun Recorders</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5249"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5272"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5216"/>
<source>MPEG-2 Encoders (PVR-x50, PVR-500)</source>
<comment>Recording Profile Group Name</comment>
<translation>MPEG-2 Encoders (PVR-x50, PVR-500)</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5253"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5276"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5220"/>
<source>Transcoders</source>
<comment>Recording Profile Group Name</comment>
<translation>Transcoders</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5257"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5280"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5224"/>
<source>V4L2 Encoders</source>
<comment>Recording Profile Group Name</comment>
<translation>V4L2 Encoders</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5261"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5284"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5228"/>
<source>All Programs</source>
<comment>Recording Group All Programs</comment>
<translation>All Programs</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5262"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5285"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5229"/>
<source>All</source>
<comment>Recording Group All Programs -- short form</comment>
<translation>All</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5264"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5287"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5231"/>
<source>Default</source>
<comment>Recording Group Default</comment>
<translation>Default</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5265"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5288"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5232"/>
<source>Deleted</source>
<comment>Recording Group Deleted</comment>
<translation>Deleted</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5272"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5295"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5239"/>
<source>Default</source>
<comment>Storage Group Name</comment>
<translation>Default</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="3128"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="3151"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="3142"/>
<source>Commercial Detection</source>
<translation>Commercial Detection</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="1679"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="1702"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1693"/>
<source>%1 GB</source>
<comment>GigaBytes</comment>
<translation>%1 GB</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="1835"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="1858"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1849"/>
<source>DVD</source>
<translation>DVD</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="1839"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="1862"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1853"/>
<source>HTTP Streaming</source>
<translation>HTTP Streaming</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="1843"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="1866"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1857"/>
<source>RTSP Streaming</source>
<translation>RTSP Streaming</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="1852"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="1875"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1866"/>
<source>Recording</source>
<comment>Recorded file, object not action</comment>
<translation>Recording</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="3132"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="3155"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="3146"/>
<source>Preview Generation</source>
<translation>Preview Generation</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="3134"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="3157"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="3148"/>
<source>User Job</source>
<translation>User Job</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5228"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5251"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5195"/>
<source>MPEG-2</source>
<comment>Recording Profile MPEG-2</comment>
<translation>MPEG-2</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5229"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5252"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5196"/>
<source>RTjpeg/MPEG-4</source>
<comment>Recording Profile RTjpeg/MPEG-4</comment>
<translation>RTjpeg/MPEG-4</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5251"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5274"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5218"/>
<source>Software Encoders (V4L based)</source>
<comment>Recording Profile Group Name</comment>
<translation>Software Encoders (V4L based)</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5255"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5278"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5222"/>
<source>USB MPEG-4 Encoder (Plextor ConvertX, etc)</source>
<comment>Recording Profile Group Name</comment>
<translation>USB MPEG-4 Encoder (Plextor ConvertX, etc)</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5263"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5286"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5230"/>
<source>Live TV</source>
<comment>Recording Group Live TV</comment>
<translation>Live TV</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5268"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5291"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5235"/>
<source>All Programs - %1</source>
<comment>Show all programs from a specific recording group</comment>
<translation>All Programs - %1</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5273"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5296"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5240"/>
<source>Live TV</source>
<comment>Storage Group Name</comment>
<translation>Live TV</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5274"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5297"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5241"/>
<source>Thumbnails</source>
<comment>Storage Group Name</comment>
<translation>Thumbnails</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5275"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5298"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5242"/>
<source>DB Backups</source>
<comment>Storage Group Name</comment>
<translation>DB Backups</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="5278"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="5301"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="5245"/>
<source>Default</source>
<comment>Playback Group Name</comment>
<translation>Default</translation>
@@ -14821,7 +14904,7 @@
<source>Pre &amp; Post Roll</source>
<translation>Pre &amp; Post Roll</translation>
</message>
-@@ -16222,17 +16700,17 @@
+@@ -16222,17 +16810,17 @@
<message>
<location filename="../libs/libmythtv/decoderbase.cpp" line="1130"/>
<source>Audio track</source>
@@ -14842,7 +14925,7 @@
</message>
<message>
<location filename="../libs/libmythtv/decoderbase.cpp" line="1136"/>
-@@ -16307,208 +16785,212 @@
+@@ -16307,208 +16895,212 @@
<translation>Normal</translation>
</message>
<message>
@@ -14872,8 +14955,8 @@
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="88"/>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="122"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="149"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="196"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="150"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="197"/>
<source>Port</source>
<translation>Port</translation>
</message>
@@ -14886,8 +14969,8 @@
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="346"/>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="367"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="418"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="439"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="419"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="440"/>
<source>Wake command</source>
- <translation>Wake command</translation>
+ <translation>Wake Command</translation>
@@ -14970,7 +15053,7 @@
+ <location filename="../libs/libmyth/mythcontext.cpp" line="1376"/>
<source>Backend is online</source>
- <translation>Backend is online</translation>
-+ <translation>Backend Is Online</translation>
++ <translation>Backend is Online</translation>
</message>
<message>
- <location filename="../libs/libmyth/mythcontext.cpp" line="1134"/>
@@ -15014,8 +15097,8 @@
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="1743"/>
- <location filename="../libs/libmyth/programinfo.cpp" line="1747"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="1766"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="1770"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1757"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1761"/>
<location filename="../programs/mythfrontend/programrecpriority.cpp" line="125"/>
- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2421"/>
- <location filename="../programs/mythfrontend/scheduleeditor.cpp" line="2459"/>
@@ -15115,24 +15198,24 @@
<source>, firmware: %2</source>
<translation>, firmware: %2</translation>
</message>
-@@ -16518,13 +17000,13 @@
+@@ -16518,13 +17110,13 @@
<translation>Sports</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="1831"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="1854"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="1845"/>
<source>Video</source>
<translation>Video</translation>
</message>
<message>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="2012"/>
- <location filename="../programs/mythfrontend/guidegrid.cpp" line="2319"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2022"/>
-+ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2326"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2024"/>
++ <location filename="../programs/mythfrontend/guidegrid.cpp" line="2328"/>
<source>All Channels</source>
<translation>All Channels</translation>
</message>
-@@ -16541,12 +17023,12 @@
+@@ -16541,12 +17133,12 @@
<message>
<location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="293"/>
<source>Failed to add channel %1</source>
@@ -15147,7 +15230,7 @@
</message>
<message>
<location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="895"/>
-@@ -16556,7 +17038,7 @@
+@@ -16556,7 +17148,7 @@
<message>
<location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="896"/>
<source>Unknown decryption status</source>
@@ -15156,7 +15239,7 @@
</message>
<message>
<location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="898"/>
-@@ -16571,41 +17053,41 @@
+@@ -16571,41 +17163,41 @@
<message>
<location filename="../libs/libmythtv/channelscan/channelscan_sm.cpp" line="935"/>
<source>%1 -- Timed out</source>
@@ -15206,7 +15289,7 @@
<source>: Found %n</source>
<translation>
<numerusform>: Found %n</numerusform>
-@@ -16613,28 +17095,28 @@
+@@ -16613,28 +17205,28 @@
</translation>
</message>
<message>
@@ -15237,20 +15320,20 @@
<message>
<location filename="../libs/libmythtv/channelscan/frequencytablesetting.cpp" line="38"/>
- <location filename="../libs/libmythtv/videosource.cpp" line="1276"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1315"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1318"/>
<source>Broadcast</source>
<translation>Broadcast</translation>
</message>
-@@ -16648,7 +17130,7 @@
+@@ -16648,7 +17240,7 @@
<location filename="../libs/libmythtv/channelscan/frequencytablesetting.cpp" line="40"/>
<location filename="../libs/libmythtv/channelscan/frequencytablesetting.cpp" line="42"/>
<location filename="../libs/libmythtv/channelscan/frequencytablesetting.cpp" line="44"/>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="522"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="594"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="595"/>
<source>High</source>
<translation>High</translation>
</message>
-@@ -16758,9 +17240,9 @@
+@@ -16758,9 +17350,9 @@
<translation>France</translation>
</message>
<message>
@@ -15263,7 +15346,31 @@
<source>Frequency</source>
<translation>Frequency</translation>
</message>
-@@ -16807,8 +17289,8 @@
+@@ -16785,30 +17377,30 @@
+ <translation>Hue</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recorders/dtvsignalmonitor.cpp" line="49"/>
+ <location filename="../libs/libmythtv/recorders/dtvsignalmonitor.cpp" line="50"/>
+ <location filename="../libs/libmythtv/recorders/dtvsignalmonitor.cpp" line="51"/>
+ <location filename="../libs/libmythtv/recorders/dtvsignalmonitor.cpp" line="52"/>
+ <location filename="../libs/libmythtv/recorders/dtvsignalmonitor.cpp" line="53"/>
+ <location filename="../libs/libmythtv/recorders/dtvsignalmonitor.cpp" line="54"/>
+ <location filename="../libs/libmythtv/recorders/dtvsignalmonitor.cpp" line="55"/>
++ <location filename="../libs/libmythtv/recorders/dtvsignalmonitor.cpp" line="56"/>
+ <source>Seen</source>
+ <translation>Seen</translation>
+ </message>
+ <message>
+- <location filename="../libs/libmythtv/recorders/dtvsignalmonitor.cpp" line="56"/>
+ <location filename="../libs/libmythtv/recorders/dtvsignalmonitor.cpp" line="57"/>
+ <location filename="../libs/libmythtv/recorders/dtvsignalmonitor.cpp" line="58"/>
+ <location filename="../libs/libmythtv/recorders/dtvsignalmonitor.cpp" line="59"/>
+ <location filename="../libs/libmythtv/recorders/dtvsignalmonitor.cpp" line="60"/>
+ <location filename="../libs/libmythtv/recorders/dtvsignalmonitor.cpp" line="61"/>
+ <location filename="../libs/libmythtv/recorders/dtvsignalmonitor.cpp" line="62"/>
++ <location filename="../libs/libmythtv/recorders/dtvsignalmonitor.cpp" line="63"/>
+ <source>Matching</source>
<translation>Matching</translation>
</message>
<message>
@@ -15274,7 +15381,7 @@
<source>Analog</source>
<translation>Analog</translation>
</message>
-@@ -16824,532 +17306,523 @@
+@@ -16824,532 +17416,523 @@
<translation>Play</translation>
</message>
<message>
@@ -15962,7 +16069,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/programrecpriority.cpp" line="123"/>
-@@ -17357,410 +17830,418 @@
+@@ -17357,410 +17940,418 @@
<translation>Default (Template)</translation>
</message>
<message>
@@ -16493,7 +16600,7 @@
</message>
<message>
<location filename="../libs/libmythtv/tv.cpp" line="55"/>
-@@ -17786,448 +18267,464 @@
+@@ -17786,448 +18377,464 @@
<message>
<location filename="../libs/libmythtv/tv.cpp" line="85"/>
<source>Auto-Skip OFF</source>
@@ -16514,14 +16621,14 @@
</message>
<message>
- <location filename="../libs/libmythtv/tv_rec.cpp" line="3731"/>
-+ <location filename="../libs/libmythtv/tv_rec.cpp" line="3750"/>
++ <location filename="../libs/libmythtv/tv_rec.cpp" line="3703"/>
<source>On known multiplex...</source>
- <translation>On known multiplex...</translation>
+ <translation>On Known Multiplex...</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tvremoteutil.cpp" line="467"/>
-+ <location filename="../libs/libmythtv/tvremoteutil.cpp" line="443"/>
++ <location filename="../libs/libmythtv/tvremoteutil.cpp" line="456"/>
<source>Error querying recorder state</source>
- <translation>Error querying recorder state</translation>
+ <translation>Error Querying Recorder State</translation>
@@ -17063,7 +17170,7 @@
<source>Uses OpenMAX to alpha blend the OSD onto the video.</source>
<translation>Uses OpenMAX to alpha blend the OSD onto the video.</translation>
</message>
-@@ -18388,217 +18885,230 @@
+@@ -18388,217 +18995,240 @@
<translation>Volume</translation>
</message>
<message>
@@ -17092,7 +17199,7 @@
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="170"/>
+ <location filename="../libs/libmythtv/videosource.cpp" line="382"/>
+ <location filename="../libs/libmythtv/videosource.cpp" line="397"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="242"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="243"/>
<source>Channel frequency table</source>
- <translation>Channel frequency table</translation>
+ <translation>Channel Frequency Table</translation>
@@ -17168,6 +17275,11 @@
<source>No grabber</source>
- <translation>No grabber</translation>
+ <translation>No Grabber</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/videosource.cpp" line="663"/>
++ <source>This will usually only work with ATSC or DVB channels, and generally provides data only for the next few days.</source>
++ <translation>This will usually only work with ATSC or DVB channels, and generally provides data only for the next few days.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="747"/>
@@ -17182,10 +17294,15 @@
<source>VBI device</source>
- <translation>VBI device</translation>
+ <translation>VBI Device</translation>
++ </message>
++ <message>
++ <location filename="../libs/libmythtv/videosource.cpp" line="969"/>
++ <source>Specify the command to run, with any needed arguments.</source>
++ <translation>Specify the command to run, with any needed arguments.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="948"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="990"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="993"/>
<source>Audio device</source>
- <translation>Audio device</translation>
+ <translation>Audio Device</translation>
@@ -17196,30 +17313,30 @@
- <location filename="../libs/libmythtv/videosource.cpp" line="3073"/>
- <location filename="../libs/libmythtv/videosource.cpp" line="3110"/>
- <location filename="../libs/libmythtv/videosource.cpp" line="3121"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1000"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1048"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2994"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3039"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3050"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1003"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1051"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3004"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3049"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3060"/>
<source>(None)</source>
<translation>(None)</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1022"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1062"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1065"/>
<source>Do not adjust volume</source>
- <translation>Do not adjust volume</translation>
+ <translation>Do Not Adjust Volume</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1024"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1064"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1067"/>
<source>Enable this option for budget BT878 based DVB-T cards such as the AverTV DVB-T which require the audio volume to be left alone.</source>
<translation>Enable this option for budget BT878 based DVB-T cards such as the AverTV DVB-T which require the audio volume to be left alone.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1039"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1078"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1081"/>
<source>When you change this setting, the text below should change to the name and type of your card. If the card cannot be opened, an error message will be displayed.</source>
<translation>When you change this setting, the text below should change to the name and type of your card. If the card cannot be opened, an error message will be displayed.</translation>
</message>
@@ -17228,131 +17345,131 @@
- <location filename="../libs/libmythtv/videosource.cpp" line="1526"/>
- <location filename="../libs/libmythtv/videosource.cpp" line="1744"/>
- <location filename="../libs/libmythtv/videosource.cpp" line="1892"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1118"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1555"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1777"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1909"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1121"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1558"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1780"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1912"/>
<source>Warning: already in use</source>
- <translation>Warning: already in use</translation>
+ <translation>Warning: Already in Use</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1107"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1146"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1149"/>
<source>Subtype</source>
<translation>Subtype</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1116"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1156"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1159"/>
<source>Frontend ID</source>
<translation>Frontend ID</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1127"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1168"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1171"/>
<source>Wait for SEQ start header.</source>
- <translation>Wait for SEQ start header.</translation>
+ <translation>Wait for SEQ Start Header</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1142"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1183"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1186"/>
<source>Open DVB card on demand</source>
- <translation>Open DVB card on demand</translation>
+ <translation>Open DVB Card on Demand</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1190"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1230"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1233"/>
<source>GUID</source>
<translation>GUID</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1215"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1254"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1257"/>
<source>Cable box model</source>
- <translation>Cable box model</translation>
+ <translation>Cable Box Model</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1815"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1849"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1852"/>
<source>URL of M3U containing RTSP/RTP/UDP channel URLs.</source>
<translation>URL of M3U containing RTSP/RTP/UDP channel URLs.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2994"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2915"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2925"/>
<source>DVB-T/S/C, ATSC or ISDB-T tuner card</source>
- <translation>DVB-T/S/C, ATSC or ISDB-T tuner card</translation>
+ <translation>DVB-T/S/C, ATSC or ISDB-T Tuner Card</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3002"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2923"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2933"/>
<source>HD-PVR H.264 encoder</source>
- <translation>HD-PVR H.264 encoder</translation>
+ <translation>HD-PVR H.264 Encoder</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3008"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2929"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2939"/>
<source>HDHomeRun networked tuner</source>
- <translation>HDHomeRun networked tuner</translation>
+ <translation>HDHomeRun Networked Tuner</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3023"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2944"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2954"/>
<source>Ceton Cablecard tuner</source>
- <translation>Ceton Cablecard tuner</translation>
+ <translation>Ceton Cablecard Tuner</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3027"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2948"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2958"/>
<source>IPTV recorder</source>
- <translation>IPTV recorder</translation>
+ <translation>IPTV Recorder</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3033"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2954"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2964"/>
<source>Analog to MPEG-2 encoder card (PVR-150/250/350, etc)</source>
- <translation>Analog to MPEG-2 encoder card (PVR-150/250/350, etc)</translation>
+ <translation>Analog to MPEG-2 Encoder Card (PVR-150/250/350, etc)</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3036"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2957"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2967"/>
<source>Analog to MJPEG encoder card (Matrox G200, DC10, etc)</source>
- <translation>Analog to MJPEG encoder card (Matrox G200, DC10, etc)</translation>
+ <translation>Analog to MJPEG Encoder Card (Matrox G200, DC10, etc)</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3038"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2959"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2969"/>
<source>Analog to MPEG-4 encoder (Plextor ConvertX USB, etc)</source>
- <translation>Analog to MPEG-4 encoder (Plextor ConvertX USB, etc)</translation>
+ <translation>Analog to MPEG-4 Encoder (Plextor ConvertX USB, etc)</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3041"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2962"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2972"/>
<source>Analog capture card</source>
- <translation>Analog capture card</translation>
+ <translation>Analog Capture Card</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3179"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3108"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3118"/>
<source>Generic</source>
<translation>Generic</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1233"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1272"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1275"/>
<source>Choose the model that most closely resembles your set top box. Depending on firmware revision SA4200HD may work better for a SA3250HD box.</source>
<translation>Choose the model that most closely resembles your set top box. Depending on firmware revision SA4200HD may work better for a SA3250HD box.</translation>
</message>
@@ -17369,7 +17486,7 @@
<source>You MUST run &apos;mythfilldatabase --manual&apos; the first time,
instead of just &apos;mythfilldatabase&apos;.
Your grabber does not provide channel numbers, so you have to set them manually.</source>
-@@ -18607,472 +19117,481 @@
+@@ -18607,472 +19237,475 @@
Your grabber does not provide channel numbers, so you have to set them manually.</translation>
</message>
<message>
@@ -17380,97 +17497,97 @@
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1037"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1076"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1079"/>
<source>DVB device</source>
- <translation>DVB device</translation>
+ <translation>DVB Device</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1216"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1255"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1258"/>
<source>Motorola Generic</source>
<translation>Motorola Generic</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1217"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1256"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1259"/>
<source>SA/Cisco Generic</source>
<translation>SA/Cisco Generic</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1274"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1313"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1316"/>
<source>Connection Type</source>
<translation>Connection Type</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1275"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1314"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1317"/>
<source>Point to Point</source>
<translation>Point to Point</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1287"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1326"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1329"/>
<source>Speed</source>
<translation>Speed</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1288"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1327"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1330"/>
<source>100Mbps</source>
<translation>100Mbps</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1289"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1328"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1331"/>
<source>200Mbps</source>
<translation>200Mbps</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1290"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1329"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1332"/>
<source>400Mbps</source>
<translation>400Mbps</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1291"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1330"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1333"/>
<source>800Mbps</source>
<translation>800Mbps</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1340"/>
- <location filename="../libs/libmythtv/videosource.cpp" line="1596"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1367"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1627"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1370"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1630"/>
<source>IP Address</source>
<translation>IP Address</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1376"/>
- <location filename="../libs/libmythtv/videosource.cpp" line="1628"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1403"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1659"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1406"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1662"/>
<source>Tuner</source>
<translation>Tuner</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1813"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1847"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1850"/>
<source>M3U URL</source>
<translation>M3U URL</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1850"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1867"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1870"/>
<source>ASI device</source>
- <translation>ASI device</translation>
+ <translation>ASI Device</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1909"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1926"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1929"/>
<source>Warning: unable to open</source>
- <translation>Warning: unable to open</translation>
+ <translation>Warning: Unable to Open</translation>
@@ -17485,147 +17602,147 @@
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2787"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2714"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2724"/>
<source>Capture Card Setup</source>
<translation>Capture Card Setup</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2984"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2905"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2915"/>
<source>Card type</source>
- <translation>Card type</translation>
+ <translation>Card Type</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2985"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2906"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2916"/>
<source>Change the cardtype to the appropriate type for the capture card you are configuring.</source>
- <translation>Change the cardtype to the appropriate type for the capture card you are configuring.</translation>
+ <translation>Change the card type to the appropriate type for the capture card you are configuring.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3018"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2939"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2949"/>
<source>FireWire cable box</source>
- <translation>FireWire cable box</translation>
+ <translation>FireWire Cable Box</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3045"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2966"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2976"/>
<source>DVEO ASI recorder</source>
- <translation>DVEO ASI recorder</translation>
+ <translation>DVEO ASI Recorder</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3109"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3038"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3048"/>
<source>Video source</source>
- <translation>Video source</translation>
+ <translation>Video Source</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3135"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3064"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3074"/>
<source>Leave as &apos;Generic&apos; unless this input is shared with another device. Only one of the inputs in an input group will be allowed to record at any given time.</source>
<translation>Leave as &apos;Generic&apos; unless this input is shared with another device. Only one of the inputs in an input group will be allowed to record at any given time.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3258"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3189"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3199"/>
<source>Use quick tuning</source>
- <translation>Use quick tuning</translation>
+ <translation>Use Quick Tuning</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3259"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3190"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3200"/>
<source>Never</source>
<translation>Never</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3260"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3191"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3201"/>
<source>Live TV only</source>
- <translation>Live TV only</translation>
+ <translation>Live TV Only</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3261"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3192"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3202"/>
<source>Always</source>
<translation>Always</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3280"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3209"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3219"/>
<source>External channel change command</source>
- <translation>External channel change command</translation>
+ <translation>External Channel Change Command</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3282"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3211"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3221"/>
<source>If specified, this command will be run to change the channel for inputs which have an external tuner device such as a cable box. The first argument will be the channel number.</source>
<translation>If specified, this command will be run to change the channel for inputs which have an external tuner device such as a cable box. The first argument will be the channel number.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3296"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3224"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3234"/>
<source>Preset tuner to channel</source>
- <translation>Preset tuner to channel</translation>
+ <translation>Preset Tuner to Channel</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3298"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3226"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3236"/>
<source>Leave this blank unless you have an external tuner that is connected to the tuner input of your card. If so, you will need to specify the preset channel for the signal (normally 3 or 4).</source>
<translation>Leave this blank unless you have an external tuner that is connected to the tuner input of your card. If so, you will need to specify the preset channel for the signal (normally 3 or 4).</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3349"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3278"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3288"/>
<source>Input priority</source>
- <translation>Input priority</translation>
+ <translation>Input Priority</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3351"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3280"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3290"/>
<source>If the input priority is not equal for all inputs, the scheduler may choose to record a show at a later time so that it can record on an input with a higher value.</source>
<translation>If the input priority is not equal for all inputs, the scheduler may choose to record a show at a later time so that it can record on an input with a higher value.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3365"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3294"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3304"/>
<source>Schedule order</source>
- <translation>Schedule order</translation>
+ <translation>Schedule Order</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3367"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3296"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3306"/>
<source>If priorities and other factors are equal the scheduler will choose the available input with the lowest, non-zero value. Setting this value to zero will make the input unavailable to the scheduler.</source>
- <translation>If priorities and other factors are equal the scheduler will choose the available input with the lowest, non-zero value. Setting this value to zero will make the input unavailable to the scheduler.</translation>
+ <translation>If priorities and other factors are equal the scheduler will choose the available input with the lowest, non-zero value. Setting this value to zero will make the input unavailable to the scheduler.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3382"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3311"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3321"/>
<source>Live TV order</source>
- <translation>Live TV order</translation>
+ <translation>Live TV Order</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3384"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3313"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3323"/>
<source>When entering Live TV, the available, local input with the lowest, non-zero value will be used. If no local inputs are available, the available, remote input with the lowest, non-zero value will be used. Setting this value to zero will make the input unavailable to live TV.</source>
- <translation>When entering Live TV, the available, local input with the lowest, non-zero value will be used. If no local inputs are available, the available, remote input with the lowest, non-zero value will be used. Setting this value to zero will make the input unavailable to live TV.</translation>
+ <translation>When entering Live TV, the available, local input with the lowest, non-zero value will be used. If no local inputs are available, the available, remote input with the lowest, non-zero value will be used. Setting this value to zero will make the input unavailable to live TV.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3404"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3333"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3343"/>
<source>If you point your satellite dish toward DishNet&apos;s birds, you may wish to enable this feature. For best results, enable general EIT collection as well.</source>
<translation>If you point your satellite dish toward DishNet&apos;s birds, you may wish to enable this feature. For best results, enable general EIT collection as well.</translation>
</message>
@@ -17637,48 +17754,48 @@
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3479"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3394"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3404"/>
<source>Interactions between inputs</source>
- <translation>Interactions between inputs</translation>
+ <translation>Interactions Between Inputs</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3485"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3407"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3417"/>
<source>Create a New Input Group</source>
<translation>Create a New Input Group</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3767"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3796"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3806"/>
<source>(New capture card)</source>
- <translation>(New capture card)</translation>
+ <translation>(New Capture Card)</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3768"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3797"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3807"/>
<source>(Delete all capture cards on %1)</source>
- <translation>(Delete all capture cards on %1)</translation>
+ <translation>(Delete All Capture Cards on %1)</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3770"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3800"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3810"/>
<source>(Delete all capture cards)</source>
- <translation>(Delete all capture cards)</translation>
+ <translation>(Delete All Capture Cards)</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3912"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3813"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3823"/>
<source>(New video source)</source>
- <translation>(New video source)</translation>
+ <translation>(New Video Source)</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3913"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3814"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3824"/>
<source>(Delete all video sources)</source>
- <translation>(Delete all video sources)</translation>
+ <translation>(Delete All Video Sources)</translation>
@@ -17704,11 +17821,6 @@
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="686"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="663"/>
-+ <source>This will usually only work with ATSC or DVB channels, and generally provides data only for the next few days.</source>
-+ <translation>This will usually only work with ATSC or DVB channels, and generally provides data only for the next few days.</translation>
-+ </message>
-+ <message>
+ <location filename="../libs/libmythtv/videosource.cpp" line="699"/>
<source>Video Source Setup</source>
<translation>Video Source Setup</translation>
@@ -17721,243 +17833,243 @@
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="926"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="967"/>
<source>Arguments</source>
- <translation>Arguments</translation>
+- <translation>Arguments</translation>
++ <translation type="vanished">Arguments</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="937"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="979"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="982"/>
<source>File path</source>
- <translation>File path</translation>
+ <translation>File Path</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="959"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1001"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1004"/>
<source>Device to read audio from, if audio is separate from the video.</source>
<translation>Device to read audio from, if audio is separate from the video.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="971"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1012"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1015"/>
<source>Signal timeout (ms)</source>
- <translation>Signal timeout (ms)</translation>
+ <translation>Signal Timeout (ms)</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="973"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1014"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1017"/>
<source>Maximum time (in milliseconds) MythTV waits for a signal when scanning for channels.</source>
<translation>Maximum time (in milliseconds) MythTV waits for a signal when scanning for channels.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="986"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1027"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1030"/>
<source>Tuning timeout (ms)</source>
- <translation>Tuning timeout (ms)</translation>
+ <translation>Tuning Timeout (ms)</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="988"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1029"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1032"/>
<source>Maximum time (in milliseconds) MythTV waits for a channel lock. For recordings, if this time is exceeded, the recording will be marked as failed.</source>
- <translation>Maximum time (in milliseconds) MythTV waits for a channel lock. For recordings, if this time is exceeded, the recording will be marked as failed.</translation>
+ <translation>Maximum time (in milliseconds) MythTV waits for a channel lock. For recordings, if this time is exceeded, the recording will be marked as failed.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1002"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1042"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1045"/>
<source>Force audio sampling rate</source>
- <translation>Force audio sampling rate</translation>
+ <translation>Force Audio Sampling Rate</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1004"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1044"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1047"/>
<source>If non-zero, override the audio sampling rate in the recording profile when this card is used. Use this if your capture card does not support all of the standard rates.</source>
- <translation>If non-zero, override the audio sampling rate in the recording profile when this card is used. Use this if your capture card does not support all of the standard rates.</translation>
+ <translation>If non-zero, override the audio sampling rate in the recording profile when this card is used. Use this if your capture card does not support all of the standard rates.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1130"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1171"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1174"/>
<source>If enabled, drop packets from the start of a DVB recording until a sequence start header is seen.</source>
<translation>If enabled, drop packets from the start of a DVB recording until a sequence start header is seen.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1145"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1186"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1189"/>
<source>If enabled, only open the DVB card when required, leaving it free for other programs at other times.</source>
<translation>If enabled, only open the DVB card when required, leaving it free for other programs at other times.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1157"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1198"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1201"/>
<source>Use DVB card for active EIT scan</source>
- <translation>Use DVB card for active EIT scan</translation>
+ <translation>Use DVB Card for Active EIT Scan</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1160"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1201"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1204"/>
<source>If enabled, activate active scanning for program data (EIT). When this option is enabled the DVB card is constantly in-use.</source>
<translation>If enabled, activate active scanning for program data (EIT). When this option is enabled the DVB card is constantly in-use.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1173"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1214"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1217"/>
<source>DVB tuning delay (ms)</source>
- <translation>DVB tuning delay (ms)</translation>
+ <translation>DVB Tuning Delay (ms)</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1176"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1217"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1220"/>
<source>Some Linux DVB drivers, in particular for the Hauppauge Nova-T, require that we slow down the tuning process by specifying a delay (in milliseconds).</source>
<translation>Some Linux DVB drivers, in particular for the Hauppauge Nova-T, require that we slow down the tuning process by specifying a delay (in milliseconds).</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1471"/>
- <location filename="../libs/libmythtv/videosource.cpp" line="1707"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1500"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1740"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1503"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1743"/>
<source>Available devices</source>
- <translation>Available devices</translation>
+ <translation>Available Devices</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1473"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1502"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1505"/>
<source>Device ID and Tuner Number of available HDHomeRun devices.</source>
<translation>Device ID and Tuner Number of available HDHomeRun devices.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1597"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1628"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1631"/>
<source>Device IP or ID of a VBox device. eg. &apos;192.168.1.100&apos; or &apos;vbox_3718&apos;</source>
<translation>Device IP or ID of a VBox device. eg. &apos;192.168.1.100&apos; or &apos;vbox_3718&apos;</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1629"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1660"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1663"/>
<source>Number and type of the tuner to use. eg &apos;1-DVBT/T2&apos;.</source>
<translation>Number and type of the tuner to use. eg &apos;1-DVBT/T2&apos;.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1709"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1742"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1745"/>
<source>Device IP or ID, tuner number and tuner type of available VBox devices.</source>
<translation>Device IP or ID, tuner number and tuner type of available VBox devices.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2701"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2053"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2056"/>
+ <source>Use HD HomeRun for active EIT scan</source>
+ <translation>Use HD HomeRun for Active EIT Scan</translation>
+ </message>
+ <message>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2056"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2059"/>
+ <source>If enabled, activate active scanning for program data (EIT). When this option is enabled the HD HomeRun is constantly in-use.</source>
+ <translation>If enabled, activate active scanning for program data (EIT). When this option is enabled the HD HomeRun is constantly in-use.</translation>
+ </message>
+ <message>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2646"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2656"/>
<source>V4L2 encoder devices (multirec capable)</source>
- <translation>V4L2 encoder devices (multirec capable)</translation>
+ <translation>V4L2 Encoder Devices (multirec capable)</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2999"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2920"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2930"/>
<source>V4L2 encoder</source>
- <translation>V4L2 encoder</translation>
+ <translation>V4L2 Encoder</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3013"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2934"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2944"/>
<source>V@Box TV Gateway networked tuner</source>
- <translation>V@Box TV Gateway networked tuner</translation>
+ <translation>V@Box TV Gateway Networked Tuner</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3048"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2969"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2979"/>
<source>Import test recorder</source>
- <translation>Import test recorder</translation>
+ <translation>Import Test Recorder</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3049"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2970"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2980"/>
<source>Demo test recorder</source>
- <translation>Demo test recorder</translation>
+ <translation>Demo Test Recorder</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3051"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2972"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2982"/>
<source>External (black box) recorder</source>
- <translation>External (black box) recorder</translation>
+ <translation>External (black box) Recorder</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3062"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2983"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2993"/>
<source>Input name</source>
- <translation>Input name</translation>
+ <translation>Input Name</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3094"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3014"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3024"/>
<source>Display name (optional)</source>
- <translation>Display name (optional)</translation>
+ <translation>Display Name (optional)</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3095"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3015"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3025"/>
<source>This name is displayed on screen when Live TV begins and when changing the selected input or card. If you use this, make sure the information is unique for each input.</source>
<translation>This name is displayed on screen when Live TV begins and when changing the selected input or card. If you use this, make sure the information is unique for each input.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3133"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3062"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3072"/>
<source>Input group</source>
- <translation>Input group</translation>
+ <translation>Input Group</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3262"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3193"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3203"/>
<source>If enabled, MythTV will tune using only the MPEG program number. The program numbers change more often than DVB or ATSC tuning parameters, so this is slightly less reliable. This will also inhibit EIT gathering during Live TV and recording.</source>
<translation>If enabled, MythTV will tune using only the MPEG program number. The program numbers change more often than DVB or ATSC tuning parameters, so this is slightly less reliable. This will also inhibit EIT gathering during Live TV and recording.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3401"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3330"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3340"/>
<source>Use DishNet long-term EIT data</source>
- <translation>Use DishNet long-term EIT data</translation>
+ <translation>Use DishNet Long-Term EIT Data</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3487"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3409"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3419"/>
<source>Input groups are only needed when two or more cards share the same resource such as a FireWire card and an analog card input controlling the same set top box.</source>
<translation>Input groups are only needed when two or more cards share the same resource such as a FireWire card and an analog card input controlling the same set top box.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="4237"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="4089"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="4099"/>
<source>Audio input</source>
- <translation>Audio input</translation>
+ <translation>Audio Input</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="4238"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="4090"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="4100"/>
<source>If there is more than one audio input, select which one to use.</source>
<translation>If there is more than one audio input, select which one to use.</translation>
</message>
@@ -18001,7 +18113,7 @@
<source>This is updated on every successful channel change.</source>
<translation>This is updated on every successful channel change.</translation>
</message>
-@@ -19082,48 +19601,48 @@
+@@ -19082,48 +19715,48 @@
<translation>The following programs will be recorded instead:</translation>
</message>
<message>
@@ -18062,12 +18174,12 @@
</message>
<message>
<location filename="../programs/mythfrontend/setupwizard_audio.cpp" line="295"/>
-@@ -19136,24 +19655,23 @@
+@@ -19136,24 +19769,23 @@
<translation>Audio device is invalid or not useable.</translation>
</message>
<message>
- <location filename="../libs/libmyth/programinfo.cpp" line="3126"/>
-+ <location filename="../libs/libmyth/programinfo.cpp" line="3149"/>
++ <location filename="../libs/libmyth/programinfo.cpp" line="3140"/>
<source>Delete</source>
<translation>Delete</translation>
</message>
@@ -18079,7 +18191,7 @@
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="759"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="831"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="832"/>
<source>Use &apos;mythfilldatabase&apos; or the name of a custom script that will populate the program guide info for all your video sources.</source>
<translation>Use &apos;mythfilldatabase&apos; or the name of a custom script that will populate the program guide info for all your video sources.</translation>
</message>
@@ -18091,7 +18203,7 @@
</message>
<message>
<location filename="../libs/libmyth/mythmediamonitor.cpp" line="37"/>
-@@ -19161,12 +19679,12 @@
+@@ -19161,12 +19793,12 @@
<translation>Media Monitor</translation>
</message>
<message>
@@ -18106,7 +18218,7 @@
<source>You may have to use the eject button under its tray</source>
<translation>You may have to use the eject button under its tray</translation>
</message>
-@@ -19182,722 +19700,770 @@
+@@ -19182,722 +19814,769 @@
</message>
<message>
<location filename="../programs/mythtranscode/main.cpp" line="97"/>
@@ -18137,10 +18249,10 @@
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="109"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="187"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="188"/>
<source>IP address</source>
- <translation>IP address</translation>
-+ <translation>Ip Address</translation>
++ <translation>IP Address</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="26"/>
@@ -18162,245 +18274,245 @@
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="144"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="129"/>
+ <source>Listen on All IP Addresses</source>
-+ <translation>Listen on All IP Addresses</translation>
++ <translation type="vanished">Listen on All IP Addresses</translation>
+ </message>
+ <message>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="170"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="171"/>
+ <source>Primary IP address / DNS name</source>
+ <translation>Primary IP Address/DNS Name</translation>
+ </message>
+ <message>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="172"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="173"/>
+ <source>The Primary IP address of this backend server. You can select an IP address from the list or type a DNS name or host name. Other systems will contact this server using this address. If you use a host name make sure it is assigned an ip address other than 127.0.0.1 in the hosts file.</source>
-+ <translation>The Primary IP address of this backend server. You can select an IP address from the list or type a DNS name or hostname. Other systems will contact this server using this address. If you use a hostname make sure it is assigned an ip address other than 127.0.0.1 in the hosts file.</translation>
++ <translation>The Primary IP address of this backend server. You can select an IP address from the list or type a DNS name or hostname. Other systems will contact this server using this address. If you use a hostname make sure it is assigned an IP address other than 127.0.0.1 in the hosts file.</translation>
+ </message>
+ <message>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="216"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="217"/>
<source>TV format</source>
- <translation>TV format</translation>
+ <translation>TV Format</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="150"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="222"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="223"/>
<source>The TV standard to use for viewing TV.</source>
<translation>The TV standard to use for viewing TV.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="157"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="229"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="230"/>
<source>VBI format</source>
- <translation>VBI format</translation>
+ <translation>VBI Format</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="184"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="256"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="257"/>
<source>Save original files after transcoding (globally)</source>
- <translation>Save original files after transcoding (globally)</translation>
+- <translation>Save original files after transcoding (globally)</translation>
++ <translation>Save Original Files After Transcoding (Globally)</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="195"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="267"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="268"/>
<source>Delete files slowly</source>
- <translation>Delete files slowly</translation>
+ <translation>Delete Files Slowly</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="207"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="279"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="280"/>
<source>Follow symbolic links when deleting files</source>
- <translation>Follow symbolic links when deleting files</translation>
+ <translation>Follow Symbolic Links When Deleting Files</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="237"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="309"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="310"/>
<source>Combination</source>
<translation>Combination</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="263"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="335"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="336"/>
<source>By default, MythTV resets the FireWire bus when a FireWire recorder stops responding to commands. If this causes problems, you can disable this behavior here.</source>
<translation>By default, MythTV resets the FireWire bus when a FireWire recorder stops responding to commands. If this causes problems, you can disable this behavior here.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="314"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="386"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="387"/>
<source>The minimum number of seconds after a recorder becomes idle to wait before MythTV begins collecting EIT listings data.</source>
<translation>The minimum number of seconds after a recorder becomes idle to wait before MythTV begins collecting EIT listings data.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="324"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="396"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="397"/>
<source>Delay between wake attempts (secs)</source>
- <translation>Delay between wake attempts (secs)</translation>
+ <translation>Delay Between Wake Attempts (secs)</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="337"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="409"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="410"/>
<source>Number of times the frontend will try to wake up the master backend.</source>
<translation>Number of times the frontend will try to wake up the master backend.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="358"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="420"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="421"/>
+ <source>The command used to wake up your master backend server (e.g. wakeonlan 00:00:00:00:00:00).</source>
+ <translation>The command used to wake up your master backend server (e.g. wakeonlan 00:00:00:00:00:00).</translation>
+ </message>
+ <message>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="430"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="431"/>
<source>The command used to put this slave to sleep. If set, the master backend will use this command to put this slave to sleep when it is not needed for recording.</source>
<translation>The command used to put this slave to sleep. If set, the master backend will use this command to put this slave to sleep when it is not needed for recording.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="400"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="472"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="473"/>
<source>Idle shutdown timeout (secs)</source>
- <translation>Idle shutdown timeout (secs)</translation>
+ <translation>Idle Shutdown Timeout (secs)</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="413"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="485"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="486"/>
<source>The number of minutes the master backend waits for a recording. If the backend is idle but a recording starts within this time period, it won&apos;t shut down.</source>
<translation>The number of minutes the master backend waits for a recording. If the backend is idle but a recording starts within this time period, it won&apos;t shut down.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="433"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="505"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="506"/>
<source>Wakeup time format</source>
- <translation>Wakeup time format</translation>
+ <translation>Wakeup Time Format</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="447"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="519"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="520"/>
<source>The command used to set the wakeup time (passed as $time) for the Master Backend</source>
<translation>The command used to set the wakeup time (passed as $time) for the Master Backend</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="455"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="527"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="528"/>
<source>Server halt command</source>
- <translation>Server halt command</translation>
+ <translation>Server Halt Command</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="457"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="529"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="530"/>
<source>The command used to halt the backends.</source>
<translation>The command used to halt the backends.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="466"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="538"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="539"/>
<source>A command executed before the backend would shutdown. The return value determines if the backend can shutdown. 0 - yes, 1 - restart idling, 2 - reset the backend to wait for a frontend.</source>
<translation>A command executed before the backend would shutdown. The return value determines if the backend can shutdown. 0 - yes, 1 - restart idling, 2 - reset the backend to wait for a frontend.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="477"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="549"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="550"/>
<source>Block shutdown before client connected</source>
- <translation>Block shutdown before client connected</translation>
+ <translation>Block Shutdown Before Client Connected</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="487"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="559"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="560"/>
<source>Startup command</source>
- <translation>Startup command</translation>
+ <translation>Startup Command</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="489"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="561"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="562"/>
<source>This command is executed right after starting the BE. As a parameter &apos;$status&apos; is replaced by either &apos;auto&apos; if the machine was started automatically or &apos;user&apos; if a user switched it on.</source>
<translation>This command is executed right after starting the BE. As a parameter &apos;$status&apos; is replaced by either &apos;auto&apos; if the machine was started automatically or &apos;user&apos; if a user switched it on.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="499"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="571"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="572"/>
<source>Maximum simultaneous jobs on this backend</source>
- <translation>Maximum simultaneous jobs on this backend</translation>
+ <translation>Maximum Simultaneous Jobs on This Backend</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="500"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="572"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="573"/>
<source>The Job Queue will be limited to running this many simultaneous jobs on this backend.</source>
<translation>The Job Queue will be limited to running this many simultaneous jobs on this backend.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="520"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="592"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="593"/>
<source>Low</source>
<translation>Low</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="521"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="593"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="594"/>
<source>Medium</source>
<translation>Medium</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="592"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="664"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="665"/>
<source>The command to run whenever this User Job number is scheduled.</source>
<translation>The command to run whenever this User Job number is scheduled.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="602"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="674"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="675"/>
<source>User Job #%1</source>
<translation>User Job #%1</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="640"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="712"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="713"/>
<source>Transcoder command</source>
- <translation>Transcoder command</translation>
+ <translation>Transcoder Command</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="642"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="714"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="715"/>
<source>The program used to transcode recordings. The default is &apos;mythtranscode&apos; if this setting is empty.</source>
<translation>The program used to transcode recordings. The default is &apos;mythtranscode&apos; if this setting is empty.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="662"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="734"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="735"/>
<source>Allow %1 jobs</source>
<translation>Allow %1 jobs</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="685"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="757"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="758"/>
<source>If enabled, the master backend will include the list of recorded shows in the list of videos. This is mainly to accommodate UPnP players which do not allow more than 1 video section.</source>
- <translation>If enabled, the master backend will include the list of recorded shows in the list of videos. This is mainly to accommodate UPnP players which do not allow more than 1 video section.</translation>
+ <translation>If enabled, the master backend will include the list of recorded shows in the list of videos. This is mainly to accommodate UPnP players which do not allow more than 1 video section.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="697"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="769"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="770"/>
<source>Recordings</source>
<translation>Recordings</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="698"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="770"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="771"/>
<source>Videos</source>
<translation>Videos</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="90"/>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="124"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="151"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="152"/>
<source>Unless you&apos;ve got good reason, don&apos;t change this.</source>
<translation>Unless you&apos;ve got good reason, don&apos;t change this.</translation>
</message>
@@ -18413,14 +18525,14 @@
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="98"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="159"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="160"/>
<source>Status port</source>
- <translation>Status port</translation>
+ <translation>Status Port</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="100"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="161"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="162"/>
<source>Port on which the server will listen for HTTP requests, including backend status and MythXML requests.</source>
<translation>Port on which the server will listen for HTTP requests, including backend status and MythXML requests.</translation>
</message>
@@ -18432,206 +18544,206 @@
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="132"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="204"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="205"/>
<source>Security PIN (required)</source>
<translation>Security PIN (required)</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="134"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="206"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="207"/>
<source>PIN code required for a frontend to connect to the backend. Blank prevents all connections; 0000 allows any client to connect.</source>
<translation>PIN code required for a frontend to connect to the backend. Blank prevents all connections; 0000 allows any client to connect.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="161"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="233"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="234"/>
<source>The VBI (Vertical Blanking Interval) is used to carry Teletext or Closed Captioning data.</source>
<translation>The VBI (Vertical Blanking Interval) is used to carry Teletext or Closed Captioning data.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="175"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="247"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="248"/>
<source>Select the appropriate frequency table for your system. If you have an antenna, use a &quot;-bcast&quot; frequency.</source>
<translation>Select the appropriate frequency table for your system. If you have an antenna, use a &quot;-bcast&quot; frequency.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="186"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="258"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="259"/>
<source>If enabled and the transcoder is active, the original files will be renamed to .old once the transcoding is complete.</source>
<translation>If enabled and the transcoder is active, the original files will be renamed to .old once the transcoding is complete.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="197"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="269"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="270"/>
<source>Some filesystems use a lot of resources when deleting large files. If enabled, this option makes MythTV delete files slowly on this backend to lessen the impact.</source>
<translation>Some filesystems use a lot of resources when deleting large files. If enabled, this option makes MythTV delete files slowly on this backend to lessen the impact.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="209"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="281"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="282"/>
<source>If enabled, MythTV will follow symlinks when recordings and related files are deleted, instead of deleting the symlink and leaving the actual file.</source>
<translation>If enabled, MythTV will follow symlinks when recordings and related files are deleted, instead of deleting the symlink and leaving the actual file.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="219"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="291"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="292"/>
<source>HD ringbuffer size (kB)</source>
- <translation>HD ringbuffer size (kB)</translation>
+ <translation>HD Ringbuffer Size (kB)</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="220"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="292"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="293"/>
<source>The HD device ringbuffer allows the backend to weather moments of stress. The larger the ringbuffer (in kilobytes), the longer the moments of stress can be. However, setting the size too large can cause swapping, which is detrimental.</source>
<translation>The HD device ringbuffer allows the backend to weather moments of stress. The larger the ringbuffer (in kilobytes), the longer the moments of stress can be. However, setting the size too large can cause swapping, which is detrimental.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="233"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="305"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="306"/>
<source>Storage Group disk scheduler</source>
- <translation>Storage Group disk scheduler</translation>
+ <translation>Storage Group Disk Scheduler</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="234"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="306"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="307"/>
<source>Balanced free space</source>
- <translation>Balanced free space</translation>
+ <translation>Balanced Free Space</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="235"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="307"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="308"/>
<source>Balanced percent free space</source>
- <translation>Balanced percent free space</translation>
+ <translation>Balanced Percent Free Space</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="236"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="308"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="309"/>
<source>Balanced disk I/O</source>
- <translation>Balanced disk I/O</translation>
+ <translation>Balanced Disk I/O</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="239"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="311"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="312"/>
<source>This setting controls how the Storage Group scheduling code will balance new recordings across directories. &apos;Balanced Free Space&apos; is the recommended method for most users.</source>
<translation>This setting controls how the Storage Group scheduling code will balance new recordings across directories. &apos;Balanced Free Space&apos; is the recommended method for most users.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="249"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="321"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="322"/>
<source>Disable automatic database backup</source>
- <translation>Disable automatic database backup</translation>
+ <translation>Disable Automatic Database Backup</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="251"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="323"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="324"/>
<source>If enabled, MythTV will not backup the database before upgrades. You should therefore have your own database backup strategy in place.</source>
<translation>If enabled, MythTV will not backup the database before upgrades. You should therefore have your own database backup strategy in place.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="261"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="333"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="334"/>
<source>Disable FireWire reset</source>
- <translation>Disable FireWire reset</translation>
+ <translation>Disable FireWire Reset</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="275"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="347"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="348"/>
<source>Miscellaneous status application</source>
- <translation>Miscellaneous status application</translation>
+ <translation>Miscellaneous Status Application</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="277"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="349"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="350"/>
<source>External application or script that outputs extra information for inclusion in the backend status page. See http://www.mythtv.org/wiki/Miscellaneous_Status_Information</source>
<translation>External application or script that outputs extra information for inclusion in the backend status page. See http://www.mythtv.org/wiki/Miscellaneous_Status_Information</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="700"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="772"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="773"/>
<source>Which tree to show a Windows Media Player client when it requests a list of videos.</source>
<translation>Which tree to show a Windows Media Player client when it requests a list of videos.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="708"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="780"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="781"/>
<source>Automatically update program listings</source>
- <translation>Automatically update program listings</translation>
+ <translation>Automatically Update Program Listings</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="710"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="782"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="783"/>
<source>If enabled, the guide data program will be run automatically.</source>
<translation>If enabled, the guide data program will be run automatically.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="718"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="790"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="791"/>
<source>Guide data program execution start</source>
- <translation>Guide data program execution start</translation>
+ <translation>Guide Data Program Execution Start</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="720"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="792"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="793"/>
<source>This setting and the following one define a time period when the guide data program is allowed to run. For example, setting start to 11 and end to 13 would mean that the program would only run between 11:00 AM and 1:59 PM.</source>
<translation>This setting and the following one define a time period when the guide data program is allowed to run. For example, setting start to 11 and end to 13 would mean that the program would only run between 11:00 AM and 1:59 PM.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="731"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="803"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="804"/>
<source>Guide data program execution end</source>
- <translation>Guide data program execution end</translation>
+ <translation>Guide Data Program Execution End</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="733"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="805"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="806"/>
<source>This setting and the preceding one define a time period when the guide data program is allowed to run. For example, setting start to 11 and end to 13 would mean that the program would only run between 11:00 AM and 1:59 PM.</source>
<translation>This setting and the preceding one define a time period when the guide data program is allowed to run. For example, setting start to 11 and end to 13 would mean that the program would only run between 11:00 AM and 1:59 PM.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="744"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="816"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="817"/>
<source>Run guide data program at time suggested by the grabber.</source>
<translation>Run guide data program at time suggested by the grabber.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="747"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="819"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="820"/>
<source>If enabled, allow a DataDirect guide data provider to specify the next download time in order to distribute load on their servers. Guide data program execution start/end times are also ignored.</source>
<translation>If enabled, allow a DataDirect guide data provider to specify the next download time in order to distribute load on their servers. Guide data program execution start/end times are also ignored.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="757"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="829"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="830"/>
<source>Guide data program</source>
- <translation>Guide data program</translation>
+ <translation>Guide Data Program</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="769"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="841"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="842"/>
<source>Guide data arguments</source>
- <translation>Guide data arguments</translation>
+ <translation>Guide Data Arguments</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="771"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="843"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="844"/>
<source>Any arguments you want passed to the guide data program.</source>
<translation>Any arguments you want passed to the guide data program.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="782"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="853"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="854"/>
<source>Program Schedule Downloading Options</source>
<translation>Program Schedule Downloading Options</translation>
</message>
@@ -18650,46 +18762,46 @@
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="287"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="359"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="360"/>
<source>EIT transport timeout (mins)</source>
- <translation>EIT transport timeout (mins)</translation>
+ <translation>EIT Transport Timeout (mins)</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="289"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="361"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="362"/>
<source>Maximum time to spend waiting (in minutes) for listings data on one digital TV channel before checking for new listings data on the next channel.</source>
<translation>Maximum time to spend waiting (in minutes) for listings data on one digital TV channel before checking for new listings data on the next channel.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="300"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="372"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="373"/>
<source>Master backend override</source>
- <translation>Master backend override</translation>
+ <translation>Master Backend Override</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="302"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="374"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="375"/>
<source>If enabled, the master backend will stream and delete files if it finds them in a storage directory. Useful if you are using a central storage location, like a NFS share, and your slave backend isn&apos;t running.</source>
<translation>If enabled, the master backend will stream and delete files if it finds them in a storage directory. Useful if you are using a central storage location, like a NFS share, and your slave backend isn&apos;t running.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="312"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="384"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="385"/>
<source>Backend idle before EIT crawl (secs)</source>
- <translation>Backend idle before EIT crawl (secs)</translation>
+ <translation>Backend Idle Before EIT Crawl (secs)</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="326"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="398"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="399"/>
<source>Length of time the frontend waits between tries to wake up the master backend. This should be the time your master backend needs to startup. Set to 0 to disable.</source>
<translation>Length of time the frontend waits between tries to wake up the master backend. This should be the time your master backend needs to startup. Set to 0 to disable.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="336"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="408"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="409"/>
<source>Wake attempts</source>
- <translation>Wake attempts</translation>
+ <translation>Wake Attempts</translation>
@@ -18702,216 +18814,216 @@
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="356"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="428"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="429"/>
<source>Sleep command</source>
- <translation>Sleep command</translation>
+ <translation>Sleep Command</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="369"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="441"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="442"/>
<source>The command used to wake up this slave from sleep. This setting is not used on the master backend.</source>
<translation>The command used to wake up this slave from sleep. This setting is not used on the master backend.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="378"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="450"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="451"/>
<source>Backend stop command</source>
- <translation>Backend stop command</translation>
+ <translation>Backend Stop Command</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="380"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="452"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="453"/>
<source>The command used to stop the backend when running on the master backend server (e.g. sudo /etc/init.d/mythtv-backend stop)</source>
<translation>The command used to stop the backend when running on the master backend server (e.g. sudo /etc/init.d/mythtv-backend stop)</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="389"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="461"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="462"/>
<source>Backend start command</source>
- <translation>Backend start command</translation>
+ <translation>Backend Start Command</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="391"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="463"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="464"/>
<source>The command used to start the backend when running on the master backend server (e.g. sudo /etc/init.d/mythtv-backend start).</source>
<translation>The command used to start the backend when running on the master backend server (e.g. sudo /etc/init.d/mythtv-backend start).</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="402"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="474"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="475"/>
<source>The number of seconds the master backend idles before it shuts down all other backends. Set to 0 to disable automatic shutdown.</source>
<translation>The number of seconds the master backend idles before it shuts down all other backends. Set to 0 to disable automatic shutdown.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="411"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="483"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="484"/>
<source>Maximum wait for recording (mins)</source>
- <translation>Maximum wait for recording (mins)</translation>
+ <translation>Maximum Wait for Recording (mins)</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="423"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="495"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="496"/>
<source>Startup before recording (secs)</source>
- <translation>Startup before recording (secs)</translation>
+ <translation>Startup Before Recording (secs)</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="425"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="497"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="498"/>
<source>The number of seconds the master backend will be woken up before a recording starts.</source>
<translation>The number of seconds the master backend will be woken up before a recording starts.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="435"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="507"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="508"/>
<source>The format of the time string passed to the &apos;Command to set wakeup time&apos; as $time. See QT::QDateTime.toString() for details. Set to &apos;time_t&apos; for seconds since epoch.</source>
<translation>The format of the time string passed to the &apos;Command to set wakeup time&apos; as $time. See QT::QDateTime.toString() for details. Set to &apos;time_t&apos; for seconds since epoch.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="445"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="517"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="518"/>
<source>Command to set wakeup time</source>
- <translation>Command to set wakeup time</translation>
+ <translation>Command to Set Wakeup Time</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="464"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="536"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="537"/>
<source>Pre-shutdown-check command</source>
- <translation>Pre-shutdown-check command</translation>
+ <translation>Pre-shutdown Check Command</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="479"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="551"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="552"/>
<source>If enabled, the automatic shutdown routine will be disabled until a client connects.</source>
<translation>If enabled, the automatic shutdown routine will be disabled until a client connects.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="509"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="581"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="582"/>
<source>Job Queue check frequency (secs)</source>
- <translation>Job Queue check frequency (secs)</translation>
+ <translation>Job Queue Check Frequency (secs)</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="510"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="582"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="583"/>
<source>When looking for new jobs to process, the Job Queue will wait this many seconds between checks.</source>
<translation>When looking for new jobs to process, the Job Queue will wait this many seconds between checks.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="519"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="591"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="592"/>
<source>CPU usage</source>
- <translation>CPU usage</translation>
+ <translation>CPU Usage</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="523"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="595"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="596"/>
<source>This setting controls approximately how much CPU jobs in the queue may consume. On &apos;High&apos;, all available CPU time may be used, which could cause problems on slower systems.</source>
<translation>This setting controls approximately how much CPU jobs in the queue may consume. On &apos;High&apos;, all available CPU time may be used, which could cause problems on slower systems.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="533"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="605"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="606"/>
<source>Job Queue start time</source>
- <translation>Job Queue start time</translation>
+ <translation>Job Queue Start Time</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="534"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="606"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="607"/>
<source>This setting controls the start of the Job Queue time window, which determines when new jobs will be started.</source>
<translation>This setting controls the start of the Job Queue time window, which determines when new jobs will be started.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="543"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="615"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="616"/>
<source>Job Queue end time</source>
- <translation>Job Queue end time</translation>
+ <translation>Job Queue End Time</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="544"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="616"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="617"/>
<source>This setting controls the end of the Job Queue time window, which determines when new jobs will be started.</source>
<translation>This setting controls the end of the Job Queue time window, which determines when new jobs will be started.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="553"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="625"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="626"/>
<source>Run jobs only on original recording backend</source>
- <translation>Run jobs only on original recording backend</translation>
+ <translation>Run Jobs Only on Original Recording Backend</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="555"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="627"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="628"/>
<source>If enabled, jobs in the queue will be required to run on the backend that made the original recording.</source>
<translation>If enabled, jobs in the queue will be required to run on the backend that made the original recording.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="564"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="636"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="637"/>
<source>Run transcode jobs before auto commercial detection</source>
- <translation>Run transcode jobs before auto commercial detection</translation>
+ <translation>Run Transcode Jobs Before Auto Commercial Detection</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="567"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="639"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="640"/>
<source>If enabled, and if both auto-transcode and commercial detection are turned ON for a recording, transcoding will run first; otherwise, commercial detection runs first.</source>
<translation>If enabled, and if both auto-transcode and commercial detection are turned ON for a recording, transcoding will run first; otherwise, commercial detection runs first.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="577"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="649"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="650"/>
<source>Start auto-commercial-detection jobs when the recording starts</source>
- <translation>Start auto-commercial-detection jobs when the recording starts</translation>
+ <translation>Start Auto Commercial Detection Jobs When the Recording Starts</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="580"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="652"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="653"/>
<source>If enabled, and Auto Commercial Detection is ON for a recording, the flagging job will be started as soon as the recording starts. NOT recommended on underpowered systems.</source>
<translation>If enabled, and Auto Commercial Detection is ON for a recording, the flagging job will be started as soon as the recording starts. NOT recommended on underpowered systems.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="590"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="662"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="663"/>
<source>User Job #%1 command</source>
- <translation>User Job #%1 command</translation>
+ <translation>User Job #%1 Command</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="601"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="673"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="674"/>
<source>User Job #%1 description</source>
- <translation>User Job #%1 description</translation>
+ <translation>User Job #%1 Description</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="603"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="675"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="676"/>
<source>The description for this User Job.</source>
<translation>The description for this User Job.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="610"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="682"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="683"/>
<source>Allow metadata lookup jobs</source>
- <translation>Allow metadata lookup jobs</translation>
+ <translation>Allow Metadata Lookup Jobs</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="620"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="692"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="693"/>
<source>Allow commercial-detection jobs</source>
- <translation>Allow commercial-detection jobs</translation>
+ <translation>Allow Commercial Detection Jobs</translation>
@@ -18921,66 +19033,74 @@
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="622"/>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="632"/>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="674"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="684"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="694"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="704"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="746"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="685"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="695"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="705"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="747"/>
<source>If enabled, allow jobs of this type to run on this backend.</source>
<translation>If enabled, allow jobs of this type to run on this backend.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="630"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="702"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="703"/>
<source>Allow transcoding jobs</source>
- <translation>Allow transcoding jobs</translation>
+ <translation>Allow Transcoding Jobs</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="650"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="722"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="723"/>
<source>Commercial-detection command</source>
- <translation>Commercial-detection command</translation>
+ <translation>Commercial Detection Command</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="652"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="724"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="725"/>
<source>The program used to detect commercials in a recording. The default is &apos;mythcommflag&apos; if this setting is empty.</source>
<translation>The program used to detect commercials in a recording. The default is &apos;mythcommflag&apos; if this setting is empty.</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="683"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="755"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="756"/>
<source>Include recordings in video list</source>
- <translation>Include recordings in video list</translation>
+ <translation>Include Recordings in Video List</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="696"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="768"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="769"/>
<source>Video content to show a WMP client</source>
- <translation>Video content to show a WMP client</translation>
+ <translation>Video Content to Show a WMP Client</translation>
-+ </message>
-+ <message>
-+ <source>Host Address Backend Setup</source>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="804"/>
+ <source>Host Address Backend Setup</source>
+- <translation>Host Address Backend Setup</translation>
+ <translation type="vanished">Host Address Backend Setup</translation>
-+ </message>
-+ <message>
-+ <source>Local Backend</source>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="806"/>
+ <source>Local Backend</source>
+- <translation>Local Backend</translation>
+ <translation type="vanished">Local Backend</translation>
-+ </message>
-+ <message>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="963"/>
-+ <source>Master Backend</source>
-+ <translation>Master Backend</translation>
-+ </message>
-+ <message>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="913"/>
-+ <source>Locale Settings</source>
-+ <translation>Locale Settings</translation>
-+ </message>
-+ <message>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="830"/>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="894"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="964"/>
+ <source>Master Backend</source>
+ <translation>Master Backend</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="841"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="914"/>
+ <source>Locale Settings</source>
+ <translation>Locale Settings</translation>
+ </message>
+ <message>
+- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="848"/>
+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="15"/>
+ <source>This server is the Master Backend</source>
+ <translation>This Server is the Master Backend</translation>
@@ -18994,108 +19114,94 @@
+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="30"/>
+ <source>Master Backend Name</source>
+ <translation>Master Backend Name</translation>
- </message>
- <message>
-- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="804"/>
-- <source>Host Address Backend Setup</source>
-- <translation>Host Address Backend Setup</translation>
++ </message>
++ <message>
+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="33"/>
+ <source>Host name of Master Backend. This is set by selecting &quot;This server is the Master Backend&quot; on that server.</source>
+ <translation>Host name of master backend. This is set by selecting &quot;This server is the master backend&quot; on that server.</translation>
- </message>
- <message>
-- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="806"/>
-- <source>Local Backend</source>
-- <translation>Local Backend</translation>
++ </message>
++ <message>
+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="42"/>
+ <source>Allow Connections from all Subnets</source>
+ <translation>Allow Connections from All Subnets</translation>
- </message>
- <message>
-- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="830"/>
-- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="894"/>
-- <source>Master Backend</source>
-- <translation>Master Backend</translation>
++ </message>
++ <message>
+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="44"/>
+ <source>Allow this backend to receive connections from any IP address on the internet. NOT recommended for most users. Use this only if you have secure IPV4 and IPV6 firewalls.</source>
+ <translation>Allow this backend to receive connections from any IP address on the internet. NOT recommended for most users. Use this only if you have secure IPV4 and IPV6 firewalls.</translation>
- </message>
- <message>
-- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="841"/>
-- <source>Locale Settings</source>
-- <translation>Locale Settings</translation>
++ </message>
++ <message>
+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="76"/>
+ <source>Listen on IPv6 address</source>
+ <translation>Listen on IPv6 Address</translation>
- </message>
- <message>
-- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="848"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="920"/>
++ </message>
++ <message>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="921"/>
<source>Miscellaneous Settings</source>
<translation>Miscellaneous Settings</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="851"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="923"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="924"/>
<source>File Management Settings</source>
<translation>File Management Settings</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="872"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="941"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="942"/>
<source>EIT Scanner Options</source>
<translation>EIT Scanner Options</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="878"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="947"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="948"/>
<source>Shutdown/Wakeup Options</source>
<translation>Shutdown/Wakeup Options</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="891"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="960"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="961"/>
<source>Backend Wakeup settings</source>
- <translation>Backend Wakeup settings</translation>
+ <translation>Backend Wakeup Settings</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="901"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="970"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="971"/>
<source>Slave Backends</source>
<translation>Slave Backends</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="908"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="977"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="978"/>
<source>Backend Control</source>
<translation>Backend Control</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="914"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="983"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="984"/>
<source>Job Queue (Backend-Specific)</source>
<translation>Job Queue (Backend-Specific)</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="941"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="999"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="1000"/>
<source>Job Queue (Global)</source>
<translation>Job Queue (Global)</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="951"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="1009"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="1010"/>
<source>Job Queue (Job Commands)</source>
<translation>Job Queue (Job Commands)</translation>
</message>
<message>
- <location filename="../programs/mythtv-setup/backendsettings.cpp" line="862"/>
-+ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="931"/>
++ <location filename="../programs/mythtv-setup/backendsettings.cpp" line="932"/>
<source>UPnP Server Settings</source>
<translation>UPnP Server Settings</translation>
</message>
-@@ -19915,12 +20481,12 @@
+@@ -19915,12 +20594,12 @@
<location filename="../programs/mythtv-setup/checksetup.cpp" line="62"/>
<location filename="../programs/mythtv-setup/checksetup.cpp" line="86"/>
<source>No Storage Group directories are defined. You must add at least one directory to the Default Storage Group where new recordings will be stored.</source>
@@ -19110,7 +19216,7 @@
</message>
<message>
<location filename="../programs/mythtv-setup/checksetup.cpp" line="217"/>
-@@ -19928,12 +20494,12 @@
+@@ -19928,12 +20607,12 @@
<translation>Card %1 (type %2) is set to start on channel %3, which does not exist.</translation>
</message>
<message>
@@ -19126,7 +19232,7 @@
<source>MythTV Setup</source>
<translation>MythTV Setup</translation>
</message>
-@@ -19971,19 +20537,19 @@
+@@ -19971,19 +20650,19 @@
<translation>Backlinks</translation>
</message>
<message>
@@ -19149,7 +19255,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/videolist.cpp" line="646"/>
-@@ -19994,7 +20560,7 @@
+@@ -19994,7 +20673,7 @@
<message>
<location filename="../programs/mythfrontend/videolist.cpp" line="656"/>
<source>No files found</source>
@@ -19158,7 +19264,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/videolist.cpp" line="952"/>
-@@ -20075,57 +20641,57 @@
+@@ -20075,57 +20754,57 @@
<translation>videos</translation>
</message>
<message>
@@ -19227,7 +19333,7 @@
<source>%1 KB</source>
<translation>%1 KB</translation>
</message>
-@@ -20150,17 +20716,17 @@
+@@ -20150,17 +20829,17 @@
<message>
<location filename="../libs/libmyth/recordingtypes.cpp" line="251"/>
<source>Match duplicates using subtitle &amp; description</source>
@@ -19248,7 +19354,7 @@
</message>
<message>
<location filename="../libs/libmyth/recordingtypes.cpp" line="230"/>
-@@ -20180,22 +20746,22 @@
+@@ -20180,22 +20859,22 @@
<message>
<location filename="../libs/libmyth/recordingtypes.cpp" line="249"/>
<source>Match duplicates using description</source>
@@ -19275,7 +19381,7 @@
</message>
<message>
<location filename="../libs/libmyth/recordingtypes.cpp" line="160"/>
-@@ -20221,90 +20787,90 @@
+@@ -20221,90 +20900,90 @@
<message>
<location filename="../libs/libmyth/recordingtypes.cpp" line="179"/>
<source>Look for duplicates in previous recordings only</source>
@@ -19398,7 +19504,7 @@
<source>Run &apos;%1&apos;</source>
<translation>Run &apos;%1&apos;</translation>
</message>
-@@ -20335,97 +20901,97 @@
+@@ -20335,97 +21014,97 @@
<translation>SetParameters() called with handle == NULL!</translation>
</message>
<message>
@@ -19518,7 +19624,7 @@
<source>film</source>
<translation>film</translation>
</message>
-@@ -20433,56 +20999,56 @@
+@@ -20433,56 +21112,56 @@
<location filename="../programs/mythshutdown/main.cpp" line="72"/>
<source>Error: Database not open while trying to load setting: %1</source>
<comment>mythshutdown</comment>
@@ -19559,7 +19665,7 @@
<source>Grabbing EPG data in progress...</source>
<comment>mythshutdown</comment>
- <translation>Grabbing EPG data in progress...</translation>
-+ <translation>Grabbing Epg Data in Progress...</translation>
++ <translation>Grabbing EPG Data in Progress...</translation>
</message>
<message>
<location filename="../programs/mythshutdown/main.cpp" line="270"/>
@@ -19573,7 +19679,7 @@
<source>Shutdown is locked</source>
<comment>mythshutdown</comment>
- <translation>Shutdown is locked</translation>
-+ <translation>Shutdown Is Locked</translation>
++ <translation>Shutdown is Locked</translation>
</message>
<message>
<location filename="../programs/mythshutdown/main.cpp" line="284"/>
@@ -19584,7 +19690,7 @@
</message>
<message>
<location filename="../programs/mythshutdown/main.cpp" line="317"/>
-@@ -20500,176 +21066,176 @@
+@@ -20500,176 +21179,176 @@
<location filename="../programs/mythshutdown/main.cpp" line="342"/>
<source>About to start daily wakeup period (1)</source>
<comment>mythshutdown</comment>
@@ -19603,7 +19709,7 @@
<source>Setup is running...</source>
<comment>mythshutdown</comment>
- <translation>Setup is running...</translation>
-+ <translation>Setup Is Running...</translation>
++ <translation>Setup is Running...</translation>
</message>
<message>
<location filename="../programs/mythshutdown/main.cpp" line="368"/>
@@ -19660,7 +19766,7 @@
<source>Next daily wakeup is tomorrow at %1</source>
<comment>mythshutdown</comment>
- <translation>Next daily wakeup is tomorrow at %1</translation>
-+ <translation>Next Daily Wakeup Is Tomorrow At %1</translation>
++ <translation>Next Daily Wakeup is Tomorrow At %1</translation>
</message>
<message>
<location filename="../programs/mythshutdown/main.cpp" line="547"/>
@@ -19674,7 +19780,7 @@
<source>Error: no recording time is set</source>
<comment>mythshutdown</comment>
- <translation>Error: no recording time is set</translation>
-+ <translation>Error: No Recording Time Is Set</translation>
++ <translation>Error: No Recording Time is Set</translation>
</message>
<message>
<location filename="../programs/mythshutdown/main.cpp" line="566"/>
@@ -19716,14 +19822,14 @@
<source>Program is scheduled but will wake up at next daily wakeup</source>
<comment>mythshutdown</comment>
- <translation>Program is scheduled but will wake up at next daily wakeup</translation>
-+ <translation>Program Is Scheduled but Will Wake Up At Next Daily Wakeup</translation>
++ <translation>Program is Scheduled but Will Wake Up At Next Daily Wakeup</translation>
</message>
<message>
<location filename="../programs/mythshutdown/main.cpp" line="637"/>
<source>Daily wakeup is set but will wake up at next scheduled program</source>
<comment>mythshutdown</comment>
- <translation>Daily wakeup is set but will wake up at next scheduled program</translation>
-+ <translation>Daily Wakeup Is Set but Will Wake Up At Next Scheduled Program</translation>
++ <translation>Daily Wakeup is Set but Will Wake Up At Next Scheduled Program</translation>
</message>
<message>
<location filename="../programs/mythshutdown/main.cpp" line="682"/>
@@ -19751,7 +19857,7 @@
<source>The next wakeup time is less than 15 mins away, not shutting down.</source>
<comment>mythshutdown</comment>
- <translation>The next wakeup time is less than 15 mins away, not shutting down.</translation>
-+ <translation>The Next Wakeup Time Is Less Than 15 Mins Away, Not Shutting Down.</translation>
++ <translation>The Next Wakeup Time is Less Than 15 Mins Away, Not Shutting Down.</translation>
</message>
<message>
<location filename="../programs/mythshutdown/main.cpp" line="724"/>
@@ -19772,7 +19878,7 @@
<source>Everything looks fine, but reboot is needed</source>
<comment>mythshutdown</comment>
- <translation>Everything looks fine, but reboot is needed</translation>
-+ <translation>Everything Looks Fine, but Reboot Is Needed</translation>
++ <translation>Everything Looks Fine, but Reboot is Needed</translation>
</message>
<message>
<location filename="../programs/mythshutdown/main.cpp" line="742"/>
@@ -19790,9 +19896,12 @@
</message>
<message>
<location filename="../programs/mythshutdown/main.cpp" line="760"/>
-@@ -20688,12 +21254,12 @@
+@@ -20686,14 +21365,14 @@
+ must be yyyy-MM-ddThh:mm:ss</translation>
+ </message>
<message>
- <location filename="../libs/libmythtv/recorders/ExternalSignalMonitor.cpp" line="97"/>
+- <location filename="../libs/libmythtv/recorders/ExternalSignalMonitor.cpp" line="97"/>
++ <location filename="../libs/libmythtv/recorders/ExternalSignalMonitor.cpp" line="110"/>
<source>Error: stream handler died</source>
- <translation>Error: stream handler died</translation>
+ <translation>Error: Stream Handler Died</translation>
@@ -19805,7 +19914,7 @@
</message>
<message>
<location filename="../programs/mythbackend/upnpcdsmusic.cpp" line="105"/>
-@@ -20717,6 +21283,11 @@
+@@ -20717,6 +21396,11 @@
<source>Genre</source>
<translation>Genre</translation>
</message>
@@ -19817,7 +19926,7 @@
</context>
<context>
<name>RawSettingsEditor</name>
-@@ -20729,12 +21300,12 @@
+@@ -20729,12 +21413,12 @@
<context>
<name>RecMetadataEdit</name>
<message>
@@ -19833,7 +19942,7 @@
<source>No match found for this recording. You can try entering a TVDB/TMDB number, season, and episode manually.</source>
<translation>No match found for this recording. You can try entering a TVDB/TMDB number, season, and episode manually.</translation>
</message>
-@@ -20742,14 +21313,18 @@
+@@ -20742,14 +21426,18 @@
<context>
<name>RecordingProfileEditor</name>
<message>
@@ -19856,7 +19965,7 @@
</message>
</context>
<context>
-@@ -20822,128 +21397,130 @@
+@@ -20822,128 +21510,130 @@
<message>
<location filename="../libs/libmythtv/channelscan/scanmonitor.cpp" line="117"/>
<source>Scanning</source>
@@ -20034,7 +20143,7 @@
</message>
</context>
<context>
-@@ -20951,168 +21528,173 @@
+@@ -20951,168 +21641,173 @@
<message>
<location filename="../programs/mythfrontend/scheduleeditor.cpp" line="52"/>
<source>New episode</source>
@@ -20115,7 +20224,7 @@
+ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="296"/>
<source>The following programs will be recorded instead:</source>
- <translation>The following programs will be recorded instead:</translation>
-+ <translation>Tthe Following Programs Will Be Recorded Instead:</translation>
++ <translation>The Following Programs Will Be Recorded Instead:</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/schedulecommon.cpp" line="335"/>
@@ -20272,7 +20381,7 @@
</message>
</context>
<context>
-@@ -21147,75 +21729,75 @@
+@@ -21147,75 +21842,75 @@
</message>
<message>
<location filename="../programs/mythfrontend/scheduleeditor.cpp" line="576"/>
@@ -20362,7 +20471,7 @@
<source>Default</source>
<translation>Default</translation>
</message>
-@@ -21251,7 +21833,7 @@
+@@ -21251,7 +21946,7 @@
<message>
<location filename="../libs/libmyth/schemawizard.cpp" line="249"/>
<source>Error: This version of Myth%1 requires MySQL %2.%3.%4 or later. You seem to be running MySQL version %5.</source>
@@ -20371,7 +20480,7 @@
</message>
<message>
<location filename="../libs/libmyth/schemawizard.cpp" line="317"/>
-@@ -21316,7 +21898,7 @@
+@@ -21316,7 +22011,7 @@
<message>
<location filename="../libs/libmyth/schemawizard.cpp" line="402"/>
<source>This cannot be un-done, so having a database backup would be a good idea.</source>
@@ -20380,7 +20489,7 @@
</message>
</context>
<context>
-@@ -21324,68 +21906,116 @@
+@@ -21324,68 +22019,116 @@
<message>
<location filename="../libs/libmythtv/signalmonitorvalue.cpp" line="24"/>
<source>Could not open tuner device</source>
@@ -20448,7 +20557,7 @@
+ <message>
+ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="103"/>
+ <source>The delay before showing the Loading/Playing status, in milliseconds.</source>
-+ <translation>The delay before showing the Loading/Playing status, in milliseconds.</translation>
++ <translation>The delay before showing the loading/playing status, in milliseconds.</translation>
+ </message>
+ <message>
+ <location filename="../programs/mythfrontend/galleryconfig.cpp" line="108"/>
@@ -20511,7 +20620,7 @@
</message>
<message>
<location filename="../programs/mythtv-setup/startprompt.cpp" line="73"/>
-@@ -21395,7 +22025,7 @@
+@@ -21395,7 +22138,7 @@
<message>
<location filename="../programs/mythtv-setup/startprompt.cpp" line="77"/>
<source>Recording Status: RECORDING.</source>
@@ -20520,7 +20629,7 @@
</message>
<message>
<location filename="../programs/mythtv-setup/startprompt.cpp" line="78"/>
-@@ -21405,7 +22035,7 @@
+@@ -21405,7 +22148,7 @@
<message>
<location filename="../programs/mythtv-setup/startprompt.cpp" line="82"/>
<source>Recording Status: None.</source>
@@ -20529,12 +20638,12 @@
</message>
<message>
<location filename="../programs/mythtv-setup/startprompt.cpp" line="103"/>
-@@ -21426,15 +22056,15 @@
+@@ -21426,15 +22169,15 @@
<context>
<name>StartingChannel</name>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3318"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3247"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3257"/>
<source>Please add channels to this source</source>
- <translation>Please add channels to this source</translation>
+ <translation>Please Add Channels to This Source</translation>
@@ -20548,7 +20657,7 @@
<source>%n (is) LiveTV and consume(s) %1
</source>
<translation>
-@@ -21445,7 +22075,7 @@
+@@ -21445,7 +22188,7 @@
</translation>
</message>
<message numerus="yes">
@@ -20557,7 +20666,7 @@
<source>%n (is) Deleted and consume(s) %1
</source>
<translation>
-@@ -21457,7 +22087,7 @@
+@@ -21457,7 +22200,7 @@
</message>
<message numerus="yes">
<location filename="../programs/mythfrontend/statusbox.cpp" line="592"/>
@@ -20566,7 +20675,7 @@
<source>%n day(s)</source>
<translation>
<numerusform>%n day</numerusform>
-@@ -21568,7 +22198,7 @@
+@@ -21568,7 +22311,7 @@
<message>
<location filename="../programs/mythfrontend/statusbox.cpp" line="370"/>
<source>Move to Default group</source>
@@ -20575,7 +20684,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/statusbox.cpp" line="374"/>
-@@ -21588,7 +22218,7 @@
+@@ -21588,7 +22331,7 @@
<message>
<location filename="../programs/mythfrontend/statusbox.cpp" line="546"/>
<source>Mythfrontend version: %1 (%2)</source>
@@ -20584,7 +20693,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/statusbox.cpp" line="548"/>
-@@ -21633,7 +22263,7 @@
+@@ -21633,7 +22376,7 @@
<message>
<location filename="../programs/mythfrontend/statusbox.cpp" line="597"/>
<source>WARNING: is mythfilldatabase running?</source>
@@ -20593,7 +20702,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/statusbox.cpp" line="602"/>
-@@ -21678,47 +22308,47 @@
+@@ -21678,47 +22421,47 @@
</translation>
</message>
<message>
@@ -20650,7 +20759,7 @@
<source>On %1 from %2.%3
%4
</source>
-@@ -21726,27 +22356,27 @@
+@@ -21726,27 +22469,27 @@
%4</translation>
</message>
<message>
@@ -20683,7 +20792,7 @@
<source>%n hour(s)</source>
<translation>
<numerusform>%n hour</numerusform>
-@@ -21754,7 +22384,7 @@
+@@ -21754,7 +22497,7 @@
</translation>
</message>
<message numerus="yes">
@@ -20692,7 +20801,7 @@
<source>%n minute(s)</source>
<translation>
<numerusform>%n minute</numerusform>
-@@ -21762,178 +22392,178 @@
+@@ -21762,178 +22505,182 @@
</translation>
</message>
<message>
@@ -20829,6 +20938,10 @@
<message>
- <location filename="../programs/mythfrontend/statusbox.cpp" line="1230"/>
- <location filename="../programs/mythfrontend/statusbox.cpp" line="1278"/>
++ <source>Hostname</source>
++ <translation type="obsolete">Hostname</translation>
++ </message>
++ <message>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1237"/>
+ <location filename="../programs/mythfrontend/statusbox.cpp" line="1285"/>
<source>Load</source>
@@ -20911,7 +21024,7 @@
<source>%n recording(s) consuming %1 (is) allowed to expire
</source>
<translation>
-@@ -21945,58 +22575,81 @@
+@@ -21945,58 +22692,81 @@
</message>
</context>
<context>
@@ -21010,7 +21123,7 @@
<source>(Add New Directory)</source>
<translation>(Add New Directory)</translation>
</message>
-@@ -22004,168 +22657,170 @@
+@@ -22004,168 +22774,170 @@
<context>
<name>StorageGroupListEditor</name>
<message>
@@ -21211,9 +21324,9 @@
- <location filename="../libs/libmythtv/tv_play.cpp" line="13088"/>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13116"/>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="6779"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12076"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13019"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13047"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12080"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13023"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13051"/>
<source>Jump Back</source>
<translation>Jump Back</translation>
</message>
@@ -21237,7 +21350,7 @@
<source>Sorry, PBP only supports %n video stream(s)</source>
<translation>
<numerusform>Sorry, PBP only supports %n video stream</numerusform>
-@@ -22173,7 +22828,7 @@
+@@ -22173,7 +22945,7 @@
</translation>
</message>
<message numerus="yes">
@@ -21246,7 +21359,7 @@
<source>Sorry, PIP only supports %n video stream(s)</source>
<translation>
<numerusform>Sorry, PIP only supports %n video stream</numerusform>
-@@ -22181,266 +22836,266 @@
+@@ -22181,266 +22953,266 @@
</translation>
</message>
<message>
@@ -21277,9 +21390,9 @@
- <location filename="../libs/libmythtv/tv_play.cpp" line="13076"/>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13161"/>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="6776"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12071"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13007"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13092"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12075"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13011"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13096"/>
<source>Jump Ahead</source>
<translation>Jump Ahead</translation>
</message>
@@ -21323,7 +21436,7 @@
- <location filename="../libs/libmythtv/tv_play.cpp" line="5078"/>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13427"/>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="5092"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13358"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13362"/>
<source>Are you sure you want to delete:</source>
<translation>Are you sure you want to delete:</translation>
</message>
@@ -21563,8 +21676,8 @@
- <location filename="../libs/libmythtv/tv_play.cpp" line="12964"/>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13342"/>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="8402"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12895"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13273"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12899"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13277"/>
<source>OK</source>
<translation>OK</translation>
</message>
@@ -21582,7 +21695,7 @@
<location filename="../libs/libmythtv/tvbrowsehelper.cpp" line="26"/>
<location filename="../libs/libmythtv/tvbrowsehelper.cpp" line="310"/>
<source>%n minute(s)</source>
-@@ -22450,425 +23105,425 @@
+@@ -22450,425 +23222,425 @@
</translation>
</message>
<message>
@@ -21717,7 +21830,7 @@
- <location filename="../libs/libmythtv/tv_play.cpp" line="9031"/>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12515"/>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="8958"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12446"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12450"/>
<source>Adjust Time Stretch</source>
<translation>Adjust Time Stretch</translation>
</message>
@@ -21737,7 +21850,7 @@
- <location filename="../libs/libmythtv/tv_play.cpp" line="9125"/>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12035"/>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="9052"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="11966"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11970"/>
<source>Adjust Subtitle Delay</source>
<translation>Adjust Subtitle Delay</translation>
</message>
@@ -21757,7 +21870,7 @@
- <location filename="../libs/libmythtv/tv_play.cpp" line="9154"/>
- <location filename="../libs/libmythtv/tv_play.cpp" line="11931"/>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="9081"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="11862"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11866"/>
<source>Adjust Audio Sync</source>
<translation>Adjust Audio Sync</translation>
</message>
@@ -21870,7 +21983,7 @@
- <location filename="../libs/libmythtv/tv_play.cpp" line="12533"/>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="10220"/>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="10235"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12464"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12468"/>
<source>Edit Cut Points</source>
<translation>Edit Cut Points</translation>
</message>
@@ -22081,137 +22194,137 @@
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="11981"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="11912"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11916"/>
<source>Disable Subtitles</source>
<translation>Disable Subtitles</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="11987"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="11918"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11922"/>
<source>Enable Subtitles</source>
<translation>Enable Subtitles</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="11995"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="11926"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11930"/>
<source>Disable Forced Subtitles</source>
<translation>Disable Forced Subtitles</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12004"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="11935"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11939"/>
<source>Enable Forced Subtitles</source>
<translation>Enable Forced Subtitles</translation>
</message>
<message numerus="yes">
- <location filename="../libs/libmythtv/tv_play.cpp" line="12093"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12024"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12028"/>
<source>Close PIP(s)</source>
<translation>
<numerusform>Close PIP</numerusform>
-@@ -22876,7 +23531,7 @@
+@@ -22876,7 +23648,7 @@
</translation>
</message>
<message numerus="yes">
- <location filename="../libs/libmythtv/tv_play.cpp" line="12103"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12034"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12038"/>
<source>Close PBP(s)</source>
<translation>
<numerusform>Close PBP</numerusform>
-@@ -22884,701 +23539,701 @@
+@@ -22884,701 +23656,701 @@
</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12135"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12066"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12070"/>
<source>Playback Data</source>
<translation>Playback Data</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12152"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12083"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12087"/>
<source>DVD Root Menu</source>
<translation>DVD Root Menu</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12163"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12094"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12098"/>
<source>DVD Title Menu</source>
<translation>DVD Title Menu</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12168"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12099"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12103"/>
<source>DVD Chapter Menu</source>
<translation>DVD Chapter Menu</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12496"/>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12547"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12427"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12478"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12431"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12482"/>
<source>Playback Compact Menu</source>
<translation>Playback Compact Menu</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12524"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12455"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12459"/>
<source>Schedule</source>
<translation>Schedule</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12177"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12108"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12112"/>
<source>Program Guide</source>
<translation>Program Guide</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12217"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12148"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12152"/>
<source>Edit Channel</source>
<translation>Edit Channel</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12217"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12148"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12152"/>
<source>Edit Recording</source>
<translation>Edit Recording</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12526"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12457"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12461"/>
<source>Jump to Program</source>
<translation>Jump to Program</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12193"/>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12574"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12124"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12505"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12128"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12509"/>
<source>Recorded Program</source>
<translation>Recorded Program</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12173"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12104"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12108"/>
<source>Previous Channel</source>
<translation>Previous Channel</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12022"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="11953"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11957"/>
<source>Toggle Teletext Menu</source>
<translation>Toggle Teletext Menu</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="11966"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="11897"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11901"/>
<source>Manual Zoom Mode</source>
<translation>Manual Zoom Mode</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12518"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12449"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12453"/>
<source>Channel Groups</source>
<translation>Channel Groups</translation>
</message>
@@ -22223,13 +22336,13 @@
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12234"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12165"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12169"/>
<source>Stop Transcoding</source>
<translation>Stop Transcoding</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12530"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12461"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12465"/>
<source>Begin Transcoding</source>
<translation>Begin Transcoding</translation>
</message>
@@ -22258,82 +22371,82 @@
- <location filename="../libs/libmythtv/tv_play.cpp" line="10334"/>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12485"/>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="10265"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12416"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12420"/>
<source>Edit</source>
<translation>Edit</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12234"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12165"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12169"/>
<source>Default</source>
<translation>Default</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12242"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12173"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12177"/>
<source>Autodetect</source>
<translation>Autodetect</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12250"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12181"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12185"/>
<source>High Quality</source>
<translation>High Quality</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12258"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12189"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12193"/>
<source>Medium Quality</source>
<translation>Medium Quality</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12266"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12197"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12201"/>
<source>Low Quality</source>
<translation>Low Quality</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12520"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12451"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12455"/>
<source>Commercial Auto-Skip</source>
- <translation>Commercial Auto-Skip</translation>
+ <translation>Commercial Auto-skip</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12226"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12157"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12161"/>
<source>Turn Auto-Expire OFF</source>
- <translation>Turn Auto-Expire OFF</translation>
+ <translation>Turn Auto-expire Off</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12226"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12157"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12161"/>
<source>Turn Auto-Expire ON</source>
- <translation>Turn Auto-Expire ON</translation>
+ <translation>Turn Auto-expire On</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12185"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12116"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12120"/>
<source>Upcoming Recordings</source>
<translation>Upcoming Recordings</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12181"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12112"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12116"/>
<source>Program Finder</source>
<translation>Program Finder</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12189"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12120"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12124"/>
<source>Edit Recording Schedule</source>
<translation>Edit Recording Schedule</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12521"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12452"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12456"/>
<source>Chapter</source>
<translation>Chapter</translation>
</message>
@@ -22347,14 +22460,14 @@
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12495"/>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12543"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12426"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12474"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12430"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12478"/>
<source>Playback Menu</source>
<translation>Playback Menu</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12497"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12428"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12432"/>
<source>Audio</source>
<translation>Audio</translation>
</message>
@@ -22362,7 +22475,7 @@
- <location filename="../libs/libmythtv/tv_play.cpp" line="8958"/>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12500"/>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="8885"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12431"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12435"/>
<source>Video</source>
<translation>Video</translation>
</message>
@@ -22382,7 +22495,7 @@
- <location filename="../libs/libmythtv/tv_play.cpp" line="9087"/>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12027"/>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="9014"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="11958"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11962"/>
<source>Adjust Subtitle Zoom</source>
<translation>Adjust Subtitle Zoom</translation>
</message>
@@ -22394,204 +22507,204 @@
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12505"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12436"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12440"/>
<source>Advanced</source>
<translation>Advanced</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12507"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12438"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12442"/>
<source>Deinterlacer</source>
<translation>Deinterlacer</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12508"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12439"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12443"/>
<source>Subtitles</source>
<translation>Subtitles</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12510"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12441"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12445"/>
<source>Text Subtitles</source>
<translation>Text Subtitles</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12513"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12444"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12448"/>
<source>Select Teletext CC</source>
<translation>Select Teletext CC</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12519"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12450"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12454"/>
<source>Navigate</source>
<translation>Navigate</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12152"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12083"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12087"/>
<source>Top menu</source>
- <translation>Top menu</translation>
+ <translation>Top Menu</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12158"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12089"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12093"/>
<source>Popup menu</source>
- <translation>Popup menu</translation>
+ <translation>Popup Menu</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12522"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12453"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12457"/>
<source>Angle</source>
<translation>Angle</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12523"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12454"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12458"/>
<source>Title</source>
<translation>Title</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12525"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12456"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12460"/>
<source>Source</source>
<translation>Source</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12529"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12460"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12464"/>
<source>Jobs</source>
<translation>Jobs</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12514"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12445"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12449"/>
<source>Playback</source>
<translation>Playback</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12041"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="11972"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11976"/>
<source>Play</source>
<translation>Play</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12041"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="11972"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11976"/>
<source>Pause</source>
<translation>Pause</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12516"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12447"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12451"/>
<source>Picture-in-Picture</source>
<translation>Picture-in-Picture</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12126"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12057"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12061"/>
<source>Toggle Browse Mode</source>
<translation>Toggle Browse Mode</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12131"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12062"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12066"/>
<source>Cancel Playlist</source>
<translation>Cancel Playlist</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12053"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="11984"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11988"/>
<source>Open Live TV PIP</source>
<translation>Open Live TV PIP</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12062"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="11993"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11997"/>
<source>Open Live TV PBP</source>
<translation>Open Live TV PBP</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12070"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12001"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12005"/>
<source>Open Recording PIP</source>
<translation>Open Recording PIP</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12078"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12009"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12013"/>
<source>Open Recording PBP</source>
<translation>Open Recording PBP</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12084"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12015"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12019"/>
<source>Change Active Window</source>
<translation>Change Active Window</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12110"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12041"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12045"/>
<source>Swap Windows</source>
<translation>Swap Windows</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12120"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12051"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12055"/>
<source>Switch to PIP</source>
<translation>Switch to PIP</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12120"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12051"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12055"/>
<source>Switch to PBP</source>
<translation>Switch to PBP</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13386"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13317"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13321"/>
<source>No, keep it</source>
- <translation>No, keep it</translation>
+ <translation>No, Keep</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12527"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12458"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12462"/>
<source>Switch Input</source>
<translation>Switch Input</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12528"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12459"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12463"/>
<source>Switch Source</source>
<translation>Switch Source</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12501"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12432"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12436"/>
<source>Change Aspect Ratio</source>
<translation>Change Aspect Ratio</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12502"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12433"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12437"/>
<source>Adjust Fill</source>
<translation>Adjust Fill</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="11951"/>
- <location filename="../libs/libmythtv/tv_play.cpp" line="11961"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="11882"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="11892"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11886"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11896"/>
<source>Auto Detect</source>
<translation>Auto Detect</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12503"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12434"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12438"/>
<source>Adjust Picture</source>
<translation>Adjust Picture</translation>
</message>
@@ -22603,14 +22716,14 @@
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12499"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12430"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12434"/>
<source>Visualisation</source>
<translatorcomment>Original string is in British English</translatorcomment>
<translation>Visualization</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="11943"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="11874"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11878"/>
<source>Disable Audio Upmixer</source>
<translation>Disable Audio Upmixer</translation>
</message>
@@ -22618,25 +22731,25 @@
- <location filename="../libs/libmythtv/tv_play.cpp" line="11696"/>
- <location filename="../libs/libmythtv/tv_play.cpp" line="11936"/>
+ <location filename="../libs/libmythtv/tv_play.cpp" line="11627"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="11867"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11871"/>
<source>None</source>
<translation>None</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12504"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12435"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12439"/>
<source>3D</source>
<translation>3D</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="11974"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="11905"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11909"/>
<source>Disable Night Mode</source>
<translation>Disable Night Mode</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="11974"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="11905"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11909"/>
<source>Enable Night Mode</source>
<translation>Enable Night Mode</translation>
</message>
@@ -22666,19 +22779,19 @@
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12011"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="11942"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11946"/>
<source>Disable External Subtitles</source>
<translation>Disable External Subtitles</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12017"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="11948"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11952"/>
<source>Enable External Subtitles</source>
<translation>Enable External Subtitles</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12045"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="11976"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="11980"/>
<source>Toggle</source>
<translation>Toggle</translation>
</message>
@@ -22690,35 +22803,35 @@
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12429"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12360"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12364"/>
<source>(I)</source>
<comment>Interlaced (Normal)</comment>
<translation>(I)</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12431"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12362"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12366"/>
<source>(i)</source>
<comment>Interlaced (Reversed)</comment>
<translation>(i)</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12433"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12364"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12368"/>
<source>(P)</source>
<comment>Progressive</comment>
<translation>(P)</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12942"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12873"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12877"/>
<source>MythTV is already using all available inputs for the channel you selected. If you want to watch an in-progress recording, select one from the playback menu. If you want to watch Live TV, cancel one of the in-progress recordings from the delete menu.</source>
- <translation>MythTV is already using all available inputs for the channel you selected. If you want to watch an in-progress recording, select one from the playback menu. If you want to watch Live TV, cancel one of the in-progress recordings from the delete menu.</translation>
+ <translation>MythTV is already using all available inputs for the channel you selected. If you want to watch an in-progress recording, select one from the playback menu. If you want to watch Live TV, cancel one of the in-progress recordings from the delete menu.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12506"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12437"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12441"/>
<source>Video Scan</source>
<translation>Video Scan</translation>
</message>
@@ -22750,9 +22863,9 @@
- <location filename="../libs/libmythtv/tv_play.cpp" line="12517"/>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12929"/>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12931"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12448"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12860"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12862"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12452"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12864"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12866"/>
<source>Sleep</source>
<translation>Sleep</translation>
</message>
@@ -22764,204 +22877,205 @@
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12498"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12429"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12433"/>
<source>Select Audio Track</source>
<translation>Select Audio Track</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12509"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12440"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12444"/>
<source>Select Subtitle</source>
<translation>Select Subtitle</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12512"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12443"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12447"/>
<source>Select VBI CC</source>
<translation>Select VBI CC</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12511"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12442"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12446"/>
<source>Select ATSC CC</source>
<translation>Select ATSC CC</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12534"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12465"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12469"/>
<source>Edit Cut Points (Compact)</source>
<translation>Edit Cut Points (Compact)</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12535"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12466"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12470"/>
<source>Cut List Options</source>
<translation>Cut List Options</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12703"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12634"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12638"/>
<source>Auto-Expire OFF</source>
- <translation>Auto-Expire OFF</translation>
+ <translation>Auto-expire Off</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12708"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12639"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12643"/>
<source>Auto-Expire ON</source>
- <translation>Auto-Expire ON</translation>
+ <translation>Auto-expire On</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12951"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12882"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12886"/>
<source>Error: MythTV is using all inputs, but there are no active recordings?</source>
- <translation>Error: MythTV is using all inputs, but there are no active recordings?</translation>
+ <translation>ERROR: MythTV is using all inputs, but there are no active recordings?</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="12955"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="12886"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="12890"/>
<source>MythTV has no capture cards defined. Please run the mythtv-setup program.</source>
<translation>MythTV has no capture cards defined. Please run the mythtv-setup program.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13104"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13035"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13039"/>
<source>Skip Back Not Allowed</source>
<translation>Skip Back Not Allowed</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13127"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13058"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13062"/>
<source>Previous Title</source>
<translation>Previous Title</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13146"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13077"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13081"/>
<source>Skip Still Frame</source>
<translation>Skip Still Frame</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13172"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13103"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13107"/>
<source>Next Title</source>
<translation>Next Title</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13235"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13166"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13170"/>
<source>Live TV</source>
<translation>Live TV</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13237"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13168"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13172"/>
<source>this DVD</source>
<translation>this DVD</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13241"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13172"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13176"/>
<source>this Video</source>
<translation>this Video</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13245"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13176"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13180"/>
<source>this recording</source>
- <translation>this recording</translation>
+ <translation>this Recording</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13251"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13182"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13186"/>
<source>You are exiting %1</source>
- <translation>You are exiting %1</translation>
+ <translation>You Are Exiting %1</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13255"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13186"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13190"/>
<source>Save this position and go to the menu</source>
- <translation>Save this position and go to the menu</translation>
+ <translation>Save and Exit</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13257"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13188"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13192"/>
<source>Do not save, just exit to the menu</source>
- <translation>Do not save, just exit to the menu</translation>
+ <translation>Exit Without Saving</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13261"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13192"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13196"/>
<source>Exit %1</source>
<translation>Exit %1</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13265"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13196"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13200"/>
<source>Delete this recording</source>
<translation>Delete this recording</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13268"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13199"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13203"/>
<source>Keep watching</source>
<translation>Keep watching</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13314"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13245"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13249"/>
<source>Cannot delete program </source>
- <translation>Cannot delete program </translation>
+- <translation>Cannot delete program </translation>
++ <translation>Cannot delete </translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13323"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13254"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13258"/>
<source>because it is not a recording.</source>
<translation>because it is not a recording.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13327"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13258"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13262"/>
<source>because it is in use by</source>
<translation>because it is in use by</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13373"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13304"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13308"/>
<source>Delete it, but allow it to re-record</source>
- <translation>Delete it, but allow it to re-record</translation>
+ <translation>Delete Recording, and Allow Re-record</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13375"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13306"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13310"/>
<source>Delete it</source>
- <translation>Delete it</translation>
+ <translation>Delete Recording</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13377"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13308"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13312"/>
<source>Save it so I can watch it again</source>
- <translation>Save it so I can watch it again</translation>
+ <translation>Keep Recording</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13382"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13313"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13317"/>
<source>Yes, and allow re-record</source>
- <translation>Yes, and allow re-record</translation>
+ <translation>Yes, Delete and Allow Re-record</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_play.cpp" line="13384"/>
-+ <location filename="../libs/libmythtv/tv_play.cpp" line="13315"/>
++ <location filename="../libs/libmythtv/tv_play.cpp" line="13319"/>
<source>Yes, delete it</source>
- <translation>Yes, delete it</translation>
+ <translation>Yes, Delete</translation>
@@ -22971,25 +23085,25 @@
<name>TVRec</name>
<message>
- <location filename="../libs/libmythtv/tv_rec.cpp" line="3934"/>
-+ <location filename="../libs/libmythtv/tv_rec.cpp" line="3959"/>
++ <location filename="../libs/libmythtv/tv_rec.cpp" line="3912"/>
<source>Good signal seen after %1 ms</source>
<translation>Good signal seen after %1 ms</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_rec.cpp" line="3943"/>
- <location filename="../libs/libmythtv/tv_rec.cpp" line="3995"/>
-+ <location filename="../libs/libmythtv/tv_rec.cpp" line="3968"/>
-+ <location filename="../libs/libmythtv/tv_rec.cpp" line="4027"/>
++ <location filename="../libs/libmythtv/tv_rec.cpp" line="3921"/>
++ <location filename="../libs/libmythtv/tv_rec.cpp" line="3976"/>
<source>See &apos;Tuning timeout&apos; in mythtv-setup for this input.</source>
<translation>See &apos;Tuning timeout&apos; in mythtv-setup for this input.</translation>
</message>
<message>
- <location filename="../libs/libmythtv/tv_rec.cpp" line="3987"/>
-+ <location filename="../libs/libmythtv/tv_rec.cpp" line="4019"/>
++ <location filename="../libs/libmythtv/tv_rec.cpp" line="3968"/>
<source>Taking more than %1 ms to get a lock.</source>
<translation>Taking more than %1 ms to get a lock.</translation>
</message>
-@@ -23586,7 +24241,7 @@
+@@ -23586,133 +24358,133 @@
<context>
<name>ThemeChooser</name>
<message>
@@ -22998,8 +23112,11 @@
<source>Theme Chooser Menu</source>
<translation>Theme Chooser Menu</translation>
</message>
-@@ -23596,123 +24251,123 @@
- <translation>Loading Installed Themes</translation>
+ <message>
+ <location filename="../programs/mythfrontend/themechooser.cpp" line="152"/>
+ <source>Loading Installed Themes</source>
+- <translation>Loading Installed Themes</translation>
++ <translation>Loading Installed Themes...</translation>
</message>
<message>
- <location filename="../programs/mythfrontend/themechooser.cpp" line="271"/>
@@ -23013,7 +23130,8 @@
- <location filename="../programs/mythfrontend/themechooser.cpp" line="275"/>
+ <location filename="../programs/mythfrontend/themechooser.cpp" line="284"/>
<source>Refreshing Downloadable Themes Information</source>
- <translation>Refreshing Downloadable Themes Information</translation>
+- <translation>Refreshing Downloadable Themes Information</translation>
++ <translation>Refreshing Downloadable Themes Information...</translation>
</message>
<message>
- <location filename="../programs/mythfrontend/themechooser.cpp" line="283"/>
@@ -23025,7 +23143,8 @@
- <location filename="../programs/mythfrontend/themechooser.cpp" line="292"/>
+ <location filename="../programs/mythfrontend/themechooser.cpp" line="301"/>
<source>Extracting Downloadable Themes Information</source>
- <translation>Extracting Downloadable Themes Information</translation>
+- <translation>Extracting Downloadable Themes Information</translation>
++ <translation>Extracting Downloadable Themes Information...</translation>
</message>
<message>
- <location filename="../programs/mythfrontend/themechooser.cpp" line="307"/>
@@ -23045,7 +23164,8 @@
- <location filename="../programs/mythfrontend/themechooser.cpp" line="333"/>
+ <location filename="../programs/mythfrontend/themechooser.cpp" line="342"/>
<source>Loading Downloadable Themes</source>
- <translation>Loading Downloadable Themes</translation>
+- <translation>Loading Downloadable Themes</translation>
++ <translation>Loading Downloadable Themes...</translation>
</message>
<message>
- <location filename="../programs/mythfrontend/themechooser.cpp" line="496"/>
@@ -23153,7 +23273,7 @@
<source>%1 is not a user-installed theme and can not be deleted.</source>
<translation>%1 is not a user-installed theme and can not be deleted.</translation>
</message>
-@@ -23976,7 +24631,7 @@
+@@ -23976,7 +24748,7 @@
<message>
<location filename="../themes/themestrings.h" line="718"/>
<source>To manually schedule a recording, enter a title (optional). Then set the channel, date, start time, and duration of your recording. Note that this recording will not have any listings data or other information provided by an EPG.</source>
@@ -23162,7 +23282,7 @@
</message>
<message>
<location filename="../themes/themestrings.h" line="851"/>
-@@ -24130,7 +24785,7 @@
+@@ -24130,7 +24902,7 @@
<message>
<location filename="../themes/themestrings.h" line="729"/>
<source>Below you will find the program details of the selected item. There are two available screens. You can toggle between them by pressing INFO.</source>
@@ -23171,7 +23291,7 @@
</message>
<message>
<location filename="../themes/themestrings.h" line="866"/>
-@@ -24317,7 +24972,7 @@
+@@ -24317,7 +25089,7 @@
<message>
<location filename="../themes/themestrings.h" line="890"/>
<source>Allow Recordings to Auto-Expire</source>
@@ -23180,7 +23300,7 @@
</message>
<message>
<location filename="../themes/themestrings.h" line="891"/>
-@@ -24397,7 +25052,7 @@
+@@ -24397,7 +25169,7 @@
<message>
<location filename="../themes/themestrings.h" line="908"/>
<source>Type your tweet below. Select &quot;Send&quot; to submit it.</source>
@@ -23189,7 +23309,7 @@
</message>
<message>
<location filename="../themes/themestrings.h" line="909"/>
-@@ -24452,7 +25107,7 @@
+@@ -24452,7 +25224,7 @@
<message>
<location filename="../themes/themestrings.h" line="390"/>
<source>WARNING: There are conflicting scheduled recordings!</source>
@@ -23198,7 +23318,7 @@
</message>
<message>
<location filename="../themes/themestrings.h" line="954"/>
-@@ -24604,7 +25259,7 @@
+@@ -24604,7 +25376,7 @@
<message>
<location filename="../themes/themestrings.h" line="994"/>
<source>Graphite is a theme emphasizing MythUI interface improvements such as alpha, animation, unique layouts, and user-supplied backdrop content. It is extremely memory-hungry.</source>
@@ -23207,7 +23327,7 @@
</message>
<message>
<location filename="../themes/themestrings.h" line="1011"/>
-@@ -25307,7 +25962,7 @@
+@@ -25307,7 +26079,7 @@
<message>
<location filename="../themes/themestrings.h" line="1080"/>
<source>Press Up/Down from letter list, to navigate to another list. Press Left/Right from Show or Episode list to navigate to another list.</source>
@@ -23216,7 +23336,7 @@
</message>
<message>
<location filename="../themes/themestrings.h" line="1083"/>
-@@ -25332,7 +25987,7 @@
+@@ -25332,7 +26104,7 @@
<message>
<location filename="../themes/themestrings.h" line="1106"/>
<source>No videos in library, or no files found. If you have configured a video directory, press MENU and select &quot;Scan for Changes.&quot;</source>
@@ -23225,7 +23345,7 @@
</message>
<message>
<location filename="../themes/themestrings.h" line="745"/>
-@@ -25376,7 +26031,7 @@
+@@ -25376,7 +26148,7 @@
<message>
<location filename="../themes/themestrings.h" line="1122"/>
<source>Designed to show off some different element arrangements. Reminder: On Watch Recordings screen [Rew] and [FF] can be used to change the Rec. Group.</source>
@@ -23234,7 +23354,7 @@
</message>
<message>
<location filename="../themes/themestrings.h" line="1123"/>
-@@ -25627,7 +26282,7 @@
+@@ -25627,7 +26399,7 @@
<message>
<location filename="../themes/themestrings.h" line="1172"/>
<source>Protocol-Version: %1</source>
@@ -23243,7 +23363,7 @@
</message>
<message>
<location filename="../themes/themestrings.h" line="1173"/>
-@@ -25860,7 +26515,7 @@
+@@ -25860,7 +26632,7 @@
<message>
<location filename="../themes/themestrings.h" line="360"/>
<source>Move the selected corner of the preview image to the corner of the TV screen. Press SELECT to edit the other corner. Press MENU for options and ESC to quit.</source>
@@ -23252,7 +23372,7 @@
</message>
<message>
<location filename="../themes/themestrings.h" line="417"/>
-@@ -26303,7 +26958,7 @@
+@@ -26303,7 +27075,7 @@
<message>
<location filename="../themes/themestrings.h" line="638"/>
<source>Ok</source>
@@ -23261,7 +23381,7 @@
</message>
<message>
<location filename="../themes/themestrings.h" line="639"/>
-@@ -26423,7 +27078,7 @@
+@@ -26423,7 +27195,7 @@
<message>
<location filename="../themes/themestrings.h" line="665"/>
<source>PCM-BluRay</source>
@@ -23270,7 +23390,7 @@
</message>
<message>
<location filename="../themes/themestrings.h" line="666"/>
-@@ -26618,7 +27273,7 @@
+@@ -26618,7 +27390,7 @@
<message>
<location filename="../themes/themestrings.h" line="706"/>
<source>To create a custom recording rule, either select an existing rule, or create a new rule by typing in a name. Then select a rule type and hit enter. The SQL code will be transferred below, and you can edit it and insert your own program information. Finally, you can test, immediately activate, store, or cancel your rule.</source>
@@ -23279,7 +23399,7 @@
</message>
<message>
<location filename="../themes/themestrings.h" line="708"/>
-@@ -26902,7 +27557,7 @@
+@@ -26902,7 +27674,7 @@
<message>
<location filename="../themes/themestrings.h" line="802"/>
<source>Let&apos;s set up your DVR! On the next few screens, we will configure your system to play back audio and video, optimize your color and contrast, and make sure we are taking advantage of all of your hardware. Press next to begin!</source>
@@ -23288,7 +23408,7 @@
</message>
<message>
<location filename="../themes/themestrings.h" line="803"/>
-@@ -27454,7 +28109,7 @@
+@@ -27454,7 +28226,7 @@
<message>
<location filename="../themes/themestrings.h" line="1103"/>
<source>Designed to show off some different element arrangements. Tested at 1280x720 and with Français. Reminder: On Watch Recordings screen [Rew] and [FF] can be used to change the Rec. Group.</source>
@@ -23297,7 +23417,7 @@
</message>
<message>
<location filename="../themes/themestrings.h" line="1107"/>
-@@ -28434,7 +29089,7 @@
+@@ -28434,7 +29206,7 @@
<message>
<location filename="../themes/themestrings.h" line="300"/>
<source>No videos in library, or no files found. If you have configured a video directory, press &quot;M&quot; (or the MENU key) and select &quot;Scan for Changes.&quot;</source>
@@ -23306,7 +23426,7 @@
</message>
<message>
<location filename="../themes/themestrings.h" line="303"/>
-@@ -28564,7 +29219,7 @@
+@@ -28564,7 +29336,7 @@
<message>
<location filename="../themes/themestrings.h" line="478"/>
<source>Post-Processing Options</source>
@@ -23315,7 +23435,7 @@
</message>
<message>
<location filename="../themes/themestrings.h" line="279"/>
-@@ -28851,9 +29506,9 @@
+@@ -28851,9 +29623,9 @@
<source>On this screen, you can add new extensions to be recognized by the Video Plugin. If a scan does not add your files, create a new extension below by clicking the &quot;New&quot; button.
If you select &quot;Use Default Player,&quot; the player command set for the extension will be ignored. &quot;Ignore This File Type&quot; prevents the items from appearing in a scan.</source>
@@ -23327,7 +23447,7 @@
</message>
<message>
<location filename="../themes/themestrings.h" line="922"/>
-@@ -29298,7 +29953,7 @@
+@@ -29298,7 +30070,7 @@
<message>
<location filename="../themes/themestrings.h" line="953"/>
<source>Move the selected arrow to the corner of the TV screen. Press SELECT to edit the other arrow. Press MENU for options and ESC to quit.</source>
@@ -23336,7 +23456,7 @@
</message>
<message>
<location filename="../themes/themestrings.h" line="160"/>
-@@ -29674,12 +30329,12 @@
+@@ -29674,12 +30446,12 @@
<message>
<location filename="../themes/themestrings.h" line="907"/>
<source>Arclight is a sleek theme meant for widescreen HD displays. It is high contrast and uses shapes and an attractive layout to convey information simply and consistently.</source>
@@ -23351,7 +23471,7 @@
</message>
<message>
<location filename="../themes/themestrings.h" line="20"/>
-@@ -29699,12 +30354,12 @@
+@@ -29699,12 +30471,12 @@
<message>
<location filename="../themes/themestrings.h" line="293"/>
<source>A blue theme. Originally designed before the MythUI rewrite, MythCenter has been updated to take advantage of the new UI library while still maintaining the look and feel that long-time MythTV users are used to.</source>
@@ -23366,7 +23486,7 @@
</message>
<message>
<location filename="../themes/themestrings.h" line="394"/>
-@@ -29954,7 +30609,7 @@
+@@ -29954,7 +30726,7 @@
<context>
<name>ThemeUpdateChecker</name>
<message>
@@ -23375,7 +23495,7 @@
<source>Version %1 of the %2 theme is now available in the Theme Chooser. The currently installed version is %3.</source>
<translation>Version %1 of the %2 theme is now available in the Theme Chooser. The currently installed version is %3.</translation>
</message>
-@@ -29991,12 +30646,12 @@
+@@ -29991,12 +30763,12 @@
<message>
<location filename="../programs/mythfrontend/galleryconfig.cpp" line="22"/>
<source>Exif Date (oldest first)</source>
@@ -23390,7 +23510,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/galleryconfig.cpp" line="24"/>
-@@ -30046,7 +30701,7 @@
+@@ -30046,12 +30818,23 @@
<translation>Date Format</translation>
</message>
<message>
@@ -23399,7 +23519,23 @@
<source>Date format of thumbnail captions. Other places use the system date format. Sample shows 3rd May 2002.</source>
<translation>Date format of thumbnail captions. Other places use the system date format. Sample shows 3rd May 2002.</translation>
</message>
-@@ -30087,45 +30742,46 @@
+ </context>
+ <context>
++ <name>Transcode</name>
++ <message>
++ <source>Autodetect from %1</source>
++ <translation type="obsolete">Autodetect from %1</translation>
++ </message>
++ <message>
++ <source>Completed</source>
++ <translation type="obsolete">Completed</translation>
++ </message>
++</context>
++<context>
+ <name>Transition</name>
+ <message>
+ <location filename="../programs/mythfrontend/gallerytransitions.h" line="103"/>
+@@ -30087,45 +30870,46 @@
<context>
<name>TransportList</name>
<message>
@@ -23458,7 +23594,7 @@
<source>Delete...</source>
<translation>Delete...</translation>
</message>
-@@ -30133,8 +30789,8 @@
+@@ -30133,8 +30917,8 @@
<context>
<name>UPNPScanner</name>
<message>
@@ -23469,26 +23605,26 @@
<source>Media Servers</source>
<translation>Media Servers</translation>
</message>
-@@ -30230,89 +30886,89 @@
+@@ -30230,89 +31014,89 @@
<context>
<name>V4L2encGroup</name>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2705"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2650"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2660"/>
<source>Probed info</source>
- <translation>Probed info</translation>
+ <translation>Probed Info</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2729"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2664"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2674"/>
<source>Failed to open</source>
- <translation>Failed to open</translation>
+ <translation>Failed to Open</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2735"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2670"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2680"/>
<source>Failed to probe</source>
- <translation>Failed to probe</translation>
+ <translation>Failed to Probe</translation>
@@ -23498,21 +23634,21 @@
<name>V4LConfigurationGroup</name>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2470"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2417"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2420"/>
<source>Probed info</source>
- <translation>Probed info</translation>
+ <translation>Probed Info</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2485"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2435"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2438"/>
<source>Failed to open</source>
- <translation>Failed to open</translation>
+ <translation>Failed to Open</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2492"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2442"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2445"/>
<source>Failed to probe</source>
- <translation>Failed to probe</translation>
+ <translation>Failed to Probe</translation>
@@ -23581,12 +23717,12 @@
<source>Done</source>
<translation>Done</translation>
</message>
-@@ -30320,35 +30976,34 @@
+@@ -30320,35 +31104,34 @@
<context>
<name>VBoxConfigurationGroup</name>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="2267"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="2237"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="2240"/>
<source>Description</source>
<translation>Description</translation>
</message>
@@ -23601,13 +23737,13 @@
<name>VBoxDeviceID</name>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1663"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1693"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1696"/>
<source>Device ID</source>
<translation>Device ID</translation>
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="1664"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1694"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1697"/>
<source>Device ID of VBox device</source>
- <translation>Device ID of VBox device</translation>
+ <translation>Device ID of VBox Device</translation>
@@ -23619,13 +23755,13 @@
- <location filename="../libs/libmythtv/videosource.cpp" line="1735"/>
- <location filename="../libs/libmythtv/videosource.cpp" line="1779"/>
- <location filename="../libs/libmythtv/videosource.cpp" line="1786"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1768"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1814"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="1821"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1771"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1817"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="1824"/>
<source>Manually Enter IP Address</source>
<translation>Manually Enter IP Address</translation>
</message>
-@@ -30449,7 +31104,7 @@
+@@ -30449,7 +31232,7 @@
<message>
<location filename="../programs/mythfrontend/videodlg.cpp" line="2503"/>
<source>Play With Trailers</source>
@@ -23634,7 +23770,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/videodlg.cpp" line="2510"/>
-@@ -30464,7 +31119,7 @@
+@@ -30464,7 +31247,7 @@
<message>
<location filename="../programs/mythfrontend/videodlg.cpp" line="2526"/>
<source>Scan For Changes</source>
@@ -23643,7 +23779,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/videodlg.cpp" line="2527"/>
-@@ -30490,12 +31145,12 @@
+@@ -30490,12 +31273,12 @@
<message>
<location filename="../programs/mythfrontend/videodlg.cpp" line="3374"/>
<source>Failed to retrieve image(s)</source>
@@ -23658,7 +23794,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/videodlg.cpp" line="3836"/>
-@@ -30521,12 +31176,12 @@
+@@ -30521,12 +31304,12 @@
<message>
<location filename="../programs/mythfrontend/videodlg.cpp" line="2177"/>
<source>Retrieved details for %1</source>
@@ -23673,7 +23809,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/videodlg.cpp" line="2552"/>
-@@ -30706,7 +31361,7 @@
+@@ -30706,7 +31489,7 @@
<message>
<location filename="../programs/mythfrontend/videodlg.cpp" line="2152"/>
<source>Fetching details for %1</source>
@@ -23682,7 +23818,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/videodlg.cpp" line="3557"/>
-@@ -30718,7 +31373,7 @@
+@@ -30718,7 +31501,7 @@
<message>
<location filename="../programs/mythfrontend/videodlg.cpp" line="3595"/>
<source>Failed to delete file</source>
@@ -23691,7 +23827,7 @@
</message>
</context>
<context>
-@@ -30901,7 +31556,7 @@
+@@ -30901,7 +31684,7 @@
<message>
<location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="106"/>
<source>Directories that hold videos</source>
@@ -23700,7 +23836,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="110"/>
-@@ -30911,7 +31566,7 @@
+@@ -30911,7 +31694,7 @@
<message>
<location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="122"/>
<source>Directory that holds movie posters</source>
@@ -23709,7 +23845,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="127"/>
-@@ -30925,37 +31580,37 @@
+@@ -30925,37 +31708,37 @@
<message>
<location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="138"/>
<source>Directory that holds movie screenshots</source>
@@ -23754,7 +23890,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="211"/>
-@@ -30970,7 +31625,7 @@
+@@ -30970,7 +31753,7 @@
<message>
<location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="224"/>
<source>Video Tree remembers last selected position</source>
@@ -23763,7 +23899,7 @@
</message>
<message>
<location filename="../programs/mythfrontend/videoglobalsettings.cpp" line="229"/>
-@@ -30978,58 +31633,62 @@
+@@ -30978,58 +31761,62 @@
<translation>If set, the current position in the Video Tree is persistent.</translation>
</message>
<message>
@@ -23838,7 +23974,7 @@
</message>
</context>
<context>
-@@ -31057,118 +31716,117 @@
+@@ -31057,118 +31844,117 @@
<context>
<name>VideoModeSettings</name>
<message>
@@ -23983,28 +24119,28 @@
<source>Zoom %1x%2 @ (%3,%4)</source>
<translation>Zoom %1x%2 @ (%3,%4)</translation>
</message>
-@@ -31194,17 +31852,17 @@
+@@ -31194,17 +31980,17 @@
<message>
<location filename="../libs/libmythmetadata/videoscan.cpp" line="181"/>
<source>Searching for video files</source>
- <translation>Searching for video files</translation>
-+ <translation>Searching for Video Files</translation>
++ <translation>Searching for Video Files...</translation>
</message>
<message>
<location filename="../libs/libmythmetadata/videoscan.cpp" line="258"/>
<source>Verifying video files</source>
- <translation>Verifying video files</translation>
-+ <translation>Verifying Video Files</translation>
++ <translation>Verifying Video Files...</translation>
</message>
<message>
<location filename="../libs/libmythmetadata/videoscan.cpp" line="314"/>
<source>Updating video database</source>
- <translation>Updating video database</translation>
-+ <translation>Updating Video Database</translation>
++ <translation>Updating Video Database...</translation>
</message>
</context>
<context>
-@@ -31212,17 +31870,17 @@
+@@ -31212,17 +31998,17 @@
<message>
<location filename="../programs/mythfrontend/setupwizard_video.cpp" line="70"/>
<source>Select from one of the preconfigured playback profiles. When satisfied, you can test Standard Definition and High Definition playback with the selected profile before moving on.</source>
@@ -24025,18 +24161,18 @@
</message>
<message>
<location filename="../programs/mythfrontend/setupwizard_video.cpp" line="79"/>
-@@ -31275,56 +31933,53 @@
+@@ -31275,56 +32061,53 @@
<context>
<name>VideoSourceEditor</name>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3887"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3807"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3817"/>
<source>Video sources</source>
- <translation>Video sources</translation>
+ <translation>Video Sources</translation>
+ </message>
+ <message>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3850"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3860"/>
+ <source>New video source</source>
+ <translation>New Video Source</translation>
</message>
@@ -24060,7 +24196,7 @@
</message>
<message>
- <location filename="../libs/libmythtv/videosource.cpp" line="3948"/>
-+ <location filename="../libs/libmythtv/videosource.cpp" line="3830"/>
++ <location filename="../libs/libmythtv/videosource.cpp" line="3840"/>
<source>Are you sure you want to delete ALL video sources?</source>
<translation>Are you sure you want to delete ALL video sources?</translation>
</message>
@@ -24098,7 +24234,7 @@
<source>Video Source</source>
<translation>Video Source</translation>
</message>
-@@ -31348,93 +32003,93 @@
+@@ -31348,93 +32131,93 @@
</message>
<message>
<location filename="../programs/mythfrontend/viewscheduled.cpp" line="226"/>
@@ -24210,7 +24346,7 @@
<source>Delete &apos;%1&apos; %2 rule?</source>
<translation>Delete &apos;%1&apos; %2 rule?</translation>
</message>
-@@ -31442,52 +32097,52 @@
+@@ -31442,52 +32225,52 @@
<context>
<name>WatchListSettings</name>
<message>
@@ -24279,7 +24415,7 @@
<source>When an episode is deleted or marked as watched, other episodes of the series are excluded from the &apos;Watch List&apos; for this interval of time. Daily shows also have a smaller interval based on this setting.</source>
<translation>When an episode is deleted or marked as watched, other episodes of the series are excluded from the &apos;Watch List&apos; for this interval of time. Daily shows also have a smaller interval based on this setting.</translation>
</message>
-@@ -31508,7 +32163,7 @@
+@@ -31508,7 +32291,7 @@
<message>
<location filename="../programs/mythwelcome/welcomedialog.cpp" line="363"/>
<source>Tuner %1 is recording:</source>
@@ -24288,7 +24424,7 @@
</message>
<message>
<location filename="../programs/mythwelcome/welcomedialog.cpp" line="371"/>
-@@ -31519,12 +32174,12 @@
+@@ -31519,12 +32302,12 @@
<message>
<location filename="../programs/mythwelcome/welcomedialog.cpp" line="376"/>
<source>There are no recordings currently taking place</source>
@@ -24303,22 +24439,22 @@
</message>
<message>
<location filename="../programs/mythwelcome/welcomedialog.cpp" line="415"/>
-@@ -31622,12 +32277,12 @@
+@@ -31622,12 +32405,12 @@
<message>
<location filename="../programs/mythwelcome/welcomedialog.cpp" line="656"/>
<source>Cannot shutdown because MythTV is currently recording</source>
- <translation>Cannot shutdown because MythTV is currently recording</translation>
-+ <translation>Cannot Shutdown Because MythTV Is Currently Recording</translation>
++ <translation>Cannot Shutdown Because MythTV is Currently Recording</translation>
</message>
<message>
<location filename="../programs/mythwelcome/welcomedialog.cpp" line="667"/>
<source>Cannot shutdown because MythTV is about to start recording</source>
- <translation>Cannot shutdown because MythTV is about to start recording</translation>
-+ <translation>Cannot Shutdown Because MythTV Is About to Start Recording</translation>
++ <translation>Cannot Shutdown Because MythTV is About to Start Recording</translation>
</message>
<message>
<location filename="../programs/mythwelcome/welcomedialog.cpp" line="678"/>
-@@ -31638,12 +32293,12 @@
+@@ -31638,12 +32421,12 @@
<context>
<name>XMLTV_generic_config</name>
<message>
diff --git a/abs/core/mythtv/stable-29/mythweb/PKGBUILD b/abs/core/mythtv/stable-29/mythweb/PKGBUILD
index 25dd0d9..f83912e 100644
--- a/abs/core/mythtv/stable-29/mythweb/PKGBUILD
+++ b/abs/core/mythtv/stable-29/mythweb/PKGBUILD
@@ -1,16 +1,16 @@
pkgname=mythweb
pkgver=29
-pkgrel=3
+pkgrel=5
commit_hash=`cat ../git_src/git_hash_web`
pkgdesc="Web interface for MythTV's backend, $commit_hash"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://www.mythtv.org"
license=('GPL')
depends=('lighttpd' "mythtv>=${pkgver}" 'php' 'supplemental-web')
groups=('mythtv-extras')
install=mythweb.install
-patches=()
+patches=('video.css.patch')
source=(`echo ${patches[@]:0}`
'mythweb.include'
'mythweb_gen_light.conf')
@@ -36,7 +36,6 @@ build() {
done
msg "--------------------------done applying patches-------------------------"
- [ "$CARCH" = "i686" ] && ARCH="i686"
[ "$CARCH" = "x86_64" ] && ARCH="x86-64"
}
@@ -54,5 +53,6 @@ package() {
#gen_light_conf
install -D -m0744 ${srcdir}/mythweb_gen_light.conf ${pkgdir}/etc/gen_light_conf.d/mythweb.conf
}
-md5sums=('7645a6399434cbba35639713ac5d88e0'
+md5sums=('668a36e404c8254f56e7a7304e655332'
+ '7645a6399434cbba35639713ac5d88e0'
'df190116b3aba35720fb6631885f973f')
diff --git a/abs/core/mythtv/stable-29/mythweb/video.css.patch b/abs/core/mythtv/stable-29/mythweb/video.css.patch
new file mode 100644
index 0000000..f49a3fd
--- /dev/null
+++ b/abs/core/mythtv/stable-29/mythweb/video.css.patch
@@ -0,0 +1,98 @@
+--- ./skins/default/video.css.orig 2018-05-22 21:45:30.395508513 +0000
++++ ./skins/default/video.css 2018-05-22 21:41:27.326893228 +0000
+@@ -0,0 +1,95 @@
++ .video {
++ position: relative;
++ padding: 1em;
++ float: left;
++ background-color: #003366;
++ margin-top: 1em;
++ margin-left: 1em;
++ width: 202px;
++ height: 168px;
++ border: 1px solid black;
++ }
++
++ .video .title {
++ font-weight: bold;
++ margin-bottom: .5em;
++ height: 2.5em;
++ overflow: hidden;
++ }
++
++ .video img {
++ float: left;
++ padding-right: 1em;
++ }
++
++ .video .command {
++ position: absolute;
++ bottom: 1em;
++ right: 1em;
++ }
++
++ #path {
++ position: relative;
++ padding: 1em;
++ float: left;
++ background-color: #102923;
++ margin-top: 1em;
++ margin-left: 1em;
++ border: 1px solid black;
++ min-width: 202px;
++ min-height: 168px;
++ }
++
++ #path .active {
++ color: yellow;
++ }
++
++ #window {
++ position: fixed;
++ left: 35%;
++ right: 35%;
++ width: 30%;
++ top: 35%;
++ background-color: green;
++ padding-top: 1em;
++ z-index: 10;
++ border: 2px solid gray;
++ }
++
++ #window_content a {
++ padding-right: 1em;
++ padding-left: 1em;
++ }
++
++ #window iframe {
++ width: 100%;
++ border: 0px;
++ height: 250px;
++ }
++
++ #window_title {
++ position: absolute;
++ top: 1px;
++ left: 1em;
++ font-weight: bold;
++ }
++
++ .popup {
++ width: 30%;
++ font-size: 9pt;
++ }
++
++ .popup dt {
++ clear: left;
++ float: left;
++ padding-top: 3px;
++ white-space: nowrap;
++ width: 6em;
++ font-weight: bold;
++ text-align: right;
++ }
++
++ .popup dd {
++ margin-left: 6.5em;
++ padding-top: 3px;
++ }
diff --git a/abs/core/nano/PKGBUILD b/abs/core/nano/PKGBUILD
index 07211fd..7bebc6f 100644
--- a/abs/core/nano/PKGBUILD
+++ b/abs/core/nano/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: Judd <judd@archlinux.org>
pkgname=nano
-pkgver=2.9.1
+pkgver=2.9.8
pkgrel=1
pkgdesc="Pico editor clone with enhancements"
arch=('x86_64')
@@ -13,10 +13,11 @@ groups=('base')
depends=('ncurses' 'file' 'sh')
backup=('etc/nanorc')
source=(https://www.nano-editor.org/dist/v2.9/${pkgname}-${pkgver}.tar.xz{,.asc})
-sha256sums=('6316d52d0d26af3e79a13dcb4db1c7a4aeac61b37fd9381e801a4189a2ecba7c'
+sha256sums=('c2deac31ba4d3fd27a42fafcc47ccf499296cc69a422bbecab63f2933ea85488'
'SKIP')
validpgpkeys=('8DA6FE7BFA7A418AB3CB2354BCB356DF91009FA7' # "Chris Allegretta <chrisa@asty.org>"
'A7F6A64A67DA09EF92782DD79DF4862AF1175C5B' # "Benno Schulenberg <bensberg@justemail.net>"
+ 'BFD009061E535052AD0DF2150D28D4D2A0ACE884' # "Benno Schulenberg <bensberg@telfort.nl>"
)
build() {
diff --git a/abs/core/ncurses/PKGBUILD b/abs/core/ncurses/PKGBUILD
index 008e209..53e7682 100644
--- a/abs/core/ncurses/PKGBUILD
+++ b/abs/core/ncurses/PKGBUILD
@@ -4,66 +4,50 @@
# Contributor: judd <jvinet@zeroflux.org>
pkgname=ncurses
-pkgver=5.9_20141101
-pkgrel=1
+pkgver=6.1
+pkgrel=3
pkgdesc='System V Release 4.0 curses emulation library'
-arch=('i686' 'x86_64')
+arch=(x86_64)
url='http://invisible-island.net/ncurses/ncurses.html'
-license=('MIT')
-depends=('glibc' 'gcc-libs' 'sh')
-provides=('libmenu.so' 'libpanel.so' 'libform.so' 'libncurses.so' 'libncurses++w.so'
- 'libformw.so' 'libmenuw.so' 'libpanelw.so' 'libncursesw.so')
-source=(ftp://invisible-island.net/ncurses/current/ncurses-${pkgver/_/-}.tgz{,.asc})
-md5sums=('87500270f8b1ba911228c940bad30ed1'
+license=(MIT)
+depends=(glibc gcc-libs)
+provides=(libncurses++w.so libformw.so libmenuw.so libpanelw.so libncursesw.so)
+#source=(http://invisible-mirror.net/archives/ncurses/current/ncurses-${_pkgver}.tgz{,.asc})
+source=(https://ftp.gnu.org/pub/gnu/ncurses/ncurses-$pkgver.tar.gz{,.sig})
+md5sums=('98c889aaf8d23910d2b92d65be2e737a'
'SKIP')
-
-prepare() {
- mkdir ncurses{,w}-build
-}
+validpgpkeys=('C52048C0C0748FEE227D47A2702353E0F7E48EDB') # Thomas Dickey
build() {
- cd ncursesw-build
- ../$pkgname-${pkgver/_/-}/configure --prefix=/usr --mandir=/usr/share/man \
- --with-shared --with-normal --without-debug --without-ada \
- --enable-widec --enable-pc-files --with-cxx-binding --with-cxx-shared
- # add --enable-ext-colors and --enable-ext-mouse with next soname bump
- make
+ cd $pkgname-$pkgver
- # libraries for external binary support
- cd ${srcdir}/ncurses-build
- [[ $CARCH = "x86_64" ]] && CONFIGFLAG="--with-chtype=long"
- ../$pkgname-${pkgver/_/-}/configure --prefix=/usr \
- --with-shared --with-normal --without-debug --without-ada $CONFIGFLAG \
- --with-cxx-binding --with-cxx-shared
+ ./configure --prefix=/usr --mandir=/usr/share/man \
+ --with-pkg-config-libdir=/usr/lib/pkgconfig \
+ --with-shared --with-normal --without-debug --without-ada \
+ --enable-widec --enable-pc-files --with-cxx-binding --with-cxx-shared
make
}
package() {
- cd ncursesw-build
+ cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
# fool packages looking to link to non-wide-character ncurses libraries
for lib in ncurses ncurses++ form panel menu; do
- echo "INPUT(-l${lib}w)" > "$pkgdir"/usr/lib/lib${lib}.so
+ echo "INPUT(-l${lib}w)" > "$pkgdir/usr/lib/lib${lib}.so"
+ ln -s ${lib}w.pc "$pkgdir/usr/lib/pkgconfig/${lib}.pc"
done
- for lib in ncurses ncurses++ form panel menu; do
- ln -s ${lib}w.pc "$pkgdir"/usr/lib/pkgconfig/${lib}.pc
+ for lib in tic tinfo; do
+ echo "INPUT(libncursesw.so.${pkgver:0:1})" > "$pkgdir/usr/lib/lib${lib}.so"
+ ln -s libncursesw.so.${pkgver:0:1} "$pkgdir/usr/lib/lib${lib}.so.${pkgver:0:1}"
done
# some packages look for -lcurses during build
- echo "INPUT(-lncursesw)" > "$pkgdir"/usr/lib/libcursesw.so
- ln -s libncurses.so "$pkgdir"/usr/lib/libcurses.so
-
- # non-widec compatibility libraries
- cd "$srcdir"/ncurses-build
- for lib in ncurses form panel menu; do
- install -Dm755 lib/lib${lib}.so.${pkgver%_*} "$pkgdir"/usr/lib/lib${lib}.so.${pkgver%_*}
- ln -s lib${lib}.so.${pkgver%_*} "$pkgdir"/usr/lib/lib${lib}.so.5
- done
+ echo 'INPUT(-lncursesw)' > "$pkgdir/usr/lib/libcursesw.so"
+ ln -s libncurses.so "$pkgdir/usr/lib/libcurses.so"
# install license, rip it from the readme
- cd "$srcdir"/$pkgname-${pkgver/_/-}
- install -dm755 "$pkgdir"/usr/share/licenses/$pkgname
- grep -B 100 '$Id' README > "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ install -d "$pkgdir/usr/share/licenses/$pkgname"
+ grep -B 100 '$Id' README > "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
diff --git a/abs/core/nfs-utils/PKGBUILD b/abs/core/nfs-utils/PKGBUILD
index b94b840..2bcce5c 100644
--- a/abs/core/nfs-utils/PKGBUILD
+++ b/abs/core/nfs-utils/PKGBUILD
@@ -1,111 +1,111 @@
-# $Id: PKGBUILD 200306 2013-11-25 08:16:32Z tpowa $
+# $Id$
+# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: John Proctor <jproctor@prium.net>
# Contributor: dibblethewrecker <dibblethewrecker.at.jiwe.org>
# Contributor: abelstr <abel@pinklf.eu>
# Contributor: Marco Lima <cipparello gmail com>
-pkgname=nfs-utils
-pkgver=1.2.9
+pkgbase=nfs-utils
+pkgname=('nfs-utils' 'nfsidmap')
+pkgver=2.3.1
pkgrel=1
-pkgdesc="Support programs for Network File Systems"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url='http://nfs.sourceforge.net'
-license=('GPL')
-backup=(etc/{exports,idmapd.conf,nfsmount.conf} etc/conf.d/{nfs-common.conf,nfs-server.conf})
-depends=('glibc' 'e2fsprogs' 'rpcbind' 'libtirpc>=0.2.1' 'librpcsecgss>=0.19-2' 'nfsidmap' 'libevent>=2.0.10' 'libgssglue' 'device-mapper')
-makedepends=('pkgconfig' 'autoconf' 'automake' 'sqlite')
-source=(http://downloads.sourceforge.net/project/nfs/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2
- nfs-common.conf
- nfs-server.conf
- exports
- idmapd.conf
- nfs
- nfs-utils-1.1.4-mtab-sym.patch
- nfs-utils-1.1.4-no-exec.patch
- rpc-gssd.service
- rpc-mountd.service
- rpc-svcgssd.service
- rpc-idmapd.service
- rpc-statd.service
- nfsd.service
- var-lib-nfs-rpc_pipefs.mount
- proc-fs-nfsd.mount
- blkmapd.service
- nfs-utils.conf
+makedepends=('libevent' 'sqlite')
+# http://git.linux-nfs.org/?p=steved/nfs-utils.git;a=summary
+source=(https://www.kernel.org/pub/linux/utils/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.{xz,sign}
id_resolver.conf
- start-statd.patch)
-install=nfs-utils.install
-optdepends=('sqlite: for nfsdcltrack usage')
-
+ exports)
+# https://www.kernel.org/pub/linux/utils/nfs-utils/2.1.1/sha256sums.asc
+sha256sums=('96d06b5a86b185815760d8f04c34fdface8fa8b9949ff256ac05c3ebc08335a5'
+ 'SKIP'
+ 'ed31ae843cf66d3c262b39ed54533a861876231c5f5bb3811c0c498ac2ffa102'
+ '610715ed3daedc43b2536f541c7c57e138fb31eab5d837d9a6187a7403e30154')
+validpgpkeys=('E1B71E339E20A10A676F7CB69AFB1D681A125177') # Steve Dickson
prepare() {
- cd $srcdir/${pkgname}-${pkgver}
- patch -Np1 -i ../nfs-utils-1.1.4-mtab-sym.patch
- # fix /usr/bin in start-statd shell script
- patch -Np1 -i ../start-statd.patch
- #patch -Np1 -i ../nfs-utils-1.1.4-no-exec.patch
+ cd ${pkgbase}-${pkgver}
+
+ # fix hardcoded sbin path to our needs
+ sed -i "s|sbindir = /sbin|sbindir = /usr/bin|g" utils/*/Makefile.am
+ autoreconf -vfi
}
build() {
- cd $srcdir/${pkgname}-${pkgver}
- ./configure --prefix=/usr --sbindir=/usr/bin --enable-nfsv4 --enable-nfsv41 --enable-gss \
- --without-tcp-wrappers --with-statedir=/var/lib/nfs \
- --enable-ipv6 --sysconfdir=/etc --enable-libmount-mount \
- --with-gssglue \
- --enable-mountconfig --with-start-statd=/usr/bin/start-statd
- # move mount helpers to /usr/bin
- sed -i -e 's#sbindir = /sbin#sbindir = /usr/bin#g' utils/mount/Makefile
- # move osd_login to /usr/bin
- sed -i -e 's#sbindir = /sbin#sbindir = /usr/bin#g' utils/osd_login/Makefile
+ cd ${pkgbase}-${pkgver}
+ ./configure --prefix=/usr \
+ --sbindir=/usr/bin \
+ --sysconfdir=/etc \
+ --enable-gss \
+ --without-tcp-wrappers \
+ --with-statedir=/var/lib/nfs \
+ --enable-ipv6 \
+ --enable-libmount-mount \
+ --enable-mountconfig \
+ --with-start-statd=/usr/bin/start-statd
make
}
-package() {
- cd $srcdir/${pkgname}-${pkgver}
- # fix make install
- make DESTDIR=$pkgdir install
-
- # support python2 (FS#25120)
- sed -i '1s/python$/python2/' "$pkgdir"/usr/bin/{nfsiostat,mountstats}
-
- # Configuration
- install -D -m 644 ../exports "$pkgdir/"etc/exports
- install -D -m 644 ../idmapd.conf "$pkgdir/"etc/idmapd.conf
- install -D -m 644 ../nfs-common.conf "$pkgdir/"etc/conf.d/nfs-common.conf
- install -D -m 644 ../nfs-server.conf "$pkgdir/"etc/conf.d/nfs-server.conf
- install -D -m 644 ../nfs "$pkgdir/"etc/conf.d/nfs
- install -D -m 644 utils/mount/nfsmount.conf "$pkgdir/"etc/nfsmount.conf
- # keyutils id_resolver #35463
- install -D -m 644 ../id_resolver.conf "$pkgdir/"etc/request-key.d/id_resolver.conf
- # systemd files
- for i in ${srcdir}/*.{service,mount}; do
- install -D -m 644 $i "$pkgdir/usr/lib/systemd/system/${i##*/}"
+check() {
+ cd ${pkgbase}-${pkgver}
+ make -k check || /bin/true
+}
+
+package_nfs-utils() {
+
+ pkgdesc="Support programs for Network File Systems"
+ license=('GPL2')
+
+ backup=(etc/{exports,nfs.conf,nfsmount.conf})
+ depends=('rpcbind' 'nfsidmap' 'gssproxy' 'libevent' 'device-mapper')
+ optdepends=('sqlite: for nfsdcltrack usage'
+ 'python: for nfsiostat and mountstats usage')
+
+ cd ${pkgbase}-${pkgver}
+ make DESTDIR="$pkgdir" install
+
+ install -D -m 644 utils/mount/nfsmount.conf "$pkgdir"/etc/nfsmount.conf
+ install -D -m 644 nfs.conf "$pkgdir"/etc/nfs.conf
+
+ for i in systemd/{*.service,*.mount,*.target}; do
+ install -D -m 644 $i "$pkgdir"/usr/lib/systemd/system/$(basename $i)
done
- install -D -m 644 ../nfs-utils.conf "$pkgdir/"usr/lib/modules-load.d/nfs-utils.conf
- # directories
- mkdir "$pkgdir/"etc/exports.d
- mkdir -m 555 "$pkgdir/"var/lib/nfs/rpc_pipefs
- mkdir "$pkgdir/"var/lib/nfs/v4recovery
+ install -d -m 755 "$pkgdir"/usr/share/doc/$pkgname
+ install -D -m 644 systemd/README "$pkgdir"/usr/share/doc/$pkgname/README.systemd
+
+ # docs
+ install -m 644 {NEWS,README} "$pkgdir"/usr/share/doc/$pkgname/
+
+ # empty exports file
+ install -D -m 644 ../exports "$pkgdir"/etc/exports
+
+ # config file for idmappers in newer kernels
+ install -D -m 644 ../id_resolver.conf "$pkgdir"/etc/request-key.d/id_resolver.conf
+
+ mkdir "$pkgdir"/etc/exports.d
+ mkdir -m 555 "$pkgdir"/var/lib/nfs/rpc_pipefs
+ mkdir "$pkgdir"/var/lib/nfs/v4recovery
+
+ # nfsidmap cleanup
+ rm -vrf $pkgdir/usr/include #/nfsid*
+ rm -vrf $pkgdir/usr/lib/libnfsidmap*
+ rm -vrf $pkgdir/usr/lib/pkgconfig #/libnfsidmap.pc
+ rm -v $pkgdir/usr/share/man/{man3/nfs4_uid_to_name*,man5/idmapd.conf*}
+ rm -rf $pkgdir/usr/share/man/man3
}
-md5sums=('18869d16db3f49c053f8c68eba3fe2e0'
- 'f73f197a16b02c3e248488ec35c4cf43'
- '9cef69bc686cc5dcac23fbb51450747d'
- 'ff585faf410a62c4333a027c50b56bae'
- 'eb4f4027fab6fc1201f1ca04f5954c76'
- 'f5e7bba09a46c5c5d7007cac6eff9df5'
- '7674106eaaa4c149bccd4f05fe3604e9'
- '4f4827dfc93008dfadd0a530ad0872b2'
- '6aeb4a80b2a5162f5951438474ea22f3'
- 'ff95ad9275ef774e0a2ea8adfe55ee66'
- '2e991f0e440b4809e22b6c7689544fc0'
- '42d0088add3beab0284be1379391382b'
- '60d82e2d2d19d21ceb72665e54bf913e'
- '3bcc9901478f4f9ea0a03b67171c13e3'
- '1cd65909fa0983047f3f06a3ab352401'
- '8f1b5282795895c9b8ce8430d20cdda6'
- '8f03e708b230619ffc2a799a48bffb53'
- '8ac484023d786766d287ccbe878ae4ba'
- 'bed57f7c3911af695ec7b469248c104a'
- 'f8bb29c2ca1ce178e6371091a3e1090d')
+package_nfsidmap() {
+
+ pkgdesc="Library to help mapping IDs, mainly for NFSv4"
+ license=('GPL2')
+ backup=(etc/idmapd.conf)
+ depends=('libldap')
+
+ cd ${pkgbase}-${pkgver}
+ make -C support DESTDIR="$pkgdir" install
+ # config file
+ install -D -m 644 support/nfsidmap/idmapd.conf "$pkgdir"/etc/idmapd.conf
+ # license
+ install -Dm644 support/nfsidmap/COPYING $pkgdir/usr/share/licenses/nfsidmap/LICENSE
+}
diff --git a/abs/core/nfs-utils/blkmapd.service b/abs/core/nfs-utils/blkmapd.service
deleted file mode 100644
index fa7ce39..0000000
--- a/abs/core/nfs-utils/blkmapd.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=pNFS block layout mapping daemon
-After=var-lib-nfs-rpc_pipefs.mount nfsd.service
-Requires=var-lib-nfs-rpc_pipefs.mount
-
-[Service]
-Type=forking
-ExecStart=/usr/bin/blkmapd
-
-[Install]
-WantedBy=multi-user.target
diff --git a/abs/core/nfs-utils/exports b/abs/core/nfs-utils/exports
index 8f4aac5..59dfa2e 100644
--- a/abs/core/nfs-utils/exports
+++ b/abs/core/nfs-utils/exports
@@ -1,15 +1,12 @@
-# /etc/exports
-#
-# List of directories exported to NFS clients. See exports(5).
-# Use exportfs -arv to reread.
+# /etc/exports - exports(5) - directories exported to NFS clients
#
# Example for NFSv2 and NFSv3:
-# /srv/home hostname1(rw,sync) hostname2(ro,sync)
-#
+# /srv/home hostname1(rw,sync) hostname2(ro,sync)
# Example for NFSv4:
-# /srv/nfs4 hostname1(rw,sync,fsid=0)
+# /srv/nfs4 hostname1(rw,sync,fsid=0)
# /srv/nfs4/home hostname1(rw,sync,nohide)
# Using Kerberos and integrity checking:
-# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt)
-# /srv/nfs4/home gss/krb5i(rw,sync,nohide)
+# /srv/nfs4 *(rw,sync,sec=krb5i,fsid=0)
+# /srv/nfs4/home *(rw,sync,sec=krb5i,nohide)
#
+# Use `exportfs -arv` to reload.
diff --git a/abs/core/nfs-utils/id_resolver.conf b/abs/core/nfs-utils/id_resolver.conf
index 9c0fee3..6b1ea48 100644
--- a/abs/core/nfs-utils/id_resolver.conf
+++ b/abs/core/nfs-utils/id_resolver.conf
@@ -1 +1,9 @@
-create id_resolver * * /usr/bin/nfsidmap %k %d \ No newline at end of file
+#
+# nfsidmap(5) - The NFS idmapper upcall program
+# Summary: Used by NFSv4 to map user/group ids into
+# user/group names and names into in ids
+# Options:
+# -v Increases the verbosity of the output to syslog
+# -t timeout Set the expiration timer, in seconds, on the key
+#
+create id_resolver * * /usr/bin/nfsidmap %k %d
diff --git a/abs/core/nfs-utils/idmapd.conf b/abs/core/nfs-utils/idmapd.conf
deleted file mode 100644
index b1b23af..0000000
--- a/abs/core/nfs-utils/idmapd.conf
+++ /dev/null
@@ -1,14 +0,0 @@
-[General]
-
-Verbosity = 0
-Pipefs-Directory = /var/lib/nfs/rpc_pipefs
-Domain = localdomain
-
-[Mapping]
-
-Nobody-User = nobody
-Nobody-Group = nobody
-
-[Translation]
-
-Method = nsswitch
diff --git a/abs/core/nfs-utils/nfs b/abs/core/nfs-utils/nfs
deleted file mode 100644
index 2d33cf3..0000000
--- a/abs/core/nfs-utils/nfs
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-# Optinal options passed to rquotad
-RPCRQUOTADOPTS=""
-#
-# Optional arguments passed to in-kernel lockd
-#LOCKDARG=
-# TCP port rpc.lockd should listen on.
-#LOCKD_TCPPORT=32803
-# UDP port rpc.lockd should listen on.
-#LOCKD_UDPPORT=32769
-#
-# Optional arguments passed to rpc.nfsd. See rpc.nfsd(8)
-RPCNFSDARGS=""
-# Number of nfs server processes to be started.
-# The default is 8.
-RPCNFSDCOUNT=8
-# Set V4 grace period in seconds
-#NFSD_V4_GRACE=90
-#
-# Optional arguments passed to rpc.mountd. See rpc.mountd(8)
-RPCMOUNTDOPTS=""
-#
-# Optional arguments passed to rpc.statd. See rpc.statd(8)
-STATDARG=""
-#
-# Optional arguments passed to rpc.idmapd. See rpc.idmapd(8)
-RPCIDMAPDARGS=""
-#
-# Optional arguments passed to rpc.gssd. See rpc.gssd(8)
-RPCGSSDARGS=""
-#
-# Optional arguments passed to rpc.svcgssd. See rpc.svcgssd(8)
-RPCSVCGSSDARGS=""
-#
-# To enable RDMA support on the server by setting this to
-# the port the server should listen on
-#RDMA_PORT=20049
-#
-# Optional arguments passed to blkmapd. See blkmapd(8)
-BLKMAPDARGS=""
diff --git a/abs/core/nfs-utils/nfs-common.conf b/abs/core/nfs-utils/nfs-common.conf
deleted file mode 100644
index 12466b3..0000000
--- a/abs/core/nfs-utils/nfs-common.conf
+++ /dev/null
@@ -1,40 +0,0 @@
-# Parameters to be passed to nfs-common (nfs clients & server) init script.
-#
-
-# If you do not set values for the NEED_ options, they will be attempted
-# autodetected; this should be sufficient for most people. Valid alternatives
-# for the NEED_ options are "yes" and "no".
-
-# Do you want to start the statd daemon? It is not needed for NFSv4.
-NEED_STATD=""
-
-# Options to pass to rpc.statd.
-# See rpc.statd(8) for more details.
-# N.B. statd normally runs on both client and server, and run-time
-# options should be specified accordingly.
-# STATD_OPTS="-p 32765 -o 32766"
-STATD_OPTS=""
-
-# Options to pass to sm-notify
-# e.g. SMNOTIFY_OPTS="-p 32764"
-SMNOTIFY_OPTS=""
-
-# Do you want to start the idmapd daemon? It is only needed for NFSv4.
-NEED_IDMAPD=""
-
-# Options to pass to rpc.idmapd.
-# See rpc.idmapd(8) for more details.
-IDMAPD_OPTS=""
-
-# Do you want to start the gssd daemon? It is required for Kerberos mounts.
-NEED_GSSD=""
-
-# Options to pass to rpc.gssd.
-# See rpc.gssd(8) for more details.
-GSSD_OPTS=""
-
-# Where to mount rpc_pipefs filesystem; the default is "/var/lib/nfs/rpc_pipefs".
-PIPEFS_MOUNTPOINT=""
-
-# Options used to mount rpc_pipefs filesystem; the default is "defaults".
-PIPEFS_MOUNTOPTS=""
diff --git a/abs/core/nfs-utils/nfs-server.conf b/abs/core/nfs-utils/nfs-server.conf
deleted file mode 100644
index 581e263..0000000
--- a/abs/core/nfs-utils/nfs-server.conf
+++ /dev/null
@@ -1,29 +0,0 @@
-# Parameters to be passed to nfs-server init script.
-#
-
-# Options to pass to rpc.nfsd.
-# See rpc.nfsd(8) for more details.
-NFSD_OPTS=""
-
-# Number of servers to start up; the default is 8 servers.
-NFSD_COUNT=""
-
-# Where to mount nfsd filesystem; the default is "/proc/fs/nfsd".
-PROCNFSD_MOUNTPOINT=""
-
-# Options used to mount nfsd filesystem; the default is "rw,nodev,noexec,nosuid".
-PROCNFSD_MOUNTOPTS=""
-
-# Options for rpc.mountd.
-# If you have a port-based firewall, you might want to set up
-# a fixed port here using the --port option.
-# See rpc.mountd(8) for more details.
-MOUNTD_OPTS=""
-
-# Do you want to start the svcgssd daemon? It is only required for Kerberos
-# exports. Valid alternatives are "yes" and "no"; the default is "no".
-NEED_SVCGSSD=""
-
-# Options to pass to rpc.svcgssd.
-# See rpc.svcgssd(8) for more details.
-SVCGSSD_OPTS=""
diff --git a/abs/core/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch b/abs/core/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch
deleted file mode 100644
index c9e60af..0000000
--- a/abs/core/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-ripped from Debian
-
---- nfs-utils-1.1.4/utils/mount/fstab.c
-+++ nfs-utils-1.1.4/utils/mount/fstab.c
-@@ -57,7 +57,7 @@ mtab_does_not_exist(void) {
- return var_mtab_does_not_exist;
- }
-
--static int
-+int
- mtab_is_a_symlink(void) {
- get_mtab_info();
- return var_mtab_is_a_symlink;
---- nfs-utils-1.1.4/utils/mount/fstab.h
-+++ nfs-utils-1.1.4/utils/mount/fstab.h
-@@ -7,6 +7,7 @@
- #define _PATH_FSTAB "/etc/fstab"
- #endif
-
-+int mtab_is_a_symlink(void);
- int mtab_is_writable(void);
- int mtab_does_not_exist(void);
- void reset_mtab_info(void);
---- nfs-utils-1.1.4/utils/mount/mount.c
-+++ nfs-utils-1.1.4/utils/mount/mount.c
-@@ -230,6 +230,13 @@ create_mtab (void) {
- int flags;
- mntFILE *mfp;
-
-+ /* Avoid writing if the mtab is a symlink to /proc/mounts, since
-+ that would create a file /proc/mounts in case the proc filesystem
-+ is not mounted, and the fchmod below would also fail. */
-+ if (mtab_is_a_symlink()) {
-+ return EX_SUCCESS;
-+ }
-+
- lock_mtab();
-
- mfp = nfs_setmntent (MOUNTED, "a+");
diff --git a/abs/core/nfs-utils/nfs-utils-1.1.4-no-exec.patch b/abs/core/nfs-utils/nfs-utils-1.1.4-no-exec.patch
deleted file mode 100644
index ea50a21..0000000
--- a/abs/core/nfs-utils/nfs-utils-1.1.4-no-exec.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-ripped from Debian
-
---- nfs-utils-1.1.2/utils/mount/mount.c
-+++ nfs-utils-1.1.2/utils/mount/mount.c
-@@ -381,10 +381,6 @@
- mount_error(NULL, mount_point, ENOTDIR);
- return 1;
- }
-- if (access(mount_point, X_OK) < 0) {
-- mount_error(NULL, mount_point, errno);
-- return 1;
-- }
-
- return 0;
- }
diff --git a/abs/core/nfs-utils/nfs-utils.conf b/abs/core/nfs-utils/nfs-utils.conf
deleted file mode 100644
index 33c97b8..0000000
--- a/abs/core/nfs-utils/nfs-utils.conf
+++ /dev/null
@@ -1 +0,0 @@
-nfs
diff --git a/abs/core/nfs-utils/nfs-utils.install b/abs/core/nfs-utils/nfs-utils.install
deleted file mode 100644
index f6c72d9..0000000
--- a/abs/core/nfs-utils/nfs-utils.install
+++ /dev/null
@@ -1,32 +0,0 @@
-## arg 1: the new package version
-post_install() {
-cat << 'EOM'
- ==> PLEASE NOTE:
- ==> Extended configuration options for NFS (clients & server) are available in
- ==> /etc/conf.d/nfs-common.conf and in /etc/conf.d/nfs-server.conf
- ==>
- ==> Please refer to http://wiki.archlinux.org/index.php/NFS
- ==> for further information on NFS4; for NFSv3, refer to
- ==> http://wiki.archlinux.org/index.php/NFSv3
-EOM
-}
-
-## arg 1: the new package version
-## arg 2: the old package version
-post_upgrade() {
- if [ "$(vercmp $2 1.2.0-2)" -lt 0 ]; then
-cat << 'EOM'
- ==> IMPORTANT NFS UTILS CHANGES:
- ==> This is a rather important upgrade, you are going to have to change config files.
- ==> /etc/rc.conf daemons changes:
- ==> Change portmap to rpcbind
- ==> Change nfslock to nfs-common
- ==> Change nfsd to nfs-server
- ==>
- ==> Extended configuration options for NFS (clients & server) are available in:
- ==> /etc/conf.d/nfs-common
- ==> /etc/conf.d/nfs-server
- ==> Please change them to your needs.
-EOM
- fi
-}
diff --git a/abs/core/nfs-utils/nfsd.service b/abs/core/nfs-utils/nfsd.service
deleted file mode 100644
index d63e490..0000000
--- a/abs/core/nfs-utils/nfsd.service
+++ /dev/null
@@ -1,16 +0,0 @@
-[Unit]
-Description=NFS server
-After=rpcbind.service
-Requires=rpcbind.service
-
-[Service]
-Type=oneshot
-EnvironmentFile=/etc/conf.d/nfs-server.conf
-ExecStart=/usr/bin/rpc.nfsd $NFSD_OPTS $NFSD_COUNT
-ExecStartPost=/usr/bin/exportfs -a
-ExecStop=/usr/bin/rpc.nfsd 0
-ExecStopPost=/usr/bin/exportfs -a -u
-RemainAfterExit=yes
-
-[Install]
-WantedBy=multi-user.target
diff --git a/abs/core/nfs-utils/proc-fs-nfsd.mount b/abs/core/nfs-utils/proc-fs-nfsd.mount
deleted file mode 100644
index e5ee6fb..0000000
--- a/abs/core/nfs-utils/proc-fs-nfsd.mount
+++ /dev/null
@@ -1,8 +0,0 @@
-[Unit]
-Description=RPC Pipe File System
-DefaultDependencies=no
-
-[Mount]
-What=sunrpc
-Where=/proc/fs/nfsd
-Type=nfsd
diff --git a/abs/core/nfs-utils/rpc-gssd.service b/abs/core/nfs-utils/rpc-gssd.service
deleted file mode 100644
index 182d9b7..0000000
--- a/abs/core/nfs-utils/rpc-gssd.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=RPC GSS-API client-side daemon
-After=rpcbind.service var-lib-nfs-rpc_pipefs.mount
-Requires=rpcbind.service var-lib-nfs-rpc_pipefs.mount
-Before=remote-fs-pre.target
-
-[Service]
-Type=forking
-EnvironmentFile=/etc/conf.d/nfs-common.conf
-ExecStart=/usr/bin/rpc.gssd $GSSD_OPTS
-
-[Install]
-WantedBy=multi-user.target
diff --git a/abs/core/nfs-utils/rpc-idmapd.service b/abs/core/nfs-utils/rpc-idmapd.service
deleted file mode 100644
index 1167daf..0000000
--- a/abs/core/nfs-utils/rpc-idmapd.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=NFSv4 ID-name mapping daemon
-After=var-lib-nfs-rpc_pipefs.mount nfsd.service
-Requires=var-lib-nfs-rpc_pipefs.mount
-Before=remote-fs-pre.target
-
-[Service]
-Type=forking
-EnvironmentFile=/etc/conf.d/nfs-common.conf
-ExecStart=/usr/bin/rpc.idmapd $IDMAPD_OPTS
-
-[Install]
-WantedBy=multi-user.target
diff --git a/abs/core/nfs-utils/rpc-mountd.service b/abs/core/nfs-utils/rpc-mountd.service
deleted file mode 100644
index 7528884..0000000
--- a/abs/core/nfs-utils/rpc-mountd.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=NFS Mount Daemon
-After=rpcbind.service nfsd.service
-Requires=rpcbind.service nfsd.service
-
-[Service]
-Type=forking
-EnvironmentFile=/etc/conf.d/nfs-server.conf
-ExecStart=/usr/bin/rpc.mountd $MOUNTD_OPTS
-
-[Install]
-WantedBy=multi-user.target
diff --git a/abs/core/nfs-utils/rpc-statd.service b/abs/core/nfs-utils/rpc-statd.service
deleted file mode 100644
index c2fd63b..0000000
--- a/abs/core/nfs-utils/rpc-statd.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=NFSv2/3 Network Status Monitor Daemon
-After=rpcbind.service
-Requires=rpcbind.service
-Before=remote-fs-pre.target
-
-[Service]
-Type=forking
-EnvironmentFile=/etc/conf.d/nfs-common.conf
-ExecStart=/usr/bin/rpc.statd $STATD_OPTS
-
-[Install]
-WantedBy=multi-user.target
diff --git a/abs/core/nfs-utils/rpc-svcgssd.service b/abs/core/nfs-utils/rpc-svcgssd.service
deleted file mode 100644
index 876bad3..0000000
--- a/abs/core/nfs-utils/rpc-svcgssd.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=RPC GSS-API server-side daemon
-After=rpcbind.service
-Requires=rpcbind.service
-
-[Service]
-Type=forking
-EnvironmentFile=/etc/conf.d/nfs-server.conf
-ExecStart=/usr/bin/rpc.svcgssd $SVCGSSD_OPTS
-
-[Install]
-WantedBy=multi-user.target
diff --git a/abs/core/nfs-utils/start-statd.patch b/abs/core/nfs-utils/start-statd.patch
deleted file mode 100644
index 6f6f119..0000000
--- a/abs/core/nfs-utils/start-statd.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- nfs-utils-1.2.8/utils/statd/start-statd.old 2013-05-23 11:35:10.408221686 +0200
-+++ nfs-utils-1.2.8/utils/statd/start-statd 2013-05-23 11:35:22.191356904 +0200
-@@ -4,6 +4,6 @@
- # /var/run/rpc.statd.pid).
- # It should run statd with whatever flags are apropriate for this
- # site.
--PATH=/sbin:/usr/sbin
-+PATH=/sbin:/usr/sbin:/usr/bin
- exec rpc.statd --no-notify
-
diff --git a/abs/core/nfs-utils/var-lib-nfs-rpc_pipefs.mount b/abs/core/nfs-utils/var-lib-nfs-rpc_pipefs.mount
deleted file mode 100644
index 4bd440f..0000000
--- a/abs/core/nfs-utils/var-lib-nfs-rpc_pipefs.mount
+++ /dev/null
@@ -1,7 +0,0 @@
-[Unit]
-Description=RPC pipe filesystem
-
-[Mount]
-What=rpc_pipefs
-Where=/var/lib/nfs/rpc_pipefs
-Type=rpc_pipefs
diff --git a/abs/core/npth/PKGBUILD b/abs/core/npth/PKGBUILD
new file mode 100644
index 0000000..8ff7904
--- /dev/null
+++ b/abs/core/npth/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id$
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+
+pkgname=npth
+pkgver=1.5
+pkgrel=1
+pkgdesc='New portable threads library'
+url='http://git.gnupg.org/cgi-bin/gitweb.cgi?p=npth.git'
+license=('LGPL')
+options=('!libtool')
+arch=('x86_64')
+validpgpkeys=('D8692123C4065DEA5E0F3AB5249B39D24F25E3B6'
+ '46CC730865BB5C78EBABADCF04376F3EE0856959'
+ '031EC2536E580D8EA286A9F22071B08A33BD3F06'
+ 'D238EA65D64C67ED4C3073F28A861B1C7EFD60D9')
+source=("ftp://ftp.gnupg.org/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2"{,.sig})
+sha256sums=('294a690c1f537b92ed829d867bee537e46be93fbd60b16c04630fbbfcd9db3c2'
+ 'SKIP')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --enable-maintainer-mode
+ make
+}
+
+check() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make check
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/abs/core/ntp/PKGBUILD b/abs/core/ntp/PKGBUILD
index 3da7795..2ea5e1c 100644
--- a/abs/core/ntp/PKGBUILD
+++ b/abs/core/ntp/PKGBUILD
@@ -1,64 +1,47 @@
-# $Id: PKGBUILD 162162 2012-06-22 12:59:21Z dreisner $
-# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Maintainer: Lukas Fleischer <lfleischer@archlinux.org>
+# Contributor: Gaetan Bisson <bisson@archlinux.org>
# Contributor: kevin <kevin@archlinux.org>
pkgname=ntp
-pkgver=4.2.6.p5
-_realver=4.2.6p5
-pkgrel=7
+_pkgname=ntp #-dev
+_pkgver=4.2.8p10
+pkgver=${_pkgver/p/.p}
+pkgrel=2
pkgdesc='Network Time Protocol reference implementation'
url='http://www.ntp.org/'
license=('custom')
-arch=('i686' 'x86_64')
-makedepends=('perl-html-parser')
-depends=('openssl' 'readline' 'libcap')
-backup=('etc/ntp.conf' 'etc/conf.d/ntpd.conf')
-source=("http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-${_realver}.tar.gz"
- 'ntpd'
- 'ntpdate'
+arch=('x86_64')
+depends=('openssl' 'libcap' 'libedit')
+backup=('etc/ntp.conf')
+source=("https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/${_pkgname}-${_pkgver}.tar.gz"
'ntp.conf'
- 'ntpd.conf'
- 'logrotate.d'
- 'ntpd.service')
-sha1sums=('4a5353a4791b6f4315a66c28d504ec6c7926b192'
- '4e324e625c1f080b5c028be5092aa71adbf9bd99'
- '01394b8a952f5edc85d19df8335eeac3980320f4'
- 'eb1f63814b9adbd3d518e880fa3b38c375f0fe91'
- '4537d1f58b299d463db5048129cb264511474b0b'
- '4f76f7f9ffc8315ff9924f793f272d4f6939b816'
- '81df5c4d51cb69bc29363625ff49e2bd388d1fa9')
+ 'ntpd.service'
+ 'ntpdate.service')
+sha1sums=('503d68cfd3e6a9354e0e28dd38b39d850b1228b2'
+ 'ad1d6ee2e9aca64a84a7224c88bf6008ac6c69e1'
+ '0cccca872385e0142888ab48d273fec0669b30a8'
+ '059b382d1af0c55202e2d17f2ae065a2cbfec9ee')
-install=install
+options=('!emptydirs')
+install=ntp.install
build() {
- cd "${srcdir}/${pkgname}-${_realver}"
-
- ./configure \
- --prefix=/usr \
- --mandir=/usr/share/man \
- --enable-linuxcaps \
+ cd "${srcdir}/${_pkgname}-${_pkgver}"
+ ./configure --prefix=/usr --libexecdir=/usr/lib --enable-linuxcaps --enable-ntp-signd
make
}
package() {
- cd "${srcdir}/${pkgname}-$_realver"
+ cd "${srcdir}/${_pkgname}-${_pkgver}"
make DESTDIR="${pkgdir}" install
- rmdir "${pkgdir}"/usr/{lib,sbin}
- install -d -o 87 "${pkgdir}"/var/lib/ntp
- install -Dm755 ../ntpd "${pkgdir}"/etc/rc.d/ntpd
- install -Dm755 ../ntpdate "${pkgdir}"/etc/rc.d/ntpdate
install -Dm644 ../ntp.conf "${pkgdir}"/etc/ntp.conf
- install -Dm644 ../ntpd.conf "${pkgdir}"/etc/conf.d/ntpd.conf
- install -Dm644 ../logrotate.d "${pkgdir}"/etc/logrotate.d/ntpd
install -Dm644 ../ntpd.service "${pkgdir}"/usr/lib/systemd/system/ntpd.service
+ install -Dm644 ../ntpdate.service "${pkgdir}"/usr/lib/systemd/system/ntpdate.service
install -Dm644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
-
- cd html
- ../scripts/html2man
- install -d "${pkgdir}"/usr/share/man
- mv man/man* "${pkgdir}"/usr/share/man
- mv "${pkgdir}/usr/share/man/man8/ntpd.8" "${pkgdir}/usr/share/man/man8/ntp-ntpd.8" # we should ditch openntpd
+
+ install -d -o 87 "${pkgdir}"/var/lib/ntp
+ echo > "${pkgdir}/var/lib/ntp/.placeholder"
}
diff --git a/abs/core/ntp/install b/abs/core/ntp/install
deleted file mode 100644
index e6eddf8..0000000
--- a/abs/core/ntp/install
+++ /dev/null
@@ -1,37 +0,0 @@
-post_install() {
- getent group ntp &>/dev/null || groupadd -g 87 ntp >/dev/null
- getent passwd ntp &>/dev/null || useradd -u 87 -g ntp -d /var/lib/ntp -c 'Network Time Protocol' -s /bin/false ntp >/dev/null
- true
-}
-
-post_upgrade() {
- if [[ $(vercmp $2 4.2.6.p3) -le 0 ]]; then
- cat <<EOF
-
-==> The file /etc/conf.d/ntp-client.conf has been renamed /etc/conf.d/ntpd.conf
-==> If you made changes to the former, please update the latter.
-
-EOF
- fi
- if [[ $(vercmp $2 4.2.6.p5-1) -le 0 ]]; then
- cat <<EOF
-
-==> The PID file /var/run/ntpd.pid has been renamed /run/ntpd.pid
-==> and the new rc.d script only takes the latter into account.
-==> To stop your old ntpd process, please kill it manually.
-
-EOF
- fi
- if [[ $(vercmp $2 4.2.6.p5-3) -le 0 ]]; then
- post_install
- fi
- if [[ $(vercmp $2 4.2.6.p5-5) -le 0 ]]; then
- chown -R ntp /var/lib/ntp
- fi
-}
-
-post_remove() {
- getent passwd ntp &>/dev/null && userdel ntp >/dev/null
- getent group ntp &>/dev/null && groupdel ntp >/dev/null
- true
-}
diff --git a/abs/core/ntp/logrotate.d b/abs/core/ntp/logrotate.d
deleted file mode 100644
index 8a9f066..0000000
--- a/abs/core/ntp/logrotate.d
+++ /dev/null
@@ -1,4 +0,0 @@
-/var/log/ntp.log {
- missingok
- copytruncate
-}
diff --git a/abs/core/ntp/ntp.conf b/abs/core/ntp/ntp.conf
index a27b228..4debe96 100644
--- a/abs/core/ntp/ntp.conf
+++ b/abs/core/ntp/ntp.conf
@@ -1,23 +1,24 @@
-# With the default settings below, ntpd will only synchronize your clock.
+# Please consider joining the pool:
#
-# For details, see:
-# - the ntp.conf man page
-# - http://support.ntp.org/bin/view/Support/GettingStarted
+# http://www.pool.ntp.org/join.html
+#
+# For additional information see:
# - https://wiki.archlinux.org/index.php/Network_Time_Protocol_daemon
+# - http://support.ntp.org/bin/view/Support/GettingStarted
+# - the ntp.conf man page
-# Associate to public NTP pool servers; see http://www.pool.ntp.org/
-server 0.pool.ntp.org
-server 1.pool.ntp.org
-server 2.pool.ntp.org
+# Associate to Arch's NTP pool
+server 0.arch.pool.ntp.org
+server 1.arch.pool.ntp.org
+server 2.arch.pool.ntp.org
+server 3.arch.pool.ntp.org
-# Only allow read-only access from localhost
-restrict default noquery nopeer
+# By default, the server allows:
+# - all queries from the local host
+# - only time queries from remote hosts, protected by rate limiting and kod
+restrict default kod limited nomodify nopeer noquery notrap
restrict 127.0.0.1
restrict ::1
-# Location of drift and log files
+# Location of drift file
driftfile /var/lib/ntp/ntp.drift
-logfile /var/log/ntp.log
-
-# NOTE: If you run dhcpcd and have lines like 'restrict' and 'fudge' appearing
-# here, be sure to add '-Y -N' to the dhcpcd_ethX variables in /etc/conf.d/net
diff --git a/abs/core/ntp/ntp.install b/abs/core/ntp/ntp.install
new file mode 100644
index 0000000..4df9f78
--- /dev/null
+++ b/abs/core/ntp/ntp.install
@@ -0,0 +1,5 @@
+post_install() {
+ getent group ntp &>/dev/null || groupadd -g 87 ntp >/dev/null
+ getent passwd ntp &>/dev/null || useradd -u 87 -g ntp -d /var/lib/ntp -c 'Network Time Protocol' -s /bin/false ntp >/dev/null
+ true
+}
diff --git a/abs/core/ntp/ntpd b/abs/core/ntp/ntpd
deleted file mode 100755
index 480fa10..0000000
--- a/abs/core/ntp/ntpd
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-. /etc/conf.d/ntpd.conf
-
-unset PID
-PIDFILE='/run/ntpd.pid'
-
-if [[ -r ${PIDFILE} ]]; then
- read -r PID <"${PIDFILE}"
- if [[ -n ${PID} && ! -d /proc/${PID} ]]; then
- rm -f "${PIDFILE}"
- unset PID
- fi
-fi
-
-case "$1" in
- start)
- stat_busy "Starting NTP Daemon"
- if [[ -z ${PID} ]] && /usr/bin/ntpd ${NTPD_ARGS} -p "${PIDFILE}" &>/dev/null; then
- add_daemon ntpd
- stat_done
- else
- stat_fail
- exit 1
- fi
- ;;
- stop)
- stat_busy "Stopping NTP Daemon"
- if [[ -n ${PID} ]] && kill "${PID}" &>/dev/null; then
- rm ${PIDFILE}
- rm_daemon ntpd
- stat_done
- else
- stat_fail
- exit 1
- fi
- ;;
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
diff --git a/abs/core/ntp/ntpd.conf b/abs/core/ntp/ntpd.conf
deleted file mode 100644
index 047961f..0000000
--- a/abs/core/ntp/ntpd.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-# client options for "ntpd -q" - ntpdate equivalent
-NTP_CLIENT_OPTION="-g -u ntp"
-
-# arguments passed to ntpd when started
-NTPD_ARGS="-g -u ntp"
diff --git a/abs/core/ntp/ntpd.service b/abs/core/ntp/ntpd.service
index e0cbf87..267615c 100644
--- a/abs/core/ntp/ntpd.service
+++ b/abs/core/ntp/ntpd.service
@@ -1,12 +1,13 @@
[Unit]
Description=Network Time Service
-After=network.target
+After=network.target nss-lookup.target
+Conflicts=systemd-timesyncd.service
[Service]
Type=forking
-PIDFile=/run/ntpd.pid
-EnvironmentFile=/etc/conf.d/ntpd.conf
-ExecStart=/usr/bin/ntpd $NTPD_ARGS -p /run/ntpd.pid
+PrivateTmp=true
+ExecStart=/usr/bin/ntpd -g -u ntp:ntp
+Restart=always
[Install]
WantedBy=multi-user.target
diff --git a/abs/core/ntp/ntpdate b/abs/core/ntp/ntpdate
deleted file mode 100755
index a8e7467..0000000
--- a/abs/core/ntp/ntpdate
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-. /etc/conf.d/ntpd.conf
-
-case "$1" in
- start)
- stat_busy "Starting NTP Client"
- if /usr/bin/ntpd -q ${NTP_CLIENT_OPTION} &>/dev/null; then
- add_daemon ntpdate
- stat_done
- else
- stat_fail
- exit 1
- fi
- ;;
- stop)
- stat_busy "Stopping NTP Client"
- rm_daemon ntpdate
- stat_done
- ;;
- restart)
- $0 stop
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
diff --git a/abs/core/ntp/ntpdate.service b/abs/core/ntp/ntpdate.service
new file mode 100644
index 0000000..e85852e
--- /dev/null
+++ b/abs/core/ntp/ntpdate.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=One-Shot Network Time Service
+After=network.target nss-lookup.target
+Before=ntpd.service
+
+[Service]
+Type=oneshot
+PrivateTmp=true
+ExecStart=/usr/bin/ntpd -q -n -g -u ntp:ntp
+
+[Install]
+WantedBy=multi-user.target
diff --git a/abs/core/nvidia-304xx/PKGBUILD b/abs/core/nvidia-304xx/PKGBUILD
index 6c7a698..f014b35 100644
--- a/abs/core/nvidia-304xx/PKGBUILD
+++ b/abs/core/nvidia-304xx/PKGBUILD
@@ -6,7 +6,7 @@ pkgbase=nvidia-304xx
pkgname=(nvidia-304xx nvidia-304xx-dkms)
pkgver=304.137
_extramodules=extramodules-4.9-ARCH
-pkgrel=10
+pkgrel=12
pkgdesc="NVIDIA drivers for linux, 304xx legacy branch"
arch=('x86_64')
url="http://www.nvidia.com/"
diff --git a/abs/core/nvidia-340xx-utils/PKGBUILD b/abs/core/nvidia-340xx-utils/PKGBUILD
index 9d132f3..6cbc1aa 100644
--- a/abs/core/nvidia-340xx-utils/PKGBUILD
+++ b/abs/core/nvidia-340xx-utils/PKGBUILD
@@ -1,29 +1,29 @@
# $Id$
-# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
-# Maintainer: Thomas Baechler <thomas@archlinux.org>
+# Maintainer: Giancarlo Razzolini <grazzolini@archlinux.org>
+# Contributor: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Thomas Baechler <thomas@archlinux.org>
# Contributor: James Rayner <iphitus@gmail.com>
pkgbase=nvidia-340xx-utils
pkgname=('nvidia-340xx-utils' 'opencl-nvidia-340xx')
-pkgver=340.104
-pkgrel=1
+pkgver=340.107
+pkgrel=3
arch=('x86_64')
url="http://www.nvidia.com/"
license=('custom')
options=('!strip')
-source=(nvidia-drm-outputclass.conf)
-source_i686=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
-source_x86_64=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
-sha512sums=('cfea06a816ac4a8b728b1ec728d667cdcca604abb038e8b5313b434021caad06a586856b8b3a6c79f8c925629360f5a051ca3de5ab46a42af76b9d0615d2bbbe')
-sha512sums_i686=('8dacd5345a5794e862f4106ab9e8e402defa7883dd176c243d019209b560fe955d7576a13936364c01c5a249f15df58208308c9378c12c3438784376e5fb806c')
-sha512sums_x86_64=('e962494561728af5a911354bfb3560e414464f7858f30f9654eac5ca56175bc8498d1eee93a18248c63e9eee7d84807ef924fe9f53239644d7085b0f3502bf8c')
-
-[[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
+source=(nvidia-drm-outputclass.conf
+ "http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run"
+ nvidia-340xx-utils.sysusers)
+sha512sums=('c49d246a519731bfab9d22afa5c2dd2d366db06d80182738b84881e93cd697c783f16ee04819275c05597bb063451a5d6102fbc562cd078d2a374533a23cea48'
+ '0de6f182d67bd322df7ae04e74c0cde6973c55bfea47a8f2503a29f8a899cd1b801ae4b52d066628df4a4f9c84e5e7547465bdc37d1b87df47af43fdab23466f'
+ '4b3ad73f5076ba90fe0b3a2e712ac9cde76f469cd8070280f960c3ce7dc502d1927f525ae18d008075c8f08ea432f7be0a6c3a7a6b49c361126dcf42f97ec499')
+
[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
create_links() {
# create soname links
- for _lib in $(find "${pkgdir}" -name '*.so*' | grep -v 'xorg/'); do
+ find "$pkgdir" -type f -name '*.so*' ! -path '*xorg/*' -print0 | while read -d $'\0' _lib; do
_soname=$(dirname "${_lib}")/$(readelf -d "${_lib}" | grep -Po 'SONAME.*: \[\K[^]]*' || true)
_base=$(echo ${_soname} | sed -r 's/(.*).so.*/\1.so/')
[[ -e "${_soname}" ]] || ln -s $(basename "${_lib}") "${_soname}"
@@ -48,7 +48,7 @@ package_opencl-nvidia-340xx() {
# OpenCL
install -D -m644 nvidia.icd "${pkgdir}/etc/OpenCL/vendors/nvidia.icd"
install -D -m755 "libnvidia-compiler.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-compiler.so.${pkgver}"
- install -D -m755 "libnvidia-opencl.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-opencl.so.${pkgver}"
+ install -D -m755 "libnvidia-opencl.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-opencl.so.${pkgver}"
create_links
@@ -62,11 +62,11 @@ package_nvidia-340xx-utils() {
optdepends=('gtk2: nvidia-settings'
'xorg-server-devel: nvidia-xconfig'
'opencl-nvidia-340xx: OpenCL support')
- conflicts=('nvidia-304xx-utils' 'nvidia-utils' 'nvidia-340xx-libgl')
- provides=('libgl' 'libgles' 'libegl' 'nvidia-utils' 'nvidia-340xx-libgl')
+ conflicts=('nvidia-utils' 'nvidia-340xx-libgl' 'nvidia-libgl')
+ provides=('libgl' 'libgles' 'libegl' 'nvidia-utils' 'nvidia-340xx-libgl' 'nvidia-libgl')
replaces=('nvidia-340xx-libgl')
install="${pkgname}.install"
-
+
cd "${_pkg}"
# X driver
@@ -87,7 +87,7 @@ package_nvidia-340xx-utils() {
install -D -m755 "libnvidia-glcore.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/libnvidia-glcore.so.${pkgver}"
install -D -m755 "libnvidia-eglcore.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/libnvidia-eglcore.so.${pkgver}"
install -D -m755 "libnvidia-glsi.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/libnvidia-glsi.so.${pkgver}"
-
+
# misc
install -D -m755 "libnvidia-ifr.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/libnvidia-ifr.so.${pkgver}"
install -D -m755 "libnvidia-fbc.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/libnvidia-fbc.so.${pkgver}"
@@ -160,5 +160,7 @@ package_nvidia-340xx-utils() {
install -dm 755 "${pkgdir}"/etc/ld.so.conf.d
echo -e '/usr/lib/nvidia/' > "${pkgdir}"/etc/ld.so.conf.d/00-nvidia.conf
+ install -Dm644 "${srcdir}/nvidia-340xx-utils.sysusers" "${pkgdir}/usr/lib/sysusers.d/$pkgname.conf"
+
create_links
}
diff --git a/abs/core/nvidia-340xx-utils/nvidia-340xx-utils.install b/abs/core/nvidia-340xx-utils/nvidia-340xx-utils.install
index 1955c64..47847c7 100644
--- a/abs/core/nvidia-340xx-utils/nvidia-340xx-utils.install
+++ b/abs/core/nvidia-340xx-utils/nvidia-340xx-utils.install
@@ -3,8 +3,5 @@ post_upgrade() {
}
post_install() {
- getent group nvidia-persistenced &>/dev/null || groupadd -g 143 nvidia-persistenced
- getent passwd nvidia-persistenced &>/dev/null || useradd -c 'NVIDIA Persistence Daemon' -u 143 -g nvidia-persistenced -d '/' -s /sbin/nologin nvidia-persistenced
-
post_upgrade
}
diff --git a/abs/core/nvidia-340xx-utils/nvidia-340xx-utils.sysusers b/abs/core/nvidia-340xx-utils/nvidia-340xx-utils.sysusers
new file mode 100644
index 0000000..71c0608
--- /dev/null
+++ b/abs/core/nvidia-340xx-utils/nvidia-340xx-utils.sysusers
@@ -0,0 +1 @@
+u nvidia-persistenced 143 'NVIDIA Persistence Daemon'
diff --git a/abs/core/nvidia-340xx-utils/nvidia-drm-outputclass.conf b/abs/core/nvidia-340xx-utils/nvidia-drm-outputclass.conf
index b6003d3..dd2936c 100644
--- a/abs/core/nvidia-340xx-utils/nvidia-drm-outputclass.conf
+++ b/abs/core/nvidia-340xx-utils/nvidia-drm-outputclass.conf
@@ -11,4 +11,5 @@ Section "OutputClass"
Option "AllowEmptyInitialConfiguration"
Option "PrimaryGPU" "yes"
ModulePath "/usr/lib/nvidia/xorg"
+ ModulePath "/usr/lib/xorg/modules"
EndSection
diff --git a/abs/core/nvidia-340xx/PKGBUILD b/abs/core/nvidia-340xx/PKGBUILD
index 4e5bcb4..7d64b15 100644
--- a/abs/core/nvidia-340xx/PKGBUILD
+++ b/abs/core/nvidia-340xx/PKGBUILD
@@ -1,12 +1,13 @@
# $Id$
-# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Maintainer: Giancarlo Razzolini <grazzolini@archlinux.org>
+# Contributor: Felix Yan <felixonmars@archlinux.org>
# Contributor: Thomas Baechler <thomas@archlinux.org>
pkgbase=nvidia-340xx
pkgname=(nvidia-340xx nvidia-340xx-dkms)
-pkgver=340.104
+pkgver=340.107
_extramodules=extramodules-4.9-ARCH
-pkgrel=9
+pkgrel=5
pkgdesc="NVIDIA drivers for linux, 340xx legacy branch"
arch=('x86_64')
url="http://www.nvidia.com/"
@@ -15,10 +16,9 @@ conflicts=('nvidia')
license=('custom')
options=('!strip')
source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run"
- 'kernel-4.11.patch' 'kernel-4.14.patch')
-sha512sums=('e962494561728af5a911354bfb3560e414464f7858f30f9654eac5ca56175bc8498d1eee93a18248c63e9eee7d84807ef924fe9f53239644d7085b0f3502bf8c'
- 'c25d90499e1deb26129a67dd7e953be8c1e31c5770e2b8b64d03af54cf1afec1a52636e74900f8ac468692207ab8a3765a12edd581142c4d2cfd2d6e66ac7ac2'
- 'ccaa40e085d985ec4280003e36dd06e60958ed1408867379fd21a68a18d48aa4be311bf9ad1e804f7a7245c90be98e919d2ec30f45d290f1cdb19c866bdb8a8d')
+ 'kernel-4.11.patch')
+sha512sums=('0de6f182d67bd322df7ae04e74c0cde6973c55bfea47a8f2503a29f8a899cd1b801ae4b52d066628df4a4f9c84e5e7547465bdc37d1b87df47af43fdab23466f'
+ 'c25d90499e1deb26129a67dd7e953be8c1e31c5770e2b8b64d03af54cf1afec1a52636e74900f8ac468692207ab8a3765a12edd581142c4d2cfd2d6e66ac7ac2')
_pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
@@ -28,7 +28,6 @@ prepare() {
# patches here
patch -Np0 < "${srcdir}/kernel-4.11.patch"
- patch -Np1 < "${srcdir}/kernel-4.14.patch"
cp -a kernel kernel-dkms
}
@@ -53,7 +52,7 @@ package_nvidia-340xx() {
find "${pkgdir}" -name '*.ko' -exec gzip -n {} +
echo "blacklist nouveau" |
- install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
+ install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/${pkgname}.conf"
}
package_nvidia-340xx-dkms() {
@@ -70,5 +69,5 @@ package_nvidia-340xx-dkms() {
cat "${pkgdir}"/usr/src/nvidia-${pkgver}/uvm/dkms.conf.fragment >> "${pkgdir}"/usr/src/nvidia-${pkgver}/dkms.conf
echo "blacklist nouveau" |
- install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
+ install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/${pkgname}.conf"
}
diff --git a/abs/core/nvidia-340xx/kernel-4.14.patch b/abs/core/nvidia-340xx/kernel-4.14.patch
deleted file mode 100644
index a38adbd..0000000
--- a/abs/core/nvidia-340xx/kernel-4.14.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff -u -r NVIDIA-Linux-x86_64-340.104-no-compat32/kernel/nv-drm.c NVIDIA-Linux-x86_64-340.104-no-compat32-kernel4.14/kernel/nv-drm.c
---- NVIDIA-Linux-x86_64-340.104-no-compat32/kernel/nv-drm.c 2017-09-15 01:16:51.000000000 +0200
-+++ NVIDIA-Linux-x86_64-340.104-no-compat32-kernel4.14/kernel/nv-drm.c 2017-11-19 00:51:45.006654148 +0100
-@@ -173,8 +173,12 @@
- {
- int ret = 0;
- #if defined(NV_DRM_AVAILABLE)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
-+ ret = drm_legacy_pci_init(&nv_drm_driver, pci_driver);
-+#else
- ret = drm_pci_init(&nv_drm_driver, pci_driver);
- #endif
-+#endif
- return ret;
- }
-
-@@ -183,8 +187,12 @@
- )
- {
- #if defined(NV_DRM_AVAILABLE)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
-+ drm_legacy_pci_exit(&nv_drm_driver, pci_driver);
-+#else
- drm_pci_exit(&nv_drm_driver, pci_driver);
- #endif
-+#endif
- }
-
- RM_STATUS NV_API_CALL nv_alloc_os_descriptor_handle(
diff --git a/abs/core/nvidia-utils/PKGBUILD b/abs/core/nvidia-utils/PKGBUILD
index 6a47564..cb4a5c9 100644
--- a/abs/core/nvidia-utils/PKGBUILD
+++ b/abs/core/nvidia-utils/PKGBUILD
@@ -5,28 +5,24 @@
pkgbase=nvidia-utils
pkgname=('nvidia-utils' 'opencl-nvidia')
-pkgver=387.22
+pkgver=390.67
pkgrel=1
arch=('x86_64')
url="http://www.nvidia.com/"
license=('custom')
options=('!strip')
-source=('nvidia-drm-outputclass.conf')
-source_i686=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
-source_x86_64=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
-md5sums=('a433deeb5f9cc661e537f42bde2f1df7')
-md5sums_i686=('abdbb3c813e52148f7435308121e6a37')
-md5sums_x86_64=('b21f9bafb20409b337505c9b1d362c34')
-sha512sums=('cfea06a816ac4a8b728b1ec728d667cdcca604abb038e8b5313b434021caad06a586856b8b3a6c79f8c925629360f5a051ca3de5ab46a42af76b9d0615d2bbbe')
-sha512sums_i686=('865c5024957ade2c8361b198cbc6600f469612fe0336e3a0bfaf56e4240999367f2066837c0b354af4821ab2531d05eddf3f2a0957eacc2eca0dd7cada4929b4')
-sha512sums_x86_64=('f304f5b6d4c7e0ba5f19cf9f84ecab1c911e17d25193b527bf9c45200dda942011cb7632555e5351ed8fc212dcb59ea3d791b971073a8b09cb96af790e0c30ff')
-
-[[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
-[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
+source=('nvidia-drm-outputclass.conf'
+ 'nvidia-utils.sysusers'
+ "http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
+sha512sums=('c49d246a519731bfab9d22afa5c2dd2d366db06d80182738b84881e93cd697c783f16ee04819275c05597bb063451a5d6102fbc562cd078d2a374533a23cea48'
+ '4b3ad73f5076ba90fe0b3a2e712ac9cde76f469cd8070280f960c3ce7dc502d1927f525ae18d008075c8f08ea432f7be0a6c3a7a6b49c361126dcf42f97ec499'
+ 'b0cf1678fa508a584836befdb8db83147e8b94cd25dc0012f589850512c2d69f94ae4bfce6cfa3e16945939747239e3ac762ac1bd5472f8a3052c1314558eb13')
+
+_pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
create_links() {
# create soname links
- for _lib in $(find "${pkgdir}" -name '*.so*' | grep -v 'xorg/'); do
+ find "$pkgdir" -type f -name '*.so*' ! -path '*xorg/*' -print0 | while read -d $'\0' _lib; do
_soname=$(dirname "${_lib}")/$(readelf -d "${_lib}" | grep -Po 'SONAME.*: \[\K[^]]*' || true)
_base=$(echo ${_soname} | sed -r 's/(.*).so.*/\1.so/')
[[ -e "${_soname}" ]] || ln -s $(basename "${_lib}") "${_soname}"
@@ -162,8 +158,7 @@ package_nvidia-utils() {
install -D -m644 nvidia-application-profiles-${pkgver}-rc "${pkgdir}/usr/share/nvidia/nvidia-application-profiles-${pkgver}-rc"
install -D -m644 nvidia-application-profiles-${pkgver}-key-documentation "${pkgdir}/usr/share/nvidia/nvidia-application-profiles-${pkgver}-key-documentation"
- install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/nvidia/LICENSE"
- ln -s nvidia "${pkgdir}/usr/share/licenses/nvidia-utils"
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/nvidia-utils/LICENSE"
install -D -m644 README.txt "${pkgdir}/usr/share/doc/nvidia/README"
install -D -m644 NVIDIA_Changelog "${pkgdir}/usr/share/doc/nvidia/NVIDIA_Changelog"
cp -r html "${pkgdir}/usr/share/doc/nvidia/"
@@ -172,5 +167,7 @@ package_nvidia-utils() {
# distro specific files must be installed in /usr/share/X11/xorg.conf.d
install -D -m644 "${srcdir}/nvidia-drm-outputclass.conf" "${pkgdir}/usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf"
+ install -Dm644 "${srcdir}/nvidia-utils.sysusers" "${pkgdir}/usr/lib/sysusers.d/$pkgname.conf"
+
create_links
}
diff --git a/abs/core/nvidia-utils/nvidia-drm-outputclass.conf b/abs/core/nvidia-utils/nvidia-drm-outputclass.conf
index b6003d3..dd2936c 100644
--- a/abs/core/nvidia-utils/nvidia-drm-outputclass.conf
+++ b/abs/core/nvidia-utils/nvidia-drm-outputclass.conf
@@ -11,4 +11,5 @@ Section "OutputClass"
Option "AllowEmptyInitialConfiguration"
Option "PrimaryGPU" "yes"
ModulePath "/usr/lib/nvidia/xorg"
+ ModulePath "/usr/lib/xorg/modules"
EndSection
diff --git a/abs/core/nvidia-utils/nvidia-utils.install b/abs/core/nvidia-utils/nvidia-utils.install
index 1955c64..47847c7 100644
--- a/abs/core/nvidia-utils/nvidia-utils.install
+++ b/abs/core/nvidia-utils/nvidia-utils.install
@@ -3,8 +3,5 @@ post_upgrade() {
}
post_install() {
- getent group nvidia-persistenced &>/dev/null || groupadd -g 143 nvidia-persistenced
- getent passwd nvidia-persistenced &>/dev/null || useradd -c 'NVIDIA Persistence Daemon' -u 143 -g nvidia-persistenced -d '/' -s /sbin/nologin nvidia-persistenced
-
post_upgrade
}
diff --git a/abs/core/nvidia-utils/nvidia-utils.sysusers b/abs/core/nvidia-utils/nvidia-utils.sysusers
new file mode 100644
index 0000000..71c0608
--- /dev/null
+++ b/abs/core/nvidia-utils/nvidia-utils.sysusers
@@ -0,0 +1 @@
+u nvidia-persistenced 143 'NVIDIA Persistence Daemon'
diff --git a/abs/core/nvidia/PKGBUILD b/abs/core/nvidia/PKGBUILD
index 21247b9..c545054 100644
--- a/abs/core/nvidia/PKGBUILD
+++ b/abs/core/nvidia/PKGBUILD
@@ -5,17 +5,19 @@
pkgbase=nvidia
pkgname=(nvidia nvidia-dkms)
-pkgver=387.22
+pkgver=390.67
_extramodules=extramodules-4.9-ARCH
-pkgrel=9
+pkgrel=1
pkgdesc="NVIDIA drivers for linux"
arch=('x86_64')
url="http://www.nvidia.com/"
makedepends=('nvidia-libgl' "nvidia-utils=${pkgver}" 'linux' 'linux-headers>=4.9' 'linux-headers<4.10')
license=('custom')
options=('!strip')
-source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
-sha256sums=('2056b386f619ed096ee3c2267c495c6b00d1a2a4c933f0635befcf4e69c3856c')
+source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run"
+ kernel-4.16.patch)
+sha256sums=('4d9d4a636d568a93412cd9a2db08c594adef20861707dfdfbd6ae15db3292b26'
+ '622ac792ec200b2239cb663c0010392118b78c9904973d82cd261165c16d6385')
_pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
@@ -23,6 +25,10 @@ prepare() {
sh "${_pkg}.run" --extract-only
cd "${_pkg}"
+ # Restore phys_to_dma support (still needed for 396.18)
+ # https://bugs.archlinux.org/task/58074
+ patch -Np1 -i ../kernel-4.16.patch
+
cp -a kernel kernel-dkms
cd kernel-dkms
sed -i "s/__VERSION_STRING/${pkgver}/" dkms.conf
@@ -58,7 +64,9 @@ package_nvidia() {
find "${pkgdir}" -name '*.ko' -exec gzip -n {} +
echo "blacklist nouveau" |
- install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
+ install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/${pkgname}.conf"
+
+ install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 "${srcdir}/${_pkg}/LICENSE"
}
package_nvidia-dkms() {
@@ -74,5 +82,7 @@ package_nvidia-dkms() {
cp -dr --no-preserve='ownership' kernel-dkms "${pkgdir}/usr/src/nvidia-${pkgver}"
echo "blacklist nouveau" |
- install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
+ install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/${pkgname}.conf"
+
+ install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 "${srcdir}/${_pkg}/LICENSE"
}
diff --git a/abs/core/nvidia/fix-abi.patch b/abs/core/nvidia/fix-abi.patch
deleted file mode 100644
index 5a3f8df..0000000
--- a/abs/core/nvidia/fix-abi.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -u -r kernel/nvidia-drm/nvidia-drm-fence.c kernel-patched/nvidia-drm/nvidia-drm-fence.c
---- kernel/nvidia-drm/nvidia-drm-fence.c 2016-08-09 01:43:19.000000000 +0200
-+++ kernel-patched/nvidia-drm/nvidia-drm-fence.c 2016-08-25 14:31:34.419655564 +0200
-@@ -325,7 +325,7 @@
- struct nvidia_drm_gem_object *nv_gem;
- };
-
--static void nvidia_drm_gem_prime_soft_fence_event
-+static void NVKMS_KAPI_CALL nvidia_drm_gem_prime_soft_fence_event
- (
- void *dataPtr,
- NvU32 dataU32
diff --git a/abs/core/nvidia/kernel-4.16.patch b/abs/core/nvidia/kernel-4.16.patch
new file mode 100644
index 0000000..6717281
--- /dev/null
+++ b/abs/core/nvidia/kernel-4.16.patch
@@ -0,0 +1,33 @@
+diff --git a/kernel/common/inc/nv-linux.h b/kernel/common/inc/nv-linux.h
+index 10fc418..22ef968 100644
+--- a/kernel/common/inc/nv-linux.h
++++ b/kernel/common/inc/nv-linux.h
+@@ -175,7 +175,11 @@ static inline uid_t __kuid_val(kuid_t uid)
+
+ #if defined(NV_VM_INSERT_PAGE_PRESENT)
+ #include <linux/pagemap.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)
+ #include <linux/dma-mapping.h>
++#else
++#include <linux/dma-direct.h>
++#endif
+ #endif
+
+ #if defined(CONFIG_SWIOTLB) && defined(NVCPU_AARCH64)
+diff --git a/kernel/conftest.sh b/kernel/conftest.sh
+index b23dbb4..42dc576 100755
+--- a/kernel/conftest.sh
++++ b/kernel/conftest.sh
+@@ -1906,7 +1906,12 @@ compile_test() {
+ # Determine if the phys_to_dma function is present.
+ #
+ CODE="
++ #include <linux/version.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)
+ #include <linux/dma-mapping.h>
++#else
++ #include <linux/dma-direct.h>
++#endif
+ void conftest_phys_to_dma(void) {
+ phys_to_dma();
+ }"
diff --git a/abs/core/openldap/PKGBUILD b/abs/core/openldap/PKGBUILD
index 0131552..304224d 100644
--- a/abs/core/openldap/PKGBUILD
+++ b/abs/core/openldap/PKGBUILD
@@ -2,24 +2,25 @@
# Maintainer:
pkgbase=openldap
-pkgname=('libldap' 'openldap')
-pkgver=2.4.39
-pkgrel=1
-arch=('i686' 'x86_64')
-url="http://www.openldap.org/"
+pkgname=('openldap' 'libldap')
+pkgver=2.4.45
+pkgrel=4
+arch=('x86_64')
+url="https://www.openldap.org/"
license=('custom')
-makedepends=('libltdl' 'libsasl' 'e2fsprogs' 'util-linux' 'chrpath')
-#options=('!makeflags')
-source=(ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/${pkgbase}-${pkgver}.tgz
- slapd.service slapd.tmpfiles openldap-ntlm.patch)
-sha1sums=('2b8e8401214867c361f7212e7058f95118b5bd6c'
+makedepends=('libltdl' 'libsasl' 'e2fsprogs' 'util-linux' 'chrpath' 'unixodbc')
+options=('!makeflags' 'emptydirs')
+source=(https://www.openldap.org/software/download/OpenLDAP/openldap-release/${pkgbase}-${pkgver}.tgz
+ slapd.service openldap.tmpfiles openldap.sysusers openldap-ntlm.patch)
+sha1sums=('c98437385d3eaee80c9e2c09f3f0d4b7c140233d'
'2441815efbfa01ad7a1d39068e5503b53d1d04b0'
- '59241a813d7508294e4ef1cec3bfe1f5495e109d'
+ '1f68bd85fb50595c4e916db164d8e90e0c6e21ee'
+ '2bf64351c32b0bf0a70663bd42de22910998b795'
'e4afd9f1c810ef4c4cd8fe1101dfe5887f2b7eef')
# see http://www.openldap.org/faq/data/cache/756.html
# there's no proper backend support for anything apart from
-# BerkeleyDB, if we don't want to drop local backend server support
+# BerkeleyDB, if we don't want to drop local backend server support
# we are forced to keep Berkeley DB here
prepare() {
@@ -33,25 +34,24 @@ prepare() {
build() {
cd ${pkgbase}-${pkgver}
- ./configure --prefix=/usr --mandir=/usr/share/man --libexecdir=/usr/lib \
+ autoconf
+ ./configure --prefix=/usr --libexecdir=/usr/lib \
--sysconfdir=/etc --localstatedir=/var/lib/openldap --sbindir=/usr/bin \
- --enable-ipv6 --enable-syslog --enable-local \
- --enable-bdb --enable-hdb \
- --enable-crypt --enable-dynamic \
- --with-threads --disable-wrappers \
- --without-fetch \
- --enable-spasswd --with-cyrus-sasl \
- --enable-overlays=mod --enable-modules=yes
+ --enable-dynamic --enable-syslog --enable-ipv6 --enable-local \
+ --enable-crypt --enable-spasswd --enable-modules \
+ --enable-backends --disable-ndb --enable-overlays=mod \
+ --with-cyrus-sasl --with-threads
make
- cd contrib/slapd-modules/nssov
- make prefix=/usr libexecdir=/usr/lib sysconfdir=/etc/openldap
- chrpath -d .libs/nssov.so
+ make -C contrib/slapd-modules/nssov OPT="$CFLAGS $CPPFLAGS" prefix=/usr libexecdir=/usr/lib sysconfdir=/etc/openldap
+ make -C contrib/slapd-modules/autogroup OPT="$CFLAGS $CPPFLAGS" prefix=/usr libexecdir=/usr/lib sysconfdir=/etc/openldap
+ make -C contrib/slapd-modules/lastbind OPT="$CFLAGS $CPPFLAGS" prefix=/usr libexecdir=/usr/lib sysconfdir=/etc/openldap
+ make -C contrib/slapd-modules/passwd/sha2 OPT="$CFLAGS $CPPFLAGS" prefix=/usr libexecdir=/usr/lib sysconfdir=/etc/openldap
}
check() {
cd ${pkgbase}-${pkgver}
- make test
+# make test
}
package_libldap() {
@@ -66,7 +66,7 @@ package_libldap() {
popd
done
install -Dm644 doc/man/man5/ldap.conf.5.tmp "${pkgdir}"/usr/share/man/man5/ldap.conf.5
-
+
# get rid of duplicate default conf files
rm "${pkgdir}"/etc/openldap/*.default
@@ -78,10 +78,8 @@ package_libldap() {
package_openldap() {
pkgdesc="Lightweight Directory Access Protocol (LDAP) client and server"
- depends=("libldap>=${pkgver}" 'libltdl')
+ depends=("libldap>=${pkgver}" 'libltdl' 'unixodbc')
backup=('etc/openldap/slapd.conf' 'etc/openldap/slapd.ldif')
- options=('emptydirs')
- install=openldap.install
cd ${pkgbase}-${pkgver}
for dir in clients servers doc/man/man{1,5,8}; do
@@ -90,12 +88,13 @@ package_openldap() {
popd
done
- pushd contrib/slapd-modules/nssov
- install -m755 .libs/nssov.so.0.0.0 "${pkgdir}"/usr/lib/openldap
- ln -s nssov.so.0.0.0 "${pkgdir}"/usr/lib/openldap/nssov.so
- ln -s nssov.so.0.0.0 "${pkgdir}"/usr/lib/openldap/nssov.so.0
- install -m444 ldapns.schema "${pkgdir}"/etc/openldap/schema
- popd
+ make -C contrib/slapd-modules/autogroup prefix=/usr libexecdir=/usr/lib sysconfdir=/etc/openldap DESTDIR="$pkgdir" install
+ make -C contrib/slapd-modules/lastbind prefix=/usr libexecdir=/usr/lib sysconfdir=/etc/openldap DESTDIR="$pkgdir" install
+ make -C contrib/slapd-modules/passwd/sha2 prefix=/usr libexecdir=/usr/lib sysconfdir=/etc/openldap DESTDIR="$pkgdir" install
+ make -C contrib/slapd-modules/nssov prefix=/usr libexecdir=/usr/lib sysconfdir=/etc/openldap DESTDIR="$pkgdir" install
+ install -m644 contrib/slapd-modules/nssov/slapo-nssov.5 "${pkgdir}"/usr/share/man/man5/slapo-nssov.5
+ install -m644 contrib/slapd-modules/autogroup/slapo-autogroup.5 "${pkgdir}"/usr/share/man/man5/slapo-autogroup.5
+ install -m644 contrib/slapd-modules/lastbind/slapo-lastbind.5 "${pkgdir}"/usr/share/man/man5/slapo-lastbind.5
rm "${pkgdir}"/usr/share/man/man5/ldap.conf.5
rm -r "${pkgdir}"/run
@@ -109,8 +108,11 @@ package_openldap() {
chmod 640 "${pkgdir}"/etc/openldap/{slapd.{conf,ldif},DB_CONFIG.example}
install -dm700 -o 439 -g 439 "${pkgdir}"/var/lib/openldap
+ chown -R 439:439 "${pkgdir}"/var/lib/openldap
+
install -dm700 -o 439 -g 439 "${pkgdir}"/etc/openldap/slapd.d
install -Dm644 "${srcdir}"/slapd.service "${pkgdir}"/usr/lib/systemd/system/slapd.service
- install -Dm644 "${srcdir}"/slapd.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/slapd.conf
+ install -Dm644 "${srcdir}"/openldap.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/openldap.conf
+ install -Dm644 "${srcdir}"/openldap.sysusers "${pkgdir}"/usr/lib/sysusers.d/openldap.conf
install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
}
diff --git a/abs/core/openldap/openldap.install b/abs/core/openldap/openldap.install
deleted file mode 100644
index a34ca1a..0000000
--- a/abs/core/openldap/openldap.install
+++ /dev/null
@@ -1,21 +0,0 @@
-post_install(){
- systemd-tmpfiles --create slapd.conf
- groupadd -g 439 ldap &>/dev/null
- useradd -u 439 -g ldap -d /var/lib/openldap -s /bin/false ldap &>/dev/null
- chown -R ldap:ldap var/lib/openldap &>/dev/null
-}
-
-post_upgrade(){
- getent group ldap >/dev/null 2>&1 || groupadd -g 439 ldap &>/dev/null
- getent passwd ldap >/dev/null 2>&1 || useradd -u 439 -g ldap -d /var/lib/openldap -s /bin/false ldap &>/dev/null
- chown -R ldap:ldap var/lib/openldap &>/dev/null
-}
-
-post_remove(){
- if getent passwd ldap >/dev/null 2>&1; then
- userdel ldap
- fi
- if getent group ldap >/dev/null 2>&1; then
- groupdel ldap
- fi
-}
diff --git a/abs/core/openldap/openldap.sysusers b/abs/core/openldap/openldap.sysusers
new file mode 100644
index 0000000..362d6c1
--- /dev/null
+++ b/abs/core/openldap/openldap.sysusers
@@ -0,0 +1 @@
+u ldap 439 "LDAP Server" /var/lib/openldap
diff --git a/abs/core/openldap/openldap.tmpfiles b/abs/core/openldap/openldap.tmpfiles
new file mode 100644
index 0000000..9337fce
--- /dev/null
+++ b/abs/core/openldap/openldap.tmpfiles
@@ -0,0 +1,3 @@
+D /run/openldap 0755 ldap ldap -
+
+f /var/lib/openldap/.placeholder 0644 ldap ldap - "prevent pwcheck error; pacman should not remove ~ldap"
diff --git a/abs/core/openldap/slapd.tmpfiles b/abs/core/openldap/slapd.tmpfiles
deleted file mode 100644
index b22c831..0000000
--- a/abs/core/openldap/slapd.tmpfiles
+++ /dev/null
@@ -1 +0,0 @@
-D /run/openldap 0755 ldap ldap -
diff --git a/abs/core/openssh/PKGBUILD b/abs/core/openssh/PKGBUILD
index 2fe40b3..b180b75 100644
--- a/abs/core/openssh/PKGBUILD
+++ b/abs/core/openssh/PKGBUILD
@@ -4,34 +4,43 @@
# Contributor: judd <jvinet@zeroflux.org>
pkgname=openssh
-pkgver=7.3p1
-pkgrel=1
+pkgver=7.6p1
+pkgrel=2
pkgdesc='Free version of the SSH connectivity tools'
-url='http://www.openssh.org/portable.html'
+url='https://www.openssh.com/portable.html'
license=('custom:BSD')
-arch=('i686' 'x86_64')
+arch=('x86_64')
makedepends=('linux-headers')
depends=('krb5' 'openssl' 'libedit' 'ldns')
optdepends=('xorg-xauth: X11 forwarding'
'x11-ssh-askpass: input passphrase in X')
validpgpkeys=('59C2118ED206D927E667EBE3D3E5F56B6D920D30')
-source=("http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${pkgname}-${pkgver}.tar.gz"{,.asc}
+source=("https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${pkgname}-${pkgver}.tar.gz"{,.asc}
+ 'openssl-1.1.0.patch'
'sshdgenkeys.service'
'sshd@.service'
'sshd.service'
'sshd.socket'
'sshd.conf'
'sshd.pam')
-sha1sums=('bfade84283fcba885e2084343ab19a08c7d123a5' 'SKIP'
- 'caaa801da59a5d14c0c29c43e9de5fef281ea03e'
- '6a0ff3305692cf83aca96e10f3bb51e1c26fccda'
- 'ec49c6beba923e201505f5669cea48cad29014db'
- 'e12fa910b26a5634e5a6ac39ce1399a132cf6796'
- 'c9b2e4ce259cd62ddb00364d3ee6f00a8bf2d05f'
- 'd93dca5ebda4610ff7647187f8928a3de28703f3')
+sha256sums=('a323caeeddfe145baaa0db16e98d784b1fbc7dd436a6bf1f479dfd5cd1d21723'
+ 'SKIP'
+ '1fcae9fc461026d96d08b38457e7ffe281b4319caaada1508f9eb74c2566ba5d'
+ '4031577db6416fcbaacf8a26a024ecd3939e5c10fe6a86ee3f0eea5093d533b7'
+ '3a0845737207f4eda221c9c9fb64e766ade9684562d8ba4f705f7ae6826886e5'
+ 'c5ed9fa629f8f8dbf3bae4edbad4441c36df535088553fe82695c52d7bde30aa'
+ 'de14363e9d4ed92848e524036d9e6b57b2d35cc77d377b7247c38111d2a3defd'
+ '4effac1186cc62617f44385415103021f72f674f8b8e26447fc1139c670090f6'
+ '64576021515c0a98b0aaf0a0ae02e0f5ebe8ee525b1e647ab68f369f81ecd846')
backup=('etc/ssh/ssh_config' 'etc/ssh/sshd_config' 'etc/pam.d/sshd')
+prepare() {
+ cd $pkgname-$pkgver
+ # OpenSSL 1.1.0 patch from http://vega.pgw.jp/~kabe/vsd/patch/openssh-7.4p1-openssl-1.1.0c.patch.html
+ patch -Np1 -i ../openssl-1.1.0.patch
+}
+
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
@@ -47,9 +56,9 @@ build() {
--with-privsep-user=nobody \
--with-kerberos5=/usr \
--with-xauth=/usr/bin/xauth \
- --with-mantype=man \
--with-md5-passwords \
--with-pid-dir=/run \
+ --with-default-path='/usr/local/sbin:/usr/local/bin:/usr/bin' \
make
}
@@ -57,10 +66,13 @@ build() {
check() {
cd "${srcdir}/${pkgname}-${pkgver}"
- make tests || true
- # hard to suitably test connectivity:
- # - fails with /bin/false as login shell
- # - fails with firewall activated, etc.
+ # Tests require openssh to be already installed system-wide,
+ # also connectivity tests will fail under makechrootpkg since
+ # it runs as nobody which has /bin/false as login shell.
+
+ if [[ -e /usr/bin/scp && ! -e /.arch-chroot ]]; then
+ make tests
+ fi
}
package() {
diff --git a/abs/core/openssh/openssl-1.1.0.patch b/abs/core/openssh/openssl-1.1.0.patch
new file mode 100644
index 0000000..f5454ac
--- /dev/null
+++ b/abs/core/openssh/openssl-1.1.0.patch
@@ -0,0 +1,1982 @@
+diff -Naur old/auth-pam.c new/auth-pam.c
+--- old/auth-pam.c 2017-10-03 21:49:05.363829772 -1000
++++ new/auth-pam.c 2017-10-03 21:55:50.869718862 -1000
+@@ -128,6 +128,10 @@
+ typedef pthread_t sp_pthread_t;
+ #else
+ typedef pid_t sp_pthread_t;
++# define pthread_create(a, b, c, d) _ssh_compat_pthread_create(a, b, c, d)
++# define pthread_exit(a) _ssh_compat_pthread_exit(a)
++# define pthread_cancel(a) _ssh_compat_pthread_cancel(a)
++# define pthread_join(a, b) _ssh_compat_pthread_join(a, b)
+ #endif
+
+ struct pam_ctxt {
+diff -Naur old/cipher.c new/cipher.c
+--- old/cipher.c 2017-10-03 21:49:05.367162904 -1000
++++ new/cipher.c 2017-10-03 21:55:50.869718862 -1000
+@@ -297,7 +297,10 @@
+ goto out;
+ }
+ }
+- if (EVP_CipherInit(cc->evp, NULL, (u_char *)key, NULL, -1) == 0) {
++ /* in OpenSSL 1.1.0, EVP_CipherInit clears all previous setups;
++ use EVP_CipherInit_ex for augmenting */
++ if (EVP_CipherInit_ex(cc->evp, NULL, NULL, (u_char *)key, NULL, -1) == 0)
++ {
+ ret = SSH_ERR_LIBCRYPTO_ERROR;
+ goto out;
+ }
+@@ -486,7 +489,7 @@
+ len, iv))
+ return SSH_ERR_LIBCRYPTO_ERROR;
+ } else
+- memcpy(iv, cc->evp->iv, len);
++ memcpy(iv, EVP_CIPHER_CTX_iv(cc->evp), len);
+ #endif
+ return 0;
+ }
+@@ -520,14 +523,19 @@
+ EVP_CTRL_GCM_SET_IV_FIXED, -1, (void *)iv))
+ return SSH_ERR_LIBCRYPTO_ERROR;
+ } else
+- memcpy(cc->evp->iv, iv, evplen);
++ memcpy(EVP_CIPHER_CTX_iv(cc->evp), iv, evplen);
+ #endif
+ return 0;
+ }
+
+ #ifdef WITH_OPENSSL
+-#define EVP_X_STATE(evp) (evp)->cipher_data
+-#define EVP_X_STATE_LEN(evp) (evp)->cipher->ctx_size
++# if OPENSSL_VERSION_NUMBER >= 0x10100000UL
++#define EVP_X_STATE(evp) EVP_CIPHER_CTX_get_cipher_data(evp)
++#define EVP_X_STATE_LEN(evp) EVP_CIPHER_impl_ctx_size(EVP_CIPHER_CTX_cipher(evp))
++# else
++#define EVP_X_STATE(evp) (evp).cipher_data
++#define EVP_X_STATE_LEN(evp) (evp).cipher->ctx_size
++# endif
+ #endif
+
+ int
+diff -Naur old/cipher.h new/cipher.h
+--- old/cipher.h 2017-10-03 21:49:05.367162904 -1000
++++ new/cipher.h 2017-10-03 21:55:50.869718862 -1000
+@@ -46,7 +46,18 @@
+ #define CIPHER_DECRYPT 0
+
+ struct sshcipher;
++#if 0
++struct sshcipher_ctx {
++ int plaintext;
++ int encrypt;
++ EVP_CIPHER_CTX *evp;
++ struct chachapoly_ctx cp_ctx; /* XXX union with evp? */
++ struct aesctr_ctx ac_ctx; /* XXX union with evp? */
++ const struct sshcipher *cipher;
++};
++#else
+ struct sshcipher_ctx;
++#endif
+
+ const struct sshcipher *cipher_by_name(const char *);
+ const char *cipher_warning_message(const struct sshcipher_ctx *);
+diff -Naur old/configure new/configure
+--- old/configure 2017-10-03 21:49:05.410493626 -1000
++++ new/configure 2017-10-03 22:01:49.159050540 -1000
+@@ -12688,7 +12688,6 @@
+ 100*) ;; # 1.0.x
+ 200*) ;; # LibreSSL
+ *)
+- as_fn_error $? "OpenSSL >= 1.1.0 is not yet supported (have \"$ssl_library_ver\")" "$LINENO" 5
+ ;;
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ssl_library_ver" >&5
+diff -Naur old/dh.c new/dh.c
+--- old/dh.c 2017-10-03 21:49:05.370496037 -1000
++++ new/dh.c 2017-10-03 21:55:50.869718862 -1000
+@@ -212,14 +212,15 @@
+ /* diffie-hellman-groupN-sha1 */
+
+ int
+-dh_pub_is_valid(DH *dh, BIGNUM *dh_pub)
++dh_pub_is_valid(const DH *dh, const BIGNUM *dh_pub)
+ {
+ int i;
+ int n = BN_num_bits(dh_pub);
+ int bits_set = 0;
+ BIGNUM *tmp;
++ const BIGNUM *p;
+
+- if (dh_pub->neg) {
++ if (BN_is_negative(dh_pub)) {
+ logit("invalid public DH value: negative");
+ return 0;
+ }
+@@ -232,7 +233,8 @@
+ error("%s: BN_new failed", __func__);
+ return 0;
+ }
+- if (!BN_sub(tmp, dh->p, BN_value_one()) ||
++ DH_get0_pqg(dh, &p, NULL, NULL);
++ if (!BN_sub(tmp, p, BN_value_one()) ||
+ BN_cmp(dh_pub, tmp) != -1) { /* pub_exp > p-2 */
+ BN_clear_free(tmp);
+ logit("invalid public DH value: >= p-1");
+@@ -243,14 +245,14 @@
+ for (i = 0; i <= n; i++)
+ if (BN_is_bit_set(dh_pub, i))
+ bits_set++;
+- debug2("bits set: %d/%d", bits_set, BN_num_bits(dh->p));
++ debug2("bits set: %d/%d", bits_set, BN_num_bits(p));
+
+ /*
+ * if g==2 and bits_set==1 then computing log_g(dh_pub) is trivial
+ */
+ if (bits_set < 4) {
+ logit("invalid public DH value (%d/%d)",
+- bits_set, BN_num_bits(dh->p));
++ bits_set, BN_num_bits(p));
+ return 0;
+ }
+ return 1;
+@@ -260,9 +262,13 @@
+ dh_gen_key(DH *dh, int need)
+ {
+ int pbits;
++ const BIGNUM *p, *pub_key;
++ BIGNUM *priv_key;
+
+- if (need < 0 || dh->p == NULL ||
+- (pbits = BN_num_bits(dh->p)) <= 0 ||
++ DH_get0_pqg(dh, &p, NULL, NULL);
++
++ if (need < 0 || p == NULL ||
++ (pbits = BN_num_bits(p)) <= 0 ||
+ need > INT_MAX / 2 || 2 * need > pbits)
+ return SSH_ERR_INVALID_ARGUMENT;
+ if (need < 256)
+@@ -271,10 +277,13 @@
+ * Pollard Rho, Big step/Little Step attacks are O(sqrt(n)),
+ * so double requested need here.
+ */
+- dh->length = MINIMUM(need * 2, pbits - 1);
+- if (DH_generate_key(dh) == 0 ||
+- !dh_pub_is_valid(dh, dh->pub_key)) {
+- BN_clear_free(dh->priv_key);
++ DH_set_length(dh, MIN(need * 2, pbits - 1));
++ if (DH_generate_key(dh) == 0) {
++ return SSH_ERR_LIBCRYPTO_ERROR;
++ }
++ DH_get0_key(dh, &pub_key, &priv_key);
++ if (!dh_pub_is_valid(dh, pub_key)) {
++ BN_clear(priv_key);
+ return SSH_ERR_LIBCRYPTO_ERROR;
+ }
+ return 0;
+@@ -283,16 +292,27 @@
+ DH *
+ dh_new_group_asc(const char *gen, const char *modulus)
+ {
+- DH *dh;
++ DH *dh = NULL;
++ BIGNUM *p=NULL, *g=NULL;
+
+- if ((dh = DH_new()) == NULL)
+- return NULL;
+- if (BN_hex2bn(&dh->p, modulus) == 0 ||
+- BN_hex2bn(&dh->g, gen) == 0) {
+- DH_free(dh);
+- return NULL;
++ if ((dh = DH_new()) == NULL ||
++ (p = BN_new()) == NULL ||
++ (g = BN_new()) == NULL)
++ goto null;
++ if (BN_hex2bn(&p, modulus) == 0 ||
++ BN_hex2bn(&g, gen) == 0) {
++ goto null;
+ }
++ if (DH_set0_pqg(dh, p, NULL, g) == 0) {
++ goto null;
++ }
++ p = g = NULL;
+ return (dh);
++null:
++ BN_free(p);
++ BN_free(g);
++ DH_free(dh);
++ return NULL;
+ }
+
+ /*
+@@ -307,8 +327,8 @@
+
+ if ((dh = DH_new()) == NULL)
+ return NULL;
+- dh->p = modulus;
+- dh->g = gen;
++ if (DH_set0_pqg(dh, modulus, NULL, gen) == 0)
++ return NULL;
+
+ return (dh);
+ }
+diff -Naur old/dh.h new/dh.h
+--- old/dh.h 2017-10-03 21:49:05.370496037 -1000
++++ new/dh.h 2017-10-03 21:55:50.869718862 -1000
+@@ -42,7 +42,7 @@
+ DH *dh_new_group_fallback(int);
+
+ int dh_gen_key(DH *, int);
+-int dh_pub_is_valid(DH *, BIGNUM *);
++int dh_pub_is_valid(const DH *, const BIGNUM *);
+
+ u_int dh_estimate(int);
+
+diff -Naur old/digest-openssl.c new/digest-openssl.c
+--- old/digest-openssl.c 2017-10-03 21:49:05.370496037 -1000
++++ new/digest-openssl.c 2017-10-03 21:55:50.869718862 -1000
+@@ -43,7 +43,7 @@
+
+ struct ssh_digest_ctx {
+ int alg;
+- EVP_MD_CTX mdctx;
++ EVP_MD_CTX *mdctx;
+ };
+
+ struct ssh_digest {
+@@ -106,20 +106,21 @@
+ size_t
+ ssh_digest_blocksize(struct ssh_digest_ctx *ctx)
+ {
+- return EVP_MD_CTX_block_size(&ctx->mdctx);
++ return EVP_MD_CTX_block_size(ctx->mdctx);
+ }
+
+ struct ssh_digest_ctx *
+ ssh_digest_start(int alg)
+ {
+ const struct ssh_digest *digest = ssh_digest_by_alg(alg);
+- struct ssh_digest_ctx *ret;
++ struct ssh_digest_ctx *ret = NULL;
+
+ if (digest == NULL || ((ret = calloc(1, sizeof(*ret))) == NULL))
+ return NULL;
+ ret->alg = alg;
+- EVP_MD_CTX_init(&ret->mdctx);
+- if (EVP_DigestInit_ex(&ret->mdctx, digest->mdfunc(), NULL) != 1) {
++ if ((ret->mdctx = EVP_MD_CTX_new()) == NULL ||
++ EVP_DigestInit_ex(ret->mdctx, digest->mdfunc(), NULL) != 1) {
++ EVP_MD_CTX_free(ret->mdctx);
+ free(ret);
+ return NULL;
+ }
+@@ -132,7 +133,7 @@
+ if (from->alg != to->alg)
+ return SSH_ERR_INVALID_ARGUMENT;
+ /* we have bcopy-style order while openssl has memcpy-style */
+- if (!EVP_MD_CTX_copy_ex(&to->mdctx, &from->mdctx))
++ if (!EVP_MD_CTX_copy_ex(to->mdctx, from->mdctx))
+ return SSH_ERR_LIBCRYPTO_ERROR;
+ return 0;
+ }
+@@ -140,7 +141,7 @@
+ int
+ ssh_digest_update(struct ssh_digest_ctx *ctx, const void *m, size_t mlen)
+ {
+- if (EVP_DigestUpdate(&ctx->mdctx, m, mlen) != 1)
++ if (EVP_DigestUpdate(ctx->mdctx, m, mlen) != 1)
+ return SSH_ERR_LIBCRYPTO_ERROR;
+ return 0;
+ }
+@@ -161,7 +162,7 @@
+ return SSH_ERR_INVALID_ARGUMENT;
+ if (dlen < digest->digest_len) /* No truncation allowed */
+ return SSH_ERR_INVALID_ARGUMENT;
+- if (EVP_DigestFinal_ex(&ctx->mdctx, d, &l) != 1)
++ if (EVP_DigestFinal_ex(ctx->mdctx, d, &l) != 1)
+ return SSH_ERR_LIBCRYPTO_ERROR;
+ if (l != digest->digest_len) /* sanity */
+ return SSH_ERR_INTERNAL_ERROR;
+@@ -172,7 +173,7 @@
+ ssh_digest_free(struct ssh_digest_ctx *ctx)
+ {
+ if (ctx != NULL) {
+- EVP_MD_CTX_cleanup(&ctx->mdctx);
++ EVP_MD_CTX_free(ctx->mdctx);
+ explicit_bzero(ctx, sizeof(*ctx));
+ free(ctx);
+ }
+diff -Naur old/kexdhc.c new/kexdhc.c
+--- old/kexdhc.c 2017-10-03 21:49:05.373829169 -1000
++++ new/kexdhc.c 2017-10-03 21:55:50.869718862 -1000
+@@ -81,11 +81,16 @@
+ goto out;
+ }
+ debug("sending SSH2_MSG_KEXDH_INIT");
+- if ((r = dh_gen_key(kex->dh, kex->we_need * 8)) != 0 ||
+- (r = sshpkt_start(ssh, SSH2_MSG_KEXDH_INIT)) != 0 ||
+- (r = sshpkt_put_bignum2(ssh, kex->dh->pub_key)) != 0 ||
++ {
++ const BIGNUM *pub_key;
++ if ((r = dh_gen_key(kex->dh, kex->we_need * 8)) != 0)
++ goto out;
++ DH_get0_key(kex->dh, &pub_key, NULL);
++ if ((r = sshpkt_start(ssh, SSH2_MSG_KEXDH_INIT)) != 0 ||
++ (r = sshpkt_put_bignum2(ssh, pub_key)) != 0 ||
+ (r = sshpkt_send(ssh)) != 0)
+ goto out;
++ }
+ #ifdef DEBUG_KEXDH
+ DHparams_print_fp(stderr, kex->dh);
+ fprintf(stderr, "pub= ");
+@@ -169,6 +174,9 @@
+
+ /* calc and verify H */
+ hashlen = sizeof(hash);
++ {
++ const BIGNUM *pub_key;
++ DH_get0_key(kex->dh, &pub_key, NULL);
+ if ((r = kex_dh_hash(
+ kex->hash_alg,
+ kex->client_version_string,
+@@ -176,11 +184,13 @@
+ sshbuf_ptr(kex->my), sshbuf_len(kex->my),
+ sshbuf_ptr(kex->peer), sshbuf_len(kex->peer),
+ server_host_key_blob, sbloblen,
+- kex->dh->pub_key,
++ pub_key,
+ dh_server_pub,
+ shared_secret,
+- hash, &hashlen)) != 0)
++ hash, &hashlen)) != 0) {
+ goto out;
++ }
++ }
+
+ if ((r = sshkey_verify(server_host_key, signature, slen, hash, hashlen,
+ ssh->compat)) != 0)
+diff -Naur old/kexdhs.c new/kexdhs.c
+--- old/kexdhs.c 2017-10-03 21:49:05.373829169 -1000
++++ new/kexdhs.c 2017-10-03 21:55:50.869718862 -1000
+@@ -87,6 +87,10 @@
+ ssh_dispatch_set(ssh, SSH2_MSG_KEXDH_INIT, &input_kex_dh_init);
+ r = 0;
+ out:
++ if (r != 0) {
++ if (kex->dh) DH_free(kex->dh);
++ kex->dh = NULL;
++ }
+ return r;
+ }
+
+@@ -163,6 +167,9 @@
+ goto out;
+ /* calc H */
+ hashlen = sizeof(hash);
++ {
++ const BIGNUM *pub_key;
++ DH_get0_key(kex->dh, &pub_key, NULL);
+ if ((r = kex_dh_hash(
+ kex->hash_alg,
+ kex->client_version_string,
+@@ -171,10 +178,12 @@
+ sshbuf_ptr(kex->my), sshbuf_len(kex->my),
+ server_host_key_blob, sbloblen,
+ dh_client_pub,
+- kex->dh->pub_key,
++ pub_key,
+ shared_secret,
+- hash, &hashlen)) != 0)
++ hash, &hashlen)) != 0) {
+ goto out;
++ }
++ }
+
+ /* save session id := H */
+ if (kex->session_id == NULL) {
+@@ -195,12 +204,17 @@
+ /* destroy_sensitive_data(); */
+
+ /* send server hostkey, DH pubkey 'f' and singed H */
++ {
++ const BIGNUM *pub_key;
++ DH_get0_key(kex->dh, &pub_key, NULL);
+ if ((r = sshpkt_start(ssh, SSH2_MSG_KEXDH_REPLY)) != 0 ||
+ (r = sshpkt_put_string(ssh, server_host_key_blob, sbloblen)) != 0 ||
+- (r = sshpkt_put_bignum2(ssh, kex->dh->pub_key)) != 0 || /* f */
++ (r = sshpkt_put_bignum2(ssh, pub_key)) != 0 || /* f */
+ (r = sshpkt_put_string(ssh, signature, slen)) != 0 ||
+- (r = sshpkt_send(ssh)) != 0)
++ (r = sshpkt_send(ssh)) != 0) {
+ goto out;
++ }
++ }
+
+ if ((r = kex_derive_keys_bn(ssh, hash, hashlen, shared_secret)) == 0)
+ r = kex_send_newkeys(ssh);
+diff -Naur old/kexgexc.c new/kexgexc.c
+--- old/kexgexc.c 2017-10-03 21:49:05.373829169 -1000
++++ new/kexgexc.c 2017-10-03 21:55:50.869718862 -1000
+@@ -118,11 +118,17 @@
+ p = g = NULL; /* belong to kex->dh now */
+
+ /* generate and send 'e', client DH public key */
+- if ((r = dh_gen_key(kex->dh, kex->we_need * 8)) != 0 ||
+- (r = sshpkt_start(ssh, SSH2_MSG_KEX_DH_GEX_INIT)) != 0 ||
+- (r = sshpkt_put_bignum2(ssh, kex->dh->pub_key)) != 0 ||
+- (r = sshpkt_send(ssh)) != 0)
++ {
++ const BIGNUM *pub_key;
++ if ((r = dh_gen_key(kex->dh, kex->we_need * 8)) != 0)
++ goto out;
++ DH_get0_key(kex->dh, &pub_key, NULL);
++ if ((r = sshpkt_start(ssh, SSH2_MSG_KEX_DH_GEX_INIT)) != 0 ||
++ (r = sshpkt_put_bignum2(ssh, pub_key)) != 0 ||
++ (r = sshpkt_send(ssh)) != 0) {
+ goto out;
++ }
++ }
+ debug("SSH2_MSG_KEX_DH_GEX_INIT sent");
+ #ifdef DEBUG_KEXDH
+ DHparams_print_fp(stderr, kex->dh);
+@@ -134,10 +140,12 @@
+ ssh_dispatch_set(ssh, SSH2_MSG_KEX_DH_GEX_REPLY, &input_kex_dh_gex_reply);
+ r = 0;
+ out:
+- if (p)
++ if (r != 0) {
+ BN_clear_free(p);
+- if (g)
+ BN_clear_free(g);
++ DH_free(kex->dh);
++ kex->dh = NULL;
++ }
+ return r;
+ }
+
+@@ -214,6 +222,10 @@
+
+ /* calc and verify H */
+ hashlen = sizeof(hash);
++ {
++ const BIGNUM *p, *g, *pub_key;
++ DH_get0_pqg(kex->dh, &p, NULL, &g);
++ DH_get0_key(kex->dh, &pub_key, NULL);
+ if ((r = kexgex_hash(
+ kex->hash_alg,
+ kex->client_version_string,
+@@ -222,12 +234,14 @@
+ sshbuf_ptr(kex->peer), sshbuf_len(kex->peer),
+ server_host_key_blob, sbloblen,
+ kex->min, kex->nbits, kex->max,
+- kex->dh->p, kex->dh->g,
+- kex->dh->pub_key,
++ p, g,
++ pub_key,
+ dh_server_pub,
+ shared_secret,
+- hash, &hashlen)) != 0)
++ hash, &hashlen)) != 0) {
+ goto out;
++ }
++ }
+
+ if ((r = sshkey_verify(server_host_key, signature, slen, hash,
+ hashlen, ssh->compat)) != 0)
+diff -Naur old/kexgexs.c new/kexgexs.c
+--- old/kexgexs.c 2017-10-03 21:49:05.373829169 -1000
++++ new/kexgexs.c 2017-10-03 21:55:50.869718862 -1000
+@@ -101,11 +101,16 @@
+ goto out;
+ }
+ debug("SSH2_MSG_KEX_DH_GEX_GROUP sent");
++ {
++ const BIGNUM *p, *g;
++ DH_get0_pqg(kex->dh, &p, NULL, &g);
+ if ((r = sshpkt_start(ssh, SSH2_MSG_KEX_DH_GEX_GROUP)) != 0 ||
+- (r = sshpkt_put_bignum2(ssh, kex->dh->p)) != 0 ||
+- (r = sshpkt_put_bignum2(ssh, kex->dh->g)) != 0 ||
+- (r = sshpkt_send(ssh)) != 0)
++ (r = sshpkt_put_bignum2(ssh, p)) != 0 ||
++ (r = sshpkt_put_bignum2(ssh, g)) != 0 ||
++ (r = sshpkt_send(ssh)) != 0) {
+ goto out;
++ }
++ }
+
+ /* Compute our exchange value in parallel with the client */
+ if ((r = dh_gen_key(kex->dh, kex->we_need * 8)) != 0)
+@@ -115,6 +120,10 @@
+ ssh_dispatch_set(ssh, SSH2_MSG_KEX_DH_GEX_INIT, &input_kex_dh_gex_init);
+ r = 0;
+ out:
++ if (r != 0) {
++ DH_free(kex->dh);
++ kex->dh = NULL;
++ }
+ return r;
+ }
+
+@@ -191,6 +200,10 @@
+ goto out;
+ /* calc H */
+ hashlen = sizeof(hash);
++ {
++ const BIGNUM *p, *g, *pub_key;
++ DH_get0_pqg(kex->dh, &p, NULL, &g);
++ DH_get0_key(kex->dh, &pub_key, NULL);
+ if ((r = kexgex_hash(
+ kex->hash_alg,
+ kex->client_version_string,
+@@ -199,12 +212,14 @@
+ sshbuf_ptr(kex->my), sshbuf_len(kex->my),
+ server_host_key_blob, sbloblen,
+ kex->min, kex->nbits, kex->max,
+- kex->dh->p, kex->dh->g,
++ p, g,
+ dh_client_pub,
+- kex->dh->pub_key,
++ pub_key,
+ shared_secret,
+- hash, &hashlen)) != 0)
++ hash, &hashlen)) != 0) {
+ goto out;
++ }
++ }
+
+ /* save session id := H */
+ if (kex->session_id == NULL) {
+@@ -225,12 +240,17 @@
+ /* destroy_sensitive_data(); */
+
+ /* send server hostkey, DH pubkey 'f' and singed H */
++ {
++ const BIGNUM *pub_key;
++ DH_get0_key(kex->dh, &pub_key, NULL);
+ if ((r = sshpkt_start(ssh, SSH2_MSG_KEX_DH_GEX_REPLY)) != 0 ||
+ (r = sshpkt_put_string(ssh, server_host_key_blob, sbloblen)) != 0 ||
+- (r = sshpkt_put_bignum2(ssh, kex->dh->pub_key)) != 0 || /* f */
++ (r = sshpkt_put_bignum2(ssh, pub_key)) != 0 || /* f */
+ (r = sshpkt_put_string(ssh, signature, slen)) != 0 ||
+- (r = sshpkt_send(ssh)) != 0)
++ (r = sshpkt_send(ssh)) != 0) {
+ goto out;
++ }
++ }
+
+ if ((r = kex_derive_keys_bn(ssh, hash, hashlen, shared_secret)) == 0)
+ r = kex_send_newkeys(ssh);
+diff -Naur old/monitor.c new/monitor.c
+--- old/monitor.c 2017-10-03 21:49:05.377162302 -1000
++++ new/monitor.c 2017-10-03 21:55:50.869718862 -1000
+@@ -586,10 +586,12 @@
+ buffer_put_char(m, 0);
+ return (0);
+ } else {
++ const BIGNUM *p, *g;
++ DH_get0_pqg(dh, &p, NULL, &g);
+ /* Send first bignum */
+ buffer_put_char(m, 1);
+- buffer_put_bignum2(m, dh->p);
+- buffer_put_bignum2(m, dh->g);
++ buffer_put_bignum2(m, p);
++ buffer_put_bignum2(m, g);
+
+ DH_free(dh);
+ }
+diff -Naur old/openbsd-compat/openssl-compat.c new/openbsd-compat/openssl-compat.c
+--- old/openbsd-compat/openssl-compat.c 2017-10-03 21:49:05.397161097 -1000
++++ new/openbsd-compat/openssl-compat.c 2017-10-03 21:55:50.886387486 -1000
+@@ -75,7 +75,6 @@
+ /* Enable use of crypto hardware */
+ ENGINE_load_builtin_engines();
+ ENGINE_register_all_complete();
+- OPENSSL_config(NULL);
+ }
+ #endif
+
+diff -Naur old/regress/unittests/sshkey/test_file.c new/regress/unittests/sshkey/test_file.c
+--- old/regress/unittests/sshkey/test_file.c 2017-10-03 21:49:05.387161699 -1000
++++ new/regress/unittests/sshkey/test_file.c 2017-10-03 21:55:50.883053761 -1000
+@@ -60,9 +60,14 @@
+ a = load_bignum("rsa_1.param.n");
+ b = load_bignum("rsa_1.param.p");
+ c = load_bignum("rsa_1.param.q");
+- ASSERT_BIGNUM_EQ(k1->rsa->n, a);
+- ASSERT_BIGNUM_EQ(k1->rsa->p, b);
+- ASSERT_BIGNUM_EQ(k1->rsa->q, c);
++ {
++ const BIGNUM *n, *p, *q;
++ RSA_get0_key(k1->rsa, &n, NULL, NULL);
++ RSA_get0_factors(k1->rsa, &p, &q);
++ ASSERT_BIGNUM_EQ(n, a);
++ ASSERT_BIGNUM_EQ(p, b);
++ ASSERT_BIGNUM_EQ(q, c);
++ }
+ BN_free(a);
+ BN_free(b);
+ BN_free(c);
+@@ -151,9 +156,14 @@
+ a = load_bignum("dsa_1.param.g");
+ b = load_bignum("dsa_1.param.priv");
+ c = load_bignum("dsa_1.param.pub");
+- ASSERT_BIGNUM_EQ(k1->dsa->g, a);
+- ASSERT_BIGNUM_EQ(k1->dsa->priv_key, b);
+- ASSERT_BIGNUM_EQ(k1->dsa->pub_key, c);
++ {
++ const BIGNUM *g, *priv_key, *pub_key;
++ DSA_get0_pqg(k1->dsa, NULL, NULL, &g);
++ DSA_get0_key(k1->dsa, &pub_key, &priv_key);
++ ASSERT_BIGNUM_EQ(g, a);
++ ASSERT_BIGNUM_EQ(priv_key, b);
++ ASSERT_BIGNUM_EQ(pub_key, c);
++ }
+ BN_free(a);
+ BN_free(b);
+ BN_free(c);
+diff -Naur old/regress/unittests/sshkey/test_sshkey.c new/regress/unittests/sshkey/test_sshkey.c
+--- old/regress/unittests/sshkey/test_sshkey.c 2017-10-03 21:49:05.387161699 -1000
++++ new/regress/unittests/sshkey/test_sshkey.c 2017-10-03 21:55:50.883053761 -1000
+@@ -197,9 +197,14 @@
+ k1 = sshkey_new(KEY_RSA);
+ ASSERT_PTR_NE(k1, NULL);
+ ASSERT_PTR_NE(k1->rsa, NULL);
+- ASSERT_PTR_NE(k1->rsa->n, NULL);
+- ASSERT_PTR_NE(k1->rsa->e, NULL);
+- ASSERT_PTR_EQ(k1->rsa->p, NULL);
++ {
++ const BIGNUM *n, *e, *p;
++ RSA_get0_key(k1->rsa, &n, &e, NULL);
++ RSA_get0_factors(k1->rsa, &p, NULL);
++ ASSERT_PTR_NE(n, NULL);
++ ASSERT_PTR_NE(e, NULL);
++ ASSERT_PTR_EQ(p, NULL);
++ }
+ sshkey_free(k1);
+ TEST_DONE();
+
+@@ -207,8 +212,13 @@
+ k1 = sshkey_new(KEY_DSA);
+ ASSERT_PTR_NE(k1, NULL);
+ ASSERT_PTR_NE(k1->dsa, NULL);
+- ASSERT_PTR_NE(k1->dsa->g, NULL);
+- ASSERT_PTR_EQ(k1->dsa->priv_key, NULL);
++ {
++ const BIGNUM *g, *priv_key;
++ DSA_get0_pqg(k1->dsa, NULL, NULL, &g);
++ DSA_get0_key(k1->dsa, NULL, &priv_key);
++ ASSERT_PTR_NE(g, NULL);
++ ASSERT_PTR_EQ(priv_key, NULL);
++ }
+ sshkey_free(k1);
+ TEST_DONE();
+
+@@ -234,9 +244,14 @@
+ k1 = sshkey_new_private(KEY_RSA);
+ ASSERT_PTR_NE(k1, NULL);
+ ASSERT_PTR_NE(k1->rsa, NULL);
+- ASSERT_PTR_NE(k1->rsa->n, NULL);
+- ASSERT_PTR_NE(k1->rsa->e, NULL);
+- ASSERT_PTR_NE(k1->rsa->p, NULL);
++ {
++ const BIGNUM *n, *e, *p;
++ RSA_get0_key(k1->rsa, &n, &e, NULL);
++ RSA_get0_factors(k1->rsa, &p, NULL);
++ ASSERT_PTR_NE(n, NULL);
++ ASSERT_PTR_NE(e, NULL);
++ ASSERT_PTR_NE(p, NULL);
++ }
+ ASSERT_INT_EQ(sshkey_add_private(k1), 0);
+ sshkey_free(k1);
+ TEST_DONE();
+@@ -245,8 +260,13 @@
+ k1 = sshkey_new_private(KEY_DSA);
+ ASSERT_PTR_NE(k1, NULL);
+ ASSERT_PTR_NE(k1->dsa, NULL);
+- ASSERT_PTR_NE(k1->dsa->g, NULL);
+- ASSERT_PTR_NE(k1->dsa->priv_key, NULL);
++ {
++ const BIGNUM *g, *priv_key;
++ DSA_get0_pqg(k1->dsa, NULL, NULL, &g);
++ DSA_get0_key(k1->dsa, NULL, &priv_key);
++ ASSERT_PTR_NE(g, NULL);
++ ASSERT_PTR_NE(priv_key, NULL);
++ }
+ ASSERT_INT_EQ(sshkey_add_private(k1), 0);
+ sshkey_free(k1);
+ TEST_DONE();
+@@ -285,18 +305,28 @@
+ ASSERT_INT_EQ(sshkey_generate(KEY_RSA, 1024, &kr), 0);
+ ASSERT_PTR_NE(kr, NULL);
+ ASSERT_PTR_NE(kr->rsa, NULL);
+- ASSERT_PTR_NE(kr->rsa->n, NULL);
+- ASSERT_PTR_NE(kr->rsa->e, NULL);
+- ASSERT_PTR_NE(kr->rsa->p, NULL);
+- ASSERT_INT_EQ(BN_num_bits(kr->rsa->n), 1024);
++ {
++ const BIGNUM *n, *e, *p;
++ RSA_get0_key(kr->rsa, &n, &e, NULL);
++ RSA_get0_factors(kr->rsa, &p, NULL);
++ ASSERT_PTR_NE(n, NULL);
++ ASSERT_PTR_NE(e, NULL);
++ ASSERT_PTR_NE(p, NULL);
++ ASSERT_INT_EQ(BN_num_bits(n), 1024);
++ }
+ TEST_DONE();
+
+ TEST_START("generate KEY_DSA");
+ ASSERT_INT_EQ(sshkey_generate(KEY_DSA, 1024, &kd), 0);
+ ASSERT_PTR_NE(kd, NULL);
+ ASSERT_PTR_NE(kd->dsa, NULL);
+- ASSERT_PTR_NE(kd->dsa->g, NULL);
+- ASSERT_PTR_NE(kd->dsa->priv_key, NULL);
++ {
++ const BIGNUM *g, *priv_key;
++ DSA_get0_pqg(kd->dsa, NULL, NULL, &g);
++ DSA_get0_key(kd->dsa, NULL, &priv_key);
++ ASSERT_PTR_NE(g, NULL);
++ ASSERT_PTR_NE(priv_key, NULL);
++ }
+ TEST_DONE();
+
+ #ifdef OPENSSL_HAS_ECC
+@@ -323,9 +353,14 @@
+ ASSERT_PTR_NE(kr, k1);
+ ASSERT_INT_EQ(k1->type, KEY_RSA);
+ ASSERT_PTR_NE(k1->rsa, NULL);
+- ASSERT_PTR_NE(k1->rsa->n, NULL);
+- ASSERT_PTR_NE(k1->rsa->e, NULL);
+- ASSERT_PTR_EQ(k1->rsa->p, NULL);
++ {
++ const BIGNUM *n, *e, *p;
++ RSA_get0_key(k1->rsa, &n, &e, NULL);
++ RSA_get0_factors(k1->rsa, &p, NULL);
++ ASSERT_PTR_NE(n, NULL);
++ ASSERT_PTR_NE(e, NULL);
++ ASSERT_PTR_EQ(p, NULL);
++ }
+ TEST_DONE();
+
+ TEST_START("equal KEY_RSA/demoted KEY_RSA");
+@@ -339,8 +374,13 @@
+ ASSERT_PTR_NE(kd, k1);
+ ASSERT_INT_EQ(k1->type, KEY_DSA);
+ ASSERT_PTR_NE(k1->dsa, NULL);
+- ASSERT_PTR_NE(k1->dsa->g, NULL);
+- ASSERT_PTR_EQ(k1->dsa->priv_key, NULL);
++ {
++ const BIGNUM *g, *priv_key;
++ DSA_get0_pqg(k1->dsa, NULL, NULL, &g);
++ DSA_get0_key(k1->dsa, NULL, &priv_key);
++ ASSERT_PTR_NE(g, NULL);
++ ASSERT_PTR_EQ(priv_key, NULL);
++ }
+ TEST_DONE();
+
+ TEST_START("equal KEY_DSA/demoted KEY_DSA");
+diff -Naur old/ssh-dss.c new/ssh-dss.c
+--- old/ssh-dss.c 2017-10-03 21:49:05.403827361 -1000
++++ new/ssh-dss.c 2017-10-03 21:55:50.869718862 -1000
+@@ -53,6 +53,7 @@
+ DSA_SIG *sig = NULL;
+ u_char digest[SSH_DIGEST_MAX_LENGTH], sigblob[SIGBLOB_LEN];
+ size_t rlen, slen, len, dlen = ssh_digest_bytes(SSH_DIGEST_SHA1);
++ const BIGNUM *r, *s;
+ struct sshbuf *b = NULL;
+ int ret = SSH_ERR_INVALID_ARGUMENT;
+
+@@ -76,15 +77,16 @@
+ goto out;
+ }
+
+- rlen = BN_num_bytes(sig->r);
+- slen = BN_num_bytes(sig->s);
++ DSA_SIG_get0(sig, &r, &s);
++ rlen = BN_num_bytes(r);
++ slen = BN_num_bytes(s);
+ if (rlen > INTBLOB_LEN || slen > INTBLOB_LEN) {
+ ret = SSH_ERR_INTERNAL_ERROR;
+ goto out;
+ }
+ explicit_bzero(sigblob, SIGBLOB_LEN);
+- BN_bn2bin(sig->r, sigblob + SIGBLOB_LEN - INTBLOB_LEN - rlen);
+- BN_bn2bin(sig->s, sigblob + SIGBLOB_LEN - slen);
++ BN_bn2bin(r, sigblob + SIGBLOB_LEN - INTBLOB_LEN - rlen);
++ BN_bn2bin(s, sigblob + SIGBLOB_LEN - slen);
+
+ if (compat & SSH_BUG_SIGBLOB) {
+ if (sigp != NULL) {
+@@ -176,17 +178,26 @@
+ }
+
+ /* parse signature */
++ {
++ BIGNUM *r=NULL, *s=NULL;
+ if ((sig = DSA_SIG_new()) == NULL ||
+- (sig->r = BN_new()) == NULL ||
+- (sig->s = BN_new()) == NULL) {
++ (r = BN_new()) == NULL ||
++ (s = BN_new()) == NULL) {
+ ret = SSH_ERR_ALLOC_FAIL;
++ BN_free(r);
++ BN_free(s);
+ goto out;
+ }
+- if ((BN_bin2bn(sigblob, INTBLOB_LEN, sig->r) == NULL) ||
+- (BN_bin2bn(sigblob+ INTBLOB_LEN, INTBLOB_LEN, sig->s) == NULL)) {
++ if ((BN_bin2bn(sigblob, INTBLOB_LEN, r) == NULL) ||
++ (BN_bin2bn(sigblob+ INTBLOB_LEN, INTBLOB_LEN, s) == NULL)) {
+ ret = SSH_ERR_LIBCRYPTO_ERROR;
++ BN_free(r);
++ BN_free(s);
+ goto out;
+ }
++ DSA_SIG_set0(sig, r, s);
++ r = s = NULL;
++ }
+
+ /* sha1 the data */
+ if ((ret = ssh_digest_memory(SSH_DIGEST_SHA1, data, datalen,
+diff -Naur old/ssh-ecdsa.c new/ssh-ecdsa.c
+--- old/ssh-ecdsa.c 2017-10-03 21:49:05.403827361 -1000
++++ new/ssh-ecdsa.c 2017-10-03 21:55:50.869718862 -1000
+@@ -80,9 +80,14 @@
+ ret = SSH_ERR_ALLOC_FAIL;
+ goto out;
+ }
+- if ((ret = sshbuf_put_bignum2(bb, sig->r)) != 0 ||
+- (ret = sshbuf_put_bignum2(bb, sig->s)) != 0)
++ {
++ const BIGNUM *r, *s;
++ ECDSA_SIG_get0(sig, &r, &s);
++ if ((ret = sshbuf_put_bignum2(bb, r)) != 0 ||
++ (ret = sshbuf_put_bignum2(bb, s)) != 0) {
+ goto out;
++ }
++ }
+ if ((ret = sshbuf_put_cstring(b, sshkey_ssh_name_plain(key))) != 0 ||
+ (ret = sshbuf_put_stringb(b, bb)) != 0)
+ goto out;
+@@ -151,11 +156,27 @@
+ ret = SSH_ERR_ALLOC_FAIL;
+ goto out;
+ }
+- if (sshbuf_get_bignum2(sigbuf, sig->r) != 0 ||
+- sshbuf_get_bignum2(sigbuf, sig->s) != 0) {
++ {
++ BIGNUM *r=NULL, *s=NULL;
++ if ((r = BN_new()) == NULL ||
++ (s = BN_new()) == NULL) {
++ ret = SSH_ERR_ALLOC_FAIL;
++ goto out_rs;
++ }
++ if (sshbuf_get_bignum2(sigbuf, r) != 0 ||
++ sshbuf_get_bignum2(sigbuf, s) != 0) {
+ ret = SSH_ERR_INVALID_FORMAT;
++ goto out_rs;
++ }
++ if (ECDSA_SIG_set0(sig, r, s) == 0) {
++ ret = SSH_ERR_LIBCRYPTO_ERROR;
++out_rs:
++ BN_free(r);
++ BN_free(s);
+ goto out;
+ }
++ r = s = NULL;
++ }
+ if (sshbuf_len(sigbuf) != 0) {
+ ret = SSH_ERR_UNEXPECTED_TRAILING_DATA;
+ goto out;
+diff -Naur old/ssh-keygen.c new/ssh-keygen.c
+--- old/ssh-keygen.c 2017-10-03 21:49:05.403827361 -1000
++++ new/ssh-keygen.c 2017-10-03 21:55:50.869718862 -1000
+@@ -496,11 +496,33 @@
+
+ switch (key->type) {
+ case KEY_DSA:
+- buffer_get_bignum_bits(b, key->dsa->p);
+- buffer_get_bignum_bits(b, key->dsa->g);
+- buffer_get_bignum_bits(b, key->dsa->q);
+- buffer_get_bignum_bits(b, key->dsa->pub_key);
+- buffer_get_bignum_bits(b, key->dsa->priv_key);
++ {
++ BIGNUM *p=NULL, *g=NULL, *q=NULL, *pub_key=NULL, *priv_key=NULL;
++ if ((p=BN_new()) == NULL ||
++ (g=BN_new()) == NULL ||
++ (q=BN_new()) == NULL ||
++ (pub_key=BN_new()) == NULL ||
++ (priv_key=BN_new()) == NULL) {
++ BN_free(p);
++ BN_free(g);
++ BN_free(q);
++ BN_free(pub_key);
++ BN_free(priv_key);
++ return NULL;
++ }
++ buffer_get_bignum_bits(b, p);
++ buffer_get_bignum_bits(b, g);
++ buffer_get_bignum_bits(b, q);
++ buffer_get_bignum_bits(b, pub_key);
++ buffer_get_bignum_bits(b, priv_key);
++ if (DSA_set0_pqg(key->dsa, p, q, g) == 0 ||
++ DSA_set0_key(key->dsa, pub_key, priv_key) == 0) {
++ fatal("failed to set DSA key");
++ BN_free(p); BN_free(g); BN_free(q);
++ BN_free(pub_key); BN_free(priv_key);
++ return NULL;
++ }
++ }
+ break;
+ case KEY_RSA:
+ if ((r = sshbuf_get_u8(b, &e1)) != 0 ||
+@@ -517,16 +539,52 @@
+ e += e3;
+ debug("e %lx", e);
+ }
+- if (!BN_set_word(key->rsa->e, e)) {
++ {
++ BIGNUM *rsa_e = NULL;
++ BIGNUM *d=NULL, *n=NULL, *iqmp=NULL, *q=NULL, *p=NULL;
++ BIGNUM *dmp1=NULL, *dmq1=NULL; /* dummy input to set in RSA_set0_crt_params */
++ rsa_e = BN_new();
++ if (!rsa_e || !BN_set_word(rsa_e, e)) {
++ if (rsa_e) BN_free(rsa_e);
+ sshbuf_free(b);
+ sshkey_free(key);
+ return NULL;
+ }
+- buffer_get_bignum_bits(b, key->rsa->d);
+- buffer_get_bignum_bits(b, key->rsa->n);
+- buffer_get_bignum_bits(b, key->rsa->iqmp);
+- buffer_get_bignum_bits(b, key->rsa->q);
+- buffer_get_bignum_bits(b, key->rsa->p);
++ if ((d=BN_new()) == NULL ||
++ (n=BN_new()) == NULL ||
++ (iqmp=BN_new()) == NULL ||
++ (q=BN_new()) == NULL ||
++ (p=BN_new()) == NULL ||
++ (dmp1=BN_new()) == NULL ||
++ (dmq1=BN_new()) == NULL) {
++ BN_free(d); BN_free(n); BN_free(iqmp);
++ BN_free(q); BN_free(p);
++ BN_free(dmp1); BN_free(dmq1);
++ return NULL;
++ }
++ BN_clear(dmp1); BN_clear(dmq1);
++ buffer_get_bignum_bits(b, d);
++ buffer_get_bignum_bits(b, n);
++ buffer_get_bignum_bits(b, iqmp);
++ buffer_get_bignum_bits(b, q);
++ buffer_get_bignum_bits(b, p);
++ if (RSA_set0_key(key->rsa, n, rsa_e, d) == 0)
++ goto null;
++ n = d = NULL;
++ if (RSA_set0_factors(key->rsa, p, q) == 0)
++ goto null;
++ p = q = NULL;
++ /* dmp1, dmq1 should not be NULL for initial set0 */
++ if (RSA_set0_crt_params(key->rsa, dmp1, dmq1, iqmp) == 0) {
++ null:
++ fatal("Failed to set RSA parameters");
++ BN_free(d); BN_free(n); BN_free(iqmp);
++ BN_free(q); BN_free(p);
++ BN_free(dmp1); BN_free(dmq1);
++ return NULL;
++ }
++ dmp1 = dmq1 = iqmp = NULL;
++ }
+ if ((r = ssh_rsa_generate_additional_parameters(key)) != 0)
+ fatal("generate RSA parameters failed: %s", ssh_err(r));
+ break;
+@@ -636,7 +694,7 @@
+ identity_file);
+ }
+ fclose(fp);
+- switch (EVP_PKEY_type(pubkey->type)) {
++ switch (EVP_PKEY_type(EVP_PKEY_id(pubkey))) {
+ case EVP_PKEY_RSA:
+ if ((*k = sshkey_new(KEY_UNSPEC)) == NULL)
+ fatal("sshkey_new failed");
+@@ -660,7 +718,7 @@
+ #endif
+ default:
+ fatal("%s: unsupported pubkey type %d", __func__,
+- EVP_PKEY_type(pubkey->type));
++ EVP_PKEY_type(EVP_PKEY_id(pubkey)));
+ }
+ EVP_PKEY_free(pubkey);
+ return;
+diff -Naur old/ssh-pkcs11-client.c new/ssh-pkcs11-client.c
+--- old/ssh-pkcs11-client.c 2017-10-03 21:49:05.403827361 -1000
++++ new/ssh-pkcs11-client.c 2017-10-03 21:55:50.869718862 -1000
+@@ -143,12 +143,13 @@
+ static int
+ wrap_key(RSA *rsa)
+ {
+- static RSA_METHOD helper_rsa;
++ static RSA_METHOD *helper_rsa;
+
+- memcpy(&helper_rsa, RSA_get_default_method(), sizeof(helper_rsa));
+- helper_rsa.name = "ssh-pkcs11-helper";
+- helper_rsa.rsa_priv_enc = pkcs11_rsa_private_encrypt;
+- RSA_set_method(rsa, &helper_rsa);
++ if ((helper_rsa = RSA_meth_dup(RSA_get_default_method())) == NULL)
++ return (-1); /* XXX but caller isn't checking */
++ RSA_meth_set1_name(helper_rsa, "ssh-pkcs11-helper");
++ RSA_meth_set_priv_enc(helper_rsa, pkcs11_rsa_private_encrypt);
++ RSA_set_method(rsa, helper_rsa);
+ return (0);
+ }
+
+diff -Naur old/ssh-pkcs11.c new/ssh-pkcs11.c
+--- old/ssh-pkcs11.c 2017-10-03 21:49:05.403827361 -1000
++++ new/ssh-pkcs11.c 2017-10-03 21:55:50.869718862 -1000
+@@ -67,7 +67,7 @@
+ struct pkcs11_provider *provider;
+ CK_ULONG slotidx;
+ int (*orig_finish)(RSA *rsa);
+- RSA_METHOD rsa_method;
++ RSA_METHOD *rsa_method;
+ char *keyid;
+ int keyid_len;
+ };
+@@ -326,13 +326,15 @@
+ k11->keyid = xmalloc(k11->keyid_len);
+ memcpy(k11->keyid, keyid_attrib->pValue, k11->keyid_len);
+ }
+- k11->orig_finish = def->finish;
+- memcpy(&k11->rsa_method, def, sizeof(k11->rsa_method));
+- k11->rsa_method.name = "pkcs11";
+- k11->rsa_method.rsa_priv_enc = pkcs11_rsa_private_encrypt;
+- k11->rsa_method.rsa_priv_dec = pkcs11_rsa_private_decrypt;
+- k11->rsa_method.finish = pkcs11_rsa_finish;
+- RSA_set_method(rsa, &k11->rsa_method);
++ k11->orig_finish = RSA_meth_get_finish(def);
++
++ if ((k11->rsa_method = RSA_meth_new("pkcs11", RSA_meth_get_flags(def))) == NULL)
++ return -1;
++ RSA_meth_set_priv_enc(k11->rsa_method, pkcs11_rsa_private_encrypt);
++ RSA_meth_set_priv_dec(k11->rsa_method, pkcs11_rsa_private_decrypt);
++ RSA_meth_set_finish(k11->rsa_method, pkcs11_rsa_finish);
++
++ RSA_set_method(rsa, k11->rsa_method);
+ RSA_set_app_data(rsa, k11);
+ return (0);
+ }
+@@ -512,10 +514,19 @@
+ if ((rsa = RSA_new()) == NULL) {
+ error("RSA_new failed");
+ } else {
+- rsa->n = BN_bin2bn(attribs[1].pValue,
+- attribs[1].ulValueLen, NULL);
+- rsa->e = BN_bin2bn(attribs[2].pValue,
+- attribs[2].ulValueLen, NULL);
++ BIGNUM *n=NULL, *e=NULL;
++ n = BN_new();
++ e = BN_new();
++ if (n == NULL || e == NULL)
++ error("BN_new alloc failed");
++ if (BN_bin2bn(attribs[1].pValue,
++ attribs[1].ulValueLen, n) == NULL ||
++ BN_bin2bn(attribs[2].pValue,
++ attribs[2].ulValueLen, e) == NULL)
++ error("BN_bin2bn failed");
++ if (RSA_set0_key(rsa, n, e, NULL) == 0)
++ error("RSA_set0_key failed");
++ n = e = NULL;
+ }
+ } else {
+ cp = attribs[2].pValue;
+@@ -525,17 +536,20 @@
+ == NULL) {
+ error("d2i_X509 failed");
+ } else if ((evp = X509_get_pubkey(x509)) == NULL ||
+- evp->type != EVP_PKEY_RSA ||
+- evp->pkey.rsa == NULL) {
++ EVP_PKEY_id(evp) != EVP_PKEY_RSA ||
++ EVP_PKEY_get0_RSA(evp) == NULL) {
+ debug("X509_get_pubkey failed or no rsa");
+- } else if ((rsa = RSAPublicKey_dup(evp->pkey.rsa))
++ } else if ((rsa = RSAPublicKey_dup(EVP_PKEY_get0_RSA(evp)))
+ == NULL) {
+ error("RSAPublicKey_dup");
+ }
+ if (x509)
+ X509_free(x509);
+ }
+- if (rsa && rsa->n && rsa->e &&
++ {
++ const BIGNUM *n, *e;
++ RSA_get0_key(rsa, &n, &e, NULL);
++ if (rsa && n && e &&
+ pkcs11_rsa_wrap(p, slotidx, &attribs[0], rsa) == 0) {
+ if ((key = sshkey_new(KEY_UNSPEC)) == NULL)
+ fatal("sshkey_new failed");
+@@ -555,6 +569,7 @@
+ } else if (rsa) {
+ RSA_free(rsa);
+ }
++ }
+ for (i = 0; i < 3; i++)
+ free(attribs[i].pValue);
+ }
+diff -Naur old/ssh-rsa.c new/ssh-rsa.c
+--- old/ssh-rsa.c 2017-10-03 21:49:05.403827361 -1000
++++ new/ssh-rsa.c 2017-10-03 22:06:32.005937158 -1000
+@@ -99,13 +99,27 @@
+ }
+ rsa = key->rsa;
+
+- if ((BN_sub(aux, rsa->q, BN_value_one()) == 0) ||
+- (BN_mod(rsa->dmq1, rsa->d, aux, ctx) == 0) ||
+- (BN_sub(aux, rsa->p, BN_value_one()) == 0) ||
+- (BN_mod(rsa->dmp1, rsa->d, aux, ctx) == 0)) {
++ {
++ const BIGNUM *q, *d, *p;
++ BIGNUM *dmq1=NULL, *dmp1=NULL;
++ if ((dmq1 = BN_new()) == NULL ||
++ (dmp1 = BN_new()) == NULL ) {
++ r = SSH_ERR_ALLOC_FAIL;
++ goto out;
++ }
++ RSA_get0_key(rsa, NULL, NULL, &d);
++ RSA_get0_factors(rsa, &p, &q);
++ if ((BN_sub(aux, q, BN_value_one()) == 0) ||
++ (BN_mod(dmq1, d, aux, ctx) == 0) ||
++ (BN_sub(aux, p, BN_value_one()) == 0) ||
++ (BN_mod(dmp1, d, aux, ctx) == 0) ||
++ RSA_set0_crt_params(rsa, dmp1, dmq1, NULL) == 0) {
+ r = SSH_ERR_LIBCRYPTO_ERROR;
++ BN_clear_free(dmp1);
++ BN_clear_free(dmq1);
+ goto out;
+ }
++ }
+ r = 0;
+ out:
+ BN_clear_free(aux);
+@@ -136,7 +150,7 @@
+ if (key == NULL || key->rsa == NULL || hash_alg == -1 ||
+ sshkey_type_plain(key->type) != KEY_RSA)
+ return SSH_ERR_INVALID_ARGUMENT;
+- if (BN_num_bits(key->rsa->n) < SSH_RSA_MINIMUM_MODULUS_SIZE)
++ if (RSA_bits(key->rsa) < SSH_RSA_MINIMUM_MODULUS_SIZE)
+ return SSH_ERR_KEY_LENGTH;
+ slen = RSA_size(key->rsa);
+ if (slen <= 0 || slen > SSHBUF_MAX_BIGNUM)
+@@ -210,7 +224,7 @@
+ sshkey_type_plain(key->type) != KEY_RSA ||
+ sig == NULL || siglen == 0)
+ return SSH_ERR_INVALID_ARGUMENT;
+- if (BN_num_bits(key->rsa->n) < SSH_RSA_MINIMUM_MODULUS_SIZE)
++ if (RSA_bits(key->rsa) < SSH_RSA_MINIMUM_MODULUS_SIZE)
+ return SSH_ERR_KEY_LENGTH;
+
+ if ((b = sshbuf_from(sig, siglen)) == NULL)
+diff -Naur old/sshkey.c new/sshkey.c
+--- old/sshkey.c 2017-10-03 21:49:05.407160494 -1000
++++ new/sshkey.c 2017-10-03 22:16:31.124964276 -1000
+@@ -264,10 +264,18 @@
+ #ifdef WITH_OPENSSL
+ case KEY_RSA:
+ case KEY_RSA_CERT:
+- return BN_num_bits(k->rsa->n);
++#if OPENSSL_VERSION_NUMBER >= 0x10100000UL
++ return RSA_bits(k->rsa);
++#else
++ return RSA_bits(key->rsa);
++#endif
+ case KEY_DSA:
+ case KEY_DSA_CERT:
++#if OPENSSL_VERSION_NUMBER >= 0x10100000UL
++ return DSA_bits(k->dsa);
++#else
+ return BN_num_bits(k->dsa->p);
++#endif
+ case KEY_ECDSA:
+ case KEY_ECDSA_CERT:
+ return sshkey_curve_nid_to_bits(k->ecdsa_nid);
+@@ -466,28 +474,55 @@
+ #ifdef WITH_OPENSSL
+ case KEY_RSA:
+ case KEY_RSA_CERT:
++ {
++ BIGNUM *n=NULL, *e=NULL; /* just allocate */
+ if ((rsa = RSA_new()) == NULL ||
+- (rsa->n = BN_new()) == NULL ||
+- (rsa->e = BN_new()) == NULL) {
++ (n = BN_new()) == NULL ||
++ (e = BN_new()) == NULL) {
++ BN_free(n);
++ BN_free(e);
+ if (rsa != NULL)
+ RSA_free(rsa);
+ free(k);
+ return NULL;
+ }
++ BN_clear(n); BN_clear(e);
++ if (RSA_set0_key(rsa, n, e, NULL) == 0)
++ return NULL;
++ n = e = NULL;
++ }
+ k->rsa = rsa;
+ break;
+ case KEY_DSA:
+ case KEY_DSA_CERT:
++ {
++ BIGNUM *p=NULL, *q=NULL, *g=NULL, *pubkey=NULL; /* just allocate */
+ if ((dsa = DSA_new()) == NULL ||
+- (dsa->p = BN_new()) == NULL ||
+- (dsa->q = BN_new()) == NULL ||
+- (dsa->g = BN_new()) == NULL ||
+- (dsa->pub_key = BN_new()) == NULL) {
++ (p = BN_new()) == NULL ||
++ (q = BN_new()) == NULL ||
++ (g = BN_new()) == NULL ||
++ (pubkey = BN_new()) == NULL) {
++ BN_free(p);
++ BN_free(q);
++ BN_free(g);
++ BN_free(pubkey);
+ if (dsa != NULL)
+ DSA_free(dsa);
+ free(k);
+ return NULL;
+ }
++ if (DSA_set0_pqg(dsa, p, q, g) == 0) {
++ BN_free(p); BN_free(q); BN_free(g);
++ BN_free(pubkey);
++ return NULL;
++ }
++ p = q = g = NULL;
++ if (DSA_set0_key(dsa, pubkey, NULL) == 0) {
++ BN_free(pubkey);
++ return NULL;
++ }
++ pubkey = NULL;
++ }
+ k->dsa = dsa;
+ break;
+ case KEY_ECDSA:
+@@ -523,6 +558,51 @@
+ #ifdef WITH_OPENSSL
+ case KEY_RSA:
+ case KEY_RSA_CERT:
++#if OPENSSL_VERSION_NUMBER >= 0x10100000UL
++ /* Allocate BIGNUM. This is a mess.
++ For OpenSSL 1.1.x API these shouldn't be mandatory,
++ but some regression tests for non-NULL pointer of
++ the data. */
++#define new_or_dup(bn, nbn) \
++ if (bn == NULL) { \
++ if ((nbn = BN_new()) == NULL) \
++ return SSH_ERR_ALLOC_FAIL; \
++ } else { \
++ /* otherwise use-after-free will occur */ \
++ if ((nbn = BN_dup(bn)) == NULL) \
++ return SSH_ERR_ALLOC_FAIL; \
++ }
++ {
++ const BIGNUM *d, *iqmp, *q, *p, *dmq1, *dmp1; /* allocate if NULL */
++ BIGNUM *nd, *niqmp, *nq, *np, *ndmq1, *ndmp1;
++
++ RSA_get0_key(k->rsa, NULL, NULL, &d);
++ RSA_get0_factors(k->rsa, &p, &q);
++ RSA_get0_crt_params(k->rsa, &dmp1, &dmq1, &iqmp);
++
++ new_or_dup(d, nd);
++ new_or_dup(iqmp, niqmp);
++ new_or_dup(q, nq);
++ new_or_dup(p, np);
++ new_or_dup(dmq1, ndmq1);
++ new_or_dup(dmp1, ndmp1);
++
++ if (RSA_set0_key(k->rsa, NULL, NULL, nd) == 0)
++ goto error1;
++ nd = NULL;
++ if (RSA_set0_factors(k->rsa, np, nq) == 0)
++ goto error1;
++ np = nq = NULL;
++ if (RSA_set0_crt_params(k->rsa, ndmp1, ndmq1, niqmp) == 0) {
++error1:
++ BN_free(nd);
++ BN_free(np); BN_free(nq);
++ BN_free(ndmp1); BN_free(ndmq1); BN_free(niqmp);
++ return SSH_ERR_LIBCRYPTO_ERROR;
++ }
++ ndmp1 = ndmq1 = niqmp = NULL;
++ }
++#else
+ #define bn_maybe_alloc_failed(p) (p == NULL && (p = BN_new()) == NULL)
+ if (bn_maybe_alloc_failed(k->rsa->d) ||
+ bn_maybe_alloc_failed(k->rsa->iqmp) ||
+@@ -531,13 +611,28 @@
+ bn_maybe_alloc_failed(k->rsa->dmq1) ||
+ bn_maybe_alloc_failed(k->rsa->dmp1))
+ return SSH_ERR_ALLOC_FAIL;
++#endif
+ break;
+ case KEY_DSA:
+ case KEY_DSA_CERT:
++#if OPENSSL_VERSION_NUMBER >= 0x10100000UL
++ {
++ const BIGNUM *priv_key;
++ BIGNUM *npriv_key;
++ DSA_get0_key(k->dsa, NULL, &priv_key);
++ new_or_dup(priv_key, npriv_key);
++ if (DSA_set0_key(k->dsa, NULL, npriv_key) == 0) {
++ BN_free(npriv_key);
++ return SSH_ERR_LIBCRYPTO_ERROR;
++ }
++ }
++#else
+ if (bn_maybe_alloc_failed(k->dsa->priv_key))
+ return SSH_ERR_ALLOC_FAIL;
++#endif
+ break;
+ #undef bn_maybe_alloc_failed
++#undef new_or_dup
+ case KEY_ECDSA:
+ case KEY_ECDSA_CERT:
+ /* Cannot do anything until we know the group */
+@@ -655,16 +750,34 @@
+ #ifdef WITH_OPENSSL
+ case KEY_RSA_CERT:
+ case KEY_RSA:
+- return a->rsa != NULL && b->rsa != NULL &&
+- BN_cmp(a->rsa->e, b->rsa->e) == 0 &&
+- BN_cmp(a->rsa->n, b->rsa->n) == 0;
++ {
++ const BIGNUM *a_e, *b_e, *a_n, *b_n;
++ const BIGNUM *a_d, *b_d;
++ if (a->rsa == NULL) return 0;
++ if (b->rsa == NULL) return 0;
++ RSA_get0_key(a->rsa, &a_n, &a_e, &a_d);
++ RSA_get0_key(b->rsa, &b_n, &b_e, &b_d);
++ return
++ BN_cmp(a_e, b_e) == 0 &&
++ BN_cmp(a_n, b_n) == 0;
++ }
+ case KEY_DSA_CERT:
+ case KEY_DSA:
+- return a->dsa != NULL && b->dsa != NULL &&
+- BN_cmp(a->dsa->p, b->dsa->p) == 0 &&
+- BN_cmp(a->dsa->q, b->dsa->q) == 0 &&
+- BN_cmp(a->dsa->g, b->dsa->g) == 0 &&
+- BN_cmp(a->dsa->pub_key, b->dsa->pub_key) == 0;
++ {
++ const BIGNUM *a_p, *a_q, *a_g, *a_pub_key;
++ const BIGNUM *b_p, *b_q, *b_g, *b_pub_key;
++ if (a->dsa == NULL) return 0;
++ if (b->dsa == NULL) return 0;
++ DSA_get0_pqg(a->dsa, &a_p, &a_q, &a_g);
++ DSA_get0_pqg(b->dsa, &b_p, &b_q, &b_g);
++ DSA_get0_key(a->dsa, &a_pub_key, NULL);
++ DSA_get0_key(b->dsa, &b_pub_key, NULL);
++ return
++ BN_cmp(a_p, b_p) == 0 &&
++ BN_cmp(a_q, b_q) == 0 &&
++ BN_cmp(a_g, b_g) == 0 &&
++ BN_cmp(a_pub_key, b_pub_key) == 0;
++ }
+ # ifdef OPENSSL_HAS_ECC
+ case KEY_ECDSA_CERT:
+ case KEY_ECDSA:
+@@ -742,12 +855,17 @@
+ case KEY_DSA:
+ if (key->dsa == NULL)
+ return SSH_ERR_INVALID_ARGUMENT;
++ {
++ const BIGNUM *p, *q, *g, *pub_key;
++ DSA_get0_pqg(key->dsa, &p, &q, &g);
++ DSA_get0_key(key->dsa, &pub_key, NULL);
+ if ((ret = sshbuf_put_cstring(b, typename)) != 0 ||
+- (ret = sshbuf_put_bignum2(b, key->dsa->p)) != 0 ||
+- (ret = sshbuf_put_bignum2(b, key->dsa->q)) != 0 ||
+- (ret = sshbuf_put_bignum2(b, key->dsa->g)) != 0 ||
+- (ret = sshbuf_put_bignum2(b, key->dsa->pub_key)) != 0)
++ (ret = sshbuf_put_bignum2(b, p)) != 0 ||
++ (ret = sshbuf_put_bignum2(b, q)) != 0 ||
++ (ret = sshbuf_put_bignum2(b, g)) != 0 ||
++ (ret = sshbuf_put_bignum2(b, pub_key)) != 0)
+ return ret;
++ }
+ break;
+ # ifdef OPENSSL_HAS_ECC
+ case KEY_ECDSA:
+@@ -763,10 +881,14 @@
+ case KEY_RSA:
+ if (key->rsa == NULL)
+ return SSH_ERR_INVALID_ARGUMENT;
++ {
++ const BIGNUM *e, *n;
++ RSA_get0_key(key->rsa, &n, &e, NULL);
+ if ((ret = sshbuf_put_cstring(b, typename)) != 0 ||
+- (ret = sshbuf_put_bignum2(b, key->rsa->e)) != 0 ||
+- (ret = sshbuf_put_bignum2(b, key->rsa->n)) != 0)
++ (ret = sshbuf_put_bignum2(b, e)) != 0 ||
++ (ret = sshbuf_put_bignum2(b, n)) != 0)
+ return ret;
++ }
+ break;
+ #endif /* WITH_OPENSSL */
+ case KEY_ED25519:
+@@ -1643,13 +1765,32 @@
+ case KEY_DSA_CERT:
+ if ((n = sshkey_new(k->type)) == NULL)
+ return SSH_ERR_ALLOC_FAIL;
+- if ((BN_copy(n->dsa->p, k->dsa->p) == NULL) ||
+- (BN_copy(n->dsa->q, k->dsa->q) == NULL) ||
+- (BN_copy(n->dsa->g, k->dsa->g) == NULL) ||
+- (BN_copy(n->dsa->pub_key, k->dsa->pub_key) == NULL)) {
++ {
++ const BIGNUM *p, *q, *g, *pub_key, *priv_key;
++ BIGNUM *cp=NULL, *cq=NULL, *cg=NULL, *cpub_key=NULL;
++ DSA_get0_pqg(k->dsa, &p, &q, &g);
++ DSA_get0_key(k->dsa, &pub_key, &priv_key);
++ if ((cp = BN_dup(p)) == NULL ||
++ (cq = BN_dup(q)) == NULL ||
++ (cg = BN_dup(g)) == NULL ||
++ (cpub_key = BN_dup(pub_key)) == NULL) {
++ BN_free(cp); BN_free(cq); BN_free(cg);
++ BN_free(cpub_key);
+ sshkey_free(n);
+ return SSH_ERR_ALLOC_FAIL;
+ }
++ if (DSA_set0_pqg(n->dsa, cp, cq, cg) == 0)
++ goto error1;
++ cp = cq = cg = NULL;
++ if (DSA_set0_key(n->dsa, cpub_key, NULL) == 0) {
++error1:
++ BN_free(cp); BN_free(cq); BN_free(cg);
++ BN_free(cpub_key);
++ sshkey_free(n);
++ return SSH_ERR_LIBCRYPTO_ERROR;
++ }
++ cpub_key = NULL;
++ }
+ break;
+ # ifdef OPENSSL_HAS_ECC
+ case KEY_ECDSA:
+@@ -1673,11 +1814,23 @@
+ case KEY_RSA_CERT:
+ if ((n = sshkey_new(k->type)) == NULL)
+ return SSH_ERR_ALLOC_FAIL;
+- if ((BN_copy(n->rsa->n, k->rsa->n) == NULL) ||
+- (BN_copy(n->rsa->e, k->rsa->e) == NULL)) {
++ {
++ const BIGNUM *nn, *e, *d;
++ BIGNUM *cn=NULL, *ce=NULL;
++ RSA_get0_key(k->rsa, &nn, &e, &d);
++ if ((cn = BN_dup(nn)) == NULL ||
++ (ce = BN_dup(e)) == NULL ) {
++ BN_free(cn); BN_free(ce);
+ sshkey_free(n);
+ return SSH_ERR_ALLOC_FAIL;
+ }
++ if (RSA_set0_key(n->rsa, cn, ce, NULL) == 0) {
++ BN_free(cn); BN_free(ce);
++ sshkey_free(n);
++ return SSH_ERR_LIBCRYPTO_ERROR;
++ }
++ cn = ce = NULL;
++ }
+ break;
+ #endif /* WITH_OPENSSL */
+ case KEY_ED25519:
+@@ -1875,12 +2028,27 @@
+ ret = SSH_ERR_ALLOC_FAIL;
+ goto out;
+ }
+- if (sshbuf_get_bignum2(b, key->rsa->e) != 0 ||
+- sshbuf_get_bignum2(b, key->rsa->n) != 0) {
++ {
++ BIGNUM *e=NULL, *n=NULL;
++ if ((e = BN_new()) == NULL ||
++ (n = BN_new()) == NULL ) {
++ ret = SSH_ERR_ALLOC_FAIL;
++ BN_free(e); BN_free(n);
++ goto out;
++ }
++ if (sshbuf_get_bignum2(b, e) != 0 ||
++ sshbuf_get_bignum2(b, n) != 0) {
+ ret = SSH_ERR_INVALID_FORMAT;
++ BN_free(e); BN_free(n);
+ goto out;
+ }
+- if (BN_num_bits(key->rsa->n) < SSH_RSA_MINIMUM_MODULUS_SIZE) {
++ if (RSA_set0_key(key->rsa, n, e, NULL) == 0) {
++ BN_free(e); BN_free(n);
++ return SSH_ERR_LIBCRYPTO_ERROR;
++ }
++ n = e = NULL;
++ }
++ if (RSA_bits(key->rsa) < SSH_RSA_MINIMUM_MODULUS_SIZE) {
+ ret = SSH_ERR_KEY_LENGTH;
+ goto out;
+ }
+@@ -1900,13 +2068,36 @@
+ ret = SSH_ERR_ALLOC_FAIL;
+ goto out;
+ }
+- if (sshbuf_get_bignum2(b, key->dsa->p) != 0 ||
+- sshbuf_get_bignum2(b, key->dsa->q) != 0 ||
+- sshbuf_get_bignum2(b, key->dsa->g) != 0 ||
+- sshbuf_get_bignum2(b, key->dsa->pub_key) != 0) {
++ {
++ BIGNUM *p=NULL, *q=NULL, *g=NULL, *pub_key=NULL;
++ if ((p = BN_new()) == NULL ||
++ (q = BN_new()) == NULL ||
++ (g = BN_new()) == NULL ||
++ (pub_key = BN_new()) == NULL) {
++ ret = SSH_ERR_ALLOC_FAIL;
++ goto error1;
++ }
++ if (sshbuf_get_bignum2(b, p) != 0 ||
++ sshbuf_get_bignum2(b, q) != 0 ||
++ sshbuf_get_bignum2(b, g) != 0 ||
++ sshbuf_get_bignum2(b, pub_key) != 0) {
+ ret = SSH_ERR_INVALID_FORMAT;
++ goto error1;
++ }
++ if (DSA_set0_pqg(key->dsa, p, q, g) == 0) {
++ ret = SSH_ERR_LIBCRYPTO_ERROR;
++ goto error1;
++ }
++ p = q = g = NULL;
++ if (DSA_set0_key(key->dsa, pub_key, NULL) == 0) {
++ ret = SSH_ERR_LIBCRYPTO_ERROR;
++error1:
++ BN_free(p); BN_free(q); BN_free(g);
++ BN_free(pub_key);
+ goto out;
+ }
++ pub_key = NULL;
++ }
+ #ifdef DEBUG_PK
+ DSA_print_fp(stderr, key->dsa, 8);
+ #endif
+@@ -2140,26 +2331,63 @@
+ goto fail;
+ /* FALLTHROUGH */
+ case KEY_RSA:
+- if ((pk->rsa = RSA_new()) == NULL ||
+- (pk->rsa->e = BN_dup(k->rsa->e)) == NULL ||
+- (pk->rsa->n = BN_dup(k->rsa->n)) == NULL) {
++ if ((pk->rsa = RSA_new()) == NULL ){
+ ret = SSH_ERR_ALLOC_FAIL;
+ goto fail;
+ }
++ {
++ const BIGNUM *ke, *kn;
++ BIGNUM *pke=NULL, *pkn=NULL;
++ RSA_get0_key(k->rsa, &kn, &ke, NULL);
++ if ((pke = BN_dup(ke)) == NULL ||
++ (pkn = BN_dup(kn)) == NULL) {
++ ret = SSH_ERR_ALLOC_FAIL;
++ BN_free(pke); BN_free(pkn);
++ goto fail;
++ }
++ if (RSA_set0_key(pk->rsa, pkn, pke, NULL) == 0) {
++ ret = SSH_ERR_LIBCRYPTO_ERROR;
++ BN_free(pke); BN_free(pkn);
++ goto fail;
++ }
++ pkn = pke = NULL;
++ }
+ break;
+ case KEY_DSA_CERT:
+ if ((ret = sshkey_cert_copy(k, pk)) != 0)
+ goto fail;
+ /* FALLTHROUGH */
+ case KEY_DSA:
+- if ((pk->dsa = DSA_new()) == NULL ||
+- (pk->dsa->p = BN_dup(k->dsa->p)) == NULL ||
+- (pk->dsa->q = BN_dup(k->dsa->q)) == NULL ||
+- (pk->dsa->g = BN_dup(k->dsa->g)) == NULL ||
+- (pk->dsa->pub_key = BN_dup(k->dsa->pub_key)) == NULL) {
++ if ((pk->dsa = DSA_new()) == NULL ) {
+ ret = SSH_ERR_ALLOC_FAIL;
+ goto fail;
+ }
++ {
++ const BIGNUM *kp, *kq, *kg, *kpub_key;
++ BIGNUM *pkp=NULL, *pkq=NULL, *pkg=NULL, *pkpub_key=NULL;
++ DSA_get0_pqg(k->dsa, &kp, &kq, &kg);
++ DSA_get0_key(k->dsa, &kpub_key, NULL);
++ if ((pkp = BN_dup(kp)) == NULL ||
++ (pkq = BN_dup(kq)) == NULL ||
++ (pkg = BN_dup(kg)) == NULL ||
++ (pkpub_key = BN_dup(kpub_key)) == NULL) {
++ ret = SSH_ERR_ALLOC_FAIL;
++ goto error1;
++ }
++ if (DSA_set0_pqg(pk->dsa, pkp, pkq, pkg) == 0) {
++ ret = SSH_ERR_LIBCRYPTO_ERROR;
++ goto error1;
++ }
++ pkp = pkq = pkg = NULL;
++ if (DSA_set0_key(pk->dsa, pkpub_key, NULL) == 0) {
++ ret = SSH_ERR_LIBCRYPTO_ERROR;
++error1:
++ BN_free(pkp); BN_free(pkq); BN_free(pkg);
++ BN_free(pkpub_key);
++ goto fail;
++ }
++ pkpub_key = NULL;
++ }
+ break;
+ case KEY_ECDSA_CERT:
+ if ((ret = sshkey_cert_copy(k, pk)) != 0)
+@@ -2281,11 +2509,17 @@
+ switch (k->type) {
+ #ifdef WITH_OPENSSL
+ case KEY_DSA_CERT:
+- if ((ret = sshbuf_put_bignum2(cert, k->dsa->p)) != 0 ||
+- (ret = sshbuf_put_bignum2(cert, k->dsa->q)) != 0 ||
+- (ret = sshbuf_put_bignum2(cert, k->dsa->g)) != 0 ||
+- (ret = sshbuf_put_bignum2(cert, k->dsa->pub_key)) != 0)
++ {
++ const BIGNUM *p, *q, *g, *pub_key;
++ DSA_get0_pqg(k->dsa, &p, &q, &g);
++ DSA_get0_key(k->dsa, &pub_key, NULL);
++ if ((ret = sshbuf_put_bignum2(cert, p)) != 0 ||
++ (ret = sshbuf_put_bignum2(cert, q)) != 0 ||
++ (ret = sshbuf_put_bignum2(cert, g)) != 0 ||
++ (ret = sshbuf_put_bignum2(cert, pub_key)) != 0) {
+ goto out;
++ }
++ }
+ break;
+ # ifdef OPENSSL_HAS_ECC
+ case KEY_ECDSA_CERT:
+@@ -2298,9 +2532,15 @@
+ break;
+ # endif /* OPENSSL_HAS_ECC */
+ case KEY_RSA_CERT:
+- if ((ret = sshbuf_put_bignum2(cert, k->rsa->e)) != 0 ||
+- (ret = sshbuf_put_bignum2(cert, k->rsa->n)) != 0)
++ {
++ const BIGNUM *e, *n;
++ RSA_get0_key(k->rsa, &n, &e, NULL);
++ if (n == NULL || e == NULL ||
++ (ret = sshbuf_put_bignum2(cert, e)) != 0 ||
++ (ret = sshbuf_put_bignum2(cert, n)) != 0) {
+ goto out;
++ }
++ }
+ break;
+ #endif /* WITH_OPENSSL */
+ case KEY_ED25519_CERT:
+@@ -2474,42 +2714,67 @@
+ switch (key->type) {
+ #ifdef WITH_OPENSSL
+ case KEY_RSA:
+- if ((r = sshbuf_put_bignum2(b, key->rsa->n)) != 0 ||
+- (r = sshbuf_put_bignum2(b, key->rsa->e)) != 0 ||
+- (r = sshbuf_put_bignum2(b, key->rsa->d)) != 0 ||
+- (r = sshbuf_put_bignum2(b, key->rsa->iqmp)) != 0 ||
+- (r = sshbuf_put_bignum2(b, key->rsa->p)) != 0 ||
+- (r = sshbuf_put_bignum2(b, key->rsa->q)) != 0)
++ {
++ const BIGNUM *n, *e, *d, *iqmp, *p, *q;
++ RSA_get0_key(key->rsa, &n, &e, &d);
++ RSA_get0_crt_params(key->rsa, NULL, NULL, &iqmp);
++ RSA_get0_factors(key->rsa, &p, &q);
++ if ((r = sshbuf_put_bignum2(b, n)) != 0 ||
++ (r = sshbuf_put_bignum2(b, e)) != 0 ||
++ (r = sshbuf_put_bignum2(b, d)) != 0 ||
++ (r = sshbuf_put_bignum2(b, iqmp)) != 0 ||
++ (r = sshbuf_put_bignum2(b, p)) != 0 ||
++ (r = sshbuf_put_bignum2(b, q)) != 0) {
+ goto out;
++ }
++ }
+ break;
+ case KEY_RSA_CERT:
+ if (key->cert == NULL || sshbuf_len(key->cert->certblob) == 0) {
+ r = SSH_ERR_INVALID_ARGUMENT;
+ goto out;
+ }
++ {
++ const BIGNUM *d, *iqmp, *p, *q;
++ RSA_get0_key(key->rsa, NULL, NULL, &d);
++ RSA_get0_crt_params(key->rsa, NULL, NULL, &iqmp);
++ RSA_get0_factors(key->rsa, &p, &q);
+ if ((r = sshbuf_put_stringb(b, key->cert->certblob)) != 0 ||
+- (r = sshbuf_put_bignum2(b, key->rsa->d)) != 0 ||
+- (r = sshbuf_put_bignum2(b, key->rsa->iqmp)) != 0 ||
+- (r = sshbuf_put_bignum2(b, key->rsa->p)) != 0 ||
+- (r = sshbuf_put_bignum2(b, key->rsa->q)) != 0)
++ (r = sshbuf_put_bignum2(b, d)) != 0 ||
++ (r = sshbuf_put_bignum2(b, iqmp)) != 0 ||
++ (r = sshbuf_put_bignum2(b, p)) != 0 ||
++ (r = sshbuf_put_bignum2(b, q)) != 0) {
+ goto out;
++ }
++ }
+ break;
+ case KEY_DSA:
+- if ((r = sshbuf_put_bignum2(b, key->dsa->p)) != 0 ||
+- (r = sshbuf_put_bignum2(b, key->dsa->q)) != 0 ||
+- (r = sshbuf_put_bignum2(b, key->dsa->g)) != 0 ||
+- (r = sshbuf_put_bignum2(b, key->dsa->pub_key)) != 0 ||
+- (r = sshbuf_put_bignum2(b, key->dsa->priv_key)) != 0)
++ {
++ const BIGNUM *p, *q, *g, *pub_key, *priv_key;
++ DSA_get0_pqg(key->dsa, &p, &q, &g);
++ DSA_get0_key(key->dsa, &pub_key, &priv_key);
++ if ((r = sshbuf_put_bignum2(b, p)) != 0 ||
++ (r = sshbuf_put_bignum2(b, q)) != 0 ||
++ (r = sshbuf_put_bignum2(b, g)) != 0 ||
++ (r = sshbuf_put_bignum2(b, pub_key)) != 0 ||
++ (r = sshbuf_put_bignum2(b, priv_key)) != 0) {
+ goto out;
++ }
++ }
+ break;
+ case KEY_DSA_CERT:
+ if (key->cert == NULL || sshbuf_len(key->cert->certblob) == 0) {
+ r = SSH_ERR_INVALID_ARGUMENT;
+ goto out;
+ }
++ {
++ const BIGNUM *priv_key;
++ DSA_get0_key(key->dsa, NULL, &priv_key);
+ if ((r = sshbuf_put_stringb(b, key->cert->certblob)) != 0 ||
+- (r = sshbuf_put_bignum2(b, key->dsa->priv_key)) != 0)
++ (r = sshbuf_put_bignum2(b, priv_key)) != 0) {
+ goto out;
++ }
++ }
+ break;
+ # ifdef OPENSSL_HAS_ECC
+ case KEY_ECDSA:
+@@ -2585,18 +2850,61 @@
+ r = SSH_ERR_ALLOC_FAIL;
+ goto out;
+ }
+- if ((r = sshbuf_get_bignum2(buf, k->dsa->p)) != 0 ||
+- (r = sshbuf_get_bignum2(buf, k->dsa->q)) != 0 ||
+- (r = sshbuf_get_bignum2(buf, k->dsa->g)) != 0 ||
+- (r = sshbuf_get_bignum2(buf, k->dsa->pub_key)) != 0 ||
+- (r = sshbuf_get_bignum2(buf, k->dsa->priv_key)) != 0)
++ {
++ BIGNUM *p=NULL, *q=NULL, *g=NULL, *pub_key=NULL, *priv_key=NULL;
++ if ((p = BN_new()) == NULL ||
++ (q = BN_new()) == NULL ||
++ (g = BN_new()) == NULL ||
++ (pub_key = BN_new()) == NULL ||
++ (priv_key = BN_new()) == NULL) {
++ r = SSH_ERR_ALLOC_FAIL;
++ goto error1;
++ }
++ if (p == NULL || q == NULL || g == NULL ||
++ pub_key == NULL || priv_key == NULL ||
++ (r = sshbuf_get_bignum2(buf, p)) != 0 ||
++ (r = sshbuf_get_bignum2(buf, q)) != 0 ||
++ (r = sshbuf_get_bignum2(buf, g)) != 0 ||
++ (r = sshbuf_get_bignum2(buf, pub_key)) != 0 ||
++ (r = sshbuf_get_bignum2(buf, priv_key)) != 0) {
++ goto error1;
++ }
++ if (DSA_set0_pqg(k->dsa, p, q, g) == 0) {
++ r = SSH_ERR_LIBCRYPTO_ERROR;
++ goto error1;
++ }
++ p = q = g = NULL;
++ if (DSA_set0_key(k->dsa, pub_key, priv_key) == 0) {
++ r = SSH_ERR_LIBCRYPTO_ERROR;
++error1:
++ BN_free(p); BN_free(q); BN_free(g);
++ BN_free(pub_key); BN_free(priv_key);
+ goto out;
++ }
++ pub_key = priv_key = NULL;
++ }
+ break;
+ case KEY_DSA_CERT:
+- if ((r = sshkey_froms(buf, &k)) != 0 ||
++ {
++ BIGNUM *priv_key=NULL;
++ if ((priv_key = BN_new()) == NULL) {
++ r = SSH_ERR_ALLOC_FAIL;
++ goto out;
++ }
++ if (priv_key == NULL ||
++ (r = sshkey_froms(buf, &k)) != 0 ||
+ (r = sshkey_add_private(k)) != 0 ||
+- (r = sshbuf_get_bignum2(buf, k->dsa->priv_key)) != 0)
++ (r = sshbuf_get_bignum2(buf, priv_key)) != 0) {
++ BN_free(priv_key);
++ goto out;
++ }
++ if (DSA_set0_key(k->dsa, NULL, priv_key) == 0) {
++ r = SSH_ERR_LIBCRYPTO_ERROR;
++ BN_free(priv_key);
+ goto out;
++ }
++ priv_key = NULL;
++ }
+ break;
+ # ifdef OPENSSL_HAS_ECC
+ case KEY_ECDSA:
+@@ -2655,29 +2963,104 @@
+ r = SSH_ERR_ALLOC_FAIL;
+ goto out;
+ }
+- if ((r = sshbuf_get_bignum2(buf, k->rsa->n)) != 0 ||
+- (r = sshbuf_get_bignum2(buf, k->rsa->e)) != 0 ||
+- (r = sshbuf_get_bignum2(buf, k->rsa->d)) != 0 ||
+- (r = sshbuf_get_bignum2(buf, k->rsa->iqmp)) != 0 ||
+- (r = sshbuf_get_bignum2(buf, k->rsa->p)) != 0 ||
+- (r = sshbuf_get_bignum2(buf, k->rsa->q)) != 0 ||
+- (r = ssh_rsa_generate_additional_parameters(k)) != 0)
++ {
++ BIGNUM *n=NULL, *e=NULL, *d=NULL, *iqmp=NULL, *p=NULL, *q=NULL;
++ BIGNUM *dmp1=NULL, *dmq1=NULL; /* dummy for RSA_set0_crt_params */
++ if ((n = BN_new()) == NULL ||
++ (e = BN_new()) == NULL ||
++ (d = BN_new()) == NULL ||
++ (iqmp = BN_new()) == NULL ||
++ (p = BN_new()) == NULL ||
++ (q = BN_new()) == NULL ||
++ (dmp1 = BN_new()) == NULL ||
++ (dmq1 = BN_new()) == NULL) {
++ r = SSH_ERR_ALLOC_FAIL;
++ goto error2;
++ }
++ BN_clear(dmp1); BN_clear(dmq1);
++ if ((r = sshbuf_get_bignum2(buf, n)) != 0 ||
++ (r = sshbuf_get_bignum2(buf, e)) != 0 ||
++ (r = sshbuf_get_bignum2(buf, d)) != 0 ||
++ (r = sshbuf_get_bignum2(buf, iqmp)) != 0 ||
++ (r = sshbuf_get_bignum2(buf, p)) != 0 ||
++ (r = sshbuf_get_bignum2(buf, q)) != 0) {
++ goto error2;
++ }
++ if (RSA_set0_key(k->rsa, n, e, d) == 0) {
++ r = SSH_ERR_LIBCRYPTO_ERROR;
++ goto error2;
++ }
++ n = e = d = NULL;
++ /* dmp1,dmpq1 should be non NULL to set iqmp value */
++ if (RSA_set0_crt_params(k->rsa, dmp1, dmq1, iqmp) == 0) {
++ r = SSH_ERR_LIBCRYPTO_ERROR;
++ goto error2;
++ }
++ dmp1 = dmq1 = iqmp = NULL;
++ if (RSA_set0_factors(k->rsa, p, q) == 0) {
++ r = SSH_ERR_LIBCRYPTO_ERROR;
++ error2:
++ BN_free(n); BN_free(e); BN_free(d);
++ BN_free(iqmp);
++ BN_free(p); BN_free(q);
++ BN_free(dmp1); BN_free(dmq1);
++ goto out;
++ }
++ p = q = NULL;
++ if ((r = ssh_rsa_generate_additional_parameters(k)) != 0) {
+ goto out;
+- if (BN_num_bits(k->rsa->n) < SSH_RSA_MINIMUM_MODULUS_SIZE) {
++ }
++ }
++ if (RSA_bits(k->rsa) < SSH_RSA_MINIMUM_MODULUS_SIZE) {
+ r = SSH_ERR_KEY_LENGTH;
+ goto out;
+ }
+ break;
+ case KEY_RSA_CERT:
++ {
++ BIGNUM *d=NULL, *iqmp=NULL, *p=NULL, *q=NULL;
++ BIGNUM *dmp1=NULL, *dmq1=NULL; /* dummy for RSA_set0_crt_params */
++ if ((d = BN_new()) == NULL ||
++ (iqmp = BN_new()) == NULL ||
++ (p = BN_new()) == NULL ||
++ (q = BN_new()) == NULL ||
++ (dmp1 = BN_new()) == NULL ||
++ (dmq1 = BN_new()) == NULL) {
++ r = SSH_ERR_ALLOC_FAIL;
++ goto error3;
++ }
++ BN_clear(dmp1); BN_clear(dmq1);
+ if ((r = sshkey_froms(buf, &k)) != 0 ||
+ (r = sshkey_add_private(k)) != 0 ||
+- (r = sshbuf_get_bignum2(buf, k->rsa->d)) != 0 ||
+- (r = sshbuf_get_bignum2(buf, k->rsa->iqmp)) != 0 ||
+- (r = sshbuf_get_bignum2(buf, k->rsa->p)) != 0 ||
+- (r = sshbuf_get_bignum2(buf, k->rsa->q)) != 0 ||
+- (r = ssh_rsa_generate_additional_parameters(k)) != 0)
++ (r = sshbuf_get_bignum2(buf, d)) != 0 ||
++ (r = sshbuf_get_bignum2(buf, iqmp)) != 0 ||
++ (r = sshbuf_get_bignum2(buf, p)) != 0 ||
++ (r = sshbuf_get_bignum2(buf, q)) != 0) {
++ goto error3;
++ }
++ if (RSA_set0_key(k->rsa, NULL, NULL, d) == 0) {
++ r = SSH_ERR_LIBCRYPTO_ERROR;
++ goto error3;
++ }
++ /* dmp1,dmpq1 should be non NULL to set value */
++ if (RSA_set0_crt_params(k->rsa, dmp1, dmq1, iqmp) == 0) {
++ r = SSH_ERR_LIBCRYPTO_ERROR;
++ goto error3;
++ }
++ dmp1 = dmq1 = iqmp = NULL;
++ if (RSA_set0_factors(k->rsa, p, q) == 0) {
++ r = SSH_ERR_LIBCRYPTO_ERROR;
++ error3:
++ BN_free(d); BN_free(iqmp);
++ BN_free(p); BN_free(q);
++ BN_free(dmp1); BN_free(dmq1);
+ goto out;
+- if (BN_num_bits(k->rsa->n) < SSH_RSA_MINIMUM_MODULUS_SIZE) {
++ }
++ p = q = NULL;
++ if ((r = ssh_rsa_generate_additional_parameters(k)) != 0)
++ goto out;
++ }
++ if (RSA_bits(k->rsa) < SSH_RSA_MINIMUM_MODULUS_SIZE) {
+ r = SSH_ERR_KEY_LENGTH;
+ goto out;
+ }
+@@ -3395,7 +3778,6 @@
+ switch (pem_reason) {
+ case EVP_R_BAD_DECRYPT:
+ return SSH_ERR_KEY_WRONG_PASSPHRASE;
+- case EVP_R_BN_DECODE_ERROR:
+ case EVP_R_DECODE_ERROR:
+ #ifdef EVP_R_PRIVATE_KEY_DECODE_ERROR
+ case EVP_R_PRIVATE_KEY_DECODE_ERROR:
+@@ -3460,7 +3842,7 @@
+ r = convert_libcrypto_error();
+ goto out;
+ }
+- if (pk->type == EVP_PKEY_RSA &&
++ if (EVP_PKEY_id(pk) == EVP_PKEY_RSA &&
+ (type == KEY_UNSPEC || type == KEY_RSA)) {
+ if ((prv = sshkey_new(KEY_UNSPEC)) == NULL) {
+ r = SSH_ERR_ALLOC_FAIL;
+@@ -3475,11 +3857,11 @@
+ r = SSH_ERR_LIBCRYPTO_ERROR;
+ goto out;
+ }
+- if (BN_num_bits(prv->rsa->n) < SSH_RSA_MINIMUM_MODULUS_SIZE) {
++ if (RSA_bits(prv->rsa) < SSH_RSA_MINIMUM_MODULUS_SIZE) {
+ r = SSH_ERR_KEY_LENGTH;
+ goto out;
+ }
+- } else if (pk->type == EVP_PKEY_DSA &&
++ } else if (EVP_PKEY_id(pk) == EVP_PKEY_DSA &&
+ (type == KEY_UNSPEC || type == KEY_DSA)) {
+ if ((prv = sshkey_new(KEY_UNSPEC)) == NULL) {
+ r = SSH_ERR_ALLOC_FAIL;
+@@ -3491,7 +3873,7 @@
+ DSA_print_fp(stderr, prv->dsa, 8);
+ #endif
+ #ifdef OPENSSL_HAS_ECC
+- } else if (pk->type == EVP_PKEY_EC &&
++ } else if (EVP_PKEY_id(pk) == EVP_PKEY_EC &&
+ (type == KEY_UNSPEC || type == KEY_ECDSA)) {
+ if ((prv = sshkey_new(KEY_UNSPEC)) == NULL) {
+ r = SSH_ERR_ALLOC_FAIL;
diff --git a/abs/core/openssh/sshd@.service b/abs/core/openssh/sshd@.service
index 7ce3d37..0201a9d 100644
--- a/abs/core/openssh/sshd@.service
+++ b/abs/core/openssh/sshd@.service
@@ -6,3 +6,4 @@ After=sshdgenkeys.service
ExecStart=-/usr/bin/sshd -i
StandardInput=socket
StandardError=syslog
+KillMode=process
diff --git a/abs/core/openssl-1.0/PKGBUILD b/abs/core/openssl-1.0/PKGBUILD
new file mode 100644
index 0000000..4e6f2ea
--- /dev/null
+++ b/abs/core/openssl-1.0/PKGBUILD
@@ -0,0 +1,88 @@
+# $Id: PKGBUILD 287592 2017-01-28 07:20:49Z pierre $
+# Maintainer: Pierre Schmitz <pierre@archlinux.de>
+
+pkgname=openssl-1.0
+_ver=1.0.2n
+# use a pacman compatible version scheme
+pkgver=${_ver/[a-z]/.${_ver//[0-9.]/}}
+#pkgver=$_ver
+pkgrel=1
+pkgdesc='The Open Source toolkit for Secure Sockets Layer and Transport Layer Security'
+arch=('x86_64')
+url='https://www.openssl.org'
+license=('custom:BSD')
+depends=('perl')
+optdepends=('ca-certificates')
+options=('!makeflags')
+source=("https://www.openssl.org/source/openssl-${_ver}.tar.gz"
+ "https://www.openssl.org/source/openssl-${_ver}.tar.gz.asc"
+ 'no-rpath.patch'
+ 'ssl3-test-failure.patch'
+ 'openssl-1.0-versioned-symbols.patch')
+sha256sums=('370babb75f278c39e0c50e8c4e7493bc0f18db6867478341a832a982fd15a8fe'
+ 'SKIP'
+ '754d6107a306311e15a1db6a1cc031b81691c8b9865e8809ac60ca6f184c957c'
+ 'c54ae87c602eaa1530a336ab7c6e22e12898e1941012349c153e52553df64a13'
+ '353a84e4c92e36c379ebd9216b8f8fb9c271396583561eb84ac8c825979acaa6')
+validpgpkeys=('8657ABB260F056B1E5190839D9C4D26D0E604491')
+
+prepare() {
+ cd $srcdir/openssl-$_ver
+
+ # remove rpath: http://bugs.archlinux.org/task/14367
+ patch -p0 -i $srcdir/no-rpath.patch
+
+ # disable a test that fails when ssl3 is disabled
+ patch -p1 -i $srcdir/ssl3-test-failure.patch
+
+ # add symbol versioning to prevent conflicts with openssl 1.1 symbols (Debian)
+ patch -p1 -i "$srcdir"/openssl-1.0-versioned-symbols.patch
+}
+
+build() {
+ cd "$srcdir/openssl-$_ver"
+
+ if [ "${CARCH}" == 'x86_64' ]; then
+ openssltarget='linux-x86_64'
+ optflags='enable-ec_nistp_64_gcc_128'
+ elif [ "${CARCH}" == 'i686' ]; then
+ openssltarget='linux-elf'
+ optflags=''
+ fi
+
+ # mark stack as non-executable: http://bugs.archlinux.org/task/12434
+ ./Configure --prefix=/usr --openssldir=/etc/ssl --libdir=lib/openssl-1.0 \
+ shared no-ssl3-method ${optflags} \
+ "${openssltarget}" \
+ "-Wa,--noexecstack ${CPPFLAGS} ${CFLAGS} ${LDFLAGS}"
+
+ make depend
+ make
+}
+
+check() {
+ cd "$srcdir/openssl-$_ver"
+ make test
+}
+
+package() {
+ cd "$srcdir/openssl-$_ver"
+
+ make INSTALL_PREFIX="$pkgdir" install_sw
+
+ # Move some files around
+ install -m755 -d "$pkgdir/usr/include/openssl-1.0"
+ mv "$pkgdir/usr/include/openssl" "$pkgdir/usr/include/openssl-1.0/"
+ mv "$pkgdir/usr/lib/openssl-1.0/libcrypto.so.1.0.0" "$pkgdir/usr/lib/"
+ mv "$pkgdir/usr/lib/openssl-1.0/libssl.so.1.0.0" "$pkgdir/usr/lib/"
+ ln -sf ../libssl.so.1.0.0 "$pkgdir/usr/lib/openssl-1.0/libssl.so"
+ ln -sf ../libcrypto.so.1.0.0 "$pkgdir/usr/lib/openssl-1.0/libcrypto.so"
+ mv "$pkgdir/usr/bin/openssl" "$pkgdir/usr/bin/openssl-1.0"
+
+ # Update includedir in .pc files
+ sed -e 's|/include$|/include/openssl-1.0|' -i "$pkgdir"/usr/lib/openssl-1.0/pkgconfig/*.pc
+
+ rm -rf "$pkgdir"/{etc,usr/bin/c_rehash}
+
+ install -D -m644 LICENSE $pkgdir/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/abs/core/openssl/no-rpath.patch b/abs/core/openssl-1.0/no-rpath.patch
index ebd95e2..ebd95e2 100644
--- a/abs/core/openssl/no-rpath.patch
+++ b/abs/core/openssl-1.0/no-rpath.patch
diff --git a/abs/core/openssl-1.0/openssl-1.0-versioned-symbols.patch b/abs/core/openssl-1.0/openssl-1.0-versioned-symbols.patch
new file mode 100644
index 0000000..71759a9
--- /dev/null
+++ b/abs/core/openssl-1.0/openssl-1.0-versioned-symbols.patch
@@ -0,0 +1,4667 @@
+---
+ Configure | 2
+ engines/ccgost/openssl.ld | 10
+ engines/openssl.ld | 10
+ openssl.ld | 4620 ++++++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 4642 insertions(+)
+
+--- a/Configure
++++ b/Configure
+@@ -1730,6 +1730,8 @@ if ($strict_warnings)
+ }
+ }
+
++$shared_ldflag .= " -Wl,--version-script=openssl.ld";
++
+ open(IN,'<Makefile.org') || die "unable to read Makefile.org:$!\n";
+ unlink("$Makefile.new") || die "unable to remove old $Makefile.new:$!\n" if -e "$Makefile.new";
+ open(OUT,">$Makefile.new") || die "unable to create $Makefile.new:$!\n";
+--- /dev/null
++++ b/engines/ccgost/openssl.ld
+@@ -0,0 +1,10 @@
++OPENSSL_1.0.0 {
++ global:
++ bind_engine;
++ v_check;
++ OPENSSL_init;
++ OPENSSL_finish;
++ local:
++ *;
++};
++
+--- /dev/null
++++ b/engines/openssl.ld
+@@ -0,0 +1,10 @@
++OPENSSL_1.0.0 {
++ global:
++ bind_engine;
++ v_check;
++ OPENSSL_init;
++ OPENSSL_finish;
++ local:
++ *;
++};
++
+--- /dev/null
++++ b/openssl.ld
+@@ -0,0 +1,4620 @@
++OPENSSL_1.0.0 {
++ global:
++ BIO_f_ssl;
++ BIO_new_buffer_ssl_connect;
++ BIO_new_ssl;
++ BIO_new_ssl_connect;
++ BIO_proxy_ssl_copy_session_id;
++ BIO_ssl_copy_session_id;
++ BIO_ssl_shutdown;
++ d2i_SSL_SESSION;
++ DTLSv1_client_method;
++ DTLSv1_method;
++ DTLSv1_server_method;
++ ERR_load_SSL_strings;
++ i2d_SSL_SESSION;
++ kssl_build_principal_2;
++ kssl_cget_tkt;
++ kssl_check_authent;
++ kssl_ctx_free;
++ kssl_ctx_new;
++ kssl_ctx_setkey;
++ kssl_ctx_setprinc;
++ kssl_ctx_setstring;
++ kssl_ctx_show;
++ kssl_err_set;
++ kssl_krb5_free_data_contents;
++ kssl_sget_tkt;
++ kssl_skip_confound;
++ kssl_validate_times;
++ PEM_read_bio_SSL_SESSION;
++ PEM_read_SSL_SESSION;
++ PEM_write_bio_SSL_SESSION;
++ PEM_write_SSL_SESSION;
++ SSL_accept;
++ SSL_add_client_CA;
++ SSL_add_dir_cert_subjects_to_stack;
++ SSL_add_dir_cert_subjs_to_stk;
++ SSL_add_file_cert_subjects_to_stack;
++ SSL_add_file_cert_subjs_to_stk;
++ SSL_alert_desc_string;
++ SSL_alert_desc_string_long;
++ SSL_alert_type_string;
++ SSL_alert_type_string_long;
++ SSL_callback_ctrl;
++ SSL_check_private_key;
++ SSL_CIPHER_description;
++ SSL_CIPHER_get_bits;
++ SSL_CIPHER_get_name;
++ SSL_CIPHER_get_version;
++ SSL_clear;
++ SSL_COMP_add_compression_method;
++ SSL_COMP_get_compression_methods;
++ SSL_COMP_get_compress_methods;
++ SSL_COMP_get_name;
++ SSL_connect;
++ SSL_copy_session_id;
++ SSL_ctrl;
++ SSL_CTX_add_client_CA;
++ SSL_CTX_add_session;
++ SSL_CTX_callback_ctrl;
++ SSL_CTX_check_private_key;
++ SSL_CTX_ctrl;
++ SSL_CTX_flush_sessions;
++ SSL_CTX_free;
++ SSL_CTX_get_cert_store;
++ SSL_CTX_get_client_CA_list;
++ SSL_CTX_get_client_cert_cb;
++ SSL_CTX_get_ex_data;
++ SSL_CTX_get_ex_new_index;
++ SSL_CTX_get_info_callback;
++ SSL_CTX_get_quiet_shutdown;
++ SSL_CTX_get_timeout;
++ SSL_CTX_get_verify_callback;
++ SSL_CTX_get_verify_depth;
++ SSL_CTX_get_verify_mode;
++ SSL_CTX_load_verify_locations;
++ SSL_CTX_new;
++ SSL_CTX_remove_session;
++ SSL_CTX_sess_get_get_cb;
++ SSL_CTX_sess_get_new_cb;
++ SSL_CTX_sess_get_remove_cb;
++ SSL_CTX_sessions;
++ SSL_CTX_sess_set_get_cb;
++ SSL_CTX_sess_set_new_cb;
++ SSL_CTX_sess_set_remove_cb;
++ SSL_CTX_set1_param;
++ SSL_CTX_set_cert_store;
++ SSL_CTX_set_cert_verify_callback;
++ SSL_CTX_set_cert_verify_cb;
++ SSL_CTX_set_cipher_list;
++ SSL_CTX_set_client_CA_list;
++ SSL_CTX_set_client_cert_cb;
++ SSL_CTX_set_client_cert_engine;
++ SSL_CTX_set_cookie_generate_cb;
++ SSL_CTX_set_cookie_verify_cb;
++ SSL_CTX_set_default_passwd_cb;
++ SSL_CTX_set_default_passwd_cb_userdata;
++ SSL_CTX_set_default_verify_paths;
++ SSL_CTX_set_def_passwd_cb_ud;
++ SSL_CTX_set_def_verify_paths;
++ SSL_CTX_set_ex_data;
++ SSL_CTX_set_generate_session_id;
++ SSL_CTX_set_info_callback;
++ SSL_CTX_set_msg_callback;
++ SSL_CTX_set_psk_client_callback;
++ SSL_CTX_set_psk_server_callback;
++ SSL_CTX_set_purpose;
++ SSL_CTX_set_quiet_shutdown;
++ SSL_CTX_set_session_id_context;
++ SSL_CTX_set_ssl_version;
++ SSL_CTX_set_timeout;
++ SSL_CTX_set_tmp_dh_callback;
++ SSL_CTX_set_tmp_ecdh_callback;
++ SSL_CTX_set_tmp_rsa_callback;
++ SSL_CTX_set_trust;
++ SSL_CTX_set_verify;
++ SSL_CTX_set_verify_depth;
++ SSL_CTX_use_cert_chain_file;
++ SSL_CTX_use_certificate;
++ SSL_CTX_use_certificate_ASN1;
++ SSL_CTX_use_certificate_chain_file;
++ SSL_CTX_use_certificate_file;
++ SSL_CTX_use_PrivateKey;
++ SSL_CTX_use_PrivateKey_ASN1;
++ SSL_CTX_use_PrivateKey_file;
++ SSL_CTX_use_psk_identity_hint;
++ SSL_CTX_use_RSAPrivateKey;
++ SSL_CTX_use_RSAPrivateKey_ASN1;
++ SSL_CTX_use_RSAPrivateKey_file;
++ SSL_do_handshake;
++ SSL_dup;
++ SSL_dup_CA_list;
++ SSLeay_add_ssl_algorithms;
++ SSL_free;
++ SSL_get1_session;
++ SSL_get_certificate;
++ SSL_get_cipher_list;
++ SSL_get_ciphers;
++ SSL_get_client_CA_list;
++ SSL_get_current_cipher;
++ SSL_get_current_compression;
++ SSL_get_current_expansion;
++ SSL_get_default_timeout;
++ SSL_get_error;
++ SSL_get_ex_data;
++ SSL_get_ex_data_X509_STORE_CTX_idx;
++ SSL_get_ex_d_X509_STORE_CTX_idx;
++ SSL_get_ex_new_index;
++ SSL_get_fd;
++ SSL_get_finished;
++ SSL_get_info_callback;
++ SSL_get_peer_cert_chain;
++ SSL_get_peer_certificate;
++ SSL_get_peer_finished;
++ SSL_get_privatekey;
++ SSL_get_psk_identity;
++ SSL_get_psk_identity_hint;
++ SSL_get_quiet_shutdown;
++ SSL_get_rbio;
++ SSL_get_read_ahead;
++ SSL_get_rfd;
++ SSL_get_servername;
++ SSL_get_servername_type;
++ SSL_get_session;
++ SSL_get_shared_ciphers;
++ SSL_get_shutdown;
++ SSL_get_SSL_CTX;
++ SSL_get_ssl_method;
++ SSL_get_verify_callback;
++ SSL_get_verify_depth;
++ SSL_get_verify_mode;
++ SSL_get_verify_result;
++ SSL_get_version;
++ SSL_get_wbio;
++ SSL_get_wfd;
++ SSL_has_matching_session_id;
++ SSL_library_init;
++ SSL_load_client_CA_file;
++ SSL_load_error_strings;
++ SSL_new;
++ SSL_peek;
++ SSL_pending;
++ SSL_read;
++ SSL_renegotiate;
++ SSL_renegotiate_pending;
++ SSL_rstate_string;
++ SSL_rstate_string_long;
++ SSL_SESSION_cmp;
++ SSL_SESSION_free;
++ SSL_SESSION_get_ex_data;
++ SSL_SESSION_get_ex_new_index;
++ SSL_SESSION_get_id;
++ SSL_SESSION_get_time;
++ SSL_SESSION_get_timeout;
++ SSL_SESSION_hash;
++ SSL_SESSION_new;
++ SSL_SESSION_print;
++ SSL_SESSION_print_fp;
++ SSL_SESSION_set_ex_data;
++ SSL_SESSION_set_time;
++ SSL_SESSION_set_timeout;
++ SSL_set1_param;
++ SSL_set_accept_state;
++ SSL_set_bio;
++ SSL_set_cipher_list;
++ SSL_set_client_CA_list;
++ SSL_set_connect_state;
++ SSL_set_ex_data;
++ SSL_set_fd;
++ SSL_set_generate_session_id;
++ SSL_set_info_callback;
++ SSL_set_msg_callback;
++ SSL_set_psk_client_callback;
++ SSL_set_psk_server_callback;
++ SSL_set_purpose;
++ SSL_set_quiet_shutdown;
++ SSL_set_read_ahead;
++ SSL_set_rfd;
++ SSL_set_session;
++ SSL_set_session_id_context;
++ SSL_set_session_secret_cb;
++ SSL_set_session_ticket_ext;
++ SSL_set_session_ticket_ext_cb;
++ SSL_set_shutdown;
++ SSL_set_SSL_CTX;
++ SSL_set_ssl_method;
++ SSL_set_tmp_dh_callback;
++ SSL_set_tmp_ecdh_callback;
++ SSL_set_tmp_rsa_callback;
++ SSL_set_trust;
++ SSL_set_verify;
++ SSL_set_verify_depth;
++ SSL_set_verify_result;
++ SSL_set_wfd;
++ SSL_shutdown;
++ SSL_state;
++ SSL_state_string;
++ SSL_state_string_long;
++ SSL_use_certificate;
++ SSL_use_certificate_ASN1;
++ SSL_use_certificate_file;
++ SSL_use_PrivateKey;
++ SSL_use_PrivateKey_ASN1;
++ SSL_use_PrivateKey_file;
++ SSL_use_psk_identity_hint;
++ SSL_use_RSAPrivateKey;
++ SSL_use_RSAPrivateKey_ASN1;
++ SSL_use_RSAPrivateKey_file;
++ SSLv23_client_method;
++ SSLv23_method;
++ SSLv23_server_method;
++ SSLv2_client_method;
++ SSLv2_method;
++ SSLv2_server_method;
++ SSLv3_client_method;
++ SSLv3_method;
++ SSLv3_server_method;
++ SSL_version;
++ SSL_want;
++ SSL_write;
++ TLSv1_client_method;
++ TLSv1_method;
++ TLSv1_server_method;
++
++
++ SSLeay;
++ SSLeay_version;
++ ASN1_BIT_STRING_asn1_meth;
++ ASN1_HEADER_free;
++ ASN1_HEADER_new;
++ ASN1_IA5STRING_asn1_meth;
++ ASN1_INTEGER_get;
++ ASN1_INTEGER_set;
++ ASN1_INTEGER_to_BN;
++ ASN1_OBJECT_create;
++ ASN1_OBJECT_free;
++ ASN1_OBJECT_new;
++ ASN1_PRINTABLE_type;
++ ASN1_STRING_cmp;
++ ASN1_STRING_dup;
++ ASN1_STRING_free;
++ ASN1_STRING_new;
++ ASN1_STRING_print;
++ ASN1_STRING_set;
++ ASN1_STRING_type_new;
++ ASN1_TYPE_free;
++ ASN1_TYPE_new;
++ ASN1_UNIVERSALSTRING_to_string;
++ ASN1_UTCTIME_check;
++ ASN1_UTCTIME_print;
++ ASN1_UTCTIME_set;
++ ASN1_check_infinite_end;
++ ASN1_d2i_bio;
++ ASN1_d2i_fp;
++ ASN1_digest;
++ ASN1_dup;
++ ASN1_get_object;
++ ASN1_i2d_bio;
++ ASN1_i2d_fp;
++ ASN1_object_size;
++ ASN1_parse;
++ ASN1_put_object;
++ ASN1_sign;
++ ASN1_verify;
++ BF_cbc_encrypt;
++ BF_cfb64_encrypt;
++ BF_ecb_encrypt;
++ BF_encrypt;
++ BF_ofb64_encrypt;
++ BF_options;
++ BF_set_key;
++ BIO_CONNECT_free;
++ BIO_CONNECT_new;
++ BIO_accept;
++ BIO_ctrl;
++ BIO_int_ctrl;
++ BIO_debug_callback;
++ BIO_dump;
++ BIO_dup_chain;
++ BIO_f_base64;
++ BIO_f_buffer;
++ BIO_f_cipher;
++ BIO_f_md;
++ BIO_f_null;
++ BIO_f_proxy_server;
++ BIO_fd_non_fatal_error;
++ BIO_fd_should_retry;
++ BIO_find_type;
++ BIO_free;
++ BIO_free_all;
++ BIO_get_accept_socket;
++ BIO_get_filter_bio;
++ BIO_get_host_ip;
++ BIO_get_port;
++ BIO_get_retry_BIO;
++ BIO_get_retry_reason;
++ BIO_gethostbyname;
++ BIO_gets;
++ BIO_new;
++ BIO_new_accept;
++ BIO_new_connect;
++ BIO_new_fd;
++ BIO_new_file;
++ BIO_new_fp;
++ BIO_new_socket;
++ BIO_pop;
++ BIO_printf;
++ BIO_push;
++ BIO_puts;
++ BIO_read;
++ BIO_s_accept;
++ BIO_s_connect;
++ BIO_s_fd;
++ BIO_s_file;
++ BIO_s_mem;
++ BIO_s_null;
++ BIO_s_proxy_client;
++ BIO_s_socket;
++ BIO_set;
++ BIO_set_cipher;
++ BIO_set_tcp_ndelay;
++ BIO_sock_cleanup;
++ BIO_sock_error;
++ BIO_sock_init;
++ BIO_sock_non_fatal_error;
++ BIO_sock_should_retry;
++ BIO_socket_ioctl;
++ BIO_write;
++ BN_CTX_free;
++ BN_CTX_new;
++ BN_MONT_CTX_free;
++ BN_MONT_CTX_new;
++ BN_MONT_CTX_set;
++ BN_add;
++ BN_add_word;
++ BN_hex2bn;
++ BN_bin2bn;
++ BN_bn2hex;
++ BN_bn2bin;
++ BN_clear;
++ BN_clear_bit;
++ BN_clear_free;
++ BN_cmp;
++ BN_copy;
++ BN_div;
++ BN_div_word;
++ BN_dup;
++ BN_free;
++ BN_from_montgomery;
++ BN_gcd;
++ BN_generate_prime;
++ BN_get_word;
++ BN_is_bit_set;
++ BN_is_prime;
++ BN_lshift;
++ BN_lshift1;
++ BN_mask_bits;
++ BN_mod;
++ BN_mod_exp;
++ BN_mod_exp_mont;
++ BN_mod_exp_simple;
++ BN_mod_inverse;
++ BN_mod_mul;
++ BN_mod_mul_montgomery;
++ BN_mod_word;
++ BN_mul;
++ BN_new;
++ BN_num_bits;
++ BN_num_bits_word;
++ BN_options;
++ BN_print;
++ BN_print_fp;
++ BN_rand;
++ BN_reciprocal;
++ BN_rshift;
++ BN_rshift1;
++ BN_set_bit;
++ BN_set_word;
++ BN_sqr;
++ BN_sub;
++ BN_to_ASN1_INTEGER;
++ BN_ucmp;
++ BN_value_one;
++ BUF_MEM_free;
++ BUF_MEM_grow;
++ BUF_MEM_new;
++ BUF_strdup;
++ CONF_free;
++ CONF_get_number;
++ CONF_get_section;
++ CONF_get_string;
++ CONF_load;
++ CRYPTO_add_lock;
++ CRYPTO_dbg_free;
++ CRYPTO_dbg_malloc;
++ CRYPTO_dbg_realloc;
++ CRYPTO_dbg_remalloc;
++ CRYPTO_free;
++ CRYPTO_get_add_lock_callback;
++ CRYPTO_get_id_callback;
++ CRYPTO_get_lock_name;
++ CRYPTO_get_locking_callback;
++ CRYPTO_get_mem_functions;
++ CRYPTO_lock;
++ CRYPTO_malloc;
++ CRYPTO_mem_ctrl;
++ CRYPTO_mem_leaks;
++ CRYPTO_mem_leaks_cb;
++ CRYPTO_mem_leaks_fp;
++ CRYPTO_realloc;
++ CRYPTO_remalloc;
++ CRYPTO_set_add_lock_callback;
++ CRYPTO_set_id_callback;
++ CRYPTO_set_locking_callback;
++ CRYPTO_set_mem_functions;
++ CRYPTO_thread_id;
++ DH_check;
++ DH_compute_key;
++ DH_free;
++ DH_generate_key;
++ DH_generate_parameters;
++ DH_new;
++ DH_size;
++ DHparams_print;
++ DHparams_print_fp;
++ DSA_free;
++ DSA_generate_key;
++ DSA_generate_parameters;
++ DSA_is_prime;
++ DSA_new;
++ DSA_print;
++ DSA_print_fp;
++ DSA_sign;
++ DSA_sign_setup;
++ DSA_size;
++ DSA_verify;
++ DSAparams_print;
++ DSAparams_print_fp;
++ ERR_clear_error;
++ ERR_error_string;
++ ERR_free_strings;
++ ERR_func_error_string;
++ ERR_get_err_state_table;
++ ERR_get_error;
++ ERR_get_error_line;
++ ERR_get_state;
++ ERR_get_string_table;
++ ERR_lib_error_string;
++ ERR_load_ASN1_strings;
++ ERR_load_BIO_strings;
++ ERR_load_BN_strings;
++ ERR_load_BUF_strings;
++ ERR_load_CONF_strings;
++ ERR_load_DH_strings;
++ ERR_load_DSA_strings;
++ ERR_load_ERR_strings;
++ ERR_load_EVP_strings;
++ ERR_load_OBJ_strings;
++ ERR_load_PEM_strings;
++ ERR_load_PROXY_strings;
++ ERR_load_RSA_strings;
++ ERR_load_X509_strings;
++ ERR_load_crypto_strings;
++ ERR_load_strings;
++ ERR_peek_error;
++ ERR_peek_error_line;
++ ERR_print_errors;
++ ERR_print_errors_fp;
++ ERR_put_error;
++ ERR_reason_error_string;
++ ERR_remove_state;
++ EVP_BytesToKey;
++ EVP_CIPHER_CTX_cleanup;
++ EVP_CipherFinal;
++ EVP_CipherInit;
++ EVP_CipherUpdate;
++ EVP_DecodeBlock;
++ EVP_DecodeFinal;
++ EVP_DecodeInit;
++ EVP_DecodeUpdate;
++ EVP_DecryptFinal;
++ EVP_DecryptInit;
++ EVP_DecryptUpdate;
++ EVP_DigestFinal;
++ EVP_DigestInit;
++ EVP_DigestUpdate;
++ EVP_EncodeBlock;
++ EVP_EncodeFinal;
++ EVP_EncodeInit;
++ EVP_EncodeUpdate;
++ EVP_EncryptFinal;
++ EVP_EncryptInit;
++ EVP_EncryptUpdate;
++ EVP_OpenFinal;
++ EVP_OpenInit;
++ EVP_PKEY_assign;
++ EVP_PKEY_copy_parameters;
++ EVP_PKEY_free;
++ EVP_PKEY_missing_parameters;
++ EVP_PKEY_new;
++ EVP_PKEY_save_parameters;
++ EVP_PKEY_size;
++ EVP_PKEY_type;
++ EVP_SealFinal;
++ EVP_SealInit;
++ EVP_SignFinal;
++ EVP_VerifyFinal;
++ EVP_add_alias;
++ EVP_add_cipher;
++ EVP_add_digest;
++ EVP_bf_cbc;
++ EVP_bf_cfb64;
++ EVP_bf_ecb;
++ EVP_bf_ofb;
++ EVP_cleanup;
++ EVP_des_cbc;
++ EVP_des_cfb64;
++ EVP_des_ecb;
++ EVP_des_ede;
++ EVP_des_ede3;
++ EVP_des_ede3_cbc;
++ EVP_des_ede3_cfb64;
++ EVP_des_ede3_ofb;
++ EVP_des_ede_cbc;
++ EVP_des_ede_cfb64;
++ EVP_des_ede_ofb;
++ EVP_des_ofb;
++ EVP_desx_cbc;
++ EVP_dss;
++ EVP_dss1;
++ EVP_enc_null;
++ EVP_get_cipherbyname;
++ EVP_get_digestbyname;
++ EVP_get_pw_prompt;
++ EVP_idea_cbc;
++ EVP_idea_cfb64;
++ EVP_idea_ecb;
++ EVP_idea_ofb;
++ EVP_md2;
++ EVP_md5;
++ EVP_md_null;
++ EVP_rc2_cbc;
++ EVP_rc2_cfb64;
++ EVP_rc2_ecb;
++ EVP_rc2_ofb;
++ EVP_rc4;
++ EVP_read_pw_string;
++ EVP_set_pw_prompt;
++ EVP_sha;
++ EVP_sha1;
++ MD2;
++ MD2_Final;
++ MD2_Init;
++ MD2_Update;
++ MD2_options;
++ MD5;
++ MD5_Final;
++ MD5_Init;
++ MD5_Update;
++ MDC2;
++ MDC2_Final;
++ MDC2_Init;
++ MDC2_Update;
++ NETSCAPE_SPKAC_free;
++ NETSCAPE_SPKAC_new;
++ NETSCAPE_SPKI_free;
++ NETSCAPE_SPKI_new;
++ NETSCAPE_SPKI_sign;
++ NETSCAPE_SPKI_verify;
++ OBJ_add_object;
++ OBJ_bsearch;
++ OBJ_cleanup;
++ OBJ_cmp;
++ OBJ_create;
++ OBJ_dup;
++ OBJ_ln2nid;
++ OBJ_new_nid;
++ OBJ_nid2ln;
++ OBJ_nid2obj;
++ OBJ_nid2sn;
++ OBJ_obj2nid;
++ OBJ_sn2nid;
++ OBJ_txt2nid;
++ PEM_ASN1_read;
++ PEM_ASN1_read_bio;
++ PEM_ASN1_write;
++ PEM_ASN1_write_bio;
++ PEM_SealFinal;
++ PEM_SealInit;
++ PEM_SealUpdate;
++ PEM_SignFinal;
++ PEM_SignInit;
++ PEM_SignUpdate;
++ PEM_X509_INFO_read;
++ PEM_X509_INFO_read_bio;
++ PEM_X509_INFO_write_bio;
++ PEM_dek_info;
++ PEM_do_header;
++ PEM_get_EVP_CIPHER_INFO;
++ PEM_proc_type;
++ PEM_read;
++ PEM_read_DHparams;
++ PEM_read_DSAPrivateKey;
++ PEM_read_DSAparams;
++ PEM_read_PKCS7;
++ PEM_read_PrivateKey;
++ PEM_read_RSAPrivateKey;
++ PEM_read_X509;
++ PEM_read_X509_CRL;
++ PEM_read_X509_REQ;
++ PEM_read_bio;
++ PEM_read_bio_DHparams;
++ PEM_read_bio_DSAPrivateKey;
++ PEM_read_bio_DSAparams;
++ PEM_read_bio_PKCS7;
++ PEM_read_bio_PrivateKey;
++ PEM_read_bio_RSAPrivateKey;
++ PEM_read_bio_X509;
++ PEM_read_bio_X509_CRL;
++ PEM_read_bio_X509_REQ;
++ PEM_write;
++ PEM_write_DHparams;
++ PEM_write_DSAPrivateKey;
++ PEM_write_DSAparams;
++ PEM_write_PKCS7;
++ PEM_write_PrivateKey;
++ PEM_write_RSAPrivateKey;
++ PEM_write_X509;
++ PEM_write_X509_CRL;
++ PEM_write_X509_REQ;
++ PEM_write_bio;
++ PEM_write_bio_DHparams;
++ PEM_write_bio_DSAPrivateKey;
++ PEM_write_bio_DSAparams;
++ PEM_write_bio_PKCS7;
++ PEM_write_bio_PrivateKey;
++ PEM_write_bio_RSAPrivateKey;
++ PEM_write_bio_X509;
++ PEM_write_bio_X509_CRL;
++ PEM_write_bio_X509_REQ;
++ PKCS7_DIGEST_free;
++ PKCS7_DIGEST_new;
++ PKCS7_ENCRYPT_free;
++ PKCS7_ENCRYPT_new;
++ PKCS7_ENC_CONTENT_free;
++ PKCS7_ENC_CONTENT_new;
++ PKCS7_ENVELOPE_free;
++ PKCS7_ENVELOPE_new;
++ PKCS7_ISSUER_AND_SERIAL_digest;
++ PKCS7_ISSUER_AND_SERIAL_free;
++ PKCS7_ISSUER_AND_SERIAL_new;
++ PKCS7_RECIP_INFO_free;
++ PKCS7_RECIP_INFO_new;
++ PKCS7_SIGNED_free;
++ PKCS7_SIGNED_new;
++ PKCS7_SIGNER_INFO_free;
++ PKCS7_SIGNER_INFO_new;
++ PKCS7_SIGN_ENVELOPE_free;
++ PKCS7_SIGN_ENVELOPE_new;
++ PKCS7_dup;
++ PKCS7_free;
++ PKCS7_new;
++ PROXY_ENTRY_add_noproxy;
++ PROXY_ENTRY_clear_noproxy;
++ PROXY_ENTRY_free;
++ PROXY_ENTRY_get_noproxy;
++ PROXY_ENTRY_new;
++ PROXY_ENTRY_set_server;
++ PROXY_add_noproxy;
++ PROXY_add_server;
++ PROXY_check_by_host;
++ PROXY_check_url;
++ PROXY_clear_noproxy;
++ PROXY_free;
++ PROXY_get_noproxy;
++ PROXY_get_proxies;
++ PROXY_get_proxy_entry;
++ PROXY_load_conf;
++ PROXY_new;
++ PROXY_print;
++ RAND_bytes;
++ RAND_cleanup;
++ RAND_file_name;
++ RAND_load_file;
++ RAND_screen;
++ RAND_seed;
++ RAND_write_file;
++ RC2_cbc_encrypt;
++ RC2_cfb64_encrypt;
++ RC2_ecb_encrypt;
++ RC2_encrypt;
++ RC2_ofb64_encrypt;
++ RC2_set_key;
++ RC4;
++ RC4_options;
++ RC4_set_key;
++ RSAPrivateKey_asn1_meth;
++ RSAPrivateKey_dup;
++ RSAPublicKey_dup;
++ RSA_PKCS1_SSLeay;
++ RSA_free;
++ RSA_generate_key;
++ RSA_new;
++ RSA_new_method;
++ RSA_print;
++ RSA_print_fp;
++ RSA_private_decrypt;
++ RSA_private_encrypt;
++ RSA_public_decrypt;
++ RSA_public_encrypt;
++ RSA_set_default_method;
++ RSA_sign;
++ RSA_sign_ASN1_OCTET_STRING;
++ RSA_size;
++ RSA_verify;
++ RSA_verify_ASN1_OCTET_STRING;
++ SHA;
++ SHA1;
++ SHA1_Final;
++ SHA1_Init;
++ SHA1_Update;
++ SHA_Final;
++ SHA_Init;
++ SHA_Update;
++ OpenSSL_add_all_algorithms;
++ OpenSSL_add_all_ciphers;
++ OpenSSL_add_all_digests;
++ TXT_DB_create_index;
++ TXT_DB_free;
++ TXT_DB_get_by_index;
++ TXT_DB_insert;
++ TXT_DB_read;
++ TXT_DB_write;
++ X509_ALGOR_free;
++ X509_ALGOR_new;
++ X509_ATTRIBUTE_free;
++ X509_ATTRIBUTE_new;
++ X509_CINF_free;
++ X509_CINF_new;
++ X509_CRL_INFO_free;
++ X509_CRL_INFO_new;
++ X509_CRL_add_ext;
++ X509_CRL_cmp;
++ X509_CRL_delete_ext;
++ X509_CRL_dup;
++ X509_CRL_free;
++ X509_CRL_get_ext;
++ X509_CRL_get_ext_by_NID;
++ X509_CRL_get_ext_by_OBJ;
++ X509_CRL_get_ext_by_critical;
++ X509_CRL_get_ext_count;
++ X509_CRL_new;
++ X509_CRL_sign;
++ X509_CRL_verify;
++ X509_EXTENSION_create_by_NID;
++ X509_EXTENSION_create_by_OBJ;
++ X509_EXTENSION_dup;
++ X509_EXTENSION_free;
++ X509_EXTENSION_get_critical;
++ X509_EXTENSION_get_data;
++ X509_EXTENSION_get_object;
++ X509_EXTENSION_new;
++ X509_EXTENSION_set_critical;
++ X509_EXTENSION_set_data;
++ X509_EXTENSION_set_object;
++ X509_INFO_free;
++ X509_INFO_new;
++ X509_LOOKUP_by_alias;
++ X509_LOOKUP_by_fingerprint;
++ X509_LOOKUP_by_issuer_serial;
++ X509_LOOKUP_by_subject;
++ X509_LOOKUP_ctrl;
++ X509_LOOKUP_file;
++ X509_LOOKUP_free;
++ X509_LOOKUP_hash_dir;
++ X509_LOOKUP_init;
++ X509_LOOKUP_new;
++ X509_LOOKUP_shutdown;
++ X509_NAME_ENTRY_create_by_NID;
++ X509_NAME_ENTRY_create_by_OBJ;
++ X509_NAME_ENTRY_dup;
++ X509_NAME_ENTRY_free;
++ X509_NAME_ENTRY_get_data;
++ X509_NAME_ENTRY_get_object;
++ X509_NAME_ENTRY_new;
++ X509_NAME_ENTRY_set_data;
++ X509_NAME_ENTRY_set_object;
++ X509_NAME_add_entry;
++ X509_NAME_cmp;
++ X509_NAME_delete_entry;
++ X509_NAME_digest;
++ X509_NAME_dup;
++ X509_NAME_entry_count;
++ X509_NAME_free;
++ X509_NAME_get_entry;
++ X509_NAME_get_index_by_NID;
++ X509_NAME_get_index_by_OBJ;
++ X509_NAME_get_text_by_NID;
++ X509_NAME_get_text_by_OBJ;
++ X509_NAME_hash;
++ X509_NAME_new;
++ X509_NAME_oneline;
++ X509_NAME_print;
++ X509_NAME_set;
++ X509_OBJECT_free_contents;
++ X509_OBJECT_retrieve_by_subject;
++ X509_OBJECT_up_ref_count;
++ X509_PKEY_free;
++ X509_PKEY_new;
++ X509_PUBKEY_free;
++ X509_PUBKEY_get;
++ X509_PUBKEY_new;
++ X509_PUBKEY_set;
++ X509_REQ_INFO_free;
++ X509_REQ_INFO_new;
++ X509_REQ_dup;
++ X509_REQ_free;
++ X509_REQ_get_pubkey;
++ X509_REQ_new;
++ X509_REQ_print;
++ X509_REQ_print_fp;
++ X509_REQ_set_pubkey;
++ X509_REQ_set_subject_name;
++ X509_REQ_set_version;
++ X509_REQ_sign;
++ X509_REQ_to_X509;
++ X509_REQ_verify;
++ X509_REVOKED_add_ext;
++ X509_REVOKED_delete_ext;
++ X509_REVOKED_free;
++ X509_REVOKED_get_ext;
++ X509_REVOKED_get_ext_by_NID;
++ X509_REVOKED_get_ext_by_OBJ;
++ X509_REVOKED_get_ext_by_critical;
++ X509_REVOKED_get_ext_by_critic;
++ X509_REVOKED_get_ext_count;
++ X509_REVOKED_new;
++ X509_SIG_free;
++ X509_SIG_new;
++ X509_STORE_CTX_cleanup;
++ X509_STORE_CTX_init;
++ X509_STORE_add_cert;
++ X509_STORE_add_lookup;
++ X509_STORE_free;
++ X509_STORE_get_by_subject;
++ X509_STORE_load_locations;
++ X509_STORE_new;
++ X509_STORE_set_default_paths;
++ X509_VAL_free;
++ X509_VAL_new;
++ X509_add_ext;
++ X509_asn1_meth;
++ X509_certificate_type;
++ X509_check_private_key;
++ X509_cmp_current_time;
++ X509_delete_ext;
++ X509_digest;
++ X509_dup;
++ X509_free;
++ X509_get_default_cert_area;
++ X509_get_default_cert_dir;
++ X509_get_default_cert_dir_env;
++ X509_get_default_cert_file;
++ X509_get_default_cert_file_env;
++ X509_get_default_private_dir;
++ X509_get_ext;
++ X509_get_ext_by_NID;
++ X509_get_ext_by_OBJ;
++ X509_get_ext_by_critical;
++ X509_get_ext_count;
++ X509_get_issuer_name;
++ X509_get_pubkey;
++ X509_get_pubkey_parameters;
++ X509_get_serialNumber;
++ X509_get_subject_name;
++ X509_gmtime_adj;
++ X509_issuer_and_serial_cmp;
++ X509_issuer_and_serial_hash;
++ X509_issuer_name_cmp;
++ X509_issuer_name_hash;
++ X509_load_cert_file;
++ X509_new;
++ X509_print;
++ X509_print_fp;
++ X509_set_issuer_name;
++ X509_set_notAfter;
++ X509_set_notBefore;
++ X509_set_pubkey;
++ X509_set_serialNumber;
++ X509_set_subject_name;
++ X509_set_version;
++ X509_sign;
++ X509_subject_name_cmp;
++ X509_subject_name_hash;
++ X509_to_X509_REQ;
++ X509_verify;
++ X509_verify_cert;
++ X509_verify_cert_error_string;
++ X509v3_add_ext;
++ X509v3_add_extension;
++ X509v3_add_netscape_extensions;
++ X509v3_add_standard_extensions;
++ X509v3_cleanup_extensions;
++ X509v3_data_type_by_NID;
++ X509v3_data_type_by_OBJ;
++ X509v3_delete_ext;
++ X509v3_get_ext;
++ X509v3_get_ext_by_NID;
++ X509v3_get_ext_by_OBJ;
++ X509v3_get_ext_by_critical;
++ X509v3_get_ext_count;
++ X509v3_pack_string;
++ X509v3_pack_type_by_NID;
++ X509v3_pack_type_by_OBJ;
++ X509v3_unpack_string;
++ _des_crypt;
++ a2d_ASN1_OBJECT;
++ a2i_ASN1_INTEGER;
++ a2i_ASN1_STRING;
++ asn1_Finish;
++ asn1_GetSequence;
++ bn_div_words;
++ bn_expand2;
++ bn_mul_add_words;
++ bn_mul_words;
++ BN_uadd;
++ BN_usub;
++ bn_sqr_words;
++ _ossl_old_crypt;
++ d2i_ASN1_BIT_STRING;
++ d2i_ASN1_BOOLEAN;
++ d2i_ASN1_HEADER;
++ d2i_ASN1_IA5STRING;
++ d2i_ASN1_INTEGER;
++ d2i_ASN1_OBJECT;
++ d2i_ASN1_OCTET_STRING;
++ d2i_ASN1_PRINTABLE;
++ d2i_ASN1_PRINTABLESTRING;
++ d2i_ASN1_SET;
++ d2i_ASN1_T61STRING;
++ d2i_ASN1_TYPE;
++ d2i_ASN1_UTCTIME;
++ d2i_ASN1_bytes;
++ d2i_ASN1_type_bytes;
++ d2i_DHparams;
++ d2i_DSAPrivateKey;
++ d2i_DSAPrivateKey_bio;
++ d2i_DSAPrivateKey_fp;
++ d2i_DSAPublicKey;
++ d2i_DSAparams;
++ d2i_NETSCAPE_SPKAC;
++ d2i_NETSCAPE_SPKI;
++ d2i_Netscape_RSA;
++ d2i_PKCS7;
++ d2i_PKCS7_DIGEST;
++ d2i_PKCS7_ENCRYPT;
++ d2i_PKCS7_ENC_CONTENT;
++ d2i_PKCS7_ENVELOPE;
++ d2i_PKCS7_ISSUER_AND_SERIAL;
++ d2i_PKCS7_RECIP_INFO;
++ d2i_PKCS7_SIGNED;
++ d2i_PKCS7_SIGNER_INFO;
++ d2i_PKCS7_SIGN_ENVELOPE;
++ d2i_PKCS7_bio;
++ d2i_PKCS7_fp;
++ d2i_PrivateKey;
++ d2i_PublicKey;
++ d2i_RSAPrivateKey;
++ d2i_RSAPrivateKey_bio;
++ d2i_RSAPrivateKey_fp;
++ d2i_RSAPublicKey;
++ d2i_X509;
++ d2i_X509_ALGOR;
++ d2i_X509_ATTRIBUTE;
++ d2i_X509_CINF;
++ d2i_X509_CRL;
++ d2i_X509_CRL_INFO;
++ d2i_X509_CRL_bio;
++ d2i_X509_CRL_fp;
++ d2i_X509_EXTENSION;
++ d2i_X509_NAME;
++ d2i_X509_NAME_ENTRY;
++ d2i_X509_PKEY;
++ d2i_X509_PUBKEY;
++ d2i_X509_REQ;
++ d2i_X509_REQ_INFO;
++ d2i_X509_REQ_bio;
++ d2i_X509_REQ_fp;
++ d2i_X509_REVOKED;
++ d2i_X509_SIG;
++ d2i_X509_VAL;
++ d2i_X509_bio;
++ d2i_X509_fp;
++ DES_cbc_cksum;
++ DES_cbc_encrypt;
++ DES_cblock_print_file;
++ DES_cfb64_encrypt;
++ DES_cfb_encrypt;
++ DES_decrypt3;
++ DES_ecb3_encrypt;
++ DES_ecb_encrypt;
++ DES_ede3_cbc_encrypt;
++ DES_ede3_cfb64_encrypt;
++ DES_ede3_ofb64_encrypt;
++ DES_enc_read;
++ DES_enc_write;
++ DES_encrypt1;
++ DES_encrypt2;
++ DES_encrypt3;
++ DES_fcrypt;
++ DES_is_weak_key;
++ DES_key_sched;
++ DES_ncbc_encrypt;
++ DES_ofb64_encrypt;
++ DES_ofb_encrypt;
++ DES_options;
++ DES_pcbc_encrypt;
++ DES_quad_cksum;
++ DES_random_key;
++ _ossl_old_des_random_seed;
++ _ossl_old_des_read_2passwords;
++ _ossl_old_des_read_password;
++ _ossl_old_des_read_pw;
++ _ossl_old_des_read_pw_string;
++ DES_set_key;
++ DES_set_odd_parity;
++ DES_string_to_2keys;
++ DES_string_to_key;
++ DES_xcbc_encrypt;
++ DES_xwhite_in2out;
++ fcrypt_body;
++ i2a_ASN1_INTEGER;
++ i2a_ASN1_OBJECT;
++ i2a_ASN1_STRING;
++ i2d_ASN1_BIT_STRING;
++ i2d_ASN1_BOOLEAN;
++ i2d_ASN1_HEADER;
++ i2d_ASN1_IA5STRING;
++ i2d_ASN1_INTEGER;
++ i2d_ASN1_OBJECT;
++ i2d_ASN1_OCTET_STRING;
++ i2d_ASN1_PRINTABLE;
++ i2d_ASN1_SET;
++ i2d_ASN1_TYPE;
++ i2d_ASN1_UTCTIME;
++ i2d_ASN1_bytes;
++ i2d_DHparams;
++ i2d_DSAPrivateKey;
++ i2d_DSAPrivateKey_bio;
++ i2d_DSAPrivateKey_fp;
++ i2d_DSAPublicKey;
++ i2d_DSAparams;
++ i2d_NETSCAPE_SPKAC;
++ i2d_NETSCAPE_SPKI;
++ i2d_Netscape_RSA;
++ i2d_PKCS7;
++ i2d_PKCS7_DIGEST;
++ i2d_PKCS7_ENCRYPT;
++ i2d_PKCS7_ENC_CONTENT;
++ i2d_PKCS7_ENVELOPE;
++ i2d_PKCS7_ISSUER_AND_SERIAL;
++ i2d_PKCS7_RECIP_INFO;
++ i2d_PKCS7_SIGNED;
++ i2d_PKCS7_SIGNER_INFO;
++ i2d_PKCS7_SIGN_ENVELOPE;
++ i2d_PKCS7_bio;
++ i2d_PKCS7_fp;
++ i2d_PrivateKey;
++ i2d_PublicKey;
++ i2d_RSAPrivateKey;
++ i2d_RSAPrivateKey_bio;
++ i2d_RSAPrivateKey_fp;
++ i2d_RSAPublicKey;
++ i2d_X509;
++ i2d_X509_ALGOR;
++ i2d_X509_ATTRIBUTE;
++ i2d_X509_CINF;
++ i2d_X509_CRL;
++ i2d_X509_CRL_INFO;
++ i2d_X509_CRL_bio;
++ i2d_X509_CRL_fp;
++ i2d_X509_EXTENSION;
++ i2d_X509_NAME;
++ i2d_X509_NAME_ENTRY;
++ i2d_X509_PKEY;
++ i2d_X509_PUBKEY;
++ i2d_X509_REQ;
++ i2d_X509_REQ_INFO;
++ i2d_X509_REQ_bio;
++ i2d_X509_REQ_fp;
++ i2d_X509_REVOKED;
++ i2d_X509_SIG;
++ i2d_X509_VAL;
++ i2d_X509_bio;
++ i2d_X509_fp;
++ idea_cbc_encrypt;
++ idea_cfb64_encrypt;
++ idea_ecb_encrypt;
++ idea_encrypt;
++ idea_ofb64_encrypt;
++ idea_options;
++ idea_set_decrypt_key;
++ idea_set_encrypt_key;
++ lh_delete;
++ lh_doall;
++ lh_doall_arg;
++ lh_free;
++ lh_insert;
++ lh_new;
++ lh_node_stats;
++ lh_node_stats_bio;
++ lh_node_usage_stats;
++ lh_node_usage_stats_bio;
++ lh_retrieve;
++ lh_stats;
++ lh_stats_bio;
++ lh_strhash;
++ sk_delete;
++ sk_delete_ptr;
++ sk_dup;
++ sk_find;
++ sk_free;
++ sk_insert;
++ sk_new;
++ sk_pop;
++ sk_pop_free;
++ sk_push;
++ sk_set_cmp_func;
++ sk_shift;
++ sk_unshift;
++ sk_zero;
++ BIO_f_nbio_test;
++ ASN1_TYPE_get;
++ ASN1_TYPE_set;
++ PKCS7_content_free;
++ ERR_load_PKCS7_strings;
++ X509_find_by_issuer_and_serial;
++ X509_find_by_subject;
++ PKCS7_ctrl;
++ PKCS7_set_type;
++ PKCS7_set_content;
++ PKCS7_SIGNER_INFO_set;
++ PKCS7_add_signer;
++ PKCS7_add_certificate;
++ PKCS7_add_crl;
++ PKCS7_content_new;
++ PKCS7_dataSign;
++ PKCS7_dataVerify;
++ PKCS7_dataInit;
++ PKCS7_add_signature;
++ PKCS7_cert_from_signer_info;
++ PKCS7_get_signer_info;
++ EVP_delete_alias;
++ EVP_mdc2;
++ PEM_read_bio_RSAPublicKey;
++ PEM_write_bio_RSAPublicKey;
++ d2i_RSAPublicKey_bio;
++ i2d_RSAPublicKey_bio;
++ PEM_read_RSAPublicKey;
++ PEM_write_RSAPublicKey;
++ d2i_RSAPublicKey_fp;
++ i2d_RSAPublicKey_fp;
++ BIO_copy_next_retry;
++ RSA_flags;
++ X509_STORE_add_crl;
++ X509_load_crl_file;
++ EVP_rc2_40_cbc;
++ EVP_rc4_40;
++ EVP_CIPHER_CTX_init;
++ HMAC;
++ HMAC_Init;
++ HMAC_Update;
++ HMAC_Final;
++ ERR_get_next_error_library;
++ EVP_PKEY_cmp_parameters;
++ HMAC_cleanup;
++ BIO_ptr_ctrl;
++ BIO_new_file_internal;
++ BIO_new_fp_internal;
++ BIO_s_file_internal;
++ BN_BLINDING_convert;
++ BN_BLINDING_invert;
++ BN_BLINDING_update;
++ RSA_blinding_on;
++ RSA_blinding_off;
++ i2t_ASN1_OBJECT;
++ BN_BLINDING_new;
++ BN_BLINDING_free;
++ EVP_cast5_cbc;
++ EVP_cast5_cfb64;
++ EVP_cast5_ecb;
++ EVP_cast5_ofb;
++ BF_decrypt;
++ CAST_set_key;
++ CAST_encrypt;
++ CAST_decrypt;
++ CAST_ecb_encrypt;
++ CAST_cbc_encrypt;
++ CAST_cfb64_encrypt;
++ CAST_ofb64_encrypt;
++ RC2_decrypt;
++ OBJ_create_objects;
++ BN_exp;
++ BN_mul_word;
++ BN_sub_word;
++ BN_dec2bn;
++ BN_bn2dec;
++ BIO_ghbn_ctrl;
++ CRYPTO_free_ex_data;
++ CRYPTO_get_ex_data;
++ CRYPTO_set_ex_data;
++ ERR_load_CRYPTO_strings;
++ ERR_load_CRYPTOlib_strings;
++ EVP_PKEY_bits;
++ MD5_Transform;
++ SHA1_Transform;
++ SHA_Transform;
++ X509_STORE_CTX_get_chain;
++ X509_STORE_CTX_get_current_cert;
++ X509_STORE_CTX_get_error;
++ X509_STORE_CTX_get_error_depth;
++ X509_STORE_CTX_get_ex_data;
++ X509_STORE_CTX_set_cert;
++ X509_STORE_CTX_set_chain;
++ X509_STORE_CTX_set_error;
++ X509_STORE_CTX_set_ex_data;
++ CRYPTO_dup_ex_data;
++ CRYPTO_get_new_lockid;
++ CRYPTO_new_ex_data;
++ RSA_set_ex_data;
++ RSA_get_ex_data;
++ RSA_get_ex_new_index;
++ RSA_padding_add_PKCS1_type_1;
++ RSA_padding_add_PKCS1_type_2;
++ RSA_padding_add_SSLv23;
++ RSA_padding_add_none;
++ RSA_padding_check_PKCS1_type_1;
++ RSA_padding_check_PKCS1_type_2;
++ RSA_padding_check_SSLv23;
++ RSA_padding_check_none;
++ bn_add_words;
++ d2i_Netscape_RSA_2;
++ CRYPTO_get_ex_new_index;
++ RIPEMD160_Init;
++ RIPEMD160_Update;
++ RIPEMD160_Final;
++ RIPEMD160;
++ RIPEMD160_Transform;
++ RC5_32_set_key;
++ RC5_32_ecb_encrypt;
++ RC5_32_encrypt;
++ RC5_32_decrypt;
++ RC5_32_cbc_encrypt;
++ RC5_32_cfb64_encrypt;
++ RC5_32_ofb64_encrypt;
++ BN_bn2mpi;
++ BN_mpi2bn;
++ ASN1_BIT_STRING_get_bit;
++ ASN1_BIT_STRING_set_bit;
++ BIO_get_ex_data;
++ BIO_get_ex_new_index;
++ BIO_set_ex_data;
++ X509v3_get_key_usage;
++ X509v3_set_key_usage;
++ a2i_X509v3_key_usage;
++ i2a_X509v3_key_usage;
++ EVP_PKEY_decrypt;
++ EVP_PKEY_encrypt;
++ PKCS7_RECIP_INFO_set;
++ PKCS7_add_recipient;
++ PKCS7_add_recipient_info;
++ PKCS7_set_cipher;
++ ASN1_TYPE_get_int_octetstring;
++ ASN1_TYPE_get_octetstring;
++ ASN1_TYPE_set_int_octetstring;
++ ASN1_TYPE_set_octetstring;
++ ASN1_UTCTIME_set_string;
++ ERR_add_error_data;
++ ERR_set_error_data;
++ EVP_CIPHER_asn1_to_param;
++ EVP_CIPHER_param_to_asn1;
++ EVP_CIPHER_get_asn1_iv;
++ EVP_CIPHER_set_asn1_iv;
++ EVP_rc5_32_12_16_cbc;
++ EVP_rc5_32_12_16_cfb64;
++ EVP_rc5_32_12_16_ecb;
++ EVP_rc5_32_12_16_ofb;
++ asn1_add_error;
++ d2i_ASN1_BMPSTRING;
++ i2d_ASN1_BMPSTRING;
++ BIO_f_ber;
++ BN_init;
++ COMP_CTX_new;
++ COMP_CTX_free;
++ COMP_CTX_compress_block;
++ COMP_CTX_expand_block;
++ X509_STORE_CTX_get_ex_new_index;
++ OBJ_NAME_add;
++ BIO_socket_nbio;
++ EVP_rc2_64_cbc;
++ OBJ_NAME_cleanup;
++ OBJ_NAME_get;
++ OBJ_NAME_init;
++ OBJ_NAME_new_index;
++ OBJ_NAME_remove;
++ BN_MONT_CTX_copy;
++ BIO_new_socks4a_connect;
++ BIO_s_socks4a_connect;
++ PROXY_set_connect_mode;
++ RAND_SSLeay;
++ RAND_set_rand_method;
++ RSA_memory_lock;
++ bn_sub_words;
++ bn_mul_normal;
++ bn_mul_comba8;
++ bn_mul_comba4;
++ bn_sqr_normal;
++ bn_sqr_comba8;
++ bn_sqr_comba4;
++ bn_cmp_words;
++ bn_mul_recursive;
++ bn_mul_part_recursive;
++ bn_sqr_recursive;
++ bn_mul_low_normal;
++ BN_RECP_CTX_init;
++ BN_RECP_CTX_new;
++ BN_RECP_CTX_free;
++ BN_RECP_CTX_set;
++ BN_mod_mul_reciprocal;
++ BN_mod_exp_recp;
++ BN_div_recp;
++ BN_CTX_init;
++ BN_MONT_CTX_init;
++ RAND_get_rand_method;
++ PKCS7_add_attribute;
++ PKCS7_add_signed_attribute;
++ PKCS7_digest_from_attributes;
++ PKCS7_get_attribute;
++ PKCS7_get_issuer_and_serial;
++ PKCS7_get_signed_attribute;
++ COMP_compress_block;
++ COMP_expand_block;
++ COMP_rle;
++ COMP_zlib;
++ ms_time_diff;
++ ms_time_new;
++ ms_time_free;
++ ms_time_cmp;
++ ms_time_get;
++ PKCS7_set_attributes;
++ PKCS7_set_signed_attributes;
++ X509_ATTRIBUTE_create;
++ X509_ATTRIBUTE_dup;
++ ASN1_GENERALIZEDTIME_check;
++ ASN1_GENERALIZEDTIME_print;
++ ASN1_GENERALIZEDTIME_set;
++ ASN1_GENERALIZEDTIME_set_string;
++ ASN1_TIME_print;
++ BASIC_CONSTRAINTS_free;
++ BASIC_CONSTRAINTS_new;
++ ERR_load_X509V3_strings;
++ NETSCAPE_CERT_SEQUENCE_free;
++ NETSCAPE_CERT_SEQUENCE_new;
++ OBJ_txt2obj;
++ PEM_read_NETSCAPE_CERT_SEQUENCE;
++ PEM_read_NS_CERT_SEQ;
++ PEM_read_bio_NETSCAPE_CERT_SEQUENCE;
++ PEM_read_bio_NS_CERT_SEQ;
++ PEM_write_NETSCAPE_CERT_SEQUENCE;
++ PEM_write_NS_CERT_SEQ;
++ PEM_write_bio_NETSCAPE_CERT_SEQUENCE;
++ PEM_write_bio_NS_CERT_SEQ;
++ X509V3_EXT_add;
++ X509V3_EXT_add_alias;
++ X509V3_EXT_add_conf;
++ X509V3_EXT_cleanup;
++ X509V3_EXT_conf;
++ X509V3_EXT_conf_nid;
++ X509V3_EXT_get;
++ X509V3_EXT_get_nid;
++ X509V3_EXT_print;
++ X509V3_EXT_print_fp;
++ X509V3_add_standard_extensions;
++ X509V3_add_value;
++ X509V3_add_value_bool;
++ X509V3_add_value_int;
++ X509V3_conf_free;
++ X509V3_get_value_bool;
++ X509V3_get_value_int;
++ X509V3_parse_list;
++ d2i_ASN1_GENERALIZEDTIME;
++ d2i_ASN1_TIME;
++ d2i_BASIC_CONSTRAINTS;
++ d2i_NETSCAPE_CERT_SEQUENCE;
++ d2i_ext_ku;
++ ext_ku_free;
++ ext_ku_new;
++ i2d_ASN1_GENERALIZEDTIME;
++ i2d_ASN1_TIME;
++ i2d_BASIC_CONSTRAINTS;
++ i2d_NETSCAPE_CERT_SEQUENCE;
++ i2d_ext_ku;
++ EVP_MD_CTX_copy;
++ i2d_ASN1_ENUMERATED;
++ d2i_ASN1_ENUMERATED;
++ ASN1_ENUMERATED_set;
++ ASN1_ENUMERATED_get;
++ BN_to_ASN1_ENUMERATED;
++ ASN1_ENUMERATED_to_BN;
++ i2a_ASN1_ENUMERATED;
++ a2i_ASN1_ENUMERATED;
++ i2d_GENERAL_NAME;
++ d2i_GENERAL_NAME;
++ GENERAL_NAME_new;
++ GENERAL_NAME_free;
++ GENERAL_NAMES_new;
++ GENERAL_NAMES_free;
++ d2i_GENERAL_NAMES;
++ i2d_GENERAL_NAMES;
++ i2v_GENERAL_NAMES;
++ i2s_ASN1_OCTET_STRING;
++ s2i_ASN1_OCTET_STRING;
++ X509V3_EXT_check_conf;
++ hex_to_string;
++ string_to_hex;
++ DES_ede3_cbcm_encrypt;
++ RSA_padding_add_PKCS1_OAEP;
++ RSA_padding_check_PKCS1_OAEP;
++ X509_CRL_print_fp;
++ X509_CRL_print;
++ i2v_GENERAL_NAME;
++ v2i_GENERAL_NAME;
++ i2d_PKEY_USAGE_PERIOD;
++ d2i_PKEY_USAGE_PERIOD;
++ PKEY_USAGE_PERIOD_new;
++ PKEY_USAGE_PERIOD_free;
++ v2i_GENERAL_NAMES;
++ i2s_ASN1_INTEGER;
++ X509V3_EXT_d2i;
++ name_cmp;
++ str_dup;
++ i2s_ASN1_ENUMERATED;
++ i2s_ASN1_ENUMERATED_TABLE;
++ BIO_s_log;
++ BIO_f_reliable;
++ PKCS7_dataFinal;
++ PKCS7_dataDecode;
++ X509V3_EXT_CRL_add_conf;
++ BN_set_params;
++ BN_get_params;
++ BIO_get_ex_num;
++ BIO_set_ex_free_func;
++ EVP_ripemd160;
++ ASN1_TIME_set;
++ i2d_AUTHORITY_KEYID;
++ d2i_AUTHORITY_KEYID;
++ AUTHORITY_KEYID_new;
++ AUTHORITY_KEYID_free;
++ ASN1_seq_unpack;
++ ASN1_seq_pack;
++ ASN1_unpack_string;
++ ASN1_pack_string;
++ PKCS12_pack_safebag;
++ PKCS12_MAKE_KEYBAG;
++ PKCS8_encrypt;
++ PKCS12_MAKE_SHKEYBAG;
++ PKCS12_pack_p7data;
++ PKCS12_pack_p7encdata;
++ PKCS12_add_localkeyid;
++ PKCS12_add_friendlyname_asc;
++ PKCS12_add_friendlyname_uni;
++ PKCS12_get_friendlyname;
++ PKCS12_pbe_crypt;
++ PKCS12_decrypt_d2i;
++ PKCS12_i2d_encrypt;
++ PKCS12_init;
++ PKCS12_key_gen_asc;
++ PKCS12_key_gen_uni;
++ PKCS12_gen_mac;
++ PKCS12_verify_mac;
++ PKCS12_set_mac;
++ PKCS12_setup_mac;
++ OPENSSL_asc2uni;
++ OPENSSL_uni2asc;
++ i2d_PKCS12_BAGS;
++ PKCS12_BAGS_new;
++ d2i_PKCS12_BAGS;
++ PKCS12_BAGS_free;
++ i2d_PKCS12;
++ d2i_PKCS12;
++ PKCS12_new;
++ PKCS12_free;
++ i2d_PKCS12_MAC_DATA;
++ PKCS12_MAC_DATA_new;
++ d2i_PKCS12_MAC_DATA;
++ PKCS12_MAC_DATA_free;
++ i2d_PKCS12_SAFEBAG;
++ PKCS12_SAFEBAG_new;
++ d2i_PKCS12_SAFEBAG;
++ PKCS12_SAFEBAG_free;
++ ERR_load_PKCS12_strings;
++ PKCS12_PBE_add;
++ PKCS8_add_keyusage;
++ PKCS12_get_attr_gen;
++ PKCS12_parse;
++ PKCS12_create;
++ i2d_PKCS12_bio;
++ i2d_PKCS12_fp;
++ d2i_PKCS12_bio;
++ d2i_PKCS12_fp;
++ i2d_PBEPARAM;
++ PBEPARAM_new;
++ d2i_PBEPARAM;
++ PBEPARAM_free;
++ i2d_PKCS8_PRIV_KEY_INFO;
++ PKCS8_PRIV_KEY_INFO_new;
++ d2i_PKCS8_PRIV_KEY_INFO;
++ PKCS8_PRIV_KEY_INFO_free;
++ EVP_PKCS82PKEY;
++ EVP_PKEY2PKCS8;
++ PKCS8_set_broken;
++ EVP_PBE_ALGOR_CipherInit;
++ EVP_PBE_alg_add;
++ PKCS5_pbe_set;
++ EVP_PBE_cleanup;
++ i2d_SXNET;
++ d2i_SXNET;
++ SXNET_new;
++ SXNET_free;
++ i2d_SXNETID;
++ d2i_SXNETID;
++ SXNETID_new;
++ SXNETID_free;
++ DSA_SIG_new;
++ DSA_SIG_free;
++ DSA_do_sign;
++ DSA_do_verify;
++ d2i_DSA_SIG;
++ i2d_DSA_SIG;
++ i2d_ASN1_VISIBLESTRING;
++ d2i_ASN1_VISIBLESTRING;
++ i2d_ASN1_UTF8STRING;
++ d2i_ASN1_UTF8STRING;
++ i2d_DIRECTORYSTRING;
++ d2i_DIRECTORYSTRING;
++ i2d_DISPLAYTEXT;
++ d2i_DISPLAYTEXT;
++ d2i_ASN1_SET_OF_X509;
++ i2d_ASN1_SET_OF_X509;
++ i2d_PBKDF2PARAM;
++ PBKDF2PARAM_new;
++ d2i_PBKDF2PARAM;
++ PBKDF2PARAM_free;
++ i2d_PBE2PARAM;
++ PBE2PARAM_new;
++ d2i_PBE2PARAM;
++ PBE2PARAM_free;
++ d2i_ASN1_SET_OF_GENERAL_NAME;
++ i2d_ASN1_SET_OF_GENERAL_NAME;
++ d2i_ASN1_SET_OF_SXNETID;
++ i2d_ASN1_SET_OF_SXNETID;
++ d2i_ASN1_SET_OF_POLICYQUALINFO;
++ i2d_ASN1_SET_OF_POLICYQUALINFO;
++ d2i_ASN1_SET_OF_POLICYINFO;
++ i2d_ASN1_SET_OF_POLICYINFO;
++ SXNET_add_id_asc;
++ SXNET_add_id_ulong;
++ SXNET_add_id_INTEGER;
++ SXNET_get_id_asc;
++ SXNET_get_id_ulong;
++ SXNET_get_id_INTEGER;
++ X509V3_set_conf_lhash;
++ i2d_CERTIFICATEPOLICIES;
++ CERTIFICATEPOLICIES_new;
++ CERTIFICATEPOLICIES_free;
++ d2i_CERTIFICATEPOLICIES;
++ i2d_POLICYINFO;
++ POLICYINFO_new;
++ d2i_POLICYINFO;
++ POLICYINFO_free;
++ i2d_POLICYQUALINFO;
++ POLICYQUALINFO_new;
++ d2i_POLICYQUALINFO;
++ POLICYQUALINFO_free;
++ i2d_USERNOTICE;
++ USERNOTICE_new;
++ d2i_USERNOTICE;
++ USERNOTICE_free;
++ i2d_NOTICEREF;
++ NOTICEREF_new;
++ d2i_NOTICEREF;
++ NOTICEREF_free;
++ X509V3_get_string;
++ X509V3_get_section;
++ X509V3_string_free;
++ X509V3_section_free;
++ X509V3_set_ctx;
++ s2i_ASN1_INTEGER;
++ CRYPTO_set_locked_mem_functions;
++ CRYPTO_get_locked_mem_functions;
++ CRYPTO_malloc_locked;
++ CRYPTO_free_locked;
++ BN_mod_exp2_mont;
++ ERR_get_error_line_data;
++ ERR_peek_error_line_data;
++ PKCS12_PBE_keyivgen;
++ X509_ALGOR_dup;
++ d2i_ASN1_SET_OF_DIST_POINT;
++ i2d_ASN1_SET_OF_DIST_POINT;
++ i2d_CRL_DIST_POINTS;
++ CRL_DIST_POINTS_new;
++ CRL_DIST_POINTS_free;
++ d2i_CRL_DIST_POINTS;
++ i2d_DIST_POINT;
++ DIST_POINT_new;
++ d2i_DIST_POINT;
++ DIST_POINT_free;
++ i2d_DIST_POINT_NAME;
++ DIST_POINT_NAME_new;
++ DIST_POINT_NAME_free;
++ d2i_DIST_POINT_NAME;
++ X509V3_add_value_uchar;
++ d2i_ASN1_SET_OF_X509_ATTRIBUTE;
++ i2d_ASN1_SET_OF_ASN1_TYPE;
++ d2i_ASN1_SET_OF_X509_EXTENSION;
++ d2i_ASN1_SET_OF_X509_NAME_ENTRY;
++ d2i_ASN1_SET_OF_ASN1_TYPE;
++ i2d_ASN1_SET_OF_X509_ATTRIBUTE;
++ i2d_ASN1_SET_OF_X509_EXTENSION;
++ i2d_ASN1_SET_OF_X509_NAME_ENTRY;
++ X509V3_EXT_i2d;
++ X509V3_EXT_val_prn;
++ X509V3_EXT_add_list;
++ EVP_CIPHER_type;
++ EVP_PBE_CipherInit;
++ X509V3_add_value_bool_nf;
++ d2i_ASN1_UINTEGER;
++ sk_value;
++ sk_num;
++ sk_set;
++ i2d_ASN1_SET_OF_X509_REVOKED;
++ sk_sort;
++ d2i_ASN1_SET_OF_X509_REVOKED;
++ i2d_ASN1_SET_OF_X509_ALGOR;
++ i2d_ASN1_SET_OF_X509_CRL;
++ d2i_ASN1_SET_OF_X509_ALGOR;
++ d2i_ASN1_SET_OF_X509_CRL;
++ i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO;
++ i2d_ASN1_SET_OF_PKCS7_RECIP_INFO;
++ d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO;
++ d2i_ASN1_SET_OF_PKCS7_RECIP_INFO;
++ PKCS5_PBE_add;
++ PEM_write_bio_PKCS8;
++ i2d_PKCS8_fp;
++ PEM_read_bio_PKCS8_PRIV_KEY_INFO;
++ PEM_read_bio_P8_PRIV_KEY_INFO;
++ d2i_PKCS8_bio;
++ d2i_PKCS8_PRIV_KEY_INFO_fp;
++ PEM_write_bio_PKCS8_PRIV_KEY_INFO;
++ PEM_write_bio_P8_PRIV_KEY_INFO;
++ PEM_read_PKCS8;
++ d2i_PKCS8_PRIV_KEY_INFO_bio;
++ d2i_PKCS8_fp;
++ PEM_write_PKCS8;
++ PEM_read_PKCS8_PRIV_KEY_INFO;
++ PEM_read_P8_PRIV_KEY_INFO;
++ PEM_read_bio_PKCS8;
++ PEM_write_PKCS8_PRIV_KEY_INFO;
++ PEM_write_P8_PRIV_KEY_INFO;
++ PKCS5_PBE_keyivgen;
++ i2d_PKCS8_bio;
++ i2d_PKCS8_PRIV_KEY_INFO_fp;
++ i2d_PKCS8_PRIV_KEY_INFO_bio;
++ BIO_s_bio;
++ PKCS5_pbe2_set;
++ PKCS5_PBKDF2_HMAC_SHA1;
++ PKCS5_v2_PBE_keyivgen;
++ PEM_write_bio_PKCS8PrivateKey;
++ PEM_write_PKCS8PrivateKey;
++ BIO_ctrl_get_read_request;
++ BIO_ctrl_pending;
++ BIO_ctrl_wpending;
++ BIO_new_bio_pair;
++ BIO_ctrl_get_write_guarantee;
++ CRYPTO_num_locks;
++ CONF_load_bio;
++ CONF_load_fp;
++ i2d_ASN1_SET_OF_ASN1_OBJECT;
++ d2i_ASN1_SET_OF_ASN1_OBJECT;
++ PKCS7_signatureVerify;
++ RSA_set_method;
++ RSA_get_method;
++ RSA_get_default_method;
++ RSA_check_key;
++ OBJ_obj2txt;
++ DSA_dup_DH;
++ X509_REQ_get_extensions;
++ X509_REQ_set_extension_nids;
++ BIO_nwrite;
++ X509_REQ_extension_nid;
++ BIO_nread;
++ X509_REQ_get_extension_nids;
++ BIO_nwrite0;
++ X509_REQ_add_extensions_nid;
++ BIO_nread0;
++ X509_REQ_add_extensions;
++ BIO_new_mem_buf;
++ DH_set_ex_data;
++ DH_set_method;
++ DSA_OpenSSL;
++ DH_get_ex_data;
++ DH_get_ex_new_index;
++ DSA_new_method;
++ DH_new_method;
++ DH_OpenSSL;
++ DSA_get_ex_new_index;
++ DH_get_default_method;
++ DSA_set_ex_data;
++ DH_set_default_method;
++ DSA_get_ex_data;
++ X509V3_EXT_REQ_add_conf;
++ NETSCAPE_SPKI_print;
++ NETSCAPE_SPKI_set_pubkey;
++ NETSCAPE_SPKI_b64_encode;
++ NETSCAPE_SPKI_get_pubkey;
++ NETSCAPE_SPKI_b64_decode;
++ UTF8_putc;
++ UTF8_getc;
++ RSA_null_method;
++ ASN1_tag2str;
++ BIO_ctrl_reset_read_request;
++ DISPLAYTEXT_new;
++ ASN1_GENERALIZEDTIME_free;
++ X509_REVOKED_get_ext_d2i;
++ X509_set_ex_data;
++ X509_reject_set_bit_asc;
++ X509_NAME_add_entry_by_txt;
++ X509_NAME_add_entry_by_NID;
++ X509_PURPOSE_get0;
++ PEM_read_X509_AUX;
++ d2i_AUTHORITY_INFO_ACCESS;
++ PEM_write_PUBKEY;
++ ACCESS_DESCRIPTION_new;
++ X509_CERT_AUX_free;
++ d2i_ACCESS_DESCRIPTION;
++ X509_trust_clear;
++ X509_TRUST_add;
++ ASN1_VISIBLESTRING_new;
++ X509_alias_set1;
++ ASN1_PRINTABLESTRING_free;
++ EVP_PKEY_get1_DSA;
++ ASN1_BMPSTRING_new;
++ ASN1_mbstring_copy;
++ ASN1_UTF8STRING_new;
++ DSA_get_default_method;
++ i2d_ASN1_SET_OF_ACCESS_DESCRIPTION;
++ ASN1_T61STRING_free;
++ DSA_set_method;
++ X509_get_ex_data;
++ ASN1_STRING_type;
++ X509_PURPOSE_get_by_sname;
++ ASN1_TIME_free;
++ ASN1_OCTET_STRING_cmp;
++ ASN1_BIT_STRING_new;
++ X509_get_ext_d2i;
++ PEM_read_bio_X509_AUX;
++ ASN1_STRING_set_default_mask_asc;
++ ASN1_STRING_set_def_mask_asc;
++ PEM_write_bio_RSA_PUBKEY;
++ ASN1_INTEGER_cmp;
++ d2i_RSA_PUBKEY_fp;
++ X509_trust_set_bit_asc;
++ PEM_write_bio_DSA_PUBKEY;
++ X509_STORE_CTX_free;
++ EVP_PKEY_set1_DSA;
++ i2d_DSA_PUBKEY_fp;
++ X509_load_cert_crl_file;
++ ASN1_TIME_new;
++ i2d_RSA_PUBKEY;
++ X509_STORE_CTX_purpose_inherit;
++ PEM_read_RSA_PUBKEY;
++ d2i_X509_AUX;
++ i2d_DSA_PUBKEY;
++ X509_CERT_AUX_print;
++ PEM_read_DSA_PUBKEY;
++ i2d_RSA_PUBKEY_bio;
++ ASN1_BIT_STRING_num_asc;
++ i2d_PUBKEY;
++ ASN1_UTCTIME_free;
++ DSA_set_default_method;
++ X509_PURPOSE_get_by_id;
++ ACCESS_DESCRIPTION_free;
++ PEM_read_bio_PUBKEY;
++ ASN1_STRING_set_by_NID;
++ X509_PURPOSE_get_id;
++ DISPLAYTEXT_free;
++ OTHERNAME_new;
++ X509_CERT_AUX_new;
++ X509_TRUST_cleanup;
++ X509_NAME_add_entry_by_OBJ;
++ X509_CRL_get_ext_d2i;
++ X509_PURPOSE_get0_name;
++ PEM_read_PUBKEY;
++ i2d_DSA_PUBKEY_bio;
++ i2d_OTHERNAME;
++ ASN1_OCTET_STRING_free;
++ ASN1_BIT_STRING_set_asc;
++ X509_get_ex_new_index;
++ ASN1_STRING_TABLE_cleanup;
++ X509_TRUST_get_by_id;
++ X509_PURPOSE_get_trust;
++ ASN1_STRING_length;
++ d2i_ASN1_SET_OF_ACCESS_DESCRIPTION;
++ ASN1_PRINTABLESTRING_new;
++ X509V3_get_d2i;
++ ASN1_ENUMERATED_free;
++ i2d_X509_CERT_AUX;
++ X509_STORE_CTX_set_trust;
++ ASN1_STRING_set_default_mask;
++ X509_STORE_CTX_new;
++ EVP_PKEY_get1_RSA;
++ DIRECTORYSTRING_free;
++ PEM_write_X509_AUX;
++ ASN1_OCTET_STRING_set;
++ d2i_DSA_PUBKEY_fp;
++ d2i_RSA_PUBKEY;
++ X509_TRUST_get0_name;
++ X509_TRUST_get0;
++ AUTHORITY_INFO_ACCESS_free;
++ ASN1_IA5STRING_new;
++ d2i_DSA_PUBKEY;
++ X509_check_purpose;
++ ASN1_ENUMERATED_new;
++ d2i_RSA_PUBKEY_bio;
++ d2i_PUBKEY;
++ X509_TRUST_get_trust;
++ X509_TRUST_get_flags;
++ ASN1_BMPSTRING_free;
++ ASN1_T61STRING_new;
++ ASN1_UTCTIME_new;
++ i2d_AUTHORITY_INFO_ACCESS;
++ EVP_PKEY_set1_RSA;
++ X509_STORE_CTX_set_purpose;
++ ASN1_IA5STRING_free;
++ PEM_write_bio_X509_AUX;
++ X509_PURPOSE_get_count;
++ CRYPTO_add_info;
++ X509_NAME_ENTRY_create_by_txt;
++ ASN1_STRING_get_default_mask;
++ X509_alias_get0;
++ ASN1_STRING_data;
++ i2d_ACCESS_DESCRIPTION;
++ X509_trust_set_bit;
++ ASN1_BIT_STRING_free;
++ PEM_read_bio_RSA_PUBKEY;
++ X509_add1_reject_object;
++ X509_check_trust;
++ PEM_read_bio_DSA_PUBKEY;
++ X509_PURPOSE_add;
++ ASN1_STRING_TABLE_get;
++ ASN1_UTF8STRING_free;
++ d2i_DSA_PUBKEY_bio;
++ PEM_write_RSA_PUBKEY;
++ d2i_OTHERNAME;
++ X509_reject_set_bit;
++ PEM_write_DSA_PUBKEY;
++ X509_PURPOSE_get0_sname;
++ EVP_PKEY_set1_DH;
++ ASN1_OCTET_STRING_dup;
++ ASN1_BIT_STRING_set;
++ X509_TRUST_get_count;
++ ASN1_INTEGER_free;
++ OTHERNAME_free;
++ i2d_RSA_PUBKEY_fp;
++ ASN1_INTEGER_dup;
++ d2i_X509_CERT_AUX;
++ PEM_write_bio_PUBKEY;
++ ASN1_VISIBLESTRING_free;
++ X509_PURPOSE_cleanup;
++ ASN1_mbstring_ncopy;
++ ASN1_GENERALIZEDTIME_new;
++ EVP_PKEY_get1_DH;
++ ASN1_OCTET_STRING_new;
++ ASN1_INTEGER_new;
++ i2d_X509_AUX;
++ ASN1_BIT_STRING_name_print;
++ X509_cmp;
++ ASN1_STRING_length_set;
++ DIRECTORYSTRING_new;
++ X509_add1_trust_object;
++ PKCS12_newpass;
++ SMIME_write_PKCS7;
++ SMIME_read_PKCS7;
++ DES_set_key_checked;
++ PKCS7_verify;
++ PKCS7_encrypt;
++ DES_set_key_unchecked;
++ SMIME_crlf_copy;
++ i2d_ASN1_PRINTABLESTRING;
++ PKCS7_get0_signers;
++ PKCS7_decrypt;
++ SMIME_text;
++ PKCS7_simple_smimecap;
++ PKCS7_get_smimecap;
++ PKCS7_sign;
++ PKCS7_add_attrib_smimecap;
++ CRYPTO_dbg_set_options;
++ CRYPTO_remove_all_info;
++ CRYPTO_get_mem_debug_functions;
++ CRYPTO_is_mem_check_on;
++ CRYPTO_set_mem_debug_functions;
++ CRYPTO_pop_info;
++ CRYPTO_push_info_;
++ CRYPTO_set_mem_debug_options;
++ PEM_write_PKCS8PrivateKey_nid;
++ PEM_write_bio_PKCS8PrivateKey_nid;
++ PEM_write_bio_PKCS8PrivKey_nid;
++ d2i_PKCS8PrivateKey_bio;
++ ASN1_NULL_free;
++ d2i_ASN1_NULL;
++ ASN1_NULL_new;
++ i2d_PKCS8PrivateKey_bio;
++ i2d_PKCS8PrivateKey_fp;
++ i2d_ASN1_NULL;
++ i2d_PKCS8PrivateKey_nid_fp;
++ d2i_PKCS8PrivateKey_fp;
++ i2d_PKCS8PrivateKey_nid_bio;
++ i2d_PKCS8PrivateKeyInfo_fp;
++ i2d_PKCS8PrivateKeyInfo_bio;
++ PEM_cb;
++ i2d_PrivateKey_fp;
++ d2i_PrivateKey_bio;
++ d2i_PrivateKey_fp;
++ i2d_PrivateKey_bio;
++ X509_reject_clear;
++ X509_TRUST_set_default;
++ d2i_AutoPrivateKey;
++ X509_ATTRIBUTE_get0_type;
++ X509_ATTRIBUTE_set1_data;
++ X509at_get_attr;
++ X509at_get_attr_count;
++ X509_ATTRIBUTE_create_by_NID;
++ X509_ATTRIBUTE_set1_object;
++ X509_ATTRIBUTE_count;
++ X509_ATTRIBUTE_create_by_OBJ;
++ X509_ATTRIBUTE_get0_object;
++ X509at_get_attr_by_NID;
++ X509at_add1_attr;
++ X509_ATTRIBUTE_get0_data;
++ X509at_delete_attr;
++ X509at_get_attr_by_OBJ;
++ RAND_add;
++ BIO_number_written;
++ BIO_number_read;
++ X509_STORE_CTX_get1_chain;
++ ERR_load_RAND_strings;
++ RAND_pseudo_bytes;
++ X509_REQ_get_attr_by_NID;
++ X509_REQ_get_attr;
++ X509_REQ_add1_attr_by_NID;
++ X509_REQ_get_attr_by_OBJ;
++ X509at_add1_attr_by_NID;
++ X509_REQ_add1_attr_by_OBJ;
++ X509_REQ_get_attr_count;
++ X509_REQ_add1_attr;
++ X509_REQ_delete_attr;
++ X509at_add1_attr_by_OBJ;
++ X509_REQ_add1_attr_by_txt;
++ X509_ATTRIBUTE_create_by_txt;
++ X509at_add1_attr_by_txt;
++ BN_pseudo_rand;
++ BN_is_prime_fasttest;
++ BN_CTX_end;
++ BN_CTX_start;
++ BN_CTX_get;
++ EVP_PKEY2PKCS8_broken;
++ ASN1_STRING_TABLE_add;
++ CRYPTO_dbg_get_options;
++ AUTHORITY_INFO_ACCESS_new;
++ CRYPTO_get_mem_debug_options;
++ DES_crypt;
++ PEM_write_bio_X509_REQ_NEW;
++ PEM_write_X509_REQ_NEW;
++ BIO_callback_ctrl;
++ RAND_egd;
++ RAND_status;
++ bn_dump1;
++ DES_check_key_parity;
++ lh_num_items;
++ RAND_event;
++ DSO_new;
++ DSO_new_method;
++ DSO_free;
++ DSO_flags;
++ DSO_up;
++ DSO_set_default_method;
++ DSO_get_default_method;
++ DSO_get_method;
++ DSO_set_method;
++ DSO_load;
++ DSO_bind_var;
++ DSO_METHOD_null;
++ DSO_METHOD_openssl;
++ DSO_METHOD_dlfcn;
++ DSO_METHOD_win32;
++ ERR_load_DSO_strings;
++ DSO_METHOD_dl;
++ NCONF_load;
++ NCONF_load_fp;
++ NCONF_new;
++ NCONF_get_string;
++ NCONF_free;
++ NCONF_get_number;
++ CONF_dump_fp;
++ NCONF_load_bio;
++ NCONF_dump_fp;
++ NCONF_get_section;
++ NCONF_dump_bio;
++ CONF_dump_bio;
++ NCONF_free_data;
++ CONF_set_default_method;
++ ERR_error_string_n;
++ BIO_snprintf;
++ DSO_ctrl;
++ i2d_ASN1_SET_OF_ASN1_INTEGER;
++ i2d_ASN1_SET_OF_PKCS12_SAFEBAG;
++ i2d_ASN1_SET_OF_PKCS7;
++ BIO_vfree;
++ d2i_ASN1_SET_OF_ASN1_INTEGER;
++ d2i_ASN1_SET_OF_PKCS12_SAFEBAG;
++ ASN1_UTCTIME_get;
++ X509_REQ_digest;
++ X509_CRL_digest;
++ d2i_ASN1_SET_OF_PKCS7;
++ EVP_CIPHER_CTX_set_key_length;
++ EVP_CIPHER_CTX_ctrl;
++ BN_mod_exp_mont_word;
++ RAND_egd_bytes;
++ X509_REQ_get1_email;
++ X509_get1_email;
++ X509_email_free;
++ i2d_RSA_NET;
++ d2i_RSA_NET_2;
++ d2i_RSA_NET;
++ DSO_bind_func;
++ CRYPTO_get_new_dynlockid;
++ sk_new_null;
++ CRYPTO_set_dynlock_destroy_callback;
++ CRYPTO_set_dynlock_destroy_cb;
++ CRYPTO_destroy_dynlockid;
++ CRYPTO_set_dynlock_size;
++ CRYPTO_set_dynlock_create_callback;
++ CRYPTO_set_dynlock_create_cb;
++ CRYPTO_set_dynlock_lock_callback;
++ CRYPTO_set_dynlock_lock_cb;
++ CRYPTO_get_dynlock_lock_callback;
++ CRYPTO_get_dynlock_lock_cb;
++ CRYPTO_get_dynlock_destroy_callback;
++ CRYPTO_get_dynlock_destroy_cb;
++ CRYPTO_get_dynlock_value;
++ CRYPTO_get_dynlock_create_callback;
++ CRYPTO_get_dynlock_create_cb;
++ c2i_ASN1_BIT_STRING;
++ i2c_ASN1_BIT_STRING;
++ RAND_poll;
++ c2i_ASN1_INTEGER;
++ i2c_ASN1_INTEGER;
++ BIO_dump_indent;
++ ASN1_parse_dump;
++ c2i_ASN1_OBJECT;
++ X509_NAME_print_ex_fp;
++ ASN1_STRING_print_ex_fp;
++ X509_NAME_print_ex;
++ ASN1_STRING_print_ex;
++ MD4;
++ MD4_Transform;
++ MD4_Final;
++ MD4_Update;
++ MD4_Init;
++ EVP_md4;
++ i2d_PUBKEY_bio;
++ i2d_PUBKEY_fp;
++ d2i_PUBKEY_bio;
++ ASN1_STRING_to_UTF8;
++ BIO_vprintf;
++ BIO_vsnprintf;
++ d2i_PUBKEY_fp;
++ X509_cmp_time;
++ X509_STORE_CTX_set_time;
++ X509_STORE_CTX_get1_issuer;
++ X509_OBJECT_retrieve_match;
++ X509_OBJECT_idx_by_subject;
++ X509_STORE_CTX_set_flags;
++ X509_STORE_CTX_trusted_stack;
++ X509_time_adj;
++ X509_check_issued;
++ ASN1_UTCTIME_cmp_time_t;
++ DES_set_weak_key_flag;
++ DES_check_key;
++ DES_rw_mode;
++ RSA_PKCS1_RSAref;
++ X509_keyid_set1;
++ BIO_next;
++ DSO_METHOD_vms;
++ BIO_f_linebuffer;
++ BN_bntest_rand;
++ OPENSSL_issetugid;
++ BN_rand_range;
++ ERR_load_ENGINE_strings;
++ ENGINE_set_DSA;
++ ENGINE_get_finish_function;
++ ENGINE_get_default_RSA;
++ ENGINE_get_BN_mod_exp;
++ DSA_get_default_openssl_method;
++ ENGINE_set_DH;
++ ENGINE_set_def_BN_mod_exp_crt;
++ ENGINE_set_default_BN_mod_exp_crt;
++ ENGINE_init;
++ DH_get_default_openssl_method;
++ RSA_set_default_openssl_method;
++ ENGINE_finish;
++ ENGINE_load_public_key;
++ ENGINE_get_DH;
++ ENGINE_ctrl;
++ ENGINE_get_init_function;
++ ENGINE_set_init_function;
++ ENGINE_set_default_DSA;
++ ENGINE_get_name;
++ ENGINE_get_last;
++ ENGINE_get_prev;
++ ENGINE_get_default_DH;
++ ENGINE_get_RSA;
++ ENGINE_set_default;
++ ENGINE_get_RAND;
++ ENGINE_get_first;
++ ENGINE_by_id;
++ ENGINE_set_finish_function;
++ ENGINE_get_def_BN_mod_exp_crt;
++ ENGINE_get_default_BN_mod_exp_crt;
++ RSA_get_default_openssl_method;
++ ENGINE_set_RSA;
++ ENGINE_load_private_key;
++ ENGINE_set_default_RAND;
++ ENGINE_set_BN_mod_exp;
++ ENGINE_remove;
++ ENGINE_free;
++ ENGINE_get_BN_mod_exp_crt;
++ ENGINE_get_next;
++ ENGINE_set_name;
++ ENGINE_get_default_DSA;
++ ENGINE_set_default_BN_mod_exp;
++ ENGINE_set_default_RSA;
++ ENGINE_get_default_RAND;
++ ENGINE_get_default_BN_mod_exp;
++ ENGINE_set_RAND;
++ ENGINE_set_id;
++ ENGINE_set_BN_mod_exp_crt;
++ ENGINE_set_default_DH;
++ ENGINE_new;
++ ENGINE_get_id;
++ DSA_set_default_openssl_method;
++ ENGINE_add;
++ DH_set_default_openssl_method;
++ ENGINE_get_DSA;
++ ENGINE_get_ctrl_function;
++ ENGINE_set_ctrl_function;
++ BN_pseudo_rand_range;
++ X509_STORE_CTX_set_verify_cb;
++ ERR_load_COMP_strings;
++ PKCS12_item_decrypt_d2i;
++ ASN1_UTF8STRING_it;
++ ENGINE_unregister_ciphers;
++ ENGINE_get_ciphers;
++ d2i_OCSP_BASICRESP;
++ KRB5_CHECKSUM_it;
++ EC_POINT_add;
++ ASN1_item_ex_i2d;
++ OCSP_CERTID_it;
++ d2i_OCSP_RESPBYTES;
++ X509V3_add1_i2d;
++ PKCS7_ENVELOPE_it;
++ UI_add_input_boolean;
++ ENGINE_unregister_RSA;
++ X509V3_EXT_nconf;
++ ASN1_GENERALSTRING_free;
++ d2i_OCSP_CERTSTATUS;
++ X509_REVOKED_set_serialNumber;
++ X509_print_ex;
++ OCSP_ONEREQ_get1_ext_d2i;
++ ENGINE_register_all_RAND;
++ ENGINE_load_dynamic;
++ PBKDF2PARAM_it;
++ EXTENDED_KEY_USAGE_new;
++ EC_GROUP_clear_free;
++ OCSP_sendreq_bio;
++ ASN1_item_digest;
++ OCSP_BASICRESP_delete_ext;
++ OCSP_SIGNATURE_it;
++ X509_CRL_it;
++ OCSP_BASICRESP_add_ext;
++ KRB5_ENCKEY_it;
++ UI_method_set_closer;
++ X509_STORE_set_purpose;
++ i2d_ASN1_GENERALSTRING;
++ OCSP_response_status;
++ i2d_OCSP_SERVICELOC;
++ ENGINE_get_digest_engine;
++ EC_GROUP_set_curve_GFp;
++ OCSP_REQUEST_get_ext_by_OBJ;
++ _ossl_old_des_random_key;
++ ASN1_T61STRING_it;
++ EC_GROUP_method_of;
++ i2d_KRB5_APREQ;
++ _ossl_old_des_encrypt;
++ ASN1_PRINTABLE_new;
++ HMAC_Init_ex;
++ d2i_KRB5_AUTHENT;
++ OCSP_archive_cutoff_new;
++ EC_POINT_set_Jprojective_coordinates_GFp;
++ EC_POINT_set_Jproj_coords_GFp;
++ _ossl_old_des_is_weak_key;
++ OCSP_BASICRESP_get_ext_by_OBJ;
++ EC_POINT_oct2point;
++ OCSP_SINGLERESP_get_ext_count;
++ UI_ctrl;
++ _shadow_DES_rw_mode;
++ asn1_do_adb;
++ ASN1_template_i2d;
++ ENGINE_register_DH;
++ UI_construct_prompt;
++ X509_STORE_set_trust;
++ UI_dup_input_string;
++ d2i_KRB5_APREQ;
++ EVP_MD_CTX_copy_ex;
++ OCSP_request_is_signed;
++ i2d_OCSP_REQINFO;
++ KRB5_ENCKEY_free;
++ OCSP_resp_get0;
++ GENERAL_NAME_it;
++ ASN1_GENERALIZEDTIME_it;
++ X509_STORE_set_flags;
++ EC_POINT_set_compressed_coordinates_GFp;
++ EC_POINT_set_compr_coords_GFp;
++ OCSP_response_status_str;
++ d2i_OCSP_REVOKEDINFO;
++ OCSP_basic_add1_cert;
++ ERR_get_implementation;
++ EVP_CipherFinal_ex;
++ OCSP_CERTSTATUS_new;
++ CRYPTO_cleanup_all_ex_data;
++ OCSP_resp_find;
++ BN_nnmod;
++ X509_CRL_sort;
++ X509_REVOKED_set_revocationDate;
++ ENGINE_register_RAND;
++ OCSP_SERVICELOC_new;
++ EC_POINT_set_affine_coordinates_GFp;
++ EC_POINT_set_affine_coords_GFp;
++ _ossl_old_des_options;
++ SXNET_it;
++ UI_dup_input_boolean;
++ PKCS12_add_CSPName_asc;
++ EC_POINT_is_at_infinity;
++ ENGINE_load_cryptodev;
++ DSO_convert_filename;
++ POLICYQUALINFO_it;
++ ENGINE_register_ciphers;
++ BN_mod_lshift_quick;
++ DSO_set_filename;
++ ASN1_item_free;
++ KRB5_TKTBODY_free;
++ AUTHORITY_KEYID_it;
++ KRB5_APREQBODY_new;
++ X509V3_EXT_REQ_add_nconf;
++ ENGINE_ctrl_cmd_string;
++ i2d_OCSP_RESPDATA;
++ EVP_MD_CTX_init;
++ EXTENDED_KEY_USAGE_free;
++ PKCS7_ATTR_SIGN_it;
++ UI_add_error_string;
++ KRB5_CHECKSUM_free;
++ OCSP_REQUEST_get_ext;
++ ENGINE_load_ubsec;
++ ENGINE_register_all_digests;
++ PKEY_USAGE_PERIOD_it;
++ PKCS12_unpack_authsafes;
++ ASN1_item_unpack;
++ NETSCAPE_SPKAC_it;
++ X509_REVOKED_it;
++ ASN1_STRING_encode;
++ EVP_aes_128_ecb;
++ KRB5_AUTHENT_free;
++ OCSP_BASICRESP_get_ext_by_critical;
++ OCSP_BASICRESP_get_ext_by_crit;
++ OCSP_cert_status_str;
++ d2i_OCSP_REQUEST;
++ UI_dup_info_string;
++ _ossl_old_des_xwhite_in2out;
++ PKCS12_it;
++ OCSP_SINGLERESP_get_ext_by_critical;
++ OCSP_SINGLERESP_get_ext_by_crit;
++ OCSP_CERTSTATUS_free;
++ _ossl_old_des_crypt;
++ ASN1_item_i2d;
++ EVP_DecryptFinal_ex;
++ ENGINE_load_openssl;
++ ENGINE_get_cmd_defns;
++ ENGINE_set_load_privkey_function;
++ ENGINE_set_load_privkey_fn;
++ EVP_EncryptFinal_ex;
++ ENGINE_set_default_digests;
++ X509_get0_pubkey_bitstr;
++ asn1_ex_i2c;
++ ENGINE_register_RSA;
++ ENGINE_unregister_DSA;
++ _ossl_old_des_key_sched;
++ X509_EXTENSION_it;
++ i2d_KRB5_AUTHENT;
++ SXNETID_it;
++ d2i_OCSP_SINGLERESP;
++ EDIPARTYNAME_new;
++ PKCS12_certbag2x509;
++ _ossl_old_des_ofb64_encrypt;
++ d2i_EXTENDED_KEY_USAGE;
++ ERR_print_errors_cb;
++ ENGINE_set_ciphers;
++ d2i_KRB5_APREQBODY;
++ UI_method_get_flusher;
++ X509_PUBKEY_it;
++ _ossl_old_des_enc_read;
++ PKCS7_ENCRYPT_it;
++ i2d_OCSP_RESPONSE;
++ EC_GROUP_get_cofactor;
++ PKCS12_unpack_p7data;
++ d2i_KRB5_AUTHDATA;
++ OCSP_copy_nonce;
++ KRB5_AUTHDATA_new;
++ OCSP_RESPDATA_new;
++ EC_GFp_mont_method;
++ OCSP_REVOKEDINFO_free;
++ UI_get_ex_data;
++ KRB5_APREQBODY_free;
++ EC_GROUP_get0_generator;
++ UI_get_default_method;
++ X509V3_set_nconf;
++ PKCS12_item_i2d_encrypt;
++ X509_add1_ext_i2d;
++ PKCS7_SIGNER_INFO_it;
++ KRB5_PRINCNAME_new;
++ PKCS12_SAFEBAG_it;
++ EC_GROUP_get_order;
++ d2i_OCSP_RESPID;
++ OCSP_request_verify;
++ NCONF_get_number_e;
++ _ossl_old_des_decrypt3;
++ X509_signature_print;
++ OCSP_SINGLERESP_free;
++ ENGINE_load_builtin_engines;
++ i2d_OCSP_ONEREQ;
++ OCSP_REQUEST_add_ext;
++ OCSP_RESPBYTES_new;
++ EVP_MD_CTX_create;
++ OCSP_resp_find_status;
++ X509_ALGOR_it;
++ ASN1_TIME_it;
++ OCSP_request_set1_name;
++ OCSP_ONEREQ_get_ext_count;
++ UI_get0_result;
++ PKCS12_AUTHSAFES_it;
++ EVP_aes_256_ecb;
++ PKCS12_pack_authsafes;
++ ASN1_IA5STRING_it;
++ UI_get_input_flags;
++ EC_GROUP_set_generator;
++ _ossl_old_des_string_to_2keys;
++ OCSP_CERTID_free;
++ X509_CERT_AUX_it;
++ CERTIFICATEPOLICIES_it;
++ _ossl_old_des_ede3_cbc_encrypt;
++ RAND_set_rand_engine;
++ DSO_get_loaded_filename;
++ X509_ATTRIBUTE_it;
++ OCSP_ONEREQ_get_ext_by_NID;
++ PKCS12_decrypt_skey;
++ KRB5_AUTHENT_it;
++ UI_dup_error_string;
++ RSAPublicKey_it;
++ i2d_OCSP_REQUEST;
++ PKCS12_x509crl2certbag;
++ OCSP_SERVICELOC_it;
++ ASN1_item_sign;
++ X509_CRL_set_issuer_name;
++ OBJ_NAME_do_all_sorted;
++ i2d_OCSP_BASICRESP;
++ i2d_OCSP_RESPBYTES;
++ PKCS12_unpack_p7encdata;
++ HMAC_CTX_init;
++ ENGINE_get_digest;
++ OCSP_RESPONSE_print;
++ KRB5_TKTBODY_it;
++ ACCESS_DESCRIPTION_it;
++ PKCS7_ISSUER_AND_SERIAL_it;
++ PBE2PARAM_it;
++ PKCS12_certbag2x509crl;
++ PKCS7_SIGNED_it;
++ ENGINE_get_cipher;
++ i2d_OCSP_CRLID;
++ OCSP_SINGLERESP_new;
++ ENGINE_cmd_is_executable;
++ RSA_up_ref;
++ ASN1_GENERALSTRING_it;
++ ENGINE_register_DSA;
++ X509V3_EXT_add_nconf_sk;
++ ENGINE_set_load_pubkey_function;
++ PKCS8_decrypt;
++ PEM_bytes_read_bio;
++ DIRECTORYSTRING_it;
++ d2i_OCSP_CRLID;
++ EC_POINT_is_on_curve;
++ CRYPTO_set_locked_mem_ex_functions;
++ CRYPTO_set_locked_mem_ex_funcs;
++ d2i_KRB5_CHECKSUM;
++ ASN1_item_dup;
++ X509_it;
++ BN_mod_add;
++ KRB5_AUTHDATA_free;
++ _ossl_old_des_cbc_cksum;
++ ASN1_item_verify;
++ CRYPTO_set_mem_ex_functions;
++ EC_POINT_get_Jprojective_coordinates_GFp;
++ EC_POINT_get_Jproj_coords_GFp;
++ ZLONG_it;
++ CRYPTO_get_locked_mem_ex_functions;
++ CRYPTO_get_locked_mem_ex_funcs;
++ ASN1_TIME_check;
++ UI_get0_user_data;
++ HMAC_CTX_cleanup;
++ DSA_up_ref;
++ _ossl_old_des_ede3_cfb64_encrypt;
++ _ossl_odes_ede3_cfb64_encrypt;
++ ASN1_BMPSTRING_it;
++ ASN1_tag2bit;
++ UI_method_set_flusher;
++ X509_ocspid_print;
++ KRB5_ENCDATA_it;
++ ENGINE_get_load_pubkey_function;
++ UI_add_user_data;
++ OCSP_REQUEST_delete_ext;
++ UI_get_method;
++ OCSP_ONEREQ_free;
++ ASN1_PRINTABLESTRING_it;
++ X509_CRL_set_nextUpdate;
++ OCSP_REQUEST_it;
++ OCSP_BASICRESP_it;
++ AES_ecb_encrypt;
++ BN_mod_sqr;
++ NETSCAPE_CERT_SEQUENCE_it;
++ GENERAL_NAMES_it;
++ AUTHORITY_INFO_ACCESS_it;
++ ASN1_FBOOLEAN_it;
++ UI_set_ex_data;
++ _ossl_old_des_string_to_key;
++ ENGINE_register_all_RSA;
++ d2i_KRB5_PRINCNAME;
++ OCSP_RESPBYTES_it;
++ X509_CINF_it;
++ ENGINE_unregister_digests;
++ d2i_EDIPARTYNAME;
++ d2i_OCSP_SERVICELOC;
++ ENGINE_get_digests;
++ _ossl_old_des_set_odd_parity;
++ OCSP_RESPDATA_free;
++ d2i_KRB5_TICKET;
++ OTHERNAME_it;
++ EVP_MD_CTX_cleanup;
++ d2i_ASN1_GENERALSTRING;
++ X509_CRL_set_version;
++ BN_mod_sub;
++ OCSP_SINGLERESP_get_ext_by_NID;
++ ENGINE_get_ex_new_index;
++ OCSP_REQUEST_free;
++ OCSP_REQUEST_add1_ext_i2d;
++ X509_VAL_it;
++ EC_POINTs_make_affine;
++ EC_POINT_mul;
++ X509V3_EXT_add_nconf;
++ X509_TRUST_set;
++ X509_CRL_add1_ext_i2d;
++ _ossl_old_des_fcrypt;
++ DISPLAYTEXT_it;
++ X509_CRL_set_lastUpdate;
++ OCSP_BASICRESP_free;
++ OCSP_BASICRESP_add1_ext_i2d;
++ d2i_KRB5_AUTHENTBODY;
++ CRYPTO_set_ex_data_implementation;
++ CRYPTO_set_ex_data_impl;
++ KRB5_ENCDATA_new;
++ DSO_up_ref;
++ OCSP_crl_reason_str;
++ UI_get0_result_string;
++ ASN1_GENERALSTRING_new;
++ X509_SIG_it;
++ ERR_set_implementation;
++ ERR_load_EC_strings;
++ UI_get0_action_string;
++ OCSP_ONEREQ_get_ext;
++ EC_POINT_method_of;
++ i2d_KRB5_APREQBODY;
++ _ossl_old_des_ecb3_encrypt;
++ CRYPTO_get_mem_ex_functions;
++ ENGINE_get_ex_data;
++ UI_destroy_method;
++ ASN1_item_i2d_bio;
++ OCSP_ONEREQ_get_ext_by_OBJ;
++ ASN1_primitive_new;
++ ASN1_PRINTABLE_it;
++ EVP_aes_192_ecb;
++ OCSP_SIGNATURE_new;
++ LONG_it;
++ ASN1_VISIBLESTRING_it;
++ OCSP_SINGLERESP_add1_ext_i2d;
++ d2i_OCSP_CERTID;
++ ASN1_item_d2i_fp;
++ CRL_DIST_POINTS_it;
++ GENERAL_NAME_print;
++ OCSP_SINGLERESP_delete_ext;
++ PKCS12_SAFEBAGS_it;
++ d2i_OCSP_SIGNATURE;
++ OCSP_request_add1_nonce;
++ ENGINE_set_cmd_defns;
++ OCSP_SERVICELOC_free;
++ EC_GROUP_free;
++ ASN1_BIT_STRING_it;
++ X509_REQ_it;
++ _ossl_old_des_cbc_encrypt;
++ ERR_unload_strings;
++ PKCS7_SIGN_ENVELOPE_it;
++ EDIPARTYNAME_free;
++ OCSP_REQINFO_free;
++ EC_GROUP_new_curve_GFp;
++ OCSP_REQUEST_get1_ext_d2i;
++ PKCS12_item_pack_safebag;
++ asn1_ex_c2i;
++ ENGINE_register_digests;
++ i2d_OCSP_REVOKEDINFO;
++ asn1_enc_restore;
++ UI_free;
++ UI_new_method;
++ EVP_EncryptInit_ex;
++ X509_pubkey_digest;
++ EC_POINT_invert;
++ OCSP_basic_sign;
++ i2d_OCSP_RESPID;
++ OCSP_check_nonce;
++ ENGINE_ctrl_cmd;
++ d2i_KRB5_ENCKEY;
++ OCSP_parse_url;
++ OCSP_SINGLERESP_get_ext;
++ OCSP_CRLID_free;
++ OCSP_BASICRESP_get1_ext_d2i;
++ RSAPrivateKey_it;
++ ENGINE_register_all_DH;
++ i2d_EDIPARTYNAME;
++ EC_POINT_get_affine_coordinates_GFp;
++ EC_POINT_get_affine_coords_GFp;
++ OCSP_CRLID_new;
++ ENGINE_get_flags;
++ OCSP_ONEREQ_it;
++ UI_process;
++ ASN1_INTEGER_it;
++ EVP_CipherInit_ex;
++ UI_get_string_type;
++ ENGINE_unregister_DH;
++ ENGINE_register_all_DSA;
++ OCSP_ONEREQ_get_ext_by_critical;
++ bn_dup_expand;
++ OCSP_cert_id_new;
++ BASIC_CONSTRAINTS_it;
++ BN_mod_add_quick;
++ EC_POINT_new;
++ EVP_MD_CTX_destroy;
++ OCSP_RESPBYTES_free;
++ EVP_aes_128_cbc;
++ OCSP_SINGLERESP_get1_ext_d2i;
++ EC_POINT_free;
++ DH_up_ref;
++ X509_NAME_ENTRY_it;
++ UI_get_ex_new_index;
++ BN_mod_sub_quick;
++ OCSP_ONEREQ_add_ext;
++ OCSP_request_sign;
++ EVP_DigestFinal_ex;
++ ENGINE_set_digests;
++ OCSP_id_issuer_cmp;
++ OBJ_NAME_do_all;
++ EC_POINTs_mul;
++ ENGINE_register_complete;
++ X509V3_EXT_nconf_nid;
++ ASN1_SEQUENCE_it;
++ UI_set_default_method;
++ RAND_query_egd_bytes;
++ UI_method_get_writer;
++ UI_OpenSSL;
++ PEM_def_callback;
++ ENGINE_cleanup;
++ DIST_POINT_it;
++ OCSP_SINGLERESP_it;
++ d2i_KRB5_TKTBODY;
++ EC_POINT_cmp;
++ OCSP_REVOKEDINFO_new;
++ i2d_OCSP_CERTSTATUS;
++ OCSP_basic_add1_nonce;
++ ASN1_item_ex_d2i;
++ BN_mod_lshift1_quick;
++ UI_set_method;
++ OCSP_id_get0_info;
++ BN_mod_sqrt;
++ EC_GROUP_copy;
++ KRB5_ENCDATA_free;
++ _ossl_old_des_cfb_encrypt;
++ OCSP_SINGLERESP_get_ext_by_OBJ;
++ OCSP_cert_to_id;
++ OCSP_RESPID_new;
++ OCSP_RESPDATA_it;
++ d2i_OCSP_RESPDATA;
++ ENGINE_register_all_complete;
++ OCSP_check_validity;
++ PKCS12_BAGS_it;
++ OCSP_url_svcloc_new;
++ ASN1_template_free;
++ OCSP_SINGLERESP_add_ext;
++ KRB5_AUTHENTBODY_it;
++ X509_supported_extension;
++ i2d_KRB5_AUTHDATA;
++ UI_method_get_opener;
++ ENGINE_set_ex_data;
++ OCSP_REQUEST_print;
++ CBIGNUM_it;
++ KRB5_TICKET_new;
++ KRB5_APREQ_new;
++ EC_GROUP_get_curve_GFp;
++ KRB5_ENCKEY_new;
++ ASN1_template_d2i;
++ _ossl_old_des_quad_cksum;
++ OCSP_single_get0_status;
++ BN_swap;
++ POLICYINFO_it;
++ ENGINE_set_destroy_function;
++ asn1_enc_free;
++ OCSP_RESPID_it;
++ EC_GROUP_new;
++ EVP_aes_256_cbc;
++ i2d_KRB5_PRINCNAME;
++ _ossl_old_des_encrypt2;
++ _ossl_old_des_encrypt3;
++ PKCS8_PRIV_KEY_INFO_it;
++ OCSP_REQINFO_it;
++ PBEPARAM_it;
++ KRB5_AUTHENTBODY_new;
++ X509_CRL_add0_revoked;
++ EDIPARTYNAME_it;
++ NETSCAPE_SPKI_it;
++ UI_get0_test_string;
++ ENGINE_get_cipher_engine;
++ ENGINE_register_all_ciphers;
++ EC_POINT_copy;
++ BN_kronecker;
++ _ossl_old_des_ede3_ofb64_encrypt;
++ _ossl_odes_ede3_ofb64_encrypt;
++ UI_method_get_reader;
++ OCSP_BASICRESP_get_ext_count;
++ ASN1_ENUMERATED_it;
++ UI_set_result;
++ i2d_KRB5_TICKET;
++ X509_print_ex_fp;
++ EVP_CIPHER_CTX_set_padding;
++ d2i_OCSP_RESPONSE;
++ ASN1_UTCTIME_it;
++ _ossl_old_des_enc_write;
++ OCSP_RESPONSE_new;
++ AES_set_encrypt_key;
++ OCSP_resp_count;
++ KRB5_CHECKSUM_new;
++ ENGINE_load_cswift;
++ OCSP_onereq_get0_id;
++ ENGINE_set_default_ciphers;
++ NOTICEREF_it;
++ X509V3_EXT_CRL_add_nconf;
++ OCSP_REVOKEDINFO_it;
++ AES_encrypt;
++ OCSP_REQUEST_new;
++ ASN1_ANY_it;
++ CRYPTO_ex_data_new_class;
++ _ossl_old_des_ncbc_encrypt;
++ i2d_KRB5_TKTBODY;
++ EC_POINT_clear_free;
++ AES_decrypt;
++ asn1_enc_init;
++ UI_get_result_maxsize;
++ OCSP_CERTID_new;
++ ENGINE_unregister_RAND;
++ UI_method_get_closer;
++ d2i_KRB5_ENCDATA;
++ OCSP_request_onereq_count;
++ OCSP_basic_verify;
++ KRB5_AUTHENTBODY_free;
++ ASN1_item_d2i;
++ ASN1_primitive_free;
++ i2d_EXTENDED_KEY_USAGE;
++ i2d_OCSP_SIGNATURE;
++ asn1_enc_save;
++ ENGINE_load_nuron;
++ _ossl_old_des_pcbc_encrypt;
++ PKCS12_MAC_DATA_it;
++ OCSP_accept_responses_new;
++ asn1_do_lock;
++ PKCS7_ATTR_VERIFY_it;
++ KRB5_APREQBODY_it;
++ i2d_OCSP_SINGLERESP;
++ ASN1_item_ex_new;
++ UI_add_verify_string;
++ _ossl_old_des_set_key;
++ KRB5_PRINCNAME_it;
++ EVP_DecryptInit_ex;
++ i2d_OCSP_CERTID;
++ ASN1_item_d2i_bio;
++ EC_POINT_dbl;
++ asn1_get_choice_selector;
++ i2d_KRB5_CHECKSUM;
++ ENGINE_set_table_flags;
++ AES_options;
++ ENGINE_load_chil;
++ OCSP_id_cmp;
++ OCSP_BASICRESP_new;
++ OCSP_REQUEST_get_ext_by_NID;
++ KRB5_APREQ_it;
++ ENGINE_get_destroy_function;
++ CONF_set_nconf;
++ ASN1_PRINTABLE_free;
++ OCSP_BASICRESP_get_ext_by_NID;
++ DIST_POINT_NAME_it;
++ X509V3_extensions_print;
++ _ossl_old_des_cfb64_encrypt;
++ X509_REVOKED_add1_ext_i2d;
++ _ossl_old_des_ofb_encrypt;
++ KRB5_TKTBODY_new;
++ ASN1_OCTET_STRING_it;
++ ERR_load_UI_strings;
++ i2d_KRB5_ENCKEY;
++ ASN1_template_new;
++ OCSP_SIGNATURE_free;
++ ASN1_item_i2d_fp;
++ KRB5_PRINCNAME_free;
++ PKCS7_RECIP_INFO_it;
++ EXTENDED_KEY_USAGE_it;
++ EC_GFp_simple_method;
++ EC_GROUP_precompute_mult;
++ OCSP_request_onereq_get0;
++ UI_method_set_writer;
++ KRB5_AUTHENT_new;
++ X509_CRL_INFO_it;
++ DSO_set_name_converter;
++ AES_set_decrypt_key;
++ PKCS7_DIGEST_it;
++ PKCS12_x5092certbag;
++ EVP_DigestInit_ex;
++ i2a_ACCESS_DESCRIPTION;
++ OCSP_RESPONSE_it;
++ PKCS7_ENC_CONTENT_it;
++ OCSP_request_add0_id;
++ EC_POINT_make_affine;
++ DSO_get_filename;
++ OCSP_CERTSTATUS_it;
++ OCSP_request_add1_cert;
++ UI_get0_output_string;
++ UI_dup_verify_string;
++ BN_mod_lshift;
++ KRB5_AUTHDATA_it;
++ asn1_set_choice_selector;
++ OCSP_basic_add1_status;
++ OCSP_RESPID_free;
++ asn1_get_field_ptr;
++ UI_add_input_string;
++ OCSP_CRLID_it;
++ i2d_KRB5_AUTHENTBODY;
++ OCSP_REQUEST_get_ext_count;
++ ENGINE_load_atalla;
++ X509_NAME_it;
++ USERNOTICE_it;
++ OCSP_REQINFO_new;
++ OCSP_BASICRESP_get_ext;
++ CRYPTO_get_ex_data_implementation;
++ CRYPTO_get_ex_data_impl;
++ ASN1_item_pack;
++ i2d_KRB5_ENCDATA;
++ X509_PURPOSE_set;
++ X509_REQ_INFO_it;
++ UI_method_set_opener;
++ ASN1_item_ex_free;
++ ASN1_BOOLEAN_it;
++ ENGINE_get_table_flags;
++ UI_create_method;
++ OCSP_ONEREQ_add1_ext_i2d;
++ _shadow_DES_check_key;
++ d2i_OCSP_REQINFO;
++ UI_add_info_string;
++ UI_get_result_minsize;
++ ASN1_NULL_it;
++ BN_mod_lshift1;
++ d2i_OCSP_ONEREQ;
++ OCSP_ONEREQ_new;
++ KRB5_TICKET_it;
++ EVP_aes_192_cbc;
++ KRB5_TICKET_free;
++ UI_new;
++ OCSP_response_create;
++ _ossl_old_des_xcbc_encrypt;
++ PKCS7_it;
++ OCSP_REQUEST_get_ext_by_critical;
++ OCSP_REQUEST_get_ext_by_crit;
++ ENGINE_set_flags;
++ _ossl_old_des_ecb_encrypt;
++ OCSP_response_get1_basic;
++ EVP_Digest;
++ OCSP_ONEREQ_delete_ext;
++ ASN1_TBOOLEAN_it;
++ ASN1_item_new;
++ ASN1_TIME_to_generalizedtime;
++ BIGNUM_it;
++ AES_cbc_encrypt;
++ ENGINE_get_load_privkey_function;
++ ENGINE_get_load_privkey_fn;
++ OCSP_RESPONSE_free;
++ UI_method_set_reader;
++ i2d_ASN1_T61STRING;
++ EC_POINT_set_to_infinity;
++ ERR_load_OCSP_strings;
++ EC_POINT_point2oct;
++ KRB5_APREQ_free;
++ ASN1_OBJECT_it;
++ OCSP_crlID_new;
++ OCSP_crlID2_new;
++ CONF_modules_load_file;
++ CONF_imodule_set_usr_data;
++ ENGINE_set_default_string;
++ CONF_module_get_usr_data;
++ ASN1_add_oid_module;
++ CONF_modules_finish;
++ OPENSSL_config;
++ CONF_modules_unload;
++ CONF_imodule_get_value;
++ CONF_module_set_usr_data;
++ CONF_parse_list;
++ CONF_module_add;
++ CONF_get1_default_config_file;
++ CONF_imodule_get_flags;
++ CONF_imodule_get_module;
++ CONF_modules_load;
++ CONF_imodule_get_name;
++ ERR_peek_top_error;
++ CONF_imodule_get_usr_data;
++ CONF_imodule_set_flags;
++ ENGINE_add_conf_module;
++ ERR_peek_last_error_line;
++ ERR_peek_last_error_line_data;
++ ERR_peek_last_error;
++ DES_read_2passwords;
++ DES_read_password;
++ UI_UTIL_read_pw;
++ UI_UTIL_read_pw_string;
++ ENGINE_load_aep;
++ ENGINE_load_sureware;
++ OPENSSL_add_all_algorithms_noconf;
++ OPENSSL_add_all_algo_noconf;
++ OPENSSL_add_all_algorithms_conf;
++ OPENSSL_add_all_algo_conf;
++ OPENSSL_load_builtin_modules;
++ AES_ofb128_encrypt;
++ AES_ctr128_encrypt;
++ AES_cfb128_encrypt;
++ ENGINE_load_4758cca;
++ _ossl_096_des_random_seed;
++ EVP_aes_256_ofb;
++ EVP_aes_192_ofb;
++ EVP_aes_128_cfb128;
++ EVP_aes_256_cfb128;
++ EVP_aes_128_ofb;
++ EVP_aes_192_cfb128;
++ CONF_modules_free;
++ NCONF_default;
++ OPENSSL_no_config;
++ NCONF_WIN32;
++ ASN1_UNIVERSALSTRING_new;
++ EVP_des_ede_ecb;
++ i2d_ASN1_UNIVERSALSTRING;
++ ASN1_UNIVERSALSTRING_free;
++ ASN1_UNIVERSALSTRING_it;
++ d2i_ASN1_UNIVERSALSTRING;
++ EVP_des_ede3_ecb;
++ X509_REQ_print_ex;
++ ENGINE_up_ref;
++ BUF_MEM_grow_clean;
++ CRYPTO_realloc_clean;
++ BUF_strlcat;
++ BIO_indent;
++ BUF_strlcpy;
++ OpenSSLDie;
++ OPENSSL_cleanse;
++ ENGINE_setup_bsd_cryptodev;
++ ERR_release_err_state_table;
++ EVP_aes_128_cfb8;
++ FIPS_corrupt_rsa;
++ FIPS_selftest_des;
++ EVP_aes_128_cfb1;
++ EVP_aes_192_cfb8;
++ FIPS_mode_set;
++ FIPS_selftest_dsa;
++ EVP_aes_256_cfb8;
++ FIPS_allow_md5;
++ DES_ede3_cfb_encrypt;
++ EVP_des_ede3_cfb8;
++ FIPS_rand_seeded;
++ AES_cfbr_encrypt_block;
++ AES_cfb8_encrypt;
++ FIPS_rand_seed;
++ FIPS_corrupt_des;
++ EVP_aes_192_cfb1;
++ FIPS_selftest_aes;
++ FIPS_set_prng_key;
++ EVP_des_cfb8;
++ FIPS_corrupt_dsa;
++ FIPS_test_mode;
++ FIPS_rand_method;
++ EVP_aes_256_cfb1;
++ ERR_load_FIPS_strings;
++ FIPS_corrupt_aes;
++ FIPS_selftest_sha1;
++ FIPS_selftest_rsa;
++ FIPS_corrupt_sha1;
++ EVP_des_cfb1;
++ FIPS_dsa_check;
++ AES_cfb1_encrypt;
++ EVP_des_ede3_cfb1;
++ FIPS_rand_check;
++ FIPS_md5_allowed;
++ FIPS_mode;
++ FIPS_selftest_failed;
++ sk_is_sorted;
++ X509_check_ca;
++ HMAC_CTX_set_flags;
++ d2i_PROXY_CERT_INFO_EXTENSION;
++ PROXY_POLICY_it;
++ i2d_PROXY_POLICY;
++ i2d_PROXY_CERT_INFO_EXTENSION;
++ d2i_PROXY_POLICY;
++ PROXY_CERT_INFO_EXTENSION_new;
++ PROXY_CERT_INFO_EXTENSION_free;
++ PROXY_CERT_INFO_EXTENSION_it;
++ PROXY_POLICY_free;
++ PROXY_POLICY_new;
++ BN_MONT_CTX_set_locked;
++ FIPS_selftest_rng;
++ EVP_sha384;
++ EVP_sha512;
++ EVP_sha224;
++ EVP_sha256;
++ FIPS_selftest_hmac;
++ FIPS_corrupt_rng;
++ BN_mod_exp_mont_consttime;
++ RSA_X931_hash_id;
++ RSA_padding_check_X931;
++ RSA_verify_PKCS1_PSS;
++ RSA_padding_add_X931;
++ RSA_padding_add_PKCS1_PSS;
++ PKCS1_MGF1;
++ BN_X931_generate_Xpq;
++ RSA_X931_generate_key;
++ BN_X931_derive_prime;
++ BN_X931_generate_prime;
++ RSA_X931_derive;
++ BIO_new_dgram;
++ BN_get0_nist_prime_384;
++ ERR_set_mark;
++ X509_STORE_CTX_set0_crls;
++ ENGINE_set_STORE;
++ ENGINE_register_ECDSA;
++ STORE_meth_set_list_start_fn;
++ STORE_method_set_list_start_function;
++ BN_BLINDING_invert_ex;
++ NAME_CONSTRAINTS_free;
++ STORE_ATTR_INFO_set_number;
++ BN_BLINDING_get_thread_id;
++ X509_STORE_CTX_set0_param;
++ POLICY_MAPPING_it;
++ STORE_parse_attrs_start;
++ POLICY_CONSTRAINTS_free;
++ EVP_PKEY_add1_attr_by_NID;
++ BN_nist_mod_192;
++ EC_GROUP_get_trinomial_basis;
++ STORE_set_method;
++ GENERAL_SUBTREE_free;
++ NAME_CONSTRAINTS_it;
++ ECDH_get_default_method;
++ PKCS12_add_safe;
++ EC_KEY_new_by_curve_name;
++ STORE_meth_get_update_store_fn;
++ STORE_method_get_update_store_function;
++ ENGINE_register_ECDH;
++ SHA512_Update;
++ i2d_ECPrivateKey;
++ BN_get0_nist_prime_192;
++ STORE_modify_certificate;
++ EC_POINT_set_affine_coordinates_GF2m;
++ EC_POINT_set_affine_coords_GF2m;
++ BN_GF2m_mod_exp_arr;
++ STORE_ATTR_INFO_modify_number;
++ X509_keyid_get0;
++ ENGINE_load_gmp;
++ pitem_new;
++ BN_GF2m_mod_mul_arr;
++ STORE_list_public_key_endp;
++ o2i_ECPublicKey;
++ EC_KEY_copy;
++ BIO_dump_fp;
++ X509_policy_node_get0_parent;
++ EC_GROUP_check_discriminant;
++ i2o_ECPublicKey;
++ EC_KEY_precompute_mult;
++ a2i_IPADDRESS;
++ STORE_meth_set_initialise_fn;
++ STORE_method_set_initialise_function;
++ X509_STORE_CTX_set_depth;
++ X509_VERIFY_PARAM_inherit;
++ EC_POINT_point2bn;
++ STORE_ATTR_INFO_set_dn;
++ X509_policy_tree_get0_policies;
++ EC_GROUP_new_curve_GF2m;
++ STORE_destroy_method;
++ ENGINE_unregister_STORE;
++ EVP_PKEY_get1_EC_KEY;
++ STORE_ATTR_INFO_get0_number;
++ ENGINE_get_default_ECDH;
++ EC_KEY_get_conv_form;
++ ASN1_OCTET_STRING_NDEF_it;
++ STORE_delete_public_key;
++ STORE_get_public_key;
++ STORE_modify_arbitrary;
++ ENGINE_get_static_state;
++ pqueue_iterator;
++ ECDSA_SIG_new;
++ OPENSSL_DIR_end;
++ BN_GF2m_mod_sqr;
++ EC_POINT_bn2point;
++ X509_VERIFY_PARAM_set_depth;
++ EC_KEY_set_asn1_flag;
++ STORE_get_method;
++ EC_KEY_get_key_method_data;
++ ECDSA_sign_ex;
++ STORE_parse_attrs_end;
++ EC_GROUP_get_point_conversion_form;
++ EC_GROUP_get_point_conv_form;
++ STORE_method_set_store_function;
++ STORE_ATTR_INFO_in;
++ PEM_read_bio_ECPKParameters;
++ EC_GROUP_get_pentanomial_basis;
++ EVP_PKEY_add1_attr_by_txt;
++ BN_BLINDING_set_flags;
++ X509_VERIFY_PARAM_set1_policies;
++ X509_VERIFY_PARAM_set1_name;
++ X509_VERIFY_PARAM_set_purpose;
++ STORE_get_number;
++ ECDSA_sign_setup;
++ BN_GF2m_mod_solve_quad_arr;
++ EC_KEY_up_ref;
++ POLICY_MAPPING_free;
++ BN_GF2m_mod_div;
++ X509_VERIFY_PARAM_set_flags;
++ EC_KEY_free;
++ STORE_meth_set_list_next_fn;
++ STORE_method_set_list_next_function;
++ PEM_write_bio_ECPrivateKey;
++ d2i_EC_PUBKEY;
++ STORE_meth_get_generate_fn;
++ STORE_method_get_generate_function;
++ STORE_meth_set_list_end_fn;
++ STORE_method_set_list_end_function;
++ pqueue_print;
++ EC_GROUP_have_precompute_mult;
++ EC_KEY_print_fp;
++ BN_GF2m_mod_arr;
++ PEM_write_bio_X509_CERT_PAIR;
++ EVP_PKEY_cmp;
++ X509_policy_level_node_count;
++ STORE_new_engine;
++ STORE_list_public_key_start;
++ X509_VERIFY_PARAM_new;
++ ECDH_get_ex_data;
++ EVP_PKEY_get_attr;
++ ECDSA_do_sign;
++ ENGINE_unregister_ECDH;
++ ECDH_OpenSSL;
++ EC_KEY_set_conv_form;
++ EC_POINT_dup;
++ GENERAL_SUBTREE_new;
++ STORE_list_crl_endp;
++ EC_get_builtin_curves;
++ X509_policy_node_get0_qualifiers;
++ X509_pcy_node_get0_qualifiers;
++ STORE_list_crl_end;
++ EVP_PKEY_set1_EC_KEY;
++ BN_GF2m_mod_sqrt_arr;
++ i2d_ECPrivateKey_bio;
++ ECPKParameters_print_fp;
++ pqueue_find;
++ ECDSA_SIG_free;
++ PEM_write_bio_ECPKParameters;
++ STORE_method_set_ctrl_function;
++ STORE_list_public_key_end;
++ EC_KEY_set_private_key;
++ pqueue_peek;
++ STORE_get_arbitrary;
++ STORE_store_crl;
++ X509_policy_node_get0_policy;
++ PKCS12_add_safes;
++ BN_BLINDING_convert_ex;
++ X509_policy_tree_free;
++ OPENSSL_ia32cap_loc;
++ BN_GF2m_poly2arr;
++ STORE_ctrl;
++ STORE_ATTR_INFO_compare;
++ BN_get0_nist_prime_224;
++ i2d_ECParameters;
++ i2d_ECPKParameters;
++ BN_GENCB_call;
++ d2i_ECPKParameters;
++ STORE_meth_set_generate_fn;
++ STORE_method_set_generate_function;
++ ENGINE_set_ECDH;
++ NAME_CONSTRAINTS_new;
++ SHA256_Init;
++ EC_KEY_get0_public_key;
++ PEM_write_bio_EC_PUBKEY;
++ STORE_ATTR_INFO_set_cstr;
++ STORE_list_crl_next;
++ STORE_ATTR_INFO_in_range;
++ ECParameters_print;
++ STORE_meth_set_delete_fn;
++ STORE_method_set_delete_function;
++ STORE_list_certificate_next;
++ ASN1_generate_nconf;
++ BUF_memdup;
++ BN_GF2m_mod_mul;
++ STORE_meth_get_list_next_fn;
++ STORE_method_get_list_next_function;
++ STORE_ATTR_INFO_get0_dn;
++ STORE_list_private_key_next;
++ EC_GROUP_set_seed;
++ X509_VERIFY_PARAM_set_trust;
++ STORE_ATTR_INFO_free;
++ STORE_get_private_key;
++ EVP_PKEY_get_attr_count;
++ STORE_ATTR_INFO_new;
++ EC_GROUP_get_curve_GF2m;
++ STORE_meth_set_revoke_fn;
++ STORE_method_set_revoke_function;
++ STORE_store_number;
++ BN_is_prime_ex;
++ STORE_revoke_public_key;
++ X509_STORE_CTX_get0_param;
++ STORE_delete_arbitrary;
++ PEM_read_X509_CERT_PAIR;
++ X509_STORE_set_depth;
++ ECDSA_get_ex_data;
++ SHA224;
++ BIO_dump_indent_fp;
++ EC_KEY_set_group;
++ BUF_strndup;
++ STORE_list_certificate_start;
++ BN_GF2m_mod;
++ X509_REQ_check_private_key;
++ EC_GROUP_get_seed_len;
++ ERR_load_STORE_strings;
++ PEM_read_bio_EC_PUBKEY;
++ STORE_list_private_key_end;
++ i2d_EC_PUBKEY;
++ ECDSA_get_default_method;
++ ASN1_put_eoc;
++ X509_STORE_CTX_get_explicit_policy;
++ X509_STORE_CTX_get_expl_policy;
++ X509_VERIFY_PARAM_table_cleanup;
++ STORE_modify_private_key;
++ X509_VERIFY_PARAM_free;
++ EC_METHOD_get_field_type;
++ EC_GFp_nist_method;
++ STORE_meth_set_modify_fn;
++ STORE_method_set_modify_function;
++ STORE_parse_attrs_next;
++ ENGINE_load_padlock;
++ EC_GROUP_set_curve_name;
++ X509_CERT_PAIR_it;
++ STORE_meth_get_revoke_fn;
++ STORE_method_get_revoke_function;
++ STORE_method_set_get_function;
++ STORE_modify_number;
++ STORE_method_get_store_function;
++ STORE_store_private_key;
++ BN_GF2m_mod_sqr_arr;
++ RSA_setup_blinding;
++ BIO_s_datagram;
++ STORE_Memory;
++ sk_find_ex;
++ EC_GROUP_set_curve_GF2m;
++ ENGINE_set_default_ECDSA;
++ POLICY_CONSTRAINTS_new;
++ BN_GF2m_mod_sqrt;
++ ECDH_set_default_method;
++ EC_KEY_generate_key;
++ SHA384_Update;
++ BN_GF2m_arr2poly;
++ STORE_method_get_get_function;
++ STORE_meth_set_cleanup_fn;
++ STORE_method_set_cleanup_function;
++ EC_GROUP_check;
++ d2i_ECPrivateKey_bio;
++ EC_KEY_insert_key_method_data;
++ STORE_meth_get_lock_store_fn;
++ STORE_method_get_lock_store_function;
++ X509_VERIFY_PARAM_get_depth;
++ SHA224_Final;
++ STORE_meth_set_update_store_fn;
++ STORE_method_set_update_store_function;
++ SHA224_Update;
++ d2i_ECPrivateKey;
++ ASN1_item_ndef_i2d;
++ STORE_delete_private_key;
++ ERR_pop_to_mark;
++ ENGINE_register_all_STORE;
++ X509_policy_level_get0_node;
++ i2d_PKCS7_NDEF;
++ EC_GROUP_get_degree;
++ ASN1_generate_v3;
++ STORE_ATTR_INFO_modify_cstr;
++ X509_policy_tree_level_count;
++ BN_GF2m_add;
++ EC_KEY_get0_group;
++ STORE_generate_crl;
++ STORE_store_public_key;
++ X509_CERT_PAIR_free;
++ STORE_revoke_private_key;
++ BN_nist_mod_224;
++ SHA512_Final;
++ STORE_ATTR_INFO_modify_dn;
++ STORE_meth_get_initialise_fn;
++ STORE_method_get_initialise_function;
++ STORE_delete_number;
++ i2d_EC_PUBKEY_bio;
++ BIO_dgram_non_fatal_error;
++ EC_GROUP_get_asn1_flag;
++ STORE_ATTR_INFO_in_ex;
++ STORE_list_crl_start;
++ ECDH_get_ex_new_index;
++ STORE_meth_get_modify_fn;
++ STORE_method_get_modify_function;
++ v2i_ASN1_BIT_STRING;
++ STORE_store_certificate;
++ OBJ_bsearch_ex;
++ X509_STORE_CTX_set_default;
++ STORE_ATTR_INFO_set_sha1str;
++ BN_GF2m_mod_inv;
++ BN_GF2m_mod_exp;
++ STORE_modify_public_key;
++ STORE_meth_get_list_start_fn;
++ STORE_method_get_list_start_function;
++ EC_GROUP_get0_seed;
++ STORE_store_arbitrary;
++ STORE_meth_set_unlock_store_fn;
++ STORE_method_set_unlock_store_function;
++ BN_GF2m_mod_div_arr;
++ ENGINE_set_ECDSA;
++ STORE_create_method;
++ ECPKParameters_print;
++ EC_KEY_get0_private_key;
++ PEM_write_EC_PUBKEY;
++ X509_VERIFY_PARAM_set1;
++ ECDH_set_method;
++ v2i_GENERAL_NAME_ex;
++ ECDH_set_ex_data;
++ STORE_generate_key;
++ BN_nist_mod_521;
++ X509_policy_tree_get0_level;
++ EC_GROUP_set_point_conversion_form;
++ EC_GROUP_set_point_conv_form;
++ PEM_read_EC_PUBKEY;
++ i2d_ECDSA_SIG;
++ ECDSA_OpenSSL;
++ STORE_delete_crl;
++ EC_KEY_get_enc_flags;
++ ASN1_const_check_infinite_end;
++ EVP_PKEY_delete_attr;
++ ECDSA_set_default_method;
++ EC_POINT_set_compressed_coordinates_GF2m;
++ EC_POINT_set_compr_coords_GF2m;
++ EC_GROUP_cmp;
++ STORE_revoke_certificate;
++ BN_get0_nist_prime_256;
++ STORE_meth_get_delete_fn;
++ STORE_method_get_delete_function;
++ SHA224_Init;
++ PEM_read_ECPrivateKey;
++ SHA512_Init;
++ STORE_parse_attrs_endp;
++ BN_set_negative;
++ ERR_load_ECDSA_strings;
++ EC_GROUP_get_basis_type;
++ STORE_list_public_key_next;
++ i2v_ASN1_BIT_STRING;
++ STORE_OBJECT_free;
++ BN_nist_mod_384;
++ i2d_X509_CERT_PAIR;
++ PEM_write_ECPKParameters;
++ ECDH_compute_key;
++ STORE_ATTR_INFO_get0_sha1str;
++ ENGINE_register_all_ECDH;
++ pqueue_pop;
++ STORE_ATTR_INFO_get0_cstr;
++ POLICY_CONSTRAINTS_it;
++ STORE_get_ex_new_index;
++ EVP_PKEY_get_attr_by_OBJ;
++ X509_VERIFY_PARAM_add0_policy;
++ BN_GF2m_mod_solve_quad;
++ SHA256;
++ i2d_ECPrivateKey_fp;
++ X509_policy_tree_get0_user_policies;
++ X509_pcy_tree_get0_usr_policies;
++ OPENSSL_DIR_read;
++ ENGINE_register_all_ECDSA;
++ X509_VERIFY_PARAM_lookup;
++ EC_POINT_get_affine_coordinates_GF2m;
++ EC_POINT_get_affine_coords_GF2m;
++ EC_GROUP_dup;
++ ENGINE_get_default_ECDSA;
++ EC_KEY_new;
++ SHA256_Transform;
++ EC_KEY_set_enc_flags;
++ ECDSA_verify;
++ EC_POINT_point2hex;
++ ENGINE_get_STORE;
++ SHA512;
++ STORE_get_certificate;
++ ECDSA_do_sign_ex;
++ ECDSA_do_verify;
++ d2i_ECPrivateKey_fp;
++ STORE_delete_certificate;
++ SHA512_Transform;
++ X509_STORE_set1_param;
++ STORE_method_get_ctrl_function;
++ STORE_free;
++ PEM_write_ECPrivateKey;
++ STORE_meth_get_unlock_store_fn;
++ STORE_method_get_unlock_store_function;
++ STORE_get_ex_data;
++ EC_KEY_set_public_key;
++ PEM_read_ECPKParameters;
++ X509_CERT_PAIR_new;
++ ENGINE_register_STORE;
++ RSA_generate_key_ex;
++ DSA_generate_parameters_ex;
++ ECParameters_print_fp;
++ X509V3_NAME_from_section;
++ EVP_PKEY_add1_attr;
++ STORE_modify_crl;
++ STORE_list_private_key_start;
++ POLICY_MAPPINGS_it;
++ GENERAL_SUBTREE_it;
++ EC_GROUP_get_curve_name;
++ PEM_write_X509_CERT_PAIR;
++ BIO_dump_indent_cb;
++ d2i_X509_CERT_PAIR;
++ STORE_list_private_key_endp;
++ asn1_const_Finish;
++ i2d_EC_PUBKEY_fp;
++ BN_nist_mod_256;
++ X509_VERIFY_PARAM_add0_table;
++ pqueue_free;
++ BN_BLINDING_create_param;
++ ECDSA_size;
++ d2i_EC_PUBKEY_bio;
++ BN_get0_nist_prime_521;
++ STORE_ATTR_INFO_modify_sha1str;
++ BN_generate_prime_ex;
++ EC_GROUP_new_by_curve_name;
++ SHA256_Final;
++ DH_generate_parameters_ex;
++ PEM_read_bio_ECPrivateKey;
++ STORE_meth_get_cleanup_fn;
++ STORE_method_get_cleanup_function;
++ ENGINE_get_ECDH;
++ d2i_ECDSA_SIG;
++ BN_is_prime_fasttest_ex;
++ ECDSA_sign;
++ X509_policy_check;
++ EVP_PKEY_get_attr_by_NID;
++ STORE_set_ex_data;
++ ENGINE_get_ECDSA;
++ EVP_ecdsa;
++ BN_BLINDING_get_flags;
++ PKCS12_add_cert;
++ STORE_OBJECT_new;
++ ERR_load_ECDH_strings;
++ EC_KEY_dup;
++ EVP_CIPHER_CTX_rand_key;
++ ECDSA_set_method;
++ a2i_IPADDRESS_NC;
++ d2i_ECParameters;
++ STORE_list_certificate_end;
++ STORE_get_crl;
++ X509_POLICY_NODE_print;
++ SHA384_Init;
++ EC_GF2m_simple_method;
++ ECDSA_set_ex_data;
++ SHA384_Final;
++ PKCS7_set_digest;
++ EC_KEY_print;
++ STORE_meth_set_lock_store_fn;
++ STORE_method_set_lock_store_function;
++ ECDSA_get_ex_new_index;
++ SHA384;
++ POLICY_MAPPING_new;
++ STORE_list_certificate_endp;
++ X509_STORE_CTX_get0_policy_tree;
++ EC_GROUP_set_asn1_flag;
++ EC_KEY_check_key;
++ d2i_EC_PUBKEY_fp;
++ PKCS7_set0_type_other;
++ PEM_read_bio_X509_CERT_PAIR;
++ pqueue_next;
++ STORE_meth_get_list_end_fn;
++ STORE_method_get_list_end_function;
++ EVP_PKEY_add1_attr_by_OBJ;
++ X509_VERIFY_PARAM_set_time;
++ pqueue_new;
++ ENGINE_set_default_ECDH;
++ STORE_new_method;
++ PKCS12_add_key;
++ DSO_merge;
++ EC_POINT_hex2point;
++ BIO_dump_cb;
++ SHA256_Update;
++ pqueue_insert;
++ pitem_free;
++ BN_GF2m_mod_inv_arr;
++ ENGINE_unregister_ECDSA;
++ BN_BLINDING_set_thread_id;
++ get_rfc3526_prime_8192;
++ X509_VERIFY_PARAM_clear_flags;
++ get_rfc2409_prime_1024;
++ DH_check_pub_key;
++ get_rfc3526_prime_2048;
++ get_rfc3526_prime_6144;
++ get_rfc3526_prime_1536;
++ get_rfc3526_prime_3072;
++ get_rfc3526_prime_4096;
++ get_rfc2409_prime_768;
++ X509_VERIFY_PARAM_get_flags;
++ EVP_CIPHER_CTX_new;
++ EVP_CIPHER_CTX_free;
++ Camellia_cbc_encrypt;
++ Camellia_cfb128_encrypt;
++ Camellia_cfb1_encrypt;
++ Camellia_cfb8_encrypt;
++ Camellia_ctr128_encrypt;
++ Camellia_cfbr_encrypt_block;
++ Camellia_decrypt;
++ Camellia_ecb_encrypt;
++ Camellia_encrypt;
++ Camellia_ofb128_encrypt;
++ Camellia_set_key;
++ EVP_camellia_128_cbc;
++ EVP_camellia_128_cfb128;
++ EVP_camellia_128_cfb1;
++ EVP_camellia_128_cfb8;
++ EVP_camellia_128_ecb;
++ EVP_camellia_128_ofb;
++ EVP_camellia_192_cbc;
++ EVP_camellia_192_cfb128;
++ EVP_camellia_192_cfb1;
++ EVP_camellia_192_cfb8;
++ EVP_camellia_192_ecb;
++ EVP_camellia_192_ofb;
++ EVP_camellia_256_cbc;
++ EVP_camellia_256_cfb128;
++ EVP_camellia_256_cfb1;
++ EVP_camellia_256_cfb8;
++ EVP_camellia_256_ecb;
++ EVP_camellia_256_ofb;
++ a2i_ipadd;
++ ASIdentifiers_free;
++ i2d_ASIdOrRange;
++ EVP_CIPHER_block_size;
++ v3_asid_is_canonical;
++ IPAddressChoice_free;
++ EVP_CIPHER_CTX_set_app_data;
++ BIO_set_callback_arg;
++ v3_addr_add_prefix;
++ IPAddressOrRange_it;
++ BIO_set_flags;
++ ASIdentifiers_it;
++ v3_addr_get_range;
++ BIO_method_type;
++ v3_addr_inherits;
++ IPAddressChoice_it;
++ AES_ige_encrypt;
++ v3_addr_add_range;
++ EVP_CIPHER_CTX_nid;
++ d2i_ASRange;
++ v3_addr_add_inherit;
++ v3_asid_add_id_or_range;
++ v3_addr_validate_resource_set;
++ EVP_CIPHER_iv_length;
++ EVP_MD_type;
++ v3_asid_canonize;
++ IPAddressRange_free;
++ v3_asid_add_inherit;
++ EVP_CIPHER_CTX_key_length;
++ IPAddressRange_new;
++ ASIdOrRange_new;
++ EVP_MD_size;
++ EVP_MD_CTX_test_flags;
++ BIO_clear_flags;
++ i2d_ASRange;
++ IPAddressRange_it;
++ IPAddressChoice_new;
++ ASIdentifierChoice_new;
++ ASRange_free;
++ EVP_MD_pkey_type;
++ EVP_MD_CTX_clear_flags;
++ IPAddressFamily_free;
++ i2d_IPAddressFamily;
++ IPAddressOrRange_new;
++ EVP_CIPHER_flags;
++ v3_asid_validate_resource_set;
++ d2i_IPAddressRange;
++ AES_bi_ige_encrypt;
++ BIO_get_callback;
++ IPAddressOrRange_free;
++ v3_addr_subset;
++ d2i_IPAddressFamily;
++ v3_asid_subset;
++ BIO_test_flags;
++ i2d_ASIdentifierChoice;
++ ASRange_it;
++ d2i_ASIdentifiers;
++ ASRange_new;
++ d2i_IPAddressChoice;
++ v3_addr_get_afi;
++ EVP_CIPHER_key_length;
++ EVP_Cipher;
++ i2d_IPAddressOrRange;
++ ASIdOrRange_it;
++ EVP_CIPHER_nid;
++ i2d_IPAddressChoice;
++ EVP_CIPHER_CTX_block_size;
++ ASIdentifiers_new;
++ v3_addr_validate_path;
++ IPAddressFamily_new;
++ EVP_MD_CTX_set_flags;
++ v3_addr_is_canonical;
++ i2d_IPAddressRange;
++ IPAddressFamily_it;
++ v3_asid_inherits;
++ EVP_CIPHER_CTX_cipher;
++ EVP_CIPHER_CTX_get_app_data;
++ EVP_MD_block_size;
++ EVP_CIPHER_CTX_flags;
++ v3_asid_validate_path;
++ d2i_IPAddressOrRange;
++ v3_addr_canonize;
++ ASIdentifierChoice_it;
++ EVP_MD_CTX_md;
++ d2i_ASIdentifierChoice;
++ BIO_method_name;
++ EVP_CIPHER_CTX_iv_length;
++ ASIdOrRange_free;
++ ASIdentifierChoice_free;
++ BIO_get_callback_arg;
++ BIO_set_callback;
++ d2i_ASIdOrRange;
++ i2d_ASIdentifiers;
++ SEED_decrypt;
++ SEED_encrypt;
++ SEED_cbc_encrypt;
++ EVP_seed_ofb;
++ SEED_cfb128_encrypt;
++ SEED_ofb128_encrypt;
++ EVP_seed_cbc;
++ SEED_ecb_encrypt;
++ EVP_seed_ecb;
++ SEED_set_key;
++ EVP_seed_cfb128;
++ X509_EXTENSIONS_it;
++ X509_get1_ocsp;
++ OCSP_REQ_CTX_free;
++ i2d_X509_EXTENSIONS;
++ OCSP_sendreq_nbio;
++ OCSP_sendreq_new;
++ d2i_X509_EXTENSIONS;
++ X509_ALGORS_it;
++ X509_ALGOR_get0;
++ X509_ALGOR_set0;
++ AES_unwrap_key;
++ AES_wrap_key;
++ X509at_get0_data_by_OBJ;
++ ASN1_TYPE_set1;
++ ASN1_STRING_set0;
++ i2d_X509_ALGORS;
++ BIO_f_zlib;
++ COMP_zlib_cleanup;
++ d2i_X509_ALGORS;
++ CMS_ReceiptRequest_free;
++ PEM_write_CMS;
++ CMS_add0_CertificateChoices;
++ CMS_unsigned_add1_attr_by_OBJ;
++ ERR_load_CMS_strings;
++ CMS_sign_receipt;
++ i2d_CMS_ContentInfo;
++ CMS_signed_delete_attr;
++ d2i_CMS_bio;
++ CMS_unsigned_get_attr_by_NID;
++ CMS_verify;
++ SMIME_read_CMS;
++ CMS_decrypt_set1_key;
++ CMS_SignerInfo_get0_algs;
++ CMS_add1_cert;
++ CMS_set_detached;
++ CMS_encrypt;
++ CMS_EnvelopedData_create;
++ CMS_uncompress;
++ CMS_add0_crl;
++ CMS_SignerInfo_verify_content;
++ CMS_unsigned_get0_data_by_OBJ;
++ PEM_write_bio_CMS;
++ CMS_unsigned_get_attr;
++ CMS_RecipientInfo_ktri_cert_cmp;
++ CMS_RecipientInfo_ktri_get0_algs;
++ CMS_RecipInfo_ktri_get0_algs;
++ CMS_ContentInfo_free;
++ CMS_final;
++ CMS_add_simple_smimecap;
++ CMS_SignerInfo_verify;
++ CMS_data;
++ CMS_ContentInfo_it;
++ d2i_CMS_ReceiptRequest;
++ CMS_compress;
++ CMS_digest_create;
++ CMS_SignerInfo_cert_cmp;
++ CMS_SignerInfo_sign;
++ CMS_data_create;
++ i2d_CMS_bio;
++ CMS_EncryptedData_set1_key;
++ CMS_decrypt;
++ int_smime_write_ASN1;
++ CMS_unsigned_delete_attr;
++ CMS_unsigned_get_attr_count;
++ CMS_add_smimecap;
++ PEM_read_CMS;
++ CMS_signed_get_attr_by_OBJ;
++ d2i_CMS_ContentInfo;
++ CMS_add_standard_smimecap;
++ CMS_ContentInfo_new;
++ CMS_RecipientInfo_type;
++ CMS_get0_type;
++ CMS_is_detached;
++ CMS_sign;
++ CMS_signed_add1_attr;
++ CMS_unsigned_get_attr_by_OBJ;
++ SMIME_write_CMS;
++ CMS_EncryptedData_decrypt;
++ CMS_get0_RecipientInfos;
++ CMS_add0_RevocationInfoChoice;
++ CMS_decrypt_set1_pkey;
++ CMS_SignerInfo_set1_signer_cert;
++ CMS_get0_signers;
++ CMS_ReceiptRequest_get0_values;
++ CMS_signed_get0_data_by_OBJ;
++ CMS_get0_SignerInfos;
++ CMS_add0_cert;
++ CMS_EncryptedData_encrypt;
++ CMS_digest_verify;
++ CMS_set1_signers_certs;
++ CMS_signed_get_attr;
++ CMS_RecipientInfo_set0_key;
++ CMS_SignedData_init;
++ CMS_RecipientInfo_kekri_get0_id;
++ CMS_verify_receipt;
++ CMS_ReceiptRequest_it;
++ PEM_read_bio_CMS;
++ CMS_get1_crls;
++ CMS_add0_recipient_key;
++ SMIME_read_ASN1;
++ CMS_ReceiptRequest_new;
++ CMS_get0_content;
++ CMS_get1_ReceiptRequest;
++ CMS_signed_add1_attr_by_OBJ;
++ CMS_RecipientInfo_kekri_id_cmp;
++ CMS_add1_ReceiptRequest;
++ CMS_SignerInfo_get0_signer_id;
++ CMS_unsigned_add1_attr_by_NID;
++ CMS_unsigned_add1_attr;
++ CMS_signed_get_attr_by_NID;
++ CMS_get1_certs;
++ CMS_signed_add1_attr_by_NID;
++ CMS_unsigned_add1_attr_by_txt;
++ CMS_dataFinal;
++ CMS_RecipientInfo_ktri_get0_signer_id;
++ CMS_RecipInfo_ktri_get0_sigr_id;
++ i2d_CMS_ReceiptRequest;
++ CMS_add1_recipient_cert;
++ CMS_dataInit;
++ CMS_signed_add1_attr_by_txt;
++ CMS_RecipientInfo_decrypt;
++ CMS_signed_get_attr_count;
++ CMS_get0_eContentType;
++ CMS_set1_eContentType;
++ CMS_ReceiptRequest_create0;
++ CMS_add1_signer;
++ CMS_RecipientInfo_set0_pkey;
++ ENGINE_set_load_ssl_client_cert_function;
++ ENGINE_set_ld_ssl_clnt_cert_fn;
++ ENGINE_get_ssl_client_cert_function;
++ ENGINE_get_ssl_client_cert_fn;
++ ENGINE_load_ssl_client_cert;
++ ENGINE_load_capi;
++ OPENSSL_isservice;
++ FIPS_dsa_sig_decode;
++ EVP_CIPHER_CTX_clear_flags;
++ FIPS_rand_status;
++ FIPS_rand_set_key;
++ CRYPTO_set_mem_info_functions;
++ RSA_X931_generate_key_ex;
++ int_ERR_set_state_func;
++ int_EVP_MD_set_engine_callbacks;
++ int_CRYPTO_set_do_dynlock_callback;
++ FIPS_rng_stick;
++ EVP_CIPHER_CTX_set_flags;
++ BN_X931_generate_prime_ex;
++ FIPS_selftest_check;
++ FIPS_rand_set_dt;
++ CRYPTO_dbg_pop_info;
++ FIPS_dsa_free;
++ RSA_X931_derive_ex;
++ FIPS_rsa_new;
++ FIPS_rand_bytes;
++ fips_cipher_test;
++ EVP_CIPHER_CTX_test_flags;
++ CRYPTO_malloc_debug_init;
++ CRYPTO_dbg_push_info;
++ FIPS_corrupt_rsa_keygen;
++ FIPS_dh_new;
++ FIPS_corrupt_dsa_keygen;
++ FIPS_dh_free;
++ fips_pkey_signature_test;
++ EVP_add_alg_module;
++ int_RAND_init_engine_callbacks;
++ int_EVP_CIPHER_set_engine_callbacks;
++ int_EVP_MD_init_engine_callbacks;
++ FIPS_rand_test_mode;
++ FIPS_rand_reset;
++ FIPS_dsa_new;
++ int_RAND_set_callbacks;
++ BN_X931_derive_prime_ex;
++ int_ERR_lib_init;
++ int_EVP_CIPHER_init_engine_callbacks;
++ FIPS_rsa_free;
++ FIPS_dsa_sig_encode;
++ CRYPTO_dbg_remove_all_info;
++ OPENSSL_init;
++ CRYPTO_strdup;
++ JPAKE_STEP3A_process;
++ JPAKE_STEP1_release;
++ JPAKE_get_shared_key;
++ JPAKE_STEP3B_init;
++ JPAKE_STEP1_generate;
++ JPAKE_STEP1_init;
++ JPAKE_STEP3B_process;
++ JPAKE_STEP2_generate;
++ JPAKE_CTX_new;
++ JPAKE_CTX_free;
++ JPAKE_STEP3B_release;
++ JPAKE_STEP3A_release;
++ JPAKE_STEP2_process;
++ JPAKE_STEP3B_generate;
++ JPAKE_STEP1_process;
++ JPAKE_STEP3A_generate;
++ JPAKE_STEP2_release;
++ JPAKE_STEP3A_init;
++ ERR_load_JPAKE_strings;
++ JPAKE_STEP2_init;
++ pqueue_size;
++ i2d_TS_ACCURACY;
++ i2d_TS_MSG_IMPRINT_fp;
++ i2d_TS_MSG_IMPRINT;
++ EVP_PKEY_print_public;
++ EVP_PKEY_CTX_new;
++ i2d_TS_TST_INFO;
++ EVP_PKEY_asn1_find;
++ DSO_METHOD_beos;
++ TS_CONF_load_cert;
++ TS_REQ_get_ext;
++ EVP_PKEY_sign_init;
++ ASN1_item_print;
++ TS_TST_INFO_set_nonce;
++ TS_RESP_dup;
++ ENGINE_register_pkey_meths;
++ EVP_PKEY_asn1_add0;
++ PKCS7_add0_attrib_signing_time;
++ i2d_TS_TST_INFO_fp;
++ BIO_asn1_get_prefix;
++ TS_TST_INFO_set_time;
++ EVP_PKEY_meth_set_decrypt;
++ EVP_PKEY_set_type_str;
++ EVP_PKEY_CTX_get_keygen_info;
++ TS_REQ_set_policy_id;
++ d2i_TS_RESP_fp;
++ ENGINE_get_pkey_asn1_meth_engine;
++ ENGINE_get_pkey_asn1_meth_eng;
++ WHIRLPOOL_Init;
++ TS_RESP_set_status_info;
++ EVP_PKEY_keygen;
++ EVP_DigestSignInit;
++ TS_ACCURACY_set_millis;
++ TS_REQ_dup;
++ GENERAL_NAME_dup;
++ ASN1_SEQUENCE_ANY_it;
++ WHIRLPOOL;
++ X509_STORE_get1_crls;
++ ENGINE_get_pkey_asn1_meth;
++ EVP_PKEY_asn1_new;
++ BIO_new_NDEF;
++ ENGINE_get_pkey_meth;
++ TS_MSG_IMPRINT_set_algo;
++ i2d_TS_TST_INFO_bio;
++ TS_TST_INFO_set_ordering;
++ TS_TST_INFO_get_ext_by_OBJ;
++ CRYPTO_THREADID_set_pointer;
++ TS_CONF_get_tsa_section;
++ SMIME_write_ASN1;
++ TS_RESP_CTX_set_signer_key;
++ EVP_PKEY_encrypt_old;
++ EVP_PKEY_encrypt_init;
++ CRYPTO_THREADID_cpy;
++ ASN1_PCTX_get_cert_flags;
++ i2d_ESS_SIGNING_CERT;
++ TS_CONF_load_key;
++ i2d_ASN1_SEQUENCE_ANY;
++ d2i_TS_MSG_IMPRINT_bio;
++ EVP_PKEY_asn1_set_public;
++ b2i_PublicKey_bio;
++ BIO_asn1_set_prefix;
++ EVP_PKEY_new_mac_key;
++ BIO_new_CMS;
++ CRYPTO_THREADID_cmp;
++ TS_REQ_ext_free;
++ EVP_PKEY_asn1_set_free;
++ EVP_PKEY_get0_asn1;
++ d2i_NETSCAPE_X509;
++ EVP_PKEY_verify_recover_init;
++ EVP_PKEY_CTX_set_data;
++ EVP_PKEY_keygen_init;
++ TS_RESP_CTX_set_status_info;
++ TS_MSG_IMPRINT_get_algo;
++ TS_REQ_print_bio;
++ EVP_PKEY_CTX_ctrl_str;
++ EVP_PKEY_get_default_digest_nid;
++ PEM_write_bio_PKCS7_stream;
++ TS_MSG_IMPRINT_print_bio;
++ BN_asc2bn;
++ TS_REQ_get_policy_id;
++ ENGINE_set_default_pkey_asn1_meths;
++ ENGINE_set_def_pkey_asn1_meths;
++ d2i_TS_ACCURACY;
++ DSO_global_lookup;
++ TS_CONF_set_tsa_name;
++ i2d_ASN1_SET_ANY;
++ ENGINE_load_gost;
++ WHIRLPOOL_BitUpdate;
++ ASN1_PCTX_get_flags;
++ TS_TST_INFO_get_ext_by_NID;
++ TS_RESP_new;
++ ESS_CERT_ID_dup;
++ TS_STATUS_INFO_dup;
++ TS_REQ_delete_ext;
++ EVP_DigestVerifyFinal;
++ EVP_PKEY_print_params;
++ i2d_CMS_bio_stream;
++ TS_REQ_get_msg_imprint;
++ OBJ_find_sigid_by_algs;
++ TS_TST_INFO_get_serial;
++ TS_REQ_get_nonce;
++ X509_PUBKEY_set0_param;
++ EVP_PKEY_CTX_set0_keygen_info;
++ DIST_POINT_set_dpname;
++ i2d_ISSUING_DIST_POINT;
++ ASN1_SET_ANY_it;
++ EVP_PKEY_CTX_get_data;
++ TS_STATUS_INFO_print_bio;
++ EVP_PKEY_derive_init;
++ d2i_TS_TST_INFO;
++ EVP_PKEY_asn1_add_alias;
++ d2i_TS_RESP_bio;
++ OTHERNAME_cmp;
++ GENERAL_NAME_set0_value;
++ PKCS7_RECIP_INFO_get0_alg;
++ TS_RESP_CTX_new;
++ TS_RESP_set_tst_info;
++ PKCS7_final;
++ EVP_PKEY_base_id;
++ TS_RESP_CTX_set_signer_cert;
++ TS_REQ_set_msg_imprint;
++ EVP_PKEY_CTX_ctrl;
++ TS_CONF_set_digests;
++ d2i_TS_MSG_IMPRINT;
++ EVP_PKEY_meth_set_ctrl;
++ TS_REQ_get_ext_by_NID;
++ PKCS5_pbe_set0_algor;
++ BN_BLINDING_thread_id;
++ TS_ACCURACY_new;
++ X509_CRL_METHOD_free;
++ ASN1_PCTX_get_nm_flags;
++ EVP_PKEY_meth_set_sign;
++ CRYPTO_THREADID_current;
++ EVP_PKEY_decrypt_init;
++ NETSCAPE_X509_free;
++ i2b_PVK_bio;
++ EVP_PKEY_print_private;
++ GENERAL_NAME_get0_value;
++ b2i_PVK_bio;
++ ASN1_UTCTIME_adj;
++ TS_TST_INFO_new;
++ EVP_MD_do_all_sorted;
++ TS_CONF_set_default_engine;
++ TS_ACCURACY_set_seconds;
++ TS_TST_INFO_get_time;
++ PKCS8_pkey_get0;
++ EVP_PKEY_asn1_get0;
++ OBJ_add_sigid;
++ PKCS7_SIGNER_INFO_sign;
++ EVP_PKEY_paramgen_init;
++ EVP_PKEY_sign;
++ OBJ_sigid_free;
++ EVP_PKEY_meth_set_init;
++ d2i_ESS_ISSUER_SERIAL;
++ ISSUING_DIST_POINT_new;
++ ASN1_TIME_adj;
++ TS_OBJ_print_bio;
++ EVP_PKEY_meth_set_verify_recover;
++ EVP_PKEY_meth_set_vrfy_recover;
++ TS_RESP_get_status_info;
++ CMS_stream;
++ EVP_PKEY_CTX_set_cb;
++ PKCS7_to_TS_TST_INFO;
++ ASN1_PCTX_get_oid_flags;
++ TS_TST_INFO_add_ext;
++ EVP_PKEY_meth_set_derive;
++ i2d_TS_RESP_fp;
++ i2d_TS_MSG_IMPRINT_bio;
++ TS_RESP_CTX_set_accuracy;
++ TS_REQ_set_nonce;
++ ESS_CERT_ID_new;
++ ENGINE_pkey_asn1_find_str;
++ TS_REQ_get_ext_count;
++ BUF_reverse;
++ TS_TST_INFO_print_bio;
++ d2i_ISSUING_DIST_POINT;
++ ENGINE_get_pkey_meths;
++ i2b_PrivateKey_bio;
++ i2d_TS_RESP;
++ b2i_PublicKey;
++ TS_VERIFY_CTX_cleanup;
++ TS_STATUS_INFO_free;
++ TS_RESP_verify_token;
++ OBJ_bsearch_ex_;
++ ASN1_bn_print;
++ EVP_PKEY_asn1_get_count;
++ ENGINE_register_pkey_asn1_meths;
++ ASN1_PCTX_set_nm_flags;
++ EVP_DigestVerifyInit;
++ ENGINE_set_default_pkey_meths;
++ TS_TST_INFO_get_policy_id;
++ TS_REQ_get_cert_req;
++ X509_CRL_set_meth_data;
++ PKCS8_pkey_set0;
++ ASN1_STRING_copy;
++ d2i_TS_TST_INFO_fp;
++ X509_CRL_match;
++ EVP_PKEY_asn1_set_private;
++ TS_TST_INFO_get_ext_d2i;
++ TS_RESP_CTX_add_policy;
++ d2i_TS_RESP;
++ TS_CONF_load_certs;
++ TS_TST_INFO_get_msg_imprint;
++ ERR_load_TS_strings;
++ TS_TST_INFO_get_version;
++ EVP_PKEY_CTX_dup;
++ EVP_PKEY_meth_set_verify;
++ i2b_PublicKey_bio;
++ TS_CONF_set_certs;
++ EVP_PKEY_asn1_get0_info;
++ TS_VERIFY_CTX_free;
++ TS_REQ_get_ext_by_critical;
++ TS_RESP_CTX_set_serial_cb;
++ X509_CRL_get_meth_data;
++ TS_RESP_CTX_set_time_cb;
++ TS_MSG_IMPRINT_get_msg;
++ TS_TST_INFO_ext_free;
++ TS_REQ_get_version;
++ TS_REQ_add_ext;
++ EVP_PKEY_CTX_set_app_data;
++ OBJ_bsearch_;
++ EVP_PKEY_meth_set_verifyctx;
++ i2d_PKCS7_bio_stream;
++ CRYPTO_THREADID_set_numeric;
++ PKCS7_sign_add_signer;
++ d2i_TS_TST_INFO_bio;
++ TS_TST_INFO_get_ordering;
++ TS_RESP_print_bio;
++ TS_TST_INFO_get_exts;
++ HMAC_CTX_copy;
++ PKCS5_pbe2_set_iv;
++ ENGINE_get_pkey_asn1_meths;
++ b2i_PrivateKey;
++ EVP_PKEY_CTX_get_app_data;
++ TS_REQ_set_cert_req;
++ CRYPTO_THREADID_set_callback;
++ TS_CONF_set_serial;
++ TS_TST_INFO_free;
++ d2i_TS_REQ_fp;
++ TS_RESP_verify_response;
++ i2d_ESS_ISSUER_SERIAL;
++ TS_ACCURACY_get_seconds;
++ EVP_CIPHER_do_all;
++ b2i_PrivateKey_bio;
++ OCSP_CERTID_dup;
++ X509_PUBKEY_get0_param;
++ TS_MSG_IMPRINT_dup;
++ PKCS7_print_ctx;
++ i2d_TS_REQ_bio;
++ EVP_whirlpool;
++ EVP_PKEY_asn1_set_param;
++ EVP_PKEY_meth_set_encrypt;
++ ASN1_PCTX_set_flags;
++ i2d_ESS_CERT_ID;
++ TS_VERIFY_CTX_new;
++ TS_RESP_CTX_set_extension_cb;
++ ENGINE_register_all_pkey_meths;
++ TS_RESP_CTX_set_status_info_cond;
++ TS_RESP_CTX_set_stat_info_cond;
++ EVP_PKEY_verify;
++ WHIRLPOOL_Final;
++ X509_CRL_METHOD_new;
++ EVP_DigestSignFinal;
++ TS_RESP_CTX_set_def_policy;
++ NETSCAPE_X509_it;
++ TS_RESP_create_response;
++ PKCS7_SIGNER_INFO_get0_algs;
++ TS_TST_INFO_get_nonce;
++ EVP_PKEY_decrypt_old;
++ TS_TST_INFO_set_policy_id;
++ TS_CONF_set_ess_cert_id_chain;
++ EVP_PKEY_CTX_get0_pkey;
++ d2i_TS_REQ;
++ EVP_PKEY_asn1_find_str;
++ BIO_f_asn1;
++ ESS_SIGNING_CERT_new;
++ EVP_PBE_find;
++ X509_CRL_get0_by_cert;
++ EVP_PKEY_derive;
++ i2d_TS_REQ;
++ TS_TST_INFO_delete_ext;
++ ESS_ISSUER_SERIAL_free;
++ ASN1_PCTX_set_str_flags;
++ ENGINE_get_pkey_asn1_meth_str;
++ TS_CONF_set_signer_key;
++ TS_ACCURACY_get_millis;
++ TS_RESP_get_token;
++ TS_ACCURACY_dup;
++ ENGINE_register_all_pkey_asn1_meths;
++ ENGINE_reg_all_pkey_asn1_meths;
++ X509_CRL_set_default_method;
++ CRYPTO_THREADID_hash;
++ CMS_ContentInfo_print_ctx;
++ TS_RESP_free;
++ ISSUING_DIST_POINT_free;
++ ESS_ISSUER_SERIAL_new;
++ CMS_add1_crl;
++ PKCS7_add1_attrib_digest;
++ TS_RESP_CTX_add_md;
++ TS_TST_INFO_dup;
++ ENGINE_set_pkey_asn1_meths;
++ PEM_write_bio_Parameters;
++ TS_TST_INFO_get_accuracy;
++ X509_CRL_get0_by_serial;
++ TS_TST_INFO_set_version;
++ TS_RESP_CTX_get_tst_info;
++ TS_RESP_verify_signature;
++ CRYPTO_THREADID_get_callback;
++ TS_TST_INFO_get_tsa;
++ TS_STATUS_INFO_new;
++ EVP_PKEY_CTX_get_cb;
++ TS_REQ_get_ext_d2i;
++ GENERAL_NAME_set0_othername;
++ TS_TST_INFO_get_ext_count;
++ TS_RESP_CTX_get_request;
++ i2d_NETSCAPE_X509;
++ ENGINE_get_pkey_meth_engine;
++ EVP_PKEY_meth_set_signctx;
++ EVP_PKEY_asn1_copy;
++ ASN1_TYPE_cmp;
++ EVP_CIPHER_do_all_sorted;
++ EVP_PKEY_CTX_free;
++ ISSUING_DIST_POINT_it;
++ d2i_TS_MSG_IMPRINT_fp;
++ X509_STORE_get1_certs;
++ EVP_PKEY_CTX_get_operation;
++ d2i_ESS_SIGNING_CERT;
++ TS_CONF_set_ordering;
++ EVP_PBE_alg_add_type;
++ TS_REQ_set_version;
++ EVP_PKEY_get0;
++ BIO_asn1_set_suffix;
++ i2d_TS_STATUS_INFO;
++ EVP_MD_do_all;
++ TS_TST_INFO_set_accuracy;
++ PKCS7_add_attrib_content_type;
++ ERR_remove_thread_state;
++ EVP_PKEY_meth_add0;
++ TS_TST_INFO_set_tsa;
++ EVP_PKEY_meth_new;
++ WHIRLPOOL_Update;
++ TS_CONF_set_accuracy;
++ ASN1_PCTX_set_oid_flags;
++ ESS_SIGNING_CERT_dup;
++ d2i_TS_REQ_bio;
++ X509_time_adj_ex;
++ TS_RESP_CTX_add_flags;
++ d2i_TS_STATUS_INFO;
++ TS_MSG_IMPRINT_set_msg;
++ BIO_asn1_get_suffix;
++ TS_REQ_free;
++ EVP_PKEY_meth_free;
++ TS_REQ_get_exts;
++ TS_RESP_CTX_set_clock_precision_digits;
++ TS_RESP_CTX_set_clk_prec_digits;
++ TS_RESP_CTX_add_failure_info;
++ i2d_TS_RESP_bio;
++ EVP_PKEY_CTX_get0_peerkey;
++ PEM_write_bio_CMS_stream;
++ TS_REQ_new;
++ TS_MSG_IMPRINT_new;
++ EVP_PKEY_meth_find;
++ EVP_PKEY_id;
++ TS_TST_INFO_set_serial;
++ a2i_GENERAL_NAME;
++ TS_CONF_set_crypto_device;
++ EVP_PKEY_verify_init;
++ TS_CONF_set_policies;
++ ASN1_PCTX_new;
++ ESS_CERT_ID_free;
++ ENGINE_unregister_pkey_meths;
++ TS_MSG_IMPRINT_free;
++ TS_VERIFY_CTX_init;
++ PKCS7_stream;
++ TS_RESP_CTX_set_certs;
++ TS_CONF_set_def_policy;
++ ASN1_GENERALIZEDTIME_adj;
++ NETSCAPE_X509_new;
++ TS_ACCURACY_free;
++ TS_RESP_get_tst_info;
++ EVP_PKEY_derive_set_peer;
++ PEM_read_bio_Parameters;
++ TS_CONF_set_clock_precision_digits;
++ TS_CONF_set_clk_prec_digits;
++ ESS_ISSUER_SERIAL_dup;
++ TS_ACCURACY_get_micros;
++ ASN1_PCTX_get_str_flags;
++ NAME_CONSTRAINTS_check;
++ ASN1_BIT_STRING_check;
++ X509_check_akid;
++ ENGINE_unregister_pkey_asn1_meths;
++ ENGINE_unreg_pkey_asn1_meths;
++ ASN1_PCTX_free;
++ PEM_write_bio_ASN1_stream;
++ i2d_ASN1_bio_stream;
++ TS_X509_ALGOR_print_bio;
++ EVP_PKEY_meth_set_cleanup;
++ EVP_PKEY_asn1_free;
++ ESS_SIGNING_CERT_free;
++ TS_TST_INFO_set_msg_imprint;
++ GENERAL_NAME_cmp;
++ d2i_ASN1_SET_ANY;
++ ENGINE_set_pkey_meths;
++ i2d_TS_REQ_fp;
++ d2i_ASN1_SEQUENCE_ANY;
++ GENERAL_NAME_get0_otherName;
++ d2i_ESS_CERT_ID;
++ OBJ_find_sigid_algs;
++ EVP_PKEY_meth_set_keygen;
++ PKCS5_PBKDF2_HMAC;
++ EVP_PKEY_paramgen;
++ EVP_PKEY_meth_set_paramgen;
++ BIO_new_PKCS7;
++ EVP_PKEY_verify_recover;
++ TS_ext_print_bio;
++ TS_ASN1_INTEGER_print_bio;
++ check_defer;
++ DSO_pathbyaddr;
++ EVP_PKEY_set_type;
++ TS_ACCURACY_set_micros;
++ TS_REQ_to_TS_VERIFY_CTX;
++ EVP_PKEY_meth_set_copy;
++ ASN1_PCTX_set_cert_flags;
++ TS_TST_INFO_get_ext;
++ EVP_PKEY_asn1_set_ctrl;
++ TS_TST_INFO_get_ext_by_critical;
++ EVP_PKEY_CTX_new_id;
++ TS_REQ_get_ext_by_OBJ;
++ TS_CONF_set_signer_cert;
++ X509_NAME_hash_old;
++ ASN1_TIME_set_string;
++ EVP_MD_flags;
++ TS_RESP_CTX_free;
++ DSAparams_dup;
++ DHparams_dup;
++ OCSP_REQ_CTX_add1_header;
++ OCSP_REQ_CTX_set1_req;
++ X509_STORE_set_verify_cb;
++ X509_STORE_CTX_get0_current_crl;
++ X509_STORE_CTX_get0_parent_ctx;
++ X509_STORE_CTX_get0_current_issuer;
++ X509_STORE_CTX_get0_cur_issuer;
++ X509_issuer_name_hash_old;
++ X509_subject_name_hash_old;
++ EVP_CIPHER_CTX_copy;
++ UI_method_get_prompt_constructor;
++ UI_method_get_prompt_constructr;
++ UI_method_set_prompt_constructor;
++ UI_method_set_prompt_constructr;
++ EVP_read_pw_string_min;
++ CRYPTO_cts128_encrypt;
++ CRYPTO_cts128_decrypt_block;
++ CRYPTO_cfb128_1_encrypt;
++ CRYPTO_cbc128_encrypt;
++ CRYPTO_ctr128_encrypt;
++ CRYPTO_ofb128_encrypt;
++ CRYPTO_cts128_decrypt;
++ CRYPTO_cts128_encrypt_block;
++ CRYPTO_cbc128_decrypt;
++ CRYPTO_cfb128_encrypt;
++ CRYPTO_cfb128_8_encrypt;
++
++ local:
++ *;
++};
++
++
++OPENSSL_1.0.1 {
++ global:
++ SSL_renegotiate_abbreviated;
++ TLSv1_1_method;
++ TLSv1_1_client_method;
++ TLSv1_1_server_method;
++ SSL_CTX_set_srp_client_pwd_callback;
++ SSL_CTX_set_srp_client_pwd_cb;
++ SSL_get_srp_g;
++ SSL_CTX_set_srp_username_callback;
++ SSL_CTX_set_srp_un_cb;
++ SSL_get_srp_userinfo;
++ SSL_set_srp_server_param;
++ SSL_set_srp_server_param_pw;
++ SSL_get_srp_N;
++ SSL_get_srp_username;
++ SSL_CTX_set_srp_password;
++ SSL_CTX_set_srp_strength;
++ SSL_CTX_set_srp_verify_param_callback;
++ SSL_CTX_set_srp_vfy_param_cb;
++ SSL_CTX_set_srp_cb_arg;
++ SSL_CTX_set_srp_username;
++ SSL_CTX_SRP_CTX_init;
++ SSL_SRP_CTX_init;
++ SRP_Calc_A_param;
++ SRP_generate_server_master_secret;
++ SRP_gen_server_master_secret;
++ SSL_CTX_SRP_CTX_free;
++ SRP_generate_client_master_secret;
++ SRP_gen_client_master_secret;
++ SSL_srp_server_param_with_username;
++ SSL_srp_server_param_with_un;
++ SSL_SRP_CTX_free;
++ SSL_set_debug;
++ SSL_SESSION_get0_peer;
++ TLSv1_2_client_method;
++ SSL_SESSION_set1_id_context;
++ TLSv1_2_server_method;
++ SSL_cache_hit;
++ SSL_get0_kssl_ctx;
++ SSL_set0_kssl_ctx;
++ SSL_set_state;
++ SSL_CIPHER_get_id;
++ TLSv1_2_method;
++ kssl_ctx_get0_client_princ;
++ SSL_export_keying_material;
++ SSL_set_tlsext_use_srtp;
++ SSL_CTX_set_next_protos_advertised_cb;
++ SSL_CTX_set_next_protos_adv_cb;
++ SSL_get0_next_proto_negotiated;
++ SSL_get_selected_srtp_profile;
++ SSL_CTX_set_tlsext_use_srtp;
++ SSL_select_next_proto;
++ SSL_get_srtp_profiles;
++ SSL_CTX_set_next_proto_select_cb;
++ SSL_CTX_set_next_proto_sel_cb;
++ SSL_SESSION_get_compress_id;
++
++ SRP_VBASE_get_by_user;
++ SRP_Calc_server_key;
++ SRP_create_verifier;
++ SRP_create_verifier_BN;
++ SRP_Calc_u;
++ SRP_VBASE_free;
++ SRP_Calc_client_key;
++ SRP_get_default_gN;
++ SRP_Calc_x;
++ SRP_Calc_B;
++ SRP_VBASE_new;
++ SRP_check_known_gN_param;
++ SRP_Calc_A;
++ SRP_Verify_A_mod_N;
++ SRP_VBASE_init;
++ SRP_Verify_B_mod_N;
++ EC_KEY_set_public_key_affine_coordinates;
++ EC_KEY_set_pub_key_aff_coords;
++ EVP_aes_192_ctr;
++ EVP_PKEY_meth_get0_info;
++ EVP_PKEY_meth_copy;
++ ERR_add_error_vdata;
++ EVP_aes_128_ctr;
++ EVP_aes_256_ctr;
++ EC_GFp_nistp224_method;
++ EC_KEY_get_flags;
++ RSA_padding_add_PKCS1_PSS_mgf1;
++ EVP_aes_128_xts;
++ EVP_aes_256_xts;
++ EVP_aes_128_gcm;
++ EC_KEY_clear_flags;
++ EC_KEY_set_flags;
++ EVP_aes_256_ccm;
++ RSA_verify_PKCS1_PSS_mgf1;
++ EVP_aes_128_ccm;
++ EVP_aes_192_gcm;
++ X509_ALGOR_set_md;
++ RAND_init_fips;
++ EVP_aes_256_gcm;
++ EVP_aes_192_ccm;
++ CMAC_CTX_copy;
++ CMAC_CTX_free;
++ CMAC_CTX_get0_cipher_ctx;
++ CMAC_CTX_cleanup;
++ CMAC_Init;
++ CMAC_Update;
++ CMAC_resume;
++ CMAC_CTX_new;
++ CMAC_Final;
++ CRYPTO_ctr128_encrypt_ctr32;
++ CRYPTO_gcm128_release;
++ CRYPTO_ccm128_decrypt_ccm64;
++ CRYPTO_ccm128_encrypt;
++ CRYPTO_gcm128_encrypt;
++ CRYPTO_xts128_encrypt;
++ EVP_rc4_hmac_md5;
++ CRYPTO_nistcts128_decrypt_block;
++ CRYPTO_gcm128_setiv;
++ CRYPTO_nistcts128_encrypt;
++ EVP_aes_128_cbc_hmac_sha1;
++ CRYPTO_gcm128_tag;
++ CRYPTO_ccm128_encrypt_ccm64;
++ ENGINE_load_rdrand;
++ CRYPTO_ccm128_setiv;
++ CRYPTO_nistcts128_encrypt_block;
++ CRYPTO_gcm128_aad;
++ CRYPTO_ccm128_init;
++ CRYPTO_nistcts128_decrypt;
++ CRYPTO_gcm128_new;
++ CRYPTO_ccm128_tag;
++ CRYPTO_ccm128_decrypt;
++ CRYPTO_ccm128_aad;
++ CRYPTO_gcm128_init;
++ CRYPTO_gcm128_decrypt;
++ ENGINE_load_rsax;
++ CRYPTO_gcm128_decrypt_ctr32;
++ CRYPTO_gcm128_encrypt_ctr32;
++ CRYPTO_gcm128_finish;
++ EVP_aes_256_cbc_hmac_sha1;
++ PKCS5_pbkdf2_set;
++ CMS_add0_recipient_password;
++ CMS_decrypt_set1_password;
++ CMS_RecipientInfo_set0_password;
++ RAND_set_fips_drbg_type;
++ X509_REQ_sign_ctx;
++ RSA_PSS_PARAMS_new;
++ X509_CRL_sign_ctx;
++ X509_signature_dump;
++ d2i_RSA_PSS_PARAMS;
++ RSA_PSS_PARAMS_it;
++ RSA_PSS_PARAMS_free;
++ X509_sign_ctx;
++ i2d_RSA_PSS_PARAMS;
++ ASN1_item_sign_ctx;
++ EC_GFp_nistp521_method;
++ EC_GFp_nistp256_method;
++ OPENSSL_stderr;
++ OPENSSL_cpuid_setup;
++ OPENSSL_showfatal;
++ BIO_new_dgram_sctp;
++ BIO_dgram_sctp_msg_waiting;
++ BIO_dgram_sctp_wait_for_dry;
++ BIO_s_datagram_sctp;
++ BIO_dgram_is_sctp;
++ BIO_dgram_sctp_notification_cb;
++} OPENSSL_1.0.0;
++
++OPENSSL_1.0.1d {
++ global:
++ CRYPTO_memcmp;
++} OPENSSL_1.0.1;
++
++OPENSSL_1.0.1s {
++ global:
++ SRP_VBASE_get1_by_user;
++ SRP_user_pwd_free;
++} OPENSSL_1.0.1d;
++
++OPENSSL_1.0.2 {
++ global:
++ SSL_CTX_set_alpn_protos;
++ SSL_set_alpn_protos;
++ SSL_CTX_set_alpn_select_cb;
++ SSL_get0_alpn_selected;
++ SSL_CTX_set_custom_cli_ext;
++ SSL_CTX_set_custom_srv_ext;
++ SSL_CTX_set_srv_supp_data;
++ SSL_CTX_set_cli_supp_data;
++ SSL_set_cert_cb;
++ SSL_CTX_use_serverinfo;
++ SSL_CTX_use_serverinfo_file;
++ SSL_CTX_set_cert_cb;
++ SSL_CTX_get0_param;
++ SSL_get0_param;
++ SSL_certs_clear;
++ DTLSv1_2_method;
++ DTLSv1_2_server_method;
++ DTLSv1_2_client_method;
++ DTLS_method;
++ DTLS_server_method;
++ DTLS_client_method;
++ SSL_CTX_get_ssl_method;
++ SSL_CTX_get0_certificate;
++ SSL_CTX_get0_privatekey;
++ SSL_COMP_set0_compression_methods;
++ SSL_COMP_free_compression_methods;
++ SSL_CIPHER_find;
++ SSL_is_server;
++ SSL_CONF_CTX_new;
++ SSL_CONF_CTX_finish;
++ SSL_CONF_CTX_free;
++ SSL_CONF_CTX_set_flags;
++ SSL_CONF_CTX_clear_flags;
++ SSL_CONF_CTX_set1_prefix;
++ SSL_CONF_CTX_set_ssl;
++ SSL_CONF_CTX_set_ssl_ctx;
++ SSL_CONF_cmd;
++ SSL_CONF_cmd_argv;
++ SSL_CONF_cmd_value_type;
++ SSL_trace;
++ SSL_CIPHER_standard_name;
++ SSL_get_tlsa_record_byname;
++ ASN1_TIME_diff;
++ BIO_hex_string;
++ CMS_RecipientInfo_get0_pkey_ctx;
++ CMS_RecipientInfo_encrypt;
++ CMS_SignerInfo_get0_pkey_ctx;
++ CMS_SignerInfo_get0_md_ctx;
++ CMS_SignerInfo_get0_signature;
++ CMS_RecipientInfo_kari_get0_alg;
++ CMS_RecipientInfo_kari_get0_reks;
++ CMS_RecipientInfo_kari_get0_orig_id;
++ CMS_RecipientInfo_kari_orig_id_cmp;
++ CMS_RecipientEncryptedKey_get0_id;
++ CMS_RecipientEncryptedKey_cert_cmp;
++ CMS_RecipientInfo_kari_set0_pkey;
++ CMS_RecipientInfo_kari_get0_ctx;
++ CMS_RecipientInfo_kari_decrypt;
++ CMS_SharedInfo_encode;
++ DH_compute_key_padded;
++ d2i_DHxparams;
++ i2d_DHxparams;
++ DH_get_1024_160;
++ DH_get_2048_224;
++ DH_get_2048_256;
++ DH_KDF_X9_42;
++ ECDH_KDF_X9_62;
++ ECDSA_METHOD_new;
++ ECDSA_METHOD_free;
++ ECDSA_METHOD_set_app_data;
++ ECDSA_METHOD_get_app_data;
++ ECDSA_METHOD_set_sign;
++ ECDSA_METHOD_set_sign_setup;
++ ECDSA_METHOD_set_verify;
++ ECDSA_METHOD_set_flags;
++ ECDSA_METHOD_set_name;
++ EVP_des_ede3_wrap;
++ EVP_aes_128_wrap;
++ EVP_aes_192_wrap;
++ EVP_aes_256_wrap;
++ EVP_aes_128_cbc_hmac_sha256;
++ EVP_aes_256_cbc_hmac_sha256;
++ CRYPTO_128_wrap;
++ CRYPTO_128_unwrap;
++ OCSP_REQ_CTX_nbio;
++ OCSP_REQ_CTX_new;
++ OCSP_set_max_response_length;
++ OCSP_REQ_CTX_i2d;
++ OCSP_REQ_CTX_nbio_d2i;
++ OCSP_REQ_CTX_get0_mem_bio;
++ OCSP_REQ_CTX_http;
++ RSA_padding_add_PKCS1_OAEP_mgf1;
++ RSA_padding_check_PKCS1_OAEP_mgf1;
++ RSA_OAEP_PARAMS_free;
++ RSA_OAEP_PARAMS_it;
++ RSA_OAEP_PARAMS_new;
++ SSL_get_sigalgs;
++ SSL_get_shared_sigalgs;
++ SSL_check_chain;
++ X509_chain_up_ref;
++ X509_http_nbio;
++ X509_CRL_http_nbio;
++ X509_REVOKED_dup;
++ i2d_re_X509_tbs;
++ X509_get0_signature;
++ X509_get_signature_nid;
++ X509_CRL_diff;
++ X509_chain_check_suiteb;
++ X509_CRL_check_suiteb;
++ X509_check_host;
++ X509_check_email;
++ X509_check_ip;
++ X509_check_ip_asc;
++ X509_STORE_set_lookup_crls_cb;
++ X509_STORE_CTX_get0_store;
++ X509_VERIFY_PARAM_set1_host;
++ X509_VERIFY_PARAM_add1_host;
++ X509_VERIFY_PARAM_set_hostflags;
++ X509_VERIFY_PARAM_get0_peername;
++ X509_VERIFY_PARAM_set1_email;
++ X509_VERIFY_PARAM_set1_ip;
++ X509_VERIFY_PARAM_set1_ip_asc;
++ X509_VERIFY_PARAM_get0_name;
++ X509_VERIFY_PARAM_get_count;
++ X509_VERIFY_PARAM_get0;
++ X509V3_EXT_free;
++ EC_GROUP_get_mont_data;
++ EC_curve_nid2nist;
++ EC_curve_nist2nid;
++ PEM_write_bio_DHxparams;
++ PEM_write_DHxparams;
++ SSL_CTX_add_client_custom_ext;
++ SSL_CTX_add_server_custom_ext;
++ SSL_extension_supported;
++ BUF_strnlen;
++ sk_deep_copy;
++ SSL_test_functions;
++} OPENSSL_1.0.1d;
diff --git a/abs/core/openssl/ssl3-test-failure.patch b/abs/core/openssl-1.0/ssl3-test-failure.patch
index d161c3d..d161c3d 100644
--- a/abs/core/openssl/ssl3-test-failure.patch
+++ b/abs/core/openssl-1.0/ssl3-test-failure.patch
diff --git a/abs/core/openssl/PKGBUILD b/abs/core/openssl/PKGBUILD
index 8752c9d..caeb0e2 100644
--- a/abs/core/openssl/PKGBUILD
+++ b/abs/core/openssl/PKGBUILD
@@ -2,46 +2,35 @@
# Maintainer: Pierre Schmitz <pierre@archlinux.de>
pkgname=openssl
-_ver=1.0.2g
+_ver=1.1.0g
# use a pacman compatible version scheme
pkgver=${_ver/[a-z]/.${_ver//[0-9.]/}}
#pkgver=$_ver
-pkgrel=3
+pkgrel=1
pkgdesc='The Open Source toolkit for Secure Sockets Layer and Transport Layer Security'
-arch=('i686' 'x86_64')
+arch=('x86_64')
url='https://www.openssl.org'
license=('custom:BSD')
depends=('perl')
optdepends=('ca-certificates')
-options=('!makeflags')
backup=('etc/ssl/openssl.cnf')
source=("https://www.openssl.org/source/${pkgname}-${_ver}.tar.gz"
"https://www.openssl.org/source/${pkgname}-${_ver}.tar.gz.asc"
- 'no-rpath.patch'
- 'ssl3-test-failure.patch'
'ca-dir.patch')
-md5sums=('f3c710c045cdee5fd114feb69feba7aa'
- 'SKIP'
- 'dc78d3d06baffc16217519242ce92478'
- '62fc492252edd3283871632bb77fadbe'
- '3bf51be3a1bbd262be46dc619f92aa90')
+sha256sums=('de4d501267da39310905cb6dc8c6121f7a2cad45a7707f76df828fe1b85073af'
+ 'SKIP'
+ '90c7411fed0157116f2df8f4be755aaf5a26e8484351b4e6a79492805d5f2790')
validpgpkeys=('8657ABB260F056B1E5190839D9C4D26D0E604491')
prepare() {
- cd $srcdir/$pkgname-$_ver
-
- # remove rpath: http://bugs.archlinux.org/task/14367
- patch -p0 -i $srcdir/no-rpath.patch
-
- # disable a test that fails when ssl3 is disabled
- patch -p1 -i $srcdir/ssl3-test-failure.patch
+ cd "$srcdir/$pkgname-$_ver"
# set ca dir to /etc/ssl by default
- patch -p0 -i $srcdir/ca-dir.patch
+ patch -p0 -i "$srcdir/ca-dir.patch"
}
build() {
- cd $srcdir/$pkgname-$_ver
+ cd "$srcdir/$pkgname-$_ver"
if [ "${CARCH}" == 'x86_64' ]; then
openssltarget='linux-x86_64'
@@ -62,16 +51,16 @@ build() {
}
check() {
- cd $srcdir/$pkgname-$_ver
+ cd "$srcdir/$pkgname-$_ver"
# the test fails due to missing write permissions in /etc/ssl
# revert this patch for make test
- patch -p0 -R -i $srcdir/ca-dir.patch
+ patch -p0 -R -i "$srcdir/ca-dir.patch"
make test
- patch -p0 -i $srcdir/ca-dir.patch
+ patch -p0 -i "$srcdir/ca-dir.patch"
}
package() {
- cd $srcdir/$pkgname-$_ver
- make INSTALL_PREFIX=$pkgdir MANDIR=/usr/share/man MANSUFFIX=ssl install
+ cd "$srcdir/$pkgname-$_ver"
+ make DESTDIR=$pkgdir MANDIR=/usr/share/man MANSUFFIX=ssl install_sw install_ssldirs install_man_docs
install -D -m644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
}
diff --git a/abs/core/openssl/ca-dir.patch b/abs/core/openssl/ca-dir.patch
index 41d1386..1daba84 100644
--- a/abs/core/openssl/ca-dir.patch
+++ b/abs/core/openssl/ca-dir.patch
@@ -1,27 +1,16 @@
---- apps/CA.pl.in 2006-04-28 02:30:49.000000000 +0200
-+++ apps/CA.pl.in 2010-04-01 00:35:02.600553509 +0200
-@@ -53,7 +53,7 @@
- $X509="$openssl x509";
- $PKCS12="$openssl pkcs12";
+--- apps/CA.pl.in 2016-09-26 11:46:04.000000000 +0200
++++ apps/CA.pl.in 2016-11-01 16:02:16.709616823 +0100
+@@ -33,7 +33,7 @@
+ my $PKCS12 = "$openssl pkcs12";
--$CATOP="./demoCA";
-+$CATOP="/etc/ssl";
- $CAKEY="cakey.pem";
- $CAREQ="careq.pem";
- $CACERT="cacert.pem";
---- apps/CA.sh 2009-10-15 19:27:47.000000000 +0200
-+++ apps/CA.sh 2010-04-01 00:35:02.600553509 +0200
-@@ -68,7 +68,7 @@
- X509="$OPENSSL x509"
- PKCS12="openssl pkcs12"
-
--if [ -z "$CATOP" ] ; then CATOP=./demoCA ; fi
-+if [ -z "$CATOP" ] ; then CATOP=/etc/ssl ; fi
- CAKEY=./cakey.pem
- CAREQ=./careq.pem
- CACERT=./cacert.pem
---- apps/openssl.cnf 2009-04-04 20:09:43.000000000 +0200
-+++ apps/openssl.cnf 2010-04-01 00:35:02.607220681 +0200
+ # default openssl.cnf file has setup as per the following
+-my $CATOP = "./demoCA";
++my $CATOP = "/etc/ssl";
+ my $CAKEY = "cakey.pem";
+ my $CAREQ = "careq.pem";
+ my $CACERT = "cacert.pem";
+--- apps/openssl.cnf 2016-09-26 11:46:04.000000000 +0200
++++ apps/openssl.cnf 2016-11-01 16:02:48.378503427 +0100
@@ -39,7 +39,7 @@
####################################################################
[ CA_default ]
@@ -31,3 +20,12 @@
certs = $dir/certs # Where the issued certs are kept
crl_dir = $dir/crl # Where the issued crl are kept
database = $dir/index.txt # database index file.
+@@ -323,7 +323,7 @@
+ [ tsa_config1 ]
+
+ # These are used by the TSA reply generation only.
+-dir = ./demoCA # TSA root directory
++dir = /etc/ssl # TSA root directory
+ serial = $dir/tsaserial # The current serial number (mandatory)
+ crypto_device = builtin # OpenSSL engine to use for signing
+ signer_cert = $dir/tsacert.pem # The TSA signing certificate
diff --git a/abs/core/pacman/0001-libmakepkg-fix-is_array-function.patch b/abs/core/pacman/0001-libmakepkg-fix-is_array-function.patch
deleted file mode 100644
index b8ada06..0000000
--- a/abs/core/pacman/0001-libmakepkg-fix-is_array-function.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 2822a45fa91b430c99b4b8bd3531ee745ada1ab7 Mon Sep 17 00:00:00 2001
-From: Allan McRae <allan@archlinux.org>
-Date: Fri, 26 Feb 2016 15:01:11 +1000
-Subject: [PATCH] libmakepkg: fix is_array function
-
-This happened to work for the majority of cases because the only calling
-function used a variable named "i" that was related to the variable being
-passed to the function.
-
-Fixes FS#48340.
-
-Signed-off-by: Allan McRae <allan@archlinux.org>
----
- scripts/libmakepkg/util/util.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/scripts/libmakepkg/util/util.sh b/scripts/libmakepkg/util/util.sh
-index 675e75d..f9f1c20 100644
---- a/scripts/libmakepkg/util/util.sh
-+++ b/scripts/libmakepkg/util/util.sh
-@@ -46,7 +46,7 @@ is_array() {
- local shellopts=$(shopt -p)
- shopt -s extglob
-
-- if [[ $(declare -p "$i") == declare\ -*([[:alnum:]])a*([[:alnum:]])\ * ]]; then
-+ if [[ $(declare -p "$v") == declare\ -*([[:alnum:]])a*([[:alnum:]])\ * ]]; then
- ret=0
- fi
-
---
-2.7.1
-
diff --git a/abs/core/pacman/PKGBUILD b/abs/core/pacman/PKGBUILD
index 877dc11..e30c4bd 100644
--- a/abs/core/pacman/PKGBUILD
+++ b/abs/core/pacman/PKGBUILD
@@ -4,39 +4,31 @@
# Maintainer: Dave Reisner <dreisner@archlinux.org>
pkgname=pacman
-pkgver=5.0.1
+pkgver=5.0.2
pkgrel=2
pkgdesc="A library-based package manager with dependency support"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://www.archlinux.org/pacman/"
license=('GPL')
groups=('base' 'base-devel')
depends=('bash' 'glibc' 'libarchive' 'curl'
'gpgme' 'pacman-mirrorlist' 'archlinux-keyring')
-makedepends=('asciidoc') # roundup patch alters docs
+makedepends=('asciidoc')
checkdepends=('python2' 'fakechroot')
provides=('pacman-contrib')
conflicts=('pacman-contrib')
replaces=('pacman-contrib')
backup=(etc/pacman.conf etc/makepkg.conf)
-install=pacman.install
options=('strip' 'debug')
+validpgpkeys=('6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD' # Allan McRae <allan@archlinux.org>
+ 'B8151B117037781095514CA7BBDFFC92306B1121') # Andrew Gregory (pacman) <andrew@archlinux.org>
source=(https://sources.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz{,.sig}
- 0001-libmakepkg-fix-is_array-function.patch
pacman.conf.i686
pacman.conf.x86_64
makepkg-asroot.patch
- pacman.cron
makepkg.conf)
-validpgpkeys=('6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD') # Allan McRae <allan@archlinux.org>
-prepare() {
- cd "$pkgname-$pkgver"
-
- patch -p1 -i $srcdir/0001-libmakepkg-fix-is_array-function.patch
-}
-
build() {
cd "$pkgname-$pkgver"
@@ -70,7 +62,7 @@ package() {
;;
x86_64)
mycarch="x86_64"
- mychost="x86_64-unknown-linux-gnu"
+ mychost="x86_64-pc-linux-gnu"
myflags="-march=x86-64"
;;
esac
@@ -96,16 +88,11 @@ package() {
#restore --asroot makepkg option
cd $pkgdir/usr/bin/
patch -p0 -i "$srcdir/makepkg-asroot.patch"
-
- #run pacman-db-upgrade from cron
- mkdir -p "$pkgdir/usr/MythVantage/bin"
- install -m 0644 "$srcdir/pacman.cron" "$pkgdir/usr/MythVantage/bin/pacman.cron"
+ rm $pkgdir/usr/bin/makepkg.orig
}
-md5sums=('377a2664d6007d72d6d8a126add83bcf'
+md5sums=('f36f5e7e95a89436febe1bcca874fc33'
'SKIP'
- '55732144f1048f714f1f93203e9b7728'
'bdb40c76225c2fd8874bd34b6a3f6ad7'
'c511ee4c7a86a37e8841440ede89300d'
'4950b7c5adf80e082a726dd11b9cb12f'
- 'd62e10ea6cc7ae617ba1a99d8f11eaf5'
- 'f5b59fe5f016eebd9590318530bbd996')
+ 'ce959232a30f1fbd33f536c76a9df198')
diff --git a/abs/core/pacman/__changelog b/abs/core/pacman/__changelog
index 59c5ecc..d06b994 100644
--- a/abs/core/pacman/__changelog
+++ b/abs/core/pacman/__changelog
@@ -1,4 +1 @@
-PKGBUILD: add pacman.install
PKGBUILD: add makepkg-asroot.patch
-PKGBUILD: remove source sig
-PKGBUILD & .install: add pacman.cron to run pacman-db-upgrade after update
diff --git a/abs/core/pacman/makepkg.conf b/abs/core/pacman/makepkg.conf
index bd0e0cf..8fa4fb0 100644
--- a/abs/core/pacman/makepkg.conf
+++ b/abs/core/pacman/makepkg.conf
@@ -37,9 +37,9 @@ CHOST="@CHOST@"
# -march (or -mcpu) builds exclusively for an architecture
# -mtune optimizes for an architecture, but builds for whole processor family
CPPFLAGS="-D_FORTIFY_SOURCE=2"
-CFLAGS="@CARCHFLAGS@ -mtune=generic -O2 -pipe -fstack-protector-strong"
-CXXFLAGS="@CARCHFLAGS@ -mtune=generic -O2 -pipe -fstack-protector-strong"
-LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro"
+CFLAGS="@CARCHFLAGS@ -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt"
+CXXFLAGS="@CARCHFLAGS@ -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt"
+LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
#-- Make Flags: change this for DistCC/SMP systems
#MAKEFLAGS="-j2"
#-- Debugging flags
diff --git a/abs/core/pacman/pacman.cron b/abs/core/pacman/pacman.cron
deleted file mode 100644
index 9155aed..0000000
--- a/abs/core/pacman/pacman.cron
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/bash
-
-function pacman_wait {
- if [ -f /var/lib/pacman/db.lck ]
- then
- echo "Pacman is running and must quit before continuing."
- echo " Waiting for pacman to quit..."
- while [ -f /var/lib/pacman/db.lck ]
- do
- sleep 5
- done
- fi
-}
-
-pacman_wait
-pacman-db-upgrade &
-#remove pacman.cron from root crontab
-grep -v "* * * * * /usr/bin/bash /usr/MythVantage/bin/pacman.cron" /var/spool/cron/root > /var/spool/cron/root2
-mv /var/spool/cron/root2 /var/spool/cron/root
-echo "root" >> /var/spool/cron/cron.update
diff --git a/abs/core/pacman/pacman.install b/abs/core/pacman/pacman.install
deleted file mode 100644
index 637a741..0000000
--- a/abs/core/pacman/pacman.install
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-# arg 1: the new package version
-# arg 2: the old package version
-post_upgrade() {
- if [ "$(vercmp $2 4.2.0)" -lt 0 ]; then
- _warnupgrade
- fi
- sed -i '/^# If upgrades are available/d' /etc/pacman.conf
- sed -i '/^SyncFirst/d' /etc/pacman.conf
-}
-
-_warnupgrade() {
- echo ">>> The pacman database format has changed as of pacman 4.2.0."
- echo ">>> You will need to run \`pacman-db-upgrade\` as root."
- echo ">>>"
- echo "* * * * * /usr/bin/bash /usr/MythVantage/bin/pacman.cron" >> /var/spool/cron/root
- echo "root" >> /var/spool/cron/cron.update
-}
diff --git a/abs/core/pam/PKGBUILD b/abs/core/pam/PKGBUILD
index 3279743..63bd83d 100644
--- a/abs/core/pam/PKGBUILD
+++ b/abs/core/pam/PKGBUILD
@@ -4,7 +4,7 @@
pkgname=pam
pkgver=1.3.0
-pkgrel=1
+pkgrel=2
pkgdesc="PAM (Pluggable Authentication Modules) library"
arch=('i686' 'x86_64')
license=('GPL2')
diff --git a/abs/core/pambase/PKGBUILD b/abs/core/pambase/PKGBUILD
index b595e97..7d0f0c2 100644
--- a/abs/core/pambase/PKGBUILD
+++ b/abs/core/pambase/PKGBUILD
@@ -2,7 +2,7 @@
# Maintainer: Dave Reisner <dreisner@archlinux.org>
pkgname=pambase
-pkgver=20130928
+pkgver=20171006
pkgrel=1
pkgdesc="Base PAM configuration for services"
arch=('any')
@@ -20,12 +20,12 @@ backup=('etc/pam.d/system-auth'
'etc/pam.d/system-remote-login'
'etc/pam.d/system-services'
'etc/pam.d/other')
-md5sums=('6116b8e199a3dfd26a085a67a718435d'
- '477237985820117a0e6e1b13a86eb599'
- '7464f86d346b22dd07b433c341a33aab'
- '477237985820117a0e6e1b13a86eb599'
- '6969307eef026979703a6eba33c2e3eb'
- '6e6c8719e5989d976a14610f340bd33a')
+sha256sums=('3eb67872e436817ec97c4f3795adba2cf1d3829ea4e107ef5747569e4eeb5746'
+ '005736b9bd650ff5e5d82a7e288853776d5bb8c90185d5774c07231c1e1c64a9'
+ '75b3bc548ff8b037d28bda9413d2e18ddda17c96a7956f00d259b9d29b87a5b3'
+ '005736b9bd650ff5e5d82a7e288853776d5bb8c90185d5774c07231c1e1c64a9'
+ '6eb1acdd3fa9f71a7f93fbd529be57ea65bcafc6e3a98a06af4d88013fc6a567'
+ 'de66118684a2ecec18017dd96e50a489f30465510250c007ced16f81fb542ba5')
package() {
install -dm755 "$pkgdir/etc/pam.d"
diff --git a/abs/core/pambase/system-login b/abs/core/pambase/system-login
index 17cfa1e..6ab3e7b 100644
--- a/abs/core/pambase/system-login
+++ b/abs/core/pambase/system-login
@@ -12,6 +12,7 @@ account include system-auth
password include system-auth
session optional pam_loginuid.so
+session optional pam_keyinit.so force revoke
session include system-auth
session optional pam_motd.so motd=/etc/motd
session optional pam_mail.so dir=/var/spool/mail standard quiet
diff --git a/abs/core/parted/PKGBUILD b/abs/core/parted/PKGBUILD
index 0fc86f9..77539f2 100644
--- a/abs/core/parted/PKGBUILD
+++ b/abs/core/parted/PKGBUILD
@@ -4,16 +4,25 @@
pkgname=parted
pkgver=3.2
-pkgrel=1
+pkgrel=6
pkgdesc="A program for creating, destroying, resizing, checking and copying partitions"
-arch=('i686' 'x86_64')
+arch=('x86_64')
license=('GPL3')
url="http://www.gnu.org/software/parted/parted.html"
-depends=('device-mapper' 'e2fsprogs')
+depends=('device-mapper')
makedepends=('pkg-config')
-install=parted.install
-source=("http://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz")
-md5sums=('0247b6a7b314f8edeb618159fa95f9cb')
+validpgpkeys=('1B49F933916A37A3F45A1812015F4DD4A70FB705') # Phillip Susi <psusi@ubuntu.com>
+source=("https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz"{,.sig}
+ 'parted-735669-fat16-crash-v1.patch')
+sha256sums=('858b589c22297cacdf437f3baff6f04b333087521ab274f7ab677cb8c6bb78e4'
+ 'SKIP'
+ '3cbf31765b1653609a4c95687b91e34dd57ad3498d5d02019c966bd46d25d100')
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -Np1 -i "${srcdir}/parted-735669-fat16-crash-v1.patch"
+}
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core/parted/parted-735669-fat16-crash-v1.patch b/abs/core/parted/parted-735669-fat16-crash-v1.patch
new file mode 100644
index 0000000..2124ab3
--- /dev/null
+++ b/abs/core/parted/parted-735669-fat16-crash-v1.patch
@@ -0,0 +1,193 @@
+From 3a4c152d38ce34481b0f4fda8aea4e71a8280d8f Mon Sep 17 00:00:00 2001
+From: Mike Fleetwood <mike.fleetwood@googlemail.com>
+Date: Sat, 27 Sep 2014 10:23:17 +0100
+Subject: [PATCH 1/3] lib-fs-resize: Prevent crash resizing FAT16 file systems
+
+Resizing FAT16 file system crashes in libparted/fs/r/fat/resize.c
+create_resize_context() because it was dereferencing NULL pointer
+fs_info->info_sector to copy the info_sector.
+
+Only FAT32 file systems have info_sector populated by fat_open() ->
+fat_info_sector_read(). FAT12 and FAT16 file systems don't have an
+info_sector so pointer fs_info->info_sector remains assigned NULL from
+fat_alloc(). When resizing a FAT file system create_resize_context()
+was always dereferencing fs_info->info_sector to memory copy the
+info_sector, hence it crashed for FAT12 and FAT16.
+
+Make create_resize_context() only copy the info_sector for FAT32 file
+systems.
+
+Reported by Christian Hesse in
+https://bugzilla.gnome.org/show_bug.cgi?id=735669
+---
+ NEWS | 4 ++++
+ libparted/fs/r/fat/resize.c | 12 +++++++++---
+ 2 files changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/NEWS b/NEWS
+index 297b0a5..da7db50 100644
+--- a/NEWS
++++ b/NEWS
+@@ -2,6 +2,10 @@ GNU parted NEWS -*- outline -*-
+
+ * Noteworthy changes in release ?.? (????-??-??) [?]
+
++** Bug Fixes
++
++ libparted-fs-resize: Prevent crash resizing FAT16 file systems.
++
+
+ * Noteworthy changes in release 3.2 (2014-07-28) [stable]
+
+diff --git a/libparted/fs/r/fat/resize.c b/libparted/fs/r/fat/resize.c
+index 919acf0..bfe60a0 100644
+--- a/libparted/fs/r/fat/resize.c
++++ b/libparted/fs/r/fat/resize.c
+@@ -668,11 +668,17 @@ create_resize_context (PedFileSystem* fs, const PedGeometry* new_geom)
+
+ /* preserve boot code, etc. */
+ new_fs_info->boot_sector = ped_malloc (new_geom->dev->sector_size);
+- new_fs_info->info_sector = ped_malloc (new_geom->dev->sector_size);
+ memcpy (new_fs_info->boot_sector, fs_info->boot_sector,
+ new_geom->dev->sector_size);
+- memcpy (new_fs_info->info_sector, fs_info->info_sector,
+- new_geom->dev->sector_size);
++ new_fs_info->info_sector = NULL;
++ if (fs_info->fat_type == FAT_TYPE_FAT32)
++ {
++ PED_ASSERT (fs_info->info_sector != NULL);
++ new_fs_info->info_sector =
++ ped_malloc (new_geom->dev->sector_size);
++ memcpy (new_fs_info->info_sector, fs_info->info_sector,
++ new_geom->dev->sector_size);
++ }
+
+ new_fs_info->logical_sector_size = fs_info->logical_sector_size;
+ new_fs_info->sector_count = new_geom->length;
+--
+1.7.1
+
+
+From 2b5a4805533557b1bcdb5f70537569383f1fe7e8 Mon Sep 17 00:00:00 2001
+From: Mike Fleetwood <mike.fleetwood@googlemail.com>
+Date: Sat, 27 Sep 2014 11:31:46 +0100
+Subject: [PATCH 2/3] tests: t3000-resize-fs.sh: Add FAT16 resizing test
+
+Add FAT16 resizing test so that we don't regress again.
+---
+ tests/t3000-resize-fs.sh | 16 +++++++++++++---
+ 1 files changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/tests/t3000-resize-fs.sh b/tests/t3000-resize-fs.sh
+index 8cab476..9084eb4 100755
+--- a/tests/t3000-resize-fs.sh
++++ b/tests/t3000-resize-fs.sh
+@@ -46,7 +46,7 @@ device_sectors_required=$(echo $default_end | sed 's/s$//')
+ # Ensure that $dev is large enough for this test
+ test $device_sectors_required -le $dev_n_sectors || fail=1
+
+-for fs_type in hfs+ fat32; do
++for fs_type in hfs+ fat32 fat16; do
+
+ # create an empty $fs_type partition, cylinder aligned, size > 256 MB
+ parted -a min -s $dev mkpart p1 $start $default_end > out 2>&1 || fail=1
+@@ -59,6 +59,7 @@ for fs_type in hfs+ fat32; do
+ wait_for_dev_to_appear_ ${dev}1
+
+ case $fs_type in
++ fat16) mkfs_cmd='mkfs.vfat -F 16'; fsck='fsck.vfat -v';;
+ fat32) mkfs_cmd='mkfs.vfat -F 32'; fsck='fsck.vfat -v';;
+ hfs*) mkfs_cmd='mkfs.hfs'; fsck=fsck.hfs;;
+ *) error "internal error: unhandled fs type: $fs_type";;
+@@ -70,8 +71,17 @@ for fs_type in hfs+ fat32; do
+ # NOTE: shrinking is the only type of resizing that works.
+ # resize that file system to be one cylinder (8MiB) smaller
+ fs-resize ${dev}1 0 $new_end > out 2>&1 || fail=1
+- # expect no output
+- compare /dev/null out || fail=1
++
++ # check for expected output
++ case $fs_type in
++ fat16) cat << EOF > exp || framework_failure
++Information: Would you like to use FAT32? If you leave your file system as FAT16, then you will have no problems. If you convert to FAT32, and MS Windows is installed on this partition, then you must re-install the MS Windows boot loader. If you want to do this, you should consult the Parted manual (or your distribution's manual). Also, converting to FAT32 will make the file system unreadable by MS DOS, MS Windows 95a, and MS Windows NT.
++EOF
++ ;;
++ fat32) cat /dev/null > exp || framework_failure;; # expect no output
++ hfs*) cat /dev/null > exp || framework_failure;; # expect no output
++ esac
++ compare exp out || fail=1
+
+ # This is known to segfault with fsck.hfs from
+ # Fedora 16's hfsplus-tools-332.14-12.fc15.x86_64.
+--
+1.7.1
+
+
+From ca37fcb204f97964ff2c92ea0221367e798810bb Mon Sep 17 00:00:00 2001
+From: Mike Fleetwood <mike.fleetwood@googlemail.com>
+Date: Sun, 28 Sep 2014 11:54:45 +0100
+Subject: [PATCH 3/3] tests: t3000-resize-fs.sh: Add requirement on mkfs.vfat
+
+Add test skipping requirement on mkfs.vfat for the FAT32 and FAT16 file
+system resizing tests. This matches existing test skipping requirement
+on mkfs.hfs for the hfs+ file system.
+
+* tests/t3000-resize-fs.sh: Also correct skip_test_ to skip_.
+* tests/t-lib-helpers.sh: Also update message for requirement of hfs.
+---
+ tests/t-lib-helpers.sh | 8 +++++++-
+ tests/t3000-resize-fs.sh | 5 +++--
+ 2 files changed, 10 insertions(+), 3 deletions(-)
+
+diff --git a/tests/t-lib-helpers.sh b/tests/t-lib-helpers.sh
+index 4e83a05..c8684bb 100644
+--- a/tests/t-lib-helpers.sh
++++ b/tests/t-lib-helpers.sh
+@@ -20,7 +20,13 @@ require_acl_()
+ require_hfs_()
+ {
+ mkfs.hfs 2>&1 | grep '^usage:' \
+- || skip_ "This test requires HFS support."
++ || skip_ "mkfs.hfs: command not found"
++}
++
++require_fat_()
++{
++ mkfs.vfat 2>&1 | grep '^Usage:' \
++ || skip_ "mkfs.vfat: command not found"
+ }
+
+ # Skip this test if we're not in SELinux "enforcing" mode.
+diff --git a/tests/t3000-resize-fs.sh b/tests/t3000-resize-fs.sh
+index 9084eb4..a79a307 100755
+--- a/tests/t3000-resize-fs.sh
++++ b/tests/t3000-resize-fs.sh
+@@ -18,7 +18,7 @@
+
+ . "${srcdir=.}/init.sh"; path_prepend_ ../parted .
+ require_hfs_
+-
++require_fat_
+ require_root_
+ require_scsi_debug_module_
+ require_512_byte_sector_size_
+@@ -31,7 +31,7 @@ default_end=546147s
+
+ # create memory-backed device
+ scsi_debug_setup_ dev_size_mb=550 > dev-name ||
+- skip_test_ 'failed to create scsi_debug device'
++ skip_ 'failed to create scsi_debug device'
+ dev=$(cat dev-name)
+
+ fail=0
+@@ -47,6 +47,7 @@ device_sectors_required=$(echo $default_end | sed 's/s$//')
+ test $device_sectors_required -le $dev_n_sectors || fail=1
+
+ for fs_type in hfs+ fat32 fat16; do
++ echo "fs_type=$fs_type"
+
+ # create an empty $fs_type partition, cylinder aligned, size > 256 MB
+ parted -a min -s $dev mkpart p1 $start $default_end > out 2>&1 || fail=1
+--
+1.7.1
+
diff --git a/abs/core/parted/parted.install b/abs/core/parted/parted.install
deleted file mode 100644
index 752a687..0000000
--- a/abs/core/parted/parted.install
+++ /dev/null
@@ -1,18 +0,0 @@
-info_dir=/usr/share/info
-info_files=(parted.info)
-
-post_install() {
- for f in ${info_files[@]}; do
- install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
- done
-}
-
-post_upgrade() {
- post_install
-}
-
-pre_remove() {
- for f in ${info_files[@]}; do
- install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
- done
-}
diff --git a/abs/core/pcre/01-CVE-2016-1283.patch b/abs/core/pcre/01-CVE-2016-1283.patch
deleted file mode 100644
index 2c2dad2..0000000
--- a/abs/core/pcre/01-CVE-2016-1283.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Index: pcre_compile.c
-===================================================================
---- a/pcre_compile.c (revision 1635)
-+++ b/pcre_compile.c (revision 1636)
-@@ -7311,7 +7311,12 @@
- so far in order to get the number. If the name is not found, leave
- the value of recno as 0 for a forward reference. */
-
-- else
-+ /* This patch (removing "else") fixes a problem when a reference is
-+ to multiple identically named nested groups from within the nest.
-+ Once again, it is not the "proper" fix, and it results in an
-+ over-allocation of memory. */
-+
-+ /* else */
- {
- ng = cd->named_groups;
- for (i = 0; i < cd->names_found; i++, ng++)
diff --git a/abs/core/pcre/PKGBUILD b/abs/core/pcre/PKGBUILD
index e578d33..0b25d9f 100644
--- a/abs/core/pcre/PKGBUILD
+++ b/abs/core/pcre/PKGBUILD
@@ -5,19 +5,17 @@
# Contributor: John Proctor <jproctor@prium.net>
pkgname=pcre
-pkgver=8.38
-pkgrel=3
+pkgver=8.41
+pkgrel=1
pkgdesc='A library that implements Perl 5-style regular expressions'
-arch=('i686' 'x86_64')
+arch=('x86_64')
url='http://www.pcre.org/'
license=('BSD')
depends=('gcc-libs' 'readline' 'zlib' 'bzip2' 'bash')
validpgpkeys=('45F68D54BBE23FB3039B46E59766E084FB0F43D8') # Philip Hazel
-source=("ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/$pkgname-$pkgver.tar.bz2"{,.sig}
- '01-CVE-2016-1283.patch')
-md5sums=('00aabbfe56d5a48b270f999b508c5ad2'
- 'SKIP'
- '722aba6455a3f0240eaa22289f0176a0')
+source=("https://ftp.pcre.org/pub/pcre/$pkgname-$pkgver.tar.bz2"{,.sig})
+md5sums=('c160d22723b1670447341b08c58981c1'
+ 'SKIP')
prepare() {
cd $pkgname-$pkgver
@@ -25,8 +23,8 @@ prepare() {
local filename
for filename in "${source[@]}"; do
if [[ "$filename" =~ \.patch$ ]]; then
- msg2 "Applying patch $filename"
- patch -p1 -N -i "$srcdir/$filename"
+ msg2 "Applying patch ${filename##*/}"
+ patch -p1 -N -i "$srcdir/${filename##*/}"
fi
done
:
diff --git a/abs/core/pcre2/PKGBUILD b/abs/core/pcre2/PKGBUILD
new file mode 100644
index 0000000..9c2e463
--- /dev/null
+++ b/abs/core/pcre2/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Mateusz 'mrlemux' Lemusisk mrlemux at gmail dotcom
+# Based on the pcre package by Sébastien "Seblu" Luttringer
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: John Proctor <jproctor@prium.net>
+
+pkgname=pcre2
+pkgver=10.30
+pkgrel=1
+pkgdesc='A library that implements Perl 5-style regular expressions. 2nd version'
+arch=('x86_64')
+url='http://www.pcre.org/'
+license=('BSD')
+depends=('gcc-libs' 'readline' 'zlib' 'bzip2' 'bash')
+source=("ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/$pkgname-$pkgver.tar.bz2")
+sha512sums=('f247a9f917c75920793b9919a45bb1426d126246e7a5d04e39d9407e44b5781f894a90cd3d232b385436b2f22be391335ab782664dd3a28c79058a2fcc74dc3e')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure \
+ --prefix=/usr \
+ --enable-pcre2-16 \
+ --enable-pcre2-32 \
+ --enable-jit \
+ --enable-pcre2grep-libz \
+ --enable-pcre2grep-libbz2 \
+ --enable-pcre2test-libreadline
+ make
+}
+
+check() {
+ cd $pkgname-$pkgver
+ make -j1 check
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 LICENCE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/perl-class-data-inheritable/PKGBUILD b/abs/core/perl-class-data-inheritable/PKGBUILD
new file mode 100644
index 0000000..98bc4dc
--- /dev/null
+++ b/abs/core/perl-class-data-inheritable/PKGBUILD
@@ -0,0 +1,27 @@
+# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
+# Contributor: François Charette <firmicus ατ gmx δοτ net>
+
+pkgname=perl-class-data-inheritable
+pkgver=0.08
+pkgrel=7
+pkgdesc="Inheritable, overridable class data "
+arch=('x86_64')
+url="http://search.cpan.org/dist/Class-Data-Inheritable"
+license=('GPL' 'PerlArtistic')
+depends=('perl>=5.10.0')
+options=('!emptydirs')
+source=(https://www.cpan.org/authors/id/T/TM/TMTM/Class-Data-Inheritable-$pkgver.tar.gz)
+sha256sums=('9967feceea15227e442ec818723163eb6d73b8947e31f16ab806f6e2391af14a')
+
+build() {
+ cd Class-Data-Inheritable-${pkgver}
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd Class-Data-Inheritable-${pkgver}
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
+}
diff --git a/abs/core/perl-exception-class/PKGBUILD b/abs/core/perl-exception-class/PKGBUILD
new file mode 100644
index 0000000..91528e7
--- /dev/null
+++ b/abs/core/perl-exception-class/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id$
+# Maintainer: Jaroslav Lichtblau <svetlemodry@archlinux.org>
+# Contributor: Maxwell Pray a.k.a. Synthead <synthead@gmail.com>
+# Contributor: Caleb Cushing <xenoterracide@gmail.com>
+
+pkgname=perl-exception-class
+pkgver=1.44
+pkgrel=1
+pkgdesc='A module that allows you to declare real exception classes in Perl'
+arch=('any')
+url="https://metacpan.org/release/Exception-Class"
+license=('PerlArtistic' 'GPL')
+depends=('perl>=5.8.1' 'perl-class-data-inheritable>=0.02' 'perl-devel-stacktrace>=2.00')
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Exception-Class-$pkgver.tar.gz)
+sha256sums=('33f3fbf8b138d3b04ea4ec0ba83fb0df6ba898806bcf4ef393d4cafc1a23ee0d')
+
+build() {
+ cd "${srcdir}"/Exception-Class-$pkgver
+
+ export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
+ unset PERL5LIB PERL_MM_OPT
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "${srcdir}"/Exception-Class-$pkgver
+
+ export PERL_MM_USE_DEFAULT=1
+ unset PERL5LIB
+ make test
+}
+
+package() {
+ cd "${srcdir}"/Exception-Class-$pkgver
+
+ make install INSTALLDIRS=vendor DESTDIR="${pkgdir}"
+
+ find "${pkgdir}" -name .packlist -o -name perllocal.pod -delete
+}
diff --git a/abs/core/perl-params-validationcompiler/PKGBUILD b/abs/core/perl-params-validationcompiler/PKGBUILD
new file mode 100644
index 0000000..2ace9e8
--- /dev/null
+++ b/abs/core/perl-params-validationcompiler/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id$
+# Maintainer: Sergej Pupykin <arch+pub@sergej.pp.ru>
+
+pkgname=perl-params-validationcompiler
+_pkgname=Params-ValidationCompiler
+pkgver=0.27
+pkgrel=1
+pkgdesc="Build an optimized subroutine parameter validator once, use it forever"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl-role-tiny' 'perl-eval-closure' 'perl-exception-class')
+checkdepends=('perl-test-fatal')
+url="http://search.cpan.org/dist/Params-ValidationCompiler/"
+source=(http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Params-ValidationCompiler-$pkgver.tar.gz)
+sha256sums=('50a99968359d430e34ea8a12e7f08a669ffd34a3dae4d8ea9ca076c1100af9b2')
+
+build() {
+ export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL="--skipdeps" \
+ PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='"$pkgdir"'" \
+ PERL_MB_OPT="--installdirs vendor --destdir '"$pkgdir"'" \
+ MODULEBUILDRC=/dev/null
+
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ perl Makefile.PL
+ make
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ make install
+}
diff --git a/abs/core/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch b/abs/core/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch
deleted file mode 100644
index 1404460..0000000
--- a/abs/core/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From bb249b0b26c2e79a6f55355ef94889070f07fd21 Mon Sep 17 00:00:00 2001
-From: Niko Tyni <ntyni@debian.org>
-Date: Thu, 28 Apr 2011 09:18:54 +0300
-Subject: [PATCH] Append CFLAGS and LDFLAGS to their Config.pm counterparts in
- EU::CBuilder
-
-Since ExtUtils::CBuilder 0.27_04 (bleadperl commit 06e8058f27e4),
-CFLAGS and LDFLAGS from the environment have overridden the Config.pm
-ccflags and ldflags settings. This can cause binary incompatibilities
-between the core Perl and extensions built with EU::CBuilder.
-
-Append to the Config.pm values rather than overriding them.
----
- .../lib/ExtUtils/CBuilder/Base.pm | 6 +++-
- dist/ExtUtils-CBuilder/t/04-base.t | 25 +++++++++++++++++++-
- 2 files changed, 28 insertions(+), 3 deletions(-)
-
-diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
-index b572312..2255c51 100644
---- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
-+++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
-@@ -40,11 +40,13 @@ sub new {
- $self->{config}{$k} = $v unless exists $self->{config}{$k};
- }
- $self->{config}{cc} = $ENV{CC} if defined $ENV{CC};
-- $self->{config}{ccflags} = $ENV{CFLAGS} if defined $ENV{CFLAGS};
-+ $self->{config}{ccflags} = join(" ", $self->{config}{ccflags}, $ENV{CFLAGS})
-+ if defined $ENV{CFLAGS};
- $self->{config}{cxx} = $ENV{CXX} if defined $ENV{CXX};
- $self->{config}{cxxflags} = $ENV{CXXFLAGS} if defined $ENV{CXXFLAGS};
- $self->{config}{ld} = $ENV{LD} if defined $ENV{LD};
-- $self->{config}{ldflags} = $ENV{LDFLAGS} if defined $ENV{LDFLAGS};
-+ $self->{config}{ldflags} = join(" ", $self->{config}{ldflags}, $ENV{LDFLAGS})
-+ if defined $ENV{LDFLAGS};
-
- unless ( exists $self->{config}{cxx} ) {
- my ($ccpath, $ccbase, $ccsfx ) = fileparse($self->{config}{cc}, qr/\.[^.]*/);
-diff --git a/dist/ExtUtils-CBuilder/t/04-base.t b/dist/ExtUtils-CBuilder/t/04-base.t
-index c3bf6b5..1bb15aa 100644
---- a/dist/ExtUtils-CBuilder/t/04-base.t
-+++ b/dist/ExtUtils-CBuilder/t/04-base.t
-@@ -1,7 +1,7 @@
- #! perl -w
-
- use strict;
--use Test::More tests => 50;
-+use Test::More tests => 64;
- use Config;
- use Cwd;
- use File::Path qw( mkpath );
-@@ -326,6 +326,29 @@ is_deeply( $mksymlists_args,
- "_prepare_mksymlists_args(): got expected arguments for Mksymlists",
- );
-
-+my %testvars = (
-+ CFLAGS => 'ccflags',
-+ LDFLAGS => 'ldflags',
-+);
-+
-+while (my ($VAR, $var) = each %testvars) {
-+ local $ENV{$VAR};
-+ $base = ExtUtils::CBuilder::Base->new( quiet => 1 );
-+ ok( $base, "ExtUtils::CBuilder::Base->new() returned true value" );
-+ isa_ok( $base, 'ExtUtils::CBuilder::Base' );
-+ like($base->{config}{$var}, qr/\Q$Config{$var}/,
-+ "honours $var from Config.pm");
-+
-+ $ENV{$VAR} = "-foo -bar";
-+ $base = ExtUtils::CBuilder::Base->new( quiet => 1 );
-+ ok( $base, "ExtUtils::CBuilder::Base->new() returned true value" );
-+ isa_ok( $base, 'ExtUtils::CBuilder::Base' );
-+ like($base->{config}{$var}, qr/\Q$ENV{$VAR}/,
-+ "honours $VAR from the environment");
-+ like($base->{config}{$var}, qr/\Q$Config{$var}/,
-+ "doesn't override $var from Config.pm with $VAR from the environment");
-+}
-+
- #####
-
- for ($source_file, $object_file, $lib_file) {
---
-1.7.4.4
-
diff --git a/abs/core/perl/CVE-2016-2381_duplicate_env.diff b/abs/core/perl/CVE-2016-2381_duplicate_env.diff
new file mode 100644
index 0000000..80adf62
--- /dev/null
+++ b/abs/core/perl/CVE-2016-2381_duplicate_env.diff
@@ -0,0 +1,104 @@
+From 83e7ebed7afa79a2f50eca6b6330eae7c3a02d36 Mon Sep 17 00:00:00 2001
+From: Tony Cook <tony@develop-help.com>
+Date: Wed, 27 Jan 2016 11:52:15 +1100
+Subject: remove duplicate environment variables from environ
+
+If we see duplicate environment variables while iterating over
+environ[]:
+
+a) make sure we use the same value in %ENV that getenv() returns.
+
+Previously on a duplicate, %ENV would have the last entry for the name
+from environ[], but a typical getenv() would return the first entry.
+
+Rather than assuming all getenv() implementations return the first entry
+explicitly call getenv() to ensure they agree.
+
+b) remove duplicate entries from environ
+
+Previously if there was a duplicate definition for a name in environ[]
+setting that name in %ENV could result in an unsafe value being passed
+to a child process, so ensure environ[] has no duplicates.
+
+Patch-Name: fixes/CVE-2016-2381_duplicate_env.diff
+---
+ perl.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 49 insertions(+), 2 deletions(-)
+
+diff --git a/perl.c b/perl.c
+index 80a76c2..ed25429 100644
+--- a/perl.c
++++ b/perl.c
+@@ -4303,23 +4303,70 @@ S_init_postdump_symbols(pTHX_ int argc, char **argv, char **env)
+ }
+ if (env) {
+ char *s, *old_var;
++ STRLEN nlen;
+ SV *sv;
++ HV *dups = newHV();
++
+ for (; *env; env++) {
+ old_var = *env;
+
+ if (!(s = strchr(old_var,'=')) || s == old_var)
+ continue;
++ nlen = s - old_var;
+
+ #if defined(MSDOS) && !defined(DJGPP)
+ *s = '\0';
+ (void)strupr(old_var);
+ *s = '=';
+ #endif
+- sv = newSVpv(s+1, 0);
+- (void)hv_store(hv, old_var, s - old_var, sv, 0);
++ if (hv_exists(hv, old_var, nlen)) {
++ const char *name = savepvn(old_var, nlen);
++
++ /* make sure we use the same value as getenv(), otherwise code that
++ uses getenv() (like setlocale()) might see a different value to %ENV
++ */
++ sv = newSVpv(PerlEnv_getenv(name), 0);
++
++ /* keep a count of the dups of this name so we can de-dup environ later */
++ if (hv_exists(dups, name, nlen))
++ ++SvIVX(*hv_fetch(dups, name, nlen, 0));
++ else
++ (void)hv_store(dups, name, nlen, newSViv(1), 0);
++
++ Safefree(name);
++ }
++ else {
++ sv = newSVpv(s+1, 0);
++ }
++ (void)hv_store(hv, old_var, nlen, sv, 0);
+ if (env_is_not_environ)
+ mg_set(sv);
+ }
++ if (HvKEYS(dups)) {
++ /* environ has some duplicate definitions, remove them */
++ HE *entry;
++ hv_iterinit(dups);
++ while ((entry = hv_iternext_flags(dups, 0))) {
++ STRLEN nlen;
++ const char *name = HePV(entry, nlen);
++ IV count = SvIV(HeVAL(entry));
++ IV i;
++ SV **valp = hv_fetch(hv, name, nlen, 0);
++
++ assert(valp);
++
++ /* try to remove any duplicate names, depending on the
++ * implementation used in my_setenv() the iteration might
++ * not be necessary, but let's be safe.
++ */
++ for (i = 0; i < count; ++i)
++ my_setenv(name, 0);
++
++ /* and set it back to the value we set $ENV{name} to */
++ my_setenv(name, SvPV_nolen(*valp));
++ }
++ }
++ SvREFCNT_dec_NN(dups);
+ }
+ #endif /* USE_ENVIRON_ARRAY */
+ #endif /* !PERL_MICRO */
diff --git a/abs/core/perl/ChangeLog b/abs/core/perl/ChangeLog
deleted file mode 100644
index 9add39e..0000000
--- a/abs/core/perl/ChangeLog
+++ /dev/null
@@ -1,66 +0,0 @@
-2011-06-22 Angel Velasquez <angvp@archlinux.org>
- * Added a patch for ExtUtils doesnt overwrite CFLAGS and LDFLAGS
- * Fixed #FS22197, FS#22441, FS#24767
- * Rebuilt perl 5.14.1-2 against db 5.2.28
-
-2011-06-16 Angel Velasquez <angvp@archlinux.org>
- * Fixed #FS24660
- * Rebuilt against db 5.2.28
-
-2011-05-16 Angel Velasquez <angvp@archlinux.org>
- * perl 5.14.0
- * Removed patch for h2ph warning from 5.12.3
- * Removed provides array, you can use corelist -v 5.14.0 to know the
- modules included with the perl core, through Module::CoreList (thx j3nnn1
- for the tip)
-
-2010-11-07 kevin <kevin@archlinux.org>
-
- * perl 5.12.2-1
- - Using /usr/bin/*_perl for script directories
-
-2010-11-06 kevin <kevin@archlinux.org>
-
- - Removed otherlibdirs directive from Configure
- - Removed /usr/*/perl5/site_perl/5.10.1 from INC
- - Finally removed legacy dirs /usr/lib/perl5/current and
- /usr/lib/perl5/site_perl/current from @INC
-
-2010-05-23 kevin <kevin@archlinux.org>
-
- * perl 5.12.1-2
- - Francois updated the provides array.
-
-2010-05-23 kevin <kevin@archlinux.org>
-
- * perl 5.12.1-1
-
-2010-05-16 kevin <kevin@archlinux.org>
-
- * perl 5.12.0-2
-
-2010-05-12 kevin <kevin@archlinux.org>
-
- - FS#19411. Removed the for loop in perlbin.sh which didn't work on zsh.
- This makes the loop variables unnecessary so the script no longer
- pollutes the user's environment.
- - FS#19427. Added /usr/*/perl5/site_perl/5.10.1 to otherlibdirs to support
- user built modules.
-
-2010-05-09 kevin <kevin@archlinux.org>
-
- * perl 5.12.0-1
- - Modified perlbin.sh to only add existing dirs to PATH. Fixes FS#17402,
- path points to non-existant directories
-
-2010-05-07 kevin <kevin@archlinux.org>
-
- - Added this changelog.
- - Added -Dinc_version_list=none to fix FS#19136, double entry in @INC.
- This removes the duplicates and versioned directory entries.
- - Change scriptdirs to /usr/lib/perl5/{core,vendor,site}_perl/bin to fix
- Fix FS#13808, binaries don't follow FHS.
- - Stopped using versioned directories in sitelib and sitearch.
-
-
-# vim: set ft=changelog ts=4 sw=4 et:
diff --git a/abs/core/perl/PKGBUILD b/abs/core/perl/PKGBUILD
index 58b94e7..8f56681 100644
--- a/abs/core/perl/PKGBUILD
+++ b/abs/core/perl/PKGBUILD
@@ -1,33 +1,159 @@
-# $Id: PKGBUILD 160587 2012-06-02 10:54:59Z bluewind $
-# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# $Id$
+# Maintainer: Florian Pritz <bluewind@xinu.at>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
# Contributor: kevin <kevin.archlinux.org>
# Contributor: judd <jvinet.zeroflux.org>
-# Contributor: francois <francois.archlinux.org>
+# Contributor: francois <francois.archlinux.org>
+
pkgname=perl
-pkgver=5.16.0
-pkgrel=2
+pkgver=5.26.2
+_baseversion="${pkgver%.*}"
+pkgrel=1
pkgdesc="A highly capable, feature-rich programming language"
-arch=(i686 x86_64)
+arch=(x86_64)
license=('GPL' 'PerlArtistic')
url="http://www.perl.org"
groups=('base')
-depends=('gdbm' 'db' 'coreutils' 'glibc' 'sh')
-changelog=ChangeLog
-source=(http://www.cpan.org/src/5.0/perl-${pkgver}.tar.bz2
-perlbin.sh
-perlbin.csh
-provides.pl)
-install=perl.install
-options=('makeflags' '!purge')
-md5sums=('15a2f95fb27231e10998240f13acf961'
- '5ed2542fdb9a60682f215bd33701e61a'
- '1f0cbbee783e8a6d32f01be5118e0d5e'
- '999c3eea6464860704abbb055a0f0896')
-
-# workaround to let the integrity check find the correct provides array
-if [[ ${0##*/} = "parse_pkgbuilds.sh" ]]; then
- true && provides=($(bsdtar -q -O -xf "/srv/ftp/pool/packages/$pkgname-$pkgver-$pkgrel-$CARCH.pkg.tar.xz" .PKGINFO | sed -rn 's#^provides = (.*)#\1#p'))
-fi
+depends=('gdbm' 'db' 'glibc')
+# NOTE: This array is automatically generated by `./patchprov`.
+# If you want to add entries, do so in the next array.
+provides=('perl-archive-tar=2.24'
+ 'perl-attribute-handlers=0.99'
+ 'perl-autodie=2.29'
+ 'perl-autoloader=5.74'
+ 'perl-autouse=1.11'
+ 'perl-b-debug=1.24'
+ 'perl-base=2.26'
+ 'perl-bignum=0.47'
+ 'perl-carp=1.42'
+ 'perl-compress-raw-bzip2=2.074'
+ 'perl-compress-raw-zlib=2.074'
+ 'perl-config-perl-v=0.28'
+ 'perl-constant=1.33'
+ 'perl-cpan-meta-requirements=2.140'
+ 'perl-cpan-meta-yaml=0.018'
+ 'perl-cpan-meta=2.150010'
+ 'perl-cpan=2.18'
+ 'perl-data-dumper=2.167'
+ 'perl-db_file=1.840'
+ 'perl-devel-ppport=3.35'
+ 'perl-devel-selfstubber=1.06'
+ 'perl-digest-md5=2.55'
+ 'perl-digest-sha=5.96'
+ 'perl-digest=1.17_01'
+ 'perl-dumpvalue=1.18'
+ 'perl-encode=2.88'
+ 'perl-encoding-warnings=0.13'
+ 'perl-env=1.04'
+ 'perl-experimental=0.016'
+ 'perl-exporter=5.72'
+ 'perl-extutils-cbuilder=0.280225'
+ 'perl-extutils-constant=0.23'
+ 'perl-extutils-install=2.04'
+ 'perl-extutils-makemaker=7.24'
+ 'perl-extutils-manifest=1.70'
+ 'perl-extutils-parsexs=3.34'
+ 'perl-file-fetch=0.52'
+ 'perl-file-path=2.12_01'
+ 'perl-file-temp=0.2304'
+ 'perl-filter-simple=0.93'
+ 'perl-filter-util-call=1.55'
+ 'perl-getopt-long=2.49'
+ 'perl-http-tiny=0.070'
+ 'perl-i18n-collate=1.02'
+ 'perl-i18n-langtags=0.42'
+ 'perl-if=0.0606'
+ 'perl-io-compress=2.074'
+ 'perl-io-socket-ip=0.38'
+ 'perl-io-zlib=1.10'
+ 'perl-io=1.38'
+ 'perl-ipc-cmd=0.96'
+ 'perl-ipc-sysv=2.07'
+ 'perl-json-pp=2.27400_02'
+ 'perl-lib=0.64'
+ 'perl-libnet=3.10'
+ 'perl-locale-codes=3.42'
+ 'perl-locale-maketext-simple=0.21_01'
+ 'perl-locale-maketext=1.28'
+ 'perl-math-bigint-fastcalc=0.5005'
+ 'perl-math-bigint=1.999806'
+ 'perl-math-bigrat=0.2611'
+ 'perl-math-complex=1.5901'
+ 'perl-memoize=1.03_01'
+ 'perl-mime-base64=3.15'
+ 'perl-module-corelist=5.20180414_26'
+ 'perl-module-load-conditional=0.68'
+ 'perl-module-load=0.32'
+ 'perl-module-loaded=0.08'
+ 'perl-module-metadata=1.000033'
+ 'perl-net-ping=2.55'
+ 'perl-params-check=0.38'
+ 'perl-parent=0.236'
+ 'perl-pathtools=3.67'
+ 'perl-perl-ostype=1.010'
+ 'perl-perlfaq=5.021011'
+ 'perl-perlio-via-quotedprint=0.08'
+ 'perl-pod-checker=1.73'
+ 'perl-pod-escapes=1.07'
+ 'perl-pod-parser=1.63'
+ 'perl-pod-perldoc=3.28'
+ 'perl-pod-simple=3.35'
+ 'perl-pod-usage=1.69'
+ 'perl-podlators=5.006'
+ 'perl-safe=2.40'
+ 'perl-scalar-list-utils=1.46_02'
+ 'perl-search-dict=1.07'
+ 'perl-selfloader=1.23'
+ 'perl-socket=2.020_03'
+ 'perl-storable=2.62'
+ 'perl-sys-syslog=0.35'
+ 'perl-term-ansicolor=4.06'
+ 'perl-term-cap=1.17'
+ 'perl-term-complete=1.403'
+ 'perl-term-readline=1.17'
+ 'perl-test-harness=3.38'
+ 'perl-test-simple=1.302073'
+ 'perl-test=1.30'
+ 'perl-text-abbrev=1.02'
+ 'perl-text-balanced=2.03'
+ 'perl-text-parsewords=3.30'
+ 'perl-text-tabs=2013.0523'
+ 'perl-thread-queue=3.12'
+ 'perl-thread-semaphore=2.13'
+ 'perl-threads-shared=1.56'
+ 'perl-threads=2.15'
+ 'perl-tie-file=1.02'
+ 'perl-tie-refhash=1.39'
+ 'perl-time-hires=1.9741'
+ 'perl-time-local=1.25'
+ 'perl-time-piece=1.31'
+ 'perl-unicode-collate=1.19'
+ 'perl-unicode-normalize=1.25'
+ 'perl-version=0.9917'
+ 'perl-xsloader=0.27')
+# Add your own provides here
+provides=(${provides[@]})
+source=(https://www.cpan.org/src/5.0/perl-${pkgver}.tar.xz
+ perlbin.sh
+ perlbin.csh
+ perlbin.fish
+ perl-binary-module-dependency-1.template
+ detect-old-perl-modules.sh
+ detect-old-perl-modules.hook)
+options=('makeflags' '!purge' 'emptydirs')
+sha512sums=('fd54c90da250144c81b94587c01c49fa367f84c54406f1d360ddab4a41589a7b19efc1707f95c95d6357fae66fc3f6f00bf69dd7741db114c7034a14f52be65f'
+ '46724344828e7f86e016f9c8d588bf52b2e764e65e0acc1a38899a530c99bc6e4fd8b46fa0d4bbd685aa2074dd5bcbf9029ac3bb3f2d0ee9adfc4f6c0745f373'
+ 'fc1344a02c741d61af6f6b5967f29cc6f43c2059761522b150261924dd7e1989da5254c03ffa0627accd9af01bc152edd24e84a6b59579acb9ee1900b6ce9383'
+ '026f8e1e81cacceaf78ec58830fb6109c5e6e9f48df835e661ca6b7b3a7d600ae002b489532adb3f292f355f6889273cc59e015f6dc32df1910883e2ab6a1bb7'
+ 'f865c8e4df46bbdd911e28b80b85338a01f911d36e6f2a6bd3688d5aacd96ef2082ce44f3060c7d5356705c7a42e3397cf9509a2b28b686991360aac70dc24b4'
+ 'bd48af7a6209f2ad51aa1747a7238ecb11607a53f61460d873202bf14b55c3b7dd6f66f4a9f2cac8a24240313789a9a44dbc81b73587de46a6b1866bdfca5e26'
+ '6b5b2ba606d443da22c6c1a754829abd36f3fdfef1089bcf06c8f9db0217f2c2f02ebc14958ffa7afe618c9a80bd1025e76704f67466c0c3db7d40ef2c0e56b3')
+# https://www.cpan.org/src/5.0/perl-$pkgver.tar.xz.sha256.txt
+
+prepare() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+}
build() {
cd ${srcdir}/${pkgname}-${pkgver}
@@ -35,19 +161,19 @@ build() {
if [ "${CARCH}" = "x86_64" ]; then
# for x86_64
arch_opts="-Dcccdlflags='-fPIC'"
- else
+ else
# for i686
arch_opts=""
fi
./Configure -des -Dusethreads -Duseshrplib -Doptimize="${CFLAGS}" \
- -Dprefix=/usr -Dinstallprefix=${pkgdir}/usr -Dvendorprefix=/usr \
+ -Dprefix=/usr -Dvendorprefix=/usr \
-Dprivlib=/usr/share/perl5/core_perl \
- -Darchlib=/usr/lib/perl5/core_perl \
+ -Darchlib=/usr/lib/perl5/$_baseversion/core_perl \
-Dsitelib=/usr/share/perl5/site_perl \
- -Dsitearch=/usr/lib/perl5/site_perl \
+ -Dsitearch=/usr/lib/perl5/$_baseversion/site_perl \
-Dvendorlib=/usr/share/perl5/vendor_perl \
- -Dvendorarch=/usr/lib/perl5/vendor_perl \
+ -Dvendorarch=/usr/lib/perl5/$_baseversion/vendor_perl \
-Dscriptdir=/usr/bin/core_perl \
-Dsitescript=/usr/bin/site_perl \
-Dvendorscript=/usr/bin/vendor_perl \
@@ -64,20 +190,22 @@ check() {
}
package() {
- # hack to work around makepkg running the subshell in check_sanity()
- new_provides=($(cd "$srcdir/perl-$pkgver"; LD_PRELOAD=./libperl.so ./perl -Ilib "$srcdir/provides.pl" .))
- provides=(${new_provides[@]})
-
cd ${srcdir}/${pkgname}-${pkgver}
- make install
+ make DESTDIR="$pkgdir" install
+
+ for template in "$srcdir/"*.template; do
+ install -Dm644 "$template" "$pkgdir/usr/share/makepkg-template/${template##*/}"
+ done
+ ln -s perl-binary-module-dependency-1.template "$pkgdir/usr/share/makepkg-template/"perl-binary-module-dependency.template
### Perl Settings ###
# Change man page extensions for site and vendor module builds.
- # Use archlinux email address instead of my own.
+ # Set no mail address since bug reports should go to the bug tracker
+ # and not someone's email.
sed -e '/^man1ext=/ s/1perl/1p/' -e '/^man3ext=/ s/3perl/3pm/' \
- -e "/^cf_email=/ s/'.*'/'kevin@archlinux.org'/" \
- -e "/^perladmin=/ s/'.*'/'kevin@archlinux.org'/" \
- -i ${pkgdir}/usr/lib/perl5/core_perl/Config_heavy.pl
+ -e "/^cf_email=/ s/'.*'/''/" \
+ -e "/^perladmin=/ s/'.*'/''/" \
+ -i ${pkgdir}/usr/lib/perl5/$_baseversion/core_perl/Config_heavy.pl
### CPAN Settings ###
# Set CPAN default config to use the site directories.
@@ -85,32 +213,27 @@ package() {
-e '/(mbuildpl_arg =>/ s/""/"installdirs=site"/' \
-i ${pkgdir}/usr/share/perl5/core_perl/CPAN/FirstTime.pm
- ### CPANPLUS Settings ###
- # Set CPANPLUS default config to use the site directories.
- sed -e "/{'makemakerflags'}/ s/'';/'INSTALLDIRS=site';/" \
- -e "/{'buildflags'}/ s/'';/'installdirs=site';/" \
- -i ${pkgdir}/usr/share/perl5/core_perl/CPANPLUS/Config.pm
-
# Profile script to set paths to perl scripts.
- install -D -m755 ${srcdir}/perlbin.sh \
+ install -D -m644 ${srcdir}/perlbin.sh \
${pkgdir}/etc/profile.d/perlbin.sh
- # Profile script to set paths to perl scripts on csh. (FS#22441)
- install -D -m755 ${srcdir}/perlbin.csh \
+ # Profile script to set paths to perl scripts on csh. (FS#22441)
+ install -D -m644 ${srcdir}/perlbin.csh \
${pkgdir}/etc/profile.d/perlbin.csh
+ # Profile script to set paths to perl scripts on fish. (FS#51191)
+ install -D -m 755 "$srcdir/perlbin.fish" \
+ "$pkgdir/usr/share/fish/vendor_conf.d/perlbin.fish"
- (cd ${pkgdir}/usr/bin; mv perl${pkgver} perl)
- (cd ${pkgdir}/usr/bin/core_perl; ln -sf c2ph pstruct; ln -sf s2p psed)
- grep -Rl "${pkgdir}" ${pkgdir}/usr | \
- xargs sed -i "s^${pkgdir}^^g"
-
- # Remove all pod files *except* those under /usr/share/perl5/core_perl/pod/
- # (FS#16488)
- rm -f $pkgdir/usr/share/perl5/core_perl/*.pod
- for d in $pkgdir/usr/share/perl5/core_perl/*; do
- if [ -d $d -a $(basename $d) != "pod" ]; then
- find $d -name *.pod -delete
- fi
- done
- find $pkgdir/usr/lib -name *.pod -delete
+ # Add the dirs so new installs will already have them in PATH once they
+ # install their first perl programm
+ install -d -m755 "$pkgdir/usr/bin/vendor_perl"
+ install -d -m755 "$pkgdir/usr/bin/site_perl"
+
+ #(cd ${pkgdir}/usr/bin; mv perl${pkgver} perl)
+ rm "$pkgdir/usr/bin/perl$pkgver"
+
+ install -D -m755 -t "$pkgdir/usr/share/libalpm/scripts" "$srcdir/detect-old-perl-modules.sh"
+ install -D -m644 -t "$pkgdir/usr/share/libalpm/hooks" "$srcdir/detect-old-perl-modules.hook"
+
+ find $pkgdir -name perllocal.pod -delete
find $pkgdir -name .packlist -delete
}
diff --git a/abs/core/perl/detect-old-perl-modules.hook b/abs/core/perl/detect-old-perl-modules.hook
new file mode 100644
index 0000000..5ff80d1
--- /dev/null
+++ b/abs/core/perl/detect-old-perl-modules.hook
@@ -0,0 +1,10 @@
+[Trigger]
+Operation = Install
+Operation = Upgrade
+Type = File
+Target = usr/lib/perl5/*/
+
+[Action]
+Description = Warn about old perl modules
+When = PostTransaction
+Exec = /usr/share/libalpm/scripts/detect-old-perl-modules.sh
diff --git a/abs/core/perl/detect-old-perl-modules.sh b/abs/core/perl/detect-old-perl-modules.sh
new file mode 100644
index 0000000..cdc8df3
--- /dev/null
+++ b/abs/core/perl/detect-old-perl-modules.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+basedir=/usr/lib/perl5
+perlver=$(perl -e '$v = $^V->{version}; print $v->[0].".".($v->[1]);')
+
+dir_empty() {
+ local dir=$1
+ [[ $(find $dir -maxdepth 0 -empty -exec echo empty \;) = "empty" ]] && return 0 || return 1
+}
+
+print_unowned_files() {
+ local dir=$1
+ LC_ALL=C find "$dir" -type f -exec pacman -Qqo {} + |& sed -n 's/^error: No package owns \(.*\)$/\1/p'
+}
+
+for dir in "$basedir/"*; do
+ if [[ "${dir##*/}" != "$perlver" ]]; then
+ if [[ -d "$dir" ]] && ! dir_empty "$dir"; then
+ pkgcount=$(pacman -Qqo "$dir" | wc -l)
+ if ((pkgcount > 0)); then
+ printf "WARNING: '%s' contains data from at least %d packages which will NOT be used by the installed perl interpreter.\n" "$dir" "$pkgcount"
+ printf " -> Run the following command to get a list of affected packages: pacman -Qqo '%s'\n" "$dir"
+ fi
+
+ unowned_count=$(print_unowned_files "$dir" | wc -l)
+ if ((unowned_count > 0)); then
+ printf "WARNING: %d file(s) in %s are not tracked by pacman and need to be rebuilt.\n" "$unowned_count" "$dir"
+ printf " -> These were most likely installed directly by cpan or a similar tool.\n"
+ printf " Run the following command to get a list of these files:\n"
+ printf " LC_ALL=C find \"%s\" -type f -exec pacman -Qqo {} + |& sed -n 's/^error: No package owns \(.*\)$/\\\1/p'\n" "$dir"
+ fi
+ fi
+ fi
+done
+
+
diff --git a/abs/core/perl/digest_eval_hole.diff b/abs/core/perl/digest_eval_hole.diff
deleted file mode 100644
index 4790413..0000000
--- a/abs/core/perl/digest_eval_hole.diff
+++ /dev/null
@@ -1,61 +0,0 @@
-From 4b6a7324284e7435a361c58f7ddb32fc0c635bd0 Mon Sep 17 00:00:00 2001
-From: "Michael G. Schwern" <schwern@pobox.com>
-Date: Mon, 3 Oct 2011 19:05:29 +0100
-Subject: Close the eval "require $module" security hole in
- Digest->new($algorithm)
-
-Also the filter was incomplete.
-
-Bug-Debian: http://bugs.debian.org/644108
-
-Patch-Name: fixes/digest_eval_hole.diff
----
- cpan/Digest/Digest.pm | 6 ++++--
- cpan/Digest/t/security.t | 14 ++++++++++++++
- 2 files changed, 18 insertions(+), 2 deletions(-)
- create mode 100644 cpan/Digest/t/security.t
-
-diff --git a/cpan/Digest/Digest.pm b/cpan/Digest/Digest.pm
-index 384dfc8..d714434 100644
---- a/cpan/Digest/Digest.pm
-+++ b/cpan/Digest/Digest.pm
-@@ -24,7 +24,7 @@ sub new
- shift; # class ignored
- my $algorithm = shift;
- my $impl = $MMAP{$algorithm} || do {
-- $algorithm =~ s/\W+//;
-+ $algorithm =~ s/\W+//g;
- "Digest::$algorithm";
- };
- $impl = [$impl] unless ref($impl);
-@@ -35,7 +35,9 @@ sub new
- ($class, @args) = @$class if ref($class);
- no strict 'refs';
- unless (exists ${"$class\::"}{"VERSION"}) {
-- eval "require $class";
-+ my $pm_file = $class . ".pm";
-+ $pm_file =~ s{::}{/}g;
-+ eval { require $pm_file };
- if ($@) {
- $err ||= $@;
- next;
-diff --git a/cpan/Digest/t/security.t b/cpan/Digest/t/security.t
-new file mode 100644
-index 0000000..5cba122
---- /dev/null
-+++ b/cpan/Digest/t/security.t
-@@ -0,0 +1,14 @@
-+#!/usr/bin/env perl
-+
-+# Digest->new() had an exploitable eval
-+
-+use strict;
-+use warnings;
-+
-+use Test::More tests => 1;
-+
-+use Digest;
-+
-+$LOL::PWNED = 0;
-+eval { Digest->new(q[MD;5;$LOL::PWNED = 42]) };
-+is $LOL::PWNED, 0;
diff --git a/abs/core/perl/fix-h2ph-and-tests.patch b/abs/core/perl/fix-h2ph-and-tests.patch
deleted file mode 100644
index a2d176e..0000000
--- a/abs/core/perl/fix-h2ph-and-tests.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-From 8d66b3f930dc6d88b524d103e304308ae73a46e7 Mon Sep 17 00:00:00 2001
-From: Robin Barker <rmbarker@cpan.org>
-Date: Thu, 22 Apr 2010 11:51:20 +0100
-Subject: [PATCH 1/1] Fix h2ph and test
-
----
- lib/h2ph.t | 12 ++++++++++--
- utils/h2ph.PL | 28 +++++++++++++++++++++++-----
- 2 files changed, 33 insertions(+), 7 deletions(-)
-
-diff --git a/lib/h2ph.t b/lib/h2ph.t
-index 27dd7b9..8d62d46 100644
---- a/lib/h2ph.t
-+++ b/lib/h2ph.t
-@@ -18,7 +18,7 @@ if (!(-e $extracted_program)) {
- exit 0;
- }
-
--plan(4);
-+plan(5);
-
- # quickly compare two text files
- sub txt_compare {
-@@ -41,8 +41,16 @@ $result = runperl( progfile => 'lib/h2ph.pht',
- stderr => 1 );
- like( $result, qr/syntax OK$/, "output compiles");
-
-+$result = runperl( progfile => '_h2ph_pre.ph',
-+ switches => ['-c'],
-+ stderr => 1 );
-+like( $result, qr/syntax OK$/, "preamble compiles");
-+
- $result = runperl( switches => ["-w"],
-- prog => '$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);');
-+ stderr => 1,
-+ prog => <<'PROG' );
-+$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);
-+PROG
- is( $result, '', "output free of warnings" );
-
- # cleanup
-diff --git a/utils/h2ph.PL b/utils/h2ph.PL
-index 8f56db4..1255807 100644
---- a/utils/h2ph.PL
-+++ b/utils/h2ph.PL
-@@ -401,7 +401,10 @@ if ($opt_e && (scalar(keys %bad_file) > 0)) {
- exit $Exit;
-
- sub expr {
-- $new = '"(assembly code)"' and return if /\b__asm__\b/; # freak out.
-+ if (/\b__asm__\b/) { # freak out
-+ $new = '"(assembly code)"';
-+ return
-+ }
- my $joined_args;
- if(keys(%curargs)) {
- $joined_args = join('|', keys(%curargs));
-@@ -770,7 +773,7 @@ sub inc_dirs
- sub build_preamble_if_necessary
- {
- # Increment $VERSION every time this function is modified:
-- my $VERSION = 2;
-+ my $VERSION = 3;
- my $preamble = "$Dest_dir/_h2ph_pre.ph";
-
- # Can we skip building the preamble file?
-@@ -798,7 +801,16 @@ sub build_preamble_if_necessary
- # parenthesized value: d=(v)
- $define{$_} = $1;
- }
-- if ($define{$_} =~ /^([+-]?(\d+)?\.\d+([eE][+-]?\d+)?)[FL]?$/) {
-+ if (/^(\w+)\((\w)\)$/) {
-+ my($macro, $arg) = ($1, $2);
-+ my $def = $define{$_};
-+ $def =~ s/$arg/\$\{$arg\}/g;
-+ print PREAMBLE <<DEFINE;
-+unless (defined &$macro) { sub $macro(\$) { my (\$$arg) = \@_; \"$def\" } }
-+
-+DEFINE
-+ } elsif
-+ ($define{$_} =~ /^([+-]?(\d+)?\.\d+([eE][+-]?\d+)?)[FL]?$/) {
- # float:
- print PREAMBLE
- "unless (defined &$_) { sub $_() { $1 } }\n\n";
-@@ -807,8 +819,14 @@ sub build_preamble_if_necessary
- print PREAMBLE
- "unless (defined &$_) { sub $_() { $1 } }\n\n";
- } elsif ($define{$_} =~ /^\w+$/) {
-- print PREAMBLE
-- "unless (defined &$_) { sub $_() { &$define{$_} } }\n\n";
-+ my $def = $define{$_};
-+ if ($isatype{$def}) {
-+ print PREAMBLE
-+ "unless (defined &$_) { sub $_() { \"$def\" } }\n\n";
-+ } else {
-+ print PREAMBLE
-+ "unless (defined &$_) { sub $_() { &$def } }\n\n";
-+ }
- } else {
- print PREAMBLE
- "unless (defined &$_) { sub $_() { \"",
---
-1.6.5.2.74.g610f9.dirty
-
diff --git a/abs/core/perl/generate-rebuild-list.sh b/abs/core/perl/generate-rebuild-list.sh
new file mode 100755
index 0000000..0ea6a93
--- /dev/null
+++ b/abs/core/perl/generate-rebuild-list.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+echo "vim"
+
+pkgfile -rd "^/usr/lib/perl5/" | sed 's#^.*/##' | sort -u
+
+pkgfile -r "^/usr/lib/perl5/vendor_perl/auto/.*\.so$" | sed 's#^.*/##' | sort -u
+ssh soyuz.archlinux.org PATH=/usr/local/bin:\$PATH\; /home/bluewind/bin/sogrep-all libperl.so
+
+# this one is optional
+#pkgfile -r '^/usr/share/perl5/' | sed 's#^.*/##' | sort -u
diff --git a/abs/core/perl/patchprov b/abs/core/perl/patchprov
new file mode 100755
index 0000000..c1b038d
--- /dev/null
+++ b/abs/core/perl/patchprov
@@ -0,0 +1,259 @@
+#!/usr/bin/perl
+##
+## Name:
+## patchprov
+##
+## Description:
+## Patch the provides list in the perl package PKGBUILD. Scan the appropriate
+## directories under the perl source tree for directories containing dists
+## similar to CPAN dists. Search the files in the distributions for VERSION
+## strings, which are perl expressions. Filters these version strings through
+## the perl interpreter, then transform the dist. names and versions into
+## package names and versions. Finally, we cut out the "provides" array from the
+## PKGBUILD and replace it with the newer version.
+##
+## Usage:
+## patchprov [path to perl source tree] [path to PKGBUILD]
+##
+## Caveats:
+## The path code is not platform independent and will only work in POSIX.
+##
+## Changelog:
+## 06/10/14 JD Rewrite from scratch for perl 5.20.0 and ArchLinux.
+##
+## Authors:
+## Justin "juster" Davis <jrcd83@gmail.com>
+##
+
+use warnings;
+use strict;
+
+sub err
+{
+ print STDERR "patchprov: error: @_\n";
+ exit 1;
+}
+
+## Extract the dist. name from its containing directory.
+sub path_dist
+{
+ my($path) = @_;
+ $path =~ s{^.*/}{};
+ return $path;
+}
+
+## Create a path like $path/lib/Foo/Bar.pm for Foo::Bar.
+sub lib_modpath
+{
+ my($path, $modname) = @_;
+ $modname =~ s{::}{/}g;
+ return "$path/lib/$modname.pm";
+}
+
+## Create a path to a file in the containing directory, named after
+## the last segment of the module name, with suffix attached.
+sub dumb_modpath
+{
+ my($path, $modname, $suffix) = @_;
+ $modname =~ s{^.*::}{};
+ return "$path/$modname$suffix";
+}
+
+## Find a source file contained in the directory that we can scrape the
+## perl versions string from.
+my %distmods = (
+ 'PathTools' => 'Cwd',
+ 'Scalar-List-Utils' => 'List::Util',
+ 'IO-Compress' => 'IO::Compress::Gzip',
+);
+sub dist_srcpath
+{
+ my($path) = @_;
+ my $distname = path_dist($path);
+ my $modname;
+ if(exists $distmods{$distname}){
+ $modname = $distmods{$distname};
+ }else{
+ $modname = $distname;
+ $modname =~ s/-/::/g;
+ }
+ my @srcpaths = (
+ lib_modpath($path, $modname),
+ dumb_modpath($path, $modname, '.pm'),
+ dumb_modpath($path, $modname, '_pm.PL'),
+ "$path/VERSION", # for podlators
+ );
+ for my $src (@srcpaths){
+ return $src if(-f $src);
+ }
+ return undef;
+}
+
+## Scrape the version string for the module file or Makefile.PL.
+sub scrape_verln
+{
+ my($srcpath) = @_;
+ open my $fh, '<', $srcpath or die "open: $!";
+ while(my $ln = <$fh>){
+ if($ln =~ s/^.*VERSION *=>? *//){
+ close $fh;
+ return $ln;
+ }
+ }
+ close $fh;
+ err("failed to find VERSION in $srcpath");
+}
+
+## Scrape the version string from the module source file.
+sub scrape_modver
+{
+ my($srcpath) = @_;
+ return scrape_verln($srcpath);
+}
+
+## Scrape the version string from the Makefile.PL. (for libnet)
+sub scrape_mkplver
+{
+ my($srcpath) = @_;
+ my $verln = scrape_verln($srcpath);
+ $verln =~ s/,/;/;
+ return $verln;
+}
+
+## Scrape the version string from a file inside the dist dir.
+sub distpath_ver
+{
+ my($distpath) = @_;
+ my $srcpath = dist_srcpath($distpath);
+ my $mkplpath = "$distpath/Makefile.PL";
+ if(defined $srcpath){
+ return scrape_modver($srcpath);
+ }elsif(-f $mkplpath){
+ return scrape_mkplver($mkplpath);
+ }else{
+ err("failed to scrape version from $distpath");
+ }
+}
+
+## Search the base path for the dist dirs and extract their respective
+## version strings.
+sub find_distvers
+{
+ my($basepath) = @_;
+ opendir my $dh, $basepath or die "opendir: $!";
+ my @dirs = grep { -d $_ } map { "$basepath/$_" } grep { !/^[.]/ } readdir $dh;
+ closedir $dh;
+
+ my @distvers;
+ for my $dpath (@dirs){
+ push @distvers, [ path_dist($dpath), distpath_ver($dpath) ];
+ }
+ return @distvers;
+}
+
+## Maps an aref of dist name/perl version strings (perl expressions) to
+## a package name and version string suitable for a PKGBUILD.
+sub pkgspec
+{
+ my($dist, $ver) = @$_;
+ $dist =~ tr/A-Z/a-z/;
+ $ver = eval $ver;
+ return "perl-$dist=$ver";
+}
+
+## Searches the perl source dir provided for a list of packages which
+## correspond to the core distributions bundled within in.
+sub perlcorepkgs
+{
+ my($perlpath) = @_;
+ my @dirs = ("$perlpath/cpan", "$perlpath/dist");
+ my @provs;
+ for my $d (@dirs){
+ if(!-d $d){
+ err("$d is not a valid directory");
+ }
+ push @provs, map pkgspec, find_distvers($d);
+ }
+ return @provs;
+}
+
+## Formats the provided lines into a neatly formatted bash array. The first arg
+## is the name of the bash variable to assign it to.
+sub basharray
+{
+ my $vname = shift;
+
+ ## Sort entries and surround with quotes.
+ my @lns = sort map { qq{'$_'} } @_;
+ $lns[0] = "$vname=($lns[0]";
+
+ ## Indent lines for OCD geeks.
+ if(@lns > 1){
+ my $ind = length($vname) + 2;
+ splice @lns, 1, @lns-1,
+ map { (' ' x $ind) . $_ } @lns[1 .. $#lns];
+ }
+
+ $lns[$#lns] .= ')';
+ return map { "$_\n" } @lns;
+}
+
+## Patch the PKGBUILD at the given path with a new provides array, overwriting
+## the old one.
+sub patchpb
+{
+ my $pbpath = shift;
+ open my $fh, '<', $pbpath or die "open: $!";
+ my @lines = <$fh>;
+ close $fh;
+
+ my($i, $j);
+ for($i = 0; $i < @lines; $i++){
+ last if($lines[$i] =~ /^provides=/);
+ }
+ if($i == @lines){
+ err("failed to find provides array in PKGBUILD");
+ }
+ for($j = $i; $j < @lines; $j++){
+ last if($lines[$j] =~ /[)]/);
+ }
+ if($j == @lines){
+ err("failed to find end of provides array");
+ }
+
+ splice @lines, $i, $j-$i+1,
+ basharray('provides', grep { !/win32|next/ } @_);
+
+ ## Avoid corrupting the existing PKGBUILD in case of a crash, etc.
+ if(-f "$pbpath.$$"){
+ err("pbpath.$$ temporary file already exists, please remove it.");
+ }
+ open $fh, '>', "$pbpath.$$" or die "open: $!";
+ print $fh @lines;
+ close $fh or die "close: $!";
+ rename "$pbpath.$$", "$pbpath" or die "rename: $!";
+
+ return;
+}
+
+## Program entrypoint.
+sub main
+{
+ if(@_ < 2){
+ print STDERR "usage: $0 [perl source path] [PKGBUILD path]\n";
+ exit 2;
+ }
+ my($perlpath, $pbpath) = @_;
+ if(!-f $pbpath){
+ err("$pbpath is not a valid file.");
+ }elsif(!-d $perlpath){
+ err("$perlpath is not a valid directory.");
+ }else{
+ patchpb($pbpath, perlcorepkgs($perlpath));
+ }
+ exit 0;
+}
+
+main(@ARGV);
+
+# EOF
diff --git a/abs/core/perl/perl-binary-module-dependency-1.template b/abs/core/perl/perl-binary-module-dependency-1.template
new file mode 100644
index 0000000..822ee91
--- /dev/null
+++ b/abs/core/perl/perl-binary-module-dependency-1.template
@@ -0,0 +1,5 @@
+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
diff --git a/abs/core/perl/perl.install b/abs/core/perl/perl.install
deleted file mode 100644
index a355c5b..0000000
--- a/abs/core/perl/perl.install
+++ /dev/null
@@ -1,10 +0,0 @@
-# arg 1: the new package version
-post_install() {
- for ver in 5.8.{0,1,2,3,4,5,6,7,8}; do
- [ -h usr/lib/perl5/$ver ] && rm usr/lib/perl5/$ver
- [ -h usr/lib/perl5/site_perl/$ver ] && rm usr/lib/perl5/site_perl/$ver
- [ -h usr/bin/perl$ver ] && rm usr/bin/perl$ver
- done
- return 0
-}
-
diff --git a/abs/core/perl/perlbin.csh b/abs/core/perl/perlbin.csh
index 535f0b1..fccecbd 100644
--- a/abs/core/perl/perlbin.csh
+++ b/abs/core/perl/perlbin.csh
@@ -1,5 +1,5 @@
# Set path to perl scriptdirs if they exist
-# https://wiki.archlinux.org/index.php/Perl_Policy#Binaries_and_Scripts
+# https://wiki.archlinux.org/index.php/Perl_Policy#Binaries_and_scripts
# Added /usr/bin/*_perl dirs for scripts
# Remove /usr/lib/perl5/*_perl/bin in next release
diff --git a/abs/core/perl/perlbin.fish b/abs/core/perl/perlbin.fish
new file mode 100644
index 0000000..1f52ebb
--- /dev/null
+++ b/abs/core/perl/perlbin.fish
@@ -0,0 +1,10 @@
+# Set path to perl scriptdirs if they exist
+# https://wiki.archlinux.org/index.php/Perl_Policy#Binaries_and_scripts
+
+if status --is-login
+ for perldir in /usr/bin/site_perl /usr/bin/vendor_perl /usr/bin/core_perl
+ if test -d $perldir
+ set PATH $PATH $perldir
+ end
+ end
+end
diff --git a/abs/core/perl/perlbin.sh b/abs/core/perl/perlbin.sh
index 20f8304..7e38f20 100755
--- a/abs/core/perl/perlbin.sh
+++ b/abs/core/perl/perlbin.sh
@@ -1,5 +1,5 @@
# Set path to perl scriptdirs if they exist
-# https://wiki.archlinux.org/index.php/Perl_Policy#Binaries_and_Scripts
+# https://wiki.archlinux.org/index.php/Perl_Policy#Binaries_and_scripts
# Added /usr/bin/*_perl dirs for scripts
# Remove /usr/lib/perl5/*_perl/bin in next release
diff --git a/abs/core/perl/provides.pl b/abs/core/perl/provides.pl
deleted file mode 100644
index d2cdc76..0000000
--- a/abs/core/perl/provides.pl
+++ /dev/null
@@ -1,299 +0,0 @@
-# provides.pl
-##
-# Script for printing out a provides list of every CPAN distribution
-# that is bundled with perl. You can run it before building perl
-# or you can run it after building perl. Required modules are in core
-# for perl 5.13 and above. It might be nice if this didn't require
-# HTTP::Tiny and maybe just used wget or curl.
-#
-# This script uses HTTP::Tiny to query Tatsuhiko Miyagawa's webapp at
-# cpanmetadb.plackperl.org to cross-reference module files to their
-# providing CPAN distribution. Thank you Miyagawa!
-#
-# - Justin "juster" Davis <jrcd83@gmail.com>
-
-use warnings 'FATAL' => 'all';
-use strict;
-
-package Common;
-
-sub evalver
-{
- my ($path, $mod) = @_;
-
- open my $fh, '<', $path or die "open $path: $!";
-
- my $m = ($mod
- ? qr/(?:\$${mod}::VERSION|\$VERSION)/
- : qr/\$VERSION/);
-
- while (my $ln = <$fh>) {
- next unless $ln =~ /\s*$m\s*=\s*.+/;
- chomp $ln;
- my $ver = do { no strict; eval $ln };
- return $ver unless $@;
- die qq{$path:$. bad version string in "$ln"\n};
- }
-
- close $fh;
- return undef;
-}
-
-
-#-----------------------------------------------------------------------------
-
-package Dists;
-
-sub maindistfile
-{
- my ($dist, $dir) = @_;
-
- # libpath is the modern style, installing modules under lib/
- # with dirs matching the name components.
- my $libpath = join q{/}, 'lib', split /-/, "${dist}.pm";
-
- # dumbpath is an old style where there's no subdirs and just
- # a .pm file.
- my $dumbpath = $dist;
- $dumbpath =~ s/\A.+-//;
- $dumbpath .= ".pm";
-
- my @paths = ($libpath, $dumbpath);
- # Some modules (with simple names like XSLoader, lib, etc) are
- # generated by Makefile.PL. Search through their generating code.
- push @paths, "${dist}_pm.PL" if $dist =~ tr/-/-/ == 0;
-
- for my $path (map { "$dir/$_" } @paths) { return $path if -f $path; }
- return undef;
-}
-
-sub module_ver
-{
- my ($dist, $dir) = @_;
-
- my $path = maindistfile($dist, $dir) or return undef;
-
- my $mod = $dist;
- $mod =~ s/-/::/g;
- my $ver = Common::evalver($path, $mod);
- unless ($ver) {
- warn "failed to find version in module file for $dist\n";
- return undef;
- }
-
- return $ver;
-}
-
-sub changelog_ver
-{
- my ($dist, $dir) = @_;
-
- my $path;
- for my $tmp (glob "$dir/{Changes,ChangeLog}") {
- if (-f $tmp) { $path = $tmp; last; }
- }
- return undef unless $path;
-
- open my $fh, '<', $path or die "open: $!";
- while (<$fh>) {
- return $1 if /\A\s*(?:$dist[ \t]*)?([0-9._]+)/;
- return $1 if /\A\s*version\s+([0-9._]+)/i;
- }
- close $fh;
-
- return undef;
-}
-
-# for some reason podlators has a VERSION file with perl code in it
-sub verfile_ver
-{
- my ($dist, $dir) = @_;
-
- my $path = "$dir/VERSION";
- return undef unless -f $path; # no warning, only podlaters has it
-
- return Common::evalver($path);
-}
-
-# scans a directory full of nicely separated dist. directories.
-sub scan_distroot
-{
- my ($distroot) = @_;
- opendir my $cpand, "$distroot" or die "failed to open $distroot";
- my @dists = grep { !/^\./ && -d "$distroot/$_" } readdir $cpand;
- closedir $cpand;
-
- my @found;
- for my $dist (@dists) {
- my $distdir = "$distroot/$dist";
- my $ver = (module_ver($dist, $distdir)
- || changelog_ver($dist, $distdir)
- || verfile_ver($dist, $distdir));
-
- if ($ver) { push @found, [ $dist, $ver ]; }
- else { warn "failed to find version for $dist\n"; }
- }
- return @found;
-}
-
-sub find
-{
- my ($srcdir) = @_;
- return map { scan_distroot($_) } glob "$srcdir/{cpan,dist}";
-}
-
-#-----------------------------------------------------------------------------
-
-package Modules;
-
-use HTTP::Tiny qw();
-use File::Find qw();
-use File::stat;
-
-*findfile = *File::Find::find;
-
-sub cpan_provider
-{
- my ($module) = @_;
- my $url = "http://cpanmetadb.plackperl.org/v1.0/package/$module";
- my $http = HTTP::Tiny->new;
- my $resp = $http->get($url);
- return undef unless $resp->{'success'};
-
- my ($cpanpath) = $resp->{'content'} =~ /^distfile: (.*)$/m
- or return undef;
-
- my $dist = $cpanpath;
- $dist =~ s{\A.+/}{}; # remove author directory
- $dist =~ s{-[^-]+\z}{}; # remove version and extension
- return ($dist eq 'perl' ? undef : $dist);
-}
-
-sub find
-{
- my ($srcdir) = @_;
- my $libdir = "$srcdir/lib/";
- die "failed to find $libdir directory" unless -d $libdir;
-
- # Find only the module files that have not changed since perl
- # was extracted. We don't want the files perl just recently
- # installed into lib/. We processed those already.
- my @modfiles;
- my $finder = sub {
- return unless /[.]pm\z/;
- return if m{\Q$libdir\E[^/]+/t/}; # ignore testing modules
- push @modfiles, $_;
- };
- findfile({ 'no_chdir' => 1, 'wanted' => $finder }, $libdir);
-
- # First we have to find what the oldest ctime actually is.
- my $oldest = time;
- @modfiles = map {
- my $modfile = $_;
- my $ctime = (stat $modfile)->ctime;
- $oldest = $ctime if $ctime < $oldest;
- [ $modfile, $ctime ]; # save ctime for later
- } @modfiles;
-
- # Then we filter out any file that was created more than a
- # few seconds after that. Process the rest.
- my @mods;
- for my $modfile (@modfiles) {
- my ($mod, $ctime) = @$modfile;
- next if $ctime - $oldest > 5; # ignore newer files
-
- my $path = $mod;
- $mod =~ s{[.]pm\z}{};
- $mod =~ s{\A$libdir}{};
- $mod =~ s{/}{::}g;
-
- my $ver = Common::evalver($path, $mod) || q{};
- push @mods, [ $mod, $ver ];
- }
-
- # Convert modules names to the dist names who provide them.
- my %seen;
- my @dists;
- for my $modref (@mods) {
- my ($mod, $ver) = @$modref;
- my $dist = cpan_provider($mod) or next; # filter out core modules
- next if $seen{$dist}++; # avoid duplicate dists
- push @dists, [ $dist, $ver ];
- }
- return @dists;
-}
-
-#-----------------------------------------------------------------------------
-
-package Dist2Pkg;
-
-sub name
-{
- my ($name) = @_;
- my $orig = $name;
-
- # Package names should be lowercase and consist of alphanumeric
- # characters only (and hyphens!)...
- $name =~ tr/A-Z/a-z/;
- $name =~ tr/_+/-/; # _ and +'s converted to - (ie Tabbed-Text+Wrap)
- $name =~ tr/-a-z0-9+//cd; # Delete all other chars.
- $name =~ tr/-/-/s;
-
- # Delete leading or trailing hyphens...
- $name =~ s/\A-|-\z//g;
-
- die qq{Dist. name '$orig' completely violates packaging standards}
- unless $name;
-
- return "perl-$name";
-}
-
-sub version
-{
- my ($version) = @_;
-
- # Package versions should be numbers and decimal points only...
- $version =~ tr/-/./;
- $version =~ tr/_0-9.-//cd;
-
- # Remove developer versions because pacman has no special logic
- # to compare them to regular versions like perl does.
- $version =~ s/_[^_]+\z//;
-
- $version =~ tr/_//d; # delete other underscores
- $version =~ tr/././s; # only one period at a time
- $version =~ s/\A[.]|[.]\z//g; # shouldn't start or stop with a period
-
- return $version;
-}
-
-#-----------------------------------------------------------------------------
-
-package main;
-
-my %CPANNAME = ('List-Util' => 'Scalar-List-Utils',
- 'Text-Tabs' => 'Text-Tabs+Wrap',
- 'Cwd' => 'PathTools');
-
-my $perldir = shift or die "Usage: $0 [path to perl source directory]\n";
-die "$perldir is not a valid directory." unless -d $perldir;
-
-my @dists = (Dists::find($perldir), Modules::find($perldir));
-for my $dist (@dists) {
- my $name = $dist->[0];
- $dist->[0] = $CPANNAME{$name} if exists $CPANNAME{$name};
-}
-
-my @pkgs = map {
- my ($name, $ver) = @$_;
- $name = Dist2Pkg::name($name);
- $ver = Dist2Pkg::version($ver);
- [ $name, $ver ];
-} @dists;
-
-@pkgs = sort { $a->[0] cmp $b->[0] } @pkgs;
-
-for my $pkg (@pkgs) {
- my ($name, $ver) = @$pkg;
- print "$name=$ver\n";
-}
diff --git a/abs/core/perl/upgpkg b/abs/core/perl/upgpkg
new file mode 100644
index 0000000..6a38607
--- /dev/null
+++ b/abs/core/perl/upgpkg
@@ -0,0 +1,4 @@
+upgpkg_build() {
+ makepkg -o
+ ./patchprov src/perl-$pkgver PKGBUILD
+}
diff --git a/abs/core/perl_modules/libxml-perl/PKGBUILD b/abs/core/perl_modules/libxml-perl/PKGBUILD
index 474d3eb..055b08c 100644
--- a/abs/core/perl_modules/libxml-perl/PKGBUILD
+++ b/abs/core/perl_modules/libxml-perl/PKGBUILD
@@ -1,29 +1,34 @@
-# $Id: PKGBUILD 55561 2011-09-14 10:11:00Z andrea $
-# Maintainer: Chris Brannon <cmbrannon79@gmail.com>
-# Contributor: François Charette <firmicus ατ gmx δοτ net>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Limao Luo <luolimao+AUR@gmail.com>
+# Contributor: Chris Brannon <cmbrannon79@gmail.com>
+# Contributor: François Charette <firmicus@gmx.net>
pkgname=libxml-perl
pkgver=0.08
-pkgrel=3
+pkgrel=6
pkgdesc="Perl library for working with XML"
arch=('any')
-url="http://search.cpan.org/~KMACLEOD/libxml-perl"
+url="http://search.cpan.org/~KMACLEOD/$pkgname"
license=('GPL' 'PerlArtistic')
-depends=('perlxml>=2.19')
+depends=('perl-xml-parser')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/K/KM/KMACLEOD/libxml-perl-$pkgver.tar.gz)
-md5sums=('0ed5fbdda53d1301ddaed88db10503bb')
+source=("http://www.cpan.org/authors/id/K/KM/KMACLEOD/$pkgname-$pkgver.tar.gz")
+sha512sums=('66c1874a04b746334d4324ab37ee057c6da7fa7191dffae2900e0832dab3b2ededc5cbdc5e838c0d57c22161c9cf196ab40b62f61338d4c994bda9fa7b1a7702')
build() {
- cd "${srcdir}"/$pkgname-$pkgver
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ cd $pkgname-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor PERL_MM_USE_DEFAULT=1
make
}
-package() {
- cd "${srcdir}"/$pkgname-$pkgver
- make DESTDIR="${pkgdir}" install
+check() {
+ cd $pkgname-$pkgver
+ make test
+}
- find "${pkgdir}" -name '.packlist' -delete
- find "${pkgdir}" -name '*.pod' -delete
+package() {
+ make -C $pkgname-$pkgver/ DESTDIR="$pkgdir" install
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-algorithm-diff/PKGBUILD b/abs/core/perl_modules/perl-algorithm-diff/PKGBUILD
index d185772..864421a 100644
--- a/abs/core/perl_modules/perl-algorithm-diff/PKGBUILD
+++ b/abs/core/perl_modules/perl-algorithm-diff/PKGBUILD
@@ -1,20 +1,27 @@
-# This PKGBUILD was autocreated. See http://xtermin.us/archperl/ for details
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Charles Mauch <cmauch@gmail.com>
+
pkgname=perl-algorithm-diff
-pkgver=1.1902
-pkgrel=4
+pkgver=1.1903
+pkgrel=3
pkgdesc="Perl/CPAN Module Algorithm::Diff : Diff also Longest Common Subsequence"
-arch=("i686" "x86_64")
-url="http://search.cpan.org/TYEMQ/Algorithm-Diff"
-license=("GPL" "Artistic")
-source=("http://www.cpan.org/authors/id/T/TY/TYEMQ/Algorithm-Diff-1.1902.tar.gz")
-md5sums=("ff3e17ae485f8adfb8857b183991fbce")
-groups=('shepherd-dep')
+arch=("any")
+url="http://search.cpan.org/dist/Algorithm-Diff"
+license=("GPL" "PerlArtistic")
+depends=(perl)
+source=("http://search.cpan.org/CPAN/authors/id/T/TY/TYEMQ/Algorithm-Diff-$pkgver.tar.gz")
+md5sums=('0e8add21a641b8d66436df0c2024bf3b')
+
build() {
- cd $startdir/src/Algorithm-Diff-1.1902
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
- make || return 1
- make pure_install doc_install DESTDIR=$startdir/pkg || return 1
- find $startdir/pkg -name '.packlist' -delete
- find $startdir/pkg -name '*.pod' -delete
+ cd "$srcdir"/Algorithm-Diff-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd "$srcdir"/Algorithm-Diff-$pkgver
+ make pure_install doc_install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-alien-sdl/PKGBUILD b/abs/core/perl_modules/perl-alien-sdl/PKGBUILD
index 4b6bded..9e76ddf 100644
--- a/abs/core/perl_modules/perl-alien-sdl/PKGBUILD
+++ b/abs/core/perl_modules/perl-alien-sdl/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 165868 2012-09-01 20:47:49Z heftig $
+# $Id$
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
@@ -8,25 +8,35 @@
pkgname=perl-alien-sdl
_realname=Alien-SDL
-pkgver=1.438
-pkgrel=1
+pkgver=1.446
+pkgrel=4
pkgdesc="Building, finding and using SDL binaries"
-arch=(i686 x86_64)
+arch=(x86_64)
license=(PerlArtistic GPL)
url="http://search.cpan.org/dist/Alien-SDL/"
-depends=(sdl=1.2.15 perl-file-sharedir perl-capture-tiny)
-makedepends=(perl-file-which perl-text-patch)
+depends=('sdl=1.2.15' perl-file-sharedir perl-capture-tiny)
+makedepends=(perl-file-which perl-text-patch perl-archive-extract perl-archive-zip perl-module-build)
options=(!emptydirs)
-_author=JTPALMER
+_author=FROGGS
source=(http://search.cpan.org/CPAN/authors/id/${_author::1}/${_author::2}/$_author/$_realname-$pkgver.tar.gz)
-md5sums=('1936ba9e300677151124b62883cedf20')
+sha256sums=('c9aa2c9dc3c63d89773c7d7203f2a46d1b924d0c72d9f801af147a3dc8bc512a')
-package() {
- cd "$srcdir/$_realname-$pkgver"
+prepare() {
+ cd $_realname-$pkgver
- # install module in vendor directories
- perl Build.PL installdirs=vendor destdir="$pkgdir" --with-sdl-config
+ # Workaround bug with --with-sdl-config
+ sed -i '/^GetOptions/d' Build.PL
+}
+
+build() {
+ cd $_realname-$pkgver
+ # install module in vendor directories
+ perl Build.PL --with-sdl-config
perl Build
- perl Build install
+}
+
+package() {
+ cd $_realname-$pkgver
+ perl Build install installdirs=vendor destdir="$pkgdir"
}
diff --git a/abs/core/perl_modules/perl-appconfig/PKGBUILD b/abs/core/perl_modules/perl-appconfig/PKGBUILD
index 41f9422..7b76e4d 100644
--- a/abs/core/perl_modules/perl-appconfig/PKGBUILD
+++ b/abs/core/perl_modules/perl-appconfig/PKGBUILD
@@ -6,7 +6,7 @@
pkgname=perl-appconfig
_realname=AppConfig
pkgver=1.71
-pkgrel=1
+pkgrel=3
pkgdesc="Perl/CPAN AppConfig module - Read configuration files and parse command line arguments"
arch=('any')
license=('PerlArtistic' 'GPL')
diff --git a/abs/core/perl_modules/perl-archive-extract/PKGBUILD b/abs/core/perl_modules/perl-archive-extract/PKGBUILD
new file mode 100644
index 0000000..535c767
--- /dev/null
+++ b/abs/core/perl_modules/perl-archive-extract/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Florian Pritz <bluewind@xinu.at>
+
+pkgname=perl-archive-extract
+pkgver=0.80
+pkgrel=3
+pkgdesc='Generic archive extracting mechanism'
+arch=(any)
+license=(PerlArtistic GPL)
+options=(!emptydirs)
+depends=(perl)
+url=https://metacpan.org/release/Archive-Extract
+source=("http://search.cpan.org/CPAN/authors/id/B/BI/BINGOS/Archive-Extract-$pkgver.tar.gz")
+sha512sums=('2f216ea29639c4d8b7b19e4b23542b6f69e970cfb0188dca55ff7ce7d3a3021e43129dbdf81b82f7d97d0080d00f858c6af3595520b6bacac30073a8b25ea4f0')
+_ddir="Archive-Extract-$pkgver"
+
+build() (
+ cd "$srcdir/$_ddir"
+ export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
+ unset PERL5LIB PERL_MM_OPT
+ /usr/bin/perl Makefile.PL
+ make
+)
+
+check() (
+ cd "$srcdir/$_ddir"
+ export PERL_MM_USE_DEFAULT=1
+ unset PERL5LIB
+ make test
+)
+
+package() (
+ cd "$srcdir/$_ddir"
+ make install INSTALLDIRS=vendor DESTDIR="$pkgdir"
+ 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/core/perl_modules/perl-archive-zip/PKGBUILD b/abs/core/perl_modules/perl-archive-zip/PKGBUILD
index 62ace36..5a82f1a 100644
--- a/abs/core/perl_modules/perl-archive-zip/PKGBUILD
+++ b/abs/core/perl_modules/perl-archive-zip/PKGBUILD
@@ -1,28 +1,34 @@
-# $Id: PKGBUILD 150362 2012-02-17 07:51:32Z allan $
-# Maintainer: Allan McRae <allan@archlinux.org>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Andrew Simmons <andrew.simmons@gmail.com>
pkgname=perl-archive-zip
-_realname=Archive-Zip
-pkgver=1.30
-pkgrel=3
+pkgver=1.60
+pkgrel=1
pkgdesc="Provide a perl interface to ZIP archive files"
-arch=(any)
+arch=('any')
license=('GPL' 'PerlArtistic')
-url="http://search.cpan.org/dist/${_realname}/"
-depends=('perl>=5.10.0')
+url="http://search.cpan.org/dist/Archive-Zip/"
+depends=('perl')
+checkdepends=('perl-test-mockmodule')
options=('!emptydirs')
-source=(http://search.cpan.org/CPAN/authors/id/A/AD/ADAMK/${_realname}-${pkgver}.tar.gz)
-md5sums=('40153666e7538b410e001aa8a810e702')
+source=(http://search.cpan.org/CPAN/authors/id/P/PH/PHRED/Archive-Zip-${pkgver}.tar.gz)
+sha512sums=('5af85e1717e7026b5ebe9533b0dd57290b35099d166ee400ca648cb558a37529a3ec290fb9a44679c16cf955a2de9b75328c2fa88d3e87e51c10cac80247852f')
build() {
- cd ${srcdir}/${_realname}-${pkgver}
- # install module in vendor directories.
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ cd Archive-Zip-${pkgver}
+ perl Makefile.PL INSTALLDIRS=vendor
make
}
+check() {
+ cd Archive-Zip-${pkgver}
+ make test
+}
+
+
package() {
- cd ${srcdir}/${_realname}-${pkgver}
- make install DESTDIR=${pkgdir}
+ cd Archive-Zip-${pkgver}
+ make DESTDIR="${pkgdir}" install
}
diff --git a/abs/core/perl_modules/perl-astro-suntime/PKGBUILD b/abs/core/perl_modules/perl-astro-suntime/PKGBUILD
index d615aa3..7fe6143 100644
--- a/abs/core/perl_modules/perl-astro-suntime/PKGBUILD
+++ b/abs/core/perl_modules/perl-astro-suntime/PKGBUILD
@@ -1,29 +1,49 @@
-# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
-# Contributor: Ross melin <rdmelin@gmail.com>
+# Contributor: John D Jones III AKA jnbek <jnbek1972 -_AT_- g m a i l -_Dot_- com>
+# Generator : CPANPLUS::Dist::Arch 1.32
-# Required by zoneminder
-
-pkgname=perl-astro-suntime
-pkgver=0.01
-pkgrel=2
-pkgdesc="Calculate sun rise/set times"
-arch=('i686' 'x86_64')
-url="http://search.cpan.org/~ROBF/Astro-SunTime"
-license=('GPL' 'PerlArtistic')
-depends=('perl-time-modules')
+pkgname='perl-astro-suntime'
+pkgver='0.06'
+pkgrel='1'
+pkgdesc="Get Sun Rise and Set Times for any location on the globe"
+arch=('any')
+license=('PerlArtistic' 'GPL')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/R/RO/ROBF/Astro-SunTime-$pkgver.tar.gz)
-md5sums=('4657927a49604494bfaaa153663b90b9')
+depends=('perl-time-modules')
+makedepends=()
+url='https://metacpan.org/release/Astro-SunTime'
+source=("http://search.cpan.org/CPAN/authors/id/R/RO/ROBF/Astro-SunTime-$pkgver.tar.gz")
+_distdir="Astro-SunTime-$pkgver"
build() {
- cd $startdir/src/Astro-SunTime-$pkgver
- eval `perl -V:archname`
- PERL_MM_USE_DEFAULT=1 /usr/bin/perl Makefile.PL \
- INSTALLDIRS=vendor || return 1
- /usr/bin/make || return 1
- /usr/bin/make DESTDIR=$startdir/pkg install || return 1
- /usr/bin/find $startdir/pkg -name '.packlist' -delete
- /usr/bin/find $startdir/pkg -name '*.pod' -delete
+ ( 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 "$srcdir/$_distdir"
+ /usr/bin/perl Makefile.PL
+ make
+ )
+}
+
+check() {
+ cd "$srcdir/$_distdir"
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ make test
+ )
+}
+
+package() {
+ cd "$srcdir/$_distdir"
+ make 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:
+md5sums=('42cb8c94de8a111ed652196925c22a45')
diff --git a/abs/core/perl_modules/perl-b-hooks-endofscope/PKGBUILD b/abs/core/perl_modules/perl-b-hooks-endofscope/PKGBUILD
new file mode 100644
index 0000000..5a8c040
--- /dev/null
+++ b/abs/core/perl_modules/perl-b-hooks-endofscope/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id$
+# Maintainer: Sergej Pupykin <arch+pub@sergej.pp.ru>
+# Maintainer: Maxwell Pray a.k.a. Synthead <synthead@gmail.com>
+# Contributor: aurperl@juster.us
+
+pkgname="perl-b-hooks-endofscope"
+_cpanname="B-Hooks-EndOfScope"
+pkgver=0.21
+pkgrel=3
+pkgdesc="Execute code after a scope finished compilation"
+arch=("any")
+license=("PerlArtistic" "GPL")
+options=("!emptydirs")
+depends=("perl-module-implementation"
+ "perl-module-runtime"
+ "perl-sub-exporter"
+ "perl-sub-exporter-progressive"
+ "perl-try-tiny"
+ "perl-variable-magic>=0.34"
+ "perl>=5.5.0")
+url="http://search.cpan.org/~bobtfish/B-Hooks-EndOfScope-$pkgver/"
+source=("http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/B-Hooks-EndOfScope-$pkgver.tar.gz")
+sha256sums=('90f3580880f1d68b843c142cc86f58bead1f3e03634c63868ac9eba5eedae02c')
+
+build() {
+ cd "$srcdir"/B-Hooks-EndOfScope-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$srcdir"/B-Hooks-EndOfScope-$pkgver
+ make test
+}
+
+package() {
+ cd "$srcdir"/B-Hooks-EndOfScope-$pkgver
+ make install DESTDIR="$pkgdir"
+ # Remove "perllocal.pod" and ".packlist".
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+}
diff --git a/abs/core/perl_modules/perl-capture-tiny/PKGBUILD b/abs/core/perl_modules/perl-capture-tiny/PKGBUILD
index a0987b3..4b15057 100644
--- a/abs/core/perl_modules/perl-capture-tiny/PKGBUILD
+++ b/abs/core/perl_modules/perl-capture-tiny/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 167936 2012-10-03 22:20:09Z heftig $
+# $Id$
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Caleb Cushing <xenoterracide@gmail.com>
pkgname=perl-capture-tiny
_realname=Capture-Tiny
-pkgver=0.20
-pkgrel=1
+pkgver=0.46
+pkgrel=3
pkgdesc="Capture STDOUT and STDERR from Perl, XS or external programs"
arch=(any)
license=(PerlArtistic GPL)
@@ -13,7 +13,7 @@ depends=(perl)
url="http://search.cpan.org/dist/Capture-Tiny"
options=('!emptydirs')
source=("http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/$_realname-$pkgver.tar.gz")
-md5sums=('cd7aab9f3bccefc76c7d4f0455c55d35')
+sha256sums=('5d7a6a830cf7f2b2960bf8b8afaac16a537ede64f3023827acea5bd24ca77015')
build() {
cd "$srcdir/$_realname-$pkgver"
@@ -21,6 +21,13 @@ build() {
make
}
+check() {
+ cd "$srcdir/$_realname-$pkgver"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1
+ make test
+}
+
package() {
cd "$srcdir/$_realname-$pkgver"
make DESTDIR="$pkgdir" install
diff --git a/abs/core/perl_modules/perl-cgi/PKGBUILD b/abs/core/perl_modules/perl-cgi/PKGBUILD
new file mode 100644
index 0000000..e94e393
--- /dev/null
+++ b/abs/core/perl_modules/perl-cgi/PKGBUILD
@@ -0,0 +1,47 @@
+# Maintainer: Florian Pritz <bluewind@xinu.at>
+
+pkgname=perl-cgi
+pkgver=4.38
+pkgrel=1
+pkgdesc='Handle Common Gateway Interface requests and responses'
+arch=(any)
+license=(PerlArtistic GPL)
+options=(!emptydirs)
+depends=('perl>=5.8.1' perl-html-parser)
+checkdepends=('perl-test-deep>=0.11' perl-test-nowarnings
+ 'perl-test-warn>=0.3')
+url=https://metacpan.org/release/CGI
+source=("http://search.cpan.org/CPAN/authors/id/L/LE/LEEJO/CGI-$pkgver.tar.gz")
+md5sums=(0aeb8563d533e7f83724ed068b5bfc37)
+sha512sums=(c035a24b228105786828a4c9ae9c6aab9f22e311dc73871dc25497c5b4b84e77b096e570059a9d7cadc2916bfba582d5c093b6f029ccf0d826870629e36be04e)
+_ddir="CGI-$pkgver"
+
+build()
+(
+ cd "$srcdir/$_ddir"
+ export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
+ unset PERL5LIB PERL_MM_OPT
+ /usr/bin/perl Makefile.PL
+ make
+)
+
+check()
+(
+ cd "$srcdir/$_ddir"
+ export PERL_MM_USE_DEFAULT=1
+ unset PERL5LIB
+ make test
+)
+
+package()
+(
+ cd "$srcdir/$_ddir"
+ make install INSTALLDIRS=vendor DESTDIR="$pkgdir"
+ 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/core/perl_modules/perl-class-factory-util/PKGBUILD b/abs/core/perl_modules/perl-class-factory-util/PKGBUILD
index c9da049..e5a10b9 100644
--- a/abs/core/perl_modules/perl-class-factory-util/PKGBUILD
+++ b/abs/core/perl_modules/perl-class-factory-util/PKGBUILD
@@ -1,31 +1,31 @@
-# $Id: PKGBUILD 65743 2012-02-22 12:12:49Z spupykin $
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=perl-class-factory-util
-_realname=Class-Factory-Util
pkgver=1.7
-pkgrel=4
+pkgrel=8
pkgdesc="Provide utility methods for factory classes"
-arch=(i686 x86_64)
-license=('GPL' 'Artistic')
-url="http://search.cpan.org/~drolsky/Class-Factory-Util"
+arch=(any)
+license=('GPL' 'PerlArtistic')
+url="http://search.cpan.org/dist/Class-Factory-Util/"
options=(!emptydirs)
depends=('perl')
-provides=('class-factory-util=1.7' 'Class::Factory::Util=1.7' 'perl-class-factory-util=1.7')
+makedepends=('perl-module-build')
source=(http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Class-Factory-Util-1.7.tar.gz)
md5sums=('aebd79da361b676a7ecd3245fc3d1b3f')
build() {
- cd ${srcdir}/${_realname}-${pkgver}
+ cd "$srcdir"/Class-Factory-Util-${pkgver}
# install module in vendor directories.
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
}
package() {
- cd ${srcdir}/${_realname}-${pkgver}
- make install DESTDIR=${pkgdir}
+ cd "$srcdir"/Class-Factory-Util-${pkgver}
+ make install DESTDIR="$pkgdir"
# remove perllocal.pod and .packlist
- find ${pkgdir} -name perllocal.pod -delete
- find ${pkgdir} -name .packlist -delete
+ find "$pkgdir" -name perllocal.pod -delete
+ find "$pkgdir" -name .packlist -delete
}
diff --git a/abs/core/perl_modules/perl-class-inspector/PKGBUILD b/abs/core/perl_modules/perl-class-inspector/PKGBUILD
new file mode 100644
index 0000000..ca24226
--- /dev/null
+++ b/abs/core/perl_modules/perl-class-inspector/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id$
+# Maintainer:
+
+pkgname=perl-class-inspector
+pkgver=1.32
+pkgrel=3
+pkgdesc="Get information about a class and its structure"
+arch=('any')
+url="http://search.cpan.org/dist/Class-Inspector"
+license=('PerlArtistic' 'GPL')
+depends=('perl')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/P/PL/PLICEASE/Class-Inspector-${pkgver}.tar.gz")
+sha512sums=('980654614d968e2fb61df864322f5c5248e352f0697a425539600c3549505f47b857d7856bc9d406ebc8757f8fc379a669f1f5085412f6fa48672c9db8a82df4')
+
+build() {
+ cd Class-Inspector-${pkgver}
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd Class-Inspector-${pkgver}
+ make test
+}
+
+package() {
+ cd Class-Inspector-${pkgver}
+ make DESTDIR="$pkgdir" install
+}
diff --git a/abs/core/perl_modules/perl-class-load/PKGBUILD b/abs/core/perl_modules/perl-class-load/PKGBUILD
index 1fc20c4..25ef704 100644
--- a/abs/core/perl_modules/perl-class-load/PKGBUILD
+++ b/abs/core/perl_modules/perl-class-load/PKGBUILD
@@ -1,25 +1,30 @@
-# $Id: PKGBUILD 73839 2012-07-16 05:39:18Z spupykin $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=perl-class-load
-pkgver=0.20
-pkgrel=1
+pkgver=0.24
+pkgrel=2
pkgdesc="a working (require 'Class::Name') and more"
arch=('any')
license=('PerlArtistic' 'GPL')
url="http://search.cpan.org/dist/Class-Load"
options=(!emptydirs)
depends=('perl' 'perl-module-runtime' 'perl-data-optlist' 'perl-package-stash>=0.32'
- 'perl-try-tiny' 'perl-test-fatal' 'perl-module-implementation')
-source=(http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Class-Load-$pkgver.tar.gz)
-md5sums=('9ccb131338a6cf1318599c08c095cf72')
+ 'perl-try-tiny' 'perl-test-fatal' 'perl-module-implementation'
+ 'perl-namespace-clean')
+source=(http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Class-Load-$pkgver.tar.gz)
+sha256sums=('0bb983da46c146534fc77a556d6e40d925142f2eb43103534025ee545265ca36')
build() {
cd "${srcdir}/Class-Load-${pkgver}"
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
# make test
- make install DESTDIR=${pkgdir}
- find ${pkgdir} -name perllocal.pod -delete
- find ${pkgdir} -name .packlist -delete
+}
+
+package() {
+ cd "${srcdir}/Class-Load-${pkgver}"
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name perllocal.pod -delete
+ find "$pkgdir" -name .packlist -delete
}
diff --git a/abs/core/perl_modules/perl-class-methodmaker/PKGBUILD b/abs/core/perl_modules/perl-class-methodmaker/PKGBUILD
index 4b5ac7c..8fb04d3 100644
--- a/abs/core/perl_modules/perl-class-methodmaker/PKGBUILD
+++ b/abs/core/perl_modules/perl-class-methodmaker/PKGBUILD
@@ -3,22 +3,33 @@
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-class-methodmaker
-pkgver=2.18
-pkgrel=4
+pkgver=2.24
+pkgrel=5
pkgdesc="Create generic class methods"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://search.cpan.org/dist/Class-MethodMaker"
license=('GPL' 'PerlArtistic')
-depends=('perl>=5.10.0')
+depends=('perl')
options=('!emptydirs')
-source=("http://search.cpan.org/CPAN/authors/id/S/SC/SCHWIGON/Class-MethodMaker-${pkgver}.tar.gz")
-md5sums=('99435d78e0a1754b102fe39597c6c3df')
+source=("http://search.cpan.org/CPAN/authors/id/S/SC/SCHWIGON/class-methodmaker/Class-MethodMaker-${pkgver}.tar.gz")
+md5sums=('6fac1ed1fea8a4e42d36a4d07c8bfa09')
build() {
- cd $srcdir/Class-MethodMaker-$pkgver
+ cd "$srcdir"/Class-MethodMaker-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
- make install DESTDIR=$pkgdir
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+}
+
+package() {
+ cd "$srcdir"/Class-MethodMaker-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
+# 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/core/perl_modules/perl-class-singleton/PKGBUILD b/abs/core/perl_modules/perl-class-singleton/PKGBUILD
index 1f80ce9..af528dd 100644
--- a/abs/core/perl_modules/perl-class-singleton/PKGBUILD
+++ b/abs/core/perl_modules/perl-class-singleton/PKGBUILD
@@ -1,25 +1,29 @@
-# $Id: PKGBUILD 65747 2012-02-22 12:14:00Z spupykin $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
# Contributor: François Charette <firmicus ατ gmx δοτ net>
+# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
pkgname=perl-class-singleton
-pkgver=1.4
-pkgrel=4
-pkgdesc="Implementation of a "Singleton" class"
+pkgver=1.5
+pkgrel=2
+pkgdesc="Implementation of a singleton class"
arch=('any')
url="http://search.cpan.org/dist/Class-Singleton"
license=('GPL' 'PerlArtistic')
depends=('perl>=5.10.0')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/A/AB/ABW/Class-Singleton-$pkgver.tar.gz)
-md5sums=('a18b108ab97e2107cbbe816d2b3e2ee3')
+source=("http://search.cpan.org/CPAN/authors/id/S/SH/SHAY/Class-Singleton-$pkgver.tar.gz")
+md5sums=('6a2524f590eda075f4bc929598119241')
build() {
- cd $srcdir/Class-Singleton-$pkgver
+ cd "$srcdir"/Class-Singleton-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
- make install DESTDIR=$pkgdir
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+}
+
+package() {
+ cd "$srcdir"/Class-Singleton-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-class-std-fast/PKGBUILD b/abs/core/perl_modules/perl-class-std-fast/PKGBUILD
index 71878e6..3494263 100644
--- a/abs/core/perl_modules/perl-class-std-fast/PKGBUILD
+++ b/abs/core/perl_modules/perl-class-std-fast/PKGBUILD
@@ -1,6 +1,6 @@
pkgname='perl-class-std-fast'
pkgver='0.0.8'
-pkgrel='1'
+pkgrel='2'
pkgdesc="Class::Std::Fast allows you to use the beautiful API of Class::Std in a faster way than Class::Std"
arch=('any')
license=('PerlArtistic' 'GPL')
diff --git a/abs/core/perl_modules/perl-class-std/PKGBUILD b/abs/core/perl_modules/perl-class-std/PKGBUILD
index dafacbc..c09e1a3 100644
--- a/abs/core/perl_modules/perl-class-std/PKGBUILD
+++ b/abs/core/perl_modules/perl-class-std/PKGBUILD
@@ -3,7 +3,7 @@
pkgname='perl-class-std'
pkgver='0.013'
-pkgrel='1'
+pkgrel='2'
pkgdesc="Support for creating standard \"inside-out\" classes"
arch=('any')
license=('PerlArtistic' 'GPL')
diff --git a/abs/core/perl_modules/perl-compress-bzip2/PKGBUILD b/abs/core/perl_modules/perl-compress-bzip2/PKGBUILD
index 7f5e2bc..8f46324 100644
--- a/abs/core/perl_modules/perl-compress-bzip2/PKGBUILD
+++ b/abs/core/perl_modules/perl-compress-bzip2/PKGBUILD
@@ -1,26 +1,34 @@
-# $Id: PKGBUILD 160507 2012-06-02 10:27:00Z bluewind $
+# $Id$
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
pkgname=perl-compress-bzip2
_realname=Compress-Bzip2
-pkgver=2.09
-pkgrel=5
+pkgver=2.26
+pkgrel=4
pkgdesc="Interface to Bzip2 compression library"
-arch=(i686 x86_64)
+arch=(x86_64)
license=(GPL2)
depends=(perl bzip2)
-url="http://search.cpan.org/dist/Compress-Bzip2"
+url="https://metacpan.org/release/Compress-Bzip2"
options=('!emptydirs')
-source=("http://search.cpan.org/CPAN/authors/id/A/AR/ARJAY/$_realname-$pkgver.tar.gz")
-md5sums=('1699fde3e86f2a036f135ae606d456bf')
+source=(https://cpan.metacpan.org/authors/id/R/RU/RURBAN/${_realname}-${pkgver}.tar.gz)
+sha256sums=('5132f0c5f377a54d77ee36d332aa0ece585c22a40f2c31f2619e40262f5c4f0c')
build() {
- cd "$srcdir/$_realname-$pkgver"
+ cd $_realname-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
}
package() {
- cd "$srcdir/$_realname-$pkgver"
+ cd $_realname-$pkgver
make DESTDIR="$pkgdir" install
+
+# 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/core/perl_modules/perl-config-simple/PKGBUILD b/abs/core/perl_modules/perl-config-simple/PKGBUILD
index a566dbc..d71a9f6 100644
--- a/abs/core/perl_modules/perl-config-simple/PKGBUILD
+++ b/abs/core/perl_modules/perl-config-simple/PKGBUILD
@@ -1,25 +1,39 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Cecil H. Watson <knoppmyth@gmail.com
+# Maintainer: Florian Pritz <bluewind@xinu.at>
pkgname=perl-config-simple
-_realname=Config-Simple
pkgver=4.59
-pkgrel=1
-pkgdesc="Simple configuration file class for perl"
-arch=(i686 x86_64)
-license=('PerlArtistic')
-url="http://search.cpan.org/dist/${_realname}/"
-depends=('perlxml' 'perl>=5.10.0')
-options=('!emptydirs')
-source=(ftp://ftp.cpan.org/pub/CPAN/authors/id/S/SH/SHERZODR/${_realname}-${pkgver}.tar.gz)
+pkgrel=8
+pkgdesc="Simple configuration file class to create and read config files"
+arch=(any)
+license=(PerlArtistic GPL)
+options=(!emptydirs)
+depends=('perl')
+url="http://search.cpan.org/~sherzodr/Config-Simple"
+source=("http://search.cpan.org/CPAN/authors/id/S/SH/SHERZODR/Config-Simple-${pkgver}.tar.gz")
md5sums=('96513b61c7db591339ce2577878a3b32')
build() {
- cd ${startdir}/src/${_realname}-${pkgver}
- perl Makefile.PL INSTALLDIRS=vendor || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
+ PERL_AUTOINSTALL=--skipdeps \
+ PERL_MM_OPT="INSTALLDIRS=vendor" \
+ PERL_MB_OPT="--installdirs vendor" \
+ MODULEBUILDRC=/dev/null
- find ${startdir}/pkg -name '.packlist' -delete
- find ${startdir}/pkg -name 'perllocal.pod' -delete
+ cd "${srcdir}/Config-Simple-${pkgver}"
+ /usr/bin/perl Makefile.PL
+ make
}
+
+check() {
+ export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ cd "${srcdir}/Config-Simple-${pkgver}"
+ make test
+}
+
+package() {
+ cd "$_distdir"
+ cd "${srcdir}/Config-Simple-${pkgver}"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+}
+
diff --git a/abs/core/perl_modules/perl-convert-binhex/PKGBUILD b/abs/core/perl_modules/perl-convert-binhex/PKGBUILD
index 9b2311b..e073c57 100644
--- a/abs/core/perl_modules/perl-convert-binhex/PKGBUILD
+++ b/abs/core/perl_modules/perl-convert-binhex/PKGBUILD
@@ -1,21 +1,21 @@
-# $Id: PKGBUILD 143927 2011-11-30 21:19:35Z giovanni $
+# $Id$
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Techlive Zheng <techlivezheng [at] gmail [dot] com>
# Contributor: Jakub Fišer <mr [at] MikyMaus [dot] org>
# Contributor: Filip S. Adamsen <fsa [at] fsadev [dot] com>
pkgname=perl-convert-binhex
-pkgver=1.119
-pkgrel=4
+pkgver=1.125
+pkgrel=3
pkgdesc="Perl module to extract data from Macintosh BinHex files"
arch=('any')
-url="http://search.cpan.org/~eryq/Convert-BinHex-1.119/"
+url="http://search.cpan.org/dist/Convert-BinHex/"
license=('PerlArtistic')
depends=('perl')
options=('!emptydirs')
install=${pkgname}.install
-source=("http://search.cpan.org/CPAN/authors/id/E/ER/ERYQ/Convert-BinHex-$pkgver.tar.gz")
-md5sums=('ba70ad1772abac6270078f28197a7961')
+source=("http://search.cpan.org/CPAN/authors/id/S/ST/STEPHEN/Convert-BinHex-$pkgver.tar.gz")
+md5sums=('2f485e1283387ead5b92243e1aacff9d')
build() {
cd "${srcdir}/Convert-BinHex-${pkgver}"
@@ -29,8 +29,4 @@ package() {
cd "${srcdir}/Convert-BinHex-${pkgver}"
make DESTDIR="${pkgdir}/" install
-
- # remove perllocal.pod and .packlist
- find "${pkgdir}" -name perllocal.pod -delete
- find "${pkgdir}" -name .packlist -delete
}
diff --git a/abs/core/perl_modules/perl-cpan-meta/PKGBUILD b/abs/core/perl_modules/perl-cpan-meta/PKGBUILD
new file mode 100644
index 0000000..44d6cd4
--- /dev/null
+++ b/abs/core/perl_modules/perl-cpan-meta/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgname=perl-cpan-meta
+pkgver=2.150010
+pkgrel=5
+pkgdesc='the distribution metadata for a CPAN dist'
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl>=5.8' 'perl-cpan-meta-requirements>=2.121'
+ 'perl-cpan-meta-yaml>=0.008' 'perl-cpan-meta>=2.150008')
+url='https://metacpan.org/release/CPAN-Meta'
+source=("http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/CPAN-Meta-$pkgver.tar.gz")
+sha512sums=('b5513c411de33e10da6751460e373a67c6c0245a98409fc525383feb1f9b913e9fcd23e6cc2e0faa93eab3ecb932e3ea31788d46e490ef67151c8842a096d700')
+
+_ddir="CPAN-Meta-$pkgver"
+
+build() (
+ cd "$srcdir/$_ddir"
+ export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
+ unset PERL5LIB PERL_MM_OPT
+ /usr/bin/perl Makefile.PL
+ make
+)
+
+check() (
+ cd "$srcdir/$_ddir"
+ export PERL_MM_USE_DEFAULT=1
+ unset PERL5LIB
+ make test
+)
+
+package() (
+ cd "$srcdir/$_ddir"
+ make install INSTALLDIRS=vendor DESTDIR="$pkgdir"
+ 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/core/perl_modules/perl-crypt-ssleay/PKGBUILD b/abs/core/perl_modules/perl-crypt-ssleay/PKGBUILD
index ccaab5e..8dd1a04 100644
--- a/abs/core/perl_modules/perl-crypt-ssleay/PKGBUILD
+++ b/abs/core/perl_modules/perl-crypt-ssleay/PKGBUILD
@@ -1,31 +1,46 @@
-# $Id: PKGBUILD 160515 2012-06-02 10:27:13Z bluewind $
+# $Id$
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-crypt-ssleay
-pkgver=0.58
-pkgrel=4
+pkgver=0.73_04
+pkgrel=9
pkgdesc="OpenSSL glue that provides LWP https support"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://search.cpan.org/dist/Crypt-SSLeay"
license=('GPL' 'PerlArtistic')
-depends=('openssl')
+depends=('perl-lwp-protocol-https' 'perl-try-tiny' 'perl-path-class')
options=('!emptydirs')
-source=(http://www.cpan.org/CPAN/authors/id/N/NA/NANIS/Crypt-SSLeay-$pkgver.tar.gz)
-md5sums=('fbf3d12e58462cee00ea63239c0b13c7')
+source=(http://www.cpan.org/CPAN/authors/id/N/NA/NANIS/Crypt-SSLeay-$pkgver.tar.gz)
+md5sums=('7508b2a34da2202cc0c78deb59e36526')
build() {
cd "${srcdir}/Crypt-SSLeay-${pkgver}"
+ PERL_USE_UNSAFE_INC=1 \
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
- make test
+}
+
+check() {
+ cd "${srcdir}/Crypt-SSLeay-${pkgver}"
+
+# make test
}
package() {
cd "${srcdir}/Crypt-SSLeay-${pkgver}"
+
make install DESTDIR="${pkgdir}"
find ${pkgdir} -name '.packlist' -delete
find ${pkgdir} -name '*.pod' -delete
+
+# 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/core/perl_modules/perl-data-dump/PKGBUILD b/abs/core/perl_modules/perl-data-dump/PKGBUILD
index a40b423..56d1bea 100644
--- a/abs/core/perl_modules/perl-data-dump/PKGBUILD
+++ b/abs/core/perl_modules/perl-data-dump/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=perl-data-dump
pkgver=1.23
-pkgrel=1
+pkgrel=3
pkgdesc="Pretty printing of data structures"
arch=(any)
url="https://metacpan.org/release/Data-Dump"
diff --git a/abs/core/perl_modules/perl-data-optlist/PKGBUILD b/abs/core/perl_modules/perl-data-optlist/PKGBUILD
index 162c662..84d62ee 100644
--- a/abs/core/perl_modules/perl-data-optlist/PKGBUILD
+++ b/abs/core/perl_modules/perl-data-optlist/PKGBUILD
@@ -1,30 +1,28 @@
-# Maintainer: Justin Davis <jrcd83@gmail.com>
-# $Id: PKGBUILD 57546 2011-10-30 17:27:04Z juster $
+# $Id$
+# Maintainer: Jonathan Steel <jsteel@aur.archlinux.org>
+# Contributor: Justin Davis <jrcd83@gmail.com>
pkgname=perl-data-optlist
-pkgver=0.107
-pkgrel=1
-pkgdesc="parse and validate simple name/value option pairs"
-arch=(any)
-license=(PerlArtistic GPL)
-options=(!emptydirs)
-depends=('perl-params-util' 'perl-scalar-list-utils' 'perl-sub-install>=0.921')
-makedepends=('perl-extutils-makemaker>=6.30')
-checkdepends=('perl-test-simple')
-url=https://metacpan.org/release/Data-OptList
-source=("http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Data-OptList-${pkgver}.tar.gz")
-md5sums=(17177b3cfb8941780a8736f9b9b30421)
-sha512sums=(06d0ca9b2f6142ea4c0de8c6f858bd96fb3964490e50f1caa677e2d53e144a4ce6c89097ad99d390ea86436923a449df8a38bd9064b0b91290b836f084d765f2)
-_distdir="${srcdir}/Data-OptList-${pkgver}"
+pkgver=0.110
+pkgrel=3
+pkgdesc="Parse and validate simple name/value option pairs"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl-params-util' 'perl-scalar-list-utils' 'perl-sub-install')
+makedepends=('perl-extutils-makemaker')
+url="https://metacpan.org/release/Data-OptList"
+source=(http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Data-OptList-$pkgver.tar.gz)
+md5sums=('f9236c9ea5607134ad8a2b3dc901c4c5')
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'" \
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
+ PERL_AUTOINSTALL=--skipdeps \
+ PERL_MM_OPT="INSTALLDIRS=vendor" \
+ PERL_MB_OPT="--installdirs vendor" \
MODULEBUILDRC=/dev/null
+ cd "$srcdir"/Data-OptList-$pkgver
- cd "$_distdir"
/usr/bin/perl Makefile.PL
make
)
@@ -32,19 +30,14 @@ build() {
check() {
( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
- cd "$_distdir"
+ cd "$srcdir"/Data-OptList-$pkgver
+
make test
)
}
package() {
- cd "$_distdir"
- make DESTDIR="$pkgdir" install
- find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
-}
+ cd "$srcdir"/Data-OptList-$pkgver
-# Local Variables:
-# mode: shell-script
-# sh-basic-offset: 2
-# End:
-# vim:set ts=2 sw=2 et:
+ make DESTDIR="$pkgdir"/ install
+}
diff --git a/abs/core/perl_modules/perl-data-uuid/PKGBUILD b/abs/core/perl_modules/perl-data-uuid/PKGBUILD
index a20fbe4..69eda71 100644
--- a/abs/core/perl_modules/perl-data-uuid/PKGBUILD
+++ b/abs/core/perl_modules/perl-data-uuid/PKGBUILD
@@ -1,51 +1,40 @@
-# CPAN Name : Data-UUID
-# Contributor: Anonymous
-# Generator : CPANPLUS::Dist::Arch 1.30
+# $Id$
+# Maintainer: Muflone http://www.muflone.com/contacts/english/
-pkgname='perl-data-uuid'
-pkgver='1.221'
-pkgrel='1'
+pkgname=perl-data-uuid
+_perl_namespace=Data
+_perl_module=UUID
+pkgver=1.221
+pkgrel=4
pkgdesc="Globally/Universally Unique Identifiers (GUIDs/UUIDs)"
-arch=('i686' 'x86_64')
-license=('PerlArtistic' 'GPL')
+arch=('x86_64')
+url="https://metacpan.org/release/${_perl_namespace}-${_perl_module}"
+license=('BSD')
+depends=('perl')
+source=("https://www.cpan.org/modules/by-module/${_perl_namespace}/${_perl_namespace}-${_perl_module}-${pkgver}.tar.gz")
+sha256sums=('3cc7b2a3a7b74b45a059e013f7fd878078500ea4b7269036f84556b022078667')
options=('!emptydirs')
-depends=('perl>=0')
-makedepends=()
-url='https://metacpan.org/release/Data-UUID'
-source=('http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Data-UUID-1.221.tar.gz')
-md5sums=('7619929e8fe205a7fb83bc1c29ecbf99')
-sha512sums=('fa40219890f9adeb486a7ff636603d8695d81765ee858e396130100aaba96b524d80eef76e0c06eac2086fe3bb2d26114d94459466d29ddc82a7a7fcb2f5adac')
-_distdir="Data-UUID-1.221"
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 "$srcdir/$_distdir"
- /usr/bin/perl Makefile.PL
- make
- )
+ cd "${_perl_namespace}-${_perl_module}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
+ perl Makefile.PL
+ make
}
check() {
- cd "$srcdir/$_distdir"
- ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
- make test
- )
+ cd "${_perl_namespace}-${_perl_module}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1
+ make test
}
package() {
- cd "$srcdir/$_distdir"
- make install
-
- find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+ cd "${_perl_namespace}-${_perl_module}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ make pure_install INSTALLDIRS=vendor DESTDIR="${pkgdir}"
+ # Install license file
+ install -m 755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m 644 -t "${pkgdir}/usr/share/licenses/${pkgname}" "LICENSE"
}
-
-# Local Variables:
-# mode: shell-script
-# sh-basic-offset: 2
-# End:
-# vim:set ts=2 sw=2 et:
diff --git a/abs/core/perl_modules/perl-date-manip/PKGBUILD b/abs/core/perl_modules/perl-date-manip/PKGBUILD
index 0ef2f9c..8688fd1 100644
--- a/abs/core/perl_modules/perl-date-manip/PKGBUILD
+++ b/abs/core/perl_modules/perl-date-manip/PKGBUILD
@@ -1,29 +1,31 @@
-# $Id: PKGBUILD 161416 2012-06-11 02:54:05Z eric $
-# Maintainer: Kevin Piche <kevin@archlinux.org>
-# Contributor: Andrew Simmons <andrew.simmons@gmail.com>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgname=perl-date-manip
-_realname=Date-Manip
-pkgver=6.32
+pkgver=6.70
pkgrel=1
pkgdesc="Date::Manip - date manipulation routines"
arch=('any')
license=('PerlArtistic')
-url="http://search.cpan.org/dist/${_realname}/"
-depends=('perl-yaml-syck')
+url="http://search.cpan.org/dist/Date-Manip/"
+depends=('perl')
+checkdepends=('perl-test-inter')
options=('!emptydirs')
-source=(http://search.cpan.org/CPAN/authors/id/S/SB/SBECK/${_realname}-${pkgver}.tar.gz)
-md5sums=('0d5c1ee2f75f6407fb1035e3535f650b')
+source=("http://search.cpan.org/CPAN/authors/id/S/SB/SBECK/Date-Manip-${pkgver}.tar.gz")
+sha512sums=('67550a3f558fa0c075a9fb43bd59b23328d5d55d053c207a92db6a6e18cba6d2f53ca190110d2f1b00338b1e249d7021b3184f3d9f3965cba0160211a64beb26')
build() {
- cd "${srcdir}/${_realname}-${pkgver}"
+ cd Date-Manip-${pkgver}
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
- # install module in vendor directories.
- perl Build.PL installdirs=vendor destdir="${pkgdir}"
- perl Build
+check() {
+ cd Date-Manip-${pkgver}
+ make test
}
package() {
- cd "${srcdir}/${_realname}-${pkgver}"
- perl Build install
+ cd Date-Manip-${pkgver}
+ make DESTDIR="${pkgdir}" install
}
diff --git a/abs/core/perl_modules/perl-datetime-format-builder/PKGBUILD b/abs/core/perl_modules/perl-datetime-format-builder/PKGBUILD
index 71c3ed6..151e620 100644
--- a/abs/core/perl_modules/perl-datetime-format-builder/PKGBUILD
+++ b/abs/core/perl_modules/perl-datetime-format-builder/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 65778 2012-02-22 12:27:49Z spupykin $
+# $Id$
# Contributor: Caleb Cushing <xenoterracide@gmail.com>
pkgname=perl-datetime-format-builder
-pkgver=0.8000
-pkgrel=6
+pkgver=0.8100
+pkgrel=3
pkgdesc="Create DateTime parser classes and objects"
-arch=('i686' 'x86_64')
+arch=('x86_64')
license=('PerlArtistic' 'GPL')
options=('!emptydirs')
provides=('perl-datetime-format-builder=0.80')
diff --git a/abs/core/perl_modules/perl-datetime-format-iso8601/PKGBUILD b/abs/core/perl_modules/perl-datetime-format-iso8601/PKGBUILD
index c8e07df..6e2b05d 100644
--- a/abs/core/perl_modules/perl-datetime-format-iso8601/PKGBUILD
+++ b/abs/core/perl_modules/perl-datetime-format-iso8601/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 66111 2012-02-23 01:12:06Z spupykin $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Contributor: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Lukas Fleischer <lfleischer@archlinux.org>
pkgname=perl-datetime-format-iso8601
pkgver=0.08
-pkgrel=1
+pkgrel=3
pkgdesc="Parses ISO8601 formats"
arch=('any')
url="http://search.cpan.org/dist/DateTime-Format-ISO8601/"
@@ -12,21 +12,20 @@ license=('PerlArtistic')
depends=('perl-datetime-format-builder' 'perl-datetime')
makedepends=()
optdepends=('perl-file-find-rule'
- 'perl-test-distribution'
'perl-test-pod')
options=(!emptydirs)
source=("http://search.cpan.org/CPAN/authors/id/J/JH/JHOBLITT/DateTime-Format-ISO8601-$pkgver.tar.gz")
md5sums=('b7c0a4b5e767a8d3b87f3dc678d8c30c')
build() {
- cd $srcdir/DateTime-Format-ISO8601-$pkgver
+ cd "$srcdir"/DateTime-Format-ISO8601-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
}
package() {
- cd $srcdir/DateTime-Format-ISO8601-$pkgver
+ cd "$srcdir"/DateTime-Format-ISO8601-$pkgver
make install DESTDIR="${pkgdir}"
- find ${pkgdir} -name perllocal.pod -delete
- find ${pkgdir} -name .packlist -delete
+ find "$pkgdir" -name perllocal.pod -delete
+ find "$pkgdir" -name .packlist -delete
}
diff --git a/abs/core/perl_modules/perl-datetime-format-mail/PKGBUILD b/abs/core/perl_modules/perl-datetime-format-mail/PKGBUILD
index b4b6c6f..8c38e26 100644
--- a/abs/core/perl_modules/perl-datetime-format-mail/PKGBUILD
+++ b/abs/core/perl_modules/perl-datetime-format-mail/PKGBUILD
@@ -2,22 +2,25 @@
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-datetime-format-mail
-pkgver=0.3001
-pkgrel=3
+pkgver=0.403
+pkgrel=2
pkgdesc="Convert between DateTime and RFC2822/822 formats "
-arch=('i686' 'x86_64')
-url="http://search.cpan.org/~DROLSKY/DateTime-Format-Mail"
+arch=('x86_64')
+url="http://search.cpan.org/dist/DateTime-Format-Mail"
license=('GPL' 'PerlArtistic')
depends=('perl>=5.10.0' 'perl-datetime' 'perl-params-validate>=0.67')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-Format-Mail-$pkgver.tar.gz)
-md5sums=('15e36249e866463bd0237262a8e43b16')
+source=("http://search.cpan.org/CPAN/authors/id/B/BO/BOOK/DateTime-Format-Mail-$pkgver.tar.gz")
+md5sums=('b34a52d96290c42cf53e8db0a8f16ecd')
build() {
- cd $startdir/src/DateTime-Format-Mail-$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
+ cd "$srcdir"/DateTime-Format-Mail-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+package() {
+ cd "$srcdir"/DateTime-Format-Mail-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-datetime-format-sqlite/PKGBUILD b/abs/core/perl_modules/perl-datetime-format-sqlite/PKGBUILD
new file mode 100644
index 0000000..2fb7c83
--- /dev/null
+++ b/abs/core/perl_modules/perl-datetime-format-sqlite/PKGBUILD
@@ -0,0 +1,50 @@
+# Contributor: John D Jones III <j[nospace]n[nospace]b[nospace]e[nospace]k[nospace]1972 -_AT_- the domain name google offers a mail service at ending in dot com>
+# Generator : CPANPLUS::Dist::Arch 1.25
+
+pkgname='perl-datetime-format-sqlite'
+pkgver='0.11'
+pkgrel='1'
+pkgdesc="Parse and format SQLite dates and times"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl-datetime>=0.1' 'perl-datetime-format-builder>=0.6')
+makedepends=()
+url='http://search.cpan.org/dist/DateTime-Format-SQLite'
+source=('http://search.cpan.org/CPAN/authors/id/C/CF/CFAERBER/DateTime-Format-SQLite-0.11.tar.gz')
+md5sums=('9cc9cc861407a1bbc696226605279842')
+sha512sums=('061f831c2a8d653706d315c1cff24ad887e3f8c65afdbd2140066735649c097be921f217e6e2761f8f34604066c618f296d40e9c650c3a1bb085cadbdfa7b7b9')
+_distdir="DateTime-Format-SQLite-0.11"
+
+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 "$srcdir/$_distdir"
+ /usr/bin/perl Makefile.PL
+ make
+ )
+}
+
+check() {
+ cd "$srcdir/$_distdir"
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ make test
+ )
+}
+
+package() {
+ cd "$srcdir/$_distdir"
+ make 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/core/perl_modules/perl-datetime-format-strptime/ChangeLog b/abs/core/perl_modules/perl-datetime-format-strptime/ChangeLog
deleted file mode 100644
index 46b7684..0000000
--- a/abs/core/perl_modules/perl-datetime-format-strptime/ChangeLog
+++ /dev/null
@@ -1,7 +0,0 @@
-2009-02-27 Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
-
- * 1.0900-1 :
- Adopted the PKGBUILD
- Modified the PKGBUILD to match new PKGBUILD-perl.proto
- Added missing dep perl-datetime
- Added a ChangeLog
diff --git a/abs/core/perl_modules/perl-datetime-format-strptime/PKGBUILD b/abs/core/perl_modules/perl-datetime-format-strptime/PKGBUILD
index 5f2d8de..9d83790 100644
--- a/abs/core/perl_modules/perl-datetime-format-strptime/PKGBUILD
+++ b/abs/core/perl_modules/perl-datetime-format-strptime/PKGBUILD
@@ -1,28 +1,31 @@
-# Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
-# Contributor: Francois Charette <firmicus@gmx.net>
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Caleb Cushing <xenoterracide@gmail.com>
pkgname=perl-datetime-format-strptime
-_pkgname=DateTime-Format-Strptime
-pkgver=1.0900
+pkgver=1.75
pkgrel=1
-pkgdesc="DateTime::Format::Strptime - Parse and format strp and strf time patterns"
-arch=('i686' 'x86_64')
-url="http://search.cpan.org/~RICKM/${_pkgname}"
-license=('GPL' 'PerlArtistic')
-depends=('perl>=5.10.0' 'perl-datetime')
-options=(!emptydirs)
-
-source=(http://www.cpan.org/authors/id/R/RI/RICKM/${_pkgname}-$pkgver.tgz)
-md5sums=('f84e3e11b2948ca0fc2848b9c123e473')
+epoch=1
+pkgdesc="Parse and Format DateTimes using Strptime"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl-datetime>=0.72' 'perl-datetime-locale>=0.45'
+ 'perl-datetime-timezone>=0.79' 'perl-params-validate>=0.64'
+ 'perl-package-deprecationmanager')
+url="http://search.cpan.org/dist/DateTime-Format-Strptime"
+source=("http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/DateTime-Format-Strptime-${pkgver}.tar.gz")
+sha256sums=('4fcfb2ac4f79d7ff2855a405f39050d2ea691ee098ce54ede8af79c8d6ab3c19')
build() {
- cd $srcdir/${_pkgname}-$pkgver
-
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
-
- make || return 1
- make install DESTDIR=$pkgdir || return 1
+ export PERL_MM_USE_DEFAULT=1
+ cd "${srcdir}/DateTime-Format-Strptime-${pkgver}"
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
- find $pkgdir -name perllocal.pod -delete
- find $pkgdir -name .packlist -delete
+package() {
+ cd "${srcdir}/DateTime-Format-Strptime-${pkgver}"
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
}
diff --git a/abs/core/perl_modules/perl-datetime-format-strptime/__changelog b/abs/core/perl_modules/perl-datetime-format-strptime/__changelog
new file mode 100644
index 0000000..fb5e7bb
--- /dev/null
+++ b/abs/core/perl_modules/perl-datetime-format-strptime/__changelog
@@ -0,0 +1 @@
+PKGBUILD: add epoch to ensure it is updated
diff --git a/abs/core/perl_modules/perl-datetime-format-w3cdtf/PKGBUILD b/abs/core/perl_modules/perl-datetime-format-w3cdtf/PKGBUILD
index 80a5f9b..105312c 100644
--- a/abs/core/perl_modules/perl-datetime-format-w3cdtf/PKGBUILD
+++ b/abs/core/perl_modules/perl-datetime-format-w3cdtf/PKGBUILD
@@ -1,23 +1,28 @@
-# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-datetime-format-w3cdtf
-pkgver=0.04
-pkgrel=3
+pkgver=0.07
+pkgrel=2
pkgdesc="Parse and format W3CDTF datetime strings"
-arch=('i686' 'x86_64')
-url="http://search.cpan.org/~KELLAN/DateTime-Format-W3CDTF"
+arch=('any')
+url="http://search.cpan.org/dist/DateTime-Format-W3CDTF"
license=('GPL' 'PerlArtistic')
depends=('perl>=5.10.0' 'perl-datetime')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/K/KE/KELLAN/DateTime-Format-W3CDTF-$pkgver.tar.gz)
-md5sums=('5ad0a41bb5de08f9c16395ea311bb491')
+source=(http://search.cpan.org/CPAN/authors/id/G/GW/GWILLIAMS/DateTime-Format-W3CDTF-$pkgver.tar.gz)
+sha256sums=('69a02b661bbf1daa14a4813cb6786eaa66dbdf2743f0b3f458e30234c3a26268')
build() {
- cd $startdir/src/DateTime-Format-W3CDTF-$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
+ cd "$srcdir"/DateTime-Format-W3CDTF-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd "$srcdir"/DateTime-Format-W3CDTF-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-datetime-locale/PKGBUILD b/abs/core/perl_modules/perl-datetime-locale/PKGBUILD
index 219e9c2..8d9d966 100644
--- a/abs/core/perl_modules/perl-datetime-locale/PKGBUILD
+++ b/abs/core/perl_modules/perl-datetime-locale/PKGBUILD
@@ -1,24 +1,29 @@
-# $Id: PKGBUILD 65785 2012-02-22 12:32:13Z spupykin $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-datetime-locale
-pkgver=0.45
-pkgrel=2
+pkgver=1.20
+pkgrel=1
pkgdesc="Localization support for DateTime.pm "
arch=(any)
url="http://search.cpan.org/dist/DateTime-Locale"
license=('GPL' 'PerlArtistic')
-depends=('perl-params-validate' 'perl-list-moreutils')
+depends=('perl-params-validate' 'perl-list-moreutils'
+ 'perl-file-sharedir' 'perl-file-sharedir-install')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-Locale-$pkgver.tar.gz)
-md5sums=('8ba6a4b70f8fa7d987529c2e2c708862')
+source=(https://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-Locale-$pkgver.tar.gz)
+sha256sums=('998f034234441932c82a4598fa49a14f346d6e981d1d2d91a179913a9f81b898')
build() {
- cd $srcdir/DateTime-Locale-$pkgver
+ cd "$srcdir"/DateTime-Locale-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
- make install DESTDIR=$pkgdir
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+}
+
+package() {
+ cd "$srcdir"/DateTime-Locale-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-datetime-timezone/PKGBUILD b/abs/core/perl_modules/perl-datetime-timezone/PKGBUILD
index 7fe325f..e9fd111 100644
--- a/abs/core/perl_modules/perl-datetime-timezone/PKGBUILD
+++ b/abs/core/perl_modules/perl-datetime-timezone/PKGBUILD
@@ -1,28 +1,29 @@
-# $Id: PKGBUILD 73843 2012-07-16 05:40:15Z spupykin $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-datetime-timezone
-pkgver=1.46
+pkgver=2.19
pkgrel=1
pkgdesc="Time zone object base class and factory "
arch=(any)
url="http://search.cpan.org/dist/DateTime-TimeZone"
license=('GPL' 'PerlArtistic')
-depends=('perl-class-singleton>=1.03' 'perl-params-validate>=0.72' 'perl-class-load')
+depends=('perl-class-singleton>=1.03' 'perl-params-validate>=0.72' 'perl-class-load'
+ 'perl-list-allutils')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-TimeZone-$pkgver.tar.gz)
-md5sums=('e83f412286d7787e3dfd5427a1943569')
+source=(https://www.cpan.org/CPAN/authors/id/D/DR/DROLSKY/DateTime-TimeZone-$pkgver.tar.gz)
+sha256sums=('b9192efe202d71b4ff7840718807a244bfca3992afd7e7ca78da20849f5ea4f8')
build() {
- cd $srcdir/DateTime-TimeZone-$pkgver
+ cd "$srcdir"/DateTime-TimeZone-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
}
package() {
- cd $srcdir/DateTime-TimeZone-$pkgver
- make install DESTDIR=$pkgdir
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+ cd "$srcdir"/DateTime-TimeZone-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-datetime/PKGBUILD b/abs/core/perl_modules/perl-datetime/PKGBUILD
index 839ff1c..e8d4895 100644
--- a/abs/core/perl_modules/perl-datetime/PKGBUILD
+++ b/abs/core/perl_modules/perl-datetime/PKGBUILD
@@ -1,37 +1,40 @@
-# $Id: PKGBUILD 71765 2012-06-02 10:29:58Z bluewind $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-datetime
-pkgver=0.72
-pkgrel=2
+pkgver=1.48
+pkgrel=1
pkgdesc="A complete, easy to use date and time object"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://search.cpan.org/dist/DateTime"
license=('GPL' 'PerlArtistic')
depends=('perl-datetime-timezone>=0.59' 'perl-datetime-locale>=0.41'
- 'perl-params-validate>=0.76' 'perl-math-round')
+ 'perl-params-validate>=0.76' 'perl-math-round'
+ 'perl-namespace-autoclean' 'perl-specio' 'perl-eval-closure'
+ 'perl-params-validationcompiler')
+makedepends=('perl-module-build')
LC_NUMERIC=C
provides=("perl-datetime=`printf %.4f $pkgver`")
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-$pkgver.tar.gz)
-md5sums=('f50b328919fe8bf2d2b16ca0df35c3f3')
+source=(https://www.cpan.org/CPAN/authors/id/D/DR/DROLSKY/DateTime-$pkgver.tar.gz)
+sha256sums=('5005446eabed6ac96c93e40d284987f0fd1bbfd41a1a7dd5e2abe646dfd68c3e')
build() {
- cd $srcdir/DateTime-$pkgver
- perl Build.PL installdirs=vendor destdir="$pkgdir/"
- ./Build
+ cd "$srcdir"/DateTime-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
}
-
-check() {
- cd $srcdir/DateTime-$pkgver
-# ./Build test
- true
-}
-
package() {
- cd $srcdir/DateTime-$pkgver
- ./Build install
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+ cd "$srcdir"/DateTime-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
+# 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/core/perl_modules/perl-dbd-mysql/PKGBUILD b/abs/core/perl_modules/perl-dbd-mysql/PKGBUILD
index 5794b3e..e0f591a 100644
--- a/abs/core/perl_modules/perl-dbd-mysql/PKGBUILD
+++ b/abs/core/perl_modules/perl-dbd-mysql/PKGBUILD
@@ -1,30 +1,31 @@
-# $Id: PKGBUILD 161944 2012-06-16 19:18:00Z eric $
-# Maintainer: kevin <kevin@archlinux.org>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: kevin <kevin@archlinux.org>
# Contributor: Eric Johnson <eric@coding-zone.com>
pkgname=perl-dbd-mysql
-_realname=DBD-mysql
-pkgver=4.022
+pkgver=4.046
pkgrel=1
-pkgdesc="Perl/CPAN DBD::mysql module for interacting with MySQL via DBD"
-arch=('i686' 'x86_64')
+pkgdesc='Perl/CPAN DBD::mysql module for interacting with MySQL via DBD'
+arch=('x86_64')
license=('GPL' 'PerlArtistic')
-url="http://search.cpan.org/dist/${_realname}/"
-depends=('libmysqlclient' 'perl-dbi')
-makedepends=('mysql')
+url="http://search.cpan.org/dist/DBD-mysql/"
+depends=('libmariadbclient' 'perl-dbi')
+makedepends=('perl-devel-checklib')
+checkdepends=('mariadb' 'perl-test-deep')
options=('!emptydirs')
-source=(http://search.cpan.org/CPAN/authors/id/C/CA/CAPTTOFU/${_realname}-${pkgver}.tar.gz)
+source=(http://search.cpan.org/CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-${pkgver}.tar.gz)
+sha512sums=('57b3243a724ac21a11b6eea10aa1cfc821f295cb5bf44f9eaabeb979d3f8e1f7f5e00d40b144a16688d0a358c82c2bb00f630e925e176f29a9ca84b8ee7fb9cc')
build() {
- cd "${srcdir}/${_realname}-${pkgver}"
-
- # install module in vendor directories.
+ cd DBD-mysql-$pkgver
perl Makefile.PL INSTALLDIRS=vendor --testsocket=/tmp/socket.mysql
make
}
-_check() {
- cd "${srcdir}/${_realname}-${pkgver}"
+check() {
+ cd DBD-mysql-$pkgver
mkdir -p /tmp/mysql_test
mysql_install_db \
--basedir=/usr \
@@ -34,12 +35,18 @@ _check() {
--datadir=/tmp/mysql_test &
sleep 10
DAEMON_PORT=$!
- make test || true
+ make test
kill -9 $DAEMON_PORT
}
package() {
- cd "${srcdir}/${_realname}-${pkgver}"
- make install DESTDIR="${pkgdir}"
+ cd DBD-mysql-$pkgver
+ make install DESTDIR="$pkgdir"
+# 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;
}
-md5sums=('20fb571245e3b9ac275b8329025c4bf6')
diff --git a/abs/core/perl_modules/perl-dbd-sqlite/PKGBUILD b/abs/core/perl_modules/perl-dbd-sqlite/PKGBUILD
new file mode 100644
index 0000000..b8137e2
--- /dev/null
+++ b/abs/core/perl_modules/perl-dbd-sqlite/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgname=perl-dbd-sqlite
+pkgver=1.58
+pkgrel=1
+pkgdesc="Self-contained RDBMS in a DBI driver"
+arch=('x86_64')
+url="http://search.cpan.org/dist/DBD-SQLite"
+license=('GPL' 'PerlArtistic')
+depends=('perl-dbi' 'sqlite')
+source=(http://www.cpan.org/authors/id/I/IS/ISHIGAKI/DBD-SQLite-${pkgver}.tar.gz)
+sha512sums=('080d1e304fb0d43926ce0345df3367132c317ba113bdc11952c0a159bc68d988a024828a28e66be267f82e07731dee225723854fb80914ba7c476b27dbdeb212')
+
+build() {
+ cd DBD-SQLite-${pkgver}
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd DBD-SQLite-${pkgver}
+ make test
+}
+
+package() {
+ cd DBD-SQLite-${pkgver}
+ make install DESTDIR="${pkgdir}"
+
+# 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/core/perl_modules/perl-dbi-shell/PKGBUILD b/abs/core/perl_modules/perl-dbi-shell/PKGBUILD
new file mode 100644
index 0000000..c14695a
--- /dev/null
+++ b/abs/core/perl_modules/perl-dbi-shell/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-dbi-shell
+pkgver=11.95
+pkgrel=6
+pkgdesc="Perl/CPAN Module DBI::Shell"
+arch=("any")
+url="http://search.cpan.org/dist/DBI-Shell"
+license=("GPL" "PerlArtistic")
+makedepends=("perl-text-reform" "perl-io-tee")
+depends=("perl-text-reform" "perl-io-tee")
+source=("https://www.cpan.org/authors/id/T/TL/TLOWERY/DBI-Shell-$pkgver.tar.gz")
+sha256sums=('44aa76c90a425d4aff9e2580a6baf334a5102fb794fbdb26e301294c190cbed9')
+
+build() {
+ cd "$srcdir"/DBI-Shell-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd "$srcdir"/DBI-Shell-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
+}
diff --git a/abs/core/perl_modules/perl-dbi/PKGBUILD b/abs/core/perl_modules/perl-dbi/PKGBUILD
index 602acd0..ef4b9d0 100644
--- a/abs/core/perl_modules/perl-dbi/PKGBUILD
+++ b/abs/core/perl_modules/perl-dbi/PKGBUILD
@@ -1,36 +1,38 @@
-# $Id: PKGBUILD 163571 2012-07-16 03:09:15Z eric $
-# Maintainer: kevin <kevin@archlinux.org>
-# Contributor: Matt Thompson <mattt@defunct.ca>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgname=perl-dbi
-_realname=DBI
-pkgver=1.622
+pkgver=1.641
pkgrel=1
pkgdesc="Database independent interface for Perl"
-arch=('i686' 'x86_64')
+arch=('x86_64')
+url="http://search.cpan.org/dist/DBI/"
license=('GPL' 'PerlArtistic')
-url="http://search.cpan.org/dist/${_realname}/"
depends=('perl')
+checkdepends=('perl-test-pod' 'perl-test-pod-coverage')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/T/TI/TIMB/${_realname}-${pkgver}.tar.gz)
-md5sums=('9836bcf1b9acc842089aa10b16736909')
+source=(http://www.cpan.org/authors/id/T/TI/TIMB/DBI-$pkgver.tar.gz)
+sha512sums=('093eb28526e8290c0599437cd624b3e670cfff0ec149c1e8ad942f9f7facdafd2a8225bbf4efdb0d40ecf5a6088093ff9faec826cd4ec88bd0abd6125812137a')
build() {
- cd "${srcdir}/${_realname}-${pkgver}"
-
- # install module in vendor directories.
+ cd DBI-$pkgver
perl Makefile.PL INSTALLDIRS=vendor
make
}
check() {
- cd "${srcdir}/${_realname}-${pkgver}"
+ cd DBI-$pkgver
make test
}
package() {
- cd "${srcdir}/${_realname}-${pkgver}"
- make install DESTDIR="${pkgdir}"
+ cd DBI-$pkgver
+ make DESTDIR="$pkgdir" install
+# 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;
}
-
-# vim: ts=2 sw=2 et ft=sh
diff --git a/abs/core/perl_modules/perl-devel-checklib/PKGBUILD b/abs/core/perl_modules/perl-devel-checklib/PKGBUILD
new file mode 100644
index 0000000..cfd2a70
--- /dev/null
+++ b/abs/core/perl_modules/perl-devel-checklib/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: pzl <alsoelp _at_ gmail>
+
+pkgname=perl-devel-checklib
+pkgver=1.11
+pkgrel=3
+pkgdesc="Module to check if other perl modules are installed"
+arch=('any')
+url='http://search.cpan.org/dist/Devel-CheckLib/'
+license=('PerlArtistic' 'GPL')
+depends=('perl')
+checkdepends=('perl-io-captureoutput')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/M/MA/MATTN/Devel-CheckLib-${pkgver}.tar.gz")
+sha512sums=('21a64cb2ec4f3769d604eba151074daa841d40d2073a93ec186e82d8496f5ca05728c5352a31c4f07765956b85cb3144225edb51b84245b0582267af55ef2e2f')
+
+build() {
+ cd Devel-CheckLib-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd Devel-CheckLib-$pkgver
+ make test
+}
+
+package() {
+ cd Devel-CheckLib-$pkgver
+ make install DESTDIR="$pkgdir"
+}
diff --git a/abs/core/perl_modules/perl-devel-globaldestruction/PKGBUILD b/abs/core/perl_modules/perl-devel-globaldestruction/PKGBUILD
new file mode 100644
index 0000000..17f43b5
--- /dev/null
+++ b/abs/core/perl_modules/perl-devel-globaldestruction/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id$
+# Maintainer:
+
+pkgname=perl-devel-globaldestruction
+pkgver=0.14
+pkgrel=3
+pkgdesc="Expose the flag which marks global"
+arch=('any')
+url="http://search.cpan.org/dist/Devel-GlobalDestruction"
+license=('PerlArtistic' 'GPL')
+depends=('perl' 'perl-sub-exporter' 'perl-sub-exporter-progressive')
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/H/HA/HAARG/Devel-GlobalDestruction-$pkgver.tar.gz)
+md5sums=('24221ba322cf2dc46a1fc99b53e2380b')
+
+build() {
+ cd Devel-GlobalDestruction-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd Devel-GlobalDestruction-$pkgver
+ make test
+}
+
+package() {
+ cd Devel-GlobalDestruction-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/abs/core/perl_modules/perl-devel-stacktrace/PKGBUILD b/abs/core/perl_modules/perl-devel-stacktrace/PKGBUILD
new file mode 100644
index 0000000..01991ed
--- /dev/null
+++ b/abs/core/perl_modules/perl-devel-stacktrace/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id$
+# Maintainer: Jaroslav Lichtblau <svetlemodry@archlinux.org>
+# Contributor: Moritz Bunkus <moritz@bunkus.org>
+
+pkgname=perl-devel-stacktrace
+pkgver=2.03
+pkgrel=1
+pkgdesc='An object representing a stack trace'
+arch=('any')
+url="https://metacpan.org/release/Devel-StackTrace"
+license=('PerlArtistic' 'GPL')
+depends=('perl>=5.6')
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Devel-StackTrace-$pkgver.tar.gz)
+sha256sums=('7618cd4ebe24e254c17085f4b418784ab503cb4cb3baf8f48a7be894e59ba848')
+
+build() {
+ cd "${srcdir}"/Devel-StackTrace-$pkgver
+
+ export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
+ unset PERL5LIB PERL_MM_OPT
+ perl Makefile.PL
+ make
+}
+
+check() {
+ cd "${srcdir}"/Devel-StackTrace-$pkgver
+
+ export PERL_MM_USE_DEFAULT=1
+ unset PERL5LIB
+ make test
+}
+
+package() {
+ cd "${srcdir}"/Devel-StackTrace-$pkgver
+
+ make install INSTALLDIRS=vendor DESTDIR="${pkgdir}"
+
+ find "${pkgdir}" -name .packlist -o -name perllocal.pod -delete
+}
diff --git a/abs/core/perl_modules/perl-device-serialport/PKGBUILD b/abs/core/perl_modules/perl-device-serialport/PKGBUILD
index 7f0ba54..c714f61 100644
--- a/abs/core/perl_modules/perl-device-serialport/PKGBUILD
+++ b/abs/core/perl_modules/perl-device-serialport/PKGBUILD
@@ -1,25 +1,36 @@
-# $Id: PKGBUILD 71775 2012-06-02 10:30:18Z bluewind $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Ross melin <rdmelin@gmail.com>
pkgname=perl-device-serialport
pkgver=1.04
-pkgrel=4
+pkgrel=11
pkgdesc="POSIX clone of Win32::SerialPort"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://search.cpan.org/dist/Device-SerialPort"
license=('GPL' 'PerlArtistic')
depends=('perl')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/C/CO/COOK/Device-SerialPort-$pkgver.tar.gz)
-md5sums=('82c698151f934eb28c65d1838cee7d9e')
+source=(https://www.cpan.org/authors/id/C/CO/COOK/Device-SerialPort-$pkgver.tar.gz)
+sha256sums=('d392567cb39b4ea606c0e0acafd8ed72320311b995336ece5fcefcf9b150e9d7')
build() {
- cd $srcdir/Device-SerialPort-$pkgver
+ cd "$srcdir"/Device-SerialPort-$pkgver
eval `perl -V:archname`
PERL_MM_USE_DEFAULT=1 /usr/bin/perl Makefile.PL INSTALLDIRS=vendor
make
- make DESTDIR=$pkgdir install
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+}
+
+package() {
+ cd "$srcdir"/Device-SerialPort-$pkgver
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
+# 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/core/perl_modules/perl-digest-sha1/PKGBUILD b/abs/core/perl_modules/perl-digest-sha1/PKGBUILD
index d65b0d1..9bab443 100644
--- a/abs/core/perl_modules/perl-digest-sha1/PKGBUILD
+++ b/abs/core/perl_modules/perl-digest-sha1/PKGBUILD
@@ -1,38 +1,45 @@
# $Id$
-# Maintainer: kevin <kevin@archlinux.org>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: kevin <kevin@archlinux.org>
# Contributor: Manolis Tzanidakis
pkgname=perl-digest-sha1
_realname=Digest-SHA1
pkgver=2.13
-pkgrel=2
+pkgrel=10
pkgdesc="Perl interface to the SHA-1 Algorithm"
-arch=(i686 x86_64)
+arch=(x86_64)
license=('PerlArtistic')
url="http://search.cpan.org/dist/${_realname}/"
-depends=('perl>=5.10.0')
-options=(!emptydirs)
+depends=('perl')
+options=('!emptydirs')
source=(http://www.cpan.org/authors/id/G/GA/GAAS/${_realname}-${pkgver}.tar.gz)
replaces=('digest-sha1')
provides=('digest-sha1')
md5sums=('bd22388f268434f2b24f64e28bf1aa35')
build() {
- cd ${srcdir}/${_realname}-${pkgver}
+ cd "${srcdir}/${_realname}-${pkgver}"
# install module in vendor directories.
perl Makefile.PL INSTALLDIRS=vendor
make
+}
+
+check() {
+ cd "${srcdir}/${_realname}-${pkgver}"
make test
}
package() {
- cd ${srcdir}/${_realname}-${pkgver}
-
- make install DESTDIR=${pkgdir}
-
- # remove perllocal.pod and .packlist
- find ${pkgdir} -name perllocal.pod -delete
- find ${pkgdir} -name .packlist -delete
+ cd "${srcdir}/${_realname}-${pkgver}"
+ make install DESTDIR="${pkgdir}"
+# 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;
}
# vim: ts=2 sw=2 et ft=sh
diff --git a/abs/core/perl_modules/perl-dist-checkconflicts/PKGBUILD b/abs/core/perl_modules/perl-dist-checkconflicts/PKGBUILD
index fc8bd28..d5207cf 100644
--- a/abs/core/perl_modules/perl-dist-checkconflicts/PKGBUILD
+++ b/abs/core/perl_modules/perl-dist-checkconflicts/PKGBUILD
@@ -1,30 +1,29 @@
-# Maintainer: Justin Davis <jrcd83@gmail.com>
-# $Id: PKGBUILD 57550 2011-10-30 17:28:15Z juster $
+# $Id$
+# Maintainer: Jonathan Steel <jsteel@aur.archlinux.org>
+# Contributor: Justin Davis <jrcd83@gmail.com>
pkgname=perl-dist-checkconflicts
-pkgver=0.02
-pkgrel=1
-pkgdesc="declare version conflicts for your dist"
-arch=(any)
-license=(PerlArtistic GPL)
-options=(!emptydirs)
-depends=('perl-list-moreutils>=0.12' 'perl-sub-exporter')
-makedepends=('perl-extutils-makemaker>=6.31')
-checkdepends=('perl-test-fatal' 'perl-test-simple')
-url=https://metacpan.org/release/Dist-CheckConflicts
-source=("http://search.cpan.org/CPAN/authors/id/D/DO/DOY/Dist-CheckConflicts-${pkgver}.tar.gz")
-md5sums=(64b8d342ba11336b2969c274a60bbc5f)
-sha512sums=(e3a342141b13e3604f226d53706fa50b6dc9f96c39ad9c83b074289aff852cbbab97bdf7d389d426116f609589e3d0282b033e79230a5a4ed8782e2b0e58426d)
-_distdir="${srcdir}/Dist-CheckConflicts-${pkgver}"
+pkgver=0.11
+pkgrel=3
+pkgdesc="Declare version conflicts for your dist"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl-list-moreutils' 'perl-exporter')
+makedepends=('perl-extutils-makemaker')
+checkdepends=('perl-test-fatal' 'perl-module-runtime')
+url="https://metacpan.org/release/Dist-CheckConflicts"
+source=(http://search.cpan.org/CPAN/authors/id/D/DO/DOY/Dist-CheckConflicts-$pkgver.tar.gz)
+md5sums=('c8725a92b9169708b0f63036812070f2')
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'" \
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
+ PERL_AUTOINSTALL=--skipdeps \
+ PERL_MM_OPT="INSTALLDIRS=vendor" \
+ PERL_MB_OPT="--installdirs vendor" \
MODULEBUILDRC=/dev/null
+ cd Dist-CheckConflicts-$pkgver
- cd "$_distdir"
/usr/bin/perl Makefile.PL
make
)
@@ -32,19 +31,14 @@ build() {
check() {
( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
- cd "$_distdir"
+ cd Dist-CheckConflicts-$pkgver
+
make test
)
}
package() {
- cd "$_distdir"
- make DESTDIR="$pkgdir" install
- find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
-}
+ cd Dist-CheckConflicts-$pkgver
-# Local Variables:
-# mode: shell-script
-# sh-basic-offset: 2
-# End:
-# vim:set ts=2 sw=2 et:
+ make DESTDIR="$pkgdir"/ install
+}
diff --git a/abs/core/perl_modules/perl-email-date-format/PKGBUILD b/abs/core/perl_modules/perl-email-date-format/PKGBUILD
index 6625738..a7151d5 100644
--- a/abs/core/perl_modules/perl-email-date-format/PKGBUILD
+++ b/abs/core/perl_modules/perl-email-date-format/PKGBUILD
@@ -1,26 +1,32 @@
-# $Id: PKGBUILD 150522 2012-02-18 12:04:18Z allan $
-# Maintainer:
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Sergej Pupykin <pupykin.s+aur@gmail.com>
pkgname=perl-email-date-format
-pkgver=1.002
+pkgver=1.005
pkgrel=3
pkgdesc="produce RFC 2822 date strings"
arch=('any')
url="http://search.cpan.org/dist/Email-Date-Format"
license=('GPL' 'PerlArtistic')
depends=('perl')
+checkdepends=('perl-test-pod' 'perl-capture-tiny')
options=('!emptydirs')
source=("http://www.cpan.org/authors/id/R/RJ/RJBS/Email-Date-Format-$pkgver.tar.gz")
-md5sums=('7ae25275da6ab272aa8b40141eac9f82')
+md5sums=('030dcee3bc1a44674900b0132925bd03')
build() {
- cd "${srcdir}"/Email-Date-Format-$pkgver
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ cd Email-Date-Format-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
make
}
+check() {
+ cd Email-Date-Format-$pkgver
+ make test
+}
+
package() {
- cd "${srcdir}"/Email-Date-Format-$pkgver
+ cd Email-Date-Format-$pkgver
make DESTDIR="${pkgdir}" install
}
diff --git a/abs/core/perl_modules/perl-encode-locale/PKGBUILD b/abs/core/perl_modules/perl-encode-locale/PKGBUILD
index 05b129b..20d151e 100644
--- a/abs/core/perl_modules/perl-encode-locale/PKGBUILD
+++ b/abs/core/perl_modules/perl-encode-locale/PKGBUILD
@@ -1,52 +1,30 @@
-# Maintainer : Justin "juster" Davis <jrcd83@gmail.com>
-# Generator : pbjam 0.01
-# $Id: PKGBUILD 150524 2012-02-18 12:06:36Z allan $
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgname=perl-encode-locale
-pkgver=1.03
-pkgrel=1
+pkgver=1.05
+pkgrel=3
pkgdesc="Determine the locale encoding"
-arch=(any)
-license=(PerlArtistic GPL)
+arch=('any')
+url="http://search.cpan.org/dist/Encode-Locale"
+license=('PerlArtistic' 'GPL')
+depends=('perl')
options=('!emptydirs')
-depends=('perl>=5.008')
-makedepends=()
-checkdepends=()
-conflicts=('perl-libwww<6')
-url=http://search.cpan.org/dist/Encode-Locale
-source=(http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Encode-Locale-1.02.tar.gz)
-md5sums=('96a950ee9b57e47e2b990b4c5dd7bf6e')
-sha512sums=('7263de267486c835f37dd51da573c5002921a8365124e03eeed1e7a97bac368fff42351d6d31e05d3e596f3486ca5506d985f3992652908948006701d21663cf')
-_distdir="${srcdir}/Encode-Locale-1.02"
+source=(http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Encode-Locale-$pkgver.tar.gz)
+sha1sums=('1e1632e869cb76e3fdbda0a83a192190ed178d60')
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
- )
+ cd Encode-Locale-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
}
check() {
- ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
- cd "$_distdir"
- make test
- )
+ cd Encode-Locale-$pkgver
+ make test
}
package() {
- cd "$_distdir"
- make DESTDIR="$pkgdir" install
- find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+ cd Encode-Locale-$pkgver
+ make DESTDIR="$pkgdir" install
}
-
-# Local Variables:
-# mode: shell-script
-# sh-basic-offset: 2
-# End:
-# vim:set ts=2 sw=2 et:
diff --git a/abs/core/perl_modules/perl-error/PKGBUILD b/abs/core/perl_modules/perl-error/PKGBUILD
index a8fa056..2518c31 100644
--- a/abs/core/perl_modules/perl-error/PKGBUILD
+++ b/abs/core/perl_modules/perl-error/PKGBUILD
@@ -1,34 +1,32 @@
-# $Id: PKGBUILD 163573 2012-07-16 03:20:23Z eric $
-# Maintainer: Dale Blount <dale@archlinux.org>
-# Contributor: Dale Blount <dale@archlinux.org>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgname=perl-error
-_realname=Error
-pkgver=0.17018
+pkgver=0.17026
pkgrel=1
pkgdesc="Perl/CPAN Error module - Error/exception handling in an OO-ish way"
-url="http://search.cpan.org/dist/${_realname}/"
+url="http://search.cpan.org/dist/Error/"
arch=('any')
license=('PerlArtistic' 'GPL')
-depends=('perl>=5.10.0')
+depends=('perl')
+checkdepends=('perl-test-pod' 'perl-test-pod-coverage')
options=('!emptydirs')
-source=(http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/${_realname}-${pkgver}.tar.gz)
+source=(http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/Error-${pkgver}.tar.gz)
+sha512sums=('58d43a133fb74d94d726ae923cdfb7df8e1faf156247bb07cb7308218e21a627485f031d029b3ee3179d92e756dca7f1e6dd1e2f4378f420c72b171aefe2f410')
build() {
- cd "${srcdir}/${_realname}-${pkgver}"
- # install module in vendor directories.
+ cd Error-${pkgver}
perl Makefile.PL INSTALLDIRS=vendor
make
}
check() {
- cd "${srcdir}/${_realname}-${pkgver}"
+ cd Error-${pkgver}
make test
}
package() {
- cd "${srcdir}/${_realname}-${pkgver}"
- make install DESTDIR="${pkgdir}"
+ cd Error-${pkgver}
+ make DESTDIR="${pkgdir}" install
}
-md5sums=('1137a7bbb94c9508a2268c467583207f')
diff --git a/abs/core/perl_modules/perl-error/perl-error-0.17016-2-x86_64-build.log.1 b/abs/core/perl_modules/perl-error/perl-error-0.17016-2-x86_64-build.log.1
deleted file mode 100644
index 92c6633..0000000
--- a/abs/core/perl_modules/perl-error/perl-error-0.17016-2-x86_64-build.log.1
+++ /dev/null
@@ -1,72 +0,0 @@
-Checking if your kit is complete...
-Looks good
-Writing Makefile for Error
-Writing MYMETA.yml and MYMETA.json
-cp lib/Error.pm blib/lib/Error.pm
-cp lib/Error/Simple.pm blib/lib/Error/Simple.pm
-Manifying blib/man3/Error.3pm
-Manifying blib/man3/Error::Simple.3pm
-PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
-t/01throw.t .......................... ok
-t/02order.t .......................... ok
-t/03throw-non-Error.t ................ ok
-t/04use-base-Error-Simple.t .......... ok
-t/05text-errors-with-file-handles.t .. ok
-t/06customize-text-throw.t ........... ok
-t/07try-in-obj-destructor.t .......... ok
-
-# Failed test 'warn \n-terminated STDERR'
-# at t/08warndie.t line 77.
-# 'A warning at t/08warndie.t line 73.:
-# main::__ANON__() called at t/08warndie.t line 37
-# main::run_kid('CODE(0x1c905f0)') called at t/08warndie.t line 74
-# '
-# doesn't match '(?^:^A warning at (?^:t\/08warndie\.t) line 73:
-# \tmain::__ANON__\(\) called at (?^:t\/08warndie\.t) line 37
-# \tmain::run_kid\('CODE\(0x[0-9a-f]+\)'\) called at (?^:t\/08warndie\.t) line 74
-# $)'
-
-# Failed test 'warn unterminated STDERR'
-# at t/08warndie.t line 89.
-# 'A warning at t/08warndie.t line 85.:
-# main::__ANON__() called at t/08warndie.t line 37
-# main::run_kid('CODE(0x1c908f0)') called at t/08warndie.t line 86
-# '
-# doesn't match '(?^:^A warning at (?^:t\/08warndie\.t) line 85:
-# \tmain::__ANON__\(\) called at (?^:t\/08warndie\.t) line 37
-# \tmain::run_kid\('CODE\(0x[0-9a-f]+\)'\) called at (?^:t\/08warndie\.t) line 86
-# $)'
-
-# Failed test 'Custom warn STDERR'
-# at t/08warndie.t line 192.
-# 'My custom warning here: A warning at t/08warndie.t line 188.:
-# main::__ANON__() called at t/08warndie.t line 37
-# main::run_kid('CODE(0x1c953e8)') called at t/08warndie.t line 189
-# '
-# doesn't match '(?^:^My custom warning here: A warning at (?^:t\/08warndie\.t) line 188:
-# \tmain::__ANON__\(\) called at (?^:t\/08warndie\.t) line 37
-# \tmain::run_kid\('CODE\(0x[0-9a-f]+\)'\) called at (?^:t\/08warndie\.t) line 189
-# $)'
-# Looks like you failed 3 tests of 21.
-t/08warndie.t ........................
-Dubious, test returned 3 (wstat 768, 0x300)
-Failed 3/21 subtests
-t/09dollar-at.t ...................... ok
-t/10throw-in-catch.t ................. ok
-t/11rethrow.t ........................ ok
-t/12wrong-error-var.t ................ ok
-t/13except-arg0.t .................... ok
-t/pod-coverage.t ..................... skipped: Test::Pod::Coverage 1.04 required for testing POD coverage
-t/pod.t .............................. ok
-
-Test Summary Report
--------------------
-t/08warndie.t (Wstat: 768 Tests: 21 Failed: 3)
- Failed tests: 4, 6, 18
- Non-zero exit status: 3
-Files=15, Tests=62, 0 wallclock secs ( 0.05 usr 0.02 sys + 0.23 cusr 0.04 csys = 0.34 CPU)
-Result: FAIL
-Failed 1/15 test programs. 3/62 subtests failed.
-make: *** [test_dynamic] Error 255
-==> ERROR:(B A failure occurred in build().(B
- Aborting...(B
diff --git a/abs/core/perl_modules/perl-eval-closure/PKGBUILD b/abs/core/perl_modules/perl-eval-closure/PKGBUILD
new file mode 100644
index 0000000..8db8ddb
--- /dev/null
+++ b/abs/core/perl_modules/perl-eval-closure/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id$
+# Maintainer: Sergej Pupykin <arch+pub@sergej.pp.ru>
+# Montainer: 3ED <krzysztof1987 at gmail dot com>
+#
+
+pkgname=perl-eval-closure
+_lastauthor=D/DO/DOY
+_pkgname=Eval-Closure
+pkgver=0.14
+pkgrel=3
+pkgdesc="safely and cleanly create closures via string eval"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl-try-tiny' 'perl-sub-exporter')
+checkdepends=('perl-test-requires' 'perl-test-fatal' 'perl-test-output')
+url="https://metacpan.org/release/${_pkgname}"
+source=(https://cpan.metacpan.org/authors/id/${_lastauthor}/${_pkgname}-${pkgver}.tar.gz)
+md5sums=('ceeb1fc579ac9af981fa6b600538c285')
+
+build() {
+ export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL="--skipdeps" \
+ PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='"$pkgdir"'" \
+ PERL_MB_OPT="--installdirs vendor --destdir '"$pkgdir"'" \
+ MODULEBUILDRC=/dev/null
+
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ perl Makefile.PL
+ make
+}
+check() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ make test
+}
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ make install
+}
diff --git a/abs/core/perl_modules/perl-expect/PKGBUILD b/abs/core/perl_modules/perl-expect/PKGBUILD
index 06e8c89..ea14b88 100644
--- a/abs/core/perl_modules/perl-expect/PKGBUILD
+++ b/abs/core/perl_modules/perl-expect/PKGBUILD
@@ -1,22 +1,20 @@
-# CPAN Name : Expect
-# Contributor: Max Roder <maxroder@web.de>
-# Contributor: DarkHeart
-# Generator : CPANPLUS::Dist::Arch 1.19
+# Contributor: John D Jones III AKA jnbek <jnbek1972 -_AT_- g m a i l -_Dot_- com>
+# Generator : CPANPLUS::Dist::Arch 1.32
pkgname='perl-expect'
-pkgver='1.21'
-pkgrel='2'
-pkgdesc="Perl version of Don Libes' Tcl-Expect"
+pkgver='1.33'
+pkgrel='1'
+pkgdesc="automate interactions with command line programs that expose a text terminal interface."
arch=('any')
license=('PerlArtistic' 'GPL')
options=('!emptydirs')
-depends=('perl-io-tty>=1.03')
+depends=('perl-io-tty' 'perl>=5.6.0')
makedepends=()
-url='http://search.cpan.org/dist/Expect'
-source=('http://search.cpan.org/CPAN/authors/id/R/RG/RGIERSIG/Expect-1.21.tar.gz')
-md5sums=('a151b0dc4d1a35c73941c65b7c26da5b')
-sha512sums=('496716b9e6544e9d6809b7f704df8199291d18ec9ec9ebb4fd2b7b341aa10d9b03989335c1f22d1faddbff0974ceba5b2823685fa08ce6a75e2f3ccaeb944e74')
-_distdir="${srcdir}/Expect-1.21"
+url='https://metacpan.org/release/Expect'
+source=('http://search.cpan.org/CPAN/authors/id/J/JA/JACOBY/Expect-1.33.tar.gz')
+md5sums=('1fbb052de1383966a3be5f420a34e83c')
+sha512sums=('6351e681d813a98cf12a882cb135c6dc5f38beb72fb96efe13c690b26704acb9c5654b2f27dd833ad078de83cb4144fef4aea381a768c54f9817247210e6b5bf')
+_distdir="expect.pm-Expect-1.33"
build() {
( export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
@@ -25,22 +23,23 @@ build() {
PERL_MB_OPT="--installdirs vendor --destdir '$pkgdir'" \
MODULEBUILDRC=/dev/null
- cd "$_distdir"
+ cd "$srcdir/$_distdir"
/usr/bin/perl Makefile.PL
make
)
}
check() {
- cd "$_distdir"
+ cd "$srcdir/$_distdir"
( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
make test
)
}
package() {
- cd "$_distdir"
+ cd "$srcdir/$_distdir"
make install
+
find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
}
diff --git a/abs/core/perl_modules/perl-exporter-tiny/PKGBUILD b/abs/core/perl_modules/perl-exporter-tiny/PKGBUILD
new file mode 100644
index 0000000..a758e48
--- /dev/null
+++ b/abs/core/perl_modules/perl-exporter-tiny/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgname=perl-exporter-tiny
+pkgver=1.000000
+pkgrel=2
+pkgdesc="an exporter with the features of Sub::Exporter but only core dependencies"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl')
+url='http://search.cpan.org/dist/Exporter-Tiny'
+source=("http://search.cpan.org/CPAN/authors/id/T/TO/TOBYINK/Exporter-Tiny-$pkgver.tar.gz")
+sha512sums=('02e72b3d1ec09fb5b7da5638893a12098d3300cfc36ff417c8d5cd8a4ef54891d675310612130e118e0e6a88d615cc18cdc888ab7333f2fc1007632c82d4c349')
+_distdir="Exporter-Tiny-$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 "$srcdir/$_distdir"
+ /usr/bin/perl Makefile.PL
+ make
+ )
+}
+
+check() {
+ cd "$srcdir/$_distdir"
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ make test
+ )
+}
+
+package() {
+ cd "$srcdir/$_distdir"
+ make 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/core/perl_modules/perl-fcgi/PKGBUILD b/abs/core/perl_modules/perl-fcgi/PKGBUILD
index a03c4ba..1eee9e4 100644
--- a/abs/core/perl_modules/perl-fcgi/PKGBUILD
+++ b/abs/core/perl_modules/perl-fcgi/PKGBUILD
@@ -1,18 +1,18 @@
-# $Id: PKGBUILD 160531 2012-06-02 10:27:39Z bluewind $
+# $Id$
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-fcgi
-pkgver=0.74
-pkgrel=3
+pkgver=0.78
+pkgrel=5
pkgdesc="Fast CGI"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://search.cpan.org/dist/FCGI"
license=('GPL' 'PerlArtistic')
depends=('perl')
options=('!emptydirs')
-source=("http://www.cpan.org/CPAN/authors/id/F/FL/FLORA/FCGI-${pkgver}.tar.gz")
-md5sums=('462a77a0072480fea791a4d3095eb486')
+source=("http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/FCGI-${pkgver}.tar.gz")
+md5sums=('916cd2887b27265cd8dcfd3280135270')
build() {
cd "${srcdir}/FCGI-${pkgver}"
@@ -28,4 +28,12 @@ check() {
package() {
cd "${srcdir}/FCGI-${pkgver}"
make install DESTDIR="${pkgdir}"
+
+# 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/core/perl_modules/perl-file-homedir/PKGBUILD b/abs/core/perl_modules/perl-file-homedir/PKGBUILD
index 89f9735..6eb202c 100644
--- a/abs/core/perl_modules/perl-file-homedir/PKGBUILD
+++ b/abs/core/perl_modules/perl-file-homedir/PKGBUILD
@@ -1,44 +1,43 @@
-# Generator : CPANPLUS::Dist::Arch 1.19
+# Maintainer: Brian Bidulock <bidulock@openss7.org>
+# Contributor: chimeracoder <dev@chimeracoder.net>
-pkgname='perl-file-homedir'
-pkgver='0.99'
-pkgrel='1'
+pkgname=perl-file-homedir
+_cpanname=File-HomeDir
+pkgver=1.002
+pkgrel=2
pkgdesc="Find your home and other directories on any platform"
arch=('any')
license=('PerlArtistic' 'GPL')
options=('!emptydirs')
-depends=('perl>=5.5.30' 'perl-file-which>=0.05')
-makedepends=()
-url='http://search.cpan.org/dist/File-HomeDir'
-source=('http://search.cpan.org/CPAN/authors/id/A/AD/ADAMK/File-HomeDir-0.99.tar.gz')
-md5sums=('cb058c68393631344c2b906026091016')
-sha512sums=('ac154f07105fc0267488f152fa9b853f252a8ae8f8dcb39d204ae305ff2ff24e3682ff41b0f5dbb81fe5f8e842e555de009e93704084611b8f8e0e2d4c12192b')
-_distdir="${srcdir}/File-HomeDir-0.99"
+depends=('perl-file-which')
+makedepends=('perl-module-install')
+url="https://metacpan.org/release/$_cpanname"
+source=("https://cpan.metacpan.org/authors/id/R/RE/REHSACK/$_cpanname-$pkgver.tar.gz")
+md5sums=('1e999956661fbee165b088eedb5fee3c')
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 $_cpanname-$pkgver
- cd "$_distdir"
- /usr/bin/perl Makefile.PL
- make
- )
-}
+ # why isn't makepkg doing this?
+ export -n PERL_MM_OPT PERL5LIB PERL_LOCAL_LIB_ROOT
+ # install module in vendor directories.
+ PERL_MM_USE_DEFAULT=1 \
+ PERL_AUTOINSTALL='--skipdeps' \
+ perl Makefile.PL INSTALLDIRS=vendor
+ make INSTALLDIRS=vendor
+}
check() {
- cd "$_distdir"
- ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
- make test
- )
+ cd $_cpanname-$pkgver
+ make test
}
-
package() {
- cd "$_distdir"
- make install
- find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+ cd $_cpanname-$pkgver
+
+ make INSTALLDIRS=vendor DESTDIR="$pkgdir" install
+
+ # remove perllocal.pod and .packlist
+ find "$pkgdir" -name '*.pod' -o -name '.packlist' -delete
}
# Local Variables:
diff --git a/abs/core/perl_modules/perl-file-listing/PKGBUILD b/abs/core/perl_modules/perl-file-listing/PKGBUILD
index 8656fc1..3b8a04f 100644
--- a/abs/core/perl_modules/perl-file-listing/PKGBUILD
+++ b/abs/core/perl_modules/perl-file-listing/PKGBUILD
@@ -1,49 +1,30 @@
-# Maintainer: Justin "juster" Davis <jrcd83@gmail.com>
-# $Id: PKGBUILD 150631 2012-02-19 01:02:52Z allan $
+# $Id$
+# Maintainer:
pkgname=perl-file-listing
pkgver=6.04
-pkgrel=1
+pkgrel=4
pkgdesc="parse directory listing"
-arch=(any)
-license=(PerlArtistic GPL)
-options=(!emptydirs)
-depends=('perl>=5.8.8' 'perl-http-date>=6')
-conflicts=('perl-libwww<6')
+arch=('any')
url="http://search.cpan.org/dist/File-Listing"
+license=('PerlArtistic' 'GPL')
+depends=('perl' 'perl-http-date')
+options=('!emptydirs')
source=("http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/File-Listing-${pkgver}.tar.gz")
-md5sums=('83f636b477741f3a014585bb9cc079a6')
-sha512sums=('a84198bc82003daaf88ed23218e34a7a1552dcd2855a9563e9609ce5df167a8295043501534c31614854fc8dd9c04b4af27b4d7320112c613914f94c86c2eeb2')
-_distdir="${srcdir}/File-Listing-${pkgver}"
+sha1sums=('02a41fe1b91f3f198712965360192f31d6d8d74e')
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
- )
+ cd File-Listing-${pkgver}
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
}
check() {
- ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
- cd "$_distdir"
- make test
- )
+ cd File-Listing-${pkgver}
+ make test
}
package() {
- cd "$_distdir"
- make DESTDIR="$pkgdir" install
- find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+ cd File-Listing-${pkgver}
+ make DESTDIR="$pkgdir" install
}
-
-# Local Variables:
-# mode: shell-script
-# sh-basic-offset: 2
-# End:
-# vim:set ts=2 sw=2 et:
diff --git a/abs/core/perl_modules/perl-file-remove/PKGBUILD b/abs/core/perl_modules/perl-file-remove/PKGBUILD
new file mode 100644
index 0000000..c5669eb
--- /dev/null
+++ b/abs/core/perl_modules/perl-file-remove/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+# Contributor: Francois Charette <firmicus@gmx.net>
+
+pkgname=perl-file-remove
+pkgver=1.57
+pkgrel=2
+pkgdesc="Remove files and directories"
+depends=('perl')
+arch=('any')
+url="http://search.cpan.org/dist/File-Remove"
+license=('GPL' 'PerlArtistic')
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/File-Remove-$pkgver.tar.gz)
+md5sums=('fe7da64339206d6568037209a577724f')
+
+build() {
+ cd "$srcdir"/File-Remove-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd "$srcdir"/File-Remove-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
+}
diff --git a/abs/core/perl_modules/perl-file-sharedir-install/PKGBUILD b/abs/core/perl_modules/perl-file-sharedir-install/PKGBUILD
new file mode 100644
index 0000000..afbe164
--- /dev/null
+++ b/abs/core/perl_modules/perl-file-sharedir-install/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id$
+# Maintainer: Sergej Pupykin <arch+pub@sergej.pp.ru>
+# Maintainer: Jason St. John <jstjohn .. purdue . edu>
+# Contributor: AUR Perl <aurperl@juster.info>
+
+pkgname=perl-file-sharedir-install
+pkgver=0.13
+pkgrel=1
+pkgdesc="File::ShareDir::Install - Install read-only data files from a distribution"
+arch=('any')
+url="http://search.cpan.org/dist/File-ShareDir-Install"
+license=('GPL' 'PerlArtistic')
+checkdepends=('perl-test-pod' 'perl-test-pod-coverage')
+options=('!emptydirs')
+source=("http://cpan.org/modules/by-module/File/File-ShareDir-Install-${pkgver}.tar.gz")
+sha256sums=('45befdf0d95cbefe7c25a1daf293d85f780d6d2576146546e6828aad26e580f9')
+
+build() {
+ cd "File-ShareDir-Install-${pkgver}"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "File-ShareDir-Install-${pkgver}"
+ make test
+}
+
+package() {
+ cd "File-ShareDir-Install-${pkgver}"
+ make install DESTDIR="${pkgdir}"
+}
diff --git a/abs/core/perl_modules/perl-file-sharedir/PKGBUILD b/abs/core/perl_modules/perl-file-sharedir/PKGBUILD
index f57b2ba..e3dd42b 100644
--- a/abs/core/perl_modules/perl-file-sharedir/PKGBUILD
+++ b/abs/core/perl_modules/perl-file-sharedir/PKGBUILD
@@ -1,19 +1,20 @@
-# $Id: PKGBUILD 149415 2012-02-07 16:24:01Z heftig $
+# $Id$
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Caleb Cushing <xenoterracide@gmail.com>
pkgname=perl-file-sharedir
_realname=File-ShareDir
-pkgver=1.03
-pkgrel=2
+pkgver=1.102
+pkgrel=3
pkgdesc="Locate per-dist and per-module shared files"
arch=(any)
license=(PerlArtistic GPL)
depends=(perl-class-inspector)
url="http://search.cpan.org/dist/File-ShareDir"
options=('!emptydirs')
-source=("http://search.cpan.org/CPAN/authors/id/A/AD/ADAMK/$_realname-$pkgver.tar.gz")
-md5sums=('333a0903db23b9097adfbeb37b99d561')
+_author=REHSACK
+source=("http://search.cpan.org/CPAN/authors/id/${_author::1}/${_author::2}/${_author}/$_realname-$pkgver.tar.gz")
+md5sums=('553157f0e81cd2dabfe140ceb06cd03f')
build() {
cd "$srcdir/$_realname-$pkgver"
diff --git a/abs/core/perl_modules/perl-file-slurp-tiny/PKGBUILD b/abs/core/perl_modules/perl-file-slurp-tiny/PKGBUILD
new file mode 100644
index 0000000..100ba08
--- /dev/null
+++ b/abs/core/perl_modules/perl-file-slurp-tiny/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=perl-file-slurp-tiny
+pkgver=0.004
+pkgrel=3
+pkgdesc="A simple, sane and efficient file slurper"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl')
+makedepends=()
+url='http://search.cpan.org/dist/File-Slurp-Tiny'
+source=("http://search.cpan.org/CPAN/authors/id/L/LE/LEONT/File-Slurp-Tiny-$pkgver.tar.gz")
+md5sums=('7575b81543281ea57cdb7e5eb3f73264')
+
+build() {
+ cd "$srcdir/File-Slurp-Tiny-$pkgver"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$srcdir/File-Slurp-Tiny-$pkgver"
+ PERL_MM_USE_DEFAULT=1
+ make test
+}
+
+package() {
+ cd "$srcdir/File-Slurp-Tiny-$pkgver"
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -o -name '*.pod' -delete
+}
diff --git a/abs/core/perl_modules/perl-file-slurp/PKGBUILD b/abs/core/perl_modules/perl-file-slurp/PKGBUILD
index 5e96fd8..1db97f1 100644
--- a/abs/core/perl_modules/perl-file-slurp/PKGBUILD
+++ b/abs/core/perl_modules/perl-file-slurp/PKGBUILD
@@ -1,23 +1,29 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-file-slurp
-pkgver=9999.13
-pkgrel=1
+pkgver=9999.19
+pkgrel=4
pkgdesc="Read/write/append files quickly"
-arch=('i686' 'x86_64')
-url="http://search.cpan.org/~DROLSKY/File-Slurp"
+arch=('any')
+url="http://search.cpan.org/dist/File-Slurp"
license=('GPL' 'PerlArtistic')
-depends=('perl>=5.10.0')
+depends=('perl>=5.14.0')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/D/DR/DROLSKY/File-Slurp-$pkgver.tar.gz)
-md5sums=('ac3cd9d466b99d1534762ff3549aaa66')
+source=(https://www.cpan.org/authors/id/U/UR/URI/File-Slurp-$pkgver.tar.gz)
+sha256sums=('ce29ebe995097ebd6e9bc03284714cdfa0c46dc94f6b14a56980747ea3253643')
build() {
- cd $startdir/src/File-Slurp-$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
+ cd "$srcdir"/File-Slurp-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd "$srcdir"/File-Slurp-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-file-which/PKGBUILD b/abs/core/perl_modules/perl-file-which/PKGBUILD
index 6ba407e..6bfc8f1 100644
--- a/abs/core/perl_modules/perl-file-which/PKGBUILD
+++ b/abs/core/perl_modules/perl-file-which/PKGBUILD
@@ -1,17 +1,20 @@
-# $Id: PKGBUILD 149416 2012-02-07 16:24:46Z heftig $
+# $Id$
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com
# Contributor: Charles Mauch <cmauch@gmail.com>
pkgname=perl-file-which
_realname=File-Which
-pkgver=1.09
-pkgrel=3
+pkgver=1.22
+pkgrel=1
pkgdesc="Portable implementation of which"
arch=(any)
url="http://search.cpan.org/dist/File-Which"
license=(GPL PerlArtistic)
-source=("http://www.cpan.org/authors/id/A/AD/ADAMK/${_realname}-${pkgver}.tar.gz")
-md5sums=('b9429edaad7f45caafa4d458afcfd8af')
+depends=(perl)
+options=('!emptydirs')
+_author=PLICEASE
+source=("https://www.cpan.org/authors/id/${_author:0:1}/${_author:0:2}/$_author/${_realname}-${pkgver}.tar.gz")
+md5sums=('face60fafd220dc83fa581ef6f96d480')
build() {
cd "$srcdir/${_realname}-${pkgver}"
diff --git a/abs/core/perl_modules/perl-html-form/PKGBUILD b/abs/core/perl_modules/perl-html-form/PKGBUILD
index f14fb80..a9c5afd 100644
--- a/abs/core/perl_modules/perl-html-form/PKGBUILD
+++ b/abs/core/perl_modules/perl-html-form/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 69178 2012-04-10 00:11:28Z spupykin $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer : Justin "juster" Davis <jrcd83@gmail.com>
pkgname=perl-html-form
pkgver=6.03
-pkgrel=1
+pkgrel=4
pkgdesc="Class that represents an HTML form element"
arch=(any)
license=(PerlArtistic GPL)
@@ -19,8 +19,8 @@ build() {
cd "${srcdir}/HTML-Form-${pkgver}"
PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
PERL_AUTOINSTALL=--skipdeps \
- PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='$pkgdir'" \
- PERL_MB_OPT="--installdirs vendor --destdir '$pkgdir'" \
+ PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='"$pkgdir"'" \
+ PERL_MB_OPT="--installdirs vendor --destdir '"$pkgdir"'" \
MODULEBUILDRC=/dev/null perl Makefile.PL
make
}
diff --git a/abs/core/perl_modules/perl-html-parser/PKGBUILD b/abs/core/perl_modules/perl-html-parser/PKGBUILD
index b30443f..172a9fe 100644
--- a/abs/core/perl_modules/perl-html-parser/PKGBUILD
+++ b/abs/core/perl_modules/perl-html-parser/PKGBUILD
@@ -1,35 +1,41 @@
-# $Id: PKGBUILD 160535 2012-06-02 10:27:46Z bluewind $
-# Maintainer: kevin <kevin@archlinux.org>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: kevin <kevin@archlinux.org>
# Contributor: Manolis Tzanidakis
-# Contributor: Firmicus <francois.archlinux.org>
+# Contributor: Firmicus <francois.archlinux.org>
pkgname=perl-html-parser
-_realname=HTML-Parser
-pkgver=3.69
-pkgrel=2
+pkgver=3.72
+pkgrel=5
pkgdesc="Perl HTML parser class"
-arch=('i686' 'x86_64')
+arch=('x86_64')
license=('PerlArtistic')
-url="http://search.cpan.org/dist/${_realname}/"
-depends=('perl-html-tagset' 'perl>=5.12.1')
-options=(!emptydirs)
-source=(http://www.cpan.org/authors/id/G/GA/GAAS/${_realname}-${pkgver}.tar.gz)
-md5sums=('d22cc6468ce670a56034be907e4e7c54')
+url="http://search.cpan.org/dist/HTML-Parser/"
+depends=('perl-html-tagset')
+checkdepends=('perl-test-pod')
+options=('!emptydirs')
+source=(http://www.cpan.org/authors/id/G/GA/GAAS/HTML-Parser-${pkgver}.tar.gz)
+md5sums=('eb7505e5f626913350df9dd4a03d54a8')
build() {
- cd "${srcdir}/${_realname}-${pkgver}"
- # install module in vendor directories.
+ cd HTML-Parser-${pkgver}
perl Makefile.PL INSTALLDIRS=vendor
make
}
check() {
- cd "${srcdir}/${_realname}-${pkgver}"
+ cd HTML-Parser-${pkgver}
make test
}
package() {
- cd "${srcdir}/${_realname}-${pkgver}"
+ cd HTML-Parser-${pkgver}
make install DESTDIR="${pkgdir}"
+# 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;
}
-# vim: ts=2 sw=2 et ft=sh
diff --git a/abs/core/perl_modules/perl-html-tagset/PKGBUILD b/abs/core/perl_modules/perl-html-tagset/PKGBUILD
index 3c69273..7e9d678 100644
--- a/abs/core/perl_modules/perl-html-tagset/PKGBUILD
+++ b/abs/core/perl_modules/perl-html-tagset/PKGBUILD
@@ -1,11 +1,12 @@
-# $Id: PKGBUILD 150635 2012-02-19 01:16:52Z allan $
-# Maintainer: kevin <kevin@archlinux.org>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Conributor: kevin <kevin@archlinux.org>
# Contributor: Manolis Tzanidakis
pkgname=perl-html-tagset
_realname=HTML-Tagset
pkgver=3.20
-pkgrel=3
+pkgrel=6
pkgdesc="Data tables useful in parsing HTML"
arch=('any')
license=('PerlArtistic')
diff --git a/abs/core/perl_modules/perl-html-template/PKGBUILD b/abs/core/perl_modules/perl-html-template/PKGBUILD
index ee70580..ffe3cb0 100644
--- a/abs/core/perl_modules/perl-html-template/PKGBUILD
+++ b/abs/core/perl_modules/perl-html-template/PKGBUILD
@@ -1,30 +1,34 @@
-# $Id: PKGBUILD 82 2009-07-17 19:56:55Z aaron $
-# Maintainer: Firmicus <francois.archlinux.org>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Firmicus <francois.archlinux.org>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Charles Mauch <cmauch@gmail.com>
pkgname=perl-html-template
-_cpanname=HTML-Template
-pkgver=2.91
-pkgrel=1
+pkgver=2.97
+pkgrel=2
pkgdesc="A simple HTML templating system"
arch=('any')
url="http://search.cpan.org/dist/HTML-Template"
license=("GPL" "PerlArtistic")
depends=('perl')
+checkdepends=('perl-cgi')
options=('!emptydirs')
-source=("http://www.cpan.org/authors/id/W/WO/WONKO/${_cpanname}-${pkgver}.tar.gz")
+source=("http://www.cpan.org/authors/id/S/SA/SAMTREGAR/HTML-Template-$pkgver.tar.gz")
+sha512sums=('e1cb68db24db1692c0fb3838739798e5716340e3e78260ee95614af5bf29ee100cc86bbd15a2dda3bb98c7f2ecdf0e3ff8ca7775171a44d9ed347d7f9c850783')
build() {
- cd "${srcdir}/${_cpanname}-${pkgver}"
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ cd HTML-Template-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
make
}
+check() {
+ cd HTML-Template-$pkgver
+ make test
+}
+
package() {
- cd "${srcdir}/${_cpanname}-${pkgver}"
- make install DESTDIR="${pkgdir}"
- find "${pkgdir}" -name '.packlist' -delete
- find "${pkgdir}" -name '*.pod' -delete
+ cd HTML-Template-$pkgver
+ make DESTDIR="$pkgdir" install
}
-md5sums=('bb43b4bef739a705ef859c4e21e6194c')
diff --git a/abs/core/perl_modules/perl-html-tree/PKGBUILD b/abs/core/perl_modules/perl-html-tree/PKGBUILD
index f946545..d056d31 100644
--- a/abs/core/perl_modules/perl-html-tree/PKGBUILD
+++ b/abs/core/perl_modules/perl-html-tree/PKGBUILD
@@ -1,23 +1,30 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Allan McRae <mcrae_allan@hotmail.com>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-html-tree
-pkgver=3.23
-pkgrel=6
+pkgver=5.06
+pkgrel=2
pkgdesc="Make parse trees out of HTML source"
-arch=('i686' 'x86_64')
-url="http://search.cpan.org/~PETEK/HTML-Tree"
+arch=('any')
+url="http://search.cpan.org/dist/HTML-Tree"
license=('GPL' 'PerlArtistic')
depends=('perl>=5.10.0' 'perl-html-tagset>=3.02' 'perl-html-parser>=3.46')
+makedepends=('perl-test-fatal' 'perl-module-build')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/P/PE/PETEK/HTML-Tree-$pkgver.tar.gz)
-md5sums=('6352f50be402301f79b580dd235d7762')
+source=(http://search.cpan.org/CPAN/authors/id/K/KE/KENTNL/HTML-Tree-$pkgver.tar.gz)
+sha256sums=('9c36eb19cbdf9a5906c858948ca51c35bd7561f52cc18c43281acbe57327536e')
build() {
- cd $startdir/src/HTML-Tree-$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
+ cd "$srcdir"/HTML-Tree-$pkgver
+ perl Build.PL installdirs=vendor destdir="$pkgdir/"
+ perl Build
+}
+
+package() {
+ cd "$srcdir"/HTML-Tree-$pkgver
+ perl Build install
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-http-cache-transparent/PKGBUILD b/abs/core/perl_modules/perl-http-cache-transparent/PKGBUILD
index 23a7170..83695bf 100644
--- a/abs/core/perl_modules/perl-http-cache-transparent/PKGBUILD
+++ b/abs/core/perl_modules/perl-http-cache-transparent/PKGBUILD
@@ -1,23 +1,29 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Allan McRae <mcrae_allan@hotmail.com>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-http-cache-transparent
-pkgver=1.0
+pkgver=1.4
pkgrel=2
pkgdesc="Cache the result of http-gets persistently"
-arch=('i686' 'x86_64')
-url="http://search.cpan.org/~MATTIASH/HTTP-Cache-Transparent"
+arch=('any')
+url="http://search.cpan.org/dist/HTTP-Cache-Transparent"
license=('GPL' 'PerlArtistic')
depends=('perl>=5.10.0' 'perl-libwww')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/M/MA/MATTIASH/HTTP-Cache-Transparent-$pkgver.tar.gz)
-md5sums=('e198345ce8eee2562c807e84d65e3b4f')
+source=(https://www.cpan.org/authors/id/M/MA/MATTIASH/HTTP-Cache-Transparent-$pkgver.tar.gz)
+sha256sums=('6622e1b5e5af952b1711aea247bdcb1b91c2aac0f11f32f819a2d07e11dd2845')
build() {
- cd $startdir/src/HTTP-Cache-Transparent-$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
+ cd "$srcdir"/HTTP-Cache-Transparent-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd "$srcdir"/HTTP-Cache-Transparent-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-http-cookies/PKGBUILD b/abs/core/perl_modules/perl-http-cookies/PKGBUILD
index 578f05f..56ff5b2 100644
--- a/abs/core/perl_modules/perl-http-cookies/PKGBUILD
+++ b/abs/core/perl_modules/perl-http-cookies/PKGBUILD
@@ -1,52 +1,30 @@
-# Maintainer : Justin "juster" Davis <jrcd83@gmail.com>
-# Generator : pbjam 0.01
-# $Id: PKGBUILD 150637 2012-02-19 01:19:55Z allan $
+# $Id$
+# Maintainer:
pkgname=perl-http-cookies
-pkgver=6.01
-pkgrel=1
+pkgver=6.04
+pkgrel=2
pkgdesc="HTTP cookie jars"
-arch=(any)
-license=(PerlArtistic GPL)
+arch=('any')
+url="http://search.cpan.org/dist/HTTP-Cookies"
+license=('PerlArtistic' 'GPL')
+depends=('perl' 'perl-http-date' 'perl-http-message')
options=('!emptydirs')
-depends=('perl>=5.8.8' 'perl-http-date>=6' 'perl-http-message')
-makedepends=()
-checkdepends=()
-conflicts=('perl-libwww<6')
-url=http://search.cpan.org/dist/HTTP-Cookies
-source=(http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTTP-Cookies-6.00.tar.gz)
-md5sums=('21bed72b30a46604c152b7e25cf1cb45')
-sha512sums=('6399383e61a2fbad1dd130e67f51be32c118ed104065c109cde1e1262aed986fe3790231937dbdee861755bb58d365bc6f1dec316750f02700fce5014d1a1753')
-_distdir="${srcdir}/HTTP-Cookies-6.00"
+source=(http://search.cpan.org/CPAN/authors/id/O/OA/OALDERS/HTTP-Cookies-$pkgver.tar.gz)
+sha512sums=('e8b24b96e6630f1238e828edfbf7074fb9186a391fd1d129fb65a82748a4cf7d71669fa658c31957560a6faac3e638c8dc7aa3182acaa6fd14f0d56f3968f5e4')
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
- )
+ cd HTTP-Cookies-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
}
check() {
- ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
- cd "$_distdir"
- make test
- )
+ cd HTTP-Cookies-$pkgver
+ make test
}
package() {
- cd "$_distdir"
- make DESTDIR="$pkgdir" install
- find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+ cd HTTP-Cookies-$pkgver
+ make DESTDIR="$pkgdir" install
}
-
-# Local Variables:
-# mode: shell-script
-# sh-basic-offset: 2
-# End:
-# vim:set ts=2 sw=2 et:
diff --git a/abs/core/perl_modules/perl-http-daemon/HTTP-Daemon-6.01-Add-IPv6-support.patch b/abs/core/perl_modules/perl-http-daemon/HTTP-Daemon-6.01-Add-IPv6-support.patch
new file mode 100644
index 0000000..dd9d5ee
--- /dev/null
+++ b/abs/core/perl_modules/perl-http-daemon/HTTP-Daemon-6.01-Add-IPv6-support.patch
@@ -0,0 +1,305 @@
+From 067faffb8e596a53c9ac2ed7e571472f7a163681 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Mon, 16 Jan 2017 16:13:08 +0100
+Subject: [PATCH] Add IPv6 support
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This patch ports the code from IO::Socket::INET to IO::Socket::IP in
+order to support IPv6.
+
+CPAN RT #91699, #71395.
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+---
+ Makefile.PL | 1 +
+ README | 24 ++++++++++++------------
+ lib/HTTP/Daemon.pm | 43 ++++++++++++++++++++++++++++---------------
+ t/chunked.t | 34 +++++++++++++++++++++++-----------
+ 4 files changed, 64 insertions(+), 38 deletions(-)
+
+diff --git a/Makefile.PL b/Makefile.PL
+index 09c7e86..85d5712 100644
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -14,6 +14,7 @@ WriteMakefile(
+ PREREQ_PM => {
+ 'Sys::Hostname' => 0,
+ 'IO::Socket' => 0,
++ 'IO::Socket::IP' => 0,
+ 'HTTP::Request' => 6,
+ 'HTTP::Response' => 6,
+ 'HTTP::Status' => 6,
+diff --git a/README b/README
+index be5a20a..ddb3b6e 100644
+--- a/README
++++ b/README
+@@ -24,12 +24,12 @@ SYNOPSIS
+ DESCRIPTION
+ Instances of the `HTTP::Daemon' class are HTTP/1.1 servers that listen
+ on a socket for incoming requests. The `HTTP::Daemon' is a subclass of
+- `IO::Socket::INET', so you can perform socket operations directly on it
++ `IO::Socket::IP', so you can perform socket operations directly on it
+ too.
+
+ The accept() method will return when a connection from a client is
+ available. The returned value will be an `HTTP::Daemon::ClientConn'
+- object which is another `IO::Socket::INET' subclass. Calling the
++ object which is another `IO::Socket::IP' subclass. Calling the
+ get_request() method on this object will read data from the client and
+ return an `HTTP::Request' object. The ClientConn object also provide
+ methods to send back various responses.
+@@ -40,13 +40,13 @@ DESCRIPTION
+ responses that conform to the HTTP/1.1 protocol.
+
+ The following methods of `HTTP::Daemon' are new (or enhanced) relative
+- to the `IO::Socket::INET' base class:
++ to the `IO::Socket::IP' base class:
+
+ $d = HTTP::Daemon->new
+ $d = HTTP::Daemon->new( %opts )
+ The constructor method takes the same arguments as the
+- `IO::Socket::INET' constructor, but unlike its base class it can
+- also be called without any arguments. The daemon will then set up a
++ `IO::Socket::IP' constructor, but unlike its base class it can also
++ be called without any arguments. The daemon will then set up a
+ listen queue of 5 connections and allocate some random port number.
+
+ A server that wants to bind to some specific address on the standard
+@@ -57,8 +57,8 @@ DESCRIPTION
+ LocalPort => 80,
+ );
+
+- See IO::Socket::INET for a description of other arguments that can
+- be used configure the daemon during construction.
++ See IO::Socket::IP for a description of other arguments that can be
++ used configure the daemon during construction.
+
+ $c = $d->accept
+ $c = $d->accept( $pkg )
+@@ -71,7 +71,7 @@ DESCRIPTION
+
+ The accept method will return `undef' if timeouts have been enabled
+ and no connection is made within the given time. The timeout()
+- method is described in IO::Socket.
++ method is described in IO::Socket::IP.
+
+ In list context both the client object and the peer address will be
+ returned; see the description of the accept method IO::Socket for
+@@ -89,9 +89,9 @@ DESCRIPTION
+ The default is the string "libwww-perl-daemon/#.##" where "#.##" is
+ replaced with the version number of this module.
+
+- The `HTTP::Daemon::ClientConn' is a `IO::Socket::INET' subclass.
+- Instances of this class are returned by the accept() method of
+- `HTTP::Daemon'. The following methods are provided:
++ The `HTTP::Daemon::ClientConn' is a `IO::Socket::IP' subclass. Instances
++ of this class are returned by the accept() method of `HTTP::Daemon'. The
++ following methods are provided:
+
+ $c->get_request
+ $c->get_request( $headers_only )
+@@ -227,7 +227,7 @@ DESCRIPTION
+ SEE ALSO
+ RFC 2616
+
+- IO::Socket::INET, IO::Socket
++ IO::Socket::IP, IO::Socket
+
+ COPYRIGHT
+ Copyright 1996-2003, Gisle Aas
+diff --git a/lib/HTTP/Daemon.pm b/lib/HTTP/Daemon.pm
+index 27a7bf4..0e22b77 100644
+--- a/lib/HTTP/Daemon.pm
++++ b/lib/HTTP/Daemon.pm
+@@ -5,8 +5,10 @@ use vars qw($VERSION @ISA $PROTO $DEBUG);
+
+ $VERSION = "6.01";
+
+-use IO::Socket qw(AF_INET INADDR_ANY INADDR_LOOPBACK inet_ntoa);
+-@ISA=qw(IO::Socket::INET);
++use Socket qw(AF_INET AF_INET6 INADDR_ANY IN6ADDR_ANY
++ INADDR_LOOPBACK IN6ADDR_LOOPBACK inet_ntop sockaddr_family);
++use IO::Socket::IP;
++@ISA=qw(IO::Socket::IP);
+
+ $PROTO = "HTTP/1.1";
+
+@@ -40,15 +42,26 @@ sub url
+ my $self = shift;
+ my $url = $self->_default_scheme . "://";
+ my $addr = $self->sockaddr;
+- if (!$addr || $addr eq INADDR_ANY) {
++ if (!$addr || $addr eq INADDR_ANY || $addr eq IN6ADDR_ANY) {
+ require Sys::Hostname;
+ $url .= lc Sys::Hostname::hostname();
+ }
+ elsif ($addr eq INADDR_LOOPBACK) {
+- $url .= inet_ntoa($addr);
++ $url .= inet_ntop(AF_INET, $addr);
++ }
++ elsif ($addr eq IN6ADDR_LOOPBACK) {
++ $url .= '[' . inet_ntop(AF_INET6, $addr) . ']';
+ }
+ else {
+- $url .= gethostbyaddr($addr, AF_INET) || inet_ntoa($addr);
++ my $host = $addr->sockhostname;
++ if (!defined $host) {
++ if (sockaddr_family($addr) eq AF_INET6) {
++ $host = '[' . inet_ntop(AF_INET6, $addr) . ']';
++ } else {
++ $host = inet_ntop(AF_INET6, $addr);
++ }
++ }
++ $url .= $host;
+ }
+ my $port = $self->sockport;
+ $url .= ":$port" if $port != $self->_default_port;
+@@ -77,8 +90,8 @@ sub product_tokens
+ package HTTP::Daemon::ClientConn;
+
+ use vars qw(@ISA $DEBUG);
+-use IO::Socket ();
+-@ISA=qw(IO::Socket::INET);
++use IO::Socket::IP ();
++@ISA=qw(IO::Socket::IP);
+ *DEBUG = \$HTTP::Daemon::DEBUG;
+
+ use HTTP::Request ();
+@@ -645,12 +658,12 @@ HTTP::Daemon - a simple http server class
+
+ Instances of the C<HTTP::Daemon> class are HTTP/1.1 servers that
+ listen on a socket for incoming requests. The C<HTTP::Daemon> is a
+-subclass of C<IO::Socket::INET>, so you can perform socket operations
++subclass of C<IO::Socket::IP>, so you can perform socket operations
+ directly on it too.
+
+ The accept() method will return when a connection from a client is
+ available. The returned value will be an C<HTTP::Daemon::ClientConn>
+-object which is another C<IO::Socket::INET> subclass. Calling the
++object which is another C<IO::Socket::IP> subclass. Calling the
+ get_request() method on this object will read data from the client and
+ return an C<HTTP::Request> object. The ClientConn object also provide
+ methods to send back various responses.
+@@ -661,7 +674,7 @@ desirable. Also note that the user is responsible for generating
+ responses that conform to the HTTP/1.1 protocol.
+
+ The following methods of C<HTTP::Daemon> are new (or enhanced) relative
+-to the C<IO::Socket::INET> base class:
++to the C<IO::Socket::IP> base class:
+
+ =over 4
+
+@@ -670,7 +683,7 @@ to the C<IO::Socket::INET> base class:
+ =item $d = HTTP::Daemon->new( %opts )
+
+ The constructor method takes the same arguments as the
+-C<IO::Socket::INET> constructor, but unlike its base class it can also
++C<IO::Socket::IP> constructor, but unlike its base class it can also
+ be called without any arguments. The daemon will then set up a listen
+ queue of 5 connections and allocate some random port number.
+
+@@ -682,7 +695,7 @@ HTTP port will be constructed like this:
+ LocalPort => 80,
+ );
+
+-See L<IO::Socket::INET> for a description of other arguments that can
++See L<IO::Socket::IP> for a description of other arguments that can
+ be used configure the daemon during construction.
+
+ =item $c = $d->accept
+@@ -699,7 +712,7 @@ class a subclass of C<HTTP::Daemon::ClientConn>.
+
+ The accept method will return C<undef> if timeouts have been enabled
+ and no connection is made within the given time. The timeout() method
+-is described in L<IO::Socket>.
++is described in L<IO::Socket::IP>.
+
+ In list context both the client object and the peer address will be
+ returned; see the description of the accept method L<IO::Socket> for
+@@ -721,7 +734,7 @@ replaced with the version number of this module.
+
+ =back
+
+-The C<HTTP::Daemon::ClientConn> is a C<IO::Socket::INET>
++The C<HTTP::Daemon::ClientConn> is a C<IO::Socket::IP>
+ subclass. Instances of this class are returned by the accept() method
+ of C<HTTP::Daemon>. The following methods are provided:
+
+@@ -895,7 +908,7 @@ Return a reference to the corresponding C<HTTP::Daemon> object.
+
+ RFC 2616
+
+-L<IO::Socket::INET>, L<IO::Socket>
++L<IO::Socket::IP>, L<IO::Socket>
+
+ =head1 COPYRIGHT
+
+diff --git a/t/chunked.t b/t/chunked.t
+index e11799f..c274b11 100644
+--- a/t/chunked.t
++++ b/t/chunked.t
+@@ -95,18 +95,30 @@ my $can_fork = $Config{d_fork} ||
+ my $tests = @TESTS;
+ my $tport = 8333;
+
+-my $tsock = IO::Socket::INET->new(LocalAddr => '0.0.0.0',
+- LocalPort => $tport,
+- Listen => 1,
+- ReuseAddr => 1);
++my @addresses = (
++ { server => '::', client => '::1' },
++ { server => '0.0.0.0', client => '127.0.0.1' }
++);
++my $family;
++for my $id (0..$#addresses) {
++ my $tsock = IO::Socket::IP->new(LocalAddr => $addresses[$id]->{server},
++ LocalPort => $tport,
++ Listen => 1,
++ ReuseAddr => 1);
++ if ($tsock) {
++ close $tsock;
++ $family = $id;
++ last;
++ }
++}
++
+ if (!$can_fork) {
+ plan skip_all => "This system cannot fork";
+ }
+-elsif (!$tsock) {
+- plan skip_all => "Cannot listen on 0.0.0.0:$tport";
++elsif (!defined $family) {
++ plan skip_all => "Cannot listen on unspecifed address and port $tport";
+ }
+ else {
+- close $tsock;
+ plan tests => $tests;
+ }
+
+@@ -132,9 +144,9 @@ if ($pid = fork) {
+ open my $fh, "| socket localhost $tport" or die;
+ print $fh $test;
+ }
+- use IO::Socket::INET;
+- my $sock = IO::Socket::INET->new(
+- PeerAddr => "127.0.0.1",
++ use IO::Socket::IP;
++ my $sock = IO::Socket::IP->new(
++ PeerAddr => $addresses[$family]->{client},
+ PeerPort => $tport,
+ ) or die;
+ if (0) {
+@@ -158,7 +170,7 @@ if ($pid = fork) {
+ } else {
+ die "cannot fork: $!" unless defined $pid;
+ my $d = HTTP::Daemon->new(
+- LocalAddr => '0.0.0.0',
++ LocalAddr => $addresses[$family]->{server},
+ LocalPort => $tport,
+ ReuseAddr => 1,
+ ) or die;
+--
+2.7.4
+
diff --git a/abs/core/perl_modules/perl-http-daemon/HTTP-Daemon-6.01-Handle-undef-and-empty-LocalAddr.patch b/abs/core/perl_modules/perl-http-daemon/HTTP-Daemon-6.01-Handle-undef-and-empty-LocalAddr.patch
new file mode 100644
index 0000000..f6fe289
--- /dev/null
+++ b/abs/core/perl_modules/perl-http-daemon/HTTP-Daemon-6.01-Handle-undef-and-empty-LocalAddr.patch
@@ -0,0 +1,48 @@
+From b54702ab21edbf1ea0dbc00d978aecc89e5764d6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Mon, 18 Sep 2017 15:21:16 +0200
+Subject: [PATCH] Handle undef and empty LocalAddr
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+IO::Socket::INET interprets undefined and empty string LocalAddr
+arguments as an unspecified address while IO::Socket::IP returns an
+error. This seems to be one of the differences between the two
+Socket implementations. Recent IO::Socket::IP (0.39) accepts undefined
+value, but still bail outs on an empty string.
+
+To improve compatibility, this patch adds a special handling for these
+two values to be accepted as an unspecified value. Though this should
+be corrected on IO::Socket:IP side probably.
+
+CPAN RT#91699
+CPAN RT#123069
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+---
+ lib/HTTP/Daemon.pm | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/lib/HTTP/Daemon.pm b/lib/HTTP/Daemon.pm
+index 0e22b77..1e9d48e 100644
+--- a/lib/HTTP/Daemon.pm
++++ b/lib/HTTP/Daemon.pm
+@@ -18,6 +18,14 @@ sub new
+ my($class, %args) = @_;
+ $args{Listen} ||= 5;
+ $args{Proto} ||= 'tcp';
++ # Handle undefined or empty local address the same way as
++ # IO::Socket::INET -- use unspecified address
++ for my $key (qw(LocalAddr LocalHost)) {
++ if (exists $args{$key} &&
++ (!defined($args{$key}) || $args{$key} eq '')) {
++ delete $args{$key};
++ }
++ }
+ return $class->SUPER::new(%args);
+ }
+
+--
+2.13.5
+
diff --git a/abs/core/perl_modules/perl-http-daemon/PKGBUILD b/abs/core/perl_modules/perl-http-daemon/PKGBUILD
index bf55adc..29d3d0e 100644
--- a/abs/core/perl_modules/perl-http-daemon/PKGBUILD
+++ b/abs/core/perl_modules/perl-http-daemon/PKGBUILD
@@ -1,53 +1,42 @@
-# Maintainer : Justin "juster" Davis <jrcd83@gmail.com>
-# Generator : pbjam 0.01
-# $Id: PKGBUILD 140094 2011-10-06 16:01:26Z bluewind $
+# $Id$
+# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=perl-http-daemon
-pkgver=6.00
-pkgrel=1
-pkgdesc="a simple http server class"
-arch=(any)
-license=(PerlArtistic GPL)
+pkgver=6.01
+pkgrel=5
+pkgdesc="Simple http server class"
+arch=('any')
+url='https://metacpan.org/pod/HTTP::Daemon'
+license=('PerlArtistic' 'GPL')
+depends=('perl' 'perl-http-date' 'perl-http-message' 'perl-lwp-mediatypes')
options=('!emptydirs')
-depends=('perl>=5.8.8' 'perl-http-date>=6' 'perl-http-message'
- 'perl-lwp-mediatypes>=6')
-makedepends=()
-checkdepends=()
-conflicts=('perl-libwww<6')
-url=http://search.cpan.org/dist/HTTP-Daemon
-source=(http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTTP-Daemon-6.00.tar.gz)
-md5sums=(36c8048775b8b53a6fb7c9d781658926)
-sha512sums=(9fcdfc46e359bea37b10c979212f14e1cb7a1e0a24d2602b5465426fdac65dd43e4c3a73c4a956505a675a01caeb8385e20723f4362dcaa326a3d829d618b455)
-_distdir="${srcdir}/HTTP-Daemon-6.00"
+source=(https://cpan.metacpan.org/authors/id/G/GA/GAAS/HTTP-Daemon-${pkgver}.tar.gz
+ HTTP-Daemon-6.01-Add-IPv6-support.patch
+ HTTP-Daemon-6.01-Handle-undef-and-empty-LocalAddr.patch)
+sha256sums=('43fd867742701a3f9fcc7bd59838ab72c6490c0ebaf66901068ec6997514adc2'
+ 'a4bac445248fb494f88e7189a74f1a5d916ae7778edd089ed5a97e0d443e1ebf'
+ '3c46084a36f4a3c3f83e7ed8f4393a6588a5c8d0dbdc948a4f0d6fddc65005ec')
-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
+prepare() {
+ cd "${srcdir}/HTTP-Daemon-${pkgver}"
+ patch -p1 < ../HTTP-Daemon-6.01-Add-IPv6-support.patch
+ patch -p1 < ../HTTP-Daemon-6.01-Handle-undef-and-empty-LocalAddr.patch
+}
- cd "$_distdir"
- /usr/bin/perl Makefile.PL
- make
- )
+build() {
+ cd "${srcdir}/HTTP-Daemon-${pkgver}"
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
}
check() {
- ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
- cd "$_distdir"
- make test
- )
+ cd "${srcdir}/HTTP-Daemon-${pkgver}"
+ make test
}
package() {
- cd "$_distdir"
- make DESTDIR="$pkgdir" install
- find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+ cd "${srcdir}/HTTP-Daemon-${pkgver}"
+ make DESTDIR="${pkgdir}" install
}
-# Local Variables:
-# mode: shell-script
-# sh-basic-offset: 2
-# End:
-# vim:set ts=2 sw=2 et:
+# vim: ts=2 sw=2 et:
diff --git a/abs/core/perl_modules/perl-http-date/PKGBUILD b/abs/core/perl_modules/perl-http-date/PKGBUILD
index 20ea327..245a8cf 100644
--- a/abs/core/perl_modules/perl-http-date/PKGBUILD
+++ b/abs/core/perl_modules/perl-http-date/PKGBUILD
@@ -1,51 +1,30 @@
-# Maintainer : Justin "juster" Davis <jrcd83@gmail.com>
-# Generator : pbjam 0.01
-# $Id: PKGBUILD 150639 2012-02-19 01:23:42Z allan $
+# $Id$
+# Maintainer:
pkgname=perl-http-date
-pkgver=6.01
-pkgrel=1
-pkgdesc="date conversion routines"
-arch=(any)
-license=(PerlArtistic GPL)
+pkgver=6.02
+pkgrel=4
+pkgdesc="Date conversion routines"
+arch=('any')
+url="http://search.cpan.org/dist/HTTP-Date"
+license=('PerlArtistic' 'GPL')
+depends=('perl')
options=('!emptydirs')
-depends=('perl>=5.8.8')
-makedepends=()
-checkdepends=()
-conflicts=('perl-libwww<6')
-url=http://search.cpan.org/dist/HTTP-Date
-source=(http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTTP-Date-6.00.tar.gz)
-md5sums=('41b875ac89c14d7f66515b52cdd12acd')
-sha512sums=('7101f30a8a3ac333d37d1c4120c3202ebeb961e742cbecd6b4af140fe575da09c3a3e5be3a2c96e8e33fa2d1e29b10abea59434c2c227d9b6386c306a377f81c')
-_distdir="${srcdir}/HTTP-Date-6.00"
+source=(http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTTP-Date-$pkgver.tar.gz)
+sha1sums=('85f8dbcad22f2680775a185ce91a42c89e0ad2a8')
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
- )
+ cd HTTP-Date-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
}
check() {
- ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
- cd "$_distdir"
- make test
- )
+ cd HTTP-Date-$pkgver
+ make test
}
package() {
- cd "$_distdir"
- make DESTDIR="$pkgdir" install
+ cd HTTP-Date-$pkgver
+ make DESTDIR="$pkgdir" install
}
-
-# Local Variables:
-# mode: shell-script
-# sh-basic-offset: 2
-# End:
-# vim:set ts=2 sw=2 et:
diff --git a/abs/core/perl_modules/perl-http-message/PKGBUILD b/abs/core/perl_modules/perl-http-message/PKGBUILD
index a743973..2378918 100644
--- a/abs/core/perl_modules/perl-http-message/PKGBUILD
+++ b/abs/core/perl_modules/perl-http-message/PKGBUILD
@@ -1,52 +1,37 @@
-# Maintainer : Justin "juster" Davis <jrcd83@gmail.com>
-# Generator : pbjam 0.01
-# $Id: PKGBUILD 150641 2012-02-19 01:25:44Z allan $
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Justin "juster" Davis <jrcd83@gmail.com>
+# Generator : pbjam 0.01
pkgname=perl-http-message
-pkgver=6.03
+pkgver=6.16
pkgrel=1
pkgdesc="HTTP style messages"
-arch=(any)
-license=(PerlArtistic GPL)
+arch=('any')
+url='http://search.cpan.org/dist/HTTP-Message'
+license=('PerlArtistic' 'GPL')
options=('!emptydirs')
-depends=('perl>=5.8.8' 'perl-encode-locale>=1' 'perl-html-parser>=3.33'
- 'perl-http-date>=6' 'perl-lwp-mediatypes>=6' 'perl-uri>=1.10')
-makedepends=()
-checkdepends=()
+depends=('perl' 'perl-encode-locale' 'perl-http-date' 'perl-lwp-mediatypes' 'perl-uri'
+ 'perl-io-html')
+makedepends=('perl-try-tiny')
conflicts=('perl-libwww<6')
-url=http://search.cpan.org/dist/HTTP-Message
-source=(http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTTP-Message-6.02.tar.gz)
-md5sums=('a6b28e44f7b5e5573362f042d522a456')
-sha512sums=('1091346307bf063ea6a65ddc8811da368d6080a11776fa5c4dc9df6beb9c8bc8cbe512fd711d44c43d4bd90a65c7195a1d3d5ed10257ef1e17d2145971d89c3c')
-_distdir="${srcdir}/HTTP-Message-6.02"
+source=("http://search.cpan.org/CPAN/authors/id/O/OA/OALDERS/HTTP-Message-$pkgver.tar.gz")
+sha512sums=('9dae693623fa81a0d62ec66fa59b71f5cdbdae6b3146617632b4de0dfa2bbe9eb0a51cf0e98e1ababd85aad97510b469da64ec2254d09bb89461412099344128')
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
- )
+ cd HTTP-Message-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
}
check() {
- ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
- cd "$_distdir"
- make test
- )
+ cd HTTP-Message-$pkgver
+ make test
}
package() {
- cd "$_distdir"
- make DESTDIR="$pkgdir" install
+ cd HTTP-Message-$pkgver
+ make DESTDIR="$pkgdir" install
}
-# Local Variables:
-# mode: shell-script
-# sh-basic-offset: 2
-# End:
# vim:set ts=2 sw=2 et:
diff --git a/abs/core/perl_modules/perl-http-negotiate/PKGBUILD b/abs/core/perl_modules/perl-http-negotiate/PKGBUILD
index 850f45a..c12a54c 100644
--- a/abs/core/perl_modules/perl-http-negotiate/PKGBUILD
+++ b/abs/core/perl_modules/perl-http-negotiate/PKGBUILD
@@ -1,51 +1,30 @@
-# Maintainer : Justin "juster" Davis <jrcd83@gmail.com>
-# Generator : pbjam 0.01
-# $Id: PKGBUILD 150643 2012-02-19 01:27:33Z allan $
+# $Id$
+# Maintainer:
pkgname=perl-http-negotiate
pkgver=6.01
-pkgrel=1
-pkgdesc="choose a variant to serve"
-arch=(any)
-license=(PerlArtistic GPL)
+pkgrel=4
+pkgdesc="Choose a variant to serve"
+arch=('any')
+url="http://search.cpan.org/dist/HTTP-Negotiate"
+license=('PerlArtistic' 'GPL')
+depends=('perl' 'perl-http-message')
options=('!emptydirs')
-depends=('perl>=5.8.8' 'perl-http-message')
-makedepends=()
-checkdepends=()
-conflicts=('perl-libwww<6')
-url=http://search.cpan.org/dist/HTTP-Negotiate
-source=(http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTTP-Negotiate-6.00.tar.gz)
-md5sums=('f2d89957d1c4f62a86f18b08e07c2328')
-sha512sums=('d608fa0a9a0866c5d934561ea1a13844bab0d27d4ac332f5174e19c768e01675c6562d6bc4c4e4a5530c5a83de8b1edefa002ce42534217eba5a6d4edd779e74')
-_distdir="${srcdir}/HTTP-Negotiate-6.00"
+source=(http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTTP-Negotiate-$pkgver.tar.gz)
+sha1sums=('4a4974639d9b64f7132cb075f551f7293f788c62')
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
- )
+ cd HTTP-Negotiate-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
}
check() {
- ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
- cd "$_distdir"
- make test
- )
+ cd HTTP-Negotiate-$pkgver
+ make test
}
package() {
- cd "$_distdir"
- make DESTDIR="$pkgdir" install
+ cd HTTP-Negotiate-$pkgver
+ make DESTDIR="$pkgdir" install
}
-
-# Local Variables:
-# mode: shell-script
-# sh-basic-offset: 2
-# End:
-# vim:set ts=2 sw=2 et:
diff --git a/abs/core/perl_modules/perl-http-response-encoding/PKGBUILD b/abs/core/perl_modules/perl-http-response-encoding/PKGBUILD
index be9c20e..c65927c 100644
--- a/abs/core/perl_modules/perl-http-response-encoding/PKGBUILD
+++ b/abs/core/perl_modules/perl-http-response-encoding/PKGBUILD
@@ -1,28 +1,29 @@
-# $Id: PKGBUILD 3654 2009-10-07 08:13:13Z spupykin $
-# Maintainer: Allan McRae <allan@archlinux.org>
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Mladen Pejakovic <pejakm@gmail.com>
pkgname=perl-http-response-encoding
pkgver=0.06
-pkgrel=1
+pkgrel=4
pkgdesc="Adds encoding to HTTP::Response"
-arch=(any)
+arch=('any')
url="http://search.cpan.org/dist/HTTP-Response-Encoding"
license=('GPL' 'PerlArtistic')
depends=('perl-libwww')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/D/DA/DANKOGAI/HTTP-Response-Encoding-$pkgver.tar.gz)
-md5sums=('7e1d46f2d88022580e1a18bb7ac4ab71')
+source=("https://www.cpan.org/authors/id/D/DA/DANKOGAI/HTTP-Response-Encoding-$pkgver.tar.gz")
+sha256sums=('10167b8e238a682004ab0d7accbe9d76eae2db57af07c5ae2dfa808074a4a8aa')
build() {
- cd $srcdir/HTTP-Response-Encoding-$pkgver
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
- make || return 1
+ cd "${srcdir}"/HTTP-Response-Encoding-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
}
+
package() {
- cd $srcdir/HTTP-Response-Encoding-$pkgver
- make install DESTDIR=$pkgdir || return 1
- find $startdir/pkg -name '.packlist' -delete
- find $startdir/pkg -name '*.pod' -delete
+ cd "${srcdir}"/HTTP-Response-Encoding-$pkgver
+ make install DESTDIR="${pkgdir}"
+ find "${pkgdir}" -name '.packlist' -delete
+ find "${pkgdir}" -name '*.pod' -delete
}
-
diff --git a/abs/core/perl_modules/perl-http-server-simple/PKGBUILD b/abs/core/perl_modules/perl-http-server-simple/PKGBUILD
index 33dd3f3..06ba6de0 100644
--- a/abs/core/perl_modules/perl-http-server-simple/PKGBUILD
+++ b/abs/core/perl_modules/perl-http-server-simple/PKGBUILD
@@ -1,24 +1,29 @@
-# $Id: PKGBUILD 56432 2011-10-07 09:57:00Z spupykin $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-http-server-simple
-pkgver=0.44
+pkgver=0.52
pkgrel=1
-pkgdesc="Lightweight HTTP server "
+pkgdesc="Lightweight HTTP server"
arch=(any)
url="http://search.cpan.org/dist/HTTP-Server-Simple"
license=('GPL' 'PerlArtistic')
depends=('perl-uri')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/J/JE/JESSE/HTTP-Server-Simple-$pkgver.tar.gz)
-md5sums=('70d4ae98affb9e921ab1478bbdffca3b')
+source=(http://search.cpan.org/CPAN/authors/id/B/BP/BPS/HTTP-Server-Simple-$pkgver.tar.gz)
+sha256sums=('d8939fa4f12bd6b8c043537fd0bf96b055ac3686b9cdd9fa773dca6ae679cb4c')
build() {
- cd $srcdir/HTTP-Server-Simple-$pkgver
+ cd "$srcdir"/HTTP-Server-Simple-$pkgver
+ PERL_USE_UNSAFE_INC=1 \
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
- make install DESTDIR=$pkgdir
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+}
+
+package() {
+ cd "$srcdir"/HTTP-Server-Simple-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-image-size/PKGBUILD b/abs/core/perl_modules/perl-image-size/PKGBUILD
index db516ac..701e744 100644
--- a/abs/core/perl_modules/perl-image-size/PKGBUILD
+++ b/abs/core/perl_modules/perl-image-size/PKGBUILD
@@ -1,12 +1,12 @@
-# $Id: PKGBUILD 73855 2012-07-16 05:43:31Z spupykin $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: <francois . archlinux . org>
# Contributor: Lukas Jirkovsky <l.jirkovsky@gmail.com>
# Contributor: Igor Scabini <furester@gmail.com>
pkgname=perl-image-size
-pkgver=3.232
-pkgrel=1
+pkgver=3.300
+pkgrel=2
pkgdesc="Read the dimensions of an image in several popular formats"
arch=(any)
url="http://search.cpan.org/dist/Image-Size/"
@@ -14,16 +14,16 @@ license=('LGPL' 'PerlArtistic')
depends=('perl')
options=('!emptydirs')
source=("http://search.cpan.org/CPAN/authors/id/R/RJ/RJRAY/Image-Size-$pkgver.tar.gz")
-md5sums=('908db185487fabdd293f7759113b3a49')
+md5sums=('c8f7f5097cadb984e57e9c0cad1f16b3')
build() {
- cd $srcdir/Image-Size-$pkgver
+ cd "$srcdir"/Image-Size-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
}
package() {
- cd $srcdir/Image-Size-$pkgver
+ cd "$srcdir"/Image-Size-$pkgver
make install DESTDIR="$pkgdir"
find "$pkgdir" -name '.packlist' -delete
find "$pkgdir" -name '*.pod' -delete
diff --git a/abs/core/perl_modules/perl-inc-latest/PKGBUILD b/abs/core/perl_modules/perl-inc-latest/PKGBUILD
new file mode 100644
index 0000000..61b042b
--- /dev/null
+++ b/abs/core/perl_modules/perl-inc-latest/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgname=perl-inc-latest
+pkgver=0.500
+pkgrel=4
+pkgdesc="Build, test, and install Perl modules"
+arch=('any')
+url="https://github.com/dagolden/inc-latest"
+license=('Apache')
+depends=('perl')
+checkdepends=('perl-cpan-meta')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/inc-latest-$pkgver.tar.gz")
+sha512sums=('b312d1dfce963322796bc0127f0ecd82c12baacf9e5df40d9acc093221edd80f3696ce6d9f185ed24b21983147363d1d0ff3e273b8b5ce7559a6f16983a1385c')
+
+build() {
+ cd inc-latest-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd inc-latest-$pkgver
+ make test
+}
+
+package() {
+ cd inc-latest-$pkgver
+ make install DESTDIR="$pkgdir"
+}
diff --git a/abs/core/perl_modules/perl-io-captureoutput/PKGBUILD b/abs/core/perl_modules/perl-io-captureoutput/PKGBUILD
new file mode 100644
index 0000000..b984df5
--- /dev/null
+++ b/abs/core/perl_modules/perl-io-captureoutput/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Simon Perry <aur [at] sanxion [dot] net>
+# Contributor: Anonymous
+# Generator : CPANPLUS::Dist::Arch 1.29
+
+pkgname=perl-io-captureoutput
+pkgver=1.1104
+pkgrel=3
+pkgdesc="capture STDOUT and STDERR from Perl code, subprocesses or XS"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl')
+url="http://search.cpan.org/dist/IO-CaptureOutput"
+source=("http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/IO-CaptureOutput-$pkgver.tar.gz")
+sha512sums=('5694635c91e4dd11279c33fb9d58e2eb27014f4ea0a976e62c23505524e3d37264aab6d6b1cfe5d925e123d6aa240e574dbc4f489c6c1007da09631368af94f5')
+
+build() {
+ cd IO-CaptureOutput-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd IO-CaptureOutput-$pkgver
+ make test
+}
+
+package() {
+ cd IO-CaptureOutput-$pkgver
+ make install DESTDIR="$pkgdir"
+}
diff --git a/abs/core/perl_modules/perl-io-html/PKGBUILD b/abs/core/perl_modules/perl-io-html/PKGBUILD
new file mode 100644
index 0000000..7a86226
--- /dev/null
+++ b/abs/core/perl_modules/perl-io-html/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+
+pkgname=perl-io-html
+pkgver=1.001
+pkgrel=3
+pkgdesc="Open an HTML file with automatic charset detection"
+arch=('any')
+url='http://search.cpan.org/dist/IO-HTML'
+depends=('perl')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/C/CJ/CJM/IO-HTML-$pkgver.tar.gz)
+sha1sums=('210b60f438502744c9c31a82329b19a6f9aecf63')
+
+build() {
+ export PERL_MM_USE_DEFAULT=1 PERL_MM_OPT="INSTALLDIRS=vendor" \
+ PERL_MB_OPT="--installdirs vendor"
+ cd IO-HTML-$pkgver
+ perl Makefile.PL
+ make
+}
+
+check() {
+ cd IO-HTML-$pkgver
+ make test
+}
+
+package() {
+ cd IO-HTML-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/abs/core/perl_modules/perl-io-socket-inet6/PKGBUILD b/abs/core/perl_modules/perl-io-socket-inet6/PKGBUILD
index 53dfb18..a51e163 100644
--- a/abs/core/perl_modules/perl-io-socket-inet6/PKGBUILD
+++ b/abs/core/perl_modules/perl-io-socket-inet6/PKGBUILD
@@ -2,8 +2,8 @@
# Generator : CPANPLUS::Dist::Arch 1.18
pkgname='perl-io-socket-inet6'
-pkgver=2.69
-pkgrel=1
+pkgver=2.72
+pkgrel=3
pkgdesc="Object interface for AF_INET|AF_INET6 domain sockets"
arch=('any')
license=('PerlArtistic' 'GPL')
@@ -12,15 +12,15 @@ depends=('perl-socket6>=0.12')
makedepends=()
url='http://search.cpan.org/dist/IO-Socket-INET6'
source=("http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/IO-Socket-INET6-$pkgver.tar.gz")
-md5sums=('12a80a5164a775294a9bf9c812fc3257')
-sha512sums=('be3398a64daafa0e90e6c66c6a51b94b4063f7fb6527fbb300f5ccd100770929b69b8472602117988cf0b452e4cfb857527861c272c8c0038b3e3efffac77cde')
-_distdir="${srcdir}/IO-Socket-INET6-$pkgver"
+md5sums=('510ddc1bd75a8340ca7226123fb545c1')
+sha512sums=('c6dc0bbcc81682d317597de26d5023de84781e4bd2af224145cc4980db7fcbc93295a7d0a80c1eaa649c6aebf4057d0b0159f47e6a6379d4b545b49305f28a37')
+_distdir="IO-Socket-INET6-$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'" \
+ PERL_MM_OPT="INSTALLDIRS=vendor" \
+ PERL_MB_OPT="--installdirs vendor" \
MODULEBUILDRC=/dev/null
cd "$_distdir"
@@ -38,7 +38,7 @@ check() {
package() {
cd "$_distdir"
- make install
+ make DESTDIR="$pkgdir" install
find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
}
diff --git a/abs/core/perl_modules/perl-io-socket-multicast/PKGBUILD b/abs/core/perl_modules/perl-io-socket-multicast/PKGBUILD
index 5bf7764..588e565 100644
--- a/abs/core/perl_modules/perl-io-socket-multicast/PKGBUILD
+++ b/abs/core/perl_modules/perl-io-socket-multicast/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=perl-io-socket-multicast
pkgver=1.12
-pkgrel=2
+pkgrel=3
pkgdesc="IO::Socket::Multicast - Object interface to socket communications for perl"
arch=('any')
license=('PerlArtistic' 'GPL')
diff --git a/abs/core/perl_modules/perl-io-socket-ssl/PKGBUILD b/abs/core/perl_modules/perl-io-socket-ssl/PKGBUILD
index e144c03..dbdd4f8 100644
--- a/abs/core/perl_modules/perl-io-socket-ssl/PKGBUILD
+++ b/abs/core/perl_modules/perl-io-socket-ssl/PKGBUILD
@@ -1,33 +1,31 @@
-# $Id: PKGBUILD 163575 2012-07-16 03:26:30Z eric $
-# Maintainer: Kevin Piche <kevin@archlinux.org>
-# Contributor: Manolis Tzanidakis
-# Contributor: Francois Charette <francois.archlinux.org>
+# $Id$
+# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=perl-io-socket-ssl
-_cpanname=IO-Socket-SSL
-pkgver=1.76
+pkgver=2.056
pkgrel=1
pkgdesc="Nearly transparent SSL encapsulation for IO::Socket::INET"
arch=('any')
license=('GPL' 'PerlArtistic')
-url="http://search.cpan.org/dist/${_cpanname}/"
-depends=('perl-net-ssleay' 'perl>=5.10.0')
+url="http://search.cpan.org/dist/IO-Socket-SSL/"
+depends=('perl-net-ssleay' 'perl' 'perl-uri')
+checkdepends=('perl-io-socket-inet6')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/S/SU/SULLR/${_cpanname}-${pkgver}.tar.gz)
-sha1sums=('b27cfff3b5cf03f223431317abda03d44d1a902d')
+source=(http://www.cpan.org/authors/id/S/SU/SULLR/IO-Socket-SSL-${pkgver}.tar.gz)
+sha1sums=('281b20a3b50294b4362a7a7b9c631dc5a0d04b4c')
build() {
- cd "${srcdir}/${_cpanname}-${pkgver}"
- perl Makefile.PL INSTALLDIRS=vendor
+ cd IO-Socket-SSL-${pkgver}
+ yes | perl Makefile.PL INSTALLDIRS=vendor
make
}
check() {
- cd "${srcdir}/${_cpanname}-${pkgver}"
+ cd IO-Socket-SSL-${pkgver}
make test
}
package() {
- cd "${srcdir}/${_cpanname}-${pkgver}"
- make install DESTDIR="${pkgdir}"
+ cd IO-Socket-SSL-${pkgver}
+ make DESTDIR="${pkgdir}" install
}
diff --git a/abs/core/perl_modules/perl-io-tee/PKGBUILD b/abs/core/perl_modules/perl-io-tee/PKGBUILD
new file mode 100644
index 0000000..3d2e3d4
--- /dev/null
+++ b/abs/core/perl_modules/perl-io-tee/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-io-tee
+pkgver=0.64
+pkgrel=7
+pkgdesc="Perl/CPAN Module IO::Tee : Multiplex output to multiple handles"
+arch=("any")
+url="http://search.cpan.org/dist/IO-Tee"
+license=("GPL" "PerlArtistic")
+source=("https://www.cpan.org/authors/id/K/KE/KENSHAN/IO-Tee-$pkgver.tar.gz")
+sha256sums=('3ed276b1c2d3511338653c2532e73753d284943c1a8f5159ff37fecc2b345ed6')
+
+build() {
+ cd "$srcdir"/IO-Tee-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd "$srcdir"/IO-Tee-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
+}
diff --git a/abs/core/perl_modules/perl-io-tty/PKGBUILD b/abs/core/perl_modules/perl-io-tty/PKGBUILD
index 540af17..0812643 100644
--- a/abs/core/perl_modules/perl-io-tty/PKGBUILD
+++ b/abs/core/perl_modules/perl-io-tty/PKGBUILD
@@ -1,27 +1,34 @@
-# $Id: PKGBUILD 71803 2012-06-02 10:31:14Z bluewind $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Charles Mauch <cmauch@gmail.com>
pkgname=perl-io-tty
-pkgver=1.10
-pkgrel=2
+pkgver=1.12
+pkgrel=6
pkgdesc="Provide an interface to TTYs and PTYs"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://search.cpan.org/dist/IO-Tty/"
license=("GPL" "PerlArtistic")
depends=('glibc')
options=('!emptydirs')
source=("http://search.cpan.org/CPAN/authors/id/T/TO/TODDR/IO-Tty-$pkgver.tar.gz")
-md5sums=('46baec86a145e57f0ec661fa412b097c')
+md5sums=('11695a1a516b3bd1b90ce75ff0ce3e6d')
build() {
- cd $srcdir/IO-Tty-$pkgver
+ cd "$srcdir"/IO-Tty-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
}
-package(){
- cd $srcdir/IO-Tty-$pkgver
- make install DESTDIR=$pkgdir
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+package() {
+ cd "$srcdir"/IO-Tty-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
+# 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/core/perl_modules/perl-ipc-run3/PKGBUILD b/abs/core/perl_modules/perl-ipc-run3/PKGBUILD
new file mode 100644
index 0000000..e5d240e
--- /dev/null
+++ b/abs/core/perl_modules/perl-ipc-run3/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id$
+# Maintainer: Rémy Oudompheng <remy@archlinux.org>
+# Contributor: John D Jones III <jnbek1972 -_AT_- g m a i l -_Dot_- com>
+# Generator : CPANPLUS::Dist::Arch 1.27
+
+pkgname='perl-ipc-run3'
+_dist=IPC-Run3
+pkgver=0.048
+pkgrel=4
+pkgdesc="run a subprocess with input/ouput redirection"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl')
+makedepends=()
+url='http://search.cpan.org/dist/IPC-Run3'
+source=("http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/${_dist}-${pkgver}.tar.gz")
+md5sums=('5a8cec571c51a118b265cf6e24e55761')
+sha512sums=('50432850d8dccd2e59aa6684d34f3e3242fd7df3eb4d9a5eb02dae389aa46b5fd68cc54114a157c3fe99956e68e74d575ab3db5009b7bf7d5c325f1f109b1262')
+
+build() {
+ cd "${srcdir}/${_dist}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
+ perl Makefile.PL
+ make
+}
+
+check() {
+ cd "${srcdir}/${_dist}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1
+ make test
+}
+
+package() {
+ cd "${srcdir}/${_dist}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ make install INSTALLDIRS=vendor DESTDIR="$pkgdir"
+}
+
diff --git a/abs/core/perl_modules/perl-ipc-system-simple/PKGBUILD b/abs/core/perl_modules/perl-ipc-system-simple/PKGBUILD
index 80143e2..f970139 100644
--- a/abs/core/perl_modules/perl-ipc-system-simple/PKGBUILD
+++ b/abs/core/perl_modules/perl-ipc-system-simple/PKGBUILD
@@ -1,27 +1,31 @@
-# $Id: PKGBUILD 150564 2012-02-18 14:45:45Z pierre $
+# $Id$
# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Caleb Cushing <xenoterracide@gmail.com>
pkgname=perl-ipc-system-simple
-_realname=IPC-System-Simple
-pkgver=1.21
-pkgrel=2
+pkgver=1.25
+pkgrel=3
pkgdesc="Run commands simply, with detailed diagnostics"
arch=('any')
+url="http://search.cpan.org/dist/IPC-System-Simple"
license=('PerlArtistic' 'GPL')
depends=('perl')
-url="http://search.cpan.org/dist/IPC-System-Simple"
options=('!emptydirs')
-source=("http://search.cpan.org/CPAN/authors/id/P/PJ/PJF/$_realname-$pkgver.tar.gz")
-md5sums=('8215b62fe1b8447b99e17861e2255288')
+source=("http://search.cpan.org/CPAN/authors/id/P/PJ/PJF/IPC-System-Simple-$pkgver.tar.gz")
+md5sums=('fb49e674e1d52e8e5646d08507d7fda5')
build() {
- cd "$srcdir/$_realname-$pkgver"
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ cd IPC-System-Simple-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
make
}
+check() {
+ cd IPC-System-Simple-$pkgver
+ make test
+}
+
package() {
- cd "$srcdir/$_realname-$pkgver"
+ cd IPC-System-Simple-$pkgver
make DESTDIR="$pkgdir" install
}
diff --git a/abs/core/perl_modules/perl-json/PKGBUILD b/abs/core/perl_modules/perl-json/PKGBUILD
index fa245f6..426bc3d 100644
--- a/abs/core/perl_modules/perl-json/PKGBUILD
+++ b/abs/core/perl_modules/perl-json/PKGBUILD
@@ -1,28 +1,28 @@
-# $Id: PKGBUILD 65872 2012-02-22 13:12:45Z spupykin $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-json
-pkgver=2.53
-pkgrel=2
+pkgver=2.97001
+pkgrel=1
pkgdesc="JSON (JavaScript Object Notation) encoder/decoder"
arch=('any')
url="http://search.cpan.org/dist/JSON"
license=('GPL' 'PerlArtistic')
depends=('perl>=5.10.0')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/M/MA/MAKAMAKA/JSON-$pkgver.tar.gz)
-md5sums=('7db1be00d44414c4962eeac222395a76')
+source=(http://search.cpan.org/CPAN/authors/id/I/IS/ISHIGAKI/JSON-$pkgver.tar.gz)
+sha256sums=('e277d9385633574923f48c297e1b8acad3170c69fa590e31fa466040fc6f8f5a')
build() {
- cd $srcdir/JSON-$pkgver
+ cd "$srcdir"/JSON-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
}
package() {
- cd $srcdir/JSON-$pkgver
- make install DESTDIR=$pkgdir
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+ cd "$srcdir"/JSON-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-libwww/PKGBUILD b/abs/core/perl_modules/perl-libwww/PKGBUILD
index 8aec958..e5a1593 100644
--- a/abs/core/perl_modules/perl-libwww/PKGBUILD
+++ b/abs/core/perl_modules/perl-libwww/PKGBUILD
@@ -1,53 +1,36 @@
-# Packager: Justin "juster" Davis <jrcd83@gmail.com>
-# $Id: PKGBUILD 150749 2012-02-21 19:40:54Z juster $
+# $Id$
+# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=perl-libwww
-pkgver=6.04
+pkgver=6.33
pkgrel=1
pkgdesc="The World-Wide Web library for Perl"
-arch=(any)
-license=(PerlArtistic GPL)
-options=(!emptydirs)
-depends=('perl>=5.8.1' 'perl-encode-locale' 'perl-file-listing>=6'
- 'perl-html-parser' 'perl-http-cookies>=6' 'perl-http-daemon>=6'
- 'perl-http-date>=6' 'perl-http-negotiate>=6' 'perl-lwp-mediatypes>=6'
- 'perl-net-http>=6' 'perl-uri>=1.10' 'perl-www-robotrules>=6'
- 'perl-http-message>=6')
+arch=('any')
+url="https://metacpan.org/release/libwww-perl"
+license=('PerlArtistic' 'GPL')
+depends=('perl' 'perl-encode-locale' 'perl-file-listing'
+ 'perl-html-parser' 'perl-http-cookies' 'perl-http-daemon'
+ 'perl-http-date' 'perl-http-negotiate' 'perl-lwp-mediatypes'
+ 'perl-net-http' 'perl-uri' 'perl-www-robotrules'
+ 'perl-http-message' 'perl-try-tiny')
optdepends=('perl-lwp-protocol-https: for https:// url schemes')
-url=https://metacpan.org/release/libwww-perl
-source=("http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/libwww-perl-${pkgver}.tar.gz")
-md5sums=(24acf2fe33b2295f048f8859e9665ee3)
-sha512sums=(9ea578e6da99e4002a35ae82d1ee025caf15b3bc7e40fbe71abd7e8592036f16bd0268453dfeedc2c445d957c45ec473b1ed4a1738b644d475d65f7cbdb6927b)
-_distdir="${srcdir}/libwww-perl-${pkgver}"
+checkdepends=('perl-test-fatal' 'perl-test-requiresinternet')
+options=('!emptydirs')
+source=(https://cpan.metacpan.org/authors/id/O/OA/OALDERS/libwww-perl-${pkgver}.tar.gz)
+sha1sums=('915f4afeb91269aea3476e408a3af7904c5361e4')
-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
-)
+build() {
+ cd libwww-perl-${pkgver}
+ perl Makefile.PL --aliases INSTALLDIRS=vendor
+ make
+}
-check()
-(
- export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
- cd "$_distdir"
- make test
-)
+check() {
+ cd libwww-perl-${pkgver}
+ make test
+}
package() {
- cd "$_distdir"
- make DESTDIR="$pkgdir" install
- find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+ cd libwww-perl-${pkgver}
+ make DESTDIR="$pkgdir" install
}
-
-# Local Variables:
-# mode: shell-script
-# sh-basic-offset: 2
-# End:
-# vim:set ts=2 sw=2 et:
diff --git a/abs/core/perl_modules/perl-lingua-en-numbers-ordinate/PKGBUILD b/abs/core/perl_modules/perl-lingua-en-numbers-ordinate/PKGBUILD
index fb62569..5ba0610 100644
--- a/abs/core/perl_modules/perl-lingua-en-numbers-ordinate/PKGBUILD
+++ b/abs/core/perl_modules/perl-lingua-en-numbers-ordinate/PKGBUILD
@@ -1,25 +1,29 @@
-# $Id: PKGBUILD 65879 2012-02-22 13:16:53Z spupykin $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Allan McRae <mcrae_allan@hotmail.com>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-lingua-en-numbers-ordinate
-pkgver=1.02
-pkgrel=4
+pkgver=1.04
+pkgrel=2
pkgdesc="Go from cardinal (53) to ordinal (53rd)"
arch=('any')
url="http://search.cpan.org/dist/Lingua-EN-Numbers-Ordinate"
license=('GPL' 'PerlArtistic')
depends=('perl>=5.10.0')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/S/SB/SBURKE/Lingua-EN-Numbers-Ordinate-$pkgver.tar.gz)
-md5sums=('e92078fafd9108a137972c4e9bae9e99')
+source=(http://search.cpan.org/CPAN/authors/id/N/NE/NEILB/Lingua-EN-Numbers-Ordinate-$pkgver.tar.gz)
+md5sums=('8d98839010f7f5cb3b2f593d2e00b505')
build() {
- cd $srcdir/Lingua-EN-Numbers-Ordinate-$pkgver
+ cd "$srcdir"/Lingua-EN-Numbers-Ordinate-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
- make install DESTDIR=$pkgdir
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+}
+
+package() {
+ cd "$srcdir"/Lingua-EN-Numbers-Ordinate-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-lingua-preferred/PKGBUILD b/abs/core/perl_modules/perl-lingua-preferred/PKGBUILD
index fa99326..1b450ba 100644
--- a/abs/core/perl_modules/perl-lingua-preferred/PKGBUILD
+++ b/abs/core/perl_modules/perl-lingua-preferred/PKGBUILD
@@ -1,25 +1,29 @@
-# $Id: PKGBUILD 65881 2012-02-22 13:17:22Z spupykin $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Allan McRae <mcrae_allan@hotmail.com>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-lingua-preferred
pkgver=0.2.4
-pkgrel=4
+pkgrel=6
pkgdesc="Pick a language based on user's preferences"
arch=('any')
url="http://search.cpan.org/dist/Lingua-Preferred"
license=('GPL' 'PerlArtistic')
depends=('perl>=5.10.0')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/E/ED/EDAVIS/Lingua-Preferred-$pkgver.tar.gz)
-md5sums=('37e883fafb05b1439de1121f41e8ad75')
+source=(https://www.cpan.org/authors/id/E/ED/EDAVIS/Lingua-Preferred-$pkgver.tar.gz)
+sha256sums=('fa58c4fac6b676f78caad6b472a785dd0c8fa67004a62294fbcfa3a3eb243c83')
build() {
- cd $srcdir/Lingua-Preferred-$pkgver
+ cd "$srcdir"/Lingua-Preferred-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
- make install DESTDIR=$pkgdir
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+}
+
+package() {
+ cd "$srcdir"/Lingua-Preferred-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-list-allutils/PKGBUILD b/abs/core/perl_modules/perl-list-allutils/PKGBUILD
new file mode 100644
index 0000000..2a14d9d
--- /dev/null
+++ b/abs/core/perl_modules/perl-list-allutils/PKGBUILD
@@ -0,0 +1,39 @@
+# CPAN Name : List::AllUtils
+# Contributor: Anton Leontiev <bunder /at/ t-25.ru>
+# Generator : CPANPLUS::Dist::Arch 1.29
+
+pkgname=perl-list-allutils
+pkgver=0.14
+pkgrel=4
+pkgdesc='Perl package that combines List::Util and List::MoreUtils in one bite-sized package'
+arch=('any')
+url='http://search.cpan.org/dist/List-AllUtils'
+license=('Artistic2.0')
+depends=('perl>=5.19.3' 'perl-list-moreutils>=0.28' 'perl-scalar-list-utils>=1.45'
+ 'perl-list-someutils' 'perl-list-utilsby')
+checkdepends=('perl-test-warnings')
+source=(http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/List-AllUtils-$pkgver.tar.gz)
+options=(!emptydirs)
+sha256sums=('e45aa65927ae1975a000cc2fed14274627fa5e2bd09bab826a5f2c41d17ef6cd')
+
+build() {
+ cd List-AllUtils-$pkgver
+ unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
+ /usr/bin/perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd List-AllUtils-$pkgver
+ unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1
+ make test
+}
+
+package() {
+ cd List-AllUtils-$pkgver
+ unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+}
diff --git a/abs/core/perl_modules/perl-list-compare/PKGBUILD b/abs/core/perl_modules/perl-list-compare/PKGBUILD
index 7480b98..66d3162 100644
--- a/abs/core/perl_modules/perl-list-compare/PKGBUILD
+++ b/abs/core/perl_modules/perl-list-compare/PKGBUILD
@@ -1,26 +1,33 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Cecil H. Watson <knoppmyth@gmail.com>
+# Maintainer: Simon Perry <aur [at] sanxion [dot] net>
+# Contributor: Anton Bazhenov <anton.bazhenov at gmail>
pkgname=perl-list-compare
-_realname=List-Compare
-pkgver=0.37
+_pkgname=List-Compare
+pkgver=0.53
pkgrel=2
-pkgdesc="List::Compare - Compare elements of two or more lists"
-arch=(i686 x86_64)
-license=('PerlArtistic')
-url="http://search.cpan.org/dist/${_realname}/"
-depends=('perlxml' 'perl>=5.10.0')
-groups=('shepherd-dep')
+pkgdesc="Compare elements of two or more lists"
+arch=('any')
+url="http://search.cpan.org/~JKEENAN/List-Compare/"
+license=('GPL' 'PerlArtistic')
+makedepends=('perl-io-captureoutput')
+depends=('perl')
options=('!emptydirs')
-source=(ftp://ftp.cpan.org/pub/CPAN/authors/id/J/JK/JKEENAN/${_realname}-${pkgver}.tar.gz)
-md5sums=('7c730dd58cc31a5bbb8eb7006edd1704')
+source=(http://search.cpan.org/CPAN/authors/id/J/JK/JKEENAN/${_pkgname}-$pkgver.tar.gz)
+sha256sums=('fdbf4ff67b3135d44475fef7fcac0cd4706407d5720d26dca914860eb10f8550')
build() {
- cd ${startdir}/src/${_realname}-${pkgver}
- perl Makefile.PL INSTALLDIRS=vendor || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ cd $srcdir/${_pkgname}-$pkgver
- find ${startdir}/pkg -name '.packlist' -delete
- find ${startdir}/pkg -name 'perllocal.pod' -delete
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
}
+
+package() {
+ cd $srcdir/${_pkgname}-$pkgver
+
+ make DESTDIR=${pkgdir} install
+
+ find $pkgdir -name perllocal.pod -delete
+ find $pkgdir -name .packlist -delete
+}
+
diff --git a/abs/core/perl_modules/perl-list-moreutils-xs/PKGBUILD b/abs/core/perl_modules/perl-list-moreutils-xs/PKGBUILD
new file mode 100644
index 0000000..4256815
--- /dev/null
+++ b/abs/core/perl_modules/perl-list-moreutils-xs/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Justin "juster" Davis <jrcd83@gmail.com>
+# Generator : pbjam 0.01
+
+pkgname=perl-list-moreutils-xs
+pkgver=0.428
+pkgrel=1
+pkgdesc="Provide the stuff missing in List::Util"
+url='http://search.cpan.org/dist/List-MoreUtils-XS'
+arch=('x86_64')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl')
+source=("http://search.cpan.org/CPAN/authors/id/R/RE/REHSACK/List-MoreUtils-XS-${pkgver}.tar.gz")
+sha512sums=('a608568e3c4a2e160e4f9afa26640be5b97ec83e301a6b81849e37951698b9423c0a969d7e8797a49b4fb6c5123780630a3726c64713922b90b21b947682c3dd')
+
+build() {
+ cd "${srcdir}/List-MoreUtils-XS-${pkgver}"
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "${srcdir}/List-MoreUtils-XS-${pkgver}"
+ make test
+}
+
+package() {
+ cd "${srcdir}/List-MoreUtils-XS-${pkgver}"
+ make DESTDIR="$pkgdir" install
+
+# 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;
+}
+
+# Local Variables:
+# mode: shell-script
+# sh-basic-offset: 2
+# End:
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/perl_modules/perl-list-moreutils/PKGBUILD b/abs/core/perl_modules/perl-list-moreutils/PKGBUILD
index a7d80bb..5dc037d 100644
--- a/abs/core/perl_modules/perl-list-moreutils/PKGBUILD
+++ b/abs/core/perl_modules/perl-list-moreutils/PKGBUILD
@@ -1,22 +1,46 @@
-# Maintainer: François Charette <firmicus ατ gmx δοτ net>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Justin "juster" Davis <jrcd83@gmail.com>
+# Generator : pbjam 0.01
pkgname=perl-list-moreutils
-pkgver=0.22
+pkgver=0.428
pkgrel=1
pkgdesc="Provide the stuff missing in List::Util"
-arch=('i686' 'x86_64')
-url="http://search.cpan.org/~VPARSEVAL/List-MoreUtils"
-license=('GPL' 'PerlArtistic')
-depends=('perl>=5.10.0')
+arch=('any')
+license=('PerlArtistic' 'GPL')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/V/VP/VPARSEVAL/List-MoreUtils-$pkgver.tar.gz)
-md5sums=('3a6ec506f40662ab1296c48c5eb72016')
+depends=('perl-exporter-tiny' 'perl-list-moreutils-xs')
+url=http://search.cpan.org/dist/List-MoreUtils
+source=("http://search.cpan.org/CPAN/authors/id/R/RE/REHSACK/List-MoreUtils-${pkgver}.tar.gz")
+sha512sums=('f7e11f10f1d7bd3b8f9f8bc2fc325e1a9230056f68591da624aed01fb4e4cbac20caeae0c3e2aa3acc8b71febd6d4149284367f051d3c1e608e3a4ca8b62dbd8')
build() {
- cd $startdir/src/List-MoreUtils-$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
+ cd "${srcdir}/List-MoreUtils-${pkgver}"
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
}
+
+check() {
+ cd "${srcdir}/List-MoreUtils-${pkgver}"
+ make test
+}
+
+package() {
+ cd "${srcdir}/List-MoreUtils-${pkgver}"
+ make DESTDIR="$pkgdir" install
+
+# 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;
+}
+
+# Local Variables:
+# mode: shell-script
+# sh-basic-offset: 2
+# End:
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/perl_modules/perl-list-someutils/PKGBUILD b/abs/core/perl_modules/perl-list-someutils/PKGBUILD
new file mode 100644
index 0000000..e40fca7
--- /dev/null
+++ b/abs/core/perl_modules/perl-list-someutils/PKGBUILD
@@ -0,0 +1,38 @@
+# CPAN Name : List::AllUtils
+# Contributor: Anton Leontiev <bunder /at/ t-25.ru>
+# Generator : CPANPLUS::Dist::Arch 1.29
+
+pkgname=perl-list-someutils
+pkgver=0.56
+pkgrel=1
+pkgdesc='Perl package that combines List::Util and List::MoreUtils in one bite-sized package'
+arch=('any')
+url='http://search.cpan.org/dist/List-SomeUtils'
+license=('Artistic2.0')
+depends=('perl' 'perl-module-implementation')
+checkdepends=('perl-test-warnings')
+source=(http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/List-SomeUtils-$pkgver.tar.gz)
+options=(!emptydirs)
+sha256sums=('eaa7d99ce86380c0389876474c8eb84acc0a6bfeef1b0fc23a292592de6f89f7')
+
+build() {
+ cd List-SomeUtils-$pkgver
+ unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd List-SomeUtils-$pkgver
+ unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1
+ make test
+}
+
+package() {
+ cd List-SomeUtils-$pkgver
+ unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+}
diff --git a/abs/core/perl_modules/perl-list-utilsby/PKGBUILD b/abs/core/perl_modules/perl-list-utilsby/PKGBUILD
new file mode 100644
index 0000000..74c937d
--- /dev/null
+++ b/abs/core/perl_modules/perl-list-utilsby/PKGBUILD
@@ -0,0 +1,44 @@
+# Maintainer: Maxwell Pray a.k.a. Synthead <synthead@gmail.com>
+
+pkgname=perl-list-utilsby
+_cpanname="List-UtilsBy"
+pkgver=0.11
+pkgrel=1
+pkgdesc="Higher-order list utility functions"
+arch=('any')
+url="http://search.cpan.org/~pevans/$_cpanname"
+license=('GPL' 'PerlArtistic')
+depends=('perl>=5.5.0')
+options=('!emptydirs')
+# Function to change to the working directory and set
+# environment variables to override undesired options.
+prepareEnvironment() {
+ cd "$srcdir/$_cpanname-$pkgver"
+ export \
+ PERL_MM_USE_DEFAULT=1 \
+ PERL_AUTOINSTALL=--skipdeps \
+ PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='"$pkgdir"'" \
+ PERL_MB_OPT="--installdirs vendor --destdir '"$pkgdir"'" \
+ MODULEBUILDRC=/dev/null
+}
+source=("http://search.cpan.org/CPAN/authors/id/P/PE/PEVANS/$_cpanname-$pkgver.tar.gz")
+sha256sums=('faddf43b4bc21db8e4c0e89a26e5f23fe626cde3491ec651b6aa338627f5775a')
+
+build() {
+ prepareEnvironment
+ /usr/bin/perl Makefile.PL
+ make
+}
+
+check() {
+ prepareEnvironment
+ make test
+}
+
+package() {
+ prepareEnvironment
+ make install
+
+ # Remove "perllocal.pod" and ".packlist".
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+}
diff --git a/abs/core/perl_modules/perl-locale-gettext/PKGBUILD b/abs/core/perl_modules/perl-locale-gettext/PKGBUILD
index e2bb2e3..22fede7 100644
--- a/abs/core/perl_modules/perl-locale-gettext/PKGBUILD
+++ b/abs/core/perl_modules/perl-locale-gettext/PKGBUILD
@@ -1,27 +1,24 @@
-# $Id: PKGBUILD 160541 2012-06-02 10:27:56Z bluewind $
+# $Id$
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Mark Rosenstand <mark@borkware.net>
# Contributor: Paul Mattal <paul@archlinux.org>
pkgname=perl-locale-gettext
-_realname=gettext
-pkgver=1.05
-pkgrel=9
+_realname=Locale-gettext
+pkgver=1.07
+pkgrel=5
pkgdesc="Permits access from Perl to the gettext() family of functions"
-arch=('i686' 'x86_64')
+arch=('x86_64')
license=('GPL' 'PerlArtistic')
url="http://search.cpan.org/dist/${_realname}/"
depends=('gettext' 'perl')
options=(!emptydirs)
-source=("http://search.cpan.org/CPAN/authors/id/P/PV/PVANDRY/${_realname}-${pkgver}.tar.gz"
- 'compatibility-with-POSIX-module.patch')
-md5sums=('f3d3f474a1458f37174c410dfef61a46'
- '854302f34d01a2f8ae739187788973dd')
+source=("http://search.cpan.org/CPAN/authors/id/P/PV/PVANDRY/${_realname}-${pkgver}.tar.gz")
+md5sums=('bc652758af65c24500f1d06a77415019')
build() {
cd "${srcdir}/${_realname}-${pkgver}"
- patch -Np1 -i ${srcdir}/compatibility-with-POSIX-module.patch
# install module in vendor directories.
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
@@ -40,4 +37,12 @@ package() {
# remove perllocal.pod and .packlist
find "${pkgdir}" -name perllocal.pod -delete
find "${pkgdir}" -name .packlist -delete
+
+# 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/core/perl_modules/perl-locale-gettext/compatibility-with-POSIX-module.patch b/abs/core/perl_modules/perl-locale-gettext/compatibility-with-POSIX-module.patch
deleted file mode 100644
index ad67551..0000000
--- a/abs/core/perl_modules/perl-locale-gettext/compatibility-with-POSIX-module.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/gettext.pm 2005-05-31 20:11:16.000000000 -0700
-+++ b/gettext.pm 2009-10-07 12:39:42.000000000 -0700
-@@ -32,6 +32,7 @@
- =cut
-
- use Carp;
-+use POSIX qw(:locale_h);
-
- require Exporter;
- require DynaLoader;
diff --git a/abs/core/perl_modules/perl-locale-maketext-lexicon/PKGBUILD b/abs/core/perl_modules/perl-locale-maketext-lexicon/PKGBUILD
index 9011337..65bbe42 100644
--- a/abs/core/perl_modules/perl-locale-maketext-lexicon/PKGBUILD
+++ b/abs/core/perl_modules/perl-locale-maketext-lexicon/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 56446 2011-10-07 10:01:16Z spupykin $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Charles Mauch <cmauch@gmail.com>
pkgname=perl-locale-maketext-lexicon
-pkgver=0.91
-pkgrel=1
+pkgver=1.00
+pkgrel=2
pkgdesc="Perl/CPAN Module Locale::Maketext::Lexicon : Use other catalog formats in Maketext"
arch=(any)
depends=(perl)
@@ -12,17 +12,17 @@ url="http://search.cpan.org/dist/Locale-Maketext-Lexicon"
license=("GPL" "PerlArtistic")
options=(!emptydirs)
source=("http://search.cpan.org/CPAN/authors/id/D/DR/DRTECH/Locale-Maketext-Lexicon-$pkgver.tar.gz")
-md5sums=('ead74d03d40c72cd52d4d70771bbd122')
+md5sums=('51acf0cb00cc01a2c8f560d74dd6c593')
build() {
- cd $srcdir/Locale-Maketext-Lexicon-$pkgver
+ cd "$srcdir"/Locale-Maketext-Lexicon-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
}
package() {
- cd $srcdir/Locale-Maketext-Lexicon-$pkgver
- make install DESTDIR=$pkgdir
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+ cd "$srcdir"/Locale-Maketext-Lexicon-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-log-dispatch/PKGBUILD b/abs/core/perl_modules/perl-log-dispatch/PKGBUILD
index bd2aaaf..a55fa02 100644
--- a/abs/core/perl_modules/perl-log-dispatch/PKGBUILD
+++ b/abs/core/perl_modules/perl-log-dispatch/PKGBUILD
@@ -1,23 +1,53 @@
-# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
-# Contributor: xduugu
+# Maintainer: Brian Bidulock <bidulock@Openss7.org>
+# Contributor: John D Jones III AKA jnbek <jnbek1972 -_AT_- g m a i l -_Dot_- com>
+# Generator : CPANPLUS::Dist::Arch 1.32
-pkgname=perl-log-dispatch
-pkgver=2.32
-pkgrel=1
-pkgdesc="Log messages to multiple outputs"
-arch=('i686' 'x86_64')
-url="http://search.cpan.org/~DROLSKY/Log-Dispatch"
-license=('GPL' 'PerlArtistic')
-depends=('perl-params-validate>=0.15')
+pkgname='perl-log-dispatch'
+pkgver='2.67'
+pkgrel='1'
+pkgdesc="Dispatches messages to one or more outputs"
+arch=('any')
+license=('PerlArtistic' 'GPL')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/D/DR/DROLSKY/Log-Dispatch-$pkgver.tar.gz)
+depends=('perl-devel-globaldestruction' 'perl-dist-checkconflicts>=0.02' 'perl-ipc-run3' 'perl-module-runtime' 'perl-params-validate>=1.03' 'perl>=5.006')
+makedepends=()
+checkdepends=('perl-test-fatal' 'perl-test-needs' 'perl-specio' 'perl-namespace-autoclean'
+ 'perl-eval-closure' 'perl-params-validationcompiler')
+url='https://metacpan.org/release/Log-Dispatch'
+source=("http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Log-Dispatch-${pkgver}.tar.gz")
+md5sums=('d68e256e80ca4e1482b86abf6bcee552')
+sha512sums=('ab03777800fa758a502e69b25669c3e4ae851d9dcf5f2f4d1a21a94cc61aca866ac361d2a5db3d22d19cb4d11da29ecec19935e29fcad40bb831fb27175846d6')
+_distdir="Log-Dispatch-${pkgver}"
build() {
- cd $startdir/src/Log-Dispatch-$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
+ ( 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 "$srcdir/$_distdir"
+ /usr/bin/perl Makefile.PL
+ make
+ )
+}
+
+check() {
+ cd "$srcdir/$_distdir"
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ make test
+ )
}
-md5sums=('4bcb3b0678e327d13f3aec7a8d4915af')
+
+package() {
+ cd "$srcdir/$_distdir"
+ make 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/core/perl_modules/perl-lwp-mediatypes/PKGBUILD b/abs/core/perl_modules/perl-lwp-mediatypes/PKGBUILD
index 625b2bd..f985f72 100644
--- a/abs/core/perl_modules/perl-lwp-mediatypes/PKGBUILD
+++ b/abs/core/perl_modules/perl-lwp-mediatypes/PKGBUILD
@@ -1,49 +1,30 @@
-# Packager: Justin "juster" Davis <jrcd83@gmail.com>
-# $Id: PKGBUILD 150744 2012-02-21 19:28:44Z juster $
+# $Id$
+# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=perl-lwp-mediatypes
pkgver=6.02
-pkgrel=1
-pkgdesc="guess media type for a file or a URL"
-arch=(any)
-license=(PerlArtistic GPL)
-options=(!emptydirs)
-depends=('perl>=5.6.2')
-conflicts=('perl-libwww<6')
-url=https://metacpan.org/release/LWP-MediaTypes
-source=("http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/LWP-MediaTypes-${pkgver}.tar.gz")
-md5sums=(8c5f25fb64b974d22aff424476ba13c9)
-sha512sums=(b2ad33fb2c6dd7afaa9b8dd2ed6a15b2ecc35d13bcdf5297ce1632ea77406def0840a24c5213187707b665f28cc9bbea5774bfd1a4070d1f6192e904f707b94e)
-_distdir="${srcdir}/LWP-MediaTypes-${pkgver}"
+pkgrel=4
+pkgdesc="Guess the media type of a file or a URL"
+arch=('any')
+url="https://metacpan.org/release/LWP-MediaTypes"
+depends=('perl')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/LWP-MediaTypes-${pkgver}.tar.gz)
+sha1sums=('f56891f4e718a5f1f16f09ae37d32e454095cbed')
-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
-)
+build() {
+ cd "${srcdir}/LWP-MediaTypes-${pkgver}"
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
-check()
-(
- export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
- cd "$_distdir"
- make test
-)
+check() {
+ cd "${srcdir}/LWP-MediaTypes-${pkgver}"
+ make test
+}
package() {
- cd "$_distdir"
- make DESTDIR="$pkgdir" install
- find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+ cd "${srcdir}/LWP-MediaTypes-${pkgver}"
+ make DESTDIR="$pkgdir" install
}
-
-# Local Variables:
-# mode: shell-script
-# sh-basic-offset: 2
-# End:
-# vim:set ts=2 sw=2 et:
diff --git a/abs/core/perl_modules/perl-lwp-protocol-https/PKGBUILD b/abs/core/perl_modules/perl-lwp-protocol-https/PKGBUILD
new file mode 100644
index 0000000..ac3518e
--- /dev/null
+++ b/abs/core/perl_modules/perl-lwp-protocol-https/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+
+pkgname=perl-lwp-protocol-https
+pkgver=6.07
+pkgrel=2
+pkgdesc="Provide https support for LWP::UserAgent"
+arch=('any')
+url="https://metacpan.org/release/LWP-Protocol-https"
+license=('PerlArtistic' 'GPL')
+depends=('ca-certificates' 'perl-io-socket-ssl' 'perl-net-http' 'perl-libwww')
+checkdepends=('perl-test-requiresinternet')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/O/OA/OALDERS/LWP-Protocol-https-$pkgver.tar.gz"
+ certs.patch)
+sha512sums=('4a07cd8a1c44e31781069a632a77f3af43747933420e831b4fd4a12faac7dc04f0c6b10ea773c3e14ecb66209a547b3587c0e3f481a55b9929db65f7b10343aa'
+ '7ee0ad7c40f526fb3ba1148f13f2601c11fe68c72b4aaf22b628709c2877b7d49ee6dc1c722bb091b97251d76fceec4a9b39dcf3778d7f19b79fdd8c5754a444')
+
+prepare() {
+ cd LWP-Protocol-https-${pkgver}
+ patch -p1 -i ../certs.patch
+}
+
+build() {
+ cd LWP-Protocol-https-${pkgver}
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd LWP-Protocol-https-${pkgver}
+ make test
+}
+
+package() {
+ cd LWP-Protocol-https-${pkgver}
+ make DESTDIR="$pkgdir" install
+}
diff --git a/abs/core/perl_modules/perl-lwp-protocol-https/certs.patch b/abs/core/perl_modules/perl-lwp-protocol-https/certs.patch
new file mode 100644
index 0000000..a2edc40
--- /dev/null
+++ b/abs/core/perl_modules/perl-lwp-protocol-https/certs.patch
@@ -0,0 +1,43 @@
+diff --git a/Makefile.PL.orig b/Makefile.PL
+index fc8ef4a..26313e2 100644
+--- a/Makefile.PL.orig
++++ b/Makefile.PL
+@@ -26,7 +26,6 @@ my %WriteMakefileArgs = (
+ 'LWP::UserAgent' => '6.06',
+ 'Net::HTTPS' => 6,
+ 'IO::Socket::SSL' => "1.54",
+- 'Mozilla::CA' => "20110101",
+ 'perl' => '5.008001',
+ },
+ },
+diff --git a/lib/LWP/Protocol/https.pm.orig b/lib/LWP/Protocol/https.pm
+index ed4d832..b8667cf 100644
+--- a/lib/LWP/Protocol/https.pm.orig
++++ b/lib/LWP/Protocol/https.pm
+@@ -25,25 +25,7 @@ sub _extra_sock_opts
+ }
+ if ($ssl_opts{SSL_verify_mode}) {
+ unless (exists $ssl_opts{SSL_ca_file} || exists $ssl_opts{SSL_ca_path}) {
+- eval {
+- require Mozilla::CA;
+- };
+- if ($@) {
+- if ($@ =~ /^Can't locate Mozilla\/CA\.pm/) {
+- $@ = <<'EOT';
+-Can't verify SSL peers without knowing which Certificate Authorities to trust
+-
+-This problem can be fixed by either setting the PERL_LWP_SSL_CA_FILE
+-environment variable or by installing the Mozilla::CA module.
+-
+-To disable verification of SSL peers set the PERL_LWP_SSL_VERIFY_HOSTNAME
+-environment variable to 0. If you do this you can't be sure that you
+-communicate with the expected peer.
+-EOT
+- }
+- die $@;
+- }
+- $ssl_opts{SSL_ca_file} = Mozilla::CA::SSL_ca_file();
++ $ssl_opts{SSL_ca_file} = '/etc/ssl/certs/ca-certificates.crt';
+ }
+ }
+ $self->{ssl_opts} = \%ssl_opts;
diff --git a/abs/core/perl_modules/perl-lwp-useragent-determined/PKGBUILD b/abs/core/perl_modules/perl-lwp-useragent-determined/PKGBUILD
new file mode 100644
index 0000000..ced3aec
--- /dev/null
+++ b/abs/core/perl_modules/perl-lwp-useragent-determined/PKGBUILD
@@ -0,0 +1,50 @@
+# Contributor: John D Jones III <j[nospace]n[nospace]b[nospace]e[nospace]k[nospace]1972 -_AT_- the domain name google offers a mail service at ending in dot com>
+# Generator : CPANPLUS::Dist::Arch 1.25
+
+pkgname='perl-lwp-useragent-determined'
+pkgver='1.06'
+pkgrel='1'
+pkgdesc="a virtual browser that retries errors"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl-libwww')
+makedepends=()
+url='http://search.cpan.org/dist/LWP-UserAgent-Determined'
+source=('http://search.cpan.org/CPAN/authors/id/J/JE/JESSE/LWP-UserAgent-Determined-1.06.tar.gz')
+md5sums=('3485fe63fba0b3f7d23370f5a31496dc')
+sha512sums=('05c85e923b7e2a643455242da2785743be6a1889200a1a922e81fd882943ad136cd4050d96e24af1b60000e264272e5b1fd04e95e8113923f412494adceb4f66')
+_distdir="LWP-UserAgent-Determined-1.06"
+
+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 "$srcdir/$_distdir"
+ /usr/bin/perl Makefile.PL
+ make
+ )
+}
+
+check() {
+ cd "$srcdir/$_distdir"
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ make test
+ )
+}
+
+package() {
+ cd "$srcdir/$_distdir"
+ make 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/core/perl_modules/perl-mailtools/PKGBUILD b/abs/core/perl_modules/perl-mailtools/PKGBUILD
index 117352a..cb7d453 100644
--- a/abs/core/perl_modules/perl-mailtools/PKGBUILD
+++ b/abs/core/perl_modules/perl-mailtools/PKGBUILD
@@ -1,28 +1,30 @@
-# $Id: PKGBUILD 140680 2011-10-18 03:11:21Z eric $
-# Maintainer: Kevin Piche <kevin@archlinux.org>
-# Contributor: Eric Johnson <eric@coding-zone.com>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgname=perl-mailtools
-_realname=MailTools
-pkgver=2.08
+pkgver=2.20
pkgrel=1
-pkgdesc="Perl module that provides email tools"
+pkgdesc="Various e-mail related modules"
arch=('any')
-url="http://search.cpan.org/dist/${_realname}/"
-license=('PerlArtistic')
-depends=('perl>=5.10.0')
+url="https://metacpan.org/release/MailTools"
+license=('PerlArtistic' 'GPL')
+depends=('perl-timedate')
options=('!emptydirs')
-source=(http://search.cpan.org/CPAN/authors/id/M/MA/MARKOV/${_realname}-${pkgver}.tar.gz)
-md5sums=('0245bf7985c6661e0cf31a59657a18f0')
+source=("http://search.cpan.org/CPAN/authors/id/M/MA/MARKOV/MailTools-$pkgver.tar.gz")
+sha512sums=('fb9a330c5b5795d68fc0e5bb6c5f1d7d525e8e1e87996f6fac7120e46bc22897c9f0c23f121866cb10d7ce4ffd9ac979b31602dbec379a8d15e8257a2c725a5e')
build() {
- cd "${srcdir}/${_realname}-${pkgver}"
- # install module in vendor directories.
+ cd MailTools-$pkgver
perl Makefile.PL INSTALLDIRS=vendor
make
}
+check() {
+ cd MailTools-$pkgver
+ make test
+}
+
package() {
- cd "${srcdir}/${_realname}-${pkgver}"
- make install DESTDIR="${pkgdir}"
+ cd MailTools-$pkgver
+ make DESTDIR="$pkgdir" install
}
diff --git a/abs/core/perl_modules/perl-math-round/PKGBUILD b/abs/core/perl_modules/perl-math-round/PKGBUILD
index 2881d28..dfd08b5 100644
--- a/abs/core/perl_modules/perl-math-round/PKGBUILD
+++ b/abs/core/perl_modules/perl-math-round/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 143938 2011-11-30 21:38:22Z giovanni $
+# $Id$
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-math-round
-pkgver=0.06
-pkgrel=5
+pkgver=0.07
+pkgrel=2
pkgdesc="Perl extension for rounding numbers"
arch=('any')
url="http://search.cpan.org/dist/Math-Round"
@@ -12,7 +12,7 @@ license=('GPL' 'PerlArtistic')
depends=('perl')
options=('!emptydirs')
source=("http://www.cpan.org/authors/id/G/GR/GROMMEL/Math-Round-$pkgver.tar.gz")
-md5sums=('552cef2753b246f97a6e20d8dee66e7c')
+md5sums=('b74c5d2a3f891c19dafd7ce638732fd1')
build() {
cd "${srcdir}/Math-Round-${pkgver}"
diff --git a/abs/core/perl_modules/perl-mime-charset/PKGBUILD b/abs/core/perl_modules/perl-mime-charset/PKGBUILD
new file mode 100644
index 0000000..ccbf46a
--- /dev/null
+++ b/abs/core/perl_modules/perl-mime-charset/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id$
+# Maintainer: Rémy Oudompheng <remy@archlinux.org>
+# Contributor: John D Jones III AKA jnbek <jnbek1972 -_AT_- g m a i l -_Dot_- com>
+# Generator : CPANPLUS::Dist::Arch 1.32
+
+pkgname='perl-mime-charset'
+_dist="MIME-Charset"
+pkgver='1.012.2'
+pkgrel=4
+pkgdesc="Charset Information for MIME"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl')
+checkdepends=('perl-test-pod')
+url='https://metacpan.org/release/MIME-Charset'
+source=("http://search.cpan.org/CPAN/authors/id/N/NE/NEZUMI/${_dist}-${pkgver}.tar.gz")
+md5sums=('71440416376248c31aa3bef753fae28d')
+sha512sums=('2273bf0b86eb042e5aa8bcf958eefefde7dce6701eea5ae8c0fe9997e7d3e90d837a7791ade30f84536a15116175c796daee60da6625f409d214844dfedfde4d')
+
+build() {
+ cd "${srcdir}/${_dist}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
+ perl Makefile.PL
+ make
+}
+
+check() {
+ cd "${srcdir}/${_dist}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1
+ make test
+}
+
+package() {
+ cd "${srcdir}/${_dist}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ make install INSTALLDIRS=vendor DESTDIR="$pkgdir"
+}
diff --git a/abs/core/perl_modules/perl-mime-lite/PKGBUILD b/abs/core/perl_modules/perl-mime-lite/PKGBUILD
index c0cfe7f..4685a91 100644
--- a/abs/core/perl_modules/perl-mime-lite/PKGBUILD
+++ b/abs/core/perl_modules/perl-mime-lite/PKGBUILD
@@ -1,38 +1,31 @@
-# $Id: PKGBUILD 151298 2012-02-25 13:17:16Z pierre $
+# $Id$
# Maintainer: kevin <kevin@archlinux.org>
# Contributor: Eric Johnson <eric@coding-zone.com>
pkgname=perl-mime-lite
-_realname=MIME-Lite
-pkgver=3.028
-pkgrel=1
+pkgver=3.030
+pkgrel=3
pkgdesc="Perl module that provides lightweight MIME generator"
arch=('any')
+url="http://search.cpan.org/dist/MIME-Lite/"
license=('GPL' 'PerlArtistic')
-url="http://search.cpan.org/dist/${_realname}/"
depends=('perl-email-date-format' 'perl-mailtools' 'perl-mime-types' 'perl')
options=('!emptydirs')
-source=("http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/${_realname}-${pkgver}.tar.gz")
-md5sums=('b24770b664db269a2a6e984f66c19fa7')
+source=("http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/MIME-Lite-${pkgver}.tar.gz")
+md5sums=('5a6d90329e049eee77248d667343acc7')
build() {
- cd ${srcdir}/${_realname}-${pkgver}
- # install module in vendor directories.
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ cd MIME-Lite-${pkgver}
+ perl Makefile.PL INSTALLDIRS=vendor
make
}
check() {
- cd ${srcdir}/${_realname}-${pkgver}
+ cd MIME-Lite-${pkgver}
make test
}
package() {
- cd ${srcdir}/${_realname}-${pkgver}
- make install DESTDIR=${pkgdir}
-
- # remove perllocal.pod and .packlist
- find ${pkgdir} -name perllocal.pod -delete
- find ${pkgdir} -name .packlist -delete
+ cd MIME-Lite-${pkgver}
+ make DESTDIR="${pkgdir}" install
}
-# vim: ts=2 sw=2 et ft=sh
diff --git a/abs/core/perl_modules/perl-mime-tools/PKGBUILD b/abs/core/perl_modules/perl-mime-tools/PKGBUILD
index 7ed81bb..d5e74a9 100644
--- a/abs/core/perl_modules/perl-mime-tools/PKGBUILD
+++ b/abs/core/perl_modules/perl-mime-tools/PKGBUILD
@@ -1,15 +1,17 @@
-# $Id: PKGBUILD 161352 2012-06-10 06:11:24Z giovanni $
-# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# $Id$
+# Maintainer: Thore Bödecker <foxxx0@archlinux.org>
+# Conntributor: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-mime-tools
-pkgver=5.503
-pkgrel=1
+pkgver=5.509
+pkgrel=5
pkgdesc="Parses streams to create MIME entities"
arch=('any')
-url="http://search.cpan.org/dist/MIME-tools"
+url="https://metacpan.org/pod/MIME::Tools"
license=('GPL' 'PerlArtistic')
depends=('perl-mailtools' 'perl-io-stringy' 'perl-convert-binhex')
+checkdepends=('perl-test-deep')
options=('!emptydirs')
provides=('perl-mime-body=5.428.0' 'perl-mime-decoder' 'perl-mime-decoder-base64'
'perl-mime-decoder-binary' 'perl-mime-decoder-binhex' 'perl-mime-decoder-gzip64'
@@ -18,8 +20,8 @@ provides=('perl-mime-body=5.428.0' 'perl-mime-decoder' 'perl-mime-decoder-base64
'perl-mime-field-conttype=5.428.0' 'perl-mime-field-paramval=5.428.0' 'perl-mime-head=5.428.0'
'perl-mime-parser' 'perl-mime-parser-filer' 'perl-mime-parser-reader'
'perl-mime-parser-results' 'perl-mime-worddecoder' 'perl-mime-words=5.428.0')
-source=("http://www.cpan.org/authors/id/D/DS/DSKOLL/MIME-tools-${pkgver}.tar.gz")
-md5sums=('f86b968e9405318224b7a9f4574505d0')
+source=("https://www.cpan.org/authors/id/D/DS/DSKOLL/MIME-tools-${pkgver}.tar.gz")
+sha512sums=('0407b09916144eafbee0c75758306e0f44c27db0e8aabf033267f9903f676f0415de99927dcfdb69f9e9d4123d63c280f526dff92e0d97744761c888df90667a')
build() {
cd "${srcdir}/MIME-tools-${pkgver}"
@@ -28,10 +30,15 @@ build() {
make
}
+check() {
+ cd "${srcdir}/MIME-tools-${pkgver}"
+ export PERL_MM_USE_DEFAULT=1
+ unset PERL5LIB
+ make test
+}
+
package() {
cd "${srcdir}/MIME-tools-${pkgver}"
- make install DESTDIR="${pkgdir}"
- find ${pkgdir} -name '.packlist' -delete
- find ${pkgdir} -name '*.pod' -delete
+ make install DESTDIR="${pkgdir}"
}
diff --git a/abs/core/perl_modules/perl-mime-types/PKGBUILD b/abs/core/perl_modules/perl-mime-types/PKGBUILD
index b4b4265..361f099 100644
--- a/abs/core/perl_modules/perl-mime-types/PKGBUILD
+++ b/abs/core/perl_modules/perl-mime-types/PKGBUILD
@@ -1,33 +1,32 @@
-# $Id: PKGBUILD 151300 2012-02-25 13:18:30Z pierre $
-# Maintainer: Jan de Groot
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Jan de Groot
# Contributor: Charles Mauch <cmauch@gmail.com>
pkgname=perl-mime-types
-_realname=MIME-Types
-pkgver=1.34
+pkgver=2.17
pkgrel=1
pkgdesc="Perl/CPAN Module MIME::Types : Information and processing MIME types"
arch=('any')
+url="http://search.cpan.org/dist/MIME-Types/"
license=('PerlArtistic')
-url="http://search.cpan.org/dist/${_realname}/"
depends=('perl')
options=('!emptydirs')
-source=("http://www.cpan.org/authors/id/M/MA/MARKOV/${_realname}-${pkgver}.tar.gz")
-md5sums=('87c496480e463c0b7792e7f5429e50d1')
+source=("http://www.cpan.org/authors/id/M/MA/MARKOV/MIME-Types-${pkgver}.tar.gz")
+sha512sums=('a834ddfa70fbaa5688a2a35626c489a48448e273638312609faaa8fbf07ba656254d1f907ba5f25518e93fd62b7b9265eec700c38c8446876dca24e07d8b15c4')
build() {
- cd "${srcdir}/${_realname}-${pkgver}"
- # install module in vendor directories.
+ cd MIME-Types-${pkgver}
perl Makefile.PL INSTALLDIRS=vendor
make
}
check() {
- cd "${srcdir}/${_realname}-${pkgver}"
+ cd MIME-Types-${pkgver}
make test
}
package() {
- cd "${srcdir}/${_realname}-${pkgver}"
- make install DESTDIR="${pkgdir}"
+ cd MIME-Types-${pkgver}
+ make DESTDIR="${pkgdir}" install
}
diff --git a/abs/core/perl_modules/perl-module-build/PKGBUILD b/abs/core/perl_modules/perl-module-build/PKGBUILD
index 96712a7..25c91a8 100644
--- a/abs/core/perl_modules/perl-module-build/PKGBUILD
+++ b/abs/core/perl_modules/perl-module-build/PKGBUILD
@@ -1,18 +1,20 @@
-# $Id: PKGBUILD 166452 2012-09-08 01:51:46Z eric $
-# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-# Contributor : Alan Young <harleypig@gmail.com>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Alan Young <harleypig@gmail.com>
pkgname=perl-module-build
-pkgver=0.4003
-pkgrel=1
+pkgver=0.4224
+pkgrel=6
pkgdesc="Build, test, and install Perl modules"
arch=('any')
+url="http://search.cpan.org/dist/Module-Build"
license=('PerlArtistic' 'GPL')
-url='http://search.cpan.org/dist/Module-Build'
-depends=('perl>=5.6.1')
+depends=('perl' 'perl-cpan-meta' 'perl-inc-latest')
+checkdepends=('perl-par-dist' 'perl-archive-zip')
options=('!emptydirs')
source=(http://search.cpan.org/CPAN/authors/id/L/LE/LEONT/Module-Build-$pkgver.tar.gz)
-md5sums=('ed5fe7e023af43b0722639b13ece8d2d')
+sha512sums=('c08e84c542a882aa16a682a81cbb7a4860774a3f6a0ec2e720ba9e9bcea76dab331999fee86bf8b92edc08560d7cef4a7c2dfa4e626ab9b22da965e715af531f')
build() {
cd Module-Build-$pkgver
diff --git a/abs/core/perl_modules/perl-module-implementation/PKGBUILD b/abs/core/perl_modules/perl-module-implementation/PKGBUILD
index 03b2fa5..d58e8b4 100644
--- a/abs/core/perl_modules/perl-module-implementation/PKGBUILD
+++ b/abs/core/perl_modules/perl-module-implementation/PKGBUILD
@@ -3,23 +3,23 @@
# Contributor: 3ED <krzysztof1987 at gmail dot com>
pkgname=perl-module-implementation
-pkgver=0.06
-pkgrel=2
+pkgver=0.09
+pkgrel=3
pkgdesc="Loads one of several alternate underlying implementations for a module"
arch=('any')
license=('PerlArtistic')
options=('!emptydirs')
-depends=('perl-module-runtime>=0.012')
+depends=('perl-module-runtime>=0.012' 'perl-try-tiny')
checkdepends=('perl-test-requires' 'perl-test-fatal')
url="http://search.cpan.org/dist/Module-Implementation/"
source=(http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Module-Implementation-$pkgver.tar.gz)
-md5sums=('748f3540162fc52222d761fab3efb266')
+md5sums=('52e3fe0ca6b1eff0488d59b7aacc0667')
build() {
cd "${srcdir}/Module-Implementation-${pkgver}"
export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL="--skipdeps" \
- PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='$pkgdir'" \
- PERL_MB_OPT="--installdirs vendor --destdir '$pkgdir'" \
+ PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='"$pkgdir"'" \
+ PERL_MB_OPT="--installdirs vendor --destdir '"$pkgdir"'" \
MODULEBUILDRC=/dev/null
perl Makefile.PL
make
diff --git a/abs/core/perl_modules/perl-module-install/PKGBUILD b/abs/core/perl_modules/perl-module-install/PKGBUILD
new file mode 100644
index 0000000..61b0453
--- /dev/null
+++ b/abs/core/perl_modules/perl-module-install/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: dracorp aka Piotr Rogoza <piotr.r.public at gmail.com>
+
+pkgname=perl-module-install
+pkgver=1.19
+pkgrel=1
+pkgdesc="Module::Install - Standalone, extensible Perl module installer"
+arch=('any')
+url='http://search.cpan.org/dist/Module-Install'
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl-file-remove' 'perl-json' 'perl-module-build' 'perl-module-scandeps' 'perl-par-dist'
+ 'perl-cpan-meta' 'perl-yaml-tiny')
+source=("http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Module-Install-$pkgver.tar.gz")
+sha512sums=('68a255402c98955cfcb5a8a99555fe511b89d5fccf96ee1c498cab347c8945f3abe53485ea936f7419420d9c7beb52c861516f4cfd299812cebf80eab50fa5ba')
+
+build() {
+ cd Module-Install-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd Module-Install-$pkgver
+ make test
+}
+
+package() {
+ cd Module-Install-$pkgver
+ make install DESTDIR="$pkgdir"
+}
diff --git a/abs/core/perl_modules/perl-module-runtime/PKGBUILD b/abs/core/perl_modules/perl-module-runtime/PKGBUILD
index 974f137..bc49dc6 100644
--- a/abs/core/perl_modules/perl-module-runtime/PKGBUILD
+++ b/abs/core/perl_modules/perl-module-runtime/PKGBUILD
@@ -1,27 +1,27 @@
-# $Id: PKGBUILD 66098 2012-02-23 01:03:59Z spupykin $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=perl-module-runtime
-pkgver=0.013
-pkgrel=1
+pkgver=0.014
+pkgrel=4
pkgdesc="runtime module handling"
arch=('any')
url="http://search.cpan.org/dist/Module-Runtime/"
-license=('perl')
-depends=('perl-params-classify')
+license=('GPL' 'PerlArtistic')
+depends=('perl' 'perl-module-build')
options=(!emptydirs)
source=("http://search.cpan.org/CPAN/authors/id/Z/ZE/ZEFRAM/Module-Runtime-$pkgver.tar.gz")
-md5sums=('62b88b1f5f0e975a5d7c80cd46167b97')
+md5sums=('a6597bc25536a30476f0d75b64d35734')
build() {
- cd $srcdir/Module-Runtime-$pkgver
+ cd "$srcdir"/Module-Runtime-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
}
package() {
- cd $srcdir/Module-Runtime-$pkgver
+ cd "$srcdir"/Module-Runtime-$pkgver
make install DESTDIR="${pkgdir}"
- find ${pkgdir} -name perllocal.pod -delete
- find ${pkgdir} -name .packlist -delete
+ find "$pkgdir" -name perllocal.pod -delete
+ find "$pkgdir" -name .packlist -delete
}
diff --git a/abs/core/perl_modules/perl-module-scandeps/PKGBUILD b/abs/core/perl_modules/perl-module-scandeps/PKGBUILD
new file mode 100644
index 0000000..1c193e3
--- /dev/null
+++ b/abs/core/perl_modules/perl-module-scandeps/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: xRemaLx <anton.komolov@gmail.com>
+
+pkgname=perl-module-scandeps
+_pkgname=Module-ScanDeps
+pkgver=1.24
+pkgrel=2
+pkgdesc="Scan file prerequisites"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl')
+makedepends=('perl-test-requires')
+url="http://search.cpan.org/dist/Module-ScanDeps"
+source=("http://search.cpan.org/CPAN/authors/id/R/RS/RSCHUPP/Module-ScanDeps-$pkgver.tar.gz")
+sha512sums=('7f3d9821aa863d8ebc78fb5fb3c7172ce133169ec54ed91b90e05ba50654b4bd0282b3a760adfc8b6bd553dda4116dbf51972bb2af94b59f6f04daeba996e889')
+
+build() {
+ cd Module-ScanDeps-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd Module-ScanDeps-$pkgver
+ make test
+}
+
+package() {
+ cd Module-ScanDeps-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/abs/core/perl_modules/perl-mro-compat/PKGBUILD b/abs/core/perl_modules/perl-mro-compat/PKGBUILD
new file mode 100644
index 0000000..234ef2e
--- /dev/null
+++ b/abs/core/perl_modules/perl-mro-compat/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id$
+# Maintainer: Sergej Pupykin <arch+pub@sergej.pp.ru>
+pkgname='perl-mro-compat'
+pkgver=0.13
+pkgrel=2
+pkgdesc="mro::* interface compatibility for Perls < 5.9.5"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl')
+makedepends=()
+url='http://search.cpan.org/dist/MRO-Compat'
+source=("http://search.cpan.org/CPAN/authors/id/H/HA/HAARG/MRO-Compat-$pkgver.tar.gz")
+sha256sums=('8a2c3b6ccc19328d5579d02a7d91285e2afd85d801f49d423a8eb16f323da4f8')
+
+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"'" \
+ PERL_USE_UNSAFE_INC=1 \
+ MODULEBUILDRC=/dev/null
+
+ cd "${srcdir}/MRO-Compat-${pkgver}"
+ /usr/bin/perl Makefile.PL
+ make
+ )
+}
+
+check() {
+ cd "${srcdir}/MRO-Compat-${pkgver}"
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ make test
+ )
+}
+
+package() {
+ cd "${srcdir}/MRO-Compat-${pkgver}"
+ make 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/core/perl_modules/perl-namespace-autoclean/PKGBUILD b/abs/core/perl_modules/perl-namespace-autoclean/PKGBUILD
new file mode 100644
index 0000000..6ec5550
--- /dev/null
+++ b/abs/core/perl_modules/perl-namespace-autoclean/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: John D Jones III AKA jnbek <jnbek1972 -_AT_- g m a i l -_Dot_- com>
+# Generator : CPANPLUS::Dist::Arch 1.32
+
+pkgname=perl-namespace-autoclean
+pkgver=0.28
+pkgrel=3
+pkgdesc="Keep imports out of your namespace"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+url='https://metacpan.org/release/namespace-autoclean'
+depends=('perl-b-hooks-endofscope' 'perl-sub-identify' 'perl-namespace-clean')
+checkdepends=('perl-test-requires' 'perl-moo' 'perl-sub-name' 'perl-mouse')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/namespace-autoclean-$pkgver.tar.gz")
+sha512sums=('2541f69862b334fcfe30059d025668175de1b182a5c8ee8f2619bf1d661c316a38fe2014f274bb23e887cd36959f98abb297154ac8ceb600e2e93cbd4a75e28d')
+
+build() {
+ cd "$srcdir"/namespace-autoclean-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$srcdir"/namespace-autoclean-$pkgver
+ make test
+}
+
+package() {
+ cd "$srcdir"/namespace-autoclean-$pkgver
+ make DESTDIR="$pkgdir"/ install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/perl_modules/perl-namespace-clean/PKGBUILD b/abs/core/perl_modules/perl-namespace-clean/PKGBUILD
new file mode 100644
index 0000000..2374be3
--- /dev/null
+++ b/abs/core/perl_modules/perl-namespace-clean/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id$
+# Maintainer: Sergej Pupykin <arch+pub@sergej.pp.ru>
+# Maintainer: Maxwell Pray a.k.a. Synthead <synthead@gmail.com>
+# Contributor: Justin Davis <jrcd83@gmail.com>
+
+_cpanname="namespace-clean"
+pkgname="perl-$_cpanname"
+pkgver=0.27
+pkgrel=3
+pkgdesc="Keep imports and functions out of your namespace"
+arch=("any")
+license=("PerlArtistic" "GPL")
+options=("!emptydirs")
+depends=("perl>=5.5.0" "perl-b-hooks-endofscope>=0.12" "perl-package-stash>=0.23")
+url="http://search.cpan.org/dist/$_cpanname"
+source=("http://search.cpan.org/CPAN/authors/id/R/RI/RIBASUSHI/$_cpanname-$pkgver.tar.gz")
+sha1sums=('a76713df74b2b865ffed31603e1a1fae544c3026')
+
+# Function to change to the working directory and set
+# environment variables to override undesired options.
+prepareEnvironment() {
+ cd "$srcdir/$_cpanname-$pkgver"
+ export \
+ PERL_MM_USE_DEFAULT=1 \
+ PERL_AUTOINSTALL=--skipdeps \
+ PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='"$pkgdir"'" \
+ PERL_MB_OPT="--installdirs vendor --destdir '"$pkgdir"'" \
+ MODULEBUILDRC=/dev/null
+}
+sha1sums=('c16ff66b1b4c7e8a507a8c4e4d809d60040e9d33')
+sha1sums=('4aa49b40cbcc7f1ee587dc3d5ec337f77c78fc4b')
+
+build() {
+ prepareEnvironment
+ /usr/bin/perl Makefile.PL
+ make
+}
+
+check() {
+ prepareEnvironment
+ make test
+}
+
+package() {
+ prepareEnvironment
+ make install
+
+ # Remove "perllocal.pod" and ".packlist".
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+}
diff --git a/abs/core/perl_modules/perl-net-http/PKGBUILD b/abs/core/perl_modules/perl-net-http/PKGBUILD
index 89eb246..46596c4 100644
--- a/abs/core/perl_modules/perl-net-http/PKGBUILD
+++ b/abs/core/perl_modules/perl-net-http/PKGBUILD
@@ -1,45 +1,42 @@
-# Packager: Justin "juster" Davis <jrcd83@gmail.com>
-# $Id: PKGBUILD 150758 2012-02-21 20:00:38Z juster $
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Justin "juster" Davis <jrcd83@gmail.com>
pkgname=perl-net-http
-pkgver=6.03
+pkgver=6.18
pkgrel=1
pkgdesc="Low-level HTTP connection (client)"
-arch=(any)
-license=(PerlArtistic GPL)
-options=(!emptydirs)
-depends=('perl>=5.6.2')
+arch=('any')
+url=http://search.cpan.org/dist/Net-HTTP
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl')
+checkdepends=('perl-uri')
conflicts=('perl-libwww<6')
-url=https://metacpan.org/release/Net-HTTP
-source=("http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Net-HTTP-${pkgver}.tar.gz")
-md5sums=(86957940d96649ca782b686686b82e7b)
-sha512sums=(a9ffbe5a4c6e1633b130549bb292c9dce093436e0d80d3a9b2ac95c3d1f5d16d734388a1d52094cb34194a7b8973bfa24c549cced4fdc42f36ec08876f551a32)
-_distdir="${srcdir}/Net-HTTP-${pkgver}"
+source=("http://cpan.metacpan.org/authors/id/O/OA/OALDERS/Net-HTTP-$pkgver.tar.gz")
+sha512sums=('89cf197c8717fd368a892b0d37efccb7c2aa46ece7851906282f33aa5a2105809fa0b917c56f94d217731568c20e2ff86eb455607d0bc24eb6d093c3fbab185d')
-build()
-(
+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'" \
+ PERL_MM_OPT="INSTALLDIRS=vendor" \
+ PERL_MB_OPT="--installdirs vendor" \
MODULEBUILDRC=/dev/null
- cd "$_distdir"
+ cd Net-HTTP-${pkgver}
/usr/bin/perl Makefile.PL
make
-)
+}
-check()
-(
+check() {
export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
- cd "$_distdir"
+ cd Net-HTTP-${pkgver}
make test
-)
+}
package() {
- cd "$_distdir"
+ cd Net-HTTP-${pkgver}
make DESTDIR="$pkgdir" install
- find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
}
# Local Variables:
diff --git a/abs/core/perl_modules/perl-net-sftp-foreign/Changes b/abs/core/perl_modules/perl-net-sftp-foreign/Changes
index eff2bb0..8012661 100644
--- a/abs/core/perl_modules/perl-net-sftp-foreign/Changes
+++ b/abs/core/perl_modules/perl-net-sftp-foreign/Changes
@@ -1,5 +1,73 @@
Revision history for Net::SFTP::Foreign
+1.77 Nov 5, 2013
+ - release as stable
+ - fix misspellings in error message
+
+1.76_04 Oct 2, 2013
+ - fix 'Use of "goto" to jump into a construct is deprecated'
+ warning (bug report by Brent Bates)
+ - don't force permissions from rput when copy_perm is unset
+
+1.76_03 Aug 26, 2013
+ - fix several spelling errors
+ - add spell checking test
+ - remove pod test from MANIFEST
+ - ensure that pty is not destroyed before main object (bug
+ report by Stephen Wylie) during global destruction
+
+1.76_02 Apr 29, 2013
+ - remove warning happening when best_effort was set, specially
+ visible from Compat module (bug report by emerlyn at
+ PerlMonks)
+
+1.76_01 Apr 26, 2013
+ - protect against callbacks setting $\ (bug report by Thomas
+ Wadley)
+
+1.75 Apr 2, 2013
+ - release as stable
+
+1.74_07 Mar 21, 2013
+ - seek method was returning offset instead of success value
+ (bug report by Paul Kolano).
+
+1.74_06 Mar 12, 2013
+ - disconnect may kill some unrelated process when called
+ repeatly (bug report by Douglas Wilson)
+ - debug was clobbering $!
+
+1.74_05 Feb 5, 2013
+ - error was not being set on timeouts (bug report by Kqfh
+ Jjgrn)
+
+1.74_04 Oct 25, 2012
+ - overwriting rename of a file over itself was broken (bug
+ report by Mike Wilder)
+ - stat and lstat path arguments is now optional and defaults
+ to '.' (bug report by Paul Kolano)
+ - fstat was broken
+ - add git repository and bugtracker into meta files
+
+1.74_03 Sep 21, 2012
+ - put_content was broken (bug report by Caleb Cushing)
+ - document put_content method
+ - add more tests
+
+1.74_02 Jul 11, 2012
+ - rget was dieing when trying to copy remote symbolic links
+ - add support for get method slow-start feature: when file
+ size is unknown don't start asking for $queue_size packets
+ as it slows down the transfer of small files, instead,
+ starting from a queue size of one go gradually increasing it
+ until the stated maximum is reached (bug report by David
+ R. Wagner)
+ - parse supported2 extension
+
+1.74_01
+ - add support for password_prompt (feature request by Douglas
+ Wilson)
+
1.73 May 11, 2012
- password authentication was broken on Solaris (maybe also on
others) due to an incorrect waitpid call (bug report and
@@ -134,6 +202,7 @@ Revision history for Net::SFTP::Foreign
get_symlink options using hashes
- remove operation inside put_symlink was clobbering error and
status from previous symlink call
+ - solve several minor bugs related to autodie handling
- do not die from inside DESTROY methods when autodie is set
- resume feature in get method was broken
- refactor numbered logic inside _inc_numbered sub
diff --git a/abs/core/perl_modules/perl-net-sftp-foreign/PKGBUILD b/abs/core/perl_modules/perl-net-sftp-foreign/PKGBUILD
index 61fb3b8..7fa9937 100644
--- a/abs/core/perl_modules/perl-net-sftp-foreign/PKGBUILD
+++ b/abs/core/perl_modules/perl-net-sftp-foreign/PKGBUILD
@@ -1,20 +1,22 @@
+# Maintainer: "Jameson Pugh <imntreal@gmail.com>"
# Contributor: Alessandro Sagratini <ale_sagra at hotmail dot com>
+
pkgname=perl-net-sftp-foreign
-pkgver=1.73
+pkgver=1.89
pkgrel=1
pkgdesc="Perl SFTP client using the native SSH client application"
-arch=(any)
-url=http://search.cpan.org/~salva/Net-SFTP-Foreign
+arch=('any')
+url='http://search.cpan.org/~salva/Net-SFTP-Foreign'
license=('GPL' 'PerlArtistic')
depends=('perl>=5.10.0')
optdepends=('perl-file-which' 'perl-sort-key')
-options=(!emptydirs)
+options=('!emptydirs')
changelog=Changes
-source=(http://search.cpan.org/CPAN/authors/id/S/SA/SALVA/Net-SFTP-Foreign-$pkgver.tar.gz)
-md5sums=('3de69b9281027e484a30e3efa581981f')
+source=("http://search.cpan.org/CPAN/authors/id/S/SA/SALVA/Net-SFTP-Foreign-${pkgver}.tar.gz")
+sha256sums=('9bd33e130581c1fc3eb6108eaf9056c1507428cace04a572f7afe816d83b08a7')
build() {
- cd "$srcdir/Net-SFTP-Foreign-$pkgver"
+ cd "${srcdir}/Net-SFTP-Foreign-${pkgver}"
# install module in vendor directories.
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
@@ -22,9 +24,11 @@ build() {
}
package() {
- cd "$srcdir/Net-SFTP-Foreign-$pkgver"
+ cd "${srcdir}/Net-SFTP-Foreign-${pkgver}"
make install DESTDIR=${pkgdir} || return 1
# remove perllocal.pod and .packlist
- find "$pkgdir" -name perllocal.pod -delete
- find "$pkgdir" -name .packlist -delete
+ find "${pkgdir}" -name perllocal.pod -delete
+ find "${pkgdir}" -name .packlist -delete
}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/perl-net-smtp-ssl/PKGBUILD b/abs/core/perl_modules/perl-net-smtp-ssl/PKGBUILD
index 0a10c5b..443868e 100644
--- a/abs/extra/perl-net-smtp-ssl/PKGBUILD
+++ b/abs/core/perl_modules/perl-net-smtp-ssl/PKGBUILD
@@ -1,17 +1,18 @@
-# $Id: PKGBUILD 64819 2012-02-18 11:10:48Z cbrannon $
+# $Id$
# Maintainer: Chris Brannon <cmbrannon79@gmail.com>
# Contributor: Abhishek Dasgupta <abhidg@gmail.com>
pkgname=perl-net-smtp-ssl
-pkgver=1.01
+pkgver=1.04
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)
+source=("http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Net-SMTP-SSL-$pkgver.tar.gz")
+sha256sums=('7b29c45add19d3d5084b751f7ba89a8e40479a446ce21cfd9cc741e558332a00')
package() {
cd "${srcdir}/Net-SMTP-SSL-${pkgver}"
@@ -24,4 +25,3 @@ package() {
find "$pkgdir" -name '.packlist' -delete
find "$pkgdir" -name 'perllocal.pod' -delete
}
-md5sums=('ba039288ebf7a343feecacd374da8c1a')
diff --git a/abs/core/perl_modules/perl-net-ssleay/PKGBUILD b/abs/core/perl_modules/perl-net-ssleay/PKGBUILD
index 8476265..a45314a 100644
--- a/abs/core/perl_modules/perl-net-ssleay/PKGBUILD
+++ b/abs/core/perl_modules/perl-net-ssleay/PKGBUILD
@@ -1,38 +1,59 @@
-# $Id: PKGBUILD 160545 2012-06-02 10:28:03Z bluewind $
-# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Manolis Tzanidakis
pkgname=perl-net-ssleay
_cpanname=Net-SSLeay
-pkgver=1.48
+pkgver=1.85
pkgrel=2
-pkgdesc="Perl extension for using OpenSSL"
-arch=('i686' 'x86_64')
+pkgdesc='Perl extension for using OpenSSL'
+url='https://search.cpan.org/dist/Net-SSLeay/'
+arch=('x86_64')
license=('custom:BSD')
-url="http://search.cpan.org/dist/${_cpanname}/"
depends=('openssl')
-options=(!emptydirs)
+makedepends=('chrpath')
replaces=('net-ssleay')
provides=('net-ssleay')
-source=("http://www.cpan.org/authors/id/M/MI/MIKEM/${_cpanname}-${pkgver}.tar.gz")
-md5sums=('4e10d9da28f26732e37807820bf72af5')
+options=('!emptydirs')
+source=(https://www.cpan.org/authors/id/M/MI/MIKEM/${_cpanname}-${pkgver}.tar.gz)
+sha512sums=('74e0f2f56b707f1ff845c78c1fa7ce26a71b8f943bb99e994d4e065d1f42259fe4cd1a6a17d333459727534158f9541f116dbc8515122380807d9450b0faa26b')
-build() {
- cd ${srcdir}/${_cpanname}-${pkgver}
+prepare() {
+ cd ${_cpanname}-${pkgver}
+ sed -i \
+ -e "/\$opts->{optimize} = '-O2 -g';/d" \
+ inc/Module/Install/PRIVATE/Net/SSLeay.pm
+}
- # install module in vendor directories.
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL -- INSTALLDIRS=vendor
+build() {
+ cd ${_cpanname}-${pkgver}
+ export OPTIMIZE="${CFLAGS}"
+ export OPENSSL_PREFIX=/usr
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
}
+check() {
+ cd ${_cpanname}-${pkgver}
+ make test
+}
+
package() {
- cd ${srcdir}/${_cpanname}-${pkgver}
+ cd ${_cpanname}-${pkgver}
- make install DESTDIR=${pkgdir}
+ make install DESTDIR="${pkgdir}"
+ install -Dm 644 README "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
- # remove perllocal.pod and .packlist
- find ${pkgdir} -name perllocal.pod -delete
- find ${pkgdir} -name .packlist -delete
+ # strip rpath
+ find "${pkgdir}" -name '*.so' -exec chrpath -d '{}' \;
- install -D -m644 README "${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;
}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/core/perl_modules/perl-net-upnp/PKGBUILD b/abs/core/perl_modules/perl-net-upnp/PKGBUILD
index 9d2945e..894d2a8 100644
--- a/abs/core/perl_modules/perl-net-upnp/PKGBUILD
+++ b/abs/core/perl_modules/perl-net-upnp/PKGBUILD
@@ -1,18 +1,18 @@
-# $Id: PKGBUILD 143946 2011-11-30 21:55:00Z giovanni $
+# $Id: PKGBUILD 310007 2017-11-15 14:11:34Z foutrelis $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Drew Gilbert <gilbert dot drew at gmail dot com>
pkgname=perl-net-upnp
-pkgver=1.4.2
-pkgrel=4
+pkgver=1.4.3
+pkgrel=3
pkgdesc="Perl Module UPnP"
-arch=('i686' 'x86_64')
-url="http://search.cpan.org/~skonno/Net-UPnP-1.4.2/"
+arch=('x86_64')
+url="http://search.cpan.org/~skonno/Net-UPnP-1.4.3/"
license=('BSD' 'PerlArtistic')
options=('!emptydirs')
source=("http://search.cpan.org/CPAN/authors/id/S/SK/SKONNO/Net-UPnP-${pkgver}.tar.gz")
depends=('perl')
-md5sums=('bc009fd76b565df40a70aca49af82a7d')
+md5sums=('a30d7cc54290946aeb028650cfdc9279')
build() {
cd "${srcdir}/Net-UPnP-${pkgver}"
@@ -22,11 +22,17 @@ build() {
make
}
-package() {
+check() {
cd "${srcdir}/Net-UPnP-${pkgver}"
- make install DESTDIR="${pkgdir}"
+ make test
+}
+
+package() {
+ cd "${srcdir}/Net-UPnP-${pkgver}"
- find ${pkgdir} -name '.packlist' -delete
- find ${pkgdir} -name '*.pod' -delete
+ make install DESTDIR="${pkgdir}"
+
+ # install license file
+ install -Dm644 "README" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/abs/core/perl_modules/perl-package-deprecationmanager/PKGBUILD b/abs/core/perl_modules/perl-package-deprecationmanager/PKGBUILD
index ae69247..9907a06 100644
--- a/abs/core/perl_modules/perl-package-deprecationmanager/PKGBUILD
+++ b/abs/core/perl_modules/perl-package-deprecationmanager/PKGBUILD
@@ -1,47 +1,34 @@
-# Maintainer: Justin Davis (juster) <jrcd83@gmail.com>
-# $Id: PKGBUILD 71653 2012-05-31 15:45:01Z juster $
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Jonathan Steel <jsteel@aur.archlinux.org>
+# Contributor: Justin Davis (juster) <jrcd83@gmail.com>
pkgname=perl-package-deprecationmanager
-pkgver=0.13
-pkgrel=1
-pkgdesc='Manage deprecation warnings for your distribution'
-arch=(any)
-license=(PerlArtistic GPL)
-options=(!emptydirs)
-depends=(perl-list-moreutils perl-params-util perl-sub-install)
-checkdepends=(perl-test-fatal perl-test-requires)
-url=https://metacpan.org/release/Package-DeprecationManager
-source=("http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Package-DeprecationManager-$pkgver.tar.gz")
-md5sums=(f81ae3c0f9bcac048eb4bff348b79f67)
-sha512sums=(393841bc8a6a96dfc3ce9e2787d532f0e5ba45ef07a8d95be4450ad399b0ae3c4929f8abf07892194fca85c7de75c118a5b611a816b565a7945e34ebca36c4a8)
-_dir="$srcdir/Package-DeprecationManager-$pkgver"
+pkgver=0.17
+pkgrel=3
+pkgdesc="Manage deprecation warnings for your distribution"
+arch=('any')
+license=('Artistic2.0')
+depends=('perl-params-util' 'perl-sub-install' 'perl-sub-name' 'perl-package-stash'
+ 'perl-module-implementation' 'perl-namespace-autoclean')
+checkdepends=('perl-test-fatal' 'perl-test-warnings')
+options=('!emptydirs')
+url="https://metacpan.org/release/Package-DeprecationManager"
+source=(http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Package-DeprecationManager-$pkgver.tar.gz)
+md5sums=('7b46e92aaae3047ede3c67c1714ab88e')
-build()
-(
- cd "$_dir"
- export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
- unset PERL5LIB PERL_MM_OPT
- /usr/bin/perl Makefile.PL
+build() {
+ cd "$srcdir"/Package-DeprecationManager-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
make
-)
+}
-check()
-(
- cd "$_dir"
- export PERL_MM_USE_DEFAULT=1
- unset PERL5LIB
+check() {
+ cd "$srcdir"/Package-DeprecationManager-$pkgver
make test
-)
+}
-package()
-(
- cd "$_dir"
- make install INSTALLDIRS=vendor DESTDIR="$pkgdir"
- 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:
+package() {
+ cd "$srcdir"/Package-DeprecationManager-$pkgver
+ make install DESTDIR="$pkgdir"
+}
diff --git a/abs/core/perl_modules/perl-package-stash-xs/PKGBUILD b/abs/core/perl_modules/perl-package-stash-xs/PKGBUILD
index ee83389..9b0a708 100644
--- a/abs/core/perl_modules/perl-package-stash-xs/PKGBUILD
+++ b/abs/core/perl_modules/perl-package-stash-xs/PKGBUILD
@@ -1,50 +1,53 @@
-# Maintainer: Justin Davis <jrcd83@gmail.com>
-# $Id: PKGBUILD 71819 2012-06-02 10:31:46Z bluewind $
+# $Id$
+# Maintainer: Jonathan Steel <jsteel at aur.archlinux.org>
+# Contributor: Justin Davis <jrcd83@gmail.com>
pkgname=perl-package-stash-xs
-pkgver=0.25
-pkgrel=2
-pkgdesc="faster and more correct implementation of the Package::Stash API"
-arch=(i686 x86_64)
-license=(PerlArtistic GPL)
-options=(!emptydirs)
-depends=('perl>=5.8.1')
-makedepends=('perl-extutils-makemaker>=6.30')
-checkdepends=('perl-test-fatal' 'perl-test-simple')
-url=https://metacpan.org/release/Package-Stash-XS
-source=("http://search.cpan.org/CPAN/authors/id/D/DO/DOY/Package-Stash-XS-${pkgver}.tar.gz")
-md5sums=(52ece18842c46da8fb7a4a14dea910ab)
-sha512sums=(2b539d9ba1a68c5ba681e9eabbcde4b396f66dc8dbd3b1e333286ea7ce39b93b97ec4bd97c31681720a925553b128371ce2c48f11254806aebd5de868a22b528)
-_distdir="${srcdir}/Package-Stash-XS-${pkgver}"
+pkgver=0.28
+pkgrel=7
+pkgdesc="Faster and more correct implementation of the Package::Stash API"
+arch=('x86_64')
+url="http://search.cpan.org/dist/Package-Stash-XS"
+license=('PerlArtistic' 'GPL')
+depends=('perl')
+makedepends=('perl-extutils-makemaker')
+checkdepends=('perl-test-fatal' 'perl-test-requires')
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/D/DO/DOY/Package-Stash-XS-$pkgver.tar.gz)
+md5sums=('9664356ec3be02626cbd3081ec246b70')
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'" \
+ PERL_MM_OPT="INSTALLDIRS=vendor" \
+ PERL_MB_OPT="--installdirs vendor" \
MODULEBUILDRC=/dev/null
- cd "$_distdir"
+ cd Package-Stash-XS-${pkgver}
+
/usr/bin/perl Makefile.PL
+
make
)
}
check() {
( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
- cd "$_distdir"
+ cd Package-Stash-XS-${pkgver}
+
make test
)
}
package() {
- cd "$_distdir"
- make DESTDIR="$pkgdir" install
- find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
-}
+ cd Package-Stash-XS-${pkgver}
-# Local Variables:
-# mode: shell-script
-# sh-basic-offset: 2
-# End:
-# vim:set ts=2 sw=2 et:
+ make DESTDIR="$pkgdir"/ install
+# 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/core/perl_modules/perl-package-stash/PKGBUILD b/abs/core/perl_modules/perl-package-stash/PKGBUILD
index b985727..c50f3a9 100644
--- a/abs/core/perl_modules/perl-package-stash/PKGBUILD
+++ b/abs/core/perl_modules/perl-package-stash/PKGBUILD
@@ -1,52 +1,33 @@
-# Maintainer: Justin Davis <jrcd83@gmail.com>
-# $Id: PKGBUILD 57663 2011-11-01 00:48:37Z juster $
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Jonathan Steel <jsteel@aur.archlinux.org>
+# Contributor: Justin Davis <jrcd83@gmail.com>
pkgname=perl-package-stash
-pkgver=0.33
-pkgrel=2
-pkgdesc="routines for manipulating stashes"
-arch=(any)
-license=(PerlArtistic GPL)
-options=(!emptydirs)
-depends=('perl>=5.8.1' 'perl-dist-checkconflicts>=0.02'
- 'perl-package-deprecationmanager' 'perl-scalar-list-utils'
- 'perl-package-stash-xs>=0.24')
-makedepends=('perl-extutils-makemaker>=6.30')
-checkdepends=('perl-test-fatal' 'perl-test-requires' 'perl-test-simple')
-url=https://metacpan.org/release/Package-Stash
-source=("http://search.cpan.org/CPAN/authors/id/D/DO/DOY/Package-Stash-${pkgver}.tar.gz")
-md5sums=(fe1f6efa0dbd46f8520903b436f185f1)
-sha512sums=(8b3e62caa7ac99f1429d4ab4c3a00265a8ca2aa6281c5c254c4fb455d8a262c445a1daafa405208f902fd352e18ef121a37303ceb27caabb0bdc3c14b807508b)
-_distdir="${srcdir}/Package-Stash-${pkgver}"
+pkgver=0.37
+pkgrel=4
+pkgdesc="Routines for manipulating stashes"
+arch=('any')
+url="http://search.cpan.org/dist/Package-Stash"
+license=('PerlArtistic' 'GPL')
+depends=('perl-dist-checkconflicts' 'perl-package-stash-xs' 'perl-module-implementation')
+checkdepends=('perl-test-fatal' 'perl-test-requires')
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/D/DO/DOY/Package-Stash-$pkgver.tar.gz)
+sha1sums=('43fc4e362ac1a45eb27fe779806cbd96c891e2dc')
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
- )
+ cd Package-Stash-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
}
check() {
- ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
- cd "$_distdir"
- make test
- )
+ cd Package-Stash-$pkgver
+ make test
}
package() {
- cd "$_distdir"
- make DESTDIR="$pkgdir" install
- find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+ cd Package-Stash-$pkgver
+ make DESTDIR="$pkgdir" install
}
-
-# Local Variables:
-# mode: shell-script
-# sh-basic-offset: 2
-# End:
-# vim:set ts=2 sw=2 et:
diff --git a/abs/core/perl_modules/perl-par-dist/PKGBUILD b/abs/core/perl_modules/perl-par-dist/PKGBUILD
new file mode 100644
index 0000000..9034e91
--- /dev/null
+++ b/abs/core/perl_modules/perl-par-dist/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: TDY <tdy@gmx.com>
+# Contributor: François Charette <firmicus ατ gmx δοτ net>
+
+pkgname=perl-par-dist
+pkgver=0.49
+pkgrel=3
+pkgdesc="Perl bindings to create and manipulate PAR distributions"
+arch=('any')
+url="http://search.cpan.org/dist/PAR-Dist/"
+license=('GPL' 'PerlArtistic')
+depends=('perl')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/R/RS/RSCHUPP/PAR-Dist-$pkgver.tar.gz")
+md5sums=('bd852113974544f3c8c107ab4055cf8c')
+
+build() {
+ cd "$srcdir/PAR-Dist-$pkgver"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$srcdir/PAR-Dist-$pkgver"
+ make test
+}
+
+package() {
+ cd "$srcdir/PAR-Dist-$pkgver"
+ make install DESTDIR="$pkgdir"
+}
diff --git a/abs/core/perl_modules/perl-params-classify/PKGBUILD b/abs/core/perl_modules/perl-params-classify/PKGBUILD
index d0dae4a..caa6278 100644
--- a/abs/core/perl_modules/perl-params-classify/PKGBUILD
+++ b/abs/core/perl_modules/perl-params-classify/PKGBUILD
@@ -1,23 +1,43 @@
-# $Id: PKGBUILD 71821 2012-06-02 10:31:50Z bluewind $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=perl-params-classify
pkgver=0.013
-pkgrel=2
+pkgrel=10
pkgdesc="argument type classification"
-arch=(i686 x86_64)
+arch=(x86_64)
license=('PerlArtistic')
url="http://search.cpan.org/~zefram/Params-Classify"
options=(!emptydirs)
-depends=('perl>=5.10.1')
-source=("http://search.cpan.org/CPAN/authors/id/Z/ZE/ZEFRAM/Params-Classify-$pkgver.tar.gz")
-md5sums=('63d24fbec775472ada49d16bce4a9b1f')
+depends=('perl')
+makedepends=('perl-module-build')
+source=("http://search.cpan.org/CPAN/authors/id/Z/ZE/ZEFRAM/Params-Classify-$pkgver.tar.gz"
+ 'op-sibling-fixes.patch')
+md5sums=('63d24fbec775472ada49d16bce4a9b1f'
+ '6a115714a269b34decf42fc445a2d0e0')
+
+prepare() {
+ cd "$srcdir"/Params-Classify-$pkgver
+ # https://rt.cpan.org/Public/Bug/Display.html?id=114490
+ patch -Np1 -i ../op-sibling-fixes.patch
+}
build() {
- cd $srcdir/Params-Classify-$pkgver
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
- make
- make install DESTDIR=${pkgdir}
- find ${pkgdir} -name perllocal.pod -delete
- find ${pkgdir} -name .packlist -delete
+ cd "$srcdir"/Params-Classify-$pkgver
+ perl Build.PL installdirs=vendor destdir="$pkgdir/"
+ perl Build
+}
+
+package() {
+ cd "$srcdir"/Params-Classify-$pkgver
+ perl Build install
+ find "$pkgdir" -name perllocal.pod -delete
+ find "$pkgdir" -name .packlist -delete
+# 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/core/perl_modules/perl-params-classify/op-sibling-fixes.patch b/abs/core/perl_modules/perl-params-classify/op-sibling-fixes.patch
new file mode 100644
index 0000000..98dd25e
--- /dev/null
+++ b/abs/core/perl_modules/perl-params-classify/op-sibling-fixes.patch
@@ -0,0 +1,79 @@
+--- Params-Classify-0.013a/lib/Params/Classify.xs 2010-11-16 15:35:47.000000000 -0500
++++ Params-Classify-0.013b/lib/Params/Classify.xs 2017-03-26 15:38:12.384693301 -0400
+@@ -41,6 +41,26 @@
+ # define FPTR2DPTR(t,x) ((t)(UV)(x))
+ #endif /* !FPTR2DPTR */
+
++#ifndef OpHAS_SIBLING
++# define OpHAS_SIBLING(o) (cBOOL((o)->op_sibling))
++#endif
++
++#ifndef OpSIBLING
++# define OpSIBLING(o) (0 + (o)->op_sibling)
++#endif
++
++#ifndef OpMORESIB_set
++# define OpMORESIB_set(o, sib) ((o)->op_sibling = (sib))
++#endif
++
++#ifndef OpLASTSIB_set
++# define OpLASTSIB_set(o, parent) ((o)->op_sibling = NULL)
++#endif
++
++#ifndef OpMAYBESIB_set
++# define OpMAYBESIB_set(o, sib, parent) ((o)->op_sibling = (sib))
++#endif
++
+ #ifndef ptr_table_new
+
+ struct q_ptr_tbl_ent {
+@@ -625,8 +645,8 @@
+ OP *(*ppfunc)(pTHX);
+ I32 cvflags;
+ pushop = cUNOPx(op)->op_first;
+- if(!pushop->op_sibling) pushop = cUNOPx(pushop)->op_first;
+- for(cvop = pushop; cvop->op_sibling; cvop = cvop->op_sibling) ;
++ if(!OpHAS_SIBLING(pushop)) pushop = cUNOPx(pushop)->op_first;
++ for(cvop = pushop; OpHAS_SIBLING(cvop); cvop = OpSIBLING(cvop)) ;
+ if(!(cvop->op_type == OP_RV2CV &&
+ !(cvop->op_private & OPpENTERSUB_AMPER) &&
+ (cv = rvop_cv(cUNOPx(cvop)->op_first)) &&
+@@ -635,20 +655,20 @@
+ return nxck_entersub(aTHX_ op);
+ cvflags = CvXSUBANY(cv).any_i32;
+ op = nxck_entersub(aTHX_ op); /* for prototype checking */
+- aop = pushop->op_sibling;
+- bop = aop->op_sibling;
++ aop = OpSIBLING(pushop);
++ bop = OpSIBLING(aop);
+ if(bop == cvop) {
+ if(!(cvflags & PC_ALLOW_UNARY)) return op;
+ unary:
+- pushop->op_sibling = bop;
+- aop->op_sibling = NULL;
++ OpLASTSIB_set(pushop, bop);
++ OpLASTSIB_set(aop, NULL);
+ op_free(op);
+ op = newUNOP(OP_NULL, 0, aop);
+ op->op_type = OP_RAND;
+ op->op_ppaddr = ppfunc;
+ op->op_private = (U8)cvflags;
+ return op;
+- } else if(bop && bop->op_sibling == cvop) {
++ } else if(bop && OpSIBLING(op) == cvop) {
+ if(!(cvflags & PC_ALLOW_BINARY)) return op;
+ if(ppfunc == THX_pp_check_sclass &&
+ (cvflags & PC_TYPE_MASK) == SCLASS_REF) {
+@@ -667,9 +687,9 @@
+ cvflags &= ~PC_TYPE_MASK;
+ ppfunc = THX_pp_check_dyn_battr;
+ }
+- pushop->op_sibling = cvop;
+- aop->op_sibling = NULL;
+- bop->op_sibling = NULL;
++ OpLASTSIB_set(pushop, cvop);
++ OpLASTSIB_set(aop, NULL);
++ OpLASTSIB_set(bop, NULL);
+ op_free(op);
+ op = newBINOP(OP_NULL, 0, aop, bop);
+ op->op_type = OP_RAND;
diff --git a/abs/core/perl_modules/perl-params-util/PKGBUILD b/abs/core/perl_modules/perl-params-util/PKGBUILD
index 415ad58..0b17b67 100644
--- a/abs/core/perl_modules/perl-params-util/PKGBUILD
+++ b/abs/core/perl_modules/perl-params-util/PKGBUILD
@@ -1,43 +1,46 @@
-# Maintainer: Justin Davis (juster) <jrcd83@gmail.com>
-# $Id: PKGBUILD 72466 2012-06-15 00:05:46Z juster $
+# $Id$
+# Maintainer: Jonathan Steel <jsteel at aur.archlinux.org>
+# Contributor: Justin Davis (juster) <jrcd83@gmail.com>
pkgname=perl-params-util
pkgver=1.07
-pkgrel=1
+pkgrel=8
pkgdesc='Simple, compact and correct param-checking functions'
-arch=(i686 x86_64)
-license=(PerlArtistic GPL)
-options=(!emptydirs)
-depends=('perl>=5.5.30')
-url=https://metacpan.org/release/Params-Util
+arch=('x86_64')
+url="https://metacpan.org/release/Params-Util"
+license=('PerlArtistic' 'GPL')
+depends=('perl')
+options=('!emptydirs')
source=("http://search.cpan.org/CPAN/authors/id/A/AD/ADAMK/Params-Util-$pkgver.tar.gz")
-md5sums=(02db120c0eef87aae1830cc62bdec37b)
-sha512sums=(ff471b01b33414fc5e1c68d97c21171a95d3418c33e3c45f9910cc768898690e35051506a83ad9403a200336654c14b8efc9d471c4b3fe3321047a7603d6fd56)
-_dir="$srcdir/Params-Util-$pkgver"
+sha256sums=('30f1ec3f2cf9ff66ae96f973333f23c5f558915bb6266881eac7423f52d7c76c')
-build()
-(
- cd "$_dir"
+build() {
+ cd "$srcdir/Params-Util-$pkgver"
export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
unset PERL5LIB PERL_MM_OPT
/usr/bin/perl Makefile.PL
make
-)
+}
-check()
-(
- cd "$_dir"
+check() {
+ cd "$srcdir/Params-Util-$pkgver"
export PERL_MM_USE_DEFAULT=1
unset PERL5LIB
make test
-)
+}
-package()
-(
- cd "$_dir"
+package() {
+ cd "$srcdir/Params-Util-$pkgver"
make install INSTALLDIRS=vendor DESTDIR="$pkgdir"
find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
-)
+# 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;
+}
# Local Variables:
# mode: shell-script
diff --git a/abs/core/perl_modules/perl-params-validate/PKGBUILD b/abs/core/perl_modules/perl-params-validate/PKGBUILD
index b14f42d..accfb83 100644
--- a/abs/core/perl_modules/perl-params-validate/PKGBUILD
+++ b/abs/core/perl_modules/perl-params-validate/PKGBUILD
@@ -1,27 +1,35 @@
-# $Id: PKGBUILD 71825 2012-06-02 10:31:58Z bluewind $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-params-validate
-pkgver=1.06
-pkgrel=3
+pkgver=1.29
+pkgrel=1
pkgdesc="Validate sub params against a spec"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://search.cpan.org/dist/Params-Validate"
license=('GPL' 'PerlArtistic')
depends=('perl' 'perl-module-implementation')
+makedepends=('perl-module-build')
options=('!emptydirs')
-source=("http://www.cpan.org/authors/id/D/DR/DROLSKY/Params-Validate-${pkgver}.tar.gz")
-md5sums=('4f7a281269cd30d7c3994ba5acb50857')
+source=("https://www.cpan.org/authors/id/D/DR/DROLSKY/Params-Validate-${pkgver}.tar.gz")
+sha256sums=('49a68dfb430bea028042479111d19068e08095e5a467e320b7ab7bde3d729733')
build() {
cd Params-Validate-${pkgver}
perl ./Build.PL --installdirs=vendor
./Build
}
-package(){
+package() {
cd Params-Validate-${pkgver}
- ./Build install --destdir=${pkgdir}
- find ${pkgdir} -name '.packlist' -delete
- find ${pkgdir} -name '*.pod' -delete
+ ./Build install --destdir="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
+# 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/core/perl_modules/perl-parse-recdescent/PKGBUILD b/abs/core/perl_modules/perl-parse-recdescent/PKGBUILD
index ab2ae40..386339d 100644
--- a/abs/core/perl_modules/perl-parse-recdescent/PKGBUILD
+++ b/abs/core/perl_modules/perl-parse-recdescent/PKGBUILD
@@ -1,29 +1,31 @@
-# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-parse-recdescent
-pkgver=1.965001
+pkgver=1.967015
pkgrel=1
pkgdesc="Recursive descent parser generator"
arch=(any)
url="http://search.cpan.org/dist/Parse-RecDescent"
license=('GPL' 'PerlArtistic')
depends=('perl>=5.10.0')
+makedepends=('perl-module-build')
options=('!emptydirs')
LC_NUMERIC=C
provides=("perl-parse-recdescent=`printf %.6f ${pkgver}`")
-source=(http://www.cpan.org/authors/id/D/DC/DCONWAY/Parse-RecDescent-$pkgver.tar.gz)
-md5sums=('e91351ad179a3843fbe8e521b135acaf')
+source=(http://search.cpan.org/CPAN/authors/id/J/JT/JTBRAUN/Parse-RecDescent-$pkgver.tar.gz)
+sha256sums=('1943336a4cb54f1788a733f0827c0c55db4310d5eae15e542639c9dd85656e37')
build() {
- cd $srcdir/Parse-RecDescent-$pkgver
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
- make || return 1
+ cd "$srcdir"/Parse-RecDescent-$pkgver
+ perl Build.PL installdirs=vendor destdir="$pkgdir/"
+ perl Build
}
+
package() {
- cd $srcdir/Parse-RecDescent-$pkgver
- make install DESTDIR=$pkgdir || return 1
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+ cd "$srcdir"/Parse-RecDescent-$pkgver
+ perl Build install
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
-
diff --git a/abs/core/perl_modules/perl-parse-yapp/PKGBUILD b/abs/core/perl_modules/perl-parse-yapp/PKGBUILD
new file mode 100644
index 0000000..8abf85f
--- /dev/null
+++ b/abs/core/perl_modules/perl-parse-yapp/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-parse-yapp
+pkgver=1.05
+pkgrel=9
+pkgdesc="Perl/CPAN Module Parse::Yapp : Generates OO LALR parser modules"
+arch=("any")
+url="http://search.cpan.org/dist/Parse-Yapp"
+license=("GPL" "PerlArtistic")
+depends=('perl')
+source=("https://www.cpan.org/authors/id/F/FD/FDESAR/Parse-Yapp-$pkgver.tar.gz")
+sha256sums=('228a6cfb483ade811720bb77647900ef359dfc3e071359eb73d39e4a1cc6f22b')
+
+build() {
+ cd "$srcdir"/Parse-Yapp-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd "$srcdir"/Parse-Yapp-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
+}
diff --git a/abs/core/perl_modules/perl-path-class/PKGBUILD b/abs/core/perl_modules/perl-path-class/PKGBUILD
new file mode 100644
index 0000000..abf211e
--- /dev/null
+++ b/abs/core/perl_modules/perl-path-class/PKGBUILD
@@ -0,0 +1,49 @@
+# Packager: Justin "juster" Davis <jrcd83@gmail.com>
+# $Id$
+
+pkgname=perl-path-class
+pkgver=0.37
+pkgrel=4
+pkgdesc="Cross-platform path specification manipulation"
+arch=(any)
+license=(PerlArtistic GPL)
+options=(!emptydirs)
+depends=('perl')
+makedepends=('perl-module-build')
+url="http://search.cpan.org/dist/Path-Class"
+source=("http://search.cpan.org/CPAN/authors/id/K/KW/KWILLIAMS/Path-Class-${pkgver}.tar.gz")
+md5sums=('13e6db714f6d5a0e62ca1c4a7fc4d0f3')
+
+build()
+(
+ export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
+ PERL_AUTOINSTALL=--skipdeps \
+ PERL_MM_OPT="INSTALLDIRS=vendor" \
+ PERL_MB_OPT="--installdirs vendor" \
+ MODULEBUILDRC=/dev/null
+
+ cd Path-Class-${pkgver}
+ /usr/bin/perl Build.PL
+ ./Build
+)
+
+check()
+(
+ export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ cd Path-Class-${pkgver}
+ ./Build test
+)
+
+package() {
+ export PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='"$pkgdir"'" \
+ PERL_MB_OPT="--installdirs vendor --destdir '"$pkgdir"'"
+
+ cd Path-Class-${pkgver}
+ ./Build install
+}
+
+# Local Variables:
+# mode: shell-script
+# sh-basic-offset: 2
+# End:
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/perl-perl4-corelibs/PKGBUILD b/abs/core/perl_modules/perl-perl4-corelibs/PKGBUILD
index 7ff205c..f96e190 100644
--- a/abs/extra/perl-perl4-corelibs/PKGBUILD
+++ b/abs/core/perl_modules/perl-perl4-corelibs/PKGBUILD
@@ -2,16 +2,17 @@
# Maintainer:
pkgname=perl-perl4-corelibs
-pkgver=0.003
-pkgrel=2
+pkgver=0.004
+pkgrel=3
pkgdesc="Libraries historically supplied with Perl 4"
arch=('any')
url="https://metacpan.org/release/Perl4-CoreLibs"
license=('PerlArtistic' 'GPL')
depends=('perl')
+makedepends=('perl-module-build')
options=('!emptydirs')
source=("http://search.cpan.org/CPAN/authors/id/Z/ZE/ZEFRAM/Perl4-CoreLibs-$pkgver.tar.gz")
-sha1sums=('ad4c5a9fa8da4f461dc774e5c53136a55413ef2f')
+sha512sums=('71083f1640e95559ee4bc5a7f1bbe6beacec048a073e211ab7f6ee4de26463f6ae3d87e99e00a41ea8f2f93a5e96367bafe907ef3367e400de35123c22eb7b88')
build() {
cd Perl4-CoreLibs-$pkgver
diff --git a/abs/core/perl_modules/perl-php-serialization/PKGBUILD b/abs/core/perl_modules/perl-php-serialization/PKGBUILD
index 428ee8e..d395dc9 100644
--- a/abs/core/perl_modules/perl-php-serialization/PKGBUILD
+++ b/abs/core/perl_modules/perl-php-serialization/PKGBUILD
@@ -1,30 +1,50 @@
-# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
-# Contributor: Ross melin <rdmelin@gmail.com>
+# Contributor: John D Jones III <j[nospace]n[nospace]b[nospace]e[nospace]k[nospace]1972 -_AT_- the domain name google offers a mail service at ending in dot com>
+# Generator : CPANPLUS::Dist::Arch 1.25
-# Required by zoneminder
-
-pkgname=perl-php-serialization
-pkgver=0.27
-pkgrel=2
-pkgdesc="PHP::Serialization"
-arch=('i686' 'x86_64')
-url="http://search.cpan.org/~php-serialization/PHP-Serialization"
-license=('GPL' 'PerlArtistic')
-depends=('perl')
+pkgname='perl-php-serialization'
+pkgver='0.34'
+pkgrel='1'
+pkgdesc="simple flexible means of converting the output of PHP's serialize() into the equivalent Perl memory structure, and vice versa."
+arch=('any')
+license=('PerlArtistic' 'GPL')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/J/JB/JBROWN/php-serialization/PHP-Serialization-$pkgver.tar.gz)
-md5sums=('2fb3f63071c5c2119b4eebe39b329684')
+depends=('perl')
+makedepends=()
+url='http://search.cpan.org/dist/PHP-Serialization'
+source=('http://search.cpan.org/CPAN/authors/id/B/BO/BOBTFISH/PHP-Serialization-0.34.tar.gz')
+md5sums=('333af0848ad79931875a35cc61dc22e0')
+sha512sums=('72218973f21ab71419751cf818e6bd998235aa74bf8ae60ec4a6080ba169d0d7fcefde4f433ce3f6f30ed3084a651deb8aa3a5dd818fc6ebf3fb6188def4efe7')
+_distdir="PHP-Serialization-0.34"
build() {
- cd $startdir/src/PHP-Serialization-$pkgver
- eval `perl -V:archname`
- PERL_MM_USE_DEFAULT=1 /usr/bin/perl Makefile.PL \
- INSTALLDIRS=vendor || return 1
-
- /usr/bin/make || return 1
- /usr/bin/make DESTDIR=$startdir/pkg install || return 1
- /usr/bin/find $startdir/pkg -name '.packlist' -delete
- /usr/bin/find $startdir/pkg -name '*.pod' -delete
+ ( 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 "$srcdir/$_distdir"
+ /usr/bin/perl Makefile.PL
+ make
+ )
+}
+
+check() {
+ cd "$srcdir/$_distdir"
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ make test
+ )
+}
+
+package() {
+ cd "$srcdir/$_distdir"
+ make 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/core/perl_modules/perl-proc-daemon/PKGBUILD b/abs/core/perl_modules/perl-proc-daemon/PKGBUILD
index f5df566..f6d3b64 100644
--- a/abs/core/perl_modules/perl-proc-daemon/PKGBUILD
+++ b/abs/core/perl_modules/perl-proc-daemon/PKGBUILD
@@ -1,23 +1,50 @@
-# Contributor: xduugu
+# Contributor: John D Jones III AKA jnbek <jnbek1972 -_AT_- g m a i l -_Dot_- com>
+# Generator : CPANPLUS::Dist::Arch 1.32
-pkgname=perl-proc-daemon
-pkgver=0.03
-pkgrel=1
-pkgdesc="run Perl program as a daemon process"
-arch=('i686' 'x86_64')
-url="http://search.cpan.org/~EHOOD/Proc-Daemon"
-license=('GPL' 'PerlArtistic')
-depends=('perl')
+pkgname='perl-proc-daemon'
+pkgver='0.22'
+pkgrel='1'
+pkgdesc="Run Perl program(s) as a daemon process"
+arch=('any')
+license=('PerlArtistic' 'GPL')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/E/EH/EHOOD/Proc-Daemon-$pkgver.tar.gz)
-md5sums=('6e1b83ac0f0add22f63597733f38c973')
-sha1sums=('25df5ee454527772ff95bc44980101a6766edb8a')
+depends=('perl')
+makedepends=('perl-proc-processtable')
+url='https://metacpan.org/release/Proc-Daemon'
+source=('http://search.cpan.org/CPAN/authors/id/A/AK/AKREAL/Proc-Daemon-0.22.tar.gz')
+md5sums=('0c10a6291d776025d3cfd58e49b540af')
+sha512sums=('4845882034fc5ddd34361bff90d265fe512a7b3a54238bc899a07bf29ce1d030f45c6de769c146767436a61d17ddc7198e344a3c073bc168af16f05872f38af5')
+_distdir="Proc-Daemon-0.22"
build() {
- cd "$srcdir/Proc-Daemon-$pkgver"
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
- make || return 1
- make install DESTDIR="$pkgdir/" || return 1
- find "$pkgdir" -name '.packlist' -delete
- find "$pkgdir" -name '*.pod' -delete
+ ( 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 "$srcdir/$_distdir"
+ /usr/bin/perl Makefile.PL
+ make
+ )
+}
+
+check() {
+ cd "$srcdir/$_distdir"
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ make test
+ )
}
+
+package() {
+ cd "$srcdir/$_distdir"
+ make 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/core/perl_modules/perl-proc-pid-file/PKGBUILD b/abs/core/perl_modules/perl-proc-pid-file/PKGBUILD
index ad69d71..813c306 100644
--- a/abs/core/perl_modules/perl-proc-pid-file/PKGBUILD
+++ b/abs/core/perl_modules/perl-proc-pid-file/PKGBUILD
@@ -1,25 +1,50 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: Cecil H. Watson <knoppmyth@gmail.com>
+# Contributor: John D Jones III AKA jnbek <jnbek1972 -_AT_- g m a i l -_Dot_- com>
+# Generator : CPANPLUS::Dist::Arch 1.30
-pkgname=perl-proc-pid-file
-_realname=Proc-PID-File
-pkgver=1.24
-pkgrel=1
-pkgdesc="Proc::PID::File a module to manage process idfiles"
-arch=(i686 x86_64)
-license=('PerlArtistic')
-url="http://search.cpan.org/dist/${_realname}/"
-depends=('perlxml' 'perl>=5.10.0')
+pkgname='perl-proc-pid-file'
+pkgver='1.27'
+pkgrel='2'
+pkgdesc="A module to manage PID files"
+arch=('any')
+license=('PerlArtistic' 'GPL')
options=('!emptydirs')
-source=(ftp://ftp.cpan.org/pub/CPAN/authors/id/E/EC/ECALDER/${_realname}-${pkgver}.tar.gz)
-md5sums=('90b636492ae72def975a9ef9cac90fda')
+depends=('perl')
+makedepends=()
+url='https://metacpan.org/release/Proc-PID-File'
+source=('http://search.cpan.org/CPAN/authors/id/E/EC/ECALDER/Proc-PID-File-1.27.tar.gz')
+md5sums=('3fcb07f914f863f9a0967b35af562f9f')
+sha512sums=('05d5bcdcc6a9fb2d2cb3779fb6ad6469c7c7845147eae1a4a27dec5bf728ad4fde5c4e2d44bf91382e7609fd701a23dd6fe9edb798dbeecc012d240e25a79bb3')
+_distdir="Proc-PID-File-1.27"
build() {
- cd ${startdir}/src/${_realname}-${pkgver}
- perl Makefile.PL INSTALLDIRS=vendor || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
+ ( 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
- find ${startdir}/pkg -name '.packlist' -delete
- find ${startdir}/pkg -name 'perllocal.pod' -delete
+ cd "$srcdir/$_distdir"
+ /usr/bin/perl Makefile.PL
+ make
+ )
}
+
+check() {
+ cd "$srcdir/$_distdir"
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ make test
+ )
+}
+
+package() {
+ cd "$srcdir/$_distdir"
+ make 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/core/perl_modules/perl-proc-processtable/PKGBUILD b/abs/core/perl_modules/perl-proc-processtable/PKGBUILD
index 8f5ffc1..19211fa 100644
--- a/abs/core/perl_modules/perl-proc-processtable/PKGBUILD
+++ b/abs/core/perl_modules/perl-proc-processtable/PKGBUILD
@@ -1,18 +1,18 @@
# $Id$
-# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgname=perl-proc-processtable
-pkgver=0.51
+pkgver=0.55
pkgrel=1
pkgdesc="Provides a consistent interface to process table information."
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://search.cpan.org/dist/Proc-ProcessTable/"
license=('PerlArtistic')
depends=('perl')
provides=('perl-proc-killall' 'perl-proc-killfam' 'perl-proc-processtable-process')
options=(!emptydirs)
source=("http://search.cpan.org/CPAN/authors/id/J/JW/JWB/Proc-ProcessTable-$pkgver.tar.gz")
-md5sums=('711238eb8ce7f5583ffef084d8facceb')
+sha512sums=('2af3860c6d48508aecd1d97d323ede21318b801873a24fbc4340fa5b526ad7d1c5b55c52044a73cc92e6c0f5dac612c21089bb8cbe4b1d779bb3eb9a7b87bed1')
build() {
cd "$srcdir/Proc-ProcessTable-$pkgver"
@@ -32,4 +32,12 @@ package() {
make install DESTDIR="${pkgdir}"
find "${pkgdir}" -name perllocal.pod -delete
find "${pkgdir}" -name .packlist -delete
+
+# 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/core/perl_modules/perl-role-tiny/PKGBUILD b/abs/core/perl_modules/perl-role-tiny/PKGBUILD
new file mode 100644
index 0000000..d0c84eb
--- /dev/null
+++ b/abs/core/perl_modules/perl-role-tiny/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id$
+# Maintainer: Sergej Pupykin <arch+pub@sergej.pp.ru>
+# Contributor: John D Jones III <jnbek1972 -_AT_- g m a i l -_Dot_- com>
+# Generator : CPANPLUS::Dist::Arch 1.29
+
+pkgname='perl-role-tiny'
+pkgver=2.000005
+pkgrel=3
+pkgdesc="Roles. Like a nouvelle cuisine portion size slice of Moose."
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl')
+makedepends=()
+checkdepends=('perl-test-fatal>=0.003')
+url='http://search.cpan.org/dist/Role-Tiny/'
+source=("http://search.cpan.org/CPAN/authors/id/H/HA/HAARG/Role-Tiny-$pkgver.tar.gz")
+sha256sums=('593a29b621e029bf0218d0154d5dfdf6ec502afc49adeeadae6afd0c70063115')
+
+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 "$srcdir/Role-Tiny-$pkgver"
+ perl Makefile.PL
+ make
+ )
+}
+
+check() {
+ cd "$srcdir/Role-Tiny-$pkgver"
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ make test
+ )
+}
+
+package() {
+ cd "$srcdir/Role-Tiny-$pkgver"
+ make install
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+}
diff --git a/abs/core/perl_modules/perl-sdl/PKGBUILD b/abs/core/perl_modules/perl-sdl/PKGBUILD
index d8273a3..3f39048 100644
--- a/abs/core/perl_modules/perl-sdl/PKGBUILD
+++ b/abs/core/perl_modules/perl-sdl/PKGBUILD
@@ -1,13 +1,13 @@
-# $Id: PKGBUILD 168746 2012-10-15 12:11:10Z heftig $
+# $Id$
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
pkgname=perl-sdl
-pkgver=2.540
-pkgrel=3
+pkgver=2.546
+pkgrel=6
pkgdesc="Simple DirectMedia Layer for Perl"
-arch=(i686 x86_64)
+arch=(x86_64)
license=(LGPL)
url="http://sdl.perl.org"
depends=(perl-alien-sdl perl-tie-simple
@@ -18,9 +18,9 @@ replaces=(sdl_perl)
conflicts=(sdl_perl)
provides=("sdl_perl=$pkgver")
# http://search.cpan.org/dist/SDL/
-_author=JTPALMER
+_author=FROGGS
source=(http://search.cpan.org/CPAN/authors/id/${_author::1}/${_author::2}/$_author/SDL-$pkgver.tar.gz)
-md5sums=('1a5d7849cbdfde4982b28458e38ab172')
+md5sums=('a93283d0fff67bdec5ff4bb8c1d30a09')
build() {
cd SDL-$pkgver
@@ -39,4 +39,12 @@ check() {
package() {
cd SDL-$pkgver
perl Build install destdir="$pkgdir"
+
+# 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/core/perl_modules/perl-sgmls/PKGBUILD b/abs/core/perl_modules/perl-sgmls/PKGBUILD
new file mode 100644
index 0000000..062b38a
--- /dev/null
+++ b/abs/core/perl_modules/perl-sgmls/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+_cpanname=SGMLSpm
+pkgname=perl-sgmls
+epoch=1
+pkgver=1.1
+pkgrel=5
+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://search.cpan.org/CPAN/authors/id/R/RA/RAAB/SGMLSpm-$pkgver.tar.gz)
+md5sums=('746c74ae969992cedb1a2879b4168090')
+
+prepare() {
+ cd "$srcdir/$_cpanname-$pkgver"
+ find . -type f -exec chmod 0644 {} \;
+}
+
+prepareEnvironment() {
+ cd "$srcdir/$_cpanname-$pkgver"
+ export \
+ PERL_MM_USE_DEFAULT=1 \
+ PERL_AUTOINSTALL=--skipdeps \
+ PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='"$pkgdir"'" \
+ PERL_MB_OPT="--installdirs vendor --destdir '"$pkgdir"'" \
+ MODULEBUILDRC=/dev/null
+}
+
+build() {
+ prepareEnvironment
+ /usr/bin/perl Makefile.PL
+ make
+}
+
+check() {
+ prepareEnvironment
+ make test
+}
+
+package() {
+ prepareEnvironment
+ make install
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+
+ # FS#51874
+ ln -sv /usr/bin/vendor_perl/sgmlspl.pl $pkgdir/usr/bin/sgmlspl
+}
diff --git a/abs/core/perl_modules/perl-shell/PKGBUILD b/abs/core/perl_modules/perl-shell/PKGBUILD
deleted file mode 100644
index 31e5278..0000000
--- a/abs/core/perl_modules/perl-shell/PKGBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# Maintainer: graysky <graysky AT archlnux DOT us>
-
-pkgname=perl-shell
-_realname=Shell
-pkgver=0.72
-_pkgver=0.72_01
-pkgrel=2
-pkgdesc="Run shell commands transparently within perl."
-arch=(any)
-license=('PerlArtistic')
-url="http://search.cpan.org/dist/${_realname}/"
-depends=('perl>=5.011')
-options=(!emptydirs)
-source=(http://search.cpan.org/CPAN/authors/id/F/FE/FERREIRA/${_realname}-${_pkgver}.tar.gz)
-sha256sums=('823c044e668239be0ac96d0006f5fc9646b8a9a8adfd5f58f2dcd297e875106f')
-
-build() {
- cd ${srcdir}/${_realname}-${_pkgver}
- perl Makefile.PL
- make
-}
-
-package() {
- cd ${srcdir}/${_realname}-${_pkgver}
- make install DESTDIR=${pkgdir}
-}
diff --git a/abs/core/perl_modules/perl-soap-lite/PKGBUILD b/abs/core/perl_modules/perl-soap-lite/PKGBUILD
index f5e8ee2..dad16c0 100644
--- a/abs/core/perl_modules/perl-soap-lite/PKGBUILD
+++ b/abs/core/perl_modules/perl-soap-lite/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-soap-lite
-pkgver=1.20
+pkgver=1.26
pkgrel=1
pkgdesc="Client and server side SOAP implementation"
arch=('any')
@@ -43,7 +43,7 @@ provides=(
perl-xmlrpc-transport-tcp
)
source=("http://search.cpan.org/CPAN/authors/id/P/PH/PHRED/SOAP-Lite-${pkgver}.tar.gz")
-md5sums=('b49632017cb5ba43c85d60cbe638af07')
+md5sums=('1c53fe1b6d986599b1277462062ae303')
build() {
cd "${srcdir}/SOAP-Lite-${pkgver}"
diff --git a/abs/core/perl_modules/perl-socket6/PKGBUILD b/abs/core/perl_modules/perl-socket6/PKGBUILD
index 88c8acc..dd30376 100644
--- a/abs/core/perl_modules/perl-socket6/PKGBUILD
+++ b/abs/core/perl_modules/perl-socket6/PKGBUILD
@@ -1,49 +1,38 @@
-# Maintainer: Florian Pritz <bluewind@xinu.at>
-# Generator : CPANPLUS::Dist::Arch 1.18
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Florian Pritz <bluewind@xinu.at>
-pkgname='perl-socket6'
-pkgver='0.23'
-pkgrel='2'
-pkgdesc="getaddrinfo/getnameinfo support module"
-arch=('i686' 'x86_64')
+pkgname=perl-socket6
+pkgver=0.28
+pkgrel=4
+pkgdesc="A getaddrinfo/getnameinfo support module"
+arch=('x86_64')
+url='http://search.cpan.org/dist/Socket6'
license=('PerlArtistic' 'GPL')
-options=('!emptydirs')
depends=('perl')
-makedepends=()
-url='http://search.cpan.org/dist/Socket6'
-source=('http://search.cpan.org/CPAN/authors/id/U/UM/UMEMOTO/Socket6-0.23.tar.gz')
-md5sums=('2c02adb13c449d48d232bb704ddbd492')
-sha512sums=('39ced223ecdef89e6fa241031019bb5a73e63d2dfdaf3edb55bfea0cb81b91bea09f1cc26b2d15fa28d32227cc13cdb093c70f0ba346c9bdb523359de53d96f9')
-_distdir="${srcdir}/Socket6-0.23"
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/U/UM/UMEMOTO/Socket6-$pkgver.tar.gz)
+sha1sums=('5903fbf53e0e25623bf71c252c3a073389686ed0')
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
- )
+ cd Socket6-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
}
check() {
- cd "$_distdir"
- ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
- make test
- )
+ cd Socket6-$pkgver
+ make test
}
package() {
- cd "$_distdir"
- make install
- find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+ cd Socket6-$pkgver
+ make DESTDIR="$pkgdir" install
+# 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;
}
-
-# Local Variables:
-# mode: shell-script
-# sh-basic-offset: 2
-# End:
-# vim:set ts=2 sw=2 et:
diff --git a/abs/core/perl_modules/perl-specio/PKGBUILD b/abs/core/perl_modules/perl-specio/PKGBUILD
new file mode 100644
index 0000000..c2f734c
--- /dev/null
+++ b/abs/core/perl_modules/perl-specio/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 191857 2016-10-10 11:17:38Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=perl-specio
+pkgver=0.42
+pkgrel=1
+pkgdesc="Type constraints and coercions for Perl"
+arch=('any')
+url="http://search.cpan.org/dist/Specio"
+license=('GPL' 'PerlArtistic')
+depends=('perl-role-tiny' 'perl-test-fatal' 'perl-mro-compat' 'perl-devel-stacktrace')
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Specio-$pkgver.tar.gz)
+sha256sums=('23298b93a26d7ae3c1d58106f5898d84ddc71b626afdbf801bddb04d5e524ef6')
+
+build() {
+ cd "$srcdir"/Specio-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+package() {
+ cd "$srcdir"/Specio-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
+# 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/core/perl_modules/perl-sub-exporter-progressive/PKGBUILD b/abs/core/perl_modules/perl-sub-exporter-progressive/PKGBUILD
new file mode 100644
index 0000000..22e1baa
--- /dev/null
+++ b/abs/core/perl_modules/perl-sub-exporter-progressive/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id$
+# Maintainer: Jonathan Steel <jsteel@aur.archlinux.org>
+# Contributor: Alan Young <harleypig@gmail.com>
+
+pkgname=perl-sub-exporter-progressive
+pkgver=0.001013
+pkgrel=3
+pkgdesc="Only use Sub::Exporter if you need it"
+arch=('any')
+url="http://search.cpan.org/dist/Sub-Exporter-Progressive"
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/F/FR/FREW/Sub-Exporter-Progressive-$pkgver.tar.gz)
+md5sums=('72cf6acdd2a0a8b105821a4db98e4ebe')
+
+build() {
+ cd "$srcdir"/Sub-Exporter-Progressive-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$srcdir"/Sub-Exporter-Progressive-$pkgver
+ make test
+}
+
+package() {
+ cd "$srcdir"/Sub-Exporter-Progressive-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/abs/core/perl_modules/perl-sub-exporter/PKGBUILD b/abs/core/perl_modules/perl-sub-exporter/PKGBUILD
index 2d2adb3..ac2b5d5 100644
--- a/abs/core/perl_modules/perl-sub-exporter/PKGBUILD
+++ b/abs/core/perl_modules/perl-sub-exporter/PKGBUILD
@@ -1,29 +1,28 @@
-# Maintainer: Justin Davis <jrcd83@gmail.com>
-# $Id: PKGBUILD 57551 2011-10-30 17:28:18Z juster $
+# $Id$
+# Maintainer: Jonathan Steel <jsteel@aur.archlinux.org>
+# Contributor: Justin Davis <jrcd83@gmail.com>
pkgname=perl-sub-exporter
-pkgver=0.982
-pkgrel=1
-pkgdesc="a sophisticated exporter for custom-built routines"
-arch=(any)
-license=(PerlArtistic GPL)
-options=(!emptydirs)
-depends=('perl>=5.6.0' 'perl-data-optlist>=0.1' 'perl-params-util>=0.14'
- 'perl-sub-install>=0.92')
-url=https://metacpan.org/release/Sub-Exporter
-source=("http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Sub-Exporter-${pkgver}.tar.gz")
-md5sums=(db90a0d73a5ca2d185dd6c6d2fc848f0)
-sha512sums=(10fc2a27d28f47cc5193c13e598e7c16caac0ede5700b0301ab04db371b9250348aa69e076b259d3f5a1ebbdd8793c3230e5f71a0adb1554b1d2fd04b2969d97)
-_distdir="${srcdir}/Sub-Exporter-${pkgver}"
+pkgver=0.987
+pkgrel=3
+pkgdesc="A sophisticated exporter for custom-built routines"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl' 'perl-data-optlist' 'perl-params-util' 'perl-sub-install')
+url="https://metacpan.org/release/Sub-Exporter"
+source=(http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Sub-Exporter-$pkgver.tar.gz)
+md5sums=('5332d269a7ba387773fcd140b72a0ed2')
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'" \
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
+ PERL_AUTOINSTALL="--skipdeps" \
+ PERL_MM_OPT="INSTALLDIRS=vendor" \
+ PERL_MB_OPT="--installdirs vendor" \
MODULEBUILDRC=/dev/null
- cd "$_distdir"
+ cd "$srcdir"/Sub-Exporter-$pkgver
+
/usr/bin/perl Makefile.PL
make
)
@@ -31,19 +30,15 @@ build() {
check() {
( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
- cd "$_distdir"
+
+ cd "$srcdir"/Sub-Exporter-$pkgver
+
make test
)
}
package() {
- cd "$_distdir"
- make DESTDIR="$pkgdir" install
- find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
-}
+ cd "$srcdir"/Sub-Exporter-$pkgver
-# Local Variables:
-# mode: shell-script
-# sh-basic-offset: 2
-# End:
-# vim:set ts=2 sw=2 et:
+ make DESTDIR="$pkgdir"/ install
+}
diff --git a/abs/core/perl_modules/perl-sub-identify/PKGBUILD b/abs/core/perl_modules/perl-sub-identify/PKGBUILD
new file mode 100644
index 0000000..b428187
--- /dev/null
+++ b/abs/core/perl_modules/perl-sub-identify/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: John D Jones III <jnbek1972 -_AT_- g m a i l -_Dot_- com>
+
+pkgname=perl-sub-identify
+pkgver=0.14
+pkgrel=4
+pkgdesc="Retrieve names of code references"
+arch=('x86_64')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl')
+checkdepends=('perl-test-pod')
+url='http://search.mcpan.org/dist/Sub-Identify'
+source=("http://search.mcpan.org/CPAN/authors/id/R/RG/RGARCIA/Sub-Identify-$pkgver.tar.gz")
+sha512sums=('f69f542c84c5c3ca1f1c7f5f58fd2cf19279a65229f43117c31f24ab0e49d5f329bef2bc00f22252fd2e52b4e17f16b279dac438920668e046e59f2e22e52c14')
+
+build() {
+ cd "$srcdir/Sub-Identify-$pkgver"
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "$srcdir/Sub-Identify-$pkgver"
+ make test
+}
+
+package() {
+ cd "$srcdir/Sub-Identify-$pkgver"
+ make DESTDIR="$pkgdir"/ install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/perl_modules/perl-sub-install/PKGBUILD b/abs/core/perl_modules/perl-sub-install/PKGBUILD
index 08b4b65..9fbb71a 100644
--- a/abs/core/perl_modules/perl-sub-install/PKGBUILD
+++ b/abs/core/perl_modules/perl-sub-install/PKGBUILD
@@ -1,46 +1,31 @@
-# Maintainer: Justin Davis (juster) <jrcd83@gmail.com>
-# $Id: PKGBUILD 71649 2012-05-31 15:44:24Z juster $
+# $Id$
+# Maintainer: Jonathan Steel <jsteel@aur.archlinux.org>
+# Contributor: Justin Davis (juster) <jrcd83@gmail.com>
pkgname=perl-sub-install
-pkgver=0.926
-pkgrel=1
-pkgdesc='install subroutines into packages easily'
-arch=(any)
-license=(PerlArtistic GPL)
-options=(!emptydirs)
-depends=(perl)
-url=https://metacpan.org/release/Sub-Install
-source=("http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Sub-Install-$pkgver.tar.gz")
-md5sums=(89a7f82dd840bc2401f281b5f24732b9)
-sha512sums=(c536e1ace79ce8c6bd4a6e580cc2e181671b54f07cef231a84094c854779aee556de4b2ff0a95f0e6a8aca87f77a6e19d148071a48fe5c6e9c0ca15314f0c9cc)
-_dir="$srcdir/Sub-Install-$pkgver"
+pkgver=0.928
+pkgrel=3
+pkgdesc="Install subroutines into packages easily"
+arch=('any')
+url="https://metacpan.org/release/Sub-Install"
+license=('PerlArtistic' 'GPL')
+depends=('perl')
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Sub-Install-$pkgver.tar.gz)
+sha1sums=('868c6cb4c0232d9ac3f865f232359f82012be8d6')
-build()
-(
- cd "$_dir"
- export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
- unset PERL5LIB PERL_MM_OPT
- /usr/bin/perl Makefile.PL
+build() {
+ cd Sub-Install-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
make
-)
+}
-check()
-(
- cd "$_dir"
- export PERL_MM_USE_DEFAULT=1
- unset PERL5LIB
+check() {
+ cd Sub-Install-$pkgver
make test
-)
+}
-package()
-(
- cd "$_dir"
- make install INSTALLDIRS=vendor DESTDIR="$pkgdir"
- 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:
+package() {
+ cd Sub-Install-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/abs/core/perl_modules/perl-sub-name/PKGBUILD b/abs/core/perl_modules/perl-sub-name/PKGBUILD
new file mode 100644
index 0000000..c671f5b
--- /dev/null
+++ b/abs/core/perl_modules/perl-sub-name/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Maxwell Pray a.k.a. Synthead <synthead@gmail.com>
+# Contributor: Justin Davis <jrcd83@gmail.com>
+
+pkgname=perl-sub-name
+_cpanname=Sub-Name
+pkgver=0.21
+pkgrel=4
+pkgdesc="(re)name a sub"
+arch=('x86_64')
+license=('PerlArtistic' 'GPL')
+depends=('perl')
+options=('!emptydirs')
+url="http://search.cpan.org/dist/$_cpanname"
+source=("http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/$_cpanname-$pkgver.tar.gz")
+md5sums=('7e7a181e30b3249d0b81585f55e36621')
+
+build() {
+ cd "$srcdir/$_cpanname-$pkgver"
+ perl Makefile.PL
+ make
+}
+
+check() {
+ cd "$srcdir/$_cpanname-$pkgver"
+ make test
+}
+
+package() {
+ cd "$srcdir/$_cpanname-$pkgver"
+ make install INSTALLDIRS=vendor DESTDIR="$pkgdir"
+}
diff --git a/abs/core/perl_modules/perl-sub-uplevel/PKGBUILD b/abs/core/perl_modules/perl-sub-uplevel/PKGBUILD
index 86409ac..2613d09 100644
--- a/abs/core/perl_modules/perl-sub-uplevel/PKGBUILD
+++ b/abs/core/perl_modules/perl-sub-uplevel/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 65925 2012-02-22 13:43:26Z spupykin $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Francois Charette <firmicus@gmx.net>
pkgname=perl-sub-uplevel
-pkgver=0.22
+pkgver=0.2800
pkgrel=2
pkgdesc="apparently run a function in a higher stack frame "
arch=('any')
@@ -11,14 +11,18 @@ url="http://search.cpan.org/dist/Sub-Uplevel"
license=('GPL' 'PerlArtistic')
depends=('perl')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-$pkgver.tar.gz)
-md5sums=('c166738a97c0424a0075ebe205d285db')
+source=(https://www.cpan.org/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-$pkgver.tar.gz)
+sha256sums=('b4f3f63b80f680a421332d8851ddbe5a8e72fcaa74d5d1d98f3c8cc4a3ece293')
build() {
- cd $srcdir/Sub-Uplevel-$pkgver
+ cd "$srcdir"/Sub-Uplevel-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
- make install DESTDIR=$pkgdir
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+}
+
+package() {
+ cd "$srcdir"/Sub-Uplevel-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-sys-cpu/PKGBUILD b/abs/core/perl_modules/perl-sys-cpu/PKGBUILD
index 325fd89..11e0b9b 100644
--- a/abs/core/perl_modules/perl-sys-cpu/PKGBUILD
+++ b/abs/core/perl_modules/perl-sys-cpu/PKGBUILD
@@ -5,7 +5,7 @@
pkgname=perl-sys-cpu
pkgver=0.61
-pkgrel=1
+pkgrel=2
pkgdesc="Perl extension for getting CPU information. Currently only number of CPU's supported."
arch=('any')
url="http://search.cpan.org/~mkoderer/Sys-CPU-$pkgver/"
diff --git a/abs/core/perl_modules/perl-sys-meminfo/PKGBUILD b/abs/core/perl_modules/perl-sys-meminfo/PKGBUILD
index 05ef17d..7660eab 100644
--- a/abs/core/perl_modules/perl-sys-meminfo/PKGBUILD
+++ b/abs/core/perl_modules/perl-sys-meminfo/PKGBUILD
@@ -3,7 +3,7 @@
pkgname='perl-sys-meminfo'
pkgver='0.98'
-pkgrel='1'
+pkgrel='2'
pkgdesc="Perl extension for return the total amount of physical memory"
arch=('any')
license=('PerlArtistic' 'GPL')
diff --git a/abs/core/perl_modules/perl-sys-mmap/PKGBUILD b/abs/core/perl_modules/perl-sys-mmap/PKGBUILD
new file mode 100644
index 0000000..84e263f
--- /dev/null
+++ b/abs/core/perl_modules/perl-sys-mmap/PKGBUILD
@@ -0,0 +1,50 @@
+# Contributor: John D Jones III AKA jnbek <jnbek1972 -_AT_- g m a i l -_Dot_- com>
+# Generator : CPANPLUS::Dist::Arch 1.32
+
+pkgname='perl-sys-mmap'
+pkgver='0.19'
+pkgrel='2'
+pkgdesc="uses mmap to map in a file as a Perl variable"
+arch=('i686' 'x86_64')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl')
+makedepends=()
+url='https://metacpan.org/release/Sys-Mmap'
+source=('http://search.cpan.org/CPAN/authors/id/S/SW/SWALTERS/Sys-Mmap-0.19.tar.gz')
+md5sums=('990c9106a88dc843035f7bcb109e6c0e')
+sha512sums=('4e6409cddd13322b4cdaad832e6d0233776e51098b499fd05d8e642e547eb1ed7add5bb9fb339e69048a3293140098e282b51698eb6d188ace71ad58c1628556')
+_distdir="Sys-Mmap-0.19"
+
+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 "$srcdir/$_distdir"
+ /usr/bin/perl Makefile.PL
+ make
+ )
+}
+
+check() {
+ cd "$srcdir/$_distdir"
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ make test
+ )
+}
+
+package() {
+ cd "$srcdir/$_distdir"
+ make 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/core/perl_modules/perl-template-toolkit/PKGBUILD b/abs/core/perl_modules/perl-template-toolkit/PKGBUILD
index 157cad2..0bc941b 100644
--- a/abs/core/perl_modules/perl-template-toolkit/PKGBUILD
+++ b/abs/core/perl_modules/perl-template-toolkit/PKGBUILD
@@ -5,16 +5,16 @@
# Contributor: FJ <joostef@gmail.com>
pkgname=perl-template-toolkit
-pkgver=2.26
-pkgrel=3
+pkgver=2.27
+pkgrel=4
pkgdesc="Perl template processing system"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://search.cpan.org/dist/Template-Toolkit/"
license=('PerlArtistic')
depends=('perl-appconfig' 'perl')
options=('!emptydirs')
source=(http://search.cpan.org/CPAN/authors/id/A/AB/ABW/Template-Toolkit-$pkgver.tar.gz)
-md5sums=('4c289856ebee446ebbe2629b24f0734b')
+md5sums=('a7fae5d4fe5918f33105d92a62134067')
build() {
cd Template-Toolkit-$pkgver
diff --git a/abs/core/perl_modules/perl-term-progressbar/PKGBUILD b/abs/core/perl_modules/perl-term-progressbar/PKGBUILD
index 133603f..d158eeb 100644
--- a/abs/core/perl_modules/perl-term-progressbar/PKGBUILD
+++ b/abs/core/perl_modules/perl-term-progressbar/PKGBUILD
@@ -1,23 +1,27 @@
-# This PKGBUILD was autocreated. See http://xtermin.us/archperl/ for details
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Charles Mauch <cmauch@gmail.com>
pkgname=perl-term-progressbar
-pkgver=2.09
-pkgrel=3
+pkgver=2.21
+pkgrel=1
pkgdesc="Perl/CPAN Module Term::ProgressBar : Progress bar in just ASCII using Term"
-arch=("i686" "x86_64")
-url="http://search.cpan.org/FLUFFY/Term-ProgressBar"
+arch=("any")
+url="http://search.cpan.org/dist/Term-ProgressBar"
license=("GPL" "PerlArtistic")
-source=("http://www.cpan.org/authors/id/F/FL/FLUFFY/Term-ProgressBar-2.09.tar.gz")
-md5sums=('440dfd04fe51a12d314e9adf2445f04a')
-makedepends=("perl-class-methodmaker" "perl-term-readkey")
depends=("perl-class-methodmaker" "perl-term-readkey")
+source=("http://search.cpan.org/CPAN/authors/id/M/MA/MANWAR/Term-ProgressBar-$pkgver.tar.gz")
+sha256sums=('66994f1a6ca94d8d92e3efac406142fb0d05033360c0acce2599862db9c30e44')
build() {
- cd $startdir/src/Term-ProgressBar-2.09
- 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
+ cd "$srcdir"/Term-ProgressBar-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd "$srcdir"/Term-ProgressBar-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-term-readkey/PKGBUILD b/abs/core/perl_modules/perl-term-readkey/PKGBUILD
index 33397b2..aeda3a6 100644
--- a/abs/core/perl_modules/perl-term-readkey/PKGBUILD
+++ b/abs/core/perl_modules/perl-term-readkey/PKGBUILD
@@ -1,36 +1,43 @@
# $Id$
-# Maintainer: kevin <kevin@archlinux.org>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: kevin <kevin@archlinux.org>
# Contributor: Wael Nasreddine <gandalf@siemens-mobiles.org>
-# Contributor: Francois Charette <francois.archlinux.org>
+# Contributor: Francois Charette <francois.archlinux.org>
pkgname=perl-term-readkey
_realname=TermReadKey
-pkgver=2.30.01
+pkgver=2.37
pkgrel=4
pkgdesc="Provides simple control over terminal driver modes"
-arch=('i686' 'x86_64')
+arch=('x86_64')
license=('custom')
-depends=('perl>=5.10.0' 'glibc')
-url="http://search.cpan.org/~stsi/${_realname}/"
-source=(http://search.cpan.org/CPAN/authors/id/S/ST/STSI/${_realname}-$pkgver.tar.gz)
+depends=('perl' 'glibc')
+url="http://search.cpan.org/~jstowe/${_realname}/"
options=('!emptydirs')
-md5sums=('6c099eddb76ec9b92179f1ed929be71a')
+source=(http://search.cpan.org/CPAN/authors/id/J/JS/JSTOWE/${_realname}-$pkgver.tar.gz)
+md5sums=('e8ea15c16333ac4f8d146d702e83cc0c')
-build()
-{
- cd ${srcdir}/TermReadKey-$pkgver
+build() {
+ cd "${srcdir}/TermReadKey-$pkgver"
perl Makefile.PL INSTALLDIRS=vendor
make
+}
+
+check() {
+ cd "${srcdir}/TermReadKey-$pkgver"
make test
}
package() {
- cd ${srcdir}/TermReadKey-$pkgver
- make DESTDIR=${pkgdir} install
- install -d ${pkgdir}/usr/share/licenses/$pkgname/
- head -7 README > ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
-
- # remove perllocal.pod and .packlist
- find ${pkgdir} -name perllocal.pod -delete
- find ${pkgdir} -name .packlist -delete
+ cd "${srcdir}/TermReadKey-$pkgver"
+ make DESTDIR="${pkgdir}" install
+ install -d "${pkgdir}/usr/share/licenses/$pkgname/"
+ head -7 README > "${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/core/perl_modules/perl-test-exception/PKGBUILD b/abs/core/perl_modules/perl-test-exception/PKGBUILD
index ccf2bc6..793ad69 100644
--- a/abs/core/perl_modules/perl-test-exception/PKGBUILD
+++ b/abs/core/perl_modules/perl-test-exception/PKGBUILD
@@ -1,26 +1,27 @@
-# This PKGBUILD was autocreated. See http://xtermin.us/archperl/ for details
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Charles Mauch <cmauch@gmail.com>
pkgname=perl-test-exception
-pkgver=0.31
-pkgrel=1
+pkgver=0.43
+pkgrel=3
pkgdesc="Perl/CPAN Module Test::Exception : Functions for testing exceptionbased code"
arch=("any")
-url="http://search.cpan.org/~adie/"
-license=("GPL" "Artistic")
-makedepends=("perl-sub-uplevel")
+url="http://search.cpan.org/dist/Test-Exception/"
+license=("GPL" "PerlArtistic")
depends=("perl-sub-uplevel")
-source=("http://search.cpan.org/CPAN/authors/id/A/AD/ADIE/Test-Exception-$pkgver.tar.gz")
-md5sums=('adb57ca7614d15e5b307bf5e024b35a8')
+source=("http://search.cpan.org/CPAN/authors/id/E/EX/EXODIST/Test-Exception-$pkgver.tar.gz")
+md5sums=('572d355026fb0b87fc2b8c64b83cada0')
build() {
- cd $srcdir/Test-Exception-$pkgver
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
- make
+ cd "$srcdir"/Test-Exception-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
}
+
package() {
- cd $srcdir/Test-Exception-$pkgver
- make install DESTDIR=$pkgdir
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+ cd "$srcdir"/Test-Exception-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-test-fatal/PKGBUILD b/abs/core/perl_modules/perl-test-fatal/PKGBUILD
index dfae079..3309313 100644
--- a/abs/core/perl_modules/perl-test-fatal/PKGBUILD
+++ b/abs/core/perl_modules/perl-test-fatal/PKGBUILD
@@ -1,46 +1,31 @@
-# Maintainer: Justin Davis (juster) <jrcd83@gmail.com>
-# $Id: PKGBUILD 71635 2012-05-31 15:12:33Z juster $
+# $Id$
+# Maintainer: Jonathan Steel <jsteel@aur.archlinux.org>
+# Contributor: Justin Davis (juster) <jrcd83@gmail.com>
pkgname=perl-test-fatal
-pkgver=0.010
-pkgrel=1
-pkgdesc='incredibly simple helpers for testing code with exceptions'
-arch=(any)
-license=(PerlArtistic GPL)
-options=(!emptydirs)
-depends=('perl-try-tiny>=0.07')
-url=https://metacpan.org/release/Test-Fatal
-source=("http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Test-Fatal-$pkgver.tar.gz")
-md5sums=(d8052d4160e8d999cbeb574592f26541)
-sha512sums=(24ed85a957e316f49673613295978ff4f2485f762427a8e51594221fe7601d6df3ab1d92dd5a9a8943cce42a04a3a712b781a7ae31403995a03bbf177006edf6)
-_dir="$srcdir/Test-Fatal-$pkgver"
+pkgver=0.014
+pkgrel=3
+pkgdesc="Incredibly simple helpers for testing code with exceptions"
+arch=('any')
+url="https://metacpan.org/release/Test-Fatal"
+license=('PerlArtistic' 'GPL')
+depends=('perl-try-tiny')
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Test-Fatal-$pkgver.tar.gz)
+sha1sums=('6984ef1c0aed1d2c8334e8f20818cbf269abc345')
-build()
-(
- cd "$_dir"
- export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
- unset PERL5LIB PERL_MM_OPT
- /usr/bin/perl Makefile.PL
+build() {
+ cd "$srcdir/Test-Fatal-$pkgver"
+ perl Makefile.PL
make
-)
+}
-check()
-(
- cd "$_dir"
- export PERL_MM_USE_DEFAULT=1
- unset PERL5LIB
+check() {
+ cd "$srcdir/Test-Fatal-$pkgver"
make test
-)
+}
-package()
-(
- cd "$_dir"
- make install INSTALLDIRS=vendor DESTDIR="$pkgdir"
- 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:
+package() {
+ cd "$srcdir/Test-Fatal-$pkgver"
+ make INSTALLDIRS=vendor DESTDIR="$pkgdir" install
+}
diff --git a/abs/core/perl_modules/perl-test-pod/PKGBUILD b/abs/core/perl_modules/perl-test-pod/PKGBUILD
index 5adb9d1..f6e0d22 100644
--- a/abs/core/perl_modules/perl-test-pod/PKGBUILD
+++ b/abs/core/perl_modules/perl-test-pod/PKGBUILD
@@ -1,30 +1,32 @@
-# $Id: PKGBUILD 140682 2011-10-18 03:16:34Z eric $
-# Maintainer: Kevin <kevin@archlinux.org>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Kevin <kevin@archlinux.org>
# Contributor: Firmicus <francois.archlinux.org>
pkgname=perl-test-pod
-_realname=Test-Pod
-pkgver=1.45
+pkgver=1.52
pkgrel=1
pkgdesc="Check for POD errors in files"
arch=('any')
-url="http://search.cpan.org/dist/${_realname}/"
+url="http://search.cpan.org/dist/Test-Pod/"
license=('GPL' 'PerlArtistic')
depends=('perl')
options=('!emptydirs')
-source=(http://search.cpan.org/CPAN/authors/id/D/DW/DWHEELER/${_realname}-${pkgver}.tar.gz)
-md5sums=('089c8f272931df82f6c4d11a74f04628')
+source=(http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Test-Pod-${pkgver}.tar.gz)
+sha512sums=('9b078488e1da8b907f5f3a46452aa9bfd49db61f1539d076dccebf9a8b476eaf0f539f00badc9c500b1e732a8827331b2286375924986efb990367767eeb8365')
build() {
- cd "${srcdir}/${_realname}-${pkgver}"
- perl Build.PL installdirs=vendor
- ./Build
+ cd Test-Pod-${pkgver}
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
}
-package() {
- cd "${srcdir}/${_realname}-${pkgver}"
- ./Build install destdir="${pkgdir}"
+check() {
+ cd Test-Pod-${pkgver}
+ make test
+}
- find "${pkgdir}" -name '.packlist' -delete
- find "${pkgdir}" -name '*.pod' -delete
+package() {
+ cd Test-Pod-${pkgver}
+ make DESTDIR="${pkgdir}" install
}
diff --git a/abs/core/perl_modules/perl-test-requires/PKGBUILD b/abs/core/perl_modules/perl-test-requires/PKGBUILD
index c7de2ab..ac440ad 100644
--- a/abs/core/perl_modules/perl-test-requires/PKGBUILD
+++ b/abs/core/perl_modules/perl-test-requires/PKGBUILD
@@ -1,10 +1,11 @@
# $Id$
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Jonathan Steel <jsteel@aur.archlinux.org>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Justin Davis <jrcd83@gmail.com>
-pkgname='perl-test-requires'
-pkgver='0.06'
-pkgrel='1'
+pkgname=perl-test-requires
+pkgver=0.10
+pkgrel=3
pkgdesc="Checks to see if the module can be loaded"
arch=('any')
license=('PerlArtistic' 'GPL')
@@ -12,18 +13,20 @@ options=('!emptydirs')
depends=('perl')
url='http://search.cpan.org/dist/Test-Requires'
source=("http://search.cpan.org/CPAN/authors/id/T/TO/TOKUHIROM/Test-Requires-$pkgver.tar.gz")
-md5sums=('6ce0da3cceadb6420d4c3c5bb69f64db')
+md5sums=('0d5da779609d0c8fa6f796b45ff8c6f3')
build() {
- cd "${srcdir}/Test-Requires-$pkgver"
- 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
- perl Makefile.PL
+ cd "$srcdir"/Test-Requires-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
make
+}
+
+check() {
+ cd "$srcdir"/Test-Requires-$pkgver
make test
- make install
- find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+}
+
+package() {
+ cd "$srcdir"/Test-Requires-$pkgver
+ make DESTDIR="$pkgdir"/ install
}
diff --git a/abs/core/perl_modules/perl-test-warn/PKGBUILD b/abs/core/perl_modules/perl-test-warn/PKGBUILD
index 1b5626d..4f25e61 100644
--- a/abs/core/perl_modules/perl-test-warn/PKGBUILD
+++ b/abs/core/perl_modules/perl-test-warn/PKGBUILD
@@ -1,29 +1,29 @@
-# $Id: PKGBUILD 70452 2012-05-07 13:45:39Z spupykin $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Firmicus <francois.archlinux.org>
pkgname=perl-test-warn
-pkgver=0.24
-pkgrel=1
+pkgver=0.32
+pkgrel=2
pkgdesc="Perl extension to test methods for warnings "
arch=(any)
-url="http://search.cpan.org/~CHORNY/Test-Warn"
+url="http://search.cpan.org/dist/Test-Warn/"
license=('GPL' 'PerlArtistic')
depends=('perl-tree-dag-node' 'perl-sub-uplevel>=0.12' 'perl>=5.10.0')
options=('!emptydirs')
-source=(http://search.cpan.org/CPAN/authors/id/C/CH/CHORNY/Test-Warn-$pkgver.tar.gz)
-md5sums=('a27990b62f8fd0aa290bb617ae0157a5')
+source=("http://search.cpan.org/CPAN/authors/id/B/BI/BIGJ/Test-Warn-$pkgver.tar.gz")
+sha256sums=('2fc516e71f9ef453be22a4619d91eb3f78df414a57dfa0fd745d3bff50bf73d2')
build() {
- cd $srcdir/Test-Warn-$pkgver
+ cd "$srcdir"/Test-Warn-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
}
package() {
- cd $srcdir/Test-Warn-$pkgver
- make install DESTDIR=$pkgdir
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+ cd "$srcdir"/Test-Warn-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-text-charwidth/PKGBUILD b/abs/core/perl_modules/perl-text-charwidth/PKGBUILD
new file mode 100644
index 0000000..bcb6034
--- /dev/null
+++ b/abs/core/perl_modules/perl-text-charwidth/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Charles Mauch <cmauch@gmail.com>
+
+pkgname=perl-text-charwidth
+pkgver=0.04
+pkgrel=16
+pkgdesc="Perl/CPAN Module Text::CharWidth"
+arch=("x86_64")
+url="http://search.cpan.org/dist/Text-CharWidth"
+license=("GPL" "PerlArtistic")
+options=('!emptydirs')
+source=("https://www.cpan.org/authors/id/K/KU/KUBOTA/Text-CharWidth-${pkgver}.tar.gz")
+sha256sums=('abded5f4fdd9338e89fd2f1d8271c44989dae5bf50aece41b6179d8e230704f8')
+
+build() {
+ cd Text-CharWidth-${pkgver}
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+package() {
+ cd Text-CharWidth-${pkgver}
+
+ make install DESTDIR="$pkgdir"
+
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
+# 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/core/perl_modules/perl-text-iconv/PKGBUILD b/abs/core/perl_modules/perl-text-iconv/PKGBUILD
index 1e35fce..b9ab604 100644
--- a/abs/core/perl_modules/perl-text-iconv/PKGBUILD
+++ b/abs/core/perl_modules/perl-text-iconv/PKGBUILD
@@ -1,25 +1,39 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: damir <damir@archlinux.org>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Francois Charette <firmicus@gmx.net>
pkgname=perl-text-iconv
_realname=Text-Iconv
pkgver=1.7
-pkgrel=2
+pkgrel=14
pkgdesc="Interface to iconv codeset conversion"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://search.cpan.org/dist/${_realname}/"
license=('GPL' 'PerlArtistic')
-depends=('perl>=5.10.0')
+depends=('perl')
options=('!emptydirs')
source=(http://www.cpan.org/authors/id/M/MP/MPIOTR/${_realname}-${pkgver}.tar.gz)
md5sums=('81b26e069eaebb084e91ea3c009b67ae')
build() {
- cd ${startdir}/src/${_realname}-${pkgver}
- perl Makefile.PL INSTALLDIRS=vendor || return 1
- make || return 1
- make DESTDIR=${startdir}/pkg install || return 1
- find ${startdir}/pkg -name '.packlist' -delete
- find ${startdir}/pkg -name '*.pod' -delete
+ cd "${srcdir}/${_realname}-${pkgver}"
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "${srcdir}/${_realname}-${pkgver}"
+ make test
+}
+
+package() {
+ cd "${srcdir}/${_realname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+# 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/core/perl_modules/perl-text-patch/PKGBUILD b/abs/core/perl_modules/perl-text-patch/PKGBUILD
index d7751e4..9dbf253 100644
--- a/abs/core/perl_modules/perl-text-patch/PKGBUILD
+++ b/abs/core/perl_modules/perl-text-patch/PKGBUILD
@@ -1,26 +1,31 @@
-# $Id: PKGBUILD 125357 2011-05-26 06:26:28Z angvp $
-# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
-# Contributor: Caleb Cushing <xenoterracide@gmail.com>
+# $Id$
+# Maintainer:
+
pkgname=perl-text-patch
-_realname=Text-Patch
pkgver=1.8
-pkgrel=1
+pkgrel=4
pkgdesc="Patches text with given patch"
-arch=(any)
-license=(PerlArtistic GPL)
-depends=(perl)
-url='http://search.cpan.org/dist/$_realname'
+arch=('any')
+url="http://search.cpan.org/dist/Text-Patch"
+license=('PerlArtistic' 'GPL')
+depends=('perl')
+checkdepends=('perl-text-diff')
options=('!emptydirs')
-source=("http://search.cpan.org/CPAN/authors/id/C/CA/CADE/$_realname-$pkgver.tar.gz")
-md5sums=('ad5e453d5ba3b48afd8163114d0fee1c')
+source=("http://search.cpan.org/CPAN/authors/id/C/CA/CADE/Text-Patch-$pkgver.tar.gz")
+sha1sums=('025d6249ae2b57b2f92cc7e1761b94a5fdbe4635')
build() {
- cd "$srcdir/$_realname-$pkgver"
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ cd Text-Patch-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
make
}
+check() {
+ cd Text-Patch-$pkgver
+ make test
+}
+
package() {
- cd "$srcdir/$_realname-$pkgver"
+ cd Text-Patch-$pkgver
make DESTDIR="$pkgdir" install
}
diff --git a/abs/core/perl_modules/perl-text-reform/PKGBUILD b/abs/core/perl_modules/perl-text-reform/PKGBUILD
new file mode 100644
index 0000000..e54b7b6
--- /dev/null
+++ b/abs/core/perl_modules/perl-text-reform/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id$
+# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
+# Maintainer: Firmicus <francois.archlinux.org>
+
+pkgname=perl-text-reform
+_realname=Text-Reform
+pkgver=1.20
+pkgrel=4
+pkgdesc="Manual text wrapping and reformatting "
+arch=(any)
+url="http://search.cpan.org/dist/Text-Reform"
+license=('GPL' 'PerlArtistic')
+depends=('perl')
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/C/CH/CHORNY/${_realname}-$pkgver.tar.gz)
+md5sums=('f37f5834f3dc221eacd09bdfcfe40918')
+
+build() {
+ cd "${srcdir}"/Text-Reform-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd "${srcdir}"/Text-Reform-$pkgver
+ make install DESTDIR="${pkgdir}"
+ find "${pkgdir}" -name '.packlist' -delete
+ find "${pkgdir}" -name '*.pod' -delete
+}
diff --git a/abs/core/perl_modules/perl-text-wrapi18n/PKGBUILD b/abs/core/perl_modules/perl-text-wrapi18n/PKGBUILD
new file mode 100644
index 0000000..12ef95f
--- /dev/null
+++ b/abs/core/perl_modules/perl-text-wrapi18n/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 67415 2012-03-11 13:48:47Z cbrannon $
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+# Contributor: Aaron Griffin <aaron@archlinux.org>
+
+pkgname=perl-text-wrapi18n
+_realname=Text-WrapI18N
+pkgver=0.06
+pkgrel=8
+pkgdesc="Line wrapping module with support for multibyte, fullwidth, and combining characters and languages without whitespaces between words"
+arch=('any')
+license=('GPL' 'PerlArtistic')
+url="http://search.cpan.org/dist/${_realname}/"
+depends=('perl-text-charwidth')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/K/KU/KUBOTA/${_realname}-${pkgver}.tar.gz")
+md5sums=('0799c16a00926e6c18d400c2e2861d5f')
+
+build() {
+ cd ${srcdir}/${_realname}-${pkgver}
+ # install module in vendor directories.
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+ make test
+}
+
+package() {
+ cd ${srcdir}/${_realname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+
+ # remove perllocal.pod, .packlist, and empty dirs:
+ find ${pkgdir} -name '.packlist' -delete
+ find ${pkgdir} -name 'perllocal.pod' -delete
+}
diff --git a/abs/core/perl_modules/perl-tie-simple/PKGBUILD b/abs/core/perl_modules/perl-tie-simple/PKGBUILD
index 14324be..2826b0b 100644
--- a/abs/core/perl_modules/perl-tie-simple/PKGBUILD
+++ b/abs/core/perl_modules/perl-tie-simple/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 149417 2012-02-07 16:25:32Z heftig $
+# $Id$
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
pkgname=perl-tie-simple
_realname=Tie-Simple
-pkgver=1.03
-pkgrel=2
+pkgver=1.04
+pkgrel=3
pkgdesc="Variable ties made easier: much, much, much easier..."
arch=(any)
license=(PerlArtistic GPL)
@@ -12,7 +12,7 @@ depends=(perl)
url="http://search.cpan.org/dist/Tie-Simple"
options=('!emptydirs')
source=("http://search.cpan.org/CPAN/authors/id/H/HA/HANENKAMP/$_realname-$pkgver.tar.gz")
-md5sums=('198f7ec68c9b954251c4ed163ee112c7')
+md5sums=('e5b49588609d6212d3b9bc808cab7aa4')
build() {
cd "$srcdir/$_realname-$pkgver"
diff --git a/abs/core/perl_modules/perl-time-format/PKGBUILD b/abs/core/perl_modules/perl-time-format/PKGBUILD
index 5d240f7..082af78 100644
--- a/abs/core/perl_modules/perl-time-format/PKGBUILD
+++ b/abs/core/perl_modules/perl-time-format/PKGBUILD
@@ -5,7 +5,7 @@
pkgname=perl-time-format
pkgver=1.12
-pkgrel=2
+pkgrel=4
pkgdesc="Perl/CPAN Module Time::Format : Easytouse datetime formatting"
arch=(any)
url="http://search.cpan.org/dist/Time-Format"
diff --git a/abs/core/perl_modules/perl-time-modules/PKGBUILD b/abs/core/perl_modules/perl-time-modules/PKGBUILD
index fd41453..bd273e1 100644
--- a/abs/core/perl_modules/perl-time-modules/PKGBUILD
+++ b/abs/core/perl_modules/perl-time-modules/PKGBUILD
@@ -1,18 +1,18 @@
-# $Id: PKGBUILD 62353 2012-01-19 16:06:20Z seblu $
-# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
+# $Id$
+# Maintainer: Sébastien Luttringer
# Contributor: Alessandro Sagratini <ale_sagra at hotmail dot com>
# Contributor: Philippe LUC <philfifi@gmail.com>
pkgname=perl-time-modules
-pkgver=2011.0517
-pkgrel=1
-pkgdesc='Perl time related module'
-url="http://search.cpan.org/~muir/Time-modules-$pkgver/"
+pkgver=2013.0912
+pkgrel=3
+pkgdesc='Perl time related modules'
+url='http://search.cpan.org/~muir/Time-modules/'
license=('GPL' 'PerlArtistic')
options=('!emptydirs')
arch=('any')
source=("http://search.cpan.org/CPAN/authors/id/M/MU/MUIR/modules/Time-modules-$pkgver.tar.gz")
-md5sums=('67204ebc06211a877665765f91dc4e51')
+md5sums=('a4330144e24c356ca4c925d14e5ab06b')
build() {
cd Time-modules-$pkgver
@@ -25,4 +25,4 @@ package() {
make install DESTDIR="$pkgdir/"
}
-# vim:set ts=2 sw=2 ft=sh et:
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/perl_modules/perl-timedate/PKGBUILD b/abs/core/perl_modules/perl-timedate/PKGBUILD
index bd7d0e3..041ee58 100644
--- a/abs/core/perl_modules/perl-timedate/PKGBUILD
+++ b/abs/core/perl_modules/perl-timedate/PKGBUILD
@@ -1,37 +1,37 @@
# $Id$
-# Maintainer: Kevin Piche <kevin@archlinux.org>
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Contributor: Kevin Piche <kevin@archlinux.org>
# Contributor: Manolis Tzanidakis
pkgname=perl-timedate
_realname=TimeDate
-pkgver=1.20
-pkgrel=2
+pkgver=2.30
+pkgrel=4
pkgdesc="Date formating subroutines"
-arch=(any)
+arch=('any')
license=('PerlArtistic')
url="http://search.cpan.org/dist/${_realname}/"
-depends=('perl>=5.10.0')
-source=(http://www.cpan.org/authors/id/G/GB/GBARR/${_realname}-${pkgver}.tar.gz)
-options=(!emptydirs)
+depends=('perl')
replaces=('timedate')
provides=('timedate')
-md5sums=('7da7452bce4c684e4238e6d09b390200')
+options=('!emptydirs')
+source=("http://www.cpan.org/authors/id/G/GB/GBARR/${_realname}-${pkgver}.tar.gz")
+md5sums=('b1d91153ac971347aee84292ed886c1c')
build() {
- cd $srcdir/${_realname}-${pkgver}
+ cd ${_realname}-${pkgver}
# install module in vendor directories.
perl Makefile.PL INSTALLDIRS=vendor
make
+}
+
+check() {
+ cd ${_realname}-${pkgver}
make test
}
package() {
- cd $srcdir/${_realname}-${pkgver}
- make install DESTDIR=${pkgdir}
-
- # remove perllocal.pod and .packlist
- find ${pkgdir} -name perllocal.pod -delete
- find ${pkgdir} -name .packlist -delete
+ cd ${_realname}-${pkgver}
+ make install DESTDIR="${pkgdir}"
}
-# vim: ts=2 sw=2 et ft=sh
diff --git a/abs/core/perl_modules/perl-tk-tablematrix/PKGBUILD b/abs/core/perl_modules/perl-tk-tablematrix/PKGBUILD
index 4244683..6b53fda 100644
--- a/abs/core/perl_modules/perl-tk-tablematrix/PKGBUILD
+++ b/abs/core/perl_modules/perl-tk-tablematrix/PKGBUILD
@@ -1,25 +1,38 @@
-# $Id: PKGBUILD,v 1.8 2008/03/24 17:11:47 sergej Exp $
-# Maintainer: Sergej Pupykin <sergej@aur.archlinux.org>
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Charles Mauch <cmauch@gmail.com>
pkgname=perl-tk-tablematrix
pkgver=1.23
-pkgrel=4
+pkgrel=18
pkgdesc="Display data in TableSpreadsheet format"
-arch=("i686" "x86_64")
-url="http://search.cpan.org/CERNEY/Tk-TableMatrix"
+arch=("x86_64")
+url="http://search.cpan.org/dist/Tk-TableMatrix"
license=("GPL" "PerlArtistic")
depends=('perl-tk')
options=('!emptydirs')
-source=("http://www.cpan.org/authors/id/C/CE/CERNEY/Tk-TableMatrix-$pkgver.tar.gz")
-md5sums=('6b7653d129bf1a8327054a88b58d6364')
+source=("https://www.cpan.org/authors/id/C/CE/CERNEY/Tk-TableMatrix-${pkgver}.tar.gz")
+sha256sums=('ce9ace8d1c1245b80ea6b2e72ee3e7f75ca4111026e403134b8ecad02ec931da')
build() {
- cd $startdir/src/Tk-TableMatrix-$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
- rm -f $startdir/pkg/usr/lib/perl5/vendor_perl/auto/Tk/pTk/extralibs.ld
+ cd Tk-TableMatrix-${pkgver}
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd Tk-TableMatrix-${pkgver}
+ make install DESTDIR="$pkgdir"
+
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
+ find "$pkgdir" -name 'extralibs.ld' -delete
+
+# 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/core/perl_modules/perl-tk/PKGBUILD b/abs/core/perl_modules/perl-tk/PKGBUILD
index 6d9a17a..fbf5909 100644
--- a/abs/core/perl_modules/perl-tk/PKGBUILD
+++ b/abs/core/perl_modules/perl-tk/PKGBUILD
@@ -1,37 +1,33 @@
# $Id$
-# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: François Charette <francois ατ archlinux δοτ org>
# Contributor: Jason Chu <jchu@xentac.net>
# Contributor: Juergen Hoetzel <juergen@archlinux.org>
pkgname=perl-tk
-pkgver=804.032
-pkgrel=3
+pkgver=804.034
+pkgrel=1
pkgdesc="A graphical user interface toolkit for Perl"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://search.cpan.org/dist/Tk"
license=('PerlArtistic' 'GPL' 'custom')
depends=('libpng' 'libjpeg' 'tk' 'perl')
+checkdepends=('xorg-server-xvfb' 'perl-devel-leak' 'perl-test-pod')
options=('!emptydirs' '!strip')
-source=(http://www.cpan.org/authors/id/S/SR/SREZIC/Tk-${pkgver}.tar.gz
- https://github.com/eserte/perl-tk/commit/ba3a92a779f7adcf655b7e45b40ee5b0cb79bc8b.patch
- https://github.com/eserte/perl-tk/commit/1ca4589ef5a87999ec564081900bc8fdaed83c74.patch)
+source=(http://www.cpan.org/authors/id/S/SR/SREZIC/Tk-${pkgver}.tar.gz)
+sha512sums=('8d04fd902db72f80f749256453703e40c94fd009c6a196c608dd3bde4eeb99f974a154d5f52b28baa9e67f75529f0180619989c16cae28a9417b647908de04b6')
build() {
cd Tk-$pkgver
- # FS#40692
- patch -p1 -i ../1ca4589ef5a87999ec564081900bc8fdaed83c74.patch
- patch -p1 -i ../ba3a92a779f7adcf655b7e45b40ee5b0cb79bc8b.patch
-
perl Makefile.PL INSTALLDIRS=vendor
make
}
-#check() {
-# cd Tk-$pkgver
-# make test
-#}
+check() {
+ cd Tk-$pkgver
+ xvfb-run make -j1 test
+}
package() {
cd Tk-$pkgver
@@ -42,7 +38,12 @@ package() {
"${pkgdir}/usr/share/licenses/${pkgname}/tk.license"
install -D -m644 pTk/Tix.license \
"${pkgdir}/usr/share/licenses/${pkgname}/tix.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;
}
-md5sums=('47a84c70d1fd254ccece208303e6e9d5'
- '27c00e07b221a41dd6113e677c15af5d'
- 'ea4ef20075bfd7da735a87245feeb061')
diff --git a/abs/core/perl_modules/perl-tree-dag-node/PKGBUILD b/abs/core/perl_modules/perl-tree-dag-node/PKGBUILD
index f5c7216..dcb3df9 100644
--- a/abs/core/perl_modules/perl-tree-dag-node/PKGBUILD
+++ b/abs/core/perl_modules/perl-tree-dag-node/PKGBUILD
@@ -1,23 +1,28 @@
-# $Id: PKGBUILD 65974 2012-02-22 14:07:15Z spupykin $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=perl-tree-dag-node
-pkgver=1.06
-pkgrel=3
+pkgver=1.31
+pkgrel=1
pkgdesc="base class for trees"
arch=('any')
url="http://search.cpan.org/dist/Tree-DAG_Node"
license=('GPL' 'PerlArtistic')
+depends=('perl-file-slurp-tiny')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/C/CO/COGENT/Tree-DAG_Node-$pkgver.tar.gz)
-md5sums=('3b006f128bd1d8961fc57c466ffa05f2')
+source=(https://www.cpan.org/authors/id/R/RS/RSAVAGE/Tree-DAG_Node-$pkgver.tgz)
+sha256sums=('1c8ba69772568b3758054247097512c550efe31517c329fb65eef7afccc9d304')
build() {
- cd $srcdir/Tree-DAG_Node-$pkgver
+ cd "$srcdir"/Tree-DAG_Node-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
- make install DESTDIR=$pkgdir
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+}
+
+package() {
+ cd "$srcdir"/Tree-DAG_Node-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-try-tiny/PKGBUILD b/abs/core/perl_modules/perl-try-tiny/PKGBUILD
index f70a01e..821b68b 100644
--- a/abs/core/perl_modules/perl-try-tiny/PKGBUILD
+++ b/abs/core/perl_modules/perl-try-tiny/PKGBUILD
@@ -1,49 +1,32 @@
-# Maintainer: Justin Davis <jrcd83@gmail.com>
-# $Id: PKGBUILD 57540 2011-10-30 17:10:04Z juster $
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgname=perl-try-tiny
-pkgver=0.11
+pkgver=0.30
pkgrel=1
-pkgdesc="minimal try/catch with proper localization of \$@"
-arch=(any)
-license=(PerlArtistic GPL)
-options=(!emptydirs)
-makedepends=('perl-extutils-makemaker')
-checkdepends=('perl-test-simple')
-url=https://metacpan.org/release/Try-Tiny
-source=("http://search.cpan.org/CPAN/authors/id/D/DO/DOY/Try-Tiny-${pkgver}.tar.gz")
-md5sums=(4d2c8ff385ac3513edf4c042dd0eacbe)
-sha512sums=(42a98d0996e4195b1618e99080f67791ec9b09c8c4de669aafcbe75c609718d700a6831dd5a68d8f7bda563c29ce3a8495bbf548b8d38a155471875889d8c701)
-_distdir="${srcdir}/Try-Tiny-${pkgver}"
+pkgdesc="Minimal try/catch with proper localization of \$@"
+arch=('any')
+url="http://search.cpan.org/dist/Try-Tiny"
+license=('MIT')
+depends=('perl')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Try-Tiny-${pkgver}.tar.gz")
+sha512sums=('f523736ab0504ca0f7150be312e62988c4b9473a9e8469b0746dc8364945e2922c64c92e95e6c2b5792c5d6399dabea3d00aa45c065155b95519d5658a07216c')
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
- )
+ cd Try-Tiny-${pkgver}
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
}
check() {
- ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
- cd "$_distdir"
- make test
- )
+ cd Try-Tiny-${pkgver}
+ make test
}
package() {
- cd "$_distdir"
- make DESTDIR="$pkgdir" install
- find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+ cd Try-Tiny-${pkgver}
+ make DESTDIR="$pkgdir" install
+ # upstream typo :/
+ install -D -m644 LICENCE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
-
-# Local Variables:
-# mode: shell-script
-# sh-basic-offset: 2
-# End:
-# vim:set ts=2 sw=2 et:
diff --git a/abs/core/perl_modules/perl-unicode-linebreak/PKGBUILD b/abs/core/perl_modules/perl-unicode-linebreak/PKGBUILD
new file mode 100644
index 0000000..3ed46bc
--- /dev/null
+++ b/abs/core/perl_modules/perl-unicode-linebreak/PKGBUILD
@@ -0,0 +1,39 @@
+# $ID$
+# Maintainer: Rémy Oudompheng <remy@archlinux.org>
+
+pkgname=perl-unicode-linebreak
+_dist=Unicode-LineBreak
+pkgver=2017.004
+pkgrel=2
+pkgdesc="UAX #14 Unicode Line Breaking Algorithm"
+arch=('x86_64')
+url="https://metacpan.org/release/${_dist}"
+license=('PerlArtistic' 'GPL')
+depends=('perl' 'perl-mime-charset' 'libthai')
+checkdepends=('perl-test-pod')
+options=('!emptydirs')
+source=(https://cpan.metacpan.org/authors/id/N/NE/NEZUMI/${_dist}-${pkgver}.tar.gz)
+# Checksums from https://cpan.metacpan.org/authors/id/N/NE/NEZUMI/CHECKSUMS
+md5sums=('de7672227922260ac92d20bbad29660b')
+sha256sums=('655bc3c4cb60ad0770d97816716cfe322f24e602c70e595f5941dfa02c40cb76')
+
+build() {
+ cd "${srcdir}/${_dist}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
+ perl Makefile.PL
+ make
+}
+
+check() {
+ cd "${srcdir}/${_dist}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ export PERL_MM_USE_DEFAULT=1
+ make test
+}
+
+package() {
+ cd "${srcdir}/${_dist}-${pkgver}"
+ unset PERL5LIB PERL_MM_OPT PERL_MB_OPT PERL_LOCAL_LIB_ROOT
+ make install INSTALLDIRS=vendor DESTDIR="$pkgdir"
+}
diff --git a/abs/core/perl_modules/perl-unicode-map/PKGBUILD b/abs/core/perl_modules/perl-unicode-map/PKGBUILD
index 1d03e86..d3dc5ef 100644
--- a/abs/core/perl_modules/perl-unicode-map/PKGBUILD
+++ b/abs/core/perl_modules/perl-unicode-map/PKGBUILD
@@ -1,30 +1,50 @@
-# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
-# Contributor: Ross melin <rdmelin@gmail.com>
+# Contributor: John D Jones III <j[nospace]n[nospace]b[nospace]e[nospace]k[nospace]1972 -_AT_- the domain name google offers a mail service at ending in dot com>
+# Generator : CPANPLUS::Dist::Arch 1.27
-# Required by zoneminder
-
-pkgname=perl-unicode-map
-pkgver=0.112
-pkgrel=2
-pkgdesc="Unicode::Map"
+pkgname='perl-unicode-map'
+pkgver='0.112'
+pkgrel='3'
+pkgdesc="V0.112 - maps charsets from and to utf16 unicode "
arch=('i686' 'x86_64')
-url="http://search.cpan.org/~MSCHWARTZ/Unicode-Map"
-license=('GPL' 'PerlArtistic')
-depends=('perl')
+license=('PerlArtistic' 'GPL')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/M/MS/MSCHWARTZ/Unicode-Map-$pkgver.tar.gz)
+depends=('perl>=0')
+makedepends=()
+url='http://search.cpan.org/dist/Unicode-Map'
+source=('http://search.cpan.org/CPAN/authors/id/M/MS/MSCHWARTZ/Unicode-Map-0.112.tar.gz')
md5sums=('edaa8fc5ddf0e5d805e274283dd0625d')
+sha512sums=('f66961ee84db7316289176cf43ddb8366ecfaf614130f8b1018931a92b96d16a97f231da6fdd1d8c1bd95ddd50f4b93d82ff87affbbd1162c894b1f302f27d4f')
+_distdir="Unicode-Map-0.112"
build() {
- cd $startdir/src/Unicode-Map-$pkgver
- eval `perl -V:archname`
- PERL_MM_USE_DEFAULT=1 /usr/bin/perl Makefile.PL \
- INSTALLDIRS=vendor || return 1
-
- /usr/bin/make || return 1
- /usr/bin/make DESTDIR=$startdir/pkg install || return 1
- /usr/bin/find $startdir/pkg -name '.packlist' -delete
- /usr/bin/find $startdir/pkg -name '*.pod' -delete
+ ( 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 "$srcdir/$_distdir"
+ /usr/bin/perl Makefile.PL
+ make
+ )
+}
+
+check() {
+ cd "$srcdir/$_distdir"
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ make test
+ )
+}
+
+package() {
+ cd "$srcdir/$_distdir"
+ make 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/core/perl_modules/perl-unicode-string/PKGBUILD b/abs/core/perl_modules/perl-unicode-string/PKGBUILD
index 06ebb3e..1ff763b 100644
--- a/abs/core/perl_modules/perl-unicode-string/PKGBUILD
+++ b/abs/core/perl_modules/perl-unicode-string/PKGBUILD
@@ -1,28 +1,33 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
-# Maintainer: James Rayner <iphitus@gmail.com>
+# Maintainer: Simon Perry <aur [at] sanxion [dot] net>
+# Contributor: James Rayner <iphitus@gmail.com>
# Contributor: Andrew Simmons <andrew.simmons@gmail.com>
pkgname=perl-unicode-string
_realname=Unicode-String
-pkgver=2.09
+pkgver=2.10
pkgrel=3
pkgdesc="String of Unicode characters for perl (UCS2/UTF16)"
-arch=(i686 x86_64)
+arch=('arm' 'armv6h' 'armv7h' 'i686' 'x86_64')
license=('PerlArtistic')
url="http://search.cpan.org/dist/${_realname}/"
-depends=('perl>=5.10.0')
+depends=('perl')
options=(!emptydirs)
-source=(http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/${_realname}-${pkgver}.tar.gz)
-md5sums=('553e68e603723bf7c631f8701ab0d678')
+source=(http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/GAAS/${_realname}-${pkgver}.tar.gz)
+sha256sums=('894a110ece479546af8afec0972eec7320c86c4dea4e6b354dff3c7526ba9b68')
build() {
- cd ${startdir}/src/${_realname}-${pkgver}
- # install module in vendor directories.
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
- make || return 1
- make install DESTDIR=${startdir}/pkg || return 1
+ cd "${srcdir}/${_realname}-${pkgver}"
+ # in stall module in vendor directories.
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "${srcdir}/${_realname}-${pkgver}"
+ make test
+}
- # remove perllocal.pod and .packlist
- find ${startdir}/pkg -name perllocal.pod -delete
- find ${startdir}/pkg -name .packlist -delete
+package() {
+ cd "${srcdir}/${_realname}-${pkgver}"
+ make install DESTDIR="${pkgdir}"
}
diff --git a/abs/core/perl_modules/perl-unicode-utf8simple/PKGBUILD b/abs/core/perl_modules/perl-unicode-utf8simple/PKGBUILD
index a5b9dfb..b3fb861 100644
--- a/abs/core/perl_modules/perl-unicode-utf8simple/PKGBUILD
+++ b/abs/core/perl_modules/perl-unicode-utf8simple/PKGBUILD
@@ -1,23 +1,29 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Allan McRae <mcrae_allan@hotmail.com>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-unicode-utf8simple
pkgver=1.06
-pkgrel=2
+pkgrel=6
pkgdesc="Conversions to/from UTF8 from/to characterse"
-arch=('i686' 'x86_64')
-url="http://search.cpan.org/~GUS/Unicode-UTF8simple"
+arch=('any')
+url="http://search.cpan.org/dist/Unicode-UTF8simple"
license=('GPL' 'PerlArtistic')
depends=('perl>=5.10.0')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/G/GU/GUS/Unicode-UTF8simple-$pkgver.tar.gz)
-md5sums=('1d90907170ed41690a572a2d6ed6e7da')
+source=(https://www.cpan.org/authors/id/G/GU/GUS/Unicode-UTF8simple-$pkgver.tar.gz)
+sha256sums=('e1249ac08daceb8a83c170c00810001f15d73418e9595711bee663d0130c0fe5')
build() {
- cd $startdir/src/Unicode-UTF8simple-$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
+ cd "$srcdir"/Unicode-UTF8simple-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+package() {
+ cd "$srcdir"/Unicode-UTF8simple-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-uri/PKGBUILD b/abs/core/perl_modules/perl-uri/PKGBUILD
index 7f18b32..c6b5531 100644
--- a/abs/core/perl_modules/perl-uri/PKGBUILD
+++ b/abs/core/perl_modules/perl-uri/PKGBUILD
@@ -1,21 +1,22 @@
-# $Id: PKGBUILD 140684 2011-10-18 03:20:44Z eric $
-# Maintainer: eric <eric@archlinux.org>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Manolis Tzanidakis
# Contributor: Firmicus <francois.archlinux.org>
pkgname=perl-uri
_realname=URI
-pkgver=1.59
+pkgver=1.74
pkgrel=1
pkgdesc="Uniform Resource Identifiers (absolute and relative)"
arch=('any')
url="http://search.cpan.org/dist/${_realname}/"
license=('PerlArtistic')
-depends=('perl>=5.10.0')
+depends=('perl')
+checkdepends=('perl-test-needs')
provides=('perl-uri-escape=3.30')
options=('!emptydirs')
-source=(http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/${_realname}-$pkgver.tar.gz)
-md5sums=('fecebf8fa20e2d26ea4a1649c095e96e')
+source=("http://cpan.metacpan.org/authors/id/E/ET/ETHER/${_realname}-${pkgver}.tar.gz")
+sha512sums=('b537bd09c355989a2bb1919e2c228cf189e57f993add4246fa482d8ee5ec814266c6fb3229befce2f294456ee784a819d9a54013c43a2ad41b5d8914fabf046b')
build() {
cd "${srcdir}/${_realname}-$pkgver"
@@ -24,6 +25,11 @@ build() {
make
}
+check() {
+ cd "${srcdir}/${_realname}-${pkgver}"
+ make test
+}
+
package() {
cd "${srcdir}/${_realname}-$pkgver"
make install DESTDIR="${pkgdir}"
diff --git a/abs/core/perl_modules/perl-variable-magic/PKGBUILD b/abs/core/perl_modules/perl-variable-magic/PKGBUILD
new file mode 100644
index 0000000..e13315d
--- /dev/null
+++ b/abs/core/perl_modules/perl-variable-magic/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id$
+# Maintainer: Sergej Pupykin <arch+pub@sergej.pp.ru>
+# Maintainer: Maxwell Pray a.k.a. Synthead <synthead@gmail.com>
+# Contributor: Justin Davis <jrcd83@gmail.com>
+
+pkgname="perl-variable-magic"
+_cpanname="Variable-Magic"
+pkgver=0.62
+pkgrel=1
+pkgdesc="Associate user-defined magic to variables from Perl."
+arch=("x86_64")
+license=("PerlArtistic" "GPL")
+options=("!emptydirs")
+depends=("perl")
+url="http://search.cpan.org/dist/$_cpanname"
+source=("http://search.cpan.org/CPAN/authors/id/V/VP/VPIT/$_cpanname-$pkgver.tar.gz")
+
+# Function to change to the working directory and set
+# environment variables to override undesired options.
+prepareEnvironment() {
+ cd "$srcdir/$_cpanname-$pkgver"
+ export \
+ PERL_MM_USE_DEFAULT="1" \
+ PERL_AUTOINSTALL="--skipdeps" \
+ PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='${pkgdir//\'/\\\'}'" \
+ PERL_MB_OPT="--installdirs vendor --destdir '${pkgdir//\'/\\\'}'" \
+ MODULEBUILDRC="/dev/null"
+}
+sha256sums=('3f9a18517e33f006a9c2fc4f43f01b54abfe6ff2eae7322424f31069296b615c')
+
+build() {
+ prepareEnvironment
+ /usr/bin/perl Makefile.PL
+ make
+}
+
+check() {
+ prepareEnvironment
+ make test
+}
+
+package() {
+ prepareEnvironment
+ make install
+
+ # Remove "perllocal.pod" and ".packlist".
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+# 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/core/perl_modules/perl-wsdl/PKGBUILD b/abs/core/perl_modules/perl-wsdl/PKGBUILD
index e2c580f..9e51bd3 100644
--- a/abs/core/perl_modules/perl-wsdl/PKGBUILD
+++ b/abs/core/perl_modules/perl-wsdl/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=perl-wsdl
pkgver=3.003
-pkgrel=1
+pkgrel=2
pkgdesc="SOAP-WSDL provides a SOAP client with WSDL support"
arch=(any)
url="http://search.cpan.org/~swalters/SOAP-WSDL/"
diff --git a/abs/core/perl_modules/perl-www-mechanize/PKGBUILD b/abs/core/perl_modules/perl-www-mechanize/PKGBUILD
index ea4e61b..6b76209 100644
--- a/abs/core/perl_modules/perl-www-mechanize/PKGBUILD
+++ b/abs/core/perl_modules/perl-www-mechanize/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 66104 2012-02-23 01:05:44Z spupykin $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Francois Charette <firmicus@gmx.net>
pkgname=perl-www-mechanize
-pkgver=1.72
+pkgver=1.88
pkgrel=1
pkgdesc="Automates web page form & link interaction"
arch=(any)
@@ -12,14 +12,18 @@ license=('GPL' 'PerlArtistic')
depends=('perl-libwww' 'perl-html-parser' 'perl-uri' 'perl-http-response-encoding'
'perl-http-server-simple' 'perl-test-warn' 'perl-html-form')
options=('!emptydirs')
-source=(http://search.cpan.org/CPAN/authors/id/J/JE/JESSE/WWW-Mechanize-$pkgver.tar.gz)
-md5sums=('231709669de7d912185b91e454206532')
+source=(http://search.cpan.org/CPAN/authors/id/O/OA/OALDERS/WWW-Mechanize-$pkgver.tar.gz)
+sha256sums=('36d97e778ab911ab5a762d551541686cbf3463c571f474322f7b5da77f50a879')
build() {
- cd $srcdir/WWW-Mechanize-$pkgver
+ cd "$srcdir"/WWW-Mechanize-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
- make install DESTDIR=$pkgdir
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+}
+
+package() {
+ cd "$srcdir"/WWW-Mechanize-$pkgver
+ make install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-www-robotrules/PKGBUILD b/abs/core/perl_modules/perl-www-robotrules/PKGBUILD
index 790cf73..94d7f6e 100644
--- a/abs/core/perl_modules/perl-www-robotrules/PKGBUILD
+++ b/abs/core/perl_modules/perl-www-robotrules/PKGBUILD
@@ -1,49 +1,30 @@
-# Packager: Justin "juster" Davis <jrcd83@gmail.com>
-# $Id: PKGBUILD 150764 2012-02-21 20:29:03Z juster $
+# $Id$
+# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=perl-www-robotrules
pkgver=6.02
-pkgrel=1
-pkgdesc="database of robots.txt-derived permissions"
-arch=(any)
-license=(PerlArtistic GPL)
-options=(!emptydirs)
-depends=('perl>=5.8.1' 'perl-uri>=1.10')
-conflicts=('perl-libwww<6')
-url=https://metacpan.org/release/WWW-RobotRules
-source=("http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/WWW-RobotRules-${pkgver}.tar.gz")
-md5sums=(b7186e8b8b3701e70c22abf430742403)
-sha512sums=(781a2fc90e4efed901a91ecf4f2aaac2684409c6a75a8434ff140654838bb05d11f8fa760642e20eee96450d3ced6815a4dab11a4245bc8120c69ca68ab49e44)
-_distdir="${srcdir}/WWW-RobotRules-${pkgver}"
+pkgrel=4
+pkgdesc="Database of robots.txt-derived permissions"
+arch=('any')
+url="https://metacpan.org/release/WWW-RobotRules"
+license=('PerlArtistic' 'GPL')
+depends=('perl' 'perl-uri')
+options=('!emptydirs')
+source=(http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/WWW-RobotRules-${pkgver}.tar.gz)
+sha1sums=('e158e6559307878b32d8e4c241bf257c2bc88ebb')
-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
-)
+build() {
+ cd "${srcdir}/WWW-RobotRules-${pkgver}"
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
-check()
-(
- export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
- cd "$_distdir"
- make test
-)
+check() {
+ cd "${srcdir}/WWW-RobotRules-${pkgver}"
+ make test
+}
package() {
- cd "$_distdir"
- make DESTDIR="$pkgdir" install
- find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+ cd "${srcdir}/WWW-RobotRules-${pkgver}"
+ make DESTDIR="${pkgdir}" install
}
-
-# Local Variables:
-# mode: shell-script
-# sh-basic-offset: 2
-# End:
-# vim:set ts=2 sw=2 et:
diff --git a/abs/core/perl_modules/perl-x10/PKGBUILD b/abs/core/perl_modules/perl-x10/PKGBUILD
index 51283d5..bfcfaa1 100644
--- a/abs/core/perl_modules/perl-x10/PKGBUILD
+++ b/abs/core/perl_modules/perl-x10/PKGBUILD
@@ -1,30 +1,50 @@
-# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
-# Contributor: Ross melin <rdmelin@gmail.com>
+# Contributor: John D Jones III <jnbek1972 -_AT_- g m a i l -_Dot_- com>
+# Generator : CPANPLUS::Dist::Arch 1.29
-# Required by zoneminder
-
-pkgname=perl-x10
-pkgver=0.03
-pkgrel=2
-pkgdesc="X10"
-arch=('i686' 'x86_64')
-url="http://search.cpan.org/~ROBF/X10"
-license=('GPL' 'PerlArtistic')
-depends=('perl-astro-suntime>=0.01' 'perl-device-serialport' 'perl-time-modules')
+pkgname='perl-x10'
+pkgver='0.03'
+pkgrel='3'
+pkgdesc="Manage X10 devices in Perl"
+arch=('any')
+license=('PerlArtistic' 'GPL')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/R/RO/ROBF/X10-$pkgver.tar.gz)
+depends=('perl-astro-suntime>=0.01' 'perl-device-serialport' 'perl-time-modules')
+makedepends=()
+url='http://search.mcpan.org/dist/X10'
+source=('http://search.mcpan.org/CPAN/authors/id/R/RO/ROBF/X10-0.03.tar.gz')
md5sums=('056b3d98fab545865148b948de6784c7')
+sha512sums=('6ed2b9526732dc5f704ceb94f3a9abb51c208aabb6f127480046ce1f01ecf763e4de2dcb5bf52ef598831dbd5ba78ff9d108238001070076b0cc05c7681dea2f')
+_distdir="X10-0.03"
build() {
- cd $startdir/src/X10-$pkgver
- eval `perl -V:archname`
- PERL_MM_USE_DEFAULT=1 /usr/bin/perl Makefile.PL \
- INSTALLDIRS=vendor || return 1
-
- /usr/bin/make || return 1
- /usr/bin/make DESTDIR=$startdir/pkg install || return 1
- /usr/bin/find $startdir/pkg -name '.packlist' -delete
- /usr/bin/find $startdir/pkg -name '*.pod' -delete
+ ( 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 "$srcdir/$_distdir"
+ /usr/bin/perl Makefile.PL
+ make
+ )
+}
+
+check() {
+ cd "$srcdir/$_distdir"
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ make test
+ )
+}
+
+package() {
+ cd "$srcdir/$_distdir"
+ make 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/core/perl_modules/perl-xml-dom/PKGBUILD b/abs/core/perl_modules/perl-xml-dom/PKGBUILD
index 07e39f2..767a9c0 100644
--- a/abs/core/perl_modules/perl-xml-dom/PKGBUILD
+++ b/abs/core/perl_modules/perl-xml-dom/PKGBUILD
@@ -1,14 +1,16 @@
-# Maintainer: kfgz <kfgz at interia pl>
+# Maintainer: Brian Bidulock <bidulock@openss7.org>
+# Contributor: kfgz <kfgz at interia pl>
# Contributor: François Charette <firmicus at gmx dot net>
pkgname=perl-xml-dom
pkgver=1.44
-pkgrel=7
+pkgrel=9
pkgdesc="Implements Level 1 of W3's DOM"
arch=('i686' 'x86_64')
url="http://search.cpan.org/dist/XML-DOM"
license=('GPL' 'PerlArtistic')
-depends=('perl>=5.10.0' 'perlxml>=2.30' 'perl-xml-regexp' 'libxml-perl>=0.07' 'perl-libwww')
+#'perlxml>=2.30'
+depends=('perl>=5.10.0' 'perl-xml-regexp' 'libxml-perl>=0.07' 'perl-libwww')
options=('!emptydirs')
source=(http://www.cpan.org/authors/id/T/TJ/TJMATHER/XML-DOM-${pkgver}.tar.gz)
md5sums=('1ec2032a06e5762984f7a332c199c205')
@@ -19,9 +21,20 @@ build() {
make
}
+_perl_depends() {
+# 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;
+}
+
package() {
cd ${srcdir}/XML-DOM-${pkgver}
make install DESTDIR=${pkgdir}
find ${pkgdir} -name '.packlist' -delete
find ${pkgdir} -name '*.pod' -delete
+ _perl_depends
}
diff --git a/abs/core/perl_modules/perl-xml-libxml/PKGBUILD b/abs/core/perl_modules/perl-xml-libxml/PKGBUILD
index 24c6acd..ad82aab 100644
--- a/abs/core/perl_modules/perl-xml-libxml/PKGBUILD
+++ b/abs/core/perl_modules/perl-xml-libxml/PKGBUILD
@@ -1,29 +1,44 @@
-# Maintainer: François Charette <francois.archlinux.org>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Jonathan Steel <jsteel@aur.archlinux.org>
+# Contributor: Justin "juster" Davis <jrcd83@gmail.com>
+# Contributor: François Charette <francois.archlinux.org>
pkgname=perl-xml-libxml
-pkgver=1.70
-pkgrel=2
+pkgver=2.0132
+pkgrel=1
pkgdesc="Interface to the libxml library"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://search.cpan.org/dist/XML-LibXML"
license=('GPL')
-depends=('libxml2' 'perl-xml-sax>=0.11' 'perl-xml-namespacesupport>=1.07')
+depends=('libxml2' 'perl-xml-sax' 'perl-xml-namespacesupport')
+checkdepends=('perl-test-pod' 'perl-test-leaktrace' 'perl-cpan-changes' 'perl-uri')
provides=('perl-libxml' 'perl-xml-libxml-common')
replaces=('perl-libxml' 'perl-xml-libxml-common')
-conflicts=('perl-libxml' 'perl-xml-libxml-common')
-install=perl-xml-libxml.install
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/P/PA/PAJAS/XML-LibXML-$pkgver.tar.gz)
+install=perl-xml-libxml.install
+source=(http://www.cpan.org/authors/id/S/SH/SHLOMIF/XML-LibXML-$pkgver.tar.gz)
+sha512sums=('3df1cb67ea955133492f2b6f8def2b28079c59e99170a31820aca69ea81686c4b67171509f1b311faab9389d200c4a24942b3950d7c0730ff1233a009b398fce')
build() {
- cd $srcdir/XML-LibXML-$pkgver
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
- make || return 1
+ cd "$srcdir"/XML-LibXML-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
}
+
+check() {
+ cd "$srcdir"/XML-LibXML-$pkgver
+ make test
+}
+
package() {
- cd $srcdir/XML-LibXML-$pkgver
- make pure_install doc_install DESTDIR=$pkgdir || return 1
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+ cd "$srcdir"/XML-LibXML-$pkgver
+ make pure_install doc_install DESTDIR="$pkgdir"/
+# 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;
}
-md5sums=('33d4294f708e20c298cfe534d1166844')
diff --git a/abs/core/perl_modules/perl-xml-libxml/perl-xml-libxml.install b/abs/core/perl_modules/perl-xml-libxml/perl-xml-libxml.install
index e92cacc..3a8eb1e 100644
--- a/abs/core/perl_modules/perl-xml-libxml/perl-xml-libxml.install
+++ b/abs/core/perl_modules/perl-xml-libxml/perl-xml-libxml.install
@@ -1,26 +1,23 @@
-# Maintainer: François Charette <francois.archlinux.org>
+post_install() {
+ echo ":: Installing SAX XML Parsers"
+ perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::LibXML::SAX::Parser))->save_parsers()"
+ perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::LibXML::SAX))->save_parsers()"
+}
-pkgname=perl-xml-libxml
-pkgver=1.70
-pkgrel=2
-pkgdesc="Interface to the libxml library"
-arch=('i686' 'x86_64')
-url="http://search.cpan.org/dist/XML-LibXML"
-license=('GPL')
-depends=('libxml2' 'perl-xml-sax>=0.11' 'perl-xml-namespacesupport>=1.07')
-provides=('perl-libxml' 'perl-xml-libxml-common')
-replaces=('perl-libxml' 'perl-xml-libxml-common')
-conflicts=('perl-libxml' 'perl-xml-libxml-common')
-install=perl-xml-libxml.install
-options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/P/PA/PAJAS/XML-LibXML-$pkgver.tar.gz)
+post_upgrade() {
+ if [[ ! -f /usr/share/perl5/vendor_perl/XML/SAX/ParserDetails.ini ]]; then
+ post_install
+ else
+ libxmlcount=`grep -c XML::LibXML::SAX /usr/share/perl5/vendor_perl/XML/SAX/ParserDetails.ini`
+ if [[ $libxmlcount == 0 ]]; then
+ post_install
+ fi
+ fi
+}
-build() {
- cd $srcdir/XML-LibXML-$pkgver
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
- make || return 1
- make pure_install doc_install DESTDIR=$pkgdir || return 1
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+pre_remove() {
+ if [[ -f /usr/share/perl5/vendor_perl/XML/SAX/ParserDetails.ini ]]; then
+ perl -MXML::SAX -e "XML::SAX->remove_parser(q(XML::LibXML::SAX::Parser))->save_parsers()"
+ perl -MXML::SAX -e "XML::SAX->remove_parser(q(XML::LibXML::SAX))->save_parsers()"
+ fi
}
-md5sums=('33d4294f708e20c298cfe534d1166844')
diff --git a/abs/core/perl_modules/perl-xml-libxslt/PKGBUILD b/abs/core/perl_modules/perl-xml-libxslt/PKGBUILD
index 708898b..69b9301 100644
--- a/abs/core/perl_modules/perl-xml-libxslt/PKGBUILD
+++ b/abs/core/perl_modules/perl-xml-libxslt/PKGBUILD
@@ -1,30 +1,41 @@
-# Id:$
-# Maintainer: François Charette <firmicus ατ gmx δοτ net>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Jonathan Steel <jsteel@aur.archlinux.org>
+# Contributor: Justin "juster" Davis <jrcd83@gmail.com>
+# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-xml-libxslt
-pkgver=1.70
-pkgrel=6
-pkgdesc="Interface to the gnome libxslt library "
-arch=('i686' 'x86_64')
+pkgver=1.96
+pkgrel=1
+pkgdesc="Interface to the gnome libxslt library"
+arch=('x86_64')
url="http://search.cpan.org/dist/XML-LibXSLT"
license=('GPL')
depends=('perl-xml-libxml' 'libxslt')
-source=(http://www.cpan.org/authors/id/P/PA/PAJAS/XML-LibXSLT-$pkgver.tar.gz)
-md5sums=('c63a7913999de076e5c911810f69b392')
+checkdepends=('perl-test-pod')
+options=('!emptydirs')
+source=(http://www.cpan.org/authors/id/S/SH/SHLOMIF/XML-LibXSLT-$pkgver.tar.gz)
+sha512sums=('7b6e22889c538bbd861c6420cd56893d229676d3afc1cf30e17cae48a4714139769a99a48a99f1dff52864f4989e410303007c07941625bf6bd12a24276c35e6')
build() {
- cd $srcdir/XML-LibXSLT-$pkgver
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ cd XML-LibXSLT-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
make
}
-check () {
- cd $srcdir/XML-LibXSLT-$pkgver
+check() {
+ cd XML-LibXSLT-$pkgver
make test
}
package() {
- cd $srcdir/XML-LibXSLT-$pkgver
- make install DESTDIR=$pkgdir
+ cd XML-LibXSLT-$pkgver
+ make DESTDIR="$pkgdir" install
+# 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/core/perl_modules/perl-xml-namespacesupport/PKGBUILD b/abs/core/perl_modules/perl-xml-namespacesupport/PKGBUILD
index a641a81..6f5b6e3 100644
--- a/abs/core/perl_modules/perl-xml-namespacesupport/PKGBUILD
+++ b/abs/core/perl_modules/perl-xml-namespacesupport/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 143952 2011-11-30 22:08:16Z giovanni $
+# $Id$
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-xml-namespacesupport
-pkgver=1.11
+pkgver=1.12
pkgrel=2
pkgdesc="Generic namespace helpers (ported from SAX2)"
arch=('any')
@@ -12,7 +12,7 @@ license=('GPL')
depends=('perl')
options=('!emptydirs')
source=("http://www.cpan.org/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-${pkgver}.tar.gz")
-md5sums=('222cca76161cd956d724286d36b607da')
+md5sums=('a8916c6d095bcf073e1108af02e78c97')
build() {
cd "${srcdir}/XML-NamespaceSupport-${pkgver}"
diff --git a/abs/core/perl_modules/perl-xml-parser/PKGBUILD b/abs/core/perl_modules/perl-xml-parser/PKGBUILD
index 3e2a9db..f790eca 100644
--- a/abs/core/perl_modules/perl-xml-parser/PKGBUILD
+++ b/abs/core/perl_modules/perl-xml-parser/PKGBUILD
@@ -1,42 +1,38 @@
-# $Id: PKGBUILD 160565 2012-06-02 10:28:38Z bluewind $
-# Maintainer:
-# Contributor: firmicus <francois@archlinux.org>
-# Contributor: dorphell <dorphell@archlinux.org>
-# Contributor: herb <hrose@archlinux.org>
+# $Id$
+# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=perl-xml-parser
-_realname=XML-Parser
-pkgver=2.41
-pkgrel=3
+pkgver=2.44
+pkgrel=6
pkgdesc="Expat-based XML parser module for perl"
-arch=('i686' 'x86_64')
+arch=('x86_64')
license=('GPL' 'PerlArtistic')
-url="http://search.cpan.org/dist/${_realname}/"
+url="http://search.cpan.org/dist/XML-Parser/"
depends=('perl' 'expat')
-replaces=('perlxml')
-provides=("perlxml=${pkgver}")
options=('!emptydirs')
-source=("http://search.cpan.org/CPAN/authors/id/T/TO/TODDR/${_realname}-${pkgver}.tar.gz")
-md5sums=('c320d2ffa459e6cdc6f9f59c1185855e')
+source=("http://search.cpan.org/CPAN/authors/id/T/TO/TODDR/XML-Parser-${pkgver}.tar.gz")
+sha1sums=('0ab6b932713ec1f9927a1b1c619b6889a5c12849')
build() {
- cd "${srcdir}/${_realname}-${pkgver}"
-
- # install module in vendor directories.
+ cd XML-Parser-${pkgver}
perl Makefile.PL INSTALLDIRS=vendor
make
}
check() {
- cd "${srcdir}/${_realname}-${pkgver}"
+ cd XML-Parser-${pkgver}
make test
}
package() {
- cd "${srcdir}/${_realname}-${pkgver}"
- make install DESTDIR="${pkgdir}"
+ cd XML-Parser-${pkgver}
+ make DESTDIR="${pkgdir}" install
- # remove perllocal.pod and .packlist.
- find "${pkgdir}" -name perllocal.pod -delete
- find "${pkgdir}" -name .packlist -delete
+# 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/core/perl_modules/perl-xml-regexp/PKGBUILD b/abs/core/perl_modules/perl-xml-regexp/PKGBUILD
index 639ee87..e94119f 100644
--- a/abs/core/perl_modules/perl-xml-regexp/PKGBUILD
+++ b/abs/core/perl_modules/perl-xml-regexp/PKGBUILD
@@ -2,16 +2,16 @@
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-xml-regexp
-pkgver=0.03
-pkgrel=7
+pkgver=0.04
+pkgrel=3
pkgdesc="Regular expressions for XML tokens"
arch=('any')
url="http://search.cpan.org/dist/XML-RegExp"
license=('GPL' 'PerlArtistic')
depends=('perl')
options=('!emptydirs')
-source=("http://www.cpan.org/authors/id/T/TJ/TJMATHER/XML-RegExp-${pkgver}.tar.gz")
-md5sums=('5826b24e0d05714e25c2bb04e1f1c09b')
+source=("https://www.cpan.org/authors/id/T/TJ/TJMATHER/XML-RegExp-${pkgver}.tar.gz")
+sha256sums=('df1990096036085c8e2d45904fe180f82bfed40f1a7e05243f334ea10090fc54')
build() {
cd XML-RegExp-${pkgver}
@@ -24,8 +24,8 @@ build() {
package() {
cd XML-RegExp-${pkgver}
- make install DESTDIR=${pkgdir}
+ make install DESTDIR="$pkgdir"
- find ${pkgdir} -name '.packlist' -delete
- find ${pkgdir} -name '*.pod' -delete
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-xml-rss/PKGBUILD b/abs/core/perl_modules/perl-xml-rss/PKGBUILD
index 0178106..4911253 100644
--- a/abs/core/perl_modules/perl-xml-rss/PKGBUILD
+++ b/abs/core/perl_modules/perl-xml-rss/PKGBUILD
@@ -1,29 +1,27 @@
-# $Id: PKGBUILD 65992 2012-02-22 14:14:06Z spupykin $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Francois Charette <firmicus@gmx.net>
pkgname=perl-xml-rss
-pkgver=1.49
-pkgrel=2
+pkgver=1.60
+pkgrel=1
pkgdesc="Parse or create Rich Site Summaries (RSS)"
arch=('any')
url="http://search.cpan.org/dist/XML-RSS"
license=('GPL' 'PerlArtistic')
depends=('perl-datetime' 'perl-datetime-format-mail' 'perl-datetime-format-w3cdtf'
- 'perl-html-parser' 'perlxml>=2.23')
+ 'perl-html-parser' 'perl-xml-parser')
options=('!emptydirs')
source=(http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/XML-RSS-$pkgver.tar.gz)
-md5sums=('b22c5ca9c226ca7b7698a9387f2f1908')
+sha256sums=('4b3359878bb1a2bc06dae7ed17b00143a2b89c814b8b12f6e2780f35b1528677')
build() {
- cd $srcdir/XML-RSS-$pkgver
+ cd "$srcdir"/XML-RSS-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
}
package() {
- cd $srcdir/XML-RSS-$pkgver
- make install DESTDIR=$pkgdir
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+ cd "$srcdir"/XML-RSS-$pkgver
+ make install DESTDIR="$pkgdir"
}
diff --git a/abs/core/perl_modules/perl-xml-sax-base/PKGBUILD b/abs/core/perl_modules/perl-xml-sax-base/PKGBUILD
index 7e3ae07..d304e33 100644
--- a/abs/core/perl_modules/perl-xml-sax-base/PKGBUILD
+++ b/abs/core/perl_modules/perl-xml-sax-base/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 143954 2011-11-30 22:11:53Z giovanni $
+# $Id$
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: James Hunt <lazy at brandnewmath dot com>
pkgname=perl-xml-sax-base
-pkgver=1.08
+pkgver=1.09
pkgrel=2
pkgdesc="Base class SAX Drivers and Filters"
arch=('any')
@@ -12,7 +12,7 @@ license=('GPL' 'PerlArtistic')
depends=('perl')
options=('!emptydirs')
source=("http://www.cpan.org/authors/id/G/GR/GRANTM/XML-SAX-Base-$pkgver.tar.gz")
-md5sums=('38c8c3247dfd080712596118d70dbe32')
+md5sums=('ec347a14065dd7aec7d9fb181b2d7946')
build() {
cd $srcdir/XML-SAX-Base-$pkgver
diff --git a/abs/core/perl_modules/perl-xml-sax-expat/PKGBUILD b/abs/core/perl_modules/perl-xml-sax-expat/PKGBUILD
new file mode 100644
index 0000000..2baf727
--- /dev/null
+++ b/abs/core/perl_modules/perl-xml-sax-expat/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Francois Charette <firmicus@gmx.net>
+
+pkgname=perl-xml-sax-expat
+pkgver=0.51
+pkgrel=5
+pkgdesc="SAX2 Driver for Expat (XML::Parser) "
+arch=('any')
+url="http://search.cpan.org/dist/XML-SAX-Expat"
+license=('GPL' 'PerlArtistic')
+depends=('perl-xml-namespacesupport' 'perl-xml-parser' 'perl-xml-sax')
+install=perl-xml-sax-expat.install
+options=('!emptydirs')
+source=(https://www.cpan.org/authors/id/B/BJ/BJOERN/XML-SAX-Expat-$pkgver.tar.gz)
+sha256sums=('4c016213d0ce7db2c494e30086b59917b302db8c292dcd21f39deebd9780c83f')
+
+build() {
+ cd "$srcdir"/XML-SAX-Expat-$pkgver
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+package(){
+ cd "$srcdir"/XML-SAX-Expat-$pkgver
+ make pure_install doc_install DESTDIR="$pkgdir"
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
+}
diff --git a/abs/core/perl_modules/perl-xml-sax-expat/perl-xml-sax-expat.install b/abs/core/perl_modules/perl-xml-sax-expat/perl-xml-sax-expat.install
new file mode 100644
index 0000000..a95c9e3
--- /dev/null
+++ b/abs/core/perl_modules/perl-xml-sax-expat/perl-xml-sax-expat.install
@@ -0,0 +1,17 @@
+post_install() {
+if [ ! -r /usr/lib/perl5/site_perl/current/XML/SAX/ParserDetails.ini ]; then
+ perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::SAX::Expat))->save_parsers()"
+fi
+}
+
+post_upgrade() {
+if [ ! -r /usr/lib/perl5/site_perl/current/XML/SAX/ParserDetails.ini ]; then
+ perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::SAX::Expat))->save_parsers()"
+fi
+}
+
+pre_remove() {
+ if [[ -f /usr/share/perl5/vendor_perl/XML/SAX/ParserDetails.ini ]]; then
+ perl -MXML::SAX -e "XML::SAX->remove_parser(q(XML::SAX::Expat))->save_parsers()"
+ fi
+}
diff --git a/abs/core/perl_modules/perl-xml-sax/PKGBUILD b/abs/core/perl_modules/perl-xml-sax/PKGBUILD
index 394b72f..39b6194 100644
--- a/abs/core/perl_modules/perl-xml-sax/PKGBUILD
+++ b/abs/core/perl_modules/perl-xml-sax/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 143956 2011-11-30 22:15:20Z giovanni $
+# $Id$
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-xml-sax
-pkgver=0.99
-pkgrel=3
+pkgver=1.00
+pkgrel=1
pkgdesc="Simple API for XML"
arch=('any')
url="http://search.cpan.org/dist/XML-SAX"
@@ -12,27 +12,24 @@ license=('GPL' 'PerlArtistic')
depends=('perl' 'perl-xml-sax-base' 'perl-xml-namespacesupport')
options=('!emptydirs')
install=perl-xml-sax.install
-source=("http://www.cpan.org/authors/id/G/GR/GRANTM/XML-SAX-$pkgver.tar.gz"
- 'perl-xml-sax.patch')
-md5sums=('290f5375ae87fdebfdb5bc3854019f24'
- 'f114c4aad3221d3e7d8314d13b84a869')
+source=("http://www.cpan.org/authors/id/G/GR/GRANTM/XML-SAX-$pkgver.tar.gz")
+sha512sums=('95553c9693d8a310747b4b86d4e80a58d4056b18cfc334f6979c98d0e9034a34253bfb17daecfc5bb28b1bd65e6baf52136f5135a969fadba86aa4148ea9bc1d')
build() {
- cd $srcdir/XML-SAX-$pkgver
- patch -Np1 -i "${srcdir}/perl-xml-sax.patch"
+ cd XML-SAX-$pkgver
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
}
check() {
- cd $srcdir/XML-SAX-$pkgver
+ cd XML-SAX-$pkgver
make test
}
package() {
- cd $srcdir/XML-SAX-$pkgver
- make install DESTDIR=$pkgdir
+ cd XML-SAX-$pkgver
+ PERLLIB=blib/lib make install DESTDIR="$pkgdir"
- find $pkgdir -name '.packlist' -delete
- find $pkgdir -name '*.pod' -delete
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
}
diff --git a/abs/core/perl_modules/perl-xml-sax/perl-xml-sax.patch b/abs/core/perl_modules/perl-xml-sax/perl-xml-sax.patch
deleted file mode 100644
index 880468b..0000000
--- a/abs/core/perl_modules/perl-xml-sax/perl-xml-sax.patch
+++ /dev/null
@@ -1,46 +0,0 @@
---- a/Makefile.PL 2011-09-04 23:37:48.000000000 +0200
-+++ b/Makefile.PL 2011-10-07 18:12:50.000000000 +0200
-@@ -12,43 +12,3 @@
- 'XML::NamespaceSupport' => 0.03,
- },
- );
--
--sub MY::install {
-- package MY;
-- my $script = shift->SUPER::install(@_);
--
-- # Only modify existing ParserDetails.ini if user agrees
--
-- my $write_ini_ok = 0;
--
-- eval { require XML::SAX };
-- if ($@) {
-- $write_ini_ok = 1;
-- }
-- else {
-- my $dir = File::Basename::dirname($INC{'XML/SAX.pm'});
-- if (-e File::Spec->catfile($dir, 'SAX', 'ParserDetails.ini')) {
-- $write_ini_ok =
-- ExtUtils::MakeMaker::prompt(
-- "Do you want XML::SAX to alter ParserDetails.ini?", "Y"
-- ) =~ /^y/i;
-- }
-- else {
-- $write_ini_ok = 1;
-- }
-- }
--
-- if ($write_ini_ok) {
-- $script =~ s/install :: (.*)$/install :: $1 install_sax_pureperl/m;
-- $script .= <<"INSTALL";
--
--install_sax_pureperl :
--\t\@\$(PERL) -MXML::SAX -e "XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()"
--
--INSTALL
--
-- }
--
-- return $script;
--}
--
diff --git a/abs/core/perl_modules/perl-xml-simple/PKGBUILD b/abs/core/perl_modules/perl-xml-simple/PKGBUILD
index 5d5b910..7c4af54 100644
--- a/abs/core/perl_modules/perl-xml-simple/PKGBUILD
+++ b/abs/core/perl_modules/perl-xml-simple/PKGBUILD
@@ -1,27 +1,33 @@
-# $Id: PKGBUILD 87823 2010-08-18 11:13:59Z jgc $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: kleptophobiac@gmail.com
pkgname=perl-xml-simple
_realname=XML-Simple
-pkgver=2.18
-pkgrel=3
+pkgver=2.25
+pkgrel=1
pkgdesc="Simple XML parser for perl"
-arch=(any)
+arch=('any')
license=('PerlArtistic')
url="http://search.cpan.org/dist/${_realname}/"
-depends=('perl-xml-parser' 'perl>=5.10.0')
+depends=('perl-xml-sax-expat')
options=('!emptydirs')
-source=(ftp://ftp.cpan.org/pub/CPAN/authors/id/G/GR/GRANTM/${_realname}-${pkgver}.tar.gz)
-md5sums=('593aa8001e5c301cdcdb4bb3b63abc33')
+source=("ftp://ftp.cpan.org/pub/CPAN/authors/id/G/GR/GRANTM/${_realname}-${pkgver}.tar.gz")
+sha512sums=('0f1a6a1bdb8f6ac6fa4deef33d09930eb4758b4a3ed4431624004ffa2b1eb02f0d6ce14cb4942162cb76f7aa39fea4ec6a71e1eb9ebd464b710db7024bdd990c')
build() {
cd "${srcdir}/${_realname}-${pkgver}"
perl Makefile.PL INSTALLDIRS=vendor
make
}
+
+check() {
+ cd "${srcdir}/${_realname}-${pkgver}"
+ make test
+}
+
package() {
cd "${srcdir}/${_realname}-${pkgver}"
make DESTDIR="${pkgdir}" install
}
-
diff --git a/abs/core/perl_modules/perl-xml-simple/__changelog b/abs/core/perl_modules/perl-xml-simple/__changelog
deleted file mode 100644
index 93bb26d..0000000
--- a/abs/core/perl_modules/perl-xml-simple/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-change perl dep to 'perl>=5.10.0'
diff --git a/abs/core/perl_modules/perl-xml-treepp/PKGBUILD b/abs/core/perl_modules/perl-xml-treepp/PKGBUILD
index a935963..04e55c6 100644
--- a/abs/core/perl_modules/perl-xml-treepp/PKGBUILD
+++ b/abs/core/perl_modules/perl-xml-treepp/PKGBUILD
@@ -2,7 +2,7 @@
pkgname=perl-xml-treepp
_authorpath=K/KA/KAWASAKI # this is uggly
pkgver=0.43
-pkgrel=2
+pkgrel=3
pkgdesc='XML::TreePP module parses an XML document and expands it for a hash tree.'
_dist=XML-TreePP
arch=('any')
diff --git a/abs/core/perl_modules/perl-xml-twig/PKGBUILD b/abs/core/perl_modules/perl-xml-twig/PKGBUILD
index b8be295..13e8acf 100644
--- a/abs/core/perl_modules/perl-xml-twig/PKGBUILD
+++ b/abs/core/perl_modules/perl-xml-twig/PKGBUILD
@@ -1,33 +1,31 @@
-# $Id: PKGBUILD 162138 2012-06-22 05:50:38Z eric $
-# Maintainer: damir <damir@archlinux.org>
-# Maintainer/Contributor: Francois Charette <firmicus@gmx.net>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgname=perl-xml-twig
-_realname=XML-Twig
-pkgver=3.40
-pkgrel=1
+pkgver=3.52
+pkgrel=3
pkgdesc="A module for easy processing of XML"
arch=('any')
-url="http://search.cpan.org/dist/${_realname}/"
+url="http://search.cpan.org/dist/XML-Twig/"
license=('GPL' 'PerlArtistic')
depends=('perl-xml-parser' 'perl-text-iconv' 'perl')
-checkdepends=('perl-libwww' 'perl-test-pod' 'perl-xml-simple' 'perl-html-tree')
+checkdepends=('perl-libwww' 'perl-test-pod' 'perl-xml-simple' 'perl-html-tree' 'perl-xml-xpath' 'perl-tie-ixhash')
options=('!emptydirs')
-source=("http://www.cpan.org/authors/id/M/MI/MIROD/${_realname}-${pkgver}.tar.gz")
-sha1sums=('37fec67bd2c60d53e861f13a64c1c9e0426858c2')
+source=("http://www.cpan.org/authors/id/M/MI/MIROD/XML-Twig-${pkgver}.tar.gz")
+sha1sums=('ce4ad6f055ea677ab5526e55677faffcc6457eb8')
build() {
- cd "${srcdir}/${_realname}-${pkgver}"
+ cd XML-Twig-${pkgver}
perl Makefile.PL -y INSTALLDIRS=vendor
make
}
check() {
- cd "${srcdir}/${_realname}-${pkgver}"
- make test
+ cd XML-Twig-${pkgver}
+ make test || warning "Tests failed"
}
package() {
- cd "${srcdir}/${_realname}-${pkgver}"
+ cd XML-Twig-${pkgver}
make DESTDIR="${pkgdir}" install
}
diff --git a/abs/core/perl_modules/perl-xml-writer/PKGBUILD b/abs/core/perl_modules/perl-xml-writer/PKGBUILD
index 2e4496a..8defa63 100644
--- a/abs/core/perl_modules/perl-xml-writer/PKGBUILD
+++ b/abs/core/perl_modules/perl-xml-writer/PKGBUILD
@@ -1,23 +1,32 @@
-# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
+# $Id$
+# Maintainer: Justin Davis <jrcd83@gmail.com>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-xml-writer
-pkgver=0.604
-pkgrel=1
+pkgver=0.625
+pkgrel=3
pkgdesc="Module for writing XML documents"
-arch=('i686' 'x86_64')
-url="http://search.cpan.org/~JOSEPHW/XML-Writer"
-license=('GPL' 'PerlArtistic')
-depends=('perl>=5.10.0')
+arch=('any')
+url="http://search.cpan.org/dist/XML-Writer"
+license=('custom')
+depends=('perl')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/J/JO/JOSEPHW/XML-Writer-$pkgver.tar.gz)
-md5sums=('88cd8aec7da39028c2aaf809265a8d68')
+source=(https://www.cpan.org/authors/id/J/JO/JOSEPHW/XML-Writer-$pkgver.tar.gz)
+sha256sums=('e080522c6ce050397af482665f3965a93c5d16f5e81d93f6e2fe98084ed15fbe')
build() {
- cd $startdir/src/XML-Writer-$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
+ cd XML-Writer-$pkgver
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd XML-Writer-$pkgver
+ make test
+}
+
+package() {
+ cd XML-Writer-$pkgver
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/abs/core/perl_modules/perl-xml-xpath/PKGBUILD b/abs/core/perl_modules/perl-xml-xpath/PKGBUILD
index fddb97d..81ae23a 100644
--- a/abs/core/perl_modules/perl-xml-xpath/PKGBUILD
+++ b/abs/core/perl_modules/perl-xml-xpath/PKGBUILD
@@ -1,23 +1,30 @@
-# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
-# Contributor: François Charette <firmicus ατ gmx δοτ net>
+# $Id$
+#Maintainer:
pkgname=perl-xml-xpath
-pkgver=1.13
-pkgrel=4
-pkgdesc="A set of modules for parsing and evaluating"
-arch=('i686' 'x86_64')
-url="http://search.cpan.org/dist/XML-XPath"
-license=('GPL' 'PerlArtistic')
-depends=('perl>=5.10.0' 'perlxml>=2.23')
+pkgver=1.42
+pkgrel=1
+pkgdesc="A set of modules for parsing and evaluating XPath statements"
+arch=('any')
+url="https://metacpan.org/release/XML-XPath"
+license=('PerlArtistic' 'GPL')
+depends=('perl' 'perl-xml-parser')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/M/MS/MSERGEANT/XML-XPath-$pkgver.tar.gz)
-md5sums=('b5919d9220d83982feb6e2321850c5d7')
+source=("https://cpan.metacpan.org/authors/id/M/MA/MANWAR/XML-XPath-$pkgver.tar.gz")
+sha1sums=('addb3668a25ba45b7242bd2ff78a1f704d6edf14')
build() {
- cd $startdir/src/XML-XPath-$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
+ cd "${srcdir}/XML-XPath-${pkgver}"
+ perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ cd "${srcdir}/XML-XPath-${pkgver}"
+# make test
+}
+
+package() {
+ cd "${srcdir}/XML-XPath-${pkgver}"
+ make DESTDIR="$pkgdir" install
}
diff --git a/abs/core/perl_modules/perl-yaml-syck/PKGBUILD b/abs/core/perl_modules/perl-yaml-syck/PKGBUILD
index 1b3f73a..8acadac 100644
--- a/abs/core/perl_modules/perl-yaml-syck/PKGBUILD
+++ b/abs/core/perl_modules/perl-yaml-syck/PKGBUILD
@@ -1,37 +1,38 @@
-# $Id: PKGBUILD 160567 2012-06-02 10:28:42Z bluewind $
-# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman
-# Maintainer: kevin <kevin@archlinux.org>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgname=perl-yaml-syck
-_realname=YAML-Syck
-pkgver=1.20
-pkgrel=2
+pkgver=1.30
+pkgrel=4
pkgdesc="Fast, lightweight YAML loader and dumper"
-arch=('i686' 'x86_64')
-license=('custom')
-url="http://search.cpan.org/dist/${_realname}/"
+arch=('x86_64')
+url="http://search.cpan.org/dist/YAML-Syck/"
+license=('BSD' 'custom')
depends=('perl')
options=('!emptydirs')
-source=(http://www.cpan.org/authors/id/T/TO/TODDR/${_realname}-$pkgver.tar.gz)
-md5sums=('8f6d04ee5817b8479e1234264a8d458d')
+source=(http://www.cpan.org/authors/id/T/TO/TODDR/YAML-Syck-$pkgver.tar.gz)
+sha512sums=('3c38c77589c12652b456ad95120b3223df9e96475a9478692511bf6207ce81bc61204feaa332dbd913d934c41cf5d6515420961b31c20c9fe245373e81ecdda4')
build() {
- cd "${srcdir}/${_realname}-$pkgver"
-
- # install module in vendor directories.
+ cd YAML-Syck-$pkgver
perl Makefile.PL INSTALLDIRS=vendor
make
}
check() {
- cd "${srcdir}/${_realname}-$pkgver"
+ cd YAML-Syck-$pkgver
make test
}
package() {
- cd "${srcdir}/${_realname}-$pkgver"
+ cd YAML-Syck-$pkgver
make install DESTDIR="${pkgdir}"
-
- # license.
install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+# 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/core/perl_modules/perl-yaml-tiny/PKGBUILD b/abs/core/perl_modules/perl-yaml-tiny/PKGBUILD
new file mode 100644
index 0000000..3759296
--- /dev/null
+++ b/abs/core/perl_modules/perl-yaml-tiny/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: AUR Perl <aurperl@juster.info>
+# Generator : CPANPLUS::Dist::Arch 1.15
+
+pkgname=perl-yaml-tiny
+pkgver=1.73
+pkgrel=1
+pkgdesc="Read/Write YAML files with as little code as possible"
+arch=('any')
+license=('PerlArtistic' 'GPL')
+options=('!emptydirs')
+depends=('perl')
+checkdepends=('perl-cpan-meta>=2.150001' 'perl-pod-coverage')
+url='http://search.cpan.org/dist/YAML-Tiny'
+source=("http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/YAML-Tiny-$pkgver.tar.gz")
+sha512sums=('5999e220025aa8076e5e0e9e73e80c2da21660e77f6744d73e8e29962221d02d33a36e9829c44abf7d4f45abae069d8e121c8019bd1600b7e64db5e54efd9987')
+
+build() {
+ cd "${srcdir}/YAML-Tiny-${pkgver}"
+
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+check() {
+ cd "${srcdir}/YAML-Tiny-${pkgver}"
+ make test
+}
+
+package() {
+ cd "${srcdir}/YAML-Tiny-${pkgver}"
+ make install DESTDIR="${pkgdir}"
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/php/PKGBUILD b/abs/core/php/PKGBUILD
index e73312c..67a725a 100644
--- a/abs/core/php/PKGBUILD
+++ b/abs/core/php/PKGBUILD
@@ -8,14 +8,12 @@ pkgname=('php'
'php-fpm'
'php-embed'
'php-phpdbg'
- 'php-pear'
+ 'php-dblib'
'php-enchant'
'php-gd'
'php-imap'
'php-intl'
- 'php-ldap'
- 'php-mcrypt'
- 'php-mssql'
+ 'php-sodium'
'php-odbc'
'php-pgsql'
'php-pspell'
@@ -23,63 +21,56 @@ pkgname=('php'
'php-sqlite'
'php-tidy'
'php-xsl')
-pkgver=5.6.30
+pkgver=7.2.4
pkgrel=1
-arch=('i686' 'x86_64')
+arch=('x86_64')
license=('PHP')
url='http://www.php.net'
-makedepends=('apache' 'c-client' 'postgresql-libs' 'libldap' 'postfix'
- 'sqlite' 'unixodbc' 'net-snmp' 'libzip' 'enchant' 'file' 'freetds'
- 'libmcrypt' 'tidy' 'aspell' 'libltdl' 'gd' 'icu'
- 'curl' 'libxslt' 'openssl' 'db' 'gmp' 'systemd')
-source=("http://www.php.net/distributions/${pkgbase}-${pkgver}.tar.xz"
- "http://www.php.net/distributions/${pkgbase}-${pkgver}.tar.xz.asc"
- 'php.ini.patch' 'linhes.ini' 'apache.conf' 'php-fpm.conf.in.patch'
- 'logrotate.d.php-fpm' 'php-fpm.service' 'php-fpm.tmpfiles')
-validpgpkeys=('6E4F6AB321FDC07F2C332E3AC2BF0BC433CFC8B3'
- '0BD78B5F97500D450838F95DFE857D9A90D90EC1')
+makedepends=('apache' 'aspell' 'c-client' 'db' 'enchant' 'gd' 'gmp' 'icu' 'libsodium' 'libxslt' 'libzip' 'net-snmp'
+ 'postgresql-libs' 'sqlite' 'systemd' 'tidy' 'unixodbc' 'curl' 'libtool' 'postfix' 'freetds' 'pcre')
+checkdepends=('procps-ng')
+source=("https://php.net/distributions/${pkgbase}-${pkgver}.tar.xz"{,.asc}
+ 'apache.patch' 'apache.conf' 'php-fpm.patch' 'php-fpm.tmpfiles' 'php.ini.patch' 'linhes.ini' 'enchant-2.patch')
+validpgpkeys=('B1B44D8F021E4E2D6021E995DC9FF8D3EE5AF27F'
+ '1729F83938DA44E27BA0F4D3DBDB397470D12172')
prepare() {
cd ${srcdir}/${pkgbase}-${pkgver}
+ patch -p0 -i ${srcdir}/apache.patch
+ patch -p0 -i ${srcdir}/php-fpm.patch
patch -p0 -i ${srcdir}/php.ini.patch
- patch -p0 -i ${srcdir}/php-fpm.conf.in.patch
- # Just because our Apache 2.4 is configured with a threaded MPM by default does not mean we want to build a ZTS PHP.
- # Let's supress this behaviour and build a SAPI that works fine with the prefork MPM.
- sed '/APACHE_THREADED_MPM=/d' -i sapi/apache2handler/config.m4 -i configure
+ patch -p1 -i ../enchant-2.patch
- # Allow php-tidy to compile with tidy-html5
- sed 's/buffio\.h/tidybuffio\.h/' -i ext/tidy/tidy.c
+ rm tests/output/stream_isatty_*.phpt
}
build() {
+ # http://site.icu-project.org/download/61#TOC-Migration-Issues
+ CPPFLAGS+=' -DU_USING_ICU_NAMESPACE=1'
+
local _phpconfig="--srcdir=../${pkgbase}-${pkgver} \
--config-cache \
--prefix=/usr \
- --sysconfdir=/etc/${pkgbase} \
+ --sbindir=/usr/bin \
+ --sysconfdir=/etc/php \
--localstatedir=/var \
- --libdir=/usr/lib/${pkgbase} \
- --datarootdir=/usr/share/${pkgbase} \
- --datadir=/usr/share/${pkgbase} \
- --program-suffix=${pkgbase#php} \
--with-layout=GNU \
- --with-config-file-path=/etc/${pkgbase} \
- --with-config-file-scan-dir=/etc/${pkgbase}/conf.d \
+ --with-config-file-path=/etc/php \
+ --with-config-file-scan-dir=/etc/php/conf.d \
--disable-rpath \
+ --mandir=/usr/share/man \
--without-pear \
"
- local _phpextensions="--enable-bcmath=shared \
+ local _phpextensions="\
+ --enable-bcmath=shared \
--enable-calendar=shared \
--enable-dba=shared \
--enable-exif=shared \
--enable-ftp=shared \
- --enable-gd-native-ttf \
--enable-intl=shared \
--enable-mbstring \
- --enable-opcache \
- --enable-phar=shared \
- --enable-posix=shared \
--enable-shmop=shared \
--enable-soap=shared \
--enable-sockets=shared \
@@ -91,314 +82,261 @@ build() {
--with-curl=shared \
--with-db4=/usr \
--with-enchant=shared,/usr \
- --with-fpm-systemd \
--with-freetype-dir=/usr \
- --with-xpm-dir=/usr \
--with-gd=shared,/usr \
--with-gdbm \
--with-gettext=shared \
--with-gmp=shared \
--with-iconv=shared \
- --with-icu-dir=/usr \
--with-imap-ssl \
--with-imap=shared \
--with-kerberos=/usr \
- --with-jpeg-dir=/usr \
- --with-vpx-dir=no \
--with-ldap=shared \
--with-ldap-sasl \
--with-libzip \
- --with-mcrypt=shared \
--with-mhash \
- --with-mssql=shared \
--with-mysql-sock=/run/mysqld/mysqld.sock \
- --with-mysql=shared,mysqlnd \
--with-mysqli=shared,mysqlnd \
- --with-openssl=shared \
+ --with-openssl \
+ --with-password-argon2 \
--with-pcre-regex=/usr \
- --with-pdo-dblib=shared,/usr \
+ --with-pdo-dblib=shared,/usr \
--with-pdo-mysql=shared,mysqlnd \
--with-pdo-odbc=shared,unixODBC,/usr \
--with-pdo-pgsql=shared \
--with-pdo-sqlite=shared,/usr \
--with-pgsql=shared \
- --with-png-dir=/usr \
--with-pspell=shared \
+ --with-readline \
--with-snmp=shared \
+ --with-sodium=shared \
--with-sqlite3=shared,/usr \
--with-tidy=shared \
--with-unixODBC=shared,/usr \
--with-xmlrpc=shared \
--with-xsl=shared \
--with-zlib \
+ --enable-pcntl \
"
- export EXTENSION_DIR=/usr/lib/${pkgbase}/modules
- export PEAR_INSTALLDIR=/usr/share/${pkgbase}/pear
+ EXTENSION_DIR=/usr/lib/php/modules
+ export EXTENSION_DIR
- cd ${srcdir}/${pkgbase}-${pkgver}
-
- # php
- mkdir -p ${srcdir}/build-php
- cd ${srcdir}/build-php
- ln -sf ../${pkgbase}-${pkgver}/configure
+ mkdir ${srcdir}/build
+ cd ${srcdir}/build
+ ln -s ../${pkgbase}-${pkgver}/configure
./configure ${_phpconfig} \
- --disable-cgi \
- --with-readline \
- --enable-pcntl \
- ${_phpextensions}
- make
-
- # cgi and fcgi
- # reuse the previous run; this will save us a lot of time
- cp -Ta ${srcdir}/build-php ${srcdir}/build-cgi
- cd ${srcdir}/build-cgi
- ./configure ${_phpconfig} \
- --disable-cli \
--enable-cgi \
- ${_phpextensions}
- make
-
- # apache
- cp -Ta ${srcdir}/build-php ${srcdir}/build-apache
- cd ${srcdir}/build-apache
- ./configure ${_phpconfig} \
- --disable-cli \
- --with-apxs2 \
- ${_phpextensions}
- make
-
- # fpm
- cp -Ta ${srcdir}/build-php ${srcdir}/build-fpm
- cd ${srcdir}/build-fpm
- ./configure ${_phpconfig} \
- --disable-cli \
--enable-fpm \
+ --with-fpm-systemd \
+ --with-fpm-acl \
--with-fpm-user=http \
--with-fpm-group=http \
+ --enable-embed=shared \
${_phpextensions}
make
- # embed
- cp -Ta ${srcdir}/build-php ${srcdir}/build-embed
- cd ${srcdir}/build-embed
+ # apache
+ # reuse the previous run; this will save us a lot of time
+ cp -a ${srcdir}/build ${srcdir}/build-apache
+ cd ${srcdir}/build-apache
./configure ${_phpconfig} \
- --disable-cli \
- --enable-embed=shared \
+ --with-apxs2 \
${_phpextensions}
make
# phpdbg
- cp -Ta ${srcdir}/build-php ${srcdir}/build-phpdbg
+ cp -a ${srcdir}/build ${srcdir}/build-phpdbg
cd ${srcdir}/build-phpdbg
./configure ${_phpconfig} \
- --disable-cli \
- --disable-cgi \
- --with-readline \
--enable-phpdbg \
${_phpextensions}
make
+}
- # pear
- sed -i 's#@$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d#@$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -p $(bindir)/php$(program_suffix) -d#' ${srcdir}/php-${pkgver}/pear/Makefile.frag
- cp -Ta ${srcdir}/build-php ${srcdir}/build-pear
- cd ${srcdir}/build-pear
- ./configure ${_phpconfig} \
- --disable-cgi \
- --with-readline \
- --enable-pcntl \
- --with-pear \
- ${_phpextensions}
- make
+check() {
+ cd ${srcdir}/${pkgbase}-${pkgver}
+
+ # Check if sendmail was configured correctly (FS#47600)
+ ${srcdir}/build/sapi/cli/php -n -r 'echo ini_get("sendmail_path");' | grep -q '/usr/bin/sendmail'
+
+ export REPORT_EXIT_STATUS=1
+ export NO_INTERACTION=1
+ export SKIP_ONLINE_TESTS=1
+ export SKIP_SLOW_TESTS=1
+
+ ${srcdir}/build/sapi/cli/php -n run-tests.php -n -P {tests,Zend}
}
package_php() {
- pkgdesc='An HTML-embedded scripting language'
- depends=('pcre' 'libxml2' 'curl' 'libzip' 'php-gd' 'php-mcrypt')
+ pkgdesc='A general-purpose scripting language that is especially suited to web development'
+ depends=('libxml2' 'curl' 'libzip' 'pcre' 'argon2' 'php-gd')
+ replaces=('php-ldap')
+ conflicts=('php-ldap')
+ provides=("php-ldap=${pkgver}")
#backup=('etc/php/php.ini')
install='php.install'
- cd ${srcdir}/build-php
- make -j1 INSTALL_ROOT=${pkgdir} install
-
- # install php.ini
+ cd ${srcdir}/build
+ make -j1 INSTALL_ROOT=${pkgdir} install-{modules,cli,build,headers,programs,pharcmd}
install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/php.ini-production ${pkgdir}/etc/php/php.ini
install -d -m755 ${pkgdir}/etc/php/conf.d/
- install -D -m644 ${srcdir}/linhes.ini ${pkgdir}/etc/php/conf.d/linhes.ini
+ install -D -m644 ${srcdir}/linhes.ini ${pkgdir}/etc/php/conf.d/linhes.ini
# remove static modules
rm -f ${pkgdir}/usr/lib/php/modules/*.a
# remove modules provided by sub packages
- rm -f ${pkgdir}/usr/lib/php/modules/{enchant,gd,imap,intl,ldap,mcrypt,mssql,odbc,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl}.so
-
+ rm -f ${pkgdir}/usr/lib/php/modules/{enchant,gd,imap,intl,sodium,odbc,pdo_dblib,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl}.so
# remove empty directory
rmdir ${pkgdir}/usr/include/php/include
-
}
package_php-cgi() {
pkgdesc='CGI and FCGI SAPI for PHP'
depends=('php')
- install -D -m755 ${srcdir}/build-cgi/sapi/cgi/php-cgi ${pkgdir}/usr/bin/php-cgi
+ cd ${srcdir}/build
+ make -j1 INSTALL_ROOT=${pkgdir} install-cgi
}
package_php-apache() {
pkgdesc='Apache SAPI for PHP'
depends=('php' 'apache')
- backup=('etc/httpd/conf/extra/php5_module.conf')
- install='php-apache.install'
+ backup=('etc/httpd/conf/extra/php7_module.conf')
- install -D -m755 ${srcdir}/build-apache/libs/libphp5.so ${pkgdir}/usr/lib/httpd/modules/libphp5.so
- install -D -m644 ${srcdir}/apache.conf ${pkgdir}/etc/httpd/conf/extra/php5_module.conf
+ install -D -m755 ${srcdir}/build-apache/libs/libphp7.so ${pkgdir}/usr/lib/httpd/modules/libphp7.so
+ install -D -m644 ${srcdir}/apache.conf ${pkgdir}/etc/httpd/conf/extra/php7_module.conf
}
package_php-fpm() {
pkgdesc='FastCGI Process Manager for PHP'
depends=('php' 'systemd')
- backup=('etc/php/php-fpm.conf')
- install='php-fpm.install'
-
- install -D -m755 ${srcdir}/build-fpm/sapi/fpm/php-fpm ${pkgdir}/usr/bin/php-fpm
- install -D -m644 ${srcdir}/build-fpm/sapi/fpm/php-fpm.8 ${pkgdir}/usr/share/man/man8/php-fpm.8
- install -D -m644 ${srcdir}/build-fpm/sapi/fpm/php-fpm.conf ${pkgdir}/etc/php/php-fpm.conf
- install -D -m644 ${srcdir}/logrotate.d.php-fpm ${pkgdir}/etc/logrotate.d/php-fpm
- install -d -m755 ${pkgdir}/etc/php/fpm.d
+ backup=('etc/php/php-fpm.conf' 'etc/php/php-fpm.d/www.conf')
+ options=('!emptydirs')
+
+ cd ${srcdir}/build
+ make -j1 INSTALL_ROOT=${pkgdir} install-fpm
+ install -D -m644 sapi/fpm/php-fpm.service ${pkgdir}/usr/lib/systemd/system/php-fpm.service
install -D -m644 ${srcdir}/php-fpm.tmpfiles ${pkgdir}/usr/lib/tmpfiles.d/php-fpm.conf
- install -D -m644 ${srcdir}/php-fpm.service ${pkgdir}/usr/lib/systemd/system/php-fpm.service
}
package_php-embed() {
pkgdesc='Embedded PHP SAPI library'
- depends=('php')
+ depends=('php' 'libsystemd')
+ options=('!emptydirs')
- install -D -m755 ${srcdir}/build-embed/libs/libphp5.so ${pkgdir}/usr/lib/libphp5.so
- install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/sapi/embed/php_embed.h ${pkgdir}/usr/include/php/sapi/embed/php_embed.h
+ cd ${srcdir}/build
+ make -j1 INSTALL_ROOT=${pkgdir} PHP_SAPI=embed install-sapi
}
package_php-phpdbg() {
pkgdesc='Interactive PHP debugger'
depends=('php')
+ options=('!emptydirs')
- install -D -m755 ${srcdir}/build-phpdbg/sapi/phpdbg/phpdbg ${pkgdir}/usr/bin/phpdbg
+ cd ${srcdir}/build-phpdbg
+ make -j1 INSTALL_ROOT=${pkgdir} install-phpdbg
}
-package_php-pear() {
- pkgdesc='PHP Extension and Application Repository'
- depends=('php')
- backup=('etc/php/pear.conf')
+package_php-dblib() {
+ pkgdesc='dblib module for PHP'
+ depends=('php' 'freetds')
- cd ${srcdir}/build-pear
- make install-pear INSTALL_ROOT=${pkgdir}
- rm -rf ${pkgdir}/usr/share/pear/.{channels,depdb,depdblock,filemap,lock,registry}
+ install -D -m755 ${srcdir}/build/modules/pdo_dblib.so ${pkgdir}/usr/lib/php/modules/pdo_dblib.so
}
package_php-enchant() {
pkgdesc='enchant module for PHP'
depends=('php' 'enchant')
- install -D -m755 ${srcdir}/build-php/modules/enchant.so ${pkgdir}/usr/lib/php/modules/enchant.so
+ install -D -m755 ${srcdir}/build/modules/enchant.so ${pkgdir}/usr/lib/php/modules/enchant.so
}
package_php-gd() {
pkgdesc='gd module for PHP'
depends=('php' 'gd')
- install -D -m755 ${srcdir}/build-php/modules/gd.so ${pkgdir}/usr/lib/php/modules/gd.so
+ install -D -m755 ${srcdir}/build/modules/gd.so ${pkgdir}/usr/lib/php/modules/gd.so
}
package_php-imap() {
pkgdesc='imap module for PHP'
depends=('php' 'c-client')
- install -D -m755 ${srcdir}/build-php/modules/imap.so ${pkgdir}/usr/lib/php/modules/imap.so
+ install -D -m755 ${srcdir}/build/modules/imap.so ${pkgdir}/usr/lib/php/modules/imap.so
}
package_php-intl() {
pkgdesc='intl module for PHP'
depends=('php' 'icu')
- install -D -m755 ${srcdir}/build-php/modules/intl.so ${pkgdir}/usr/lib/php/modules/intl.so
+ install -D -m755 ${srcdir}/build/modules/intl.so ${pkgdir}/usr/lib/php/modules/intl.so
}
-package_php-ldap() {
- pkgdesc='ldap module for PHP'
- depends=('php' 'libldap')
-
- install -D -m755 ${srcdir}/build-php/modules/ldap.so ${pkgdir}/usr/lib/php/modules/ldap.so
-}
-
-package_php-mcrypt() {
- pkgdesc='mcrypt module for PHP'
- depends=('php' 'libmcrypt' 'libltdl')
-
- install -D -m755 ${srcdir}/build-php/modules/mcrypt.so ${pkgdir}/usr/lib/php/modules/mcrypt.so
-}
-
-package_php-mssql() {
- pkgdesc='mssql module for PHP'
- depends=('php' 'freetds')
+package_php-sodium() {
+ pkgdesc='sodium module for PHP'
+ depends=('php' 'libsodium')
- install -D -m755 ${srcdir}/build-php/modules/mssql.so ${pkgdir}/usr/lib/php/modules/mssql.so
+ install -D -m755 ${srcdir}/build/modules/sodium.so ${pkgdir}/usr/lib/php/modules/sodium.so
}
package_php-odbc() {
pkgdesc='ODBC modules for PHP'
depends=('php' 'unixodbc')
- install -D -m755 ${srcdir}/build-php/modules/odbc.so ${pkgdir}/usr/lib/php/modules/odbc.so
- install -D -m755 ${srcdir}/build-php/modules/pdo_odbc.so ${pkgdir}/usr/lib/php/modules/pdo_odbc.so
+ install -D -m755 ${srcdir}/build/modules/odbc.so ${pkgdir}/usr/lib/php/modules/odbc.so
+ install -D -m755 ${srcdir}/build/modules/pdo_odbc.so ${pkgdir}/usr/lib/php/modules/pdo_odbc.so
}
package_php-pgsql() {
pkgdesc='PostgreSQL modules for PHP'
depends=('php' 'postgresql-libs')
- install -D -m755 ${srcdir}/build-php/modules/pgsql.so ${pkgdir}/usr/lib/php/modules/pgsql.so
- install -D -m755 ${srcdir}/build-php/modules/pdo_pgsql.so ${pkgdir}/usr/lib/php/modules/pdo_pgsql.so
+ install -D -m755 ${srcdir}/build/modules/pgsql.so ${pkgdir}/usr/lib/php/modules/pgsql.so
+ install -D -m755 ${srcdir}/build/modules/pdo_pgsql.so ${pkgdir}/usr/lib/php/modules/pdo_pgsql.so
}
package_php-pspell() {
pkgdesc='pspell module for PHP'
depends=('php' 'aspell')
- install -D -m755 ${srcdir}/build-php/modules/pspell.so ${pkgdir}/usr/lib/php/modules/pspell.so
+ install -D -m755 ${srcdir}/build/modules/pspell.so ${pkgdir}/usr/lib/php/modules/pspell.so
}
package_php-snmp() {
pkgdesc='snmp module for PHP'
depends=('php' 'net-snmp')
- install -D -m755 ${srcdir}/build-php/modules/snmp.so ${pkgdir}/usr/lib/php/modules/snmp.so
+ install -D -m755 ${srcdir}/build/modules/snmp.so ${pkgdir}/usr/lib/php/modules/snmp.so
}
package_php-sqlite() {
pkgdesc='sqlite module for PHP'
depends=('php' 'sqlite')
- install -D -m755 ${srcdir}/build-php/modules/sqlite3.so ${pkgdir}/usr/lib/php/modules/sqlite3.so
- install -D -m755 ${srcdir}/build-php/modules/pdo_sqlite.so ${pkgdir}/usr/lib/php/modules/pdo_sqlite.so
+ install -D -m755 ${srcdir}/build/modules/sqlite3.so ${pkgdir}/usr/lib/php/modules/sqlite3.so
+ install -D -m755 ${srcdir}/build/modules/pdo_sqlite.so ${pkgdir}/usr/lib/php/modules/pdo_sqlite.so
}
package_php-tidy() {
pkgdesc='tidy module for PHP'
depends=('php' 'tidy')
- install -D -m755 ${srcdir}/build-php/modules/tidy.so ${pkgdir}/usr/lib/php/modules/tidy.so
+ install -D -m755 ${srcdir}/build/modules/tidy.so ${pkgdir}/usr/lib/php/modules/tidy.so
}
package_php-xsl() {
pkgdesc='xsl module for PHP'
depends=('php' 'libxslt')
- install -D -m755 ${srcdir}/build-php/modules/xsl.so ${pkgdir}/usr/lib/php/modules/xsl.so
+ install -D -m755 ${srcdir}/build/modules/xsl.so ${pkgdir}/usr/lib/php/modules/xsl.so
}
-md5sums=('68753955a8964ae49064c6424f81eb3e'
+md5sums=('8266120cf6500a96f1ba335d9ef1e01b'
'SKIP'
- '8da5e525fcbea84adf54ba2da15e25f0'
- '4ecf586ef1597aa5eb977573954b5d21'
- 'dec2cbaad64e3abf4f0ec70e1de4e8e9'
- '16b5e2e4da59f15bea4c2db78a7bc8dc'
- '25bc67ad828e8147a817410b68d8016c'
- 'cc2940f5312ba42e7aa1ddfab74b84c4'
- 'c60343df74f8e1afb13b084d5c0e47ed')
+ '13cda50a6a420d04ddc26935ded3164e'
+ '0677a10d2e721472d6fccb470356b322'
+ '6505b11a92265cd6563119f8a2e047aa'
+ 'c60343df74f8e1afb13b084d5c0e47ed'
+ 'e034326b07074eaabf45b43c30f8d5fa'
+ 'c25450566a6d88427c02d1647984d3c7'
+ 'e3883dce91ed21e23a3d7ae9fa80216d')
diff --git a/abs/core/php/__changelog b/abs/core/php/__changelog
index 7419a02..603981d 100644
--- a/abs/core/php/__changelog
+++ b/abs/core/php/__changelog
@@ -1,8 +1,7 @@
-PKGBUILD: package_php: add deps 'php-gd' 'php-mcrypt' since we have them in linhes.ini
+PKGBUILD: package_php: add deps 'php-gd' since we have them in linhes.ini
PKGBUILD: package_php: comment out backup=('etc/php/php.ini')
-PKGBUILD: change dep tidyhtml to tidy
-PKGBUILD: add linhes.ini and put it in /etc/php/conf.d/
-php.ini.patch: open_basedir commented out
+PKGBUILD: package_php: add linhes.ini and put it in /etc/php/conf.d/
+ install -D -m644 ${srcdir}/linhes.ini ${pkgdir}/etc/php/conf.d/linhes.ini
PKGBUILD: add php.install:
post_upgrade & post_install
diff --git a/abs/core/php/apache.conf b/abs/core/php/apache.conf
index c3ca0aa..b516b5e 100644
--- a/abs/core/php/apache.conf
+++ b/abs/core/php/apache.conf
@@ -1,7 +1,7 @@
-# Required modules: dir_module, php5_module
+# Required modules: dir_module, php7_module
<IfModule dir_module>
- <IfModule php5_module>
+ <IfModule php7_module>
DirectoryIndex index.php index.html
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
diff --git a/abs/core/php/apache.patch b/abs/core/php/apache.patch
new file mode 100644
index 0000000..81b2cd8
--- /dev/null
+++ b/abs/core/php/apache.patch
@@ -0,0 +1,20 @@
+--- sapi/apache2handler/config.m4.orig
++++ sapi/apache2handler/config.m4
+@@ -122,7 +122,6 @@
+ PHP_BUILD_THREAD_SAFE
+ fi
+ else
+- APACHE_THREADED_MPM=`$APXS_HTTPD -V | grep 'threaded:.*yes'`
+ if test -n "$APACHE_THREADED_MPM"; then
+ PHP_BUILD_THREAD_SAFE
+ fi
+--- configure.orig
++++ configure
+@@ -7018,7 +7018,6 @@
+
+ fi
+ else
+- APACHE_THREADED_MPM=`$APXS_HTTPD -V | grep 'threaded:.*yes'`
+ if test -n "$APACHE_THREADED_MPM"; then
+
+ enable_maintainer_zts=yes
diff --git a/abs/core/php/enchant-2.patch b/abs/core/php/enchant-2.patch
new file mode 100644
index 0000000..93c0ce5
--- /dev/null
+++ b/abs/core/php/enchant-2.patch
@@ -0,0 +1,84 @@
+--- php-7.1.13/ext/enchant/config.m4.orig 2018-01-03 02:32:29.000000000 +0000
++++ php-7.1.13/ext/enchant/config.m4 2018-01-21 22:10:03.788875780 +0000
+@@ -14,9 +14,9 @@
+ ENCHANT_SEARCH_DIRS="/usr/local /usr"
+ fi
+ for i in $ENCHANT_SEARCH_DIRS; do
+- if test -f $i/include/enchant/enchant.h; then
++ if test -f $i/include/enchant-2/enchant.h; then
+ ENCHANT_DIR=$i
+- ENCHANT_INCDIR=$i/include/enchant
++ ENCHANT_INCDIR=$i/include/enchant-2
+ elif test -f $i/include/enchant.h; then
+ ENCHANT_DIR=$i
+ ENCHANT_INCDIR=$i/include
+@@ -31,7 +31,7 @@
+
+ AC_DEFINE(HAVE_ENCHANT,1,[ ])
+ PHP_SUBST(ENCHANT_SHARED_LIBADD)
+- PHP_ADD_LIBRARY_WITH_PATH(enchant, $ENCHANT_LIBDIR, ENCHANT_SHARED_LIBADD)
++ PHP_ADD_LIBRARY_WITH_PATH(enchant-2, $ENCHANT_LIBDIR, ENCHANT_SHARED_LIBADD)
+ PHP_ADD_INCLUDE($ENCHANT_INCDIR)
+ PHP_CHECK_LIBRARY(enchant, enchant_broker_set_param,
+ [
+--- php-7.1.13/configure.orig 2018-01-21 22:03:51.494656374 +0000
++++ php-7.1.13/configure 2018-01-21 22:12:35.932571143 +0000
+@@ -29838,9 +29838,9 @@
+ ENCHANT_SEARCH_DIRS="/usr/local /usr"
+ fi
+ for i in $ENCHANT_SEARCH_DIRS; do
+- if test -f $i/include/enchant/enchant.h; then
++ if test -f $i/include/enchant-2/enchant.h; then
+ ENCHANT_DIR=$i
+- ENCHANT_INCDIR=$i/include/enchant
++ ENCHANT_INCDIR=$i/include/enchant-2
+ elif test -f $i/include/enchant.h; then
+ ENCHANT_DIR=$i
+ ENCHANT_INCDIR=$i/include
+@@ -29862,7 +29862,7 @@
+
+
+ if test "$ext_shared" = "yes"; then
+- ENCHANT_SHARED_LIBADD="-lenchant $ENCHANT_SHARED_LIBADD"
++ ENCHANT_SHARED_LIBADD="-lenchant-2 $ENCHANT_SHARED_LIBADD"
+ if test -n "$ENCHANT_LIBDIR"; then
+
+ if test "$ENCHANT_LIBDIR" != "/usr/$PHP_LIBDIR" && test "$ENCHANT_LIBDIR" != "/usr/lib"; then
+--- php-7.2.1/ext/enchant/enchant.c.orig 2018-01-02 22:36:05.000000000 +0000
++++ php-7.2.1/ext/enchant/enchant.c 2018-01-21 22:34:50.205791491 +0000
+@@ -741,7 +741,7 @@
+ for (i = 0; i < n_sugg; i++) {
+ add_next_index_string(sugg, suggs[i]);
+ }
+- enchant_dict_free_suggestions(pdict->pdict, suggs);
++ enchant_dict_free_string_list(pdict->pdict, suggs);
+ }
+
+
+@@ -798,7 +798,7 @@
+ add_next_index_string(return_value, suggs[i]);
+ }
+
+- enchant_dict_free_suggestions(pdict->pdict, suggs);
++ enchant_dict_free_string_list(pdict->pdict, suggs);
+ }
+ }
+ /* }}} */
+@@ -818,7 +818,7 @@
+
+ PHP_ENCHANT_GET_DICT;
+
+- enchant_dict_add_to_personal(pdict->pdict, word, wordlen);
++ enchant_dict_add(pdict->pdict, word, wordlen);
+ }
+ /* }}} */
+
+@@ -856,7 +856,7 @@
+
+ PHP_ENCHANT_GET_DICT;
+
+- RETURN_BOOL(enchant_dict_is_in_session(pdict->pdict, word, wordlen));
++ RETURN_BOOL(enchant_dict_is_added(pdict->pdict, word, wordlen));
+ }
+ /* }}} */
+
diff --git a/abs/core/php/linhes.ini b/abs/core/php/linhes.ini
index a85a5ef..8883064 100644
--- a/abs/core/php/linhes.ini
+++ b/abs/core/php/linhes.ini
@@ -12,7 +12,7 @@
error_log = syslog
; How many GET/POST/COOKIE input variables may be accepted
-max_input_vars = 3000
+max_input_vars = 6000
; This directive determines whether or not PHP will recognize code between
; <? and ?> tags as PHP source which should be processed as such. It is
diff --git a/abs/core/php/logrotate.d.php-fpm b/abs/core/php/logrotate.d.php-fpm
deleted file mode 100644
index 2146ddd..0000000
--- a/abs/core/php/logrotate.d.php-fpm
+++ /dev/null
@@ -1,8 +0,0 @@
-/var/log/php-fpm.log {
- missingok
- notifempty
- delaycompress
- postrotate
- /bin/kill -SIGUSR1 `cat /run/php-fpm/php-fpm.pid 2>/dev/null` 2>/dev/null || true
- endscript
-}
diff --git a/abs/core/php/php-fpm.conf.in.patch b/abs/core/php/php-fpm.conf.in.patch
deleted file mode 100644
index f9721a1..0000000
--- a/abs/core/php/php-fpm.conf.in.patch
+++ /dev/null
@@ -1,52 +0,0 @@
---- sapi/fpm/php-fpm.conf.in 2015-01-21 01:40:37.000000000 +0100
-+++ sapi/fpm/php-fpm.conf.in 2015-01-22 16:22:09.076969777 +0100
-@@ -12,7 +12,7 @@
- ; Relative path can also be used. They will be prefixed by:
- ; - the global prefix if it's been set (-p argument)
- ; - @prefix@ otherwise
--;include=etc/fpm.d/*.conf
-+;include=/etc/php/fpm.d/*.conf
-
- ;;;;;;;;;;;;;;;;;;
- ; Global Options ;
-@@ -22,7 +22,7 @@
- ; Pid file
- ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@
- ; Default Value: none
--;pid = run/php-fpm.pid
-+pid = /run/php-fpm/php-fpm.pid
-
- ; Error log file
- ; If it's set to "syslog", log is sent to syslogd instead of being written
-@@ -161,7 +161,8 @@
- ; (IPv6 and IPv4-mapped) on a specific port;
- ; '/path/to/unix/socket' - to listen on a unix socket.
- ; Note: This value is mandatory.
--listen = 127.0.0.1:9000
-+;listen = 127.0.0.1:9000
-+listen = /run/php-fpm/php-fpm.sock
-
- ; Set listen(2) backlog.
- ; Default Value: 65535 (-1 on FreeBSD and OpenBSD)
-@@ -172,9 +173,9 @@
- ; BSD-derived systems allow connections regardless of permissions.
- ; Default Values: user and group are set as the running user
- ; mode is set to 0660
--;listen.owner = @php_fpm_user@
--;listen.group = @php_fpm_group@
--;listen.mode = 0660
-+listen.owner = @php_fpm_user@
-+listen.group = @php_fpm_group@
-+listen.mode = 0660
- ; When POSIX Access Control Lists are supported you can set them using
- ; these options, value is a comma separated list of user/group names.
- ; When set, listen.owner and listen.group are ignored
-@@ -476,7 +477,7 @@
- ; Chdir to this directory at the start.
- ; Note: relative path can be used.
- ; Default Value: current directory or / when chroot
--;chdir = /var/www
-+;chdir = /srv/http
-
- ; Redirect worker stdout and stderr into main error log. If not set, stdout and
- ; stderr will be redirected to /dev/null according to FastCGI specs.
diff --git a/abs/core/php/php-fpm.install b/abs/core/php/php-fpm.install
deleted file mode 100644
index 3572a76..0000000
--- a/abs/core/php/php-fpm.install
+++ /dev/null
@@ -1,9 +0,0 @@
-post_install() {
- if [[ ! -d run/php-fpm ]]; then
- usr/bin/systemd-tmpfiles --create php-fpm.conf
- fi
-}
-
-post_upgrade() {
- post_install
-}
diff --git a/abs/core/php/php-fpm.service b/abs/core/php/php-fpm.service
index 6e2faaf..8afb974 100644
--- a/abs/core/php/php-fpm.service
+++ b/abs/core/php/php-fpm.service
@@ -1,12 +1,12 @@
[Unit]
-Description=The PHP FastCGI Process Manager
+Description=The PHP 5.6 FastCGI Process Manager
After=syslog.target network.target
[Service]
Type=notify
-PIDFile=/run/php-fpm/php-fpm.pid
+PIDFile=/run/php56-fpm/php-fpm.pid
PrivateTmp=true
-ExecStart=/usr/bin/php-fpm --nodaemonize --pid /run/php-fpm/php-fpm.pid
+ExecStart=/usr/bin/php56-fpm --nodaemonize --pid /run/php56-fpm/php-fpm.pid
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
diff --git a/abs/core/php/php.ini.patch b/abs/core/php/php.ini.patch
index 9a904f9..e0248fc 100644
--- a/abs/core/php/php.ini.patch
+++ b/abs/core/php/php.ini.patch
@@ -1,24 +1,6 @@
---- php.ini-production 2015-01-21 01:40:37.000000000 +0100
-+++ php.ini-production 2015-01-22 16:23:17.311890258 +0100
-@@ -295,7 +295,7 @@
- ; and below. This directive makes most sense if used in a per-directory
- ; or per-virtualhost web server configuration file.
- ; http://php.net/open-basedir
--;open_basedir =
-+;open_basedir = /srv/http/:/home/:/tmp/:/usr/share/php/pear/:/usr/share/webapps/
-
- ; This directive allows you to disable certain functions for security reasons.
- ; It receives a comma-delimited list of function names.
-@@ -708,7 +708,7 @@
- ;;;;;;;;;;;;;;;;;;;;;;;;;
-
- ; UNIX: "/path1:/path2"
--;include_path = ".:/php/includes"
-+include_path = ".:/usr/share/php/pear"
- ;
- ; Windows: "\path1;\path2"
- ;include_path = ".;c:\php\includes"
-@@ -731,7 +731,7 @@
+--- php.ini-production.orig
++++ php.ini-production
+@@ -734,7 +734,7 @@
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
@@ -27,94 +9,70 @@
; On windows:
; extension_dir = "ext"
-@@ -869,48 +869,48 @@
- ; If you only provide the name of the extension, PHP will look for it in its
- ; default extension directory.
+@@ -883,47 +883,44 @@
+ ; deprecated in a future PHP major version. So, when it is possible, please
+ ; move to the new ('extension=<ext>) syntax.
;
--; Windows Extensions
--; Note that ODBC support is built in, so no dll is needed for it.
--; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
--; extension folders as well as the separate PECL DLL download (PHP 5).
--; Be sure to appropriately set the extension_dir directive.
+-; Notes for Windows environments :
+-;
+-; - ODBC support is built in, so no dll is needed for it.
+-; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+)
+-; extension folders as well as the separate PECL DLL download (PHP 5+).
+-; Be sure to appropriately set the extension_dir directive.
-;
--;extension=php_bz2.dll
--;extension=php_curl.dll
--;extension=php_fileinfo.dll
--;extension=php_gd2.dll
--;extension=php_gettext.dll
--;extension=php_gmp.dll
--;extension=php_intl.dll
--;extension=php_imap.dll
--;extension=php_interbase.dll
--;extension=php_ldap.dll
--;extension=php_mbstring.dll
--;extension=php_exif.dll ; Must be after mbstring as it depends on it
--;extension=php_mysql.dll
--;extension=php_mysqli.dll
--;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client
--;extension=php_openssl.dll
--;extension=php_pdo_firebird.dll
--;extension=php_pdo_mysql.dll
--;extension=php_pdo_oci.dll
--;extension=php_pdo_odbc.dll
--;extension=php_pdo_pgsql.dll
--;extension=php_pdo_sqlite.dll
--;extension=php_pgsql.dll
--;extension=php_shmop.dll
++;extension=bcmath
+ ;extension=bz2
+-;extension=curl
+-;extension=fileinfo
+-;extension=gd2
++;extension=calendar
++extension=curl
++;extension=dba
++;extension=enchant
++;extension=exif
++;extension=ftp
++;extension=gd
+ ;extension=gettext
+ ;extension=gmp
+-;extension=intl
++;extension=iconv
+ ;extension=imap
+-;extension=interbase
++;extension=intl
++;extension=sodium
+ ;extension=ldap
+-;extension=mbstring
+-;extension=exif ; Must be after mbstring as it depends on it
+ ;extension=mysqli
+-;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
+-;extension=openssl
+-;extension=pdo_firebird
++;extension=odbc
++;zend_extension=opcache
++;extension=pdo_dblib
+ ;extension=pdo_mysql
+-;extension=pdo_oci
+ ;extension=pdo_odbc
+ ;extension=pdo_pgsql
+ ;extension=pdo_sqlite
+ ;extension=pgsql
++;extension=pspell
+ ;extension=shmop
-
--; The MIBS data available in the PHP distribution must be installed.
--; See http://www.php.net/manual/en/snmp.installation.php
--;extension=php_snmp.dll
+-; The MIBS data available in the PHP distribution must be installed.
+-; See http://www.php.net/manual/en/snmp.installation.php
+ ;extension=snmp
-
--;extension=php_soap.dll
--;extension=php_sockets.dll
--;extension=php_sqlite3.dll
--;extension=php_sybase_ct.dll
--;extension=php_tidy.dll
--;extension=php_xmlrpc.dll
--;extension=php_xsl.dll
-+;extension=bcmath.so
-+;extension=bz2.so
-+;extension=calendar.so
-+extension=curl.so
-+;extension=dba.so
-+;extension=enchant.so
-+;extension=exif.so
-+;extension=ftp.so
-+;extension=gd.so
-+;extension=gettext.so
-+;extension=gmp.so
-+;extension=iconv.so
-+;extension=imap.so
-+;extension=intl.so
-+;extension=ldap.so
-+;extension=mcrypt.so
-+;extension=mssql.so
-+;extension=mysql.so
-+;extension=mysqli.so
-+;extension=odbc.so
-+;zend_extension=opcache.so
-+;extension=openssl.so
-+;extension=pdo_mysql.so
-+;extension=pdo_odbc.so
-+;extension=pdo_pgsql.so
-+;extension=pdo_sqlite.so
-+;extension=pgsql.so
-+;extension=phar.so
-+;extension=posix.so
-+;extension=pspell.so
-+;extension=shmop.so
-+;extension=snmp.so
-+;extension=soap.so
-+;extension=sockets.so
-+;extension=sqlite3.so
-+;extension=sysvmsg.so
-+;extension=sysvsem.so
-+;extension=sysvshm.so
-+;extension=tidy.so
-+;extension=xmlrpc.so
-+;extension=xsl.so
-+;extension=zip.so
+ ;extension=soap
+ ;extension=sockets
+ ;extension=sqlite3
++;extension=sysvmsg
++;extension=sysvsem
++;extension=sysvshm
+ ;extension=tidy
+ ;extension=xmlrpc
+ ;extension=xsl
++extension=zip
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
diff --git a/abs/core/pinentry/PKGBUILD b/abs/core/pinentry/PKGBUILD
index 2da4a57..dbcb71c 100644
--- a/abs/core/pinentry/PKGBUILD
+++ b/abs/core/pinentry/PKGBUILD
@@ -1,36 +1,41 @@
# $Id$
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+
pkgname=pinentry
-pkgver=0.9.0
+pkgver=1.1.0
pkgrel=1
-pkgdesc="a collection of simple PIN or passphrase entry dialogs which utilize the Assuan protocol"
-arch=('i686' 'x86_64')
+pkgdesc='Collection of simple PIN or passphrase entry dialogs which utilize the Assuan protocol'
+url='http://gnupg.org/related_software/pinentry/'
+arch=('x86_64')
license=('GPL')
-url="http://gnupg.org/related_software/pinentry/"
-depends=('ncurses' 'libcap>=2.16')
-makedepends=('gtk2' 'qt4')
-optdepends=('gtk2: for gtk2 backend'
- 'qt4: for qt4 backend')
-source=(ftp://ftp.gnupg.org/gcrypt/$pkgname/$pkgname-$pkgver.tar.bz2)
-install=pinentry.install
-md5sums=('40a05856cb3accf6679987b7899b0f5a')
+depends=('ncurses' 'libcap' 'libassuan' 'libsecret')
+makedepends=('gtk2' 'qt5-base' 'gcr')
+optdepends=('gtk2: gtk2 backend'
+ 'qt5-base: qt backend'
+ 'gcr: gnome3 backend')
+source=("ftp://ftp.gnupg.org/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2"{,.sig})
+sha256sums=('68076686fa724a290ea49cdf0d1c0c1500907d1b759a3bcbfbec0293e8f56570'
+ 'SKIP')
+validpgpkeys=('D8692123C4065DEA5E0F3AB5249B39D24F25E3B6')
build() {
- cd $srcdir/$pkgname-$pkgver
- for file in qt4/*.moc; do
- moc-qt4 ${file/.moc/.h} > ${file}
- done
- ./configure --prefix=/usr \
- --enable-pinentry-curses \
- --disable-pinentry-gtk \
- --disable-pinentry-qt \
- --enable-pinentry-gtk2 \
- --enable-pinentry-qt4 \
- --enable-fallback-curses
- make
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure \
+ --prefix=/usr \
+ --enable-pinentry-tty \
+ --enable-pinentry-curses \
+ --enable-fallback-curses \
+ --enable-pinentry-emacs \
+ --enable-pinentry-gtk2 \
+ --enable-pinentry-gnome3 \
+ --enable-pinentry-qt \
+ --enable-libsecret \
+
+ make
}
package() {
- cd $srcdir/$pkgname-$pkgver
- make DESTDIR=${pkgdir} install
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
}
diff --git a/abs/core/pinentry/pinentry.install b/abs/core/pinentry/pinentry.install
deleted file mode 100644
index eed2c71..0000000
--- a/abs/core/pinentry/pinentry.install
+++ /dev/null
@@ -1,20 +0,0 @@
-infodir=usr/share/info
-filelist=(pinentry.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/core/poppler/PKGBUILD b/abs/core/poppler/PKGBUILD
index 6048751..3c2f396 100644
--- a/abs/core/poppler/PKGBUILD
+++ b/abs/core/poppler/PKGBUILD
@@ -1,89 +1,87 @@
# $Id$
+# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=poppler
-pkgname=('poppler' 'poppler-glib' 'poppler-qt4' 'poppler-qt5')
-pkgver=0.39.0
+pkgname=('poppler' 'poppler-glib' 'poppler-qt5')
+pkgver=0.62.0
pkgrel=1
-arch=(i686 x86_64)
+arch=(x86_64)
license=('GPL')
-makedepends=('libjpeg' 'gcc-libs' 'cairo' 'fontconfig' 'openjpeg' 'gtk2' 'qt4' 'pkgconfig' 'lcms2' 'gobject-introspection' 'icu' 'qt5-base' 'git' 'python2')
+makedepends=('libjpeg' 'gcc-libs' 'cairo' 'fontconfig' 'openjpeg2' 'gtk3' 'pkgconfig' 'lcms2'
+ 'gobject-introspection' 'icu' 'qt5-base' 'git' 'nss' 'gtk-doc' 'curl' 'poppler-data'
+ 'cmake' 'python2') # python2 just for make-glib-api-docs/gtkdoc.py
options=('!emptydirs')
-url="http://poppler.freedesktop.org/"
-source=(http://poppler.freedesktop.org/${pkgbase}-${pkgver}.tar.xz
- git://anongit.freedesktop.org/poppler/test)
-md5sums=('5100960c61b932430b5d74068d71f530'
- 'SKIP')
+url="https://poppler.freedesktop.org/"
+source=(https://poppler.freedesktop.org/${pkgbase}-${pkgver}.tar.xz
+ test::git+https://anongit.freedesktop.org/git/poppler/test/#commit=0d2bfd4
+ gtk-doc.patch)
+sha256sums=('5b9a73dfd4d6f61d165ada1e4f0abd2d420494bf9d0b1c15d0db3f7b83a729c6'
+ 'SKIP'
+ '4032a01456e2372e8f7c805f18634437285ce703fbcfe0fc9a3884ac39edc9ee')
-build() {
+prepare() {
+ mkdir build
cd ${pkgbase}-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc \
- --localstatedir=/var --disable-static \
- --enable-cairo-output \
- --enable-xpdf-headers \
- --enable-libjpeg --enable-zlib \
- --enable-poppler-qt4 \
- --enable-poppler-qt5 \
- --enable-poppler-glib
+ sed -i -e "s:python:python2:" make-glib-api-docs
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=789800#c10
+ patch -Np1 -i ../gtk-doc.patch
+}
+
+build() {
+ cd build
+ cmake ../${pkgbase}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX:PATH=/usr \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib \
+ -DENABLE_XPDF_HEADERS=ON \
+ -DENABLE_GTK_DOC=ON
make
}
check() {
- cd "${srcdir}/${pkgbase}-${pkgver}"
- LANG=en_US.UTF8 make check
+ cd build
+ LANG=en_US.UTF8 make test
}
package_poppler() {
pkgdesc="PDF rendering library based on xpdf 3.0"
- depends=('libjpeg' 'gcc-libs' 'cairo' 'fontconfig' 'openjpeg' 'lcms2')
+ depends=('libjpeg' 'gcc-libs' 'cairo' 'fontconfig' 'openjpeg2' 'lcms2' 'nss' 'curl')
optdepends=('poppler-data: encoding data to display PDF documents containing CJK characters')
- conflicts=("poppler-qt3<${pkgver}")
+ conflicts=("poppler-qt3<${pkgver}" "poppler-qt4<${pkgver}")
- cd "${srcdir}/${pkgbase}-${pkgver}"
- sed -e 's/^glib_subdir =.*/glib_subdir =/' \
- -e 's/^qt4_subdir =.*/qt4_subdir =/' \
- -e 's/^qt5_subdir =.*/qt5_subdir =/' -i Makefile
+ cd build
make DESTDIR="${pkgdir}" install
- rm -f "${pkgdir}"/usr/lib/pkgconfig/poppler-{glib,qt4,qt5}.pc
+ # cleanup for splitted build
+ rm -vrf "${pkgdir}"/usr/include/poppler/{glib,qt5}
+ rm -vf "${pkgdir}"//usr/lib/libpoppler-{glib,qt5}.*
+ rm -vf "${pkgdir}"/usr/lib/pkgconfig/poppler-{glib,qt5}.pc
+ rm -vrf "${pkgdir}"/usr/{lib,share}/gir*
+ rm -vrf "${pkgdir}"/usr/share/gtk-doc
}
package_poppler-glib() {
pkgdesc="Poppler glib bindings"
depends=("poppler=${pkgver}" 'glib2')
- cd "${pkgbase}-${pkgver}"
- make -C poppler DESTDIR="${pkgdir}" install-libLTLIBRARIES
+ cd build
+
make -C glib DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/lib/pkgconfig"
install -m644 poppler-glib.pc "${pkgdir}/usr/lib/pkgconfig/"
- rm -f "${pkgdir}"/usr/lib/libpoppler.*
- rm -f "${pkgdir}/usr/bin/poppler-glib-demo"
-}
-
-package_poppler-qt4() {
- pkgdesc="Poppler Qt4 bindings"
- provides=("poppler-qt=${pkgver}")
- replaces=('poppler-qt')
- conflicts=('poppler-qt')
- depends=("poppler=${pkgver}" 'qt4')
-
- cd "${pkgbase}-${pkgver}"
- make -C poppler DESTDIR="${pkgdir}" install-libLTLIBRARIES
- make -C qt4 DESTDIR="${pkgdir}" install
- install -m755 -d "${pkgdir}/usr/lib/pkgconfig"
- install -m644 poppler-qt4.pc "${pkgdir}/usr/lib/pkgconfig/"
- rm -f "${pkgdir}"/usr/lib/libpoppler.*
+ rm -vf "${pkgdir}"/usr/lib/libpoppler.*
+ rm -vf "${pkgdir}/usr/bin/poppler-glib-demo"
}
package_poppler-qt5() {
pkgdesc="Poppler Qt5 bindings"
depends=("poppler=${pkgver}" 'qt5-base')
- cd "${pkgbase}-${pkgver}"
- make -C poppler DESTDIR="${pkgdir}" install-libLTLIBRARIES
+ cd build
make -C qt5 DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/lib/pkgconfig"
install -m644 poppler-qt5.pc "${pkgdir}/usr/lib/pkgconfig/"
- rm -f "${pkgdir}"/usr/lib/libpoppler.*
}
+
diff --git a/abs/core/poppler/gtk-doc.patch b/abs/core/poppler/gtk-doc.patch
new file mode 100644
index 0000000..1b37bc5
--- /dev/null
+++ b/abs/core/poppler/gtk-doc.patch
@@ -0,0 +1,24 @@
+--- a/gtkdoc.py
++++ b/gtkdoc.py
+@@ -319,9 +319,9 @@ class GTKDoc(object):
+ ldflags = ' "-L%s" %s ' % (self.library_path, additional_ldflags) +
+ ldflags
+ current_ld_library_path = env.get('LD_LIBRARY_PATH')
+ if current_ld_library_path:
+- env['RUN'] = 'LD_LIBRARY_PATH="%s:%s" ' % (self.library_path, current_ld_library_path)
++ env['LD_LIBRARY_PATH'] = '%s:%s' % (self.library_path, current_ld_library_path)
+ else:
+- env['RUN'] = 'LD_LIBRARY_PATH="%s" ' % self.library_path
++ env['LD_LIBRARY_PATH'] = self.library_path
+
+ if ldflags:
+ env['LDFLAGS'] = '%s %s' % (ldflags, env.get('LDFLAGS', ''))
+@@ -332,8 +332,6 @@ class GTKDoc(object):
+ self.logger.debug('CFLAGS=%s', env['CFLAGS'])
+ if 'LDFLAGS' in env:
+ self.logger.debug('LDFLAGS %s', env['LDFLAGS'])
+- if 'RUN' in env:
+- self.logger.debug('RUN=%s', env['RUN'])
+ self._run_command(['gtkdoc-scangobj', '--module=%s' % self.module_name],
+ env=env, cwd=self.output_dir)
+
diff --git a/abs/core/procps-ng/PKGBUILD b/abs/core/procps-ng/PKGBUILD
index a017867..50bc58f 100644
--- a/abs/core/procps-ng/PKGBUILD
+++ b/abs/core/procps-ng/PKGBUILD
@@ -4,15 +4,17 @@
pkgname=procps-ng
pkgver=3.3.12
-pkgrel=1
+pkgrel=3
pkgdesc='Utilities for monitoring your system and its processes'
url='https://gitlab.com/procps-ng/procps'
license=('GPL' 'LGPL')
-arch=('i686' 'x86_64')
+arch=('x86_64')
makedepends=('systemd')
depends=('ncurses' 'libsystemd')
-source=("http://downloads.sourceforge.net/project/${pkgname}/Production/${pkgname}-${pkgver}.tar.xz")
-sha1sums=('82c0745f150f1385ca01fe7d24f05f74e31c94c6')
+source=("https://downloads.sourceforge.net/project/${pkgname}/Production/${pkgname}-${pkgver}.tar.xz"
+ 'impossibly-high-memory.patch')
+sha256sums=('6ed65ab86318f37904e8f9014415a098bec5bc53653e5d9ab404f95ca5e1a7d4'
+ '1095223d697cf86b7086839666222b853bfa80bb83c7b09eaeceb0c506bea980')
groups=('base')
@@ -24,6 +26,7 @@ install=install
prepare() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 -i ../impossibly-high-memory.patch
sed 's:<ncursesw/:<:g' -i watch.c
}
@@ -38,6 +41,7 @@ build() {
--sbindir=/usr/bin \
--enable-watch8bit \
--with-systemd \
+ --disable-modern-top \
--disable-kill \
# kill is provided by util-linux
diff --git a/abs/core/procps-ng/impossibly-high-memory.patch b/abs/core/procps-ng/impossibly-high-memory.patch
new file mode 100644
index 0000000..2fef731
--- /dev/null
+++ b/abs/core/procps-ng/impossibly-high-memory.patch
@@ -0,0 +1,75 @@
+From a2ceb95e2a7d5bf0270f0d342d2edb560f5cfcf4 Mon Sep 17 00:00:00 2001
+From: Jim Warner <james.warner@comcast.net>
+Date: Thu, 17 Aug 2017 01:11:11 -0500
+Subject: [PATCH] top: protect against the anomalous 'Mem' graph display
+
+Until this patch, top falsely assumed that there would
+always be some (small) amount of physical memory after
+subtracting 'used' and 'available' from the total. But
+as the issue referenced below attests, a sum of 'used'
+and 'available' might exceed that total memory amount.
+
+I'm not sure if this is a problem with our calculation
+of the 'used' amount, a flaw in the kernel 'available'
+algorithms or some other reason I cannot even imagine.
+
+Anyway, this patch protects against such a contingency
+through the following single line addition of new code
+. if (pct_used + pct_misc > 100.0 || pct_misc < 0) ...
+
+The check for less than zero is not actually necessary
+as long as the source numbers remain unsigned. However
+should they ever become signed, we'll have protection.
+
+[ Most of the changes in this commit simply separate ]
+[ a variable's definition from its associated logic. ]
+
+Reference(s):
+https://gitlab.com/procps-ng/procps/issues/64
+
+Signed-off-by: Jim Warner <james.warner@comcast.net>
+---
+ top/top.c | 19 ++++++++++++-------
+ 1 files changed, 12 insertions(+), 7 deletions(-)
+
+diff --git a/top/top.c b/top/top.c
+index 385df1d..948805e 100644
+--- a/top/top.c
++++ b/top/top.c
+@@ -5249,21 +5249,26 @@ numa_nope:
+ { "%-.*s~4", "%-.*s~6", "%-.*s~6", Graph_blks }
+ };
+ char used[SMLBUFSIZ], util[SMLBUFSIZ], dual[MEDBUFSIZ];
+- int ix = w->rc.graph_mems - 1;
+- float pct_used = (float)kb_main_used * (100.0 / (float)kb_main_total),
++ float pct_used, pct_misc, pct_swap;
++ int ix, num_used, num_misc;
++
++ pct_used = (float)kb_main_used * (100.0 / (float)kb_main_total);
+ #ifdef MEMGRAPH_OLD
+- pct_misc = (float)(kb_main_buffers + kb_main_cached) * (100.0 / (float)kb_main_total),
++ pct_misc = (float)(kb_main_buffers + kb_main_cached) * (100.0 / (float)kb_main_total);
+ #else
+- pct_misc = (float)(kb_main_total - kb_main_available - kb_main_used) * (100.0 / (float)kb_main_total),
++ pct_misc = (float)(kb_main_total - kb_main_available - kb_main_used) * (100.0 / (float)kb_main_total);
+ #endif
+- pct_swap = kb_swap_total ? (float)kb_swap_used * (100.0 / (float)kb_swap_total) : 0;
++ if (pct_used + pct_misc > 100.0 || pct_misc < 0) pct_misc = 0;
++ pct_swap = kb_swap_total ? (float)kb_swap_used * (100.0 / (float)kb_swap_total) : 0;
++ ix = w->rc.graph_mems - 1;
+ #ifndef QUICK_GRAPHS
+- int num_used = (int)((pct_used * Graph_adj) + .5),
+- num_misc = (int)((pct_misc * Graph_adj) + .5);
++ num_used = (int)((pct_used * Graph_adj) + .5),
++ num_misc = (int)((pct_misc * Graph_adj) + .5);
+ if (num_used + num_misc > Graph_len) --num_misc;
+ snprintf(used, sizeof(used), gtab[ix].used, num_used, gtab[ix].type);
+ snprintf(util, sizeof(util), gtab[ix].misc, num_misc, gtab[ix].type);
+ #else
++ (void)num_used; (void)num_misc;
+ snprintf(used, sizeof(used), gtab[ix].used, (int)((pct_used * Graph_adj) + .5), gtab[ix].type);
+ snprintf(util, sizeof(util), gtab[ix].misc, (int)((pct_misc * Graph_adj) + .4), gtab[ix].type);
+ #endif
+--
+libgit2 0.26.0
+
diff --git a/abs/core/psmisc/PKGBUILD b/abs/core/psmisc/PKGBUILD
index 28e7909..a5ff727 100644
--- a/abs/core/psmisc/PKGBUILD
+++ b/abs/core/psmisc/PKGBUILD
@@ -1,25 +1,25 @@
-# $Id: PKGBUILD 162759 2012-06-29 18:27:42Z eric $
+# $Id$
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=psmisc
-pkgver=22.19
+pkgver=23.1
pkgrel=1
pkgdesc="Miscellaneous procfs tools"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://psmisc.sourceforge.net/index.html"
license=('GPL')
groups=('base')
depends=('ncurses')
-source=(http://downloads.sourceforge.net/psmisc/${pkgname}-${pkgver}.tar.gz)
-sha1sums=('4c8fb774449f966f78c4c6e1d77d1a24b4187410')
+source=(http://downloads.sourceforge.net/psmisc/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('2e84d474cf75dfbe3ecdacfb797bbfab71a35c7c2639d1b9f6d5f18b2149ba30')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
}
diff --git a/abs/core/python/PKGBUILD b/abs/core/python/PKGBUILD
new file mode 100644
index 0000000..914da6b
--- /dev/null
+++ b/abs/core/python/PKGBUILD
@@ -0,0 +1,113 @@
+# $Id$
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: Jason Chu <jason@archlinux.org>
+
+pkgname=python
+pkgver=3.6.4
+pkgrel=2
+_pybasever=3.6
+pkgdesc="Next generation of the python high-level scripting language"
+arch=('x86_64')
+license=('custom')
+url="http://www.python.org/"
+depends=('expat' 'bzip2' 'gdbm' 'openssl' 'libffi' 'zlib')
+makedepends=('tk' 'sqlite' 'valgrind' 'bluez-libs' 'mpdecimal' 'llvm' 'gdb' 'xorg-server-xvfb')
+optdepends=('python-setuptools'
+ 'python-pip'
+ 'sqlite'
+ 'mpdecimal: for decimal'
+ 'xz: for lzma'
+ 'tk: for tkinter')
+provides=('python3')
+replaces=('python3')
+source=("https://www.python.org/ftp/python/${pkgver%rc*}/Python-${pkgver}.tar.xz"{,.asc}
+ dont-make-libpython-readonly.patch)
+sha512sums=('09ba2103ac517ac4d262f00380c9aac836a53401ce252540c17fd821a3b92e1ddf32528d00772221eb3126b12cb95b62c3ac3e852f4951e6f2eb406c88c848a2'
+ 'SKIP'
+ '2ef96708d5b13ae2a3d2cc62c87b4780e60ecfce914e190564492def3a11d5e56977659f41c7f9d12266e58050c766bce4e2b5d50b708eb792794fa8357920c4')
+validpgpkeys=('0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D') # Ned Deily (Python release signing key) <nad@python.org>
+
+prepare() {
+ cd Python-${pkgver}
+
+ # FS#45809
+ patch -p1 -i ../dont-make-libpython-readonly.patch
+
+ # FS#23997
+ sed -i -e "s|^#.* /usr/local/bin/python|#!/usr/bin/python|" Lib/cgi.py
+
+ # Ensure that we are using the system copy of various libraries (expat, zlib, libffi, and libmpdec),
+ # rather than copies shipped in the tarball
+ rm -r Modules/expat
+ rm -r Modules/zlib
+ rm -r Modules/_ctypes/{darwin,libffi}*
+ rm -r Modules/_decimal/libmpdec
+}
+
+build() {
+ cd Python-${pkgver}
+
+ # Disable bundled pip & setuptools
+ ./configure --prefix=/usr \
+ --enable-shared \
+ --with-threads \
+ --with-computed-gotos \
+ --enable-optimizations \
+ --with-lto \
+ --enable-ipv6 \
+ --with-system-expat \
+ --with-dbmliborder=gdbm:ndbm \
+ --with-system-ffi \
+ --with-system-libmpdec \
+ --enable-loadable-sqlite-extensions \
+ --without-ensurepip
+
+ # Obtain next free server number for xvfb-run; this even works in a chroot environment.
+ #export servernum=99
+ #while ! xvfb-run -a -n "$servernum" /bin/true 2>/dev/null; do servernum=$((servernum+1)); done
+
+ #LC_CTYPE=en_US.UTF-8 xvfb-run -a -n "$servernum" make EXTRA_CFLAGS="$CFLAGS"
+ LC_CTYPE=en_US.UTF-8 make EXTRA_CFLAGS="$CFLAGS"
+}
+
+check() {
+ # test_gdb is expected to fail with LTO
+ # test_subprocess hangs on 3.6.3
+
+ cd Python-${pkgver}
+
+ # Obtain next free server number for xvfb-run; this even works in a chroot environment.
+ export servernum=99
+ while ! xvfb-run -a -n "$servernum" /bin/true 2>/dev/null; do servernum=$((servernum+1)); done
+
+ LD_LIBRARY_PATH="${srcdir}/Python-${pkgver}":${LD_LIBRARY_PATH} \
+ LC_CTYPE=en_US.UTF-8 xvfb-run -a -n "$servernum" \
+ "${srcdir}/Python-${pkgver}/python" -m test.regrtest -v -uall -x test_gdb -x test_subprocess
+}
+
+package() {
+ cd Python-${pkgver}
+
+ # Hack to avoid building again
+ sed -i 's/^all:.*$/all: build_all/' Makefile
+
+ make DESTDIR="${pkgdir}" EXTRA_CFLAGS="$CFLAGS" install
+
+ # Why are these not done by default...
+ ln -s python3 "${pkgdir}"/usr/bin/python
+ ln -s python3-config "${pkgdir}"/usr/bin/python-config
+ ln -s idle3 "${pkgdir}"/usr/bin/idle
+ ln -s pydoc3 "${pkgdir}"/usr/bin/pydoc
+ ln -s python${_pybasever}.1 "${pkgdir}"/usr/share/man/man1/python.1
+
+ # some useful "stuff" FS#46146
+ install -dm755 "${pkgdir}"/usr/lib/python${_pybasever}/Tools/{i18n,scripts}
+ install -m755 Tools/i18n/{msgfmt,pygettext}.py "${pkgdir}"/usr/lib/python${_pybasever}/Tools/i18n/
+ install -m755 Tools/scripts/{README,*py} "${pkgdir}"/usr/lib/python${_pybasever}/Tools/scripts/
+
+ # License
+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/abs/core/python/__changelog b/abs/core/python/__changelog
new file mode 100644
index 0000000..33c291f
--- /dev/null
+++ b/abs/core/python/__changelog
@@ -0,0 +1 @@
+PKGBUILD: don't use xvfb-run to make
diff --git a/abs/core/python/dont-make-libpython-readonly.patch b/abs/core/python/dont-make-libpython-readonly.patch
new file mode 100644
index 0000000..92308bf
--- /dev/null
+++ b/abs/core/python/dont-make-libpython-readonly.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index ce2c0aa..7d6dcf7 100644
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -60,7 +60,7 @@ INSTALL_DATA= @INSTALL_DATA@
+ # Shared libraries must be installed with executable mode on some systems;
+ # rather than figuring out exactly which, we always give them executable mode.
+ # Also, making them read-only seems to be a good idea...
+-INSTALL_SHARED= ${INSTALL} -m 555
++INSTALL_SHARED= ${INSTALL} -m 755
+
+ MKDIR_P= @MKDIR_P@
+
diff --git a/abs/core/python2-contextlib2/PKGBUILD b/abs/core/python2-contextlib2/PKGBUILD
new file mode 100644
index 0000000..43bd8cf
--- /dev/null
+++ b/abs/core/python2-contextlib2/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Cedric Girard <girard.cedric@gmail.com>
+
+_pypiname=contextlib2
+pkgname=python2-contextlib2
+pkgver=0.5.5
+pkgrel=1
+pkgdesc="contextlib2 is a backport of the standard library’s contextlib module to earlier Python versions"
+arch=('any')
+url="http://pypi.python.org/pypi/${_pypiname}"
+license=('PSF')
+depends=('python2')
+makedepends=('python2-setuptools')
+source=("https://pypi.io/packages/source/${_pypiname:0:1}/${_pypiname}/${_pypiname}-$pkgver.tar.gz")
+sha512sums=('d5c97ff8eef7d8b14da0bfdc3515f8019bcc05e24cb922ce08ca2366d5182b029d873bbf172e9e6791297df05e24f6faf40868550063dcdb54f451b14c9e505d')
+
+build() {
+ cd "${srcdir}/${_pypiname}-$pkgver"
+ python2 setup.py build
+}
+
+package() {
+ cd ${_pypiname}-$pkgver
+ python2 setup.py install --root="${pkgdir}"
+ install -Dm644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/abs/core/python2/PKGBUILD b/abs/core/python2/PKGBUILD
index 8615d48..aabe74a 100644
--- a/abs/core/python2/PKGBUILD
+++ b/abs/core/python2/PKGBUILD
@@ -5,22 +5,27 @@
# Contributor: Jason Chu <jason@archlinux.org>
pkgname=python2
-pkgver=2.7.11
+pkgver=2.7.14
pkgrel=2
_pybasever=2.7
pkgdesc="A high-level scripting language"
-arch=('i686' 'x86_64')
+arch=('x86_64')
license=('PSF')
url="http://www.python.org/"
depends=('bzip2' 'gdbm' 'openssl' 'zlib' 'expat' 'sqlite' 'libffi')
-makedepends=('tk' 'bluez-libs' 'hardening-wrapper')
-checkdepends=('gdb' 'file')
+makedepends=('tk' 'bluez-libs')
+checkdepends=('gdb' 'file' 'xorg-server-xvfb')
optdepends=('tk: for IDLE'
'python2-setuptools'
'python2-pip')
conflicts=('python<3')
-source=(http://www.python.org/ftp/python/${pkgver%rc?}/Python-${pkgver}.tar.xz)
-sha1sums=('c3b8bbe3f084c4d4ea13ffb03d75a5e22f9756ff')
+source=("https://www.python.org/ftp/python/${pkgver%rc?}/Python-${pkgver}.tar.xz"{,.asc}
+ descr_ref.patch fix-profile-task.patch)
+sha512sums=('78310b0be6388ffa15f29a80afb9ab3c03a572cb094e9da00cfe391afadb51696e41f592eb658d6a31a2f422fdac8a55214a382cbb8cfb43d4a127d5b35ea7f9'
+ 'SKIP'
+ '2e16eb23eb402dbe921c09bce99b400c10939114b4a1ded0e94a744d8cb66427947bc8d07c4fb054f9fe0906d10d1da509fc2273fd136225c0f019cc43dd045d'
+ '5d7b47bfa9f13cf5fb827546189d823033278f96866366fca5257aaf819c92ffb26e2116426c84ab78d9ae3178eebb591fa4b2f22cfc2725e3e3e795fdb5c2b6')
+validpgpkeys=('C01E1CAD5EA2C4F0B8E3571504C367C218ADD4FF') # Benjamin Peterson
prepare() {
cd Python-${pkgver}
@@ -38,11 +43,6 @@ prepare() {
sed -i "s/python2.3/python2/g" Lib/distutils/tests/test_build_scripts.py \
Lib/distutils/tests/test_install_scripts.py
- # TODO: Still not passed
- # Silent test_gdb failures on 'no symbol table loaded'.
- #sed -i '/ignore_patterns = (/a "No symbol table is loaded. Use the \\"file\\" command.",' \
- # Lib/test/test_gdb.py
-
# Ensure that we are using the system copy of various libraries (expat, zlib and libffi),
# rather than copies shipped in the tarball
rm -r Modules/expat
@@ -55,6 +55,13 @@ prepare() {
# Workaround asdl_c.py/makeopcodetargets.py errors after we touched the shebangs
touch Include/Python-ast.h Python/Python-ast.c Python/opcode_targets.h
+
+ # FS#48761
+ # http://bugs.python.org/issue25750
+ patch -Np1 -i ../descr_ref.patch
+
+ # Backport from Python 3.x
+ patch -Np2 -i ../fix-profile-task.patch
}
build() {
@@ -64,6 +71,8 @@ build() {
./configure --prefix=/usr \
--enable-shared \
--with-threads \
+ --enable-optimizations \
+ --with-lto \
--enable-ipv6 \
--enable-unicode=ucs4 \
--with-system-expat \
@@ -75,23 +84,22 @@ build() {
}
check() {
- # As of 2.7.11, 2 tests failed:
- # test_doctest test_gdb
- # Besides, test_thread disabled as it will stuck
-
- # $SHELL was set to avoid a test failure in test_gdb (it still fails due to other reasons, though)
+ # Since 2.7.13,
+ # test_replace_overflow (present in test_bytes, test_str, test_string, test_unicode, test_userstring) segfault on i686
+ # test_bigrepeat (present in test_tuple) segfault on i686
cd Python-${pkgver}
- SHELL=/bin/sh LD_LIBRARY_PATH="${srcdir}/Python-${pkgver}":${LD_LIBRARY_PATH} \
- "${srcdir}/Python-${pkgver}/python" -m test.regrtest -v -uall -x test_thread || warning "Tests failed"
+ LD_LIBRARY_PATH="${srcdir}/Python-${pkgver}":${LD_LIBRARY_PATH} \
+ xvfb-run "${srcdir}/Python-${pkgver}/python" -m test.regrtest -v -uall -x test_bytes test_str test_string test_tuple test_unicode test_userstring
}
package() {
cd Python-${pkgver}
- make DESTDIR="${pkgdir}" altinstall maninstall
- #LinHES
- ln -sf python2 "${pkgdir}/usr/bin/python"
+ # Hack to avoid building again
+ sed -i 's/^all:.*$/all: build_all/' Makefile
+
+ make DESTDIR="${pkgdir}" altinstall maninstall
rm "${pkgdir}"/usr/share/man/man1/python.1
diff --git a/abs/core/python2/__changelog b/abs/core/python2/__changelog
deleted file mode 100644
index d8cc127..0000000
--- a/abs/core/python2/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: add symlink making python2->python
diff --git a/abs/core/python2/descr_ref.patch b/abs/core/python2/descr_ref.patch
new file mode 100644
index 0000000..b55cf58
--- /dev/null
+++ b/abs/core/python2/descr_ref.patch
@@ -0,0 +1,58 @@
+When calling tp_descr_get(self, obj, type), make sure that we own a reference to "self"
+
+diff -ru Python-2.7.9/Objects/typeobject.c Python-2.7.9-fixed//Objects/typeobject.c
+--- Python-2.7.9/Objects/typeobject.c 2014-12-10 16:59:57.000000000 +0100
++++ Python-2.7.9-fixed//Objects/typeobject.c 2015-11-27 20:39:58.276156800 +0100
+@@ -2542,6 +2542,7 @@
+ PyTypeObject *metatype = Py_TYPE(type);
+ PyObject *meta_attribute, *attribute;
+ descrgetfunc meta_get;
++ PyObject* res;
+
+ if (!PyString_Check(name)) {
+ PyErr_Format(PyExc_TypeError,
+@@ -2563,6 +2564,7 @@
+ meta_attribute = _PyType_Lookup(metatype, name);
+
+ if (meta_attribute != NULL) {
++ Py_INCREF(meta_attribute);
+ meta_get = Py_TYPE(meta_attribute)->tp_descr_get;
+
+ if (meta_get != NULL && PyDescr_IsData(meta_attribute)) {
+@@ -2570,10 +2572,11 @@
+ * writes. Assume the attribute is not overridden in
+ * type's tp_dict (and bases): call the descriptor now.
+ */
+- return meta_get(meta_attribute, (PyObject *)type,
++ res = meta_get(meta_attribute, (PyObject *)type,
+ (PyObject *)metatype);
++ Py_DECREF(meta_attribute);
++ return res;
+ }
+- Py_INCREF(meta_attribute);
+ }
+
+ /* No data descriptor found on metatype. Look in tp_dict of this
+@@ -2581,6 +2584,7 @@
+ attribute = _PyType_Lookup(type, name);
+ if (attribute != NULL) {
+ /* Implement descriptor functionality, if any */
++ Py_INCREF(attribute);
+ descrgetfunc local_get = Py_TYPE(attribute)->tp_descr_get;
+
+ Py_XDECREF(meta_attribute);
+@@ -2588,11 +2592,12 @@
+ if (local_get != NULL) {
+ /* NULL 2nd argument indicates the descriptor was
+ * found on the target object itself (or a base) */
+- return local_get(attribute, (PyObject *)NULL,
++ res = local_get(attribute, (PyObject *)NULL,
+ (PyObject *)type);
++ Py_DECREF(attribute);
++ return res;
+ }
+
+- Py_INCREF(attribute);
+ return attribute;
+ }
+
diff --git a/abs/core/python2/fix-profile-task.patch b/abs/core/python2/fix-profile-task.patch
new file mode 100644
index 0000000..c6558ef
--- /dev/null
+++ b/abs/core/python2/fix-profile-task.patch
@@ -0,0 +1,13 @@
+diff --git a/Python-2.7.13/Makefile.pre.in b/Python-2.7.13/Makefile.pre.in
+index e288964..22edc27 100644
+--- a/Python-2.7.13/Makefile.pre.in
++++ b/Python-2.7.13/Makefile.pre.in
+@@ -456,7 +456,7 @@ build_all_generate_profile:
+
+ run_profile_task:
+ : # FIXME: can't run for a cross build
+- $(LLVM_PROF_FILE) ./$(BUILDPYTHON) $(PROFILE_TASK) || true
++ $(LLVM_PROF_FILE) $(RUNSHARED) ./$(BUILDPYTHON) $(PROFILE_TASK) || true
+
+ build_all_merge_profile:
+ $(LLVM_PROF_MERGER)
diff --git a/abs/core/python_modules/cython/PKGBUILD b/abs/core/python_modules/cython/PKGBUILD
new file mode 100644
index 0000000..6826749
--- /dev/null
+++ b/abs/core/python_modules/cython/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id$
+# Maintainer: Antonio Rojas <arojas@archlinux.org>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Igor Scabini <furester @ gmail.com>
+
+pkgname=(cython cython2)
+pkgbase=cython
+pkgver=0.27.3
+pkgrel=3
+pkgdesc="C-Extensions for Python"
+arch=(x86_64)
+url="http://cython.org"
+license=(APACHE)
+makedepends=(python-setuptools python2-setuptools)
+source=($pkgbase-$pkgver.tar.gz::"https://github.com/cython/cython/archive/$pkgver.tar.gz")
+sha256sums=('648feb8a257574a3e4ef854475e7d767732ef26e870d2f9fcc1ca5b244b3ac89')
+
+prepare() {
+ cp -r cython-$pkgver cython2-$pkgver
+ find cython2-$pkgver -name '*.py' | xargs sed -e 's|/usr/bin/env python|/usr/bin/env python2|' -e 's|/usr/bin/python|/usr/bin/python2|' -i
+}
+
+build() {
+ cd cython-$pkgver
+ python setup.py build
+
+ cd ../cython2-$pkgver
+ python2 setup.py build
+}
+
+package_cython() {
+ depends=(python python-setuptools)
+
+ cd cython-$pkgver
+ python setup.py install --root="$pkgdir" --skip-build
+
+ for f in cygdb cython cythonize; do
+ mv "$pkgdir"/usr/bin/$f "$pkgdir"/usr/bin/${f}3
+ ln -s ${f}3 "$pkgdir"/usr/bin/$f
+ done
+}
+
+package_cython2() {
+ depends=(python2 python2-setuptools)
+
+ cd cython2-$pkgver
+ python2 setup.py install --root="$pkgdir" --skip-build
+
+ for f in cygdb cython cythonize; do
+ mv "$pkgdir"/usr/bin/$f "$pkgdir"/usr/bin/${f}2
+ done
+}
diff --git a/abs/core/python_modules/python-docutils/PKGBUILD b/abs/core/python_modules/docutils/PKGBUILD
index c0b5341..1b7cbe6 100644
--- a/abs/core/python_modules/python-docutils/PKGBUILD
+++ b/abs/core/python_modules/docutils/PKGBUILD
@@ -4,26 +4,24 @@
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgbase=docutils
-pkgname=('python2-docutils')
-pkgver=0.11
-pkgrel=2
+pkgname=('python-docutils' 'python2-docutils')
+pkgver=0.14
+pkgrel=1
pkgdesc='Set of tools for processing plaintext docs into formats such as HTML, XML, or LaTeX'
arch=('any')
url='http://docutils.sourceforge.net'
license=('custom')
-makedepends=('python2')
+makedepends=('python' 'python2')
source=("http://downloads.sourceforge.net/$pkgbase/$pkgbase-$pkgver.tar.gz")
-md5sums=('20ac380a18b369824276864d98ec0ad6')
+md5sums=('c53768d63db3873b7d452833553469de')
build() {
cd $pkgbase-$pkgver
-# for _p in "$srcdir"/*.patch; do
-# msg2 "${_p##*/}"
-# patch -p2 -i "$_p"
-# done
-# python3 setup.py build --build-lib=build/python
-# find build/python -type f -exec \
-# sed -i '1s,^#! \?/usr/bin/\(env \|\)python$,#!/usr/bin/python3,' {} \;
+ msg2 python3
+ python3 setup.py build --build-lib=build/python
+ find build/python -type f -exec \
+ sed -i '1s,^#! \?/usr/bin/\(env \|\)python$,#!/usr/bin/python3,' {} \;
+ msg2 python2
python2 setup.py build --build-lib=build/python2
find build/python2 -type f -exec \
sed -i '1s,^#! \?/usr/bin/\(env \|\)python$,#!/usr/bin/python2,' {} \;
@@ -40,20 +38,20 @@ check() {
PYTHONPATH="$PWD/build/python2/" python2 test/alltests.py
}
-#package_python-docutils() {
-# depends=('python')
-#
-# cd $pkgbase-$pkgver
-# python setup.py build --build-lib=build/python \
+package_python-docutils() {
+ depends=('python')
+
+ cd $pkgbase-$pkgver
+ python setup.py build --build-lib=build/python \
install --root="$pkgdir" --optimize=1
# symlink without .py
-# for f in "$pkgdir"/usr/bin/*.py; do
-# ln -s "$(basename $f)" "$pkgdir/usr/bin/$(basename $f .py)"
-# done
+ for f in "$pkgdir"/usr/bin/*.py; do
+ ln -s "$(basename $f)" "$pkgdir/usr/bin/$(basename $f .py)"
+ done
# setup license
-# install -D -m644 COPYING.txt "$pkgdir/usr/share/licenses/$pkgname/COPYING.txt"
-# install -D -m644 licenses/python* "$pkgdir/usr/share/licenses/$pkgname/"
-#}
+ install -D -m644 COPYING.txt "$pkgdir/usr/share/licenses/$pkgname/COPYING.txt"
+ install -D -m644 licenses/python* "$pkgdir/usr/share/licenses/$pkgname/"
+}
package_python2-docutils() {
depends=('python2')
diff --git a/abs/core/python_modules/python-docutils/python2-docutils.install b/abs/core/python_modules/docutils/python2-docutils.install
index 3e414af..3e414af 100644
--- a/abs/core/python_modules/python-docutils/python2-docutils.install
+++ b/abs/core/python_modules/docutils/python2-docutils.install
diff --git a/abs/core/python_modules/gitpython/PKGBUILD b/abs/core/python_modules/gitpython/PKGBUILD
deleted file mode 100644
index 9c72ac0..0000000
--- a/abs/core/python_modules/gitpython/PKGBUILD
+++ /dev/null
@@ -1,20 +0,0 @@
-# Contributor: Jon Bergli Heier <snakebite@jvnv.net>
-pkgname=gitpython
-pkgver=0.3.2
-pkgrel=1
-pkgdesc="A python library used to interact with Git repositories"
-arch=('any')
-url="http://gitorious.org/git-python"
-license=('BSD')
-depends=('python2' 'git' 'python-gitdb')
-conflicts=('gitpython-git')
-source=("http://pypi.python.org/packages/source/G/GitPython/GitPython-${pkgver}.RC1.tar.gz")
-
-build() {
- cd "$srcdir/GitPython-$pkgver.RC1"
- python2 setup.py install --root="$pkgdir/" --optimize=1 || return 1
- install -D -m 644 LICENSE "$pkgdir"/usr/share/licenses/gitpython/LICENSE
-}
-# vim:set ts=2 sw=2 et:
-md5sums=('849082fe29adc653a3621465213cab96')
-
diff --git a/abs/core/python_modules/m2r/PKGBUILD b/abs/core/python_modules/m2r/PKGBUILD
new file mode 100644
index 0000000..da5739a
--- /dev/null
+++ b/abs/core/python_modules/m2r/PKGBUILD
@@ -0,0 +1,56 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgbase=m2r
+pkgname=(m2r python2-m2r)
+pkgver=0.1.14
+pkgrel=1
+pkgdesc="Markdown to reStructuredText converter"
+arch=('any')
+url="https://github.com/miyakogi/m2r"
+license=('MIT')
+makedepends=('python-setuptools' 'python2-setuptools' 'python-mistune' 'python2-mistune'
+ 'python-docutils' 'python2-docutils')
+checkdepends=('python2-mock' 'python-pygments' 'python2-pygments' 'python-pytest-runner'
+ 'python2-pytest-runner')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/miyakogi/m2r/archive/v$pkgver.tar.gz")
+sha512sums=('ad6c8c8df199c193af92b1fc7e144f4a5653f8a077d5d29a5ad378d96c7a94c5c9d933042bdbc0e0ddd6128c83211066efaac7d0b6a6c68b62b3552d2bfd886e')
+
+prepare() {
+ cp -a m2r-$pkgver{,-py2}
+}
+
+build() {
+ cd "$srcdir"/m2r-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/m2r-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+ cd "$srcdir"/m2r-$pkgver
+ python setup.py pytest
+
+ cd "$srcdir"/m2r-$pkgver-py2
+ python2 setup.py pytest
+}
+
+package_m2r() {
+ depends=('python-mistune' 'python-docutils' 'python-setuptools')
+
+ cd "$srcdir"/m2r-$pkgver
+ python setup.py install --root="$pkgdir" --prefix=/usr --optimize=1
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python2-m2r() {
+ depends=('python2-mistune' 'python2-docutils' 'python2-setuptools')
+
+ cd "$srcdir"/m2r-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --prefix=/usr --optimize=1
+ mv "$pkgdir"/usr/bin/m2r{,-python2}
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/pygobject/PKGBUILD b/abs/core/python_modules/pygobject/PKGBUILD
index fc8f1c7..ba196da 100644
--- a/abs/core/python_modules/pygobject/PKGBUILD
+++ b/abs/core/python_modules/pygobject/PKGBUILD
@@ -1,56 +1,68 @@
# $Id$
-# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
pkgbase=pygobject
-pkgname=(python2-gobject pygobject-devel)
-pkgver=3.18.2
+pkgname=(python-gobject python2-gobject pygobject-devel)
+pkgver=3.26.1
pkgrel=1
-arch=(i686 x86_64)
-url="https://live.gnome.org/PyGObject"
+pkgdesc="Python Bindings for GLib/GObject/GIO/GTK+"
+url="https://wiki.gnome.org/Projects/PyGObject"
+arch=(x86_64)
license=(LGPL)
-makedepends=(python2 python2-cairo gobject-introspection gnome-common)
-source=(https://download.gnome.org/sources/$pkgbase/${pkgver:0:4}/$pkgbase-$pkgver.tar.xz)
-sha256sums=('2a3cad1517916b74e131e6002c3824361aee0671ffb0d55ded119477fc1c2c5f')
+depends=(gobject-introspection-runtime)
+makedepends=(python{,2}-cairo gobject-introspection git autoconf-archive)
+optdepends=('cairo: Cairo bindings')
+_commit=55cb08b71cd23f56b97d912af22ca24e787fd5d7 # tags/3.26.1^0
+source=("git+https://git.gnome.org/browse/pygobject#commit=$_commit")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd $pkgbase
+ git describe --tags | sed 's/-/+/g'
+}
prepare() {
- mkdir build-py2 build-py3 devel
- cd ${pkgbase}-${pkgver}
+ mkdir build-py{2,3} devel
+ cd $pkgbase
+ NOCONFIGURE=1 ./autogen.sh
}
-build() {
- cd build-py2
- ../${pkgbase}-${pkgver}/configure --prefix=/usr --with-python=/usr/bin/python2
+_build() (
+ cd build-py$1
+ ../$pkgbase/configure --prefix=/usr --with-python=/usr/bin/python$1
+ sed -i 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
+)
-# cd ../build-py3
-# ../${pkgbase}-${pkgver}/configure --prefix=/usr --with-python=/usr/bin/python
-# make
+build() {
+ _build 2
+ _build 3
}
-#package_python-gobject() {
-# pkgdesc="Python 3 bindings for GObject"
-# depends=('gobject-introspection-runtime' "pygobject-devel=$pkgver" 'python' 'cairo')
+package_python-gobject() {
+ depends=("pygobject-devel=$pkgver" python)
-# cd build-py3
-# make DESTDIR="$pkgdir" install
-# rm -r "$pkgdir"/usr/{include,lib/pkgconfig}
-#}
+ cd build-py3
+ make DESTDIR="$pkgdir" install
+ mv "$pkgdir"/usr/{include,lib/pkgconfig} "$srcdir/devel"
+}
package_python2-gobject() {
- pkgdesc="Python 2 bindings for GObject"
- depends=('gobject-introspection-runtime' "pygobject-devel=$pkgver" 'python2' 'cairo')
+ pkgdesc="${pkgdesc/Python/Python2}"
+ depends=("pygobject-devel=$pkgver" python2)
cd build-py2
make DESTDIR="$pkgdir" install
- mv "$pkgdir"/usr/{include,lib/pkgconfig} "$srcdir/devel"
- python2 -m compileall "$pkgdir"//usr/lib/python2.7/site-packages/gi
+ python2 -m compileall "$pkgdir"/usr/lib/python2.7/site-packages/gi
+ rm -r "$pkgdir"/usr/{include,lib/pkgconfig}
}
package_pygobject-devel() {
- pkgdesc="Development files for the pygobject bindings"
+ pkgdesc="Common development files for pygobject"
+ optdepends=()
- cd "devel"
- mkdir -p "$pkgdir"/usr/{include,lib}
+ cd devel
+ mkdir -p "$pkgdir/usr/lib"
mv include "$pkgdir/usr/"
mv pkgconfig "$pkgdir/usr/lib/"
}
diff --git a/abs/core/python_modules/pygobject/__changelog b/abs/core/python_modules/pygobject/__changelog
deleted file mode 100644
index 9715c21..0000000
--- a/abs/core/python_modules/pygobject/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD - comment out all python 3 stuff and only build for py 2
diff --git a/abs/core/python_modules/pygobject2/PKGBUILD b/abs/core/python_modules/pygobject2/PKGBUILD
index ba3d035..bca11a0 100644
--- a/abs/core/python_modules/pygobject2/PKGBUILD
+++ b/abs/core/python_modules/pygobject2/PKGBUILD
@@ -2,73 +2,69 @@
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=pygobject2
-pkgname=(python2-gobject2 pygobject2-devel)
-pkgver=2.28.6
-pkgrel=12
-arch=(i686 x86_64)
+pkgname=(python-gobject2 python2-gobject2 pygobject2-devel)
+pkgver=2.28.7
+pkgrel=1
+pkgdesc="Python bindings for GObject (legacy)"
url="http://www.pygtk.org/"
+arch=(x86_64)
license=(LGPL)
-makedepends=(python2 git)
-
-# pygobject-2-28 branch: https://git.gnome.org/browse/pygobject/log/?h=pygobject-2-28
-source=('git://git.gnome.org/pygobject#commit=9456ba7')
+depends=(glib2)
+makedepends=(python python2 git)
+options=(!emptydirs)
+_commit=c9594b6a91e6ca2086fedec2ed8249e0a9c029fc # tags/PYGOBJECT_2_28_7^0
+source=("git+https://git.gnome.org/browse/pygobject#commit=$_commit")
sha256sums=('SKIP')
-prepare() {
+pkgver() {
cd pygobject
- autoreconf -fi
-
- cp -a . ../python2-build
+ git describe --tags | sed 's/^PYGOBJECT_//;s/_/./g;s/-/+/g'
+}
- find -O3 ../python2-build \
- \( -name '*.py' -o -name '*.py.in' \) \
- -exec sed -i '1s|python$|&2|' {} +
+prepare() {
+ mkdir build-py{2,3} devel
+ cd pygobject
+ find . \( -name '*.py' -o -name '*.py.in' \) -exec sed -i '1s|python$|&2|' {} +
+ autoreconf -fvi
}
-build() {
- cd python2-build
- ./configure --prefix=/usr --disable-introspection \
- PYTHON=/usr/bin/python2
+_build() (
+ cd build-py$1
+ ../pygobject/configure --prefix=/usr --disable-introspection PYTHON=/usr/bin/python$1
+ sed -i 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
+)
- cd ../pygobject
-# ./configure --prefix=/usr --disable-introspection
-# make
+build() {
+ _build 2
+ _build 3
}
-#package_python-gobject2() {
-# pkgdesc="Python 3 bindings for GObject2"
-# depends=(glib2 pygobject2-devel python)
-# replaces=(py3gobject)
-# provides=("py3gobject=$pkgver")
+package_python-gobject2() {
+ depends=("pygobject2-devel=$pkgver" python)
-# cd pygobject
-# make DESTDIR="$pkgdir" install
-
- # Delete devel stuff
-# rm -r "$pkgdir"/usr/{include,lib/pkgconfig,share/{gtk-doc,pygobject/xsl}}
-#}
+ cd build-py3
+ make DESTDIR="$pkgdir" install
+ rm -r "$pkgdir"/usr/{include,lib/pkgconfig,share/pygobject/xsl}
+ rm -r "$pkgdir"/usr/share/gtk-doc
+}
package_python2-gobject2() {
- pkgdesc="Python 2 bindings for GObject2"
- depends=(glib2 pygobject2-devel python2)
- replaces=(pygobject)
- provides=("pygobject=$pkgver")
+ pkgdesc="${pkgdesc/Python/Python2}"
+ depends=("pygobject2-devel=$pkgver" python2)
- cd python2-build
+ cd build-py2
make DESTDIR="$pkgdir" install
-
+ mv "$pkgdir"/usr/{include,lib/pkgconfig,share/pygobject/xsl} "$srcdir/devel"
rm -r "$pkgdir"/usr/share/gtk-doc
-
- # Split devel stuff
- cd ..
- mkdir -p devel/usr/{lib,share/pygobject}
- mv {"$pkgdir",devel}/usr/include
- mv {"$pkgdir",devel}/usr/lib/pkgconfig
- mv {"$pkgdir",devel}/usr/share/pygobject/xsl
}
package_pygobject2-devel() {
- pkgdesc="Development files for the pygobject bindings"
- mv devel/* "$pkgdir"
+ pkgdesc="Common development files for pygobject2"
+
+ cd devel
+ mkdir -p "$pkgdir"/usr/{lib,share/pygobject}
+ mv include "$pkgdir/usr/"
+ mv pkgconfig "$pkgdir/usr/lib/"
+ mv xsl "$pkgdir/usr/share/pygobject/"
}
diff --git a/abs/core/python_modules/pygobject2/__changelog b/abs/core/python_modules/pygobject2/__changelog
deleted file mode 100644
index 92b1ef7..0000000
--- a/abs/core/python_modules/pygobject2/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-remove python3
diff --git a/abs/core/python_modules/pygtk/PKGBUILD b/abs/core/python_modules/pygtk/PKGBUILD
index 9e9f145..661d7d8 100644
--- a/abs/core/python_modules/pygtk/PKGBUILD
+++ b/abs/core/python_modules/pygtk/PKGBUILD
@@ -4,32 +4,42 @@
pkgname=pygtk
pkgver=2.24.0
-pkgrel=5
+pkgrel=8
pkgdesc="Python bindings for the GTK widget set"
-arch=('i686' 'x86_64')
+url="http://www.pygtk.org/"
+arch=('x86_64')
license=('LGPL')
-depends=('libglade' 'python2-cairo' 'pygobject')
+depends=('libglade' 'python2-cairo' 'python2-gobject2')
makedepends=('python2-numpy' 'pygobject2-devel')
optdepends=('python2-numpy')
-url="http://www.pygtk.org/"
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2
- python27.patch)
+source=(https://download.gnome.org/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2
+ python27.patch
+ fix-leaks-of-pango-objects.patch)
sha256sums=('cd1c1ea265bd63ff669e92a2d3c2a88eb26bcd9e5363e0f82c896e649f206912'
- '39a30456cba055a452bb55c74ef1ff2f5f7bfaad22855b4dd569ab009b56b682')
+ '39a30456cba055a452bb55c74ef1ff2f5f7bfaad22855b4dd569ab009b56b682'
+ '0ca9e910e9bb88897089dd19752a419aa78de15463df766cb19a1d0c2dd45bcb')
prepare() {
cd "${srcdir}/${pkgname}-${pkgver}"
- #https://bugzilla.gnome.org/show_bug.cgi?id=623965
+ # https://bugzilla.gnome.org/show_bug.cgi?id=623965
patch -Np1 -i "${srcdir}/python27.patch"
+ # https://bugzilla.gnome.org/show_bug.cgi?id=660216
+ patch -Np1 -i "${srcdir}/fix-leaks-of-pango-objects.patch"
+
+ # Python 2
sed -i -e 's#env python$#env python2#' examples/pygtk-demo/{,demos/}*.py
+
+ # No docs
+ sed -i '/^SUBDIRS =/s/docs//' Makefile.in
}
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- PYTHON=/usr/bin/python2 ./configure --prefix=/usr
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr --disable-docs
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
}
diff --git a/abs/core/python_modules/pygtk/fix-leaks-of-pango-objects.patch b/abs/core/python_modules/pygtk/fix-leaks-of-pango-objects.patch
new file mode 100644
index 0000000..c935dd6
--- /dev/null
+++ b/abs/core/python_modules/pygtk/fix-leaks-of-pango-objects.patch
@@ -0,0 +1,59 @@
+From eca72baa5616fbe4dbebea43c7e5940847dc5ab8 Mon Sep 17 00:00:00 2001
+From: "Owen W. Taylor" <otaylor@fishsoup.net>
+Date: Tue, 27 Sep 2011 00:17:52 -0400
+Subject: Fix leaks of Pango objects
+
+Gtk.PrintContext.create_pango_context()
+Gtk.PrintContext.create_pango_layout()
+pangocairo.CairoContext.create_layout()
+
+were leaking the objects they returned.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=660216
+
+diff --git a/gtk/gtk-2.10.defs b/gtk/gtk-2.10.defs
+index 69c7e0c..faa45e1 100644
+--- a/gtk/gtk-2.10.defs
++++ b/gtk/gtk-2.10.defs
+@@ -1388,12 +1388,14 @@
+ (define-method create_pango_context
+ (of-object "GtkPrintContext")
+ (c-name "gtk_print_context_create_pango_context")
++ (caller-owns-return #t)
+ (return-type "PangoContext*")
+ )
+
+ (define-method create_pango_layout
+ (of-object "GtkPrintContext")
+ (c-name "gtk_print_context_create_pango_layout")
++ (caller-owns-return #t)
+ (return-type "PangoLayout*")
+ )
+
+diff --git a/pangocairo.override b/pangocairo.override
+index bb923e6..5101107 100644
+--- a/pangocairo.override
++++ b/pangocairo.override
+@@ -118,11 +118,16 @@ _wrap_pango_cairo_update_context(PyGObject *self, PyObject *args, PyObject *kwar
+ static PyObject *
+ _wrap_pango_cairo_create_layout(PyGObject *self)
+ {
+- PangoLayout *ret;
++ PangoLayout *layout;
++ PyObject *ret;
+
+- ret = pango_cairo_create_layout(PycairoContext_GET(self));
++ layout = pango_cairo_create_layout(PycairoContext_GET(self));
+ /* pygobject_new handles NULL checking */
+- return pygobject_new((GObject *)ret);
++ ret = pygobject_new((GObject *)layout);
++ if (layout)
++ g_object_unref(layout);
++
++ return ret;
+ }
+
+ static PyObject *
+--
+cgit v0.10.2
+
diff --git a/abs/core/python_modules/python-opengl/LICENSE b/abs/core/python_modules/pyopengl/LICENSE
index 11d88fb..11d88fb 100644
--- a/abs/core/python_modules/python-opengl/LICENSE
+++ b/abs/core/python_modules/pyopengl/LICENSE
diff --git a/abs/core/python_modules/pyopengl/PKGBUILD b/abs/core/python_modules/pyopengl/PKGBUILD
new file mode 100644
index 0000000..dbb05c9
--- /dev/null
+++ b/abs/core/python_modules/pyopengl/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Josh Taylor <joshtaylor.mail@gmail.com>
+# Contributor: simo <simo@archlinux.org>
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgbase=pyopengl
+pkgname=('python2-opengl' 'python-opengl')
+pkgver=3.1.0
+pkgrel=3
+pkgdesc="The cross platform Python binding to OpenGL and related APIs"
+url="http://pyopengl.sourceforge.net/"
+license=('BSD')
+arch=('any')
+makedepends=('freeglut' 'python2-setuptools' 'python-setuptools')
+source=("https://pypi.python.org/packages/source/P/PyOpenGL/PyOpenGL-${pkgver}.tar.gz"
+ 'LICENSE')
+md5sums=('0de021941018d46d91e5a8c11c071693'
+ '0b53c508a63e5dbaf44cdfb0fa103b3a')\
+
+prepare() {
+ cp -a PyOpenGL-${pkgver} python-PyOpenGL-${pkgver}
+
+ # Fix the shebang
+ sed -i 's|#!/usr/bin/env python|#!/usr/bin/python2|' \
+ PyOpenGL-${pkgver}/OpenGL/Tk/__init__.py
+ sed -i 's|#! /usr/bin/env python|#!/usr/bin/python2|' \
+ PyOpenGL-${pkgver}/OpenGL/arrays/{_,}buffers.py
+}
+
+package_python2-opengl() {
+ depends=('python2' 'freeglut')
+ conflicts=('python-pyopengl' 'python-opengl<=3.0.1-4')
+ replaces=('python-pyopengl' 'python-opengl<=3.0.1-4')
+
+ cd PyOpenGL-${pkgver}
+ python2 setup.py install --root="${pkgdir}" --optimize=1
+ install -Dm644 "${srcdir}/LICENSE" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+package_python-opengl() {
+ depends=('python' 'freeglut')
+
+ cd python-PyOpenGL-${pkgver}
+ python setup.py install --root="${pkgdir}" --optimize=1
+ install -Dm644 "${srcdir}/LICENSE" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
diff --git a/abs/core/python_modules/pyopenssl/PKGBUILD b/abs/core/python_modules/pyopenssl/PKGBUILD
index d99cafa..2753f8f 100644
--- a/abs/core/python_modules/pyopenssl/PKGBUILD
+++ b/abs/core/python_modules/pyopenssl/PKGBUILD
@@ -4,16 +4,18 @@
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgbase=pyopenssl
-pkgname=('python2-pyopenssl')
-pkgver=16.0.0
+pkgname=('python-pyopenssl' 'python2-pyopenssl')
+pkgver=17.5.0
pkgrel=1
arch=('any')
url="http://pypi.python.org/pypi/pyOpenSSL"
license=('LGPL2.1')
-makedepends=('openssl' 'python2-setuptools' 'python2-cryptography')
-checkdepends=('python2-pytest-runner')
-source=(http://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-$pkgver.tar.gz)
-md5sums=('9587d813dcf656e9f2760e41a3682dc3')
+makedepends=('openssl' 'python-setuptools' 'python2-setuptools' 'python-cryptography'
+ 'python2-cryptography')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner' 'python-pretend' 'python2-pretend'
+ 'python-flaky' 'python2-flaky')
+source=("https://pypi.io/packages/source/p/pyOpenSSL/pyOpenSSL-$pkgver.tar.gz")
+sha512sums=('f194662b5842f1e3a4fcb910b9f2e6482d1dcdf834f306acc3dd6d9723f65038f7bff550248fa6268d90c839c9d9e8248bb6c7d399495fe6aed25291b93ece86')
prepare() {
cp -a pyOpenSSL-$pkgver{,-py2}
@@ -23,7 +25,7 @@ prepare() {
build () {
cd "$srcdir"/pyOpenSSL-$pkgver
-# python setup.py build
+ python setup.py build
cd "$srcdir"/pyOpenSSL-$pkgver-py2
python2 setup.py build
@@ -32,16 +34,19 @@ build () {
check () {
(
cd "$srcdir"/pyOpenSSL-$pkgver
- python setup.py ptr
+ python setup.py pytest
cd "$srcdir"/pyOpenSSL-$pkgver-py2
- python2 setup.py ptr
+ python2 setup.py pytest
) || warning "Tests failed due to missing SSLv3_METHOD"
}
package_python-pyopenssl(){
pkgdesc="Python3 wrapper module around the OpenSSL library"
depends=('openssl' 'python-six' 'python-cryptography')
+ replaces=('pyopenssl')
+ provides=('pyopenssl')
+ conflicts=('pyopenssl')
cd "$srcdir"/pyOpenSSL-$pkgver
python setup.py install --root="$pkgdir" --optimize=1
@@ -50,9 +55,6 @@ package_python-pyopenssl(){
package_python2-pyopenssl(){
pkgdesc="Python2 wrapper module around the OpenSSL library"
depends=('openssl' 'python2-six' 'python2-cryptography')
- replaces=('pyopenssl')
- provides=('pyopenssl')
- conflicts=('pyopenssl')
cd "$srcdir"/pyOpenSSL-$pkgver-py2
python2 setup.py install --root="$pkgdir" --optimize=1
diff --git a/abs/core/python_modules/pyopenssl/__changelog b/abs/core/python_modules/pyopenssl/__changelog
deleted file mode 100644
index 3de0e7a..0000000
--- a/abs/core/python_modules/pyopenssl/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD: rm py 3 stuff
-PKGBUILD: move provides/replaces/conflicts to python2-pyopenssl
diff --git a/abs/core/python_modules/pyqt/PKGBUILD b/abs/core/python_modules/pyqt/PKGBUILD
deleted file mode 100644
index 669bc4c..0000000
--- a/abs/core/python_modules/pyqt/PKGBUILD
+++ /dev/null
@@ -1,99 +0,0 @@
-# $Id: PKGBUILD 163679 2012-07-17 18:11:04Z 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=pyqt
-pkgname=('pyqt-common' 'python2-pyqt')
-pkgver=4.9.4
-pkgrel=2
-arch=('i686' 'x86_64')
-url="http://riverbankcomputing.co.uk/software/pyqt/intro"
-license=('GPL')
-makedepends=('qt' 'python2-sip'
- 'python-opengl' 'qt-assistant-compat' 'qtwebkit' 'python2-dbus')
-source=("http://riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-${pkgver}.tar.gz"
- 'fix-pyuic4.patch')
-md5sums=('a0b6a820633366365af5124ddbd059c7'
- '097651aea0bafded5abdfd6d62afd2ad')
-
-build() {
- # FS#30728
- cd "${srcdir}"/PyQt-x11-gpl-${pkgver}
- patch -p1 -i "${srcdir}"/fix-pyuic4.patch
- cd ..
-
- cp -r PyQt-x11-gpl-${pkgver} Py2Qt-x11-gpl-${pkgver}
-
- #cd "${srcdir}/PyQt-x11-gpl-${pkgver}"
- #python configure.py \
- # --confirm-license \
- # --qsci-api
-
- # Thanks Gerardo for the rpath fix
- #find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g'
-
- #make
-
- ### Python2 version ###
- cd "${srcdir}/Py2Qt-x11-gpl-${pkgver}"
- python2 configure.py \
- --confirm-license \
- -v /usr/share/sip \
- --qsci-api
-
- # Thanks Gerardo for the rpath fix
- find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g'
-
- make
-}
-
-package_pyqt-common(){
- pkgdesc="Common PyQt files shared between pyqt and python2-pyqt"
-
- cd "${srcdir}/Py2Qt-x11-gpl-${pkgver}"
- make -C pyrcc DESTDIR="${pkgdir}" install
- make -C pylupdate DESTDIR="${pkgdir}" install
- make -C designer INSTALL_ROOT="${pkgdir}" install
-
- install -Dm644 PyQt4.api "${pkgdir}"/usr/share/qt/qsci/api/python/PyQt4.api
-}
-
-package_pyqt(){
- pkgdesc="A set of Python 3.x bindings for the Qt toolkit"
- depends=('qtwebkit' 'python-sip' 'python-dbus' 'pyqt-common')
- optdepends=('phonon: enable audio and video in PyQt applications'
- 'qscintilla: QScintilla API'
- 'qt-assistant-compat: add PyQt online help in Qt Assistant')
-
- cd "${srcdir}/PyQt-x11-gpl-${pkgver}"
- # INSTALL_ROOT is needed for the QtDesigner module, the other Makefiles use DESTDIR
- make DESTDIR="${pkgdir}" INSTALL_ROOT="${pkgdir}" install
-
- # Provided by pyqt-common
- rm "${pkgdir}"/usr/bin/{pylupdate4,pyrcc4}
- rm "${pkgdir}"/usr/lib/qt/plugins/designer/libpythonplugin.so
- rm "${pkgdir}"/usr/share/qt/qsci/api/python/PyQt4.api
-}
-
-package_python2-pyqt(){
- pkgdesc="A set of Python 2.x bindings for the Qt toolkit"
- depends=('qtwebkit' 'python2-sip' 'python2-dbus' 'pyqt-common')
- optdepends=('phonon: enable audio and video in PyQt applications'
- 'python-opengl: enable OpenGL 3D graphics in PyQt applications'
- 'qscintilla: QScintilla API'
- 'qt-assistant-compat: add PyQt online help in Qt Assistant')
- provides=('python2-qt')
-
- cd "${srcdir}/Py2Qt-x11-gpl-${pkgver}"
- # INSTALL_ROOT is needed for the QtDesigner module, the other Makefiles use DESTDIR
- make DESTDIR="${pkgdir}" INSTALL_ROOT="${pkgdir}" install
-
- # Fix conflicts with pyqt
- mv "${pkgdir}"/usr/bin/{,python2-}pyuic4
-
- # Provided by pyqt-common
- rm "${pkgdir}"/usr/bin/{pylupdate4,pyrcc4}
- rm "${pkgdir}"/usr/lib/qt/plugins/designer/libpythonplugin.so
- rm "${pkgdir}"/usr/share/qt/qsci/api/python/PyQt4.api
-}
diff --git a/abs/core/python_modules/pyqt/__changelog b/abs/core/python_modules/pyqt/__changelog
deleted file mode 100644
index 9731eb3..0000000
--- a/abs/core/python_modules/pyqt/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-removed python3
diff --git a/abs/core/python_modules/pyqt/fix-pyuic4.patch b/abs/core/python_modules/pyqt/fix-pyuic4.patch
deleted file mode 100644
index 2173443..0000000
--- a/abs/core/python_modules/pyqt/fix-pyuic4.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-# HG changeset patch
-# User Phil Thompson <phil at riverbankcomputing.com>
-# Date 2012-07-13 13:39:28 +0100
-# Node ID 29b668ada14c1428a3bbfe8f0324c6626bd5ac9a
-# Parent fd0f3da9d79ca9858d10a20c15fb85456cb832d7
-Fixed a regression in pyuic's handling of custom widgets.
-
-diff --git a/pyuic/uic/Compiler/qobjectcreator.py b/pyuic/uic/Compiler/qobjectcreator.py
---- a/pyuic/uic/Compiler/qobjectcreator.py
-+++ b/pyuic/uic/Compiler/qobjectcreator.py
-@@ -1,6 +1,6 @@
- #############################################################################
- ##
--## Copyright (C) 2011 Riverbank Computing Limited.
-+## Copyright (C) 2012 Riverbank Computing Limited.
- ## Copyright (C) 2006 Thorsten Marek.
- ## All right reserved.
- ##
-@@ -100,7 +100,6 @@
- assert widgetClass not in self._widgets
- self._widgets[widgetClass] = (baseClass, module)
-
--
- def _resolveBaseclass(self, baseClass):
- try:
- for x in range(0, 10):
-@@ -114,19 +113,17 @@
- except KeyError:
- raise ValueError("unknown baseclass %s" % baseClass)
-
--
- def search(self, cls):
- try:
-- self._usedWidgets.add(cls)
- baseClass = self._resolveBaseclass(self._widgets[cls][0])
- DEBUG("resolved baseclass of %s: %s" % (cls, baseClass))
--
-- return type(cls, (baseClass,),
-- {"module" : ""})
--
- except KeyError:
- return None
-
-+ self._usedWidgets.add(cls)
-+
-+ return type(cls, (baseClass, ), {"module" : ""})
-+
- def _writeImportCode(self):
- imports = {}
- for widget in self._usedWidgets:
-diff --git a/pyuic/uic/objcreator.py b/pyuic/uic/objcreator.py
---- a/pyuic/uic/objcreator.py
-+++ b/pyuic/uic/objcreator.py
-@@ -102,19 +102,26 @@
- self._modules.append(self._customWidgets)
-
- def createQObject(self, classname, *args, **kwargs):
-- # Handle scoped names, typically static factory methods.
-- parts = classname.split('.')
-- factory = self.findQObjectType(parts[0])
-+ # Handle regular and custom widgets.
-+ factory = self.findQObjectType(classname)
-
-- if factory is not None:
-- for part in parts[1:]:
-- factory = getattr(factory, part, None)
-- if factory is None:
-- break
-- else:
-- return self._cpolicy.instantiate(factory, *args, **kwargs)
-+ if factory is None:
-+ # Handle scoped names, typically static factory methods.
-+ parts = classname.split('.')
-
-- raise NoSuchWidgetError(classname)
-+ if len(parts) > 1:
-+ factory = self.findQObjectType(parts[0])
-+
-+ if factory is not None:
-+ for part in parts[1:]:
-+ factory = getattr(factory, part, None)
-+ if factory is None:
-+ break
-+
-+ if factory is None:
-+ raise NoSuchWidgetError(classname)
-+
-+ return self._cpolicy.instantiate(factory, *args, **kwargs)
-
- def invoke(self, rname, method, args=()):
- return self._cpolicy.invoke(rname, method, args)
diff --git a/abs/core/python_modules/pyqt5/PKGBUILD b/abs/core/python_modules/pyqt5/PKGBUILD
new file mode 100644
index 0000000..faad5db
--- /dev/null
+++ b/abs/core/python_modules/pyqt5/PKGBUILD
@@ -0,0 +1,128 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Yichao Yu <yyc1992@gmail.com>
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
+# Contributor: riai <riai@bigfoot.com> Ben <ben@benmazer.net>
+
+pkgbase=pyqt5
+pkgname=('pyqt5-common' 'python-pyqt5' 'python2-pyqt5')
+pkgver=5.10.1
+pkgrel=1
+arch=('x86_64')
+url="http://riverbankcomputing.co.uk/software/pyqt/intro"
+license=('GPL')
+makedepends=('python-sip' 'python2-sip' 'python-opengl' 'python2-opengl'
+ 'python2-dbus' 'python-dbus' 'qt5-connectivity'
+ 'qt5-multimedia' 'qt5-tools' 'qt5-serialport' 'qt5-svg'
+ 'qt5-webengine' 'qt5-webkit' 'qt5-websockets' 'qt5-x11extras' 'qt5-networkauth')
+source=("http://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-$pkgver/PyQt5_gpl-$pkgver.tar.gz" pyqt-support-new-qt.patch)
+sha512sums=('04cd0292f7a088f9c0d088d7c73ec96cfc40253f771dfdf194eb92be7635e6fcaf04863fa24215e9c34a096658549bb2feeb8d8fdca1e39ed87f0256ef0f790b'
+ '9e4184291c0ece0bf375da3e0cf6e3f22df33eea1ee2b981fe9e2a0ba7d625583dd513c029c49562189986c0145262ac2aa8e5aa85701a981b3ed4061f4acf36')
+
+prepare() {
+ # Support new versions of Qt - don't remove, needs to be reapplied after every new Qt release
+ pushd PyQt5_gpl-$pkgver
+ # patch -p1 -i ../pyqt-support-new-qt.patch
+ popd
+
+ # The additional include path was removed due to this line, I don't really know why they are doing this...
+ sed -i '/target_config.dbus_inc_dirs = \[\]/d' PyQt5_gpl-$pkgver/configure.py
+
+ cp -a PyQt5_gpl-$pkgver{,-py2}
+}
+
+build() {
+ cd "$srcdir"/PyQt5_gpl-$pkgver
+ python configure.py \
+ --confirm-license \
+ --no-sip-files \
+ --qsci-api \
+ -q /usr/bin/qmake-qt5
+
+ # Thanks Gerardo for the rpath fix
+ find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g'
+
+ make
+
+ cd "$srcdir"/PyQt5_gpl-$pkgver-py2
+ python2 configure.py \
+ --confirm-license \
+ --no-sip-files \
+ --qsci-api \
+ -q /usr/bin/qmake-qt5
+
+ # Thanks Gerardo for the rpath fix
+ find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g'
+
+ make
+}
+
+package_pyqt5-common(){
+ pkgdesc="Common PyQt files shared between python-pyqt5 and python2-pyqt5"
+ depends=('qt5-base')
+
+ cd PyQt5_gpl-$pkgver
+ install -Dm644 PyQt5.api "$pkgdir"/usr/share/qt/qsci/api/python/PyQt5.api
+
+ install -d "$pkgdir"/usr/share/sip/PyQt5
+ cp -a sip/* "$pkgdir"/usr/share/sip/PyQt5
+}
+
+package_python-pyqt5(){
+ pkgdesc="A set of Python 3.x bindings for the Qt5 toolkit"
+ depends=('python-sip' 'pyqt5-common')
+ optdepends=('python-opengl: enable OpenGL 3D graphics in PyQt applications'
+ 'python-dbus: for python-dbus mainloop support'
+ 'qt5-multimedia: QtMultimedia, QtMultimediaWidgets'
+ 'qt5-tools: QtHelp, QtDesigner'
+ 'qt5-svg: QtSvg'
+ 'qt5-webkit: QtWebKit, QtWebKitWidgets'
+ 'qt5-xmlpatterns: QtXmlPatterns'
+ 'qt5-declarative: QtQml, qmlplugin'
+ 'qt5-serialport: QtSerialPort'
+ 'qt5-websockets: QtWebSockets'
+ 'qt5-connectivity: QtNfc, QtBluetooth'
+ 'qt5-webengine: QtWebEngine, QtWebEngineCore, QtWebEngineWidgets'
+ 'qt5-x11extras: QtX11Extras'
+ 'qt5-networkauth: QtNetworkAuth')
+
+ cd PyQt5_gpl-$pkgver
+ # INSTALL_ROOT is needed for the QtDesigner module, the other Makefiles use DESTDIR
+ make DESTDIR="$pkgdir" INSTALL_ROOT="$pkgdir" install
+
+ # Provided by pyqt-common
+ rm "$pkgdir"/usr/share/qt/qsci/api/python/PyQt5.api
+}
+
+package_python2-pyqt5(){
+ pkgdesc="A set of Python 2.x bindings for the Qt5 toolkit"
+ depends=('python2-sip' 'pyqt5-common' 'python2-enum34')
+ optdepends=('python2-opengl: enable OpenGL 3D graphics in PyQt applications'
+ 'python-dbus: for python-dbus mainloop support'
+ 'qt5-multimedia: QtMultimedia, QtMultimediaWidgets'
+ 'qt5-tools: QtHelp, QtDesigner'
+ 'qt5-svg: QtSvg'
+ 'qt5-webkit: QtWebKit, QtWebKitWidgets'
+ 'qt5-xmlpatterns: QtXmlPatterns'
+ 'qt5-declarative: QtQml, qmlplugin'
+ 'qt5-serialport: QtSerialPort'
+ 'qt5-websockets: QtWebSockets'
+ 'qt5-connectivity: QtNfc, QtBluetooth'
+ 'qt5-webengine: QtWebEngine, QtWebEngineCore, QtWebEngineWidgets'
+ 'qt5-x11extras: QtX11Extras'
+ 'qt5-networkauth: QtNetworkAuth')
+
+ cd PyQt5_gpl-$pkgver-py2
+ # INSTALL_ROOT is needed for the QtDesigner module, the other Makefiles use DESTDIR
+ make DESTDIR="$pkgdir" INSTALL_ROOT="$pkgdir" install
+
+ # Fix conflicts with python-pyqt5
+ mv "$pkgdir"/usr/bin/{,python2-}pyuic5
+ mv "$pkgdir"/usr/bin/{,python2-}pylupdate5
+ mv "$pkgdir"/usr/bin/{,python2-}pyrcc5
+
+ rm "$pkgdir"/usr/lib/qt/plugins/designer/libpyqt5.so
+ rm "$pkgdir"/usr/lib/qt/plugins/PyQt5/libpyqt5qmlplugin.so
+ rm "$pkgdir"/usr/share/qt/qsci/api/python/PyQt5.api
+}
diff --git a/abs/core/python_modules/pyqt5/pyqt-support-new-qt.patch b/abs/core/python_modules/pyqt5/pyqt-support-new-qt.patch
new file mode 100644
index 0000000..3dd100a
--- /dev/null
+++ b/abs/core/python_modules/pyqt5/pyqt-support-new-qt.patch
@@ -0,0 +1,12 @@
+diff -ru a/sip/QtCore/QtCoremod.sip b/sip/QtCore/QtCoremod.sip
+--- a/sip/QtCore/QtCoremod.sip 2016-12-25 18:56:11.000000000 +0100
++++ b/sip/QtCore/QtCoremod.sip 2017-01-24 12:03:50.707514377 +0100
+@@ -22,7 +22,7 @@
+
+ %Module(name=PyQt5.QtCore, call_super_init=True, default_VirtualErrorHandler=PyQt5, keyword_arguments="Optional", use_limited_api=True)
+
+-%Timeline {Qt_5_0_0 Qt_5_0_1 Qt_5_0_2 Qt_5_1_0 Qt_5_1_1 Qt_5_2_0 Qt_5_2_1 Qt_5_3_0 Qt_5_3_1 Qt_5_3_2 Qt_5_4_0 Qt_5_4_1 Qt_5_4_2 Qt_5_5_0 Qt_5_5_1 Qt_5_6_0 Qt_5_6_1 Qt_5_6_2 Qt_5_6_3 Qt_5_6_4 Qt_5_6_5 Qt_5_6_6 Qt_5_6_7 Qt_5_6_8 Qt_5_6_9 Qt_5_7_0 Qt_5_7_1 Qt_5_8_0 Qt_5_8_1 Qt_5_9_0 Qt_5_9_1 Qt_5_9_2 Qt_5_9_3 Qt_5_10_0}
++%Timeline {Qt_5_0_0 Qt_5_0_1 Qt_5_0_2 Qt_5_1_0 Qt_5_1_1 Qt_5_2_0 Qt_5_2_1 Qt_5_3_0 Qt_5_3_1 Qt_5_3_2 Qt_5_4_0 Qt_5_4_1 Qt_5_4_2 Qt_5_5_0 Qt_5_5_1 Qt_5_6_0 Qt_5_6_1 Qt_5_6_2 Qt_5_6_3 Qt_5_6_4 Qt_5_6_5 Qt_5_6_6 Qt_5_6_7 Qt_5_6_8 Qt_5_6_9 Qt_5_7_0 Qt_5_7_1 Qt_5_8_0 Qt_5_8_1 Qt_5_9_0 Qt_5_9_1 Qt_5_9_2 Qt_5_9_3 Qt_5_10_0 Qt_5_10_1}
+
+ %Platforms {WS_X11 WS_WIN WS_MACX}
+
diff --git a/abs/core/python_modules/python-apipkg/PKGBUILD b/abs/core/python_modules/python-apipkg/PKGBUILD
new file mode 100644
index 0000000..7e085a7
--- /dev/null
+++ b/abs/core/python_modules/python-apipkg/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgbase=python-apipkg
+pkgname=('python-apipkg' 'python2-apipkg')
+pkgver=1.4
+pkgrel=3
+pkgdesc="Namespace control and lazy-import mechanism"
+arch=('any')
+license=('MIT')
+url="https://bitbucket.org/hpk42/apipkg"
+makedepends=('python-setuptools' 'python2-setuptools')
+checkdepends=('python-pytest' 'python2-pytest')
+source=("https://files.pythonhosted.org/packages/source/a/apipkg/apipkg-$pkgver.tar.gz")
+sha512sums=('118f806706944513f50d3cdef596b32f8ce585cfaf94d2531a6d260f90a0e2147177161aaa6f5d6823150e6182d0f73be3dc01259b8a2f8d710733a22ea54789')
+
+prepare() {
+ cp -a apipkg-${pkgver}{,-py2}
+}
+
+build() {
+ cd "$srcdir/apipkg-${pkgver}"
+ python setup.py build
+
+ cd "$srcdir/apipkg-${pkgver}-py2"
+ python2 setup.py build
+}
+
+check() {
+ cd "$srcdir/apipkg-${pkgver}"
+ py.test
+
+ cd "$srcdir/apipkg-${pkgver}-py2"
+ py.test2
+}
+
+package_python-apipkg() {
+ depends=('python')
+
+ cd apipkg-${pkgver}
+ python setup.py install --root="${pkgdir}" --optimize=1
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+package_python2-apipkg() {
+ depends=('python2')
+
+ cd apipkg-${pkgver}-py2
+ python2 setup.py install --root="${pkgdir}" --optimize=1
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/abs/core/python_modules/python-appdirs/PKGBUILD b/abs/core/python_modules/python-appdirs/PKGBUILD
index 95552c7..2b6a71c 100644
--- a/abs/core/python_modules/python-appdirs/PKGBUILD
+++ b/abs/core/python_modules/python-appdirs/PKGBUILD
@@ -3,14 +3,14 @@
# Contributor: Tobias Roettger <toroettg@gmail.com>
pkgbase=python-appdirs
-pkgname=(python2-appdirs)
+pkgname=(python-appdirs python2-appdirs)
pkgver=1.4.3
-pkgrel=1
+pkgrel=2
pkgdesc='A small Python module for determining appropriate platform-specific dirs, e.g. a "user data dir".'
arch=('any')
url="https://github.com/ActiveState/appdirs"
license=('MIT')
-makedepends=('python2-setuptools')
+makedepends=('python-setuptools' 'python2-setuptools')
source=("https://pypi.io/packages/source/a/appdirs/appdirs-$pkgver.tar.gz")
md5sums=('44c679904082a2133f5566c8a0d3ab42')
@@ -19,16 +19,16 @@ prepare() {
}
build() {
-# cd "$srcdir"/appdirs-$pkgver
-# python setup.py build
+ cd "$srcdir"/appdirs-$pkgver
+ python setup.py build
cd "$srcdir"/appdirs-$pkgver-py2
python2 setup.py build
}
check() {
-# cd "$srcdir"/appdirs-$pkgver
-# python setup.py test
+ cd "$srcdir"/appdirs-$pkgver
+ python setup.py test
cd "$srcdir"/appdirs-$pkgver-py2
python2 setup.py test
diff --git a/abs/core/python_modules/python-appdirs/__changelog b/abs/core/python_modules/python-appdirs/__changelog
deleted file mode 100644
index 4f818ef..0000000
--- a/abs/core/python_modules/python-appdirs/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD: don't build py 3 stuff
-
diff --git a/abs/core/python_modules/python-asn1crypto/PKGBUILD b/abs/core/python_modules/python-asn1crypto/PKGBUILD
new file mode 100644
index 0000000..2caede9
--- /dev/null
+++ b/abs/core/python_modules/python-asn1crypto/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Massimiliano Torromeo < massimiliano DOT torromeo AT gmail DOT com >
+
+pkgbase=python-asn1crypto
+pkgname=('python-asn1crypto' 'python2-asn1crypto')
+pkgver=0.24.0
+pkgrel=1
+arch=('any')
+license=('MIT')
+pkgdesc="Python ASN.1 library with a focus on performance and a pythonic API"
+url="https://github.com/wbond/asn1crypto"
+makedepends=('python-setuptools' 'python2-setuptools')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/wbond/asn1crypto/archive/$pkgver.tar.gz")
+sha512sums=('426cc380903b4dd7aadd7b831e3a11ee3442c961a33b856d4aa8d9060e829f2e0ad905a60c4d6504569718fe2cee01d9be31628c89ef030bc34281e381c898e8')
+
+prepare() {
+ cp -a asn1crypto-$pkgver{,-py2}
+}
+
+build() {
+ cd "$srcdir"/asn1crypto-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/asn1crypto-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+ cd "$srcdir"/asn1crypto-$pkgver
+ python run.py tests
+
+ cd "$srcdir"/asn1crypto-$pkgver-py2
+ python2 run.py tests
+}
+
+package_python-asn1crypto() {
+ depends=('python')
+
+ cd asn1crypto-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/python-asn1crypto/LICENSE
+}
+
+package_python2-asn1crypto() {
+ depends=('python2')
+
+ cd asn1crypto-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/python2-asn1crypto/LICENSE
+}
diff --git a/abs/core/python_modules/python-attrs/PKGBUILD b/abs/core/python_modules/python-attrs/PKGBUILD
new file mode 100644
index 0000000..ba6f128
--- /dev/null
+++ b/abs/core/python_modules/python-attrs/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgbase=python-attrs
+pkgname=('python-attrs' 'python2-attrs')
+pkgver=17.4.0
+pkgrel=1
+pkgdesc="Attributes without boilerplate."
+arch=('any')
+license=('MIT')
+url="https://attrs.readthedocs.org/"
+makedepends=('python-setuptools' 'python2-setuptools')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner' 'python-zope-interface'
+ 'python2-zope-interface' 'python-hypothesis' 'python2-hypothesis')
+source=("https://pypi.io/packages/source/a/attrs/attrs-$pkgver.tar.gz")
+sha512sums=('b631cd5af1be7c78175230363a3cf9d37cb0237d87b24f994812b5734985d114708d5bf7ee5d92b8b13c6b8daa313efde4a9f60f0630df0b62bbcf4928a016ff')
+
+prepare() {
+ cp -a attrs-$pkgver{,-py2}
+}
+
+build() {
+ cd "$srcdir"/attrs-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/attrs-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+ cd "$srcdir"/attrs-$pkgver
+ python setup.py pytest
+
+ cd "$srcdir"/attrs-$pkgver-py2
+ python2 setup.py pytest
+}
+
+package_python-attrs() {
+ depends=('python')
+
+ cd attrs-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_python2-attrs() {
+ depends=('python2')
+
+ cd attrs-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/abs/core/python_modules/python-automat/PKGBUILD b/abs/core/python_modules/python-automat/PKGBUILD
new file mode 100644
index 0000000..cde0c88
--- /dev/null
+++ b/abs/core/python_modules/python-automat/PKGBUILD
@@ -0,0 +1,57 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgbase=python-automat
+pkgname=('python-automat' 'python2-automat')
+pkgver=0.6.0
+pkgrel=1
+arch=('any')
+license=('MIT')
+pkgdesc="Self-service finite-state machines for the programmer on the go."
+url="https://github.com/glyph/automat"
+makedepends=('python-setuptools-scm' 'python2-setuptools-scm' 'm2r' 'python2-m2r' 'python-attrs'
+ 'python2-attrs')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/glyph/automat/archive/v$pkgver.tar.gz")
+sha512sums=('18488b7815ee6f1c19db17fef7b63b7c8b46639a7a2cd5060dd611c880d9c7828bf2ebf978c2eef560140b66333a94060d9f77c9e8f89342425229065a0a6f7f')
+
+prepare() {
+ cp -a automat-$pkgver{,-py2}
+
+ # Set version for setuptools_scm
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+}
+
+build() {
+ cd "$srcdir"/automat-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/automat-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+ cd "$srcdir"/automat-$pkgver
+ python setup.py pytest
+
+ cd "$srcdir"/automat-$pkgver-py2
+ python2 setup.py pytest
+}
+
+package_python-automat() {
+ depends=('python-attrs' 'python-setuptools')
+
+ cd automat-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/python-automat/LICENSE
+}
+
+package_python2-automat() {
+ depends=('python2-attrs' 'python2-setuptools')
+
+ cd automat-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/python2-automat/LICENSE
+
+ mv "$pkgdir"/usr/bin/automat-visualize{,2}
+}
diff --git a/abs/core/python_modules/python-babel/PKGBUILD b/abs/core/python_modules/python-babel/PKGBUILD
new file mode 100644
index 0000000..fcbdc4b
--- /dev/null
+++ b/abs/core/python_modules/python-babel/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id$
+# Maintainer: Morten Linderud <foxboron@archlinux.no>
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor : Giedrius Slavinskas <giedrius25@gmail.com>
+
+pkgbase=python-babel
+pkgname=(python-babel python2-babel)
+pkgver=2.5.3
+pkgrel=4
+pkgdesc="A collection of tools for internationalizing Python applications"
+url="http://babel.pocoo.org/"
+license=("BSD")
+arch=('any')
+makedepends=('python' 'python2'
+ 'python-setuptools' 'python2-setuptools'
+ 'python-pytz' 'python2-pytz')
+noextract=("core-28.zip")
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/python-babel/babel/archive/v$pkgver.tar.gz"
+ "core-29.zip::http://unicode.org/Public/cldr/29/core.zip")
+sha256sums=('4c231f28875552abe18c6c10829cec0884d7eeb27423b562357250dc32090cb9'
+ 'b3308f8d3b4a80045ce4262b2784ac8d99775e80aaacafbf1277833f6b28ffda')
+
+prepare() {
+ cp -a babel-$pkgver{,-py2}
+ cp "$srcdir"/core-29.zip babel-$pkgver-py2/cldr/
+ cp "$srcdir"/core-29.zip babel-$pkgver/cldr/
+}
+
+build(){
+ cd "$srcdir/babel-$pkgver"
+ python setup.py import_cldr
+ python setup.py build
+
+ cd "$srcdir/babel-$pkgver-py2"
+ python2 setup.py import_cldr
+ python2 setup.py build
+}
+
+package_python-babel() {
+ depends=('python' 'python-pytz')
+
+ cd "$srcdir"/babel-${pkgver}
+ python setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ install -D -m0644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python2-babel() {
+ depends=('python2' 'python2-pytz')
+
+ cd "$srcdir"/babel-${pkgver}-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ mv "$pkgdir"/usr/bin/pybabel "$pkgdir"/usr/bin/pybabel2
+ install -D -m0644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/abs/core/python_modules/python-beaker/PKGBUILD b/abs/core/python_modules/python-beaker/PKGBUILD
index fbc3bae..8947e3f 100644
--- a/abs/core/python_modules/python-beaker/PKGBUILD
+++ b/abs/core/python_modules/python-beaker/PKGBUILD
@@ -1,42 +1,60 @@
# $Id$
-# Maintainer : Ionut Biru <ibiru@archlinux.org>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Massimiliano Torromeo < massimiliano DOT torromeo AT gmail DOT com >
-pkgname=('python2-beaker')
-pkgver=1.6.4
+pkgbase=python-beaker
+pkgname=('python-beaker' 'python2-beaker')
+pkgver=1.8.1
pkgrel=2
arch=('any')
license=('custom')
pkgdesc="Caching and sessions WSGI middleware for use with web applications and stand-alone Python scripts and applications"
url="http://beaker.groovie.org/"
-makedepends=('python2-setuptools')
-source=("http://cheeseshop.python.org/packages/source/B/Beaker/Beaker-${pkgver}.tar.gz")
-md5sums=('c2e102870ed4c53104dec48ceadf8e9d')
+makedepends=('python-setuptools' 'python2-setuptools' 'git')
+checkdepends=('python-nose' 'python2-nose' 'python-mock' 'python2-mock' 'python-sqlalchemy' 'python2-sqlalchemy'
+ 'python-crypto' 'python2-crypto' 'python-coverage' 'python2-coverage' 'python-webtest' 'python2-webtest'
+ 'python-beautifulsoup4' 'python2-beautifulsoup4')
+source=("git+https://github.com/bbangert/beaker.git#tag=$pkgver")
+md5sums=('SKIP')
+
+prepare() {
+ cp -a beaker{,-py2}
+
+ sed -i "s#/usr/bin/python#/usr/bin/python3#" beaker/beaker/crypto/pbkdf2.py
+ sed -i "s#/usr/bin/python#/usr/bin/python2#" beaker-py2/beaker/crypto/pbkdf2.py
+}
build() {
- cp -r Beaker-${pkgver} python2-Beaker-${pkgver}
-
- cd "${srcdir}/Beaker-${pkgver}"
- sed -i "s#/usr/bin/python#/usr/bin/python3#" beaker/crypto/pbkdf2.py
-# python3 setup.py build
+ cd "$srcdir"/beaker
+ python3 setup.py build
- cd "${srcdir}/python2-Beaker-${pkgver}"
- sed -i "s#/usr/bin/python#/usr/bin/python2#" beaker/crypto/pbkdf2.py
+ cd "$srcdir"/beaker-py2
python2 setup.py build
}
-#package_python-beaker() {
-# depends=('python')
+check() {
+ cd "$srcdir"/beaker
+ mkdir tests_py3
+ 2to3 -w -n -o tests_py3 tests/*.py
+ PYTHONPATH="$PWD/build/lib:$PYTHONPATH" nosetests3 --py3where=tests_py3
+
+ cd "$srcdir"/beaker-py2
+ PYTHONPATH="$PWD/build/lib:$PYTHONPATH" nosetests2
+}
+
+package_python-beaker() {
+ depends=('python')
-# cd "${srcdir}/Beaker-${pkgver}"
-# python3 setup.py install --root="${pkgdir}" --optimize=1
-# install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/python-beaker/LICENSE"
-#}
+ cd beaker
+ python3 setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/python-beaker/LICENSE
+}
package_python2-beaker() {
depends=('python2')
- cd "${srcdir}/python2-Beaker-${pkgver}"
- python2 setup.py install --root="${pkgdir}" --optimize=1
- install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/python2-beaker/LICENSE"
+ cd beaker-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/python2-beaker/LICENSE
}
diff --git a/abs/core/python_modules/python-beaker/__changelog b/abs/core/python_modules/python-beaker/__changelog
deleted file mode 100644
index 9715c21..0000000
--- a/abs/core/python_modules/python-beaker/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD - comment out all python 3 stuff and only build for py 2
diff --git a/abs/core/python_modules/python-beautifulsoup4/PKGBUILD b/abs/core/python_modules/python-beautifulsoup4/PKGBUILD
index 9af6084..5ed3781 100644
--- a/abs/core/python_modules/python-beautifulsoup4/PKGBUILD
+++ b/abs/core/python_modules/python-beautifulsoup4/PKGBUILD
@@ -4,15 +4,15 @@
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
pkgbase=python-beautifulsoup4
-pkgname=('python2-beautifulsoup4')
+pkgname=('python-beautifulsoup4' 'python2-beautifulsoup4')
pkgver=4.6.0
-pkgrel=1
+pkgrel=2
pkgdesc="A Python HTML/XML parser designed for quick turnaround projects like screen-scraping"
arch=('any')
url="http://www.crummy.com/software/BeautifulSoup/index.html"
license=('PSF')
-makedepends=('python2-setuptools')
-checkdepends=('python2-pytest')
+makedepends=('python-setuptools' 'python2-setuptools')
+checkdepends=('python-pytest' 'python2-pytest')
source=("http://www.crummy.com/software/BeautifulSoup/bs4/download/${pkgver%.*}/${pkgbase#*-}-$pkgver.tar.gz")
sha512sums=('1a7eee4218e58cc3852e71fe4f0892f673bb46a851941264766a38eff8ef05d612d88b4641fcb478ce8f66ac50dc987ca039923c4bbb11867c74813289f7e578')
@@ -21,16 +21,16 @@ prepare() {
}
build() {
-# cd "$srcdir"/beautifulsoup4-$pkgver
-# python setup.py build
+ cd "$srcdir"/beautifulsoup4-$pkgver
+ python setup.py build
cd "$srcdir"/beautifulsoup4-$pkgver-py2
python2 setup.py build
}
check() {
-# cd "$srcdir"/beautifulsoup4-$pkgver/build
-# py.test
+ cd "$srcdir"/beautifulsoup4-$pkgver/build
+ py.test
cd "$srcdir"/beautifulsoup4-$pkgver-py2/build
py.test2
diff --git a/abs/core/python_modules/python-beautifulsoup4/__changelog b/abs/core/python_modules/python-beautifulsoup4/__changelog
deleted file mode 100644
index 4f818ef..0000000
--- a/abs/core/python_modules/python-beautifulsoup4/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD: don't build py 3 stuff
-
diff --git a/abs/core/python_modules/python-cairo/PKGBUILD b/abs/core/python_modules/python-cairo/PKGBUILD
new file mode 100644
index 0000000..9f91cbb
--- /dev/null
+++ b/abs/core/python_modules/python-cairo/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id$
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgbase=python-cairo
+pkgname=(python-cairo python2-cairo)
+pkgver=1.16.2
+pkgrel=1
+pkgdesc="Python bindings for the cairo graphics library"
+arch=('x86_64')
+url="https://pycairo.readthedocs.io/en/latest/"
+license=('LGPL2.1' 'MPL')
+makedepends=(python python2 cairo git)
+_commit=c74dc1e3589bd8a197582836c7db2ab400a988bb # tags/v1.16.2
+source=("git+https://github.com/pygobject/pycairo/#commit=$_commit")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd pycairo
+ git describe --tags | sed 's/^v//;s/-/+/g'
+}
+
+
+build() {
+ cd pycairo
+ python2 setup.py build
+ python setup.py build
+}
+
+package_python2-cairo() {
+ depends=('cairo' 'python2')
+ pkgdesc="Python2 bindings for the cairo graphics library"
+
+ cd pycairo
+ python2 setup.py install --skip-build --root="${pkgdir}" --optimize='1'
+}
+
+package_python-cairo() {
+ depends=('cairo' 'python')
+
+ cd pycairo
+ python setup.py install --skip-build --root="${pkgdir}" --optimize='1'
+}
diff --git a/abs/core/python_modules/python-cffi/PKGBUILD b/abs/core/python_modules/python-cffi/PKGBUILD
index 5a4ef04..fdf8f2f 100644
--- a/abs/core/python_modules/python-cffi/PKGBUILD
+++ b/abs/core/python_modules/python-cffi/PKGBUILD
@@ -3,51 +3,51 @@
# Contributor: lilydjwg <lilydjwg@gmail.com>
pkgbase=python-cffi
-pkgname=(python2-cffi)
-pkgver=1.5.2
-_revision=4640c7bfb3166763943b428bc7ae9d3585e45c34
+pkgname=(python-cffi python2-cffi)
+pkgver=1.11.5
pkgrel=1
pkgdesc="Foreign Function Interface for Python calling C code"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://cffi.readthedocs.org/"
license=('MIT')
-makedepends=('python2-setuptools' 'python2-pycparser' 'mercurial')
-checkdepends=('python2-pytest-runner')
-source=("hg+https://felixonmars@bitbucket.org/cffi/cffi#revision=$_revision")
-sha512sums=('SKIP')
+makedepends=('python-setuptools' 'python2-setuptools' 'python-pycparser' 'python2-pycparser')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner')
+source=("$pkgbase-$pkgver.tar.gz::https://bitbucket.org/cffi/cffi/get/v$pkgver.tar.gz")
+sha512sums=('f2f485aa8c541f82a0caef41ef48f7c0b3432208588e4748463fd7ceffb762c645751d66e910b7d56b22cc51a2e99305a626de4abc2f2fae13c6a58009d41651')
prepare() {
- cp -a cffi{,-py2}
+ mv cffi-cffi-* cffi-$pkgver
+ cp -a cffi-$pkgver{,-py2}
}
build() {
-# cd "$srcdir/cffi"
-# python3 setup.py build
+ cd "$srcdir"/cffi-$pkgver
+ python setup.py build
- cd "$srcdir/cffi-py2"
+ cd "$srcdir"/cffi-$pkgver-py2
python2 setup.py build
}
check() {
- cd "$srcdir/cffi"
- python3 setup.py ptr
+ cd "$srcdir"/cffi-$pkgver
+ python setup.py pytest
- cd "$srcdir/cffi-py2"
- python2 setup.py ptr
+ cd "$srcdir"/cffi-$pkgver-py2
+ python2 setup.py pytest
}
package_python-cffi() {
depends=('python-pycparser')
- cd "$srcdir/cffi"
- python3 setup.py install --root="$pkgdir/" --optimize=1
- install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ cd cffi-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
package_python2-cffi() {
depends=('python2-pycparser')
- cd "$srcdir/cffi-py2"
- python2 setup.py install --root="$pkgdir/" --optimize=1
- install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ cd cffi-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
diff --git a/abs/core/python_modules/python-cffi/__changelog b/abs/core/python_modules/python-cffi/__changelog
deleted file mode 100644
index 488d3cf..0000000
--- a/abs/core/python_modules/python-cffi/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: rm py 3 stuff
diff --git a/abs/core/python_modules/python-chardet/PKGBUILD b/abs/core/python_modules/python-chardet/PKGBUILD
index 13bc9fa..6b6332d 100644
--- a/abs/core/python_modules/python-chardet/PKGBUILD
+++ b/abs/core/python_modules/python-chardet/PKGBUILD
@@ -4,13 +4,13 @@
# Contributor: William Rea <sillywilly@gmail.com>
pkgbase=python-chardet
-pkgname=('python2-chardet')
+pkgname=('python-chardet' 'python2-chardet')
pkgver=3.0.4
-pkgrel=1
+pkgrel=2
arch=('any')
url="https://github.com/chardet/chardet"
license=('LGPL')
-makedepends=('python2-setuptools')
+makedepends=('python-setuptools' 'python2-setuptools')
source=("https://pypi.io/packages/source/c/chardet/chardet-${pkgver}.tar.gz")
sha512sums=('61a03b23447a2bfe52ceed4dd1b9afdb5784da1933a623776883ee9f297e341f633e27f0ce0230bd5fdc5fdb5382105ab42736a74a417ddeb9f83af57455dba5')
diff --git a/abs/core/python_modules/python-chardet/__changelog b/abs/core/python_modules/python-chardet/__changelog
deleted file mode 100644
index 4f818ef..0000000
--- a/abs/core/python_modules/python-chardet/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD: don't build py 3 stuff
-
diff --git a/abs/core/python_modules/python-cherrypy/PKGBUILD b/abs/core/python_modules/python-cherrypy/PKGBUILD
index 5fd491b..19f1a4e 100644
--- a/abs/core/python_modules/python-cherrypy/PKGBUILD
+++ b/abs/core/python_modules/python-cherrypy/PKGBUILD
@@ -4,14 +4,14 @@
# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
# Contributor: Armando M. Baratti <amblistas@ajato.com.br>
# Contributor: Florian Richter <Florian_Richter@gmx.de>
-pkgname=('python2-cherrypy')
+pkgname=('python-cherrypy' 'python2-cherrypy')
pkgver=8.9.1
-pkgrel=1
+pkgrel=2
pkgdesc="A pythonic, object-oriented web development framework"
arch=('any')
url="http://www.cherrypy.org"
license=('BSD')
-makedepends=('python2' 'python2-setuptools')
+makedepends=('python' 'python-setuptools' 'python2' 'python2-setuptools')
checkdepends=('python2-mock')
source=("https://pypi.python.org/packages/56/aa/91005730bdc5c0da8291a2f411aacbc5c3729166c382e2193e33f28044a3/CherryPy-8.9.1.tar.gz")
md5sums=('7abe5198e48f14cfee57a07d23875a4b')
@@ -19,8 +19,8 @@ md5sums=('7abe5198e48f14cfee57a07d23875a4b')
build() {
cp -r CherryPy-${pkgver} CherryPy-${pkgver}-py2
-# cd CherryPy-${pkgver}
-# python ./setup.py build
+ cd CherryPy-${pkgver}
+ python ./setup.py build
cd "${srcdir}/CherryPy-${pkgver}-py2"
python2 ./setup.py build
diff --git a/abs/core/python_modules/python-cherrypy/__changelog b/abs/core/python_modules/python-cherrypy/__changelog
deleted file mode 100644
index 60db758..0000000
--- a/abs/core/python_modules/python-cherrypy/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: remove py3 stuff
diff --git a/abs/core/python_modules/python-click/PKGBUILD b/abs/core/python_modules/python-click/PKGBUILD
index 06d9ce5..c5334bd 100644
--- a/abs/core/python_modules/python-click/PKGBUILD
+++ b/abs/core/python_modules/python-click/PKGBUILD
@@ -2,15 +2,15 @@
# Contributor: Carl George < arch at cgtx dot us >
pkgbase=python-click
-pkgname=("python2-click")
+pkgname=("python-click" "python2-click")
_realname=click
pkgver=6.7
-pkgrel=1
+pkgrel=2
pkgdesc="A simple wrapper around optparse for powerful command line utilities"
arch=("any")
url="http://click.pocoo.org/"
license=("BSD")
-makedepends=("python2-setuptools")
+makedepends=("python-setuptools" "python2-setuptools")
source=("https://github.com/pallets/click/archive/${pkgver}.tar.gz")
sha256sums=('40b20383dcbfbe73ab0917374f3dbe866fcf0d88c2a348618bf4419ea136f0dd')
@@ -19,8 +19,8 @@ prepare() {
}
build() {
-# cd "${srcdir}/${_realname}-${pkgver}"
-# python setup.py build
+ cd "${srcdir}/${_realname}-${pkgver}"
+ python setup.py build
cd "${srcdir}/${_realname}-${pkgver}-python2"
python2 setup.py build
diff --git a/abs/core/python_modules/python-constantly/PKGBUILD b/abs/core/python_modules/python-constantly/PKGBUILD
new file mode 100644
index 0000000..dd9445f
--- /dev/null
+++ b/abs/core/python_modules/python-constantly/PKGBUILD
@@ -0,0 +1,53 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgbase=python-constantly
+pkgname=('python-constantly' 'python2-constantly')
+pkgver=15.1.0
+pkgrel=2
+pkgdesc='Symbolic constants in Python'
+arch=('any')
+license=('MIT')
+url='https://github.com/twisted/constantly'
+makedepends=('python-setuptools' 'python2-setuptools' 'git')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner' 'python-twisted' 'python2-twisted')
+source=("git+https://github.com/twisted/constantly.git#tag=$pkgver")
+md5sums=('SKIP')
+
+prepare() {
+ cp -a constantly{,-py2}
+}
+
+build() {
+ cd "$srcdir"/constantly
+ python setup.py build
+
+ cd "$srcdir"/constantly-py2
+ python2 setup.py build
+}
+
+check() {
+ cd "$srcdir"/constantly
+ python setup.py ptr
+
+ cd "$srcdir"/constantly-py2
+ python2 setup.py ptr
+}
+
+package_python-constantly() {
+ depends=('python')
+
+ cd constantly
+ python setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python2-constantly() {
+ depends=('python2')
+
+ cd constantly-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-coverage/PKGBUILD b/abs/core/python_modules/python-coverage/PKGBUILD
new file mode 100644
index 0000000..b1d2326
--- /dev/null
+++ b/abs/core/python_modules/python-coverage/PKGBUILD
@@ -0,0 +1,72 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Clément Démoulins <clement@archivel.fr>
+# Contributor: Fazlul Shahriar <fshahriar@gmail.com>
+
+pkgbase=python-coverage
+pkgname=(python-coverage python2-coverage)
+pkgver=4.5.1
+pkgrel=1
+pkgdesc="A tool for measuring code coverage of Python programs"
+arch=('x86_64')
+url="http://nedbatchelder.com/code/coverage/"
+license=('Apache')
+makedepends=('python-setuptools' 'python2-setuptools')
+checkdepends=('python-mock' 'python2-mock' 'python-pytest-xdist' 'python2-pytest-xdist'
+ 'python-pycontracts' 'python2-pycontracts' 'python-greenlet' 'python2-greenlet'
+ 'python-virtualenv' 'python2-virtualenv' 'python-pyenchant' 'python2-pyenchant'
+ 'python-pylint' 'python2-pylint' 'python-unittest-mixins' 'python2-unittest-mixins'
+ 'python-flaky' 'python2-flaky')
+source=("$pkgbase-$pkgver.tar.gz::https://bitbucket.org/ned/coveragepy/get/coverage-$pkgver.tar.gz")
+sha512sums=('72e03b35140596d7b6cd2976d35ecfd931b8c5518ae09dddeb2e204e73cee5e4f87341458dabbf5fdc6774a89342383ccd01d98ec7a8291f9cf8d9c1e5e9d0e9')
+
+prepare() {
+ mv ned-coveragepy-* coveragepy-$pkgver
+ cp -a coveragepy-$pkgver{,-py2}
+}
+
+check() {
+ # Hack entry points by installing it
+
+ export LC_CTYPE=en_US.UTF-8
+
+ (
+ cd "$srcdir/coveragepy-$pkgver"
+ virtualenv "$srcdir/pyvenv" --system-site-packages
+ . "$srcdir/pyvenv/bin/activate"
+ export PYTHONPATH="$PYTHONPATH:/usr/lib/python3.6/site-packages"
+ python setup.py --quiet develop
+ python igor.py zip_mods install_egg remove_extension
+ python igor.py test_with_tracer py
+ python setup.py --quiet build_ext --inplace
+ python igor.py test_with_tracer c
+ ) || warning "Python 3 tests failed"
+
+ (
+ cd "$srcdir/coveragepy-$pkgver-py2"
+ virtualenv2 "$srcdir/pyvenv-py2" --system-site-packages
+ . "$srcdir/pyvenv-py2/bin/activate"
+ export PYTHONPATH="$PYTHONPATH:/usr/lib/python2.7/site-packages"
+ python setup.py --quiet develop
+ python igor.py zip_mods install_egg remove_extension
+ python igor.py test_with_tracer py
+ python setup.py --quiet build_ext --inplace
+ python igor.py test_with_tracer c
+ ) || warning "Python 2 tests failed"
+}
+
+package_python-coverage() {
+ depends=('python')
+
+ cd coveragepy-$pkgver
+ python3 setup.py install --root="$pkgdir" --optimize=1
+}
+
+package_python2-coverage() {
+ depends=('python2')
+
+ cd coveragepy-$pkgver
+ python2 setup.py install --root="$pkgdir" --optimize=1
+
+ mv "$pkgdir/usr/bin/coverage" "$pkgdir/usr/bin/coverage2"
+}
diff --git a/abs/core/python_modules/python-cryptography/PKGBUILD b/abs/core/python_modules/python-cryptography/PKGBUILD
index d336c94..e578a2e 100644
--- a/abs/core/python_modules/python-cryptography/PKGBUILD
+++ b/abs/core/python_modules/python-cryptography/PKGBUILD
@@ -2,51 +2,54 @@
# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgbase=python-cryptography
-pkgname=('python2-cryptography')
-pkgver=1.3.1
+pkgname=('python-cryptography' 'python2-cryptography')
+pkgver=2.1.4
pkgrel=1
pkgdesc="A package designed to expose cryptographic recipes and primitives to Python developers"
-arch=('i686' 'x86_64')
+arch=('x86_64')
license=('Apache')
url="http://pypi.python.org/pypi/cryptography"
-makedepends=('python2-setuptools' 'python2-six' 'python2-cffi' 'python2-enum34'
- 'python2-pyasn1' 'python2-idna' 'python2-ipaddress')
-checkdepends=('python2-pytest-runner' "python2-cryptography-vectors=$pkgver"
- 'python2-iso8601' 'python2-pretend' 'python2-pyasn1-modules'
- 'python2-hypothesis')
-source=("http://pypi.python.org/packages/source/c/cryptography/cryptography-$pkgver.tar.gz")
-md5sums=('bc8148d2ff2d80fef8ef2d2e856b3a7f')
+makedepends=('python-setuptools' 'python2-setuptools' 'python-six' 'python2-six' 'python-cffi'
+ 'python2-cffi' 'python2-enum34' 'python-pyasn1' 'python2-pyasn1' 'python-idna'
+ 'python2-idna' 'python2-ipaddress' 'python-asn1crypto' 'python2-asn1crypto')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner' "python-cryptography-vectors=$pkgver"
+ "python2-cryptography-vectors=$pkgver" 'python-iso8601' 'python2-iso8601'
+ 'python-pretend' 'python2-pretend' 'python-hypothesis' 'python2-hypothesis'
+ 'python-pytz' 'python2-pytz')
+source=("https://pypi.io/packages/source/c/cryptography/cryptography-$pkgver.tar.gz")
+sha512sums=('f749cb4384badc174a842514e5a4fee2ed01ab9c716799d8d9d5301f6d2d97b6c41deb9e425f48928b639fa34bef8c05529ed7e5b777ef5ca75c244f8fda8fd4')
prepare() {
cp -a cryptography-${pkgver}{,-python2}
}
build() {
- cd "$srcdir"/cryptography-$pkgver
-# python setup.py build
-
- cd "$srcdir"/cryptography-$pkgver-python2
- python2 setup.py build
+ cd "$srcdir"/cryptography-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/cryptography-$pkgver-python2
+ python2 setup.py build
}
check() {
- cd "$srcdir"/cryptography-$pkgver
- PYTHONPATH="$PWD/build/lib.linux-$CARCH-3.5:$PYTHONPATH" python setup.py ptr
+ cd "$srcdir"/cryptography-$pkgver
+ python setup.py pytest
- cd "$srcdir"/cryptography-$pkgver-python2
- PYTHONPATH="$PWD/build/lib.linux-$CARCH-2.7:$PYTHONPATH" python2 setup.py ptr
+ cd "$srcdir"/cryptography-$pkgver-python2
+ python2 setup.py pytest
}
-
+
package_python-cryptography() {
- depends=('python-pyasn1' 'python-six' 'python-cffi' 'python-idna')
-
- cd cryptography-$pkgver
- python setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ depends=('python-six' 'python-cffi' 'python-idna' 'python-setuptools' 'python-asn1crypto')
+
+ cd cryptography-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1 --skip-build
}
-
+
package_python2-cryptography() {
- depends=('python2-pyasn1' 'python2-six' 'python2-cffi' 'python2-enum34' 'python2-idna' 'python2-ipaddress')
-
- cd cryptography-$pkgver-python2
- python2 setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ depends=('python2-six' 'python2-cffi' 'python2-enum34' 'python2-idna' 'python2-ipaddress'
+ 'python2-setuptools' 'python2-asn1crypto')
+
+ cd cryptography-$pkgver-python2
+ python2 setup.py install --root="$pkgdir" --optimize=1 --skip-build
}
diff --git a/abs/core/python_modules/python-cryptography/__changelog b/abs/core/python_modules/python-cryptography/__changelog
deleted file mode 100644
index 488d3cf..0000000
--- a/abs/core/python_modules/python-cryptography/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: rm py 3 stuff
diff --git a/abs/core/python_modules/python-dateutil/PKGBUILD b/abs/core/python_modules/python-dateutil/PKGBUILD
index 5ce709f..7088ced 100644
--- a/abs/core/python_modules/python-dateutil/PKGBUILD
+++ b/abs/core/python_modules/python-dateutil/PKGBUILD
@@ -2,16 +2,16 @@
#Contributor: lilydjwg <lilydjwg@gmail.com>
pkgbase=python-dateutil
-pkgname=('python2-dateutil')
-pkgver=2.6.0
-pkgrel=2
+pkgname=('python-dateutil' 'python2-dateutil')
+pkgver=2.6.1
+pkgrel=1
pkgdesc="Provides powerful extensions to the standard datetime module"
arch=('any')
license=('custom')
url="https://github.com/dateutil/dateutil"
-makedepends=('python2-setuptools' 'python2-six')
+makedepends=('python-setuptools' 'python2-setuptools' 'python-six' 'python2-six')
source=("$pkgbase-$pkgver.tar.gz"::"https://github.com/dateutil/dateutil/archive/$pkgver.tar.gz")
-md5sums=('7ac719938274be8da1ab870c3b35941c')
+md5sums=('8d1081ed9d4eaef11d47a7bbd62ca903')
build() {
cd $srcdir
diff --git a/abs/core/python_modules/python-dateutil/__changelog b/abs/core/python_modules/python-dateutil/__changelog
deleted file mode 100644
index 3dd9c2c..0000000
--- a/abs/core/python_modules/python-dateutil/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: remove py3 python-dateutils
diff --git a/abs/core/python_modules/python-decorator/PKGBUILD b/abs/core/python_modules/python-decorator/PKGBUILD
index 5b9d85f..eb51ec6 100644
--- a/abs/core/python_modules/python-decorator/PKGBUILD
+++ b/abs/core/python_modules/python-decorator/PKGBUILD
@@ -1,30 +1,59 @@
+# $Id$
# Maintainer: Thomas Dziedzic < gostrc at gmail >
# Contributor: Pierre Chapuis <catwell at archlinux dot us>
-pkgname=python-decorator
-pkgver=3.3.2
+pkgname=('python-decorator' 'python2-decorator')
+pkgver=4.2.1
pkgrel=1
pkgdesc='Python Decorator module'
arch=('any')
url='http://pypi.python.org/pypi/decorator'
license=('BSD')
-depends=('python2')
-source=("http://pypi.python.org/packages/source/d/decorator/decorator-${pkgver}.tar.gz"
+makedepends=('python2' 'python' 'python-setuptools' 'python2-setuptools')
+source=('https://pypi.python.org/packages/70/f1/cb9373195639db13063f55eb06116310ad691e1fd125e6af057734dc44ea/decorator-4.2.1.tar.gz'
'LICENSE.txt')
+md5sums=('e886337e9f70e70d45d67266b8e66044'
+ '0ca76d2c707f09dbb04acc425ea1a08b')
build() {
- cd decorator-${pkgver}
+ # Make python and python2 builds possible
+ cp -r decorator-$pkgver decorator2-$pkgver
+
+ cd "$srcdir/decorator-$pkgver"
+
+ python3 setup.py build
+
+ cd "$srcdir/decorator2-$pkgver"
python2 setup.py build
}
-package() {
- cd decorator-${pkgver}
+package_python2-decorator() {
+depends=('python2')
+replaces=('python-decorator<=3.3.2-1')
+ cd "${srcdir}/decorator2-${pkgver}"
- python2 setup.py install --root=${pkgdir} --optimize=1
+ python2 setup.py install --root="${pkgdir}" --optimize=1
- install -D -m644 ${srcdir}/LICENSE.txt \
- ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ install -D -m644 "${srcdir}/LICENSE.txt" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+package_python-decorator() {
+depends=('python')
+ cd "${srcdir}/decorator-${pkgver}"
+
+ python3 setup.py install --root="${pkgdir}" --optimize=1
+
+ install -D -m644 "${srcdir}/LICENSE.txt" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+check() {
+ cd "$srcdir/decorator-$pkgver"
+
+ python3 setup.py test
+
+ cd "$srcdir/decorator2-$pkgver"
+
+ python2 setup.py test
}
-md5sums=('446f5165af67eb0fcd8fd28abd259e86'
- '0ca76d2c707f09dbb04acc425ea1a08b')
diff --git a/abs/core/python_modules/python-decorator/__changelog b/abs/core/python_modules/python-decorator/__changelog
deleted file mode 100644
index e69de29..0000000
--- a/abs/core/python_modules/python-decorator/__changelog
+++ /dev/null
diff --git a/abs/core/python_modules/python-docutils/01-python33-relative-import.patch b/abs/core/python_modules/python-docutils/01-python33-relative-import.patch
deleted file mode 100644
index f2c4247..0000000
--- a/abs/core/python_modules/python-docutils/01-python33-relative-import.patch
+++ /dev/null
@@ -1,196 +0,0 @@
-From 12e5aa7b94e0a0ec37e754527e06707005d28d1c Mon Sep 17 00:00:00 2001
-From: milde <milde@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>
-Date: Wed, 11 Jul 2012 12:25:14 +0000
-Subject: [PATCH] Fix [3541369] Relative __import__ also with Python 3.3.
-
-git-svn-id: https://docutils.svn.sourceforge.net/svnroot/docutils/trunk@7486 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
----
- docutils/HISTORY.txt | 1 +
- docutils/docutils/_compat.py | 11 +++++++++++
- docutils/docutils/languages/__init__.py | 8 ++++++--
- docutils/docutils/parsers/__init__.py | 5 ++++-
- .../docutils/parsers/rst/directives/__init__.py | 6 +++++-
- .../docutils/parsers/rst/languages/__init__.py | 6 +++++-
- docutils/docutils/readers/__init__.py | 5 ++++-
- docutils/docutils/writers/__init__.py | 7 +++++--
- 8 files changed, 41 insertions(+), 8 deletions(-)
-
-diff --git a/docutils/docutils/_compat.py b/docutils/docutils/_compat.py
-index 1450534..19654a6 100644
---- a/docutils/docutils/_compat.py
-+++ b/docutils/docutils/_compat.py
-@@ -35,3 +35,14 @@ else:
- # using this hack since 2to3 "fixes" the relative import
- # when using ``from io import BytesIO``
- BytesIO = __import__('io').BytesIO
-+
-+if sys.version_info < (2,5):
-+ import __builtin__
-+
-+ def __import__(name, globals={}, locals={}, fromlist=[], level=-1):
-+ """Compatibility definition for Python 2.4.
-+
-+ Silently ignore the `level` argument missing in Python < 2.5.
-+ """
-+ # we need the level arg because the default changed in Python 3.3
-+ return __builtin__.__import__(name, globals, locals, fromlist)
-diff --git a/docutils/docutils/languages/__init__.py b/docutils/docutils/languages/__init__.py
-index 675bb0e..57d3ec2 100644
---- a/docutils/docutils/languages/__init__.py
-+++ b/docutils/docutils/languages/__init__.py
-@@ -11,7 +11,11 @@ This package contains modules for language-dependent features of Docutils.
-
- __docformat__ = 'reStructuredText'
-
-+import sys
-+
- from docutils.utils import normalize_language_tag
-+if sys.version_info < (2,5):
-+ from docutils._compat import __import__
-
- _languages = {}
-
-@@ -26,7 +30,7 @@ def get_language(language_code, reporter=None):
- if tag in _languages:
- return _languages[tag]
- try:
-- module = __import__(tag, globals(), locals())
-+ module = __import__(tag, globals(), locals(), level=1)
- except ImportError:
- continue
- _languages[tag] = module
-@@ -35,6 +39,6 @@ def get_language(language_code, reporter=None):
- reporter.warning(
- 'language "%s" not supported: ' % language_code +
- 'Docutils-generated text will be in English.')
-- module = __import__('en', globals(), locals())
-+ module = __import__('en', globals(), locals(), level=1)
- _languages[tag] = module # warn only one time!
- return module
-diff --git a/docutils/docutils/parsers/__init__.py b/docutils/docutils/parsers/__init__.py
-index 2683376..341e358 100644
---- a/docutils/docutils/parsers/__init__.py
-+++ b/docutils/docutils/parsers/__init__.py
-@@ -8,7 +8,10 @@ This package contains Docutils parser modules.
-
- __docformat__ = 'reStructuredText'
-
-+import sys
- from docutils import Component
-+if sys.version_info < (2,5):
-+ from docutils._compat import __import__
-
-
- class Parser(Component):
-@@ -43,5 +46,5 @@ def get_parser_class(parser_name):
- parser_name = parser_name.lower()
- if parser_name in _parser_aliases:
- parser_name = _parser_aliases[parser_name]
-- module = __import__(parser_name, globals(), locals())
-+ module = __import__(parser_name, globals(), locals(), level=1)
- return module.Parser
-diff --git a/docutils/docutils/parsers/rst/directives/__init__.py b/docutils/docutils/parsers/rst/directives/__init__.py
-index b00a676..fdc70d7 100644
---- a/docutils/docutils/parsers/rst/directives/__init__.py
-+++ b/docutils/docutils/parsers/rst/directives/__init__.py
-@@ -10,8 +10,12 @@ __docformat__ = 'reStructuredText'
-
- import re
- import codecs
-+import sys
-+
- from docutils import nodes
- from docutils.parsers.rst.languages import en as _fallback_language_module
-+if sys.version_info < (2,5):
-+ from docutils._compat import __import__
-
-
- _directive_registry = {
-@@ -109,7 +113,7 @@ def directive(directive_name, language_module, document):
- # Error handling done by caller.
- return None, messages
- try:
-- module = __import__(modulename, globals(), locals())
-+ module = __import__(modulename, globals(), locals(), level=1)
- except ImportError, detail:
- messages.append(document.reporter.error(
- 'Error importing directive module "%s" (directive "%s"):\n%s'
-diff --git a/docutils/docutils/parsers/rst/languages/__init__.py b/docutils/docutils/parsers/rst/languages/__init__.py
-index 53017d7..5a151e4 100644
---- a/docutils/docutils/parsers/rst/languages/__init__.py
-+++ b/docutils/docutils/parsers/rst/languages/__init__.py
-@@ -12,7 +12,11 @@ reStructuredText.
-
- __docformat__ = 'reStructuredText'
-
-+import sys
-+
- from docutils.utils import normalize_language_tag
-+if sys.version_info < (2,5):
-+ from docutils._compat import __import__
-
- _languages = {}
-
-@@ -21,7 +25,7 @@ def get_language(language_code):
- if tag in _languages:
- return _languages[tag]
- try:
-- module = __import__(tag, globals(), locals())
-+ module = __import__(tag, globals(), locals(), level=1)
- except ImportError:
- continue
- _languages[tag] = module
-diff --git a/docutils/docutils/readers/__init__.py b/docutils/docutils/readers/__init__.py
-index a28248f..e3e6fb5 100644
---- a/docutils/docutils/readers/__init__.py
-+++ b/docutils/docutils/readers/__init__.py
-@@ -8,9 +8,12 @@ This package contains Docutils Reader modules.
-
- __docformat__ = 'reStructuredText'
-
-+import sys
-
- from docutils import utils, parsers, Component
- from docutils.transforms import universal
-+if sys.version_info < (2,5):
-+ from docutils._compat import __import__
-
-
- class Reader(Component):
-@@ -103,5 +106,5 @@ def get_reader_class(reader_name):
- reader_name = reader_name.lower()
- if reader_name in _reader_aliases:
- reader_name = _reader_aliases[reader_name]
-- module = __import__(reader_name, globals(), locals())
-+ module = __import__(reader_name, globals(), locals(), level=1)
- return module.Reader
-diff --git a/docutils/docutils/writers/__init__.py b/docutils/docutils/writers/__init__.py
-index e30dbf6..8fcee0c 100644
---- a/docutils/docutils/writers/__init__.py
-+++ b/docutils/docutils/writers/__init__.py
-@@ -8,11 +8,14 @@ This package contains Docutils Writer modules.
-
- __docformat__ = 'reStructuredText'
-
--
- import os.path
-+import sys
-+
- import docutils
- from docutils import languages, Component
- from docutils.transforms import universal
-+if sys.version_info < (2,5):
-+ from docutils._compat import __import__
-
-
- class Writer(Component):
-@@ -130,5 +133,5 @@ def get_writer_class(writer_name):
- writer_name = writer_name.lower()
- if writer_name in _writer_aliases:
- writer_name = _writer_aliases[writer_name]
-- module = __import__(writer_name, globals(), locals())
-+ module = __import__(writer_name, globals(), locals(), level=1)
- return module.Writer
---
-1.6.5.GIT
-
diff --git a/abs/core/python_modules/python-docutils/__changelog b/abs/core/python_modules/python-docutils/__changelog
deleted file mode 100644
index 3439597..0000000
--- a/abs/core/python_modules/python-docutils/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: rm python 3 stuff
diff --git a/abs/core/python_modules/python-execnet/PKGBUILD b/abs/core/python_modules/python-execnet/PKGBUILD
new file mode 100644
index 0000000..e0940a2
--- /dev/null
+++ b/abs/core/python_modules/python-execnet/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgbase=python-execnet
+pkgname=('python-execnet' 'python2-execnet')
+pkgver=1.5.0
+pkgrel=1
+pkgdesc="Rapid multi-Python deployment"
+arch=('any')
+license=('MIT')
+url="http://codespeak.net/execnet"
+makedepends=('python-setuptools' 'python2-setuptools' 'python-apipkg' 'python2-apipkg')
+checkdepends=('python-pytest-timeout' 'python2-pytest-timeout' 'procps-ng' 'openssh' 'pypy')
+source=("https://pypi.io/packages/source/e/execnet/execnet-$pkgver.tar.gz")
+sha512sums=('ca2b571fafdf8f68b3cc7a04ee326e3255828d4cde28ead65d0cef325569c3a6dee09359e525152248038de65326ffc6b75c8362f53aa5c0b3f736eb596cb2d9')
+
+prepare() {
+ cp -a execnet-${pkgver}{,-py2}
+}
+
+build() {
+ cd "$srcdir/execnet-${pkgver}"
+ python setup.py build
+
+ cd "$srcdir/execnet-${pkgver}-py2"
+ python2 setup.py build
+}
+
+check() {
+ cd "$srcdir/execnet-${pkgver}"
+ PYTHONPATH="$PWD/build/lib:$PYTHONPATH" py.test testing
+
+ cd "$srcdir/execnet-${pkgver}-py2"
+ PYTHONPATH="$PWD/build/lib:$PYTHONPATH" py.test2 testing
+}
+
+package_python-execnet() {
+ depends=('python-apipkg')
+
+ cd execnet-${pkgver}
+ python setup.py install --root="${pkgdir}" --optimize=1
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+package_python2-execnet() {
+ depends=('python2-apipkg')
+
+ cd execnet-${pkgver}-py2
+ python2 setup.py install --root="${pkgdir}" --optimize=1
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
diff --git a/abs/core/python_modules/python-feedparser/PKGBUILD b/abs/core/python_modules/python-feedparser/PKGBUILD
index 6e21842..ab2cb73 100644
--- a/abs/core/python_modules/python-feedparser/PKGBUILD
+++ b/abs/core/python_modules/python-feedparser/PKGBUILD
@@ -2,15 +2,14 @@
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgbase=python-feedparser
-#pkgname=('python2-feedparser' 'python-feedparser' 'python-sgmllib')
-pkgname=('python2-feedparser')
+pkgname=('python2-feedparser' 'python-feedparser' 'python-sgmllib')
pkgver=5.2.1
-pkgrel=2
+pkgrel=3
pkgdesc="Parse RSS and Atom feeds in Python"
arch=('any')
url="https://github.com/kurtmckee/feedparser/"
license=('custom')
-makedepends=('python2' 'libxml2' 'python2-setuptools')
+makedepends=('python' 'python2' 'libxml2' 'python2-setuptools' 'python-setuptools')
source=(feedparser-${pkgver}.tar.gz::https://github.com/kurtmckee/feedparser/archive/${pkgver}.tar.gz)
sha1sums=('13c9a17f821e46ba9a34d8777e0ae47a6eb86de4')
@@ -20,13 +19,13 @@ prepare() {
cp -r feedparser-${pkgver} feedparser-${pkgver}-sgmllib
(cd feedparser-${pkgver}-python2; sed -i 's#env python$#env python2#' feedparser/feedparsertest.py)
-# (cd feedparser-${pkgver}-python; 2to3 -w feedparser/feedparser.py feedparser/feedparsertest.py)
+ (cd feedparser-${pkgver}-python; 2to3 -w feedparser/feedparser.py feedparser/feedparsertest.py)
}
-#build() {
-# cd feedparser-${pkgver}-sgmllib
-# python /usr/lib/python3.6/compileall.py feedparser/sgmllib3.py
-#}
+build() {
+ cd feedparser-${pkgver}-sgmllib
+ python /usr/lib/python3.6/compileall.py feedparser/sgmllib3.py
+}
package_python2-feedparser() {
depends=('python2' 'libxml2' )
diff --git a/abs/core/python_modules/python-feedparser/__changelog b/abs/core/python_modules/python-feedparser/__changelog
deleted file mode 100644
index c6e1e55..0000000
--- a/abs/core/python_modules/python-feedparser/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: don't build py 3 stuff
diff --git a/abs/core/python_modules/python-flask-login/PKGBUILD b/abs/core/python_modules/python-flask-login/PKGBUILD
index 06d268f..23e4d9c 100644
--- a/abs/core/python_modules/python-flask-login/PKGBUILD
+++ b/abs/core/python_modules/python-flask-login/PKGBUILD
@@ -2,27 +2,28 @@
# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgbase=python-flask-login
-pkgname=('python2-flask-login')
-pkgver=0.4.0
-pkgrel=2
+pkgname=('python2-flask-login' 'python-flask-login')
+pkgver=0.4.1
+pkgrel=1
pkgdesc="User session management for Flask."
arch=('any')
url="https://pythonhosted.org/Flask-Login/"
license=('MIT')
-makedepends=('python2-setuptools' 'python2-flask' 'git')
-checkdepends=('python2-nose' 'python2-mock' 'python2-blinker')
-source=("git+https://github.com/maxcountryman/flask-login.git#tag=$pkgver")
-md5sums=('SKIP')
+makedepends=('python-setuptools' 'python2-setuptools' 'python-flask' 'python2-flask')
+checkdepends=('python-nose' 'python2-nose' 'python-mock' 'python2-mock' 'python-blinker'
+ 'python2-blinker' 'python-semantic-version' 'python2-semantic-version')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/maxcountryman/flask-login/archive/$pkgver.tar.gz")
+sha512sums=('c87a2948ac37439ddd76f3f11584bdd5910cb00e96a7400343cf4dadc5a0f9bc84d40bdc068d2e8c05bd5a510046e18473e9ad71502c5039a5f05b371ce9bb4c')
prepare() {
- cp -a flask-login{,-py2}
+ cp -a flask-login-$pkgver{,-py2}
}
check() {
-# cd "$srcdir"/flask-login
-# nosetests3
+ cd "$srcdir"/flask-login-$pkgver
+ nosetests3
- cd "$srcdir"/flask-login-py2
+ cd "$srcdir"/flask-login-$pkgver-py2
# https://github.com/maxcountryman/flask-login/issues/232
nosetests2 || warning "Tests failed"
}
@@ -30,7 +31,7 @@ check() {
package_python-flask-login() {
depends=('python-flask')
- cd flask-login
+ cd flask-login-$pkgver
python setup.py install --root="$pkgdir" --optimize=1
mkdir -p "$pkgdir"/usr/share/licenses/$pkgname
@@ -40,7 +41,7 @@ package_python-flask-login() {
package_python2-flask-login() {
depends=('python2-flask')
- cd flask-login-py2
+ cd flask-login-$pkgver-py2
python2 setup.py install --root="$pkgdir" --optimize=1
mkdir -p "$pkgdir"/usr/share/licenses/$pkgname
diff --git a/abs/core/python_modules/python-flask-login/__changelog b/abs/core/python_modules/python-flask-login/__changelog
deleted file mode 100644
index 60db758..0000000
--- a/abs/core/python_modules/python-flask-login/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: remove py3 stuff
diff --git a/abs/core/python_modules/python-flask/PKGBUILD b/abs/core/python_modules/python-flask/PKGBUILD
index dc2cb23..8dc26b8 100644
--- a/abs/core/python_modules/python-flask/PKGBUILD
+++ b/abs/core/python_modules/python-flask/PKGBUILD
@@ -4,45 +4,42 @@
# Contributor: Thomas Dziedzic < gostrc at gmail >
# Contributor: Tarmo Heiskanen <turskii@gmail.com>
-pkgname=('python2-flask')
+pkgbase=python-flask
+pkgname=('python-flask' 'python2-flask')
pkgver=0.12.2
-pkgrel=2
+pkgrel=4
pkgdesc='Micro webdevelopment framework for Python'
url='http://flask.pocoo.org/'
arch=('any')
license=('custom:BSD')
-makedepends=('python2-setuptools')
-source=("https://github.com/pallets/flask/archive/${pkgver}.tar.gz")
+makedepends=('python-setuptools' 'python2-setuptools')
+source=("https://github.com/pallets/flask/archive/0.12.2.tar.gz")
sha512sums=('5007129eed63902a39c6652f0868348629f3f6e09d38a764a6ed0e77f6e87f0a28068cfeee6ecb2dee92ccee771d57f42ba816f856e49f08b8c1dfe6bde9873c')
prepare() {
-# cp -r "flask-$pkgver" "python-flask-$pkgver"
+ cp -r "flask-$pkgver" "python-flask-$pkgver"
cp -r "flask-$pkgver" "python2-flask-$pkgver"
}
-build_python-flask() {
- cd "$pkgname-$pkgver"
-
+buildk() {
+ cd "$srcdir/python-flask-$pkgver"
python setup.py build
-}
-
-build_python2-flask() {
- cd "$pkgname-$pkgver"
+ cd "$srcdir/python2-flask-$pkgver"
python setup.py build
}
-check_python-flask() {
- cd "$pkgname-$pkgver"
+check() {
+ cd "$srcdir/python-flask-$pkgver"
python setup.py test
- cd "$pkgname-$pkgver"
+ cd "$srcdir/python2-flask-$pkgver"
python2 setup.py test
}
package_python-flask() {
depends=('python-werkzeug' 'python-jinja' 'python-itsdangerous' 'python-click')
- cd "$pkgname-$pkgver"
+ cd "$srcdir/python-flask-$pkgver"
python setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
@@ -50,7 +47,7 @@ package_python-flask() {
package_python2-flask() {
depends=('python2-werkzeug' 'python2-jinja' 'python2-itsdangerous' 'python2-click')
- cd "$pkgname-$pkgver"
+ cd "$srcdir/python2-flask-$pkgver"
python2 setup.py install --root="$pkgdir" --optimize=1
mv "$pkgdir"/usr/bin/flask "$pkgdir"/usr/bin/flask2
diff --git a/abs/core/python_modules/python-flask/__changelog b/abs/core/python_modules/python-flask/__changelog
deleted file mode 100644
index 60db758..0000000
--- a/abs/core/python_modules/python-flask/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: remove py3 stuff
diff --git a/abs/core/python_modules/python-future/PKGBUILD b/abs/core/python_modules/python-future/PKGBUILD
index 1b96edc..3cc7fa5 100644
--- a/abs/core/python_modules/python-future/PKGBUILD
+++ b/abs/core/python_modules/python-future/PKGBUILD
@@ -5,15 +5,15 @@
# Contributor: Melissa Padilla <mpadilla2 at hotmail dot com>
pkgbase=python-future
-pkgname=(python2-future)
+pkgname=(python-future python2-future)
pkgver=0.16.0
-pkgrel=2
+pkgrel=3
pkgdesc="Clean single-source support for Python 3 and 2"
url="http://python-future.org/"
arch=('any')
license=('MIT')
-makedepends=('python2-setuptools')
-checkdepends=('python2-requests')
+makedepends=('python-setuptools' 'python2-setuptools')
+checkdepends=('python-requests' 'python2-requests')
options=('!emptydirs')
source=("https://pypi.io/packages/source/f/future/future-$pkgver.tar.gz")
sha256sums=('e39ced1ab767b5936646cedba8bcce582398233d6a627067d4c6a454c90cfedb')
@@ -23,16 +23,16 @@ prepare() {
}
build() {
-# cd "$srcdir"/future-$pkgver
-# python setup.py build
+ cd "$srcdir"/future-$pkgver
+ python setup.py build
cd "$srcdir"/future-$pkgver-py2
python2 setup.py build
}
check() {
-# cd "$srcdir"/future-$pkgver
-# PYTHONPATH="$PWD/build/lib:$PYTHONPATH" python setup.py test || warning "Tests failed"
+ cd "$srcdir"/future-$pkgver
+ PYTHONPATH="$PWD/build/lib:$PYTHONPATH" python setup.py test || warning "Tests failed"
cd "$srcdir"/future-$pkgver-py2
PYTHONPATH="$PWD/build/lib:$PYTHONPATH" python2 setup.py test
diff --git a/abs/core/python_modules/python-future/__changelog b/abs/core/python_modules/python-future/__changelog
deleted file mode 100644
index 60db758..0000000
--- a/abs/core/python_modules/python-future/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: remove py3 stuff
diff --git a/abs/core/python_modules/python-gitdb/PKGBUILD b/abs/core/python_modules/python-gitdb/PKGBUILD
index 258d97e..7403f17 100644
--- a/abs/core/python_modules/python-gitdb/PKGBUILD
+++ b/abs/core/python_modules/python-gitdb/PKGBUILD
@@ -1,19 +1,49 @@
-# Contributor: Jon Bergli Heier <snakebite@jvnv.net>
-pkgname=python-gitdb
-pkgver=0.5.2
+# Maintainer: NicoHood <archlinux {cat} nicohood {dog} de>
+# PGP ID: 97312D5EB9D7AE7D0BD4307351DAE9B7C1AE9161
+# Contributor: Carl George < arch at cgtx dot us >
+
+_pkgname=python-gitdb
+_pypiname=gitdb2
+pkgbase=python-gitdb
+pkgdesc="A pure-Python git object database"
+pkgname=('python-gitdb' 'python2-gitdb')
+pkgver=2.0.3
pkgrel=1
-pkgdesc="IO of git-style object databases"
-arch=('i686' 'x86_64')
-url="http://pypi.python.org/pypi/gitdb"
+url="https://github.com/gitpython-developers/gitdb"
license=('BSD')
-depends=('python2' 'python-async')
-source=("http://pypi.python.org/packages/source/g/gitdb/gitdb-${pkgver}.tar.gz")
+arch=("any")
+makedepends=('python' 'python-setuptools' 'python2' 'python2-setuptools')
+source=("${_pkgname}-${pkgver}.tar.gz::https://pypi.org/packages/source/g/${_pypiname}/${_pypiname}-${pkgver}.tar.gz")
+# "${_pkgname}-${pkgver}.tar.gz.asc::https://pypi.org/packages/source/g/${_pypiname}/${_pypiname}-${pkgver}.tar.gz.asc")
+#sha512sums=('4be643b933b47f5511702aa9df5c3210847f059dff9a4794779040660cd60c5af7de5072eb18bc17971edba9a5551e9ba51dbe360194b7d454ee4f23348c8063'
+# 'SKIP')
+#validpgpkeys=('4477ADC5977D7C60D2A7E3789FEE1C6A3B07188F') # Sebastian Thiel (In Rust I trust!) <byronimo@gmail.com>
+prepare() {
+ cp -a "${srcdir}/${_pypiname}-${pkgver}"{,-py2}
+}
build() {
- cd "$srcdir/gitdb-$pkgver"
- python2 setup.py install --root="$pkgdir/" || return 1
+ cd "${srcdir}/${_pypiname}-${pkgver}"
+ python setup.py build
+
+ cd "${srcdir}/${_pypiname}-${pkgver}-py2"
+ python2 setup.py build
+}
+
+package_python-gitdb() {
+ depends=('python' 'python-smmap>=2.0.0')
+
+ cd "${srcdir}/${_pypiname}-${pkgver}"
+ python setup.py install --skip-build --root="${pkgdir}" --optimize=1
+ install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
-# vim:set ts=2 sw=2 et:
-md5sums=('98655385607aed62101318051f7c9364')
+package_python2-gitdb() {
+ depends=('python2' 'python2-smmap>=2.0.0')
+
+ cd "${srcdir}/${_pypiname}-${pkgver}-py2"
+ python2 setup.py install --skip-build --root="${pkgdir}" --optimize=1
+ install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+md5sums=('d5217eb94ebd36fcec62b929d1f72b00')
diff --git a/abs/core/python_modules/python-gitpython/PKGBUILD b/abs/core/python_modules/python-gitpython/PKGBUILD
new file mode 100644
index 0000000..3c6807e
--- /dev/null
+++ b/abs/core/python_modules/python-gitpython/PKGBUILD
@@ -0,0 +1,48 @@
+# Maintainer: NicoHood <archlinux {cat} nicohood {dog} de>
+# PGP ID: 97312D5EB9D7AE7D0BD4307351DAE9B7C1AE9161
+# Contributor: brent s. <bts[at]square-r00t[dot]net>
+
+_pkgname=python-gitpython
+_pypiname=GitPython
+pkgbase=python-gitpython
+pkgdesc="A python library used to interact with Git repositories"
+pkgname=('python-gitpython' 'python2-gitpython')
+pkgver=2.1.8
+pkgrel=1
+url="https://github.com/gitpython-developers/gitpython"
+license=('BSD')
+arch=("any")
+makedepends=('python' 'python-setuptools' 'python2' 'python2-setuptools')
+source=("${_pkgname}-${pkgver}.tar.gz::https://pypi.org/packages/source/G/${_pypiname}/${_pypiname}-${pkgver}.tar.gz"
+ "${_pkgname}-${pkgver}.tar.gz.asc::https://pypi.org/packages/source/G/${_pypiname}/${_pypiname}-${pkgver}.tar.gz.asc")
+sha512sums=('9ddef0c9c1b99b3c554257c913efa1e0928fd8bdedae3c9fbbc261d337ed73a62472f3d47c9f55812f5e4c7abb9ea04fb03a6818984060b7847948d75dc2b98a'
+ 'SKIP')
+validpgpkeys=('2CF6E0B51AAF73F09B1C21174D1DA68C88710E60') # Sebastian Thiel (In Rust I trust!) <byronimo@gmail.com>
+
+prepare() {
+ cp -a "${srcdir}/${_pypiname}-${pkgver}"{,-py2}
+}
+
+build() {
+ cd "${srcdir}/${_pypiname}-${pkgver}"
+ python setup.py build
+
+ cd "${srcdir}/${_pypiname}-${pkgver}-py2"
+ python2 setup.py build
+}
+
+package_python-gitpython() {
+ depends=('python' 'python-gitdb>=2.0.0')
+
+ cd "${srcdir}/${_pypiname}-${pkgver}"
+ python setup.py install --skip-build --root="${pkgdir}" --optimize=1
+ install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+package_python2-gitpython() {
+ depends=('python2' 'python2-gitdb>=2.0.0')
+
+ cd "${srcdir}/${_pypiname}-${pkgver}-py2"
+ python2 setup.py install --skip-build --root="${pkgdir}" --optimize=1
+ install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/abs/core/python_modules/python-html5lib/PKGBUILD b/abs/core/python_modules/python-html5lib/PKGBUILD
index 0ef62da..4991390 100644
--- a/abs/core/python_modules/python-html5lib/PKGBUILD
+++ b/abs/core/python_modules/python-html5lib/PKGBUILD
@@ -1,42 +1,63 @@
+# Maintainer: Eli Schwartz <eschwartz@archlinux.org>
+# Maintainer: Jelle van der Waa <jelle@archlinux.org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
# Contributor: Erol V. Aktay <e.aktay@gmail.com>
-# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
pkgbase=python-html5lib
-pkgname=('python2-html5lib')
-pkgver=0.999999999
+pkgname=('python2-html5lib' 'python-html5lib')
+pkgver=1.0.1
pkgrel=2
arch=('any')
url="https://github.com/html5lib"
license=('MIT')
-makedepends=('python2' 'unzip' 'python2-webencodings')
-checkdepends=('python2-six' 'python2-pytest' 'python2-lxml' 'python2-mock')
-source=($pkgbase-$pkgver.tar.gz::https://github.com/html5lib/html5lib-python/archive/${pkgver}.tar.gz
- LICENSE)
-md5sums=('a81446ef3ce3ef18f5e8e242b7072b83'
- '838c366f69b72c5df05c96dff79b35f2')
+makedepends=('python-setuptools' 'python2-setuptools' 'python-webencodings' 'python2-webencodings')
+checkdepends=('python-six' 'python2-six' 'python-pytest-expect' 'python2-pytest-expect'
+ 'python-lxml' 'python2-lxml' 'python-mock' 'python2-mock')
+_test_commit=c305da74fae50fb018870de7a042da36c1a93b65
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/html5lib/html5lib-python/archive/${pkgver}.tar.gz"
+ "https://github.com/html5lib/html5lib-tests/archive/${_test_commit}.tar.gz")
+sha256sums=('fabbebd6a55d07842087f13849076eeed350aa8bb6c9ec840f6a6aba9388db06'
+ 'cb261423c644b3469ac66926e290060b481371d0952995d270492fc761d0209a')
-package_python-html5lib() {
-pkgdesc="A Python HTML parser/tokenizer based on the WHATWG HTML5 spec"
-depends=('python' 'python-six' 'python-webencodings')
- cd ${srcdir}/html5lib-python-${pkgver}
+prepare() {
+ cd "${srcdir}"/html5lib-python-${pkgver}
- python3 setup.py install --root=${pkgdir}
- install -Dm755 $srcdir/LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ rmdir html5lib/tests/testdata
+ ln -sfT ../../../html5lib-tests-${_test_commit} html5lib/tests/testdata
}
-package_python2-html5lib() {
-depends=('python2' 'python2-six' 'python2-webencodings')
-pkgdesc="A Python2 HTML parser/tokenizer based on the WHATWG HTML5 spec"
- cd ${srcdir}/html5lib-python-${pkgver}
+build() {
+ cd "${srcdir}"/html5lib-python-${pkgver}
- python2 setup.py install --root=${pkgdir}
- install -Dm755 $srcdir/LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ python setup.py build
+ python2 setup.py build
}
check() {
- cd ${srcdir}/html5lib-python-${pkgver}/html5lib/tests
+ cd "${srcdir}"/html5lib-python-${pkgver}
+
+ py.test
+ py.test2
+}
+
+package_python-html5lib() {
+ pkgdesc="A Python HTML parser/tokenizer based on the WHATWG HTML5 spec"
+ depends=('python' 'python-six' 'python-webencodings')
+ optdepends=('python-lxml: lxml treebuilder'
+ 'python-genshi: genshi treewalker')
+ cd "${srcdir}"/html5lib-python-${pkgver}
+
+ python setup.py install --root="${pkgdir}" --optimize=1 --skip-build
+ install -Dm755 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
+
+package_python2-html5lib() {
+ pkgdesc="A Python2 HTML parser/tokenizer based on the WHATWG HTML5 spec"
+ depends=('python2' 'python2-six' 'python2-webencodings')
+ optdepends=('python2-lxml: lxml treebuilder'
+ 'python2-genshi: genshi treewalker')
+ cd "${srcdir}"/html5lib-python-${pkgver}
-# nosetests2
-
-# nosetests
+ python2 setup.py install --root="${pkgdir}" --optimize=1 --skip-build
+ install -Dm755 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
}
diff --git a/abs/core/python_modules/python-html5lib/__changelog b/abs/core/python_modules/python-html5lib/__changelog
deleted file mode 100644
index 4f818ef..0000000
--- a/abs/core/python_modules/python-html5lib/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD: don't build py 3 stuff
-
diff --git a/abs/core/python_modules/python-hyperlink/PKGBUILD b/abs/core/python_modules/python-hyperlink/PKGBUILD
new file mode 100644
index 0000000..cfe2472
--- /dev/null
+++ b/abs/core/python_modules/python-hyperlink/PKGBUILD
@@ -0,0 +1,53 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgbase=python-hyperlink
+pkgname=('python-hyperlink' 'python2-hyperlink')
+pkgver=18.0.0
+pkgrel=1
+pkgdesc='A featureful, correct URL for Python'
+arch=('any')
+license=('BSD')
+url='https://github.com/python-hyper/hyperlink'
+makedepends=('python-idna' 'python2-idna' 'python-setuptools' 'python2-setuptools')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/python-hyper/hyperlink/archive/v$pkgver.tar.gz")
+sha512sums=('b50bdd7a635804da449a6f2902e833f39d408e72a2b8e46a8b2bb773e2c310e0d4dced3f683951f8777e6104fe8d4faa4390f1a677bfb257c0e88dff860f1523')
+
+prepare() {
+ cp -a hyperlink-$pkgver{,-py2}
+}
+
+build() {
+ cd "$srcdir"/hyperlink-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/hyperlink-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+ cd "$srcdir"/hyperlink-$pkgver
+ python setup.py pytest
+
+ cd "$srcdir"/hyperlink-$pkgver-py2
+ python2 setup.py pytest
+}
+
+package_python-hyperlink() {
+ depends=('python-idna')
+
+ cd hyperlink-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python2-hyperlink() {
+ depends=('python2-idna')
+
+ cd hyperlink-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-hypothesis/PKGBUILD b/abs/core/python_modules/python-hypothesis/PKGBUILD
new file mode 100644
index 0000000..cca4fcc
--- /dev/null
+++ b/abs/core/python_modules/python-hypothesis/PKGBUILD
@@ -0,0 +1,78 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgbase=python-hypothesis
+pkgname=('python-hypothesis' 'python2-hypothesis')
+pkgver=3.50.2
+pkgrel=1
+pkgdesc="Advanced Quickcheck style testing library for Python"
+arch=('any')
+license=('MPL')
+url="https://hypothesis.readthedocs.org"
+makedepends=('python-setuptools' 'python2-setuptools' 'python-attrs' 'python2-attrs'
+ 'python-coverage' 'python2-coverage' 'python2-enum34')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner' 'flake8' 'python2-flake8' 'python-pytz'
+ 'python2-pytz' 'python-numpy' 'python2-numpy' 'python-faker' 'python2-faker'
+ 'python-flaky' 'python2-flaky' 'python-pytest-benchmark' 'python2-pytest-benchmark'
+ 'python-django' 'python2-django' 'python-pytest-xdist' 'python2-pytest-xdist'
+ 'python-mock' 'python2-mock' 'python-pandas' 'python2-pandas')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/HypothesisWorks/hypothesis-python/archive/$pkgver.tar.gz")
+sha512sums=('9f62646a9095f108cc3c82190f0aabcdd4b0aa4044a0daf84f4bc3cc4f3de9cd2d6a01dafdf42b8cd3a6c14d433dc3f3fea24a80ef853637670ca00179d823b8')
+
+prepare() {
+ # Make tests faster
+ sed -i 's/ -n 2$/ -n 16/' hypothesis-python-$pkgver/tox.ini
+
+ cp -a hypothesis-python-$pkgver{,-py2}
+
+ rm -r hypothesis-python-$pkgver/tests/py2
+ rm -r hypothesis-python-$pkgver-py2/tests/py3
+
+ export LC_CTYPE=en_US.UTF-8
+}
+
+build() {
+ cd "$srcdir"/hypothesis-python-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/hypothesis-python-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+ cd "$srcdir"/hypothesis-python-$pkgver
+ mv tests/django ../
+ python setup.py pytest
+ mv ../django tests/
+ PYTHONPATH="$PWD/build/lib:$PYTHONPATH" python -m tests.django.manage test tests.django
+
+ cd "$srcdir"/hypothesis-python-$pkgver-py2
+ mv tests/django ../
+ python2 setup.py pytest
+ mv ../django tests/
+ PYTHONPATH="$PWD/build/lib:$PYTHONPATH" python2 -m tests.django.manage test tests.django
+}
+
+package_python-hypothesis() {
+ depends=('python-attrs' 'python-coverage')
+ optdepends=('python-pytz: for datetime and django module'
+ 'python-faker: for fakefactory and django module'
+ 'python-django: for django module'
+ 'python-numpy: for numpy module'
+ 'python-pytest: for pytest module')
+
+ cd hypothesis-python-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
+}
+
+package_python2-hypothesis() {
+ depends=('python2-attrs' 'python2-coverage' 'python2-enum34')
+ optdepends=('python2-pytz: for datetime and django module'
+ 'python2-faker: for fakefactory and django module'
+ 'python2-django: for django module'
+ 'python2-numpy: for numpy module'
+ 'python2-pytest: for pytest module')
+
+ cd hypothesis-python-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+}
diff --git a/abs/core/python_modules/python-idna/PKGBUILD b/abs/core/python_modules/python-idna/PKGBUILD
index dd2fb8f..00a64bf 100644
--- a/abs/core/python_modules/python-idna/PKGBUILD
+++ b/abs/core/python_modules/python-idna/PKGBUILD
@@ -2,32 +2,32 @@
# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgbase=python-idna
-pkgname=('python2-idna')
-pkgver=2.5
+pkgname=('python-idna' 'python2-idna')
+pkgver=2.6
pkgrel=1
pkgdesc="Internationalized Domain Names in Applications (IDNA)"
arch=('any')
license=('BSD')
url="https://github.com/kjd/idna"
-makedepends=('python2-setuptools')
+makedepends=('python-setuptools' 'python2-setuptools')
source=("https://pypi.io/packages/source/i/idna/idna-$pkgver.tar.gz")
-md5sums=('fc1d992bef73e8824db411bb5d21f012')
+sha512sums=('cb5dbfab44c4d11521c67f9d29391f184d1267a3da6dc89f4ed12c60a7a909d5c7474c3ea2bddd0af7063f4f620e87a8dd586bb07e8b961b30b1dd7c969704c2')
prepare() {
cp -a idna-$pkgver{,-py2}
}
build() {
-# cd "$srcdir"/idna-$pkgver
-# python setup.py build
+ cd "$srcdir"/idna-$pkgver
+ python setup.py build
cd "$srcdir"/idna-$pkgver-py2
python2 setup.py build
}
check() {
-# cd "$srcdir"/idna-$pkgver
-# python setup.py test
+ cd "$srcdir"/idna-$pkgver
+ python setup.py test
cd "$srcdir"/idna-$pkgver-py2
python2 setup.py test
diff --git a/abs/core/python_modules/python-idna/__changelog b/abs/core/python_modules/python-idna/__changelog
deleted file mode 100644
index 60db758..0000000
--- a/abs/core/python_modules/python-idna/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: remove py3 stuff
diff --git a/abs/core/python_modules/python-imagesize/PKGBUILD b/abs/core/python_modules/python-imagesize/PKGBUILD
new file mode 100644
index 0000000..c8ee2da
--- /dev/null
+++ b/abs/core/python_modules/python-imagesize/PKGBUILD
@@ -0,0 +1,39 @@
+pkgbase=python-imagesize
+pkgname=('python-imagesize' 'python2-imagesize')
+pkgver=1.0.0
+pkgrel=1
+
+pkgdesc='Getting image size from png/jpeg/jpeg2000/gif file'
+url='https://github.com/shibukawa/imagesize_py'
+arch=('any')
+license=('MIT')
+
+makedepends=('python-setuptools' 'python2-setuptools')
+
+source=("https://files.pythonhosted.org/packages/source/i/imagesize/imagesize-$pkgver.tar.gz")
+
+md5sums=('9aa76df782f1df5b917794638b6bb6c2')
+
+build() {
+ cp -r imagesize-$pkgver imagesize-$pkgver-py2
+
+ cd "$srcdir"/imagesize-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/imagesize-$pkgver-py2
+ python2 setup.py build
+}
+
+package_python-imagesize() {
+ depends=('python')
+
+ cd imagesize-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
+}
+
+package_python2-imagesize() {
+ depends=('python2')
+
+ cd imagesize-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+}
diff --git a/abs/core/python_modules/python-incremental/PKGBUILD b/abs/core/python_modules/python-incremental/PKGBUILD
new file mode 100644
index 0000000..22c9f73
--- /dev/null
+++ b/abs/core/python_modules/python-incremental/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgbase=python-incremental
+pkgname=('python-incremental' 'python2-incremental')
+pkgver=17.5.0
+pkgrel=1
+pkgdesc='A small library that versions your Python projects'
+arch=('any')
+license=('MIT')
+url='https://github.com/hawkowl/incremental'
+makedepends=('python-setuptools' 'python2-setuptools' 'python-click' 'python2-click'
+ 'python-twisted' 'python2-twisted')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/hawkowl/incremental/archive/incremental-$pkgver.tar.gz")
+sha512sums=('42490edf99355d6c1da0015273e92549bd72ecb2674dd4ce5d0b4a7d34ae9d425ebd1708a2420f67963b4baef5b2a12b76a23d67abb7d306e6208e08d79175d7')
+
+prepare() {
+ cp -a incremental-incremental-$pkgver{,-py2}
+}
+
+build() {
+ cd "$srcdir"/incremental-incremental-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/incremental-incremental-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+ cd "$srcdir"/incremental-incremental-$pkgver
+ LC_CTYPE=en_US.UTF-8 python setup.py ptr
+
+ cd "$srcdir"/incremental-incremental-$pkgver-py2
+ python2 setup.py ptr
+}
+
+package_python-incremental() {
+ depends=('python-click' 'python-twisted')
+
+ cd incremental-incremental-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python2-incremental() {
+ depends=('python2-click' 'python2-twisted')
+
+ cd incremental-incremental-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-itsdangerous/PKGBUILD b/abs/core/python_modules/python-itsdangerous/PKGBUILD
index 4b643d8..4e575b0 100644
--- a/abs/core/python_modules/python-itsdangerous/PKGBUILD
+++ b/abs/core/python_modules/python-itsdangerous/PKGBUILD
@@ -2,14 +2,14 @@
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: Alexander Rødseth <rodseth@gmail.com>
-pkgname=('python2-itsdangerous')
+pkgname=('python-itsdangerous' 'python2-itsdangerous')
pkgver=0.24
-pkgrel=3
+pkgrel=4
pkgdesc='Various helpers to pass trusted data to untrusted environments'
arch=('any')
url="http://pypi.python.org/pypi/itsdangerous"
license=('BSD')
-makedepends=('python2')
+makedepends=('python' 'python2')
source=("$pkgname-$pkgver.tar.gz::https://github.com/mitsuhiko/itsdangerous/archive/${pkgver}.tar.gz")
sha256sums=('b035b2da1d493b00a5ee7a5b750f96929de87b610643939fbe382902774626fc')
diff --git a/abs/core/python_modules/python-itsdangerous/__changelog b/abs/core/python_modules/python-itsdangerous/__changelog
deleted file mode 100644
index 60db758..0000000
--- a/abs/core/python_modules/python-itsdangerous/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: remove py3 stuff
diff --git a/abs/core/python_modules/python-jinja/Fix-PrefixLoader-does-not-pass-globals-to-load.patch b/abs/core/python_modules/python-jinja/Fix-PrefixLoader-does-not-pass-globals-to-load.patch
deleted file mode 100644
index 8100449..0000000
--- a/abs/core/python_modules/python-jinja/Fix-PrefixLoader-does-not-pass-globals-to-load.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 478983594423dcdb85e26ea7a02b8d1d72215db6 Mon Sep 17 00:00:00 2001
-From: Morris Jobke <morris.jobke@gmail.com>
-Date: Mon, 27 May 2013 00:54:52 +0300
-Subject: [PATCH] Fix "PrefixLoader does not pass globals to load"
-
-Fix mitsuhiko/jinja2#225
----
- jinja2/loaders.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/jinja2/loaders.py b/jinja2/loaders.py
-index a9a2625..cc9c683 100644
---- a/jinja2/loaders.py
-+++ b/jinja2/loaders.py
-@@ -349,7 +349,7 @@ def get_source(self, environment, template):
- def load(self, environment, name, globals=None):
- loader, local_name = self.get_loader(name)
- try:
-- return loader.load(environment, local_name)
-+ return loader.load(environment, local_name, globals)
- except TemplateNotFound:
- # re-raise the exception with the correct fileame here.
- # (the one that includes the prefix)
---
-1.8.1.6
-
diff --git a/abs/core/python_modules/python-jinja/PKGBUILD b/abs/core/python_modules/python-jinja/PKGBUILD
index a7e3b6d..1bcd44e 100644
--- a/abs/core/python_modules/python-jinja/PKGBUILD
+++ b/abs/core/python_modules/python-jinja/PKGBUILD
@@ -2,23 +2,23 @@
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Peter Baldwin <bald_pete@hotmail.com>
-pkgname=('python2-jinja')
-pkgver=2.7.2
-pkgrel=2
+pkgname=('python-jinja' 'python2-jinja')
+pkgver=2.10
+pkgrel=1
pkgdesc="A simple pythonic template language written in Python"
arch=('any')
url="http://jinja.pocoo.org/"
license=('BSD')
-makedepends=('python2-setuptools'
+makedepends=('python-setuptools' 'python2-setuptools' 'python-markupsafe'
'python2-markupsafe')
-source=(http://pypi.python.org/packages/source/J/Jinja2/Jinja2-$pkgver.tar.gz)
-sha256sums=('310a35fbccac3af13ebf927297f871ac656b9da1d248b1fe6765affa71b53235')
+source=(https://pypi.org/packages/source/J/Jinja2/Jinja2-$pkgver.tar.gz)
+sha256sums=('f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4')
build() {
cd "$srcdir"
rm -rf python{2,3}-build
- for builddir in python2-build; do
+ for builddir in python{2,3}-build; do
cp -r Jinja2-$pkgver $builddir
pushd $builddir
${builddir%-build} setup.py build
@@ -26,15 +26,15 @@ build() {
done
}
-#package_python-jinja() {
-# depends=('python-setuptools' 'python-markupsafe')
+package_python-jinja() {
+ depends=('python-setuptools' 'python-markupsafe')
-# cd "$srcdir/python3-build"
+ cd "$srcdir/python3-build"
-# python3 setup.py install --root="$pkgdir" -O1
+ python3 setup.py install --root="$pkgdir" -O1
-# install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-#}
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
package_python2-jinja() {
depends=('python2-setuptools' 'python2-markupsafe')
diff --git a/abs/core/python_modules/python-jinja/__changelog b/abs/core/python_modules/python-jinja/__changelog
deleted file mode 100644
index 3439597..0000000
--- a/abs/core/python_modules/python-jinja/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: rm python 3 stuff
diff --git a/abs/core/python_modules/python-jsonschema/PKGBUILD b/abs/core/python_modules/python-jsonschema/PKGBUILD
index 45de390..4d13b81 100644
--- a/abs/core/python_modules/python-jsonschema/PKGBUILD
+++ b/abs/core/python_modules/python-jsonschema/PKGBUILD
@@ -1,38 +1,66 @@
# $Id$
-# Maintainer: Daniel Wallace <danielwallace at gtmanfred.com>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Daniel Wallace <danielwallace at gtmanfred.com>
# Contributor: Bogdan Szczurek <thebodzio@gmail.com>
# Contributor: Ismo Toijala <ismo.toijala@gmail.com>
pkgbase=python-jsonschema
-_pkgname=jsonschema
-pkgname=(python2-jsonschema)
+pkgname=('python-jsonschema' 'python2-jsonschema')
pkgver=2.6.0
-pkgrel=1
+pkgrel=2
pkgdesc="An implementation of JSON Schema validation for Python"
-arch=(any)
+arch=('any')
url="http://pypi.python.org/pypi/jsonschema"
license=('MIT')
-makedepends=(python2-setuptools)
-source=("https://pypi.io/packages/source/j/jsonschema/${pkgname:8}-$pkgver.tar.gz")
+makedepends=('python-setuptools' 'python2-setuptools' 'python2-functools32' 'python-vcversioner'
+ 'python2-vcversioner')
+checkdepends=('python-twisted' 'python2-twisted' 'python-mock' 'python2-mock'
+ 'python-strict-rfc3339' 'python2-strict-rfc3339' 'python-rfc3987' 'python2-rfc3987'
+ 'python-webcolors' 'python2-webcolors')
+source=("$pkgbase-$pkgver.tar.bz2::https://github.com/Julian/jsonschema/archive/v$pkgver.tar.gz")
+sha512sums=('863888fa70d7ae000530dcb405455d370a42c75b1e72970724d56397a1364da9198adb655ddebb6e8570b4bcf6ee17d26b712db86ddad15f65132dc9774e7255')
-prepare(){
- cp -a $_pkgname-$pkgver $_pkgname-$pkgver-2
- find $_pkgname-$pkgver-2 -name \*.py -exec sed -i '1s/python$/&2/' {} +
+prepare() {
+ echo -n "$pkgver-0-UNKNOWN" > jsonschema-$pkgver/version.txt
+ cp -a jsonschema-$pkgver{,-py2}
+ find jsonschema-$pkgver-py2 -name \*.py -exec sed -i '1s/python$/&2/' {} +
+}
+
+build() {
+ cd "$srcdir"/jsonschema-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/jsonschema-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+ cd "$srcdir"/jsonschema-$pkgver
+ PYTHONPATH="$PWD/build/lib" JSON_SCHEMA_TEST_SUITE=json trial3 jsonschema
+ python -m doctest README.rst
+
+ cd "$srcdir"/jsonschema-$pkgver-py2
+ PYTHONPATH="$PWD/build/lib" JSON_SCHEMA_TEST_SUITE=json trial jsonschema
+ # TODO: figure out why
+ rm -r build/lib/jsonschema/__pycache__
+ python2 -m doctest README.rst
}
package_python-jsonschema() {
- cd "$srcdir/$_pkgname-$pkgver"
- python setup.py install --root="$pkgdir/" --optimize=1
- depends=(python)
- install -D -m644 json/LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+ depends=('python-setuptools')
+
+ cd jsonschema-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 json/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
package_python2-jsonschema() {
- cd "$srcdir/$_pkgname-$pkgver-2"
- python2 setup.py install --root="$pkgdir/" --optimize=1
- depends=(python2-functools32)
- install -D -m644 json/LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
- mv $pkgdir/usr/bin/jsonschema{,2}
+ depends=('python2-setuptools' 'python2-functools32')
+
+ cd jsonschema-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 json/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+
+ mv "$pkgdir"/usr/bin/jsonschema{,2}
}
-md5sums=('50c6b69a373a8b55ff1e0ec6e78f13f4')
diff --git a/abs/core/python_modules/python-jsonschema/__changelog b/abs/core/python_modules/python-jsonschema/__changelog
deleted file mode 100644
index 4f818ef..0000000
--- a/abs/core/python_modules/python-jsonschema/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD: don't build py 3 stuff
-
diff --git a/abs/core/python_modules/python-lxml/PKGBUILD b/abs/core/python_modules/python-lxml/PKGBUILD
index e12b716..bfb65bf 100644
--- a/abs/core/python_modules/python-lxml/PKGBUILD
+++ b/abs/core/python_modules/python-lxml/PKGBUILD
@@ -1,49 +1,98 @@
-# $Id: PKGBUILD 162858 2012-07-02 13:06:22Z giovanni $
-# Maintainer:
-
-pkgname=('python2-lxml')
-pkgver=2.3.4
-pkgrel=2
-pkgdesc="Python binding for the libxml2 and libxslt libraries"
-arch=('i686' 'x86_64')
+# $Id$
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgbase=python-lxml
+pkgname=('python-lxml' 'python2-lxml' 'python-lxml-docs')
+pkgver=4.1.1
+pkgrel=1
+arch=('x86_64')
license=('BSD' 'custom')
url="http://lxml.de/"
-makedepends=('python2' 'libxslt')
-source=(http://pypi.python.org/packages/source/l/lxml/lxml-${pkgver}.tar.gz{,.asc})
-sha1sums=('90a226d8a2ee38de47fc3351445dab6df0e33a20'
- '7962be7794d7f4c87d2fce0104c27990f48f1ce1')
+makedepends=('libxslt' 'python-setuptools' 'python2-setuptools' 'epydoc' 'python2-pygments'
+ 'python2-docutils' 'cython' 'cython2')
+checkdepends=('python-cssselect' 'python2-cssselect' 'python-html5lib' 'python2-html5lib'
+ 'python-beautifulsoup4' 'python2-beautifulsoup4')
+source=("https://github.com/lxml/lxml/archive/lxml-$pkgver.tar.gz")
+sha512sums=('69c64fc9f34bd8250dffcc32b6dcc93490731cd32778d7257a232fc5a126e74433ce6d4351683b71872cbeccd2c4d5a970e8fc2e631bbc273125be2b7f61ef31')
+
+prepare() {
+ mv lxml-lxml-$pkgver lxml-$pkgver
+ cp -a lxml-$pkgver{,-py2}
+
+ # Setting LC_CTYPE to workaround encoding issue
+ export LC_CTYPE=en_US.UTF-8
+}
+
+build() {
+ cd "$srcdir"/lxml-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/lxml-$pkgver-py2
+ python2 setup.py build
+ make PYTHON=python2 html
+}
check() {
- cd "${srcdir}"/lxml-$pkgver
+ # TODO: Find a sane way to skip inplace build
+
+ cd "$srcdir"/lxml-$pkgver
+ make PYTHON=python test
+
+ cd "$srcdir"/lxml-$pkgver-py2
make PYTHON=python2 test
- #make PYTHON=python test
+}
+
+package_python-lxml() {
+ pkgdesc="Python3 binding for the libxml2 and libxslt libraries"
+ depends=('python' 'libxslt')
+ optdepends=('python-beautifulsoup4: support for beautifulsoup parser to parse not well formed HTML'
+ 'python-cssselect: support for cssselect'
+ 'python-html5lib: support for html5lib parser'
+ 'python-lxml-docs: offline docs')
+
+ cd lxml-$pkgver
+ python setup.py install --root="$pkgdir" --skip-build --optimize=1
+
+ install -Dm644 LICENSES.txt \
+ "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ install -Dm644 doc/licenses/BSD.txt \
+ "$pkgdir"/usr/share/licenses/$pkgname/BSD.txt
+ install -Dm644 doc/licenses/elementtree.txt \
+ "$pkgdir"/usr/share/licenses/$pkgname/elementtree.txt
}
package_python2-lxml() {
+ pkgdesc="Python2 binding for the libxml2 and libxslt libraries"
depends=('python2' 'libxslt')
- optdepends=('python2-beautifulsoup3: support for parsing not well formed HTML')
+ optdepends=('python2-beautifulsoup4: support for beautifulsoup parser to parse not well formed HTML'
+ 'python2-cssselect: support for cssselect'
+ 'python2-html5lib: support for html5lib parser'
+ 'python-lxml-docs: offline docs')
- cd "${srcdir}"/lxml-$pkgver
- python2 setup.py install --root="${pkgdir}" --optimize=1
+ cd lxml-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --skip-build --optimize=1
install -Dm644 LICENSES.txt \
- "${pkgdir}"/usr/share/licenses/$pkgname/LICENSE
+ "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
install -Dm644 doc/licenses/BSD.txt \
- "${pkgdir}"/usr/share/licenses/$pkgname/BSD.txt
+ "$pkgdir"/usr/share/licenses/$pkgname/BSD.txt
install -Dm644 doc/licenses/elementtree.txt \
- "${pkgdir}"/usr/share/licenses/$pkgname/elementtree.txt
+ "$pkgdir"/usr/share/licenses/$pkgname/elementtree.txt
}
-package_python-lxml() {
- depends=('python' 'libxslt')
+package_python-lxml-docs() {
+ pkgdesc="Python binding for the libxml2 and libxslt libraries (docs)"
+ options=('docs')
- cd "${srcdir}"/lxml-$pkgver
- python setup.py install --root="${pkgdir}" --optimize=1
+ cd lxml-$pkgver-py2
+ install -d "$pkgdir"/usr/share/doc/$pkgbase
+ cp -r doc/html "$pkgdir"/usr/share/doc/$pkgbase
install -Dm644 LICENSES.txt \
- "${pkgdir}"/usr/share/licenses/$pkgname/LICENSE
+ "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
install -Dm644 doc/licenses/BSD.txt \
- "${pkgdir}"/usr/share/licenses/$pkgname/BSD.txt
+ "$pkgdir"/usr/share/licenses/$pkgname/BSD.txt
install -Dm644 doc/licenses/elementtree.txt \
- "${pkgdir}"/usr/share/licenses/$pkgname/elementtree.txt
+ "$pkgdir"/usr/share/licenses/$pkgname/elementtree.txt
}
diff --git a/abs/core/python_modules/python-lxml/__changelog b/abs/core/python_modules/python-lxml/__changelog
deleted file mode 100644
index 9731eb3..0000000
--- a/abs/core/python_modules/python-lxml/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-removed python3
diff --git a/abs/core/python_modules/python-mako/PKGBUILD b/abs/core/python_modules/python-mako/PKGBUILD
index 71440e4..b662825 100644
--- a/abs/core/python_modules/python-mako/PKGBUILD
+++ b/abs/core/python_modules/python-mako/PKGBUILD
@@ -1,54 +1,58 @@
# $Id$
-# Maintainer :
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
-pkgname=('python2-mako')
-pkgver=0.9.1
-pkgrel=2
-pkgdesc="Hyperfast and lightweight templating for the Python2 platform"
+pkgbase=python-mako
+pkgname=('python-mako' 'python2-mako')
+pkgver=1.0.7
+pkgrel=1
+pkgdesc="A super-fast templating language that borrows the best ideas from the existing templating languages"
arch=('any')
url="http://www.makotemplates.org/"
license=('MIT')
-makedepends=('python2-setuptools')
-checkdepends=('python2-nose')
-source=(https://pypi.python.org/packages/source/M/Mako/Mako-$pkgver.tar.gz{,.asc})
-sha1sums=('aa01bafca5a835eb92a9048be92414fa83da102b'
- 'SKIP')
+makedepends=('python-setuptools' 'python2-setuptools' 'python-markupsafe' 'python2-markupsafe'
+ 'python-beaker' 'python2-beaker')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner' 'python-mock' 'python2-mock'
+ 'python-babel' 'python2-babel' 'python-pygments' 'python2-pygments'
+ 'python-dogpile.cache' 'python2-dogpile.cache')
+source=("https://pypi.io/packages/source/M/Mako/Mako-$pkgver.tar.gz"{,.asc})
+sha512sums=('d67af6788bf8603010361ce8b6d0355b0191657c07f3b5845f9d5e91653c3e349a7b35d5b36aa9c7f291973c83911ce94075e1cad78e6935d0ed4ee9c6e2a571'
+ 'SKIP')
+validpgpkeys=('83AF7ACE251C13E6BB7DEFBD330239C1C4DAFEE1') # Michael Bayer
prepare() {
- cp -r Mako-$pkgver python2-Mako-$pkgver
- mv Mako-$pkgver/scripts/mako-render Mako-$pkgver/scripts/python3-mako-render
-# 2to3 -nw Mako-$pkgver/scripts/python3-mako-render
- sed -i 's/mako-render/python3-mako-render/' Mako-$pkgver/setup.py
+ cp -a Mako-$pkgver{,-py2}
}
build() {
- cd Mako-$pkgver
-# python3 setup.py build
+ cd "$srcdir"/Mako-$pkgver
+ python setup.py build
- cd ../python2-Mako-$pkgver
- python2 setup.py build
+ cd "$srcdir"/Mako-$pkgver-py2
+ python2 setup.py build
}
check() {
- cd Mako-$pkgver
-# python3 setup.py test
+ cd "$srcdir"/Mako-$pkgver
+ python setup.py ptr
- cd ../python2-Mako-$pkgver
- python2 setup.py test
+ cd "$srcdir"/Mako-$pkgver-py2
+ python2 setup.py ptr
}
-#package_python-mako() {
-# depends=('python-markupsafe' 'python-beaker')
+package_python-mako() {
+ depends=('python-markupsafe' 'python-beaker' 'python-setuptools')
-# cd Mako-$pkgver
-# python3 setup.py install --root="$pkgdir" --optimize=1
-# install -D LICENSE "$pkgdir/usr/share/licenses/python-mako/COPYING"
-#}
+ cd Mako-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
+ install -D LICENSE "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+}
package_python2-mako() {
- depends=('python2-markupsafe' 'python2-beaker')
+ depends=('python2-markupsafe' 'python2-beaker' 'python2-setuptools')
+
+ cd Mako-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -D LICENSE "$pkgdir"/usr/share/licenses/$pkgname/COPYING
- cd python2-Mako-$pkgver
- python2 setup.py install --root="$pkgdir" --optimize=1
- install -D LICENSE "$pkgdir/usr/share/licenses/python2-mako/COPYING"
+ mv "$pkgdir"/usr/bin/mako-render{,2}
}
diff --git a/abs/core/python_modules/python-mako/__changelog b/abs/core/python_modules/python-mako/__changelog
deleted file mode 100644
index 9715c21..0000000
--- a/abs/core/python_modules/python-mako/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD - comment out all python 3 stuff and only build for py 2
diff --git a/abs/core/python_modules/python-markupsafe/PKGBUILD b/abs/core/python_modules/python-markupsafe/PKGBUILD
index 17725d0..ec6d6f9 100644
--- a/abs/core/python_modules/python-markupsafe/PKGBUILD
+++ b/abs/core/python_modules/python-markupsafe/PKGBUILD
@@ -1,50 +1,53 @@
# $Id$
-# Maintainer : Felix Yan <felixonmars@gmail.com>
+# Maintainer : Felix Yan <felixonmars@archlinux.org>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Alex Anthony <alex.anthony28991@gmail.com>
-pkgname=('python2-markupsafe')
-pkgver=0.21
+pkgname=('python-markupsafe' 'python2-markupsafe')
+pkgver=1.0
pkgrel=1
pkgdesc="Implements a XML/HTML/XHTML Markup safe string for Python"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://pypi.python.org/pypi/MarkupSafe"
license=('custom')
-makedepends=('python2-setuptools')
-source=("http://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-${pkgver}.tar.gz")
-sha512sums=('ecedf56be7ad1723c4d7bf799e1aefb8ceb0a28840a1b8ffdc2dee0f734149430cf5dfd5d335591e9934cf223255475e9c04da5ab34ed69e7845298f599d81bc')
+makedepends=('python-setuptools' 'python2-setuptools')
+source=("https://pypi.io/packages/source/M/MarkupSafe/MarkupSafe-${pkgver}.tar.gz")
+sha512sums=('7437a02cb1b9c1d6d6c20b13d394f24a1cd1cb8c743f832d8b1cbb6ab8846f70f54d924dd693423b33c4d592e772983ae38fd4a35961e233457c48bd3584ecb8')
+
+prepare() {
+ cp -a MarkupSafe-$pkgver{,-py2}
+}
build() {
- cp -r MarkupSafe-${pkgver} python2-MarkupSafe-${pkgver}
-# cd "${srcdir}/MarkupSafe-${pkgver}"
-# python setup.py build
+ cd "$srcdir"/MarkupSafe-$pkgver
+ python setup.py build
- cd "${srcdir}/python2-MarkupSafe-${pkgver}"
+ cd "$srcdir"/MarkupSafe-$pkgver-py2
python2 setup.py build
}
check() {
-# cd "${srcdir}/MarkupSafe-${pkgver}"
-# python setup.py test
+ cd "$srcdir"/MarkupSafe-$pkgver
+ python setup.py test
- cd "${srcdir}/python2-MarkupSafe-${pkgver}"
+ cd "$srcdir"/MarkupSafe-$pkgver-py2
python2 setup.py test
}
-#package_python-markupsafe() {
-# depends=('python')
+package_python-markupsafe() {
+ depends=('python')
-# cd MarkupSafe-${pkgver}
-# python setup.py install --root="${pkgdir}" --optimize=1
+ cd MarkupSafe-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
-# install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/python-markupsafe/LICENSE"
-#}
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/python-markupsafe/LICENSE
+}
package_python2-markupsafe() {
depends=('python2')
- cd python2-MarkupSafe-${pkgver}
- python2 setup.py install --root="${pkgdir}" --optimize=1
+ cd MarkupSafe-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
- install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/python2-markupsafe/LICENSE"
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/python2-markupsafe/LICENSE
}
diff --git a/abs/core/python_modules/python-markupsafe/__changelog b/abs/core/python_modules/python-markupsafe/__changelog
deleted file mode 100644
index 488d3cf..0000000
--- a/abs/core/python_modules/python-markupsafe/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: rm py 3 stuff
diff --git a/abs/core/python_modules/python-mistune/PKGBUILD b/abs/core/python_modules/python-mistune/PKGBUILD
new file mode 100644
index 0000000..dc1f2cc
--- /dev/null
+++ b/abs/core/python_modules/python-mistune/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id$
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: shmilee
+
+pkgbase=python-mistune
+_pkgname=mistune
+pkgname=('python-mistune' 'python2-mistune')
+pkgver=0.8.1
+pkgrel=1
+pkgdesc="The fastest markdown parser in pure Python with renderer feature."
+arch=('any')
+url="https://github.com/lepture/mistune"
+license=('BSD')
+depends=('python')
+makedepends=('python-setuptools' 'python2-setuptools')
+source=("https://github.com/lepture/mistune/archive/v${pkgver}.tar.gz")
+md5sums=('48de519df46992d12b45d562ee5bfedb')
+
+prepare() {
+ cd "$srcdir"
+ cp -r "$srcdir/$_pkgname-$pkgver" "$srcdir/${_pkgname}2-$pkgver"
+}
+
+package_python-mistune() {
+ cd "$srcdir/${_pkgname}-$pkgver"
+ python setup.py install --root="$pkgdir/"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/python-mistune/LICENSE"
+}
+
+package_python2-mistune() {
+ depends=('python2')
+ cd "$srcdir/${_pkgname}2-$pkgver"
+ python2 setup.py install --root="$pkgdir/"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/python2-mistune/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-mock/PKGBUILD b/abs/core/python_modules/python-mock/PKGBUILD
index 63fd848..c2ec77d 100644
--- a/abs/core/python_modules/python-mock/PKGBUILD
+++ b/abs/core/python_modules/python-mock/PKGBUILD
@@ -3,38 +3,51 @@
# Contributor: Felix Kaiser <felix.kaiser@fxkr.net>
pkgbase=python-mock
-pkgname=(python2-mock)
-pkgver=1.0.1
-pkgrel=3
+pkgname=(python2-mock python-mock)
+pkgver=2.0.0
+pkgrel=2
pkgdesc='Mocking and Patching Library for Testing'
url='http://www.voidspace.org.uk/python/mock/'
-makedepends=('python2')
+makedepends=('python2' 'python' 'python-setuptools' 'python2-setuptools')
+checkdepends=('python-nose' 'python2-nose' 'python-pbr' 'python2-pbr' 'python-six' 'python2-six' 'git')
license=('BSD')
arch=('any')
-source=("http://pypi.python.org/packages/source/m/mock/mock-$pkgver.tar.gz")
-md5sums=('c3971991738caa55ec7c356bbc154ee2')
+source=("https://files.pythonhosted.org/packages/source/m/mock/mock-$pkgver.tar.gz")
+md5sums=('0febfafd14330c9dcaa40de2d82d40ad')
build() {
cd "$srcdir"
cp -rf "mock-$pkgver" "mock2-$pkgver"
-# cd "$srcdir/mock-$pkgver"
-# python3 setup.py build
+ cd "$srcdir/mock-$pkgver"
+ python3 setup.py build
cd "$srcdir/mock2-$pkgver"
python2 setup.py build
}
-#package_python-mock() {
-#depends=('python')
-# cd "$srcdir/mock-$pkgver"
-# python3 setup.py install --optimize=1 --root="$pkgdir"
-# install -Dm644 LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
-#}
+package_python-mock() {
+depends=('python' 'python-six' 'python-pbr')
+ cd "$srcdir/mock-$pkgver"
+ python3 setup.py install --optimize=1 --root="$pkgdir"
+ install -Dm644 LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
package_python2-mock() {
-depends=('python2')
+depends=('python2' 'python2-six' 'python2-pbr' 'python2-funcsigs') # Backported Py > 3.3 functionality
cd "$srcdir/mock2-$pkgver"
python2 setup.py install --optimize=1 --root="$pkgdir"
install -Dm644 LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
}
+
+check() {
+ cd "$srcdir/mock2-$pkgver/"
+ sed -i 's/unittest2/unittest/g' mock/tests/*.py
+
+ echo 'python tests'
+ python -m unittest discover
+
+ # Does not run because of self.assertRaisesRegex() usage in unitests, which is self.assertRaisesRegexp() in Python 2.7
+ echo 'python2 tests'
+ #python2 -m unittest discover
+}
diff --git a/abs/core/python_modules/python-mock/__changelog b/abs/core/python_modules/python-mock/__changelog
deleted file mode 100644
index 488d3cf..0000000
--- a/abs/core/python_modules/python-mock/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: rm py 3 stuff
diff --git a/abs/core/python_modules/python-more-itertools/PKGBUILD b/abs/core/python_modules/python-more-itertools/PKGBUILD
new file mode 100644
index 0000000..3a07dda
--- /dev/null
+++ b/abs/core/python_modules/python-more-itertools/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id$
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Germán Osella Massa <gosella@gmail.com>
+
+pkgbase=python-more-itertools
+pkgname=('python-more-itertools' 'python2-more-itertools')
+pkgver=3.1.0
+pkgrel=1
+pkgdesc='More routines for operating on iterables, beyond itertools'
+arch=('any')
+url='https://github.com/erikrose/more-itertools'
+#url='https://pypi.python.org/pypi/more-itertools'
+license=('MIT')
+depends=('python')
+makedepends=('python-setuptools' 'python2-setuptools' 'python2-six')
+source=("https://files.pythonhosted.org/packages/source/m/more-itertools/more-itertools-$pkgver.tar.gz")
+md5sums=('e3dad64e30d0220039d0cb036ae7532c')
+
+prepare() {
+ cp -R "more-itertools-$pkgver" "py2-more-itertools-$pkgver"
+}
+
+package_python-more-itertools() {
+ cd "$srcdir/more-itertools-$pkgver"
+ python3 setup.py install --root="$pkgdir/" --optimize=0
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_python2-more-itertools() {
+ depends=('python2' 'python2-six')
+ cd "$srcdir/py2-more-itertools-$pkgver"
+ python2 setup.py install --root="$pkgdir/" --optimize=0
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-ndg-httpsclient/PKGBUILD b/abs/core/python_modules/python-ndg-httpsclient/PKGBUILD
index 7b0047f..0d2f022 100644
--- a/abs/core/python_modules/python-ndg-httpsclient/PKGBUILD
+++ b/abs/core/python_modules/python-ndg-httpsclient/PKGBUILD
@@ -3,24 +3,25 @@
# Contributor: Hugo Osvaldo Barrera <hugo@osvaldobarrera.com.ar>
pkgbase=python-ndg-httpsclient
-pkgname=(python2-ndg-httpsclient)
+pkgname=(python-ndg-httpsclient python2-ndg-httpsclient)
_pkgname=ndg_httpsclient
-pkgver=0.4.2
-pkgrel=2
+pkgver=0.4.4
+pkgrel=1
pkgdesc="Provides enhanced HTTPS support for httplib and urllib2 using PyOpenSSL"
arch=(any)
url="https://pypi.python.org/pypi/ndg-httpsclient"
license=('BSD')
-makedepends=(python2-setuptools python2-pyopenssl python2-pyasn1)
+makedepends=(python2-setuptools python2-pyopenssl python2-pyasn1
+ python-setuptools python-pyopenssl python-pyasn1)
options=(!emptydirs)
source=(https://files.pythonhosted.org/packages/source/n/ndg-httpsclient/$_pkgname-$pkgver.tar.gz)
-sha256sums=('580987ef194334c50389e0d7de885fccf15605c13c6eecaabd8d6c43768eb8ac')
+sha256sums=('fba4d4798dcac2965874f24afb6631b4326baa4bd02505744d34f690c354856a')
build() {
cd "$srcdir"/$_pkgname-$pkgver
-# rm -rf ../buildpy3; mkdir ../buildpy3
-# python setup.py build -b ../buildpy3
+ rm -rf ../buildpy3; mkdir ../buildpy3
+ python setup.py build -b ../buildpy3
rm -rf ../buildpy2; mkdir ../buildpy2
python2 setup.py build -b ../buildpy2
diff --git a/abs/core/python_modules/python-ndg-httpsclient/__changelog b/abs/core/python_modules/python-ndg-httpsclient/__changelog
deleted file mode 100644
index 4f818ef..0000000
--- a/abs/core/python_modules/python-ndg-httpsclient/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD: don't build py 3 stuff
-
diff --git a/abs/core/python_modules/python-nose/PKGBUILD b/abs/core/python_modules/python-nose/PKGBUILD
index be20823..beafe17 100644
--- a/abs/core/python_modules/python-nose/PKGBUILD
+++ b/abs/core/python_modules/python-nose/PKGBUILD
@@ -5,16 +5,16 @@
# Contributor: Cilyan Olowen <gaknar@gmail.com>
pkgbase=python-nose
-pkgname=('python2-nose' 'python-nose-doc')
-pkgver=1.3.1
-pkgrel=2
+pkgname=('python-nose' 'python2-nose' 'python-nose-doc')
+pkgver=1.3.7
+pkgrel=3
pkgdesc="A discovery-based unittest extension"
arch=('any')
url='http://readthedocs.org/docs/nose/'
license=('LGPL2.1')
-makedepends=('python2' 'python2-setuptools' 'python2-sphinx')
-source=("http://pypi.python.org/packages/source/n/nose/nose-${pkgver}.tar.gz")
-md5sums=('672398801ddf5ba745c55c6eed79c5aa')
+makedepends=('python' 'python-setuptools' 'python2' 'python2-setuptools' 'python2-sphinx')
+source=("https://pypi.python.org/packages/source/n/nose/nose-${pkgver}.tar.gz")
+md5sums=('4d3ad0ff07b61373d2cefc89c5d0b20b')
build() {
cd "$srcdir/nose-$pkgver"
@@ -22,12 +22,12 @@ build() {
cp -R "$srcdir/nose-$pkgver" "$srcdir/nose2-$pkgver"
}
-#package_python-nose() {
-# depends=('python' 'python-setuptools')
-# cd "$srcdir/nose-$pkgver"
-# python3 setup.py install --prefix=/usr --root="${pkgdir}"
-# mv "$pkgdir/usr/bin/nosetests" "$pkgdir/usr/bin/nosetests3"
-#}
+package_python-nose() {
+ depends=('python' 'python-setuptools')
+ cd "$srcdir/nose-$pkgver"
+ python3 setup.py install --prefix=/usr --root="${pkgdir}"
+ ln -s nosetests "$pkgdir/usr/bin/nosetests3"
+}
package_python2-nose() {
depends=('python2' 'python2-setuptools')
@@ -40,7 +40,7 @@ package_python2-nose() {
package_python-nose-doc(){
pkgdesc="Nose documentation and examples"
cd "$srcdir/nose-$pkgver/doc"
- make SPHINXBUILD=sphinx-build22 html
+ make SPHINXBUILD=sphinx-build2 html
mkdir -p "$pkgdir/usr/share/doc/python-nose"
cp -r .build/html "$pkgdir/usr/share/doc/python-nose"
cp -r ../examples "$pkgdir/usr/share/doc/python-nose"
diff --git a/abs/core/python_modules/python-nose/__changelog b/abs/core/python_modules/python-nose/__changelog
deleted file mode 100644
index 488d3cf..0000000
--- a/abs/core/python_modules/python-nose/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: rm py 3 stuff
diff --git a/abs/core/python_modules/python-numpy/PKGBUILD b/abs/core/python_modules/python-numpy/PKGBUILD
index 8c9c6be..6c92605 100755
--- a/abs/core/python_modules/python-numpy/PKGBUILD
+++ b/abs/core/python_modules/python-numpy/PKGBUILD
@@ -1,61 +1,85 @@
-# $Id: PKGBUILD 138131 2011-09-17 03:10:10Z allan $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
pkgbase=python-numpy
-pkgname=('python2-numpy')
-pkgver=1.6.1
+pkgname=('python2-numpy' 'python-numpy')
+pkgver=1.14.2
pkgrel=1
pkgdesc="Scientific tools for Python"
-arch=('i686' 'x86_64')
+arch=('x86_64')
license=('custom')
-url="http://numpy.scipy.org/"
-makedepends=('lapack' 'python2' 'python2-distribute' 'gcc-fortran' 'python2-nose')
-source=(http://downloads.sourceforge.net/numpy/numpy-${pkgver}.tar.gz)
-md5sums=('2bce18c08fc4fce461656f0f4dd9103e')
+url="http://www.numpy.org/"
+makedepends=('cblas' 'lapack' 'python' 'python2' 'python-setuptools' 'python2-setuptools' 'gcc-fortran'
+ 'python-nose' 'python2-nose' 'cython' 'cython2')
+options=('staticlibs')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/numpy/numpy/archive/v$pkgver.tar.gz" 'site.cfg')
+sha512sums=('65b10462011e033669b700f0688df2e8630a097323fc7d72e71549fdfc2258546fe6f1317e0d51e1a0c9ab86451e0998ccbc7daa9af690652a96034571d5b76b'
+ '03a0f161be4963625f110a26167efbd300a12bd4cf99c8250c47ac865466d03fc8640e7e4fb6a59c39bf8b797609f5ed50afbc720d1fcbd2c4c57263cf8b406b')
-build() {
- cd "${srcdir}"
- cp -a numpy-${pkgver} numpy-py2-${pkgver}
+prepare() {
+ cp site.cfg numpy-$pkgver
+ cp -a numpy-$pkgver numpy-py2-$pkgver
+ cd numpy-py2-$pkgver
+
+ sed -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \
+ -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
+ -e "s|#![ ]*/bin/env python$|#!/usr/bin/env python2|" \
+ -i $(find . -name '*.py')
+}
- export Atlas=None
+build() {
export LDFLAGS="$LDFLAGS -shared"
echo "Building Python2"
- cd "${srcdir}/numpy-py2-${pkgver}"
+ cd numpy-py2-$pkgver
python2 setup.py config_fc --fcompiler=gnu95 build
- #echo "Building Python3"
- #cd "${srcdir}/numpy-${pkgver}"
- #python setup.py config_fc --fcompiler=gnu95 build
+ echo "Building Python3"
+ cd ../numpy-$pkgver
+ python setup.py config_fc --fcompiler=gnu95 build
}
package_python2-numpy() {
- depends=('lapack' 'python2')
- optdepends=('python-nose: testsuite')
+ depends=('lapack' 'python2' 'cblas')
+ optdepends=('python2-nose: testsuite')
+
+ _pyver=2.7
- cd "${srcdir}/numpy-py2-${pkgver}"
+ export ATLAS=None
+ export LDFLAGS="$LDFLAGS -shared"
+
+ cd numpy-py2-$pkgver
python2 setup.py config_fc --fcompiler=gnu95 install --prefix=/usr --root="${pkgdir}" --optimize=1
install -m755 -d "${pkgdir}/usr/share/licenses/python2-numpy"
install -m644 LICENSE.txt "${pkgdir}/usr/share/licenses/python2-numpy/"
- sed -i -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \
- -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
- -e "s|#![ ]*/bin/env python$|#!/usr/bin/env python2|" \
- $(find ${pkgdir} -name '*.py')
+ install -m755 -d "${pkgdir}/usr/include/python${_pyver}"
+ ln -sf /usr/lib/python${_pyver}/site-packages/numpy/core/include/numpy "${pkgdir}/usr/include/python${_pyver}/numpy"
}
package_python-numpy() {
- depends=('lapack' 'python')
+ depends=('lapack' 'python' 'cblas')
+ optdepends=('python-nose: testsuite')
provides=("python3-numpy=${pkgver}")
replaces=('python3-numpy')
conflicts=('python3-numpy')
- cd "${srcdir}/numpy-${pkgver}"
+ _pyver=3.6
+ _pyinc=3.6m
+
+ export ATLAS=None
+ export LDFLAGS="$LDFLAGS -shared"
+
+ cd numpy-$pkgver
python setup.py config_fc --fcompiler=gnu95 install --prefix=/usr --root="${pkgdir}" --optimize=1
- install -m755 -d "${pkgdir}/usr/share/licenses/python3-numpy"
- install -m644 LICENSE.txt "${pkgdir}/usr/share/licenses/python3-numpy/"
+ install -m755 -d "${pkgdir}/usr/share/licenses/python-numpy"
+ install -m644 LICENSE.txt "${pkgdir}/usr/share/licenses/python-numpy/"
+
+ install -m755 -d "${pkgdir}/usr/include/python${_pyinc}"
+ ln -sf /usr/lib/python${_pyver}/site-packages/numpy/core/include/numpy "${pkgdir}/usr/include/python${_pyinc}/numpy"
}
diff --git a/abs/core/python_modules/python-numpy/__changelog b/abs/core/python_modules/python-numpy/__changelog
deleted file mode 100644
index 3bc4789..0000000
--- a/abs/core/python_modules/python-numpy/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-remove python3 support
diff --git a/abs/core/python_modules/python-numpy/site.cfg b/abs/core/python_modules/python-numpy/site.cfg
new file mode 100644
index 0000000..528d890
--- /dev/null
+++ b/abs/core/python_modules/python-numpy/site.cfg
@@ -0,0 +1,4 @@
+[atlas]
+atlas_libs = cblas
+libraries = cblas
+
diff --git a/abs/core/python_modules/python-oauth/PKGBUILD b/abs/core/python_modules/python-oauth/PKGBUILD
deleted file mode 100644
index 1404fec..0000000
--- a/abs/core/python_modules/python-oauth/PKGBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Maintainer: Snowknight (hopkinsth@gmail.com)
-pkgname=python-oauth
-pkgver=1.0.1
-pkgrel=6
-pkgdesc="An open protocol to allow API authentication in a simple and standard method from desktop and web applications."
-arch=('any')
-url="http://code.google.com/p/oauth/"
-license=('MIT')
-depends=('python2')
-#makedepends=('python2-distribute')
-makedepends=('setuptools')
-source=(http://pypi.python.org/packages/source/o/oauth/oauth-${pkgver}.tar.gz)
-md5sums=('30ed3cc8c11d7841a89feab437aabf81')
-sha1sums=('b2d7609e4852b33d0d33f0bc6ae5cab8fadca014')
-
-build() {
- cd ${srcdir}/oauth-${pkgver}
-
- python2 setup.py build || return 1
-}
-package() {
- cd ${srcdir}/oauth-${pkgver}
- python2 setup.py install --root=${pkgdir} || return 1
-
- install -Dm644 LICENSE.txt ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
-}
-
diff --git a/abs/core/python_modules/python-opengl/PKGBUILD b/abs/core/python_modules/python-opengl/PKGBUILD
deleted file mode 100644
index 57f77fd..0000000
--- a/abs/core/python_modules/python-opengl/PKGBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# $Id: PKGBUILD 150966 2012-02-24 10:19:17Z pierre $
-# Contributor: Josh Taylor <joshtaylor.mail@gmail.com>
-# Contributor: simo <simo@archlinux.org>
-# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
-# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
-
-pkgname=python-opengl
-pkgver=3.0.1
-pkgrel=3
-pkgdesc="The cross platform Python binding to OpenGL and related APIs"
-url="http://pyopengl.sourceforge.net"
-license=('BSD')
-arch=('any')
-depends=('python2' 'tk' 'freeglut' 'setuptools')
-provides=('pyopengl' 'python-pyopengl')
-conflicts=('pyopengl' 'python-pyopengl')
-source=("http://downloads.sourceforge.net/pyopengl/PyOpenGL-${pkgver}.tar.gz"
- 'LICENSE')
-md5sums=('221d4a6a0928fcfeef26751370ec5f52'
- '0b53c508a63e5dbaf44cdfb0fa103b3a')
-
-package() {
- cd ${srcdir}/PyOpenGL-${pkgver}
- python2 setup.py install --root=${pkgdir}
- install -Dm644 ${srcdir}/LICENSE \
- ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
-}
diff --git a/abs/core/python_modules/python-packaging/PKGBUILD b/abs/core/python_modules/python-packaging/PKGBUILD
index c7e2b7a..34a48bc 100644
--- a/abs/core/python_modules/python-packaging/PKGBUILD
+++ b/abs/core/python_modules/python-packaging/PKGBUILD
@@ -2,15 +2,15 @@
# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgbase=python-packaging
-pkgname=(python2-packaging)
+pkgname=(python-packaging python2-packaging)
pkgver=16.8
-pkgrel=2
+pkgrel=3
pkgdesc="Core utilities for Python packages"
arch=('any')
url="https://github.com/pypa/packaging"
license=('Apache')
-makedepends=('python2-setuptools' 'python2-pyparsing' 'git')
-checkdepends=('python2-pytest-runner' 'python2-pretend' 'python2-coverage')
+makedepends=('python-setuptools' 'python2-setuptools' 'python-pyparsing' 'python2-pyparsing' 'git')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner' 'python-pretend' 'python2-pretend' 'python-coverage' 'python2-coverage')
source=("git+https://github.com/pypa/packaging.git#tag=$pkgver")
md5sums=('SKIP')
@@ -19,16 +19,16 @@ prepare() {
}
build() {
-# cd "$srcdir"/packaging
-# python setup.py build
+ cd "$srcdir"/packaging
+ python setup.py build
cd "$srcdir"/packaging-py2
python2 setup.py build
}
check() {
-# cd "$srcdir"/packaging
-# python setup.py ptr
+ cd "$srcdir"/packaging
+ python setup.py ptr
cd "$srcdir"/packaging-py2
python2 setup.py ptr
diff --git a/abs/core/python_modules/python-packaging/__changelog b/abs/core/python_modules/python-packaging/__changelog
deleted file mode 100644
index 4f818ef..0000000
--- a/abs/core/python_modules/python-packaging/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD: don't build py 3 stuff
-
diff --git a/abs/core/python_modules/python-parted/PKGBUILD b/abs/core/python_modules/python-parted/PKGBUILD
deleted file mode 100644
index 0e2aa3c..0000000
--- a/abs/core/python_modules/python-parted/PKGBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Maintainer: Nikos Skalkotos <skalkoto at gmail dot com>
-# Contributor: Achilleas Pipinellis <axilleas archlinux info>
-# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
-# Contributor: kfgz <kfgz at interia pl>
-# Contributor: Gökmen Görgen <gkmngrgn at gmail dot com>
-# Contributor: Baurzhan Muftakhidinov <baurthefirst (at) gmail (dot) com>
-
-_pkgname=pyparted
-pkgname=python-parted
-pkgver=3.10.1
-pkgrel=2
-pkgdesc="Python module for GNU parted"
-url="https://github.com/dcantrell/pyparted"
-arch=('i686' 'x86_64')
-license=('GPL2')
-depends=('python2' 'parted>=3.0')
-makedepends=('pkg-config')
-conflicts=('pyparted-git')
-replaces=('pyparted')
-source=("https://github.com/dcantrell/${_pkgname}/archive/${_pkgname}-${pkgver}.tar.gz")
-
-build() {
- cd "${srcdir}/${_pkgname}-${_pkgname}-${pkgver}"
- python2 setup.py build
-}
-
-package() {
- cd "${srcdir}/${_pkgname}-${_pkgname}-${pkgver}"
- python2 setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build
-}
-sha512sums=('d2842ba919808ccb757f6852e17c725b7db6e94db31548366fbdf2376960f8cf6ce239cb33282b4eca02f20a94f85bd58e8fc1d40834670c9684f5903c3515e5')
-
diff --git a/abs/core/python_modules/python-parted/__changelog b/abs/core/python_modules/python-parted/__changelog
deleted file mode 100644
index 3cf54c1..0000000
--- a/abs/core/python_modules/python-parted/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-From AUR python2-pyparted
diff --git a/abs/core/python_modules/python-path/PKGBUILD b/abs/core/python_modules/python-path/PKGBUILD
index 2b7dcbc..d387ee7 100644
--- a/abs/core/python_modules/python-path/PKGBUILD
+++ b/abs/core/python_modules/python-path/PKGBUILD
@@ -2,18 +2,18 @@
# Maintainer: Kyle Keen <keenerd@gmail.com>
pkgbase=python-path
-pkgname=(python2-path)
-pkgver=10.1
+pkgname=(python-path python2-path)
+pkgver=10.4
pkgrel=1
pkgdesc="Aka path.py, implements path objects as first-class entities"
arch=('any')
url="https://pypi.python.org/pypi/path.py"
license=('MIT')
-depends=('python2' 'python2-setuptools')
-makedepends=('python2-setuptools')
+depends=('python' 'python-setuptools')
+makedepends=('python-setuptools' 'python2-setuptools')
#source=("https://pypi.python.org/packages/source/p/path.py/path.py-$pkgver.tar.gz")
source=("https://files.pythonhosted.org/packages/source/p/path.py/path.py-$pkgver.tar.gz")
-md5sums=('f9d31317ceeb798f6b5eac8d3b8e5988')
+md5sums=('84ed5ec53c113554662194bb8cdfc04e')
# formerly a dependency of python-pickleshare
# now used by nothing so back to the AUR
diff --git a/abs/core/python_modules/python-path/__changelog b/abs/core/python_modules/python-path/__changelog
deleted file mode 100644
index 4f818ef..0000000
--- a/abs/core/python_modules/python-path/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD: don't build py 3 stuff
-
diff --git a/abs/core/python_modules/python-pbr/PKGBUILD b/abs/core/python_modules/python-pbr/PKGBUILD
new file mode 100644
index 0000000..1a0ab63
--- /dev/null
+++ b/abs/core/python_modules/python-pbr/PKGBUILD
@@ -0,0 +1,61 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Contributor: Limao Luo <luolimao+AUR@gmail.com>
+
+pkgbase=python-pbr
+pkgname=(python-pbr python2-pbr)
+pkgver=3.1.1
+pkgrel=1
+pkgdesc="Python Build Reasonableness"
+arch=('any')
+url='https://pypi.python.org/pypi/pbr'
+license=('Apache')
+makedepends=('python2-setuptools' 'python-setuptools' 'git')
+checkdepends=('python-testscenarios' 'python2-testscenarios' 'python-testrepository' 'python2-testrepository'
+ 'python-testresources' 'python2-testresources' 'python-mock' 'python2-mock' 'python-virtualenv'
+ 'python2-virtualenv' 'python-wheel' 'python2-wheel' 'python-sphinx' 'python2-sphinx')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/openstack-dev/pbr/archive/$pkgver.tar.gz")
+sha512sums=('c96079408f7ec0ac2e84f94e0cec5b1e6f2ca80460556cbef11568ad8a0f4bf760d5c3451fea408cd6e12acf136254d2769726310911d2e6871cea4bebdb4670')
+
+prepare() {
+ cp -a pbr-$pkgver{,-py2}
+
+ find pbr-$pkgver-py2 -name \*.py -exec sed -i '1s/python$/&2/' {} +
+
+ export PBR_VERSION=$pkgver
+}
+
+build() {
+ cd "$srcdir"/pbr-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/pbr-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+ cd "$srcdir"/pbr-$pkgver
+ python setup.py testr || warning "Tests failed"
+
+ cd "$srcdir"/pbr-$pkgver-py2
+ PYTHON=python2 python2 setup.py testr || warning "Tests failed"
+}
+
+package_python-pbr() {
+ depends=('python-setuptools')
+
+ cd pbr-$pkgver
+ python setup.py install -O1 --root="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python2-pbr() {
+ depends=('python2-setuptools')
+
+ cd pbr-$pkgver-py2
+ python2 setup.py install -O1 --root="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+
+ mv "$pkgdir"/usr/bin/pbr{,2}
+}
diff --git a/abs/core/python_modules/python-pexpect/PKGBUILD b/abs/core/python_modules/python-pexpect/PKGBUILD
index 4034457..e93207c 100644
--- a/abs/core/python_modules/python-pexpect/PKGBUILD
+++ b/abs/core/python_modules/python-pexpect/PKGBUILD
@@ -1,38 +1,39 @@
# $Id$
-# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Maintainer: Alexander F Rødseth <xyproto@archlinux.org>
# Contributor: Aaron Schaefer <aaron@elasticdog.com>
-pkgname=('python2-pexpect')
-pkgver=3.2
+pkgname=('python-pexpect' 'python2-pexpect')
+pkgver=4.4.0
pkgrel=1
-pkgdesc='Make Python a better tool for controlling and automating other programs'
+pkgdesc='For controlling and automating applications'
arch=('any')
-url='http://pexpect.readthedocs.org/en/latest/'
+url='https://pexpect.readthedocs.org/en/stable/'
license=('MIT')
-makedepends=('python2')
-conflicts=('python-pexpect<=2.4')
-replaces=('python-pexpect<=2.4')
-source=("http://pypi.python.org/packages/source/p/pexpect/pexpect-$pkgver.tar.gz")
-sha256sums=('dbc4c9a01c118e198d1b6ca76f31eb7292f212567f253e6b36a880e5168e961f')
+makedepends=('python' 'python2')
+source=("https://pypi.python.org/packages/fa/c3/60c0cbf96f242d0b47a82e9ca634dcd6dcb043832cf05e17540812e1c707/pexpect-$pkgver.tar.gz")
+sha256sums=('67b85a1565968e3d5b5e7c9283caddc90c3947a2625bed1905be27bd5a03e47d')
prepare() {
cp -r "pexpect-$pkgver" "python2-pexpect-$pkgver"
sed -i 's:env python:env python2:' "python2-pexpect-$pkgver/pexpect/FSM.py"
}
-#package_python-pexpect() {
-# depends+=('python')
-# cd "pexpect-$pkgver"
-# python setup.py install --root="$pkgdir"
-# install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-#}
+package_python-pexpect() {
+ depends+=('python' 'python-ptyprocess')
+
+ cd "pexpect-$pkgver"
+ python setup.py install --root="$pkgdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
package_python2-pexpect() {
- depends+=('python2')
+ depends+=('python2' 'python2-ptyprocess')
+
cd "python2-pexpect-$pkgver"
python2 setup.py install --root="$pkgdir"
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
-# vim:set ts=2 sw=2 et:
+# vim: ts=2 sw=2 et:
+# getver: pypi.python.org/pypi/pexpect
diff --git a/abs/core/python_modules/python-pexpect/__changelog b/abs/core/python_modules/python-pexpect/__changelog
deleted file mode 100644
index 488d3cf..0000000
--- a/abs/core/python_modules/python-pexpect/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: rm py 3 stuff
diff --git a/abs/core/python_modules/python-pillow/PKGBUILD b/abs/core/python_modules/python-pillow/PKGBUILD
index 461c4a7..ad443c6 100644
--- a/abs/core/python_modules/python-pillow/PKGBUILD
+++ b/abs/core/python_modules/python-pillow/PKGBUILD
@@ -3,72 +3,80 @@
# Contributor: minder
pkgbase=python-pillow
-pkgname=(python2-pillow)
-pkgver=2.6.1
+pkgname=(python-pillow python2-pillow)
+pkgver=5.0.0
pkgrel=1
_appname=Pillow
_py2basever=2.7
-_py3basever=3.4m
+_py3basever=3.6m
pkgdesc="Python Imaging Library (PIL) fork. Python3 version."
-arch=('i686' 'x86_64')
-url="http://python-pillow.github.io/"
+arch=('x86_64')
+url="https://python-pillow.github.io/"
license=('BSD')
-makedepends=('python2-setuptools' 'lcms' 'libwebp' 'tk')
-source=("http://pypi.python.org/packages/source/P/$_appname/$_appname-$pkgver.zip")
-md5sums=('f86e88a0f79f226dcdbf045b404cbdeb')
+depends=('lcms2' 'libtiff' 'openjpeg2')
+optdepends=('freetype2: for the ImageFont module'
+ 'libraqm: for complex text scripts'
+ 'libwebp: for webp images'
+ 'tk: for the ImageTK module')
+makedepends=('python-setuptools' 'python2-setuptools' 'freetype2' 'libraqm' 'libwebp' 'tk')
+checkdepends=('python-pytest' 'python2-pytest')
+source=("https://files.pythonhosted.org/packages/source/P/$_appname/$_appname-$pkgver.tar.gz"
+ "freetype-2.9-testfailure.patch::https://github.com/python-pillow/Pillow/commit/4afed260dc8a2b926a8dccfeed45b085d67425ca.patch")
+md5sums=('08094bc48aae6877c94f8db4b8ee8e52'
+ '04e168f81a434e76dab09456ad7930f9')
+
+# future optional things:
+# libimagequant
+
+prepare() {
+ cd "$srcdir/${_appname}-$pkgver"
+ patch -p1 < ../freetype-2.9-testfailure.patch
+}
build() {
- cd "$srcdir"
- cp -r "$srcdir/$_appname-$pkgver" "$srcdir/${_appname}2-$pkgver"
-}
+ cd "$srcdir/${_appname}-$pkgver"
+ python setup.py build
+ python2 setup.py build
+}
+
+check() {
+ cd "$srcdir/${_appname}-$pkgver"
-#package_python-pillow() {
-# depends=('python' 'lcms' 'libwebp')
-# optdepends=('tk: for the ImageTK module'
-# 'sane: for the Sane module'
-# 'python-pyqt4: for the ImageQt module')
-# cd "$srcdir/$_appname-$pkgver"
-# python3 setup.py install --root="$pkgdir/" --optimize=0
-# pushd Sane
-# python3 setup.py install --root="$pkgdir/" --optimize=0
-# popd
-# install -Dm644 docs/LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ export PYTHONPATH="$PWD/build/lib.linux-$CARCH-${_py3basever%m}"
+ python selftest.py
+ pytest
+ export PYTHONPATH="$PWD/build/lib.linux-$CARCH-$_py2basever"
+ python2 selftest.py
+ pytest2
+}
-# install -dm755 "$pkgdir/usr/include/python$_py3basever/"
-# install -m644 -t "$pkgdir/usr/include/python$_py3basever/" libImaging/*.h
+package_python-pillow() {
+ depends+=('python')
+ optdepends+=('python-olefile: OLE2 file support'
+ 'python-pyqt4: for the ImageQt module'
+ 'python-pyqt5: for the ImageQt module'
+ 'python-pyside: for the ImageQt module')
+ cd "$srcdir/$_appname-$pkgver"
+ python3 setup.py install --root="$pkgdir/" --optimize=1
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-# # clean up bins
-# cd "$pkgdir/usr/bin"
-# for f in *.py; do
-# mv "$f" "${f%.py}"
-# done
-#}
+ install -dm755 "$pkgdir/usr/include/python$_py3basever/"
+ install -m644 -t "$pkgdir/usr/include/python$_py3basever/" src/libImaging/*.h
+}
package_python2-pillow() {
pkgdesc="Python Imaging Library (PIL) fork. Python2 version."
- depends=('python2' 'lcms' 'libwebp')
- optdepends=('tk: for the ImageTK module'
- 'sane: for the Sane module'
- 'python2-pyqt4: for the ImageQt module')
+ depends+=('python2')
+ optdepends+=('python2-olefile: OLE2 file support'
+ 'python2-pyqt5: for the ImageQt module'
+ 'python2-pyqt4: for the ImageQt module'
+ 'python2-pyside: for the ImageQt module')
provides=('python-imaging' 'python2-imaging')
conflicts=('python-imaging' 'python2-imaging')
- replaces=('python2-imaging')
- cd "$srcdir/${_appname}2-$pkgver"
- sed -i 's|/usr/local/bin/python$|/usr/bin/env python2|' PIL/OleFileIO.py
- python2 setup.py install --root="$pkgdir/" --optimize=0
-# pushd Sane
- python2 setup.py install --root="$pkgdir/" --optimize=0
-# popd
-
- install -Dm644 docs/LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ cd "$srcdir/${_appname}-$pkgver"
+ python2 setup.py install --root="$pkgdir/" --optimize=1
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
install -dm755 "$pkgdir/usr/include/python$_py2basever/"
- install -m644 -t "$pkgdir/usr/include/python$_py2basever/" libImaging/*.h
-
- # clean up bins
- cd "$pkgdir/usr/bin"
- for f in *.py; do
- mv "$f" "${f%.py}2"
- done
+ install -m644 -t "$pkgdir/usr/include/python$_py2basever/" src/libImaging/*.h
}
-
diff --git a/abs/core/python_modules/python-pillow/__changelog b/abs/core/python_modules/python-pillow/__changelog
deleted file mode 100644
index 8e7b951..0000000
--- a/abs/core/python_modules/python-pillow/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD - comment out all python 3 stuff and only build for py 2
-PKGBUILD - rm sane dep
diff --git a/abs/core/python_modules/python-pip/PKGBUILD b/abs/core/python_modules/python-pip/PKGBUILD
index acef38b..3531f1e 100644
--- a/abs/core/python_modules/python-pip/PKGBUILD
+++ b/abs/core/python_modules/python-pip/PKGBUILD
@@ -2,14 +2,14 @@
# Maintainer: Dan McGee <dan@archlinux.org>
# Contributor: Sebastien Binet <binet@lblbox>
-pkgname=('python2-pip')
+pkgname=('python-pip' 'python2-pip')
pkgver=9.0.1
-pkgrel=2
+pkgrel=3
pkgdesc="The PyPA recommended tool for installing Python packages"
url="https://pip.pypa.io/"
arch=('any')
license=('MIT')
-makedepends=('python2' 'python2-setuptools')
+makedepends=('python' 'python-setuptools' 'python2' 'python2-setuptools')
source=(https://pypi.io/packages/source/p/pip/pip-${pkgver}.tar.gz)
md5sums=('35f01da33009719497f01a4ba69d63c9')
sha256sums=('09f243e1a7b461f654c26a725fa373211bb7ff17a9300058b205c61658ca940d')
@@ -23,6 +23,9 @@ package_python-pip() {
install -D -m644 LICENSE.txt \
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+
+ install -dm755 "$pkgdir"/usr/share/bash-completion/completions
+ PYTHONPATH="$pkgdir"/usr/lib/python3.6/site-packages "$pkgdir"/usr/bin/pip completion --bash > "$pkgdir"/usr/share/bash-completion/completions/pip
}
package_python2-pip() {
@@ -33,12 +36,16 @@ package_python2-pip() {
cd "$srcdir/pip-$pkgver"
python2 setup.py build
python2 setup.py install --prefix=/usr --root="$pkgdir"
-
+
mv "$pkgdir/usr/bin/pip" "$pkgdir/usr/bin/pip2"
sed -i "s|#!/usr/bin/env python$|#!/usr/bin/env python2|" \
${pkgdir}/usr/lib/python2.7/site-packages/pip/__init__.py
python2 -m compileall ${pkgdir}/usr/lib/python2.7/site-packages/pip/__init__.py
-
+
install -D -m644 LICENSE.txt \
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+
+ install -dm755 "$pkgdir"/usr/share/bash-completion/completions
+ PYTHONPATH="$pkgdir"/usr/lib/python2.7/site-packages "$pkgdir"/usr/bin/pip2 completion --bash > "$pkgdir"/usr/share/bash-completion/completions/pip2
+ sed -i 's/pip/pip2/g' "$pkgdir"/usr/share/bash-completion/completions/pip2
}
diff --git a/abs/core/python_modules/python-pip/__changelog b/abs/core/python_modules/python-pip/__changelog
deleted file mode 100644
index 4f818ef..0000000
--- a/abs/core/python_modules/python-pip/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD: don't build py 3 stuff
-
diff --git a/abs/core/python_modules/python-pluggy/PKGBUILD b/abs/core/python_modules/python-pluggy/PKGBUILD
new file mode 100644
index 0000000..8f304a4
--- /dev/null
+++ b/abs/core/python_modules/python-pluggy/PKGBUILD
@@ -0,0 +1,53 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgbase=python-pluggy
+pkgname=(python-pluggy python2-pluggy)
+pkgver=0.6.0
+pkgrel=2
+pkgdesc="Plugin and hook calling mechanisms for python"
+arch=('any')
+url="https://www.pluggypayments.com/docs/python"
+license=('MIT')
+makedepends=('python-setuptools' 'python2-setuptools')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/pytest-dev/pluggy/archive/$pkgver.tar.gz")
+sha512sums=('ed8fe81907c7dc476ebfbf0f7e0f902577323d64014765e7d7bfe22c2dc7e4977e1ce7ad55ce7f4e923ae23d206d6c3bcc6663de760c877fce82298cc21079db')
+
+prepare() {
+ cp -a pluggy-$pkgver{,-py2}
+}
+
+build() {
+ cd "$srcdir"/pluggy-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/pluggy-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+ cd "$srcdir"/pluggy-$pkgver
+ python setup.py pytest
+
+ cd "$srcdir"/pluggy-$pkgver-py2
+ python2 setup.py pytest
+}
+
+package_python-pluggy() {
+ depends=('python')
+
+ cd pluggy-$pkgver
+ python setup.py install -O1 --root "$pkgdir"
+
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python2-pluggy() {
+ depends=('python2')
+
+ cd pluggy-$pkgver-py2
+ python2 setup.py install -O1 --root "$pkgdir"
+
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/abs/core/python_modules/python-ply/LICENSE b/abs/core/python_modules/python-ply/LICENSE
new file mode 100644
index 0000000..9738628
--- /dev/null
+++ b/abs/core/python_modules/python-ply/LICENSE
@@ -0,0 +1,28 @@
+Copyright (C) 2001-2015,
+David M. Beazley (Dabeaz LLC)
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+* Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+* Neither the name of the David Beazley or Dabeaz LLC may be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/abs/core/python_modules/python-ply/PKGBUILD b/abs/core/python_modules/python-ply/PKGBUILD
index 3c8cace..3b0d7d7 100644
--- a/abs/core/python_modules/python-ply/PKGBUILD
+++ b/abs/core/python_modules/python-ply/PKGBUILD
@@ -1,45 +1,53 @@
# $Id$
-# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Alexander Rødseth <rodseth@gmail.com>
# Contributor: Marcin "avalan" Falkiewicz <avalatron@gmail.com>
# Contributor: C Anthony Risinger <anthony@xtfx.me>
pkgbase=python-ply
-pkgname=(python2-ply)
-pkgver=3.4
-pkgrel=4
+pkgname=(python-ply python2-ply)
+pkgver=3.11
+pkgrel=1
pkgdesc='Implementation of lex and yacc parsing tools'
arch=('any')
url='http://www.dabeaz.com/ply/'
license=('BSD')
-makedepends=('python2-setuptools')
-source=("${url}ply-$pkgver.tar.gz")
-sha256sums=('af435f11b7bdd69da5ffbc3fecb8d70a7073ec952e101764c88720cdefb2546b')
+makedepends=('python-setuptools' 'python2-setuptools')
+source=("${url}ply-$pkgver.tar.gz"
+ LICENSE)
+sha512sums=('37e39a4f930874933223be58a3da7f259e155b75135f1edd47069b3b40e5e96af883ebf1c8a1bbd32f914a9e92cfc12e29fec05cf61b518f46c1d37421b20008'
+ '5cea085a23ed260afc9084380c1d59e3942c2385089a8eb2391a89c85cde4df2ceb7eed21bb8c4d0cad5b78e59742da69e4c5c78fd0e223f5c99c56e9296a075')
prepare() {
- cp -r ${pkgbase#python-}-$pkgver{,-py2}
+ cp -a ply-$pkgver{,-py2}
}
-#package_python-ply() {
-# depends=('python')
+check() {
+ cd "ply-$pkgver/test"
+ python testlex.py
+ python testyacc.py
-# cd "${pkgbase#python-}-$pkgver"
+ cd "$srcdir/ply-$pkgver-py2/test"
+ python2 testlex.py
+ python2 testyacc.py
+}
+
+package_python-ply() {
+ depends=('python')
+
+ cd "ply-$pkgver"
+ python setup.py install --root="$pkgdir"
-# python setup.py install --root="$pkgdir"
-
-# install -d "$pkgdir/usr/share/licenses/$pkgname"
-# head -n30 README > "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-#}
+ install -Dm644 ../LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
package_python2-ply() {
depends=('python2')
- cd "${pkgbase#python-}-$pkgver-py2"
-
+ cd "ply-$pkgver-py2"
python2 setup.py install --root="$pkgdir"
-
- install -d "$pkgdir/usr/share/licenses/$pkgname"
- head -n30 README > "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+
+ install -Dm644 ../LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-ply/__changelog b/abs/core/python_modules/python-ply/__changelog
deleted file mode 100644
index 488d3cf..0000000
--- a/abs/core/python_modules/python-ply/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: rm py 3 stuff
diff --git a/abs/core/python_modules/python-ptyprocess/PKGBUILD b/abs/core/python_modules/python-ptyprocess/PKGBUILD
new file mode 100644
index 0000000..12092d4
--- /dev/null
+++ b/abs/core/python_modules/python-ptyprocess/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id$
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Will Shanks <wsha dot code at g mail dot com>
+
+pkgbase=python-ptyprocess
+pkgname=(python-ptyprocess python2-ptyprocess)
+_pkgname=ptyprocess
+pkgver=0.5.2
+pkgrel=1
+pkgdesc="Run a subprocess in a pseudo terminal"
+url="https://github.com/pexpect/ptyprocess"
+arch=('any')
+license=('ISC')
+depends=('python')
+makedepends=('python-setuptools' 'python2-setuptools')
+source=("https://pypi.io/packages/source/p/$_pkgname/$_pkgname-$pkgver.tar.gz"
+ 'https://raw.githubusercontent.com/pexpect/ptyprocess/master/LICENSE')
+md5sums=('d3b8febae1b8c53b054bd818d0bb8665'
+ 'cfdcd51fa7d5808da4e74346ee394490')
+
+prepare() {
+ cd "$srcdir"
+ cp -r $_pkgname-$pkgver ${_pkgname}2-$pkgver
+}
+
+package_python-ptyprocess() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ python3 setup.py install --root="$pkgdir/" --prefix=/usr --optimize=0
+ install -Dm644 "$srcdir/LICENSE" "$pkgdir/usr/share/licenses/python-$_pkgname/LICENSE"
+}
+
+package_python2-ptyprocess() {
+ depends=('python2')
+ cd "$srcdir/${_pkgname}2-$pkgver"
+ python2 setup.py install --root="$pkgdir/" --prefix=/usr --optimize=0
+ install -Dm644 "$srcdir/LICENSE" "$pkgdir/usr/share/licenses/python2-$_pkgname/LICENSE"
+}
+
diff --git a/abs/core/python_modules/python-py/PKGBUILD b/abs/core/python_modules/python-py/PKGBUILD
index d0fec8b..9a2b083 100644
--- a/abs/core/python_modules/python-py/PKGBUILD
+++ b/abs/core/python_modules/python-py/PKGBUILD
@@ -1,5 +1,5 @@
# $Id$
-# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Sebastian Wiesner <lunaryorn googlemail com>
# Contributor: Igor Ramos Tiburcio <irtigor@yahoo.com.br>
# Contributor: Wieland Hoffmann <themineo+aur@gmail.com>
@@ -7,51 +7,54 @@
# Contributor: Felix Kaiser <felix.kaiser@fxkr.net>
pkgbase=python-py
-pkgname=('python2-py')
-pkgver=1.4.20
-pkgrel=3
+pkgname=('python-py' 'python2-py')
+pkgver=1.5.3
+pkgrel=1
pkgdesc="library with cross-python path, ini-parsing, io, code, log facilities"
arch=('any')
license=('MIT')
-url="http://pylib.readthedocs.org/en/latest/"
-makedepends=('python2-setuptools')
-checkdepends=('python2-pytest')
-source=("http://pypi.python.org/packages/source/p/py/py-$pkgver.tar.gz")
+url="http://py.readthedocs.io/"
+makedepends=('python-setuptools' 'python2-setuptools')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/pytest-dev/py/archive/$pkgver.tar.gz")
+sha512sums=('60a9fc99a61f8a31a91b4217972dd957ea1d651c8818a91e84a957e907abd4f5feff7715ef64f2902d9f0444f8210a93938fc78787992dca484a2a1311523874')
prepare() {
- cp -r py-${pkgver}{,-py2}
+ cp -a py-$pkgver{,-py2}
+
+ export LC_CTYPE=en_US.UTF-8
}
build() {
-# cd "$srcdir/py-${pkgver}"
-# python setup.py build
+ cd "$srcdir"/py-$pkgver
+ python setup.py build
- cd "$srcdir/py-${pkgver}-py2"
+ cd "$srcdir"/py-$pkgver-py2
python2 setup.py build
}
check() {
-# cd "$srcdir/py-${pkgver}"
-# LANG=en_US.utf8 py.test
+ # Known failure: https://github.com/pytest-dev/py/issues/104
+
+ cd "$srcdir"/py-$pkgver
+ python setup.py pytest || warning "Tests failed"
- cd "$srcdir/py-${pkgver}-py2"
- LANG=en_US.utf8 py.test2
+ cd "$srcdir"/py-$pkgver-py2
+ python2 setup.py pytest || warning "Tests failed"
}
-#package_python-py() {
-# depends=('python')
+package_python-py() {
+ depends=('python')
-# cd py-${pkgver}
-# python setup.py install --root="${pkgdir}" --optimize=1
-# install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
-#}
+ cd py-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
package_python2-py() {
depends=('python2')
- cd py-${pkgver}-py2
- python2 setup.py install --root="${pkgdir}" --optimize=1
- install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ cd py-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
-
-sha512sums=('db392bd8d52ac2bf7b4785e18aaf58564596f66f15d355ee6f6e4169f6da7847331096ac7118c758ee5ce3f1865502a45f92ca2c99f411c12ee316760ca2b212')
diff --git a/abs/core/python_modules/python-py/__changelog b/abs/core/python_modules/python-py/__changelog
deleted file mode 100644
index 488d3cf..0000000
--- a/abs/core/python_modules/python-py/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: rm py 3 stuff
diff --git a/abs/core/python_modules/python-pyasn1-modules/PKGBUILD b/abs/core/python_modules/python-pyasn1-modules/PKGBUILD
new file mode 100644
index 0000000..282cca9
--- /dev/null
+++ b/abs/core/python_modules/python-pyasn1-modules/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgbase=python-pyasn1-modules
+pkgname=('python-pyasn1-modules' 'python2-pyasn1-modules')
+pkgver=0.2.1
+pkgrel=1
+pkgdesc="A collection of ASN.1-based protocols modules"
+arch=('any')
+license=('BSD')
+url="http://pypi.python.org/pypi/pyasn1-modules"
+makedepends=('python-pyasn1' 'python2-pyasn1' 'python-setuptools' 'python2-setuptools')
+source=("https://pypi.io/packages/source/p/pyasn1-modules/pyasn1-modules-$pkgver.tar.gz")
+sha512sums=('2d8b6bee59434fee41747625236c1d7eb5081a1cef66aa0a0e9e75869c3641a418d21544edafe65f1808ad0dacd9cf1047dd036ff5ce668bb3bf1f6e662e4a5e')
+
+prepare() {
+ cp -a pyasn1-modules-$pkgver{,-py2}
+}
+
+build() {
+ cd "$srcdir"/pyasn1-modules-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/pyasn1-modules-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+ cd "$srcdir"/pyasn1-modules-$pkgver
+ PYTHONPATH=. python tests/__main__.py
+
+ cd "$srcdir"/pyasn1-modules-$pkgver-py2
+ PYTHONPATH=. python2 tests/__main__.py
+}
+
+package_python-pyasn1-modules() {
+ depends=('python-pyopenssl' 'python-pyasn1')
+
+ cd pyasn1-modules-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ install -Dm644 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt
+}
+
+package_python2-pyasn1-modules() {
+ depends=('python2-pyopenssl' 'python2-pyasn1')
+
+ cd pyasn1-modules-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ install -Dm644 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt
+}
diff --git a/abs/core/python_modules/python-pyasn1/PKGBUILD b/abs/core/python_modules/python-pyasn1/PKGBUILD
index ae8b69c..dbfab2a 100644
--- a/abs/core/python_modules/python-pyasn1/PKGBUILD
+++ b/abs/core/python_modules/python-pyasn1/PKGBUILD
@@ -2,17 +2,17 @@
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgbase=python-pyasn1
-pkgname=('python2-pyasn1')
-pkgver=0.1.9
+pkgname=('python-pyasn1' 'python2-pyasn1')
+pkgver=0.4.2
pkgrel=1
arch=('any')
url="http://sourceforge.net/projects/pyasn1/"
license=('BSD')
-makedepends=('python2-setuptools')
+makedepends=('python-setuptools' 'python2-setuptools')
replaces=('pyasn1')
provides=('pyasn1')
-source=(http://downloads.sourceforge.net/sourceforge/pyasn1/pyasn1-${pkgver}.tar.gz)
-sha1sums=('d19599c5d9d039ead21ffcd1a2392c29a838ae03')
+source=(https://pypi.io/packages/source/p/pyasn1/pyasn1-$pkgver.tar.gz)
+sha512sums=('30e7cdfd2f7b182081f951bd94169a300a577f95fbfcb4ddb6dc288617b2776265018d246ae0adb649650ee94aab9122a428313d7a61559f97ed7f02b9670709')
check() {
cd pyasn1-${pkgver}
@@ -26,7 +26,7 @@ package_python-pyasn1() {
cd pyasn1-${pkgver}
python setup.py install --root="${pkgdir}"
- install -D -m 644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -D -m 644 LICENSE.rst "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
package_python2-pyasn1() {
@@ -35,5 +35,5 @@ package_python2-pyasn1() {
cd pyasn1-${pkgver}
python2 setup.py install --root="${pkgdir}"
- install -D -m 644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -D -m 644 LICENSE.rst "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/abs/core/python_modules/python-pyasn1/__changelog b/abs/core/python_modules/python-pyasn1/__changelog
deleted file mode 100644
index 60db758..0000000
--- a/abs/core/python_modules/python-pyasn1/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: remove py3 stuff
diff --git a/abs/core/python_modules/python-pybluez/PKGBUILD b/abs/core/python_modules/python-pybluez/PKGBUILD
index e48f941..99594e6 100644
--- a/abs/core/python_modules/python-pybluez/PKGBUILD
+++ b/abs/core/python_modules/python-pybluez/PKGBUILD
@@ -3,29 +3,29 @@
# Contributor: cs-cam - me.at.camdaniel.com
pkgbase=python-pybluez
-pkgname=(python2-pybluez)
-pkgver=0.20
+pkgname=(python-pybluez python2-pybluez)
+pkgver=0.22
pkgrel=2
pkgdesc="Python wrapper for the BlueZ Bluetooth stack"
-arch=('i686' 'x86_64')
-url="http://code.google.com/p/pybluez/"
+arch=('x86_64')
+url="http://karulis.github.io/pybluez/"
license=('GPL')
-makedepends=('python2' 'bluez-libs')
-source=(http://pybluez.googlecode.com/files/PyBluez-$pkgver.zip)
-md5sums=('1e7fad332d50f089bbce69070c877ef6')
+makedepends=('python-setuptools' 'python2-setuptools' 'bluez-libs')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/karulis/pybluez/archive/$pkgver.tar.gz")
+md5sums=('06f71ca6d4216ace671d5e588ec85887')
-#package_python-pybluez() {
-# depends=('python' 'bluez-libs')
+package_python-pybluez() {
+ depends=('python' 'bluez-libs')
-# cd $srcdir/PyBluez-$pkgver
-# python setup.py install --root=$pkgdir
-# ln -s bluetooth/_bluetooth.so $pkgdir/usr/lib/python3.3/site-packages/_bluetooth.so
-#}
+ cd "$srcdir"/pybluez-$pkgver
+ python setup.py install --root="$pkgdir"
+# ln -s bluetooth/_bluetooth.so "$pkgdir"/usr/lib/python3.3/site-packages/_bluetooth.so
+}
package_python2-pybluez() {
depends=('python2' 'bluez-libs')
- cd $srcdir/PyBluez-$pkgver
- python2 setup.py install --root=$pkgdir
-# ln -s bluetooth/_bluetooth.so $pkgdir/usr/lib/python2.7/site-packages/_bluetooth.so
+ cd "$srcdir"/pybluez-$pkgver
+ python2 setup.py install --root="$pkgdir"
+# ln -s bluetooth/_bluetooth.so "$pkgdir"/usr/lib/python2.7/site-packages/_bluetooth.so
}
diff --git a/abs/core/python_modules/python-pybluez/__changelog b/abs/core/python_modules/python-pybluez/__changelog
deleted file mode 100644
index 488d3cf..0000000
--- a/abs/core/python_modules/python-pybluez/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: rm py 3 stuff
diff --git a/abs/core/python_modules/python-pycparser/PKGBUILD b/abs/core/python_modules/python-pycparser/PKGBUILD
index 6b36524..621a643 100644
--- a/abs/core/python_modules/python-pycparser/PKGBUILD
+++ b/abs/core/python_modules/python-pycparser/PKGBUILD
@@ -1,53 +1,59 @@
# $Id$
-# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Justin Dray <justin@dray.be>
# Contributor: Alexander Rødseth <rodseth@gmail.com>
# Contributor: lang2 <wenzhi.liang@gmail.com>
pkgbase=python-pycparser
-pkgname=(python2-pycparser)
-pkgver=2.10
-pkgrel=4
+pkgname=(python-pycparser python2-pycparser)
+pkgver=2.18
+pkgrel=1
pkgdesc='C parser and AST generator written in Python'
url='https://github.com/eliben/pycparser'
-makedepends=('python2-ply' 'git')
+makedepends=('python-ply' 'python2-ply' 'python-setuptools' 'python2-setuptools')
arch=('any')
license=('BSD')
-source=('https://github.com/eliben/pycparser/archive/release_v2.10.zip')
-sha256sums=('1217244f882c330782f4762a1fb37cef21a929ce0123ac388e7e367c35ddbae3')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/eliben/pycparser/archive/release_v$pkgver.tar.gz")
+sha512sums=('76426b000ed601a8e90a1eda34374b62acdf51dcf2048881ca0d4ebc3310e25728905c2f6843dd363d497b7cf0fd8311dab6c0de74f4a5c2f25d3b1d488f082a')
prepare() {
- cp -r pycparser-release_v${pkgver}{,-py2}
+ cp -a pycparser-release_v$pkgver{,-py2}
}
build() {
-# cd pycparser-release_v${pkgver}
-# python setup.py build
-
-# cd pycparser
-# python _build_tables.py
+ cd "$srcdir"/pycparser-release_v$pkgver
+ python setup.py build
+ cd pycparser
+ python _build_tables.py
- cd "$srcdir/pycparser-release_v${pkgver}-py2"
+ cd "$srcdir"/pycparser-release_v$pkgver-py2
python2 setup.py build
-
cd pycparser
python2 _build_tables.py
}
-#package_python-pycparser() {
-# depends=('python-ply')
+check() {
+ cd "$srcdir"/pycparser-release_v$pkgver
+ python tests/all_tests.py
-# cd pycparser-release_v${pkgver}
+ cd "$srcdir"/pycparser-release_v$pkgver-py2
+ python2 tests/all_tests.py
+}
-# python setup.py install --root="$pkgdir" --optimize=1
-# install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-#}
+package_python-pycparser() {
+ depends=('python-ply')
+
+ cd pycparser-release_v$pkgver
+
+ python setup.py install --root="$pkgdir" --optimize=1
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
package_python2-pycparser() {
depends=('python2-ply')
- cd pycparser-release_v${pkgver}-py2
+ cd pycparser-release_v$pkgver-py2
python2 setup.py install --root="$pkgdir" --optimize=1
- install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
diff --git a/abs/core/python_modules/python-pycparser/__changelog b/abs/core/python_modules/python-pycparser/__changelog
deleted file mode 100644
index 488d3cf..0000000
--- a/abs/core/python_modules/python-pycparser/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: rm py 3 stuff
diff --git a/abs/core/python_modules/python-pycurl/PKGBUILD b/abs/core/python_modules/python-pycurl/PKGBUILD
index 10f640e..a7ef90a 100644
--- a/abs/core/python_modules/python-pycurl/PKGBUILD
+++ b/abs/core/python_modules/python-pycurl/PKGBUILD
@@ -1,31 +1,31 @@
# $Id$
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
-_pypiname=pycurl
-pkgbase=python-$_pypiname
-pkgname=('python2-pycurl')
-pkgver=7.43.0
+pkgbase=python-pycurl
+pkgname=('python-pycurl' 'python2-pycurl')
+pkgver=7.43.0.1
pkgrel=1
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://pycurl.sourceforge.net/"
license=('LGPL' 'MIT')
-makedepends=('python2' 'curl' 'git')
-checkdepends=('python2-bottle' 'python2-nose-show-skipped'
- 'vsftpd' 'python2-flaky' 'python2-pyflakes')
-source=("git+https://github.com/pycurl/pycurl.git#tag=REL_${pkgver//./_}")
-sha1sums=('SKIP')
+makedepends=('python' 'python2' 'curl')
+checkdepends=('python-bottle' 'python2-bottle' 'python-nose-show-skipped' 'python2-nose-show-skipped'
+ 'vsftpd' 'python-flaky' 'python2-flaky' 'python-pyflakes' 'python2-pyflakes')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/pycurl/pycurl/archive/REL_${pkgver//./_}.tar.gz")
+sha512sums=('304212ec704dda0f630abb67c14478098f8609c64a2ccc041e519af2237d803885a27d18aac1dd77ec7526cdc7bc1fab046f3be6c94b10a2e1ae43500d2c2ffe')
prepare() {
- cp -a $_pypiname{,-py2}
+ mv pycurl-REL_${pkgver//./_} pycurl-$pkgver
+ cp -a pycurl-$pkgver{,-py2}
- cd "$srcdir/$_pypiname"
+ cd "$srcdir"/pycurl-$pkgver
find . -name '*.py' -exec sed -i -e "s|#! /usr/bin/env python|#!/usr/bin/env python3|" {} +
sed -i 's/"share", "doc", PACKAGE/"share", "doc", "python-pycurl"/' setup.py
sed -e "s/nosetests/nosetests3/" -e "s/python/python3/" -i tests/run.sh
- cd "$srcdir/$_pypiname-py2"
+ cd "$srcdir"/pycurl-$pkgver-py2
find . -name '*.py' -exec sed -i -e "s|#! /usr/bin/env python|#!/usr/bin/env python2|" {} +
sed -i 's/"share", "doc", PACKAGE/"share", "doc", "python2-pycurl"/' setup.py
sed -e "s/nosetests/nosetests2/" -e "s/python/python2/" -i tests/run.sh
@@ -33,11 +33,11 @@ prepare() {
}
build() {
-# cd "$srcdir/$_pypiname"
-# make
-# python3 setup.py build --with-ssl
+ cd "$srcdir"/pycurl-$pkgver
+ make
+ python3 setup.py build --with-ssl
- cd "$srcdir/$_pypiname-py2"
+ cd "$srcdir"/pycurl-$pkgver-py2
make
python2 setup.py build --with-ssl
}
@@ -46,10 +46,10 @@ check() {
export PYCURL_VSFTPD_PATH=vsftpd
# We don't have HTTP2 enabled
- cd "$srcdir/$_pypiname"
- PYTHONPATH="$PWD/build/lib.linux-$CARCH-3.5:$PYTHONPATH" make test || warning "Tests failed"
+ cd "$srcdir"/pycurl-$pkgver
+ PYTHONPATH="$PWD/build/lib.linux-$CARCH-3.6:$PYTHONPATH" make test || warning "Tests failed"
- cd "$srcdir/$_pypiname-py2"
+ cd "$srcdir"/pycurl-$pkgver-py2
PYTHONPATH="$PWD/build/lib.linux-$CARCH-2.7:$PYTHONPATH" make PYTHON=python2 NOSETESTS=nosetests2 test || warning "Tests failed"
}
@@ -57,19 +57,16 @@ package_python-pycurl() {
pkgdesc="A Python 3.x interface to libcurl"
depends=('python' 'curl')
- cd $_pypiname
- python setup.py install -O1 --root="${pkgdir}"
- install -D -m644 COPYING-MIT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ cd pycurl-$pkgver
+ python setup.py install -O1 --root="$pkgdir"
+ install -D -m644 COPYING-MIT "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
package_python2-pycurl() {
pkgdesc="A Python 2.x interface to libcurl"
depends=('python2' 'curl')
- provides=('python-pycurl')
- replaces=('python-pycurl')
- conflicts=('python-pycurl')
- cd $_pypiname-py2
- python2 setup.py install -O1 --root="${pkgdir}"
- install -D -m644 COPYING-MIT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ cd pycurl-$pkgver-py2
+ python2 setup.py install -O1 --root="$pkgdir"
+ install -D -m644 COPYING-MIT "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
diff --git a/abs/core/python_modules/python-pycurl/__changelog b/abs/core/python_modules/python-pycurl/__changelog
deleted file mode 100644
index a7b93d7..0000000
--- a/abs/core/python_modules/python-pycurl/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD: rm py 3 stuff
-
diff --git a/abs/core/python_modules/python-pygments/PKGBUILD b/abs/core/python_modules/python-pygments/PKGBUILD
index fa1e572..37fe169 100644
--- a/abs/core/python_modules/python-pygments/PKGBUILD
+++ b/abs/core/python_modules/python-pygments/PKGBUILD
@@ -2,51 +2,58 @@
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Timm Preetz <timm@preetz.us>
-pkgname=('python2-pygments')
-pkgver=1.6
-pkgrel=3
+pkgname=('python-pygments' 'python2-pygments' 'pygmentize')
+pkgver=2.2.0
+pkgrel=1
pkgdesc="Python syntax highlighter"
arch=('any')
url="http://pygments.org/"
license=('BSD')
-makedepends=('python2-setuptools')
+makedepends=('python-setuptools' 'python2-setuptools')
options=('!emptydirs')
-source=(http://pypi.python.org/packages/source/P/Pygments/Pygments-$pkgver.tar.gz)
-sha256sums=('799ed4caf77516e54440806d8d9cd82a7607dfdf4e4fb643815171a4b5c921c0')
-
-build() {
- cd "$srcdir"
-
- rm -rf python{2,3}-build
- for builddir in python2-build; do
- cp -r Pygments-$pkgver $builddir
- pushd $builddir
- ${builddir%-build} setup.py build
- popd
- done
-}
+source=(https://pypi.org/packages/source/P/Pygments/Pygments-$pkgver.tar.gz)
+sha256sums=('dbae1046def0efb574852fab9e90209b23f556367b5a320c0bcb871c77c3e8cc')
-#package_python-pygments() {
-# depends=('python-setuptools')
-# install=python-pygments.install
+package_python-pygments() {
+ depends=('python-setuptools')
-# cd "$srcdir/python3-build"
+ cd "$srcdir/Pygments-$pkgver"
-# python3 setup.py install --root="$pkgdir" -O1
+ python3 setup.py install --root="$pkgdir" -O1
- # pygmentize has been moved to the python2-pygments package
-# rm "$pkgdir/usr/bin/pygmentize"
+ # pygmentize is shipped in its own package
+ rm "$pkgdir/usr/bin/pygmentize"
-# install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-#}
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
package_python2-pygments() {
depends=('python2-setuptools')
+ install=python2-pygments.install
- cd "$srcdir/python2-build"
+ cd "$srcdir/Pygments-$pkgver"
python2 setup.py install --root="$pkgdir" -O1
+ # pygmentize is shipped in its own package
+ rm "$pkgdir/usr/bin/pygmentize"
+
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_pygmentize() {
+ depends=('python-pygments')
+
+ cd "$srcdir/Pygments-$pkgver"
+
+ python3 setup.py install --root="$pkgdir" -O1
+
+ # Remove all files except for usr/bin/pygmentize
+ find "$pkgdir" -type f -not -name pygmentize -delete
+
+ # Drop version dependency from console script
+ sed -i "s/Pygments==$pkgver/Pygments/g" "$pkgdir/usr/bin/pygmentize"
+
install -Dm644 external/pygments.bashcomp \
"$pkgdir/usr/share/bash-completion/completions/pygmentize"
diff --git a/abs/core/python_modules/python-pygments/__changelog b/abs/core/python_modules/python-pygments/__changelog
deleted file mode 100644
index 488d3cf..0000000
--- a/abs/core/python_modules/python-pygments/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: rm py 3 stuff
diff --git a/abs/core/python_modules/python-pygments/python-pygments.install b/abs/core/python_modules/python-pygments/python-pygments.install
deleted file mode 100644
index eab5811..0000000
--- a/abs/core/python_modules/python-pygments/python-pygments.install
+++ /dev/null
@@ -1,7 +0,0 @@
-post_upgrade() {
- if (($(vercmp $2 1.4-5) < 0)); then
- echo '/usr/bin/pygmentize has been moved to the python2-pygments package'
- fi
-}
-
-# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-pygments/python2-pygments.install b/abs/core/python_modules/python-pygments/python2-pygments.install
new file mode 100644
index 0000000..3949246
--- /dev/null
+++ b/abs/core/python_modules/python-pygments/python2-pygments.install
@@ -0,0 +1,7 @@
+post_upgrade() {
+ if (($(vercmp $2 2.0.2-2) < 0)); then
+ echo ':: /usr/bin/pygmentize has been moved to the pygmentize package'
+ fi
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-pyparsing/PKGBUILD b/abs/core/python_modules/python-pyparsing/PKGBUILD
index 510d8bf..97da919 100644
--- a/abs/core/python_modules/python-pyparsing/PKGBUILD
+++ b/abs/core/python_modules/python-pyparsing/PKGBUILD
@@ -7,13 +7,13 @@
# Contributor: Michael Krauss <hippodriver@gmx.net>
pkgname=python-pyparsing
-pkgname=('python2-pyparsing')
+pkgname=('python-pyparsing' 'python2-pyparsing')
pkgver=2.2.0
-pkgrel=1
+pkgrel=2
pkgdesc='General parsing module for Python'
arch=('any')
url='http://pyparsing.wikispaces.com/'
-makedepends=('python2-setuptools' 'subversion')
+makedepends=('python-setuptools' 'python2-setuptools' 'subversion')
license=('MIT')
source=("svn://svn.code.sf.net/p/pyparsing/code/tags/pyparsing_$pkgver")
sha256sums=('SKIP')
@@ -26,8 +26,8 @@ prepare() {
}
build() {
-# cd "$srcdir"/pyparsing_$pkgver/src
-# python setup.py build
+ cd "$srcdir"/pyparsing_$pkgver/src
+ python setup.py build
cd "$srcdir"/pyparsing_$pkgver-py2/src
python2 setup.py build
@@ -36,8 +36,8 @@ build() {
check() {
export LC_CTYPE=en_US.UTF-8
-# cd "$srcdir"/pyparsing_$pkgver/src
-# python unitTests.py
+ cd "$srcdir"/pyparsing_$pkgver/src
+ python unitTests.py
cd "$srcdir"/pyparsing_$pkgver-py2/src
python2 unitTests.py
diff --git a/abs/core/python_modules/python-pyparsing/__changelog b/abs/core/python_modules/python-pyparsing/__changelog
deleted file mode 100644
index 4f818ef..0000000
--- a/abs/core/python_modules/python-pyparsing/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD: don't build py 3 stuff
-
diff --git a/abs/core/python_modules/python-pyparted/PKGBUILD b/abs/core/python_modules/python-pyparted/PKGBUILD
new file mode 100644
index 0000000..e5a46cb
--- /dev/null
+++ b/abs/core/python_modules/python-pyparted/PKGBUILD
@@ -0,0 +1,44 @@
+# Maintainer: Nikos Skalkotos <skalkoto at gmail dot com>
+# Contributor: Christian Hesse <mail@eworm.de>
+# Contributor: Dennis Værum <dennis.vaerum (at) gmail (dot) com>
+# Contributor: Achilleas Pipinellis <axilleas archlinux info>
+# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
+# Contributor: kfgz <kfgz at interia pl>
+# Contributor: Gökmen Görgen <gkmngrgn at gmail dot com>
+# Contributor: Baurzhan Muftakhidinov <baurthefirst (at) gmail (dot) com>
+
+_pkgname=pyparted
+pkgbase=python-${_pkgname}
+pkgname=(python-${_pkgname} python2-${_pkgname})
+pkgver=3.11.1
+pkgrel=2
+pkgdesc="Python module for GNU parted"
+url="https://github.com/rhinstaller/pyparted"
+arch=('i686' 'x86_64')
+license=('GPL2')
+makedepends=('pkg-config' 'python' 'python2' 'parted>=3.0')
+conflicts=('pyparted-git')
+replaces=('pyparted')
+source=("https://github.com/dcantrell/${_pkgname}/archive/v${pkgver}.tar.gz")
+sha512sums=('4fe627693db803a82cacb37be8f2bee3527ee8d0d564229d7328a4e5c8dfa7cdd7a06c328ac7fa6b07c8f0c74d5db304410eaf312a60a0d494525d32c873fefd')
+
+package_python-pyparted() {
+ pkgdesc="Python module for GNU parted - python 3.x pkg"
+ depends=('python' 'parted>=3.0')
+
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ python3 setup.py build
+ python3 setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build
+}
+
+package_python2-pyparted() {
+ pkgdesc="Python module for GNU parted - python 2.x pkg"
+ depends=('python2' 'parted>=3.0')
+ replaces=('python-parted')
+ conflicts=('python-parted')
+
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ python2 setup.py build
+ python2 setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build
+}
+
diff --git a/abs/core/python_modules/python-pyrss2gen/PKGBUILD b/abs/core/python_modules/python-pyrss2gen/PKGBUILD
index 69258ca..e11d4ee 100644
--- a/abs/core/python_modules/python-pyrss2gen/PKGBUILD
+++ b/abs/core/python_modules/python-pyrss2gen/PKGBUILD
@@ -1,14 +1,14 @@
# Maintainer: Chris Warrick <aur@chriswarrick.com>
pkgbase=python-pyrss2gen
-pkgname=('python2-pyrss2gen')
+pkgname=('python-pyrss2gen' 'python2-pyrss2gen')
_pyname=PyRSS2Gen
pkgver=1.1
-pkgrel=6
+pkgrel=7
pkgdesc='A Python library for generating RSS 2.0 feeds.'
arch=('any')
url="http://www.dalkescientific.com/Python/PyRSS2Gen.html"
license=('BSD')
-makedepends=('python2' 'python2-setuptools')
+makedepends=('python' 'python2' 'python-setuptools' 'python2-setuptools')
options=(!emptydirs)
source=("http://www.dalkescientific.com/Python/${_pyname}-${pkgver}.tar.gz")
md5sums=("c56b9453d52b0a70be4f3e95112058aa")
diff --git a/abs/core/python_modules/python-pyrss2gen/__changelog b/abs/core/python_modules/python-pyrss2gen/__changelog
deleted file mode 100644
index 4f818ef..0000000
--- a/abs/core/python_modules/python-pyrss2gen/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD: don't build py 3 stuff
-
diff --git a/abs/core/python_modules/python-pysocks/PKGBUILD b/abs/core/python_modules/python-pysocks/PKGBUILD
index e9e91f2..966eae2 100644
--- a/abs/core/python_modules/python-pysocks/PKGBUILD
+++ b/abs/core/python_modules/python-pysocks/PKGBUILD
@@ -3,25 +3,25 @@
# Contributor: Michael Schubert <mschu.dev at gmail>
pkgbase=python-pysocks
-pkgname=(python2-pysocks)
-pkgver=1.6.7
+pkgname=(python-pysocks python2-pysocks)
+pkgver=1.6.8
pkgrel=1
pkgdesc="SOCKS4, SOCKS5 or HTTP proxy (Anorov fork PySocks replaces socksipy)"
arch=('any')
license=('BSD')
url="https://github.com/Anorov/PySocks"
-makedepends=('python2-setuptools')
+makedepends=('python-setuptools' 'python2-setuptools')
checkdepends=('lib32-glibc' 'python2-twisted' 'python2-tornado')
source=("$pkgbase-$pkgver.tar.gz::https://github.com/Anorov/PySocks/archive/$pkgver.tar.gz")
-sha512sums=('6b670b2246c2c3c8d0b5424f6fb65cbab1d030d58b15f99db9eb232ead5e853c52af637f3d429e3fe88c70792f3b4913219b6694fa0e81318cdd40c41c1b17d6')
+sha512sums=('d6d28a77e1162dee2574c5ca69a01b94ebb3c0c5e9f875569ace2689ea31a4eebed1463472731635b242698a3a3215cadd79744c068610995d81f95ef94dd228')
prepare() {
cp -a PySocks-$pkgver{,-py2}
}
build() {
-# cd "$srcdir"/PySocks-$pkgver
-# python setup.py build
+ cd "$srcdir"/PySocks-$pkgver
+ python setup.py build
cd "$srcdir"/PySocks-$pkgver-py2
python2 setup.py build
@@ -41,8 +41,8 @@ check_disabled() {
python2 sockstest.py
-# cd "$srcdir"/PySocks-$pkgver/test
-# python sockstest.py
+ cd "$srcdir"/PySocks-$pkgver/test
+ python sockstest.py
./mocks shutdown
diff --git a/abs/core/python_modules/python-pysocks/__changelog b/abs/core/python_modules/python-pysocks/__changelog
deleted file mode 100644
index 4f818ef..0000000
--- a/abs/core/python_modules/python-pysocks/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD: don't build py 3 stuff
-
diff --git a/abs/core/python_modules/python-pytest-forked/PKGBUILD b/abs/core/python_modules/python-pytest-forked/PKGBUILD
new file mode 100644
index 0000000..02d7776
--- /dev/null
+++ b/abs/core/python_modules/python-pytest-forked/PKGBUILD
@@ -0,0 +1,58 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgbase=python-pytest-forked
+pkgname=('python-pytest-forked' 'python2-pytest-forked')
+pkgver=0.2
+pkgrel=1
+pkgdesc='run tests in isolated forked subprocesses'
+arch=('any')
+license=('MIT')
+url='https://github.com/pytest-dev/pytest-forked'
+makedepends=('python-pytest' 'python2-pytest' 'python-setuptools-scm' 'python2-setuptools-scm')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/pytest-dev/pytest-forked/archive/v$pkgver.tar.gz")
+md5sums=('3c26f166ff2532c103a6572405db68b1')
+
+prepare() {
+ cp -a pytest-forked-$pkgver{,-py2}
+
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+}
+
+build() {
+ cd "$srcdir"/pytest-forked-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/pytest-forked-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+ # Hack entry points by installing it
+
+ cd "$srcdir"/pytest-forked-$pkgver
+ python setup.py install --root="$PWD/tmp_install" --optimize=1
+ PYTHONPATH="$PWD/tmp_install/usr/lib/python3.6/site-packages:$PYTHONPATH" py.test
+
+ cd "$srcdir"/pytest-forked-$pkgver-py2
+ python2 setup.py install --root="$PWD/tmp_install" --optimize=1
+ PYTHONPATH="$PWD/tmp_install/usr/lib/python2.7/site-packages:$PYTHONPATH" py.test2
+}
+
+package_python-pytest-forked() {
+ depends=('python-pytest')
+
+ cd pytest-forked-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python2-pytest-forked() {
+ depends=('python2-pytest')
+
+ cd pytest-forked-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-pytest-runner/PKGBUILD b/abs/core/python_modules/python-pytest-runner/PKGBUILD
index 5d106ce..8928aa0 100644
--- a/abs/core/python_modules/python-pytest-runner/PKGBUILD
+++ b/abs/core/python_modules/python-pytest-runner/PKGBUILD
@@ -2,14 +2,14 @@
# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgbase=python-pytest-runner
-pkgname=('python2-pytest-runner')
+pkgname=('python-pytest-runner' 'python2-pytest-runner')
pkgver=2.11.1
-pkgrel=1
+pkgrel=2
pkgdesc="Invoke py.test as distutils command with dependency resolution"
arch=('any')
license=('MIT')
url="https://github.com/pytest-dev/pytest-runner"
-makedepends=('python2-pytest' 'python2-setuptools-scm' 'git')
+makedepends=('python-pytest' 'python-setuptools-scm' 'python2-pytest' 'python2-setuptools-scm' 'git')
source=("git+https://github.com/pytest-dev/pytest-runner.git#tag=$pkgver")
sha512sums=('SKIP')
@@ -18,17 +18,17 @@ prepare() {
}
build() {
-# cd "$srcdir"/pytest-runner
-# python setup.py build
+ cd "$srcdir"/pytest-runner
+ python setup.py build
cd "$srcdir"/pytest-runner-py2
python2 setup.py build
}
check() {
-# cd "$srcdir"/pytest-runner
-# python setup.py egg_info
-# PYTHONPATH="$PWD" pytest
+ cd "$srcdir"/pytest-runner
+ python setup.py egg_info
+ PYTHONPATH="$PWD" pytest
cd "$srcdir"/pytest-runner-py2
python2 setup.py egg_info
diff --git a/abs/core/python_modules/python-pytest-runner/__changelog b/abs/core/python_modules/python-pytest-runner/__changelog
deleted file mode 100644
index 4f818ef..0000000
--- a/abs/core/python_modules/python-pytest-runner/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD: don't build py 3 stuff
-
diff --git a/abs/core/python_modules/python-pytest-xdist/PKGBUILD b/abs/core/python_modules/python-pytest-xdist/PKGBUILD
new file mode 100644
index 0000000..5fd48ca
--- /dev/null
+++ b/abs/core/python_modules/python-pytest-xdist/PKGBUILD
@@ -0,0 +1,58 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgbase=python-pytest-xdist
+pkgname=('python-pytest-xdist' 'python2-pytest-xdist')
+pkgver=1.22.2
+pkgrel=1
+pkgdesc='py.test xdist plugin for distributed testing and loop-on-failing modes'
+arch=('any')
+license=('MIT')
+url='https://bitbucket.org/pytest-dev/pytest-xdist'
+makedepends=('python-pytest' 'python2-pytest' 'python-setuptools_scm' 'python2-setuptools_scm'
+ 'python-execnet' 'python2-execnet' 'python-pytest-forked' 'python2-pytest-forked')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/pytest-dev/pytest-xdist/archive/v$pkgver.tar.gz")
+sha512sums=('22de52876bdbcfdeb5ee14d4159ed8535d3f3afa1c2d67116f4d249cced24627163b34f3e1629b2198eb6f5672e4a7db7c864f6e45a37759be01ab2753a20dce')
+
+prepare() {
+ cp -a pytest-xdist-$pkgver{,-py2}
+
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+}
+
+build() {
+ cd "$srcdir"/pytest-xdist-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/pytest-xdist-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+ # Hack entry points by installing it
+
+ cd "$srcdir"/pytest-xdist-$pkgver
+ python setup.py install --root="$PWD/tmp_install" --optimize=1
+ PYTHONPATH="$PWD/tmp_install/usr/lib/python3.6/site-packages:$PYTHONPATH" py.test
+
+ cd "$srcdir"/pytest-xdist-$pkgver-py2
+ python2 setup.py install --root="$PWD/tmp_install" --optimize=1
+ PYTHONPATH="$PWD/tmp_install/usr/lib/python2.7/site-packages:$PYTHONPATH" py.test2
+}
+
+package_python-pytest-xdist() {
+ depends=('python-pytest-forked' 'python-execnet')
+
+ cd pytest-xdist-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python2-pytest-xdist() {
+ depends=('python2-pytest-forked' 'python2-execnet')
+
+ cd pytest-xdist-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-pytest/PKGBUILD b/abs/core/python_modules/python-pytest/PKGBUILD
index d8db835..0a9faed 100644
--- a/abs/core/python_modules/python-pytest/PKGBUILD
+++ b/abs/core/python_modules/python-pytest/PKGBUILD
@@ -1,56 +1,63 @@
# $Id$
-# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Felix Kaiser <felix.kaiser@fxkr.net>
pkgbase=python-pytest
-pkgname=('python2-pytest')
-pkgver=2.5.2
-pkgrel=3
+pkgname=('python-pytest' 'python2-pytest')
+pkgver=3.5.0
+pkgrel=1
pkgdesc="Simple powerful testing with Python"
arch=('any')
license=('MIT')
url="http://pytest.org/"
-makedepends=('python2-setuptools' 'python2-py')
-checkdepends=('lsof' 'python2-nose' 'twisted' 'python2-mock' 'python2-yaml' 'python2-pexpect')
-source=("http://pypi.python.org/packages/source/p/pytest/pytest-$pkgver.tar.gz")
+makedepends=('python-setuptools' 'python2-setuptools' 'python-py' 'python2-py' 'python-pluggy'
+ 'python2-pluggy' 'python-attrs' 'python2-attrs' 'python-more-itertools'
+ 'python2-more-itertools' 'python2-funcsigs')
+checkdepends=('lsof' 'python-nose' 'python2-nose' 'python-mock' 'python2-mock' 'python-tox'
+ 'python2-tox' 'python-yaml' 'python2-yaml' 'python-pytest-xdist'
+ 'python2-pytest-xdist' 'python-twisted' 'python2-twisted' 'python-requests'
+ 'python2-requests' 'python-hypothesis' 'python2-hypothesis')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/pytest-dev/pytest/archive/$pkgver.tar.gz")
+sha512sums=('3e67f411b45f0cce6921d65926b3c6b7bcf6169a8e96eb8f74465d795a49d690c7027db3cb3147868ce238d5b416a6e87de27728598e4a526bf6bbb7a5506913')
prepare() {
- cp -r pytest-${pkgver}{,-py2}
+ cp -a pytest-$pkgver{,-py2}
+
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
}
build() {
-# cd "$srcdir/pytest-${pkgver}"
-# python setup.py build
+ cd "$srcdir"/pytest-$pkgver
+ python setup.py build
- cd "$srcdir/pytest-${pkgver}-py2"
+ cd "$srcdir"/pytest-$pkgver-py2
python2 setup.py build
}
check() {
-# cd "$srcdir/pytest-${pkgver}"
-# python setup.py test
+ cd "$srcdir"/pytest-$pkgver
+ python setup.py test
- cd "$srcdir/pytest-${pkgver}-py2"
- # Tests fail with 2.5.2: https://bitbucket.org/hpk42/pytest/issue/493/example-failure-in-pytests-own-testcase
+ cd "$srcdir"/pytest-$pkgver-py2
python2 setup.py test
}
-#package_python-pytest() {
-# depends=('python' 'python-py' 'python-setuptools')
+package_python-pytest() {
+ depends=('python-py' 'python-setuptools' 'python-pluggy' 'python-attrs' 'python-more-itertools')
-# cd pytest-${pkgver}
-# python setup.py install --root="${pkgdir}" --optimize=1
-# install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
-#}
+ cd pytest-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
package_python2-pytest() {
- depends=('python2' 'python2-py' 'python2-setuptools')
+ depends=('python2-py' 'python2-setuptools' 'python2-pluggy' 'python2-attrs'
+ 'python2-more-itertools' 'python2-funcsigs')
- cd pytest-${pkgver}-py2
- python2 setup.py install --root="${pkgdir}" --optimize=1
- install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ cd pytest-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
- mv "${pkgdir}/usr/bin/py.test" "${pkgdir}/usr/bin/py.test2"
+ mv "$pkgdir"/usr/bin/py.test{,2}
+ mv "$pkgdir"/usr/bin/pytest{,2}
}
-
-sha512sums=('d291f229f4c0a2132c437dde6ca04bf87701fe270c2fa314104badad9221ab866251890c66387d23fefd3ab1f928ee3b290dac21e3d62e7660af8903e85a2f36')
diff --git a/abs/core/python_modules/python-pytest/__changelog b/abs/core/python_modules/python-pytest/__changelog
deleted file mode 100644
index 488d3cf..0000000
--- a/abs/core/python_modules/python-pytest/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: rm py 3 stuff
diff --git a/abs/core/python_modules/python-pytz/PKGBUILD b/abs/core/python_modules/python-pytz/PKGBUILD
index 3e77d2a..fca20e0 100644
--- a/abs/core/python_modules/python-pytz/PKGBUILD
+++ b/abs/core/python_modules/python-pytz/PKGBUILD
@@ -3,16 +3,15 @@
# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
# Contributor: William Rea <sillywilly@gmail.com>
-pkgname=('python2-pytz')
-pkgver=2017.2
+pkgname=('python-pytz' 'python2-pytz')
+pkgver=2018.3
pkgrel=1
arch=('any')
url="http://pypi.python.org/pypi/pytz"
license=("MIT")
-makedepends=('python2')
-source=(https://pypi.python.org/packages/a4/09/c47e57fc9c7062b4e83b075d418800d322caa87ec0ac21e6308bd3a2d519/pytz-2017.2.zip{,.asc})
-md5sums=('f89bde8a811c8a1a5bac17eaaa94383c'
- 'SKIP')
+makedepends=('python' 'python2')
+source=("https://pypi.io/packages/source/p/pytz/pytz-${pkgver}.tar.gz")
+md5sums=('abb07c09c79f78d7c04f222a550c99ef')
validpgpkeys=('C7ECC365AB6F255E1EB9BA1701FA998FBAC6374A')
build(){
@@ -23,8 +22,7 @@ build(){
check(){
cd $srcdir/pytz-$pkgver/pytz/tests
-# python3 test_tzinfo.py
-
+ python3 test_tzinfo.py
python2 test_tzinfo.py
}
@@ -50,7 +48,7 @@ package_python2-pytz(){
cd $srcdir/pytz2-$pkgver
# python 2 fix
- sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' pytz/tzfile.py
+# sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' pytz/tzfile.py
python2 setup.py install --root="$pkgdir/"
diff --git a/abs/core/python_modules/python-pytz/__changelog b/abs/core/python_modules/python-pytz/__changelog
deleted file mode 100644
index c6e1e55..0000000
--- a/abs/core/python_modules/python-pytz/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: don't build py 3 stuff
diff --git a/abs/core/python_modules/python-rebulk/PKGBUILD b/abs/core/python_modules/python-rebulk/PKGBUILD
index c7338bf..b7473a8 100644
--- a/abs/core/python_modules/python-rebulk/PKGBUILD
+++ b/abs/core/python_modules/python-rebulk/PKGBUILD
@@ -1,15 +1,15 @@
# Maintainer: Sebastien Leduc <sebastien@sleduc.fr>
-pkgname=('python2-rebulk')
+pkgname=('python-rebulk' 'python2-rebulk')
pkgbase='python-rebulk'
_guser='Toilal'
_gproject="rebulk"
pkgver=0.9.0
-pkgrel=1
+pkgrel=2
pkgdesc=" Define simple search patterns in bulk to perform advanced matching on any string. "
arch=("any")
url="https://github.com/Toilal/rebulk"
license=('MIT')
-makedepends=('python2' 'python2-setuptools' 'python2-pytest-runner')
+makedepends=('python' 'python2' 'python-setuptools' 'python2-setuptools' 'python-pytest-runner' 'python2-pytest-runner')
options=(!emptydirs)
source=("https://github.com/${_guser}/${_gproject}/archive/${pkgver}.tar.gz")
md5sums=('7f76cd95e6ca9219202aeaa9b1b7b7c8')
diff --git a/abs/core/python_modules/python-rebulk/__changelog b/abs/core/python_modules/python-rebulk/__changelog
deleted file mode 100644
index 4f818ef..0000000
--- a/abs/core/python_modules/python-rebulk/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD: don't build py 3 stuff
-
diff --git a/abs/core/python_modules/python-regex/PKGBUILD b/abs/core/python_modules/python-regex/PKGBUILD
index 13c1ca0..e07a3c2 100644
--- a/abs/core/python_modules/python-regex/PKGBUILD
+++ b/abs/core/python_modules/python-regex/PKGBUILD
@@ -1,46 +1,68 @@
# Maintainer: Jelle van der Waa <jelle@archlinux.org>
+# Maintainer: Eli Schwartz <eschwartz@archlinux.org>
# Contributor: Nikola Milinković <nikmil@gmail.com>
# Submitter: Xiao-Long Chen <chenxiaolong@cxl.epac.to>
_pkgbase=regex
pkgbase=python-regex
-pkgname=('python2-regex')
-#pkgname=python-regex
-pkgver=2017.07.11
+pkgname=('python-regex' 'python2-regex')
+pkgname=python-regex
+pkgver=2018.02.21
pkgrel=1
pkgdesc="Alternative python regular expression module."
-arch=('x86_64' 'i686')
+arch=('x86_64')
url="https://bitbucket.org/mrabarnett/mrab-regex"
license=('Python')
-makedepends=('python2-setuptools')
+makedepends=('python-setuptools' 'python2-setuptools')
options=(!emptydirs)
source=(https://pypi.io/packages/source/r/${_pkgbase}/${_pkgbase}-${pkgver}.tar.gz)
-sha256sums=('dbda8bdc31a1c85445f1a1b29d04abda46e5c690f8f933a9cc3a85a358969616')
+sha256sums=('b44624a38d07d3c954c84ad302c29f7930f4bf01443beef5589e9157b14e2a29')
+
+build() {
+ cd "regex-${pkgver}"
+
+ python setup.py build
+ python2 setup.py build
+}
+
+check() {
+ cd "regex-${pkgver}"
+
+ pushd build/lib.linux-${CARCH}-3*/
+ python test_regex.py
+ popd
+
+ pushd build/lib.linux-${CARCH}-2*/
+ python2 test_regex.py
+ popd
+}
package_python2-regex() {
depends=('python2')
- conflicts=('python2-regex-hg')
pkgdesc="Alternative python regular expression module. (python2 version)"
cd "regex-${pkgver}"
- python2 setup.py install --root="${pkgdir}/" --optimize=1
+ python2 setup.py install --root="${pkgdir}/" --optimize=1 --skip-build
install -v -m755 -d "${pkgdir}/usr/share/doc/python2-regex"
install -v -m644 ./docs/Features.html "${pkgdir}/usr/share/doc/python2-regex/"
install -v -m644 ./docs/Features.rst "${pkgdir}/usr/share/doc/python2-regex/"
install -v -m644 ./docs/UnicodeProperties.txt "${pkgdir}/usr/share/doc/python2-regex/"
+
+ sed -n '1,/^$/p' regex_2/regex.py | install -Dm644 /dev/stdin "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
}
package_python-regex() {
depends=('python')
- conflicts=('python-regex-hg')
pkgdesc="Alternative python regular expression module. (python3 version)"
cd "regex-${pkgver}"
- python setup.py install --root="${pkgdir}/" --optimize=1
+ python setup.py install --root="${pkgdir}/" --optimize=1 --skip-build
install -v -m755 -d "${pkgdir}/usr/share/doc/python-regex"
install -v -m644 ./docs/Features.html "${pkgdir}/usr/share/doc/python-regex/"
install -v -m644 ./docs/Features.rst "${pkgdir}/usr/share/doc/python-regex/"
install -v -m644 ./docs/UnicodeProperties.txt "${pkgdir}/usr/share/doc/python-regex/"
+
+ sed -n '1,/^$/p' regex_3/regex.py | install -Dm644 /dev/stdin "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
}
diff --git a/abs/core/python_modules/python-regex/__changelog b/abs/core/python_modules/python-regex/__changelog
deleted file mode 100644
index c6e1e55..0000000
--- a/abs/core/python_modules/python-regex/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: don't build py 3 stuff
diff --git a/abs/core/python_modules/python-requests-cache/PKGBUILD b/abs/core/python_modules/python-requests-cache/PKGBUILD
index b7d9937..39784ed 100644
--- a/abs/core/python_modules/python-requests-cache/PKGBUILD
+++ b/abs/core/python_modules/python-requests-cache/PKGBUILD
@@ -2,16 +2,17 @@
pkgbase=python-requests-cache
_pyname=requests-cache
-pkgname=('python2-requests-cache')
-makedepends=('python2' 'python2-setuptools')
-pkgver=0.4.12
-pkgrel=2
+pkgname=('python-requests-cache' 'python2-requests-cache')
+makedepends=('python' 'python2' 'python-setuptools' 'python2-setuptools'
+ 'python-requests' 'python2-requests')
+pkgver=0.4.13
+pkgrel=1
pkgdesc="Persistent cache for requests library"
arch=('any')
url="https://github.com/reclosedev/requests-cache"
license=('BSD')
source=("${_pyname}-${pkgver}.tar.gz::https://github.com/reclosedev/${_pyname}/archive/v${pkgver}.tar.gz")
-sha512sums=('06d563d59c24f311209b81beb96130b75d1e849e0bb94ad636b3ac269eed7c89fdddfed8da86560473c4463425ea98953d30fb3da05efd614907855f130587fc')
+sha512sums=('54d814c9c4da1b1fa6f4ec124faee7e74e7ca52bc90ae7c948f19e9cb7657fe2b41f5de6c5fafe259526312d82dc5efd81ad01a741a66baf12ea2a358334f912')
package_python-requests-cache() {
depends=('python')
diff --git a/abs/core/python_modules/python-requests-cache/__changelog b/abs/core/python_modules/python-requests-cache/__changelog
deleted file mode 100644
index 60db758..0000000
--- a/abs/core/python_modules/python-requests-cache/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: remove py3 stuff
diff --git a/abs/core/python_modules/python-requests/PKGBUILD b/abs/core/python_modules/python-requests/PKGBUILD
index d5e1fb4..e791c7b 100644
--- a/abs/core/python_modules/python-requests/PKGBUILD
+++ b/abs/core/python_modules/python-requests/PKGBUILD
@@ -3,25 +3,26 @@
# Contributor: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
pkgbase=python-requests
-pkgname=('python2-requests')
-pkgver=2.18.1
+pkgname=('python-requests' 'python2-requests')
+pkgver=2.18.4
pkgrel=1
pkgdesc="Python HTTP for Humans"
arch=('any')
url="http://python-requests.org"
license=('Apache')
-makedepends=('python2-setuptools' 'python2-chardet'
- 'python2-urllib3' 'python2-idna')
-checkdepends=('python2-pytest-httpbin'
- 'python2-pytest-mock' 'python2-pysocks')
+makedepends=('python-setuptools' 'python2-setuptools' 'python-chardet' 'python2-chardet'
+ 'python-urllib3' 'python2-urllib3' 'python-idna' 'python2-idna')
+checkdepends=('python-pytest-httpbin' 'python2-pytest-httpbin' 'python-pytest-mock'
+ 'python2-pytest-mock' 'python-pysocks' 'python2-pysocks')
source=("$pkgbase-$pkgver.tar.gz::https://github.com/kennethreitz/requests/archive/v$pkgver.tar.gz"
certs.patch)
-sha512sums=('a80e0487b4b729e69522817bc2eec2a9c5f1df34df385581b3e937c2409e0fcb4e1f9b4794b198c8b8a57fc05b1bc513fc70d41b324ae251de0fa9bc7c9e6947'
+sha512sums=('8ca20fe18d13b8c62977be0c51617f2ae8618d3d002ad4dc554362828855db7359274efbff0cd13e8c5699508913e91205cffcf306221a70321e74ac10b2d4d7'
'424a3bb01b23409284f6c9cd2bc22d92df31b85cfd96e1d1b16b5d68adeca670dfed4fff7977d8b10980102b0f780eacc465431021fcd661f3a17168a02a39a3')
prepare() {
cd "$srcdir"/requests-$pkgver
- sed -i '/certifi/d' setup.py
+ sed -e '/certifi/d' \
+ -i setup.py
patch -p1 -i "$srcdir"/certs.patch
cd "$srcdir"
@@ -30,16 +31,16 @@ prepare() {
}
build() {
-# cd "$srcdir"/requests-$pkgver
-# python setup.py build
+ cd "$srcdir"/requests-$pkgver
+ python setup.py build
cd "$srcdir"/requests-$pkgver-py2
python2 setup.py build
}
check() {
-# cd "$srcdir"/requests-$pkgver
-# py.test tests
+ cd "$srcdir"/requests-$pkgver
+ py.test tests
cd "$srcdir"/requests-$pkgver-py2
py.test2 tests
diff --git a/abs/core/python_modules/python-requests/__changelog b/abs/core/python_modules/python-requests/__changelog
deleted file mode 100644
index 4f818ef..0000000
--- a/abs/core/python_modules/python-requests/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD: don't build py 3 stuff
-
diff --git a/abs/core/python_modules/python-rpyc/PKGBUILD b/abs/core/python_modules/python-rpyc/PKGBUILD
index 55fcea4..63d9987 100644
--- a/abs/core/python_modules/python-rpyc/PKGBUILD
+++ b/abs/core/python_modules/python-rpyc/PKGBUILD
@@ -1,10 +1,10 @@
# Maintainer: Sebastien Leduc <sebastien AT sleduc DOT fr>
-pkgname=('python2-rpyc')
+pkgname=('python-rpyc' 'python2-rpyc')
pkgbase='python-rpyc'
_realname=rpyc
pkgver=3.4.0
-pkgrel=1
+pkgrel=2
pkgdesc="Remote Python Call (RPyC), a transparent and symmetric RPC library"
url="http://rpyc.readthedocs.org"
arch=('any')
diff --git a/abs/core/python_modules/python-rpyc/__changelog b/abs/core/python_modules/python-rpyc/__changelog
deleted file mode 100644
index 4f818ef..0000000
--- a/abs/core/python_modules/python-rpyc/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD: don't build py 3 stuff
-
diff --git a/abs/core/python_modules/python-service-identity/PKGBUILD b/abs/core/python_modules/python-service-identity/PKGBUILD
new file mode 100644
index 0000000..6575c5c
--- /dev/null
+++ b/abs/core/python_modules/python-service-identity/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgbase=python-service-identity
+pkgname=('python-service-identity' 'python2-service-identity')
+pkgver=17.0.0
+pkgrel=1
+pkgdesc="Service identity verification for pyOpenSSL"
+arch=('any')
+license=('MIT')
+url="http://pypi.python.org/pypi/service_identity"
+makedepends=('python-pyopenssl' 'python2-pyopenssl' 'python-pyasn1' 'python2-pyasn1'
+ 'python-setuptools' 'python2-setuptools' 'python-pyasn1-modules' 'python2-pyasn1-modules'
+ 'python-attrs' 'python2-attrs' 'python-idna' 'python2-idna')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/pyca/service_identity/archive/$pkgver.tar.gz")
+sha512sums=('3824cb473420a5ce6779fd35ff931189ed68286ad1f7f2936e3253a785cd76a77bbb95210a4a5fde1b1ef0c8d9c762b8e89ab44dce60ee43e34b2553ab78b5aa')
+
+prepare() {
+ cp -a service_identity-$pkgver{,-py2}
+}
+
+build() {
+ cd "$srcdir"/service_identity-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/service_identity-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+ cd "$srcdir"/service_identity-$pkgver
+ python setup.py pytest
+
+ cd "$srcdir"/service_identity-$pkgver-py2
+ python2 setup.py pytest
+}
+
+package_python-service-identity() {
+ depends=('python-pyopenssl' 'python-pyasn1' 'python-pyasn1-modules' 'python-attrs')
+ optdepends=('python-idna: for Internationalized Domain Names support')
+
+ cd service_identity-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python2-service-identity() {
+ depends=('python2-pyopenssl' 'python2-pyasn1' 'python2-pyasn1-modules' 'python2-attrs')
+ optdepends=('python2-idna: for Internationalized Domain Names support')
+
+ cd service_identity-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1 --skip-build
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/abs/core/python_modules/python-setuptools-git/PKGBUILD b/abs/core/python_modules/python-setuptools-git/PKGBUILD
new file mode 100644
index 0000000..d91d3df
--- /dev/null
+++ b/abs/core/python_modules/python-setuptools-git/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgbase=python-setuptools-git
+pkgname=('python-setuptools-git' 'python2-setuptools-git')
+pkgver=1.2
+pkgrel=1
+pkgdesc='Setuptools revision control system plugin for Git'
+arch=('any')
+license=('BSD')
+url='https://github.com/msabramo/setuptools-git'
+makedepends=('python-setuptools' 'python2-setuptools' 'git')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/msabramo/setuptools-git/archive/$pkgver.tar.gz")
+sha512sums=('368d56003a440c5be00685356b0aef97fdea4a84a6d4e56d59964833b55de4916353e061f2eebf2de4dac2df4783a0a1b2d58ba88e1a93979b38a2b62900c1c1')
+
+prepare() {
+ cp -a setuptools-git-$pkgver{,-py2}
+}
+
+build() {
+ cd "$srcdir"/setuptools-git-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/setuptools-git-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+ git config --global user.email "deedbeaf"
+
+ cd "$srcdir"/setuptools-git-$pkgver
+ python setup.py test
+
+ cd "$srcdir"/setuptools-git-$pkgver-py2
+ python2 setup.py test
+}
+
+package_python-setuptools-git() {
+ depends=('python-setuptools' 'git')
+
+ cd setuptools-git-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt
+}
+
+package_python2-setuptools-git() {
+ depends=('python2-setuptools' 'git')
+
+ cd setuptools-git-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-setuptools-scm/PKGBUILD b/abs/core/python_modules/python-setuptools-scm/PKGBUILD
index c874b8b..d4d0da6 100644
--- a/abs/core/python_modules/python-setuptools-scm/PKGBUILD
+++ b/abs/core/python_modules/python-setuptools-scm/PKGBUILD
@@ -3,17 +3,17 @@
# Contributor: Hugo Osvaldo Barrera <hugo@barrera.io>
pkgbase=python-setuptools-scm
-pkgname=(python2-setuptools-scm)
-pkgver=1.15.6
+pkgname=(python-setuptools-scm python2-setuptools-scm)
+pkgver=1.17.0
pkgrel=1
pkgdesc="Handles managing your python package versions in scm metadata."
arch=('any')
url="https://github.com/pypa/setuptools_scm"
license=('MIT')
-makedepends=('python2-setuptools')
-checkdepends=('python2-pytest' 'mercurial' 'git' 'python2-pip')
+makedepends=('python-setuptools' 'python2-setuptools')
+checkdepends=('python-pytest' 'python2-pytest' 'mercurial' 'git' 'python-pip' 'python2-pip')
source=("$pkgbase-$pkgver.tar.gz::https://github.com/pypa/setuptools_scm/archive/v$pkgver.tar.gz")
-sha512sums=('c97669232a492e19bdb073c48f9e792ee029ee2af2191da65461436e2a66a3adf5ad490f0a1429c33a5574d4afeb0d54afedfe78f581fff890ecfc787d08ef5a')
+sha512sums=('8846a4c0b8a901108ee3444f1682235a68d74dec6468f5f32af6502c11e9a7aedf6f81744d9fdd4d71d59b4f9ddc1e9685ca7e2084ebb247800e6d03d7e15899')
prepare() {
cp -a setuptools_scm-$pkgver{,-py2}
@@ -22,9 +22,9 @@ prepare() {
}
build() {
-# cd "$srcdir"/setuptools_scm-$pkgver
-# python setup.py build
-# python setup.py egg_info
+ cd "$srcdir"/setuptools_scm-$pkgver
+ python setup.py build
+ python setup.py egg_info
cd "$srcdir"/setuptools_scm-$pkgver-py2
python2 setup.py build
@@ -34,9 +34,9 @@ build() {
check() {
# Hack entry points by installing it
-# cd "$srcdir"/setuptools_scm-$pkgver
-# python setup.py install --root="$PWD/tmp_install" --optimize=1
-# SETUPTOOLS_SCM_PRETEND_VERSION= PYTHONPATH="$PWD/tmp_install/usr/lib/python3.6/site-packages:$PYTHONPATH" py.test
+ cd "$srcdir"/setuptools_scm-$pkgver
+ python setup.py install --root="$PWD/tmp_install" --optimize=1
+ SETUPTOOLS_SCM_PRETEND_VERSION= PYTHONPATH="$PWD/tmp_install/usr/lib/python3.6/site-packages:$PYTHONPATH" py.test
cd "$srcdir"/setuptools_scm-$pkgver-py2
python2 setup.py install --root="$PWD/tmp_install" --optimize=1
diff --git a/abs/core/python_modules/python-setuptools-scm/__changelog b/abs/core/python_modules/python-setuptools-scm/__changelog
deleted file mode 100644
index 4f818ef..0000000
--- a/abs/core/python_modules/python-setuptools-scm/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD: don't build py 3 stuff
-
diff --git a/abs/core/python_modules/python-setuptools/PKGBUILD b/abs/core/python_modules/python-setuptools/PKGBUILD
index 31a941e..c90e33c 100644
--- a/abs/core/python_modules/python-setuptools/PKGBUILD
+++ b/abs/core/python_modules/python-setuptools/PKGBUILD
@@ -3,48 +3,55 @@
# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgbase=python-setuptools
-pkgname=('python2-setuptools')
-pkgver=36.2.0
+pkgname=('python-setuptools' 'python2-setuptools')
+pkgver=39.0.1
pkgrel=1
epoch=1
pkgdesc="Easily download, build, install, upgrade, and uninstall Python packages"
arch=('any')
license=('PSF')
url="http://pypi.python.org/pypi/setuptools"
-makedepends=('python2-packaging' 'python2-appdirs'
- 'python2-pip')
-checkdepends=('python2-pytest-runner'
- 'python2-pytest-flake8' 'python2-backports.unittest_mock' 'git')
+makedepends=('python-packaging' 'python2-packaging' 'python-appdirs' 'python2-appdirs')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner' 'python-pytest-flake8'
+ 'python2-pytest-flake8' 'python-mock' 'python2-mock' 'python-pytest-fixture-config'
+ 'python2-pytest-fixture-config' 'python-pytest-virtualenv' 'python2-pytest-virtualenv'
+ 'python-wheel' 'python2-wheel' 'python-pip' 'python2-pip' 'git')
source=("$pkgbase-$pkgver.tar.gz::https://github.com/pypa/setuptools/archive/v$pkgver.tar.gz")
-sha512sums=('579e63feb9f5ea33e29f4ae3a2736a2cfd18e83927775a56553dbe34bcfa32f325457204333d4f183759dbcd57e4ad7f8b166fcfbf626db597b18e14bbcd9ea4')
+sha512sums=('34df8f10e89825975c82059c759690a2cc1486fc84c71a76875b92c2452529fbdd628e11e3043e479ea3f031af18b37a37b86d2a8d2505c300188eccdc109332')
prepare() {
- # Don't download and install deps
- sed -i '/pip.main(args)/d' setuptools-$pkgver/bootstrap.py
-
- rm -r setuptools-$pkgver/pkg_resources/_vendor
+ rm -r setuptools-$pkgver/{pkg_resources,setuptools}/_vendor
# Remove post-release tag since we are using stable tags
sed -e '/tag_build = .post/d' \
-e '/tag_date = 1/d' \
-i setuptools-$pkgver/setup.cfg
+ # 'Clean' installation is expected to fail since we removed bundled packages
+ sed -i '/^def test_clean_env_install/i import pytest\n\n@pytest.mark.xfail' setuptools-$pkgver/setuptools/tests/test_virtualenv.py
+
+ # Tests failed. Importing an unbundled new setuptools in a virtualenv does not work, but this won't
+ # affect normal virtualenv usage (which don't have to import the unbundled setuptools in *current*
+ # dir.
+ sed -e '/^def test_pip_upgrade_from_source/i @pytest.mark.xfail' \
+ -e '/^def test_test_command_install_requirements/i @pytest.mark.xfail' \
+ -i setuptools-$pkgver/setuptools/tests/test_virtualenv.py
+
cp -a setuptools-$pkgver{,-py2}
-# cd "$srcdir"/setuptools-$pkgver
-# sed -i -e "s|^#\!.*/usr/bin/env python|#!/usr/bin/env python3|" setuptools/command/easy_install.py
+ cd "$srcdir"/setuptools-$pkgver
+ sed -i -e "s|^#\!.*/usr/bin/env python|#!/usr/bin/env python3|" setuptools/command/easy_install.py
cd "$srcdir"/setuptools-$pkgver-py2
sed -i -e "s|^#\!.*/usr/bin/env python|#!/usr/bin/env python2|" setuptools/command/easy_install.py
- sed -i -e "s|'pip'|'pip2'|" setuptools/tests/{test_develop.py,test_namespaces.py}
export SETUPTOOLS_INSTALL_WINDOWS_SPECIFIC_FILES=0
}
build() {
-# cd "$srcdir"/setuptools-$pkgver
-# python bootstrap.py
-# python setup.py build
+ cd "$srcdir"/setuptools-$pkgver
+ python bootstrap.py
+ python setup.py build
cd "$srcdir"/setuptools-$pkgver-py2
python2 bootstrap.py
@@ -58,8 +65,8 @@ check() { (
# https://github.com/pypa/setuptools/pull/810
export PYTHONDONTWRITEBYTECODE=1
-# cd "$srcdir"/setuptools-$pkgver
-# python setup.py pytest
+ cd "$srcdir"/setuptools-$pkgver
+ python setup.py pytest
cd "$srcdir"/setuptools-$pkgver-py2
python2 setup.py pytest
diff --git a/abs/core/python_modules/python-setuptools/__changelog b/abs/core/python_modules/python-setuptools/__changelog
deleted file mode 100644
index 9715c21..0000000
--- a/abs/core/python_modules/python-setuptools/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD - comment out all python 3 stuff and only build for py 2
diff --git a/abs/core/python_modules/python-simplejson/PKGBUILD b/abs/core/python_modules/python-simplejson/PKGBUILD
index d5273f5..0e1a323 100644
--- a/abs/core/python_modules/python-simplejson/PKGBUILD
+++ b/abs/core/python_modules/python-simplejson/PKGBUILD
@@ -5,33 +5,55 @@
# Contributor: David Moore <davidm@sjsoft.com>
pkgbase=python-simplejson
-pkgname=('python2-simplejson')
-pkgver=3.8.2
+pkgname=('python-simplejson' 'python2-simplejson')
+pkgver=3.13.2
pkgrel=1
pkgdesc='Simple, fast, extensible JSON encoder/decoder for Python'
license=('MIT')
-arch=('x86_64' 'i686')
+arch=('x86_64')
url='https://github.com/simplejson/simplejson'
-makedepends=('python2-setuptools' 'git')
-source=("git://github.com/simplejson/simplejson.git#tag=v$pkgver")
-md5sums=('SKIP')
+makedepends=('python-setuptools' 'python2-setuptools')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/simplejson/simplejson/archive/v$pkgver.tar.gz")
+sha512sums=('b1d6c68e1a6c967dfb695d0cd3d8dca19d458b650ddc0c8273328378eab7f52b801ee29431a6b3bde16608e886259267f41cbefabb7fbe7adb1e243479f91132')
+
+prepare() {
+ cp -a simplejson-$pkgver{,-py2}
+}
+
+build() {
+ cd "$srcdir"/simplejson-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/simplejson-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+ cd "$srcdir"/simplejson-$pkgver
+ python setup.py pytest
+
+ cd "$srcdir"/simplejson-$pkgver-py2
+ python2 setup.py pytest
+}
package_python-simplejson() {
depends=('python')
- cd simplejson
+ cd simplejson-$pkgver
python setup.py install --root="$pkgdir"
- install -Dm644 "$srcdir/simplejson/LICENSE.txt" \
- "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm644 "$srcdir"/simplejson-$pkgver/LICENSE.txt \
+ "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
package_python2-simplejson() {
depends=('python2')
- cd simplejson
+ cd simplejson-$pkgver-py2
python2 setup.py install --root="$pkgdir"
- install -Dm644 "$srcdir/simplejson/LICENSE.txt" \
- "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm644 "$srcdir"/simplejson-$pkgver/LICENSE.txt \
+ "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
# vim:set ts=2 sw=2 et:
+
diff --git a/abs/core/python_modules/python-simplejson/__changelog b/abs/core/python_modules/python-simplejson/__changelog
deleted file mode 100644
index 488d3cf..0000000
--- a/abs/core/python_modules/python-simplejson/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: rm py 3 stuff
diff --git a/abs/core/python_modules/python-six/PKGBUILD b/abs/core/python_modules/python-six/PKGBUILD
index 33093f7..56ca2de 100644
--- a/abs/core/python_modules/python-six/PKGBUILD
+++ b/abs/core/python_modules/python-six/PKGBUILD
@@ -4,28 +4,28 @@
# Contributer: Allan McRae <allan@archlinux.org>
pkgbase=python-six
-pkgname=('python2-six')
-pkgver=1.10.0
-pkgrel=3
+pkgname=('python2-six' 'python-six')
+pkgver=1.11.0
+pkgrel=1
pkgdesc="Python 2 and 3 compatibility utilities"
arch=('any')
url="http://pypi.python.org/pypi/six/"
license=('MIT')
-makedepends=('python2-setuptools')
-checkdepends=('python2-pytest' 'tk')
+makedepends=('python-setuptools' 'python2-setuptools')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner' 'tk')
source=("https://pypi.io/packages/source/s/six/six-$pkgver.tar.gz")
-md5sums=('34eed507548117b2ab523ab14b2f8b55')
+sha512sums=('33f246a2e987141e17e5edad9d3537cf3aba0cbdd0bc2a907ea52ce0d674b1474f29c3dd5cc26605fd960396054b189ca5f501708333cad234c223131483fe24')
build() {
cp -a six-$pkgver{,-py2}
}
check() {
-# cd "$srcdir"/six-$pkgver
-# py.test
+ cd "$srcdir"/six-$pkgver
+ python setup.py pytest
cd "$srcdir"/six-$pkgver-py2
- py.test2
+ python2 setup.py pytest
}
package_python-six() {
diff --git a/abs/core/python_modules/python-six/__changelog b/abs/core/python_modules/python-six/__changelog
deleted file mode 100644
index 488d3cf..0000000
--- a/abs/core/python_modules/python-six/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: rm py 3 stuff
diff --git a/abs/core/python_modules/python-smmap/PKGBUILD b/abs/core/python_modules/python-smmap/PKGBUILD
new file mode 100644
index 0000000..bb42b21
--- /dev/null
+++ b/abs/core/python_modules/python-smmap/PKGBUILD
@@ -0,0 +1,57 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Maintainer: NicoHood <archlinux {cat} nicohood {dog} de>
+# Contributor: Carl George < arch at cgtx dot us >
+
+pkgbase=python-smmap
+_pypiname=smmap2
+pkgname=("python-smmap" "python2-smmap")
+pkgver=2.0.3
+pkgrel=1
+pkgdesc="A pure git implementation of a sliding window memory map manager"
+arch=("any")
+url="https://github.com/gitpython-developers/smmap"
+license=("BSD")
+makedepends=("python-setuptools" "python2-setuptools")
+checkdepends=("python-nose" "python2-nose")
+source=("${pkgbase}-${pkgver}.tar.gz::https://pypi.org/packages/source/s/${_pypiname}/${_pypiname}-${pkgver}.tar.gz")
+# "${pkgbase}-${pkgver}.tar.gz.asc::https://pypi.org/packages/source/s/${_pypiname}/${_pypiname}-${pkgver}.tar.gz.asc")
+sha512sums=('f5623247fbdb6b0e94bbfe7104ffd84ee4563a0c32781256d92d46fd23e05280d7a0e3952a573b6834e253e9b68175784babc36d91ab61edf6d0d072830e1fde')
+# 'SKIP')
+validpgpkeys=('4477ADC5977D7C60D2A7E3789FEE1C6A3B07188F') # Sebastian Thiel (In Rust I trust!) <byronimo@gmail.com>
+
+prepare() {
+ cp -a "${srcdir}/${_pypiname}-${pkgver}"{,-py2}
+}
+
+build() {
+ cd "${srcdir}/${_pypiname}-${pkgver}"
+ python setup.py build
+
+ cd "${srcdir}/${_pypiname}-${pkgver}-py2"
+ python2 setup.py build
+}
+
+check() {
+ cd "${srcdir}/${_pypiname}-${pkgver}"
+ nosetests3
+
+ cd "${srcdir}/${_pypiname}-${pkgver}-py2"
+ nosetests2
+}
+
+package_python-smmap() {
+ depends=("python")
+
+ cd "${srcdir}/${_pypiname}-${pkgver}"
+ python setup.py install --skip-build --root="${pkgdir}" --optimize=1
+ install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+package_python2-smmap() {
+ depends=("python2")
+
+ cd "${srcdir}/${_pypiname}-${pkgver}-py2"
+ python2 setup.py install --skip-build --root="${pkgdir}" --optimize=1
+ install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/abs/core/python_modules/python-snowballstemmer/PKGBUILD b/abs/core/python_modules/python-snowballstemmer/PKGBUILD
new file mode 100644
index 0000000..676c0e8
--- /dev/null
+++ b/abs/core/python_modules/python-snowballstemmer/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: xantares
+
+pkgbase=python-snowballstemmer
+pkgname=('python-snowballstemmer' 'python2-snowballstemmer')
+pkgver=1.2.1
+pkgrel=2
+arch=('any')
+pkgdesc="Snowball stemming library collection for Python"
+url='https://github.com/shibukawa/snowball_py'
+license=('BSD')
+makedepends=('python' 'python2')
+source=("https://pypi.python.org/packages/source/s/snowballstemmer/snowballstemmer-${pkgver}.tar.gz")
+md5sums=('643b019667a708a922172e33a99bf2fa')
+
+prepare() {
+ cp -a snowballstemmer-${pkgver}{,-py2}
+}
+
+build() {
+ cd "$srcdir"/snowballstemmer-${pkgver}
+ python setup.py build
+
+ cd "$srcdir"/snowballstemmer-${pkgver}-py2
+ python2 setup.py build
+}
+
+package_python-snowballstemmer() {
+ depends=('python')
+ optdepends=('python-pystemmer: for improved performance')
+
+ cd "$srcdir"/snowballstemmer-${pkgver}
+ python setup.py install --root="$pkgdir" --optimize=1
+
+ install -Dm644 LICENSE.rst "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.rst
+}
+
+package_python2-snowballstemmer() {
+ depends=('python2')
+ optdepends=('python2-pystemmer: for improved performance')
+
+ cd "$srcdir"/snowballstemmer-${pkgver}-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+
+ install -Dm644 LICENSE.rst "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.rst
+}
diff --git a/abs/core/python_modules/python-sphinx-alabaster-theme/PKGBUILD b/abs/core/python_modules/python-sphinx-alabaster-theme/PKGBUILD
new file mode 100644
index 0000000..d3203be
--- /dev/null
+++ b/abs/core/python_modules/python-sphinx-alabaster-theme/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id$
+# Maintainer: Johannes Löthberg <johannes@kyriasis.com>
+# Contributor: xantares
+
+pkgbase=python-sphinx-alabaster-theme
+pkgname=(python-sphinx-alabaster-theme python2-sphinx-alabaster-theme)
+pkgver=0.7.10
+pkgrel=1
+
+pkgdesc="Sphinx default theme"
+url='https://github.com/bitprophet/alabaster'
+arch=('any')
+license=('custom:BSD')
+
+makedepends=('python-setuptools' 'python2-setuptools')
+
+source=("https://pypi.org/packages/source/a/alabaster/alabaster-$pkgver.tar.gz")
+
+md5sums=('7934dccf38801faa105f6e7b4784f493')
+
+build() {
+ cp -r alabaster-"$pkgver" alabaster-"$pkgver"-py2
+
+ cd alabaster-"$pkgver"
+ python setup.py build
+
+ cd "$srcdir"/alabaster-"$pkgver"-py2
+ python2 setup.py build
+}
+
+package_python-sphinx-alabaster-theme() {
+ cd alabaster-"$pkgver"
+ python setup.py install --root="$pkgdir" --optimize=1
+
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
+}
+
+package_python2-sphinx-alabaster-theme() {
+ cd alabaster-"$pkgver"-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
+}
diff --git a/abs/core/python_modules/python-sphinx/PKGBUILD b/abs/core/python_modules/python-sphinx/PKGBUILD
index b4db703..cab258e 100644
--- a/abs/core/python_modules/python-sphinx/PKGBUILD
+++ b/abs/core/python_modules/python-sphinx/PKGBUILD
@@ -1,27 +1,62 @@
# $Id$
-# Maintainer: Sébastien Luttringer
+# Maintainer: Johannes Löthberg <johannes@kyriasis.com>
+# Contributor: Sébastien Luttringer
# Contributor: Angel Velasquez <angvp@archlinux.org>
# Contributor: Fabio Volpe <volpefabio@gmail.com>
pkgbase=python-sphinx
-pkgname=('python2-sphinx')
-pkgver=1.2.2
-pkgrel=4
+pkgname=('python-sphinx' 'python2-sphinx')
+pkgver=1.7.0
+pkgrel=1
+
arch=('any')
url='http://sphinx.pocoo.org/'
-license=('GPL')
+license=('BSD')
+
makedepends=(
+ 'python-setuptools'
+ 'python-docutils'
+ 'python-jinja'
+ 'python-pygments'
+ 'python-six'
+ 'python-imagesize'
+ 'python-sphinxcontrib-websupport'
+ 'python-sqlalchemy'
+ 'python-whoosh'
'python2-setuptools'
'python2-docutils'
'python2-jinja'
'python2-pygments'
+ 'python2-six'
+ 'python2-imagesize'
+ 'python2-sphinxcontrib-websupport'
+ 'python2-sqlalchemy'
+ 'python2-whoosh'
+ 'python2-typing'
)
+
checkdepends=(
- 'python2-nose'
'texlive-latexextra'
+ 'python-nose' 'python2-nose'
+ 'python-snowballstemmer' 'python2-snowballstemmer'
+ 'python-babel' 'python2-babel'
+ 'python-sphinx-alabaster-theme' 'python2-sphinx-alabaster-theme'
+ 'python-sphinx_rtd_theme' 'python2-sphinx_rtd_theme'
+ 'python-mock' 'python2-mock'
+ 'python-html5lib' 'python2-html5lib'
+ 'python-requests' 'python2-requests'
+ 'python2-pytest' 'python-pytest'
+ 'python2-enum34'
+ 'python-sphinxcontrib-websupport' 'python2-sphinxcontrib-websupport'
+ 'imagemagick' 'librsvg'
)
-source=("http://pypi.python.org/packages/source/S/Sphinx/Sphinx-$pkgver.tar.gz")
-md5sums=('3dc73ccaa8d0bfb2d62fb671b1f7e8a4')
+
+source=("https://pypi.org/packages/source/S/Sphinx/Sphinx-$pkgver.tar.gz"{,.asc})
+
+validpgpkeys=('8A11B79A5D0D749A66F0A030102C2C17498D6B9E'
+ 'E9BEABB07E7B9CC3F56E62C91425F8CE5EBA0E07')
+md5sums=('7d6d8226148378875986310aea68702e'
+ 'SKIP')
prepare() {
# souce duplication is required because makefile modify source code
@@ -31,46 +66,85 @@ prepare() {
find Sphinx-${pkgver}2 -type f -exec \
sed -i '1s,^#! \?/usr/bin/\(env \|\)python$,#!/usr/bin/python2,' {} \;
# change sphinx-binaries name in source code
-# find Sphinx-${pkgver}2 -type f -name '*.py' -exec \
-# sed -ri 's,(sphinx-(:?build|apidoc|autogen|quickstart)),\12,' {} \;
+ find Sphinx-${pkgver}2 -type f -name '*.py' -exec \
+ sed -ri 's,(sphinx-(:?build|apidoc|autogen|quickstart)),\12,' {} \;
}
build() {
-# msg2 'Python 3 version'
-# cd "$srcdir"/Sphinx-$pkgver
-# make PYTHON=python3 build
+ msg2 'Python 3 version'
+ cd "$srcdir"/Sphinx-$pkgver
+ make PYTHON=python3 build
+
msg2 'Python 2 version'
cd "$srcdir"/Sphinx-${pkgver}2
make PYTHON=python2 build
}
-check() {
+#check() {
# msg2 'Python 3 version'
# cd "$srcdir"/Sphinx-$pkgver
-# make PYTHON=python3 test
-# rm -r build/lib/tests
- msg2 'Python 2 version'
- cd "$srcdir"/Sphinx-${pkgver}2
- make PYTHON=python2 test
- rm -r build/lib/tests
-}
+# LC_ALL="en_US.UTF-8" make PYTHON=python3 test
+# rm -r tests
+#
+# msg2 'Python 2 version'
+# cd "$srcdir"/Sphinx-${pkgver}2
+# LC_ALL="en_US.UTF-8" make PYTHON=python2 test
+# rm -r tests
+#}
-#package_python-sphinx() {
-# pkgdesc='Python3 documentation generator'
-# depends=('python-jinja' 'python-pygments' 'python-docutils')
-# optdepends=('texlive-latexextra: for generation of PDF documentation')
+package_python-sphinx() {
+ pkgdesc='Python3 documentation generator'
+ depends=(
+ 'python-setuptools'
+ 'python-jinja'
+ 'python-pygments'
+ 'python-docutils'
+ 'python-sphinx_rtd_theme'
+ 'python-sphinx-alabaster-theme'
+ 'python-babel'
+ 'python-snowballstemmer'
+ 'python-six'
+ 'python-imagesize'
+ 'python-requests'
+ 'python-sphinxcontrib-websupport'
+ 'python-sqlalchemy'
+ 'python-whoosh'
+ )
+ optdepends=('texlive-latexextra: for generation of PDF documentation'
+ 'imagemagick: ext.imageconverter')
-# cd Sphinx-$pkgver
-# python setup.py install --root="$pkgdir" --optimize=1
-#}
+ cd Sphinx-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
+
+ install -Dm644 "$srcdir"/Sphinx-$pkgver/LICENSE "$pkgdir"/usr/share/licenses/python-sphinx/LICENSE
+}
package_python2-sphinx() {
pkgdesc='Python2 documentation generator'
- depends=('python2-jinja' 'python2-pygments' 'python2-docutils')
- optdepends=('texlive-latexextra: for generation of PDF documentation')
+ depends=(
+ 'python2-setuptools'
+ 'python2-jinja'
+ 'python2-pygments'
+ 'python2-docutils'
+ 'python2-sphinx_rtd_theme'
+ 'python2-sphinx-alabaster-theme'
+ 'python2-babel'
+ 'python2-snowballstemmer'
+ 'python2-six'
+ 'python2-imagesize'
+ 'python2-requests'
+ 'python2-sphinxcontrib-websupport'
+ 'python2-sqlalchemy'
+ 'python2-whoosh'
+ 'python2-typing'
+ )
+ optdepends=('texlive-latexextra: for generation of PDF documentation'
+ 'imagemagick: ext.imageconverter')
cd Sphinx-${pkgver}2
python2 setup.py install --root="$pkgdir" --optimize=1
+
+ install -Dm644 "$srcdir"/Sphinx-$pkgver/LICENSE "$pkgdir"/usr/share/licenses/python2-sphinx/LICENSE
}
# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-sphinx/__changelog b/abs/core/python_modules/python-sphinx/__changelog
deleted file mode 100644
index 488d3cf..0000000
--- a/abs/core/python_modules/python-sphinx/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: rm py 3 stuff
diff --git a/abs/core/python_modules/python-sphinx_rtd_theme/PKGBUILD b/abs/core/python_modules/python-sphinx_rtd_theme/PKGBUILD
new file mode 100644
index 0000000..a446326
--- /dev/null
+++ b/abs/core/python_modules/python-sphinx_rtd_theme/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id$
+# Maintainer: Johannes Löthberg <johannes@kyriasis.com>
+# Contributor: eolianoe <eolianoe [at] gmail [DoT] com>
+# Contributor: Romain Schmitz <slopjong .at. slopjong .dot. de>
+
+pkgbase=python-sphinx_rtd_theme
+pkgname=('python-sphinx_rtd_theme' 'python2-sphinx_rtd_theme')
+pkgver=0.2.4
+pkgrel=1
+
+pkgdesc="Python Sphinx Read The Docs Theme"
+url='https://github.com/rtfd/sphinx_rtd_theme/'
+arch=('any')
+license=('MIT')
+
+makedepends=('python-setuptools' 'python2-setuptools')
+
+source=("https://pypi.org/packages/source/s/sphinx_rtd_theme/sphinx_rtd_theme-$pkgver.tar.gz")
+
+sha256sums=('2df74b8ff6fae6965c527e97cca6c6c944886aae474b490e17f92adfbe843417')
+
+build() {
+ cp -r sphinx_rtd_theme-$pkgver sphinx_rtd_theme-$pkgver-py2
+
+ cd sphinx_rtd_theme-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/sphinx_rtd_theme-$pkgver-py2
+ python2 setup.py build
+}
+
+package_python-sphinx_rtd_theme() {
+ cd sphinx_rtd_theme-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
+
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python2-sphinx_rtd_theme() {
+ cd sphinx_rtd_theme-${pkgver}-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
diff --git a/abs/core/python_modules/python-sphinxcontrib-websupport/PKGBUILD b/abs/core/python_modules/python-sphinxcontrib-websupport/PKGBUILD
new file mode 100644
index 0000000..f6be9ed
--- /dev/null
+++ b/abs/core/python_modules/python-sphinxcontrib-websupport/PKGBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Johannes Löthberg <johannes@kyriasis.com
+
+pkgbase=python-sphinxcontrib-websupport
+pkgname=(python-sphinxcontrib-websupport python2-sphinxcontrib-websupport)
+pkgver=1.0.1
+pkgrel=1
+pkgdesc="Sphinx API for Web Apps"
+arch=('any')
+url="http://www.sphinx-doc.org/"
+license=('BSD')
+makedepends=('python' 'python-setuptools' 'python2' 'python2-setuptools')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/sphinx-doc/sphinxcontrib-websupport/archive/$pkgver.tar.gz")
+sha512sums=('06ee11f2b2212333a6d01201824879e5b5931e85db5f20badd62bc28ddba88ce7c0b3f0b7ce4f4e3d43cb8f66173b31d10e1264f0acc48bb2db7385f50c68313')
+
+prepare() {
+ cp -a sphinxcontrib-websupport-$pkgver{,-py2}
+}
+
+build() {
+ cd "$srcdir"/sphinxcontrib-websupport-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/sphinxcontrib-websupport-$pkgver-py2
+ python2 setup.py build
+}
+
+package_python-sphinxcontrib-websupport() {
+ cd "$srcdir"/sphinxcontrib-websupport-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
+}
+
+package_python2-sphinxcontrib-websupport() {
+ cd "$srcdir"/sphinxcontrib-websupport-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-sqlalchemy/PKGBUILD b/abs/core/python_modules/python-sqlalchemy/PKGBUILD
index 33c6497..097dbeb 100644
--- a/abs/core/python_modules/python-sqlalchemy/PKGBUILD
+++ b/abs/core/python_modules/python-sqlalchemy/PKGBUILD
@@ -4,18 +4,17 @@
# Contributor: Sébastien Luttringer <seblu@aur.archlinux.org>
pkgbase=python-sqlalchemy
-pkgname=('python2-sqlalchemy')
-#pkgname=('python2-sqlalchemy')
-pkgver=1.1.11
+pkgname=('python-sqlalchemy' 'python2-sqlalchemy')
+pkgver=1.2.4
pkgrel=1
-arch=('i686' 'x86_64') # python2 package contain .so
+arch=('x86_64') # python2 package contain .so
url="http://www.sqlalchemy.org/"
license=('MIT')
-makedepends=('python2-setuptools')
-checkdepends=('python2-pytest-runner' 'python2-pytest-xdist' 'python2-mock')
+makedepends=('python-setuptools' 'python2-setuptools')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner' 'python-pytest-xdist' 'python2-pytest-xdist' 'python-mock' 'python2-mock')
source=("https://pypi.io/packages/source/S/SQLAlchemy/SQLAlchemy-$pkgver.tar.gz"{,.asc})
validpgpkeys=('83AF7ACE251C13E6BB7DEFBD330239C1C4DAFEE1')
-sha512sums=('322ec0baa6360099eb000ddd36e28267f64019eb72201ecf60fc478591679e0dd5d2b1139a93036d2ec0165c588ea5836a67ed21dbf7c423b64432589bd73de4'
+sha512sums=('a12d17f222cc5fc4360c439e19cae67a013af07e2c22b1f55511c4862d718578249e6bf83151eefe35957e530dbf18a565b08cded3a5e45dd21103201f4d24e8'
'SKIP')
prepare() {
@@ -23,16 +22,16 @@ prepare() {
}
build() {
-# cd "$srcdir"/SQLAlchemy-$pkgver
-# python setup.py build
+ cd "$srcdir"/SQLAlchemy-$pkgver
+ python setup.py build
cd "$srcdir"/SQLAlchemy2-$pkgver
python2 setup.py build
}
check() {
-# cd "$srcdir"/SQLAlchemy-$pkgver
-# python setup.py pytest
+ cd "$srcdir"/SQLAlchemy-$pkgver
+ python setup.py pytest
cd "$srcdir"/SQLAlchemy2-$pkgver
python2 setup.py pytest
diff --git a/abs/core/python_modules/python-sqlalchemy/__changelog b/abs/core/python_modules/python-sqlalchemy/__changelog
deleted file mode 100644
index 4f818ef..0000000
--- a/abs/core/python_modules/python-sqlalchemy/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD: don't build py 3 stuff
-
diff --git a/abs/core/python_modules/python-termcolor/PKGBUILD b/abs/core/python_modules/python-termcolor/PKGBUILD
new file mode 100644
index 0000000..bced757
--- /dev/null
+++ b/abs/core/python_modules/python-termcolor/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Tim Hatch <tim@timhatch.com>
+
+pkgbase=python-termcolor
+pkgname=('python-termcolor' 'python2-termcolor')
+pkgver=1.1.0
+pkgrel=5
+pkgdesc="ANSII Color formatting for output in terminal"
+arch=('any')
+license=('GPL')
+url="http://pypi.python.org/pypi/termcolor"
+makedepends=('python' 'python2')
+source=(https://pypi.python.org/packages/source/t/termcolor/termcolor-$pkgver.tar.gz)
+sha256sums=('1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b')
+
+package_python-termcolor() {
+ depends=('python')
+
+ cd "$srcdir"/termcolor-$pkgver
+ python setup.py install --root="$pkgdir"
+}
+
+package_python2-termcolor() {
+ depends=('python2')
+
+ cd "$srcdir"/termcolor-$pkgver
+ python2 setup.py install --root="$pkgdir"
+}
diff --git a/abs/core/python_modules/python-tox/PKGBUILD b/abs/core/python_modules/python-tox/PKGBUILD
new file mode 100644
index 0000000..88d466b
--- /dev/null
+++ b/abs/core/python_modules/python-tox/PKGBUILD
@@ -0,0 +1,70 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Thomas Weißschuh <thomas t-8ch.de>
+# Contributor: George Brooke <george+arch.aur@george-brooke.co.uk>
+# Contributor: Sebastian Wiesner <lunaryorn googlemail com>
+
+pkgbase=python-tox
+pkgname=(python-tox python2-tox)
+pkgver=2.9.1
+pkgrel=1
+pkgdesc='Python virtualenv management and testing tool'
+arch=('any')
+url='https://tox.readthedocs.io'
+license=('GPL2')
+makedepends=('python-setuptools' 'python2-setuptools' 'python-py' 'python2-py' 'python-virtualenv'
+ 'python2-virtualenv' 'python-pluggy' 'python2-pluggy')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner')
+source=("https://pypi.io/packages/source/t/tox/tox-$pkgver.tar.gz")
+sha512sums=('ff19b2bb7ac963379f1cccd4973ad9eb4dabfbda976cde7caba50ad010d8fa57c1cba91d63e3e0512e44cc7d350bc9270fbd9b30db1bd55f7d9c239e7623d066')
+
+prepare() {
+ find tox-$pkgver -name "*.pyc" -delete
+
+ cp -a tox-$pkgver{,-py2}
+}
+
+build() {
+ cd "$srcdir"/tox-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/tox-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+ # Hack entry points
+
+ (
+ cd "$srcdir"/tox-$pkgver
+ virtualenv "$srcdir/pyvenv" --system-site-packages
+ . "$srcdir/pyvenv/bin/activate"
+ python setup.py install
+ python setup.py pytest
+ )
+
+ (
+ cd "$srcdir"/tox-$pkgver-py2
+ virtualenv2 "$srcdir/pyvenv-py2" --system-site-packages
+ . "$srcdir/pyvenv-py2/bin/activate"
+ python setup.py install
+ python setup.py pytest
+ )
+}
+
+package_python-tox() {
+ depends=('python-py' 'python-virtualenv' 'python-setuptools' 'python-pluggy')
+
+ cd "$srcdir"/tox-$pkgver
+ python setup.py install --root="$pkgdir" --optimize=1
+ ln -s tox "$pkgdir"/usr/bin/tox3
+}
+
+package_python2-tox() {
+ depends=('python2-py' 'python2-virtualenv' 'python2-setuptools' 'python2-pluggy')
+
+ cd "$srcdir"/tox-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ mv "$pkgdir"/usr/bin/tox{,2}
+ mv "$pkgdir"/usr/bin/{tox-quickstart,tox2-quickstart}
+}
diff --git a/abs/core/python_modules/python-tzlocal/PKGBUILD b/abs/core/python_modules/python-tzlocal/PKGBUILD
index b4e6905..1501907 100644
--- a/abs/core/python_modules/python-tzlocal/PKGBUILD
+++ b/abs/core/python_modules/python-tzlocal/PKGBUILD
@@ -1,45 +1,71 @@
-# Maintainer: eolianoe <eolianoe At GoogleMAIL DoT com>
+# Maintainer: David Runge <dave@sleepmap.de>
+# Contributor: eolianoe <eolianoe At GoogleMAIL DoT com>
# Contributor: Étienne Deparis <etienne [at] depar.is>
# Contributor: Patrice Peterson <runiq at archlinux dot us>
# Contributor: Patrick Burroughs <celticmadman at gmail dot com>
-_pyname=tzlocal
-pkgbase=python-${_pyname}
-pkgname=("python2-${_pyname}")
-pkgver=1.4
-pkgrel=1
+_name=tzlocal
+pkgbase=python-tzlocal
+pkgname=("python-tzlocal" "python2-tzlocal")
+pkgver=1.5.1
+pkgrel=3
pkgdesc="Tzinfo object for the local timezone"
arch=('any')
-url='https://pypi.python.org/pypi/tzlocal'
-license=('custom')
-makedepends=('python2-setuptools')
-source=("${_pyname}-${pkgver}.tar.gz::https://github.com/regebro/${_pyname}/archive/${pkgver}.tar.gz")
-sha256sums=('d3cdf502a4ae4b566abf948924e837b6c354aaed082eb1326c6c9043824cb4a7')
+url="https://pypi.python.org/pypi/tzlocal"
+license=('MIT')
+makedepends=('python-setuptools' 'python2-setuptools')
+checkdepends=('python-mock' 'python2-mock')
+source=("${_name}-${pkgver}.tar.gz::https://github.com/regebro/${_name}/archive/${pkgver}.tar.gz")
+sha512sums=('30dd1e3973c6fa0e0bde5a0365223506032177e96f997116edfe1fbdcff25cd735c90f205f0b95359a095749f1d1ac077903201533d460a72277891174cc1975')
prepare() {
- cp -a ${_pyname}-${pkgver}{,-py2}
+ mv -v "${_name}-${pkgver}" "${pkgname[0]}-${pkgver}"
+ cp -a "${pkgname}-${pkgver}" "${pkgname[1]}-${pkgver}"
}
build() {
-# cd "${srcdir}/${_pyname}-$pkgver"
-# python setup.py build
-
- cd "${srcdir}/${_pyname}-$pkgver-py2"
+ cd "${pkgname[0]}-${pkgver}"
+ python setup.py build
+ cd ../"${pkgname[1]}-${pkgver}"
python2 setup.py build
}
-package_python2-tzlocal() {
- depends=('python2-pytz')
- cd "${srcdir}/${_pyname}-${pkgver}-py2"
- python2 setup.py install --root="${pkgdir}" --optimize=1 --skip-build
- install -Dm0644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+check() {
+ cd "${pkgname[0]}-${pkgver}"
+ python setup.py test
+ cd ../"${pkgname[1]}-${pkgver}"
+ python2 setup.py test
}
package_python-tzlocal() {
depends=('python-pytz')
- cd "${srcdir}/${_pyname}-${pkgver}"
- python setup.py install --root="${pkgdir}" --optimize=1 --skip-build
- install -Dm0644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ cd "${pkgname[0]}-${pkgver}"
+ python setup.py install --skip-build \
+ --optimize=1 \
+ --prefix=/usr \
+ --root="${pkgdir}"
+ # license
+ install -vDm644 LICENSE.txt \
+ "${pkgdir}/usr/share/licenses/${pkgname[0]}/LICENSE"
+ # docs
+ install -t "${pkgdir}/usr/share/doc/${pkgname[0]}" \
+ -vDm644 {CHANGES.txt,README.rst}
+}
+
+package_python2-tzlocal() {
+ depends=('python2-pytz')
+ cd "${pkgname[1]}-${pkgver}"
+ python2 setup.py install --skip-build \
+ --optimize=1 \
+ --prefix=/usr \
+ --root="${pkgdir}"
+ # license
+ install -vDm644 LICENSE.txt \
+ "${pkgdir}/usr/share/licenses/${pkgname[1]}/LICENSE"
+ # docs
+ install -t "${pkgdir}/usr/share/doc/${pkgname[1]}" \
+ -vDm644 {CHANGES.txt,README.rst}
}
# vim:set ts=2 sw=2 et:
+
diff --git a/abs/core/python_modules/python-tzlocal/__changelog b/abs/core/python_modules/python-tzlocal/__changelog
deleted file mode 100644
index c6e1e55..0000000
--- a/abs/core/python_modules/python-tzlocal/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: don't build py 3 stuff
diff --git a/abs/core/python_modules/python-urllib3/PKGBUILD b/abs/core/python_modules/python-urllib3/PKGBUILD
index 3f881d2..e4af9f4 100644
--- a/abs/core/python_modules/python-urllib3/PKGBUILD
+++ b/abs/core/python_modules/python-urllib3/PKGBUILD
@@ -5,43 +5,49 @@
# Contributor: BorgHunter <borghunter at gmail dot com>
pkgbase=python-urllib3
-pkgname=(python2-urllib3)
-pkgver=1.21.1
+pkgname=(python-urllib3 python2-urllib3 python-urllib3-doc)
+pkgver=1.22
pkgrel=1
pkgdesc="HTTP library with thread-safe connection pooling and file post support"
arch=("any")
url="https://github.com/shazow/urllib3"
license=("MIT")
-makedepends=('python2-setuptools'
- 'python2-ndg-httpsclient' 'python2-pyasn1'
- 'python2-pyopenssl' 'python2-pysocks' 'python2-mock')
-checkdepends=('python2-nose' 'python2-tornado'
- 'python2-coverage' 'python2-psutil')
-source=("$pkgbase-$pkgver.tar.gz::https://github.com/shazow/urllib3/archive/$pkgver.tar.gz")
-md5sums=('b0a2c692ea273dc120b209a027b0df3c')
+makedepends=('python-setuptools' 'python2-setuptools' 'python2-sphinx' 'python-ndg-httpsclient'
+ 'python2-ndg-httpsclient' 'python-pyasn1' 'python2-pyasn1' 'python-pyopenssl'
+ 'python2-pyopenssl' 'python-pysocks' 'python2-pysocks' 'python-mock' 'python2-mock')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner' 'python-tornado' 'python2-tornado'
+ 'python-nose' 'python2-nose' 'python-psutil' 'python2-psutil'
+ 'python-gcp-devrel-py-tools' 'python2-gcp-devrel-py-tools')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/shazow/urllib3/archive/$pkgver.tar.gz"
+ tornado-4.3.patch)
+sha512sums=('1b45a4a64e71847a4fc62b9263235d5b05b62076698fa324454efeb7ad065abd702cc9eadb2d396d9270b07e91e9bad94c52a4b9b115aadccb27f81955e6feab'
+ '7c09acefa963a80379f8b2f3f2c2c7546ec62025058c1ae024bc954d49392d7956b8b3ceaed40b3d3ab06bcf9c74bfb4214425b66cc55c50ffc2642e2d35c498')
prepare() {
+ # https://github.com/shazow/urllib3/pull/1236
+ (cd urllib3-$pkgver; patch -p1 -i ../tornado-4.3.patch)
+
cp -a urllib3-$pkgver{,-py2}
}
build() {
-# cd "$srcdir"/urllib3-$pkgver
-# python setup.py build
+ cd "$srcdir"/urllib3-$pkgver
+ python setup.py build
cd "$srcdir"/urllib3-$pkgver-py2
python2 setup.py build
# Build with Python 2 since autodoc produces errors on Python 3
-# cd "$srcdir"/urllib3-$pkgver/docs
-# make SPHINXBUILD=sphinx-build2 html
+ cd "$srcdir"/urllib3-$pkgver/docs
+ make SPHINXBUILD=sphinx-build2 html
}
check() {
-# cd "$srcdir"/urllib3-$pkgver
-# nosetests3 || warning "Tests failed"
+ cd "$srcdir"/urllib3-$pkgver
+ python setup.py pytest
cd "$srcdir"/urllib3-$pkgver-py2
- nosetests2 || warning "Tests failed"
+ python2 setup.py pytest
}
package_python-urllib3() {
diff --git a/abs/core/python_modules/python-urllib3/__changelog b/abs/core/python_modules/python-urllib3/__changelog
deleted file mode 100644
index 49a28c7..0000000
--- a/abs/core/python_modules/python-urllib3/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: don't build py 3 stuff or sphinx
diff --git a/abs/core/python_modules/python-urllib3/tornado-4.3.patch b/abs/core/python_modules/python-urllib3/tornado-4.3.patch
new file mode 100644
index 0000000..7f4a669
--- /dev/null
+++ b/abs/core/python_modules/python-urllib3/tornado-4.3.patch
@@ -0,0 +1,23 @@
+From 39eebb652db570cf51994f404da3dd91c8a9f4cc Mon Sep 17 00:00:00 2001
+From: Felix Yan <felixonmars@archlinux.org>
+Date: Fri, 21 Jul 2017 23:25:35 +0800
+Subject: [PATCH] Fix compatibility with tornado 4.3+
+
+`HTTPHeaders` is not JSON serializable, so make it a dict first.
+---
+ dummyserver/handlers.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dummyserver/handlers.py b/dummyserver/handlers.py
+index a943b836b..b91fe7215 100644
+--- a/dummyserver/handlers.py
++++ b/dummyserver/handlers.py
+@@ -225,7 +225,7 @@ def encodingrequest(self, request):
+ return Response(data, headers=headers)
+
+ def headers(self, request):
+- return Response(json.dumps(request.headers))
++ return Response(json.dumps(dict(request.headers)))
+
+ def successful_retry(self, request):
+ """ Handler which will return an error and then success
diff --git a/abs/core/python_modules/python-vcversioner/PKGBUILD b/abs/core/python_modules/python-vcversioner/PKGBUILD
new file mode 100644
index 0000000..4727326
--- /dev/null
+++ b/abs/core/python_modules/python-vcversioner/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgbase=python-vcversioner
+pkgname=(python-vcversioner python2-vcversioner)
+pkgver=2.16.0.0
+pkgrel=1
+pkgdesc="Use version control tags to discover version numbers"
+url="https://github.com/habnabit/vcversioner"
+license=('ISC')
+arch=('any')
+makedepends=('python-setuptools' 'python2-setuptools')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner')
+source=("$pkgbase-$pkgver.tar.bz2::https://github.com/habnabit/vcversioner/archive/$pkgver.tar.gz")
+sha512sums=('0ce7edf28d0626707f977b565f938a754d374d0cada8683f05fa6d1088930d4d858213dbcb5dba149d828e76341eec4a168ef1998ce9894b72c35c1eef59bd08')
+
+prepare() {
+ echo -n "$pkgver-0-UNKNOWN" > vcversioner-$pkgver/version.txt
+ cp -a vcversioner-$pkgver{,-py2}
+}
+
+build() {
+ cd "$srcdir"/vcversioner-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/vcversioner-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+ cd "$srcdir"/vcversioner-$pkgver
+ python setup.py pytest
+
+ cd "$srcdir"/vcversioner-$pkgver-py2
+ python2 setup.py pytest
+}
+
+package_python-vcversioner() {
+ depends=('python')
+
+ cd vcversioner-$pkgver
+ python3 setup.py install --root="$pkgdir" --optimize=1
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+}
+
+package_python2-vcversioner() {
+ depends=('python2')
+
+ cd vcversioner-$pkgver-py2
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+}
diff --git a/abs/core/python_modules/python-virtualenv/PKGBUILD b/abs/core/python_modules/python-virtualenv/PKGBUILD
new file mode 100644
index 0000000..f7e71da
--- /dev/null
+++ b/abs/core/python_modules/python-virtualenv/PKGBUILD
@@ -0,0 +1,77 @@
+# $Id$
+# Maintainer: Dan McGee <dan@archlinux.org>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Daniele Paolella <dp@mcrservice.it>
+
+pkgname=('python-virtualenv' 'python2-virtualenv')
+pkgver=15.1.0
+pkgrel=3
+pkgdesc="Virtual Python Environment builder"
+url="https://virtualenv.pypa.io/"
+arch=('any')
+license=('MIT')
+makedepends=('python-setuptools' 'python-sphinx' 'python2-setuptools' 'python2-sphinx')
+checkdepends=('python-pytest' 'python-mock' 'python2-pytest' 'python2-mock')
+replaces=('virtualenv')
+conflicts=('virtualenv')
+options=('!makeflags')
+source=(${pkgname}-${pkgver}.tar.gz::https://github.com/pypa/virtualenv/archive/${pkgver}.tar.gz)
+md5sums=('30222e271963a437e240aee4853728d2')
+sha256sums=('aea627d114a3863d6374c5a3fc3cdd08907e0ac951cf93b458e5ba5998c516de')
+
+prepare() {
+ cp -a virtualenv-${pkgver}{,-py2}
+ cd virtualenv-${pkgver}-py2
+ sed -i "s|#!/usr/bin/env python$|#!/usr/bin/env python2|" virtualenv.py
+}
+
+build() {
+ (cd virtualenv-${pkgver}
+ python setup.py build
+ make -C docs text man
+ )
+ (cd virtualenv-${pkgver}-py2
+ python2 setup.py build
+ make -C docs text man
+ )
+}
+
+check() {
+ (cd virtualenv-${pkgver}
+ py.test
+ )
+ (cd virtualenv-${pkgver}-py2
+ py.test2
+ )
+}
+
+package_python-virtualenv() {
+ depends=('python-setuptools')
+
+ cd virtualenv-$pkgver
+ python setup.py install --prefix=/usr --root="$pkgdir" --skip-build
+ install -Dm 644 docs/_build/text/* -t "${pkgdir}/usr/share/doc/${pkgname}"
+ install -Dm 644 docs/_build/man/virtualenv.1 "${pkgdir}/usr/share/man/man1/virtualenv.1"
+ ln -s virtualenv.1.gz "${pkgdir}/usr/share/man/man1/virtualenv3.1.gz"
+
+ # link to a version with 3 suffix as well
+ ln "$pkgdir/usr/bin/virtualenv" "$pkgdir/usr/bin/virtualenv3"
+
+ install -D -m644 LICENSE.txt \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_python2-virtualenv() {
+ depends=('python2-setuptools')
+
+ cd virtualenv-$pkgver-py2
+ python2 setup.py install --prefix=/usr --root="$pkgdir" --skip-build
+ install -Dm 644 docs/_build/text/* -t "${pkgdir}/usr/share/doc/${pkgname}"
+ install -Dm 644 docs/_build/man/virtualenv.1 "${pkgdir}/usr/share/man/man1/virtualenv2.1"
+
+ # move this "old" version out of the way
+ mv "$pkgdir/usr/bin/virtualenv" "$pkgdir/usr/bin/virtualenv2"
+
+ install -D -m644 LICENSE.txt \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/abs/core/python_modules/python-webencodings/PKGBUILD b/abs/core/python_modules/python-webencodings/PKGBUILD
index 95f05b0..d0e832b 100644
--- a/abs/core/python_modules/python-webencodings/PKGBUILD
+++ b/abs/core/python_modules/python-webencodings/PKGBUILD
@@ -2,14 +2,14 @@
# Contributor: Jelle van der Waa <jelle@vdwaa.nl>
pkgbase=python-webencodings
-pkgname=('python2-webencodings')
+pkgname=('python2-webencodings' 'python-webencodings')
pkgver=0.5.1
-pkgrel=1
+pkgrel=2
arch=('any')
url="https://github.com/gsnedders/python-webencodings"
license=('BSD')
-makedepends=('python2' 'python2-setuptools')
-checkdepends=('python2-nose')
+makedepends=('python2' 'python' 'python-setuptools' 'python2-setuptools')
+checkdepends=('python-nose' 'python2-nose')
source=(https://github.com/gsnedders/python-webencodings/archive/v$pkgver.tar.gz)
md5sums=('7eb67377743cd55eaa356496c439471e')
diff --git a/abs/core/python_modules/python-webencodings/__changelog b/abs/core/python_modules/python-webencodings/__changelog
deleted file mode 100644
index 4f818ef..0000000
--- a/abs/core/python_modules/python-webencodings/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-PKGBUILD: don't build py 3 stuff
-
diff --git a/abs/core/python_modules/python-werkzeug/PKGBUILD b/abs/core/python_modules/python-werkzeug/PKGBUILD
index b8bfd64..0970226 100644
--- a/abs/core/python_modules/python-werkzeug/PKGBUILD
+++ b/abs/core/python_modules/python-werkzeug/PKGBUILD
@@ -5,57 +5,54 @@
# Contributor: Dan Serban
# Contributor: Richard Murri
-pkgname=('python2-werkzeug')
-pkgver=0.12.2
-pkgrel=1
+pkgname=('python-werkzeug' 'python2-werkzeug')
+pkgver=0.14.1
+pkgrel=2
pkgdesc='Swiss Army knife of Python web development'
url='http://werkzeug.pocoo.org/'
arch=('any')
license=('custom:BSD')
-makedepends=('python2-setuptools' 'python2-pytest' 'python2-requests')
+makedepends=('python-setuptools' 'python2-setuptools' 'python-pytest' 'python2-pytest' 'python-requests' 'python2-requests')
source=("https://github.com/pallets/werkzeug/archive/${pkgver}.tar.gz")
-sha512sums=('e0a27fb37599bd93c9e3e282e1f7f8e2bc9c2be30cce32d1b8a9788cbf998c3337061ade1cbe76858a64da0ebc89112b905567d561354af1b7d86cbd9a56c27d')
+sha512sums=('71ec293b702f247b68bf82b4ff9e4351e21aa1949221c3cba46cd0db3c3f10ca2009029bf26869230ad32cec29109b279876b71f4aa0de64dd6635725c9baecb')
prepare() {
cp -r "werkzeug-$pkgver" "python-werkzeug-$pkgver"
cp -r "werkzeug-$pkgver" "python2-werkzeug-$pkgver"
}
-build_python-werkzeug() {
- cd "$pkgname-$pkgver"
+build() {
+ cd "$srcdir/python-werkzeug-$pkgver"
python setup.py build
-}
-build_python2-werkzeug() {
- cd "$pkgname-$pkgver"
+ cd "$srcdir/python2-werkzeug-$pkgver"
python2 setup.py build
}
-#check() {
-# cd "python-werkzeug-$pkgver"
-# python setup.py test
+# check() {
+# cd "python-werkzeug-$pkgver"
+# python setup.py test
#
-# cd "python-werkzeug-$pkgver"
-# p3ython2 setup.py test
-#}
+# cd "python2-werkzeug-$pkgver"
+# python2 setup.py test
+# }
package_python-werkzeug() {
- depends+=('python')
- cd "$pkgname-$pkgver"
+ depends=('python')
+ cd "python-werkzeug-$pkgver"
python setup.py install --root="$pkgdir" --optimize=1
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
package_python2-werkzeug() {
- depends+=('python2')
- cd "$pkgname-$pkgver"
+ depends=('python2')
+ cd "python2-werkzeug-$pkgver"
python2 setup.py install --root="$pkgdir" --optimize=1
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
-# getver: https://github.com/mitsuhiko/werkzeug
# vim:set ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-werkzeug/__changelog b/abs/core/python_modules/python-werkzeug/__changelog
deleted file mode 100644
index 60db758..0000000
--- a/abs/core/python_modules/python-werkzeug/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: remove py3 stuff
diff --git a/abs/core/python_modules/python-whoosh/PKGBUILD b/abs/core/python_modules/python-whoosh/PKGBUILD
new file mode 100644
index 0000000..643da0d
--- /dev/null
+++ b/abs/core/python_modules/python-whoosh/PKGBUILD
@@ -0,0 +1,53 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Samuel Littley <aur@toastwaffle.com>
+# Contributor: rnons <remotenonsense at gmail dot com>
+
+pkgbase=python-whoosh
+pkgname=(python-whoosh python2-whoosh)
+pkgver=2.7.4
+pkgrel=2
+pkgdesc="Fast, pure-Python full text indexing, search, and spell checking library"
+arch=('any')
+url="http://bitbucket.org/mchaput/whoosh/wiki/Home"
+license=("BSD")
+makedepends=('python-setuptools' 'python2-setuptools' 'mercurial')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner')
+source=("hg+https://bitbucket.org/mchaput/whoosh#tag=$pkgver")
+md5sums=('SKIP')
+
+prepare() {
+ cp -a whoosh{,-py2}
+}
+
+build() {
+ cd "$srcdir"/whoosh
+ python setup.py build
+
+ cd "$srcdir"/whoosh-py2
+ python2 setup.py build
+}
+
+check() {
+ cd "$srcdir"/whoosh
+ python setup.py pytest
+
+ cd "$srcdir"/whoosh-py2
+ python2 setup.py pytest || warning "Tests failed"
+}
+
+package_python-whoosh() {
+ depends=('python')
+
+ cd whoosh
+ python setup.py install -O1 --root="$pkgdir"
+ install -D -m644 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt
+}
+
+package_python2-whoosh() {
+ depends=('python2')
+
+ cd whoosh-py2
+ python2 setup.py install -O1 --root="$pkgdir"
+ install -D -m644 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt
+}
diff --git a/abs/core/python_modules/python-yaml/PKGBUILD b/abs/core/python_modules/python-yaml/PKGBUILD
index f0fd7e6..7b6026d 100644
--- a/abs/core/python_modules/python-yaml/PKGBUILD
+++ b/abs/core/python_modules/python-yaml/PKGBUILD
@@ -1,36 +1,61 @@
-# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Michal Bozon <michal.bozon__at__gmail.com>
pkgbase=python-yaml
-pkgname=(python2-yaml)
-pkgver=3.11
-pkgrel=1
-pkgdesc="Python bindings for YAML, using fast libYAML library"
-arch=('i686' 'x86_64')
-url="http://pyyaml.org"
+pkgname=(python-yaml python2-yaml)
+pkgver=3.12
+pkgrel=3
+pkgdesc='Python bindings for YAML, using fast libYAML library'
+url='http://pyyaml.org/wiki/PyYAML'
+arch=('x86_64')
license=('MIT')
-makedepends=('python2' 'libyaml')
-install='python-yaml.install'
-source=(http://pyyaml.org/download/pyyaml/PyYAML-$pkgver.tar.gz)
-md5sums=('f50e08ef0fe55178479d3a618efe21db')
+makedepends=('python' 'python2' 'libyaml')
+source=(http://pyyaml.org/download/pyyaml/PyYAML-${pkgver}.tar.gz)
+sha512sums=('e16d8b7f4f026b6a95b11fb59c54ec5f114f6f516294eaa95e718abdf5d37c17a9c4b5e0a0a61fca04e801792d9b7fb801087cf849ff22b9581f6af204b1883a')
+
+prepare() {
+ cp -a PyYAML-${pkgver}{,-py2}
+}
build() {
- true
+ msg2 "Building python..."
+ (cd PyYAML-${pkgver}
+ python setup.py --with-libyaml build
+ )
+ msg2 "Building python2..."
+ (cd PyYAML-${pkgver}-py2
+ python2 setup.py --with-libyaml build
+ )
+}
+
+check() {
+ msg2 "Checking python..."
+ (cd PyYAML-${pkgver}
+ python setup.py test
+ )
+ msg2 "Checking python2..."
+ (cd PyYAML-${pkgver}-py2
+ python2 setup.py test
+ )
+}
+
+package_python-yaml() {
+ depends=('python' 'libyaml')
+
+ cd PyYAML-${pkgver}
+ python setup.py --with-libyaml install --prefix=/usr --root="${pkgdir}" -O1 --skip-build
+ install -Dm 644 LICENSE -t "${pkgdir}"/usr/share/licenses/${pkgname}
+ install -Dm 644 CHANGES README -t "${pkgdir}"/usr/share/doc/${pkgname}
}
package_python2-yaml() {
depends=('python2' 'libyaml')
- cd $srcdir/PyYAML-$pkgver
- python2 setup.py install --prefix=/usr --root=$pkgdir
- install -m644 -D LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+ cd PyYAML-${pkgver}-py2
+ python2 setup.py --with-libyaml install --prefix=/usr --root="${pkgdir}" -O1 --skip-build
+ install -Dm 644 LICENSE -t "${pkgdir}"/usr/share/licenses/${pkgname}
+ install -Dm 644 CHANGES README -t "${pkgdir}"/usr/share/doc/${pkgname}
}
-#package_python-yaml() {
-# depends=('python' 'libyaml')
-
-# cd $srcdir/PyYAML-$pkgver
-# python setup.py install --prefix=/usr --root=$pkgdir
-# install -m644 -D LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
-#}
+# vim: ts=2 sw=2 et:
diff --git a/abs/core/python_modules/python-yaml/__changelog b/abs/core/python_modules/python-yaml/__changelog
deleted file mode 100644
index 488d3cf..0000000
--- a/abs/core/python_modules/python-yaml/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: rm py 3 stuff
diff --git a/abs/core/python_modules/python-yaml/python-yaml.install b/abs/core/python_modules/python-yaml/python-yaml.install
deleted file mode 100644
index e2ae067..0000000
--- a/abs/core/python_modules/python-yaml/python-yaml.install
+++ /dev/null
@@ -1,7 +0,0 @@
-post_install() {
- cat << EOT
-==> Note that even though this package uses libyaml library,
-==> slower pure python implementation is used by default.
-==> See http://pyyaml.org/wiki/PyYAMLDocumentation
-EOT
-}
diff --git a/abs/core/python_modules/python-zope-interface/PKGBUILD b/abs/core/python_modules/python-zope-interface/PKGBUILD
new file mode 100644
index 0000000..c2e0df3
--- /dev/null
+++ b/abs/core/python_modules/python-zope-interface/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id$
+# Maintainer : Felix Yan <felixonmars@archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
+
+pkgbase=python-zope-interface
+pkgname=('python-zope-interface' 'python2-zope-interface')
+pkgver=4.4.3
+pkgrel=1
+license=('ZPL')
+arch=('x86_64')
+url="http://pypi.python.org/pypi/zope.interface"
+makedepends=('python-setuptools' 'python2-setuptools')
+checkdepends=('python-zope-event' 'python2-zope-event')
+source=("https://pypi.io/packages/source/z/zope.interface/zope.interface-$pkgver.tar.gz")
+sha512sums=('29d9f3f1fe9af8a4ffb1e6d2f067bba1fa1bac7b02690ba8429985aa6ca76d3f337076bc8c48f39d0f338ccd855800b2f28b319a183a285191cc007bf8d9c9ad')
+
+prepare() {
+ cp -a zope.interface-${pkgver}{,-py2}
+}
+
+build() {
+ cd "$srcdir"/zope.interface-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/zope.interface-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+ cd "$srcdir"/zope.interface-$pkgver
+ python setup.py test
+
+ cd "$srcdir"/zope.interface-$pkgver-py2
+ python2 setup.py test
+}
+
+package_python-zope-interface() {
+ pkgdesc='Zope Interfaces for Python 3.x'
+ depends=('python')
+
+ cd zope.interface-$pkgver
+ python setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
+}
+
+package_python2-zope-interface(){
+ pkgdesc='Zope Interfaces for Python 2.x'
+ depends=('python2')
+
+ cd zope.interface-$pkgver-py2
+ python2 setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
+}
diff --git a/abs/core/python_modules/python2-cairo/PKGBUILD b/abs/core/python_modules/python2-cairo/PKGBUILD
deleted file mode 100644
index 574eca2..0000000
--- a/abs/core/python_modules/python2-cairo/PKGBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# $Id$
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=python2-cairo
-pkgver=1.10.0
-pkgrel=3
-pkgdesc="Python2 bindings for the cairo graphics library"
-arch=('i686' 'x86_64')
-license=('LGPL' 'MPL')
-depends=('python2' 'cairo')
-provides=("pycairo=${pkgver}")
-conflicts=('pycairo')
-replaces=('pycairo')
-source=(http://cairographics.org/releases/py2cairo-${pkgver}.tar.bz2)
-url="http://www.cairographics.org/pycairo"
-md5sums=('20337132c4ab06c1146ad384d55372c5')
-
-build() {
- cd "${srcdir}/py2cairo-${pkgver}"
- sed -i 's:bin/env python:bin/env python2:' waf
- python2 ./waf --version
- pushd .waf-*
- popd
- PYTHON=/usr/bin/python2 ./waf configure --prefix=/usr
- PYTHON=/usr/bin/python2 ./waf build
-}
-
-package() {
- cd "${srcdir}/py2cairo-${pkgver}"
- PYTHON=/usr/bin/python2 ./waf install --destdir="${pkgdir}"
-}
diff --git a/abs/core/python_modules/python2-m2crypto/LICENSE b/abs/core/python_modules/python2-m2crypto/LICENSE
new file mode 100644
index 0000000..d2f636f
--- /dev/null
+++ b/abs/core/python_modules/python2-m2crypto/LICENSE
@@ -0,0 +1,26 @@
+Copyright (c) 1999-2004 Ng Pheng Siong. All rights reserved.
+
+Portions copyright (c) 2004-2006 Open Source Applications Foundation.
+All rights reserved.
+
+Portions copyright (c) 2005-2006 Vrije Universiteit Amsterdam.
+All rights reserved.
+
+Copyright (c) 2008-2010 Heikki Toivonen. All rights reserved.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation.
+
+THE AUTHOR PROVIDES THIS SOFTWARE ``AS IS'' AND ANY EXPRESSED OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/abs/core/python_modules/python2-m2crypto/PKGBUILD b/abs/core/python_modules/python2-m2crypto/PKGBUILD
new file mode 100644
index 0000000..36d5f9b
--- /dev/null
+++ b/abs/core/python_modules/python2-m2crypto/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 140196 2011-10-09 08:27:16Z angvp $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Contributor: Sergej Pupykin <sergej@aur.archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=python2-m2crypto
+pkgver=0.27.0
+pkgrel=1
+pkgdesc="A crypto and SSL toolkit for Python"
+arch=('x86_64')
+url="https://pypi.python.org/pypi/M2Crypto"
+license=('BSD')
+depends=('python2' 'openssl' 'python2-typing')
+makedepends=('swig' 'python2-setuptools')
+source=("https://pypi.python.org/packages/01/bd/a41491718f9e2bebab015c42b5be7071c6695acfa301e3fc0480bfd6a15b/M2Crypto-$pkgver.tar.gz"
+ "LICENSE")
+sha256sums=('82317459d653322d6b37f122ce916dc91ddcd9d1b814847497ac796c4549dd68'
+ '4eca478396f4b2b020729a111fce3f096456d74500bfd8f2b0388c3c69f997c0')
+
+build() {
+ cd "${srcdir}/M2Crypto-${pkgver}"
+ python2 setup.py build
+}
+
+package() {
+ cd "${srcdir}/M2Crypto-${pkgver}"
+ python2 setup.py install --root="${pkgdir}/" --optimize=1
+ install -D -m644 "$srcdir"/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/abs/core/python_modules/python2-m2crypto/openssl-1.1.0-force.patch b/abs/core/python_modules/python2-m2crypto/openssl-1.1.0-force.patch
new file mode 100644
index 0000000..3c37702
--- /dev/null
+++ b/abs/core/python_modules/python2-m2crypto/openssl-1.1.0-force.patch
@@ -0,0 +1,33 @@
+--- M2Crypto-0.25.1/setup.py 2016-07-22 14:43:17.000000000 +0200
++++ M2Crypto-0.25.1.dirty/setup.py 2017-03-23 18:18:35.128517781 +0100
+@@ -70,8 +70,8 @@
+ self.libraries = ['ssleay32', 'libeay32']
+ self.openssl = 'c:\\pkg'
+ else:
+- self.libraries = ['ssl', 'crypto']
+- self.openssl = '/usr'
++ self.libraries = [':libssl.so.1.0.0', ':libcrypto.so.1.0.0']
++ self.openssl = '/usr/lib/openssl-1.0/'
+
+ def finalize_options(self):
+ '''Overloaded build_ext implementation to append custom openssl
+@@ -87,16 +87,11 @@
+ if _openssl and os.path.isdir(_openssl):
+ self.openssl = _openssl
+
+- self.include_dirs.append(os.path.join(self.openssl, 'include'))
+- openssl_library_dir = os.path.join(self.openssl, 'lib')
++ self.include_dirs.append(os.path.join('/usr/include/', 'openssl-1.0'))
++
++ openssl_library_dir = os.path.join('/usr/lib/', 'openssl-1.0')
+
+ if platform.system() == "Linux":
+- if _multiarch: # on Fedora/RHEL it is an empty string
+- self.include_dirs.append(
+- os.path.join(self.openssl, 'include', _multiarch))
+- else:
+- self.include_dirs.append(
+- os.path.join(self.openssl, 'include', 'openssl'))
+
+ # For RedHat-based distros, the '-D__{arch}__' option for
+ # Swig needs to be normalized, particularly on i386.
diff --git a/abs/core/python_modules/python2-oauth/PKGBUILD b/abs/core/python_modules/python2-oauth/PKGBUILD
new file mode 100644
index 0000000..83f3f09
--- /dev/null
+++ b/abs/core/python_modules/python2-oauth/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Jonathan Conder <jonno.conder@gmail.com>
+# Contributor: Snowknight (hopkinsth@gmail.com)
+
+_pkgbasename=oauth
+pkgname=python2-oauth
+pkgver=1.0.1
+pkgrel=3
+pkgdesc="An open protocol to allow API authentication from desktop and web applications."
+arch=('any')
+url="https://code.google.com/archive/p/oauth/"
+license=('MIT')
+depends=('python2')
+makedepends=('python2-setuptools')
+conflicts=('python-oauth')
+replaces=('python-oauth')
+source=("https://files.pythonhosted.org/packages/source/${_pkgbasename:0:1}/$_pkgbasename/$_pkgbasename-$pkgver.tar.gz")
+sha256sums=('e769819ff0b0c043d020246ce1defcaadd65b9c21d244468a45a7f06cb88af5d')
+
+build() {
+ cd $_pkgbasename-$pkgver
+
+ python2 setup.py build
+}
+
+package() {
+ cd $_pkgbasename-$pkgver
+
+ python2 setup.py install -O1 --root="$pkgdir"
+ install -D -m644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/abs/core/python_modules/python2-typing/PKGBUILD b/abs/core/python_modules/python2-typing/PKGBUILD
new file mode 100644
index 0000000..ac90a5b
--- /dev/null
+++ b/abs/core/python_modules/python2-typing/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Johannes Löthberg <johannes@kyriasis.com>
+
+pkgname=python2-typing
+pkgver=3.6.4
+pkgrel=1
+
+pkgdesc="Backport of the standard library typing module to Python versions older than 3.6"
+url="https://pypi.python.org/pypi/typing"
+arch=('any')
+license=('FSF')
+
+makedepends=('python2'
+ 'python2-setuptools')
+
+source=("python2-typing-$pkgver.tar.gz::https://pypi.io/packages/source/t/typing/typing-$pkgver.tar.gz")
+
+md5sums=('5b2ade08d83be488f17b5fe587c27c74')
+
+build() {
+ cd typing-$pkgver
+ python2 setup.py build
+}
+
+package() {
+ depends=('python2')
+
+ cd typing-$pkgver
+ python2 setup.py install --root "$pkgdir" --optimize=1 --skip-build
+}
diff --git a/abs/core/python_modules/python2-typing/python2-typing-3.6.1.tar.gz b/abs/core/python_modules/python2-typing/python2-typing-3.6.1.tar.gz
new file mode 100644
index 0000000..1097c24
--- /dev/null
+++ b/abs/core/python_modules/python2-typing/python2-typing-3.6.1.tar.gz
Binary files differ
diff --git a/abs/core/python_modules/sip/PKGBUILD b/abs/core/python_modules/sip/PKGBUILD
new file mode 100644
index 0000000..66c8952
--- /dev/null
+++ b/abs/core/python_modules/sip/PKGBUILD
@@ -0,0 +1,66 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: 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' 'python-sip' 'python2-sip')
+pkgver=4.19.8
+pkgrel=1
+arch=('x86_64')
+url='http://www.riverbankcomputing.com/software/sip/intro'
+license=('custom:"sip"')
+makedepends=('python' 'python2')
+source=("http://sourceforge.net/projects/pyqt/files/sip/sip-$pkgver/sip-$pkgver.tar.gz")
+sha256sums=('7eaf7a2ea7d4d38a56dd6d2506574464bddf7cf284c960801679942377c297bc')
+
+prepare() {
+ cp -a sip-$pkgver{,-py2}
+}
+
+build() {
+ cd "$srcdir"/sip-$pkgver
+ python configure.py CFLAGS="$CFLAGS" LFLAGS="$LDFLAGS"
+ make
+
+ cd "$srcdir"/sip-$pkgver-py2
+ 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 sip-$pkgver
+ make DESTDIR="$pkgdir" install -C sipgen
+
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python-sip() {
+ pkgdesc="Python 3.x SIP bindings for C and C++ libraries"
+ depends=('sip' 'python')
+
+ cd sip-$pkgver
+ make DESTDIR="$pkgdir" install -C siplib
+
+ install -Dm644 sipconfig.py "$pkgdir"/usr/lib/python3.6/site-packages/sipconfig.py
+ install -Dm644 sipdistutils.py "$pkgdir"/usr/lib/python3.6/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 sip-$pkgver-py2
+ 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/core/python_modules/twisted/PKGBUILD b/abs/core/python_modules/twisted/PKGBUILD
new file mode 100644
index 0000000..ef50622
--- /dev/null
+++ b/abs/core/python_modules/twisted/PKGBUILD
@@ -0,0 +1,99 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
+
+pkgbase=twisted
+pkgname=(python-twisted python2-twisted)
+pkgver=17.9.0
+pkgrel=1
+pkgdesc="Asynchronous networking framework written in Python"
+arch=('x86_64')
+url="http://twistedmatrix.com/"
+license=('MIT')
+makedepends=('python-zope-interface' 'python2-zope-interface' 'python-setuptools'
+ 'python2-setuptools' 'python-service-identity' 'python2-service-identity'
+ 'python-incremental' 'python2-incremental' 'python-constantly' 'python2-constantly'
+ 'python-automat' 'python2-automat' 'python-hyperlink' 'python2-hyperlink')
+checkdepends=('subversion' 'python2-sphinx' 'pygtk' 'xorg-server-xvfb' 'tk' 'openssh' 'gtk3'
+ 'python-gobject' 'python2-gobject' 'python-gobject2' 'python2-gobject2'
+ 'python2-soappy' 'python-subunit' 'python2-subunit' 'python-h2' 'python2-h2'
+ 'python-priority' 'python2-priority' 'python-crypto' 'python2-crypto'
+ 'python-cryptography' 'python2-cryptography' 'python-idna' 'python2-idna'
+ 'python-pyserial' 'python2-pyserial')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/twisted/twisted/archive/twisted-$pkgver.tar.gz")
+sha512sums=('3fb269dd928d2446e50cb5e4aa43d208d3aa7ed3902a0a7c39b8dabe9792344ad924fc500d507d34118ba2acdfd433a31aa812dd5309b01fdcb45de49e7b84ae')
+
+prepare() {
+ cp -a twisted-twisted-$pkgver{,-py2}
+
+ sed -i 's:^#!.*bin.*python:#!/usr/bin/python2:' \
+ twisted-twisted-$pkgver-py2/src/twisted/mail/test/pop3testserver.py \
+ twisted-twisted-$pkgver-py2/src/twisted/trial/test/scripttest.py
+}
+
+build() {
+ cd "$srcdir"/twisted-twisted-$pkgver
+ python setup.py build
+
+ cd "$srcdir"/twisted-twisted-$pkgver-py2
+ python2 setup.py build
+}
+
+check() {
+ export LC_CTYPE=en_US.UTF-8
+
+ cd "$srcdir"/twisted-twisted-$pkgver
+ PYTHONPATH="$PWD/build/lib.linux-$CARCH-3.6:$PYTHONPATH" xvfb-run python -m twisted.trial twisted
+
+ cd "$srcdir"/twisted-twisted-$pkgver-py2
+ PYTHONPATH="$PWD/build/lib.linux-$CARCH-2.7:$PYTHONPATH" xvfb-run python2 -m twisted.trial twisted || warning "Tests failed"
+}
+
+package_python-twisted() {
+ depends=('python-zope-interface' 'python-incremental' 'python-constantly' 'python-automat'
+ 'python-hyperlink')
+ optdepends=('python-pyopenssl: for TLS client hostname verification'
+ 'python-service-identity: for TLS client hostname verification'
+ 'python-idna: for TLS client hostname verification'
+ 'python-cryptography: for using conch'
+ 'python-pyasn1: for using conch'
+ 'python-appdirs: for using conch'
+ 'python-h2: for http2 support'
+ 'python-priority: for http2 support'
+ 'python-pyserial: for serial support'
+ 'tk: for using tkconch')
+
+ cd twisted-twisted-$pkgver
+ python setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
+
+ # twisted in python 3 supports only few command line tools for now.
+ # Let's rename the tools the other way round after the python 3 version supports all.
+ for name in trial twistd twist ckeygen cftp conch pyhtmlizer tkconch; do
+ mv "$pkgdir"/usr/bin/${name}{,3}
+ done
+
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python2-twisted() {
+ depends=('python2-zope-interface' 'python2-incremental' 'python2-constantly' 'python2-automat'
+ 'python2-hyperlink')
+ optdepends=('python2-pyopenssl: for TLS client hostname verification'
+ 'python2-service-identity: for TLS client hostname verification'
+ 'python2-idna: for TLS client hostname verification'
+ 'python2-cryptography: for using conch'
+ 'python2-pyasn1: for using conch'
+ 'python2-appdirs: for using conch'
+ 'python2-h2: for http2 support'
+ 'python2-priority: for http2 support'
+ 'python2-pyserial: for serial support'
+ 'python2-soappy: for twisted.web.soap'
+ 'pygtk: for using manhole'
+ 'tk: for using tkconch')
+
+ cd twisted-twisted-$pkgver-py2
+ python2 setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
+ install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/abs/core/python_modules/urlgrabber/PKGBUILD b/abs/core/python_modules/urlgrabber/PKGBUILD
index 77f188e..6a5ba50 100644
--- a/abs/core/python_modules/urlgrabber/PKGBUILD
+++ b/abs/core/python_modules/urlgrabber/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id$
-# Maintainer: Chris Brannon <cmbrannon79@gmail.com>
+# Maintainer: Matt Harrison <matt@harrison.us.com>
+# Contributor: Chris Brannon <cmbrannon79@gmail.com>
# Contributor: Pat Rondon <pmr@@patrondon.org>
pkgname=urlgrabber
-pkgver=3.10.1
-pkgrel=2
+pkgver=3.10.2
+pkgrel=1
pkgdesc="A high-level cross-protocol url-grabber and Python library"
url="http://urlgrabber.baseurl.org/"
license=('LGPL')
arch=(any)
depends=(python2 python2-pycurl)
source=(http://$pkgname.baseurl.org/download/$pkgname-$pkgver.tar.gz)
-md5sums=('1f5dc63805623cc473e06204fd240bb2')
+sha256sums=('53691185e3d462bb0fa8db853a205ee79cdd4089687cddd22cabb8b3d4280142')
package() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/abs/core/qt5-3d/PKGBUILD b/abs/core/qt5-3d/PKGBUILD
new file mode 100644
index 0000000..3e5beca
--- /dev/null
+++ b/abs/core/qt5-3d/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qt5-3d
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='C++ and QML APIs for easy inclusion of 3D graphics'
+depends=('qt5-declarative' 'assimp')
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
+sha256sums=('041fb42536a72bbf9be17a6f52d4b73ce93fb98b456fd63503cc47d80d196b3b')
+
+prepare() {
+ mkdir -p build
+}
+
+build() {
+ cd build
+
+ qmake ../${_pkgfqn}
+ make
+}
+
+package() {
+ cd build
+ make INSTALL_ROOT="$pkgdir" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "$pkgdir/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}
diff --git a/abs/core/qt5-base/PKGBUILD b/abs/core/qt5-base/PKGBUILD
new file mode 100644
index 0000000..1cb9883
--- /dev/null
+++ b/abs/core/qt5-base/PKGBUILD
@@ -0,0 +1,119 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgbase=qt5-base
+pkgname=(qt5-base qt5-xcb-private-headers)
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=3
+arch=('x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='A cross-platform application and UI framework'
+depends=('libjpeg-turbo' 'xcb-util-keysyms' 'xcb-util-renderutil' 'libgl' 'fontconfig' 'xdg-utils'
+ 'xcb-util-wm' 'libxrender' 'libxi' 'sqlite' 'xcb-util-image' 'icu' 'pcre2'
+ 'libinput' 'libsm' 'libxkbcommon-x11' 'libproxy' 'libcups' 'double-conversion')
+makedepends=('libfbclient' 'libmysqlclient' 'sqlite' 'unixodbc' 'postgresql-libs' 'alsa-lib' 'gst-plugins-base-libs'
+ 'gtk3' 'cups' 'freetds' 'vulkan-headers')
+optdepends=('qt5-svg: to use SVG icon themes'
+ 'postgresql-libs: PostgreSQL driver'
+ 'libmysqlclient: mysql driver'
+ 'unixodbc: ODBC driver'
+ 'libfbclient: Firebird/iBase driver'
+ 'freetds: MS SQL driver'
+ 'gtk3: GTK platform plugin')
+conflicts=('qtchooser')
+groups=('qt' 'qt5')
+_pkgfqn="${pkgbase/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz"
+ revert-Set-sharedPainter-correctly-for-QGraphicsEffect.patch
+ qtbug-65478.patch)
+sha256sums=('d8660e189caa5da5142d5894d328b61a4d3ee9750b76d61ad74e4eee8765a969'
+ '7161ea5747500dc9666f8d185f4b8e538799fc0aef574e577277747100ac4763'
+ 'b2e8cb06c60be7de31a984c4cfc9ab85c9e2d08c1a3d93136f193735b43600c6')
+
+prepare() {
+ cd ${_pkgfqn}
+
+ # Build qmake using Arch {C,LD}FLAGS
+ # This also sets default {C,CXX,LD}FLAGS for projects built using qmake
+ sed -i -e "s|^\(QMAKE_CFLAGS_RELEASE.*\)|\1 ${CFLAGS}|" \
+ mkspecs/common/gcc-base.conf
+ sed -i -e "s|^\(QMAKE_LFLAGS_RELEASE.*\)|\1 ${LDFLAGS}|" \
+ mkspecs/common/g++-unix.conf
+
+ # Use python2 for Python 2.x
+ find . -name '*.py' -exec sed -i \
+ 's|#![ ]*/usr/bin/python$|&2|;s|#![ ]*/usr/bin/env python$|&2|' {} +
+
+ # Fix missing private includes https://bugreports.qt.io/browse/QTBUG-37417
+ sed -e '/CMAKE_NO_PRIVATE_INCLUDES\ \=\ true/d' -i mkspecs/features/create_cmake.prf
+
+ # Revert upstream commit which breaks some Deepin components (FS#57531)
+ # https://bugreports.qt.io/browse/QTBUG-66226
+ patch -Np1 -i ../revert-Set-sharedPainter-correctly-for-QGraphicsEffect.patch
+ # Fix kexi crash at startup http://bugreports.qt.io/browse/QTBUG-65478
+ patch -p1 -i ../qtbug-65478.patch
+}
+
+build() {
+ cd ${_pkgfqn}
+
+ PYTHON=/usr/bin/python2 ./configure -confirm-license -opensource -v \
+ -prefix /usr \
+ -docdir /usr/share/doc/qt \
+ -headerdir /usr/include/qt \
+ -archdatadir /usr/lib/qt \
+ -datadir /usr/share/qt \
+ -sysconfdir /etc/xdg \
+ -examplesdir /usr/share/doc/qt/examples \
+ -plugin-sql-{psql,mysql,sqlite,odbc,ibase} \
+ -system-sqlite \
+ -openssl-linked \
+ -nomake examples \
+ -no-rpath \
+ -optimized-qmake \
+ -dbus-linked \
+ -system-harfbuzz \
+ -journald \
+ -no-use-gold-linker \
+ -reduce-relocations
+ make
+}
+
+package_qt5-base() {
+ pkgdesc='A cross-platform application and UI framework'
+
+ cd ${_pkgfqn}
+ make INSTALL_ROOT="${pkgdir}" install
+
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgbase}/LGPL_EXCEPTION.txt
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ # Fix wrong qmake path in pri file
+ sed -i "s|${srcdir}/${_pkgfqn}|/usr|" \
+ "${pkgdir}"/usr/lib/qt/mkspecs/modules/qt_lib_bootstrap_private.pri
+
+ # Symlinks for backwards compatibility
+ for b in "${pkgdir}"/usr/bin/*; do
+ ln -s /usr/bin/$(basename $b) "${pkgdir}"/usr/bin/$(basename $b)-qt5
+ done
+}
+
+package_qt5-xcb-private-headers() {
+ pkgdesc='Private headers for Qt5 Xcb'
+
+ depends=("qt5-base=$pkgver")
+ optdepends=()
+ groups=()
+ conflicts=()
+
+ cd ${_pkgfqn}
+ install -d -m755 "$pkgdir"/usr/include/qtxcb-private
+ cp -r src/plugins/platforms/xcb/*.h "$pkgdir"/usr/include/qtxcb-private/
+}
diff --git a/abs/core/qt5/__changelog b/abs/core/qt5-base/__changelog
index 4049625..4049625 100644
--- a/abs/core/qt5/__changelog
+++ b/abs/core/qt5-base/__changelog
diff --git a/abs/core/qt5-base/qtbug-65478.patch b/abs/core/qt5-base/qtbug-65478.patch
new file mode 100644
index 0000000..e75069c
--- /dev/null
+++ b/abs/core/qt5-base/qtbug-65478.patch
@@ -0,0 +1,31 @@
+From e8425f9e52c9df0ce0fbf122adff3ef6930f9961 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Thorbj=C3=B8rn=20Lund=20Martsum?= <tmartsum@gmail.com>
+Date: Wed, 28 Feb 2018 09:23:54 +0100
+Subject: QHeaderView: Fix crash in layout about to change
+
+Before there was a risk looking up e.g index -1 if there
+were no visible sections in layoutAboutToChange.
+
+Change-Id: Ic911e4292e8e8c4892fef1c0f34cf7dccaad2bac
+Task-number: QTBUG-65478
+Reviewed-by: David Faure <david.faure@kdab.com>
+---
+diff --git a/src/widgets/itemviews/qheaderview.cpp b/src/widgets/itemviews/qheaderview.cpp
+index 26d7c5472a..708b9b44ca 100644
+--- a/src/widgets/itemviews/qheaderview.cpp
++++ b/src/widgets/itemviews/qheaderview.cpp
+@@ -2163,9 +2163,11 @@ void QHeaderViewPrivate::_q_sectionsAboutToBeChanged()
+ layoutChangePersistentSections.clear();
+ layoutChangePersistentSections.reserve(std::min(10, sectionItems.count()));
+ // after layoutChanged another section can be last stretched section
+- if (stretchLastSection) {
++ if (stretchLastSection && lastSectionLogicalIdx >= 0 && lastSectionLogicalIdx < sectionItems.count()) {
+ const int visual = visualIndex(lastSectionLogicalIdx);
+- sectionItems[visual].size = lastSectionSize;
++ if (visual >= 0 && visual < sectionItems.size()) {
++ sectionItems[visual].size = lastSectionSize;
++ }
+ }
+ for (int i = 0; i < sectionItems.size(); ++i) {
+ auto s = sectionItems.at(i);
+
diff --git a/abs/core/qt5-base/rebuild.list b/abs/core/qt5-base/rebuild.list
new file mode 100644
index 0000000..fdb9fec
--- /dev/null
+++ b/abs/core/qt5-base/rebuild.list
@@ -0,0 +1,25 @@
+### Rebuild only for minor version updates
+calibre
+gcin
+kwin
+lxqt-qtplugin
+plasma-framework
+plasma-integration
+qqc2-desktop-style
+qt5ct
+### Rebuild for minor and patch version updates
+akonadi
+deepin-dock
+deepin-file-manager
+deepin-qt-dbus-factory
+deepin-qt5integration
+deepin-qt5dxcb-plugin
+dtkwidget
+dtkwm
+fcitx-qt5
+googlemaps
+libqtxdg
+pyqt5-common
+qt5-styleplugins
+qt5-webkit
+skrooge
diff --git a/abs/core/qt5-base/revert-Set-sharedPainter-correctly-for-QGraphicsEffect.patch b/abs/core/qt5-base/revert-Set-sharedPainter-correctly-for-QGraphicsEffect.patch
new file mode 100644
index 0000000..da692d0
--- /dev/null
+++ b/abs/core/qt5-base/revert-Set-sharedPainter-correctly-for-QGraphicsEffect.patch
@@ -0,0 +1,71 @@
+From f4bc1f620727366b6a977b106cc68fade95ef426 Mon Sep 17 00:00:00 2001
+From: Evangelos Foutras <evangelos@foutrelis.com>
+Date: Wed, 21 Feb 2018 04:20:20 +0200
+Subject: [PATCH] Revert "Set sharedPainter correctly for QGraphicsEffect"
+
+This reverts commit 7257862fb2edfab0219d6cd45c83677049404f7d.
+---
+ src/widgets/kernel/qwidget.cpp | 4 ++--
+ .../effects/qgraphicseffect/tst_qgraphicseffect.cpp | 21 ---------------------
+ 2 files changed, 2 insertions(+), 23 deletions(-)
+
+diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
+index a973bee2cd..256c77e5a0 100644
+--- a/src/widgets/kernel/qwidget.cpp
++++ b/src/widgets/kernel/qwidget.cpp
+@@ -5482,11 +5482,11 @@ void QWidgetPrivate::drawWidget(QPaintDevice *pdev, const QRegion &rgn, const QP
+ setSystemClip(pdev->paintEngine(), pdev->devicePixelRatioF(), rgn.translated(offset));
+ QPainter p(pdev);
+ p.translate(offset);
+- context.painter = context.sharedPainter = &p;
++ context.painter = &p;
+ graphicsEffect->draw(&p);
+ setSystemClip(pdev->paintEngine(), 1, QRegion());
+ } else {
+- context.painter = context.sharedPainter = sharedPainter;
++ context.painter = sharedPainter;
+ if (sharedPainter->worldTransform() != sourced->lastEffectTransform) {
+ sourced->invalidateCache();
+ sourced->lastEffectTransform = sharedPainter->worldTransform();
+diff --git a/tests/auto/widgets/effects/qgraphicseffect/tst_qgraphicseffect.cpp b/tests/auto/widgets/effects/qgraphicseffect/tst_qgraphicseffect.cpp
+index dfe5baba71..a1cb729849 100644
+--- a/tests/auto/widgets/effects/qgraphicseffect/tst_qgraphicseffect.cpp
++++ b/tests/auto/widgets/effects/qgraphicseffect/tst_qgraphicseffect.cpp
+@@ -52,7 +52,6 @@ private slots:
+ void boundingRect2();
+ void draw();
+ void opacity();
+- void nestedOpaqueOpacity();
+ void grayscale();
+ void colorize();
+ void drawPixmapItem();
+@@ -408,26 +407,6 @@ void tst_QGraphicsEffect::opacity()
+ QCOMPARE(effect->m_opacity, qreal(0.5));
+ }
+
+-void tst_QGraphicsEffect::nestedOpaqueOpacity()
+-{
+- // QTBUG-60231: Nesting widgets with a QGraphicsEffect on a toplevel with
+- // QGraphicsOpacityEffect caused crashes due to constructing several
+- // QPainter instances on a device in the fast path for
+- // QGraphicsOpacityEffect::opacity=1
+- QWidget topLevel;
+- topLevel.setWindowTitle(QTest::currentTestFunction());
+- topLevel.resize(320, 200);
+- QGraphicsOpacityEffect *opacityEffect = new QGraphicsOpacityEffect;
+- opacityEffect->setOpacity(1);
+- topLevel.setGraphicsEffect(opacityEffect);
+- QWidget *child = new QWidget(&topLevel);
+- child->resize(topLevel.size() / 2);
+- QGraphicsDropShadowEffect *childEffect = new QGraphicsDropShadowEffect;
+- child->setGraphicsEffect(childEffect);
+- topLevel.show();
+- QVERIFY(QTest::qWaitForWindowExposed(&topLevel));
+-}
+-
+ void tst_QGraphicsEffect::grayscale()
+ {
+ if (qApp->desktop()->depth() < 24)
+--
+2.16.2
+
diff --git a/abs/core/qt5-canvas3d/PKGBUILD b/abs/core/qt5-canvas3d/PKGBUILD
new file mode 100644
index 0000000..bc239a6
--- /dev/null
+++ b/abs/core/qt5-canvas3d/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qt5-canvas3d
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='A JavaScript 3D rendering API for Qt Quick'
+depends=('qt5-declarative')
+makedepends=()
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
+sha256sums=('de829a8e6aa4b8496048e9b6f3bff306a80c35935855a94426025ddfb8bcb0c0')
+
+prepare() {
+ mkdir -p build
+}
+
+build() {
+ cd build
+
+ qmake ../${_pkgfqn}
+ make
+}
+
+package() {
+ cd build
+ make INSTALL_ROOT="$pkgdir" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "$pkgdir/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}
diff --git a/abs/core/qt5-connectivity/PKGBUILD b/abs/core/qt5-connectivity/PKGBUILD
new file mode 100644
index 0000000..3ae356b
--- /dev/null
+++ b/abs/core/qt5-connectivity/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qt5-connectivity
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='Provides access to Bluetooth hardware'
+depends=('qt5-base' 'bluez-libs')
+makedepends=('qt5-declarative')
+optdepends=('qt5-declarative: QML bindings')
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
+sha256sums=('652821dc6819658ec4bc1a6bf149fd7a61008748ff4745b54f038ccf276d3ec9')
+
+prepare() {
+ mkdir -p build
+}
+
+build() {
+ cd build
+
+ qmake ../${_pkgfqn}
+ make
+}
+
+package() {
+ cd build
+ make INSTALL_ROOT="$pkgdir" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "$pkgdir/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}
diff --git a/abs/core/qt5-declarative/PKGBUILD b/abs/core/qt5-declarative/PKGBUILD
new file mode 100644
index 0000000..9a76eb6
--- /dev/null
+++ b/abs/core/qt5-declarative/PKGBUILD
@@ -0,0 +1,57 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qt5-declarative
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=2
+arch=('x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='Classes for QML and JavaScript languages'
+depends=('qt5-xmlpatterns')
+makedepends=('python2')
+groups=('qt' 'qt5')
+conflicts=('qtchooser' 'qt5-declarative-render2d')
+replaces=('qt5-declarative-render2d')
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz"
+ qtbug-65789.patch::"https://github.com/qt/qtdeclarative/commit/f42f1366.patch")
+sha256sums=('3af9ed51bce5b5c6f04c4a67a6008f98765ccde897c43fff670621ab70789553'
+ '4a44baeb8b08d8e9e6ac76ffc0a0baf521b09c2396ae5926f56d0794cedd2586')
+
+prepare() {
+ mkdir -p build
+
+ # Use python2 for Python 2.x
+ find -name '*.pro' -o -name '*.pri' | xargs sed -i -e 's|python -c|python2 -c|g' -e 's|python \$|python2 \$|g'
+
+ cd ${_pkgfqn}
+ patch -Rp1 -i ../qtbug-65789.patch # https://bugreports.qt.io/browse/QTBUG-65789
+}
+
+build() {
+ cd build
+
+ export PYTHON=python2
+ qmake ../${_pkgfqn}
+ make
+}
+
+package() {
+ cd build
+ make INSTALL_ROOT="$pkgdir" install
+
+ # Symlinks for backwards compatibility
+ for b in "$pkgdir"/usr/bin/*; do
+ ln -s /usr/bin/$(basename $b) "$pkgdir"/usr/bin/$(basename $b)-qt5
+ done
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "$pkgdir/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}
diff --git a/abs/core/qt5-declarative/qtbug-61754.patch b/abs/core/qt5-declarative/qtbug-61754.patch
new file mode 100644
index 0000000..e5352ec
--- /dev/null
+++ b/abs/core/qt5-declarative/qtbug-61754.patch
@@ -0,0 +1,25 @@
+From 768f606cd3cd37c235e85225127201a42d272946 Mon Sep 17 00:00:00 2001
+From: Joni Poikelin <joni.poikelin@qt.io>
+Date: Thu, 17 Aug 2017 09:49:25 +0300
+Subject: [PATCH] Fix memory leaks with threaded renderer
+
+Reverts 39061af50cc3092289cdd71d17802139590ecb59 and calls endSync()
+instead after syncSceneGraph().
+
+Task-number: QTBUG-61754
+Change-Id: I7b51ffdc93557bacd93927dd642ec3715980b21c
+Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
+Reviewed-by: Roger Zanoni <rogerzanoni@gmail.com>
+---
+diff --git a/src/quick/scenegraph/qsgthreadedrenderloop.cpp b/src/quick/scenegraph/qsgthreadedrenderloop.cpp
+index 3a8e673c0..d28a73da2 100644
+--- a/src/quick/scenegraph/qsgthreadedrenderloop.cpp
++++ b/src/quick/scenegraph/qsgthreadedrenderloop.cpp
+@@ -553,6 +553,7 @@ void QSGRenderThread::sync(bool inExpose)
+ if (d->renderer)
+ d->renderer->clearChangedFlag();
+ d->syncSceneGraph();
++ sgrc->endSync();
+ if (!hadRenderer && d->renderer) {
+ qCDebug(QSG_LOG_RENDERLOOP) << QSG_RT_PAD << "- renderer was created";
+ syncResultedInChanges = true;
diff --git a/abs/core/qt5-doc/PKGBUILD b/abs/core/qt5-doc/PKGBUILD
new file mode 100644
index 0000000..1984921
--- /dev/null
+++ b/abs/core/qt5-doc/PKGBUILD
@@ -0,0 +1,63 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Michael Hansen <zrax0111 gmail com>
+
+pkgname=qt5-doc
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('any')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='A cross-platform application and UI framework (Documentation)'
+depends=('qt5-base')
+makedepends=('qt5-tools' 'python2' 'pciutils' 'libxtst' 'libxcursor' 'libxrandr' 'libxss' 'libxcomposite' 'gperf' 'nss')
+groups=('qt' 'qt5')
+_pkgfqn="qt-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/single/${_pkgfqn}.tar.xz"
+ qt-no-statx.patch)
+sha256sums=('05ffba7b811b854ed558abf2be2ddbd3bb6ddd0b60ea4b5da75d277ac15e740a'
+ '5cd1d90622cc53609806a3ce0b2811b28f0e6e20eb835861de4492dddeef6e52')
+
+prepare() {
+ cd ${_pkgfqn}
+
+ ln -s /usr/bin qttools/
+ ln -s /usr/bin/{rcc,uic,moc} qtbase/bin/
+
+ # Hack to force using python2
+ cd "$srcdir"
+ mkdir -p bin
+ ln -s /usr/bin/python2 bin/python
+
+ # Don't use the statx syscall https://bugs.archlinux.org/task/56289 https://bugreports.qt.io/browse/QTBUG-64490
+ cd ${_pkgfqn}/qtbase
+ patch -p1 -i "$srcdir"/qt-no-statx.patch
+}
+
+build() {
+ cd ${_pkgfqn}
+
+ export PATH="$srcdir/bin:$PATH"
+ PYTHON=/usr/bin/python2 ./configure -confirm-license -opensource \
+ -prefix /usr \
+ -docdir /usr/share/doc/qt \
+ -headerdir /usr/include/qt \
+ -archdatadir /usr/lib/qt \
+ -datadir /usr/share/qt \
+ -sysconfdir /etc/xdg \
+ -examplesdir /usr/share/doc/qt/examples
+ make docs
+}
+
+package() {
+ cd ${_pkgfqn}
+ make INSTALL_ROOT="$pkgdir" install_docs
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+
+# Fix conflicts with qt5-examples
+ rm -r "$pkgdir"/usr/share/doc/qt/examples
+}
diff --git a/abs/core/qt5-doc/qt-no-statx.patch b/abs/core/qt5-doc/qt-no-statx.patch
new file mode 100644
index 0000000..56150f7
--- /dev/null
+++ b/abs/core/qt5-doc/qt-no-statx.patch
@@ -0,0 +1,11 @@
+--- qtbase-everywhere-src-5.10.0-beta4/src/corelib/io/qfilesystemengine_unix.cpp.orig 2017-11-14 12:10:28.156094557 +0000
++++ qtbase-everywhere-src-5.10.0-beta4/src/corelib/io/qfilesystemengine_unix.cpp 2017-11-14 12:10:46.156136206 +0000
+@@ -95,7 +95,7 @@
+ { return syscall(SYS_renameat2, oldfd, oldpath, newfd, newpath, flags); }
+ # endif
+
+-# if !QT_CONFIG(statx) && defined(SYS_statx) && QT_HAS_INCLUDE(<linux/stat.h>)
++# if 0
+ # include <linux/stat.h>
+ static int statx(int dirfd, const char *pathname, int flag, unsigned mask, struct statx *statxbuf)
+ { return syscall(SYS_statx, dirfd, pathname, flag, mask, statxbuf); }
diff --git a/abs/core/qt5-graphicaleffects/PKGBUILD b/abs/core/qt5-graphicaleffects/PKGBUILD
new file mode 100644
index 0000000..fa62aa5
--- /dev/null
+++ b/abs/core/qt5-graphicaleffects/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qt5-graphicaleffects
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='Graphical effects for use with Qt Quick 2'
+depends=('qt5-declarative')
+makedepends=()
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
+sha256sums=('3f3b0631b579630bf58e99f3ca0d8dfdb6a44153c63cf90ac9e07041b4b1847f')
+
+prepare() {
+ mkdir -p build
+}
+
+build() {
+ cd build
+
+ qmake ../${_pkgfqn}
+ make
+}
+
+package() {
+ cd build
+ make INSTALL_ROOT="$pkgdir" install
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}
diff --git a/abs/core/qt5-imageformats/PKGBUILD b/abs/core/qt5-imageformats/PKGBUILD
new file mode 100644
index 0000000..90e39f7
--- /dev/null
+++ b/abs/core/qt5-imageformats/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qt5-imageformats
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='Plugins for additional image formats: TIFF, MNG, TGA, WBMP'
+depends=('qt5-base' 'jasper' 'libmng' 'libwebp')
+makedepends=()
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
+sha256sums=('2804baa2779eae015096820e233d7f86bb7fde9853b7c9150a321a453422a283')
+
+prepare() {
+ mkdir -p build
+}
+
+build() {
+ cd build
+
+ qmake ../${_pkgfqn}
+ make
+}
+
+package() {
+ cd build
+ make INSTALL_ROOT="$pkgdir" install
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}
diff --git a/abs/core/qt5-location/PKGBUILD b/abs/core/qt5-location/PKGBUILD
new file mode 100644
index 0000000..d9f14ed
--- /dev/null
+++ b/abs/core/qt5-location/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qt5-location
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='Provides access to position, satellite and area monitoring classes'
+depends=('qt5-declarative')
+makedepends=('gypsy' 'gconf')
+optdepends=('gypsy: Gypsy geolocation plugin')
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
+sha256sums=('5e5cc05517c701a2c8ebba1fbe3ddff2b6b90d5aa554d307b1c477fe0cfd72c9')
+
+prepare() {
+ mkdir -p build
+}
+
+build() {
+ cd build
+
+ qmake ../${_pkgfqn}
+ make
+}
+
+package() {
+ cd build
+ make INSTALL_ROOT="$pkgdir" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "$pkgdir/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}
diff --git a/abs/core/qt5-multimedia/PKGBUILD b/abs/core/qt5-multimedia/PKGBUILD
new file mode 100644
index 0000000..df44bc4
--- /dev/null
+++ b/abs/core/qt5-multimedia/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qt5-multimedia
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='Classes for audio, video, radio and camera functionality'
+depends=('qt5-base' 'gst-plugins-base' 'openal')
+makedepends=('qt5-declarative')
+optdepends=('qt5-declarative: QML bindings' 'gst-plugins-good: camera support')
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
+sha256sums=('a1fa98015ee5a6b81f2d337abc98d8b297c6718f7714a1f13fccfd2934c23649')
+
+prepare() {
+ mkdir -p build
+}
+
+build() {
+ cd build
+
+ qmake ../${_pkgfqn}
+ make
+}
+
+package() {
+ cd build
+ make INSTALL_ROOT="$pkgdir" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "$pkgdir/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}
diff --git a/abs/core/qt5-multimedia/__changelog b/abs/core/qt5-multimedia/__changelog
new file mode 100644
index 0000000..aa8f806
--- /dev/null
+++ b/abs/core/qt5-multimedia/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: remove libpulse
+PKGBUILD: remove gst-plugins-bad deps
diff --git a/abs/core/qt5-networkauth/PKGBUILD b/abs/core/qt5-networkauth/PKGBUILD
new file mode 100644
index 0000000..db17b48
--- /dev/null
+++ b/abs/core/qt5-networkauth/PKGBUILD
@@ -0,0 +1,39 @@
+# Maintainer: Antonio Rojas <arojas@archlinux.org>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgname=qt5-networkauth
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=(x86_64)
+url='http://qt-project.org/'
+license=(GPL3 LGPL3 FDL custom)
+pkgdesc='Network authentication module'
+depends=(qt5-base)
+groups=(qt qt5)
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
+sha256sums=('97231c319bd623d81eebaa1b5cdba4064bc4e69332c695a15cf8792b54b5dcdc')
+
+prepare() {
+ mkdir -p build
+}
+
+build() {
+ cd build
+
+ qmake ../${_pkgfqn}
+ make
+}
+
+package() {
+ cd build
+ make INSTALL_ROOT="$pkgdir" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "$pkgdir/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}
diff --git a/abs/core/qt5-quickcontrols/PKGBUILD b/abs/core/qt5-quickcontrols/PKGBUILD
new file mode 100644
index 0000000..129d0e5
--- /dev/null
+++ b/abs/core/qt5-quickcontrols/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qt5-quickcontrols
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='Reusable Qt Quick based UI controls to create classic desktop-style user interfaces'
+depends=('qt5-declarative')
+makedepends=()
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
+sha256sums=('d231a1993dc6a3f0dbc60a21d01fc0be15b0c26e881bd0631573952ea61682b7')
+
+prepare() {
+ mkdir -p build
+}
+
+build() {
+ cd build
+
+ qmake ../${_pkgfqn}
+ make
+}
+
+package() {
+ cd build
+ make INSTALL_ROOT="$pkgdir" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "$pkgdir/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}
diff --git a/abs/core/qt5-quickcontrols2/PKGBUILD b/abs/core/qt5-quickcontrols2/PKGBUILD
new file mode 100644
index 0000000..ff69332
--- /dev/null
+++ b/abs/core/qt5-quickcontrols2/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qt5-quickcontrols2
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='Next generation user interface controls based on Qt Quick'
+depends=('qt5-declarative')
+optdepends=('qt5-graphicaleffects: for the Material style')
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
+sha256sums=('5dc64a1b901e418b76fd3bf65dfa87a0cb11338741fb8970211c1df6df0e604a')
+
+prepare() {
+ mkdir -p build
+}
+
+build() {
+ cd build
+
+ qmake ../${_pkgfqn}
+ make
+}
+
+package() {
+ cd build
+ make INSTALL_ROOT="$pkgdir" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "$pkgdir/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}
diff --git a/abs/core/qt5-script/PKGBUILD b/abs/core/qt5-script/PKGBUILD
new file mode 100644
index 0000000..8717c07
--- /dev/null
+++ b/abs/core/qt5-script/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qt5-script
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='Classes for making Qt applications scriptable. Provided for Qt 4.x compatibility'
+depends=('qt5-base')
+makedepends=()
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
+sha256sums=('e0618af7cb1f1f30d292c04cf484e3507cf6f4815f79870e35d2b0ce7ac9532d')
+
+prepare() {
+ mkdir -p build
+}
+
+build() {
+ cd build
+
+ qmake ../${_pkgfqn}
+ make
+}
+
+package() {
+ cd build
+ make INSTALL_ROOT="$pkgdir" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "$pkgdir/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}
diff --git a/abs/core/qt5-sensors/PKGBUILD b/abs/core/qt5-sensors/PKGBUILD
new file mode 100644
index 0000000..27dafac
--- /dev/null
+++ b/abs/core/qt5-sensors/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qt5-sensors
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='Provides access to sensor hardware and motion gesture recognition'
+depends=('qt5-base')
+makedepends=('qt5-declarative')
+optdepends=('qt5-declarative: QML bindings')
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
+sha256sums=('bb0df76c0e53cf2b39d10dbf0964706a264413aae74a4596119143ab4d165c96')
+
+prepare() {
+ mkdir -p build
+}
+
+build() {
+ cd build
+
+ qmake ../${_pkgfqn}
+ make
+}
+
+package() {
+ cd build
+ make INSTALL_ROOT="$pkgdir" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "$pkgdir/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}
diff --git a/abs/core/qt5-serialport/PKGBUILD b/abs/core/qt5-serialport/PKGBUILD
new file mode 100644
index 0000000..1add931
--- /dev/null
+++ b/abs/core/qt5-serialport/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qt5-serialport
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='Provides access to hardware and virtual serial ports'
+depends=('qt5-base')
+makedepends=()
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
+sha256sums=('08e4cb13bbf165eb99857301f3cffe280a4946ff58a34ccc542ad1f790194a9e')
+
+prepare() {
+ mkdir -p build
+}
+
+build() {
+ cd build
+
+ qmake ../${_pkgfqn}
+ make
+}
+
+package() {
+ cd build
+ make INSTALL_ROOT="$pkgdir" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "$pkgdir/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}
diff --git a/abs/core/qt5-svg/PKGBUILD b/abs/core/qt5-svg/PKGBUILD
new file mode 100644
index 0000000..0e13ecc
--- /dev/null
+++ b/abs/core/qt5-svg/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qt5-svg
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='Classes for displaying the contents of SVG files'
+depends=('qt5-base')
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
+sha256sums=('00e00c04abcc8363cf7d94ca8b16af61840995a4af23685d49fa4ccafa1c7f5a')
+
+prepare() {
+ mkdir -p build
+}
+
+build() {
+ cd build
+
+ qmake ../${_pkgfqn}
+ make
+}
+
+package() {
+ cd build
+ make INSTALL_ROOT="$pkgdir" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "$pkgdir/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}
diff --git a/abs/core/qt5-tools/PKGBUILD b/abs/core/qt5-tools/PKGBUILD
new file mode 100644
index 0000000..f49927d
--- /dev/null
+++ b/abs/core/qt5-tools/PKGBUILD
@@ -0,0 +1,75 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qt5-tools
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='A cross-platform application and UI framework (Development Tools, QtHelp)'
+depends=('qt5-base' 'hicolor-icon-theme')
+makedepends=('qt5-declarative' 'qt5-webkit' 'vulkan-headers')
+optdepends=('qt5-doc: documentation' 'qt5-webkit: for Qt Assistant')
+groups=('qt' 'qt5')
+conflicts=('qtchooser')
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz"
+ {assistant,designer,linguist,qdbusviewer}.desktop)
+sha256sums=('f1ea441e5fe138756e6de3b60ab7d8d3051799eabe85a9408c995dfd4d048a53'
+ '8092d6d846e39632107b14726fa112862d800e929ef10f05f2a284dbda9b53c4'
+ '366e18ba400068df40d26a3c944d6bd4925bf22c32f171b837a3f4e387eff019'
+ 'db1ad1d27ce73820b8d50291618b6f817292f15f55107274064b9ae99201069a'
+ 'cd94367e35f99ab85277aa95985bbde292a9cc82db2c04c4efdaed5799aa16db')
+
+prepare() {
+ mkdir -p build
+}
+
+build() {
+ cd build
+
+ qmake ../${_pkgfqn}
+ make
+}
+
+package() {
+ cd build
+ make INSTALL_ROOT="${pkgdir}" install
+
+ cd ../${_pkgfqn}
+ # install missing icons and desktop files
+ for icon in src/linguist/linguist/images/icons/linguist-*-32.png ; do
+ size=$(echo $(basename ${icon}) | cut -d- -f2)
+ install -p -D -m644 ${icon} \
+ "${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/linguist.png"
+ done
+
+ install -D -m644 src/assistant/assistant/images/assistant.png \
+ "${pkgdir}/usr/share/icons/hicolor/32x32/apps/assistant.png"
+ install -D -m644 src/assistant/assistant/images/assistant-128.png \
+ "${pkgdir}/usr/share/icons/hicolor/128x128/apps/assistant.png"
+ install -D -m644 src/designer/src/designer/images/designer.png \
+ "${pkgdir}/usr/share/icons/hicolor/128x128/apps/QtProject-designer.png"
+ install -D -m644 src/qdbus/qdbusviewer/images/qdbusviewer.png \
+ "${pkgdir}/usr/share/icons/hicolor/32x32/apps/qdbusviewer.png"
+ install -D -m644 src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
+ "${pkgdir}/usr/share/icons/hicolor/128x128/apps/qdbusviewer.png"
+ install -d "${pkgdir}/usr/share/applications"
+ install -m644 "${srcdir}"/{linguist,designer,assistant,qdbusviewer}.desktop \
+ "${pkgdir}/usr/share/applications/"
+
+ # Symlinks for backwards compatibility
+ for b in "${pkgdir}"/usr/bin/*; do
+ ln -s /usr/bin/$(basename $b) "${pkgdir}"/usr/bin/$(basename $b)-qt5
+ done
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "${pkgdir}/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}
diff --git a/abs/core/qt5/assistant.desktop b/abs/core/qt5-tools/assistant.desktop
index 9d61004..c84bbd9 100644
--- a/abs/core/qt5/assistant.desktop
+++ b/abs/core/qt5-tools/assistant.desktop
@@ -1,7 +1,7 @@
[Desktop Entry]
Name=Qt Assistant
Comment=Shows Qt documentation and examples
-Exec=/usr/lib/qt/bin/assistant
+Exec=assistant
Icon=assistant
Terminal=false
Type=Application
diff --git a/abs/core/qt5/designer.desktop b/abs/core/qt5-tools/designer.desktop
index b39e77a..fc020ba 100644
--- a/abs/core/qt5/designer.desktop
+++ b/abs/core/qt5-tools/designer.desktop
@@ -2,7 +2,7 @@
Name=Qt Designer
GenericName=Interface Designer
Comment=Design GUIs for Qt applications
-Exec=/usr/lib/qt/bin/designer
+Exec=designer
Icon=QtProject-designer
MimeType=application/x-designer;
Terminal=false
diff --git a/abs/core/qt5/linguist.desktop b/abs/core/qt5-tools/linguist.desktop
index c6d1aa4..aa5696b 100644
--- a/abs/core/qt5/linguist.desktop
+++ b/abs/core/qt5-tools/linguist.desktop
@@ -1,7 +1,7 @@
[Desktop Entry]
Name=Qt Linguist
Comment=Add translations to Qt applications
-Exec=/usr/lib/qt/bin/linguist
+Exec=linguist
Icon=linguist
MimeType=text/vnd.trolltech.linguist;application/x-linguist;
Terminal=false
diff --git a/abs/core/qt5/qdbusviewer.desktop b/abs/core/qt5-tools/qdbusviewer.desktop
index 9165b6f..9b8ab2a 100644
--- a/abs/core/qt5/qdbusviewer.desktop
+++ b/abs/core/qt5-tools/qdbusviewer.desktop
@@ -2,7 +2,7 @@
Name=Qt QDbusViewer
GenericName=D-Bus Debugger
Comment=Debug D-Bus applications
-Exec=/usr/lib/qt/bin/qdbusviewer
+Exec=qdbusviewer
Icon=qdbusviewer
Terminal=false
Type=Application
diff --git a/abs/core/qt5-translations/PKGBUILD b/abs/core/qt5-translations/PKGBUILD
new file mode 100644
index 0000000..9c71b97
--- /dev/null
+++ b/abs/core/qt5-translations/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qt5-translations
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('any')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='A cross-platform application and UI framework (Translations)'
+depends=('qt5-base')
+makedepends=('qt5-tools')
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
+sha256sums=('1f6d840e3d04b00b976bc1a86ea2be9d61051b7c3455dc2b891fae61772643fd')
+
+prepare() {
+ mkdir -p build
+}
+
+build() {
+ cd build
+
+ qmake ../${_pkgfqn}
+ make
+}
+
+package() {
+ cd build
+ make INSTALL_ROOT="$pkgdir" install
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}
diff --git a/abs/core/qt5-webchannel/PKGBUILD b/abs/core/qt5-webchannel/PKGBUILD
new file mode 100644
index 0000000..6335b46
--- /dev/null
+++ b/abs/core/qt5-webchannel/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qt5-webchannel
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients'
+depends=('qt5-declarative')
+makedepends=()
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
+sha256sums=('c22c449fecb052597d12f8dd59498db39767037f9098123f3defc04eb20a3764')
+
+prepare() {
+ mkdir -p build
+}
+
+build() {
+ cd build
+
+ qmake ../${_pkgfqn}
+ make
+}
+
+package() {
+ cd build
+ make INSTALL_ROOT="$pkgdir" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "$pkgdir/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}
diff --git a/abs/core/qt5-webengine/PKGBUILD b/abs/core/qt5-webengine/PKGBUILD
new file mode 100644
index 0000000..58a1153
--- /dev/null
+++ b/abs/core/qt5-webengine/PKGBUILD
@@ -0,0 +1,62 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qt5-webengine
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('x86_64')
+url='http://qt-project.org/'
+license=('LGPL3' 'LGPL2.1' 'BSD')
+pkgdesc='Provides support for web applications using the Chromium browser project'
+depends=('qt5-webchannel' 'qt5-location' 'libxcomposite' 'libxrandr' 'pciutils' 'libxss'
+ 'libevent' 'snappy' 'nss' 'protobuf' 'libxslt' 'minizip' 'ffmpeg' 're2' 'libvpx')
+makedepends=('python2' 'git' 'gperf' 'jsoncpp' 'ninja' 'qt5-tools')
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz"
+ qtwebengine-harmony.patch
+ qtwebengine-no-gpu.patch)
+sha256sums=('12644f8d2ba8354a2a533d5a7f3f5139c6ff168c2f51aa3e21b701db6dbc01de'
+ 'feca54ab09ac0fc9d0626770a6b899a6ac5a12173c7d0c1005bc3964ec83e7b3'
+ '6cd70c37f3b3aea926f1ee20c1f59354f2a02d240dbf344c6dc0a75f8aa8e07b')
+
+prepare() {
+ mkdir -p build
+
+ # Hack to force using python2
+ mkdir -p bin
+ ln -s /usr/bin/python2 bin/python
+
+ cd ${_pkgfqn}
+
+ # FreeType 2.8.1
+ patch -Np1 -i ../qtwebengine-harmony.patch
+ # Disable GPU rendering on nouveau and wayland (openSUSE) https://bugreports.qt.io/browse/QTBUG-65682
+ patch -p1 -i ../qtwebengine-no-gpu.patch
+}
+
+build() {
+ cd build
+
+ export PATH="$srcdir/bin:$PATH"
+ qmake ../${_pkgfqn} -- \
+ -proprietary-codecs \
+ -system-ffmpeg \
+ -webp \
+ -spellchecker
+# -webengine-icu
+ make
+}
+
+package() {
+ cd build
+ make INSTALL_ROOT="$pkgdir" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "$pkgdir/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -Dm644 "$srcdir"/${_pkgfqn}/src/3rdparty/chromium/LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE.chromium
+}
diff --git a/abs/core/qt5-webengine/qtwebengine-harmony.patch b/abs/core/qt5-webengine/qtwebengine-harmony.patch
new file mode 100644
index 0000000..6343f7f
--- /dev/null
+++ b/abs/core/qt5-webengine/qtwebengine-harmony.patch
@@ -0,0 +1,77 @@
+--- qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp.orig 2017-10-10 17:42:06.956950985 +0200
++++ qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp 2017-10-10 17:46:05.824187787 +0200
+@@ -99,8 +99,6 @@
+ FreeTypeLibrary()
+ : fGetVarDesignCoordinates(nullptr)
+ , fLibrary(nullptr)
+- , fIsLCDSupported(false)
+- , fLCDExtra(0)
+ {
+ if (FT_New_Library(&gFTMemory, &fLibrary)) {
+ return;
+@@ -147,12 +145,7 @@
+ }
+ #endif
+
+- // Setup LCD filtering. This reduces color fringes for LCD smoothed glyphs.
+- // The default has changed over time, so this doesn't mean the same thing to all users.
+- if (FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT) == 0) {
+- fIsLCDSupported = true;
+- fLCDExtra = 2; //Using a filter adds one full pixel to each side.
+- }
++ FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT);
+ }
+ ~FreeTypeLibrary() {
+ if (fLibrary) {
+@@ -161,8 +153,6 @@
+ }
+
+ FT_Library library() { return fLibrary; }
+- bool isLCDSupported() { return fIsLCDSupported; }
+- int lcdExtra() { return fLCDExtra; }
+
+ // FT_Get_{MM,Var}_{Blend,Design}_Coordinates were added in FreeType 2.7.1.
+ // Prior to this there was no way to get the coordinates out of the FT_Face.
+@@ -173,8 +163,6 @@
+
+ private:
+ FT_Library fLibrary;
+- bool fIsLCDSupported;
+- int fLCDExtra;
+
+ // FT_Library_SetLcdFilterWeights was introduced in FreeType 2.4.0.
+ // The following platforms provide FreeType of at least 2.4.0.
+@@ -704,17 +692,6 @@
+ rec->fTextSize = SkIntToScalar(1 << 14);
+ }
+
+- if (isLCD(*rec)) {
+- // TODO: re-work so that FreeType is set-up and selected by the SkFontMgr.
+- SkAutoMutexAcquire ama(gFTMutex);
+- ref_ft_library();
+- if (!gFTLibrary->isLCDSupported()) {
+- // If the runtime Freetype library doesn't support LCD, disable it here.
+- rec->fMaskFormat = SkMask::kA8_Format;
+- }
+- unref_ft_library();
+- }
+-
+ SkPaint::Hinting h = rec->getHinting();
+ if (SkPaint::kFull_Hinting == h && !isLCD(*rec)) {
+ // collapse full->normal hinting if we're not doing LCD
+@@ -1115,11 +1092,11 @@
+ void SkScalerContext_FreeType::updateGlyphIfLCD(SkGlyph* glyph) {
+ if (isLCD(fRec)) {
+ if (fLCDIsVert) {
+- glyph->fHeight += gFTLibrary->lcdExtra();
+- glyph->fTop -= gFTLibrary->lcdExtra() >> 1;
++ glyph->fHeight += 2;
++ glyph->fTop -= 1;
+ } else {
+- glyph->fWidth += gFTLibrary->lcdExtra();
+- glyph->fLeft -= gFTLibrary->lcdExtra() >> 1;
++ glyph->fWidth += 2;
++ glyph->fLeft -= 1;
+ }
+ }
+ }
diff --git a/abs/core/qt5-webengine/qtwebengine-no-gpu.patch b/abs/core/qt5-webengine/qtwebengine-no-gpu.patch
new file mode 100644
index 0000000..4662f5f
--- /dev/null
+++ b/abs/core/qt5-webengine/qtwebengine-no-gpu.patch
@@ -0,0 +1,99 @@
+From: Antonio Larrosa <alarrosa@suse.com>
+Subject: Disable GPU when using nouveau or running on wayland
+References: boo#1005323, boo#1060990
+
+Qt WebEngine uses multi-threaded OpenGL, which nouveau does not support.
+It also crashes when running on wayland, the cause is not yet known.
+Work around these issues by not doing GPU-accelerated rendering in such
+cases.
+
+Index: qtwebengine-everywhere-src-5.10.0/src/core/web_engine_context.cpp
+===================================================================
+--- qtwebengine-everywhere-src-5.10.0.orig/src/core/web_engine_context.cpp
++++ qtwebengine-everywhere-src-5.10.0/src/core/web_engine_context.cpp
+@@ -93,6 +93,7 @@
+ #include <QOffscreenSurface>
+ #ifndef QT_NO_OPENGL
+ # include <QOpenGLContext>
++# include <QOpenGLFunctions>
+ #endif
+ #include <QQuickWindow>
+ #include <QStringList>
+@@ -167,6 +168,39 @@ void dummyGetPluginCallback(const std::v
+ }
+ #endif
+
++#ifndef QT_NO_OPENGL
++QString openGLVendor()
++{
++ QString vendor;
++
++ QOpenGLContext *oldContext = QOpenGLContext::currentContext();
++ QSurface *oldSurface = 0;
++ if (oldContext)
++ oldSurface = oldContext->surface();
++
++ QScopedPointer<QOffscreenSurface> surface( new QOffscreenSurface );
++ surface->create();
++ QOpenGLContext context;
++ if (!context.create()) {
++ qDebug() << "Error creating openGL context";
++ }
++ else if (!context.makeCurrent(surface.data())) {
++ qDebug() << "Error making openGL context current context";
++ } else {
++ const GLubyte *p;
++ QOpenGLFunctions *f = context.functions();
++ if ((p = f->glGetString(GL_VENDOR)))
++ vendor = QString::fromLatin1(reinterpret_cast<const char *>(p));
++ }
++
++ context.doneCurrent();
++ if (oldContext && oldSurface)
++ oldContext->makeCurrent(oldSurface);
++
++ return vendor;
++}
++#endif
++
+ } // namespace
+
+ namespace QtWebEngineCore {
+@@ -379,6 +413,27 @@ WebEngineContext::WebEngineContext()
+ const char *glType = 0;
+ #ifndef QT_NO_OPENGL
+
++ bool disableGpu = qEnvironmentVariableIsSet("QT_WEBENGINE_DISABLE_GPU");
++
++ if (!qEnvironmentVariableIsSet("QT_WEBENGINE_DISABLE_WAYLAND_WORKAROUND") && platform.startsWith("wayland", Qt::CaseInsensitive))
++ {
++ qWarning() << "Running on wayland. Qt WebEngine will disable usage of the GPU.\n"
++ "Note: you can set the QT_WEBENGINE_DISABLE_WAYLAND_WORKAROUND\n"
++ "environment variable before running this application, but this is \n"
++ "not recommended since this usually causes applications to crash.";
++ disableGpu = true;
++ }
++
++ if (!qEnvironmentVariableIsSet("QT_WEBENGINE_DISABLE_NOUVEAU_WORKAROUND") && openGLVendor() == QStringLiteral("nouveau"))
++ {
++ qWarning() << "Nouveau openGL driver detected. Qt WebEngine will disable usage of the GPU.\n"
++ "Note: you can set the QT_WEBENGINE_DISABLE_NOUVEAU_WORKAROUND\n"
++ "environment variable before running this application, but this is \n"
++ "not recommended since this usually causes applications to crash as\n"
++ "Nouveau openGL drivers don't support multithreaded rendering";
++ disableGpu = true;
++ }
++
+ bool tryGL =
+ !usingANGLE()
+ && (!usingSoftwareDynamicGL()
+@@ -389,7 +444,7 @@ WebEngineContext::WebEngineContext()
+ || enableWebGLSoftwareRendering
+ #endif
+ )
+- && !usingQtQuick2DRenderer();
++ && !usingQtQuick2DRenderer() && !disableGpu;
+
+ if (tryGL) {
+ if (qt_gl_global_share_context() && qt_gl_global_share_context()->isValid()) {
+
diff --git a/abs/core/qt5-webkit/PKGBUILD b/abs/core/qt5-webkit/PKGBUILD
new file mode 100644
index 0000000..c12c4bd
--- /dev/null
+++ b/abs/core/qt5-webkit/PKGBUILD
@@ -0,0 +1,72 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Maintainer: Antonio Rojas <arojas@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qt5-webkit
+_qtver=5.212.0-alpha2
+pkgver=${_qtver/-/}
+pkgrel=12
+arch=(x86_64)
+url='http://qt-project.org/'
+license=(GPL3 LGPL3 FDL custom)
+pkgdesc='Classes for a WebKit2 based implementation and a new QML API'
+depends=(qt5-location qt5-sensors qt5-webchannel libwebp libxslt libxcomposite gst-plugins-base hyphen)
+makedepends=(cmake ruby gperf python2 qt5-doc qt5-tools)
+optdepends=('gst-plugins-good: Webm codec support')
+conflicts=(qt5-webkit-ng)
+replaces=(qt5-webkit-ng)
+groups=(qt qt5)
+_pkgfqn="${pkgname/5-/}-opensource-src-${_qtver}"
+source=("https://github.com/annulen/webkit/releases/download/qtwebkit-$_qtver/qtwebkit-$_qtver.tar.xz"
+ qt5-webkit-gcc7.patch
+ qt5-webkit-null-pointer-dereference.patch
+ qt5-webkit-trojita-1.patch::"https://github.com/annulen/webkit/commit/6faf1121.patch"
+ qt5-webkit-trojita-2.patch::"https://github.com/annulen/webkit/commit/76420459.patch"
+ qt5-webkit-cmake3.10.patch::"https://github.com/annulen/webkit/commit/f51554bf.patch")
+sha256sums=('f8f901de567e11fc5659402b6b827eac75505ff9c5072d8e919aa306003f8f8a'
+ 'f108833562d766d4c086026f9202b2ebc8c19e97fddedce952afed78df3c0720'
+ '510e1f78c2bcd76909703a097dbc1d5c9c6ce4cd94883c26138f09cc10121f43'
+ 'bd22bd7842d5ad1cb1f5a4b6acb2674509732274d5f9dc51943144dff76996ae'
+ 'b42b70fd2a4a36b0ff48fc4e0dc386b3dda373e6fec18f3be9f5e2d3b04e0aa3'
+ 'b4e6c85fcb062e7cc141b0e34977bcc4f9c8677c773fc4b310151b85f51e7189')
+
+prepare() {
+ mkdir -p build
+
+# Fix crashes with GCC7 https://bugs.webkit.org/show_bug.cgi?id=173407
+ cd qtwebkit-$_qtver
+ patch -p1 -i ../qt5-webkit-gcc7.patch
+# Fix layout issues in trojita https://github.com/annulen/webkit/issues/511
+ patch -p1 -i ../qt5-webkit-trojita-1.patch
+ patch -p1 -i ../qt5-webkit-trojita-2.patch
+# Fix null point dereference (Fedora) https://github.com/annulen/webkit/issues/573
+ patch -p1 -i ../qt5-webkit-null-pointer-dereference.patch
+# Fix build with cmake 3.10
+ patch -p1 -i ../qt5-webkit-cmake3.10.patch
+}
+
+build() {
+ cd build
+
+ cmake ../qtwebkit-$_qtver \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DPORT=Qt \
+ -DENABLE_TOOLS=OFF
+ make
+}
+
+package() {
+ cd build
+ make DESTDIR="$pkgdir" install
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+
+# Fix pkgconfig files
+ sed -e 's|qt/Qt5WebKit|qt/QtWebKit|' -i "$pkgdir"/usr/lib/pkgconfig/Qt5WebKit.pc
+ sed -e 's|qt/Qt5WebKitWidgets|qt/QtWebKitWidgets|' -i "$pkgdir"/usr/lib/pkgconfig/Qt5WebKitWidgets.pc
+ sed -e '/Name/a Description: Qt WebKit module' -i "$pkgdir"/usr/lib/pkgconfig/Qt5WebKit.pc
+ sed -e '/Name/a Description: Qt WebKitWidgets module' -i "$pkgdir"/usr/lib/pkgconfig/Qt5WebKitWidgets.pc
+}
diff --git a/abs/core/qt5-webkit/qt5-webkit-gcc7.patch b/abs/core/qt5-webkit/qt5-webkit-gcc7.patch
new file mode 100644
index 0000000..bddb6fc
--- /dev/null
+++ b/abs/core/qt5-webkit/qt5-webkit-gcc7.patch
@@ -0,0 +1,34 @@
+diff -u -r webkitgtk-2.16.5/Source/WTF/wtf/text/StringImpl.h webkitgtk-2.16.5-gcc7/Source/WTF/wtf/text/StringImpl.h
+--- webkitgtk-2.16.5/Source/WTF/wtf/text/StringImpl.h 2017-02-20 17:20:15.000000000 +0100
++++ webkitgtk-2.16.5-gcc7/Source/WTF/wtf/text/StringImpl.h 2017-06-27 13:13:57.801527350 +0200
+@@ -581,29 +581,7 @@
+ // FIXME: Does this really belong in StringImpl?
+ template <typename T> static void copyChars(T* destination, const T* source, unsigned numCharacters)
+ {
+- if (numCharacters == 1) {
+- *destination = *source;
+- return;
+- }
+-
+- if (numCharacters <= s_copyCharsInlineCutOff) {
+- unsigned i = 0;
+-#if (CPU(X86) || CPU(X86_64))
+- const unsigned charsPerInt = sizeof(uint32_t) / sizeof(T);
+-
+- if (numCharacters > charsPerInt) {
+- unsigned stopCount = numCharacters & ~(charsPerInt - 1);
+-
+- const uint32_t* srcCharacters = reinterpret_cast<const uint32_t*>(source);
+- uint32_t* destCharacters = reinterpret_cast<uint32_t*>(destination);
+- for (unsigned j = 0; i < stopCount; i += charsPerInt, ++j)
+- destCharacters[j] = srcCharacters[j];
+- }
+-#endif
+- for (; i < numCharacters; ++i)
+- destination[i] = source[i];
+- } else
+- memcpy(destination, source, numCharacters * sizeof(T));
++ memcpy(destination, source, numCharacters * sizeof(T));
+ }
+
+ ALWAYS_INLINE static void copyChars(UChar* destination, const LChar* source, unsigned numCharacters)
diff --git a/abs/core/qt5-webkit/qt5-webkit-null-pointer-dereference.patch b/abs/core/qt5-webkit/qt5-webkit-null-pointer-dereference.patch
new file mode 100644
index 0000000..97b9f9e
--- /dev/null
+++ b/abs/core/qt5-webkit/qt5-webkit-null-pointer-dereference.patch
@@ -0,0 +1,17 @@
+diff -ur qtwebkit-5.212.0-alpha2/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
+qtwebkit-5.212.0-alpha2-fix-null-pointer-dereference/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
+--- qtwebkit-5.212.0-alpha2/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp 2017-06-09 16:11:36.000000000 +0200
++++ qtwebkit-5.212.0-alpha2-fix-null-pointer-dereference/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp 2017-10-24 21:44:40.504943501
++0200
+@@ -390,7 +390,10 @@
+
+ QString QWebPageAdapter::selectedHtml() const
+ {
+- return page->focusController().focusedOrMainFrame().editor().selectedRange()->toHTML();
++ RefPtr<Range> range = page->focusController().focusedOrMainFrame().editor().selectedRange();
++ if (!range)
++ return QString();
++ return range->toHTML();
+ }
+
+ bool QWebPageAdapter::isContentEditable() const
diff --git a/abs/core/qt5-websockets/PKGBUILD b/abs/core/qt5-websockets/PKGBUILD
new file mode 100644
index 0000000..05a0921
--- /dev/null
+++ b/abs/core/qt5-websockets/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qt5-websockets
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='Provides WebSocket communication compliant with RFC 6455'
+depends=('qt5-base')
+makedepends=('qt5-declarative')
+optdepends=('qt5-declarative: QML bindings')
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
+sha256sums=('6ecf790955ffe42dce731e10557f4ba625e359e867953d73f7fb453c0bad53ea')
+
+prepare() {
+ mkdir -p build
+}
+
+build() {
+ cd build
+
+ qmake ../${_pkgfqn}
+ make
+}
+
+package() {
+ cd build
+ make INSTALL_ROOT="$pkgdir" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "$pkgdir/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}
diff --git a/abs/core/qt5-x11extras/PKGBUILD b/abs/core/qt5-x11extras/PKGBUILD
new file mode 100644
index 0000000..32b35ca
--- /dev/null
+++ b/abs/core/qt5-x11extras/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qt5-x11extras
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='Provides platform-specific APIs for X11'
+depends=('qt5-base')
+makedepends=()
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
+sha256sums=('c38a371fd50b2da976ed809230678284f029cefb02d240253dcbb3d575dc97b4')
+
+prepare() {
+ mkdir -p build
+}
+
+build() {
+ cd build
+
+ qmake ../${_pkgfqn}
+ make
+}
+
+package() {
+ cd build
+ make INSTALL_ROOT="$pkgdir" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "$pkgdir/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}
diff --git a/abs/core/qt5-xmlpatterns/PKGBUILD b/abs/core/qt5-xmlpatterns/PKGBUILD
new file mode 100644
index 0000000..304d85b
--- /dev/null
+++ b/abs/core/qt5-xmlpatterns/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=qt5-xmlpatterns
+_qtver=5.10.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='Support for XPath, XQuery, XSLT and XML schema validation'
+depends=('qt5-base')
+makedepends=()
+conflicts=('qtchooser')
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
+sha256sums=('3cdef59ce96a796606e5adc5756c63c8607fb29b281fddb38acee3e674d5e9fe')
+
+prepare() {
+ mkdir -p build
+}
+
+build() {
+ cd build
+
+ qmake ../${_pkgfqn}
+ make
+}
+
+package() {
+ cd build
+ make INSTALL_ROOT="$pkgdir" install
+
+ # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+ find "$pkgdir/usr/lib" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+ install -d "$pkgdir"/usr/share/licenses
+ ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}
diff --git a/abs/core/qt5/PKGBUILD b/abs/core/qt5/PKGBUILD
deleted file mode 100644
index 8d7bfcb..0000000
--- a/abs/core/qt5/PKGBUILD
+++ /dev/null
@@ -1,579 +0,0 @@
-# $Id$
-# Maintainer: Felix Yan <felixonmars@archlinux.org>
-# Contributor: Andrea Scarpino <andrea@archlinux.org>
-
-pkgbase=qt5
-pkgname=('qt5-3d'
- 'qt5-base'
- 'qt5-canvas3d'
- 'qt5-connectivity'
- 'qt5-declarative'
- 'qt5-doc'
- 'qt5-enginio'
- 'qt5-graphicaleffects'
- 'qt5-imageformats'
- 'qt5-location'
- 'qt5-multimedia'
- 'qt5-quick1'
- 'qt5-quickcontrols'
- 'qt5-script'
- 'qt5-sensors'
- 'qt5-serialport'
- 'qt5-svg'
- 'qt5-tools'
- 'qt5-translations'
- 'qt5-wayland'
- 'qt5-webchannel'
- 'qt5-webengine'
- 'qt5-webkit'
- 'qt5-websockets'
- 'qt5-x11extras'
- 'qt5-xmlpatterns')
-pkgver=5.5.1
-pkgrel=10
-arch=('i686' 'x86_64')
-url='http://www.qt.io/developers'
-license=('GPL3' 'LGPL' 'FDL' 'custom')
-makedepends=('libxcb' 'xcb-proto' 'xcb-util' 'xcb-util-image' 'xcb-util-wm' 'xcb-util-keysyms'
- 'mesa' 'at-spi2-core' 'alsa-lib' 'gst-plugins-base-libs' 'libjpeg-turbo' 'cups'
- 'hicolor-icon-theme' 'desktop-file-utils' 'postgresql-libs' 'nss'
- 'libmysqlclient' 'sqlite' 'unixodbc' 'libfbclient' 'libmng' 'python2' 'ruby'
- 'gperf' 'libxslt' 'libxcomposite' 'fontconfig' 'bluez-libs' 'openal' 'gtk2'
- 'libxkbcommon-x11' 'mtdev' 'harfbuzz' 'libwebp' 'leveldb' 'geoclue' 'pciutils'
- 'libinput' 'yasm' 'git')
-groups=('qt' 'qt5')
-_pkgfqn="qt-everywhere-opensource-src-${pkgver}"
-source=("http://download.qt-project.org/official_releases/qt/${pkgver%.*}/${pkgver}/single/${_pkgfqn}.tar.xz"
- 'assistant.desktop' 'designer.desktop' 'linguist.desktop' 'qdbusviewer.desktop')
-md5sums=('c2a249e8795d45200d997d96860d0353'
- 'b2897dd6a2967bccf8f10e397aafee55'
- '76e150b20178d2d43801f7367232e5f7'
- '188da8f4c87316e730ebf1c6217bf5a0'
- '322b419b16c75d4de0ee7ad0a246caa1')
-
-prepare() {
- cd ${_pkgfqn}
-
- # Build qmake using Arch {C,LD}FLAGS
- # This also sets default {C,CXX,LD}FLAGS for projects built using qmake
- sed -i -e "s|^\(QMAKE_CFLAGS_RELEASE.*\)|\1 ${CFLAGS}|" \
- qtbase/mkspecs/common/gcc-base.conf
- sed -i -e "s|^\(QMAKE_LFLAGS_RELEASE.*\)|\1 ${LDFLAGS}|" \
- qtbase/mkspecs/common/g++-unix.conf
-
- # Use python2 for Python 2.x
- find . -name '*.py' -exec sed -i \
- 's|#![ ]*/usr/bin/python$|&2|;s|#![ ]*/usr/bin/env python$|&2|' {} +
- # in qtwebengine there are still a lot of relative calls which need a workaround
- mkdir "${srcdir}"/python2-path
- ln -s /usr/bin/python2 "${srcdir}"/python2-path/python
-
- # Try to enable proprietary_codecs and use some system yasm
- sed -e 's/contains(WEBENGINE_CONFIG, proprietary_codecs): //' \
- -e '/use_system_ffmpeg=0"/a GYP_ARGS += "-Duse_system_yasm=1"' \
- -i qtwebengine/src/core/gyp_run.pro
-
- sed -i 's/libsystemd-journal/libsystemd/g' \
- qtbase/src/corelib/global/global.pri \
- qtbase/config.tests/unix/journald/journald.pro
-}
-
-build() {
- cd ${_pkgfqn}
-
- export QTDIR="${srcdir}"/${_pkgfqn}
- export LD_LIBRARY_PATH="${QTDIR}"/qtbase/lib:"${QTDIR}"/qttools/lib:"${LD_LIBRARY_PATH}"
- export QT_PLUGIN_PATH="${QTDIR}"/qtbase/plugins
-
- # python2 workaround
- export PATH="${srcdir}/python2-path:$PATH"
-
- # FS#38796
- [[ "${CARCH}" = "i686" ]] && SSE2="-no-sse2"
-
- PYTHON=/usr/bin/python2 ./configure -confirm-license -opensource \
- -prefix /usr \
- -bindir /usr/lib/qt/bin \
- -docdir /usr/share/doc/qt \
- -headerdir /usr/include/qt \
- -archdatadir /usr/lib/qt \
- -datadir /usr/share/qt \
- -sysconfdir /etc/xdg \
- -examplesdir /usr/share/doc/qt/examples \
- -plugin-sql-{psql,mysql,sqlite,odbc,ibase} \
- -system-sqlite \
- -openssl-linked \
- -nomake examples \
- -no-rpath \
- -optimized-qmake \
- -dbus-linked \
- -system-harfbuzz \
- -journald \
- -libinput ${SSE2}
-
- make
-
- # Fix docs build when qt is not installed
- sed -i "s|/usr/lib/qt/bin/qdoc|${QTDIR}/qtbase/bin/qdoc|g" \
- "${QTDIR}"/qtbase/qmake/Makefile.qmake-docs
- find "${QTDIR}" -name Makefile \
- -exec sed -i "s|/usr/lib/qt/bin/qdoc|${QTDIR}/qtbase/bin/qdoc|g" {} +
- sed -i "s|/usr/lib/qt/bin/qhelpgenerator|${QTDIR}/qttools/bin/qhelpgenerator|g" \
- "${QTDIR}"/qtbase/qmake/Makefile.qmake-docs
- find "${QTDIR}" -name Makefile \
- -exec sed -i "s|/usr/lib/qt/bin/qhelpgenerator|${QTDIR}/qttools/bin/qhelpgenerator|g" {} +
- sed -i "s|/usr/lib/qt/bin/qhelpgenerator|${QTDIR}/qttools/bin/qhelpgenerator|g" \
- qtwebkit/Source/Makefile.api
- find "${QTDIR}" -name Makefile \
- -exec sed -i "s|/usr/lib/qt/bin/qmlplugindump|${QTDIR}/qtdeclarative/bin/qmlplugindump|g" {} +
-
- make docs
-}
-
-package_qt5-3d() {
- pkgdesc='C++ and QML APIs for easy inclusion of 3D graphics'
- depends=('qt5-declarative')
- license=('LGPL')
-
- cd ${_pkgfqn}/qt3d
- make INSTALL_ROOT="${pkgdir}" install
-
- # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
- find "${pkgdir}/usr/lib" -type f -name '*.prl' \
- -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-}
-
-package_qt5-base() {
- pkgdesc='A cross-platform application and UI framework'
- depends=('libjpeg-turbo' 'xcb-util-keysyms' 'libgl' 'dbus' 'fontconfig' 'systemd'
- 'xcb-util-wm' 'libxrender' 'libxi' 'sqlite' 'xcb-util-image' 'icu'
- 'qtchooser' 'libinput' 'libsm' 'libxkbcommon-x11')
- optdepends=('qt5-svg: to use SVG icon themes'
- 'postgresql-libs: PostgreSQL driver'
- 'libmysqlclient: mysql DB driver'
- 'unixodbc: ODBC driver'
- 'libfbclient: Firebird/iBase driver'
- 'mtdev: evdev plugin'
- 'gtk2: GTK2 plugin')
- conflicts=('qt')
-
- cd ${_pkgfqn}/qtbase
- make INSTALL_ROOT="${pkgdir}" install
-
- install -D -m644 LGPL_EXCEPTION.txt \
- "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
-
- # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
- find "${pkgdir}/usr/lib" -type f -name '*.prl' \
- -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
- # Fix wrong qmake path in pri file
- sed -i "s|${srcdir}/${_pkgfqn}/qtbase|/usr|" \
- "${pkgdir}"/usr/lib/qt/mkspecs/modules/qt_lib_bootstrap_private.pri
-
- # Useful symlinks
- install -d "${pkgdir}"/usr/bin
- for b in "${pkgdir}"/usr/lib/qt/bin/*; do
- ln -s /usr/lib/qt/bin/$(basename $b) "${pkgdir}"/usr/bin/$(basename $b)-qt5
- done
-}
-
-package_qt5-canvas3d() {
- pkgdesc='A JavaScript 3D rendering API for Qt Quick'
- depends=('qt5-declarative')
- license=('LGPL')
-
- cd ${_pkgfqn}/qtcanvas3d
- make INSTALL_ROOT="${pkgdir}" install
-
- # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
- find "${pkgdir}/usr/lib" -type f -name '*.prl' \
- -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-}
-
-package_qt5-connectivity() {
- pkgdesc='Provides access to Bluetooth hardware'
- depends=('qt5-declarative' 'bluez-libs')
-
- cd ${_pkgfqn}/qtconnectivity
- make INSTALL_ROOT="${pkgdir}" install
-
- # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
- find "${pkgdir}/usr/lib" -type f -name '*.prl' \
- -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
- install -D -m644 LGPL_EXCEPTION.txt \
- "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
-}
-
-package_qt5-declarative() {
- pkgdesc='Classes for QML and JavaScript languages'
- depends=('qt5-xmlpatterns')
- conflicts=('qt')
-
- cd ${_pkgfqn}/qtdeclarative
- make INSTALL_ROOT="${pkgdir}" install
-
- # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
- find "${pkgdir}/usr/lib" -type f -name '*.prl' \
- -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
- # Useful symlinks
- install -d "${pkgdir}"/usr/bin
- for b in "${pkgdir}"/usr/lib/qt/bin/*; do
- ln -s /usr/lib/qt/bin/$(basename $b) "${pkgdir}"/usr/bin/$(basename $b)-qt5
- done
-
- install -D -m644 LGPL_EXCEPTION.txt \
- "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
-}
-
-package_qt5-doc() {
- pkgdesc='A cross-platform application and UI framework (Documentation)'
- depends=('qt5-base')
-# arch=('any')
- conflicts=('qt-doc')
- replaces=('qt-doc')
- provides=('qt-doc')
- options=('docs' '!emptydirs')
- groups=()
-
- cd ${_pkgfqn}
- make INSTALL_ROOT="${pkgdir}" install_docs
-
- install -D -m644 LGPL_EXCEPTION.txt \
- "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
-}
-
-package_qt5-enginio() {
- pkgdesc='A Backend-as-a-Service solution to ease the backend development for connected and data-driven application'
- depends=('qt5-declarative')
-
- cd ${_pkgfqn}/qtenginio
- make INSTALL_ROOT="${pkgdir}" install
-
- # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
- find "${pkgdir}/usr/lib" -type f -name '*.prl' \
- -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
- install -D -m644 LGPL_EXCEPTION.txt \
- "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
-}
-
-package_qt5-graphicaleffects() {
- pkgdesc='Graphical effects for use with Qt Quick 2'
- depends=('qt5-declarative')
-
- cd ${_pkgfqn}/qtgraphicaleffects
- make INSTALL_ROOT="${pkgdir}" install
-
- install -D -m644 LGPL_EXCEPTION.txt \
- "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
-}
-
-package_qt5-imageformats() {
- pkgdesc='Plugins for additional image formats: TIFF, MNG, TGA, WBMP'
- depends=('qt5-base' 'jasper' 'libmng' 'libwebp')
- conflicts=('qt')
-
- cd ${_pkgfqn}/qtimageformats
- make INSTALL_ROOT="${pkgdir}" install
-
- install -D -m644 LGPL_EXCEPTION.txt \
- "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
-}
-
-package_qt5-location() {
- pkgdesc='Provides access to position, satellite and area monitoring classes'
- depends=('qt5-declarative' 'geoclue')
-
- cd ${_pkgfqn}/qtlocation
- make INSTALL_ROOT="${pkgdir}" install
-
- # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
- find "${pkgdir}/usr/lib" -type f -name '*.prl' \
- -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
- install -D -m644 LGPL_EXCEPTION.txt \
- "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
-}
-
-package_qt5-multimedia() {
- pkgdesc='Classes for audio, video, radio and camera functionality'
- depends=('qt5-declarative' 'gst-plugins-base-libs' 'openal')
- optdepends=('gst-plugins-bad: Qt MediaService plugin')
- conflicts=('qt')
-
- cd ${_pkgfqn}/qtmultimedia
- make INSTALL_ROOT="${pkgdir}" install
-
- # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
- find "${pkgdir}/usr/lib" -type f -name '*.prl' \
- -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
- install -D -m644 LGPL_EXCEPTION.txt \
- "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
-}
-
-package_qt5-quick1() {
- pkgdesc='Qt Declarative is provided for Qt 4 compatibility'
- depends=('qt5-webkit' 'qt5-script')
- conflicts=('qt')
-
- cd ${_pkgfqn}/qtquick1
- make INSTALL_ROOT="${pkgdir}" install
-
- # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
- find "${pkgdir}/usr/lib" -type f -name '*.prl' \
- -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
- # Useful symlinks
- install -d "${pkgdir}"/usr/bin
- for b in "${pkgdir}"/usr/lib/qt/bin/*; do
- ln -s /usr/lib/qt/bin/$(basename $b) "${pkgdir}"/usr/bin/$(basename $b)-qt5
- done
-
- install -D -m644 LGPL_EXCEPTION.txt \
- "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
-}
-
-package_qt5-quickcontrols() {
- pkgdesc='Reusable Qt Quick based UI controls to create classic desktop-style user interfaces'
- depends=('qt5-declarative')
- license=('LGPL')
-
- cd ${_pkgfqn}/qtquickcontrols
- make INSTALL_ROOT="${pkgdir}" install
-}
-
-package_qt5-script() {
- pkgdesc='Classes for making Qt applications scriptable. Provided for Qt 4.x compatibility'
- depends=('qt5-base')
- conflicts=('qt')
-
- cd ${_pkgfqn}/qtscript
- make INSTALL_ROOT="${pkgdir}" install
-
- # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
- find "${pkgdir}/usr/lib" -type f -name '*.prl' \
- -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
- install -D -m644 LGPL_EXCEPTION.txt \
- "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
-}
-
-package_qt5-sensors() {
- pkgdesc='Provides access to sensor hardware and motion gesture recognition'
- depends=('qt5-declarative')
-
- cd ${_pkgfqn}/qtsensors
- make INSTALL_ROOT="${pkgdir}" install
-
- # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
- find "${pkgdir}/usr/lib" -type f -name '*.prl' \
- -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
- install -D -m644 LGPL_EXCEPTION.txt \
- "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
-}
-
-package_qt5-serialport() {
- pkgdesc='Provides access to hardware and virtual serial ports'
- depends=('qt5-base')
-
- cd ${_pkgfqn}/qtserialport
- make INSTALL_ROOT="${pkgdir}" install
-
- # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
- find "${pkgdir}/usr/lib" -type f -name '*.prl' \
- -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
- install -D -m644 LGPL_EXCEPTION.txt \
- "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
-}
-
-package_qt5-svg() {
- pkgdesc='Classes for displaying the contents of SVG files'
- depends=('qt5-base')
- conflicts=('qt')
-
- cd ${_pkgfqn}/qtsvg
- make INSTALL_ROOT="${pkgdir}" install
-
- # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
- find "${pkgdir}/usr/lib" -type f -name '*.prl' \
- -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
- install -D -m644 LGPL_EXCEPTION.txt \
- "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
-}
-
-package_qt5-tools() {
- pkgdesc='A cross-platform application and UI framework (Development Tools, QtHelp)'
- depends=('qt5-webkit' 'desktop-file-utils' 'qt5-translations' 'hicolor-icon-theme'
- 'xdg-utils')
- optdepends=('qt5-doc: documentation')
- install='qt5-tools.install'
- conflicts=('qt')
- options=('staticlibs') # libQt5UiTools builds as static only$
-
- cd ${_pkgfqn}/qttools
- make INSTALL_ROOT="${pkgdir}" install
-
- # install missing icons and desktop files
- for icon in src/linguist/linguist/images/icons/linguist-*-32.png ; do
- size=$(echo $(basename ${icon}) | cut -d- -f2)
- install -p -D -m644 ${icon} \
- "${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/linguist.png"
- done
-
- install -D -m644 src/assistant/assistant/images/assistant.png \
- "${pkgdir}/usr/share/icons/hicolor/32x32/apps/assistant.png"
- install -D -m644 src/assistant/assistant/images/assistant-128.png \
- "${pkgdir}/usr/share/icons/hicolor/128x128/apps/assistant.png"
- install -D -m644 src/designer/src/designer/images/designer.png \
- "${pkgdir}/usr/share/icons/hicolor/128x128/apps/QtProject-designer.png"
- install -D -m644 src/qdbus/qdbusviewer/images/qdbusviewer.png \
- "${pkgdir}/usr/share/icons/hicolor/32x32/apps/qdbusviewer.png"
- install -D -m644 src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
- "${pkgdir}/usr/share/icons/hicolor/128x128/apps/qdbusviewer.png"
- install -d "${pkgdir}/usr/share/applications"
- install -m644 "${srcdir}"/{linguist,designer,assistant,qdbusviewer}.desktop \
- "${pkgdir}/usr/share/applications/"
-
- # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
- find "${pkgdir}/usr/lib" -type f -name '*.prl' \
- -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
- # Useful symlinks
- install -d "${pkgdir}"/usr/bin
- for b in "${pkgdir}"/usr/lib/qt/bin/*; do
- ln -s /usr/lib/qt/bin/$(basename $b) "${pkgdir}"/usr/bin/$(basename $b)-qt5
- done
-
- install -D -m644 LGPL_EXCEPTION.txt \
- "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
-}
-
-package_qt5-translations() {
- pkgdesc='A cross-platform application and UI framework (Translations)'
- depends=('qt5-base')
- conflicts=('qt')
-
- cd ${_pkgfqn}/qttranslations
- make INSTALL_ROOT="${pkgdir}" install
-
- install -D -m644 LGPL_EXCEPTION.txt \
- "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
-}
-
-package_qt5-wayland() {
- pkgdesc='Provides APIs for Wayland'
- depends=('qt5-base' 'libxcomposite')
-
- cd ${_pkgfqn}/qtwayland
- make INSTALL_ROOT="${pkgdir}" install
-
- # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
- find "${pkgdir}/usr/lib" -type f -name '*.prl' \
- -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
- install -D -m644 LGPL_EXCEPTION.txt \
- "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
-}
-
-package_qt5-webchannel() {
- pkgdesc='Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients'
- depends=('qt5-declarative')
-
- cd ${_pkgfqn}/qtwebchannel
- make INSTALL_ROOT="${pkgdir}" install
-
- # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
- find "${pkgdir}/usr/lib" -type f -name '*.prl' \
- -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
- install -D -m644 LGPL_EXCEPTION.txt \
- "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
-}
-
-package_qt5-webengine() {
- pkgdesc='Provides support for web applications using the Chromium browser project'
- depends=('qt5-webchannel' 'qt5-location' 'nss' 'libxtst' 'libxcursor' 'libxrandr' 'alsa-lib' 'libxcomposite')
- license=('LGPL')
-
- cd ${_pkgfqn}/qtwebengine
- make INSTALL_ROOT="${pkgdir}" install
-
- rm -rf "${pkgdir}"/usr/share/doc
-}
-
-package_qt5-webkit() {
- pkgdesc='Classes for a WebKit2 based implementation and a new QML API'
- depends=('qt5-sensors' 'qt5-location' 'qt5-webchannel' 'gst-plugins-base' 'libxslt'
- 'libxcomposite' 'libwebp')
- optdepends=('gst-plugins-good: Webm codec support')
- license=('GPL3' 'LGPL' 'FDL')
-
- cd ${_pkgfqn}/qtwebkit
- make INSTALL_ROOT="${pkgdir}" install
-
- # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
- find "${pkgdir}/usr/lib" -type f -name '*.prl' \
- -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
- # Fix wrong path in pc file
- perl -pi -e "s, -L${srcdir}/?\S+,,g" "${pkgdir}"/usr/lib/pkgconfig/Qt5WebKit.pc
-}
-
-package_qt5-websockets() {
- pkgdesc='Provides WebSocket communication compliant with RFC 6455'
- depends=('qt5-declarative')
-
- cd ${_pkgfqn}/qtwebsockets
- make INSTALL_ROOT="${pkgdir}" install
-
- # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
- find "${pkgdir}/usr/lib" -type f -name '*.prl' \
- -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
- install -D -m644 LGPL_EXCEPTION.txt \
- "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
-}
-
-package_qt5-x11extras() {
- pkgdesc='Provides platform-specific APIs for X11'
- depends=('qt5-base')
-
- cd ${_pkgfqn}/qtx11extras
- make INSTALL_ROOT="${pkgdir}" install
-
- # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
- find "${pkgdir}/usr/lib" -type f -name '*.prl' \
- -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
- install -D -m644 LGPL_EXCEPTION.txt \
- "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
-}
-
-package_qt5-xmlpatterns() {
- pkgdesc='Support for XPath, XQuery, XSLT and XML schema validation'
- depends=('qt5-base')
- conflicts=('qt')
-
- cd ${_pkgfqn}/qtxmlpatterns
- make INSTALL_ROOT="${pkgdir}" install
-
- # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
- find "${pkgdir}/usr/lib" -type f -name '*.prl' \
- -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
- # Useful symlinks
- install -d "${pkgdir}"/usr/bin
- for b in "${pkgdir}"/usr/lib/qt/bin/*; do
- ln -s /usr/lib/qt/bin/$(basename $b) "${pkgdir}"/usr/bin/$(basename $b)-qt5
- done
-
- install -D -m644 LGPL_EXCEPTION.txt \
- "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt
-}
diff --git a/abs/core/qt5/ibus-get-display-number-when-screen-number-is-omitted.patch b/abs/core/qt5/ibus-get-display-number-when-screen-number-is-omitted.patch
deleted file mode 100644
index 54897e0..0000000
--- a/abs/core/qt5/ibus-get-display-number-when-screen-number-is-omitted.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From c72325d52575cb8a46cc8595c592c27581089dec Mon Sep 17 00:00:00 2001
-From: Takao Fujiwara <tfujiwar@redhat.com>
-Date: Tue, 24 Mar 2015 19:08:34 +0900
-Subject: [PATCH] ibus: Get display number when screen number is omitted.
-
-QIBusPlatformInputContextPrivate::createConnection() parses DISPLAY
-variable and it does not get the display number when the screen number
-is omitted. E.g. DISPLAY=":1".
-
-Change-Id: I9f81d8114d4e0f654a27ada67c5dc110eb34cd64
-Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
----
- .../ibus/qibusplatforminputcontext.cpp | 2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
-
-diff --git a/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp b/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp
-index d00435b..673942b 100644
---- a/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp
-+++ b/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp
-@@ -351,6 +351,8 @@ QDBusConnection *QIBusPlatformInputContextPrivate::createConnection()
- int pos2 = display.indexOf('.', pos);
- if (pos2 > 0)
- displayNumber = display.mid(pos, pos2 - pos);
-+ else
-+ displayNumber = display.right(pos);
- if (debug)
- qDebug() << "host=" << host << "displayNumber" << displayNumber;
-
---
-1.7.1
-
-
diff --git a/abs/core/qt5/qt5-tools.install b/abs/core/qt5/qt5-tools.install
deleted file mode 100644
index 5495fb1..0000000
--- a/abs/core/qt5/qt5-tools.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/abs/core/qt5/rebuild.list b/abs/core/qt5/rebuild.list
deleted file mode 100644
index 5519fd7..0000000
--- a/abs/core/qt5/rebuild.list
+++ /dev/null
@@ -1,6 +0,0 @@
-fcitx-qt5
-frameworkintegration
-gcin
-calibre
-akonadi
-skrooge
diff --git a/abs/core/readline/PKGBUILD b/abs/core/readline/PKGBUILD
index 07b6b36..6934ca0 100644
--- a/abs/core/readline/PKGBUILD
+++ b/abs/core/readline/PKGBUILD
@@ -4,25 +4,25 @@
# Contributor: judd <jvinet@zeroflux.org>
pkgname=readline
-_basever=6.3
-_patchlevel=008
-pkgver=$_basever.$_patchlevel
-pkgrel=3
+_basever=7.0
+_patchlevel=003
+pkgver=${_basever}.${_patchlevel}
+pkgrel=1
pkgdesc='GNU readline library'
-arch=('i686' 'x86_64')
+arch=('x86_64')
url='http://tiswww.case.edu/php/chet/readline/rltop.html'
license=('GPL')
-depends=('glibc' 'ncurses' 'libncursesw.so')
backup=('etc/inputrc')
+depends=('glibc' 'ncurses' 'libncursesw.so')
+provides=('libhistory.so' 'libreadline.so')
options=('!emptydirs')
-install=readline.install
-source=(http://ftp.gnu.org/gnu/readline/readline-$_basever.tar.gz{,.sig}
+source=(https://ftp.gnu.org/gnu/readline/readline-$_basever.tar.gz{,.sig}
inputrc)
validpgpkeys=('7C0135FB088AAF6C66C650B9BB5869F064EA74AB') # Chet Ramey
if [ $_patchlevel -gt 0 ]; then
for (( _p=1; _p <= $((10#${_patchlevel})); _p++ )); do
- source=(${source[@]} http://ftp.gnu.org/gnu/readline/readline-$_basever-patches/readline${_basever//.}-$(printf "%03d" $_p){,.sig})
+ source=(${source[@]} https://ftp.gnu.org/gnu/readline/readline-$_basever-patches/readline${_basever//.}-$(printf "%03d" $_p){,.sig})
done
fi
@@ -52,22 +52,12 @@ package() {
install -Dm644 inputrc "$pkgdir"/etc/inputrc
}
-md5sums=('33c8fb279e981274f485fd91da77e94a'
+md5sums=('205b03a87fc83dab653b628c59b9fc91'
'SKIP'
'58d54966c1191db45973cb3191ac621a'
- '4343f5ea9b0f42447f102fb61576b398'
- 'SKIP'
- '700295212f7e2978577feaee584afddb'
- 'SKIP'
- 'af4963862f5156fbf9111c2c6fa86ed7'
- 'SKIP'
- '11f9def89803a5052db3ba72394ce14f'
- 'SKIP'
- '93721c31cd225393f80cb3aadb165544'
- 'SKIP'
- '71dc6ecce66d1489b96595f55d142a52'
+ 'e299384458a4cbefaaac3f30e9cc2bba'
'SKIP'
- '062a08ed60679d3c4878710b3d595b65'
+ 'f9071a353e2fd52a91d32667b23715d6'
'SKIP'
- 'ee1c04072154826870848d8b218d7b04'
+ '03595464cf0283286a6e07f4f01c4a70'
'SKIP')
diff --git a/abs/core/readline/readline.install b/abs/core/readline/readline.install
deleted file mode 100644
index 06b646f..0000000
--- a/abs/core/readline/readline.install
+++ /dev/null
@@ -1,17 +0,0 @@
-infodir=usr/share/info
-filelist=(history.info readline.info rluserman.info)
-
-post_upgrade() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
-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/core/rpcbind/CVE-2017-8779.diff b/abs/core/rpcbind/CVE-2017-8779.diff
new file mode 100644
index 0000000..cef088b
--- /dev/null
+++ b/abs/core/rpcbind/CVE-2017-8779.diff
@@ -0,0 +1,21 @@
+diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c
+index 5862c26..e11f61b 100644
+--- a/src/rpcb_svc_com.c
++++ b/src/rpcb_svc_com.c
+@@ -48,6 +48,7 @@
+ #include <rpc/rpc.h>
+ #include <rpc/rpcb_prot.h>
+ #include <rpc/svc_dg.h>
++#include <rpc/rpc_com.h>
+ #include <netconfig.h>
+ #include <errno.h>
+ #include <syslog.h>
+@@ -432,7 +433,7 @@ rpcbproc_taddr2uaddr_com(void *arg, struct svc_req *rqstp /*__unused*/,
+ static bool_t
+ xdr_encap_parms(XDR *xdrs, struct encap_parms *epp)
+ {
+- return (xdr_bytes(xdrs, &(epp->args), (u_int *) &(epp->arglen), ~0));
++ return (xdr_bytes(xdrs, &(epp->args), (u_int *) &(epp->arglen), RPC_MAXDATASIZE));
+ }
+
+ /*
diff --git a/abs/core/rpcbind/PKGBUILD b/abs/core/rpcbind/PKGBUILD
index 75cb398..5bbcf8b 100644
--- a/abs/core/rpcbind/PKGBUILD
+++ b/abs/core/rpcbind/PKGBUILD
@@ -1,46 +1,63 @@
-# $Id: PKGBUILD 157234 2012-04-26 13:06:13Z tpowa $
+# $Id$
+# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=rpcbind
-pkgver=0.2.0
-pkgrel=8
+pkgver=0.2.4
+pkgrel=4
pkgdesc="portmap replacement which supports RPC over various protocols"
-arch=(i686 x86_64)
-depends=('bash' 'glibc' 'libtirpc')
+arch=(x86_64)
+backup=('etc/conf.d/rpcbind')
+makedepends=('systemd')
+depends=('bash' 'glibc' 'libtirpc' 'libsystemd')
url="http://rpcbind.sourceforge.net"
license=('custom')
replaces=('portmap')
-source=(http://downloads.sourceforge.net/sourceforge/rpcbind/rpcbind-0.2.0.tar.bz2
+# see also http://git.infradead.org/users/steved/rpcbind.git
+source=(https://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2
rpcbind-sunrpc.patch
- rpcbind.service
- rpcbind)
-md5sums=('1a77ddb1aaea8099ab19c351eeb26316'
- 'c02ac36a98baac70b8a26190524b7b73'
- 'd2615f4c0d58f154aab6e294997ac9be'
- '78a963654f57cbb209e228884767836e')
+ rpcbind.conf
+ systemd_service.diff
+ tmpfiles.d
+ sysusers.d
+ CVE-2017-8779.diff)
+sha1sums=('8a6045dd3397e9f71bf3a7c9d269e255cca537bd'
+ '1b997ce76f9727efc8c72fc5f97189591c9a60e2'
+ '08246ff18d12cee01e5c9391c6ba8f5597cac936'
+ '3ebfcf09d01e41c70135124e68b3db681c768aa0'
+ 'eb8b7375a4ca31b3f61fa726f387884d5e4ca7a3'
+ '97fed152572790a44e972114cbb436ca517254f9'
+ '38044ce8f3376a0b69da8e078e988fd1645bd435')
-build() {
+prepare() {
cd $srcdir/$pkgname-$pkgver
- # patch for iana services file
+ # patch for iana services file # FS#20273
patch -Np1 -i ../rpcbind-sunrpc.patch
- ./configure --prefix=/usr --enable-warmstarts --with-statedir=/run
- make
+ # use distro config file; FS#52058
+ patch -Np1 -i ../systemd_service.diff
+ # http://seclists.org/oss-sec/2017/q2/209
+ patch -Np1 -i ../CVE-2017-8779.diff
}
-check() {
+build() {
cd $srcdir/$pkgname-$pkgver
- make check
+ ./configure --prefix=/usr \
+ --with-rpcuser=rpc \
+ --enable-warmstarts \
+ --with-statedir=/var/lib/rpcbind
+ make
}
package() {
cd $srcdir/$pkgname-$pkgver
make DESTDIR=$pkgdir install
+ # install rpcbind config file
+ install -D -m644 $srcdir/rpcbind.conf $pkgdir/etc/conf.d/rpcbind
# install missing man page - https://bugs.archlinux.org/task/21271
install -m644 man/rpcinfo.8 $pkgdir/usr/share/man/man8/
- # install daemon
- install -D -m755 $srcdir/rpcbind $pkgdir/etc/rc.d/rpcbind
- # install systemd service file
- install -D -m644 $srcdir/rpcbind.service $pkgdir/usr/lib/systemd/system/rpcbind.service
+ # systemd sysusers/tempfile
+ install -Dm644 ../tmpfiles.d ${pkgdir}/usr/lib/tmpfiles.d/rpcbind.conf
+ install -Dm644 ../sysusers.d ${pkgdir}/usr/lib/sysusers.d/rpcbind.conf
# install license
install -D -m644 COPYING $pkgdir/usr/share/licenses/rpcbind/COPYING
}
diff --git a/abs/core/rpcbind/rpcbind-sunrpc.patch b/abs/core/rpcbind/rpcbind-sunrpc.patch
index 76cf54b..099e833 100644
--- a/abs/core/rpcbind/rpcbind-sunrpc.patch
+++ b/abs/core/rpcbind/rpcbind-sunrpc.patch
@@ -1,6 +1,6 @@
---- rpcbind-0.1.7/src/rpcbind.c.orig 2008-11-19 14:17:34.000000000 +0100
-+++ rpcbind-0.1.7/src/rpcbind.c 2010-01-07 13:03:37.416632894 +0100
-@@ -114,7 +114,7 @@
+--- rpcbind-0.2.3/src/rpcbind.c 2015-04-27 16:07:43.000000000 +0200
++++ rpcbind-0.2.3/src/rpcbind.c.new 2015-04-27 19:48:44.518124944 +0200
+@@ -132,7 +132,7 @@
char *udp_uaddr; /* Universal UDP address */
char *tcp_uaddr; /* Universal TCP address */
#endif
@@ -9,14 +9,3 @@
static char superuser[] = "superuser";
int main __P((int, char *[]));
---- rpcbind-0.1.7/src/rpcinfo.c~ 2010-01-08 16:14:24.592156602 +0000
-+++ rpcbind-0.1.7/src/rpcinfo.c 2010-01-08 16:14:31.578838609 +0000
-@@ -633,7 +633,7 @@
- {
- memset (&hints, 0, sizeof hints);
- hints.ai_family = AF_INET;
-- if ((error = getaddrinfo (host, "rpcbind", &hints, &res)) != 0 &&
-+ if ((error = getaddrinfo (host, "sunrpc", &hints, &res)) != 0 &&
- (error = getaddrinfo (host, "portmapper", &hints, &res)) != 0)
- {
- fprintf (stderr, "rpcinfo: %s: %s\n",
diff --git a/abs/core/rpcbind/rpcbind.conf b/abs/core/rpcbind/rpcbind.conf
new file mode 100644
index 0000000..4b35e37
--- /dev/null
+++ b/abs/core/rpcbind/rpcbind.conf
@@ -0,0 +1,3 @@
+#
+# Optional arguments passed to rpcbind. See rpcbind(8)
+RPCBIND_ARGS=""
diff --git a/abs/core/rpcbind/rpcbind.service b/abs/core/rpcbind/rpcbind.service
deleted file mode 100644
index 418ba1e..0000000
--- a/abs/core/rpcbind/rpcbind.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=RPC Bind
-Requires=network.target
-
-[Service]
-Type=forking
-ExecStart=/usr/bin/rpcbind
-Restart=always
-
-[Install]
-WantedBy=multi-user.target
diff --git a/abs/core/rpcbind/systemd_service.diff b/abs/core/rpcbind/systemd_service.diff
new file mode 100644
index 0000000..fdab664
--- /dev/null
+++ b/abs/core/rpcbind/systemd_service.diff
@@ -0,0 +1,10 @@
+--- rpcbind-0.2.4/systemd/rpcbind.service.in 2016-11-28 21:47:28.000000000 +0100
++++ rpcbind-0.2.4/systemd/rpcbind.service.in.new 2016-12-06 16:18:54.429326613 +0100
+@@ -11,6 +11,7 @@
+ [Service]
+ Type=notify
+ # distro can provide a drop-in adding EnvironmentFile=-/??? if needed.
++EnvironmentFile=/etc/conf.d/rpcbind
+ ExecStart=@_bindir@/rpcbind $RPCBIND_OPTIONS -w -f
+
+ [Install]
diff --git a/abs/core/rpcbind/sysusers.d b/abs/core/rpcbind/sysusers.d
new file mode 100644
index 0000000..213da3e
--- /dev/null
+++ b/abs/core/rpcbind/sysusers.d
@@ -0,0 +1 @@
+u rpc 32 "Rpcbind Daemon" /var/lib/rpcbind
diff --git a/abs/core/rpcbind/tmpfiles.d b/abs/core/rpcbind/tmpfiles.d
new file mode 100644
index 0000000..09bfa35
--- /dev/null
+++ b/abs/core/rpcbind/tmpfiles.d
@@ -0,0 +1 @@
+d /var/lib/rpcbind 0700 rpc rpc
diff --git a/abs/core/rsyslog/PKGBUILD b/abs/core/rsyslog/PKGBUILD
index 1e6ef5d..232934e 100644
--- a/abs/core/rsyslog/PKGBUILD
+++ b/abs/core/rsyslog/PKGBUILD
@@ -2,7 +2,7 @@
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=rsyslog
-pkgver=8.24.0
+pkgver=8.33.0
pkgrel=1
pkgdesc="An enhanced multi-threaded syslogd with a focus on security and reliability"
url="http://www.rsyslog.com/"
@@ -57,7 +57,7 @@ package() {
install -D -m644 "$srcdir"/mythtv.conf "$pkgdir"/etc/rsyslog.d/mythtv.conf
install -D -m755 "$srcdir"/log_care.sh "$pkgdir"/etc/cron.daily/log_care
}
-md5sums=('789be3f43edae1b20d92c620b04c19de'
+md5sums=('7eb94a6da7340f524a2635568053d7fd'
'61750ec989c319470b466946f6404931'
'd99814eeea48b370b3e0fe2899792fdb'
'cd39e6edc1fcbbae2093c40c880e0079')
diff --git a/abs/core/runit-scripts/PKGBUILD b/abs/core/runit-scripts/PKGBUILD
index 1c4c342..777d89f 100755
--- a/abs/core/runit-scripts/PKGBUILD
+++ b/abs/core/runit-scripts/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=runit-scripts
-pkgver=8.4
-pkgrel=5
+pkgver=8.5
+pkgrel=2
pkgdesc="collection of startup scripts for runit"
url="http://smarden.org/runit/"
license=('BSD')
diff --git a/abs/core/runit-scripts/runitscripts/services/mysql/run b/abs/core/runit-scripts/runitscripts/services/mysql/run
index de76962..8fad493 100755
--- a/abs/core/runit-scripts/runitscripts/services/mysql/run
+++ b/abs/core/runit-scripts/runitscripts/services/mysql/run
@@ -35,6 +35,15 @@ if [ ! -d /var/run/mysqld ]; then
mkdir -p /var/run/mysqld
chown mysql /var/run/mysqld
fi
+
+#check .err and truncate if more than 30000 lines
+ErrFile="/data/srv/mysql/`hostname`.err"
+if [[ $(wc -l < $ErrFile) -gt 30000 ]]
+then
+ tail -n 30000 "$ErrFile" > "$ErrFile.tmp" && mv "$ErrFile.tmp" "$ErrFile"
+ chown mysql.mysql "$ErrFile"
+fi
+
HOME=/etc/mysql/
MYSQLADMIN='/usr/bin/mysqladmin'
diff --git a/abs/core/runit-scripts/runitscripts/services/postfix/run b/abs/core/runit-scripts/runitscripts/services/postfix/run
index 1fa526e..cd5a551 100755
--- a/abs/core/runit-scripts/runitscripts/services/postfix/run
+++ b/abs/core/runit-scripts/runitscripts/services/postfix/run
@@ -5,4 +5,4 @@ export TERM=linux
. /etc/rc.d/functions
stat_runit "Starting postfix"
-exec /usr/lib/postfix/master -D
+exec /usr/lib/postfix/bin/master -D
diff --git a/abs/core/sudo/PKGBUILD b/abs/core/sudo/PKGBUILD
index 14f21ec..cf0753b 100644
--- a/abs/core/sudo/PKGBUILD
+++ b/abs/core/sudo/PKGBUILD
@@ -4,23 +4,27 @@
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=sudo
-_sudover=1.8.14p3
+_sudover=1.8.22
pkgver=${_sudover/p/.p}
-pkgrel=2
+pkgrel=1
pkgdesc="Give certain users the ability to run some commands as root"
-arch=('i686' 'x86_64')
-url="http://www.sudo.ws/sudo/"
+arch=('x86_64')
+url="https://www.sudo.ws/sudo/"
license=('custom')
groups=('base-devel')
-depends=('glibc' 'pam' 'libldap')
+depends=('glibc' 'libgcrypt' 'pam' 'libldap')
backup=('etc/sudoers' 'etc/pam.d/sudo')
install=$pkgname.install
-source=(http://www.sudo.ws/sudo/dist/$pkgname-$_sudover.tar.gz{,.sig}
+source=(https://www.sudo.ws/sudo/dist/$pkgname-$_sudover.tar.gz{,.sig}
sudo.pam)
-sha256sums=('a8a697cbb113859058944850d098464618254804cf97961dee926429f00a1237'
+sha256sums=('7256cb27c20883b14360eddbd17f98922073d104b214cf65aeacf1d9c9b9fd02'
'SKIP'
'd1738818070684a5d2c9b26224906aad69a4fea77aabd960fc2675aee2df1fa2')
-validpgpkeys=('CCB24BE9E9481B15D34159535A89DFA27EE470C4')
+validpgpkeys=('59D1E9CCBA2B376704FDD35BA9F4C021CEA470FB')
+
+prepare() {
+ cd "$srcdir/$pkgname-$_sudover"
+}
build() {
cd "$srcdir/$pkgname-$_sudover"
@@ -32,6 +36,7 @@ build() {
--with-rundir=/run/sudo \
--with-vardir=/var/db/sudo \
--with-logfac=auth \
+ --enable-gcrypt \
--enable-tmpfiles.d \
--with-pam \
--with-sssd \
@@ -52,7 +57,10 @@ package() {
cd "$srcdir/$pkgname-$_sudover"
make DESTDIR="$pkgdir" install
- # Remove /run/sudo directory from the package; we create it using tmpfiles.d
+ # Remove sudoers.dist; not needed since pacman manages updates to sudoers
+ rm "$pkgdir/etc/sudoers.dist"
+
+ # Remove /run/sudo directory; we create it using systemd-tmpfiles
rmdir "$pkgdir/run/sudo"
rmdir "$pkgdir/run"
diff --git a/abs/core/sudo/sudo.install b/abs/core/sudo/sudo.install
index 1369cc1..abf58e3 100644
--- a/abs/core/sudo/sudo.install
+++ b/abs/core/sudo/sudo.install
@@ -1,9 +1,3 @@
-post_install() {
- if type -P systemd-tmpfiles >/dev/null; then
- systemd-tmpfiles --create sudo.conf
- fi
-}
-
pre_upgrade() {
# Permissions of /var/db/sudo were changed from 0700 to 0711 in sudo 1.8.10
# http://www.sudo.ws/repos/sudo/rev/5c38d77a2d0c
@@ -12,8 +6,4 @@ pre_upgrade() {
fi
}
-post_upgrade() {
- post_install
-}
-
# vim:set ts=2 sw=2 et:
diff --git a/abs/core/system-templates/PKGBUILD b/abs/core/system-templates/PKGBUILD
index 2b017d9..8bf61d1 100755
--- a/abs/core/system-templates/PKGBUILD
+++ b/abs/core/system-templates/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=system-templates
pkgver=8.5
-pkgrel=2
+pkgrel=4
conflicts=( )
pkgdesc="Templates used for system configuration"
depends=()
@@ -17,4 +17,3 @@ package() {
rsync -r --exclude=.svn ../templates $MVDIR/
}
-md5sums=()
diff --git a/abs/core/system-templates/templates/remotes/favorites/streamzap/lircd.conf.streamzap b/abs/core/system-templates/templates/remotes/favorites/streamzap/lircd.conf.streamzap
index c2a88da..a89ae7e 100644
--- a/abs/core/system-templates/templates/remotes/favorites/streamzap/lircd.conf.streamzap
+++ b/abs/core/system-templates/templates/remotes/favorites/streamzap/lircd.conf.streamzap
@@ -1,72 +1,119 @@
+# This config file was automatically generated
+# using lirc-0.9.4b(default) on Thu Nov 3 19:55:19 2016
+# Command line used: --device=/dev/lirc0 --driver default Streamzap_PC_Remote
+# Kernel version (uname -r): 4.8.6-1-custom
#
-# this config file was automatically generated
-# using lirc-0.7.1-CVS(serial) on Fri Feb 4 23:20:56 2005
+# Contributed by graysky (https://github.com/graysky2)
#
-# contributed by Christoph Bartelmus
+# You should specify the default driver in /etc/lirc/lirc_options.conf
+# like this: driver = default
#
-# brand: Streamzap
-# model no. of remote control: PC Remote
-# devices being controlled by this remote: USB receiver
+# Remote name : Streamzap PC Remote Control
+# Brand of remote device : Streamzap
+# Remote device model : USBIR2
+# Remote device info URL : http://www.streamzap.com/consumer/pc_remote
+# USB dongle : Yes
+# USB vendor ID : 0x0e9c Streamzap, Inc.
+# Product ID : 0x0000 Streamzap Remote Control
+# Devices controlled : HTPC
+# Remote layout : Classic models have the word "streamzap" in white
+# letters across the bottom of the remote.
#
+# At least one newer model has the words, "TEMPEST
+# microsystems" in white letters across the bottom of
+# the remote with 3 additional keys in the bottom row.
+#
+# Both older and newer IR receivers and corresponding
+# scancodes seem identical based on the two samples
+# available to me.
+#
+# +-----------+
+# | |
+# | x x | Power, Mute
+# | |
+# | x x x | 1, 2, 3
+# | |
+# | x x x | 4, 5, 6
+# | |
+# | x x x | 7, 8, 9
+# | |
+# | x x x | Channelup, 0, Volumeup
+# | |
+# | x x | Channeldown, Volumedown
+# | |
+# | x | Up
+# | |
+# | x x x | Left, OK, Right
+# | |
+# | x | Down
+# | |
+# | x x | Menu, Exit
+# | |
+# | x x x | Play, Pause, Stop
+# | |
+# | x x x | Previous, Next, Record
+# | |
+# / x x \ Rewind, Forward
+# | |
+# | x x x x | Red, Green, Yellow, Blue
+# | |
+# | x x x | Disp, PTZ (Pan/Tilt/Zoom), Help
+# +-------------+
begin remote
name Streamzap_PC_Remote
- bits 6
- flags RC5|CONST_LENGTH
+ bits 14
+ flags RC5
eps 30
aeps 100
- one 889 889
- zero 889 889
- plead 889
- pre_data_bits 8
- pre_data 0xA3
- gap 108344
- toggle_bit 2
-
+ one 864 864
+ zero 864 864
+ plead 896
+ gap 16777215
+ toggle_bit_mask 0x1000
+ frequency 38000
begin codes
- 0 0x00
- 1 0x01
- 2 0x02
- 3 0x03
- 4 0x04
- 5 0x05
- 6 0x06
- 7 0x07
- 8 0x08
- 9 0x09
- POWER 0x0A
- MUTE 0x0B
- CH_UP 0x0C
- VOL_UP 0x0D
- CH_DOWN 0x0E
- VOL_DOWN 0x0F
- UP 0x10
- LEFT 0x11
- OK 0x12
- RIGHT 0x13
- DOWN 0x14
- MENU 0x15
- EXIT 0x16
- PLAY 0x17
- PAUSE 0x18
- STOP 0x19
- PREVIOUS 0x1A
- NEXT 0x1B
- RECORD 0x1C
- REWIND 0x1D
- FOWARD 0x1E
- RED 0x20
- GREEN 0x21
- YELLOW 0x22
- BLUE 0x23
- DISP 0x24
- PTZ 0x25
- HELP 0x26
+ 1 0x28C1
+ 2 0x28C2
+ 3 0x28C3
+ 4 0x28C4
+ 5 0x28C5
+ 6 0x28C6
+ 7 0x28C7
+ 8 0x28C8
+ 9 0x28C9
+ 0 0x28C0
+ POWER 0x28CA
+ MUTE 0x28CB
+ CH_UP 0x28CC
+ CH_DOWN 0x28CE
+ VOL_UP 0x28CD
+ VOL_DOWN 0x28CF
+ UP 0x28D0
+ DOWN 0x28D4
+ LEFT 0x28D1
+ RIGHT 0x28D3
+ OK 0x28D2
+ MENU 0x28D5
+ EXIT 0x28D6
+ PLAY 0x28D7
+ PAUSE 0x28D8
+ STOP 0x28D9
+ PREVIOUS 0x28DA
+ NEXT 0x28DB
+ RECORD 0x28DC
+ REWIND 0x28DD
+ FORWARD 0x28DE
+ RED 0x28E0
+ GREEN 0x28E1
+ YELLOW 0x28E2
+ BLUE 0x28E3
+ DISP 0x28E4
+ PTZ 0x28E5
+ HELP 0x28E6
end codes
end remote
-
-
diff --git a/abs/core/system-templates/templates/xorg/340xx_supported.txt b/abs/core/system-templates/templates/xorg/340xx_supported.txt
index d18d236..f7a5326 100644
--- a/abs/core/system-templates/templates/xorg/340xx_supported.txt
+++ b/abs/core/system-templates/templates/xorg/340xx_supported.txt
@@ -1,5 +1,5 @@
http://www.nvidia.com/object/IO_32667.html
-http://us.download.nvidia.com/XFree86/Linux-x86/340.104/README/supportedchips.html
+http://us.download.nvidia.com/XFree86/Linux-x86/340.106/README/supportedchips.html
NVIDIA GeForce GPUs
NVIDIA GPU product Device PCI ID* VDPAU features
@@ -7,61 +7,61 @@ GeForce 8800 GTX 0x0191 -
GeForce 8800 GTS 0x0193 -
GeForce 8800 Ultra 0x0194 -
GeForce 8600 GTS 0x0400 A
-GeForce 8600 GT 0x0401 A
-GeForce 8600 GT 0x0402 A
-GeForce 8600 GS 0x0403 A
-GeForce 8400 GS 0x0404 A
+GeForce 8600 GT 0x0401 A
+GeForce 8600 GT 0x0402 A
+GeForce 8600 GS 0x0403 A
+GeForce 8400 GS 0x0404 A
GeForce 9500M GS 0x0405 A
-GeForce 8300 GS 0x0406 -
+GeForce 8300 GS 0x0406 -
GeForce 8600M GT 0x0407 A
GeForce 9650M GS 0x0408 A
GeForce 8700M GT 0x0409 A
GeForce GT 330 0x0410 A
-GeForce 8400 SE 0x0420 -
-GeForce 8500 GT 0x0421 A
-GeForce 8400 GS 0x0422 A
-GeForce 8300 GS 0x0423 -
-GeForce 8400 GS 0x0424 A
+GeForce 8400 SE 0x0420 -
+GeForce 8500 GT 0x0421 A
+GeForce 8400 GS 0x0422 A
+GeForce 8300 GS 0x0423 -
+GeForce 8400 GS 0x0424 A
GeForce 8600M GS 0x0425 A
GeForce 8400M GT 0x0426 A
GeForce 8400M GS 0x0427 A
-GeForce 8400M G 0x0428 A
-GeForce 9400 GT 0x042C A
-GeForce 9300M G 0x042E A
-GeForce GTX 295 0x05E0 A
-GeForce GTX 280 0x05E1 A
-GeForce GTX 260 0x05E2 A
-GeForce GTX 285 0x05E3 A
-GeForce GTX 275 0x05E6 A
-GeForce GTX 260 0x05EA A
-GeForce GTX 295 0x05EB A
+GeForce 8400M G 0x0428 A
+GeForce 9400 GT 0x042C A
+GeForce 9300M G 0x042E A
+GeForce GTX 295 0x05E0 A
+GeForce GTX 280 0x05E1 A
+GeForce GTX 260 0x05E2 A
+GeForce GTX 285 0x05E3 A
+GeForce GTX 275 0x05E6 A
+GeForce GTX 260 0x05EA A
+GeForce GTX 295 0x05EB A
GeForce 8800 GTS 512 0x0600 A
-GeForce 9800 GT 0x0601 A
-GeForce 8800 GT 0x0602 A
+GeForce 9800 GT 0x0601 A
+GeForce 8800 GT 0x0602 A
GeForce GT 230 0x0603 A
GeForce 9800 GX2 0x0604 A
-GeForce 9800 GT 0x0605 A
-GeForce 8800 GS 0x0606 A
-GeForce GTS 240 0x0607 A
+GeForce 9800 GT 0x0605 A
+GeForce 8800 GS 0x0606 A
+GeForce GTS 240 0x0607 A
GeForce 9800M GTX 0x0608 A
GeForce 8800M GTS 0x0609 A
-GeForce 8800 GS 0x0609 0x00A7 A
+GeForce 8800 GS 0x0609 0x00A7 A
GeForce GTX 280M 0x060A A
GeForce 9800M GT 0x060B A
GeForce 8800M GTX 0x060C A
-GeForce 8800 GS 0x060D A
+GeForce 8800 GS 0x060D A
GeForce GTX 285M 0x060F A
GeForce 9600 GSO 0x0610 A
-GeForce 8800 GT 0x0611 A
+GeForce 8800 GT 0x0611 A
GeForce 9800 GTX/9800 GTX+ 0x0612 A
GeForce 9800 GTX+ 0x0613 A
-GeForce 9800 GT 0x0614 A
-GeForce GTS 250 0x0615 A
+GeForce 9800 GT 0x0614 A
+GeForce GTS 250 0x0615 A
GeForce 9800M GTX 0x0617 A
GeForce GTX 260M 0x0618 A
GeForce GT 230 0x0621 A
-GeForce 9600 GT 0x0622 A
-GeForce 9600 GS 0x0623 A
+GeForce 9600 GT 0x0622 A
+GeForce 9600 GS 0x0623 A
GeForce 9600 GSO 512 0x0625 A
GeForce GT 130 0x0626 A
GeForce GT 140 0x0627 A
@@ -69,49 +69,49 @@ GeForce 9800M GTS 0x0628 A
GeForce 9700M GTS 0x062A A
GeForce 9800M GS 0x062B A
GeForce 9800M GTS 0x062C A
-GeForce 9600 GT 0x062D A
-GeForce 9600 GT 0x062E A
+GeForce 9600 GT 0x062D A
+GeForce 9600 GT 0x062E A
GeForce GT 130 0x062E 0x0605 A
GeForce 9700 S 0x0630 A
GeForce GTS 160M 0x0631 A
GeForce GTS 150M 0x0632 A
GeForce 9600 GSO 0x0635 A
-GeForce 9600 GT 0x0637 A
-GeForce 9500 GT 0x0640 A
-GeForce 9400 GT 0x0641 A
-GeForce 9500 GT 0x0643 A
-GeForce 9500 GS 0x0644 A
-GeForce 9500 GS 0x0645 A
+GeForce 9600 GT 0x0637 A
+GeForce 9500 GT 0x0640 A
+GeForce 9400 GT 0x0641 A
+GeForce 9500 GT 0x0643 A
+GeForce 9500 GS 0x0644 A
+GeForce 9500 GS 0x0645 A
GeForce GT 120 0x0646 A
GeForce 9600M GT 0x0647 A
GeForce 9600M GS 0x0648 A
GeForce 9600M GT 0x0649 A
-GeForce GT 220M 0x0649 0x202D A
+GeForce GT 220M 0x0649 0x202D A
GeForce 9700M GT 0x064A A
-GeForce 9500M G 0x064B A
+GeForce 9500M G 0x064B A
GeForce 9650M GT 0x064C A
GeForce G 110M 0x0651 A
-GeForce GT 130M 0x0652 A
+GeForce GT 130M 0x0652 A
GeForce GT 240M LE 0x0652 0x0850 A
-GeForce GT 120M 0x0653 A
-GeForce GT 220M 0x0654 A
-GeForce GT 320M 0x0654 0x14A2 A
-GeForce GT 320M 0x0654 0x14D2 A
+GeForce GT 120M 0x0653 A
+GeForce GT 220M 0x0654 A
+GeForce GT 320M 0x0654 0x14A2 A
+GeForce GT 320M 0x0654 0x14D2 A
GeForce GT 120 0x0655 0x0633 A
GeForce GT 120 0x0656 0x0693 A
-GeForce 9400 GT 0x065B A
-GeForce GTX 480 0x06C0 C
-GeForce GTX 465 0x06C4 C
+GeForce 9400 GT 0x065B A
+GeForce GTX 480 0x06C0 C
+GeForce GTX 465 0x06C4 C
GeForce GTX 480M 0x06CA C
-GeForce GTX 470 0x06CD C
-GeForce 9300 GE 0x06E0 B 1
-GeForce 9300 GS 0x06E1 B 1
+GeForce GTX 470 0x06CD C
+GeForce 9300 GE 0x06E0 B 1
+GeForce 9300 GS 0x06E1 B 1
GeForce 8400 0x06E2 B 1
-GeForce 8400 SE 0x06E3 -
-GeForce 8400 GS 0x06E4 A 1
+GeForce 8400 SE 0x06E3 -
+GeForce 8400 GS 0x06E4 A 1
GeForce 9300M GS 0x06E5 B 1
GeForce G100 0x06E6 B 1
-GeForce 9300 SE 0x06E7 -
+GeForce 9300 SE 0x06E7 -
GeForce 9200M GS 0x06E8 B 1
GeForce 9200M GE 0x06E8 0x360B B 1
GeForce 9300M GS 0x06E9 B 1
@@ -119,43 +119,43 @@ GeForce G 105M 0x06EC B 1
GeForce G 103M 0x06EF B 1
GeForce G105M 0x06F1 B 1
GeForce 8200M 0x0840 B 1
-GeForce 9100M G 0x0844 B 1
-GeForce 8200M G 0x0845 B 1
+GeForce 9100M G 0x0844 B 1
+GeForce 8200M G 0x0845 B 1
GeForce 9200 0x0846 B 1
GeForce 9100 0x0847 B 1
GeForce 8300 0x0848 B 1
GeForce 8200 0x0849 B 1
-nForce 730a 0x084A B 1
+nForce 730a 0x084A B 1
GeForce 9200 0x084B B 1
nForce 980a/780a SLI 0x084C B 1
-nForce 750a SLI 0x084D B 1
+nForce 750a SLI 0x084D B 1
GeForce 8100 / nForce 720a 0x084F -
GeForce 9400 0x0860 B 1
GeForce 9400 0x0861 B 1
-GeForce 9400M G 0x0862 B 1
+GeForce 9400M G 0x0862 B 1
GeForce 9400M 0x0863 B 1
GeForce 9300 0x0864 B 1
-ION 0x0865 B 1
-GeForce 9400M G 0x0866 B 1
+ION 0x0865 B 1
+GeForce 9400M G 0x0866 B 1
GeForce 9400M 0x0866 0x00B1 B 1
GeForce 9400 0x0867 B 1
-nForce 760i SLI 0x0868 B 1
+nForce 760i SLI 0x0868 B 1
GeForce 9400 0x0869 B 1
GeForce 9400 0x086A B 1
GeForce 9300 / nForce 730i 0x086C B 1
GeForce 9200 0x086D B 1
-GeForce 9100M G 0x086E B 1
-GeForce 8200M G 0x086F B 1
+GeForce 9100M G 0x086E B 1
+GeForce 8200M G 0x086F B 1
GeForce 9400M 0x0870 B 1
GeForce 9200 0x0871 B 1
GeForce G102M 0x0872 B 1
GeForce G205M 0x0872 0x1C42 B 1
GeForce G102M 0x0873 B 1
GeForce G205M 0x0873 0x1C52 B 1
-ION 0x0874 B 1
-ION 0x0876 B 1
+ION 0x0874 B 1
+ION 0x0876 B 1
GeForce 9400 0x087A B 1
-ION 0x087D B 1
+ION 0x087D B 1
ION LE 0x087E B 1
ION LE 0x087F B 1
GeForce 320M 0x08A0 C
@@ -164,25 +164,25 @@ GeForce 320M 0x08A3 C
GeForce 320M 0x08A4 C
GeForce 320M 0x08A5 C
GeForce GT 220 0x0A20 C
-GeForce 315 0x0A22 -
-GeForce 210 0x0A23 C
-GeForce 405 0x0A26 C
-GeForce 405 0x0A27 C
-GeForce GT 230M 0x0A28 C
-GeForce GT 330M 0x0A29 C
-GeForce GT 230M 0x0A2A C
-GeForce GT 330M 0x0A2B C
-GeForce GT 320M 0x0A2D A
+GeForce 315 0x0A22 -
+GeForce 210 0x0A23 C
+GeForce 405 0x0A26 C
+GeForce 405 0x0A27 C
+GeForce GT 230M 0x0A28 C
+GeForce GT 330M 0x0A29 C
+GeForce GT 230M 0x0A2A C
+GeForce GT 330M 0x0A2B C
+GeForce GT 320M 0x0A2D A
GeForce GT 415 0x0A32 C
-GeForce GT 240M 0x0A34 C
-GeForce GT 325M 0x0A35 C
+GeForce GT 240M 0x0A34 C
+GeForce GT 325M 0x0A35 C
GeForce G210 0x0A60 C
-GeForce 205 0x0A62 C
-GeForce 310 0x0A63 C
+GeForce 205 0x0A62 C
+GeForce 310 0x0A63 C
Second Generation ION 0x0A64 C
-GeForce 210 0x0A65 C
-GeForce 310 0x0A66 C
-GeForce 315 0x0A67 -
+GeForce 210 0x0A65 C
+GeForce 310 0x0A66 C
+GeForce 315 0x0A67 -
GeForce G105M 0x0A68 B
GeForce G105M 0x0A69 B
GeForce 305M 0x0A6E C
@@ -202,16 +202,16 @@ GeForce 310M 0x0A75 C
Second Generation ION 0x0A75 0x3605 C
Second Generation ION 0x0A76 C
GeForce 315M 0x0A7A C
-GeForce 405 0x0A7A 0x0003 C
+GeForce 405 0x0A7A 0x0003 C
GeForce 405M 0x0A7A 0x3950 C
GeForce 405M 0x0A7A 0x397D C
-GeForce 405 0x0A7A 0x3980 C
-GeForce 405 0x0A7A 0x8006 C
-GeForce 405 0x0A7A 0x90B4 C
-GeForce 405 0x0A7A 0xAA51 C
-GeForce 405 0x0A7A 0xAA58 C
-GeForce 405 0x0A7A 0xAC71 C
-GeForce 405 0x0A7A 0xAC82 C
+GeForce 405 0x0A7A 0x3980 C
+GeForce 405 0x0A7A 0x8006 C
+GeForce 405 0x0A7A 0x90B4 C
+GeForce 405 0x0A7A 0xAA51 C
+GeForce 405 0x0A7A 0xAA58 C
+GeForce 405 0x0A7A 0xAC71 C
+GeForce 405 0x0A7A 0xAC82 C
GeForce GT 330 0x0CA0 A
GeForce GT 320 0x0CA2 C
GeForce GT 240 0x0CA3 C
@@ -221,60 +221,60 @@ GeForce GT 330 0x0CA7 A
GeForce GTS 260M 0x0CA8 C
GeForce GTS 250M 0x0CA9 C
GeForce GT 220 0x0CAC C
-GeForce GT 335M 0x0CAF C
+GeForce GT 335M 0x0CAF C
GeForce GTS 350M 0x0CB0 C
GeForce GTS 360M 0x0CB1 C
GeForce GT 440 0x0DC0 C
-GeForce GTS 450 0x0DC4 C
-GeForce GTS 450 0x0DC5 C
-GeForce GTS 450 0x0DC6 C
-GeForce GT 555M 0x0DCD C
-GeForce GT 555M 0x0DCE C
+GeForce GTS 450 0x0DC4 C
+GeForce GTS 450 0x0DC5 C
+GeForce GTS 450 0x0DC6 C
+GeForce GT 555M 0x0DCD C
+GeForce GT 555M 0x0DCE C
GeForce GTX 460M 0x0DD1 C
-GeForce GT 445M 0x0DD2 C
-GeForce GT 435M 0x0DD3 C
-GeForce GT 550M 0x0DD6 C
+GeForce GT 445M 0x0DD2 C
+GeForce GT 435M 0x0DD3 C
+GeForce GT 550M 0x0DD6 C
GeForce GT 440 0x0DE0 C
GeForce GT 430 0x0DE1 C
GeForce GT 420 0x0DE2 C
-GeForce GT 635M 0x0DE3 C
+GeForce GT 635M 0x0DE3 C
GeForce GT 520 0x0DE4 C
GeForce GT 530 0x0DE5 C
GeForce GT 610 0x0DE7 C
-GeForce GT 620M 0x0DE8 C
-GeForce GT 630M 0x0DE9 C
-GeForce GT 620M 0x0DE9 0x0692 C
-GeForce GT 620M 0x0DE9 0x0725 C
-GeForce GT 620M 0x0DE9 0x0728 C
-GeForce GT 620M 0x0DE9 0x072B C
-GeForce GT 620M 0x0DE9 0x072E C
-GeForce GT 620M 0x0DE9 0x0753 C
-GeForce GT 620M 0x0DE9 0x0754 C
-GeForce GT 635M 0x0DE9 0x2210 C
+GeForce GT 620M 0x0DE8 C
+GeForce GT 630M 0x0DE9 C
+GeForce GT 620M 0x0DE9 0x0692 C
+GeForce GT 620M 0x0DE9 0x0725 C
+GeForce GT 620M 0x0DE9 0x0728 C
+GeForce GT 620M 0x0DE9 0x072B C
+GeForce GT 620M 0x0DE9 0x072E C
+GeForce GT 620M 0x0DE9 0x0753 C
+GeForce GT 620M 0x0DE9 0x0754 C
+GeForce GT 635M 0x0DE9 0x2210 C
GeForce GT 640M LE 0x0DE9 0x3977 C
GeForce 610M 0x0DEA C
-GeForce 615 0x0DEA 0x365A C
-GeForce 615 0x0DEA 0x365B C
-GeForce 615 0x0DEA 0x365E C
-GeForce 615 0x0DEA 0x3660 C
-GeForce 615 0x0DEA 0x366C C
-GeForce GT 555M 0x0DEB C
-GeForce GT 525M 0x0DEC C
-GeForce GT 520M 0x0DED C
-GeForce GT 415M 0x0DEE C
-GeForce GT 425M 0x0DF0 C
-GeForce GT 420M 0x0DF1 C
-GeForce GT 435M 0x0DF2 C
-GeForce GT 420M 0x0DF3 C
-GeForce GT 540M 0x0DF4 C
-GeForce GT 630M 0x0DF4 0x0952 C
-GeForce GT 630M 0x0DF4 0x0953 C
-GeForce GT 525M 0x0DF5 C
-GeForce GT 550M 0x0DF6 C
-GeForce GT 520M 0x0DF7 C
-GeForce GTX 460 0x0E22 C
+GeForce 615 0x0DEA 0x365A C
+GeForce 615 0x0DEA 0x365B C
+GeForce 615 0x0DEA 0x365E C
+GeForce 615 0x0DEA 0x3660 C
+GeForce 615 0x0DEA 0x366C C
+GeForce GT 555M 0x0DEB C
+GeForce GT 525M 0x0DEC C
+GeForce GT 520M 0x0DED C
+GeForce GT 415M 0x0DEE C
+GeForce GT 425M 0x0DF0 C
+GeForce GT 420M 0x0DF1 C
+GeForce GT 435M 0x0DF2 C
+GeForce GT 420M 0x0DF3 C
+GeForce GT 540M 0x0DF4 C
+GeForce GT 630M 0x0DF4 0x0952 C
+GeForce GT 630M 0x0DF4 0x0953 C
+GeForce GT 525M 0x0DF5 C
+GeForce GT 550M 0x0DF6 C
+GeForce GT 520M 0x0DF7 C
+GeForce GTX 460 0x0E22 C
GeForce GTX 460 SE 0x0E23 C
-GeForce GTX 460 0x0E24 C
+GeForce GTX 460 0x0E24 C
GeForce GTX 470M 0x0E30 C
GeForce GTX 485M 0x0E31 C
GeForce GT 630 0x0F00 C
@@ -283,39 +283,39 @@ GeForce GT 730 0x0F02 C
GeForce GT 640 0x0FC0 C
GeForce GT 640 0x0FC1 C
GeForce GT 630 0x0FC2 C
-GeForce GTX 650 0x0FC6 D
+GeForce GTX 650 0x0FC6 D
GeForce GT 740 0x0FC8 D
-GeForce GT 755M 0x0FCD D
+GeForce GT 755M 0x0FCD D
GeForce GT 640M LE 0x0FCE C
-GeForce GT 650M 0x0FD1 D
-GeForce GT 640M 0x0FD2 D
+GeForce GT 650M 0x0FD1 D
+GeForce GT 640M 0x0FD2 D
GeForce GT 640M LE 0x0FD2 0x0595 C
GeForce GT 640M LE 0x0FD2 0x05B2 C
GeForce GT 640M LE 0x0FD3 C
GeForce GTX 660M 0x0FD4 D
-GeForce GT 650M 0x0FD5 D
-GeForce GT 640M 0x0FD8 D
-GeForce GT 645M 0x0FD9 D
-GeForce GT 740M 0x0FDF D
+GeForce GT 650M 0x0FD5 D
+GeForce GT 640M 0x0FD8 D
+GeForce GT 645M 0x0FD9 D
+GeForce GT 740M 0x0FDF D
GeForce GTX 660M 0x0FE0 D
-GeForce GT 730M 0x0FE1 D
-GeForce GT 745M 0x0FE2 D
-GeForce GT 745M 0x0FE3 D
-GeForce GT 745A 0x0FE3 0x3675 D
-GeForce GT 750M 0x0FE4 D
-GeForce GT 750M 0x0FE9 D
-GeForce GT 755M 0x0FEA D
+GeForce GT 730M 0x0FE1 D
+GeForce GT 745M 0x0FE2 D
+GeForce GT 745M 0x0FE3 D
+GeForce GT 745A 0x0FE3 0x3675 D
+GeForce GT 750M 0x0FE4 D
+GeForce GT 750M 0x0FE9 D
+GeForce GT 755M 0x0FEA D
GeForce 710A 0x0FEC C
-GeForce GTX TITAN Z 0x1001 D
-GeForce GTX 780 0x1004 D
+GeForce GTX TITAN Z 0x1001 D
+GeForce GTX 780 0x1004 D
GeForce GTX TITAN 0x1005 D
-GeForce GTX 780 0x1007 D
+GeForce GTX 780 0x1007 D
GeForce GTX 780 Ti 0x1008 D
GeForce GTX 780 Ti 0x100A D
-GeForce GTX TITAN Black 0x100C D
+GeForce GTX TITAN Black 0x100C D
GeForce GT 520 0x1040 C
-GeForce 510 0x1042 D
-GeForce 605 0x1048 D
+GeForce 510 0x1042 D
+GeForce 605 0x1048 D
GeForce GT 620 0x1049 C
GeForce GT 610 0x104A C
GeForce GT 625 (OEM) 0x104B D
@@ -325,100 +325,100 @@ GeForce GT 625 0x104B 0x846B D
GeForce GT 625 0x104B 0xA625 D
GeForce GT 625 0x104B 0xB590 D
GeForce GT 705 0x104C D
-GeForce GT 520M 0x1050 C
+GeForce GT 520M 0x1050 C
GeForce GT 520MX 0x1051 D
-GeForce GT 520M 0x1052 C
+GeForce GT 520M 0x1052 C
GeForce 410M 0x1054 D
GeForce 410M 0x1055 D
GeForce 610M 0x1058 C
-GeForce 610 0x1058 0x2AF1 D
+GeForce 610 0x1058 0x2AF1 D
GeForce 610M 0x1059 C
GeForce 610M 0x105A C
GeForce 705M 0x105B C
GeForce 705A 0x105B 0x2AFB D
-GeForce GTX 580 0x1080 C
-GeForce GTX 570 0x1081 C
+GeForce GTX 580 0x1080 C
+GeForce GTX 570 0x1081 C
GeForce GTX 560 Ti 0x1082 C
-GeForce GTX 560 0x1084 C
-GeForce GTX 570 0x1086 C
+GeForce GTX 560 0x1084 C
+GeForce GTX 570 0x1086 C
GeForce GTX 560 Ti 0x1087 C
-GeForce GTX 590 0x1088 C
-GeForce GTX 580 0x1089 C
-GeForce GTX 580 0x108B C
-GeForce 9300 GS 0x10C0 B
+GeForce GTX 590 0x1088 C
+GeForce GTX 580 0x1089 C
+GeForce GTX 580 0x108B C
+GeForce 9300 GS 0x10C0 B
GeForce 8400GS 0x10C3 A
-GeForce 405 0x10C5 C
+GeForce 405 0x10C5 C
GeForce 820M 0x1140 0x0083 C
GeForce 710M 0x1140 0x0177 C
GeForce 710M 0x1140 0x0180 C
-GeForce GT 720M 0x1140 0x0190 C
-GeForce GT 720M 0x1140 0x0192 C
-GeForce GT 630M 0x1140 0x054D C
-GeForce GT 630M 0x1140 0x054E C
-GeForce GT 620M 0x1140 0x0554 C
-GeForce GT 620M 0x1140 0x0557 C
+GeForce GT 720M 0x1140 0x0190 C
+GeForce GT 720M 0x1140 0x0192 C
+GeForce GT 630M 0x1140 0x054D C
+GeForce GT 630M 0x1140 0x054E C
+GeForce GT 620M 0x1140 0x0554 C
+GeForce GT 620M 0x1140 0x0557 C
GeForce GT625M 0x1140 0x0562 C
-GeForce GT 630M 0x1140 0x0565 C
-GeForce GT 630M 0x1140 0x0568 C
-GeForce GT 630M 0x1140 0x0590 C
+GeForce GT 630M 0x1140 0x0565 C
+GeForce GT 630M 0x1140 0x0568 C
+GeForce GT 630M 0x1140 0x0590 C
GeForce GT625M 0x1140 0x0592 C
GeForce GT625M 0x1140 0x0594 C
GeForce GT625M 0x1140 0x0595 C
GeForce GT625M 0x1140 0x05A2 C
GeForce GT625M 0x1140 0x05B1 C
GeForce GT625M 0x1140 0x05B3 C
-GeForce GT 630M 0x1140 0x05DA C
-GeForce GT 720M 0x1140 0x05DE C
-GeForce GT 720M 0x1140 0x05E0 C
-GeForce GT 630M 0x1140 0x05E8 C
-GeForce GT 720M 0x1140 0x05F4 C
-GeForce GT 620M 0x1140 0x0600 C
-GeForce GT 620M 0x1140 0x0606 C
-GeForce GT 720M 0x1140 0x060F C
-GeForce GT 620M 0x1140 0x064A C
-GeForce GT 620M 0x1140 0x064C C
+GeForce GT 630M 0x1140 0x05DA C
+GeForce GT 720M 0x1140 0x05DE C
+GeForce GT 720M 0x1140 0x05E0 C
+GeForce GT 630M 0x1140 0x05E8 C
+GeForce GT 720M 0x1140 0x05F4 C
+GeForce GT 620M 0x1140 0x0600 C
+GeForce GT 620M 0x1140 0x0606 C
+GeForce GT 720M 0x1140 0x060F C
+GeForce GT 620M 0x1140 0x064A C
+GeForce GT 620M 0x1140 0x064C C
GeForce 820M 0x1140 0x064E C
GeForce 820M 0x1140 0x0652 C
GeForce 820M 0x1140 0x0653 C
GeForce 820M 0x1140 0x0662 C
-GeForce GT 620M 0x1140 0x067A C
-GeForce GT 620M 0x1140 0x0680 C
+GeForce GT 620M 0x1140 0x067A C
+GeForce GT 620M 0x1140 0x0680 C
GeForce 710M 0x1140 0x0686 C
GeForce 710M 0x1140 0x0689 C
GeForce 710M 0x1140 0x068B C
GeForce 710M 0x1140 0x068D C
GeForce 710M 0x1140 0x068E C
GeForce 710M 0x1140 0x0691 C
-GeForce GT 620M 0x1140 0x0692 C
-GeForce GT 620M 0x1140 0x0694 C
-GeForce GT 620M 0x1140 0x0702 C
-GeForce GT 620M 0x1140 0x0719 C
-GeForce GT 620M 0x1140 0x0725 C
-GeForce GT 620M 0x1140 0x0728 C
-GeForce GT 620M 0x1140 0x072B C
-GeForce GT 620M 0x1140 0x072E C
-GeForce GT 620M 0x1140 0x0732 C
-GeForce GT 720M 0x1140 0x0763 C
+GeForce GT 620M 0x1140 0x0692 C
+GeForce GT 620M 0x1140 0x0694 C
+GeForce GT 620M 0x1140 0x0702 C
+GeForce GT 620M 0x1140 0x0719 C
+GeForce GT 620M 0x1140 0x0725 C
+GeForce GT 620M 0x1140 0x0728 C
+GeForce GT 620M 0x1140 0x072B C
+GeForce GT 620M 0x1140 0x072E C
+GeForce GT 620M 0x1140 0x0732 C
+GeForce GT 720M 0x1140 0x0763 C
GeForce 710M 0x1140 0x0773 C
GeForce 710M 0x1140 0x0774 C
-GeForce GT 720M 0x1140 0x0776 C
+GeForce GT 720M 0x1140 0x0776 C
GeForce 710M 0x1140 0x077A C
GeForce 710M 0x1140 0x077B C
GeForce 710M 0x1140 0x077C C
GeForce 710M 0x1140 0x077D C
GeForce 710M 0x1140 0x077E C
GeForce 710M 0x1140 0x077F C
-GeForce GT 720M 0x1140 0x0781 C
-GeForce GT 720M 0x1140 0x0798 C
+GeForce GT 720M 0x1140 0x0781 C
+GeForce GT 720M 0x1140 0x0798 C
GeForce 820M 0x1140 0x0799 C
-GeForce GT 720M 0x1140 0x079B C
-GeForce GT 720M 0x1140 0x079C C
-GeForce GT 720M 0x1140 0x0807 C
+GeForce GT 720M 0x1140 0x079B C
+GeForce GT 720M 0x1140 0x079C C
+GeForce GT 720M 0x1140 0x0807 C
GeForce 820M 0x1140 0x0821 C
-GeForce GT 720M 0x1140 0x0823 C
-GeForce GT 720M 0x1140 0x0830 C
-GeForce GT 720M 0x1140 0x0833 C
-GeForce GT 720M 0x1140 0x0837 C
+GeForce GT 720M 0x1140 0x0823 C
+GeForce GT 720M 0x1140 0x0830 C
+GeForce GT 720M 0x1140 0x0833 C
+GeForce GT 720M 0x1140 0x0837 C
GeForce 820M 0x1140 0x083E C
GeForce 710M 0x1140 0x0841 C
GeForce 820M 0x1140 0x0853 C
@@ -442,28 +442,28 @@ GeForce 820M 0x1140 0x093A C
GeForce 820M 0x1140 0x093C C
GeForce 820M 0x1140 0x093F C
GeForce 820M 0x1140 0x0945 C
-GeForce GT 630M 0x1140 0x0982 C
-GeForce GT 630M 0x1140 0x0983 C
-GeForce GT 720M 0x1140 0x0DAC C
-GeForce GT 720M 0x1140 0x0DAD C
-GeForce GT 720M 0x1140 0x0EF3 C
+GeForce GT 630M 0x1140 0x0982 C
+GeForce GT 630M 0x1140 0x0983 C
+GeForce GT 720M 0x1140 0x0DAC C
+GeForce GT 720M 0x1140 0x0DAD C
+GeForce GT 720M 0x1140 0x0EF3 C
GeForce GT820M 0x1140 0x1005 C
GeForce 710M 0x1140 0x1012 C
GeForce 820M 0x1140 0x1019 C
-GeForce GT 630M 0x1140 0x1030 C
+GeForce GT 630M 0x1140 0x1030 C
GeForce 710M 0x1140 0x1055 C
-GeForce GT 720M 0x1140 0x1067 C
+GeForce GT 720M 0x1140 0x1067 C
GeForce 820M 0x1140 0x1092 C
-GeForce GT 710M 0x1140 0x10B8 C
-GeForce GT 720M 0x1140 0x10E9 C
+GeForce GT 710M 0x1140 0x10B8 C
+GeForce GT 720M 0x1140 0x10E9 C
GeForce 820M 0x1140 0x1116 C
-GeForce GT 720M 0x1140 0x11FD C
-GeForce GT 720M 0x1140 0x124D C
-GeForce GT 720M 0x1140 0x126D C
-GeForce GT 720M 0x1140 0x131D C
-GeForce GT 720M 0x1140 0x13FD C
-GeForce GT 720M 0x1140 0x14C7 C
-GeForce GT 620M 0x1140 0x1507 C
+GeForce GT 720M 0x1140 0x11FD C
+GeForce GT 720M 0x1140 0x124D C
+GeForce GT 720M 0x1140 0x126D C
+GeForce GT 720M 0x1140 0x131D C
+GeForce GT 720M 0x1140 0x13FD C
+GeForce GT 720M 0x1140 0x14C7 C
+GeForce GT 620M 0x1140 0x1507 C
GeForce 820M 0x1140 0x15AD C
GeForce 820M 0x1140 0x15ED C
GeForce 820M 0x1140 0x160D C
@@ -476,31 +476,31 @@ GeForce 820M 0x1140 0x170D C
GeForce 820M 0x1140 0x176D C
GeForce 820M 0x1140 0x178D C
GeForce 820M 0x1140 0x179D C
-GeForce GT 720M 0x1140 0x17F5 C
-GeForce GT 630M 0x1140 0x18EF C
-GeForce GT 630M 0x1140 0x18F9 C
-GeForce GT 630M 0x1140 0x18FB C
-GeForce GT 630M 0x1140 0x18FD C
-GeForce GT 630M 0x1140 0x18FF C
-GeForce GT 620M 0x1140 0x20DD C
-GeForce GT 620M 0x1140 0x20DF C
+GeForce GT 720M 0x1140 0x17F5 C
+GeForce GT 630M 0x1140 0x18EF C
+GeForce GT 630M 0x1140 0x18F9 C
+GeForce GT 630M 0x1140 0x18FB C
+GeForce GT 630M 0x1140 0x18FD C
+GeForce GT 630M 0x1140 0x18FF C
+GeForce GT 620M 0x1140 0x20DD C
+GeForce GT 620M 0x1140 0x20DF C
GeForce 820M 0x1140 0x210E C
-GeForce GT 620M 0x1140 0x2132 C
+GeForce GT 620M 0x1140 0x2132 C
GeForce 820M 0x1140 0x218A C
-GeForce GT 720M 0x1140 0x21BA C
+GeForce GT 720M 0x1140 0x21BA C
GeForce 820M 0x1140 0x21BB C
GeForce 820M 0x1140 0x21BC C
-GeForce GT 720M 0x1140 0x21FA C
-GeForce GT 720M 0x1140 0x2202 C
-GeForce GT 720M 0x1140 0x220A C
+GeForce GT 720M 0x1140 0x21FA C
+GeForce GT 720M 0x1140 0x2202 C
+GeForce GT 720M 0x1140 0x220A C
GeForce 820M 0x1140 0x220E C
GeForce 820M 0x1140 0x2212 C
-GeForce GT 720M 0x1140 0x2213 C
+GeForce GT 720M 0x1140 0x2213 C
GeForce 820M 0x1140 0x2218 C
-GeForce GT 720M 0x1140 0x221A C
-GeForce GT 720M 0x1140 0x2220 C
-GeForce GT 710M 0x1140 0x223A C
-GeForce GT 710M 0x1140 0x224A C
+GeForce GT 720M 0x1140 0x221A C
+GeForce GT 720M 0x1140 0x2220 C
+GeForce GT 710M 0x1140 0x223A C
+GeForce GT 710M 0x1140 0x224A C
GeForce 820M 0x1140 0x225B C
GeForce 820M 0x1140 0x225D C
GeForce 820M 0x1140 0x226D C
@@ -509,17 +509,17 @@ GeForce 820M 0x1140 0x227A C
GeForce 820M 0x1140 0x228A C
GeForce 820M 0x1140 0x22D2 C
GeForce 820M 0x1140 0x22D9 C
-GeForce GT 720A 0x1140 0x2AEF C
+GeForce GT 720A 0x1140 0x2AEF C
GeForce 710A 0x1140 0x2AF9 C
GeForce GT620M 0x1140 0x3656 C
GeForce 820A 0x1140 0x36A9 C
-GeForce GT 720M 0x1140 0x3800 C
-GeForce GT 720M 0x1140 0x3801 C
-GeForce GT 720M 0x1140 0x3802 C
-GeForce GT 720M 0x1140 0x3803 C
-GeForce GT 720M 0x1140 0x3804 C
-GeForce GT 720M 0x1140 0x3806 C
-GeForce GT 720M 0x1140 0x3808 C
+GeForce GT 720M 0x1140 0x3800 C
+GeForce GT 720M 0x1140 0x3801 C
+GeForce GT 720M 0x1140 0x3802 C
+GeForce GT 720M 0x1140 0x3803 C
+GeForce GT 720M 0x1140 0x3804 C
+GeForce GT 720M 0x1140 0x3806 C
+GeForce GT 720M 0x1140 0x3808 C
GeForce 820M 0x1140 0x380D C
GeForce 820M 0x1140 0x380E C
GeForce 820M 0x1140 0x380F C
@@ -534,29 +534,29 @@ GeForce 820M 0x1140 0x381C C
GeForce 610M 0x1140 0x3901 C
GeForce 710M 0x1140 0x3902 C
GeForce 710M 0x1140 0x3903 C
-GeForce GT 625M 0x1140 0x3904 C
-GeForce GT 720M 0x1140 0x3905 C
+GeForce GT 625M 0x1140 0x3904 C
+GeForce GT 720M 0x1140 0x3905 C
GeForce 820M 0x1140 0x3907 C
-GeForce GT 720M 0x1140 0x3910 C
-GeForce GT 720M 0x1140 0x3912 C
+GeForce GT 720M 0x1140 0x3910 C
+GeForce GT 720M 0x1140 0x3912 C
GeForce 820M 0x1140 0x3913 C
GeForce 610M 0x1140 0x3983 C
GeForce 610M 0x1140 0x5001 C
-GeForce GT 720M 0x1140 0x5003 C
+GeForce GT 720M 0x1140 0x5003 C
GeForce 705M 0x1140 0x5005 C
-GeForce GT 620M 0x1140 0x500D C
+GeForce GT 620M 0x1140 0x500D C
GeForce 710M 0x1140 0x5014 C
GeForce 710M 0x1140 0x5017 C
GeForce 710M 0x1140 0x5019 C
GeForce 710M 0x1140 0x501A C
-GeForce GT 720M 0x1140 0x501F C
+GeForce GT 720M 0x1140 0x501F C
GeForce 710M 0x1140 0x5025 C
GeForce 710M 0x1140 0x5027 C
GeForce 710M 0x1140 0x502A C
-GeForce GT 720M 0x1140 0x502B C
+GeForce GT 720M 0x1140 0x502B C
GeForce 710M 0x1140 0x502D C
-GeForce GT 720M 0x1140 0x502E C
-GeForce GT 720M 0x1140 0x502F C
+GeForce GT 720M 0x1140 0x502E C
+GeForce GT 720M 0x1140 0x502F C
GeForce 705M 0x1140 0x5030 C
GeForce 705M 0x1140 0x5031 C
GeForce 820M 0x1140 0x5032 C
@@ -564,11 +564,11 @@ GeForce 820M 0x1140 0x5033 C
GeForce 710M 0x1140 0x503E C
GeForce 820M 0x1140 0x503F C
GeForce 820M 0x1140 0x5040 C
-GeForce GT 720M 0x1140 0x8595 C
-GeForce GT 720M 0x1140 0x85EA C
+GeForce GT 720M 0x1140 0x8595 C
+GeForce GT 720M 0x1140 0x85EA C
GeForce 820M 0x1140 0x85EB C
GeForce 820M 0x1140 0x85EC C
-GeForce GT 720M 0x1140 0x85EE C
+GeForce GT 720M 0x1140 0x85EE C
GeForce 820M 0x1140 0x85F3 C
GeForce 820M 0x1140 0x860E C
GeForce 820M 0x1140 0x861A C
@@ -579,21 +579,21 @@ GeForce 820M 0x1140 0x864C C
GeForce 820M 0x1140 0x8652 C
GeForce 820M 0x1140 0x90D7 C
GeForce 820M 0x1140 0x90DD C
-GeForce GT 720M 0x1140 0x999F C
+GeForce GT 720M 0x1140 0x999F C
GeForce 720M 0x1140 0xAA33 C
-GeForce GT 720M 0x1140 0xAAA2 C
+GeForce GT 720M 0x1140 0xAAA2 C
GeForce 820M 0x1140 0xAAA3 C
-GeForce GT 720M 0x1140 0xACB2 C
-GeForce GT 720M 0x1140 0xACC1 C
+GeForce GT 720M 0x1140 0xACB2 C
+GeForce GT 720M 0x1140 0xACC1 C
GeForce 720M 0x1140 0xAE61 C
-GeForce GT 720M 0x1140 0xAE65 C
+GeForce GT 720M 0x1140 0xAE65 C
GeForce 820M 0x1140 0xAE6A C
-GeForce GT 720M 0x1140 0xAE71 C
-GeForce GT 620M 0x1140 0xB092 C
-GeForce GT 630M 0x1140 0xC0D5 C
-GeForce GT 620M 0x1140 0xC0D7 C
+GeForce GT 720M 0x1140 0xAE71 C
+GeForce GT 620M 0x1140 0xB092 C
+GeForce GT 630M 0x1140 0xC0D5 C
+GeForce GT 620M 0x1140 0xC0D7 C
GeForce 820M 0x1140 0xC10D C
-GeForce GT 620M 0x1140 0xC652 C
+GeForce GT 620M 0x1140 0xC652 C
GeForce 710M 0x1140 0xC709 C
GeForce 710M 0x1140 0xC711 C
GeForce 710M 0x1140 0xC736 C
@@ -624,21 +624,21 @@ GeForce 710M 0x1140 0xFA58 C
GeForce 710M 0x1140 0xFA59 C
GeForce 710M 0x1140 0xFA88 C
GeForce 710M 0x1140 0xFA89 C
-GeForce GTX 680 0x1180 D
+GeForce GTX 680 0x1180 D
GeForce GTX 660 Ti 0x1183 D
-GeForce GTX 770 0x1184 D
-GeForce GTX 660 0x1185 D
-GeForce GTX 760 0x1185 0x106F D
-GeForce GTX 760 0x1187 D
-GeForce GTX 690 0x1188 D
-GeForce GTX 670 0x1189 D
+GeForce GTX 770 0x1184 D
+GeForce GTX 660 0x1185 D
+GeForce GTX 760 0x1185 0x106F D
+GeForce GTX 760 0x1187 D
+GeForce GTX 690 0x1188 D
+GeForce GTX 670 0x1189 D
GeForce GTX 760 Ti OEM 0x1189 0x1074 D
GeForce GTX 760 (192-bit) 0x118E D
GeForce GTX 760 Ti OEM 0x1193 D
-GeForce GTX 660 0x1195 D
+GeForce GTX 660 0x1195 D
GeForce GTX 880M 0x1198 D
GeForce GTX 870M 0x1199 D
-GeForce GTX 760 0x1199 0xD001 D
+GeForce GTX 760 0x1199 0xD001 D
GeForce GTX 860M 0x119A D
GeForce GTX 775M 0x119D D
GeForce GTX 780M 0x119E D
@@ -648,23 +648,23 @@ GeForce GTX 670MX 0x11A1 D
GeForce GTX 675MX 0x11A2 D
GeForce GTX 680MX 0x11A3 D
GeForce GTX 675MX 0x11A7 D
-GeForce GTX 660 0x11C0 D
+GeForce GTX 660 0x11C0 D
GeForce GTX 650 Ti BOOST 0x11C2 D
GeForce GTX 650 Ti 0x11C3 D
-GeForce GTX 645 0x11C4 D
+GeForce GTX 645 0x11C4 D
GeForce GT 740 0x11C5 D
GeForce GTX 650 Ti 0x11C6 D
-GeForce GTX 650 0x11C8 D
+GeForce GTX 650 0x11C8 D
GeForce GTX 770M 0x11E0 D
GeForce GTX 765M 0x11E1 D
GeForce GTX 765M 0x11E2 D
GeForce GTX 760M 0x11E3 D
GeForce GTX 760A 0x11E3 0x3683 D
GeForce GTX 560 Ti 0x1200 C
-GeForce GTX 560 0x1201 C
+GeForce GTX 560 0x1201 C
GeForce GTX 460 SE v2 0x1203 C
GeForce GTX 460 v2 0x1205 C
-GeForce GTX 555 0x1206 C
+GeForce GTX 555 0x1206 C
GeForce GT 645 0x1207 C
GeForce GTX 560 SE 0x1208 C
GeForce GTX 570M 0x1210 C
@@ -674,17 +674,17 @@ GeForce GTX 670M 0x1213 C
GeForce GT 545 0x1241 C
GeForce GT 545 0x1243 C
GeForce GTX 550 Ti 0x1244 C
-GeForce GTS 450 0x1245 C
-GeForce GT 550M 0x1246 C
-GeForce GT 555M 0x1247 C
-GeForce GT 635M 0x1247 0x212A C
-GeForce GT 635M 0x1247 0x212B C
-GeForce GT 635M 0x1247 0x212C C
-GeForce GT 555M 0x1248 C
-GeForce GTS 450 0x1249 C
+GeForce GTS 450 0x1245 C
+GeForce GT 550M 0x1246 C
+GeForce GT 555M 0x1247 C
+GeForce GT 635M 0x1247 0x212A C
+GeForce GT 635M 0x1247 0x212B C
+GeForce GT 635M 0x1247 0x212C C
+GeForce GT 555M 0x1248 C
+GeForce GTS 450 0x1249 C
GeForce GT 640 0x124B C
-GeForce GT 555M 0x124D C
-GeForce GT 635M 0x124D 0x10CC C
+GeForce GT 555M 0x124D C
+GeForce GT 635M 0x124D 0x10CC C
GeForce GTX 560M 0x1251 C
GeForce GT 635 0x1280 D
GeForce GT 710 0x1281 D
@@ -693,20 +693,20 @@ GeForce GT 630 0x1284 C
GeForce GT 720 0x1286 D
GeForce GT 730 0x1287 C
GeForce GT 720 0x1288 D
-GeForce GT 730M 0x1290 D
+GeForce GT 730M 0x1290 D
GeForce 730A 0x1290 0x2AFA D
-GeForce GT 735M 0x1291 D
-GeForce GT 740M 0x1292 D
-GeForce GT 740A 0x1292 0x3675 D
-GeForce GT 740A 0x1292 0x3684 D
-GeForce GT 730M 0x1293 D
+GeForce GT 735M 0x1291 D
+GeForce GT 740M 0x1292 D
+GeForce GT 740A 0x1292 0x3675 D
+GeForce GT 740A 0x1292 0x3684 D
+GeForce GT 730M 0x1293 D
GeForce 710M 0x1295 D
GeForce 710A 0x1295 0x2B0D C
GeForce 710A 0x1295 0x2B0F C
GeForce 810A 0x1295 0x2B20 D
GeForce 810A 0x1295 0x2B21 D
GeForce 825M 0x1296 D
-GeForce GT 720M 0x1298 C
+GeForce GT 720M 0x1298 C
GeForce 830M 0x1340 E
GeForce 830A 0x1340 0x2B2B E
GeForce 840M 0x1341 E
@@ -714,8 +714,8 @@ GeForce 840A 0x1341 0x3697 E
GeForce 840A 0x1341 0x3699 E
GeForce 840A 0x1341 0x369C E
GeForce GTX 750 Ti 0x1380 E
-GeForce GTX 750 0x1381 E
-GeForce GTX 745 0x1382 E
+GeForce GTX 750 0x1381 E
+GeForce GTX 745 0x1382 E
GeForce 845M 0x1390 E
GeForce GTX 850M 0x1391 E
GeForce GTX 850A 0x1391 0x3697 E
@@ -729,7 +729,7 @@ Quadro FX 5600 0x019D -
Quadro FX 4600 0x019E -
Quadro FX 370 0x040A A
Quadro FX 570M 0x040C A
-Quadro FX 1600M 0x040D A
+Quadro FX 1600M 0x040D A
Quadro FX 570 0x040E A
Quadro FX 1700 0x040F A
Quadro FX 360M 0x042D A
@@ -742,21 +742,21 @@ Quadro FX 3800 0x05FF A
Quadro FX 4700 X2 0x0619 A
Quadro FX 3700 0x061A A
Quadro VX 200 0x061B A
-Quadro FX 3600M 0x061C A
-Quadro FX 2800M 0x061D A
-Quadro FX 3700M 0x061E A
-Quadro FX 3800M 0x061F A
+Quadro FX 3600M 0x061C A
+Quadro FX 2800M 0x061D A
+Quadro FX 3700M 0x061E A
+Quadro FX 3800M 0x061F A
Quadro FX 1800 0x0638 A
-Quadro FX 2700M 0x063A A
+Quadro FX 2700M 0x063A A
Quadro FX 380 0x0658 A
Quadro FX 580 0x0659 A
-Quadro FX 1700M 0x065A A
+Quadro FX 1700M 0x065A A
Quadro FX 770M 0x065C A
-Quadro 6000 0x06D8 C
-Quadro 5000 0x06D9 C
+Quadro 6000 0x06D8 C
+Quadro 5000 0x06D9 C
Quadro 5000M 0x06DA C
-Quadro 6000 0x06DC C
-Quadro 4000 0x06DD C
+Quadro 6000 0x06DC C
+Quadro 4000 0x06DD C
Quadro FX 370 LP 0x06F9 B 1
Quadro FX 370 Low Profile 0x06F9 0x060D B 1
Quadro FX 370M 0x06FB B 1
@@ -766,20 +766,20 @@ Quadro 400 0x0A38 C
Quadro FX 880M 0x0A3C C
Quadro FX 380 LP 0x0A78 C
Quadro FX 380M 0x0A7C C
-Quadro FX 1800M 0x0CBC C
-Quadro 2000 0x0DD8 C
+Quadro FX 1800M 0x0CBC C
+Quadro 2000 0x0DD8 C
Quadro 2000D 0x0DD8 0x0914 C
Quadro 2000M 0x0DDA C
Quadro 600 0x0DF8 C
-Quadro 500M 0x0DF9 C
+Quadro 500M 0x0DF9 C
Quadro 1000M 0x0DFA C
Quadro 3000M 0x0E3A C
Quadro 4000M 0x0E3B C
-Quadro K420 0x0FF3 D
+Quadro K420 0x0FF3 D
Quadro K1100M 0x0FF6 D
Quadro K500M 0x0FF8 D
Quadro K2000D 0x0FF9 D
-Quadro K600 0x0FFA D
+Quadro K600 0x0FFA D
Quadro K2000M 0x0FFB D
Quadro K1000M 0x0FFC D
Quadro K2000 0x0FFE D
@@ -787,7 +787,7 @@ Quadro 410 0x0FFF D
Quadro K6000 0x103A D
Quadro K5200 0x103C D
Quadro 5010M 0x109A C
-Quadro 7000 0x109B C
+Quadro 7000 0x109B C
Quadro K4200 0x11B4 D
Quadro K3100M 0x11B6 D
Quadro K4100M 0x11B7 D
@@ -801,17 +801,17 @@ Quadro K2100M 0x11FC D
Quadro K610M 0x12B9 D
Quadro K510M 0x12BA D
Quadro K2200 0x13BA E
-Quadro K620 0x13BB E
+Quadro K620 0x13BB E
NVIDIA NVS GPUs
NVIDIA GPU product Device PCI ID* VDPAU features
-Quadro NVS 320M 0x040B A
-Quadro NVS 140M 0x0429 A
-Quadro NVS 130M 0x042A A
-Quadro NVS 135M 0x042B A
+Quadro NVS 320M 0x040B A
+Quadro NVS 140M 0x0429 A
+Quadro NVS 130M 0x042A A
+Quadro NVS 135M 0x042B A
Quadro NVS 290 0x042F A
-Quadro NVS 150M 0x06EA B 1
-Quadro NVS 160M 0x06EB B 1
+Quadro NVS 150M 0x06EA B 1
+Quadro NVS 160M 0x06EB B 1
Quadro NVS 420 0x06F8 B 1
Quadro NVS 450 0x06FA B 1
Quadro NVS 295 0x06FD B 1
@@ -820,12 +820,12 @@ NVS 2100M 0x0A6A C
NVS 3100M 0x0A6C C
NVS 5400M 0x0DEF C
NVS 5200M 0x0DFC C
-NVS 510 0x0FFD D
+NVS 510 0x0FFD D
NVS 4200M 0x1056 D
NVS 4200M 0x1057 D
-NVS 315 0x107C D
-NVS 310 0x107D D
-NVS 300 0x10D8 C
+NVS 315 0x107C D
+NVS 310 0x107D D
+NVS 300 0x10D8 C
NVS 5200M 0x1140 0x10DD C
NVS 5200M 0x1140 0x10ED C
NVS 5200M 0x1140 0x2136 C
@@ -837,49 +837,49 @@ NVS 5200M 0x1140 0xC0E4 C
NVIDIA Tesla GPUs
NVIDIA GPU product Device PCI ID* VDPAU features
Tesla C870 0x0197 -
-Tesla C1060 0x05E7 A
-Tesla T10 Processor 0x05E7 0x0595 A
-Tesla T10 Processor 0x05E7 0x068F A
-Tesla M1060 0x05E7 0x0697 A
-Tesla M1060 0x05E7 0x0714 A
-Tesla M1060 0x05E7 0x0743 A
-Tesla C2050 / C2070 0x06D1 C
-Tesla C2050 0x06D1 0x0771 C
-Tesla C2070 0x06D1 0x0772 C
-Tesla M2070 0x06D2 C
-Tesla X2070 0x06D2 0x088F C
-Tesla T20 Processor 0x06DE C
-Tesla S2050 0x06DE 0x0773 C
-Tesla M2050 0x06DE 0x082F C
-Tesla X2070 0x06DE 0x0840 C
-Tesla M2050 0x06DE 0x0842 C
-Tesla M2050 0x06DE 0x0846 C
-Tesla M2050 0x06DE 0x0866 C
-Tesla M2050 0x06DE 0x0907 C
-Tesla M2050 0x06DE 0x091E C
+Tesla C1060 0x05E7 A
+Tesla T10 Processor 0x05E7 0x0595 A
+Tesla T10 Processor 0x05E7 0x068F A
+Tesla M1060 0x05E7 0x0697 A
+Tesla M1060 0x05E7 0x0714 A
+Tesla M1060 0x05E7 0x0743 A
+Tesla C2050 / C2070 0x06D1 C
+Tesla C2050 0x06D1 0x0771 C
+Tesla C2070 0x06D1 0x0772 C
+Tesla M2070 0x06D2 C
+Tesla X2070 0x06D2 0x088F C
+Tesla T20 Processor 0x06DE C
+Tesla S2050 0x06DE 0x0773 C
+Tesla M2050 0x06DE 0x082F C
+Tesla X2070 0x06DE 0x0840 C
+Tesla M2050 0x06DE 0x0842 C
+Tesla M2050 0x06DE 0x0846 C
+Tesla M2050 0x06DE 0x0866 C
+Tesla M2050 0x06DE 0x0907 C
+Tesla M2050 0x06DE 0x091E C
Tesla M2070-Q 0x06DF C
-Tesla K20Xm 0x1021 D
+Tesla K20Xm 0x1021 D
Tesla K20c 0x1022 D
Tesla K40m 0x1023 D
Tesla K40c 0x1024 D
Tesla K20s 0x1026 D
-Tesla K40st 0x1027 D
+Tesla K40st 0x1027 D
Tesla K20m 0x1028 D
Tesla K40s 0x1029 D
-Tesla M2090 0x1091 C
-Tesla X2090 0x1091 0x088E C
-Tesla X2090 0x1091 0x0891 C
-Tesla X2090 0x1091 0x0974 C
-Tesla X2090 0x1091 0x098D C
-Tesla M2075 0x1094 C
-Tesla C2075 0x1096 C
-Tesla C2050 0x1096 0x0911 C
+Tesla M2090 0x1091 C
+Tesla X2090 0x1091 0x088E C
+Tesla X2090 0x1091 0x0891 C
+Tesla X2090 0x1091 0x0974 C
+Tesla X2090 0x1091 0x098D C
+Tesla M2075 0x1094 C
+Tesla C2075 0x1096 C
+Tesla C2050 0x1096 0x0911 C
Tesla K10 0x118F D
Tesla K8 0x1194 D
NVIDIA GRID GPUs
NVIDIA GPU product Device PCI ID* VDPAU features
GRID K340 0x0FEF D
-GRID K1 0x0FF2 D
+GRID K1 0x0FF2 D
GRID K520 0x118A D
-GRID K2 0x11BF D
+GRID K2 0x11BF D
diff --git a/abs/core/system-templates/templates/xorg/nvidia_supported.txt b/abs/core/system-templates/templates/xorg/nvidia_supported.txt
index d214749..1ae5758 100644
--- a/abs/core/system-templates/templates/xorg/nvidia_supported.txt
+++ b/abs/core/system-templates/templates/xorg/nvidia_supported.txt
@@ -1,62 +1,62 @@
#http://us.download.nvidia.com/XFree86/Linux-x86_64/387.22/README/supportedchips.html
-#NVIDIA GeForce GPUs
-#NVIDIA GPU product Device PCI ID* VDPAU features
-GeForce GTX 480 06C0 C
-GeForce GTX 465 06C4 C
+NVIDIA GeForce GPUs
+NVIDIA GPU product Device PCI ID* VDPAU features
+GeForce GTX 480 06C0 C
+GeForce GTX 465 06C4 C
GeForce GTX 480M 06CA C
-GeForce GTX 470 06CD C
+GeForce GTX 470 06CD C
GeForce GT 440 0DC0 C
-GeForce GTS 450 0DC4 C
-GeForce GTS 450 0DC5 C
-GeForce GTS 450 0DC6 C
-GeForce GT 555M 0DCD C
-GeForce GT 555M 0DCE C
+GeForce GTS 450 0DC4 C
+GeForce GTS 450 0DC5 C
+GeForce GTS 450 0DC6 C
+GeForce GT 555M 0DCD C
+GeForce GT 555M 0DCE C
GeForce GTX 460M 0DD1 C
-GeForce GT 445M 0DD2 C
-GeForce GT 435M 0DD3 C
-GeForce GT 550M 0DD6 C
+GeForce GT 445M 0DD2 C
+GeForce GT 435M 0DD3 C
+GeForce GT 550M 0DD6 C
GeForce GT 440 0DE0 C
GeForce GT 430 0DE1 C
GeForce GT 420 0DE2 C
-GeForce GT 635M 0DE3 C
+GeForce GT 635M 0DE3 C
GeForce GT 520 0DE4 C
GeForce GT 530 0DE5 C
GeForce GT 610 0DE7 C
-GeForce GT 620M 0DE8 C
-GeForce GT 630M 0DE9 C
-GeForce GT 620M 0DE9 1025 0692 C
-GeForce GT 620M 0DE9 1025 0725 C
-GeForce GT 620M 0DE9 1025 0728 C
-GeForce GT 620M 0DE9 1025 072B C
-GeForce GT 620M 0DE9 1025 072E C
-GeForce GT 620M 0DE9 1025 0753 C
-GeForce GT 620M 0DE9 1025 0754 C
+GeForce GT 620M 0DE8 C
+GeForce GT 630M 0DE9 C
+GeForce GT 620M 0DE9 1025 0692 C
+GeForce GT 620M 0DE9 1025 0725 C
+GeForce GT 620M 0DE9 1025 0728 C
+GeForce GT 620M 0DE9 1025 072B C
+GeForce GT 620M 0DE9 1025 072E C
+GeForce GT 620M 0DE9 1025 0753 C
+GeForce GT 620M 0DE9 1025 0754 C
GeForce GT 640M LE 0DE9 17AA 3977 C
-GeForce GT 635M 0DE9 1B0A 2210 C
+GeForce GT 635M 0DE9 1B0A 2210 C
GeForce 610M 0DEA C
-GeForce 615 0DEA 17AA 365A C
-GeForce 615 0DEA 17AA 365B C
-GeForce 615 0DEA 17AA 365E C
-GeForce 615 0DEA 17AA 3660 C
-GeForce 615 0DEA 17AA 366C C
-GeForce GT 555M 0DEB C
-GeForce GT 525M 0DEC C
-GeForce GT 520M 0DED C
-GeForce GT 415M 0DEE C
-GeForce GT 425M 0DF0 C
-GeForce GT 420M 0DF1 C
-GeForce GT 435M 0DF2 C
-GeForce GT 420M 0DF3 C
-GeForce GT 540M 0DF4 C
-GeForce GT 630M 0DF4 152D 0952 C
-GeForce GT 630M 0DF4 152D 0953 C
-GeForce GT 525M 0DF5 C
-GeForce GT 550M 0DF6 C
-GeForce GT 520M 0DF7 C
-GeForce GTX 460 0E22 C
+GeForce 615 0DEA 17AA 365A C
+GeForce 615 0DEA 17AA 365B C
+GeForce 615 0DEA 17AA 365E C
+GeForce 615 0DEA 17AA 3660 C
+GeForce 615 0DEA 17AA 366C C
+GeForce GT 555M 0DEB C
+GeForce GT 525M 0DEC C
+GeForce GT 520M 0DED C
+GeForce GT 415M 0DEE C
+GeForce GT 425M 0DF0 C
+GeForce GT 420M 0DF1 C
+GeForce GT 435M 0DF2 C
+GeForce GT 420M 0DF3 C
+GeForce GT 540M 0DF4 C
+GeForce GT 630M 0DF4 152D 0952 C
+GeForce GT 630M 0DF4 152D 0953 C
+GeForce GT 525M 0DF5 C
+GeForce GT 550M 0DF6 C
+GeForce GT 520M 0DF7 C
+GeForce GTX 460 0E22 C
GeForce GTX 460 SE 0E23 C
-GeForce GTX 460 0E24 C
+GeForce GTX 460 0E24 C
GeForce GTX 470M 0E30 C
GeForce GTX 485M 0E31 C
GeForce GT 630 0F00 C
@@ -66,43 +66,43 @@ GeForce GT 610 0F03 C
GeForce GT 640 0FC0 C
GeForce GT 640 0FC1 C
GeForce GT 630 0FC2 C
-GeForce GTX 650 0FC6 D
+GeForce GTX 650 0FC6 D
GeForce GT 740 0FC8 D
GeForce GT 730 0FC9 C
-GeForce GT 755M 0FCD D
+GeForce GT 755M 0FCD D
GeForce GT 640M LE 0FCE C
-GeForce GT 650M 0FD1 D
-GeForce GT 640M 0FD2 D
+GeForce GT 650M 0FD1 D
+GeForce GT 640M 0FD2 D
GeForce GT 640M LE 0FD2 1028 0595 C
GeForce GT 640M LE 0FD2 1028 05B2 C
GeForce GT 640M LE 0FD3 C
GeForce GTX 660M 0FD4 D
-GeForce GT 650M 0FD5 D
-GeForce GT 640M 0FD8 D
-GeForce GT 645M 0FD9 D
-GeForce GT 740M 0FDF D
+GeForce GT 650M 0FD5 D
+GeForce GT 640M 0FD8 D
+GeForce GT 645M 0FD9 D
+GeForce GT 740M 0FDF D
GeForce GTX 660M 0FE0 D
-GeForce GT 730M 0FE1 D
-GeForce GT 745M 0FE2 D
-GeForce GT 745M 0FE3 D
-GeForce GT 745A 0FE3 103C 2B16 D
-GeForce GT 745A 0FE3 17AA 3675 D
-GeForce GT 750M 0FE4 D
-GeForce GT 750M 0FE9 D
-GeForce GT 755M 0FEA D
+GeForce GT 730M 0FE1 D
+GeForce GT 745M 0FE2 D
+GeForce GT 745M 0FE3 D
+GeForce GT 745A 0FE3 103C 2B16 D
+GeForce GT 745A 0FE3 17AA 3675 D
+GeForce GT 750M 0FE4 D
+GeForce GT 750M 0FE9 D
+GeForce GT 755M 0FEA D
GeForce 710A 0FEC C
GeForce 820M 0FED C
GeForce 810M 0FEE C
-GeForce GTX TITAN Z 1001 D
-GeForce GTX 780 1004 D
+GeForce GTX TITAN Z 1001 D
+GeForce GTX 780 1004 D
GeForce GTX TITAN 1005 D
-GeForce GTX 780 1007 D
+GeForce GTX 780 1007 D
GeForce GTX 780 Ti 1008 D
GeForce GTX 780 Ti 100A D
-GeForce GTX TITAN Black 100C D
+GeForce GTX TITAN Black 100C D
GeForce GT 520 1040 C
-GeForce 510 1042 D
-GeForce 605 1048 D
+GeForce 510 1042 D
+GeForce 605 1048 D
GeForce GT 620 1049 C
GeForce GT 610 104A C
GeForce GT 625 (OEM) 104B D
@@ -112,13 +112,13 @@ GeForce GT 625 104B 1462 B590 D
GeForce GT 625 104B 174B 0625 D
GeForce GT 625 104B 174B A625 D
GeForce GT 705 104C D
-GeForce GT 520M 1050 C
+GeForce GT 520M 1050 C
GeForce GT 520MX 1051 D
-GeForce GT 520M 1052 C
+GeForce GT 520M 1052 C
GeForce 410M 1054 D
GeForce 410M 1055 D
GeForce 610M 1058 C
-GeForce 610 1058 103C 2AF1 D
+GeForce 610 1058 103C 2AF1 D
GeForce 800A 1058 17AA 3682 D
GeForce 705A 1058 17AA 3692 C
GeForce 800A 1058 17AA 3695 D
@@ -133,59 +133,59 @@ GeForce 705A 105B 103C 2AFB C
GeForce 800A 105B 17AA 30B1 D
GeForce 705A 105B 17AA 30F3 C
GeForce 800A 105B 17AA 36A1 D
-GeForce GTX 580 1080 C
-GeForce GTX 570 1081 C
+GeForce GTX 580 1080 C
+GeForce GTX 570 1081 C
GeForce GTX 560 Ti 1082 C
-GeForce GTX 560 1084 C
-GeForce GTX 570 1086 C
+GeForce GTX 560 1084 C
+GeForce GTX 570 1086 C
GeForce GTX 560 Ti 1087 C
-GeForce GTX 590 1088 C
-GeForce GTX 580 1089 C
-GeForce GTX 580 108B C
+GeForce GTX 590 1088 C
+GeForce GTX 580 1089 C
+GeForce GTX 580 108B C
GeForce 820M 1140 1019 0799 C
-GeForce GT 720M 1140 1019 999F C
-GeForce GT 620M 1140 1025 0600 C
-GeForce GT 620M 1140 1025 0606 C
-GeForce GT 620M 1140 1025 064A C
-GeForce GT 620M 1140 1025 064C C
-GeForce GT 620M 1140 1025 067A C
-GeForce GT 620M 1140 1025 0680 C
+GeForce GT 720M 1140 1019 999F C
+GeForce GT 620M 1140 1025 0600 C
+GeForce GT 620M 1140 1025 0606 C
+GeForce GT 620M 1140 1025 064A C
+GeForce GT 620M 1140 1025 064C C
+GeForce GT 620M 1140 1025 067A C
+GeForce GT 620M 1140 1025 0680 C
GeForce 710M 1140 1025 0686 C
GeForce 710M 1140 1025 0689 C
GeForce 710M 1140 1025 068B C
GeForce 710M 1140 1025 068D C
GeForce 710M 1140 1025 068E C
GeForce 710M 1140 1025 0691 C
-GeForce GT 620M 1140 1025 0692 C
-GeForce GT 620M 1140 1025 0694 C
-GeForce GT 620M 1140 1025 0702 C
-GeForce GT 620M 1140 1025 0719 C
-GeForce GT 620M 1140 1025 0725 C
-GeForce GT 620M 1140 1025 0728 C
-GeForce GT 620M 1140 1025 072B C
-GeForce GT 620M 1140 1025 072E C
-GeForce GT 620M 1140 1025 0732 C
-GeForce GT 720M 1140 1025 0763 C
+GeForce GT 620M 1140 1025 0692 C
+GeForce GT 620M 1140 1025 0694 C
+GeForce GT 620M 1140 1025 0702 C
+GeForce GT 620M 1140 1025 0719 C
+GeForce GT 620M 1140 1025 0725 C
+GeForce GT 620M 1140 1025 0728 C
+GeForce GT 620M 1140 1025 072B C
+GeForce GT 620M 1140 1025 072E C
+GeForce GT 620M 1140 1025 0732 C
+GeForce GT 720M 1140 1025 0763 C
GeForce 710M 1140 1025 0773 C
GeForce 710M 1140 1025 0774 C
-GeForce GT 720M 1140 1025 0776 C
+GeForce GT 720M 1140 1025 0776 C
GeForce 710M 1140 1025 077A C
GeForce 710M 1140 1025 077B C
GeForce 710M 1140 1025 077C C
GeForce 710M 1140 1025 077D C
GeForce 710M 1140 1025 077E C
GeForce 710M 1140 1025 077F C
-GeForce GT 720M 1140 1025 0781 C
-GeForce GT 720M 1140 1025 0798 C
-GeForce GT 720M 1140 1025 0799 C
-GeForce GT 720M 1140 1025 079B C
-GeForce GT 720M 1140 1025 079C C
-GeForce GT 720M 1140 1025 0807 C
+GeForce GT 720M 1140 1025 0781 C
+GeForce GT 720M 1140 1025 0798 C
+GeForce GT 720M 1140 1025 0799 C
+GeForce GT 720M 1140 1025 079B C
+GeForce GT 720M 1140 1025 079C C
+GeForce GT 720M 1140 1025 0807 C
GeForce 820M 1140 1025 0821 C
-GeForce GT 720M 1140 1025 0823 C
-GeForce GT 720M 1140 1025 0830 C
-GeForce GT 720M 1140 1025 0833 C
-GeForce GT 720M 1140 1025 0837 C
+GeForce GT 720M 1140 1025 0823 C
+GeForce GT 720M 1140 1025 0830 C
+GeForce GT 720M 1140 1025 0833 C
+GeForce GT 720M 1140 1025 0837 C
GeForce 820M 1140 1025 083E C
GeForce 710M 1140 1025 0841 C
GeForce 820M 1140 1025 0853 C
@@ -216,27 +216,27 @@ GeForce 820M 1140 1025 0941 C
GeForce 820M 1140 1025 0945 C
GeForce 820M 1140 1025 0954 C
GeForce 820M 1140 1025 0965 C
-GeForce GT 630M 1140 1028 054D C
-GeForce GT 630M 1140 1028 054E C
-GeForce GT 620M 1140 1028 0554 C
-GeForce GT 620M 1140 1028 0557 C
-GeForce GT 625M 1140 1028 0562 C
-GeForce GT 630M 1140 1028 0565 C
-GeForce GT 630M 1140 1028 0568 C
-GeForce GT 630M 1140 1028 0590 C
-GeForce GT 625M 1140 1028 0592 C
-GeForce GT 625M 1140 1028 0594 C
-GeForce GT 625M 1140 1028 0595 C
-GeForce GT 625M 1140 1028 05A2 C
-GeForce GT 625M 1140 1028 05B1 C
-GeForce GT 625M 1140 1028 05B3 C
-GeForce GT 630M 1140 1028 05DA C
-GeForce GT 720M 1140 1028 05DE C
-GeForce GT 720M 1140 1028 05E0 C
-GeForce GT 630M 1140 1028 05E8 C
-GeForce GT 720M 1140 1028 05F4 C
-GeForce GT 720M 1140 1028 060F C
-GeForce GT 720M 1140 1028 062F C
+GeForce GT 630M 1140 1028 054D C
+GeForce GT 630M 1140 1028 054E C
+GeForce GT 620M 1140 1028 0554 C
+GeForce GT 620M 1140 1028 0557 C
+GeForce GT 625M 1140 1028 0562 C
+GeForce GT 630M 1140 1028 0565 C
+GeForce GT 630M 1140 1028 0568 C
+GeForce GT 630M 1140 1028 0590 C
+GeForce GT 625M 1140 1028 0592 C
+GeForce GT 625M 1140 1028 0594 C
+GeForce GT 625M 1140 1028 0595 C
+GeForce GT 625M 1140 1028 05A2 C
+GeForce GT 625M 1140 1028 05B1 C
+GeForce GT 625M 1140 1028 05B3 C
+GeForce GT 630M 1140 1028 05DA C
+GeForce GT 720M 1140 1028 05DE C
+GeForce GT 720M 1140 1028 05E0 C
+GeForce GT 630M 1140 1028 05E8 C
+GeForce GT 720M 1140 1028 05F4 C
+GeForce GT 720M 1140 1028 060F C
+GeForce GT 720M 1140 1028 062F C
GeForce 820M 1140 1028 064E C
GeForce 820M 1140 1028 0652 C
GeForce 820M 1140 1028 0653 C
@@ -250,11 +250,11 @@ GeForce 820M 1140 1028 06AF C
GeForce 820M 1140 1028 06B0 C
GeForce 820M 1140 1028 06C0 C
GeForce 820M 1140 1028 06C1 C
-GeForce GT 630M 1140 103C 18EF C
-GeForce GT 630M 1140 103C 18F9 C
-GeForce GT 630M 1140 103C 18FB C
-GeForce GT 630M 1140 103C 18FD C
-GeForce GT 630M 1140 103C 18FF C
+GeForce GT 630M 1140 103C 18EF C
+GeForce GT 630M 1140 103C 18F9 C
+GeForce GT 630M 1140 103C 18FB C
+GeForce GT 630M 1140 103C 18FD C
+GeForce GT 630M 1140 103C 18FF C
GeForce 820M 1140 103C 218A C
GeForce 820M 1140 103C 21BB C
GeForce 820M 1140 103C 21BC C
@@ -271,15 +271,15 @@ GeForce 820M 1140 103C 22D2 C
GeForce 820M 1140 103C 22D9 C
GeForce 820M 1140 103C 2335 C
GeForce 820M 1140 103C 2337 C
-GeForce GT 720A 1140 103C 2AEF C
+GeForce GT 720A 1140 103C 2AEF C
GeForce 710A 1140 103C 2AF9 C
-GeForce GT 720M 1140 1043 11FD C
-GeForce GT 720M 1140 1043 124D C
-GeForce GT 720M 1140 1043 126D C
-GeForce GT 720M 1140 1043 131D C
-GeForce GT 720M 1140 1043 13FD C
-GeForce GT 720M 1140 1043 14C7 C
-GeForce GT 620M 1140 1043 1507 C
+GeForce GT 720M 1140 1043 11FD C
+GeForce GT 720M 1140 1043 124D C
+GeForce GT 720M 1140 1043 126D C
+GeForce GT 720M 1140 1043 131D C
+GeForce GT 720M 1140 1043 13FD C
+GeForce GT 720M 1140 1043 14C7 C
+GeForce GT 620M 1140 1043 1507 C
GeForce 820M 1140 1043 15AD C
GeForce 820M 1140 1043 15ED C
GeForce 820M 1140 1043 160D C
@@ -292,13 +292,13 @@ GeForce 820M 1140 1043 170D C
GeForce 820M 1140 1043 176D C
GeForce 820M 1140 1043 178D C
GeForce 820M 1140 1043 179D C
-GeForce GT 620M 1140 1043 2132 C
-GeForce GT 720M 1140 1043 21BA C
-GeForce GT 720M 1140 1043 21FA C
-GeForce GT 720M 1140 1043 220A C
-GeForce GT 720M 1140 1043 221A C
-GeForce GT 710M 1140 1043 223A C
-GeForce GT 710M 1140 1043 224A C
+GeForce GT 620M 1140 1043 2132 C
+GeForce GT 720M 1140 1043 21BA C
+GeForce GT 720M 1140 1043 21FA C
+GeForce GT 720M 1140 1043 220A C
+GeForce GT 720M 1140 1043 221A C
+GeForce GT 710M 1140 1043 223A C
+GeForce GT 710M 1140 1043 224A C
GeForce 820M 1140 1043 227A C
GeForce 820M 1140 1043 228A C
GeForce 820M 1140 1043 22FA C
@@ -307,11 +307,11 @@ GeForce 820M 1140 1043 233A C
GeForce 820M 1140 1043 235A C
GeForce 820M 1140 1043 236A C
GeForce 820M 1140 1043 238A C
-GeForce GT 720M 1140 1043 8595 C
-GeForce GT 720M 1140 1043 85EA C
+GeForce GT 720M 1140 1043 8595 C
+GeForce GT 720M 1140 1043 85EA C
GeForce 820M 1140 1043 85EB C
GeForce 820M 1140 1043 85EC C
-GeForce GT 720M 1140 1043 85EE C
+GeForce GT 720M 1140 1043 85EE C
GeForce 820M 1140 1043 85F3 C
GeForce 820M 1140 1043 860E C
GeForce 820M 1140 1043 861A C
@@ -322,10 +322,10 @@ GeForce 820M 1140 1043 864C C
GeForce 820M 1140 1043 8652 C
GeForce 820M 1140 1043 8660 C
GeForce 820M 1140 1043 8661 C
-GeForce GT 720M 1140 105B 0DAC C
-GeForce GT 720M 1140 105B 0DAD C
-GeForce GT 720M 1140 105B 0EF3 C
-GeForce GT 720M 1140 10CF 17F5 C
+GeForce GT 720M 1140 105B 0DAC C
+GeForce GT 720M 1140 105B 0DAD C
+GeForce GT 720M 1140 105B 0EF3 C
+GeForce GT 720M 1140 10CF 17F5 C
GeForce 710M 1140 1179 FA01 C
GeForce 710M 1140 1179 FA02 C
GeForce 710M 1140 1179 FA03 C
@@ -350,50 +350,50 @@ GeForce 710M 1140 1179 FA58 C
GeForce 710M 1140 1179 FA59 C
GeForce 710M 1140 1179 FA88 C
GeForce 710M 1140 1179 FA89 C
-GeForce GT 620M 1140 144D B092 C
-GeForce GT 630M 1140 144D C0D5 C
-GeForce GT 620M 1140 144D C0D7 C
+GeForce GT 620M 1140 144D B092 C
+GeForce GT 630M 1140 144D C0D5 C
+GeForce GT 620M 1140 144D C0D7 C
GeForce 820M 1140 144D C10D C
-GeForce GT 620M 1140 144D C652 C
+GeForce GT 620M 1140 144D C652 C
GeForce 710M 1140 144D C709 C
GeForce 710M 1140 144D C711 C
GeForce 710M 1140 144D C736 C
GeForce 710M 1140 144D C737 C
GeForce 820M 1140 144D C745 C
GeForce 820M 1140 144D C750 C
-GeForce GT 710M 1140 1462 10B8 C
-GeForce GT 720M 1140 1462 10E9 C
+GeForce GT 710M 1140 1462 10B8 C
+GeForce GT 720M 1140 1462 10E9 C
GeForce 820M 1140 1462 1116 C
GeForce 720M 1140 1462 AA33 C
-GeForce GT 720M 1140 1462 AAA2 C
+GeForce GT 720M 1140 1462 AAA2 C
GeForce 820M 1140 1462 AAA3 C
-GeForce GT 720M 1140 1462 ACB2 C
-GeForce GT 720M 1140 1462 ACC1 C
+GeForce GT 720M 1140 1462 ACB2 C
+GeForce GT 720M 1140 1462 ACC1 C
GeForce 720M 1140 1462 AE61 C
-GeForce GT 720M 1140 1462 AE65 C
+GeForce GT 720M 1140 1462 AE65 C
GeForce 820M 1140 1462 AE6A C
-GeForce GT 720M 1140 1462 AE71 C
+GeForce GT 720M 1140 1462 AE71 C
GeForce 820M 1140 14C0 0083 C
GeForce 620M 1140 152D 0926 C
-GeForce GT 630M 1140 152D 0982 C
-GeForce GT 630M 1140 152D 0983 C
-GeForce GT 820M 1140 152D 1005 C
+GeForce GT 630M 1140 152D 0982 C
+GeForce GT 630M 1140 152D 0983 C
+GeForce GT 820M 1140 152D 1005 C
GeForce 710M 1140 152D 1012 C
GeForce 820M 1140 152D 1019 C
-GeForce GT 630M 1140 152D 1030 C
+GeForce GT 630M 1140 152D 1030 C
GeForce 710M 1140 152D 1055 C
-GeForce GT 720M 1140 152D 1067 C
+GeForce GT 720M 1140 152D 1067 C
GeForce 820M 1140 152D 1092 C
-GeForce GT 720M 1140 17AA 2213 C
-GeForce GT 720M 1140 17AA 2220 C
-GeForce GT 720A 1140 17AA 309C C
+GeForce GT 720M 1140 17AA 2213 C
+GeForce GT 720M 1140 17AA 2220 C
+GeForce GT 720A 1140 17AA 309C C
GeForce 820A 1140 17AA 30B4 C
GeForce 720A 1140 17AA 30B7 C
GeForce 820A 1140 17AA 30E4 C
GeForce 820A 1140 17AA 361B C
GeForce 820A 1140 17AA 361C C
GeForce 820A 1140 17AA 361D C
-GeForce GT 620M 1140 17AA 3656 C
+GeForce GT 620M 1140 17AA 3656 C
GeForce 705M 1140 17AA 365A C
GeForce 800M 1140 17AA 365E C
GeForce 820A 1140 17AA 3661 C
@@ -412,17 +412,17 @@ GeForce 820A 1140 17AA 36A9 C
GeForce 820A 1140 17AA 36AF C
GeForce 820A 1140 17AA 36B0 C
GeForce 820A 1140 17AA 36B6 C
-GeForce GT 720M 1140 17AA 3800 C
-GeForce GT 720M 1140 17AA 3801 C
-GeForce GT 720M 1140 17AA 3802 C
-GeForce GT 720M 1140 17AA 3803 C
-GeForce GT 720M 1140 17AA 3804 C
-GeForce GT 720M 1140 17AA 3806 C
-GeForce GT 720M 1140 17AA 3808 C
-GeForce GT 820M 1140 17AA 380D C
-GeForce GT 820M 1140 17AA 380E C
-GeForce GT 820M 1140 17AA 380F C
-GeForce GT 820M 1140 17AA 3811 C
+GeForce GT 720M 1140 17AA 3800 C
+GeForce GT 720M 1140 17AA 3801 C
+GeForce GT 720M 1140 17AA 3802 C
+GeForce GT 720M 1140 17AA 3803 C
+GeForce GT 720M 1140 17AA 3804 C
+GeForce GT 720M 1140 17AA 3806 C
+GeForce GT 720M 1140 17AA 3808 C
+GeForce GT 820M 1140 17AA 380D C
+GeForce GT 820M 1140 17AA 380E C
+GeForce GT 820M 1140 17AA 380F C
+GeForce GT 820M 1140 17AA 3811 C
GeForce 820M 1140 17AA 3812 C
GeForce 820M 1140 17AA 3813 C
GeForce 820M 1140 17AA 3816 C
@@ -434,30 +434,30 @@ GeForce 820M 1140 17AA 381D C
GeForce 610M 1140 17AA 3901 C
GeForce 710M 1140 17AA 3902 C
GeForce 710M 1140 17AA 3903 C
-GeForce GT 625M 1140 17AA 3904 C
-GeForce GT 720M 1140 17AA 3905 C
+GeForce GT 625M 1140 17AA 3904 C
+GeForce GT 720M 1140 17AA 3905 C
GeForce 820M 1140 17AA 3907 C
-GeForce GT 720M 1140 17AA 3910 C
-GeForce GT 720M 1140 17AA 3912 C
+GeForce GT 720M 1140 17AA 3910 C
+GeForce GT 720M 1140 17AA 3912 C
GeForce 820M 1140 17AA 3913 C
GeForce 820M 1140 17AA 3915 C
GeForce 610M 1140 17AA 3983 C
GeForce 610M 1140 17AA 5001 C
-GeForce GT 720M 1140 17AA 5003 C
+GeForce GT 720M 1140 17AA 5003 C
GeForce 705M 1140 17AA 5005 C
-GeForce GT 620M 1140 17AA 500D C
+GeForce GT 620M 1140 17AA 500D C
GeForce 710M 1140 17AA 5014 C
GeForce 710M 1140 17AA 5017 C
GeForce 710M 1140 17AA 5019 C
GeForce 710M 1140 17AA 501A C
-GeForce GT 720M 1140 17AA 501F C
+GeForce GT 720M 1140 17AA 501F C
GeForce 710M 1140 17AA 5025 C
GeForce 710M 1140 17AA 5027 C
GeForce 710M 1140 17AA 502A C
-GeForce GT 720M 1140 17AA 502B C
+GeForce GT 720M 1140 17AA 502B C
GeForce 710M 1140 17AA 502D C
-GeForce GT 720M 1140 17AA 502E C
-GeForce GT 720M 1140 17AA 502F C
+GeForce GT 720M 1140 17AA 502E C
+GeForce GT 720M 1140 17AA 502F C
GeForce 705M 1140 17AA 5030 C
GeForce 705M 1140 17AA 5031 C
GeForce 820M 1140 17AA 5032 C
@@ -467,35 +467,35 @@ GeForce 820M 1140 17AA 503F C
GeForce 820M 1140 17AA 5040 C
GeForce 710M 1140 1854 0177 C
GeForce 710M 1140 1854 0180 C
-GeForce GT 720M 1140 1854 0190 C
-GeForce GT 720M 1140 1854 0192 C
+GeForce GT 720M 1140 1854 0190 C
+GeForce GT 720M 1140 1854 0192 C
GeForce 820M 1140 1854 0224 C
GeForce 820M 1140 1B0A 01C0 C
-GeForce GT 620M 1140 1B0A 20DD C
-GeForce GT 620M 1140 1B0A 20DF C
+GeForce GT 620M 1140 1B0A 20DD C
+GeForce GT 620M 1140 1B0A 20DF C
GeForce 820M 1140 1B0A 210E C
-GeForce GT 720M 1140 1B0A 2202 C
+GeForce GT 720M 1140 1B0A 2202 C
GeForce 820M 1140 1B0A 90D7 C
GeForce 820M 1140 1B0A 90DD C
GeForce 820M 1140 1B50 5530 C
-GeForce GT 720M 1140 1B6C 5031 C
+GeForce GT 720M 1140 1B6C 5031 C
GeForce 820M 1140 1BAB 0106 C
GeForce 810M 1140 1D05 1013 C
-GeForce GTX 680 1180 D
+GeForce GTX 680 1180 D
GeForce GTX 660 Ti 1183 D
-GeForce GTX 770 1184 D
-GeForce GTX 660 1185 D
-GeForce GTX 760 1185 10DE 106F D
-GeForce GTX 760 1187 D
-GeForce GTX 690 1188 D
-GeForce GTX 670 1189 D
+GeForce GTX 770 1184 D
+GeForce GTX 660 1185 D
+GeForce GTX 760 1185 10DE 106F D
+GeForce GTX 760 1187 D
+GeForce GTX 690 1188 D
+GeForce GTX 670 1189 D
GeForce GTX 760 Ti OEM 1189 10DE 1074 D
GeForce GTX 760 (192-bit) 118E D
GeForce GTX 760 Ti OEM 1193 D
-GeForce GTX 660 1195 D
+GeForce GTX 660 1195 D
GeForce GTX 880M 1198 D
GeForce GTX 870M 1199 D
-GeForce GTX 760 1199 1458 D001 D
+GeForce GTX 760 1199 1458 D001 D
GeForce GTX 860M 119A D
GeForce GTX 775M 119D D
GeForce GTX 780M 119E D
@@ -505,13 +505,13 @@ GeForce GTX 670MX 11A1 D
GeForce GTX 675MX 11A2 D
GeForce GTX 680MX 11A3 D
GeForce GTX 675MX 11A7 D
-GeForce GTX 660 11C0 D
+GeForce GTX 660 11C0 D
GeForce GTX 650 Ti BOOST 11C2 D
GeForce GTX 650 Ti 11C3 D
-GeForce GTX 645 11C4 D
+GeForce GTX 645 11C4 D
GeForce GT 740 11C5 D
GeForce GTX 650 Ti 11C6 D
-GeForce GTX 650 11C8 D
+GeForce GTX 650 11C8 D
GeForce GT 740 11CB D
GeForce GTX 770M 11E0 D
GeForce GTX 765M 11E1 D
@@ -519,10 +519,10 @@ GeForce GTX 765M 11E2 D
GeForce GTX 760M 11E3 D
GeForce GTX 760A 11E3 17AA 3683 D
GeForce GTX 560 Ti 1200 C
-GeForce GTX 560 1201 C
+GeForce GTX 560 1201 C
GeForce GTX 460 SE v2 1203 C
GeForce GTX 460 v2 1205 C
-GeForce GTX 555 1206 C
+GeForce GTX 555 1206 C
GeForce GT 645 1207 C
GeForce GTX 560 SE 1208 C
GeForce GTX 570M 1210 C
@@ -532,17 +532,17 @@ GeForce GTX 670M 1213 C
GeForce GT 545 1241 C
GeForce GT 545 1243 C
GeForce GTX 550 Ti 1244 C
-GeForce GTS 450 1245 C
-GeForce GT 550M 1246 C
-GeForce GT 555M 1247 C
-GeForce GT 635M 1247 1043 212A C
-GeForce GT 635M 1247 1043 212B C
-GeForce GT 635M 1247 1043 212C C
-GeForce GT 555M 1248 C
-GeForce GTS 450 1249 C
+GeForce GTS 450 1245 C
+GeForce GT 550M 1246 C
+GeForce GT 555M 1247 C
+GeForce GT 635M 1247 1043 212A C
+GeForce GT 635M 1247 1043 212B C
+GeForce GT 635M 1247 1043 212C C
+GeForce GT 555M 1248 C
+GeForce GTS 450 1249 C
GeForce GT 640 124B C
-GeForce GT 555M 124D C
-GeForce GT 635M 124D 1462 10CC C
+GeForce GT 555M 124D C
+GeForce GT 635M 124D 1462 10CC C
GeForce GTX 560M 1251 C
GeForce GT 635 1280 D
GeForce GT 710 1281 D
@@ -553,14 +553,14 @@ GeForce GT 730 1287 C
GeForce GT 720 1288 D
GeForce GT 710 1289 D
GeForce GT 710 128B D
-GeForce GT 730M 1290 D
+GeForce GT 730M 1290 D
GeForce 730A 1290 103C 2AFA D
-GeForce GT 735M 1291 D
-GeForce GT 740M 1292 D
-GeForce GT 740A 1292 17AA 3675 D
-GeForce GT 740A 1292 17AA 367C D
-GeForce GT 740A 1292 17AA 3684 D
-GeForce GT 730M 1293 D
+GeForce GT 735M 1291 D
+GeForce GT 740M 1292 D
+GeForce GT 740A 1292 17AA 3675 D
+GeForce GT 740A 1292 17AA 367C D
+GeForce GT 740A 1292 17AA 3684 D
+GeForce GT 730M 1293 D
GeForce 710M 1295 D
GeForce 710A 1295 103C 2B0D C
GeForce 710A 1295 103C 2B0F C
@@ -569,7 +569,7 @@ GeForce 810A 1295 103C 2B21 D
GeForce 805A 1295 17AA 367A D
GeForce 710A 1295 17AA 367C D
GeForce 825M 1296 D
-GeForce GT 720M 1298 C
+GeForce GT 720M 1298 C
GeForce 920M 1299 D
GeForce 920A 1299 17AA 30BB D
GeForce 920A 1299 17AA 30DA D
@@ -613,19 +613,19 @@ GeForce 930A 1349 17AA 36C3 E
GeForce 930A 1349 17AA 36D1 E
GeForce 930A 1349 17AA 36D8 E
GeForce 940MX 134B E
-GeForce GPU 134B 1414 0008 E
+GeForce GPU 134B 1414 0008 E
GeForce 940MX 134D E
GeForce 930MX 134E E
GeForce 920MX 134F E
GeForce 940A 137D 17AA 3699 E
GeForce GTX 750 Ti 1380 E
-GeForce GTX 750 1381 E
-GeForce GTX 745 1382 E
+GeForce GTX 750 1381 E
+GeForce GTX 745 1382 E
GeForce 845M 1390 E
GeForce GTX 850M 1391 E
GeForce GTX 850A 1391 17AA 3697 E
GeForce GTX 860M 1392 D
-GeForce GPU 1392 1028 066A E
+GeForce GPU 1392 1028 066A E
GeForce GTX 750 Ti 1392 1043 861E E
GeForce GTX 750 Ti 1392 1043 86D9 E
GeForce 840M 1393 E
@@ -648,36 +648,41 @@ GeForce GTX 750 Ti 139B 19DA C248 E
GeForce GTX 750Ti 139B 1AFA 8A75 E
GeForce 940M 139C E
GeForce GTX 750 Ti 139D E
-GeForce GTX 980 13C0 E
-GeForce GTX 970 13C2 E
+GeForce GTX 980 13C0 E
+GeForce GTX 970 13C2 E
GeForce GTX 980M 13D7 E
GeForce GTX 970M 13D8 E
-GeForce GTX 960 13D8 1462 1198 E
-GeForce GTX 960 13D8 1462 1199 E
-GeForce GTX 960 13D8 19DA B282 E
-GeForce GTX 960 13D8 19DA B284 E
-GeForce GTX 960 13D8 19DA B286 E
+GeForce GTX 960 13D8 1462 1198 E
+GeForce GTX 960 13D8 1462 1199 E
+GeForce GTX 960 13D8 19DA B282 E
+GeForce GTX 960 13D8 19DA B284 E
+GeForce GTX 960 13D8 19DA B286 E
GeForce GTX 965M 13D9 E
-GeForce GTX 980 13DA E
-GeForce GTX 960 1401 F
-GeForce GTX 950 1402 F
-GeForce GTX 960 1406 F
-GeForce GTX 750 1407 E
+GeForce GTX 980 13DA E
+GeForce GTX 960 1401 F
+GeForce GTX 950 1402 F
+GeForce GTX 960 1406 F
+GeForce GTX 750 1407 E
GeForce GTX 965M 1427 E
-GeForce GTX 950 1427 1458 D003 F
+GeForce GTX 950 1427 1458 D003 F
GeForce GTX 980M 1617 E
GeForce GTX 970M 1618 E
GeForce GTX 965M 1619 E
-GeForce GTX 980 161A E
+GeForce GTX 980 161A E
GeForce GTX 965M 1667 E
+GeForce MX130 174D E
+GeForce MX110 174E E
GeForce 940MX 179C E
-GeForce GTX TITAN X 17C2 E
+GeForce GTX TITAN X 17C2 E
GeForce GTX 980 Ti 17C8 E
TITAN X (Pascal) 1B00 H
TITAN Xp 1B02 H
-GeForce GTX 1080 Ti 1B06 H
+TITAN Xp COLLECTORS EDITION 1B02 10DE 123E H
+TITAN Xp COLLECTORS EDITION 1B02 10DE 123F H
+GeForce GTX 1080 Ti 1B06 H
GeForce GTX 1080 1B80 H
GeForce GTX 1070 1B81 H
+GeForce GTX 1070 Ti 1B82 H
GeForce GTX 1060 3GB 1B84 H
P104-100 1B87 H
GeForce GTX 1080 1BA0 H
@@ -698,46 +703,49 @@ GeForce GTX 1070 1BE1 H
GeForce GTX 1070 with Max-Q Design 1BE1 1043 16F0 H
GeForce GTX 1060 3GB 1C02 H
GeForce GTX 1060 6GB 1C03 H
+GeForce GTX 1060 5GB 1C04 H
+GeForce GTX 1060 6GB 1C06 H
P106-100 1C07 H
P106-090 1C09 H
GeForce GTX 1060 1C20 H
GeForce GTX 1060 with Max-Q Design 1C20 1028 0802 H
GeForce GTX 1060 with Max-Q Design 1C20 1028 0803 H
GeForce GTX 1060 with Max-Q Design 1C20 17AA 39B9 H
-GeForce GTX 1050 Ti 1C21 H
+GeForce GTX 1050 Ti 1C21 H
GeForce GTX 1050 1C22 H
GeForce GTX 1060 1C60 H
GeForce GTX 1060 with Max-Q Design 1C60 103C 8390 H
-GeForce GTX 1050 Ti 1C61 H
+GeForce GTX 1050 Ti 1C61 H
GeForce GTX 1050 1C62 H
GeForce GTX 1050 1C81 H
-GeForce GTX 1050 Ti 1C82 H
-GeForce GTX 1050 Ti 1C8C H
+GeForce GTX 1050 Ti 1C82 H
+GeForce GTX 1050 Ti 1C8C H
+GeForce GTX 1050 Ti with Max-Q Design 1C8C 17AA 39FF H
GeForce GTX 1050 1C8D H
-GeForce GT 1030 1D01 H
+GeForce GT 1030 1D01 H
GeForce MX150 1D10 H
GeForce MX150 1D12 H
-#NVIDIA Quadro GPUs
-#NVIDIA GPU product Device PCI ID* VDPAU features
-Quadro 6000 06D8 C
-Quadro 5000 06D9 C
+NVIDIA Quadro GPUs
+NVIDIA GPU product Device PCI ID* VDPAU features
+Quadro 6000 06D8 C
+Quadro 5000 06D9 C
Quadro 5000M 06DA C
-Quadro 6000 06DC C
-Quadro 4000 06DD C
-Quadro 2000 0DD8 C
+Quadro 6000 06DC C
+Quadro 4000 06DD C
+Quadro 2000 0DD8 C
Quadro 2000D 0DD8 10DE 0914 C
Quadro 2000M 0DDA C
Quadro 600 0DF8 C
-Quadro 500M 0DF9 C
+Quadro 500M 0DF9 C
Quadro 1000M 0DFA C
Quadro 3000M 0E3A C
Quadro 4000M 0E3B C
-Quadro K420 0FF3 D
+Quadro K420 0FF3 D
Quadro K1100M 0FF6 D
Quadro K500M 0FF8 D
Quadro K2000D 0FF9 D
-Quadro K600 0FFA D
+Quadro K600 0FFA D
Quadro K2000M 0FFB D
Quadro K1000M 0FFC D
Quadro K2000 0FFE D
@@ -745,7 +753,7 @@ Quadro 410 0FFF D
Quadro K6000 103A D
Quadro K5200 103C D
Quadro 5010M 109A C
-Quadro 7000 109B C
+Quadro 7000 109B C
Quadro K4200 11B4 D
Quadro K3100M 11B6 D
Quadro K4100M 11B7 D
@@ -761,23 +769,23 @@ Quadro K510M 12BA D
Quadro K620M 137A 17AA 2225 E
Quadro M500M 137A 17AA 2232 E
Quadro M500M 137A 17AA 505A E
-Quadro M520 137B E
+Quadro M520 137B E
Quadro M2000M 13B0 E
Quadro M1000M 13B1 E
Quadro M600M 13B2 E
Quadro K2200M 13B3 E
-Quadro M620 13B4 E
+Quadro M620 13B4 E
Quadro M1200 13B6 E
Quadro K2200 13BA E
-Quadro K620 13BB E
+Quadro K620 13BB E
Quadro K1200 13BC E
Quadro M5000 13F0 E
Quadro M4000 13F1 E
Quadro M5000M 13F8 E
-Quadro M5000 SE 13F8 10DE 11DD E
+Quadro M5000 SE 13F8 10DE 11DD E
Quadro M4000M 13F9 E
Quadro M3000M 13FA E
-Quadro M3000 SE 13FA 10DE 11C9 E
+Quadro M3000 SE 13FA 10DE 11C9 E
Quadro M5500 13FB E
Quadro M2000 1430 F
Quadro GP100 15F0 G
@@ -794,18 +802,20 @@ Quadro P4000 with Max-Q Design 1BB7 1558 9501 H
Quadro P3000 1BB8 H
Quadro P2000 1C30 H
Quadro P1000 1CB1 H
-Quadro P600 1CB2 H
-Quadro P400 1CB3 H
+Quadro P600 1CB2 H
+Quadro P400 1CB3 H
+Quadro P620 1CB6 H
+Quadro P500 1D33 H
-#NVIDIA NVS GPUs
-#NVIDIA GPU product Device PCI ID* VDPAU features
+NVIDIA NVS GPUs
+NVIDIA GPU product Device PCI ID* VDPAU features
NVS 5400M 0DEF C
NVS 5200M 0DFC C
-NVS 510 0FFD D
+NVS 510 0FFD D
NVS 4200M 1056 D
NVS 4200M 1057 D
-NVS 315 107C D
-NVS 310 107D D
+NVS 315 107C D
+NVS 310 107D D
NVS 5200M 1140 1043 10DD C
NVS 5200M 1140 1043 10ED C
NVS 5200M 1140 1043 2136 C
@@ -813,43 +823,43 @@ NVS 5200M 1140 144D C0E2 C
NVS 5200M 1140 144D C0E3 C
NVS 5200M 1140 144D C0E4 C
NVS 5200M 1140 17AA 2200 C
-NVS 810 13B9 E
+NVS 810 13B9 E
-#NVIDIA Tesla GPUs
-#NVIDIA GPU product Device PCI ID* VDPAU features
-Tesla C2050 / C2070 06D1 C
-Tesla C2050 06D1 10DE 0771 C
-Tesla C2070 06D1 10DE 0772 C
-Tesla M2070 06D2 C
-Tesla X2070 06D2 10DE 088F C
-Tesla T20 Processor 06DE C
-Tesla S2050 06DE 10DE 0773 C
-Tesla M2050 06DE 10DE 082F C
-Tesla X2070 06DE 10DE 0840 C
-Tesla M2050 06DE 10DE 0842 C
-Tesla M2050 06DE 10DE 0846 C
-Tesla M2050 06DE 10DE 0866 C
-Tesla M2050 06DE 10DE 0907 C
-Tesla M2050 06DE 10DE 091E C
+NVIDIA Tesla GPUs
+NVIDIA GPU product Device PCI ID* VDPAU features
+Tesla C2050 / C2070 06D1 C
+Tesla C2050 06D1 10DE 0771 C
+Tesla C2070 06D1 10DE 0772 C
+Tesla M2070 06D2 C
+Tesla X2070 06D2 10DE 088F C
+Tesla T20 Processor 06DE C
+Tesla S2050 06DE 10DE 0773 C
+Tesla M2050 06DE 10DE 082F C
+Tesla X2070 06DE 10DE 0840 C
+Tesla M2050 06DE 10DE 0842 C
+Tesla M2050 06DE 10DE 0846 C
+Tesla M2050 06DE 10DE 0866 C
+Tesla M2050 06DE 10DE 0907 C
+Tesla M2050 06DE 10DE 091E C
Tesla M2070-Q 06DF C
-Tesla K20Xm 1021 D
+Tesla K20Xm 1021 D
Tesla K20c 1022 D
Tesla K40m 1023 D
Tesla K40c 1024 D
Tesla K20s 1026 D
-Tesla K40st 1027 D
+Tesla K40st 1027 D
Tesla K20m 1028 D
Tesla K40s 1029 D
Tesla K40t 102A D
Tesla K80 102D D
-Tesla M2090 1091 C
-Tesla X2090 1091 10DE 088E C
-Tesla X2090 1091 10DE 0891 C
-Tesla X2090 1091 10DE 0974 C
-Tesla X2090 1091 10DE 098D C
-Tesla M2075 1094 C
-Tesla C2075 1096 C
-Tesla C2050 1096 10DE 0911 C
+Tesla M2090 1091 C
+Tesla X2090 1091 10DE 088E C
+Tesla X2090 1091 10DE 0891 C
+Tesla X2090 1091 10DE 0974 C
+Tesla X2090 1091 10DE 098D C
+Tesla M2075 1094 C
+Tesla C2075 1096 C
+Tesla C2050 1096 10DE 0911 C
Tesla K10 118F D
Tesla K8 1194 D
Tesla M60 13F2 E
@@ -864,9 +874,7 @@ Tesla M40 24GB 17FD 10DE 1173 E
Tesla P40 1B38 H
Tesla P4 1BB3 H
Tesla P6 1BB4 H
-Tesla V100-SXM2-16GB 1DB1 I
-Tesla V100-PCIE-16GB 1DB4 I
-#NVIDIA GRID GPUs
-#NVIDIA GPU product Device PCI ID* VDPAU features
+NVIDIA GRID GPUs
+NVIDIA GPU product Device PCI ID* VDPAU features
GRID K520 118A D
diff --git a/abs/core/systemd/PKGBUILD b/abs/core/systemd/PKGBUILD
index 6e4bc37..93f942b 100644
--- a/abs/core/systemd/PKGBUILD
+++ b/abs/core/systemd/PKGBUILD
@@ -1,88 +1,156 @@
+# $Id$
+# Maintainer: Christian Hesse <mail@eworm.de>
# Maintainer: Dave Reisner <dreisner@archlinux.org>
# Maintainer: Tom Gundersen <teg@jklm.no>
pkgbase=systemd
pkgname=('systemd' 'libsystemd' 'systemd-sysvcompat')
-pkgver=224
+# latest commit on stable branch
+_commit='738ab7502afb7663d9aacdd73e79025aa7cd0a9b'
+# Bump this to latest major release for signed tag verification,
+# the commit count is handled by pkgver() function.
+pkgver=238.0
pkgrel=1
-arch=('i686' 'x86_64')
-url="http://www.freedesktop.org/wiki/Software/systemd"
-makedepends=('acl' 'cryptsetup' 'docbook-xsl' 'gperf' 'lz4' 'xz' 'pam'
+arch=('x86_64')
+url="https://www.github.com/systemd/systemd"
+makedepends=('acl' 'cryptsetup' 'docbook-xsl' 'gperf' 'lz4' 'xz' 'pam' 'libelf'
'intltool' 'iptables' 'kmod' 'libcap' 'libidn' 'libgcrypt'
'libmicrohttpd' 'libxslt' 'util-linux' 'linux-api-headers'
- 'python2-lxml' 'quota-tools' 'shadow' 'gnu-efi-libs' 'git')
-options=('strip' 'debug')
-source=("git://github.com/systemd/systemd.git#tag=v$pkgver"
+ 'python-lxml' 'quota-tools' 'shadow' 'gnu-efi-libs' 'git'
+ 'meson' 'libseccomp' 'pcre2')
+options=('strip')
+validpgpkeys=('63CDA1E5D3FC22B998D20DD6327F26951A015CC4' # Lennart Poettering <lennart@poettering.net>
+ '5C251B5FC54EB2F80F407AAAC54CA336CFEB557E') # Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
+source=('git://github.com/systemd/systemd-stable.git'
+ 'git://github.com/systemd/systemd.git' # pull in for tags, backports & reverts
'initcpio-hook-udev'
'initcpio-install-systemd'
'initcpio-install-udev'
'arch.conf'
'loader.conf'
- 'splash-arch.bmp')
-md5sums=('SKIP'
- '90ea67a7bb237502094914622a39e281'
- '976c5511b6493715e381f43f16cdb151'
- '1b3aa3a0551b08af9305d33f85b5c2fc'
- '20ead378f5d6df4b2a3e670301510a7d'
- 'ddaef54f68f6c86c6c07835fc668f62a'
- '1e2f9a8b0fa32022bf0a8f39123e5f4e')
+ 'splash-arch.bmp'
+ 'systemd-user.pam'
+ 'systemd-hwdb.hook'
+ 'systemd-sysusers.hook'
+ 'systemd-tmpfiles.hook'
+ 'systemd-update.hook')
+sha512sums=('SKIP'
+ 'SKIP'
+ 'f0d933e8c6064ed830dec54049b0a01e27be87203208f6ae982f10fb4eddc7258cb2919d594cbfb9a33e74c3510cfd682f3416ba8e804387ab87d1a217eb4b73'
+ '86d7cacd7536b1069c82bbbb08de7ec81e7f0f18a19fc2b06fabe90db4700623eb3540b75121080d325672d92e26912632ae4f93fd3c0bb48eb3e5eedd88352c'
+ 'a25b28af2e8c516c3a2eec4e64b8c7f70c21f974af4a955a4a9d45fd3e3ff0d2a98b4419fe425d47152d5acae77d64e69d8d014a7209524b75a81b0edb10bf3a'
+ '61032d29241b74a0f28446f8cf1be0e8ec46d0847a61dadb2a4f096e8686d5f57fe5c72bcf386003f6520bc4b5856c32d63bf3efe7eb0bc0deefc9f68159e648'
+ 'c416e2121df83067376bcaacb58c05b01990f4614ad9de657d74b6da3efa441af251d13bf21e3f0f71ddcb4c9ea658b81da3d915667dc5c309c87ec32a1cb5a5'
+ '5a1d78b5170da5abe3d18fdf9f2c3a4d78f15ba7d1ee9ec2708c4c9c2e28973469bc19386f70b3cf32ffafbe4fcc4303e5ebbd6d5187a1df3314ae0965b25e75'
+ 'b90c99d768dc2a4f020ba854edf45ccf1b86a09d2f66e475de21fe589ff7e32c33ef4aa0876d7f1864491488fd7edb2682fc0d68e83a6d4890a0778dc2d6fe19'
+ '2c1f765e7cefc50f07ad994634ea25d9396e6b9c0de46e58f18377e642a471517a0dbf5eb547070a38c6ecf84ec8e030f650a6cee010871cd7a466a32534adda'
+ '7d49a948f5d58f662a7d81544254528257ef8c0a08ca560834f09a7cdf566161d2df4d419ebbc2983196cd45c9eeefcd0c4c2c554376916dce42e895262afc30'
+ 'e521d92674597f82d589b83c378c50c92c881fdb84c436c8b26f7a3436a4c91a20585824a5563933f6868a3023b9ee2fdc7bd58e04bb47c25a0a36e296308fd3'
+ '10190fba9f39a8f4b620a0829e0ba8ed63bb4dbeca712966011ee7807880d01ab2abff1a80baafeb6674db70526a473fe585db8190e864f318fc4d6068552618')
+
+_backports=(
+)
+
+_reverts=(
+)
+
+_validate_tag() {
+ local success fingerprint trusted status tag=v${pkgver%.*}
+
+ parse_gpg_statusfile /dev/stdin < <(git verify-tag --raw "$tag" 2>&1)
+
+ if (( ! success )); then
+ error 'failed to validate tag %s\n' "$tag"
+ return 1
+ fi
+
+ if ! in_array "$fingerprint" "${validpgpkeys[@]}" && (( ! trusted )); then
+ error 'unknown or untrusted public key: %s\n' "$fingerprint"
+ return 1
+ fi
+
+ case $status in
+ 'expired')
+ warning 'the signature has expired'
+ ;;
+ 'expiredkey')
+ warning 'the key has expired'
+ ;;
+ esac
+
+ return 0
+}
+
+pkgver() {
+ local version count
+
+ cd "$pkgbase-stable"
+
+ version="$(git describe --abbrev=0 --tags)"
+ count="$(git rev-list --count ${version}..)"
+ printf '%s.%s' "${version#v}" "${count}"
+}
prepare() {
- cd "$pkgname"
+ cd "$pkgbase-stable"
+
+ git remote add upstream ../systemd/
+ git fetch --all
+
+ git checkout "${_commit}"
- # networkd: fix neworkd crash
- # https://github.com/systemd/systemd/commit/49f6e11e89b4
- git cherry-pick -n 49f6e11e89b4
+ _validate_tag || return
- ./autogen.sh
+ local _commit
+ for _commit in "${_backports[@]}"; do
+ git cherry-pick -n "$_commit"
+ done
+ for _commit in "${_reverts[@]}"; do
+ git revert -n "$_commit"
+ done
}
build() {
- cd "$pkgname"
-
local timeservers=({0..3}.arch.pool.ntp.org)
- ./configure \
- --libexecdir=/usr/lib \
- --localstatedir=/var \
- --sysconfdir=/etc \
- --enable-lz4 \
- --enable-compat-libs \
- --enable-gnuefi \
- --disable-audit \
- --disable-ima \
- --disable-kdbus \
- --with-sysvinit-path= \
- --with-sysvrcnd-path= \
- --with-ntp-servers="${timeservers[*]}"
-
- make
+ local meson_options=(
+ -Daudit=false
+ -Dgnuefi=true
+ -Dima=false
+ -Dlz4=true
+
+ -Ddbuspolicydir=/usr/share/dbus-1/system.d
+ -Ddefault-dnssec=no
+ # TODO(dreisner): consider changing this to unified
+ -Ddefault-hierarchy=hybrid
+ -Ddefault-kill-user-processes=false
+ -Dfallback-hostname='archlinux'
+ -Dntp-servers="${timeservers[*]}"
+ -Drpmmacrosdir=no
+ -Dsysvinit-path=
+ -Dsysvrcnd-path=
+ )
+
+ arch-meson "$pkgbase-stable" build "${meson_options[@]}"
+
+ ninja -C build
}
package_systemd() {
pkgdesc="system and service manager"
license=('GPL2' 'LGPL2.1')
- depends=('acl' 'bash' 'dbus' 'iptables' 'kbd' 'kmod' 'hwids' 'libcap'
- 'libgcrypt' 'libsystemd' 'libidn' 'lz4' 'pam' 'libseccomp' 'util-linux'
- 'xz')
+ groups=('base-devel')
+ depends=('acl' 'bash' 'cryptsetup' 'dbus' 'iptables' 'kbd' 'kmod' 'hwids' 'libcap'
+ 'libgcrypt' 'libsystemd' 'libidn' 'lz4' 'pam' 'libelf' 'libseccomp'
+ 'util-linux' 'xz' 'pcre2')
provides=('nss-myhostname' "systemd-tools=$pkgver" "udev=$pkgver")
replaces=('nss-myhostname' 'systemd-tools' 'udev')
conflicts=('nss-myhostname' 'systemd-tools' 'udev')
- optdepends=('cryptsetup: required for encrypted block devices'
- 'libmicrohttpd: remote journald capabilities'
+ optdepends=('libmicrohttpd: remote journald capabilities'
'quota-tools: kernel-level quota management'
'systemd-sysvcompat: symlink package to provide sysvinit binaries'
'polkit: allow administration as unprivileged user')
- backup=(etc/dbus-1/system.d/org.freedesktop.systemd1.conf
- etc/dbus-1/system.d/org.freedesktop.hostname1.conf
- etc/dbus-1/system.d/org.freedesktop.login1.conf
- etc/dbus-1/system.d/org.freedesktop.locale1.conf
- etc/dbus-1/system.d/org.freedesktop.machine1.conf
- etc/dbus-1/system.d/org.freedesktop.timedate1.conf
- etc/dbus-1/system.d/org.freedesktop.import1.conf
- etc/dbus-1/system.d/org.freedesktop.network1.conf
- etc/pam.d/systemd-user
- etc/systemd/bootchart.conf
+ backup=(etc/pam.d/systemd-user
etc/systemd/coredump.conf
etc/systemd/journald.conf
etc/systemd/journal-remote.conf
@@ -95,17 +163,15 @@ package_systemd() {
etc/udev/udev.conf)
install="systemd.install"
- make -C "$pkgname" DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" ninja -C build install
# don't write units to /etc by default. some of these will be re-enabled on
# post_install.
rm -r "$pkgdir/etc/systemd/system/"*.wants
-
- # get rid of RPM macros
- rm -r "$pkgdir/usr/lib/rpm"
+ rm -r "$pkgdir/etc/systemd/system/"*.service
# add back tmpfiles.d/legacy.conf
- install -m644 "$pkgname/tmpfiles.d/legacy.conf" "$pkgdir/usr/lib/tmpfiles.d"
+ install -m644 "$pkgbase-stable/tmpfiles.d/legacy.conf" "$pkgdir/usr/lib/tmpfiles.d"
# Replace dialout/tape/cdrom group in rules with uucp/storage/optical group
sed -i 's#GROUP="dialout"#GROUP="uucp"#g;
@@ -120,45 +186,62 @@ package_systemd() {
install -Dm644 "$srcdir/initcpio-install-udev" "$pkgdir/usr/lib/initcpio/install/udev"
install -Dm644 "$srcdir/initcpio-hook-udev" "$pkgdir/usr/lib/initcpio/hooks/udev"
- # ensure proper permissions for /var/log/journal. This is only to placate
+ # ensure proper permissions for /var/log/journal
+ # The permissions are stored with named group by tar, so this works with
+ # users and groups populated by systemd-sysusers. This is only to prevent a
+ # warning from pacman as permissions are set by systemd-tmpfiles anyway.
chown root:systemd-journal "$pkgdir/var/log/journal"
chmod 2755 "$pkgdir/var/log/journal"
- # we'll create this on installation
- #rmdir "$pkgdir/var/log/journal/remote"
+ # match directory owner/group and mode from extra/polkit
+ chown root:102 "$pkgdir"/usr/share/polkit-1/rules.d
+ chmod 0750 "$pkgdir"/usr/share/polkit-1/rules.d
- # fix pam file
- sed 's|system-auth|system-login|g' -i "$pkgdir/etc/pam.d/systemd-user"
+ # we'll create this on installation
+ # rmdir "$pkgdir/var/log/journal/remote"
# ship default policy to leave services disabled
echo 'disable *' >"$pkgdir"/usr/lib/systemd/system-preset/99-default.preset
- ### split out manpages for sysvcompat
- rm -rf "$srcdir/_sysvcompat"
- install -dm755 "$srcdir"/_sysvcompat/usr/share/man/man8/
- mv "$pkgdir"/usr/share/man/man8/{telinit,halt,reboot,poweroff,runlevel,shutdown}.8 \
- "$srcdir"/_sysvcompat/usr/share/man/man8
+ # manpages shipped with systemd-sysvcompat
+ rm "$pkgdir"/usr/share/man/man8/{halt,poweroff,reboot,runlevel,shutdown,telinit}.8
+
+ # executable (symlinks) shipped with systemd-sysvcompat
+ rm "$pkgdir"/usr/bin/{halt,init,poweroff,reboot,runlevel,shutdown,telinit}
+
+ # runtime libraries shipped with libsystemd
+ rm "$pkgdir"/usr/lib/lib{nss,systemd,udev}*.so*
- ### split off runtime libraries
- rm -rf "$srcdir/_libsystemd"
- install -dm755 "$srcdir"/_libsystemd/usr/lib
- cd "$srcdir"/_libsystemd
- mv "$pkgdir"/usr/lib/lib{systemd,udev}*.so* usr/lib
+ # allow core/filesystem to pristine nsswitch.conf
+ rm "$pkgdir/usr/share/factory/etc/nsswitch.conf"
+ sed -i '/^C \/etc\/nsswitch\.conf/d' "$pkgdir/usr/lib/tmpfiles.d/etc.conf"
# add example bootctl configuration
install -Dm644 "$srcdir/arch.conf" "$pkgdir"/usr/share/systemd/bootctl/arch.conf
install -Dm644 "$srcdir/loader.conf" "$pkgdir"/usr/share/systemd/bootctl/loader.conf
install -Dm644 "$srcdir/splash-arch.bmp" "$pkgdir"/usr/share/systemd/bootctl/splash-arch.bmp
+
+ install -Dm644 "$srcdir/systemd-hwdb.hook" "$pkgdir/usr/share/libalpm/hooks/systemd-hwdb.hook"
+ install -Dm644 "$srcdir/systemd-sysusers.hook" "$pkgdir/usr/share/libalpm/hooks/systemd-sysusers.hook"
+ install -Dm644 "$srcdir/systemd-tmpfiles.hook" "$pkgdir/usr/share/libalpm/hooks/systemd-tmpfiles.hook"
+ install -Dm644 "$srcdir/systemd-update.hook" "$pkgdir/usr/share/libalpm/hooks/systemd-update.hook"
+
+ # overwrite the systemd-user PAM configuration with our own
+ install -Dm644 systemd-user.pam "$pkgdir/etc/pam.d/systemd-user"
}
package_libsystemd() {
pkgdesc="systemd client libraries"
- depends=('glibc' 'libgcrypt' 'lz4' 'xz')
+ depends=('glibc' 'libcap' 'libgcrypt' 'lz4' 'xz')
license=('GPL2')
- provides=('libsystemd.so' 'libsystemd-daemon.so' 'libsystemd-id128.so'
- 'libsystemd-journal.so' 'libsystemd-login.so' 'libudev.so')
+ provides=('libsystemd.so' 'libudev.so')
+
+ # meson does not support installing subsets of files, no?
+ # So do a full install to temporary directory, then install what we need.
+ DESTDIR="$srcdir"/full-install ninja -C build install
- mv "$srcdir/_libsystemd"/* "$pkgdir"
+ install -dm755 "$pkgdir"/usr/lib/
+ cp --archive "$srcdir"/full-install/usr/lib/lib{nss_*,systemd,udev}.so* "$pkgdir"/usr/lib/
}
package_systemd-sysvcompat() {
@@ -168,10 +251,13 @@ package_systemd-sysvcompat() {
conflicts=('sysvinit')
depends=('systemd')
- mv "$srcdir/_sysvcompat"/* "$pkgdir"
+ install -dm755 "$pkgdir"/usr/share/man/man8
+ cp -d --no-preserve=ownership,timestamp \
+ build/man/{telinit,halt,reboot,poweroff,runlevel,shutdown}.8 \
+ "$pkgdir"/usr/share/man/man8
install -dm755 "$pkgdir/usr/bin"
- #for tool in runlevel reboot shutdown poweroff halt telinit; do
+ # for tool in runlevel reboot shutdown poweroff halt telinit; do
for tool in runlevel telinit; do
ln -s 'systemctl' "$pkgdir/usr/bin/$tool"
done
diff --git a/abs/core/systemd/__changelog b/abs/core/systemd/__changelog
index 841eee3..591fa91 100644
--- a/abs/core/systemd/__changelog
+++ b/abs/core/systemd/__changelog
@@ -1,4 +1,3 @@
-PKGBUILD: change dep python-lxml to python2-lxml
PKGBUILD: comment out rmdir "$pkgdir/var/log/journal/remote"
PKGBUILD: Change for tool in runlevel reboot shutdown poweroff halt telinit; do
to for tool in runlevel telinit; do
diff --git a/abs/core/systemd/initcpio-install-systemd b/abs/core/systemd/initcpio-install-systemd
index 96df98a..40a352c 100644
--- a/abs/core/systemd/initcpio-install-systemd
+++ b/abs/core/systemd/initcpio-install-systemd
@@ -93,6 +93,13 @@ add_systemd_unit() {
fi
}
+add_systemd_drop_in() {
+ local unit=$1 dropin_name=$2
+
+ mkdir -p "$BUILDROOT/etc/systemd/system/$unit.d"
+ cat >"$BUILDROOT/etc/systemd/system/$unit.d/$2.conf"
+}
+
build() {
local rules unit
@@ -100,16 +107,16 @@ build() {
add_binary /bin/mount
add_binary /usr/bin/kmod /usr/bin/modprobe
add_binary /usr/lib/systemd/systemd /init
+ add_binary /usr/bin/sulogin
map add_binary \
/usr/bin/systemd-tmpfiles \
/usr/lib/systemd/systemd-hibernate-resume \
+ /usr/lib/systemd/systemd-sulogin-shell \
/usr/lib/systemd/system-generators/systemd-fstab-generator \
/usr/lib/systemd/system-generators/systemd-gpt-auto-generator \
/usr/lib/systemd/system-generators/systemd-hibernate-resume-generator
- add_module "kdbus?"
-
# udev rules and systemd units
map add_udev_rule "$rules" \
50-udev-default.rules \
@@ -123,6 +130,7 @@ build() {
initrd-fs.target \
initrd-parse-etc.service \
initrd-root-fs.target \
+ initrd-root-device.target \
initrd-switch-root.service \
initrd-switch-root.target \
initrd-udevadm-cleanup-db.service \
@@ -140,27 +148,47 @@ build() {
systemd-journald.service \
systemd-journald-audit.socket \
systemd-journald-dev-log.socket \
+ systemd-modules-load.service \
systemd-tmpfiles-setup-dev.service \
systemd-udev-trigger.service \
systemd-udevd-control.socket \
systemd-udevd-kernel.socket \
systemd-udevd.service \
- timers.target
+ timers.target \
+ rescue.target \
+ emergency.target
add_symlink "/usr/lib/systemd/system/default.target" "initrd.target"
add_symlink "/usr/lib/systemd/system/ctrl-alt-del.target" "reboot.target"
- # udev wants /etc/group since it doesn't launch with --resolve-names=never
- add_file "/etc/nsswitch.conf"
add_binary "$(readlink -f /usr/lib/libnss_files.so)"
- add_file "/etc/passwd"
- add_file "/etc/group"
+ printf '%s\n' >"$BUILDROOT/etc/nsswitch.conf" \
+ 'passwd: files' \
+ 'group: files' \
+ 'shadow: files'
+
+ echo "root:x:0:0:root:/:/bin/sh" >"$BUILDROOT/etc/passwd"
+ echo "root:x:0:root" >"$BUILDROOT/etc/group"
+ echo "root::::::::" >"$BUILDROOT/etc/shadow"
+
+ add_systemd_drop_in systemd-udevd.service resolve-names <<EOF
+[Service]
+ExecStart=
+ExecStart=/usr/lib/systemd/systemd-udevd --resolve-names=never
+EOF
+
+ add_dir "/etc/modules-load.d"
+ (
+ . "$_f_config"
+ set -f
+ printf '%s\n' ${MODULES[@]} >"$BUILDROOT/etc/modules-load.d/MODULES.conf"
+ )
}
help() {
cat <<HELPEOF
This will install a basic systemd setup in your initramfs, and is meant to
-replace the 'base', 'usr', 'udev' and 'timestamp' hooks. Other hooks with runtime
+replace the 'base', 'usr', 'udev' and 'resume' hooks. Other hooks with runtime
components will need to be ported, and will not work as intended. You also may
wish to still include the 'base' hook (before this hook) to ensure that a
rescue shell exists on your initramfs.
diff --git a/abs/core/systemd/initcpio-install-udev b/abs/core/systemd/initcpio-install-udev
index 7f0301a..31d9827 100644
--- a/abs/core/systemd/initcpio-install-udev
+++ b/abs/core/systemd/initcpio-install-udev
@@ -19,9 +19,10 @@ build() {
help() {
cat <<HELPEOF
-This hook will use udev to create your root device node and detect the needed
-modules for your root device. It is also required for firmware loading in
-initramfs. It is recommended to use this hook.
+This hook adds the udev daemon to the initramfs, allowing for dynamic loading
+of modules and reliable detection of the root device via tags (e.g. UUID or
+LABEL). Do not remove this hook unless you are using the systemd hook, or you
+know what you're doing.
HELPEOF
}
diff --git a/abs/core/systemd/systemd-hwdb.hook b/abs/core/systemd/systemd-hwdb.hook
new file mode 100644
index 0000000..d7c9877
--- /dev/null
+++ b/abs/core/systemd/systemd-hwdb.hook
@@ -0,0 +1,11 @@
+[Trigger]
+Type = File
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = usr/lib/udev/hwdb.d/*
+
+[Action]
+Description = Updating udev hardware database...
+When = PostTransaction
+Exec = /usr/bin/systemd-hwdb --usr update
diff --git a/abs/core/systemd/systemd-sysusers.hook b/abs/core/systemd/systemd-sysusers.hook
new file mode 100644
index 0000000..6b8affa
--- /dev/null
+++ b/abs/core/systemd/systemd-sysusers.hook
@@ -0,0 +1,11 @@
+[Trigger]
+Type = File
+Operation = Install
+Operation = Upgrade
+Target = usr/lib/sysusers.d/*.conf
+
+[Action]
+Description = Updating system user accounts...
+When = PostTransaction
+Exec = /bin/sh -c 'while read -r f; do /usr/bin/systemd-sysusers "$(basename "$f")" ; done'
+NeedsTargets
diff --git a/abs/core/systemd/systemd-tmpfiles.hook b/abs/core/systemd/systemd-tmpfiles.hook
new file mode 100644
index 0000000..18cdd91
--- /dev/null
+++ b/abs/core/systemd/systemd-tmpfiles.hook
@@ -0,0 +1,11 @@
+[Trigger]
+Type = File
+Operation = Install
+Operation = Upgrade
+Target = usr/lib/tmpfiles.d/*.conf
+
+[Action]
+Description = Creating temporary files...
+When = PostTransaction
+Exec = /bin/sh -c 'while read -r f; do /usr/bin/systemd-tmpfiles --create "$(basename "$f")"; done'
+NeedsTargets
diff --git a/abs/core/systemd/systemd-update.hook b/abs/core/systemd/systemd-update.hook
new file mode 100644
index 0000000..3697fbd
--- /dev/null
+++ b/abs/core/systemd/systemd-update.hook
@@ -0,0 +1,11 @@
+[Trigger]
+Type = File
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = usr/
+
+[Action]
+Description = Arming ConditionNeedsUpdate...
+When = PostTransaction
+Exec = /usr/bin/touch -c /usr
diff --git a/abs/core/systemd/systemd-user.pam b/abs/core/systemd/systemd-user.pam
new file mode 100644
index 0000000..83f7626
--- /dev/null
+++ b/abs/core/systemd/systemd-user.pam
@@ -0,0 +1,5 @@
+# Used by systemd --user instances.
+
+account include system-login
+session required pam_loginuid.so
+session include system-login
diff --git a/abs/core/systemd/systemd.install b/abs/core/systemd/systemd.install
index b0a3e1f..fedc747 100644
--- a/abs/core/systemd/systemd.install
+++ b/abs/core/systemd/systemd.install
@@ -4,143 +4,17 @@ sd_booted() {
[[ -d run/systemd/system && ! -L run/systemd/system ]]
}
-add_privs() {
- if ! setcap "$2" "$1" 2>/dev/null; then
- echo "==> Warning: setcap failed, falling back to setuid root on /$1"
- chmod u+s "$1"
- fi
-}
-
add_journal_acls() {
# ignore errors, since the filesystem might not support ACLs
setfacl -Rnm g:wheel:rx,d:g:wheel:rx,g:adm:rx,d:g:adm:rx var/log/journal/ 2>/dev/null
:
}
-maybe_reexec() {
- # don't reexec on 209-1 upgrade due to large infrastructural changes.
- if [[ $(vercmp 209-1 "$2") -eq 1 ]]; then
- echo ':: systemd has not been reexecuted. It is recommended that you'
- echo ' reboot at your earliest convenience.'
- return
- fi
-
- if sd_booted; then
- systemctl --system daemon-reexec
- fi
-}
-
-_dir_empty() {
- set -- "$1"/*
- [[ ! -e $1 && ! -L $1 ]]
-}
-
post_common() {
systemd-sysusers
- udevadm hwdb --update
journalctl --update-catalog
}
-_204_1_changes() {
- printf '==> The /bin/systemd symlink has been removed. Any references in your\n'
- printf ' bootloader (or elsewhere) must be updated to /usr/lib/systemd/systemd.\n'
-}
-
-_205_1_changes() {
- printf '==> systemd 205 restructures the cgroup hierarchy and changes internal\n'
- printf ' protocols. You should reboot at your earliest convenience.\n'
-}
-
-_206_1_changes() {
- printf '==> The "timestamp" hook for mkinitcpio no longer exists. If you used\n'
- printf ' this hook, you must remove it from /etc/mkinitcpio.conf. A "systemd"\n'
- printf ' hook has been added which provides this functionality, and more.\n'
-}
-
-_208_1_changes() {
- if [[ -e var/lib/backlight && ! -e var/lib/systemd/backlight ]]; then
- mv -T var/lib/backlight var/lib/systemd/backlight
- fi
-
- if [[ -e var/lib/random-seed && ! -e var/lib/systemd/random-seed ]]; then
- mv -T var/lib/random-seed var/lib/systemd/random-seed
- fi
-}
-
-_208_8_changes() {
- add_journal_acls
-}
-
-_209_1_changes() {
- # attempt to preserve existing behavior
-
- local old_rule=etc/udev/rules.d/80-net-name-slot.rules
- local new_rule=etc/udev/rules.d/80-net-setup-link.rules
-
- echo ":: Network device naming is now controlled by udev's net_setup_link"
- echo " builtin. Refer to the systemd.link manpage for a full description."
-
- # not clear what action we can take here, so don't do anything
- [[ -e $new_rule ]] && return 0
-
- # rename the old rule to the new one so that we preserve the user's
- # existing option.
- if [[ -e $old_rule ]]; then
- printf ':: Renaming %s to %s in order\n' "${old_rule##*/}" "${new_rule##*/}"
- printf ' to preserve existing network naming behavior.\n'
- mv -v "$old_rule" "$new_rule"
- else
- echo ':: No changes have been made to your network naming configuration.'
- echo ' Interfaces should continue to maintain the same names.'
- fi
-}
-
-_210_1_changes() {
- if sd_booted; then
- # If /etc/systemd/network is non-empty, then this is a 209 user who used
- # networkd. Re-enable it for them.
- if ! _dir_empty etc/systemd/network; then
- systemctl enable systemd-networkd
- fi
- fi
-}
-
-_213_4_changes() {
- if sd_booted; then
- # if /etc/resolv.conf is a symlink, just assume that it was being managed
- # by systemd-networkd, and re-enable systemd-resolved.
- if [[ -L etc/resolv.conf ]]; then
- systemctl enable systemd-resolved
- fi
- fi
-}
-
-_214_2_changes() {
- # /run/systemd/network/resolv.conf -> /run/systemd/resolve/resolv.conf
- if [[ etc/resolv.conf -ef run/systemd/network/resolv.conf ]]; then
- ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
-
- if sd_booted; then
- if [[ ! -d run/systemd/resolve ]]; then
- mkdir run/systemd/resolve
- fi
-
- if [[ -f run/systemd/network/resolv.conf ]]; then
- mv run/systemd/{network,resolve}/resolv.conf
- fi
- fi
- fi
-
- echo ':: coredumps are no longer sent to the journal by default. To re-enable:'
- echo ' echo >/etc/sysctl.d/50-coredump.conf \'
- echo ' "kernel.core_pattern=|/usr/lib/systemd/systemd-coredump %p %u %g %s %t %e"'
-}
-
-_215_2_changes() {
- # create at least the symlink from /etc/os-release to /usr/lib/os-release
- systemd-tmpfiles --create etc.conf
-}
-
_216_2_changes() {
echo ':: Coredumps are handled by systemd by default. Collection behavior can be'
echo ' tuned in /etc/systemd/coredump.conf.'
@@ -158,6 +32,27 @@ _219_4_changes() {
fi
}
+_230_1_changes() {
+ echo ':: systemd-bootchart is no longer included with systemd'
+}
+
+_232_8_changes() {
+ # paper over possible effects of CVE-2016-10156
+ local stamps=(/var/lib/systemd/timers/*.timer)
+
+ if [[ -f ${stamps[0]} ]]; then
+ chmod 0644 "${stamps[@]}"
+ fi
+}
+
+_233_75_3_changes() {
+ # upstream installs services to /etc, which we remove
+ # to keep bus activation we re-enable systemd-resolved
+ if systemctl is-enabled -q systemd-resolved.service; then
+ systemctl reenable systemd-resolved.service 2>/dev/null
+ fi
+}
+
post_install() {
systemd-machine-id-setup
@@ -179,25 +74,24 @@ post_install() {
post_upgrade() {
post_common "$@"
- maybe_reexec "$@"
-
- local v upgrades=(204-1
- 205-1
- 206-1
- 208-1
- 208-8
- 209-1
- 210-1
- 213-4
- 214-2
- 215-2
- 216-2
- 219-2
- 219-4)
+ # don't reexec if the old version is 231-1 or 231-2.
+ # https://github.com/systemd/systemd/commit/bd64d82c1c
+ if [[ $1 != 231-[12] ]] && sd_booted; then
+ systemctl --system daemon-reexec
+ fi
+
+ local v upgrades=(
+ 216-2
+ 219-2
+ 219-4
+ 230-1
+ 232-8
+ 233.75-3
+ )
for v in "${upgrades[@]}"; do
if [[ $(vercmp "$v" "$2") -eq 1 ]]; then
- "_${v//-/_}_changes"
+ "_${v//[.-]/_}_changes"
fi
done
}
diff --git a/abs/core/talloc/PKGBUILD b/abs/core/talloc/PKGBUILD
index 15dfc1b..c477aba 100644
--- a/abs/core/talloc/PKGBUILD
+++ b/abs/core/talloc/PKGBUILD
@@ -3,10 +3,10 @@
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
pkgname=talloc
-pkgver=2.1.5
+pkgver=2.1.11
pkgrel=1
pkgdesc="Hierarchical pool based memory allocator with destructors"
-arch=('i686' 'x86_64')
+arch=('x86_64')
license=('GPL3')
url="http://talloc.samba.org/"
depends=('glibc')
@@ -14,9 +14,9 @@ makedepends=('python2' 'docbook-xsl')
optdepends=('python2: for python bindings')
source=(http://samba.org/ftp/${pkgname}/${pkgname}-${pkgver}.tar.{gz,asc}
fix_test_path.patch)
-sha1sums=('bdf3b3d8449e2c354f1ebc43d3e1058160eb4adb'
+sha1sums=('01b57d8f72ec85f4f2a7be9a5176dfbb3461808c'
'SKIP'
- '34132be289f9ce1c38c8b367def8d91ac7dbb706')
+ '6117e3dffb24bf03d54325c13b7db3b8a7eb2850')
validpgpkeys=(9147A339719518EE9011BCB54793916113084025) # samba-bugs@samba.org
prepare() {
diff --git a/abs/core/talloc/fix_test_path.patch b/abs/core/talloc/fix_test_path.patch
index 37ed604..2405ec8 100644
--- a/abs/core/talloc/fix_test_path.patch
+++ b/abs/core/talloc/fix_test_path.patch
@@ -2,12 +2,12 @@ diff --git a/wscript b/wscript
index 9cedbbf..4432a9a 100644
--- a/wscript
+++ b/wscript
-@@ -158,7 +158,7 @@ def test(ctx):
- cmd = os.path.join(Utils.g_module.blddir, 'talloc_testsuite')
+@@ -159,7 +159,7 @@ def test(ctx):
ret = samba_utils.RUN_COMMAND(cmd)
print("testsuite returned %d" % ret)
+ magic_helper_cmd = os.path.join(Utils.g_module.blddir, 'talloc_test_magic_differs_helper')
- magic_cmd = os.path.join(srcdir, 'lib', 'talloc',
+ magic_cmd = os.path.join(srcdir,
'test_magic_differs.sh')
- magic_ret = samba_utils.RUN_COMMAND(magic_cmd)
+ magic_ret = samba_utils.RUN_COMMAND(magic_cmd + " " + magic_helper_cmd)
diff --git a/abs/core/tar/PKGBUILD b/abs/core/tar/PKGBUILD
index 2fa4afb..182de16 100644
--- a/abs/core/tar/PKGBUILD
+++ b/abs/core/tar/PKGBUILD
@@ -1,35 +1,51 @@
-# $Id: PKGBUILD 199999 2013-11-21 01:21:02Z allan $
-# Maintainer: Allan McRae <allan@archlinux.org>
+# $Id$
+# Mainainer: Sébastien "Seblu" Luttringer <seblu@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Andreas Radke <andyrtr@archlinux.org>
pkgname=tar
-pkgver=1.27.1
+pkgver=1.30
pkgrel=1
-pkgdesc="Utility used to store, backup, and transport files"
-arch=('i686' 'x86_64')
-url="http://www.gnu.org/software/tar/tar.html"
+pkgdesc='Utility used to store, backup, and transport files'
+arch=('x86_64')
+url='https://www.gnu.org/software/tar/'
license=('GPL3')
groups=('base')
-depends=('glibc' 'sh')
+depends=('glibc' 'acl' 'attr')
options=('!emptydirs')
-install=tar.install
-source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz{,.sig})
+validpgpkeys=('325F650C4C2B6AD58807327A3602B07F55D0C732') # Sergey Poznyakoff
+source=("https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig})
+md5sums=('2d01c6cd1387be98f57a0ec4e6e35826'
+ 'SKIP')
+
+prepare() {
+ cd $pkgname-$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 ${srcdir}/$pkgname-$pkgver
-export FORCE_UNSAFE_CONFIGURE=1
+ cd $pkgname-$pkgver
+ export FORCE_UNSAFE_CONFIGURE=1
./configure --prefix=/usr --libexecdir=/usr/lib/tar
make
}
-3check() {
- cd ${srcdir}/$pkgname-$pkgver
+check() {
+ cd $pkgname-$pkgver
make check
}
-
+
package() {
- cd ${srcdir}/$pkgname-$pkgver
- make DESTDIR=${pkgdir} install
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
}
-md5sums=('e0382a4064e09a4943f3adeff1435978'
- 'SKIP')
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/tar/tar.install b/abs/core/tar/tar.install
deleted file mode 100644
index 8de1f97..0000000
--- a/abs/core/tar/tar.install
+++ /dev/null
@@ -1,21 +0,0 @@
-infodir=usr/share/info
-filelist=(tar.info tar.info-1 tar.info-2)
-
-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/core/tdb/PKGBUILD b/abs/core/tdb/PKGBUILD
index 25683dc..ff138c0 100644
--- a/abs/core/tdb/PKGBUILD
+++ b/abs/core/tdb/PKGBUILD
@@ -4,10 +4,10 @@
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=tdb
-pkgver=1.3.8
+pkgver=1.3.15
pkgrel=1
pkgdesc="A Trivial Database similar to GDBM but allows simultaneous commits"
-arch=(i686 x86_64)
+arch=(x86_64)
license=('GPL3')
url="http://tdb.samba.org/"
makedepends=('python2' 'libxslt' 'docbook-xsl')
@@ -34,5 +34,5 @@ package() {
export PYTHON=/usr/bin/python2
make DESTDIR=$pkgdir/ install
}
-md5sums=('fa4c9e2f59fcf41441285bca5f5ab481'
+md5sums=('60ece3996acc8d85b6f713199da971a6'
'SKIP')
diff --git a/abs/core/texinfo/PKGBUILD b/abs/core/texinfo/PKGBUILD
index 22ef3c6..60ed982 100644
--- a/abs/core/texinfo/PKGBUILD
+++ b/abs/core/texinfo/PKGBUILD
@@ -1,34 +1,39 @@
-# $Id: PKGBUILD 145004 2011-12-13 23:40:32Z allan $
-# Maintainer: Allan McRae <allan@archlinux.org>
+# $Id$
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=texinfo
-pkgver=4.13a
-pkgrel=7
-pkgdesc="Utilities to work with and produce manuals, ASCII text, and on-line documentation from a single source file"
-arch=('i686' 'x86_64')
-url="http://www.gnu.org/software/texinfo/"
-license=('GPL3')
-groups=('base')
-depends=('ncurses' 'findutils' 'gzip')
-install=texinfo.install
-source=(ftp://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.sig}
- texinfo-4.13a-data_types.patch)
-md5sums=('71ba711519209b5fb583fed2b3d86fcb'
- 'db2ca82c831684cd7cef181234017c46'
- 'd8574782ff7def1e2dc5c291dbeaec18')
+pkgver=6.5
+pkgrel=1
+pkgdesc='GNU documentation system for on-line information and printed output'
+arch=(x86_64)
+url='http://www.gnu.org/software/texinfo/'
+license=(GPL3)
+groups=(base base-devel)
+depends=(ncurses gzip perl sh)
+source=(https://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}
+ texinfo-install.hook
+ texinfo-remove.hook)
+md5sums=('3715197e62e0e07f85860b3d7aab55ed'
+ 'SKIP'
+ '9a98fb162650ff3065f9a4ebec22db36'
+ '5590fb3ef9ec309c98f5a4d85eca49da')
+validpgpkeys=('EAF669B31E31E1DECBD11513DDBC579DAB37FBA9') # Gavin Smith
build() {
- cd ${srcdir}/${pkgname}-4.13
- patch -Np1 -i $srcdir/texinfo-4.13a-data_types.patch
+ cd $pkgname-$pkgver
./configure --prefix=/usr
make
}
+check() {
+ make -C $pkgname-$pkgver check
+}
+
package() {
- cd ${srcdir}/${pkgname}-4.13
- make DESTDIR=${pkgdir} install
+ make -C $pkgname-$pkgver DESTDIR="$pkgdir" install
- # fix this here as it prevents make from trying to rebuild manual pages
- sed -i 's#A-z#A-Za-z#' ${pkgdir}/usr/bin/texi2dvi
+ install -dm755 "$pkgdir"/usr/share/libalpm/hooks/
+ install -m644 texinfo-{install,remove}.hook "$pkgdir"/usr/share/libalpm/hooks/
}
diff --git a/abs/core/texinfo/texinfo-4.13a-data_types.patch b/abs/core/texinfo/texinfo-4.13a-data_types.patch
deleted file mode 100644
index 2a87c21..0000000
--- a/abs/core/texinfo/texinfo-4.13a-data_types.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff -up texinfo-4.13/info/window.c_old texinfo-4.13/info/window.c
---- texinfo-4.13/info/window.c_old 2009-08-04 13:46:15.000000000 +0200
-+++ texinfo-4.13/info/window.c 2009-08-04 13:47:29.000000000 +0200
-@@ -1581,7 +1581,7 @@ process_node_text (WINDOW *win, char *st
- const char *carried_over_ptr;
- size_t carried_over_len, carried_over_count;
- const char *cur_ptr = mbi_cur_ptr (iter);
-- int cur_len = mb_len (mbi_cur (iter));
-+ size_t cur_len = mb_len (mbi_cur (iter));
- int replen;
- int delim = 0;
- int rc;
-@@ -1754,7 +1754,7 @@ clean_manpage (char *manpage)
- mbi_advance (iter))
- {
- const char *cur_ptr = mbi_cur_ptr (iter);
-- int cur_len = mb_len (mbi_cur (iter));
-+ size_t cur_len = mb_len (mbi_cur (iter));
-
- if (cur_len == 1)
- {
-@@ -1852,8 +1852,8 @@ window_scan_line (WINDOW *win, int line,
- mbi_advance (iter))
- {
- const char *cur_ptr = mbi_cur_ptr (iter);
-- int cur_len = mb_len (mbi_cur (iter));
-- int replen;
-+ size_t cur_len = mb_len (mbi_cur (iter));
-+ size_t replen;
-
- if (cur_ptr >= endp)
- break;
diff --git a/abs/core/texinfo/texinfo-install.hook b/abs/core/texinfo/texinfo-install.hook
new file mode 100644
index 0000000..80f7896
--- /dev/null
+++ b/abs/core/texinfo/texinfo-install.hook
@@ -0,0 +1,11 @@
+[Trigger]
+Type = File
+Operation = Install
+Operation = Upgrade
+Target = usr/share/info/*
+
+[Action]
+Description = Updating the info directory file...
+When = PostTransaction
+Exec = /bin/sh -c 'while read -r f; do install-info "$f" /usr/share/info/dir 2> /dev/null; done'
+NeedsTargets
diff --git a/abs/core/texinfo/texinfo-remove.hook b/abs/core/texinfo/texinfo-remove.hook
new file mode 100644
index 0000000..e57e666
--- /dev/null
+++ b/abs/core/texinfo/texinfo-remove.hook
@@ -0,0 +1,10 @@
+[Trigger]
+Type = File
+Operation = Remove
+Target = usr/share/info/*
+
+[Action]
+Description = Removing old entries from the info directory file...
+When = PreTransaction
+Exec = /bin/sh -c 'while read -r f; do install-info --delete "$f" /usr/share/info/dir 2> /dev/null; done'
+NeedsTargets
diff --git a/abs/core/texinfo/texinfo.install b/abs/core/texinfo/texinfo.install
deleted file mode 100644
index f1554e4..0000000
--- a/abs/core/texinfo/texinfo.install
+++ /dev/null
@@ -1,21 +0,0 @@
-infodir=usr/share/info
-filelist=(info.info info-stnd.info texinfo texinfo-1 texinfo-2 texinfo-3)
-
-post_install() {
- # Scan *all* info files on install
- for file in $(find $infodir -type f ! -name dir); do
- install-info $file $infodir/dir 2> /dev/null
- done
-}
-
-post_upgrade() {
- for file in ${filelist[@]}; do
- install-info $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
-pre_remove() {
- for file in ${filelist[@]}; do
- install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
diff --git a/abs/core/util-linux/0001-chrt-default-to-SCHED_RR-policy.patch b/abs/core/util-linux/0001-chrt-default-to-SCHED_RR-policy.patch
deleted file mode 100644
index c442149..0000000
--- a/abs/core/util-linux/0001-chrt-default-to-SCHED_RR-policy.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From c7adc2f204f19167f781fa2ee739e0ca386fc4f5 Mon Sep 17 00:00:00 2001
-From: Andreas Henriksson <andreas@fatal.se>
-Date: Fri, 2 Dec 2016 15:10:18 +0100
-Subject: [PATCH] chrt: default to SCHED_RR policy
-
-This fixes a regression introduced in:
-
-commit 7a4ea5664edba98bff28adec3a9c3cfb5763a495
-"chrt: add control struct"
-
-Previously (and as documented in the manpage) the default policy
-was SCHED_RR. Now it's implicitly SCHED_OTHER (0) as the value
-is not initialized explicitly anymore.
-
-Test-command: chrt 90 echo hello
-
-Reported-by: Patrick Pelissier <patrick.pelissier@gmail.com>
-Addresses: http://bugs.debian.org/846572
-Signed-off-by: Andreas Henriksson <andreas@fatal.se>
----
- schedutils/chrt.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/schedutils/chrt.c b/schedutils/chrt.c
-index a861d9f..73d1ffa 100644
---- a/schedutils/chrt.c
-+++ b/schedutils/chrt.c
-@@ -409,7 +409,7 @@ static void set_sched(struct chrt_ctl *ctl)
-
- int main(int argc, char **argv)
- {
-- struct chrt_ctl _ctl = { .pid = -1 }, *ctl = &_ctl;
-+ struct chrt_ctl _ctl = { .pid = -1, .policy = SCHED_RR }, *ctl = &_ctl;
- int c;
-
- static const struct option longopts[] = {
---
-2.10.2
-
diff --git a/abs/core/util-linux/0001-lsns-Fix-parser-for-proc-pid-stat-which-is-including.patch b/abs/core/util-linux/0001-lsns-Fix-parser-for-proc-pid-stat-which-is-including.patch
deleted file mode 100644
index b13f189..0000000
--- a/abs/core/util-linux/0001-lsns-Fix-parser-for-proc-pid-stat-which-is-including.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 3fcbd7978980dc1a29c626b701333e27599e506d Mon Sep 17 00:00:00 2001
-From: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
-Date: Wed, 23 Nov 2016 14:13:34 +0900
-Subject: [PATCH] lsns: Fix parser for /proc/<pid>/stat which is including
- space in comm
-
-For example, child process of spamd has
-
- 32031 (spamd child) S 32026 32026 32026 0 -1 4210752 338 0 0 0 ...
-
-fscanf("%d %*s %c %d*[^\n]") in read_process() can't parse above as we
-expected, because %s only skips non-whitespace. I.e. it parses like
-following,
-
- 32031 (spamd child) S 32026 32026 32026 0 -1 4210752 338 0 0 0 ...
- +---+ +----+ +
- %d %*s %c
-
-and returns 2 (pid=32031, state=c).
-
-This fixes it by skipping task->comm part manually.
-
-Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
----
- sys-utils/lsns.c | 30 ++++++++++++++++++++++++++----
- 1 file changed, 26 insertions(+), 4 deletions(-)
-
-diff --git a/sys-utils/lsns.c b/sys-utils/lsns.c
-index e4fd208..809737c 100644
---- a/sys-utils/lsns.c
-+++ b/sys-utils/lsns.c
-@@ -217,6 +217,30 @@ static int get_ns_ino(int dir, const char *nsname, ino_t *ino)
- return 0;
- }
-
-+static int parse_proc_stat(FILE *fp, pid_t *pid, char *state, pid_t *ppid)
-+{
-+ char *line = NULL, *p;
-+ size_t len = 0;
-+ int rc;
-+
-+ if (getline(&line, &len, fp) < 0) {
-+ rc = -errno;
-+ goto error;
-+ }
-+
-+ p = strrchr(line, ')');
-+ if (p == NULL ||
-+ sscanf(line, "%d (", pid) != 1 ||
-+ sscanf(p, ") %c %d*[^\n]", state, ppid) != 2) {
-+ rc = -EINVAL;
-+ goto error;
-+ }
-+ rc = 0;
-+
-+error:
-+ free(line);
-+ return rc;
-+}
-
- static int read_process(struct lsns *ls, pid_t pid)
- {
-@@ -255,11 +279,9 @@ static int read_process(struct lsns *ls, pid_t pid)
- rc = -errno;
- goto done;
- }
-- rc = fscanf(f, "%d %*s %c %d*[^\n]", &p->pid, &p->state, &p->ppid);
-- if (rc != 3) {
-- rc = rc < 0 ? -errno : -EINVAL;
-+ rc = parse_proc_stat(f, &p->pid, &p->state, &p->ppid);
-+ if (rc < 0)
- goto done;
-- }
- rc = 0;
-
- for (i = 0; i < ARRAY_SIZE(p->ns_ids); i++) {
---
-2.10.2
-
diff --git a/abs/core/util-linux/0001-sfdisk-cleanup-dump-error-messages.patch b/abs/core/util-linux/0001-sfdisk-cleanup-dump-error-messages.patch
deleted file mode 100644
index 918138c..0000000
--- a/abs/core/util-linux/0001-sfdisk-cleanup-dump-error-messages.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From c49b765a6e9031642e2bb846e93dddc6827e4b28 Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak@redhat.com>
-Date: Wed, 30 Nov 2016 10:53:56 +0100
-Subject: [PATCH] sfdisk: cleanup --dump error messages
-
-old:
- # truncate -s 1G empty && ./sfdisk --dump empty
- sfdisk: failed to dump partition table: Success
-
-new:
- # truncate -s 1G empty && ./sfdisk --dump empty
- sfdisk: empty: does not contain a recognized partition table.
-
-Addresses: https://github.com/karelzak/util-linux/issues/375
-Signed-off-by: Karel Zak <kzak@redhat.com>
----
- disk-utils/sfdisk.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/disk-utils/sfdisk.c b/disk-utils/sfdisk.c
-index 0f69d65..10307ad 100644
---- a/disk-utils/sfdisk.c
-+++ b/disk-utils/sfdisk.c
-@@ -950,13 +950,16 @@ static int command_dump(struct sfdisk *sf, int argc, char **argv)
- if (rc)
- err(EXIT_FAILURE, _("cannot open %s"), devname);
-
-+ if (!fdisk_has_label(sf->cxt))
-+ errx(EXIT_FAILURE, _("%s: does not contain a recognized partition table"), devname);
-+
- dp = fdisk_new_script(sf->cxt);
- if (!dp)
- err(EXIT_FAILURE, _("failed to allocate dump struct"));
-
- rc = fdisk_script_read_context(dp, NULL);
- if (rc)
-- err(EXIT_FAILURE, _("failed to dump partition table"));
-+ errx(EXIT_FAILURE, _("%s: failed to dump partition table"), devname);
-
- if (sf->json)
- fdisk_script_enable_json(dp, 1);
---
-2.10.2
-
diff --git a/abs/core/util-linux/0001-sfdisk-don-t-be-silent-when-list-non-existing-device.patch b/abs/core/util-linux/0001-sfdisk-don-t-be-silent-when-list-non-existing-device.patch
deleted file mode 100644
index 4b088bb..0000000
--- a/abs/core/util-linux/0001-sfdisk-don-t-be-silent-when-list-non-existing-device.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From fed304837f60b626f6198663990e76e506f89063 Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak@redhat.com>
-Date: Tue, 29 Nov 2016 15:58:18 +0100
-Subject: [PATCH] sfdisk: don't be silent when list non-existing device
-
-Addresses: https://github.com/karelzak/util-linux/issues/376
-Signed-off-by: Karel Zak <kzak@redhat.com>
----
- disk-utils/sfdisk.c | 16 ++++++++++------
- 1 file changed, 10 insertions(+), 6 deletions(-)
-
-diff --git a/disk-utils/sfdisk.c b/disk-utils/sfdisk.c
-index 52f2a6d..0f69d65 100644
---- a/disk-utils/sfdisk.c
-+++ b/disk-utils/sfdisk.c
-@@ -560,6 +560,7 @@ static int write_changes(struct sfdisk *sf)
- */
- static int command_list_partitions(struct sfdisk *sf, int argc, char **argv)
- {
-+ int fail = 0;
- fdisk_enable_listonly(sf->cxt, 1);
-
- if (argc) {
-@@ -568,13 +569,14 @@ static int command_list_partitions(struct sfdisk *sf, int argc, char **argv)
- for (i = 0; i < argc; i++) {
- if (ct)
- fputs("\n\n", stdout);
-- if (print_device_pt(sf->cxt, argv[i], 0, sf->verify) == 0)
-- ct++;
-+ if (print_device_pt(sf->cxt, argv[i], 1, sf->verify) != 0)
-+ fail++;
-+ ct++;
- }
- } else
- print_all_devices_pt(sf->cxt, sf->verify);
-
-- return 0;
-+ return fail;
- }
-
- /*
-@@ -582,6 +584,7 @@ static int command_list_partitions(struct sfdisk *sf, int argc, char **argv)
- */
- static int command_list_freespace(struct sfdisk *sf, int argc, char **argv)
- {
-+ int fail = 0;
- fdisk_enable_listonly(sf->cxt, 1);
-
- if (argc) {
-@@ -590,13 +593,14 @@ static int command_list_freespace(struct sfdisk *sf, int argc, char **argv)
- for (i = 0; i < argc; i++) {
- if (ct)
- fputs("\n\n", stdout);
-- if (print_device_freespace(sf->cxt, argv[i], 0) == 0)
-- ct++;
-+ if (print_device_freespace(sf->cxt, argv[i], 1) != 0)
-+ fail++;
-+ ct++;
- }
- } else
- print_all_devices_freespace(sf->cxt);
-
-- return 0;
-+ return fail;
- }
-
- /*
---
-2.10.2
-
diff --git a/abs/core/util-linux/0001-sfdisk-support-empty-label-use-case.patch b/abs/core/util-linux/0001-sfdisk-support-empty-label-use-case.patch
deleted file mode 100644
index 29ab44d..0000000
--- a/abs/core/util-linux/0001-sfdisk-support-empty-label-use-case.patch
+++ /dev/null
@@ -1,223 +0,0 @@
-From 35ca51182782193f555fbdcb06bb10766550d017 Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak@redhat.com>
-Date: Wed, 30 Nov 2016 12:43:10 +0100
-Subject: [PATCH] sfdisk: support empty label use-case
-
-By default sfdisk creates partition table when a first partition is
-specified, otherwise the device is not modified. This force users to
-create at least one partition.
-
-This commit allows to create empty label without partitions if "label:
-<name>" header line is specified by script.
-
-The commit also modifies "New situation:" output to list label name
-and label identifier.
-
-Addresses: https://github.com/karelzak/util-linux/issues/374
-Signed-off-by: Karel Zak <kzak@redhat.com>
----
- disk-utils/fdisk-list.c | 23 +++++++++++++++--------
- disk-utils/fdisk-list.h | 1 +
- disk-utils/sfdisk.8 | 18 +++++++++++++++++-
- disk-utils/sfdisk.c | 17 +++++++++++++++++
- libfdisk/src/libfdisk.h.in | 1 +
- libfdisk/src/libfdisk.sym | 5 +++++
- libfdisk/src/script.c | 20 +++++++++++++++++++-
- 7 files changed, 75 insertions(+), 10 deletions(-)
-
-diff --git a/disk-utils/fdisk-list.c b/disk-utils/fdisk-list.c
-index e6b2033..c9560f4 100644
---- a/disk-utils/fdisk-list.c
-+++ b/disk-utils/fdisk-list.c
-@@ -34,10 +34,23 @@ static int is_ide_cdrom_or_tape(char *device)
- return ret;
- }
-
-+void list_disk_identifier(struct fdisk_context *cxt)
-+{
-+ struct fdisk_label *lb = fdisk_get_label(cxt, NULL);
-+ char *id = NULL;
-+
-+ if (fdisk_has_label(cxt))
-+ fdisk_info(cxt, _("Disklabel type: %s"),
-+ fdisk_label_get_name(lb));
-+
-+ if (!fdisk_is_details(cxt) && fdisk_get_disklabel_id(cxt, &id) == 0 && id) {
-+ fdisk_info(cxt, _("Disk identifier: %s"), id);
-+ free(id);
-+ }
-+}
-
- void list_disk_geometry(struct fdisk_context *cxt)
- {
-- char *id = NULL;
- struct fdisk_label *lb = fdisk_get_label(cxt, NULL);
- uint64_t bytes = fdisk_get_nsectors(cxt) * fdisk_get_sector_size(cxt);
- char *strsz = size_to_human_string(SIZE_SUFFIX_SPACE
-@@ -71,14 +84,8 @@ void list_disk_geometry(struct fdisk_context *cxt)
- if (fdisk_get_alignment_offset(cxt))
- fdisk_info(cxt, _("Alignment offset: %lu bytes"),
- fdisk_get_alignment_offset(cxt));
-- if (fdisk_has_label(cxt))
-- fdisk_info(cxt, _("Disklabel type: %s"),
-- fdisk_label_get_name(lb));
-
-- if (!fdisk_is_details(cxt) && fdisk_get_disklabel_id(cxt, &id) == 0 && id) {
-- fdisk_info(cxt, _("Disk identifier: %s"), id);
-- free(id);
-- }
-+ list_disk_identifier(cxt);
- }
-
- void list_disklabel(struct fdisk_context *cxt)
-diff --git a/disk-utils/fdisk-list.h b/disk-utils/fdisk-list.h
-index eddab92..4ed5c25 100644
---- a/disk-utils/fdisk-list.h
-+++ b/disk-utils/fdisk-list.h
-@@ -2,6 +2,7 @@
- #define UTIL_LINUX_FDISK_LIST_H
-
- extern void list_disklabel(struct fdisk_context *cxt);
-+extern void list_disk_identifier(struct fdisk_context *cxt);
- extern void list_disk_geometry(struct fdisk_context *cxt);
- extern void list_freespace(struct fdisk_context *cxt);
-
-diff --git a/disk-utils/sfdisk.8 b/disk-utils/sfdisk.8
-index fcde872..efe4a86 100644
---- a/disk-utils/sfdisk.8
-+++ b/disk-utils/sfdisk.8
-@@ -212,7 +212,10 @@ Deprecated option. Only the sector unit is supported.
- .BR \-X , " \-\-label " \fItype
- Specify the disk label type (e.g. \fBdos\fR, \fBgpt\fR, ...). If this option
- is not given, then \fBsfdisk\fR defaults to the existing label, but if there
--is no label on the device yet, then the type defaults to \fBdos\fR.
-+is no label on the device yet, then the type defaults to \fBdos\fR. The default
-+or the current label may be overwritten by the "label: <name>" script header
-+line. The option \fB\-\-label\fR does not force \fBsfdisk\fR to create empty
-+disk label (see the \fBEMPTY DISK LABEL\fR section below).
- .TP
- .BR \-Y , " \-\-label\-nested " \fItype
- Force editing of a nested disk label. The primary disk label has to exist already.
-@@ -404,6 +407,19 @@ For backward compatibility the \fBId=\fR field has the same meaning.
- .RE
- .RE
-
-+.SH "EMPTY DISK LABEL"
-+.B sfdisk
-+does not create partition table without partitions by default. The lines with
-+partitions are expected in the script by default. The empty partition table has
-+to be explicitly requested by "label: <name>" script header line without any
-+partitions lines. For example:
-+.RS
-+.sp
-+.B "echo 'label: gpt' | sfdisk /dev/sdb"
-+.sp
-+.RE
-+creates empty GPT partition table. Note that the \fB\-\-append\fR disables this feature.
-+
- .SH "BACKING UP THE PARTITION TABLE"
- It is recommended to save the layout of your devices.
- .B sfdisk
-diff --git a/disk-utils/sfdisk.c b/disk-utils/sfdisk.c
-index 10307ad..2d65974 100644
---- a/disk-utils/sfdisk.c
-+++ b/disk-utils/sfdisk.c
-@@ -1766,8 +1766,25 @@ static int command_fdisk(struct sfdisk *sf, int argc, char **argv)
- }
- } while (1);
-
-+ /* create empty disk label if label, but no partition specified */
-+ if (rc == SFDISK_DONE_EOF && created == 0
-+ && fdisk_script_has_force_label(dp) == 1
-+ && fdisk_table_get_nents(tb) == 0
-+ && fdisk_script_get_header(dp, "label")) {
-+
-+ int xrc = fdisk_apply_script_headers(sf->cxt, dp);
-+ created = !xrc;
-+ if (xrc) {
-+ fdisk_warnx(sf->cxt, _(
-+ "Failed to apply script headers, "
-+ "disk label not created."));
-+ rc = SFDISK_DONE_ABORT;
-+ }
-+ }
-+
- if (!sf->quiet && rc != SFDISK_DONE_ABORT) {
- fdisk_info(sf->cxt, _("\nNew situation:"));
-+ list_disk_identifier(sf->cxt);
- list_disklabel(sf->cxt);
- }
-
-diff --git a/libfdisk/src/libfdisk.h.in b/libfdisk/src/libfdisk.h.in
-index 9154f5b..59cce19 100644
---- a/libfdisk/src/libfdisk.h.in
-+++ b/libfdisk/src/libfdisk.h.in
-@@ -642,6 +642,7 @@ const char *fdisk_script_get_header(struct fdisk_script *dp, const char *name);
- int fdisk_script_set_header(struct fdisk_script *dp, const char *name, const char *data);
- struct fdisk_table *fdisk_script_get_table(struct fdisk_script *dp);
- int fdisk_script_get_nlines(struct fdisk_script *dp);
-+int fdisk_script_has_force_label(struct fdisk_script *dp);
-
- int fdisk_script_set_userdata(struct fdisk_script *dp, void *data);
- void *fdisk_script_get_userdata(struct fdisk_script *dp);
-diff --git a/libfdisk/src/libfdisk.sym b/libfdisk/src/libfdisk.sym
-index 02cd7a8..d6d4ac5 100644
---- a/libfdisk/src/libfdisk.sym
-+++ b/libfdisk/src/libfdisk.sym
-@@ -274,3 +274,8 @@ FDISK_2.29 {
- fdisk_labelitem_is_number;
- fdisk_gpt_set_npartitions;
- } FDISK_2.28;
-+
-+
-+FDISK_2.30 {
-+ fdisk_script_has_force_label;
-+} FDISK_2.29;
-diff --git a/libfdisk/src/script.c b/libfdisk/src/script.c
-index ae7e99a..0d1f260 100644
---- a/libfdisk/src/script.c
-+++ b/libfdisk/src/script.c
-@@ -36,7 +36,8 @@ struct fdisk_script {
- size_t nlines;
- struct fdisk_label *label;
-
-- unsigned int json : 1; /* JSON output */
-+ unsigned int json : 1, /* JSON output */
-+ force_label : 1; /* label: <name> specified */
- };
-
-
-@@ -354,6 +355,22 @@ int fdisk_script_get_nlines(struct fdisk_script *dp)
- }
-
- /**
-+ * fdisk_script_has_force_label:
-+ * @dp: script
-+ *
-+ * Note that fdisk_script_set_header(dp, "label", name) does not modify
-+ * force_label status. The label has to be specified by script.
-+ *
-+ * Returns: true if "label: <name>" has been parsed.
-+ */
-+int fdisk_script_has_force_label(struct fdisk_script *dp)
-+{
-+ assert(dp);
-+ return dp->force_label;
-+}
-+
-+
-+/**
- * fdisk_script_read_context:
- * @dp: script
- * @cxt: context
-@@ -706,6 +723,7 @@ static int parse_line_header(struct fdisk_script *dp, char *s)
- if (strcmp(name, "label") == 0) {
- if (dp->cxt && !fdisk_get_label(dp->cxt, value))
- goto done; /* unknown label name */
-+ dp->force_label = 1;
- } else if (strcmp(name, "unit") == 0) {
- if (strcmp(value, "sectors") != 0)
- goto done; /* only "sectors" supported */
---
-2.10.2
-
diff --git a/abs/core/util-linux/60-rfkill.rules b/abs/core/util-linux/60-rfkill.rules
new file mode 100644
index 0000000..bc98a3b
--- /dev/null
+++ b/abs/core/util-linux/60-rfkill.rules
@@ -0,0 +1 @@
+KERNEL=="rfkill", GROUP="rfkill", MODE="0664"
diff --git a/abs/core/util-linux/PKGBUILD b/abs/core/util-linux/PKGBUILD
index 72df84c..c672254 100644
--- a/abs/core/util-linux/PKGBUILD
+++ b/abs/core/util-linux/PKGBUILD
@@ -5,43 +5,31 @@
pkgbase=util-linux
pkgname=(util-linux libutil-linux)
-_pkgmajor=2.29
-pkgver=${_pkgmajor}
+_pkgmajor=2.31
+pkgver=${_pkgmajor}.1
pkgrel=1
pkgdesc="Miscellaneous system utilities for Linux"
url="https://www.kernel.org/pub/linux/utils/util-linux/"
-arch=('i686' 'x86_64')
-makedepends=('systemd' 'python2')
+arch=('x86_64')
+makedepends=('systemd' 'python' 'libcap-ng')
license=('GPL2')
options=('strip' 'debug')
validpgpkeys=('B0C64D14301CC6EFAEDF60E4E4B71D5EEC39C284') # Karel Zak
source=("https://www.kernel.org/pub/linux/utils/util-linux/v$_pkgmajor/$pkgbase-$pkgver.tar."{xz,sign}
pam-{login,common,su}
- '0001-sfdisk-don-t-be-silent-when-list-non-existing-device.patch'
- '0001-sfdisk-cleanup-dump-error-messages.patch'
- '0001-sfdisk-support-empty-label-use-case.patch'
- '0001-chrt-default-to-SCHED_RR-policy.patch'
- '0001-lsns-Fix-parser-for-proc-pid-stat-which-is-including.patch')
-md5sums=('07b6845f48a421ad5844aa9d58edb837'
- 'SKIP'
- '4368b3f98abd8a32662e094c54e7f9b1'
- 'a31374fef2cba0ca34dfc7078e2969e4'
- 'fa85e5cce5d723275b14365ba71a8aad'
- '3fce7192ce1b3d97fdffd0226ed63a90'
- '2f3c061865360170cacda948035fd02d'
- '6d2e3915124938577f0ff18ef701c87f'
- '168c1cb2cfe7d4eddfc6e3f3b19d3ced'
- '68c2076a9a09564ba0c9776540a175fa')
-
-prepare() {
- cd "$pkgbase-$pkgver"
-
- patch -Np1 <../0001-sfdisk-don-t-be-silent-when-list-non-existing-device.patch
- patch -Np1 <../0001-sfdisk-cleanup-dump-error-messages.patch
- patch -Np1 <../0001-sfdisk-support-empty-label-use-case.patch
- patch -Np1 <../0001-chrt-default-to-SCHED_RR-policy.patch
- patch -Np1 <../0001-lsns-Fix-parser-for-proc-pid-stat-which-is-including.patch
-}
+ 'util-linux.sysusers'
+ '60-rfkill.rules'
+ 'rfkill-unblock_.service'
+ 'rfkill-block_.service')
+sha256sums=('1a51b16fa9cd51d26ef9ab52d2f1de12403b810fc8252bf7d478df91b3cddf11'
+ 'SKIP'
+ '993a3096c2b113e6800f2abbd5d4233ebf1a97eef423990d3187d665d3490b92'
+ 'fc6807842f92e9d3f792d6b64a0d5aad87995a279153ab228b1b2a64d9f32f20'
+ '51eac9c2a2f51ad3982bba35de9aac5510f1eeff432d2d63c6362e45d620afc0'
+ '10b0505351263a099163c0d928132706e501dd0a008dac2835b052167b14abe3'
+ '7423aaaa09fee7f47baa83df9ea6fef525ff9aec395c8cbd9fe848ceb2643f37'
+ '8ccec10a22523f6b9d55e0d6cbf91905a39881446710aa083e935e8073323376'
+ 'a22e0a037e702170c7d88460cc9c9c2ab1d3e5c54a6985cd4a164ea7beff1b36')
build() {
cd "$pkgbase-$pkgver"
@@ -57,18 +45,17 @@ build() {
--enable-chfn-chsh \
--enable-write \
--enable-mesg \
- --disable-tailf \
- --with-python=2
+ --with-python=3
make
}
package_util-linux() {
- conflicts=('util-linux-ng' 'eject' 'zramctl')
- provides=("util-linux-ng=$pkgver" 'eject' 'zramctl')
- replaces=('zramctl')
- depends=('pam' 'shadow' 'coreutils' 'libsystemd' 'libutil-linux')
- optdepends=('python2: python bindings to libmount')
+ conflicts=('eject' 'zramctl' 'rfkill')
+ provides=('eject' 'zramctl' 'rfkill')
+ replaces=('zramctl' 'rfkill')
+ depends=('pam' 'shadow' 'coreutils' 'libsystemd' 'libcap-ng' 'libutil-linux')
+ optdepends=('python: python bindings to libmount')
groups=('base' 'base-devel')
backup=(etc/pam.d/chfn
etc/pam.d/chsh
@@ -102,11 +89,17 @@ package_util-linux() {
### runtime libs are shipped as part of libutil-linux
rm "$pkgdir"/usr/lib/lib*.{a,so}*
- ### tailf has been deprecated for a while. let's not include it anymore.
- rm \
- "$pkgdir"/usr/bin/tailf \
- "$pkgdir"/usr/share/bash-completion/completions/tailf \
- "$pkgdir"/usr/share/man/man1/tailf.1
+ ### install systemd-sysusers
+ install -Dm644 "$srcdir/util-linux.sysusers" \
+ "$pkgdir/usr/lib/sysusers.d/util-linux.conf"
+
+ install -Dm644 "$srcdir/60-rfkill.rules" \
+ "$pkgdir/usr/lib/udev/rules.d/60-rfkill.rules"
+
+ install -Dm644 "$srcdir/rfkill-unblock_.service" \
+ "$pkgdir/usr/lib/systemd/system/rfkill-unblock@.service"
+ install -Dm644 "$srcdir/rfkill-block_.service" \
+ "$pkgdir/usr/lib/systemd/system/rfkill-block@.service"
}
package_libutil-linux() {
diff --git a/abs/core/util-linux/__changelog b/abs/core/util-linux/__changelog
deleted file mode 100644
index 4e7296e..0000000
--- a/abs/core/util-linux/__changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-changed python from 3->2
-
diff --git a/abs/core/util-linux/rfkill-block_.service b/abs/core/util-linux/rfkill-block_.service
new file mode 100644
index 0000000..ede74d1
--- /dev/null
+++ b/abs/core/util-linux/rfkill-block_.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=RFKill-Block %I
+After=rfkill-unblock@all.service
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/rfkill block %I
+
+[Install]
+WantedBy=multi-user.target
diff --git a/abs/core/util-linux/rfkill-unblock_.service b/abs/core/util-linux/rfkill-unblock_.service
new file mode 100644
index 0000000..94ebf35
--- /dev/null
+++ b/abs/core/util-linux/rfkill-unblock_.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=RFKill-Unblock %I
+After=rfkill-block@all.service
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/rfkill unblock %I
+
+[Install]
+WantedBy=multi-user.target
diff --git a/abs/core/util-linux/util-linux.sysusers b/abs/core/util-linux/util-linux.sysusers
new file mode 100644
index 0000000..de04d9f
--- /dev/null
+++ b/abs/core/util-linux/util-linux.sysusers
@@ -0,0 +1,2 @@
+u uuidd 68
+g rfkill - - -
diff --git a/abs/core/vi/PKGBUILD b/abs/core/vi/PKGBUILD
index 0a5c7f8..9fa8028 100644
--- a/abs/core/vi/PKGBUILD
+++ b/abs/core/vi/PKGBUILD
@@ -1,47 +1,52 @@
-# $Id: PKGBUILD 160405 2012-06-01 18:35:53Z eric $
-# Maintainer: tobias [ tobias at archlinux org ]
+# $Id$
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: Eric Bélanger <eric@archlinux.org>
pkgname=vi
-pkgver=050325
+pkgver=070224
pkgrel=2
epoch=1
-pkgdesc='The original ex/vi text editor.'
-arch=('i686' 'x86_64')
-url='http://ex-vi.sourceforge.net/'
+pkgdesc="The original ex/vi text editor"
+arch=('x86_64')
+url="http://ex-vi.sourceforge.net/"
license=('custom:ex')
-depends=('ncurses')
-optdepends=('mailx: used by the preserve command for notification')
groups=('base')
-options=(strip !libtool emptydirs)
-source=(http://downloads.sourceforge.net/sourceforge/ex-vi/ex-${pkgver}.tar.bz2
- exrc.sample
+depends=('ncurses')
+optdepends=('s-nail: used by the preserve command for notification')
+source=(https://sources.archlinux.org/other/$pkgname/ex-$pkgver.tar.xz{,.sig}
+ fix-tubesize-short-overflow.patch
navkeys.patch
- increase-tube.patch
- preserve_dir.patch)
-md5sums=('e668595254233e4d96811083a3e4e2f3'
- 'd3b483c994d859232ce369b82a4b5668'
- 'aac133930047eafa4f28736cfaf976b3'
- 'e596e05a00a24187b576e389fa1de45d'
- '419a8755e0dd16e95542bc107e6d2b24')
+ preserve-dir.patch)
+sha256sums=('c3e52dd44edd1f6bf0b52207f717c56149dc50aac0d131fff3851d589727f52f'
+ 'SKIP'
+ '42167fabebe30a13d594346b1d254db82090ba41742a9f35b8895d37092053f0'
+ '0e9e2d381f1d8cb86daae68462b3849825b003c08007725c0db9939d3d5bf58d'
+ 'f0ef9ed2ccea98bf47b08dd3faa2abb911b4e6c0579f5294e9d0e8742282ff65')
+validpgpkeys=('86CFFCA918CF3AF47147588051E8B148A9999C34')
-build() {
- cd "${srcdir}/ex-${pkgver}"
+prepare() {
+ cd ex-$pkgver
+
+ patch -Np1 -i ../fix-tubesize-short-overflow.patch
+ patch -Np1 -i ../navkeys.patch
+
+ # https://bugs.archlinux.org/task/20653
+ patch -Np1 -i ../preserve-dir.patch
+}
- # apply patches
- patch -Np1 -i ../navkeys.patch
- patch -Np0 -i ../increase-tube.patch
- # FS#20653
- patch -Np1 -i ../preserve_dir.patch
+build() {
+ cd ex-$pkgver
make PREFIX=/usr LIBEXECDIR=/usr/lib/ex PRESERVEDIR=/var/lib/ex \
- 'FEATURES=-DCHDIR -DFASTTAG -DUCVISUAL -DMB -DBIT8' TERMLIB=ncurses
+ TERMLIB=ncurses FEATURES="-DCHDIR -DFASTTAG -DUCVISUAL -DMB -DBIT8"
}
package() {
- cd "${srcdir}/ex-${pkgver}"
-
- make PREFIX=/usr LIBEXECDIR=/usr/lib/ex PRESERVEDIR=/var/lib/ex INSTALL=/usr/bin/install \
- DESTDIR="$pkgdir" install
+ cd ex-$pkgver
- install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ make PREFIX=/usr LIBEXECDIR=/usr/lib/ex PRESERVEDIR=/var/lib/ex \
+ INSTALL=/usr/bin/install DESTDIR="$pkgdir" install
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/core/vi/exrc.sample b/abs/core/vi/exrc.sample
deleted file mode 100644
index 44b3045..0000000
--- a/abs/core/vi/exrc.sample
+++ /dev/null
@@ -1,5 +0,0 @@
-" A sample .exrc file. Copy it to your home dir as ~/.exrc in order to work.
-set showmode
-set noflash
-set autoindent
-set shiftwidth=2
diff --git a/abs/core/vi/fix-tubesize-short-overflow.patch b/abs/core/vi/fix-tubesize-short-overflow.patch
new file mode 100644
index 0000000..46cc2af
--- /dev/null
+++ b/abs/core/vi/fix-tubesize-short-overflow.patch
@@ -0,0 +1,12 @@
+diff -upr ex-070224.orig/ex_vis.h ex-070224/ex_vis.h
+--- ex-070224.orig/ex_vis.h 2005-08-06 14:41:15.000000000 +0300
++++ ex-070224/ex_vis.h 2015-05-02 20:41:13.938665281 +0300
+@@ -104,7 +104,7 @@ var enum {
+ */
+ var short TUBELINES;
+ var short TUBECOLS;
+-var short TUBESIZE;
++var int TUBESIZE;
+
+ /*
+ * The screen in visual and crtopen is of varying size; the basic
diff --git a/abs/core/vi/increase-tube.patch b/abs/core/vi/increase-tube.patch
deleted file mode 100644
index 5010798..0000000
--- a/abs/core/vi/increase-tube.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- config.h 2005-02-19 05:25:39.000000000 -0500
-+++ config.h.fixed 2010-01-04 22:02:01.000000000 -0500
-@@ -95,8 +95,8 @@
- #define TUBESIZE 6000 /* Maximum screen size for visual */
- #else /* VMUNIX */
- #define TUBELINES 100
--#define TUBECOLS 160
--#define TUBESIZE 16000
-+#define TUBECOLS 320
-+#define TUBESIZE 32000
- #endif /* VMUNIX */
-
- /*
diff --git a/abs/core/vi/preserve_dir.patch b/abs/core/vi/preserve-dir.patch
index 5209f7b..ddfe878 100644
--- a/abs/core/vi/preserve_dir.patch
+++ b/abs/core/vi/preserve-dir.patch
@@ -43,18 +43,6 @@ diff -Naur ex-050325.ori/exrecover.c ex-050325/exrecover.c
#endif
/*
-diff -Naur ex-050325.ori/ex.spec ex-050325/ex.spec
---- ex-050325.ori/ex.spec 2005-03-24 18:50:09.000000000 -0500
-+++ ex-050325/ex.spec 2011-02-01 16:21:51.496666674 -0500
-@@ -20,7 +20,7 @@
- %define libexecdir %{prefix}/5lib
- %define mandir %{prefix}/share/man/5man
-
--%define preservedir /var/preserve
-+%define preservedir /var/lib/ex
-
- # install command
- %define ucbinstall install
diff -Naur ex-050325.ori/Makefile ex-050325/Makefile
--- ex-050325.ori/Makefile 2005-03-24 18:50:09.000000000 -0500
+++ ex-050325/Makefile 2011-02-01 16:21:51.496666674 -0500
@@ -79,3 +67,33 @@ diff -Naur ex-050325.ori/vi.1 ex-050325/vi.1
preservation directory
.SH SEE ALSO
ex(1),
+--- ex-050325.original/ex.1 2012-01-27 20:43:00.602119283 +0100
++++ ex-050325/ex.1 2012-01-27 20:47:24.535436516 +0100
+@@ -1932,10 +1932,10 @@
+ Determines the terminal type.
+ .SH FILES
+ .TP
+-.B /usr/libexec/expreserve
++.B /usr/lib/ex/expreserve
+ preserve command
+ .TP
+-.B /usr/libexec/exrecover
++.B /usr/lib/ex/exrecover
+ recover command
+ .TP
+ .B /etc/termcap
+--- ex-050325.original/vi.1 2012-01-27 20:43:00.602119283 +0100
++++ ex-050325/vi.1 2012-01-27 20:46:33.815439611 +0100
+@@ -961,10 +961,10 @@
+ Determines the terminal type.
+ .SH FILES
+ .TP
+-.B /usr/libexec/expreserve
++.B /usr/lib/ex/expreserve
+ preserve command
+ .TP
+-.B /usr/libexec/exrecover
++.B /usr/lib/ex/exrecover
+ recover command
+ .TP
+ .B /etc/termcap
diff --git a/abs/core/wget/PKGBUILD b/abs/core/wget/PKGBUILD
index 9d6fe1d..fa01ffb 100644
--- a/abs/core/wget/PKGBUILD
+++ b/abs/core/wget/PKGBUILD
@@ -1,22 +1,23 @@
-# $Id$
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=wget
-pkgver=1.17.1
+pkgver=1.19.4
pkgrel=1
-pkgdesc="A network utility to retrieve files from the Web"
-arch=('i686' 'x86_64')
-url="http://www.gnu.org/software/wget/wget.html"
+pkgdesc='Network utility to retrieve files from the Web'
+url='https://www.gnu.org/software/wget/wget.html'
+arch=('x86_64')
license=('GPL3')
-depends=('openssl' 'libidn' 'libutil-linux')
+depends=('gnutls' 'libidn' 'libutil-linux' 'libpsl' 'pcre')
checkdepends=('perl-http-daemon' 'perl-io-socket-ssl' 'python')
optdepends=('ca-certificates: HTTPS downloads')
backup=('etc/wgetrc')
-install=wget.install
-source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz{,.sig})
-sha1sums=('8ae737ab2252607ce708f98d1dd7559ebf047f48'
- 'SKIP')
-validpgpkeys=('AC404C1C0BF735C63FF4D562263D6DF2E163E1EA')
+source=(https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.lz{,.sig})
+sha256sums=('2fc0ffb965a8dc8f1e4a89cbe834c0ae7b9c22f559ebafc84c7874ad1866559a'
+ 'SKIP')
+validpgpkeys=('AC404C1C0BF735C63FF4D562263D6DF2E163E1EA'
+ '7845120B07CBD8D6ECE5FF2B2A1743EDA91A35B6'
+ '1CB27DBC98614B2D5841646D08302DB6A2670428') # Tim Rühsen <tim.ruehsen@gmx.de>
prepare() {
cd ${pkgname}-${pkgver}
@@ -29,16 +30,23 @@ EOF
build() {
cd ${pkgname}-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc --enable-nls --with-ssl=openssl
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --disable-rpath \
+ --enable-nls \
+ --with-ssl=gnutls
make
}
check() {
cd ${pkgname}-${pkgver}
- make check
+ make check < /dev/null
}
package() {
cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/core/wget/wget.install b/abs/core/wget/wget.install
deleted file mode 100644
index 8eb6a2c..0000000
--- a/abs/core/wget/wget.install
+++ /dev/null
@@ -1,20 +0,0 @@
-infodir=usr/share/info
-filelist=(wget.info)
-
-post_install() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file $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 $infodir/dir 2> /dev/null
- done
-}
diff --git a/abs/core/windowmaker/PKGBUILD b/abs/core/windowmaker/PKGBUILD
index 2c12ff1..5d33d8b 100644
--- a/abs/core/windowmaker/PKGBUILD
+++ b/abs/core/windowmaker/PKGBUILD
@@ -1,29 +1,24 @@
-# $Id$
+# $Id: PKGBUILD 310007 2017-11-15 14:11:34Z foutrelis $
# Maintainer: Daniel Isenmann <daniel@archlinux.org>
# Contributor: Judd Vinet <jvinet@zeroflux.org>
pkgname=windowmaker
-pkgver=0.95.6
-pkgrel=1
+pkgver=0.95.8
+pkgrel=2
pkgdesc="An X11 window manager with a NEXTSTEP look and feel"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://www.windowmaker.org/"
license=('GPL' 'custom')
depends=('libxinerama' 'libxrandr' 'libxmu' 'libpng' 'libxpm' 'libxft' 'libtiff' 'giflib')
source=(http://windowmaker.org/pub/source/release/WindowMaker-$pkgver.tar.gz
- wmaker.desktop
- giflib_510.diff)
+ wmaker.desktop)
install=wmaker.install
-md5sums=('5b3cf9e6cd1f4066ffa5f2f22c25aee3'
- '2fba97bebfd691836b92b8f0db79ff13'
- 'ac51e22a9d6a8d653cfa8cbcc6fea96e')
+
+sha256sums=('9dbf5c5571bb79c4b1584f496c960ee2cd7379af45ef0f58b4b0f487259de88a'
+ '126da08ac9cffc4354bb4f246ec5ed5abd3cd29ed665d05d190c5bf842c84bef')
prepare() {
cd WindowMaker-$pkgver
- #patch -Np0 -i ../wm-giflib.patch
-
- # patch taken from NetBSD
- patch -Np0 -i ../giflib_510.diff
autoreconf -fi
@@ -39,10 +34,12 @@ prepare() {
build() {
cd WindowMaker-$pkgver
- [ -z "$LINGUAS" ] && export LINGUAS="`ls po/*.po | sed 's:po/\(.*\)\.po$:\1:'`"
+ export LINGUAS="be bg bs ca cs da de el es et fi fr fy gl hr hu hy it ja ko ms nl no pl pt ro ru sk sv tr uk zh_CN zh_TW"
+ #export LINGUAS="`ls po/*.po | sed 's:po/\(.*\)\.po$:\1:'`"
+
./configure --prefix=/usr --sysconfdir=/etc --enable-xinerama \
- --with-nlsdir=/usr/share/locale --with-gnustepdir=/usr/lib/GNUstep \
- --enable-usermenu --enable-modelock --enable-xrandr
+ --localedir=/usr/share/locale --with-gnustepdir=/usr/lib/GNUstep \
+ --enable-usermenu --enable-modelock --enable-randr
make
}
diff --git a/abs/core/windowmaker/WindowMaker-0.95.4.tar.gz b/abs/core/windowmaker/WindowMaker-0.95.4.tar.gz
deleted file mode 100644
index 252aadd..0000000
--- a/abs/core/windowmaker/WindowMaker-0.95.4.tar.gz
+++ /dev/null
Binary files differ
diff --git a/abs/core/windowmaker/giflib_510.diff b/abs/core/windowmaker/giflib_510.diff
deleted file mode 100644
index 742d6d2..0000000
--- a/abs/core/windowmaker/giflib_510.diff
+++ /dev/null
@@ -1,20 +0,0 @@
---- wrlib/load_gif.c.orig 2013-09-12 22:43:54.000000000 +0100
-+++ wrlib/load_gif.c 2014-05-16 10:10:04.000000000 +0100
-@@ -81,7 +81,7 @@ RImage *RLoadGIF(const char *file, int i
- }
-
- if (gif->SWidth < 1 || gif->SHeight < 1) {
-- DGifCloseFile(gif);
-+ DGifCloseFile(gif, NULL);
- RErrorCode = RERR_BADIMAGEFILE;
- return NULL;
- }
-@@ -216,7 +216,7 @@ RImage *RLoadGIF(const char *file, int i
- free(buffer);
-
- if (gif)
-- DGifCloseFile(gif);
-+ DGifCloseFile(gif, NULL);
-
- return image;
- }
diff --git a/abs/core/windowmaker/libpng-1.4.patch b/abs/core/windowmaker/libpng-1.4.patch
deleted file mode 100644
index 419e8fa..0000000
--- a/abs/core/windowmaker/libpng-1.4.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur WindowMaker-0.92.0-orig/wrlib/load.c WindowMaker-0.92.0/wrlib/load.c
---- WindowMaker-0.92.0-orig/wrlib/load.c 2010-01-21 16:10:39.000000000 -0500
-+++ WindowMaker-0.92.0/wrlib/load.c 2010-01-21 16:13:15.000000000 -0500
-@@ -348,7 +348,7 @@
-
- #ifdef USE_PNG
- /* check for PNG */
-- if (png_check_sig(buffer, 8))
-+ if (!png_sig_cmp(buffer, 0, 8))
- return IM_PNG;
- #endif
-
diff --git a/abs/core/windowmaker/windowmaker-gcc4.patch.tar.bz2 b/abs/core/windowmaker/windowmaker-gcc4.patch.tar.bz2
deleted file mode 100644
index fae12a9..0000000
--- a/abs/core/windowmaker/windowmaker-gcc4.patch.tar.bz2
+++ /dev/null
Binary files differ
diff --git a/abs/core/windowmaker/wm-giflib.patch b/abs/core/windowmaker/wm-giflib.patch
deleted file mode 100644
index 4b6b690..0000000
--- a/abs/core/windowmaker/wm-giflib.patch
+++ /dev/null
@@ -1,2422 +0,0 @@
-Index: WINGs/Examples/colorpick.c
-===================================================================
---- WINGs/Examples/colorpick.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/Examples/colorpick.c 2013-01-18 16:57:47.955049409 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <stdlib.h>
- #include <stdio.h>
- #include <WINGs/WINGs.h>
-Index: WINGs/Examples/fontl.c
-===================================================================
---- WINGs/Examples/fontl.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/Examples/fontl.c 2013-01-18 16:57:47.955049409 +0100
-@@ -18,6 +18,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <stdlib.h>
- #include <stdio.h>
- #include <stdint.h>
-Index: WINGs/Examples/puzzle.c
-===================================================================
---- WINGs/Examples/puzzle.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/Examples/puzzle.c 2013-01-18 16:57:47.955049409 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <stdlib.h>
- #include <stdio.h>
- #include <WINGs/WINGs.h>
-Index: WINGs/Extras/test.c
-===================================================================
---- WINGs/Extras/test.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/Extras/test.c 2013-01-18 16:57:47.956049439 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <WINGs/WINGs.h>
- #include <stdio.h>
- #include <stdint.h>
-Index: WINGs/Extras/wtabledelegates.c
-===================================================================
---- WINGs/Extras/wtabledelegates.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/Extras/wtabledelegates.c 2013-01-18 16:57:47.956049439 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <stdint.h>
- #include <WINGs/WINGsP.h>
-
-Index: WINGs/Extras/wtableview.c
-===================================================================
---- WINGs/Extras/wtableview.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/Extras/wtableview.c 2013-01-18 16:57:47.956049439 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <WINGs/WINGsP.h>
- #include <X11/cursorfont.h>
- #include <stdint.h>
-Index: WINGs/Tests/mywidget.c
-===================================================================
---- WINGs/Tests/mywidget.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/Tests/mywidget.c 2013-01-18 16:57:47.956049439 +0100
-@@ -13,6 +13,10 @@
- *
- *
- */
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <WINGs/WINGsP.h>
-
- /*
-Index: WINGs/Tests/testmywidget.c
-===================================================================
---- WINGs/Tests/testmywidget.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/Tests/testmywidget.c 2013-01-18 16:57:47.956049439 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <WINGs/WINGs.h>
- #include <stdlib.h>
-
-Index: WINGs/Tests/wmfile.c
-===================================================================
---- WINGs/Tests/wmfile.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/Tests/wmfile.c 2013-01-18 16:57:47.957049469 +0100
-@@ -11,6 +11,10 @@
- -----------------------------------------------------------------------
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <WINGs/WINGs.h>
-
- #include <unistd.h>
-Index: WINGs/Tests/wmquery.c
-===================================================================
---- WINGs/Tests/wmquery.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/Tests/wmquery.c 2013-01-18 16:57:47.957049469 +0100
-@@ -3,6 +3,10 @@
- * Author: Len Trigg <trigg@cs.waikato.ac.nz>
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <WINGs/WINGs.h>
-
- #include <unistd.h>
-Index: WINGs/Tests/wtest.c
-===================================================================
---- WINGs/Tests/wtest.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/Tests/wtest.c 2013-01-18 16:57:47.957049469 +0100
-@@ -2,6 +2,10 @@
- * WINGs test application
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <WINGs/WINGs.h>
-
- #include <stdio.h>
-Index: WINGs/array.c
-===================================================================
---- WINGs/array.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/array.c 2013-01-18 16:57:47.957049469 +0100
-@@ -8,6 +8,10 @@
- * proper credit is always appreciated :)
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <stdlib.h>
- #include <string.h>
-
-Index: WINGs/bagtree.c
-===================================================================
---- WINGs/bagtree.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/bagtree.c 2013-01-18 16:57:47.957049469 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <stdlib.h>
- #include <string.h>
-
-Index: WINGs/configuration.c
-===================================================================
---- WINGs/configuration.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/configuration.c 2013-01-18 16:57:47.958049499 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
- #include "wconfig.h"
-
-Index: WINGs/data.c
-===================================================================
---- WINGs/data.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/data.c 2013-01-18 16:57:47.958049499 +0100
-@@ -18,6 +18,10 @@
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <string.h>
- #include "WUtil.h"
-
-Index: WINGs/dragcommon.c
-===================================================================
---- WINGs/dragcommon.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/dragcommon.c 2013-01-18 16:57:47.958049499 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- #define XDND_SOURCE_VERSION(dragInfo) dragInfo->protocolVersion
-Index: WINGs/dragdestination.c
-===================================================================
---- WINGs/dragdestination.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/dragdestination.c 2013-01-18 16:57:47.958049499 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
- #include <X11/Xatom.h>
-
-Index: WINGs/dragsource.c
-===================================================================
---- WINGs/dragsource.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/dragsource.c 2013-01-18 16:57:47.959049529 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
- #include "WINGsP.h"
-
-Index: WINGs/error.c
-===================================================================
---- WINGs/error.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/error.c 2013-01-18 16:57:47.959049529 +0100
-@@ -18,6 +18,10 @@
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <stdarg.h>
-Index: WINGs/findfile.c
-===================================================================
---- WINGs/findfile.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/findfile.c 2013-01-18 16:57:47.959049529 +0100
-@@ -18,6 +18,10 @@
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include "WUtil.h"
-Index: WINGs/handlers.c
-===================================================================
---- WINGs/handlers.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/handlers.c 2013-01-18 16:57:47.959049529 +0100
-@@ -3,6 +3,10 @@
- * WINGs internal handlers: timer, idle and input handlers
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
- #include "WINGsP.h"
-
-Index: WINGs/hashtable.c
-===================================================================
---- WINGs/hashtable.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/hashtable.c 2013-01-18 16:57:47.959049529 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <sys/types.h>
- #include <string.h>
- #include <stdlib.h>
-Index: WINGs/memory.c
-===================================================================
---- WINGs/memory.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/memory.c 2013-01-18 16:57:47.959049529 +0100
-@@ -18,6 +18,10 @@
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
- #include "WUtil.h"
-
-Index: WINGs/misc.c
-===================================================================
---- WINGs/misc.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/misc.c 2013-01-18 16:57:47.960049559 +0100
-@@ -1,6 +1,10 @@
-
- /* Miscelaneous helper functions */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- WMRange wmkrange(int start, int count)
-Index: WINGs/notification.c
-===================================================================
---- WINGs/notification.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/notification.c 2013-01-18 16:57:47.960049559 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <stdlib.h>
- #include <assert.h>
- #include <stdio.h>
-Index: WINGs/proplist.c
-===================================================================
---- WINGs/proplist.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/proplist.c 2013-01-18 16:57:47.960049559 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <sys/types.h>
- #include <sys/stat.h>
-
-Index: WINGs/selection.c
-===================================================================
---- WINGs/selection.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/selection.c 2013-01-18 16:57:47.960049559 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <stdlib.h>
-
- #include <X11/Xatom.h>
-Index: WINGs/string.c
-===================================================================
---- WINGs/string.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/string.c 2013-01-18 16:57:47.961049589 +0100
-@@ -6,6 +6,10 @@
- # undef _XOPEN_SOURCE
- #endif
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <string.h>
-Index: WINGs/tree.c
-===================================================================
---- WINGs/tree.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/tree.c 2013-01-18 16:57:47.961049589 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <string.h>
-
- #include "WUtil.h"
-Index: WINGs/userdefaults.c
-===================================================================
---- WINGs/userdefaults.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/userdefaults.c 2013-01-18 16:57:47.961049589 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <stdlib.h>
- #include <string.h>
- #include <strings.h>
-Index: WINGs/usleep.c
-===================================================================
---- WINGs/usleep.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/usleep.c 2013-01-18 16:57:47.961049589 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <errno.h>
- #include <time.h>
-
-Index: WINGs/wapplication.c
-===================================================================
---- WINGs/wapplication.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wapplication.c 2013-01-18 16:57:47.961049589 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <unistd.h>
- #include <X11/Xlocale.h>
-
-Index: WINGs/wappresource.c
-===================================================================
---- WINGs/wappresource.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wappresource.c 2013-01-18 16:57:47.961049589 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <unistd.h>
-
- #include "WINGsP.h"
-Index: WINGs/wballoon.c
-===================================================================
---- WINGs/wballoon.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wballoon.c 2013-01-18 16:57:47.962049620 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
- #include "WINGsP.h"
-
-Index: WINGs/wbox.c
-===================================================================
---- WINGs/wbox.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wbox.c 2013-01-18 16:57:47.962049620 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- typedef struct {
-Index: WINGs/wbrowser.c
-===================================================================
---- WINGs/wbrowser.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wbrowser.c 2013-01-18 16:57:47.962049620 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
- #include <math.h> /* for : double rint (double) */
-
-Index: WINGs/wbutton.c
-===================================================================
---- WINGs/wbutton.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wbutton.c 2013-01-18 16:57:47.962049620 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- typedef struct W_Button {
-Index: WINGs/wcolor.c
-===================================================================
---- WINGs/wcolor.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wcolor.c 2013-01-18 16:57:47.962049620 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- #include "wconfig.h"
-Index: WINGs/wcolorpanel.c
-===================================================================
---- WINGs/wcolorpanel.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wcolorpanel.c 2013-01-18 16:57:47.963049651 +0100
-@@ -23,6 +23,10 @@
- * - Resizing
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
- #include "WINGsP.h"
- #include "rgb.h"
-Index: WINGs/wcolorwell.c
-===================================================================
---- WINGs/wcolorwell.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wcolorwell.c 2013-01-18 16:57:47.964049682 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- #define XDND_COLOR_DATA_TYPE "application/X-color"
-Index: WINGs/wevent.c
-===================================================================
---- WINGs/wevent.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wevent.c 2013-01-18 16:57:47.964049682 +0100
-@@ -3,6 +3,10 @@
- * This event handling stuff was inspired on Tk.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- /* table to map event types to event masks */
-Index: WINGs/wfilepanel.c
-===================================================================
---- WINGs/wfilepanel.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wfilepanel.c 2013-01-18 16:57:47.964049682 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <sys/types.h>
- #include <sys/stat.h>
-
-Index: WINGs/wfont.c
-===================================================================
---- WINGs/wfont.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wfont.c 2013-01-18 16:57:47.964049682 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <stdlib.h>
-
- #include "wconfig.h"
-Index: WINGs/wfontpanel.c
-===================================================================
---- WINGs/wfontpanel.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wfontpanel.c 2013-01-18 16:57:47.964049682 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
- #include "WUtil.h"
- #include "wconfig.h"
-Index: WINGs/wframe.c
-===================================================================
---- WINGs/wframe.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wframe.c 2013-01-18 16:57:47.965049713 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- typedef struct W_Frame {
-Index: WINGs/widgets.c
-===================================================================
---- WINGs/widgets.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/widgets.c 2013-01-18 16:57:47.965049713 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
- #include "wconfig.h"
-
-Index: WINGs/winputmethod.c
-===================================================================
---- WINGs/winputmethod.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/winputmethod.c 2013-01-18 16:57:47.965049713 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <X11/Xlib.h>
-
- #include "WINGsP.h"
-Index: WINGs/wlabel.c
-===================================================================
---- WINGs/wlabel.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wlabel.c 2013-01-18 16:57:47.965049713 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- typedef struct W_Label {
-Index: WINGs/wlist.c
-===================================================================
---- WINGs/wlist.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wlist.c 2013-01-18 16:57:47.965049713 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- char *WMListDidScrollNotification = "WMListDidScrollNotification";
-Index: WINGs/wmenuitem.c
-===================================================================
---- WINGs/wmenuitem.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wmenuitem.c 2013-01-18 16:57:47.966049743 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- typedef struct W_MenuItem {
-Index: WINGs/wmisc.c
-===================================================================
---- WINGs/wmisc.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wmisc.c 2013-01-18 16:57:47.966049743 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- #include <wraster.h>
-Index: WINGs/wpanel.c
-===================================================================
---- WINGs/wpanel.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wpanel.c 2013-01-18 16:57:47.966049743 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- #include <X11/keysym.h>
-Index: WINGs/wpixmap.c
-===================================================================
---- WINGs/wpixmap.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wpixmap.c 2013-01-18 16:57:47.966049743 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- #include <wraster.h>
-Index: WINGs/wpopupbutton.c
-===================================================================
---- WINGs/wpopupbutton.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wpopupbutton.c 2013-01-18 16:57:47.966049743 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- typedef struct W_PopUpButton {
-Index: WINGs/wprogressindicator.c
-===================================================================
---- WINGs/wprogressindicator.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wprogressindicator.c 2013-01-18 16:57:47.967049773 +0100
-@@ -5,6 +5,10 @@
- * - centralized drawing into one pain function
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- typedef struct W_ProgressIndicator {
-Index: WINGs/wruler.c
-===================================================================
---- WINGs/wruler.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wruler.c 2013-01-18 16:57:47.967049773 +0100
-@@ -18,6 +18,10 @@
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
- #include "wconfig.h"
-
-Index: WINGs/wscroller.c
-===================================================================
---- WINGs/wscroller.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wscroller.c 2013-01-18 16:57:47.967049773 +0100
-@@ -7,6 +7,10 @@
- # undef _XOPEN_SOURCE
- #endif
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- #include <math.h>
-Index: WINGs/wscrollview.c
-===================================================================
---- WINGs/wscrollview.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wscrollview.c 2013-01-18 16:57:47.967049773 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- typedef struct W_ScrollView {
-Index: WINGs/wslider.c
-===================================================================
---- WINGs/wslider.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wslider.c 2013-01-18 16:57:47.968049802 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- #undef STRICT_NEXT_BEHAVIOUR
-Index: WINGs/wsplitview.c
-===================================================================
---- WINGs/wsplitview.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wsplitview.c 2013-01-18 16:57:47.968049802 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- /*
-Index: WINGs/wtabview.c
-===================================================================
---- WINGs/wtabview.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wtabview.c 2013-01-18 16:57:47.968049802 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- typedef struct W_TabView {
-Index: WINGs/wtext.c
-===================================================================
---- WINGs/wtext.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wtext.c 2013-01-18 16:57:47.969049831 +0100
-@@ -1,6 +1,10 @@
-
- /* WINGs WMText: multi-line/font/color/graphic text widget, by Nwanua. */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
- #include <ctype.h>
- #include <X11/keysym.h>
-Index: WINGs/wtextfield.c
-===================================================================
---- WINGs/wtextfield.c.orig 2013-01-09 22:42:49.000000000 +0100
-+++ WINGs/wtextfield.c 2013-01-18 16:57:47.969049831 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
- #include "wconfig.h"
-
-Index: WINGs/wutil.c
-===================================================================
---- WINGs/wutil.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wutil.c 2013-01-18 16:57:47.969049831 +0100
-@@ -3,6 +3,10 @@
- * Handle events for non-GUI based applications
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- void WHandleEvents()
-Index: WINGs/wview.c
-===================================================================
---- WINGs/wview.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wview.c 2013-01-18 16:57:47.970049862 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WINGsP.h"
-
- #include <X11/Xresource.h>
-Index: WINGs/wwindow.c
-===================================================================
---- WINGs/wwindow.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WINGs/wwindow.c 2013-01-18 16:57:47.970049862 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <X11/Xmd.h>
-
- #include "WINGsP.h"
-Index: WPrefs.app/Appearance.c
-===================================================================
---- WPrefs.app/Appearance.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WPrefs.app/Appearance.c 2013-01-18 16:57:47.970049862 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WPrefs.h"
-
- #include <unistd.h>
-Index: WPrefs.app/Configurations.c
-===================================================================
---- WPrefs.app/Configurations.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WPrefs.app/Configurations.c 2013-01-18 16:57:47.971049894 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WPrefs.h"
-
- typedef struct _Panel {
-Index: WPrefs.app/Expert.c
-===================================================================
---- WPrefs.app/Expert.c.orig 2013-01-09 22:42:49.000000000 +0100
-+++ WPrefs.app/Expert.c 2013-01-18 16:57:47.971049894 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WPrefs.h"
-
- /* This structure containts the list of all the check-buttons to display in the
-Index: WPrefs.app/Focus.c
-===================================================================
---- WPrefs.app/Focus.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WPrefs.app/Focus.c 2013-01-18 16:57:47.971049894 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WPrefs.h"
-
- typedef struct _Panel {
-Index: WPrefs.app/FontSimple.c
-===================================================================
---- WPrefs.app/FontSimple.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WPrefs.app/FontSimple.c 2013-01-18 16:57:47.971049894 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WPrefs.h"
- #include <unistd.h>
- #include <fontconfig/fontconfig.h>
-Index: WPrefs.app/Icons.c
-===================================================================
---- WPrefs.app/Icons.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WPrefs.app/Icons.c 2013-01-18 16:57:47.971049894 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WPrefs.h"
-
- typedef struct _Panel {
-Index: WPrefs.app/KeyboardSettings.c
-===================================================================
---- WPrefs.app/KeyboardSettings.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WPrefs.app/KeyboardSettings.c 2013-01-18 16:57:47.972049925 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WPrefs.h"
-
- typedef struct _Panel {
-Index: WPrefs.app/Menu.c
-===================================================================
---- WPrefs.app/Menu.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WPrefs.app/Menu.c 2013-01-18 16:57:47.972049925 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WPrefs.h"
- #include <assert.h>
- #include <ctype.h>
-Index: WPrefs.app/MenuPreferences.c
-===================================================================
---- WPrefs.app/MenuPreferences.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WPrefs.app/MenuPreferences.c 2013-01-18 16:57:47.972049925 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WPrefs.h"
-
- typedef struct _Panel {
-Index: WPrefs.app/MouseSettings.c
-===================================================================
---- WPrefs.app/MouseSettings.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WPrefs.app/MouseSettings.c 2013-01-18 16:57:47.972049925 +0100
-@@ -20,6 +20,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WPrefs.h"
-
- #include <X11/Xutil.h>
-Index: WPrefs.app/Paths.c
-===================================================================
---- WPrefs.app/Paths.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WPrefs.app/Paths.c 2013-01-18 16:57:47.973049956 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WPrefs.h"
- #include <unistd.h>
- #include <assert.h>
-Index: WPrefs.app/Preferences.c
-===================================================================
---- WPrefs.app/Preferences.c.orig 2013-01-09 22:42:49.000000000 +0100
-+++ WPrefs.app/Preferences.c 2013-01-18 16:57:47.973049956 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WPrefs.h"
-
- typedef struct _Panel {
-Index: WPrefs.app/TexturePanel.c
-===================================================================
---- WPrefs.app/TexturePanel.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WPrefs.app/TexturePanel.c 2013-01-18 16:57:47.973049956 +0100
-@@ -20,6 +20,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-Index: WPrefs.app/Themes.c
-===================================================================
---- WPrefs.app/Themes.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WPrefs.app/Themes.c 2013-01-18 16:57:47.973049956 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WPrefs.h"
-
- #include <unistd.h>
-Index: WPrefs.app/WPrefs.c
-===================================================================
---- WPrefs.app/WPrefs.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WPrefs.app/WPrefs.c 2013-01-18 16:57:47.974049987 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WPrefs.h"
- #include <assert.h>
-
-Index: WPrefs.app/WindowHandling.c
-===================================================================
---- WPrefs.app/WindowHandling.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WPrefs.app/WindowHandling.c 2013-01-18 16:57:47.974049987 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WPrefs.h"
-
- typedef struct _Panel {
-Index: WPrefs.app/Workspace.c
-===================================================================
---- WPrefs.app/Workspace.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WPrefs.app/Workspace.c 2013-01-18 16:57:47.974049987 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WPrefs.h"
-
- typedef struct _Panel {
-Index: WPrefs.app/double.c
-===================================================================
---- WPrefs.app/double.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WPrefs.app/double.c 2013-01-18 16:57:47.974049987 +0100
-@@ -4,6 +4,10 @@
- *
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <WINGs/WINGsP.h>
-
- #include "double.h"
-Index: WPrefs.app/editmenu.c
-===================================================================
---- WPrefs.app/editmenu.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WPrefs.app/editmenu.c 2013-01-18 16:57:47.975050017 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <WINGs/WINGsP.h>
- #include <WINGs/WUtil.h>
- #include <stdlib.h>
-Index: WPrefs.app/main.c
-===================================================================
---- WPrefs.app/main.c.orig 2013-01-09 22:42:38.000000000 +0100
-+++ WPrefs.app/main.c 2013-01-18 16:57:47.975050017 +0100
-@@ -18,6 +18,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "WPrefs.h"
-
- #include <assert.h>
-Index: WPrefs.app/xmodifier.c
-===================================================================
---- WPrefs.app/xmodifier.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ WPrefs.app/xmodifier.c 2013-01-18 16:57:47.975050017 +0100
-@@ -31,6 +31,10 @@ Perpetrator: Sudish Joseph <sj@eng.minds
- Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301 USA. */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <string.h>
- #include <strings.h>
- #include <X11/Xlib.h>
-Index: src/actions.c
-===================================================================
---- src/actions.c.orig 2013-01-09 22:42:49.000000000 +0100
-+++ src/actions.c 2013-01-18 16:57:47.975050017 +0100
-@@ -20,6 +20,10 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/appicon.c
-===================================================================
---- src/appicon.c.orig 2013-01-09 22:42:49.000000000 +0100
-+++ src/appicon.c 2013-01-18 16:57:47.976050047 +0100
-@@ -20,6 +20,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/application.c
-===================================================================
---- src/application.c.orig 2013-01-09 22:42:49.000000000 +0100
-+++ src/application.c 2013-01-18 16:57:47.976050047 +0100
-@@ -18,6 +18,10 @@
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/appmenu.c
-===================================================================
---- src/appmenu.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/appmenu.c 2013-01-18 16:57:47.976050047 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/balloon.c
-===================================================================
---- src/balloon.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/balloon.c 2013-01-18 16:57:47.976050047 +0100
-@@ -18,6 +18,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #ifdef BALLOON_TEXT
-Index: src/client.c
-===================================================================
---- src/client.c.orig 2013-01-09 22:42:49.000000000 +0100
-+++ src/client.c 2013-01-18 16:57:47.977050077 +0100
-@@ -17,6 +17,10 @@
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/colormap.c
-===================================================================
---- src/colormap.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/colormap.c 2013-01-18 16:57:47.977050077 +0100
-@@ -23,6 +23,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include "WindowMaker.h"
-Index: src/cycling.c
-===================================================================
---- src/cycling.c.orig 2013-01-09 22:42:49.000000000 +0100
-+++ src/cycling.c 2013-01-18 16:57:47.977050077 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <stdlib.h>
-Index: src/defaults.c
-===================================================================
---- src/defaults.c.orig 2013-01-09 22:42:49.000000000 +0100
-+++ src/defaults.c 2013-01-18 16:57:47.978050108 +0100
-@@ -20,6 +20,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <stdio.h>
-Index: src/dialog.c
-===================================================================
---- src/dialog.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/dialog.c 2013-01-18 16:57:47.978050108 +0100
-@@ -20,6 +20,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/dock.c
-===================================================================
---- src/dock.c.orig 2013-01-09 22:42:49.000000000 +0100
-+++ src/dock.c 2013-01-18 16:57:47.979050138 +0100
-@@ -20,6 +20,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/dockedapp.c
-===================================================================
---- src/dockedapp.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/dockedapp.c 2013-01-18 16:57:47.979050138 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/event.c
-===================================================================
---- src/event.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/event.c 2013-01-18 16:57:47.980050168 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #ifdef HAVE_INOTIFY
-Index: src/framewin.c
-===================================================================
---- src/framewin.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/framewin.c 2013-01-18 16:57:47.980050168 +0100
-@@ -18,6 +18,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/geomview.c
-===================================================================
---- src/geomview.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/geomview.c 2013-01-18 16:57:47.980050168 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <WINGs/WINGsP.h>
-
- typedef struct W_GeometryView {
-Index: src/icon.c
-===================================================================
---- src/icon.c.orig 2013-01-09 22:42:49.000000000 +0100
-+++ src/icon.c 2013-01-18 16:57:47.980050168 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/main.c
-===================================================================
---- src/main.c.orig 2013-01-09 22:42:49.000000000 +0100
-+++ src/main.c 2013-01-18 16:57:47.981050198 +0100
-@@ -18,6 +18,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #ifdef HAVE_INOTIFY
-Index: src/menu.c
-===================================================================
---- src/menu.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/menu.c 2013-01-18 16:57:47.981050198 +0100
-@@ -20,6 +20,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/misc.c
-===================================================================
---- src/misc.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/misc.c 2013-01-18 16:57:47.981050198 +0100
-@@ -17,6 +17,10 @@
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/monitor.c
-===================================================================
---- src/monitor.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/monitor.c 2013-01-18 16:57:47.982050228 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
- #include <unistd.h>
- #include <stdlib.h>
-Index: src/motif.c
-===================================================================
---- src/motif.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/motif.c 2013-01-18 16:57:47.982050228 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #ifdef MWM_HINTS
-Index: src/moveres.c
-===================================================================
---- src/moveres.c.orig 2013-01-09 22:42:49.000000000 +0100
-+++ src/moveres.c 2013-01-18 16:57:47.982050228 +0100
-@@ -18,6 +18,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/osdep_bsd.c
-===================================================================
---- src/osdep_bsd.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/osdep_bsd.c 2013-01-18 16:57:47.983050258 +0100
-@@ -11,6 +11,10 @@
- #else /* OPENBSD || NETBSD */
- # include <sys/param.h>
- #endif
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <sys/sysctl.h>
-
- #include <assert.h>
-Index: src/osdep_darwin.c
-===================================================================
---- src/osdep_darwin.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/osdep_darwin.c 2013-01-18 16:57:47.983050258 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <sys/types.h>
- #include <sys/sysctl.h>
-
-Index: src/osdep_linux.c
-===================================================================
---- src/osdep_linux.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/osdep_linux.c 2013-01-18 16:57:47.983050258 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <sys/types.h>
- #include <sys/stat.h>
-
-Index: src/osdep_stub.c
-===================================================================
---- src/osdep_stub.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/osdep_stub.c 2013-01-18 16:57:47.983050258 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <sys/utsname.h>
-
- #include <WINGs/WUtil.h>
-Index: src/pixmap.c
-===================================================================
---- src/pixmap.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/pixmap.c 2013-01-18 16:57:47.983050258 +0100
-@@ -18,6 +18,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/placement.c
-===================================================================
---- src/placement.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/placement.c 2013-01-18 16:57:47.983050258 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/properties.c
-===================================================================
---- src/properties.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/properties.c 2013-01-18 16:57:47.983050258 +0100
-@@ -18,6 +18,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/resources.c
-===================================================================
---- src/resources.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/resources.c 2013-01-18 16:57:47.984050288 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <stdio.h>
-Index: src/rootmenu.c
-===================================================================
---- src/rootmenu.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/rootmenu.c 2013-01-18 16:57:47.984050288 +0100
-@@ -20,6 +20,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <stdio.h>
-Index: src/screen.c
-===================================================================
---- src/screen.c.orig 2013-01-09 22:42:49.000000000 +0100
-+++ src/screen.c 2013-01-18 16:57:47.984050288 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <stdio.h>
-Index: src/session.c
-===================================================================
---- src/session.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/session.c 2013-01-18 16:57:47.985050319 +0100
-@@ -57,6 +57,10 @@
- * if the Die message is received, exit.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/shutdown.c
-===================================================================
---- src/shutdown.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/shutdown.c 2013-01-18 16:57:47.985050319 +0100
-@@ -18,6 +18,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <stdlib.h>
-Index: src/stacking.c
-===================================================================
---- src/stacking.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/stacking.c 2013-01-18 16:57:47.985050319 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <stdio.h>
-Index: src/startup.c
-===================================================================
---- src/startup.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/startup.c 2013-01-18 16:57:47.985050319 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <stdio.h>
-Index: src/superfluous.c
-===================================================================
---- src/superfluous.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/superfluous.c 2013-01-18 16:57:47.985050319 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/switchmenu.c
-===================================================================
---- src/switchmenu.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/switchmenu.c 2013-01-18 16:57:47.986050350 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <stdio.h>
-Index: src/switchpanel.c
-===================================================================
---- src/switchpanel.c.orig 2013-01-09 22:42:49.000000000 +0100
-+++ src/switchpanel.c 2013-01-18 16:57:47.986050350 +0100
-@@ -18,6 +18,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <stdlib.h>
-Index: src/texture.c
-===================================================================
---- src/texture.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/texture.c 2013-01-18 16:57:47.986050350 +0100
-@@ -18,6 +18,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/usermenu.c
-===================================================================
---- src/usermenu.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/usermenu.c 2013-01-18 16:57:47.986050350 +0100
-@@ -56,6 +56,10 @@
- *
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #ifdef USER_MENU
-Index: src/wcore.c
-===================================================================
---- src/wcore.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/wcore.c 2013-01-18 16:57:47.986050350 +0100
-@@ -18,6 +18,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/wdefaults.c
-===================================================================
---- src/wdefaults.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/wdefaults.c 2013-01-18 16:57:47.987050381 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <stdio.h>
-Index: src/window.c
-===================================================================
---- src/window.c.orig 2013-01-09 22:42:49.000000000 +0100
-+++ src/window.c 2013-01-18 16:57:47.987050381 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/winmenu.c
-===================================================================
---- src/winmenu.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/winmenu.c 2013-01-18 16:57:47.988050412 +0100
-@@ -19,6 +19,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <stdio.h>
-Index: src/winspector.c
-===================================================================
---- src/winspector.c.orig 2013-01-09 22:42:49.000000000 +0100
-+++ src/winspector.c 2013-01-18 16:57:47.988050412 +0100
-@@ -20,6 +20,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/wmspec.c
-===================================================================
---- src/wmspec.c.orig 2013-01-09 22:42:49.000000000 +0100
-+++ src/wmspec.c 2013-01-18 16:57:47.989050442 +0100
-@@ -28,6 +28,10 @@
- * return to be Success is not enough. -Dan
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/workspace.c
-===================================================================
---- src/workspace.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/workspace.c 2013-01-18 16:57:47.989050442 +0100
-@@ -18,6 +18,10 @@
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <X11/Xlib.h>
-Index: src/xdnd.c
-===================================================================
---- src/xdnd.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/xdnd.c 2013-01-18 16:57:47.989050442 +0100
-@@ -1,5 +1,9 @@
- /* Many part of code are ripped of an example from JX's site */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #ifdef XDND
-Index: src/xinerama.c
-===================================================================
---- src/xinerama.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/xinerama.c 2013-01-18 16:57:47.989050442 +0100
-@@ -18,6 +18,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include "xinerama.h"
-Index: src/xmodifier.c
-===================================================================
---- src/xmodifier.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/xmodifier.c 2013-01-18 16:57:47.989050442 +0100
-@@ -27,6 +27,10 @@ Perpetrator: Sudish Joseph <sj@eng.minds
- Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301 USA. */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wconfig.h"
-
- #include <string.h>
-Index: src/xutil.c
-===================================================================
---- src/xutil.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ src/xutil.c 2013-01-18 16:57:47.990050472 +0100
-@@ -18,6 +18,10 @@
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <X11/Xlib.h>
- #include <stdlib.h>
- #include <X11/Xutil.h>
-Index: test/notest.c
-===================================================================
---- test/notest.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ test/notest.c 2013-01-18 16:57:47.990050472 +0100
-@@ -3,6 +3,10 @@
- * TODO: remake
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <stdio.h>
- #include <X11/Xlib.h>
- #include <X11/Xutil.h>
-Index: test/wtest.c
-===================================================================
---- test/wtest.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ test/wtest.c 2013-01-18 16:57:47.990050472 +0100
-@@ -8,6 +8,10 @@
- * TODO: remake
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <stdio.h>
- #include <stdlib.h>
- #include <X11/Xlib.h>
-Index: util/convertfonts.c
-===================================================================
---- util/convertfonts.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ util/convertfonts.c 2013-01-18 16:57:47.990050472 +0100
-@@ -23,6 +23,10 @@
- #define _GNU_SOURCE /* getopt_long */
- #endif
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <sys/stat.h>
-
- #include <getopt.h>
-Index: util/fontconv.c
-===================================================================
---- util/fontconv.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ util/fontconv.c 2013-01-18 16:57:47.990050472 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-Index: util/geticonset.c
-===================================================================
---- util/geticonset.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ util/geticonset.c 2013-01-18 16:57:47.990050472 +0100
-@@ -23,6 +23,10 @@
- #define _GNU_SOURCE /* getopt_long */
- #endif
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <getopt.h>
- #include <stdio.h>
- #include <stdlib.h>
-Index: util/getstyle.c
-===================================================================
---- util/getstyle.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ util/getstyle.c 2013-01-18 16:57:47.991050502 +0100
-@@ -23,6 +23,10 @@
- #define _GNU_SOURCE /* getopt_long */
- #endif
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <sys/types.h>
- #include <sys/stat.h>
-
-Index: util/seticons.c
-===================================================================
---- util/seticons.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ util/seticons.c 2013-01-18 16:57:47.991050502 +0100
-@@ -23,6 +23,10 @@
- #define _GNU_SOURCE /* getopt_long */
- #endif
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <getopt.h>
- #include <stdio.h>
- #include <stdlib.h>
-Index: util/setstyle.c
-===================================================================
---- util/setstyle.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ util/setstyle.c 2013-01-18 16:57:47.991050502 +0100
-@@ -23,6 +23,10 @@
- #define _GNU_SOURCE /* getopt_long */
- #endif
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <sys/stat.h>
-
- #include <getopt.h>
-Index: util/wdread.c
-===================================================================
---- util/wdread.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ util/wdread.c 2013-01-18 16:57:47.991050502 +0100
-@@ -28,6 +28,10 @@
- * WindowMaker defaults DB reader
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <getopt.h>
- #include <limits.h>
- #include <stdio.h>
-Index: util/wdwrite.c
-===================================================================
---- util/wdwrite.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ util/wdwrite.c 2013-01-18 16:57:47.991050502 +0100
-@@ -28,6 +28,10 @@
- */
-
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <getopt.h>
- #include <limits.h>
- #include <stdio.h>
-Index: util/wmagnify.c
-===================================================================
---- util/wmagnify.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ util/wmagnify.c 2013-01-18 16:57:47.991050502 +0100
-@@ -6,6 +6,10 @@
- * This program is in the Public Domain.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <X11/Xproto.h>
-
- #include <WINGs/WINGs.h>
-Index: util/wmgenmenu.c
-===================================================================
---- util/wmgenmenu.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ util/wmgenmenu.c 2013-01-18 16:57:47.992050532 +0100
-@@ -4,6 +4,10 @@
- #define _GNU_SOURCE /* getopt_long */
- #endif
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <ctype.h>
- #include <getopt.h>
- #include <limits.h>
-Index: util/wmmenugen.c
-===================================================================
---- util/wmmenugen.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ util/wmmenugen.c 2013-01-18 16:57:47.992050532 +0100
-@@ -18,6 +18,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <sys/types.h>
- #include <sys/stat.h>
-
-Index: util/wmmenugen_misc.c
-===================================================================
---- util/wmmenugen_misc.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ util/wmmenugen_misc.c 2013-01-18 16:57:47.992050532 +0100
-@@ -20,6 +20,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <libgen.h>
- #include <stdlib.h>
- #include <string.h>
-Index: util/wmmenugen_parse_wmconfig.c
-===================================================================
---- util/wmmenugen_parse_wmconfig.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ util/wmmenugen_parse_wmconfig.c 2013-01-18 16:57:47.992050532 +0100
-@@ -20,6 +20,10 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <sys/types.h>
- #include <sys/stat.h>
-
-Index: util/wmmenugen_parse_xdg.c
-===================================================================
---- util/wmmenugen_parse_xdg.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ util/wmmenugen_parse_xdg.c 2013-01-18 16:57:47.992050532 +0100
-@@ -36,6 +36,10 @@
- * Basic validation of the .desktop file is done.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <sys/types.h>
- #include <sys/stat.h>
-
-Index: util/wxcopy.c
-===================================================================
---- util/wxcopy.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ util/wxcopy.c 2013-01-18 16:57:47.993050562 +0100
-@@ -17,6 +17,10 @@
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-Index: wmlib/app.c
-===================================================================
---- wmlib/app.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ wmlib/app.c 2013-01-18 16:57:47.993050562 +0100
-@@ -19,6 +19,10 @@
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <X11/Xlib.h>
- #include <stdlib.h>
- #include <string.h>
-Index: wmlib/command.c
-===================================================================
---- wmlib/command.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ wmlib/command.c 2013-01-18 16:57:47.993050562 +0100
-@@ -19,6 +19,10 @@
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <X11/Xlib.h>
- #include <stdlib.h>
-
-Index: wmlib/event.c
-===================================================================
---- wmlib/event.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ wmlib/event.c 2013-01-18 16:57:47.993050562 +0100
-@@ -19,6 +19,10 @@
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <stdlib.h>
- #include <stdio.h>
- #include <X11/Xlib.h>
-Index: wmlib/menu.c
-===================================================================
---- wmlib/menu.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ wmlib/menu.c 2013-01-18 16:57:47.993050562 +0100
-@@ -19,6 +19,10 @@
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
-Index: wrlib/alpha_combine.c
-===================================================================
---- wrlib/alpha_combine.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ wrlib/alpha_combine.c 2013-01-18 16:57:47.993050562 +0100
-@@ -17,6 +17,10 @@
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include "wraster.h"
-
- void RCombineAlpha(unsigned char *d, unsigned char *s, int s_has_alpha,
-Index: wrlib/tests/testdraw.c
-===================================================================
---- wrlib/tests/testdraw.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ wrlib/tests/testdraw.c 2013-01-18 16:57:47.994050592 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <X11/Xlib.h>
- #include "wraster.h"
- #include <stdio.h>
-Index: wrlib/tests/testgrad.c
-===================================================================
---- wrlib/tests/testgrad.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ wrlib/tests/testgrad.c 2013-01-18 16:57:47.994050592 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <X11/Xlib.h>
- #include "wraster.h"
- #include <stdio.h>
-Index: wrlib/tests/testrot.c
-===================================================================
---- wrlib/tests/testrot.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ wrlib/tests/testrot.c 2013-01-18 16:57:47.994050592 +0100
-@@ -1,4 +1,8 @@
-
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <X11/Xlib.h>
- #include "wraster.h"
- #include <stdlib.h>
-Index: wrlib/tests/view.c
-===================================================================
---- wrlib/tests/view.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ wrlib/tests/view.c 2013-01-18 16:57:47.994050592 +0100
-@@ -1,3 +1,7 @@
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
- #include <X11/Xlib.h>
- #include "wraster.h"
- #include <stdlib.h>
-Index: configure.ac
-===================================================================
---- configure.ac.orig 2013-01-09 22:42:49.000000000 +0100
-+++ configure.ac 2013-01-18 16:57:47.994050592 +0100
-@@ -67,8 +67,9 @@ dnl AC_CANONICAL_HOST -- already done by
-
- dnl Checks for programs.
- dnl ===================
--AC_ISC_POSIX
--AC_PROG_CC
-+AC_PROG_CC_STDC
-+AC_USE_SYSTEM_EXTENSIONS
-+AC_SYS_LARGEFILE
- AC_PROG_LN_S
- AC_PROG_GCC_TRADITIONAL
- AC_PROG_LIBTOOL
-Index: wrlib/gif.c
-===================================================================
---- wrlib/gif.c.orig 2013-01-09 22:42:39.000000000 +0100
-+++ wrlib/gif.c 2013-01-18 16:57:47.994050592 +0100
-@@ -50,17 +50,24 @@ RImage *RLoadGIF(char *file, int index)
- unsigned char rmap[256];
- unsigned char gmap[256];
- unsigned char bmap[256];
-+ int dgiferr;
-
- if (index < 0)
- index = 0;
-
- /* default error message */
- RErrorCode = RERR_BADINDEX;
--
-+#if defined(GIFLIB_MAJOR) && (GIFLIB_MAJOR >= 5)
-+ gif = DGifOpenFileName(file, &dgiferr);
-+#else
- gif = DGifOpenFileName(file);
--
-+#endif
- if (!gif) {
-+#if defined(GIFLIB_MAJOR) && (GIFLIB_MAJOR >= 5)
-+ switch (dgiferr) {
-+#else
- switch (GifLastError()) {
-+#endif
- case D_GIF_ERR_OPEN_FAILED:
- RErrorCode = RERR_OPEN;
- break;
-@@ -197,7 +204,11 @@ RImage *RLoadGIF(char *file, int index)
- /* yuck! */
- goto did_not_get_any_errors;
- giferr:
-+#if defined(GIFLIB_MAJOR) && (GIFLIB_MAJOR >= 5)
-+ switch (gif->Error) {
-+#else
- switch (GifLastError()) {
-+#endif
- case D_GIF_ERR_OPEN_FAILED:
- RErrorCode = RERR_OPEN;
- break;
diff --git a/abs/core/wpa_supplicant/0001-Revert-OpenSSL-Do-not-accept-SSL-Client-certificate-.patch b/abs/core/wpa_supplicant/0001-Revert-OpenSSL-Do-not-accept-SSL-Client-certificate-.patch
deleted file mode 100644
index 8b0b1b3..0000000
--- a/abs/core/wpa_supplicant/0001-Revert-OpenSSL-Do-not-accept-SSL-Client-certificate-.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From b62d5b5450101676a0c05691b4bcd94e11426397 Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Wed, 19 Feb 2014 11:56:02 +0200
-Subject: [PATCH] Revert "OpenSSL: Do not accept SSL Client certificate for
- server"
-
-This reverts commit 51e3eafb68e15e78e98ca955704be8a6c3a7b304. There are
-too many deployed AAA servers that include both id-kp-clientAuth and
-id-kp-serverAuth EKUs for this change to be acceptable as a generic rule
-for AAA authentication server validation. OpenSSL enforces the policy of
-not connecting if only id-kp-clientAuth is included. If a valid EKU is
-listed with it, the connection needs to be accepted.
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
----
- src/crypto/tls.h | 3 +--
- src/crypto/tls_openssl.c | 13 -------------
- 2 files changed, 1 insertion(+), 15 deletions(-)
-
-diff --git a/src/crypto/tls.h b/src/crypto/tls.h
-index 287fd33..feba13f 100644
---- a/src/crypto/tls.h
-+++ b/src/crypto/tls.h
-@@ -41,8 +41,7 @@ enum tls_fail_reason {
- TLS_FAIL_ALTSUBJECT_MISMATCH = 6,
- TLS_FAIL_BAD_CERTIFICATE = 7,
- TLS_FAIL_SERVER_CHAIN_PROBE = 8,
-- TLS_FAIL_DOMAIN_SUFFIX_MISMATCH = 9,
-- TLS_FAIL_SERVER_USED_CLIENT_CERT = 10
-+ TLS_FAIL_DOMAIN_SUFFIX_MISMATCH = 9
- };
-
- union tls_event_data {
-diff --git a/src/crypto/tls_openssl.c b/src/crypto/tls_openssl.c
-index a13fa38..8cf1de8 100644
---- a/src/crypto/tls_openssl.c
-+++ b/src/crypto/tls_openssl.c
-@@ -105,7 +105,6 @@ struct tls_connection {
- unsigned int ca_cert_verify:1;
- unsigned int cert_probe:1;
- unsigned int server_cert_only:1;
-- unsigned int server:1;
-
- u8 srv_cert_hash[32];
-
-@@ -1480,16 +1479,6 @@ static int tls_verify_cb(int preverify_ok, X509_STORE_CTX *x509_ctx)
- TLS_FAIL_SERVER_CHAIN_PROBE);
- }
-
-- if (!conn->server && err_cert && preverify_ok && depth == 0 &&
-- (err_cert->ex_flags & EXFLAG_XKUSAGE) &&
-- (err_cert->ex_xkusage & XKU_SSL_CLIENT)) {
-- wpa_printf(MSG_WARNING, "TLS: Server used client certificate");
-- openssl_tls_fail_event(conn, err_cert, err, depth, buf,
-- "Server used client certificate",
-- TLS_FAIL_SERVER_USED_CLIENT_CERT);
-- preverify_ok = 0;
-- }
--
- if (preverify_ok && context->event_cb != NULL)
- context->event_cb(context->cb_ctx,
- TLS_CERT_CHAIN_SUCCESS, NULL);
-@@ -2541,8 +2530,6 @@ openssl_handshake(struct tls_connection *conn, const struct wpabuf *in_data,
- int res;
- struct wpabuf *out_data;
-
-- conn->server = !!server;
--
- /*
- * Give TLS handshake data from the server (if available) to OpenSSL
- * for processing.
---
-1.9.0
-
diff --git a/abs/core/wpa_supplicant/0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch b/abs/core/wpa_supplicant/0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch
new file mode 100644
index 0000000..7276848
--- /dev/null
+++ b/abs/core/wpa_supplicant/0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch
@@ -0,0 +1,174 @@
+From cf4cab804c7afd5c45505528a8d16e46163243a2 Mon Sep 17 00:00:00 2001
+From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+Date: Fri, 14 Jul 2017 15:15:35 +0200
+Subject: [PATCH 1/8] hostapd: Avoid key reinstallation in FT handshake
+
+Do not reinstall TK to the driver during Reassociation Response frame
+processing if the first attempt of setting the TK succeeded. This avoids
+issues related to clearing the TX/RX PN that could result in reusing
+same PN values for transmitted frames (e.g., due to CCM nonce reuse and
+also hitting replay protection on the receiver) and accepting replayed
+frames on RX side.
+
+This issue was introduced by the commit
+0e84c25434e6a1f283c7b4e62e483729085b78d2 ('FT: Fix PTK configuration in
+authenticator') which allowed wpa_ft_install_ptk() to be called multiple
+times with the same PTK. While the second configuration attempt is
+needed with some drivers, it must be done only if the first attempt
+failed.
+
+Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+---
+ src/ap/ieee802_11.c | 16 +++++++++++++---
+ src/ap/wpa_auth.c | 11 +++++++++++
+ src/ap/wpa_auth.h | 3 ++-
+ src/ap/wpa_auth_ft.c | 10 ++++++++++
+ src/ap/wpa_auth_i.h | 1 +
+ 5 files changed, 37 insertions(+), 4 deletions(-)
+
+diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
+index 4e04169..333035f 100644
+--- a/src/ap/ieee802_11.c
++++ b/src/ap/ieee802_11.c
+@@ -1841,6 +1841,7 @@ static int add_associated_sta(struct hostapd_data *hapd,
+ {
+ struct ieee80211_ht_capabilities ht_cap;
+ struct ieee80211_vht_capabilities vht_cap;
++ int set = 1;
+
+ /*
+ * Remove the STA entry to ensure the STA PS state gets cleared and
+@@ -1848,9 +1849,18 @@ static int add_associated_sta(struct hostapd_data *hapd,
+ * FT-over-the-DS, where a station re-associates back to the same AP but
+ * skips the authentication flow, or if working with a driver that
+ * does not support full AP client state.
++ *
++ * Skip this if the STA has already completed FT reassociation and the
++ * TK has been configured since the TX/RX PN must not be reset to 0 for
++ * the same key.
+ */
+- if (!sta->added_unassoc)
++ if (!sta->added_unassoc &&
++ (!(sta->flags & WLAN_STA_AUTHORIZED) ||
++ !wpa_auth_sta_ft_tk_already_set(sta->wpa_sm))) {
+ hostapd_drv_sta_remove(hapd, sta->addr);
++ wpa_auth_sm_event(sta->wpa_sm, WPA_DRV_STA_REMOVED);
++ set = 0;
++ }
+
+ #ifdef CONFIG_IEEE80211N
+ if (sta->flags & WLAN_STA_HT)
+@@ -1873,11 +1883,11 @@ static int add_associated_sta(struct hostapd_data *hapd,
+ sta->flags & WLAN_STA_VHT ? &vht_cap : NULL,
+ sta->flags | WLAN_STA_ASSOC, sta->qosinfo,
+ sta->vht_opmode, sta->p2p_ie ? 1 : 0,
+- sta->added_unassoc)) {
++ set)) {
+ hostapd_logger(hapd, sta->addr,
+ HOSTAPD_MODULE_IEEE80211, HOSTAPD_LEVEL_NOTICE,
+ "Could not %s STA to kernel driver",
+- sta->added_unassoc ? "set" : "add");
++ set ? "set" : "add");
+
+ if (sta->added_unassoc) {
+ hostapd_drv_sta_remove(hapd, sta->addr);
+diff --git a/src/ap/wpa_auth.c b/src/ap/wpa_auth.c
+index 3587086..707971d 100644
+--- a/src/ap/wpa_auth.c
++++ b/src/ap/wpa_auth.c
+@@ -1745,6 +1745,9 @@ int wpa_auth_sm_event(struct wpa_state_machine *sm, enum wpa_event event)
+ #else /* CONFIG_IEEE80211R */
+ break;
+ #endif /* CONFIG_IEEE80211R */
++ case WPA_DRV_STA_REMOVED:
++ sm->tk_already_set = FALSE;
++ return 0;
+ }
+
+ #ifdef CONFIG_IEEE80211R
+@@ -3250,6 +3253,14 @@ int wpa_auth_sta_wpa_version(struct wpa_state_machine *sm)
+ }
+
+
++int wpa_auth_sta_ft_tk_already_set(struct wpa_state_machine *sm)
++{
++ if (!sm || !wpa_key_mgmt_ft(sm->wpa_key_mgmt))
++ return 0;
++ return sm->tk_already_set;
++}
++
++
+ int wpa_auth_sta_clear_pmksa(struct wpa_state_machine *sm,
+ struct rsn_pmksa_cache_entry *entry)
+ {
+diff --git a/src/ap/wpa_auth.h b/src/ap/wpa_auth.h
+index 0de8d97..97461b0 100644
+--- a/src/ap/wpa_auth.h
++++ b/src/ap/wpa_auth.h
+@@ -267,7 +267,7 @@ void wpa_receive(struct wpa_authenticator *wpa_auth,
+ u8 *data, size_t data_len);
+ enum wpa_event {
+ WPA_AUTH, WPA_ASSOC, WPA_DISASSOC, WPA_DEAUTH, WPA_REAUTH,
+- WPA_REAUTH_EAPOL, WPA_ASSOC_FT
++ WPA_REAUTH_EAPOL, WPA_ASSOC_FT, WPA_DRV_STA_REMOVED
+ };
+ void wpa_remove_ptk(struct wpa_state_machine *sm);
+ int wpa_auth_sm_event(struct wpa_state_machine *sm, enum wpa_event event);
+@@ -280,6 +280,7 @@ int wpa_auth_pairwise_set(struct wpa_state_machine *sm);
+ int wpa_auth_get_pairwise(struct wpa_state_machine *sm);
+ int wpa_auth_sta_key_mgmt(struct wpa_state_machine *sm);
+ int wpa_auth_sta_wpa_version(struct wpa_state_machine *sm);
++int wpa_auth_sta_ft_tk_already_set(struct wpa_state_machine *sm);
+ int wpa_auth_sta_clear_pmksa(struct wpa_state_machine *sm,
+ struct rsn_pmksa_cache_entry *entry);
+ struct rsn_pmksa_cache_entry *
+diff --git a/src/ap/wpa_auth_ft.c b/src/ap/wpa_auth_ft.c
+index 42242a5..e63b99a 100644
+--- a/src/ap/wpa_auth_ft.c
++++ b/src/ap/wpa_auth_ft.c
+@@ -780,6 +780,14 @@ void wpa_ft_install_ptk(struct wpa_state_machine *sm)
+ return;
+ }
+
++ if (sm->tk_already_set) {
++ /* Must avoid TK reconfiguration to prevent clearing of TX/RX
++ * PN in the driver */
++ wpa_printf(MSG_DEBUG,
++ "FT: Do not re-install same PTK to the driver");
++ return;
++ }
++
+ /* FIX: add STA entry to kernel/driver here? The set_key will fail
+ * most likely without this.. At the moment, STA entry is added only
+ * after association has been completed. This function will be called
+@@ -792,6 +800,7 @@ void wpa_ft_install_ptk(struct wpa_state_machine *sm)
+
+ /* FIX: MLME-SetProtection.Request(TA, Tx_Rx) */
+ sm->pairwise_set = TRUE;
++ sm->tk_already_set = TRUE;
+ }
+
+
+@@ -898,6 +907,7 @@ static int wpa_ft_process_auth_req(struct wpa_state_machine *sm,
+
+ sm->pairwise = pairwise;
+ sm->PTK_valid = TRUE;
++ sm->tk_already_set = FALSE;
+ wpa_ft_install_ptk(sm);
+
+ buflen = 2 + sizeof(struct rsn_mdie) + 2 + sizeof(struct rsn_ftie) +
+diff --git a/src/ap/wpa_auth_i.h b/src/ap/wpa_auth_i.h
+index 72b7eb3..7fd8f05 100644
+--- a/src/ap/wpa_auth_i.h
++++ b/src/ap/wpa_auth_i.h
+@@ -65,6 +65,7 @@ struct wpa_state_machine {
+ struct wpa_ptk PTK;
+ Boolean PTK_valid;
+ Boolean pairwise_set;
++ Boolean tk_already_set;
+ int keycount;
+ Boolean Pair;
+ struct wpa_key_replay_counter {
+--
+2.7.4
+
diff --git a/abs/core/wpa_supplicant/0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch b/abs/core/wpa_supplicant/0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch
new file mode 100644
index 0000000..1802d66
--- /dev/null
+++ b/abs/core/wpa_supplicant/0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch
@@ -0,0 +1,250 @@
+From 927f891007c402fefd1ff384645b3f07597c3ede Mon Sep 17 00:00:00 2001
+From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+Date: Wed, 12 Jul 2017 16:03:24 +0200
+Subject: [PATCH 2/8] Prevent reinstallation of an already in-use group key
+
+Track the current GTK and IGTK that is in use and when receiving a
+(possibly retransmitted) Group Message 1 or WNM-Sleep Mode Response, do
+not install the given key if it is already in use. This prevents an
+attacker from trying to trick the client into resetting or lowering the
+sequence counter associated to the group key.
+
+Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+---
+ src/common/wpa_common.h | 11 +++++
+ src/rsn_supp/wpa.c | 116 ++++++++++++++++++++++++++++++------------------
+ src/rsn_supp/wpa_i.h | 4 ++
+ 3 files changed, 87 insertions(+), 44 deletions(-)
+
+diff --git a/src/common/wpa_common.h b/src/common/wpa_common.h
+index af1d0f0..d200285 100644
+--- a/src/common/wpa_common.h
++++ b/src/common/wpa_common.h
+@@ -217,6 +217,17 @@ struct wpa_ptk {
+ size_t tk_len;
+ };
+
++struct wpa_gtk {
++ u8 gtk[WPA_GTK_MAX_LEN];
++ size_t gtk_len;
++};
++
++#ifdef CONFIG_IEEE80211W
++struct wpa_igtk {
++ u8 igtk[WPA_IGTK_MAX_LEN];
++ size_t igtk_len;
++};
++#endif /* CONFIG_IEEE80211W */
+
+ /* WPA IE version 1
+ * 00-50-f2:1 (OUI:OUI type)
+diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
+index 3c47879..95bd7be 100644
+--- a/src/rsn_supp/wpa.c
++++ b/src/rsn_supp/wpa.c
+@@ -714,6 +714,15 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
+ const u8 *_gtk = gd->gtk;
+ u8 gtk_buf[32];
+
++ /* Detect possible key reinstallation */
++ if (sm->gtk.gtk_len == (size_t) gd->gtk_len &&
++ os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) {
++ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
++ "WPA: Not reinstalling already in-use GTK to the driver (keyidx=%d tx=%d len=%d)",
++ gd->keyidx, gd->tx, gd->gtk_len);
++ return 0;
++ }
++
+ wpa_hexdump_key(MSG_DEBUG, "WPA: Group Key", gd->gtk, gd->gtk_len);
+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
+ "WPA: Installing GTK to the driver (keyidx=%d tx=%d len=%d)",
+@@ -748,6 +757,9 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
+ }
+ os_memset(gtk_buf, 0, sizeof(gtk_buf));
+
++ sm->gtk.gtk_len = gd->gtk_len;
++ os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
++
+ return 0;
+ }
+
+@@ -854,6 +866,48 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
+ }
+
+
++#ifdef CONFIG_IEEE80211W
++static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
++ const struct wpa_igtk_kde *igtk)
++{
++ size_t len = wpa_cipher_key_len(sm->mgmt_group_cipher);
++ u16 keyidx = WPA_GET_LE16(igtk->keyid);
++
++ /* Detect possible key reinstallation */
++ if (sm->igtk.igtk_len == len &&
++ os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) {
++ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
++ "WPA: Not reinstalling already in-use IGTK to the driver (keyidx=%d)",
++ keyidx);
++ return 0;
++ }
++
++ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
++ "WPA: IGTK keyid %d pn %02x%02x%02x%02x%02x%02x",
++ keyidx, MAC2STR(igtk->pn));
++ wpa_hexdump_key(MSG_DEBUG, "WPA: IGTK", igtk->igtk, len);
++ if (keyidx > 4095) {
++ wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
++ "WPA: Invalid IGTK KeyID %d", keyidx);
++ return -1;
++ }
++ if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
++ broadcast_ether_addr,
++ keyidx, 0, igtk->pn, sizeof(igtk->pn),
++ igtk->igtk, len) < 0) {
++ wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
++ "WPA: Failed to configure IGTK to the driver");
++ return -1;
++ }
++
++ sm->igtk.igtk_len = len;
++ os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
++
++ return 0;
++}
++#endif /* CONFIG_IEEE80211W */
++
++
+ static int ieee80211w_set_keys(struct wpa_sm *sm,
+ struct wpa_eapol_ie_parse *ie)
+ {
+@@ -864,30 +918,14 @@ static int ieee80211w_set_keys(struct wpa_sm *sm,
+ if (ie->igtk) {
+ size_t len;
+ const struct wpa_igtk_kde *igtk;
+- u16 keyidx;
++
+ len = wpa_cipher_key_len(sm->mgmt_group_cipher);
+ if (ie->igtk_len != WPA_IGTK_KDE_PREFIX_LEN + len)
+ return -1;
++
+ igtk = (const struct wpa_igtk_kde *) ie->igtk;
+- keyidx = WPA_GET_LE16(igtk->keyid);
+- wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG, "WPA: IGTK keyid %d "
+- "pn %02x%02x%02x%02x%02x%02x",
+- keyidx, MAC2STR(igtk->pn));
+- wpa_hexdump_key(MSG_DEBUG, "WPA: IGTK",
+- igtk->igtk, len);
+- if (keyidx > 4095) {
+- wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
+- "WPA: Invalid IGTK KeyID %d", keyidx);
+- return -1;
+- }
+- if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
+- broadcast_ether_addr,
+- keyidx, 0, igtk->pn, sizeof(igtk->pn),
+- igtk->igtk, len) < 0) {
+- wpa_msg(sm->ctx->msg_ctx, MSG_WARNING,
+- "WPA: Failed to configure IGTK to the driver");
++ if (wpa_supplicant_install_igtk(sm, igtk) < 0)
+ return -1;
+- }
+ }
+
+ return 0;
+@@ -2307,7 +2345,7 @@ void wpa_sm_deinit(struct wpa_sm *sm)
+ */
+ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
+ {
+- int clear_ptk = 1;
++ int clear_keys = 1;
+
+ if (sm == NULL)
+ return;
+@@ -2333,11 +2371,11 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
+ /* Prepare for the next transition */
+ wpa_ft_prepare_auth_request(sm, NULL);
+
+- clear_ptk = 0;
++ clear_keys = 0;
+ }
+ #endif /* CONFIG_IEEE80211R */
+
+- if (clear_ptk) {
++ if (clear_keys) {
+ /*
+ * IEEE 802.11, 8.4.10: Delete PTK SA on (re)association if
+ * this is not part of a Fast BSS Transition.
+@@ -2347,6 +2385,10 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
+ os_memset(&sm->ptk, 0, sizeof(sm->ptk));
+ sm->tptk_set = 0;
+ os_memset(&sm->tptk, 0, sizeof(sm->tptk));
++ os_memset(&sm->gtk, 0, sizeof(sm->gtk));
++#ifdef CONFIG_IEEE80211W
++ os_memset(&sm->igtk, 0, sizeof(sm->igtk));
++#endif /* CONFIG_IEEE80211W */
+ }
+
+ #ifdef CONFIG_TDLS
+@@ -2877,6 +2919,10 @@ void wpa_sm_drop_sa(struct wpa_sm *sm)
+ os_memset(sm->pmk, 0, sizeof(sm->pmk));
+ os_memset(&sm->ptk, 0, sizeof(sm->ptk));
+ os_memset(&sm->tptk, 0, sizeof(sm->tptk));
++ os_memset(&sm->gtk, 0, sizeof(sm->gtk));
++#ifdef CONFIG_IEEE80211W
++ os_memset(&sm->igtk, 0, sizeof(sm->igtk));
++#endif /* CONFIG_IEEE80211W */
+ #ifdef CONFIG_IEEE80211R
+ os_memset(sm->xxkey, 0, sizeof(sm->xxkey));
+ os_memset(sm->pmk_r0, 0, sizeof(sm->pmk_r0));
+@@ -2949,29 +2995,11 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
+ os_memset(&gd, 0, sizeof(gd));
+ #ifdef CONFIG_IEEE80211W
+ } else if (subelem_id == WNM_SLEEP_SUBELEM_IGTK) {
+- struct wpa_igtk_kde igd;
+- u16 keyidx;
+-
+- os_memset(&igd, 0, sizeof(igd));
+- keylen = wpa_cipher_key_len(sm->mgmt_group_cipher);
+- os_memcpy(igd.keyid, buf + 2, 2);
+- os_memcpy(igd.pn, buf + 4, 6);
+-
+- keyidx = WPA_GET_LE16(igd.keyid);
+- os_memcpy(igd.igtk, buf + 10, keylen);
+-
+- wpa_hexdump_key(MSG_DEBUG, "Install IGTK (WNM SLEEP)",
+- igd.igtk, keylen);
+- if (wpa_sm_set_key(sm, wpa_cipher_to_alg(sm->mgmt_group_cipher),
+- broadcast_ether_addr,
+- keyidx, 0, igd.pn, sizeof(igd.pn),
+- igd.igtk, keylen) < 0) {
+- wpa_printf(MSG_DEBUG, "Failed to install the IGTK in "
+- "WNM mode");
+- os_memset(&igd, 0, sizeof(igd));
++ const struct wpa_igtk_kde *igtk;
++
++ igtk = (const struct wpa_igtk_kde *) (buf + 2);
++ if (wpa_supplicant_install_igtk(sm, igtk) < 0)
+ return -1;
+- }
+- os_memset(&igd, 0, sizeof(igd));
+ #endif /* CONFIG_IEEE80211W */
+ } else {
+ wpa_printf(MSG_DEBUG, "Unknown element id");
+diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
+index f653ba6..afc9e37 100644
+--- a/src/rsn_supp/wpa_i.h
++++ b/src/rsn_supp/wpa_i.h
+@@ -31,6 +31,10 @@ struct wpa_sm {
+ u8 rx_replay_counter[WPA_REPLAY_COUNTER_LEN];
+ int rx_replay_counter_set;
+ u8 request_counter[WPA_REPLAY_COUNTER_LEN];
++ struct wpa_gtk gtk;
++#ifdef CONFIG_IEEE80211W
++ struct wpa_igtk igtk;
++#endif /* CONFIG_IEEE80211W */
+
+ struct eapol_sm *eapol; /* EAPOL state machine from upper level code */
+
+--
+2.7.4
+
diff --git a/abs/core/wpa_supplicant/0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch b/abs/core/wpa_supplicant/0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch
new file mode 100644
index 0000000..e2937b8
--- /dev/null
+++ b/abs/core/wpa_supplicant/0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch
@@ -0,0 +1,184 @@
+From 8280294e74846ea342389a0cd17215050fa5afe8 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Sun, 1 Oct 2017 12:12:24 +0300
+Subject: [PATCH 3/8] Extend protection of GTK/IGTK reinstallation of WNM-Sleep
+ Mode cases
+
+This extends the protection to track last configured GTK/IGTK value
+separately from EAPOL-Key frames and WNM-Sleep Mode frames to cover a
+corner case where these two different mechanisms may get used when the
+GTK/IGTK has changed and tracking a single value is not sufficient to
+detect a possible key reconfiguration.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/rsn_supp/wpa.c | 53 +++++++++++++++++++++++++++++++++++++---------------
+ src/rsn_supp/wpa_i.h | 2 ++
+ 2 files changed, 40 insertions(+), 15 deletions(-)
+
+diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
+index 95bd7be..7a2c68d 100644
+--- a/src/rsn_supp/wpa.c
++++ b/src/rsn_supp/wpa.c
+@@ -709,14 +709,17 @@ struct wpa_gtk_data {
+
+ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
+ const struct wpa_gtk_data *gd,
+- const u8 *key_rsc)
++ const u8 *key_rsc, int wnm_sleep)
+ {
+ const u8 *_gtk = gd->gtk;
+ u8 gtk_buf[32];
+
+ /* Detect possible key reinstallation */
+- if (sm->gtk.gtk_len == (size_t) gd->gtk_len &&
+- os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) {
++ if ((sm->gtk.gtk_len == (size_t) gd->gtk_len &&
++ os_memcmp(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len) == 0) ||
++ (sm->gtk_wnm_sleep.gtk_len == (size_t) gd->gtk_len &&
++ os_memcmp(sm->gtk_wnm_sleep.gtk, gd->gtk,
++ sm->gtk_wnm_sleep.gtk_len) == 0)) {
+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
+ "WPA: Not reinstalling already in-use GTK to the driver (keyidx=%d tx=%d len=%d)",
+ gd->keyidx, gd->tx, gd->gtk_len);
+@@ -757,8 +760,14 @@ static int wpa_supplicant_install_gtk(struct wpa_sm *sm,
+ }
+ os_memset(gtk_buf, 0, sizeof(gtk_buf));
+
+- sm->gtk.gtk_len = gd->gtk_len;
+- os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
++ if (wnm_sleep) {
++ sm->gtk_wnm_sleep.gtk_len = gd->gtk_len;
++ os_memcpy(sm->gtk_wnm_sleep.gtk, gd->gtk,
++ sm->gtk_wnm_sleep.gtk_len);
++ } else {
++ sm->gtk.gtk_len = gd->gtk_len;
++ os_memcpy(sm->gtk.gtk, gd->gtk, sm->gtk.gtk_len);
++ }
+
+ return 0;
+ }
+@@ -852,7 +861,7 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
+ (wpa_supplicant_check_group_cipher(sm, sm->group_cipher,
+ gtk_len, gtk_len,
+ &gd.key_rsc_len, &gd.alg) ||
+- wpa_supplicant_install_gtk(sm, &gd, key_rsc))) {
++ wpa_supplicant_install_gtk(sm, &gd, key_rsc, 0))) {
+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
+ "RSN: Failed to install GTK");
+ os_memset(&gd, 0, sizeof(gd));
+@@ -868,14 +877,18 @@ static int wpa_supplicant_pairwise_gtk(struct wpa_sm *sm,
+
+ #ifdef CONFIG_IEEE80211W
+ static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
+- const struct wpa_igtk_kde *igtk)
++ const struct wpa_igtk_kde *igtk,
++ int wnm_sleep)
+ {
+ size_t len = wpa_cipher_key_len(sm->mgmt_group_cipher);
+ u16 keyidx = WPA_GET_LE16(igtk->keyid);
+
+ /* Detect possible key reinstallation */
+- if (sm->igtk.igtk_len == len &&
+- os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) {
++ if ((sm->igtk.igtk_len == len &&
++ os_memcmp(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len) == 0) ||
++ (sm->igtk_wnm_sleep.igtk_len == len &&
++ os_memcmp(sm->igtk_wnm_sleep.igtk, igtk->igtk,
++ sm->igtk_wnm_sleep.igtk_len) == 0)) {
+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
+ "WPA: Not reinstalling already in-use IGTK to the driver (keyidx=%d)",
+ keyidx);
+@@ -900,8 +913,14 @@ static int wpa_supplicant_install_igtk(struct wpa_sm *sm,
+ return -1;
+ }
+
+- sm->igtk.igtk_len = len;
+- os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
++ if (wnm_sleep) {
++ sm->igtk_wnm_sleep.igtk_len = len;
++ os_memcpy(sm->igtk_wnm_sleep.igtk, igtk->igtk,
++ sm->igtk_wnm_sleep.igtk_len);
++ } else {
++ sm->igtk.igtk_len = len;
++ os_memcpy(sm->igtk.igtk, igtk->igtk, sm->igtk.igtk_len);
++ }
+
+ return 0;
+ }
+@@ -924,7 +943,7 @@ static int ieee80211w_set_keys(struct wpa_sm *sm,
+ return -1;
+
+ igtk = (const struct wpa_igtk_kde *) ie->igtk;
+- if (wpa_supplicant_install_igtk(sm, igtk) < 0)
++ if (wpa_supplicant_install_igtk(sm, igtk, 0) < 0)
+ return -1;
+ }
+
+@@ -1574,7 +1593,7 @@ static void wpa_supplicant_process_1_of_2(struct wpa_sm *sm,
+ if (wpa_supplicant_rsc_relaxation(sm, key->key_rsc))
+ key_rsc = null_rsc;
+
+- if (wpa_supplicant_install_gtk(sm, &gd, key_rsc) ||
++ if (wpa_supplicant_install_gtk(sm, &gd, key_rsc, 0) ||
+ wpa_supplicant_send_2_of_2(sm, key, ver, key_info) < 0)
+ goto failed;
+ os_memset(&gd, 0, sizeof(gd));
+@@ -2386,8 +2405,10 @@ void wpa_sm_notify_assoc(struct wpa_sm *sm, const u8 *bssid)
+ sm->tptk_set = 0;
+ os_memset(&sm->tptk, 0, sizeof(sm->tptk));
+ os_memset(&sm->gtk, 0, sizeof(sm->gtk));
++ os_memset(&sm->gtk_wnm_sleep, 0, sizeof(sm->gtk_wnm_sleep));
+ #ifdef CONFIG_IEEE80211W
+ os_memset(&sm->igtk, 0, sizeof(sm->igtk));
++ os_memset(&sm->igtk_wnm_sleep, 0, sizeof(sm->igtk_wnm_sleep));
+ #endif /* CONFIG_IEEE80211W */
+ }
+
+@@ -2920,8 +2941,10 @@ void wpa_sm_drop_sa(struct wpa_sm *sm)
+ os_memset(&sm->ptk, 0, sizeof(sm->ptk));
+ os_memset(&sm->tptk, 0, sizeof(sm->tptk));
+ os_memset(&sm->gtk, 0, sizeof(sm->gtk));
++ os_memset(&sm->gtk_wnm_sleep, 0, sizeof(sm->gtk_wnm_sleep));
+ #ifdef CONFIG_IEEE80211W
+ os_memset(&sm->igtk, 0, sizeof(sm->igtk));
++ os_memset(&sm->igtk_wnm_sleep, 0, sizeof(sm->igtk_wnm_sleep));
+ #endif /* CONFIG_IEEE80211W */
+ #ifdef CONFIG_IEEE80211R
+ os_memset(sm->xxkey, 0, sizeof(sm->xxkey));
+@@ -2986,7 +3009,7 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
+
+ wpa_hexdump_key(MSG_DEBUG, "Install GTK (WNM SLEEP)",
+ gd.gtk, gd.gtk_len);
+- if (wpa_supplicant_install_gtk(sm, &gd, key_rsc)) {
++ if (wpa_supplicant_install_gtk(sm, &gd, key_rsc, 1)) {
+ os_memset(&gd, 0, sizeof(gd));
+ wpa_printf(MSG_DEBUG, "Failed to install the GTK in "
+ "WNM mode");
+@@ -2998,7 +3021,7 @@ int wpa_wnmsleep_install_key(struct wpa_sm *sm, u8 subelem_id, u8 *buf)
+ const struct wpa_igtk_kde *igtk;
+
+ igtk = (const struct wpa_igtk_kde *) (buf + 2);
+- if (wpa_supplicant_install_igtk(sm, igtk) < 0)
++ if (wpa_supplicant_install_igtk(sm, igtk, 1) < 0)
+ return -1;
+ #endif /* CONFIG_IEEE80211W */
+ } else {
+diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
+index afc9e37..9a54631 100644
+--- a/src/rsn_supp/wpa_i.h
++++ b/src/rsn_supp/wpa_i.h
+@@ -32,8 +32,10 @@ struct wpa_sm {
+ int rx_replay_counter_set;
+ u8 request_counter[WPA_REPLAY_COUNTER_LEN];
+ struct wpa_gtk gtk;
++ struct wpa_gtk gtk_wnm_sleep;
+ #ifdef CONFIG_IEEE80211W
+ struct wpa_igtk igtk;
++ struct wpa_igtk igtk_wnm_sleep;
+ #endif /* CONFIG_IEEE80211W */
+
+ struct eapol_sm *eapol; /* EAPOL state machine from upper level code */
+--
+2.7.4
+
diff --git a/abs/core/wpa_supplicant/0004-Prevent-installation-of-an-all-zero-TK.patch b/abs/core/wpa_supplicant/0004-Prevent-installation-of-an-all-zero-TK.patch
new file mode 100644
index 0000000..22ee217
--- /dev/null
+++ b/abs/core/wpa_supplicant/0004-Prevent-installation-of-an-all-zero-TK.patch
@@ -0,0 +1,79 @@
+From 8f82bc94e8697a9d47fa8774dfdaaede1084912c Mon Sep 17 00:00:00 2001
+From: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+Date: Fri, 29 Sep 2017 04:22:51 +0200
+Subject: [PATCH 4/8] Prevent installation of an all-zero TK
+
+Properly track whether a PTK has already been installed to the driver
+and the TK part cleared from memory. This prevents an attacker from
+trying to trick the client into installing an all-zero TK.
+
+This fixes the earlier fix in commit
+ad00d64e7d8827b3cebd665a0ceb08adabf15e1e ('Fix TK configuration to the
+driver in EAPOL-Key 3/4 retry case') which did not take into account
+possibility of an extra message 1/4 showing up between retries of
+message 3/4.
+
+Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
+---
+ src/common/wpa_common.h | 1 +
+ src/rsn_supp/wpa.c | 5 ++---
+ src/rsn_supp/wpa_i.h | 1 -
+ 3 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/src/common/wpa_common.h b/src/common/wpa_common.h
+index d200285..1021ccb 100644
+--- a/src/common/wpa_common.h
++++ b/src/common/wpa_common.h
+@@ -215,6 +215,7 @@ struct wpa_ptk {
+ size_t kck_len;
+ size_t kek_len;
+ size_t tk_len;
++ int installed; /* 1 if key has already been installed to driver */
+ };
+
+ struct wpa_gtk {
+diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
+index 7a2c68d..0550a41 100644
+--- a/src/rsn_supp/wpa.c
++++ b/src/rsn_supp/wpa.c
+@@ -510,7 +510,6 @@ static void wpa_supplicant_process_1_of_4(struct wpa_sm *sm,
+ os_memset(buf, 0, sizeof(buf));
+ }
+ sm->tptk_set = 1;
+- sm->tk_to_set = 1;
+
+ kde = sm->assoc_wpa_ie;
+ kde_len = sm->assoc_wpa_ie_len;
+@@ -615,7 +614,7 @@ static int wpa_supplicant_install_ptk(struct wpa_sm *sm,
+ enum wpa_alg alg;
+ const u8 *key_rsc;
+
+- if (!sm->tk_to_set) {
++ if (sm->ptk.installed) {
+ wpa_dbg(sm->ctx->msg_ctx, MSG_DEBUG,
+ "WPA: Do not re-install same PTK to the driver");
+ return 0;
+@@ -659,7 +658,7 @@ static int wpa_supplicant_install_ptk(struct wpa_sm *sm,
+
+ /* TK is not needed anymore in supplicant */
+ os_memset(sm->ptk.tk, 0, WPA_TK_MAX_LEN);
+- sm->tk_to_set = 0;
++ sm->ptk.installed = 1;
+
+ if (sm->wpa_ptk_rekey) {
+ eloop_cancel_timeout(wpa_sm_rekey_ptk, sm, NULL);
+diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
+index 9a54631..41f371f 100644
+--- a/src/rsn_supp/wpa_i.h
++++ b/src/rsn_supp/wpa_i.h
+@@ -24,7 +24,6 @@ struct wpa_sm {
+ struct wpa_ptk ptk, tptk;
+ int ptk_set, tptk_set;
+ unsigned int msg_3_of_4_ok:1;
+- unsigned int tk_to_set:1;
+ u8 snonce[WPA_NONCE_LEN];
+ u8 anonce[WPA_NONCE_LEN]; /* ANonce from the last 1/4 msg */
+ int renew_snonce;
+--
+2.7.4
+
diff --git a/abs/core/wpa_supplicant/0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch b/abs/core/wpa_supplicant/0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch
new file mode 100644
index 0000000..c19c4c7
--- /dev/null
+++ b/abs/core/wpa_supplicant/0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch
@@ -0,0 +1,64 @@
+From 12fac09b437a1dc8a0f253e265934a8aaf4d2f8b Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Sun, 1 Oct 2017 12:32:57 +0300
+Subject: [PATCH 5/8] Fix PTK rekeying to generate a new ANonce
+
+The Authenticator state machine path for PTK rekeying ended up bypassing
+the AUTHENTICATION2 state where a new ANonce is generated when going
+directly to the PTKSTART state since there is no need to try to
+determine the PMK again in such a case. This is far from ideal since the
+new PTK would depend on a new nonce only from the supplicant.
+
+Fix this by generating a new ANonce when moving to the PTKSTART state
+for the purpose of starting new 4-way handshake to rekey PTK.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/ap/wpa_auth.c | 24 +++++++++++++++++++++---
+ 1 file changed, 21 insertions(+), 3 deletions(-)
+
+diff --git a/src/ap/wpa_auth.c b/src/ap/wpa_auth.c
+index 707971d..bf10cc1 100644
+--- a/src/ap/wpa_auth.c
++++ b/src/ap/wpa_auth.c
+@@ -1901,6 +1901,21 @@ SM_STATE(WPA_PTK, AUTHENTICATION2)
+ }
+
+
++static int wpa_auth_sm_ptk_update(struct wpa_state_machine *sm)
++{
++ if (random_get_bytes(sm->ANonce, WPA_NONCE_LEN)) {
++ wpa_printf(MSG_ERROR,
++ "WPA: Failed to get random data for ANonce");
++ sm->Disconnect = TRUE;
++ return -1;
++ }
++ wpa_hexdump(MSG_DEBUG, "WPA: Assign new ANonce", sm->ANonce,
++ WPA_NONCE_LEN);
++ sm->TimeoutCtr = 0;
++ return 0;
++}
++
++
+ SM_STATE(WPA_PTK, INITPMK)
+ {
+ u8 msk[2 * PMK_LEN];
+@@ -2458,9 +2473,12 @@ SM_STEP(WPA_PTK)
+ SM_ENTER(WPA_PTK, AUTHENTICATION);
+ else if (sm->ReAuthenticationRequest)
+ SM_ENTER(WPA_PTK, AUTHENTICATION2);
+- else if (sm->PTKRequest)
+- SM_ENTER(WPA_PTK, PTKSTART);
+- else switch (sm->wpa_ptk_state) {
++ else if (sm->PTKRequest) {
++ if (wpa_auth_sm_ptk_update(sm) < 0)
++ SM_ENTER(WPA_PTK, DISCONNECTED);
++ else
++ SM_ENTER(WPA_PTK, PTKSTART);
++ } else switch (sm->wpa_ptk_state) {
+ case WPA_PTK_INITIALIZE:
+ break;
+ case WPA_PTK_DISCONNECT:
+--
+2.7.4
+
diff --git a/abs/core/wpa_supplicant/0006-TDLS-Reject-TPK-TK-reconfiguration.patch b/abs/core/wpa_supplicant/0006-TDLS-Reject-TPK-TK-reconfiguration.patch
new file mode 100644
index 0000000..e1bd5a5
--- /dev/null
+++ b/abs/core/wpa_supplicant/0006-TDLS-Reject-TPK-TK-reconfiguration.patch
@@ -0,0 +1,132 @@
+From 6c4bed4f47d1960ec04981a9d50e5076aea5223d Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Fri, 22 Sep 2017 11:03:15 +0300
+Subject: [PATCH 6/8] TDLS: Reject TPK-TK reconfiguration
+
+Do not try to reconfigure the same TPK-TK to the driver after it has
+been successfully configured. This is an explicit check to avoid issues
+related to resetting the TX/RX packet number. There was already a check
+for this for TPK M2 (retries of that message are ignored completely), so
+that behavior does not get modified.
+
+For TPK M3, the TPK-TK could have been reconfigured, but that was
+followed by immediate teardown of the link due to an issue in updating
+the STA entry. Furthermore, for TDLS with any real security (i.e.,
+ignoring open/WEP), the TPK message exchange is protected on the AP path
+and simple replay attacks are not feasible.
+
+As an additional corner case, make sure the local nonce gets updated if
+the peer uses a very unlikely "random nonce" of all zeros.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/rsn_supp/tdls.c | 38 ++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 36 insertions(+), 2 deletions(-)
+
+diff --git a/src/rsn_supp/tdls.c b/src/rsn_supp/tdls.c
+index e424168..9eb9738 100644
+--- a/src/rsn_supp/tdls.c
++++ b/src/rsn_supp/tdls.c
+@@ -112,6 +112,7 @@ struct wpa_tdls_peer {
+ u8 tk[16]; /* TPK-TK; assuming only CCMP will be used */
+ } tpk;
+ int tpk_set;
++ int tk_set; /* TPK-TK configured to the driver */
+ int tpk_success;
+ int tpk_in_progress;
+
+@@ -192,6 +193,20 @@ static int wpa_tdls_set_key(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
+ u8 rsc[6];
+ enum wpa_alg alg;
+
++ if (peer->tk_set) {
++ /*
++ * This same TPK-TK has already been configured to the driver
++ * and this new configuration attempt (likely due to an
++ * unexpected retransmitted frame) would result in clearing
++ * the TX/RX sequence number which can break security, so must
++ * not allow that to happen.
++ */
++ wpa_printf(MSG_INFO, "TDLS: TPK-TK for the peer " MACSTR
++ " has already been configured to the driver - do not reconfigure",
++ MAC2STR(peer->addr));
++ return -1;
++ }
++
+ os_memset(rsc, 0, 6);
+
+ switch (peer->cipher) {
+@@ -209,12 +224,15 @@ static int wpa_tdls_set_key(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
+ return -1;
+ }
+
++ wpa_printf(MSG_DEBUG, "TDLS: Configure pairwise key for peer " MACSTR,
++ MAC2STR(peer->addr));
+ if (wpa_sm_set_key(sm, alg, peer->addr, -1, 1,
+ rsc, sizeof(rsc), peer->tpk.tk, key_len) < 0) {
+ wpa_printf(MSG_WARNING, "TDLS: Failed to set TPK to the "
+ "driver");
+ return -1;
+ }
++ peer->tk_set = 1;
+ return 0;
+ }
+
+@@ -696,7 +714,7 @@ static void wpa_tdls_peer_clear(struct wpa_sm *sm, struct wpa_tdls_peer *peer)
+ peer->cipher = 0;
+ peer->qos_info = 0;
+ peer->wmm_capable = 0;
+- peer->tpk_set = peer->tpk_success = 0;
++ peer->tk_set = peer->tpk_set = peer->tpk_success = 0;
+ peer->chan_switch_enabled = 0;
+ os_memset(&peer->tpk, 0, sizeof(peer->tpk));
+ os_memset(peer->inonce, 0, WPA_NONCE_LEN);
+@@ -1159,6 +1177,7 @@ skip_rsnie:
+ wpa_tdls_peer_free(sm, peer);
+ return -1;
+ }
++ peer->tk_set = 0; /* A new nonce results in a new TK */
+ wpa_hexdump(MSG_DEBUG, "TDLS: Initiator Nonce for TPK handshake",
+ peer->inonce, WPA_NONCE_LEN);
+ os_memcpy(ftie->Snonce, peer->inonce, WPA_NONCE_LEN);
+@@ -1751,6 +1770,19 @@ static int wpa_tdls_addset_peer(struct wpa_sm *sm, struct wpa_tdls_peer *peer,
+ }
+
+
++static int tdls_nonce_set(const u8 *nonce)
++{
++ int i;
++
++ for (i = 0; i < WPA_NONCE_LEN; i++) {
++ if (nonce[i])
++ return 1;
++ }
++
++ return 0;
++}
++
++
+ static int wpa_tdls_process_tpk_m1(struct wpa_sm *sm, const u8 *src_addr,
+ const u8 *buf, size_t len)
+ {
+@@ -2004,7 +2036,8 @@ skip_rsn:
+ peer->rsnie_i_len = kde.rsn_ie_len;
+ peer->cipher = cipher;
+
+- if (os_memcmp(peer->inonce, ftie->Snonce, WPA_NONCE_LEN) != 0) {
++ if (os_memcmp(peer->inonce, ftie->Snonce, WPA_NONCE_LEN) != 0 ||
++ !tdls_nonce_set(peer->inonce)) {
+ /*
+ * There is no point in updating the RNonce for every obtained
+ * TPK M1 frame (e.g., retransmission due to timeout) with the
+@@ -2020,6 +2053,7 @@ skip_rsn:
+ "TDLS: Failed to get random data for responder nonce");
+ goto error;
+ }
++ peer->tk_set = 0; /* A new nonce results in a new TK */
+ }
+
+ #if 0
+--
+2.7.4
+
diff --git a/abs/core/wpa_supplicant/0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch b/abs/core/wpa_supplicant/0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch
new file mode 100644
index 0000000..85ea1d6
--- /dev/null
+++ b/abs/core/wpa_supplicant/0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch
@@ -0,0 +1,43 @@
+From 53c5eb58e95004f86e65ee9fbfccbc291b139057 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Fri, 22 Sep 2017 11:25:02 +0300
+Subject: [PATCH 7/8] WNM: Ignore WNM-Sleep Mode Response without pending
+ request
+
+Commit 03ed0a52393710be6bdae657d1b36efa146520e5 ('WNM: Ignore WNM-Sleep
+Mode Response if WNM-Sleep Mode has not been used') started ignoring the
+response when no WNM-Sleep Mode Request had been used during the
+association. This can be made tighter by clearing the used flag when
+successfully processing a response. This adds an additional layer of
+protection against unexpected retransmissions of the response frame.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ wpa_supplicant/wnm_sta.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/wpa_supplicant/wnm_sta.c b/wpa_supplicant/wnm_sta.c
+index 1b3409c..67a07ff 100644
+--- a/wpa_supplicant/wnm_sta.c
++++ b/wpa_supplicant/wnm_sta.c
+@@ -260,7 +260,7 @@ static void ieee802_11_rx_wnmsleep_resp(struct wpa_supplicant *wpa_s,
+
+ if (!wpa_s->wnmsleep_used) {
+ wpa_printf(MSG_DEBUG,
+- "WNM: Ignore WNM-Sleep Mode Response frame since WNM-Sleep Mode has not been used in this association");
++ "WNM: Ignore WNM-Sleep Mode Response frame since WNM-Sleep Mode operation has not been requested");
+ return;
+ }
+
+@@ -299,6 +299,8 @@ static void ieee802_11_rx_wnmsleep_resp(struct wpa_supplicant *wpa_s,
+ return;
+ }
+
++ wpa_s->wnmsleep_used = 0;
++
+ if (wnmsleep_ie->status == WNM_STATUS_SLEEP_ACCEPT ||
+ wnmsleep_ie->status == WNM_STATUS_SLEEP_EXIT_ACCEPT_GTK_UPDATE) {
+ wpa_printf(MSG_DEBUG, "Successfully recv WNM-Sleep Response "
+--
+2.7.4
+
diff --git a/abs/core/wpa_supplicant/0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch b/abs/core/wpa_supplicant/0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch
new file mode 100644
index 0000000..b9678f6
--- /dev/null
+++ b/abs/core/wpa_supplicant/0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch
@@ -0,0 +1,82 @@
+From b372ab0b7daea719749194dc554b26e6367603f2 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Fri, 22 Sep 2017 12:06:37 +0300
+Subject: [PATCH 8/8] FT: Do not allow multiple Reassociation Response frames
+
+The driver is expected to not report a second association event without
+the station having explicitly request a new association. As such, this
+case should not be reachable. However, since reconfiguring the same
+pairwise or group keys to the driver could result in nonce reuse issues,
+be extra careful here and do an additional state check to avoid this
+even if the local driver ends up somehow accepting an unexpected
+Reassociation Response frame.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+---
+ src/rsn_supp/wpa.c | 3 +++
+ src/rsn_supp/wpa_ft.c | 8 ++++++++
+ src/rsn_supp/wpa_i.h | 1 +
+ 3 files changed, 12 insertions(+)
+
+diff --git a/src/rsn_supp/wpa.c b/src/rsn_supp/wpa.c
+index 0550a41..2a53c6f 100644
+--- a/src/rsn_supp/wpa.c
++++ b/src/rsn_supp/wpa.c
+@@ -2440,6 +2440,9 @@ void wpa_sm_notify_disassoc(struct wpa_sm *sm)
+ #ifdef CONFIG_TDLS
+ wpa_tdls_disassoc(sm);
+ #endif /* CONFIG_TDLS */
++#ifdef CONFIG_IEEE80211R
++ sm->ft_reassoc_completed = 0;
++#endif /* CONFIG_IEEE80211R */
+
+ /* Keys are not needed in the WPA state machine anymore */
+ wpa_sm_drop_sa(sm);
+diff --git a/src/rsn_supp/wpa_ft.c b/src/rsn_supp/wpa_ft.c
+index 205793e..d45bb45 100644
+--- a/src/rsn_supp/wpa_ft.c
++++ b/src/rsn_supp/wpa_ft.c
+@@ -153,6 +153,7 @@ static u8 * wpa_ft_gen_req_ies(struct wpa_sm *sm, size_t *len,
+ u16 capab;
+
+ sm->ft_completed = 0;
++ sm->ft_reassoc_completed = 0;
+
+ buf_len = 2 + sizeof(struct rsn_mdie) + 2 + sizeof(struct rsn_ftie) +
+ 2 + sm->r0kh_id_len + ric_ies_len + 100;
+@@ -681,6 +682,11 @@ int wpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies,
+ return -1;
+ }
+
++ if (sm->ft_reassoc_completed) {
++ wpa_printf(MSG_DEBUG, "FT: Reassociation has already been completed for this FT protocol instance - ignore unexpected retransmission");
++ return 0;
++ }
++
+ if (wpa_ft_parse_ies(ies, ies_len, &parse) < 0) {
+ wpa_printf(MSG_DEBUG, "FT: Failed to parse IEs");
+ return -1;
+@@ -781,6 +787,8 @@ int wpa_ft_validate_reassoc_resp(struct wpa_sm *sm, const u8 *ies,
+ return -1;
+ }
+
++ sm->ft_reassoc_completed = 1;
++
+ if (wpa_ft_process_gtk_subelem(sm, parse.gtk, parse.gtk_len) < 0)
+ return -1;
+
+diff --git a/src/rsn_supp/wpa_i.h b/src/rsn_supp/wpa_i.h
+index 41f371f..56f88dc 100644
+--- a/src/rsn_supp/wpa_i.h
++++ b/src/rsn_supp/wpa_i.h
+@@ -128,6 +128,7 @@ struct wpa_sm {
+ size_t r0kh_id_len;
+ u8 r1kh_id[FT_R1KH_ID_LEN];
+ int ft_completed;
++ int ft_reassoc_completed;
+ int over_the_ds_in_progress;
+ u8 target_ap[ETH_ALEN]; /* over-the-DS target AP */
+ int set_ptk_after_assoc;
+--
+2.7.4
+
diff --git a/abs/core/wpa_supplicant/PKGBUILD b/abs/core/wpa_supplicant/PKGBUILD
index 78860cb..4b97114 100644
--- a/abs/core/wpa_supplicant/PKGBUILD
+++ b/abs/core/wpa_supplicant/PKGBUILD
@@ -1,57 +1,89 @@
# $Id$
-# Maintainer: Thomas Bächler <thomas@archlinux.org>
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Thomas Bächler <thomas@archlinux.org>
pkgname=wpa_supplicant
-pkgver=2.1
-pkgrel=3
-pkgdesc="A utility providing key negotiation for WPA wireless networks"
-url="http://hostap.epitest.fi/wpa_supplicant"
-arch=('i686' 'x86_64')
-depends=('openssl' 'libdbus' 'readline' 'libnl')
-optdepends=('wpa_supplicant_gui: wpa_gui program')
-license=('GPL')
-backup=('etc/wpa_supplicant/wpa_supplicant.conf')
-source=("http://w1.fi/releases/${pkgname}-${pkgver}.tar.gz"
- config
- 0001-Revert-OpenSSL-Do-not-accept-SSL-Client-certificate-.patch)
-sha256sums=('91632e7e3b49a340ce408e2f978a93546a697383abf2e5a60f146faae9e1b277'
- '522b1e2b330bd3fcb9c3c964b0f05ad197a2f1160741835a47585ea45ba8e0a4'
- '3c85fa2cf2465fea86383eece75fa5479507a174da6f0cd09e691fbaaca03c74')
+pkgver=2.6
+pkgrel=11
+epoch=1
+pkgdesc='A utility providing key negotiation for WPA wireless networks'
+url='http://hostap.epitest.fi/wpa_supplicant'
+arch=(x86_64)
+license=(GPL)
+depends=(openssl-1.0 libdbus readline libnl)
+install=wpa_supplicant.install
+source=(https://w1.fi/releases/${pkgname}-${pkgver}.tar.gz{,.asc}
+ config
+ 0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch
+ 0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch
+ 0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch
+ 0004-Prevent-installation-of-an-all-zero-TK.patch
+ 0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch
+ 0006-TDLS-Reject-TPK-TK-reconfiguration.patch
+ 0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch
+ 0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch
+)
+validpgpkeys=('EC4AA0A991A5F2464582D52D2B6EF432EFC895FA') # Jouni Malinen
+sha256sums=('b4936d34c4e6cdd44954beba74296d964bc2c9668ecaa5255e499636fe2b1450'
+ 'SKIP'
+ 'aeba21c48416342092964dada271ca6dfe842fc862774c2d3b150785225f66e2'
+ '529113cc81256c6178f3c1cf25dd8d3f33e6d770e4a180bd31c6ab7e4917f40b'
+ 'd86d47ab74170f3648b45b91bce780949ca92b09ab43df065178850ec0c335d7'
+ 'd4535e36739a0cc7f3585e6bcba3c0bb8fc67cb3e729844e448c5dc751f47e81'
+ '793a54748161b5af430dd9de4a1988d19cb8e85ab29bc2340f886b0297cee20b'
+ '147c8abe07606905d16404fb2d2c8849796ca7c85ed8673c09bb50038bcdeb9e'
+ '596d4d3b63ea859ed7ea9791b3a21cb11b6173b04c0a14a2afa47edf1666afa6'
+ 'c5a17af84aec2d88c56ce0da2d6945be398fe7cab5c0c340deb30973900c2736'
+ 'c8840d857b9432f3b488113c85c1ff5d4a4b8d81078b7033388dae1e990843b1')
prepare() {
- cd "${srcdir}/${pkgname}-${pkgver}/"
- patch -p1 -i "${srcdir}"/0001-Revert-OpenSSL-Do-not-accept-SSL-Client-certificate-.patch
+ cd "$srcdir/$pkgname-$pkgver"
+ local i; for i in "${source[@]}"; do
+ case $i in
+ *.patch)
+ msg2 "Applying patch $i"
+ patch -p1 -i "$srcdir/$i"
+ ;;
+ esac
+ done
- cd "${pkgname}/"
- cp "${srcdir}/config" ./.config
+ cd "$srcdir/$pkgname-$pkgver/$pkgname"
+ cp "$srcdir/config" ./.config
}
build() {
- cd "${srcdir}/${pkgname}-${pkgver}/${pkgname}"
+ cd "$srcdir/$pkgname-$pkgver/$pkgname"
+
+ export CFLAGS="$CPPFLAGS $CFLAGS -I/usr/include/openssl-1.0"
+ export LIBS="-L/usr/lib/openssl-1.0"
+ export LIBS_p="-L/usr/lib/openssl-1.0"
- # The Makefile does not pick up our CPPFLAGS
- export CFLAGS="$CPPFLAGS $CFLAGS"
make LIBDIR=/usr/lib BINDIR=/usr/bin
+ make LIBDIR=/usr/lib BINDIR=/usr/bin eapol_test
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}/${pkgname}"
- make LIBDIR=/usr/lib BINDIR=/usr/bin DESTDIR="${pkgdir}" install
+ cd "$srcdir/$pkgname-$pkgver/$pkgname"
+ make LIBDIR=/usr/lib BINDIR=/usr/bin DESTDIR="$pkgdir" install
+ install -Dm755 eapol_test "$pkgdir/usr/bin/eapol_test"
- install -d -m755 "${pkgdir}/etc/wpa_supplicant"
- install -m644 wpa_supplicant.conf "${pkgdir}/etc/wpa_supplicant/wpa_supplicant.conf"
+ install -d -m755 "$pkgdir/etc/wpa_supplicant"
+ install -Dm644 wpa_supplicant.conf \
+ "$pkgdir/usr/share/doc/wpa_supplicant/wpa_supplicant.conf"
- install -d -m755 "${pkgdir}/usr/share/man/man"{5,8}
- install -m644 doc/docbook/*.5 "${pkgdir}/usr/share/man/man5/"
- install -m644 doc/docbook/*.8 "${pkgdir}/usr/share/man/man8/"
- rm -f "${pkgdir}/usr/share/man/man8/wpa_"{priv,gui}.8
+ install -d -m755 "$pkgdir/usr/share/man/man"{5,8}
+ install -m644 doc/docbook/*.5 "$pkgdir/usr/share/man/man5/"
+ install -m644 doc/docbook/*.8 "$pkgdir/usr/share/man/man8/"
+ rm -f "$pkgdir/usr/share/man/man8/wpa_"{priv,gui}.8
- install -d -m755 "${pkgdir}/usr/share/dbus-1/system-services"
- install -m644 dbus/{fi.epitest.hostap.WPASupplicant.service,fi.w1.wpa_supplicant1.service} "${pkgdir}/usr/share/dbus-1/system-services/"
+ install -d -m755 "$pkgdir/usr/share/dbus-1/system-services"
+ install -m644 \
+ dbus/fi.{epitest.hostap.WPASupplicant,w1.wpa_supplicant1}.service \
+ "$pkgdir/usr/share/dbus-1/system-services/"
- install -d -m755 "${pkgdir}/etc/dbus-1/system.d"
- install -m644 dbus/dbus-wpa_supplicant.conf "${pkgdir}/etc/dbus-1/system.d/wpa_supplicant.conf"
+ install -Dm644 dbus/dbus-wpa_supplicant.conf \
+ "$pkgdir/etc/dbus-1/system.d/wpa_supplicant.conf"
- install -d -m755 "${pkgdir}/usr/lib/systemd/system"
- install -m644 systemd/*.service "${pkgdir}/usr/lib/systemd/system/"
+ install -d -m755 "$pkgdir/usr/lib/systemd/system"
+ install -m644 systemd/*.service "$pkgdir/usr/lib/systemd/system/"
}
diff --git a/abs/core/wpa_supplicant/config b/abs/core/wpa_supplicant/config
index c1035b4..bef7737 100644
--- a/abs/core/wpa_supplicant/config
+++ b/abs/core/wpa_supplicant/config
@@ -1,505 +1,46 @@
-# Example wpa_supplicant build time configuration
-#
-# This file lists the configuration options that are used when building the
-# hostapd binary. All lines starting with # are ignored. Configuration option
-# lines must be commented out complete, if they are not to be included, i.e.,
-# just setting VARIABLE=n is not disabling that variable.
-#
-# This file is included in Makefile, so variables like CFLAGS and LIBS can also
-# be modified from here. In most cases, these lines should use += in order not
-# to override previous values of the variables.
-
-
-# Uncomment following two lines and fix the paths if you have installed OpenSSL
-# or GnuTLS in non-default location
-#CFLAGS += -I/usr/local/openssl/include
-#LIBS += -L/usr/local/openssl/lib
-
-# Some Red Hat versions seem to include kerberos header files from OpenSSL, but
-# the kerberos files are not in the default include path. Following line can be
-# used to fix build issues on such systems (krb5.h not found).
-#CFLAGS += -I/usr/include/kerberos
-
-# Driver interface for generic Linux wireless extensions
-# Note: WEXT is deprecated in the current Linux kernel version and no new
-# functionality is added to it. nl80211-based interface is the new
-# replacement for WEXT and its use allows wpa_supplicant to properly control
-# the driver to improve existing functionality like roaming and to support new
-# functionality.
-CONFIG_DRIVER_WEXT=y
-
-# Driver interface for Linux drivers using the nl80211 kernel interface
+CONFIG_AP=y
+CONFIG_AUTOSCAN_EXPONENTIAL=y
+CONFIG_AUTOSCAN_PERIODIC=y
+CONFIG_BACKEND=file
+CONFIG_BGSCAN_SIMPLE=y
+CONFIG_CTRL_IFACE=y
+CONFIG_CTRL_IFACE_BUS=y
+CONFIG_CTRL_IFACE_DBUS_INTRO=y
+CONFIG_CTRL_IFACE_DBUS_NEW=y
+CONFIG_DEBUG_FILE=y
CONFIG_DRIVER_NL80211=y
-
-# driver_nl80211.c requires libnl. If you are compiling it yourself
-# you may need to point hostapd to your version of libnl.
-#
-#CFLAGS += -I$<path to libnl include files>
-#LIBS += -L$<path to libnl library files>
-
-# Use libnl v2.0 (or 3.0) libraries.
-#CONFIG_LIBNL20=y
-
-# Use libnl 3.2 libraries (if this is selected, CONFIG_LIBNL20 is ignored)
-CONFIG_LIBNL32=y
-
-
-# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver)
-#CONFIG_DRIVER_BSD=y
-#CFLAGS += -I/usr/local/include
-#LIBS += -L/usr/local/lib
-#LIBS_p += -L/usr/local/lib
-#LIBS_c += -L/usr/local/lib
-
-# Driver interface for Windows NDIS
-#CONFIG_DRIVER_NDIS=y
-#CFLAGS += -I/usr/include/w32api/ddk
-#LIBS += -L/usr/local/lib
-# For native build using mingw
-#CONFIG_NATIVE_WINDOWS=y
-# Additional directories for cross-compilation on Linux host for mingw target
-#CFLAGS += -I/opt/mingw/mingw32/include/ddk
-#LIBS += -L/opt/mingw/mingw32/lib
-#CC=mingw32-gcc
-# By default, driver_ndis uses WinPcap for low-level operations. This can be
-# replaced with the following option which replaces WinPcap calls with NDISUIO.
-# However, this requires that WZC is disabled (net stop wzcsvc) before starting
-# wpa_supplicant.
-# CONFIG_USE_NDISUIO=y
-
-# Driver interface for development testing
-#CONFIG_DRIVER_TEST=y
-
-# Driver interface for wired Ethernet drivers
+CONFIG_DRIVER_WEXT=y
CONFIG_DRIVER_WIRED=y
-
-# Driver interface for the Broadcom RoboSwitch family
-#CONFIG_DRIVER_ROBOSWITCH=y
-
-# Driver interface for no driver (e.g., WPS ER only)
-#CONFIG_DRIVER_NONE=y
-
-# Solaris libraries
-#LIBS += -lsocket -ldlpi -lnsl
-#LIBS_c += -lsocket
-
-# Enable IEEE 802.1X Supplicant (automatically included if any EAP method is
-# included)
-CONFIG_IEEE8021X_EAPOL=y
-
-# EAP-MD5
+CONFIG_EAP_FAST=y
+CONFIG_EAP_GTC=y
+CONFIG_EAP_LEAP=y
CONFIG_EAP_MD5=y
-
-# EAP-MSCHAPv2
CONFIG_EAP_MSCHAPV2=y
-
-# EAP-TLS
-CONFIG_EAP_TLS=y
-
-# EAL-PEAP
+CONFIG_EAP_OTP=y
CONFIG_EAP_PEAP=y
-
-# EAP-TTLS
+CONFIG_EAP_PWD=y
+CONFIG_EAP_TLS=y
CONFIG_EAP_TTLS=y
-
-# EAP-FAST
-# Note: If OpenSSL is used as the TLS library, OpenSSL 1.0 or newer is needed
-# for EAP-FAST support. Older OpenSSL releases would need to be patched, e.g.,
-# with openssl-0.9.8x-tls-extensions.patch, to add the needed functions.
-CONFIG_EAP_FAST=y
-
-# EAP-GTC
-CONFIG_EAP_GTC=y
-
-# EAP-OTP
-CONFIG_EAP_OTP=y
-
-# EAP-SIM (enable CONFIG_PCSC, if EAP-SIM is used)
-#CONFIG_EAP_SIM=y
-
-# EAP-PSK (experimental; this is _not_ needed for WPA-PSK)
-#CONFIG_EAP_PSK=y
-
-# EAP-pwd (secure authentication using only a password)
-#CONFIG_EAP_PWD=y
-
-# EAP-PAX
-#CONFIG_EAP_PAX=y
-
-# LEAP
-CONFIG_EAP_LEAP=y
-
-# EAP-AKA (enable CONFIG_PCSC, if EAP-AKA is used)
-#CONFIG_EAP_AKA=y
-
-# EAP-AKA' (enable CONFIG_PCSC, if EAP-AKA' is used).
-# This requires CONFIG_EAP_AKA to be enabled, too.
-#CONFIG_EAP_AKA_PRIME=y
-
-# Enable USIM simulator (Milenage) for EAP-AKA
-#CONFIG_USIM_SIMULATOR=y
-
-# EAP-SAKE
-#CONFIG_EAP_SAKE=y
-
-# EAP-GPSK
-#CONFIG_EAP_GPSK=y
-# Include support for optional SHA256 cipher suite in EAP-GPSK
-#CONFIG_EAP_GPSK_SHA256=y
-
-# EAP-TNC and related Trusted Network Connect support (experimental)
-#CONFIG_EAP_TNC=y
-
-# Wi-Fi Protected Setup (WPS)
-CONFIG_WPS=y
-# Enable WSC 2.0 support
-#CONFIG_WPS2=y
-# Enable WPS external registrar functionality
-#CONFIG_WPS_ER=y
-# Disable credentials for an open network by default when acting as a WPS
-# registrar.
-#CONFIG_WPS_REG_DISABLE_OPEN=y
-# Enable WPS support with NFC config method
-CONFIG_WPS_NFC=y
-
-# EAP-IKEv2
-#CONFIG_EAP_IKEV2=y
-
-# EAP-EKE
-#CONFIG_EAP_EKE=y
-
-# PKCS#12 (PFX) support (used to read private key and certificate file from
-# a file that usually has extension .p12 or .pfx)
-CONFIG_PKCS12=y
-
-# Smartcard support (i.e., private key on a smartcard), e.g., with openssl
-# engine.
-CONFIG_SMARTCARD=y
-
-# PC/SC interface for smartcards (USIM, GSM SIM)
-# Enable this if EAP-SIM or EAP-AKA is included
-#CONFIG_PCSC=y
-
-# Support HT overrides (disable HT/HT40, mask MCS rates, etc.)
+CONFIG_HS20=y
CONFIG_HT_OVERRIDES=y
-
-# Support VHT overrides (disable VHT, mask MCS rates, etc.)
-CONFIG_VHT_OVERRIDES=y
-
-# Development testing
-#CONFIG_EAPOL_TEST=y
-
-# Select control interface backend for external programs, e.g, wpa_cli:
-# unix = UNIX domain sockets (default for Linux/*BSD)
-# udp = UDP sockets using localhost (127.0.0.1)
-# named_pipe = Windows Named Pipe (default for Windows)
-# udp-remote = UDP sockets with remote access (only for tests systems/purpose)
-# y = use default (backwards compatibility)
-# If this option is commented out, control interface is not included in the
-# build.
-CONFIG_CTRL_IFACE=y
-
-# Include support for GNU Readline and History Libraries in wpa_cli.
-# When building a wpa_cli binary for distribution, please note that these
-# libraries are licensed under GPL and as such, BSD license may not apply for
-# the resulting binary.
-CONFIG_READLINE=y
-
-# Include internal line edit mode in wpa_cli. This can be used as a replacement
-# for GNU Readline to provide limited command line editing and history support.
-#CONFIG_WPA_CLI_EDIT=y
-
-# Remove debugging code that is printing out debug message to stdout.
-# This can be used to reduce the size of the wpa_supplicant considerably
-# if debugging code is not needed. The size reduction can be around 35%
-# (e.g., 90 kB).
-#CONFIG_NO_STDOUT_DEBUG=y
-
-# Remove WPA support, e.g., for wired-only IEEE 802.1X supplicant, to save
-# 35-50 kB in code size.
-#CONFIG_NO_WPA=y
-
-# Remove IEEE 802.11i/WPA-Personal ASCII passphrase support
-# This option can be used to reduce code size by removing support for
-# converting ASCII passphrases into PSK. If this functionality is removed, the
-# PSK can only be configured as the 64-octet hexstring (e.g., from
-# wpa_passphrase). This saves about 0.5 kB in code size.
-#CONFIG_NO_WPA_PASSPHRASE=y
-
-# Disable scan result processing (ap_mode=1) to save code size by about 1 kB.
-# This can be used if ap_scan=1 mode is never enabled.
-#CONFIG_NO_SCAN_PROCESSING=y
-
-# Select configuration backend:
-# file = text file (e.g., wpa_supplicant.conf; note: the configuration file
-# path is given on command line, not here; this option is just used to
-# select the backend that allows configuration files to be used)
-# winreg = Windows registry (see win_example.reg for an example)
-CONFIG_BACKEND=file
-
-# Remove configuration write functionality (i.e., to allow the configuration
-# file to be updated based on runtime configuration changes). The runtime
-# configuration can still be changed, the changes are just not going to be
-# persistent over restarts. This option can be used to reduce code size by
-# about 3.5 kB.
-#CONFIG_NO_CONFIG_WRITE=y
-
-# Remove support for configuration blobs to reduce code size by about 1.5 kB.
-#CONFIG_NO_CONFIG_BLOBS=y
-
-# Select program entry point implementation:
-# main = UNIX/POSIX like main() function (default)
-# main_winsvc = Windows service (read parameters from registry)
-# main_none = Very basic example (development use only)
-#CONFIG_MAIN=main
-
-# Select wrapper for operatins system and C library specific functions
-# unix = UNIX/POSIX like systems (default)
-# win32 = Windows systems
-# none = Empty template
-#CONFIG_OS=unix
-
-# Select event loop implementation
-# eloop = select() loop (default)
-# eloop_win = Windows events and WaitForMultipleObject() loop
-#CONFIG_ELOOP=eloop
-
-# Should we use poll instead of select? Select is used by default.
-#CONFIG_ELOOP_POLL=y
-
-# Select layer 2 packet implementation
-# linux = Linux packet socket (default)
-# pcap = libpcap/libdnet/WinPcap
-# freebsd = FreeBSD libpcap
-# winpcap = WinPcap with receive thread
-# ndis = Windows NDISUIO (note: requires CONFIG_USE_NDISUIO=y)
-# none = Empty template
-#CONFIG_L2_PACKET=linux
-
-# PeerKey handshake for Station to Station Link (IEEE 802.11e DLS)
-CONFIG_PEERKEY=y
-
-# IEEE 802.11w (management frame protection), also known as PMF
-# Driver support is also needed for IEEE 802.11w.
+CONFIG_IBSS_RSN=y
+CONFIG_IEEE80211AC=y
+CONFIG_IEEE80211N=y
+CONFIG_IEEE80211R=y
CONFIG_IEEE80211W=y
-
-# Select TLS implementation
-# openssl = OpenSSL (default)
-# gnutls = GnuTLS
-# internal = Internal TLSv1 implementation (experimental)
-# none = Empty template
-#CONFIG_TLS=openssl
-
-# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.1)
-# can be enabled to get a stronger construction of messages when block ciphers
-# are used. It should be noted that some existing TLS v1.0 -based
-# implementation may not be compatible with TLS v1.1 message (ClientHello is
-# sent prior to negotiating which version will be used)
-#CONFIG_TLSV11=y
-
-# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.2)
-# can be enabled to enable use of stronger crypto algorithms. It should be
-# noted that some existing TLS v1.0 -based implementation may not be compatible
-# with TLS v1.2 message (ClientHello is sent prior to negotiating which version
-# will be used)
-#CONFIG_TLSV12=y
-
-# If CONFIG_TLS=internal is used, additional library and include paths are
-# needed for LibTomMath. Alternatively, an integrated, minimal version of
-# LibTomMath can be used. See beginning of libtommath.c for details on benefits
-# and drawbacks of this option.
-#CONFIG_INTERNAL_LIBTOMMATH=y
-#ifndef CONFIG_INTERNAL_LIBTOMMATH
-#LTM_PATH=/usr/src/libtommath-0.39
-#CFLAGS += -I$(LTM_PATH)
-#LIBS += -L$(LTM_PATH)
-#LIBS_p += -L$(LTM_PATH)
-#endif
-# At the cost of about 4 kB of additional binary size, the internal LibTomMath
-# can be configured to include faster routines for exptmod, sqr, and div to
-# speed up DH and RSA calculation considerably
-#CONFIG_INTERNAL_LIBTOMMATH_FAST=y
-
-# Include NDIS event processing through WMI into wpa_supplicant/wpasvc.
-# This is only for Windows builds and requires WMI-related header files and
-# WbemUuid.Lib from Platform SDK even when building with MinGW.
-#CONFIG_NDIS_EVENTS_INTEGRATED=y
-#PLATFORMSDKLIB="/opt/Program Files/Microsoft Platform SDK/Lib"
-
-# Add support for old DBus control interface
-# (fi.epitest.hostap.WPASupplicant)
-CONFIG_CTRL_IFACE_DBUS=y
-
-# Add support for new DBus control interface
-# (fi.w1.hostap.wpa_supplicant1)
-CONFIG_CTRL_IFACE_DBUS_NEW=y
-
-# Add introspection support for new DBus control interface
-CONFIG_CTRL_IFACE_DBUS_INTRO=y
-
-# Add support for loading EAP methods dynamically as shared libraries.
-# When this option is enabled, each EAP method can be either included
-# statically (CONFIG_EAP_<method>=y) or dynamically (CONFIG_EAP_<method>=dyn).
-# Dynamic EAP methods are build as shared objects (eap_*.so) and they need to
-# be loaded in the beginning of the wpa_supplicant configuration file
-# (see load_dynamic_eap parameter in the example file) before being used in
-# the network blocks.
-#
-# Note that some shared parts of EAP methods are included in the main program
-# and in order to be able to use dynamic EAP methods using these parts, the
-# main program must have been build with the EAP method enabled (=y or =dyn).
-# This means that EAP-TLS/PEAP/TTLS/FAST cannot be added as dynamic libraries
-# unless at least one of them was included in the main build to force inclusion
-# of the shared code. Similarly, at least one of EAP-SIM/AKA must be included
-# in the main build to be able to load these methods dynamically.
-#
-# Please also note that using dynamic libraries will increase the total binary
-# size. Thus, it may not be the best option for targets that have limited
-# amount of memory/flash.
-#CONFIG_DYNAMIC_EAP_METHODS=y
-
-# IEEE Std 802.11r-2008 (Fast BSS Transition)
-#CONFIG_IEEE80211R=y
-
-# Add support for writing debug log to a file (/tmp/wpa_supplicant-log-#.txt)
-CONFIG_DEBUG_FILE=y
-
-# Send debug messages to syslog instead of stdout
-#CONFIG_DEBUG_SYSLOG=y
-# Set syslog facility for debug messages
-#CONFIG_DEBUG_SYSLOG_FACILITY=LOG_DAEMON
-
-# Add support for sending all debug messages (regardless of debug verbosity)
-# to the Linux kernel tracing facility. This helps debug the entire stack by
-# making it easy to record everything happening from the driver up into the
-# same file, e.g., using trace-cmd.
-#CONFIG_DEBUG_LINUX_TRACING=y
-
-# Add support for writing debug log to Android logcat instead of standard
-# output
-#CONFIG_ANDROID_LOG=y
-
-# Enable privilege separation (see README 'Privilege separation' for details)
-#CONFIG_PRIVSEP=y
-
-# Enable mitigation against certain attacks against TKIP by delaying Michael
-# MIC error reports by a random amount of time between 0 and 60 seconds
-#CONFIG_DELAYED_MIC_ERROR_REPORT=y
-
-# Enable tracing code for developer debugging
-# This tracks use of memory allocations and other registrations and reports
-# incorrect use with a backtrace of call (or allocation) location.
-#CONFIG_WPA_TRACE=y
-# For BSD, uncomment these.
-#LIBS += -lexecinfo
-#LIBS_p += -lexecinfo
-#LIBS_c += -lexecinfo
-
-# Use libbfd to get more details for developer debugging
-# This enables use of libbfd to get more detailed symbols for the backtraces
-# generated by CONFIG_WPA_TRACE=y.
-#CONFIG_WPA_TRACE_BFD=y
-# For BSD, uncomment these.
-#LIBS += -lbfd -liberty -lz
-#LIBS_p += -lbfd -liberty -lz
-#LIBS_c += -lbfd -liberty -lz
-
-# wpa_supplicant depends on strong random number generation being available
-# from the operating system. os_get_random() function is used to fetch random
-# data when needed, e.g., for key generation. On Linux and BSD systems, this
-# works by reading /dev/urandom. It should be noted that the OS entropy pool
-# needs to be properly initialized before wpa_supplicant is started. This is
-# important especially on embedded devices that do not have a hardware random
-# number generator and may by default start up with minimal entropy available
-# for random number generation.
-#
-# As a safety net, wpa_supplicant is by default trying to internally collect
-# additional entropy for generating random data to mix in with the data fetched
-# from the OS. This by itself is not considered to be very strong, but it may
-# help in cases where the system pool is not initialized properly. However, it
-# is very strongly recommended that the system pool is initialized with enough
-# entropy either by using hardware assisted random number generator or by
-# storing state over device reboots.
-#
-# wpa_supplicant can be configured to maintain its own entropy store over
-# restarts to enhance random number generation. This is not perfect, but it is
-# much more secure than using the same sequence of random numbers after every
-# reboot. This can be enabled with -e<entropy file> command line option. The
-# specified file needs to be readable and writable by wpa_supplicant.
-#
-# If the os_get_random() is known to provide strong random data (e.g., on
-# Linux/BSD, the board in question is known to have reliable source of random
-# data from /dev/urandom), the internal wpa_supplicant random pool can be
-# disabled. This will save some in binary size and CPU use. However, this
-# should only be considered for builds that are known to be used on devices
-# that meet the requirements described above.
+CONFIG_IEEE8021X_EAPOL=y
+CONFIG_INTERWORKING=y
+CONFIG_IPV6=y
+CONFIG_LIBNL32=y
CONFIG_NO_RANDOM_POOL=y
-
-# IEEE 802.11n (High Throughput) support (mainly for AP mode)
-CONFIG_IEEE80211N=y
-
-# IEEE 802.11ac (Very High Throughput) support (mainly for AP mode)
-# (depends on CONFIG_IEEE80211N)
-CONFIG_IEEE80211AC=y
-
-# Wireless Network Management (IEEE Std 802.11v-2011)
-# Note: This is experimental and not complete implementation.
-#CONFIG_WNM=y
-
-# Interworking (IEEE 802.11u)
-# This can be used to enable functionality to improve interworking with
-# external networks (GAS/ANQP to learn more about the networks and network
-# selection based on available credentials).
-#CONFIG_INTERWORKING=y
-
-# Hotspot 2.0
-#CONFIG_HS20=y
-
-# Disable roaming in wpa_supplicant
-#CONFIG_NO_ROAMING=y
-
-# AP mode operations with wpa_supplicant
-# This can be used for controlling AP mode operations with wpa_supplicant. It
-# should be noted that this is mainly aimed at simple cases like
-# WPA2-Personal while more complex configurations like WPA2-Enterprise with an
-# external RADIUS server can be supported with hostapd.
-CONFIG_AP=y
-
-# P2P (Wi-Fi Direct)
-# This can be used to enable P2P support in wpa_supplicant. See README-P2P for
-# more information on P2P operations.
CONFIG_P2P=y
-
-# Enable TDLS support
+CONFIG_PEERKEY=y
+CONFIG_PKCS12=y
+CONFIG_READLINE=y
+CONFIG_SMARTCARD=y
CONFIG_TDLS=y
-
-# Wi-Fi Direct
-# This can be used to enable Wi-Fi Direct extensions for P2P using an external
-# program to control the additional information exchanges in the messages.
+CONFIG_VHT_OVERRIDES=y
CONFIG_WIFI_DISPLAY=y
-
-# Autoscan
-# This can be used to enable automatic scan support in wpa_supplicant.
-# See wpa_supplicant.conf for more information on autoscan usage.
-#
-# Enabling directly a module will enable autoscan support.
-# For exponential module:
-CONFIG_AUTOSCAN_EXPONENTIAL=y
-# For periodic module:
-CONFIG_AUTOSCAN_PERIODIC=y
-
-# Password (and passphrase, etc.) backend for external storage
-# These optional mechanisms can be used to add support for storing passwords
-# and other secrets in external (to wpa_supplicant) location. This allows, for
-# example, operating system specific key storage to be used
-#
-# External password backend for testing purposes (developer use)
-#CONFIG_EXT_PASSWORD_TEST=y
-
-# Options that are present not in defconfig:
-
-# RSN IBSS/AdHoc support
-CONFIG_IBSS_RSN=y
-
-# Simple background scan
-CONFIG_BGSCAN_SIMPLE=y
+CONFIG_WPS=y
+CONFIG_WPS_NFC=y
+CONFIG_TLS_DEFAULT_CIPHERS="DEFAULT:!EXP:!LOW:3DES"
diff --git a/abs/core/wpa_supplicant/wpa_supplicant.install b/abs/core/wpa_supplicant/wpa_supplicant.install
new file mode 100644
index 0000000..3e4bcd3
--- /dev/null
+++ b/abs/core/wpa_supplicant/wpa_supplicant.install
@@ -0,0 +1,7 @@
+post_upgrade() {
+ if [[ $(vercmp "$2" '1:2.6-3') -lt 0 ]]; then
+ echo ':: The /etc/wpa_supplicant/wpa_supplicant.conf is file no longer managed by pacman'
+ echo ' and if it was modified, it has been renamed to wpa_supplicant.conf.pacsave.'
+ echo ' Move it to the original location if needed.'
+ fi
+}
diff --git a/abs/core/xf86-video-ati/PKGBUILD b/abs/core/xf86-video-ati/PKGBUILD
index dd50efb..2492b3e 100644
--- a/abs/core/xf86-video-ati/PKGBUILD
+++ b/abs/core/xf86-video-ati/PKGBUILD
@@ -3,11 +3,11 @@
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xf86-video-ati
-pkgver=7.9.0
-epoch=1
+pkgver=18.0.1
pkgrel=1
+epoch=1
pkgdesc="X.org ati video driver"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="https://xorg.freedesktop.org/"
license=('custom')
depends=('libsystemd' 'mesa')
@@ -15,15 +15,21 @@ makedepends=('xorg-server-devel' 'systemd' 'X-ABI-VIDEODRV_VERSION=23')
conflicts=('xorg-server<1.19.0' 'X-ABI-VIDEODRV_VERSION<23' 'X-ABI-VIDEODRV_VERSION>=24')
groups=('xorg-drivers')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2{,.sig})
-sha256sums=('3cad872e6330afb1707da11e4e959e6887ebe5bcd81854b4d2e496c52c059875'
+sha512sums=('b468a78503a596bbf71a1b91b231ce1fa32908f619ff2dfe249352d046696a3641f2a9ff065e32545fff77100134b4b237591215e78ef885b6509d6b16112d14'
'SKIP')
validpgpkeys=('B09FAF35BE914521980951145A81AF8E6ADBB200') # Michel Daenzer <michel@daenzer.net>
build() {
cd ${pkgname}-${pkgver}
- ./configure --prefix=/usr \
- --with-glamor
+ # Since pacman 5.0.2-2, hardened flags are now enabled in makepkg.conf
+ # With them, module fail to load with undefined symbol.
+ # See https://bugs.archlinux.org/task/55102 / https://bugs.archlinux.org/task/54845
+ export CFLAGS=${CFLAGS/-fno-plt}
+ export CXXFLAGS=${CXXFLAGS/-fno-plt}
+ export LDFLAGS=${LDFLAGS/,-z,now}
+
+ ./configure --prefix=/usr
make
}
diff --git a/abs/core/xf86-video-intel/PKGBUILD b/abs/core/xf86-video-intel/PKGBUILD
index 3093faa..7808c73 100644
--- a/abs/core/xf86-video-intel/PKGBUILD
+++ b/abs/core/xf86-video-intel/PKGBUILD
@@ -3,8 +3,8 @@
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-intel
-_commit=af6d8e9e8f546e5cba60e3a62765c2dbd0328e83 # master
-pkgver=2.99.917+802+gaf6d8e9
+_commit=d7dfab62a9853b44bbcd67dac08391d8e5114c97 # master
+pkgver=2.99.917+829+gd7dfab62
pkgrel=1
epoch=1
arch=(x86_64)
@@ -17,7 +17,7 @@ makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=23' 'libx11' 'libxrende
# additional deps for intel-virtual-output
'libxrandr' 'libxinerama' 'libxcursor' 'libxtst' 'libxss'
# additional for git snapshot
- 'git')
+ 'git') # 'meson' 'valgrind')
optdepends=('libxrandr: for intel-virtual-output'
'libxinerama: for intel-virtual-output'
'libxcursor: for intel-virtual-output'
@@ -30,6 +30,7 @@ conflicts=('xorg-server<1.19' 'X-ABI-VIDEODRV_VERSION<23' 'X-ABI-VIDEODRV_VERSIO
groups=('xorg-drivers')
source=("git+https://anongit.freedesktop.org/git/xorg/driver/xf86-video-intel#commit=$_commit")
sha256sums=('SKIP')
+#options=('!makeflags')
pkgver() {
cd $pkgname
@@ -39,6 +40,9 @@ pkgver() {
prepare() {
cd $pkgname
NOCONFIGURE=1 ./autogen.sh
+
+
+# mkdir build
}
build() {
@@ -55,11 +59,16 @@ build() {
--libexecdir=/usr/lib \
--with-default-dri=3
make
+# cd build
+# arch-meson $pkgname build \
+# -Dwith-default-dri=3
+# ninja -C build
}
check() {
cd $pkgname
make check
+# meson test -C build
}
package() {
@@ -67,6 +76,8 @@ package() {
make DESTDIR="${pkgdir}" install
+# DESTDIR="$pkgdir" ninja -C build install
+
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/abs/core/xf86-video-vesa/PKGBUILD b/abs/core/xf86-video-vesa/PKGBUILD
index b236c9e..c4663e4 100644
--- a/abs/core/xf86-video-vesa/PKGBUILD
+++ b/abs/core/xf86-video-vesa/PKGBUILD
@@ -2,10 +2,10 @@
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-vesa
-pkgver=2.3.4
-pkgrel=3
+pkgver=2.4.0
+pkgrel=1
pkgdesc="X.org vesa video driver"
-arch=(i686 x86_64)
+arch=(x86_64)
license=('custom')
url="https://xorg.freedesktop.org/"
depends=('glibc')
@@ -14,9 +14,9 @@ conflicts=('xorg-server<1.19' 'X-ABI-VIDEODRV_VERSION<23' 'X-ABI-VIDEODRV_VERSIO
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2{,.sig}
revert-kernelcheck.patch)
-sha256sums=('7bddf4d879dd6f67088ecb203a31e12334aab980174bd0909930a21f32e251c1'
+sha512sums=('4af5c0a7fd64eba503980198cf510688dff2f33482ceac446455d97255dcc828613387ac57828eb6dce080cb15a8644a2b2e278bf356705fdeaea873ab07c2de'
'SKIP'
- 'ef591a342cea65f1b08e84771ae0de84395c98ac8a71739dbf5c0a7f7a36543c')
+ '2357f9b30732321c774073c3e233d16ebff29aab31bcebf7c6481bd2187554e85ec8b9cd375eaa836b433dfaba4d9e9cea1dcf3659803a388ceb6699ed905923')
validpgpkeys=('DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3') # "Adam Jackson <ajax@nwnk.net>"
prepare() {
@@ -26,6 +26,14 @@ prepare() {
build() {
cd ${pkgname}-${pkgver}
+
+ # Since pacman 5.0.2-2, hardened flags are now enabled in makepkg.conf
+ # With them, module fail to load with undefined symbol.
+ # See https://bugs.archlinux.org/task/55102 / https://bugs.archlinux.org/task/54845
+ export CFLAGS=${CFLAGS/-fno-plt}
+ export CXXFLAGS=${CXXFLAGS/-fno-plt}
+ export LDFLAGS=${LDFLAGS/,-z,now}
+
./configure --prefix=/usr
make
}
diff --git a/abs/core/xmltv/PKGBUILD b/abs/core/xmltv/PKGBUILD
index 144d2ab..b9cf6a0 100644
--- a/abs/core/xmltv/PKGBUILD
+++ b/abs/core/xmltv/PKGBUILD
@@ -1,30 +1,28 @@
-# Maintainer: K. Hampf <k.hampf@gmail.com>
-# Submitter: Stefan Husmann <stefan-husmann@t-online.de>
-# Contributor: Allan McRae <allan@archlinux.org>
-# Contributor: Andrew Simmons <andrew.simmons@gmail.com>
-
pkgname=xmltv
-pkgver=0.5.69
-pkgrel=1
+pkgver=0.5.70
+pkgrel=180827
+_pkgver="xmltv"
pkgdesc="Set of utilities to download tv listings and format them in xml"
arch=('any')
url="http://xmltv.org/wiki/"
license=('GPL')
-depends=('perl-archive-zip' 'perl-datetime' 'perl-date-manip'
- 'perl-file-slurp' 'perl-datetime-format-strptime' 'perl-datetime-locale'
+depends=('perl-archive-zip' 'perl-cgi' 'perl-datetime' 'perl-date-manip'
+ 'perl-file-homedir' 'perl-file-slurp' 'perl-file-which'
+ 'perl-datetime-format-iso8601' 'perl-datetime-format-sqlite'
+ 'perl-datetime-format-strptime' 'perl-datetime-locale' 'perl-dbd-sqlite'
'perl-http-cache-transparent' 'perl-http-response-encoding'
- 'perl-html-tree' 'perl-io-stringy' 'perl-lingua-en-numbers-ordinate'
- 'perl-lingua-preferred' 'perl-soap-lite' 'perl-term-progressbar'
- 'perl-term-readkey' 'perl-timedate' 'perl-tk-tablematrix'
- 'perl-unicode-string' 'perl-unicode-utf8simple' 'perl-www-mechanize'
- 'perl-xml-dom' 'perl-xml-libxml' 'perl-xml-libxslt' 'perl-xml-simple'
- 'perl-xml-twig' 'perl-xml-writer' 'perl-parse-recdescent' 'perl-cgi'
- 'perl-xml-treepp' 'perl-datetime-format-iso8601' 'perl-json')
-source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
-md5sums=('1b0128f97755e7769177d7930e03ad74')
+ 'perl-html-tree' 'perl-io-stringy' 'perl-json'
+ 'perl-lingua-en-numbers-ordinate' 'perl-lingua-preferred'
+ 'perl-list-moreutils' 'perl-lwp-protocol-https'
+ 'perl-lwp-useragent-determined' 'perl-parse-recdescent' 'perl-soap-lite'
+ 'perl-term-progressbar' 'perl-term-readkey' 'perl-timedate'
+ 'perl-tk-tablematrix' 'perl-unicode-string' 'perl-unicode-utf8simple'
+ 'perl-www-mechanize' 'perl-xml-dom' 'perl-xml-libxml' 'perl-xml-libxslt'
+ 'perl-xml-simple' 'perl-xml-twig' 'perl-xml-writer' 'perl-xml-treepp')
+source=("git+https://github.com/XMLTV/xmltv.git")
build() {
- cd "$pkgname-$pkgver"
+ cd "$_pkgver"
unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
export PERL_MM_USE_DEFAULT=1 PERL_AUTOINSTALL=--skipdeps
yes | /usr/bin/perl Makefile.PL PREFIX=/usr INSTALLDIRS=vendor
@@ -32,14 +30,14 @@ build() {
}
check() {
- cd "$pkgname-$pkgver"
+ cd "$_pkgver"
unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
export PERL_MM_USE_DEFAULT=1
make test
}
package() {
- cd "$pkgname-$pkgver"
+ cd "$_pkgver"
unset PERL5LIB PERL_MM_OPT PERL_LOCAL_LIB_ROOT
make install DESTDIR="$pkgdir"
@@ -47,3 +45,16 @@ package() {
find ${pkgdir} -name perllocal.pod -delete
find ${pkgdir} -name .packlist -delete
}
+
+prepare() {
+ # To build corectly with Perl 5.26
+ # see https://sourceforge.net/p/xmltv/mailman/message/36001436/
+ # and https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=865045
+ sed "s/use POSIX 'tmpnam';//" -i $_pkgver/filter/tv_to_latex
+ sed "s/use POSIX 'tmpnam';//" -i $_pkgver/filter/tv_to_text
+ sed "s/\(lib\/set_share_dir.pl';\)/.\/\1/" -i $_pkgver/grab/it/tv_grab_it.PL
+ sed "s/\(filter\/Grep.pm';\)/.\/\1/" -i $_pkgver/filter/tv_grep.PL
+ sed "s/\(lib\/XMLTV.pm.in';\)/.\/\1/" -i $_pkgver/lib/XMLTV.pm.PL
+ sed "s/\(lib\/Ask\/Term.pm';\)/.\/\1/" -i $_pkgver/Makefile.PL
+}
+md5sums=('SKIP')
diff --git a/abs/core/xmltv/__changelog b/abs/core/xmltv/__changelog
new file mode 100644
index 0000000..99c27e7
--- /dev/null
+++ b/abs/core/xmltv/__changelog
@@ -0,0 +1 @@
+PKGBUILD: change to nightly build to pick up tv_grab_zz_sdjson_sqlite and add deps needed
diff --git a/abs/core/xorg-server/PKGBUILD b/abs/core/xorg-server/PKGBUILD
index 4f53332..90b6a88 100644
--- a/abs/core/xorg-server/PKGBUILD
+++ b/abs/core/xorg-server/PKGBUILD
@@ -4,9 +4,9 @@
pkgbase=xorg-server
pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel')
-pkgver=1.19.3
+pkgver=1.19.6+13+gd0d1a694f
pkgrel=1
-arch=('i686' 'x86_64')
+arch=('x86_64')
license=('custom')
groups=('xorg')
url="http://xorg.freedesktop.org"
@@ -16,8 +16,10 @@ makedepends=('pixman' 'libx11' 'mesa' 'mesa-libgl' 'xf86driproto' 'xcmiscproto'
'xf86dgaproto' 'libxmu' 'libxrender' 'libxi' 'dmxproto' 'libxaw' 'libdmx' 'libxtst' 'libxres'
'xorg-xkbcomp' 'xorg-util-macros' 'xorg-font-util' 'glproto' 'dri2proto' 'libgcrypt' 'libepoxy'
'xcb-util' 'xcb-util-image' 'xcb-util-renderutil' 'xcb-util-wm' 'xcb-util-keysyms' 'dri3proto'
- 'libxshmfence' 'libunwind' 'systemd' 'wayland-protocols')
-source=(https://xorg.freedesktop.org/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2{,.sig}
+ 'libxshmfence' 'libunwind' 'systemd' 'wayland-protocols' 'git')
+_commit=d0d1a694f967af770fba0d36043fd5218ff20984 # branch 1.19
+#source=(https://xorg.freedesktop.org/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2{,.sig}
+source=("git+https://anongit.freedesktop.org/git/xorg/xserver.git#commit=$_commit"
Xwrapper.config
nvidia-add-modulepath-support.patch
xserver-autobind-hotplug.patch
@@ -25,10 +27,17 @@ source=(https://xorg.freedesktop.org/releases/individual/xserver/${pkgbase}-${pk
xvfb-run.1)
validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C'
'C383B778255613DFDB409D91DB221A6900000011'
- 'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3')
+ 'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3'
+ '995ED5C8A6138EB0961F18474C09DD83CAAA50B2')
+
+pkgver() {
+ cd xserver
+ git describe --tags | sed 's/^xorg-server-//;s/_/./g;s/-/+/g'
+}
prepare() {
- cd "${pkgbase}-${pkgver}"
+ cd xserver
+ #cd "${pkgbase}-${pkgver}"
# merged upstream in trunk
patch -Np1 -i ../nvidia-add-modulepath-support.patch
@@ -39,7 +48,15 @@ prepare() {
}
build() {
- cd "${pkgbase}-${pkgver}"
+ # Since pacman 5.0.2-2, hardened flags are now enabled in makepkg.conf
+ # With them, module fail to load with undefined symbol.
+ # See https://bugs.archlinux.org/task/55102 / https://bugs.archlinux.org/task/54845
+ export CFLAGS=${CFLAGS/-fno-plt}
+ export CXXFLAGS=${CXXFLAGS/-fno-plt}
+ export LDFLAGS=${LDFLAGS/,-z,now}
+
+ cd xserver
+ #cd "${pkgbase}-${pkgver}"
./configure --prefix=/usr \
--enable-ipv6 \
--enable-dri \
@@ -88,9 +105,10 @@ build() {
package_xorg-server-common() {
pkgdesc="Xorg server common files"
- depends=(xkeyboard-config xorg-xkbcomp xorg-setxkbmap xorg-fonts-misc)
+ depends=(xkeyboard-config xorg-xkbcomp xorg-setxkbmap)
- cd "${pkgbase}-${pkgver}"
+ cd xserver
+ #cd "${pkgbase}-${pkgver}"
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-common"
install -m644 COPYING "${pkgdir}/usr/share/licenses/xorg-server-common"
@@ -115,7 +133,8 @@ package_xorg-server() {
replaces=('glamor-egl' 'xf86-video-modesetting')
install=xorg-server.install
- cd "${pkgbase}-${pkgver}"
+ cd xserver
+ #cd "${pkgbase}-${pkgver}"
make DESTDIR="${pkgdir}" install
# distro specific files must be installed in /usr/share/X11/xorg.conf.d
@@ -142,7 +161,8 @@ package_xorg-server-xephyr() {
depends=(libxfont2 libgl libepoxy libunwind libsystemd libxv pixman xorg-server-common xcb-util-image
xcb-util-renderutil xcb-util-wm xcb-util-keysyms)
- cd "${pkgbase}-${pkgver}/hw/kdrive"
+ cd xserver/hw/kdrive
+ #cd "${pkgbase}-${pkgver}/hw/kdrive"
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xephyr"
@@ -151,9 +171,10 @@ package_xorg-server-xephyr() {
package_xorg-server-xvfb() {
pkgdesc="Virtual framebuffer X server"
- depends=(libxfont2 libunwind libsystemd pixman xorg-server-common xorg-xauth libgl)
+ depends=(libxfont2 libunwind libsystemd pixman xorg-server-common xorg-xauth libgl which)
- cd "${pkgbase}-${pkgver}/hw/vfb"
+ cd xserver/hw/vfb
+ #cd "${pkgbase}-${pkgver}/hw/vfb"
make DESTDIR="${pkgdir}" install
install -m755 "${srcdir}/xvfb-run" "${pkgdir}/usr/bin/"
@@ -167,7 +188,8 @@ package_xorg-server-xnest() {
pkgdesc="A nested X server that runs as an X application"
depends=(libxfont2 libxext libunwind pixman xorg-server-common libsystemd)
- cd "${pkgbase}-${pkgver}/hw/xnest"
+ cd xserver/hw/xnest
+ #cd "${pkgbase}-${pkgver}/hw/xnest"
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xnest"
@@ -178,7 +200,8 @@ package_xorg-server-xdmx() {
pkgdesc="Distributed Multihead X Server and utilities"
depends=(libxfont2 libxi libxaw libxrender libdmx libxfixes libunwind pixman xorg-server-common)
- cd "${pkgbase}-${pkgver}/hw/dmx"
+ cd xserver/hw/dmx
+ #cd "${pkgbase}-${pkgver}/hw/dmx"
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xdmx"
@@ -189,7 +212,8 @@ package_xorg-server-xwayland() {
pkgdesc="run X clients under wayland"
depends=(libxfont2 libepoxy libunwind libsystemd libgl pixman xorg-server-common)
- cd "${pkgbase}-${pkgver}/hw/xwayland"
+ cd xserver/hw/xwayland
+ #cd "${pkgbase}-${pkgver}/hw/xwayland"
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xwayland"
@@ -206,7 +230,8 @@ package_xorg-server-devel() {
# not technically required but almost every Xorg pkg needs it to build
xorg-util-macros)
- cd "${pkgbase}-${pkgver}"
+ cd xserver
+ #cd "${pkgbase}-${pkgver}"
make DESTDIR="${pkgdir}" install
rm -rf "${pkgdir}/usr/bin"
@@ -220,8 +245,7 @@ package_xorg-server-devel() {
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-devel"
ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-devel/COPYING"
}
-md5sums=('015d2fc4b9f2bfe7a626edb63a62c65e'
- 'SKIP'
+md5sums=('SKIP'
'e3d31449c79ce49a748a678463ea3f20'
'75a60eb4b99b64cda18614e9c085a2d3'
'ec10c9be9a7f1b352393684b658976d2'
diff --git a/abs/core/xterm/PKGBUILD b/abs/core/xterm/PKGBUILD
index 29bc524..45e3025 100644
--- a/abs/core/xterm/PKGBUILD
+++ b/abs/core/xterm/PKGBUILD
@@ -3,18 +3,18 @@
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xterm
-pkgver=326
+pkgver=331
pkgrel=1
pkgdesc="X Terminal Emulator"
-arch=('i686' 'x86_64')
+arch=('x86_64')
url="http://invisible-island.net/xterm/"
license=('custom')
depends=('libxft' 'libxaw' 'ncurses' 'xorg-luit' 'xbitmaps' 'libutempter' 'libxkbfile')
-source=(ftp://invisible-island.net/${pkgname}/${pkgname}-${pkgver}.tgz{,.asc}
+source=(ftp://ftp.invisible-island.net/${pkgname}/${pkgname}-${pkgver}.tgz{,.asc}
LICENSE)
-md5sums=('93914da76a279bbbd8f9a26639860241'
- 'SKIP'
- '10ecc3f8ee91e3189863a172f68282d2')
+sha256sums=('9ae856a30fd93046be93952a6898ba47f6f88ad6a988a7c949c4c80d5199ef10'
+ 'SKIP'
+ '9929684f5e28eb5e49c5a7f924dec9c61e0b909b3debb92d247f73f222e09615')
validpgpkeys=('C52048C0C0748FEE227D47A2702353E0F7E48EDB') # "Thomas Dickey <dickey@invisible-island.net>"
build() {
@@ -45,6 +45,7 @@ build() {
--enable-narrowproto \
--enable-exec-xterm \
--enable-sixel-graphics \
+ --enable-regis-graphics \
--with-tty-group=tty \
--with-utempter
make
diff --git a/abs/core/xymon/PKGBUILD b/abs/core/xymon/PKGBUILD
index 759241b..76bf18d 100755
--- a/abs/core/xymon/PKGBUILD
+++ b/abs/core/xymon/PKGBUILD
@@ -1,7 +1,7 @@
pkgbase=xymon
pkgname=('xymonserver' 'xymonclient')
pkgver=4.3.28
-pkgrel=5
+pkgrel=7
pkgdesc="Xymon is a system for monitoring of hosts and networks"
license=('GPL')
arch=('i686' 'x86_64')
@@ -23,6 +23,7 @@ source=("https://downloads.sourceforge.net/project/xymon/Xymon/$pkgver/$pkgbase-
'hobbitstorage.py'
'hosts.cfg.patch'
'log_list.sh'
+ 'logfetch.c.patch'
'led_themes.tar.gz'
'login_notify.sh'
'logrotate-server.xymon'
@@ -43,6 +44,7 @@ install=xymon-server.install
build() {
cd ${srcdir}/xymon-$pkgver
+ patch -p2 < $srcdir/logfetch.c.patch
ENABLESSL=n \
ENABLELDAP=n \
ENABLELDAPSSL=n \
@@ -194,15 +196,16 @@ md5sums=('14501ab2cfce9a332c1590543dfcbd0f'
'b2f98ac0df013332deedc1efae0a270d'
'606f535a49f32b35802ed9d46bd7d068'
'98e9242ae346f729b14cb195786571f2'
+ '7d8689cc88ccca5bf7b2b454a909db72'
'c7178bbf384bbe86c318b60fef6faf10'
'22d4c9065fd959efe82f121dcb511305'
'b4e8641e97e6b689dbc634af785e6799'
'e2844513e2c92e8b5084818f3b2a478d'
'a19c8c546dcd95049476bb19f9d4e3ae'
'c60b0d59bb39505ee3d62c6dd65429c5'
- '6452d891d88bb46d07bcf7790a523ad0'
- 'b49e7de696c1a0678ad198bab926266c'
- 'e071c387deac6b896b20db19903b7794'
+ 'd4710f9aaa5aef0c9d0a26fa7d94450f'
+ 'c4e1575db32c633a531df9514d83aa82'
+ '281a5031824c8d98b4e541fed6da09ed'
'1a00c0b9b9b1a37f1513fa8489ce9d31'
'3d1f311f0142f41d763276302a7ce396'
'c75c434ba9c39a914e7693004b580554'
diff --git a/abs/core/xymon/logfetch.c.patch b/abs/core/xymon/logfetch.c.patch
new file mode 100644
index 0000000..bc61f00
--- /dev/null
+++ b/abs/core/xymon/logfetch.c.patch
@@ -0,0 +1,10 @@
+--- src/xymon-4.3.28/client/logfetch.c.orig 2018-04-17 23:05:45.429619941 +0000
++++ src/xymon-4.3.28/client/logfetch.c 2018-04-17 23:07:34.895372581 +0000
+@@ -18,6 +18,7 @@
+ #include <sys/stat.h>
+ #include <sys/time.h>
+ #include <stdio.h>
++#include <stdint.h>
+ #include <string.h>
+ #include <unistd.h>
+ #include <stdlib.h>
diff --git a/abs/core/xymon/xymon-gputemp.sh b/abs/core/xymon/xymon-gputemp.sh
index f8af649..db76f78 100644
--- a/abs/core/xymon/xymon-gputemp.sh
+++ b/abs/core/xymon/xymon-gputemp.sh
@@ -17,7 +17,10 @@ if ! test -x /usr/bin/nvidia-smi ; then
fi
# Use NVidia SMI to determine the model
-gpu_model=`nvidia-smi -L`
+#gpu_model=`nvidia-smi -L`
+# Use lspci to determine the model
+gpu_model=`lspci | grep -i vga | grep -vi non-vga| sort -r | head -n 1 | cut -d: -f3`
+
if test -z "$gpu_model" ; then
$XYMON $XYMSRV "status $MACHINE.gputemp $gpu_color `date`
Couldn't find nVidia card
@@ -29,24 +32,27 @@ if test -z "$gpu_model" ; then
fi
# Determine GPU maximum temperature based on GPU model
-if test $(echo $gpu_model | grep -c -i 'GeForce 210') -eq 0 ; then
+if test $(echo $gpu_model | grep -c -i 'GeForce 210') -eq 1 ; then
# GT 210 maximum GPU temperature is 105 C
max_temp=105
-elif test $(echo $gpu_model | grep -c -i 'GeForce 220') -eq 0 ; then
+elif test $(echo $gpu_model | grep -c -i 'GeForce 220') -eq 1 ; then
# GT 220 maximum GPU temperature is 105 C
max_temp=105
-elif test $(echo $gpu_model | grep -c -i 'GeForce 240') -eq 0 ; then
+elif test $(echo $gpu_model | grep -c -i 'GeForce 240') -eq 1 ; then
# GT 240 maximum GPU temperature is 105 C
max_temp=105
-elif test $(echo $gpu_model | grep -c -i 'GeForce 430') -eq 0 ; then
+elif test $(echo $gpu_model | grep -c -i 'GeForce 430') -eq 1 ; then
# GT 430 maximum GPU temperature is 98 C
max_temp=98
-elif test $(echo $gpu_model | grep -c -i 'GeForce GTS 450') -eq 0 ; then
+elif test $(echo $gpu_model | grep -c -i 'GeForce GTS 450') -eq 1 ; then
# GTS 450 maximum GPU temperature is 100 C
max_temp=100
-elif test $(echo $gpu_model | grep -c -i 'GeForce GT 520') -eq 0 ; then
+elif test $(echo $gpu_model | grep -c -i 'GeForce GT 520') -eq 1 ; then
# GT 520 maximum GPU temperature is 102 C
max_temp=102
+elif test $(echo $gpu_model | grep -c -i 'GeForce GT 710') -eq 1 ; then
+ # GT 710 maximum GPU temperature is 95 C
+ max_temp=95
else
# Assume 100 is the maximum
max_temp=100
@@ -72,8 +78,8 @@ if test -x /usr/bin/nvidia-smi ; then
#`cat /tmp/gputemp.txt`
#"
$XYMON $XYMSRV "status $MACHINE.gputemp $gpu_color `date`
- GPU model is $gpu_model
- max temp is $max_temp
+ GPU Model -$gpu_model
+ GPU Max Temp (C) - $max_temp
GPUTEMP : $gpu_temp
"
diff --git a/abs/core/xymon/xymon-hddtemp.sh b/abs/core/xymon/xymon-hddtemp.sh
index 7084abc..0369b4a 100755
--- a/abs/core/xymon/xymon-hddtemp.sh
+++ b/abs/core/xymon/xymon-hddtemp.sh
@@ -2,7 +2,7 @@
# NOTE: Must be run as root, so you probably need to setup sudo for this.
-ls /dev/disk/by-id/* | grep -ve '-part' -ve '/wwn-' |
+ls /dev/disk/by-id/* | grep -ve '-part' -ve '/wwn-' -ve '/md' |
while read DISK
do
DISKDEV=`ls -l $DISK | awk -F/ '{print $NF}'`
@@ -17,7 +17,11 @@ do
#check if device is mounted
if ! mount | grep -q /dev/$DISKDEV
then
- continue
+ # check if device is used by mdadm
+ if ! cat /proc/mdstat | grep -q $DISKDEV
+ then
+ continue
+ fi
fi
#check if SMART is disabled and enable
diff --git a/abs/core/xymon/xymon-smart.sh b/abs/core/xymon/xymon-smart.sh
index 7c10db5..8998778 100755
--- a/abs/core/xymon/xymon-smart.sh
+++ b/abs/core/xymon/xymon-smart.sh
@@ -4,7 +4,7 @@
if test -f /tmp/dres; then rm -f /tmp/dres; fi
-ls /dev/disk/by-id/* | grep -ve '-part' -ve '/wwn-' |
+ls /dev/disk/by-id/* | grep -ve '-part' -ve '/wwn-' -ve '/md-' |
while read DISK
do
DISKDEV=`ls -l $DISK | awk -F/ '{print $NF}'`
@@ -18,7 +18,11 @@ do
#check if device is mounted
if ! mount | grep -q /dev/$DISKDEV
then
- continue
+ # check if device is used by mdadm
+ if ! cat /proc/mdstat | grep -q $DISKDEV
+ then
+ continue
+ fi
fi
DRES=`sudo /usr/bin/smartctl -H -n standby $DISK`
diff --git a/abs/core/zlib/PKGBUILD b/abs/core/zlib/PKGBUILD
index 7951423..719fff5 100644
--- a/abs/core/zlib/PKGBUILD
+++ b/abs/core/zlib/PKGBUILD
@@ -1,17 +1,20 @@
# $Id$
# Maintainer: Pierre Schmitz <pierre@archlinux.de>
-pkgname=zlib
-pkgver=1.2.8
-pkgrel=3
-pkgdesc='Compression library implementing the deflate compression method found in gzip and PKZIP'
-arch=('i686' 'x86_64')
+pkgbase=zlib
+pkgname=(zlib minizip)
+epoch=1
+pkgver=1.2.11
+pkgrel=2
+arch=('x86_64')
license=('custom')
-url="http://www.zlib.net/"
+url="https://www.zlib.net/"
depends=('glibc')
options=('staticlibs') # needed by binutils testsuite
-source=("http://zlib.net/current/zlib-${pkgver}.tar.gz")
-md5sums=('44d667c142d7cda120332623eab69f40')
+source=("https://zlib.net/zlib-${pkgver}.tar.gz"{,.asc})
+md5sums=('1c9f62f0778697a09d36121ead88e08e'
+ 'SKIP')
+validpgpkeys=('5ED46A6721D365587791E2AA783FCD8E58BCAFBA')
prepare() {
cd ${srcdir}/zlib-$pkgver
@@ -22,15 +25,36 @@ build() {
cd ${srcdir}/zlib-$pkgver
./configure --prefix=/usr
make
+
+ cd contrib/minizip
+ cp Makefile Makefile.orig
+ cp ../README.contrib readme.txt
+ autoreconf --install
+ ./configure --prefix=/usr --enable-static=no
+ make
}
check() {
cd ${srcdir}/zlib-$pkgver
make test
+
+ cd contrib/minizip
+ make -f Makefile.orig test
}
-package() {
+package_zlib() {
+ pkgdesc='Compression library implementing the deflate compression method found in gzip and PKZIP'
+
cd ${srcdir}/zlib-$pkgver
make install DESTDIR=${pkgdir}
install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/zlib/LICENSE
}
+
+package_minizip() {
+ pkgdesc='Mini zip and unzip based on zlib'
+ depends=('zlib')
+
+ cd ${srcdir}/zlib-$pkgver/contrib/minizip
+ make install DESTDIR=${pkgdir}
+ install -D -m644 ${srcdir}/zlib-$pkgver/LICENSE ${pkgdir}/usr/share/licenses/minizip/LICENSE
+}
diff --git a/abs/core/zoneminder/PKGBUILD b/abs/core/zoneminder/PKGBUILD
index c0bb186..3aaef15 100644
--- a/abs/core/zoneminder/PKGBUILD
+++ b/abs/core/zoneminder/PKGBUILD
@@ -1,4 +1,5 @@
-# Maintainer: Troy Will <troydwill at gmail dot com>
+# Maintainer: Mesmer <mesmer@fisica.if.uff.br>
+# Contributor: Troy Will <troydwill at gmail dot com>
# Contributor: /dev/rs0 </dev/rs0@secretco.de.com>
# Contributor: Jacek Burghardt <jacek@hebe.us>
# Contributor: Vojtech Aschenbrenner <v@asch.cz>
@@ -11,7 +12,7 @@
# Orginally based on a Debian Squeeze package
_pkgname=zoneminder
pkgname=zoneminder
-pkgver=1.30.2.r45.ga43adc2
+pkgver=1.30.4
pkgrel=2
pkgdesc='Capture, analyse, record and monitor video security cameras'
arch=( i686 x86_64 mips64el arm armv7h )
@@ -19,83 +20,57 @@ backup=( etc/zm.conf )
url="https://github.com/ZoneMinder/ZoneMinder/releases"
license=( GPL )
depends=(
- ffmpeg gnutls lighttpd mysql
- perl-archive-zip
- perl-class-std-fast
- perl-data-dump
- perl-data-uuid
- perl-date-manip
- perl-dbd-mysql
- perl-dbi
- perl-device-serialport
- perl-expect
- perl-io-socket-multicast
- perl-libwww
- perl-mime-lite
- perl-mime-tools
- perl-net-sftp-foreign
- perl-php-serialization
- perl-sys-cpu
- perl-sys-meminfo
- perl-sys-mmap
- perl-wsdl
- php php-gd php-mcrypt
- polkit
+ mysql perl-dbd-mysql perl-dbi
+ lighttpd php php-gd perl-php-serialization php-apcu
+ perl-libwww perl-net-sftp-foreign
+ ffmpeg perl-sys-mmap
+ gnutls polkit
+ perl-expect perl-archive-zip perl-date-manip
+ perl-mime-lite perl-mime-tools
+ perl-sys-meminfo perl-sys-cpu
)
makedepends=(
- cmake make gcc netpbm
+ cmake netpbm git
)
optdepends=(
+ 'php-apcu-bci: Bring back the API for android control'
netpbm
cambozola
perl-time-modules
perl-x10
perl-astro-suntime
)
-install=$pkgname.install
-
+install=$_pkgname.install
+
source=(
- git://github.com/$_pkgname/$_pkgname.git
- git://github.com/FriendsOfCake/crud.git
+ https://github.com/ZoneMinder/ZoneMinder/archive/$pkgver.tar.gz
httpd-zoneminder.conf
+ zoneminder.ini
zoneminder.service
+ uio.patch
+ fabs.patch
zoneminder-tmpfile.conf
zm.include
zm.sysctrl.conf
zm_gen_light.conf
)
-# Because the source is not static, skip Git checksum:
-sha256sums=('SKIP'
- 'SKIP'
- 'ff7382b38ac07dadead0ad4d583e3dbcf8da4aaa06b76d048ee334f69f95db67'
- '043d77a995553c533d62f48db4b719d29cf6c7074f215d866130e97be57ed646'
- 'cc8af737c3c07750fc71317c81999376e4bbb39da883780164a8747b3d7c95a7'
- '894c3f43fb9d77aec9edaed98bc556c90bed9326de57bc17cd33b44ab7818335'
- 'bb50ad6411426d90df00568b967bf762844978cd34b84435ecbfc0d652c67b42'
- 'eafcd625248731382506622eb3ff9b736b670f601692386723bd63275cacc781'
- )
-
-pkgver() {
- cd "$_pkgname"
- # See https://wiki.archlinux.org/index.php/VCS_package_guidelines#The_pkgver.28.29_function
- git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
-}
+
prepare () {
- cd $srcdir/$_pkgname
- git submodule init
- git config submodule.web/api/app/Plugin/Crud.url $srcdir/crud
- git config submodule.web/api/app/Plugin/Crud.branch 3.0
- git submodule update
+ cd $srcdir/zoneminder-$pkgver/web/api/app/Plugin/
+ if [ ! -d "crud" ]; then
+ git clone -b 3.0 https://github.com/FriendsOfCake/crud.git
+ mkdir -p Crud
+ mv crud/* Crud
+ fi
+ patch $srcdir/zoneminder-$pkgver/src/zm_image.cpp < $srcdir/fabs.patch
+ patch $srcdir/zoneminder-$pkgver/src/zm_comms.h < $srcdir/uio.patch
}
build() {
- cd $srcdir/$_pkgname
-
- # ZM_PERL_SUBPREFIX=/lib/perl5 flag added to force Perl modules
- # to /usr/lib/perl5/ on non i686 architectures
-
- cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ cd $srcdir/zoneminder-$pkgver
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DZM_PERL_SUBPREFIX=/lib/perl5 \
-DZM_WEBDIR=/data/srv/httpd/zoneminder \
-DZM_CGIDIR=/data/srv/httpd/cgi-bin \
@@ -104,14 +79,14 @@ build() {
-DZM_LOGDIR=/var/log/zoneminder \
-DZM_RUNDIR=/run/zoneminder \
-DZM_TMPDIR=/var/lib/zoneminder/temp \
- -DZM_SOCKDIR=/data/srv/zoneminder/sock .
+ -DZM_SOCKDIR=/var/lib/zoneminder/sock .
make V=0
-}
+}
package() {
- cd $srcdir/$_pkgname
+ cd $srcdir/zoneminder-$pkgver
DESTDIR=$pkgdir make install
@@ -123,9 +98,9 @@ package() {
mkdir -pv $pkgdir/var/{cache/zoneminder,log/zoneminder}
chown -Rv http.http $pkgdir/var/{cache/zoneminder,log/zoneminder}
- # corresponds to -DZM_SOCKDIR=/data/srv/zoneminder/sock
- mkdir -pv $pkgdir/data/srv/zoneminder/sock
- chown -v http.http $pkgdir/data/srv/zoneminder/sock
+ # corresponds to -DZM_SOCKDIR=/var/lib/zoneminder/sock
+ mkdir -pv $pkgdir/var/lib/zoneminder/sock
+ chown -v http.http $pkgdir/var/lib/zoneminder/sock
# corresponds to -DZM_TMPDIR=/var/lib/zoneminder/temp
mkdir -pv $pkgdir/var/lib/zoneminder/temp
@@ -135,43 +110,56 @@ package() {
chmod 0700 $pkgdir/etc/zm.conf
# END CREATE_ZONEMINDER_DIRECTORIES
- # Make content directories in /var/cache/zoneminder and to link them in /srv/httpd/zoneminder
+ # Make content directories in /var/cache/zoneminder and to link them in /data/srv/httpd/zoneminder
for i in events images temp; do
- mkdir $pkgdir/var/cache/$pkgname/$i
- chown -v http.http $pkgdir/var/cache/$pkgname/$i
- ln -s /var/cache/$pkgname/$i $pkgdir/data/srv/httpd/$pkgname/$i
- chown -v --no-dereference http.http $pkgdir/data/srv/httpd/$pkgname/$i
+ mkdir $pkgdir/var/cache/$_pkgname/$i
+ chown -v http.http $pkgdir/var/cache/$_pkgname/$i
+ ln -s /var/cache/$_pkgname/$i $pkgdir/data/srv/httpd/$_pkgname/$i
+ chown -v --no-dereference http.http $pkgdir/data/srv/httpd/$_pkgname/$i
done
# Create a link to the Zoneminder cgi binaries
- ln -sv /data/srv/httpd/cgi-bin $pkgdir/data/srv/httpd/$pkgname
+ ln -sv /data/srv/httpd/cgi-bin $pkgdir/data/srv/httpd/$_pkgname
- chown -h http.http $pkgdir/data/srv/httpd/{cgi-bin,$pkgname,$pkgname/cgi-bin}
+ chown -h http.http $pkgdir/data/srv/httpd/{cgi-bin,$_pkgname,$_pkgname/cgi-bin}
# Link Cambozola
- # ln -s /usr/share/cambozola/cambozola.jar $pkgdir/data/srv/httpd/$pkgname
+ # ln -s /usr/share/cambozola/cambozola.jar $pkgdir/data/srv/httpd/$_pkgname
# Install configuration files
- # don't need these in LinHES as we use lighttpd not apache
- #mkdir -p $pkgdir/etc/httpd/conf/extra
- #install -D -m 644 $srcdir/httpd-$pkgname.conf $pkgdir/etc/httpd/conf/extra
+ mkdir -p $pkgdir/etc/httpd/conf/extra
+ install -D -m 644 $srcdir/httpd-$_pkgname.conf $pkgdir/etc/httpd/conf/extra
mkdir -p $pkgdir/usr/lib/systemd/system
- install -D -m 644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system
+ install -D -m 644 $srcdir/$_pkgname.service $pkgdir/usr/lib/systemd/system
- install -D -m 644 COPYING $pkgdir/usr/share/license/$pkgname
- install -D -m 644 db/zm*.sql $pkgdir/usr/share/$pkgname/db
+ install -D -m 644 COPYING $pkgdir/usr/share/license/$_pkgname
+ install -D -m 644 db/zm*.sql $pkgdir/usr/share/$_pkgname/db
- mkdir -p $pkgdir/usr/share/doc/$pkgname
- # install -D -m 644 $srcdir/README $pkgdir/usr/share/doc/$pkgname
+ mkdir -p $pkgdir/usr/share/doc/$_pkgname
+ # install -D -m 644 $srcdir/README $pkgdir/usr/share/doc/$_pkgname
install -Dm644 ../zoneminder-tmpfile.conf "$pkgdir"/usr/lib/tmpfiles.d/zoneminder.conf
#LinHES stuff
+ #/etc/php/conf.d
+ install -d -m755 ${pkgdir}/etc/php/conf.d/
+ install -D -m644 ${srcdir}/zoneminder.ini ${pkgdir}/etc/php/conf.d/zoneminder.ini
#lighttpd zm include
- install -D -m644 $srcdir/zm.include $pkgdir/etc/lighttpd/zm.include
+ install -D -m644 ${srcdir}/zm.include ${pkgdir}/etc/lighttpd/zm.include
#sysctrl conf - to set the shared mem
- install -o root -g root -D -m0755 $srcdir/zm.sysctrl.conf $pkgdir/etc/sysctl.d/zm.conf
+ install -o root -g root -D -m0755 ${srcdir}/zm.sysctrl.conf ${pkgdir}/etc/sysctl.d/zm.conf
#gen_light_conf
- install -D -m0744 ${srcdir}/zm_gen_light.conf $pkgdir/etc/gen_light_conf.d/zoneminder.conf
+ install -D -m0744 ${srcdir}/zm_gen_light.conf ${pkgdir}/etc/gen_light_conf.d/zoneminder.conf
+
}
+md5sums=('1e61836e7d938710801f4fb2b2deaaae'
+ '2a0d1ff33567946b7a8ac1242270c8cc'
+ '63cdaa57c6c9a68ce51c0862bc1b74a0'
+ '85baafb00bbb1bcd04cfae899b6cd395'
+ 'b2454d4fab43813e8e660ea4709a3102'
+ '327d49273d41dc5bbd9f74defb0dc924'
+ 'b4aa4f6881c571e873574907983a82db'
+ '9d93f9b7b0a1384df533efde19ed3021'
+ 'c528e75443ae421cb7f63e12350c692a'
+ '81cb12b36616a299ec808ac70a809ec2')
diff --git a/abs/core/zoneminder/__changelog b/abs/core/zoneminder/__changelog
index f039892..ca5266f 100644
--- a/abs/core/zoneminder/__changelog
+++ b/abs/core/zoneminder/__changelog
@@ -1,16 +1,19 @@
-PKGBUILD: modified AUR zoneminder-git
PKGBUILD: remove apache
PKGBUILD: add lighttpd
PKGBUILD: remove php-apache
PKGBUILD: change mariadb to mysql
PKGBUILD: remove vlc
+PKGBUILD: remove php-mcrypt
+PKGBUILD: add perl-sys-meminfo perl-sys-cpu
+PGKBUILD: add php-uapc
PKGBUILD: change all /srv/ to /data/srv/ - cgidir webdir socks
PKGBUILD: change all http to httpd dirs
+PKGBUILD: add zoneminder.ini for /etc/php/conf.d/
PKGBUILD: add zm.include for lighttpd
PKGBUILD: add zm.sysctrl.conf to set the shared mem
PKGBUILD: add zm_gen_light.conf
--
-.install: Remove modifications of php.ini
+.install: Remove modifications of php.ini & apache files
.install: Remove php and mysql notes
.install: Remove/Add of zm.include in post install/remove
.install: Add install_db()
diff --git a/abs/core/zoneminder/fabs.patch b/abs/core/zoneminder/fabs.patch
new file mode 100644
index 0000000..b0a62e3
--- /dev/null
+++ b/abs/core/zoneminder/fabs.patch
@@ -0,0 +1,11 @@
+--- src/ZoneMinder-1.30.4/src/zm_image.cpp 2017-06-17 04:20:45.808503543 -0300
++++ src/ZoneMinder-1.30.4/src/zm_image.cpp.2 2017-06-17 04:20:40.221794330 -0300
+@@ -1659,7 +1659,7 @@
+ uint8_t *psrc = images[j]->buffer+c;
+
+ #ifndef SOLARIS
+- if ( (unsigned)abs((*psrc)-RGB_VAL(ref_colour,c)) >= RGB_VAL(threshold,c) )
++ if ( (unsigned)fabs((*psrc)-RGB_VAL(ref_colour,c)) >= RGB_VAL(threshold,c) )
+ #else
+ if ( (unsigned)std::abs((*psrc)-RGB_VAL(ref_colour,c)) >= RGB_VAL(threshold,c) )
+ #endif
diff --git a/abs/core/zoneminder/log.txt b/abs/core/zoneminder/log.txt
new file mode 100644
index 0000000..09e54b1
--- /dev/null
+++ b/abs/core/zoneminder/log.txt
@@ -0,0 +1,23 @@
+==> Making package: zoneminder 1.30.4-1 (Fri Sep 15 20:35:45 UTC 2017)
+==> Checking runtime dependencies...
+==> Missing dependencies:
+ -> mariadb
+ -> perl-dbd-mysql
+ -> perl-dbi
+ -> apache
+ -> php
+ -> php-apache
+ -> php-gd
+ -> php-mcrypt
+ -> perl-libwww
+ -> vlc
+ -> perl-archive-zip
+ -> perl-date-manip
+ -> perl-mime-lite
+ -> perl-mime-tools
+==> Checking buildtime dependencies...
+==> Missing dependencies:
+ -> netpbm
+==> ERROR: Could not resolve all dependencies.
+
+==> ERROR: An unknown error has occurred. Exiting...
diff --git a/abs/core/zoneminder/uio.patch b/abs/core/zoneminder/uio.patch
new file mode 100644
index 0000000..a892e29
--- /dev/null
+++ b/abs/core/zoneminder/uio.patch
@@ -0,0 +1,22 @@
+--- src/ZoneMinder-1.30.4/src/zm_comms.h 2017-05-09 14:54:48.000000000 +0000
++++ src/ZoneMinder-1.30.4/src/zm_comms.fix.h 2017-09-15 20:49:46.992445289 +0000
+@@ -21,7 +21,6 @@
+ #define ZM_COMMS_H
+
+ #include "zm_exception.h"
+-
+ #include <string.h>
+ #include <unistd.h>
+ #include <netdb.h>
+@@ -31,11 +30,9 @@
+ #include <set>
+ #include <vector>
+
+-#if defined(BSD)
+ #include <sys/uio.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+-#endif
+
+ class CommsException : public Exception
+ {
diff --git a/abs/core/zoneminder/zm_rtp_ctrl.h.quick_fix_for_gcc6.diff b/abs/core/zoneminder/zm_rtp_ctrl.h.quick_fix_for_gcc6.diff
new file mode 100644
index 0000000..ae076e7
--- /dev/null
+++ b/abs/core/zoneminder/zm_rtp_ctrl.h.quick_fix_for_gcc6.diff
@@ -0,0 +1,4 @@
+126c126
+< struct Bye
+---
+> struct
diff --git a/abs/core/zoneminder/zoneminder.ini b/abs/core/zoneminder/zoneminder.ini
new file mode 100644
index 0000000..231a43c
--- /dev/null
+++ b/abs/core/zoneminder/zoneminder.ini
@@ -0,0 +1 @@
+extension=apcu.so
diff --git a/abs/core/zoneminder/zoneminder.install b/abs/core/zoneminder/zoneminder.install
index 5d5459a..db07ef4 100644
--- a/abs/core/zoneminder/zoneminder.install
+++ b/abs/core/zoneminder/zoneminder.install
@@ -2,7 +2,7 @@ install_db() {
. /etc/systemconfig
if [ $SystemType = Master_backend -o $SystemType = Standalone ]
then
- mysql -e "use zm" > /dev/null
+ mysql -e "use zm" &> /dev/null
rc=$?
if [ $rc = 1 ]
then
@@ -25,6 +25,9 @@ post_install() {
gen_light_include.py
/sbin/sv hup /service/lighttpd
#---
+
+ echo "To start zoneminder enter:"
+ echo " sudo add_service.sh zoneminder"
}
post_upgrade() {
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/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 &amp; 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 &amp;&amp; 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 &amp;&amp; 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 &amp; 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('/ & /', ' &amp; ', $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-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: