summaryrefslogtreecommitdiffstats
path: root/abs/extra
diff options
context:
space:
mode:
authorBritney Fransen <brfransen@gmail.com>2016-05-16 16:24:28 (GMT)
committerBritney Fransen <brfransen@gmail.com>2016-05-16 16:24:28 (GMT)
commitfff4c50d3a1d94c807604d6c21355993dfb95c85 (patch)
tree390f0eb0781b2599449edbdafbeb6aaba34200dc /abs/extra
parent8de064f6e96f960cdbfe6868d9957a4613f704df (diff)
parent6f7a84649ef75069cc4fa06fabeb63e762e049d1 (diff)
downloadlinhes_pkgbuild-fff4c50d3a1d94c807604d6c21355993dfb95c85.zip
linhes_pkgbuild-fff4c50d3a1d94c807604d6c21355993dfb95c85.tar.gz
linhes_pkgbuild-fff4c50d3a1d94c807604d6c21355993dfb95c85.tar.bz2
Merge branch 'testing'
Diffstat (limited to 'abs/extra')
-rw-r--r--abs/extra/apcupsd/PKGBUILD10
-rw-r--r--abs/extra/apcupsd/apcupsd.install15
-rw-r--r--abs/extra/autoconf-archive/PKGBUILD35
-rw-r--r--abs/extra/autoconf-archive/autoconf-archive.install20
-rw-r--r--abs/extra/bluez/0001-Allow-using-obexd-without-systemd-in-the-user-session.patch59
-rw-r--r--abs/extra/bluez/PKGBUILD24
-rw-r--r--abs/extra/bluez/bluez.install15
-rw-r--r--abs/extra/boost/0001-Add-missing-include-to-signals2-trackable.hpp.patch29
-rw-r--r--abs/extra/boost/PKGBUILD26
-rw-r--r--abs/extra/boost/__changelog2
-rw-r--r--abs/extra/cambozola/PKGBUILD13
-rw-r--r--abs/extra/check/PKGBUILD40
-rw-r--r--abs/extra/check/check.install20
-rw-r--r--abs/extra/cifs-utils/PKGBUILD15
-rw-r--r--abs/extra/cups/PKGBUILD119
-rw-r--r--abs/extra/cups/cups-avahi-address.patch75
-rw-r--r--abs/extra/cups/cups-enum-all.patch17
-rw-r--r--abs/extra/cups/cups-final-content-type.patch18
-rw-r--r--abs/extra/cups/cups-no-gcrypt.patch41
-rw-r--r--abs/extra/cups/cups-res_init.patch26
-rw-r--r--abs/extra/cups/cups-systemd-socket.patch404
-rw-r--r--abs/extra/cups/cups.install15
-rw-r--r--abs/extra/cups/cups.logrotate5
-rw-r--r--abs/extra/cups/cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch19
-rw-r--r--abs/extra/cups/get-ppd-file-for-statically-configured-ipp-shared-queues.patch31
-rw-r--r--abs/extra/cups/ppd-poll-with-client-conf.patch23
-rw-r--r--abs/extra/dcadec/PKGBUILD35
-rw-r--r--abs/extra/dtv-scan-tables-git/PKGBUILD30
-rw-r--r--abs/extra/emacs/PKGBUILD19
-rw-r--r--abs/extra/emacs/emacs.install10
-rw-r--r--abs/extra/exiv2/PKGBUILD24
-rw-r--r--abs/extra/ffmpeg-compat/PKGBUILD28
-rw-r--r--abs/extra/ffmpeg-compat/ffmpeg-0.10-libvpx-1.5.patch24
-rw-r--r--abs/extra/findbrokenpkgs/PKGBUILD18
-rw-r--r--abs/extra/findbrokenpkgs/findbrokenpkgs-1.1.sh326
-rw-r--r--abs/extra/flashplugin/PKGBUILD29
-rw-r--r--abs/extra/fltk/PKGBUILD69
-rw-r--r--abs/extra/fltk/fltk-config-dynlibs.patch97
-rw-r--r--abs/extra/fltk/fltk-games.install11
-rw-r--r--abs/extra/fltk/fltk.install12
-rw-r--r--abs/extra/fltk/tigervnc.patch226
-rw-r--r--abs/extra/gd/PKGBUILD23
-rw-r--r--abs/extra/gd/color_c_null_pointer.patch18
-rw-r--r--abs/extra/gd/gd-2.1.1-libvpx-1.4.0.patch37
-rw-r--r--abs/extra/git/ChangeLog57
-rw-r--r--abs/extra/git/PKGBUILD104
-rw-r--r--abs/extra/git/git-daemon70
-rw-r--r--abs/extra/git/git-daemon.conf5
-rw-r--r--abs/extra/git/git-daemon.socket9
-rw-r--r--abs/extra/git/git-daemon@.service10
-rw-r--r--abs/extra/git/git.install12
-rw-r--r--abs/extra/glade/PKGBUILD33
-rw-r--r--abs/extra/glade/glade.install12
-rw-r--r--abs/extra/glew/PKGBUILD4
-rw-r--r--abs/extra/glib-networking/0001-gnutls-Switch-backend-priorities-so-gnutls-pkcs11-is.patch36
-rw-r--r--abs/extra/glib-networking/PKGBUILD43
-rw-r--r--abs/extra/gnome-common/PKGBUILD18
-rw-r--r--abs/extra/google-chrome/PKGBUILD44
-rw-r--r--abs/extra/google-chrome/__changelog2
-rw-r--r--abs/extra/google-chrome/eula_text.html902
-rw-r--r--abs/extra/google-chrome/google-chrome-stable.sh9
-rw-r--r--abs/extra/google-chrome/google-chrome.install6
-rw-r--r--abs/extra/gperftools/PKGBUILD42
-rw-r--r--abs/extra/gtk3/0001-x11-Only-do-cursor-name-fallback-for-standard-names.patch85
-rw-r--r--abs/extra/gtk3/0002-wayland-Only-do-cursor-name-fallback-for-standard-na.patch94
-rw-r--r--abs/extra/gtk3/PKGBUILD53
-rw-r--r--abs/extra/gtk3/gtk-update-icon-cache.install3
-rw-r--r--abs/extra/gtk3/settings.ini2
-rw-r--r--abs/extra/gtk3/wacom.patch12
-rw-r--r--abs/extra/guile/PKGBUILD34
-rw-r--r--abs/extra/handbrake/PKGBUILD17
-rw-r--r--abs/extra/handbrake/standard-presets-fix-type.patch88
-rw-r--r--abs/extra/hardening-wrapper/PKGBUILD26
-rw-r--r--abs/extra/hardening-wrapper/hardening-wrapper-i686.conf6
-rw-r--r--abs/extra/hardening-wrapper/hardening-wrapper-x86_64.conf6
-rw-r--r--abs/extra/hardening-wrapper/path.sh1
-rw-r--r--abs/extra/harfbuzz/PKGBUILD15
-rw-r--r--abs/extra/htop/PKGBUILD14
-rw-r--r--abs/extra/http-parser/PKGBUILD39
-rw-r--r--abs/extra/icu/PKGBUILD6
-rw-r--r--abs/extra/itstool/PKGBUILD36
-rw-r--r--abs/extra/json-c/PKGBUILD33
-rw-r--r--abs/extra/jsoncpp/PKGBUILD38
-rw-r--r--abs/extra/kodi-addon-pvr-mythtv-git/PKGBUILD64
-rw-r--r--abs/extra/kodi-addon-pvr-mythtv-git/__changelog4
-rw-r--r--abs/extra/kodi-addon-pvr-mythtv-git/p8-platform.patch509
-rw-r--r--abs/extra/kodi-platform/PKGBUILD36
-rw-r--r--abs/extra/kodi-pvr-addons/PKGBUILD33
-rw-r--r--abs/extra/kodi/PKGBUILD48
-rw-r--r--abs/extra/kodi/__changelog1
-rw-r--r--abs/extra/kodi/kodi.install4
-rw-r--r--abs/extra/l-smash/PKGBUILD36
-rw-r--r--abs/extra/ldb/PKGBUILD9
-rw-r--r--abs/extra/leveldb/PKGBUILD44
-rw-r--r--abs/extra/libbluray/PKGBUILD9
-rw-r--r--abs/extra/libcdio/PKGBUILD3
-rw-r--r--abs/extra/libcrossguid/PKGBUILD41
-rw-r--r--abs/extra/libcrystalhd-git/PKGBUILD16
-rw-r--r--abs/extra/libee/PKGBUILD27
-rw-r--r--abs/extra/libepoxy/PKGBUILD35
-rw-r--r--abs/extra/libepoxy/__changelog1
-rw-r--r--abs/extra/libestr/PKGBUILD24
-rw-r--r--abs/extra/libfbclient/ChangeLog26
-rw-r--r--abs/extra/libfbclient/LICENSE44
-rw-r--r--abs/extra/libfbclient/PKGBUILD47
-rw-r--r--abs/extra/libglvnd/LICENSE26
-rw-r--r--abs/extra/libglvnd/PKGBUILD38
-rw-r--r--abs/extra/libgudev/PKGBUILD32
-rw-r--r--abs/extra/libinput/PKGBUILD39
-rw-r--r--abs/extra/libinput/libinput.install11
-rw-r--r--abs/extra/liblogging/PKGBUILD27
-rw-r--r--abs/extra/liblogging/__changelog2
-rw-r--r--abs/extra/libmicrohttpd/PKGBUILD4
-rw-r--r--abs/extra/libnfs/PKGBUILD32
-rw-r--r--abs/extra/librelp/PKGBUILD23
-rw-r--r--abs/extra/libsoxr/0001-fix-ineffectual-SOXR_MINIMUM_PHASE-and-SOXR_INTERMED.patch26
-rw-r--r--abs/extra/libsoxr/PKGBUILD55
-rw-r--r--abs/extra/libunwind/PKGBUILD35
-rw-r--r--abs/extra/libuv/PKGBUILD48
-rw-r--r--abs/extra/libuv/__changelog1
-rw-r--r--abs/extra/libva-intel-driver/PKGBUILD35
-rw-r--r--abs/extra/libva/PKGBUILD4
-rw-r--r--abs/extra/libvpx/0001-Fix-for-issue-1114-compile-error.patch317
-rw-r--r--abs/extra/libvpx/PKGBUILD54
-rw-r--r--abs/extra/linuxtv-dvb-apps/PKGBUILD30
-rw-r--r--abs/extra/llvm/0001-New-MSan-mapping-layout-compiler-rt-part.patch142
-rw-r--r--abs/extra/llvm/0001-New-MSan-mapping-layout-llvm-part.patch115
-rw-r--r--abs/extra/llvm/PKGBUILD308
-rw-r--r--abs/extra/llvm/clang-3.7.0-add-gcc-abi-tag-support.patch1267
-rw-r--r--abs/extra/llvm/clang-tools-extra-3.7.0-install-clang-query.patch9
-rw-r--r--abs/extra/llvm/lldb-3.7.0-avoid-linking-to-libLLVM.patch20
-rw-r--r--abs/extra/llvm/llvm-3.5.0-fix-cmake-llvm-exports.patch39
-rw-r--r--abs/extra/llvm/llvm-3.5.0-force-link-pass.o.patch28
-rw-r--r--abs/extra/llvm/llvm-3.7.0-export-more-symbols.patch11
-rw-r--r--abs/extra/llvm/llvm-3.7.0-link-tools-against-libLLVM.patch440
-rw-r--r--abs/extra/llvm/llvm-Config-config.h9
-rw-r--r--abs/extra/m17n-db/PKGBUILD6
-rw-r--r--abs/extra/m17n-lib/PKGBUILD10
-rw-r--r--abs/extra/mpd/PKGBUILD7
-rw-r--r--abs/extra/mpd/__changelog2
-rw-r--r--abs/extra/mpg123/PKGBUILD5
-rwxr-xr-xabs/extra/mythexpress/PKGBUILD14
-rwxr-xr-xabs/extra/mythexpress/mythexpress.html4
-rw-r--r--abs/extra/mythexpress/mythexpress.install11
-rw-r--r--abs/extra/mythexpress/mythprotocol.js.patch12
-rw-r--r--abs/extra/ncdu/PKGBUILD7
-rw-r--r--abs/extra/nodejs/PKGBUILD14
-rw-r--r--abs/extra/npm/PKGBUILD55
-rw-r--r--abs/extra/nspr/PKGBUILD8
-rw-r--r--abs/extra/nss/PKGBUILD30
-rw-r--r--abs/extra/nss/certdata2pem.py1
-rw-r--r--abs/extra/nss/legacy-certs.patch26
-rw-r--r--abs/extra/nss/nss.install13
-rw-r--r--abs/extra/nss/ssl-renegotiate-transitional.patch21
-rw-r--r--abs/extra/ocaml-ctypes/PKGBUILD34
-rw-r--r--abs/extra/ocaml-findlib/PKGBUILD37
-rw-r--r--abs/extra/ocaml/PKGBUILD20
-rw-r--r--abs/extra/ocaml/fix-ocaml-binutils-2.21.patch66
l---------abs/extra/ocaml/ocaml-3.12.1-3.src.tar.gz1
-rw-r--r--abs/extra/openal/PKGBUILD47
-rw-r--r--abs/extra/openal/__changelog4
-rw-r--r--abs/extra/openmpi/PKGBUILD18
-rwxr-xr-xabs/extra/openpht/PKGBUILD75
-rw-r--r--abs/extra/openpht/__changelog5
-rw-r--r--abs/extra/openpht/openpht.install (renamed from abs/extra/plex-home-theater/plex-home-theater.install)4
-rwxr-xr-xabs/extra/openpht/plex-ffmpeg-compat.patch (renamed from abs/extra/plex-home-theater/plex-ffmpeg-compat.patch)0
-rw-r--r--abs/extra/openpht/plex_lib.conf (renamed from abs/extra/plex-home-theater/plex_lib.conf)2
-rwxr-xr-xabs/extra/openpht/plexhometheater.sh11
-rw-r--r--abs/extra/oss/PKGBUILD41
-rw-r--r--abs/extra/oss/gcc-5.patch52
-rw-r--r--abs/extra/p8-platform/PKGBUILD35
-rwxr-xr-xabs/extra/plex-home-theater/PKGBUILD76
-rw-r--r--abs/extra/plex-home-theater/__changelog3
-rw-r--r--abs/extra/plex-home-theater/plex-libcec-2.2.0.patch114
-rw-r--r--abs/extra/plex-home-theater/plex-lirc-socket.patch56
-rwxr-xr-xabs/extra/plex-home-theater/plexhometheater.sh5
-rw-r--r--abs/extra/plex-media-server/MKPKG3
-rw-r--r--abs/extra/plex-media-server/PKGBUILD65
-rw-r--r--abs/extra/plex-media-server/__changelog6
-rw-r--r--abs/extra/plex-media-server/plex-media-server.install45
-rwxr-xr-xabs/extra/plex-media-server/plexmediascanner.sh6
-rw-r--r--abs/extra/plex-media-server/plexmediaserver.conf.d6
-rw-r--r--abs/extra/plex-media-server/plexmediaserver.service18
-rw-r--r--abs/extra/plex-media-server/terms.txt109
-rw-r--r--abs/extra/portaudio/PKGBUILD34
-rw-r--r--abs/extra/portaudio/__changelog2
-rw-r--r--abs/extra/powerpanel/PKGBUILD35
-rw-r--r--abs/extra/prelink/PKGBUILD39
-rw-r--r--abs/extra/prelink/prelink.conf43
-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/rsync/PKGBUILD14
-rw-r--r--abs/extra/rsync/rsyncd.service1
-rw-r--r--abs/extra/rsync/rsyncd@.service2
-rw-r--r--abs/extra/samba/0001-s4-lib-tls-use-gnutls_priority_set_direct.patch69
-rw-r--r--abs/extra/samba/PKGBUILD17
-rw-r--r--abs/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch60
-rw-r--r--abs/extra/sdl_sound/PKGBUILD32
-rw-r--r--abs/extra/sdl_sound/flac.patch126
-rw-r--r--abs/extra/semver/PKGBUILD23
-rw-r--r--abs/extra/setconf/PKGBUILD22
-rw-r--r--abs/extra/shellinabox/PKGBUILD41
-rw-r--r--abs/extra/shellinabox/__changelog3
-rw-r--r--abs/extra/shellinabox/shellinaboxd.conf.d5
-rw-r--r--abs/extra/shellinabox/shellinaboxd.rc.d38
-rw-r--r--abs/extra/shellinabox/shellinaboxd.service17
-rw-r--r--abs/extra/smartmontools/PKGBUILD13
-rw-r--r--abs/extra/swig/PKGBUILD36
-rw-r--r--abs/extra/swig/pyint_fromsize_t.diff18
-rw-r--r--abs/extra/swig/upstream_r13128.diff73
-rw-r--r--abs/extra/tevent/PKGBUILD10
-rw-r--r--abs/extra/tig/PKGBUILD6
-rw-r--r--abs/extra/tigervnc/PKGBUILD89
-rw-r--r--abs/extra/tigervnc/cmakelists.patch70
-rw-r--r--abs/extra/tigervnc/gethomedir.patch24
-rw-r--r--abs/extra/tigervnc/gnutls.patch36
-rw-r--r--abs/extra/tigervnc/tiger.install22
-rw-r--r--abs/extra/tigervnc/vncserver.service29
-rw-r--r--abs/extra/tigervnc/vncsvc.rules4
-rw-r--r--abs/extra/tigervnc/vncviewer.desktop9
-rw-r--r--abs/extra/tigervnc/xorg111.patch235
-rw-r--r--abs/extra/tigervnc/xorg112.patch447
-rw-r--r--abs/extra/tigervnc/xorg118.patch27
-rw-r--r--abs/extra/tinyxml/PKGBUILD62
-rw-r--r--abs/extra/tinyxml/entity.patch64
-rw-r--r--abs/extra/tinyxml/tinyxml-2.5.3-stl.patch12
-rw-r--r--abs/extra/tinyxml/tinyxml.pc10
-rw-r--r--abs/extra/upower/0001-Send-resume-signal-when-built-with-systemd-and-using.patch35
-rw-r--r--abs/extra/upower/PKGBUILD32
-rw-r--r--abs/extra/vala/PKGBUILD12
-rw-r--r--abs/extra/valgrind/PKGBUILD22
-rw-r--r--abs/extra/valgrind/valgrind-3.9.0-glibc-2.20.patch37
-rw-r--r--abs/extra/vid.stab/PKGBUILD43
-rw-r--r--abs/extra/vte3/PKGBUILD21
-rw-r--r--abs/extra/w_scan/PKGBUILD28
-rw-r--r--abs/extra/web-on-linhes/PKGBUILD4
-rwxr-xr-xabs/extra/web-on-linhes/web-on-linhes_is.conf32
-rw-r--r--abs/extra/webmin/PKGBUILD4
-rw-r--r--abs/extra/wxgtk/PKGBUILD16
-rw-r--r--abs/extra/wxgtk/make-abicheck-non-fatal.patch15
-rw-r--r--abs/extra/xbmc-pvr-addons/PKGBUILD31
-rw-r--r--abs/extra/xbmc/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch41
-rw-r--r--abs/extra/xbmc/0002-CEC-bump-libCEC-to-2.2.0.patch39
-rw-r--r--abs/extra/xbmc/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch26
-rw-r--r--abs/extra/xbmc/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch112
-rw-r--r--abs/extra/xbmc/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch32
-rw-r--r--abs/extra/xbmc/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch29
-rw-r--r--abs/extra/xbmc/PKGBUILD147
-rw-r--r--abs/extra/xbmc/__changelog4
-rw-r--r--abs/extra/xbmc/xbmc.install26
-rw-r--r--abs/extra/xbmc/xbmc.sh7
-rw-r--r--abs/extra/xbmc/xbmc_lib.conf9
-rw-r--r--[-rwxr-xr-x]abs/extra/xfsdump/PKGBUILD22
-rw-r--r--abs/extra/yelp-tools/PKGBUILD26
-rw-r--r--abs/extra/yelp-xsl/PKGBUILD26
256 files changed, 7694 insertions, 4824 deletions
diff --git a/abs/extra/apcupsd/PKGBUILD b/abs/extra/apcupsd/PKGBUILD
index 936ae52..c994545 100644
--- a/abs/extra/apcupsd/PKGBUILD
+++ b/abs/extra/apcupsd/PKGBUILD
@@ -5,18 +5,18 @@
# Contributor: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
pkgname=apcupsd
-pkgver=3.14.12
-pkgrel=3
+pkgver=3.14.13
+pkgrel=2
pkgdesc="Power mangement and controlling most of APC's UPS models"
arch=(i686 x86_64)
url="http://www.apcupsd.org"
license=('GPL')
-install=apcupsd.install
-depends=('gcc-libs')
+depends=('gcc-libs' 'systemd-sysvcompat')
optdepends=('gd: for CGI'
'gconf: for frontend'
'gtk2: for frontend')
makedepends=('pkgconfig' 'gd' 'gconf' 'gtk2')
+install=apcupsd.install
backup=(etc/apcupsd/apcupsd.conf
etc/apcupsd/hosts.conf
etc/apcupsd/multimon.conf
@@ -30,7 +30,7 @@ backup=(etc/apcupsd/apcupsd.conf
source=(http://downloads.sourceforge.net/apcupsd/$pkgname-$pkgver.tar.gz{,.sig}
apcupsd.service
apcupsd-tmpfiles.conf)
-sha256sums=('1b4f703cb19cfdf44daf173dc8394cafd30fee0b30a0c75a7d19db622454a440'
+sha256sums=('57ecbde01d0448bf8c4dbfe0ad016724ae66ab98adf2de955bf2be553c5d03f9'
'SKIP'
'145e88863335f077fc354b4d263b15f64af67b45a10ed37c68ebd468181e23f7'
'a4474cfcd607c5e9b64e27eec7cbc2b0bcf08c8ea37fd1f0f28e98ac2883fd4f')
diff --git a/abs/extra/apcupsd/apcupsd.install b/abs/extra/apcupsd/apcupsd.install
index 3f1e6b2..06eeee4 100644
--- a/abs/extra/apcupsd/apcupsd.install
+++ b/abs/extra/apcupsd/apcupsd.install
@@ -1,24 +1,15 @@
-# This is a default template for a post-install scriptlet. You can
-# remove any functions you don't need (and this header).
-
-# arg 1: the new package version
post_install() {
add_service.sh apcupsd
- /sbin/sv start apcupsd
+ sv start apcupsd
+ systemd-tmpfiles --create apcupsd.conf
}
-# arg 1: the new package version
-# arg 2: the old package version
post_upgrade() {
post_install
}
-# arg 1: the old package version
post_remove() {
- /sbin/sv stop apcupsd
+ sv stop apcupsd
remove_service.sh apcupsd
}
-op=$1
-shift
-$op $*
diff --git a/abs/extra/autoconf-archive/PKGBUILD b/abs/extra/autoconf-archive/PKGBUILD
new file mode 100644
index 0000000..94e7ff7
--- /dev/null
+++ b/abs/extra/autoconf-archive/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id$
+# Contributor: Daniel Müllner <muellner@math.stanford.edu>
+
+pkgname=autoconf-archive
+pkgver=2015.09.25
+pkgrel=1
+epoch=1
+pkgdesc="A collection of freely re-usable Autoconf macros"
+arch=('any')
+url="http://www.gnu.org/software/autoconf-archive/"
+_watch="http://mirrors.axint.net/repos/gnu.org/autoconf-archive/"
+license=('GPL')
+depends=('autoconf')
+optdepends=('automake: macros for use with it')
+validpgpkeys=('1A4F63A13A4649B632F65EE141BC28FE99089D72')
+install=autoconf-archive.install
+source=(http://ftpmirror.gnu.org/$pkgname/$pkgname-$pkgver.tar.xz{,.sig})
+md5sums=('23c2a68fe323d30eaf0fbfa790b4dc92'
+ 'SKIP')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make check
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/abs/extra/autoconf-archive/autoconf-archive.install b/abs/extra/autoconf-archive/autoconf-archive.install
new file mode 100644
index 0000000..e17905a
--- /dev/null
+++ b/abs/extra/autoconf-archive/autoconf-archive.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(autoconf-archive.info{,-{1,2,3,4}})
+
+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/bluez/0001-Allow-using-obexd-without-systemd-in-the-user-session.patch b/abs/extra/bluez/0001-Allow-using-obexd-without-systemd-in-the-user-session.patch
deleted file mode 100644
index fe3c513..0000000
--- a/abs/extra/bluez/0001-Allow-using-obexd-without-systemd-in-the-user-session.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 3027cb7141fb65cf3eeda69c688db8c4045e2d3f Mon Sep 17 00:00:00 2001
-From: Giovanni Campagna <gcampagna-cNUdlRotFMnNLxjTenLetw@public.gmane.org>
-Date: Sat, 12 Oct 2013 17:45:25 +0200
-Subject: [PATCH] Allow using obexd without systemd in the user session
-
-Not all sessions run systemd --user (actually, the majority
-doesn't), so the dbus daemon must be able to spawn obexd
-directly, and to do so it needs the full path of the daemon.
----
- Makefile.obexd | 4 ++--
- obexd/src/org.bluez.obex.service | 4 ----
- obexd/src/org.bluez.obex.service.in | 4 ++++
- 3 files changed, 6 insertions(+), 6 deletions(-)
- delete mode 100644 obexd/src/org.bluez.obex.service
- create mode 100644 obexd/src/org.bluez.obex.service.in
-
-diff --git a/Makefile.obexd b/Makefile.obexd
-index 3760867..142e7c3 100644
---- a/Makefile.obexd
-+++ b/Makefile.obexd
-@@ -2,12 +2,12 @@
- if SYSTEMD
- systemduserunitdir = @SYSTEMD_USERUNITDIR@
- systemduserunit_DATA = obexd/src/obex.service
-+endif
-
- dbussessionbusdir = @DBUS_SESSIONBUSDIR@
- dbussessionbus_DATA = obexd/src/org.bluez.obex.service
--endif
-
--EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service
-+EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service.in
-
- obex_plugindir = $(libdir)/obex/plugins
-
-diff --git a/obexd/src/org.bluez.obex.service b/obexd/src/org.bluez.obex.service
-deleted file mode 100644
-index a538088..0000000
---- a/obexd/src/org.bluez.obex.service
-+++ /dev/null
-@@ -1,4 +0,0 @@
--[D-BUS Service]
--Name=org.bluez.obex
--Exec=/bin/false
--SystemdService=dbus-org.bluez.obex.service
-diff --git a/obexd/src/org.bluez.obex.service.in b/obexd/src/org.bluez.obex.service.in
-new file mode 100644
-index 0000000..9c815f2
---- /dev/null
-+++ b/obexd/src/org.bluez.obex.service.in
-@@ -0,0 +1,4 @@
-+[D-BUS Service]
-+Name=org.bluez.obex
-+Exec=@libexecdir@/obexd
-+SystemdService=dbus-org.bluez.obex.service
---
-1.8.3.1
-
-
diff --git a/abs/extra/bluez/PKGBUILD b/abs/extra/bluez/PKGBUILD
index 3ea45a0..db1044c 100644
--- a/abs/extra/bluez/PKGBUILD
+++ b/abs/extra/bluez/PKGBUILD
@@ -5,29 +5,20 @@
pkgbase=bluez
pkgname=('bluez' 'bluez-utils' 'bluez-libs' 'bluez-cups' 'bluez-hid2hci' 'bluez-plugins')
-pkgver=5.27
+pkgver=5.39
pkgrel=1
url="http://www.bluez.org/"
arch=('i686' 'x86_64')
license=('GPL2')
makedepends=('dbus' 'libical' 'systemd')
-source=(http://www.kernel.org/pub/linux/bluetooth/${pkgname}-${pkgver}.tar.xz
- 0001-Allow-using-obexd-without-systemd-in-the-user-session.patch
+source=(http://www.kernel.org/pub/linux/bluetooth/${pkgname}-${pkgver}.tar.{xz,sign}
bluetooth.modprobe)
# see https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc
-sha256sums=('fbf33cebc76f8c81f28f0d67c71a8a1ec4b04b087460ec7353f7e0c207a1f981'
- '896a1403d9b7258c4fb0d41f3a6f70fd51eaa1115ab3f4259f3dbbe02b55766b'
+sha256sums=('21d1bc9150d3576296595217efb98a746b592389d25d5637e8bee5da7272593b'
+ 'SKIP'
'46c021be659c9a1c4e55afd04df0c059af1f3d98a96338236412e449bf7477b4')
validpgpkeys=('E932D120BC2AEC444E558F0106CA9F5D1DCF2659') # Marcel Holtmann <marcel@holtmann.org>
-prepare() {
- cd $pkgname-$pkgver
- # patch not upstreamable for obex file transfer - FS#37773 taken from FC
- # http://www.hadess.net/2013/11/bluetooth-file-sharing-obexpush-in.html
- patch -Np1 -i ${srcdir}/0001-Allow-using-obexd-without-systemd-in-the-user-session.patch
- autoreconf -vfi
-}
-
build() {
cd ${pkgname}-${pkgver}
./configure \
@@ -44,7 +35,7 @@ build() {
check() {
cd $pkgname-$pkgver
- #make check
+ make check
}
@@ -75,11 +66,14 @@ package_bluez() {
# fix module loading errors
install -dm755 ${pkgdir}/usr/lib/modprobe.d
install -Dm644 ${srcdir}/bluetooth.modprobe ${pkgdir}/usr/lib/modprobe.d/bluetooth-usb.conf
+
+ # fix obex file transfer - https://bugs.archlinux.org/task/45816
+ ln -fs /usr/lib/systemd/user/obex.service ${pkgdir}/usr/lib/systemd/user/dbus-org.bluez.obex.service
}
package_bluez-utils() {
pkgdesc="Development and debugging utilities for the bluetooth protocol stack"
- depends=('dbus' 'systemd')
+ depends=('dbus' 'systemd' 'glib2')
conflicts=('bluez-hcidump')
provides=('bluez-hcidump')
replaces=('bluez-hcidump' 'bluez<=4.101')
diff --git a/abs/extra/bluez/bluez.install b/abs/extra/bluez/bluez.install
deleted file mode 100644
index 9cfe793..0000000
--- a/abs/extra/bluez/bluez.install
+++ /dev/null
@@ -1,15 +0,0 @@
-post_install() {
- add_service.sh bluetoothd
- echo ">>> Only the bluetoothd daemon is started by default."
- echo ">>> You can optionally add the following as required:"
- echo ">>> hidd dund pand sdpd rfcomm hid2hci"
- echo ">>> $ sudo add_service.sh <service_name>"
-}
-
-pre_remove() {
- for d in { bluetoothd,hidd,dund,pand,sdpd,rfcomm,hid2hci } ; do
- if [ -d /var/service/${d} ] ; then
- remove_service.sh $d
- fi
- done
-}
diff --git a/abs/extra/boost/0001-Add-missing-include-to-signals2-trackable.hpp.patch b/abs/extra/boost/0001-Add-missing-include-to-signals2-trackable.hpp.patch
deleted file mode 100644
index d833ee8..0000000
--- a/abs/extra/boost/0001-Add-missing-include-to-signals2-trackable.hpp.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 06ccdfee76fe487a141b95848d1c866890f15d88 Mon Sep 17 00:00:00 2001
-From: Evangelos Foutras <evangelos@foutrelis.com>
-Date: Thu, 6 Nov 2014 09:19:26 +0200
-Subject: [PATCH] Add missing include to signals2/trackable.hpp
-
-boost::weak_ptr started being used in commit a0bf2d1 (Disconnect slots
-associated with signals2::trackable immediately) but the matching header
-wasn't included.
-
-https://svn.boost.org/trac/boost/ticket/10100#comment:7
----
- include/boost/signals2/trackable.hpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/include/boost/signals2/trackable.hpp b/include/boost/signals2/trackable.hpp
-index dba001d..64e8489 100644
---- a/include/boost/signals2/trackable.hpp
-+++ b/include/boost/signals2/trackable.hpp
-@@ -18,6 +18,7 @@
-
- #include <boost/assert.hpp>
- #include <boost/shared_ptr.hpp>
-+#include <boost/weak_ptr.hpp>
-
- namespace boost {
- namespace signals2 {
---
-2.1.3
-
diff --git a/abs/extra/boost/PKGBUILD b/abs/extra/boost/PKGBUILD
index 17d4995..cb7b3b7 100644
--- a/abs/extra/boost/PKGBUILD
+++ b/abs/extra/boost/PKGBUILD
@@ -1,5 +1,6 @@
# $Id$
-# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: kevin <kevin@archlinux.org>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
@@ -8,23 +9,22 @@
pkgbase=boost
pkgname=('boost-libs' 'boost')
-pkgver=1.57.0
+pkgver=1.60.0
_boostver=${pkgver//./_}
-pkgrel=3
+pkgrel=2
url='http://www.boost.org/'
arch=('i686' 'x86_64')
license=('custom')
-makedepends=('icu>=53.1' 'python2' 'bzip2' 'zlib' 'openmpi')
+makedepends=('icu>=55.1' 'python2' 'bzip2' 'zlib' 'openmpi')
source=(https://downloads.sourceforge.net/project/${pkgbase}/${pkgbase}/${pkgver}/${pkgbase}_${_boostver}.tar.bz2
- 0001-Add-missing-include-to-signals2-trackable.hpp.patch)
-sha1sums=('e151557ae47afd1b43dc3fac46f8b04a8fe51c12'
- '35bc8ad7493a641ec708a691036fe5319aec70cd')
+ cuda_float128.patch::"https://github.com/boostorg/config/commit/a332112317450457c715675686386ec81214b863.patch")
+sha1sums=('7f56ab507d3258610391b47fef6b11635861175a'
+ 'bdc6486e0d90368bbfd872fed8ee3d3c73483933')
prepare() {
- cd ${pkgbase}_${_boostver}
-
- # https://github.com/boostorg/signals2/pull/8
- patch -Np2 -i ../0001-Add-missing-include-to-signals2-trackable.hpp.patch
+ cd ${pkgbase}_${_boostver}
+ # fix https://svn.boost.org/trac/boost/ticket/11852
+ patch -p2 -i ../cuda_float128.patch
}
build() {
@@ -41,7 +41,7 @@ build() {
# Add an extra python version. This does not replace anything and python 2.x
# need to be the default.
- #echo "using python : 3.4 : /usr/bin/python3 : /usr/include/python3.4m : /usr/lib ;" \
+ #echo "using python : 3.5 : /usr/bin/python3 : /usr/include/python3.5m : /usr/lib ;" \
# >> project-config.jam
# Support for OpenMPI
@@ -65,7 +65,7 @@ build() {
link=shared,static \
toolset=gcc \
python=2.7 \
- cflags="${CPPFLAGS} ${CFLAGS} -O3" linkflags="${LDFLAGS}" \
+ cflags="${CPPFLAGS} ${CFLAGS} -fPIC -O3" linkflags="${LDFLAGS}" \
--layout=system \
--prefix="${_stagedir}" \
${JOBS} \
diff --git a/abs/extra/boost/__changelog b/abs/extra/boost/__changelog
index 36e53c0..f11e775 100644
--- a/abs/extra/boost/__changelog
+++ b/abs/extra/boost/__changelog
@@ -1 +1 @@
-PKGBUILD: remove python dep and comment out python 3.4 line
+PKGBUILD: remove python dep and comment out python 3.5 line
diff --git a/abs/extra/cambozola/PKGBUILD b/abs/extra/cambozola/PKGBUILD
index 27664f1..59067b9 100644
--- a/abs/extra/cambozola/PKGBUILD
+++ b/abs/extra/cambozola/PKGBUILD
@@ -1,15 +1,15 @@
-# Maintainer: Ernie Brodeur <ebrodeur@ujami.net>
+# Maintainer: Vojtěch Aschenbrenner <v@asch.cz>
+
pkgname=cambozola
-pkgver=0.92
+pkgver=0.936
pkgrel=1
pkgdesc="A java servlet for streaming JPEG's from ip Cameras."
-url="http://www.charliemouse.com:8080/code/cambozola/"
-arch=('x86_64' 'i686')
+url="http://www.charliemouse.com/code/cambozola/"
+arch=('any')
license=('GPL')
depends=('java-runtime')
makedepends=('apache-ant')
-source=("${url}${pkgname}-${pkgver}.tar.gz")
-md5sums=('602daba851e726e2399445fda3ca718f')
+source=("http://www.andywilcock.com/code/cambozola/cambozola-latest.tar.gz")
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
@@ -24,3 +24,4 @@ package() {
# vim:set ts=2 sw=2 et:
+md5sums=('c4896a99702af61eead945ed58b5667b')
diff --git a/abs/extra/check/PKGBUILD b/abs/extra/check/PKGBUILD
new file mode 100644
index 0000000..6ee17d2
--- /dev/null
+++ b/abs/extra/check/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Jeremy Cowgar <jeremy@cowgar.com>
+
+pkgname=check
+pkgver=0.9.14
+pkgrel=1
+pkgdesc="A unit testing framework for C"
+arch=('i686' 'x86_64')
+url="http://check.sourceforge.net/"
+license=('LGPL')
+install=$pkgname.install
+depends=('awk')
+source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('38263d115d784c17aa3b959ce94be8b8')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+check() {
+ cd $pkgname-$pkgver
+ # Extremely long
+ #make -k check
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ # get rid of the package's info directory,
+ # install-info adds entries for us at install-time
+ rm "$pkgdir/usr/share/info/dir"
+
+ # svn log file is too big
+ rm "$pkgdir"/usr/share/doc/check/*ChangeLog*
+}
diff --git a/abs/extra/check/check.install b/abs/extra/check/check.install
new file mode 100644
index 0000000..c4092e2
--- /dev/null
+++ b/abs/extra/check/check.install
@@ -0,0 +1,20 @@
+_infodir=/usr/share/info
+_filelist=(check.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/extra/cifs-utils/PKGBUILD b/abs/extra/cifs-utils/PKGBUILD
index fb2db27..cc97948 100644
--- a/abs/extra/cifs-utils/PKGBUILD
+++ b/abs/extra/cifs-utils/PKGBUILD
@@ -1,14 +1,15 @@
-# $Id: PKGBUILD 200381 2013-11-27 10:08:51Z tpowa $
+# $Id$
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=cifs-utils
-pkgver=6.2
+pkgver=6.4
pkgrel=1
pkgdesc="CIFS filesystem user-space tools"
arch=(i686 x86_64)
url="http://wiki.samba.org/index.php/LinuxCIFS_utils"
license=('GPL')
-depends=('libcap-ng' 'keyutils' 'krb5' 'talloc' 'libwbclient')
-source=(ftp://ftp.samba.org/pub/linux-cifs/cifs-utils/$pkgname-$pkgver.tar.bz2)
+depends=('libcap-ng' 'keyutils' 'krb5' 'talloc' 'libwbclient' 'pam')
+source=("https://download.samba.org/pub/linux-cifs/cifs-utils/$pkgname-$pkgver.tar.bz2"{,.asc})
+validpgpkeys=('98EDEB95638461E78CE83B795AFDBFB270F3B981') #cifs-utils Distribution Verification Key <cifs-utils@samba.org>
build() {
cd "$srcdir/$pkgname-$pkgver"
@@ -21,7 +22,11 @@ build() {
package() {
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir" ROOTSBINDIR=/usr/bin install
+ mkdir -p $pkgdir/etc/request-key.d
+ install -m 644 contrib/request-key.d/cifs.idmap.conf $pkgdir/etc/request-key.d
+ install -m 644 contrib/request-key.d/cifs.spnego.conf $pkgdir/etc/request-key.d
# set mount.cifs uid, to enable none root mounting form fstab
chmod +s $pkgdir/usr/bin/mount.cifs
}
-md5sums=('6a83fe19e02266cb468ea3bf1cc0d007')
+md5sums=('b7d75b67fd3987952896d27256c7293d'
+ 'SKIP')
diff --git a/abs/extra/cups/PKGBUILD b/abs/extra/cups/PKGBUILD
index 3975850..e82a2f1 100644
--- a/abs/extra/cups/PKGBUILD
+++ b/abs/extra/cups/PKGBUILD
@@ -1,94 +1,59 @@
-# $Id: PKGBUILD 218449 2014-07-31 13:11:09Z andyrtr $
+# $Id$
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgbase="cups"
pkgname=('libcups' 'cups')
-pkgver=1.7.5
-pkgrel=1
+pkgver=2.1.2
+pkgrel=3
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.cups.org/"
-makedepends=('libtiff>=4.0.0' 'libpng>=1.5.7' 'acl' 'pam' 'xdg-utils' 'krb5' 'openssl'
+makedepends=('libtiff>=4.0.0' 'libpng>=1.5.7' 'acl' 'pam' 'xdg-utils' 'krb5' 'gnutls'
'cups-filters' 'bc' 'colord' 'xinetd' 'gzip' 'autoconf' 'libusb' 'dbus'
'avahi' 'hicolor-icon-theme' 'systemd' 'inetutils' 'libpaper' 'valgrind')
-source=(#http://mirror.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2
- http://www.cups.org/software/${pkgver}/cups-${pkgver}-source.tar.bz2{,.sig}
+source=(http://www.cups.org/software/${pkgver}/cups-${pkgver}-source.tar.bz2{,.sig}
cups.logrotate cups.pam
# improve build and linking
cups-no-export-ssllibs.patch
cups-no-gcrypt.patch
cups-no-gzip-man.patch
- # FC
- cups-systemd-socket.patch
- cups-res_init.patch
- cups-avahi-address.patch
- cups-enum-all.patch
- cups-final-content-type.patch
- # Gentoo
- cups-1.6.0-fix-install-perms.patch
cups-1.6.2-statedir.patch
- # Debian
- cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch
- get-ppd-file-for-statically-configured-ipp-shared-queues.patch
- ppd-poll-with-client-conf.patch)
-md5sums=('5d893edc2957005f78e2b2423fdace2e'
+ cups-1.6.0-fix-install-perms.patch
+ # bugfixes
+)
+md5sums=('b3ba0ca676d56857bbd9b182ef4b14b3'
'SKIP'
- '26e9b4e65c0a4d76db5737c9b156fd80'
+ 'fc8286f185e2cc5f7e1f6843bf193e2b'
'96f82c38f3f540b53f3e5144900acf17'
'3ba9e3410df1dc3015463d615ef91b3b'
- 'cc4101beccb5ed6deb1c92707a575925'
+ '1beb4896f217bc241bc08a422274ec0c'
'90c30380d4c8cd48a908cfdadae1ea24'
- '8162e1d05947bd59fa29ba40ac565fec'
- '8fe27d4248cacbc02824e7937cab4088'
- 'df0c367c0022e3c7d8e01827e8a6c5e7'
- 'f30c2a161caaf27854581507cde8cac6'
- 'a31b64ba25a985fbae65d8ddf311b08c'
- '5117f65342fcc69c6a506529e4daca9e'
'451609db34f95209d64c38474de27ce1'
- 'cb58bf4e0b80eaee383712e5c84a1ab4'
- 'b578bcd17949a7203237ba1e31f78ef9'
- '0becd6ab8782b97f19a02c1dc174c75e')
+ '5117f65342fcc69c6a506529e4daca9e')
+validpgpkeys=('3737FD0D0E63B30172440D2DDBA3A7AB08D76223') # CUPS.org (CUPS.org PGP key) <security@cups.org>
prepare() {
cd ${pkgbase}-${pkgver}
-#return 1
- # add systemd socket support - Fedora patch, also used in Gentoo
- # modified now to the changes done by Gentoo in their svn ebuild
- # http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-print/cups/files/cups-1.5.0-systemd-socket.patch?revision=1.1
- patch -Np1 -i ${srcdir}/cups-systemd-socket.patch
-
+
+ # improve build and linking
# Do not export SSL libs in cups-config
- patch -Np1 -i "${srcdir}/cups-no-export-ssllibs.patch"
-
- patch -Np1 -i "${srcdir}/cups-no-gcrypt.patch"
-
+ patch -Np1 -i ${srcdir}/cups-no-export-ssllibs.patch
+ # https://www.cups.org/str.php?L4399
+ patch -Np1 -i ${srcdir}/cups-no-gcrypt.patch
# don't zip man pages in make install, let makepkg do that / Fedora
patch -Np1 -i ${srcdir}/cups-no-gzip-man.patch
-
-
- # various bugfixes (upstream reports/SVN or Fedora/Debian
-
- # Fixed crash which sometimes happens on shutdown of the CUPS daemon, caused by a wrong shutdown sequence for shutting down the Avahi threaded poll.
-# patch -Np1 -i ${srcdir}/cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch
- # Applications could not get the PPD file for statically-configured IPP-shared print queues
- patch -Np1 -i ${srcdir}/get-ppd-file-for-statically-configured-ipp-shared-queues.patch
- # If an external server is used via client.conf and the DNS is inconsistent (ex: DNS gives "noname" for many IPs, reverse DNS gives one of these IPs
- # for "noname") local PPDs can get polled for print queues instead of the PPDs of the external server Bug: http://www.cups.org/str.php?L2763
-# patch -Np1 -i ${srcdir}/ppd-poll-with-client-conf.patch
- # fix permissions on some files - alternative: cups-0755.patch by FC
- patch -Np0 -i ${srcdir}/cups-1.6.0-fix-install-perms.patch
# move /var/run -> /run for pid file
patch -Np1 -i ${srcdir}/cups-1.6.2-statedir.patch
- # Re-initialise the resolver on failure in httpAddrGetList()
- patch -Np1 -i ${srcdir}/cups-res_init.patch
- # Use IP address when resolving DNSSD URIs
- patch -Np1 -i ${srcdir}/cups-avahi-address.patch
- # Return from cupsEnumDests() once all records have been returned.
- patch -Np1 -i ${srcdir}/cups-enum-all.patch
+ # fix permissions on some files (by Gentoo) - alternative: cups-0755.patch by FC
+ patch -Np0 -i ${srcdir}/cups-1.6.0-fix-install-perms.patch
+
+ # bug fixes
- # Fix printing to some network printers fails - https://bugs.archlinux.org/task/37605
- patch -Np1 -i ${srcdir}/cups-final-content-type.patch
+ # set MaxLogSize to 0 to prevent using cups internal log rotation
+ sed -i -e '5i\ ' conf/cupsd.conf.in
+ sed -i -e '6i# Disable cups internal logging - use logrotate instead' conf/cupsd.conf.in
+ sed -i -e '7iMaxLogSize 0' conf/cupsd.conf.in
# Rebuild configure script for not zipping man-pages.
aclocal -I config-scripts
@@ -97,11 +62,11 @@ prepare() {
build() {
cd ${pkgbase}-${pkgver}
-
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
--sbindir=/usr/bin \
--libdir=/usr/lib \
- --with-systemdsystemunitdir=/usr/lib/systemd/system \
--with-logdir=/var/log/cups \
--with-docdir=/usr/share/cups/doc \
--with-cups-user=daemon \
@@ -109,23 +74,23 @@ build() {
--enable-pam=yes \
--enable-raw-printing \
--enable-dbus --with-dbusdir=/etc/dbus-1 \
- --enable-ssl=yes --enable-openssl \
+ --enable-ssl=yes \
--enable-threads \
--enable-avahi\
--enable-libpaper \
--with-php=/usr/bin/php-cgi \
- --with-optim="$CFLAGS"
+ --with-optim="$CFLAGS" #--help
make
}
check() {
cd ${pkgbase}-${pkgver}
- make -k check || /bin/true
+ #make -k check || /bin/true
}
package_libcups() {
pkgdesc="The CUPS Printing System - client libraries and headers"
-depends=('openssl' 'libtiff>=4.0.0' 'libpng>=1.5.7' 'krb5' 'avahi')
+depends=('gnutls' 'libtiff>=4.0.0' 'libpng>=1.5.7' 'krb5' 'avahi' 'libusb')
backup=(etc/cups/client.conf)
cd ${pkgbase}-${pkgver}
@@ -140,7 +105,7 @@ backup=(etc/cups/client.conf)
install -dm755 -g lp ${pkgdir}/etc/cups
touch ${pkgdir}/etc/cups/client.conf
echo "# see 'man client.conf'" >> ${pkgdir}/etc/cups/client.conf
- echo "ServerName /var/run/cups/cups.sock # alternative: ServerName hostname-or-ip-address[:port] of a remote server" >> ${pkgdir}/etc/cups/client.conf
+ echo "ServerName /run/cups/cups.sock # alternative: ServerName hostname-or-ip-address[:port] of a remote server" >> ${pkgdir}/etc/cups/client.conf
chgrp -R lp ${pkgdir}/etc/cups
}
@@ -155,10 +120,9 @@ backup=(etc/cups/cupsd.conf
etc/cups/subscriptions.conf
etc/dbus-1/system.d/cups.conf
etc/logrotate.d/cups
- etc/pam.d/cups
- etc/xinetd.d/cups-lpd)
+ etc/pam.d/cups)
depends=('acl' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc' 'colord'
- 'libusb' 'dbus' 'systemd' 'libpaper' 'hicolor-icon-theme')
+ 'dbus' 'systemd' 'libpaper' 'hicolor-icon-theme')
optdepends=('xdg-utils: xdg .desktop file support')
cd ${pkgbase}-${pkgver}
@@ -197,12 +161,9 @@ optdepends=('xdg-utils: xdg .desktop file support')
# remove client.conf man page
rm -f ${pkgdir}/usr/share/man/man5/client.conf.5
- # remove files now part of cups-filters
- rm -v ${pkgdir}/usr/share/cups/banners/*
- rm -v ${pkgdir}/usr/share/cups/data/testprint
- # comment out all conversion rules which use any of the removed filters
+ # comment out all conversion rules which use any of the removed filters that are now part of cups-filters
perl -p -i -e 's:^(.*\s+bannertops\s*)$:#\1:' $pkgdir/usr/share/cups/mime/mime.convs
-
- # Provide native service for arch-daemons generator
- ln -s cups.service "$pkgdir/usr/lib/systemd/system/cupsd.service"
+
+ # comment out unnecessary PageLogFormat entry
+ sed -i -e 's:PageLogFormat:#PageLogFormat:' $pkgdir/etc/cups/cupsd.conf*
}
diff --git a/abs/extra/cups/cups-avahi-address.patch b/abs/extra/cups/cups-avahi-address.patch
deleted file mode 100644
index a03d1ad..0000000
--- a/abs/extra/cups/cups-avahi-address.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-diff -up cups-1.6.2/cups/http-support.c.avahi-address cups-1.6.2/cups/http-support.c
---- cups-1.6.2/cups/http-support.c.avahi-address 2013-03-11 18:44:36.000000000 +0000
-+++ cups-1.6.2/cups/http-support.c 2013-04-04 15:39:06.651847041 +0100
-@@ -2121,7 +2121,7 @@ http_resolve_cb(
- const char *type, /* I - Registration type */
- const char *domain, /* I - Domain (unused) */
- const char *hostTarget, /* I - Hostname */
-- const AvahiAddress *address, /* I - Address (unused) */
-+ const AvahiAddress *address, /* I - Address */
- uint16_t port, /* I - Port number */
- AvahiStringList *txt, /* I - TXT record */
- AvahiLookupResultFlags flags, /* I - Lookup flags (unused) */
-@@ -2253,36 +2253,37 @@ http_resolve_cb(
-
- DEBUG_printf(("8http_resolve_cb: Looking up \"%s\".", hostTarget));
-
-- snprintf(fqdn, sizeof(fqdn), "%d", ntohs(port));
-- if ((addrlist = httpAddrGetList(hostTarget, AF_UNSPEC, fqdn)) != NULL)
-+ int error = getnameinfo(&(address->data),
-+ address->proto == AVAHI_PROTO_INET ?
-+ sizeof (AvahiIPv4Address) :
-+ (address->proto == AVAHI_PROTO_INET6 ?
-+ sizeof (AvahiIPv6Address) :
-+ sizeof (address->data)),
-+ fqdn, sizeof(fqdn), NULL, 0, NI_NAMEREQD);
-+
-+ if (!error)
- {
-- for (addr = addrlist; addr; addr = addr->next)
-+ DEBUG_printf(("8http_resolve_cb: Found \"%s\".", fqdn));
-+
-+ if ((hostptr = fqdn + strlen(fqdn) - 6) <= fqdn ||
-+ _cups_strcasecmp(hostptr, ".local"))
- {
-- int error = getnameinfo(&(addr->addr.addr),
-- httpAddrLength(&(addr->addr)),
-- fqdn, sizeof(fqdn), NULL, 0, NI_NAMEREQD);
--
-- if (!error)
-- {
-- DEBUG_printf(("8http_resolve_cb: Found \"%s\".", fqdn));
--
-- if ((hostptr = fqdn + strlen(fqdn) - 6) <= fqdn ||
-- _cups_strcasecmp(hostptr, ".local"))
-- {
-- hostTarget = fqdn;
-- break;
-- }
-- }
-+ hostTarget = fqdn;
-+ }
-+ }
- #ifdef DEBUG
-- else
-- DEBUG_printf(("8http_resolve_cb: \"%s\" did not resolve: %d",
-- httpAddrString(&(addr->addr), fqdn, sizeof(fqdn)),
-- error));
-+ else
-+ DEBUG_printf(("8http_resolve_cb: \"%s\" did not resolve: %d",
-+ httpAddrString(&(addr->addr), fqdn, sizeof(fqdn)),
-+ error));
- #endif /* DEBUG */
-- }
-+ } else {
-+ /*
-+ * Use the IP address that responded...
-+ */
-
-- httpAddrFreeList(addrlist);
-- }
-+ avahi_address_snprint (fqdn, sizeof (fqdn), address);
-+ hostTarget = fqdn;
- }
-
- /*
diff --git a/abs/extra/cups/cups-enum-all.patch b/abs/extra/cups/cups-enum-all.patch
deleted file mode 100644
index 0ac3983..0000000
--- a/abs/extra/cups/cups-enum-all.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -up cups-1.6.2/cups/dest.c.enum-all cups-1.6.2/cups/dest.c
---- cups-1.6.2/cups/dest.c.enum-all 2013-06-04 10:58:36.169786250 +0100
-+++ cups-1.6.2/cups/dest.c 2013-06-04 10:59:02.147900811 +0100
-@@ -2724,9 +2724,12 @@ cups_dnssd_browse_cb(
- break;
-
- case AVAHI_BROWSER_REMOVE:
-- case AVAHI_BROWSER_ALL_FOR_NOW:
- case AVAHI_BROWSER_CACHE_EXHAUSTED:
- break;
-+
-+ case AVAHI_BROWSER_ALL_FOR_NOW:
-+ avahi_simple_poll_quit(data->simple_poll);
-+ break;
- }
- }
-
diff --git a/abs/extra/cups/cups-final-content-type.patch b/abs/extra/cups/cups-final-content-type.patch
deleted file mode 100644
index 6ae4010..0000000
--- a/abs/extra/cups/cups-final-content-type.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -up cups-1.6.4/scheduler/job.c.final-content-type cups-1.6.4/scheduler/job.c
---- cups-1.6.4/scheduler/job.c.final-content-type 2013-09-27 16:58:13.934775402 +0100
-+++ cups-1.6.4/scheduler/job.c 2013-09-27 17:00:57.716549576 +0100
-@@ -692,12 +692,7 @@ cupsdContinueJob(cupsd_job_t *job) /* I
-
- if (!job->printer->remote)
- {
-- for (filter = (mime_filter_t *)cupsArrayLast(filters);
-- filter && filter->dst;
-- filter = (mime_filter_t *)cupsArrayPrev(filters))
-- if (strcmp(filter->dst->super, "printer") ||
-- strcmp(filter->dst->type, job->printer->name))
-- break;
-+ filter = (mime_filter_t *)cupsArrayLast(filters);
-
- if (filter && filter->dst)
- {
-
diff --git a/abs/extra/cups/cups-no-gcrypt.patch b/abs/extra/cups/cups-no-gcrypt.patch
index 4eaff67..0cd64b1 100644
--- a/abs/extra/cups/cups-no-gcrypt.patch
+++ b/abs/extra/cups/cups-no-gcrypt.patch
@@ -1,40 +1,11 @@
-diff -ruN cups-1.4.7.orig//config-scripts/cups-ssl.m4 cups-1.4.7/config-scripts/cups-ssl.m4
---- cups-1.5.0.orig//config-scripts/cups-ssl.m4 2011-01-11 08:05:58.000000000 +0100
-+++ cups-1.5.0/config-scripts/cups-ssl.m4 2011-08-02 10:44:26.011047900 +0200
-@@ -96,7 +96,6 @@
+diff -up cups-2.0rc1/config-scripts/cups-ssl.m4.no-gcry cups-2.0rc1/config-scripts/cups-ssl.m4
+--- cups-2.0rc1/config-scripts/cups-ssl.m4.no-gcry 2014-09-12 15:41:23.324760213 +0200
++++ cups-2.0rc1/config-scripts/cups-ssl.m4 2014-09-12 15:43:13.124203363 +0200
+@@ -60,7 +60,6 @@ if test x$enable_ssl != xno; then
dnl Then look for GNU TLS...
if test $have_ssl = 0 -a "x$enable_gnutls" != "xno" -a "x$PKGCONFIG" != x; then
- AC_PATH_PROG(LIBGNUTLSCONFIG,libgnutls-config)
-- AC_PATH_PROG(LIBGCRYPTCONFIG,libgcrypt-config)
+ AC_PATH_TOOL(LIBGNUTLSCONFIG,libgnutls-config)
+- AC_PATH_TOOL(LIBGCRYPTCONFIG,libgcrypt-config)
if $PKGCONFIG --exists gnutls; then
have_ssl=1
SSLLIBS=`$PKGCONFIG --libs gnutls`
-@@ -108,18 +107,6 @@
- AC_DEFINE(HAVE_GNUTLS)
- fi
-
-- if test $have_ssl = 1; then
-- CUPS_SERVERCERT="ssl/server.crt"
-- CUPS_SERVERKEY="ssl/server.key"
--
-- if $PKGCONFIG --exists gcrypt; then
-- SSLLIBS="$SSLLIBS `$PKGCONFIG --libs gcrypt`"
-- SSLFLAGS="$SSLFLAGS `$PKGCONFIG --cflags gcrypt`"
-- elif test "x$LIBGCRYPTCONFIG" != x; then
-- SSLLIBS="$SSLLIBS `$LIBGCRYPTCONFIG --libs`"
-- SSLFLAGS="$SSLFLAGS `$LIBGCRYPTCONFIG --cflags`"
-- fi
-- fi
- fi
-
- dnl Check for the OpenSSL library last...
---- cups-1.5.0.orig//cups/http-private.h 2011-01-22 01:07:22.000000000 +0100
-+++ cups-1.5.0/cups/http-private.h 2011-08-02 10:42:43.341604107 +0200
-@@ -93,7 +93,6 @@
- # elif defined HAVE_GNUTLS
- # include <gnutls/gnutls.h>
- # include <gnutls/x509.h>
--# include <gcrypt.h>
- # elif defined(HAVE_CDSASSL)
- # include <CoreFoundation/CoreFoundation.h>
- # include <Security/Security.h>
diff --git a/abs/extra/cups/cups-res_init.patch b/abs/extra/cups/cups-res_init.patch
deleted file mode 100644
index 94a81a4..0000000
--- a/abs/extra/cups/cups-res_init.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -up cups-1.6b1/cups/http-addr.c.res_init cups-1.6b1/cups/http-addr.c
---- cups-1.6b1/cups/http-addr.c.res_init 2012-05-17 00:57:03.000000000 +0200
-+++ cups-1.6b1/cups/http-addr.c 2012-05-25 15:51:51.323916352 +0200
-@@ -254,7 +254,8 @@ httpAddrLookup(
-
- if (error)
- {
-- if (error == EAI_FAIL)
-+ if (error == EAI_FAIL || error == EAI_AGAIN || error == EAI_NODATA ||
-+ error == EAI_NONAME)
- cg->need_res_init = 1;
-
- return (httpAddrString(addr, name, namelen));
-diff -up cups-1.6b1/cups/http-addrlist.c.res_init cups-1.6b1/cups/http-addrlist.c
---- cups-1.6b1/cups/http-addrlist.c.res_init 2012-04-23 19:26:57.000000000 +0200
-+++ cups-1.6b1/cups/http-addrlist.c 2012-05-25 16:05:05.930377452 +0200
-@@ -540,7 +540,8 @@ httpAddrGetList(const char *hostname, /*
- }
- else
- {
-- if (error == EAI_FAIL)
-+ if (error == EAI_FAIL || error == EAI_AGAIN || error == EAI_NODATA ||
-+ error == EAI_NONAME)
- cg->need_res_init = 1;
-
- _cupsSetError(IPP_INTERNAL_ERROR, gai_strerror(error), 0);
diff --git a/abs/extra/cups/cups-systemd-socket.patch b/abs/extra/cups/cups-systemd-socket.patch
deleted file mode 100644
index 2eef708..0000000
--- a/abs/extra/cups/cups-systemd-socket.patch
+++ /dev/null
@@ -1,404 +0,0 @@
-diff -up cups-1.7.2/config.h.in.systemd-socket cups-1.7.2/config.h.in
---- cups-1.7.2/config.h.in.systemd-socket 2014-02-27 16:57:59.000000000 +0100
-+++ cups-1.7.2/config.h.in 2014-04-17 14:05:04.104472016 +0200
-@@ -451,6 +451,13 @@
-
-
- /*
-+ * Do we have systemd support?
-+ */
-+
-+#undef HAVE_SYSTEMD
-+
-+
-+/*
- * Various scripting languages...
- */
-
-diff -up cups-1.7.2/config-scripts/cups-systemd.m4.systemd-socket cups-1.7.2/config-scripts/cups-systemd.m4
---- cups-1.7.2/config-scripts/cups-systemd.m4.systemd-socket 2014-04-17 14:05:04.104472016 +0200
-+++ cups-1.7.2/config-scripts/cups-systemd.m4 2014-04-17 14:05:04.104472016 +0200
-@@ -0,0 +1,36 @@
-+dnl
-+dnl "$Id$"
-+dnl
-+dnl systemd stuff for CUPS.
-+
-+dnl Find whether systemd is available
-+
-+SDLIBS=""
-+AC_ARG_WITH([systemdsystemunitdir],
-+ AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
-+ [], [with_systemdsystemunitdir=$($PKGCONFIG --variable=systemdsystemunitdir systemd)])
-+if test "x$with_systemdsystemunitdir" != xno; then
-+ AC_MSG_CHECKING(for libsystemd-daemon)
-+ if $PKGCONFIG --exists libsystemd-daemon; then
-+ AC_MSG_RESULT(yes)
-+ SDCFLAGS=`$PKGCONFIG --cflags libsystemd-daemon`
-+ SDLIBS=`$PKGCONFIG --libs libsystemd-daemon`
-+ AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
-+ AC_DEFINE(HAVE_SYSTEMD)
-+ else
-+ AC_MSG_RESULT(no)
-+ fi
-+fi
-+
-+if test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ; then
-+ SYSTEMD_UNITS="cups.service cups.socket cups.path"
-+else
-+ SYSTEMD_UNITS=""
-+fi
-+
-+AC_SUBST(SYSTEMD_UNITS)
-+AC_SUBST(SDLIBS)
-+
-+dnl
-+dnl "$Id$"
-+dnl
-diff -up cups-1.7.2/configure.in.systemd-socket cups-1.7.2/configure.in
---- cups-1.7.2/configure.in.systemd-socket 2013-07-08 23:15:13.000000000 +0200
-+++ cups-1.7.2/configure.in 2014-04-17 14:05:04.104472016 +0200
-@@ -33,6 +33,7 @@ sinclude(config-scripts/cups-pam.m4)
- sinclude(config-scripts/cups-largefile.m4)
- sinclude(config-scripts/cups-dnssd.m4)
- sinclude(config-scripts/cups-launchd.m4)
-+sinclude(config-scripts/cups-systemd.m4)
- sinclude(config-scripts/cups-defaults.m4)
- sinclude(config-scripts/cups-scripting.m4)
-
-@@ -67,6 +68,9 @@ AC_OUTPUT(Makedefs
- conf/snmp.conf
- cups-config
- data/testprint
-+ data/cups.service
-+ data/cups.socket
-+ data/cups.path
- desktop/cups.desktop
- doc/help/ref-cups-files-conf.html
- doc/help/ref-cupsd-conf.html
-diff -up cups-1.7.2/cups/usersys.c.systemd-socket cups-1.7.2/cups/usersys.c
---- cups-1.7.2/cups/usersys.c.systemd-socket 2014-03-05 22:22:12.000000000 +0100
-+++ cups-1.7.2/cups/usersys.c 2014-04-17 14:05:04.105472002 +0200
-@@ -1050,7 +1050,7 @@ cups_read_client_conf(
- struct stat sockinfo; /* Domain socket information */
-
- if (!stat(CUPS_DEFAULT_DOMAINSOCKET, &sockinfo) &&
-- (sockinfo.st_mode & S_IRWXO) == S_IRWXO)
-+ (sockinfo.st_mode & (S_IROTH | S_IWOTH)) == (S_IROTH | S_IWOTH))
- cups_server = CUPS_DEFAULT_DOMAINSOCKET;
- else
- #endif /* CUPS_DEFAULT_DOMAINSOCKET */
-diff -up cups-1.7.2/data/cups.path.in.systemd-socket cups-1.7.2/data/cups.path.in
---- cups-1.7.2/data/cups.path.in.systemd-socket 2014-04-17 14:05:04.105472002 +0200
-+++ cups-1.7.2/data/cups.path.in 2014-04-17 14:05:04.105472002 +0200
-@@ -0,0 +1,8 @@
-+[Unit]
-+Description=CUPS Printer Service Spool
-+
-+[Path]
-+PathExistsGlob=@CUPS_REQUESTS@/d*
-+
-+[Install]
-+WantedBy=multi-user.target
-diff -up cups-1.7.2/data/cups.service.in.systemd-socket cups-1.7.2/data/cups.service.in
---- cups-1.7.2/data/cups.service.in.systemd-socket 2014-04-17 14:05:04.105472002 +0200
-+++ cups-1.7.2/data/cups.service.in 2014-04-17 14:05:04.105472002 +0200
-@@ -0,0 +1,11 @@
-+[Unit]
-+Description=CUPS Printing Service
-+
-+[Service]
-+Type=notify
-+ExecStart=@sbindir@/cupsd -f
-+PrivateTmp=true
-+
-+[Install]
-+Also=cups.socket cups.path
-+WantedBy=printer.target
-diff -up cups-1.7.2/data/cups.socket.in.systemd-socket cups-1.7.2/data/cups.socket.in
---- cups-1.7.2/data/cups.socket.in.systemd-socket 2014-04-17 14:05:04.105472002 +0200
-+++ cups-1.7.2/data/cups.socket.in 2014-04-17 14:05:04.105472002 +0200
-@@ -0,0 +1,10 @@
-+[Unit]
-+Description=CUPS Printing Service Sockets
-+
-+[Socket]
-+ListenStream=@CUPS_DEFAULT_DOMAINSOCKET@
-+ListenStream=@DEFAULT_IPP_PORT@
-+BindIPv6Only=ipv6-only
-+
-+[Install]
-+WantedBy=sockets.target
-diff -up cups-1.7.2/data/Makefile.systemd-socket cups-1.7.2/data/Makefile
---- cups-1.7.2/data/Makefile.systemd-socket 2013-05-29 13:51:34.000000000 +0200
-+++ cups-1.7.2/data/Makefile 2014-04-17 14:05:04.106471988 +0200
-@@ -100,6 +100,12 @@ install-data:
- $(INSTALL_DATA) $$file $(DATADIR)/ppdc; \
- done
- $(INSTALL_DIR) -m 755 $(DATADIR)/profiles
-+ if test "x$(SYSTEMD_UNITS)" != "x" ; then \
-+ $(INSTALL_DIR) -m 755 $(SYSTEMDUNITDIR); \
-+ for file in $(SYSTEMD_UNITS); do \
-+ $(INSTALL_DATA) $$file $(SYSTEMDUNITDIR); \
-+ done; \
-+ fi
-
-
- #
-@@ -143,6 +149,9 @@ uninstall:
- -$(RMDIR) $(DATADIR)/data
- -$(RMDIR) $(DATADIR)/banners
- -$(RMDIR) $(DATADIR)
-+ for file in $(SYSTEMD_UNITS); do \
-+ $(RM) $(SYSTEMDUNITDIR)/$$file; \
-+ done
-
-
- #
-diff -up cups-1.7.2/Makedefs.in.systemd-socket cups-1.7.2/Makedefs.in
---- cups-1.7.2/Makedefs.in.systemd-socket 2014-04-17 14:05:04.092472182 +0200
-+++ cups-1.7.2/Makedefs.in 2014-04-17 14:05:04.106471988 +0200
-@@ -134,6 +134,7 @@ CXXFLAGS = @CPPFLAGS@ @CXXFLAGS@
- CXXLIBS = @CXXLIBS@
- DBUS_NOTIFIER = @DBUS_NOTIFIER@
- DBUS_NOTIFIERLIBS = @DBUS_NOTIFIERLIBS@
-+SYSTEMD_UNITS = @SYSTEMD_UNITS@
- DNSSD_BACKEND = @DNSSD_BACKEND@
- DSOFLAGS = -L../cups @DSOFLAGS@
- DSOLIBS = @DSOLIBS@ $(COMMONLIBS)
-@@ -141,6 +142,7 @@ DNSSDLIBS = @DNSSDLIBS@
- IPPFIND_BIN = @IPPFIND_BIN@
- IPPFIND_MAN = @IPPFIND_MAN@
- LAUNCHDLIBS = @LAUNCHDLIBS@
-+SDLIBS = @SDLIBS@
- LDFLAGS = -L../cgi-bin -L../cups -L../filter -L../ppdc \
- -L../scheduler @LDARCHFLAGS@ \
- @LDFLAGS@ @RELROFLAGS@ @PIEFLAGS@ $(OPTIM)
-@@ -232,6 +234,7 @@ PAMFILE = @PAMFILE@
-
- DEFAULT_LAUNCHD_CONF = @DEFAULT_LAUNCHD_CONF@
- DBUSDIR = @DBUSDIR@
-+SYSTEMDUNITDIR = $(BUILDROOT)@systemdsystemunitdir@
-
-
- #
-diff -up cups-1.7.2/scheduler/client.h.systemd-socket cups-1.7.2/scheduler/client.h
---- cups-1.7.2/scheduler/client.h.systemd-socket 2013-08-02 00:23:18.000000000 +0200
-+++ cups-1.7.2/scheduler/client.h 2014-04-17 14:05:04.106471988 +0200
-@@ -79,6 +79,9 @@ typedef struct
- int fd; /* File descriptor for this server */
- http_addr_t address; /* Bind address of socket */
- http_encryption_t encryption; /* To encrypt or not to encrypt... */
-+#ifdef HAVE_SYSTEMD
-+ int is_systemd; /* Is this a systemd socket? */
-+#endif /* HAVE_SYSTEMD */
- } cupsd_listener_t;
-
-
-diff -up cups-1.7.2/scheduler/listen.c.systemd-socket cups-1.7.2/scheduler/listen.c
---- cups-1.7.2/scheduler/listen.c.systemd-socket 2013-05-29 13:51:34.000000000 +0200
-+++ cups-1.7.2/scheduler/listen.c 2014-04-17 14:05:04.107471974 +0200
-@@ -401,7 +401,11 @@ cupsdStopListening(void)
- lis;
- lis = (cupsd_listener_t *)cupsArrayNext(Listeners))
- {
-- if (lis->fd != -1)
-+ if (lis->fd != -1
-+#ifdef HAVE_SYSTEMD
-+ && !lis->is_systemd
-+#endif /* HAVE_SYSTEMD */
-+ )
- {
- #ifdef WIN32
- closesocket(lis->fd);
-diff -up cups-1.7.2/scheduler/main.c.systemd-socket cups-1.7.2/scheduler/main.c
---- cups-1.7.2/scheduler/main.c.systemd-socket 2014-04-17 14:05:04.052472738 +0200
-+++ cups-1.7.2/scheduler/main.c 2014-04-17 14:09:39.102634667 +0200
-@@ -39,6 +39,10 @@
- # endif /* !LAUNCH_JOBKEY_SERVICEIPC */
- #endif /* HAVE_LAUNCH_H */
-
-+#ifdef HAVE_SYSTEMD
-+#include <systemd/sd-daemon.h>
-+#endif /* HAVE_SYSTEMD */
-+
- #if defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO)
- # include <malloc.h>
- #endif /* HAVE_MALLOC_H && HAVE_MALLINFO */
-@@ -64,6 +68,9 @@
- static void launchd_checkin(void);
- static void launchd_checkout(void);
- #endif /* HAVE_LAUNCHD */
-+#ifdef HAVE_SYSTEMD
-+static void systemd_checkin(void);
-+#endif /* HAVE_SYSTEMD */
- static void parent_handler(int sig);
- static void process_children(void);
- static void sigchld_handler(int sig);
-@@ -563,6 +570,13 @@ main(int argc, /* I - Number of comm
- }
- #endif /* HAVE_LAUNCHD */
-
-+#ifdef HAVE_SYSTEMD
-+ /*
-+ * If we were started by systemd get the listen sockets file descriptors...
-+ */
-+ systemd_checkin();
-+#endif /* HAVE_SYSTEMD */
-+
- /*
- * Startup the server...
- */
-@@ -654,6 +668,12 @@ main(int argc, /* I - Number of comm
- "Scheduler started via launchd.");
- else
- #endif /* HAVE_LAUNCHD */
-+#ifdef HAVE_SYSTEMD
-+ sd_notifyf(0, "READY=1\n"
-+ "STATUS=Scheduler is running...\n"
-+ "MAINPID=%lu",
-+ (unsigned long) getpid());
-+#endif /* HAVE_SYSTEMD */
- if (fg)
- cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL,
- "Scheduler started in foreground.");
-@@ -751,6 +771,15 @@ main(int argc, /* I - Number of comm
- }
- #endif /* HAVE_LAUNCHD */
-
-+#ifdef HAVE_SYSTEMD
-+ /*
-+ * If we were started by systemd get the listen sockets file
-+ * descriptors...
-+ */
-+
-+ systemd_checkin();
-+#endif /* HAVE_SYSTEMD */
-+
- /*
- * Startup the server...
- */
-@@ -1500,6 +1529,102 @@ launchd_checkout(void)
- }
- #endif /* HAVE_LAUNCHD */
-
-+#ifdef HAVE_SYSTEMD
-+static void
-+systemd_checkin(void)
-+{
-+ int n, fd;
-+
-+ n = sd_listen_fds(0);
-+ if (n < 0)
-+ {
-+ cupsdLogMessage(CUPSD_LOG_ERROR,
-+ "systemd_checkin: Failed to acquire sockets from systemd - %s",
-+ strerror(-n));
-+ exit(EXIT_FAILURE);
-+ return;
-+ }
-+
-+ if (n == 0)
-+ return;
-+
-+ for (fd = SD_LISTEN_FDS_START; fd < SD_LISTEN_FDS_START + n; fd ++)
-+ {
-+ http_addr_t addr;
-+ socklen_t addrlen = sizeof (addr);
-+ int r;
-+ cupsd_listener_t *lis;
-+ char s[256];
-+
-+ r = sd_is_socket(fd, AF_UNSPEC, SOCK_STREAM, 1);
-+ if (r < 0)
-+ {
-+ cupsdLogMessage(CUPSD_LOG_ERROR,
-+ "systemd_checkin: Unable to verify socket type - %s",
-+ strerror(-r));
-+ continue;
-+ }
-+
-+ if (!r)
-+ {
-+ cupsdLogMessage(CUPSD_LOG_ERROR,
-+ "systemd_checkin: Socket not of the right type");
-+ continue;
-+ }
-+
-+ if (getsockname(fd, (struct sockaddr*) &addr, &addrlen))
-+ {
-+ cupsdLogMessage(CUPSD_LOG_ERROR,
-+ "systemd_checkin: Unable to get local address - %s",
-+ strerror(errno));
-+ continue;
-+ }
-+
-+ /*
-+ * Try to match the systemd socket address to one of the listeners...
-+ */
-+
-+ for (lis = (cupsd_listener_t *)cupsArrayFirst(Listeners);
-+ lis;
-+ lis = (cupsd_listener_t *)cupsArrayNext(Listeners))
-+ if (httpAddrEqual(&lis->address, &addr))
-+ break;
-+
-+ if (lis)
-+ {
-+ cupsdLogMessage(CUPSD_LOG_DEBUG,
-+ "systemd_checkin: Matched existing listener %s with fd %d...",
-+ httpAddrString(&(lis->address), s, sizeof(s)), fd);
-+ }
-+ else
-+ {
-+ cupsdLogMessage(CUPSD_LOG_DEBUG,
-+ "systemd_checkin: Adding new listener %s with fd %d...",
-+ httpAddrString(&addr, s, sizeof(s)), fd);
-+
-+ if ((lis = calloc(1, sizeof(cupsd_listener_t))) == NULL)
-+ {
-+ cupsdLogMessage(CUPSD_LOG_ERROR,
-+ "systemd_checkin: Unable to allocate listener - "
-+ "%s.", strerror(errno));
-+ exit(EXIT_FAILURE);
-+ }
-+
-+ cupsArrayAdd(Listeners, lis);
-+
-+ memcpy(&lis->address, &addr, sizeof(lis->address));
-+ }
-+
-+ lis->fd = fd;
-+ lis->is_systemd = 1;
-+
-+# ifdef HAVE_SSL
-+ if (_httpAddrPort(&(lis->address)) == 443)
-+ lis->encryption = HTTP_ENCRYPT_ALWAYS;
-+# endif /* HAVE_SSL */
-+ }
-+}
-+#endif /* HAVE_SYSTEMD */
-
- /*
- * 'parent_handler()' - Catch USR1/CHLD signals...
-diff -up cups-1.7.2/scheduler/Makefile.systemd-socket cups-1.7.2/scheduler/Makefile
---- cups-1.7.2/scheduler/Makefile.systemd-socket 2013-05-29 13:51:34.000000000 +0200
-+++ cups-1.7.2/scheduler/Makefile 2014-04-17 14:05:04.108471960 +0200
-@@ -381,7 +381,7 @@ cupsd: $(CUPSDOBJS) $(LIBCUPSMIME) ../cu
- $(CC) $(LDFLAGS) -o cupsd $(CUPSDOBJS) -L. -lcupsmime \
- $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \
- $(LIBPAPER) $(LIBMALLOC) $(SERVERLIBS) $(DNSSDLIBS) $(LIBS) \
-- $(LIBGSSAPI) $(LIBWRAP)
-+ $(LIBGSSAPI) $(LIBWRAP) $(SDLIBS)
-
- cupsd-static: $(CUPSDOBJS) libcupsmime.a ../cups/$(LIBCUPSSTATIC)
- echo Linking $@...
-@@ -389,7 +389,7 @@ cupsd-static: $(CUPSDOBJS) libcupsmime.a
- $(LIBZ) $(SSLLIBS) $(LIBSLP) $(LIBLDAP) $(PAMLIBS) \
- ../cups/$(LIBCUPSSTATIC) $(COMMONLIBS) $(LIBZ) $(LIBPAPER) \
- $(LIBMALLOC) $(SERVERLIBS) $(DNSSDLIBS) $(LIBGSSAPI) \
-- $(LIBWRAP)
-+ $(LIBWRAP) $(SDLIBS)
-
- tls.o: tls-darwin.c tls-gnutls.c tls-openssl.c
-
diff --git a/abs/extra/cups/cups.install b/abs/extra/cups/cups.install
index 121eeb0..77fac93 100644
--- a/abs/extra/cups/cups.install
+++ b/abs/extra/cups/cups.install
@@ -13,18 +13,11 @@ post_upgrade() {
xdg-icon-resource forceupdate --theme hicolor 2> /dev/null
fi
- if [ "`vercmp $2 1.6.0`" -lt 0 ]; then
+ if [ "`vercmp $2 2.0.0-1`" -lt 0 ]; then
# important upgrade notice
- echo "* avahi-daemon should now run before you start cupsd for"
- echo " printer Browsing support"
- echo "* check your config with cupsd -t"
- echo " and fix all Browsing related settings"
- fi
-
- if [ "`vercmp $2 1.6.1-3`" -lt 0 ]; then
- # important upgrade notice
- echo "> It's now safe to load usblp kernel module."
- echo "> There's no more need to blacklist it."
+ echo "> systemd unit names have been renamed"
+ echo "> you should systemctl stop and disable cups.service and"
+ echo "> systemctl daemon-reload, start and enable org.cups.cupsd.service"
fi
}
diff --git a/abs/extra/cups/cups.logrotate b/abs/extra/cups/cups.logrotate
new file mode 100644
index 0000000..19e1210
--- /dev/null
+++ b/abs/extra/cups/cups.logrotate
@@ -0,0 +1,5 @@
+/var/log/cups/*_log {
+ missingok
+ notifempty
+ sharedscripts
+}
diff --git a/abs/extra/cups/cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch b/abs/extra/cups/cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch
deleted file mode 100644
index ee36936..0000000
--- a/abs/extra/cups/cupsd-no-crash-on-avahi-threaded-poll-shutdown.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Description: Fixed crash which sometimes happens on shutdown of the CUPS
- daemon, caused by a wrong shutdown sequence for shutting down the Avahi
- threaded poll.
-Author: Till Kamppeter <till.kamppeter@gmail.com>
-Bug-Upstream: http://cups.org/str.php?L4180
-Bug-Upstream: http://cups.org/str.php?L4213
-Bug-Ubuntu: https://bugs.launchpad.net/bugs/1034045
-Last-Updated: 2012-10-16
-
---- a/scheduler/dirsvc.c
-+++ b/scheduler/dirsvc.c
-@@ -1333,6 +1333,7 @@
- DNSSDMaster = NULL;
-
- # else /* HAVE_AVAHI */
-+ avahi_threaded_poll_stop(DNSSDMaster);
- avahi_client_free(DNSSDClient);
- DNSSDClient = NULL;
-
diff --git a/abs/extra/cups/get-ppd-file-for-statically-configured-ipp-shared-queues.patch b/abs/extra/cups/get-ppd-file-for-statically-configured-ipp-shared-queues.patch
deleted file mode 100644
index ed132d7..0000000
--- a/abs/extra/cups/get-ppd-file-for-statically-configured-ipp-shared-queues.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Description: Applications could not get the PPD file for
- statically-configured IPP-shared print queues
-Author: Till Kamppeter <till.kamppeter@gmail.com>
-Bug-Upstream: http://cups.org/str.php?L4178
-Last-Updated: 2012-09-19
-
---- a/cups/util.c
-+++ b/cups/util.c
-@@ -1731,6 +1731,22 @@
-
- return (1);
- }
-+ else if (device_uri &&
-+ (!strncmp(device_uri, "ipp:", 4) != NULL ||
-+ !strncmp(device_uri, "ipps:", 5) != NULL))
-+ {
-+ /*
-+ * Statically-configured IPP shared printer.
-+ */
-+
-+ httpSeparateURI(HTTP_URI_CODING_ALL,
-+ device_uri,
-+ scheme, sizeof(scheme), username, sizeof(username),
-+ host, hostsize, port, resource, resourcesize);
-+ ippDelete(response);
-+
-+ return (1);
-+ }
- else if ((attr = ippFindAttribute(response, "member-uris",
- IPP_TAG_URI)) != NULL)
- {
diff --git a/abs/extra/cups/ppd-poll-with-client-conf.patch b/abs/extra/cups/ppd-poll-with-client-conf.patch
deleted file mode 100644
index 8985fa3..0000000
--- a/abs/extra/cups/ppd-poll-with-client-conf.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Description: If an external server is used via client.conf and the DNS is inconsistent (ex: DNS gives "noname" for many IPs, reverse DNS gives one of these IPs for "noname") local PPDs can get polled for print queues instead of the PPDs of the external server
-Bug: http://www.cups.org/str.php?L2763
-
---- a/cups/util.c
-+++ b/cups/util.c
-@@ -1085,11 +1085,13 @@
- http2 = http;
- else if ((http2 = httpConnectEncrypt(hostname, port,
- cupsEncryption())) == NULL)
-- {
-- DEBUG_puts("1cupsGetPPD3: Unable to connect to server");
-+ if ((http2 = httpConnectEncrypt(http_hostname, http_port,
-+ cupsEncryption())) == NULL)
-+ {
-+ DEBUG_puts("1cupsGetPPD3: Unable to connect to server");
-
-- return (HTTP_SERVICE_UNAVAILABLE);
-- }
-+ return (HTTP_SERVICE_UNAVAILABLE);
-+ }
-
- /*
- * Get a temp file...
diff --git a/abs/extra/dcadec/PKGBUILD b/abs/extra/dcadec/PKGBUILD
new file mode 100644
index 0000000..5e52ae8
--- /dev/null
+++ b/abs/extra/dcadec/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id$
+# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
+# Contributor: Yamashita Ren <lemaitre.lotus@gmail.com>
+
+pkgname=dcadec
+pkgver=0.2.0
+pkgrel=1
+pkgdesc='DTS Coherent Acoustics decoder with support for HD extensions'
+arch=('i686' 'x86_64')
+url='https://github.com/foo86/dcadec.git'
+license=('LGPL2.1')
+depends=('glibc')
+provides=('libdcadec.so')
+source=("dcadec-${pkgver}.tar.gz::https://github.com/foo86/dcadec/archive/v${pkgver}.tar.gz")
+sha256sums=('ed9d207fde3e8d576f3af8b0d1235b3371e315175757173689104efcaebf0d44')
+
+build() {
+ cd dcadec-${pkgver}
+
+ export CONFIG_SHARED='TRUE'
+
+ make
+}
+
+package() {
+ cd dcadec-${pkgver}
+
+ export CONFIG_SHARED='TRUE'
+ export PREFIX='/usr'
+
+ make DESTDIR="${pkgdir}" install
+ mv "${pkgdir}"/usr/bin/dcadec{,-hd}
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/dtv-scan-tables-git/PKGBUILD b/abs/extra/dtv-scan-tables-git/PKGBUILD
new file mode 100644
index 0000000..4f5a67e
--- /dev/null
+++ b/abs/extra/dtv-scan-tables-git/PKGBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Olaf Bauer <hydro@freenet.de>
+
+pkgname=dtv-scan-tables-git
+pkgver=r1185.82dfbc1
+pkgrel=1
+pkgdesc="Digital TV scan tables"
+arch=('any')
+url="http://linuxtv.org/"
+license=('GPL2' 'LGPL2')
+makedepends=('git' 'v4l-utils')
+conflicts=('dtv-scan-tables')
+provides=('dtv-scan-tables')
+source=('git://linuxtv.org/dtv-scan-tables.git')
+md5sums=('SKIP')
+
+pkgver() {
+ cd "$srcdir/dtv-scan-tables"
+ printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+}
+
+build() {
+ cd "$srcdir/dtv-scan-tables"
+ make dvbv3
+}
+
+package() {
+ cd "$srcdir/dtv-scan-tables"
+ make PREFIX="$pkgdir/usr" DVBV5DIR=dvb install
+ make PREFIX="$pkgdir/usr" install_v3
+}
diff --git a/abs/extra/emacs/PKGBUILD b/abs/extra/emacs/PKGBUILD
index f22828a..bc223a0 100644
--- a/abs/extra/emacs/PKGBUILD
+++ b/abs/extra/emacs/PKGBUILD
@@ -1,23 +1,24 @@
-# $Id: PKGBUILD 171502 2012-11-18 08:01:29Z eric $
+# $Id$
# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
# Contributor: Renchi Raju <renchi@green.tam.uiuc.edu>
pkgname=emacs
-pkgver=24.2
-pkgrel=3
+pkgver=24.5
+pkgrel=2
pkgdesc="The extensible, customizable, self-documenting real-time display editor"
arch=('i686' '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')
+depends=('librsvg' 'gpm' 'giflib' 'libxpm' 'libotf' 'm17n-lib' 'gtk3' 'hicolor-icon-theme' 'gconf' 'desktop-file-utils' 'alsa-lib' 'imagemagick' 'gnutls')
install=emacs.install
-source=(ftp://ftp.gnu.org/gnu/emacs/$pkgname-$pkgver.tar.bz2{,.sig})
-md5sums=('1676803a50e8adc817fdaaebb9234f14' 'ca1766337f419ef827dd96d1ff78f158')
-
+validpgpkeys=('B29426DEFB07724C3C35E5D36592E9A3A0B0F199' '28D3BED851FDF3AB57FEF93C233587A47C207910')
+source=(ftp://ftp.gnu.org/gnu/emacs/$pkgname-$pkgver.tar.xz{,.sig})
+md5sums=('50560ee00bac9bb9cf0e822764cd0832'
+ 'SKIP')
build() {
cd "$srcdir"/$pkgname-$pkgver
- ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \
+ ac_cv_lib_gif_EGifPutExtensionLast=yes ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \
--localstatedir=/var --with-x-toolkit=gtk3 --with-xft
make
}
@@ -29,6 +30,8 @@ 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
index fa9ffee..6712f44 100644
--- a/abs/extra/emacs/emacs.install
+++ b/abs/extra/emacs/emacs.install
@@ -1,11 +1,11 @@
ICON_PATH=usr/share/icons/hicolor
INFO_DIR=usr/share/info
-INFO_FILES=(ada-mode auth autotype calc ccmode cl dbus dired-x ebrowse
+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 idlwave info mairix-el message mh-e newsticker nxml-mode
+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 tramp url vip viper widget woman)
+speedbar srecode tramp url vip viper widget wisent woman)
post_install() {
gtk-update-icon-cache -q -t -f ${ICON_PATH}
@@ -13,7 +13,7 @@ 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
+ install-info ${INFO_DIR}/$f.info.gz ${INFO_DIR}/dir 2> /dev/null
done
}
@@ -27,6 +27,6 @@ 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
+ install-info --delete ${INFO_DIR}/$f.info.gz ${INFO_DIR}/dir 2> /dev/null
done
}
diff --git a/abs/extra/exiv2/PKGBUILD b/abs/extra/exiv2/PKGBUILD
new file mode 100644
index 0000000..95a40d1
--- /dev/null
+++ b/abs/extra/exiv2/PKGBUILD
@@ -0,0 +1,24 @@
+#$Id$
+# Maintainer: tobias <tobias@arhlinux.org>
+
+pkgname=exiv2
+pkgver=0.25
+pkgrel=3
+pkgdesc="Exif, Iptc and XMP metadata manipulation library and tools"
+arch=('i686' 'x86_64')
+url="http://exiv2.org"
+license=('GPL2')
+depends=('gcc-libs' 'zlib' 'expat')
+source=(http://www.exiv2.org/${pkgname}-${pkgver}.tar.gz)
+md5sums=('258d4831b30f75a01e0234065c6c2806')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --enable-video
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/abs/extra/ffmpeg-compat/PKGBUILD b/abs/extra/ffmpeg-compat/PKGBUILD
index 2627385..5b5879f 100644
--- a/abs/extra/ffmpeg-compat/PKGBUILD
+++ b/abs/extra/ffmpeg-compat/PKGBUILD
@@ -6,22 +6,34 @@
# Contributor: Paul Mattal <paul@archlinux.org>
pkgname=ffmpeg-compat
-pkgver=0.10.15
-pkgrel=1
+pkgver=0.10.16
+pkgrel=4
epoch=1
pkgdesc='Complete and free Internet live audio and video broadcasting solution'
arch=('i686' 'x86_64')
url='http://ffmpeg.org/'
license=('GPL')
depends=(
- 'alsa-lib' 'bzip2' 'gsm' 'lame' 'libass'
- 'libmodplug' 'libtheora' 'libva' 'libvorbis' 'libvpx'
- 'opencore-amr' 'openjpeg' 'rtmpdump' 'schroedinger' 'sdl' 'speex'
- 'v4l-utils' 'libx264' 'xvidcore' 'zlib'
+ 'alsa-lib' 'bzip2' 'gsm' 'lame' 'libass' 'libmodplug'
+ 'libtheora' 'libva' 'opencore-amr' 'openjpeg' 'rtmpdump' 'schroedinger'
+ 'sdl' 'speex' 'v4l-utils' 'xvidcore' 'zlib'
+ 'libvorbisenc.so' 'libvorbis.so' 'libvpx.so' 'libx264.so'
)
makedepends=('libvdpau' 'yasm' 'x264')
-source=(http://ffmpeg.org/releases/ffmpeg-$pkgver.tar.bz2)
-sha256sums=('8b6dbf73c192d2217e6ded8e0dd560c678f362e373d87c28ed9fc8eb52293d5d')
+provides=('libavcodec.so' 'libavutil.so' 'libpostproc.so' 'libswscale.so'
+ 'libswresample.so' 'libavformat.so' 'libavfilter.so' 'libavdevice.so')
+source=(http://ffmpeg.org/releases/ffmpeg-$pkgver.tar.bz2{,.asc}
+ ffmpeg-0.10-libvpx-1.5.patch)
+validpgpkeys=('FCF986EA15E6E293A5644F10B4322F04D67658D8') # ffmpeg-devel
+sha256sums=('e77823cbd58dfdb61f88059476070bc432d80e3821c14abcf804ef709d2f3fd1'
+ 'SKIP'
+ 'd6797973889582b82b7c81b91a39c222e09b5ccf8a7e031c364ae1e9275a497d')
+
+
+prepare() {
+ cd ffmpeg-$pkgver
+ patch -p1 -i ../ffmpeg-0.10-libvpx-1.5.patch
+}
build() {
cd ffmpeg-$pkgver
diff --git a/abs/extra/ffmpeg-compat/ffmpeg-0.10-libvpx-1.5.patch b/abs/extra/ffmpeg-compat/ffmpeg-0.10-libvpx-1.5.patch
new file mode 100644
index 0000000..740bb74
--- /dev/null
+++ b/abs/extra/ffmpeg-compat/ffmpeg-0.10-libvpx-1.5.patch
@@ -0,0 +1,24 @@
+diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c
+index 1d33ce9..dface51 100644
+--- a/libavcodec/libvpxenc.c
++++ b/libavcodec/libvpxenc.c
+@@ -78,19 +78,11 @@ typedef struct VP8EncoderContext {
+
+ /** String mappings for enum vp8e_enc_control_id */
+ static const char *ctlidstr[] = {
+- [VP8E_UPD_ENTROPY] = "VP8E_UPD_ENTROPY",
+- [VP8E_UPD_REFERENCE] = "VP8E_UPD_REFERENCE",
+- [VP8E_USE_REFERENCE] = "VP8E_USE_REFERENCE",
+- [VP8E_SET_ROI_MAP] = "VP8E_SET_ROI_MAP",
+- [VP8E_SET_ACTIVEMAP] = "VP8E_SET_ACTIVEMAP",
+- [VP8E_SET_SCALEMODE] = "VP8E_SET_SCALEMODE",
+ [VP8E_SET_CPUUSED] = "VP8E_SET_CPUUSED",
+ [VP8E_SET_ENABLEAUTOALTREF] = "VP8E_SET_ENABLEAUTOALTREF",
+ [VP8E_SET_NOISE_SENSITIVITY] = "VP8E_SET_NOISE_SENSITIVITY",
+- [VP8E_SET_SHARPNESS] = "VP8E_SET_SHARPNESS",
+ [VP8E_SET_STATIC_THRESHOLD] = "VP8E_SET_STATIC_THRESHOLD",
+ [VP8E_SET_TOKEN_PARTITIONS] = "VP8E_SET_TOKEN_PARTITIONS",
+- [VP8E_GET_LAST_QUANTIZER] = "VP8E_GET_LAST_QUANTIZER",
+ [VP8E_SET_ARNR_MAXFRAMES] = "VP8E_SET_ARNR_MAXFRAMES",
+ [VP8E_SET_ARNR_STRENGTH] = "VP8E_SET_ARNR_STRENGTH",
+ [VP8E_SET_ARNR_TYPE] = "VP8E_SET_ARNR_TYPE",
diff --git a/abs/extra/findbrokenpkgs/PKGBUILD b/abs/extra/findbrokenpkgs/PKGBUILD
new file mode 100644
index 0000000..32d7a38
--- /dev/null
+++ b/abs/extra/findbrokenpkgs/PKGBUILD
@@ -0,0 +1,18 @@
+# Maintaine: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: Paul Bredbury <brebs@sent.com>
+
+pkgname=findbrokenpkgs
+pkgver=1.1
+pkgrel=1
+pkgdesc="Broken package identifier for Arch Linux, based on Gentoo's revdep-rebuild"
+arch=('any')
+url="http://bbs.archlinux.org/viewtopic.php?id=13882"
+license=('GPL')
+depends=('binutils' 'pacman')
+source=($pkgname-$pkgver.sh)
+md5sums=('ee683c467e4881736ed60a15ebbcc7a5')
+
+package() {
+ install -Dm755 $pkgname-$pkgver.sh "${pkgdir}"/usr/bin/$pkgname
+}
diff --git a/abs/extra/findbrokenpkgs/findbrokenpkgs-1.1.sh b/abs/extra/findbrokenpkgs/findbrokenpkgs-1.1.sh
new file mode 100644
index 0000000..ee59628
--- /dev/null
+++ b/abs/extra/findbrokenpkgs/findbrokenpkgs-1.1.sh
@@ -0,0 +1,326 @@
+#! /bin/bash
+# Distributed under the terms of the GNU General Public License v2
+
+# Shamelessly copied mostly from Gentoo's revdep-rebuild utility.
+# http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-portage/gentoolkit/
+# $ equery belongs /usr/bin/revdep-rebuild
+# app-portage/gentoolkit-0.2.3-r1
+# $ cat /usr/portage/app-portage/gentoolkit/gentoolkit-0.2.3-r1.ebuild | grep LICENSE
+# LICENSE="GPL-2"
+
+# findbrokenpkgs for Arch Linux.
+# Converted to use pacman instead of emerge by Paul Bredbury <brebs@sent.com>
+#
+# v1.1 - files now in $HOME/.findbrokenpkgs/ directory - based on changes from
+# Stefan Husmann, repackaged by Jaroslav Lichtblau
+
+# Customizable variables:
+#
+# LD_LIBRARY_MASK - Mask of specially evaluated libraries
+# SEARCH_DIRS - List of directories to search for executables and libraries
+# SEARCH_DIRS_MASK - List of directories to not search
+#
+# These variables can be prepended to by setting the variable in
+# your environment prior to execution.
+#
+# An entry of "-*" means to clear the variable from that point forward.
+# Example: env SEARCH_DIRS="/usr/bin -*" findbrokenpkgs will set SEARCH_DIRS
+# to contain only /usr/bin
+
+if [ "$1" = "-h" -o "$1" = "-help" -o "$1" = "--help" ] ; then
+ echo "Broken package identifier, version 1.0"
+ echo "Checks dynamic library linking."
+ echo
+ echo "Usage: $0 [OPTIONS]"
+ echo
+ echo " -nc, --no-color Turn off colored output"
+ echo " -nw, --no-warning Disable newbie-friendly warning"
+ echo " -q, --quiet Be less verbose"
+ echo
+ echo "Report bugs to http://bbs.archlinux.org/viewtopic.php?id=13882"
+ exit 0
+fi
+
+# Update the incremental variables using /etc/profile.env, /etc/ld.so.conf,
+# and the environment.
+
+# Read the incremental variables from environment
+PRELIMINARY_SEARCH_DIRS="$SEARCH_DIRS"
+PRELIMINARY_SEARCH_DIRS_MASK="$SEARCH_DIRS_MASK"
+PRELIMINARY_LD_LIBRARY_MASK="$LD_LIBRARY_MASK"
+SONAME_SEARCH="not found"
+SONAME_GREP=grep
+
+# Add the defaults
+if [ -d /etc/findbrokenpkgs ] ; then
+ for file in $(ls /etc/findbrokenpkgs) ; do
+ PRELIMINARY_SEARCH_DIRS="$PRELIMINARY_SEARCH_DIRS $(. /etc/findbrokenpkgs/${file}; echo $SEARCH_DIRS)"
+ PRELIMINARY_SEARCH_DIRS_MASK="$PRELIMINARY_SEARCH_DIRS_MASK $(. /etc/findbrokenpkgs/${file}; echo $SEARCH_DIRS_MASK)"
+ PRELIMINARY_LD_LIBRARY_MASK="$PRELIMINARY_LD_LIBRARY_MASK $(. /etc/findbrokenpkgs/${file}; echo $LD_LIBRARY_MASK)"
+ done
+else
+ PRELIMINARY_SEARCH_DIRS="$PRELIMINARY_SEARCH_DIRS /bin /sbin /usr/bin /usr/sbin /lib* /usr/lib*"
+ # openoffice is a binary, and we don't want to check that monster
+ PRELIMINARY_SEARCH_DIRS_MASK="$PRELIMINARY_SEARCH_DIRS_MASK /opt/openoffice"
+ # Binary libraries
+ PRELIMINARY_LD_LIBRARY_MASK="$PRELIMINARY_LD_LIBRARY_MASK libodbcinst.so libodbc.so libjava.so libjvm.so"
+fi
+
+# Get the ROOTPATH and PATH from /etc/profile.env
+if [ -e "/etc/profile.env" ] ; then
+ PRELIMINARY_SEARCH_DIRS="$PRELIMINARY_SEARCH_DIRS $((. /etc/profile.env; echo ${ROOTPATH}:${PATH}) | tr ':' ' ')"
+fi
+
+# Get the directories from /etc/ld.so.conf
+if [ -e /etc/ld.so.conf ] ; then
+ PRELIMINARY_SEARCH_DIRS="$PRELIMINARY_SEARCH_DIRS $(grep -v "^#" /etc/ld.so.conf | tr '\n' ' ')"
+fi
+
+# Set the final variables
+# Note: Using $(echo $variable) removes extraneous spaces from variable assignment
+unset SEARCH_DIRS
+for i in $(echo $PRELIMINARY_SEARCH_DIRS) ; do
+ [ "$i" = "-*" ] && break
+ # Append a / at the end so that links and directories are treated the same by find
+ # Remove any existing trailing slashes to prevent double-slashes
+ SEARCH_DIRS="$(echo $SEARCH_DIRS ${i/%\//}/)"
+done
+# Remove any double-slashes from the path
+SEARCH_DIRS="$(echo $SEARCH_DIRS | sed 's:/\+:/:g')"
+
+unset SEARCH_DIRS_MASK
+for i in $(echo $PRELIMINARY_SEARCH_DIRS_MASK) ; do
+ [ "$i" = "-*" ] && break
+ SEARCH_DIRS_MASK="$(echo $SEARCH_DIRS_MASK $i)"
+done
+
+unset LD_LIBRARY_MASK
+for i in $(echo $PRELIMINARY_LD_LIBRARY_MASK) ; do
+ [ "$i" = "-*" ] && break
+ LD_LIBRARY_MASK="$(echo $LD_LIBRARY_MASK $i)"
+done
+
+# Base of temporary files names.
+[ -d ${HOME}/.findbrokenpkgs ] || mkdir ${HOME}/.findbrokenpkgs
+touch ${HOME}/.findbrokenpkgs/findbrokenpkgs_0.test 2>/dev/null
+if [ $? -eq 0 ] ; then
+ LIST="${HOME}/.findbrokenpkgs/findbrokenpkgs"
+ rm ~/.findbrokenpkgs/findbrokenpkgs_0.test
+else
+ # Try to use /var/tmp since $HOME is not available
+ touch /var/tmp/.findbrokenpkgs/findbrokenpkgs_0.test 2>/dev/null
+ if [ $? -eq 0 ] ; then
+ LIST="/var/tmp/.findbrokenpkgs/findbrokenpkgs"
+ rm /var/tmp/.findbrokenpkgs/findbrokenpkgs_0.test
+ else
+ echo
+ echo "!!! Unable to write temporary files to either $HOME or /var/tmp !!!"
+ echo
+ exit 1
+ fi
+fi
+
+shopt -s nullglob
+shopt -s expand_aliases
+unalias -a
+alias echo_v=echo
+
+while [ ! -z "$1" ] ; do
+ case "$1" in
+ -q | --quiet )
+ alias echo_v=:
+ shift
+ ;;
+ -nc | --no-color )
+ NOCOLOR=true
+ shift
+ ;;
+ -nw | --no-warning )
+ NOWARNING=true
+ shift
+ ;;
+ * )
+ echo "Unknown option: $1"
+ exit 1
+ ;;
+ esac
+done
+
+# Color Definitions
+if [ "$NOCOLOR" = "yes" -o "$NOCOLOR" = "true" ] ; then
+ NO=""
+ BR=""
+ CY=""
+ GR=""
+ RD=""
+ YL=""
+ BL=""
+else
+ NO="\x1b[0m"
+ BR="\x1b[0;01m"
+ CY="\x1b[36;01m"
+ GR="\x1b[32;01m"
+ RD="\x1b[31;01m"
+ YL="\x1b[33;01m"
+ BL="\x1b[34;01m"
+fi
+
+function set_trap () {
+ trap "rm_temp $1" SIGHUP SIGINT SIGQUIT SIGABRT SIGTERM
+}
+
+function rm_temp () {
+ echo " terminated."
+ echo "Removing incomplete $1."
+ rm $1
+ echo
+ exit 1
+}
+
+# Want program results (especially from pacman) in English
+export LC_ALL=C
+
+# Always delete the temporary files from a previous run
+rm -f ${LIST}.[0-9]_*
+
+# Clean up no longer needed environment variables
+unset PREVIOUS_SEARCH_DIRS PREVIOUS_SEARCH_DIRS_MASK PREVIOUS_LD_LIBRARY_MASK PREVIOUS_PREVIOUS_OPTIONS
+unset PRELIMINARY_SEARCH_DIRS PRELIMINARY_SEARCH_DIRS_MASK PRELIMINARY_LD_LIBRARY_MASK
+
+# Log our environment
+echo "SEARCH_DIRS=\"$SEARCH_DIRS\"" > $LIST.0_env
+echo "SEARCH_DIRS_MASK=\"$SEARCH_DIRS_MASK\"" >> $LIST.0_env
+echo "LD_LIBRARY_MASK=\"$LD_LIBRARY_MASK\"" >> $LIST.0_env
+
+echo_v
+echo_v "Checking reverse dependencies..."
+echo_v
+echo_v -n -e "${GR}Collecting system binaries and libraries...${NO}"
+
+set_trap "$LIST.1_*"
+
+# Be extra paranoid and pipe results through sed to remove multiple slashes
+# using -perm /u+x for find command
+find $SEARCH_DIRS -type f \( -perm /u+x -o -name '*.so' -o -name '*.so.*' -o -name '*.la' \) 2>/dev/null | sort | uniq | sed 's:/\+:/:g' >$LIST.0_files
+
+# Remove files that match SEARCH_DIR_MASK
+for dir in $SEARCH_DIRS_MASK ; do
+ grep -v "^$dir" $LIST.0_files > $LIST.1_files
+ mv $LIST.1_files $LIST.0_files
+done
+
+mv $LIST.0_files $LIST.1_files
+echo_v -e " ${GR}done.${NO}\n ($LIST.1_files)"
+
+echo_v
+echo_v -n -e "${GR}Collecting complete LD_LIBRARY_PATH...${NO}"
+set_trap "$LIST.2_ldpath"
+# Ensure that the "trusted" lib directories are at the start of the path
+(
+ echo /lib* /usr/lib* | sed 's/ /:/g'
+ sed '/^#/d;s/#.*$//' </etc/ld.so.conf
+ sed 's:/[^/]*$::' <$LIST.1_files | sort -ru
+) | tr '\n' : | tr -d '\r' | sed 's/:$//' >$LIST.2_ldpath
+echo_v -e " ${GR}done.${NO}\n ($LIST.2_ldpath)"
+COMPLETE_LD_LIBRARY_PATH="$(cat $LIST.2_ldpath)"
+
+echo_v
+echo_v -e "${GR}Checking dynamic linking consistency...${NO}"
+set_trap "$LIST.3_rebuild"
+LD_MASK="\\( $(echo "$LD_LIBRARY_MASK" | sed 's/\./\\./g;s/ / \\| /g') \\)"
+echo -n > $LIST.3_rebuild
+cat $LIST.1_files | egrep -v '*\.la$' | while read FILE ; do
+ # Note: double checking seems to be faster than single
+ # with complete path (special add-ons are rare).
+ if ldd "$FILE" 2>/dev/null | grep -v "$LD_MASK" | $SONAME_GREP -q "$SONAME_SEARCH" ; then
+ if LD_LIBRARY_PATH="$COMPLETE_LD_LIBRARY_PATH" ldd "$FILE" 2>/dev/null | grep -v "$LD_MASK" | $SONAME_GREP -q "$SONAME_SEARCH" ; then
+ # Only build missing direct dependencies
+ ALL_MISSING_LIBS=$(ldd "$FILE" 2>/dev/null | sort -u | sed -n 's/ \(.*\) => not found/\1/p' | tr '\n' ' ' | sed 's/ $//' )
+ REQUIRED_LIBS=$(objdump -x $FILE | grep NEEDED | awk '{print $2}' | tr '\n' ' ' | sed 's/ $//')
+ MISSING_LIBS=""
+ for lib in $ALL_MISSING_LIBS ; do
+ if echo $REQUIRED_LIBS | grep -q $lib ; then
+ MISSING_LIBS="$MISSING_LIBS $lib"
+ fi
+ done
+ if [ "$MISSING_LIBS" != "" ] ; then
+ echo "$FILE" >> $LIST.3_rebuild
+ # MISSING_LIBS already starts with a space
+ echo_v -e " $FILE ${RD}needs missing${NO}${MISSING_LIBS}"
+ fi
+ fi
+ fi
+done
+# Not sure if *.la files should even be checked
+cat $LIST.1_files | egrep '*\.la$' | while read FILE ; do
+ for depend in $(grep '^dependency_libs' $FILE | awk -F'=' '{print $2}' | sed "s/'//g") ; do
+ [ ${depend:0:1} != '/' ] && continue
+ if [ ! -e $depend ] ; then
+ echo "$FILE" >> $LIST.3_rebuild
+ echo_v -e " $FILE ${RD}needs missing${NO} ${depend}"
+ fi
+ done
+done
+echo_v -e " ${GR}done${NO}.\n ($LIST.3_rebuild)"
+
+echo_v
+echo_v -n -e "${GR}Assigning files to packages...${NO}"
+set_trap "$LIST.4_*"
+echo -n > $LIST.4_package_owners
+echo -n > $LIST.4_packages_raw
+echo -n > $LIST.4_orphans
+
+cat $LIST.3_rebuild | while read FILE ; do
+ EXACT_PKG=$(pacman -Qo $FILE | awk '{print $5 " " $6}')
+ PKG=$(echo $EXACT_PKG | awk '{print $1}')
+ if [ -z "$PKG" ] ; then
+ echo_v -n -e "\n ${RD}*** $FILE is orphan & broken! ***${NO}"
+ echo "$FILE -> (none)" >> $LIST.4_package_owners
+ echo "$FILE" >> $LIST.4_orphans
+ echo_v -n -e "\n $FILE ${RD}-> (none)${NO}"
+ else
+ echo "$PKG" >> $LIST.4_packages_raw
+ echo "$FILE -> $EXACT_PKG" >> $LIST.4_package_owners
+ echo_v -n -e "\n $FILE ${CY}->${NO} ${BR}$PKG${NO}"
+ fi
+done
+echo_v
+echo_v -e " ${GR}done.${NO}\n ($LIST.4_*)"
+
+echo_v
+echo_v -n -e "${GR}Cleaning list of packages to rebuild...${NO}"
+set_trap "$LIST.5_packages"
+sort -u $LIST.4_packages_raw >$LIST.5_packages
+echo_v -e " ${GR}done.${NO}\n ($LIST.5_packages)"
+
+REBUILD_LIST="$(cat $LIST.5_packages | tr '\n' ' ')"
+ORPHAN_LIST="$(cat $LIST.4_orphans)"
+
+# Clean up no longer needed environment variables
+unset COMPLETE_LD_LIBRARY_PATH SEARCH_DIRS SEARCH_DIRS_MASK LD_LIBRARY_MASK
+
+trap - SIGHUP SIGINT SIGQUIT SIGABRT SIGTERM
+
+if [ -z "$REBUILD_LIST" ] && [ -z "$ORPHAN_LIST" ] ; then
+ echo_v -e "\n${GR}Dynamic linking on your system is consistent.${NO}"
+ # All OK, so delete temporary files
+ rm -f ${LIST}.[0-9]_*
+else
+ # Show broken files & packages
+ if [ -n "$ORPHAN_LIST" ] ; then
+ echo -e "\n${RD}Orphaned broken files:${NO}"
+ echo "$ORPHAN_LIST"
+ echo_v -e "\n${GR}This list of orphaned broken files is in $LIST.4_orphans${NO}"
+ fi
+ if [ -n "$REBUILD_LIST" ] ; then
+ echo -e "\n${RD}Recompile these packages:${NO}"
+ echo -e "${BR}$REBUILD_LIST${NO}"
+ if ! [ "$NOWARNING" = "yes" -o "$NOWARNING" = "true" ] ; then
+ echo_v -e "\nSome/all breakages may be ${GR}OK${NO} - this program cannot distinguish between ${RD}required${NO}"
+ echo_v -e "and ${GR}optional${NO} dependencies. See http://bbs.archlinux.org/viewtopic.php?id=13882"
+ fi
+ fi
+ # The temporary files are deliberately not deleted, as a source of info
+fi
+
+exit 0
diff --git a/abs/extra/flashplugin/PKGBUILD b/abs/extra/flashplugin/PKGBUILD
index c78fd36..454c4a3 100644
--- a/abs/extra/flashplugin/PKGBUILD
+++ b/abs/extra/flashplugin/PKGBUILD
@@ -4,7 +4,7 @@
pkgname=flashplugin
_licensefile='PlatformClients_PC_WWEULA_Combined_20100108_1657.pdf'
-pkgver=11.2.202.425
+pkgver=11.2.202.559
pkgrel=1
pkgdesc='Adobe Flash Player'
url='http://get.adobe.com/flashplayer'
@@ -16,22 +16,14 @@ license=('custom')
options=(!strip)
install=flashplugin.install
backup=(etc/adobe/mms.cfg)
-
-if [ "$CARCH" = "i686" ]; then
- source=("http://fpdownload.macromedia.com/get/flashplayer/pdc/$pkgver/install_flash_player_11_linux.i386.tar.gz"
- "http://www.adobe.com/products/eulas/pdfs/${_licensefile}"
- mms.cfg)
- md5sums=('3de010fba558cf5d8c66892456b0ed33'
- '94ca2aecb409abfe36494d1a7ec7591d'
- 'f34aae6279b40e0bd2abfb0d9963d7b8')
-elif [ "$CARCH" = "x86_64" ]; then
- source=("http://fpdownload.macromedia.com/get/flashplayer/pdc/$pkgver/install_flash_player_11_linux.x86_64.tar.gz"
- "http://www.adobe.com/products/eulas/pdfs/${_licensefile}"
- mms.cfg)
- md5sums=('a060430d0900dd98252b9102ec1a32d6'
- '94ca2aecb409abfe36494d1a7ec7591d'
- 'f34aae6279b40e0bd2abfb0d9963d7b8')
-fi
+source=(http://www.adobe.com/products/eulas/pdfs/${_licensefile}
+ mms.cfg)
+source_i686=(flashplugin_$pkgver.i386.tar.gz::http://fpdownload.macromedia.com/get/flashplayer/pdc/$pkgver/install_flash_player_11_linux.i386.tar.gz)
+source_x86_64=(flashplugin_$pkgver.x86_64.tar.gz::http://fpdownload.macromedia.com/get/flashplayer/pdc/$pkgver/install_flash_player_11_linux.x86_64.tar.gz)
+md5sums=('94ca2aecb409abfe36494d1a7ec7591d'
+ 'f34aae6279b40e0bd2abfb0d9963d7b8')
+md5sums_i686=('b133fef5420808363d80235ac56a47e1')
+md5sums_x86_64=('f88b62884ef00d4b8735a3391caf35d4')
package () {
install -Dm755 libflashplayer.so "$pkgdir/usr/lib/mozilla/plugins/libflashplayer.so"
@@ -50,6 +42,3 @@ package () {
install -Dm644 "${_licensefile}" "$pkgdir/usr/share/licenses/$pkgname/LICENSE.pdf"
install -Dm644 mms.cfg "$pkgdir/etc/adobe/mms.cfg"
}
-md5sums=('719258340ba34eda72495187b8148f75'
- '94ca2aecb409abfe36494d1a7ec7591d'
- 'f34aae6279b40e0bd2abfb0d9963d7b8')
diff --git a/abs/extra/fltk/PKGBUILD b/abs/extra/fltk/PKGBUILD
new file mode 100644
index 0000000..d927c70
--- /dev/null
+++ b/abs/extra/fltk/PKGBUILD
@@ -0,0 +1,69 @@
+# $Id$
+# Maintainer:
+
+pkgbase=fltk
+pkgname=('fltk' 'fltk-docs' 'fltk-games')
+pkgver=1.3.3
+pkgrel=5
+arch=('i686' 'x86_64')
+license=('custom:LGPL')
+url="http://www.fltk.org/"
+makedepends=('mesa' 'glu' 'doxygen' 'libjpeg' 'libxft' 'libxinerama'
+ 'alsa-lib' 'desktop-file-utils' 'libxcursor')
+source=(http://fltk.org/pub/fltk/$pkgver/fltk-$pkgver-source.tar.gz
+ tigervnc.patch fltk-config-dynlibs.patch)
+md5sums=('9ccdb0d19dc104b87179bd9fd10822e3'
+ '45bb8f6be2b92710c8f21c1f91fad7d2'
+ '401c6df25c78f766e6dff26a13806eb2')
+
+prepare() {
+ cd $pkgbase-$pkgver
+ patch -p1 -i ../tigervnc.patch
+ patch -p1 -i ../fltk-config-dynlibs.patch
+ sed -i 's/class Fl_XFont_On_Demand/class FL_EXPORT Fl_XFont_On_Demand/' FL/x.H
+}
+
+build() {
+ cd $pkgbase-$pkgver
+ sed -i -e 's/$(LINKFLTK)/$(LINKSHARED)/' \
+ -e 's/$(LINKFLTKIMG)/$(LINKSHARED)/' test/Makefile
+ ./configure --prefix=/usr --enable-threads --enable-xft --enable-shared
+ make
+ make -C documentation html
+}
+
+package_fltk() {
+ pkgdesc="Graphical user interface toolkit for X"
+ depends=('libjpeg' 'libxft' 'libxinerama' 'hicolor-icon-theme'
+ 'desktop-file-utils' 'xdg-utils' 'libxcursor' 'glu')
+ options=('!docs')
+ install=fltk.install
+
+ cd $pkgbase-$pkgver
+ make DESTDIR="$pkgdir" install
+ make DESTDIR="$pkgdir" -C fluid install install-linux
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+package_fltk-docs() {
+ pkgdesc="Graphical user interface toolkit for X (documentation)"
+
+ cd $pkgbase-$pkgver/documentation
+ install -d "$pkgdir"/usr/share/doc/fltk/
+ for _file in html/* ; do
+ install -m644 $_file "$pkgdir"/usr/share/doc/fltk/
+ done
+ make DESTDIR="$pkgdir" -C ../test install
+ install -D -m644 ../COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+package_fltk-games() {
+ pkgdesc="Example games that accompany FLTK: blocks, checkers and sudoku"
+ depends=('alsa-lib' 'fltk')
+ install=fltk-games.install
+
+ cd $pkgbase-$pkgver/test
+ make DESTDIR="$pkgdir" install-linux
+ make DESTDIR="$pkgdir" -C ../documentation install-linux
+ install -D -m644 ../COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/abs/extra/fltk/fltk-config-dynlibs.patch b/abs/extra/fltk/fltk-config-dynlibs.patch
new file mode 100644
index 0000000..30842c0
--- /dev/null
+++ b/abs/extra/fltk/fltk-config-dynlibs.patch
@@ -0,0 +1,97 @@
+diff -Naur fltk-1.3.3-orig/fltk-config.in fltk-1.3.3/fltk-config.in
+--- fltk-1.3.3-orig/fltk-config.in 2014-12-31 15:43:07.203519633 -0500
++++ fltk-1.3.3/fltk-config.in 2014-12-31 15:49:01.636277725 -0500
+@@ -54,21 +54,6 @@
+ bindir="$selfdir/fluid"
+ includedir="$selfdir"
+ libdir="$selfdir/lib"
+-
+- if test -f "$libdir/libfltk_jpeg.a"; then
+- CFLAGS="-I$includedir/jpeg $CFLAGS"
+- CXXFLAGS="-I$includedir/jpeg $CXXFLAGS"
+- fi
+-
+- if test -f "$libdir/libfltk_z.a"; then
+- CFLAGS="-I$includedir/zlib $CFLAGS"
+- CXXFLAGS="-I$includedir/zlib $CXXFLAGS"
+- fi
+-
+- if test -f "$libdir/libfltk_png.a"; then
+- CFLAGS="-I$includedir/png $CFLAGS"
+- CXXFLAGS="-I$includedir/png $CXXFLAGS"
+- fi
+ fi
+
+ if test -d $includedir/FL/images; then
+@@ -76,11 +61,6 @@
+ CXXFLAGS="-I$includedir/FL/images $CXXFLAGS"
+ fi
+
+-if test -f "$libdir/libfltk_cairo.a"; then
+- CFLAGS="$CAIROFLAGS $CFLAGS"
+- CXXFLAGS="$CAIROFLAGS $CXXFLAGS"
+-fi
+-
+ # libraries to link with:
+ LIBNAME="@LIBNAME@"
+ DSONAME="@DSONAME@"
+@@ -230,25 +210,20 @@
+ fi
+
+ # Calculate needed libraries
+-LDSTATIC="$libdir/libfltk.a $LDLIBS"
+ LDLIBS="-lfltk$SHAREDSUFFIX $LDLIBS"
+
+ if test x$use_forms = xyes; then
+ LDLIBS="-lfltk_forms$SHAREDSUFFIX $LDLIBS"
+- LDSTATIC="$libdir/libfltk_forms.a $LDSTATIC"
+ fi
+ if test x$use_gl = xyes; then
+ LDLIBS="-lfltk_gl$SHAREDSUFFIX @GLLIB@ $LDLIBS"
+- LDSTATIC="$libdir/libfltk_gl.a @GLLIB@ $LDSTATIC"
+ fi
+ if test x$use_images = xyes; then
+ LDLIBS="-lfltk_images$SHAREDSUFFIX $IMAGELIBS $LDLIBS"
+- LDSTATIC="$libdir/libfltk_images.a $STATICIMAGELIBS $LDSTATIC"
+ fi
+
+ if test x$use_cairo = xyes; then
+ LDLIBS="-lfltk_cairo$SHAREDSUFFIX $CAIROLIBS $LDLIBS"
+- LDSTATIC="$libdir/libfltk_cairo.a $CAIROLIBS $LDSTATIC"
+ fi
+
+ LDLIBS="$DSOLINK $LDFLAGS $libs $LDLIBS"
+@@ -359,26 +334,26 @@
+ fi
+
+ if test "$echo_libs" = "yes"; then
+- USELIBS="$libdir/libfltk.a"
++ USELIBS="$libdir/libfltk.so"
+
+ if test x$use_forms = xyes; then
+- USELIBS="$libdir/libfltk_forms.a $USELIBS"
++ USELIBS="$libdir/libfltk_forms.so $USELIBS"
+ fi
+
+ if test x$use_gl = xyes; then
+- USELIBS="$libdir/libfltk_gl.a $USELIBS"
++ USELIBS="$libdir/libfltk_gl.so $USELIBS"
+ fi
+
+ if test x$use_cairo = xyes; then
+- USELIBS="$libdir/libfltk_cairo.a $USELIBS"
++ USELIBS="$libdir/libfltk_cairo.so $USELIBS"
+ fi
+
+ if test x$use_images = xyes; then
+- USELIBS="$libdir/libfltk_images.a $USELIBS"
++ USELIBS="$libdir/libfltk_images.so $USELIBS"
+
+ for lib in fltk_jpeg fltk_png fltk_z; do
+- if test -f $libdir/lib$lib.a; then
+- USELIBS="$libdir/lib$lib.a $USELIBS"
++ if test -f $libdir/lib$lib.so; then
++ USELIBS="$libdir/lib$lib.so $USELIBS"
+ fi
+ done
+ fi
diff --git a/abs/extra/fltk/fltk-games.install b/abs/extra/fltk/fltk-games.install
new file mode 100644
index 0000000..f3fe2b0
--- /dev/null
+++ b/abs/extra/fltk/fltk-games.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/abs/extra/fltk/fltk.install b/abs/extra/fltk/fltk.install
new file mode 100644
index 0000000..f89ec82
--- /dev/null
+++ b/abs/extra/fltk/fltk.install
@@ -0,0 +1,12 @@
+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/extra/fltk/tigervnc.patch b/abs/extra/fltk/tigervnc.patch
new file mode 100644
index 0000000..f02e03f
--- /dev/null
+++ b/abs/extra/fltk/tigervnc.patch
@@ -0,0 +1,226 @@
+diff -Nur fltk-1.3.2.orig/FL/Enumerations.H fltk-1.3.2/FL/Enumerations.H
+--- fltk-1.3.2.orig/FL/Enumerations.H 2012-12-09 19:45:57.000000000 +0100
++++ fltk-1.3.2/FL/Enumerations.H 2013-07-17 19:37:45.785342886 +0200
+@@ -909,27 +909,27 @@
+ /* FIXME: We should renumber these, but that will break the ABI */
+ enum Fl_Cursor {
+ FL_CURSOR_DEFAULT = 0, /**< the default cursor, usually an arrow. */
+- FL_CURSOR_ARROW = 35, /**< an arrow pointer. */
+- FL_CURSOR_CROSS = 66, /**< crosshair. */
+- FL_CURSOR_WAIT = 76, /**< busy indicator (e.g. hourglass). */
+- FL_CURSOR_INSERT = 77, /**< I-beam. */
+- FL_CURSOR_HAND = 31, /**< pointing hand. */
+- FL_CURSOR_HELP = 47, /**< question mark pointer. */
+- FL_CURSOR_MOVE = 27, /**< 4-pointed arrow or hand. */
++ FL_CURSOR_ARROW = 1, /**< an arrow pointer. */
++ FL_CURSOR_CROSS = 2, /**< crosshair. */
++ FL_CURSOR_WAIT = 3, /**< busy indicator (e.g. hourglass). */
++ FL_CURSOR_INSERT = 4, /**< I-beam. */
++ FL_CURSOR_HAND = 5, /**< pointing hand. */
++ FL_CURSOR_HELP = 6, /**< question mark pointer. */
++ FL_CURSOR_MOVE = 7, /**< 4-pointed arrow or hand. */
+
+ /* Resize indicators */
+- FL_CURSOR_NS = 78, /**< up/down resize. */
+- FL_CURSOR_WE = 79, /**< left/right resize. */
+- FL_CURSOR_NWSE = 80, /**< diagonal resize. */
+- FL_CURSOR_NESW = 81, /**< diagonal resize. */
+- FL_CURSOR_N = 70, /**< upwards resize. */
+- FL_CURSOR_NE = 69, /**< upwards, right resize. */
+- FL_CURSOR_E = 49, /**< rightwards resize. */
+- FL_CURSOR_SE = 8, /**< downwards, right resize. */
+- FL_CURSOR_S = 9, /**< downwards resize. */
+- FL_CURSOR_SW = 7, /**< downwards, left resize. */
+- FL_CURSOR_W = 36, /**< leftwards resize. */
+- FL_CURSOR_NW = 68, /**< upwards, left resize. */
++ FL_CURSOR_NS = 101, /**< up/down resize. */
++ FL_CURSOR_WE = 102, /**< left/right resize. */
++ FL_CURSOR_NWSE = 103, /**< diagonal resize. */
++ FL_CURSOR_NESW = 104, /**< diagonal resize. */
++ FL_CURSOR_NE = 110, /**< upwards, right resize. */
++ FL_CURSOR_N = 111, /**< upwards resize. */
++ FL_CURSOR_NW = 112, /**< upwards, left resize. */
++ FL_CURSOR_E = 113, /**< rightwards resize. */
++ FL_CURSOR_W = 114, /**< leftwards resize. */
++ FL_CURSOR_SE = 115, /**< downwards, right resize. */
++ FL_CURSOR_S = 116, /**< downwards resize. */
++ FL_CURSOR_SW = 117, /**< downwards, left resize. */
+
+ FL_CURSOR_NONE =255 /**< invisible. */
+ };
+diff -Nur fltk-1.3.2.orig/FL/Fl_Widget.H fltk-1.3.2/FL/Fl_Widget.H
+--- fltk-1.3.2.orig/FL/Fl_Widget.H 2012-04-23 22:12:06.000000000 +0200
++++ fltk-1.3.2/FL/Fl_Widget.H 2013-07-17 19:37:07.411344886 +0200
+@@ -172,6 +172,7 @@
+ COPIED_TOOLTIP = 1<<17, ///< the widget tooltip is internally copied, its destruction is handled by the widget
+ FULLSCREEN = 1<<18, ///< a fullscreen window (Fl_Window)
+ MAC_USE_ACCENTS_MENU = 1<<19, ///< On the Mac OS platform, pressing and holding a key on the keyboard opens an accented-character menu window (Fl_Input_, Fl_Text_Editor)
++ SIMPLE_KEYBOARD = 1<<20, ///< the widget wants simple, consistent keypresses and not advanced input (like character composition and CJK input)
+ // (space for more flags)
+ USERFLAG3 = 1<<29, ///< reserved for 3rd party extensions
+ USERFLAG2 = 1<<30, ///< reserved for 3rd party extensions
+@@ -790,6 +791,35 @@
+ */
+ void set_active() {flags_ &= ~INACTIVE;}
+
++ /**
++ Returns if the widget sees a simplified keyboard model or not.
++
++ Normally widgets get a full-featured keyboard model that is geared
++ towards text input. This includes support for compose sequences and
++ advanced input methods, commonly used for asian writing system. This
++ system however has downsides in that extra graphic can be presented
++ to the user and that a physical key press doesn't correspond directly
++ to a FLTK event.
++
++ Widgets that need a direct correspondence between actual key events
++ and those seen by the widget can swith to the simplified keyboard
++ model.
++
++ \retval 0 if the widget uses the normal keyboard model
++ \see set_changed(), clear_changed()
++ */
++ unsigned int simple_keyboard() const {return flags_&SIMPLE_KEYBOARD;}
++
++ /** Marks a widget to use the simple keyboard model.
++ \see changed(), clear_changed()
++ */
++ void set_simple_keyboard() {flags_ |= SIMPLE_KEYBOARD;}
++
++ /** Marks a widget to use the normal keyboard model.
++ \see changed(), set_changed()
++ */
++ void set_normal_keyboard() {flags_ &= ~SIMPLE_KEYBOARD;}
++
+ /** Gives the widget the keyboard focus.
+ Tries to make this widget be the Fl::focus() widget, by first sending
+ it an FL_FOCUS event, and if it returns non-zero, setting
+diff -Nur fltk-1.3.2.orig/src/Fl_cocoa.mm fltk-1.3.2/src/Fl_cocoa.mm
+--- fltk-1.3.2.orig/src/Fl_cocoa.mm 2012-11-30 19:20:36.000000000 +0100
++++ fltk-1.3.2/src/Fl_cocoa.mm 2013-07-17 19:38:17.320341239 +0200
+@@ -724,7 +723,7 @@
+ return NO; // prevent the caption to be redrawn as active on click
+ // when another modal window is currently the key win
+
+- return !(w->tooltip_window() || w->menu_window());
++ return !w->tooltip_window();
+ }
+
+ - (BOOL)canBecomeMainWindow
+diff -Nur fltk-1.3.2.orig/src/Fl.cxx fltk-1.3.2/src/Fl.cxx
+--- fltk-1.3.2.orig/src/Fl.cxx 2012-08-16 22:59:36.000000000 +0200
++++ fltk-1.3.2/src/Fl.cxx 2013-07-17 19:38:01.696342059 +0200
+@@ -70,6 +70,8 @@
+ extern double fl_mac_flush_and_wait(double time_to_wait, char in_idle);
+ #endif // WIN32
+
++extern void fl_update_focus(void);
++
+ //
+ // Globals...
+ //
+@@ -876,6 +941,8 @@
+ fl_oldfocus = p;
+ }
+ e_number = old_event;
++ // let the platform code do what it needs
++ fl_update_focus();
+ }
+ }
+
+diff -Nur fltk-1.3.2.orig/src/Fl_grab.cxx fltk-1.3.2/src/Fl_grab.cxx
+--- fltk-1.3.2.orig/src/Fl_grab.cxx 2012-03-23 17:47:53.000000000 +0100
++++ fltk-1.3.2/src/Fl_grab.cxx 2013-07-17 19:37:07.411344886 +0200
+@@ -29,6 +29,7 @@
+ // override_redirect, it does similar things on WIN32.
+
+ extern void fl_fix_focus(); // in Fl.cxx
++void fl_update_focus(void);
+
+ #ifdef WIN32
+ // We have to keep track of whether we have captured the mouse, since
+@@ -80,6 +81,7 @@
+ #endif
+ }
+ grab_ = win;
++ fl_update_focus();
+ } else {
+ if (grab_) {
+ #ifdef WIN32
+@@ -98,6 +100,7 @@
+ XFlush(fl_display);
+ #endif
+ grab_ = 0;
++ fl_update_focus();
+ fl_fix_focus();
+ }
+ }
+diff -Nur fltk-1.3.2.orig/src/xutf8/imKStoUCS.c fltk-1.3.2/src/xutf8/imKStoUCS.c
+--- fltk-1.3.2.orig/src/xutf8/imKStoUCS.c 2009-03-13 23:43:43.000000000 +0100
++++ fltk-1.3.2/src/xutf8/imKStoUCS.c 2013-07-17 19:37:07.412344891 +0200
+@@ -266,6 +266,12 @@
+ 0x20a8, 0x20a9, 0x20aa, 0x20ab, 0x20ac /* 0x20a8-0x20af */
+ };
+
++static unsigned short const keysym_to_unicode_fe50_fe60[] = {
++ 0x0300, 0x0301, 0x0302, 0x0303, 0x0304, 0x0306, 0x0307, 0x0308, /* 0xfe50-0xfe57 */
++ 0x030a, 0x030b, 0x030c, 0x0327, 0x0328, 0x1da5, 0x3099, 0x309a, /* 0xfe58-0xfe5f */
++ 0x0323 /* 0xfe60-0xfe67 */
++};
++
+ static unsigned int
+ KeySymToUcs4(KeySym keysym)
+ {
+@@ -315,6 +321,8 @@
+ return keysym_to_unicode_1e9f_1eff[keysym - 0x1e9f];
+ else if (keysym > 0x209f && keysym < 0x20ad)
+ return keysym_to_unicode_20a0_20ac[keysym - 0x20a0];
++ else if (keysym > 0xfe4f && keysym < 0xfe61)
++ return keysym_to_unicode_fe50_fe60[keysym - 0xfe50];
+ else
+ return 0;
+ }
+diff -Nur fltk-1.3.2.orig/src/Fl_x.cxx fltk-1.3.2/src/Fl_x.cxx
+--- fltk-1.3.2.orig/src/Fl_x.cxx 2012-10-16 17:35:34.000000000 +0200
++++ fltk-1.3.2/src/Fl_x.cxx 2013-07-17 19:38:17.326341239 +0200
+@@ -583,6 +600,30 @@
+ }
+ }
+
++extern Fl_Window *fl_xfocus;
++
++void fl_update_focus(void)
++{
++ Fl_Widget *focus;
++
++ focus = Fl::grab();
++ if (!focus)
++ focus = Fl::focus();
++ if (!focus)
++ return;
++
++ if (focus->simple_keyboard()) {
++ fl_xim_deactivate();
++ } else {
++ // fl_xfocus should always be set if something has focus, but let's
++ // play it safe
++ if (!fl_xfocus || !fl_xid(fl_xfocus))
++ return;
++
++ fl_xim_activate(fl_xid(fl_xfocus));
++ }
++}
++
+ void fl_open_display() {
+ if (fl_display) return;
+
+--- fltk-1.3.2.orig/src/Fl_x.cxx (revision 10433)
++++ fltk-1.3.2/src/Fl_x.cxx (revision 10434)
+@@ -2211,6 +2211,7 @@
+ static int result = -1;
+
+ if (result == -1) {
++ fl_open_display();
+ result = 0;
+ unsigned long nitems;
+ unsigned long *words = 0;
diff --git a/abs/extra/gd/PKGBUILD b/abs/extra/gd/PKGBUILD
index b050624..4988f09 100644
--- a/abs/extra/gd/PKGBUILD
+++ b/abs/extra/gd/PKGBUILD
@@ -1,27 +1,28 @@
# $Id$
pkgname=gd
-pkgver=2.1.0
+pkgver=2.1.1
pkgrel=3
pkgdesc="Library for the dynamic creation of images by programmers"
arch=('i686' 'x86_64')
url="http://www.libgd.org/"
license=('custom')
depends=('fontconfig' 'libvpx' 'libxpm' 'libtiff')
+makedepends=('git')
optdepends=('perl: bdftogd script')
-source=("https://bitbucket.org/libgd/gd-libgd/downloads/libgd-${pkgver}.tar.xz"
- 'color_c_null_pointer.patch')
-md5sums=('03588159bf4faab9079849c8d709acc6'
- '51f5ff073eabbd7809e0ce438d5bb1c2')
+source=("${pkgname}::git+https://github.com/libgd/libgd.git#tag=${pkgname}-${pkgver}"
+ gd-2.1.1-libvpx-1.4.0.patch)
+md5sums=('SKIP'
+ '9114dd8259aaa88b0a09188fe7b19afc')
prepare() {
- cd libgd-${pkgver}
- # CVE-2014-2497
- patch -p1 -i ${srcdir}/color_c_null_pointer.patch
+ cd ${pkgname}
+ ./bootstrap.sh
+ patch -p1 -i "${srcdir}/gd-2.1.1-libvpx-1.4.0.patch"
}
build() {
- cd libgd-${pkgver}
+ cd ${pkgname}
./configure \
--prefix=/usr \
--disable-rpath \
@@ -31,12 +32,12 @@ build() {
}
check() {
- cd libgd-${pkgver}
+ cd ${pkgname}
make check
}
package() {
- cd libgd-${pkgver}
+ cd ${pkgname}
make DESTDIR="${pkgdir}" install
install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/abs/extra/gd/color_c_null_pointer.patch b/abs/extra/gd/color_c_null_pointer.patch
deleted file mode 100644
index 95b3eeb..0000000
--- a/abs/extra/gd/color_c_null_pointer.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -up ./src/gdxpm.c.color_c_null_pointer ./src/gdxpm.c
---- ./src/gdxpm.c.color_c_null_pointer 2013-06-25 11:58:23.000000000 +0200
-+++ ./src/gdxpm.c 2014-07-16 16:43:44.000000000 +0200
-@@ -62,6 +62,13 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFro
-
- for(i = 0; i < number; i++) {
- char *c_color = image.colorTable[i].c_color;
-+ if (!c_color)
-+ {
-+ /* unsupported color key or color key not defined */
-+ gdImageDestroy(im);
-+ im = 0;
-+ goto done;
-+ }
- if(strcmp(c_color, "None") == 0) {
- colors[i] = gdImageGetTransparent(im);
- if(colors[i] == -1) colors[i] = gdImageColorAllocate(im, 0, 0, 0);
-diff -up ./x.color_c_null_pointer ./x
diff --git a/abs/extra/gd/gd-2.1.1-libvpx-1.4.0.patch b/abs/extra/gd/gd-2.1.1-libvpx-1.4.0.patch
new file mode 100644
index 0000000..c698972
--- /dev/null
+++ b/abs/extra/gd/gd-2.1.1-libvpx-1.4.0.patch
@@ -0,0 +1,37 @@
+From d41eb72cd4545c394578332e5c102dee69e02ee8 Mon Sep 17 00:00:00 2001
+From: Remi Collet <fedora@famillecollet.com>
+Date: Tue, 7 Apr 2015 13:11:03 +0200
+Subject: [PATCH] Fix build with latest libvpx 1.4.0
+
+These new constants exist at least since 1.0.0
+Compatibility ones have been droped in 1.4.0
+---
+ src/webpimg.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/src/webpimg.c b/src/webpimg.c
+index cf73d64..e49fcc6 100644
+--- a/src/webpimg.c
++++ b/src/webpimg.c
+@@ -711,14 +711,14 @@ static WebPResult VPXEncode(const uint8* Y,
+ codec_ctl(&enc, VP8E_SET_STATIC_THRESHOLD, 0);
+ codec_ctl(&enc, VP8E_SET_TOKEN_PARTITIONS, 2);
+
+- vpx_img_wrap(&img, IMG_FMT_I420,
++ vpx_img_wrap(&img, VPX_IMG_FMT_I420,
+ y_width, y_height, 16, (uint8*)(Y));
+- img.planes[PLANE_Y] = (uint8*)(Y);
+- img.planes[PLANE_U] = (uint8*)(U);
+- img.planes[PLANE_V] = (uint8*)(V);
+- img.stride[PLANE_Y] = y_stride;
+- img.stride[PLANE_U] = uv_stride;
+- img.stride[PLANE_V] = uv_stride;
++ img.planes[VPX_PLANE_Y] = (uint8*)(Y);
++ img.planes[VPX_PLANE_U] = (uint8*)(U);
++ img.planes[VPX_PLANE_V] = (uint8*)(V);
++ img.stride[VPX_PLANE_Y] = y_stride;
++ img.stride[VPX_PLANE_U] = uv_stride;
++ img.stride[VPX_PLANE_V] = uv_stride;
+
+ res = vpx_codec_encode(&enc, &img, 0, 1, 0, VPX_DL_BEST_QUALITY);
+
diff --git a/abs/extra/git/ChangeLog b/abs/extra/git/ChangeLog
deleted file mode 100644
index f0c1523..0000000
--- a/abs/extra/git/ChangeLog
+++ /dev/null
@@ -1,57 +0,0 @@
-Simple version bumps are omitted from the following ChangeLog.
-
-2011-08-16 Dan McGee <dan@archlinux.org>
- Version 1.7.6.1-1
- * Enable USE_LIBPCRE for `git grep -P` usage
-
-2011-05-05 Dan McGee <dan@archlinux.org>
- Version 1.7.5.1-1
- * Byte compile emacs files (FS#20874)
- * Respect CFLAGS/LDFLAGS (FS#23963)
-
-2011-04-27 Dan McGee <dan@archlinux.org>
- Version 1.7.5-1
- * Add missing optdepends for git send-email (FS#20923)
-
-2011-01-05 Dan McGee <dan@archlinux.org>
- Version 1.7.3.5-1
- * More flexible git-daemon RC scripts (FS#20575)
-
-2010-10-01 Allan McRae <allan@archlinux.org>
- Version 1.7.3.1-2
- * Python 2/3 rebuild
-
-2010-06-29 Dan McGee <dan@archlinux.org>
- Version 1.7.1.1-1
- * Add emacs completion files (FS#17968)
- * Add git-daemon RC scripts (FS#19291)
-
-2009-06-05 Dan McGee <dan@archlinux.org>
- Version 1.6.3.2-1
- * Remove gitweb from /usr/share; it needs customization to be helpful
- * Add NO_CROSS_DIRECTORY_HARDLINKS option to build (FS#13683)
-
-2008-09-14 Dan McGee <dan@archlinux.org>
- Version 1.6.0.2-1
- * Moved optional depends from install file to optdepends array
-
-2008-06-15 Dan McGee <dan@archlinux.org>
- Version 1.5.6-1
- * Removed 'cpio' dependency, clone is now a builtin and no longer needs it
-
-2008-02-02 Dan McGee <dan@archlinux.org>
- Version 1.5.4-1
- * Upstream version 1.5.4
- * Enable pthreads support in pack-objects. To use, set the pack.threads
- git config option. Read manpages of pack-objects and config for more
- details.
- * Changelog added (with entries going back a bit).
-
-2008-01-28 Kevin Piche <kevin@archlinux.org>
- Version 1.5.3.7-2
- * Updated for new perl policy (vendor dirs)
- * Change license to GPL2
-
-2007-11-01 Eric Belanger <eric@archlinux.org>
- Version 1.5.3.5-2
- * Fix Perl module location
diff --git a/abs/extra/git/PKGBUILD b/abs/extra/git/PKGBUILD
index 75be079..c762f95 100644
--- a/abs/extra/git/PKGBUILD
+++ b/abs/extra/git/PKGBUILD
@@ -1,13 +1,15 @@
+# $Id$
+# Maintainer: Dan McGee <dan@archlinux.org>
pkgname=git
-pkgver=1.7.11.4
+pkgver=2.5.3
pkgrel=1
pkgdesc="the fast distributed version control system"
arch=(i686 x86_64)
url="http://git-scm.com/"
license=('GPL2')
depends=('curl' 'expat>=2.0' 'perl-error' 'perl>=5.14.0' 'openssl' 'pcre')
-makedepends=('python2' 'emacs')
+makedepends=('python2' 'emacs' 'libgnome-keyring' 'xmlto' 'asciidoc')
optdepends=('tk: gitk and git gui'
'perl-libwww: git svn'
'perl-term-readkey: git svn'
@@ -16,15 +18,24 @@ optdepends=('tk: gitk and git gui'
'perl-authen-sasl: git send-email TLS support'
'python2: various helper scripts'
'subversion: git svn'
- 'cvsps: git cvsimport')
+ 'cvsps2: git cvsimport'
+ 'gnome-keyring: GNOME keyring credential helper')
replaces=('git-core')
provides=('git-core')
-backup=('etc/conf.d/git-daemon.conf')
-source=("http://git-core.googlecode.com/files/git-$pkgver.tar.gz"
- "http://git-core.googlecode.com/files/git-manpages-$pkgver.tar.gz"
- git-daemon
- git-daemon.conf)
-changelog=ChangeLog
+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"
+}
build() {
export PYTHON_PATH='/usr/bin/python2'
@@ -33,30 +44,32 @@ build() {
CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
USE_LIBPCRE=1 \
NO_CROSS_DIRECTORY_HARDLINKS=1 \
- all
+ MAN_BOLD_LITERAL=1 \
+ all doc
- cd contrib/emacs
- make prefix=/usr
+ make -C contrib/emacs prefix=/usr
+ make -C contrib/credential/gnome-keyring
+ make -C contrib/subtree prefix=/usr gitexecdir=/usr/lib/git-core all doc
}
check() {
export PYTHON_PATH='/usr/bin/python2'
cd "$srcdir/$pkgname-$pkgver"
local jobs
- jobs=$(expr "$MAKEFLAGS" : '.*\(-j[0-9]*\).*')
+ jobs=$(expr "$MAKEFLAGS" : '.*\(-j[0-9]*\).*') || true
+ mkdir -p /dev/shm/git-test
make prefix=/usr gitexecdir=/usr/lib/git-core \
CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
USE_LIBPCRE=1 \
NO_CROSS_DIRECTORY_HARDLINKS=1 \
+ MAN_BOLD_LITERAL=1 \
NO_SVN_TESTS=y \
DEFAULT_TEST_TARGET=prove \
GIT_PROVE_OPTS="$jobs -Q" \
- GIT_TEST_OPTS="--root=/dev/shm/" \
+ GIT_TEST_OPTS="--root=/dev/shm/git-test" \
test
}
-
-
package() {
export PYTHON_PATH='/usr/bin/python2'
cd "$srcdir/$pkgname-$pkgver"
@@ -64,44 +77,39 @@ package() {
CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
USE_LIBPCRE=1 \
NO_CROSS_DIRECTORY_HARDLINKS=1 \
- INSTALLDIRS=vendor DESTDIR="$pkgdir" install
+ MAN_BOLD_LITERAL=1 \
+ INSTALLDIRS=vendor DESTDIR="$pkgdir" install install-doc
# bash completion
- # until this is fixed, no point in loading it dynamically:
- # http://git.661346.n2.nabble.com/bash-completion-now-loads-completions-dynamically-so-git-ps1-is-not-defined-when-you-open-a-shell-td7415323.html
- #mkdir -p "$pkgdir"/usr/share/bash-completion/completions/
- #install -m644 ./contrib/completion/git-completion.bash "$pkgdir"/usr/share/bash-completion/completions/git
- mkdir -p "$pkgdir"/etc/bash_completion.d/
- install -m644 ./contrib/completion/git-completion.bash "$pkgdir"/etc/bash_completion.d/git
- # more contrib stuff
- cp -a ./contrib $pkgdir/usr/share/git/
+ mkdir -p "$pkgdir"/usr/share/bash-completion/completions/
+ install -m644 ./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
+ # emacs
+ make -C contrib/emacs prefix=/usr DESTDIR="$pkgdir" install
+ # gnome credentials helper
+ install -m755 contrib/credential/gnome-keyring/git-credential-gnome-keyring \
+ "$pkgdir"/usr/lib/git-core/git-credential-gnome-keyring
+ make -C contrib/credential/gnome-keyring clean
+ # subtree installation
+ make -C contrib/subtree prefix=/usr gitexecdir=/usr/lib/git-core DESTDIR="$pkgdir" install install-doc
+ # the rest of the contrib stuff
+ cp -a ./contrib/* $pkgdir/usr/share/git/
+
# scripts are for python 2.x
- sed -i 's|#![ ]*/usr/bin/env python|#!/usr/bin/env python2|' \
+ sed -i 's|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|' \
$(find "$pkgdir" -name '*.py') \
- "$pkgdir"/usr/lib/git-core/git-p4 \
- "$pkgdir"/usr/share/git/gitview/gitview
-
- # emacs interface
- cd contrib/emacs
- make prefix=/usr DESTDIR="$pkgdir" install
-
- # how 'bout some manpages?
- for mansect in man1 man5 man7; do
- for manpage in "$srcdir"/$mansect/*; do
- install -D -m644 $manpage "$pkgdir"/usr/share/man/$mansect/$(basename $manpage)
- done
- done
+ "$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
# remove perllocal.pod, .packlist, and empty directories.
rm -rf "$pkgdir"/usr/lib/perl5
- # git daemon script
- install -D -m755 "$srcdir"/git-daemon "$pkgdir"/etc/rc.d/git-daemon
- install -D -m644 "$srcdir"/git-daemon.conf "$pkgdir"/etc/conf.d/git-daemon.conf
+ # 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
}
-
-md5sums=('21c7100cddee8579233a924111e829ab'
- '397af842126a5099968238ab946580a5'
- '8e2648910fd5dd4f1c41d3c7fa9e9156'
- '2e42bf97779a1c6411d89043334c9e78')
-
diff --git a/abs/extra/git/git-daemon b/abs/extra/git/git-daemon
deleted file mode 100644
index 21ba73e..0000000
--- a/abs/extra/git/git-daemon
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/bin/bash
-
-daemon_bin="/usr/lib/git-core/git-daemon"
-daemon_name=$(basename $daemon_bin)
-PIDF="/var/run/$daemon_name.pid"
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-. /etc/conf.d/$daemon_name.conf
-
-get_pid() {
- pidof -o %PPID $daemon_name
-}
-
-case "$1" in
- start)
- stat_busy "Starting $daemon_name daemon"
-
- PID=$(get_pid)
- if [ -z "$PID" ]; then
- [ -f $PIDF ] && rm -f $PIDF
- # RUN
- $daemon_bin --pid-file=$PIDF $GIT_DAEMON_ARGS
- #
- if [ $? -gt 0 ]; then
- stat_fail
- exit 1
- else
- echo $(get_pid) > $PIDF
- add_daemon $daemon_name
- stat_done
- fi
- else
- stat_fail
- exit 1
- fi
- ;;
-
- stop)
- stat_busy "Stopping $daemon_name daemon"
- PID=$(get_pid)
- # KILL
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- #
- if [ $? -gt 0 ]; then
- stat_fail
- exit 1
- else
- rm -f $PIDF &> /dev/null
- rm_daemon $daemon_name
- stat_done
- fi
- ;;
-
- restart)
- $0 stop
- sleep 3
- $0 start
- ;;
-
- status)
- stat_busy "Checking $daemon_name status";
- ck_status $daemon_name
- ;;
-
- *)
- echo "usage: $0 {start|stop|restart|status}"
-esac
-
-exit 0
diff --git a/abs/extra/git/git-daemon.conf b/abs/extra/git/git-daemon.conf
deleted file mode 100644
index 3f9a120..0000000
--- a/abs/extra/git/git-daemon.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-# path to git repositories served
-GIT_REPO="/srv/git/"
-# see `man git-daemon` for all available options
-# $GIT_REPO will be present twice in most configs
-GIT_DAEMON_ARGS="--detach --syslog --verbose --base-path=$GIT_REPO $GIT_REPO"
diff --git a/abs/extra/git/git-daemon.socket b/abs/extra/git/git-daemon.socket
new file mode 100644
index 0000000..58ed2f1
--- /dev/null
+++ b/abs/extra/git/git-daemon.socket
@@ -0,0 +1,9 @@
+[Unit]
+Description=Git Daemon Socket
+
+[Socket]
+ListenStream=9418
+Accept=true
+
+[Install]
+WantedBy=sockets.target
diff --git a/abs/extra/git/git-daemon@.service b/abs/extra/git/git-daemon@.service
new file mode 100644
index 0000000..55ca714
--- /dev/null
+++ b/abs/extra/git/git-daemon@.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Git Daemon Instance
+
+[Service]
+User=git
+# The '-' is to ignore non-zero exit statuses
+ExecStart=-/usr/lib/git-core/git-daemon --inetd --export-all --base-path=/srv/git
+StandardInput=socket
+StandardOutput=inherit
+StandardError=journal
diff --git a/abs/extra/git/git.install b/abs/extra/git/git.install
new file mode 100644
index 0000000..064eda0
--- /dev/null
+++ b/abs/extra/git/git.install
@@ -0,0 +1,12 @@
+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
+ fi
+}
+
+post_upgrade() {
+ post_install $1
+}
diff --git a/abs/extra/glade/PKGBUILD b/abs/extra/glade/PKGBUILD
new file mode 100644
index 0000000..6d61747
--- /dev/null
+++ b/abs/extra/glade/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id$
+# Maintainer: Douglas Soares de Andrade <douglas@archlinux.org>
+
+pkgname=glade
+pkgver=3.19.0
+pkgrel=1
+pkgdesc="User interface builder for GTK+ and GNOME."
+arch=(i686 x86_64)
+license=('GPL' 'LGPL')
+depends=('gtk3' 'libxml2' 'desktop-file-utils')
+makedepends=('intltool' 'gtk-doc' 'gobject-introspection' 'python2-gobject' 'itstool' 'docbook-xsl')
+optdepends=('python2: Python widgets support'
+ 'devhelp: help browser')
+url="http://glade.gnome.org/"
+install=glade.install
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz)
+sha256sums=('a7a3f6d32fbfcc9b754b48a3410bf025e462bc7898e124f0ad8f64c3d7ad6fa2')
+
+prepare() {
+ cd "$pkgname-$pkgver"
+}
+
+build() {
+ cd "$pkgname-$pkgver"
+ PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/abs/extra/glade/glade.install b/abs/extra/glade/glade.install
new file mode 100644
index 0000000..bce670a
--- /dev/null
+++ b/abs/extra/glade/glade.install
@@ -0,0 +1,12 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/abs/extra/glew/PKGBUILD b/abs/extra/glew/PKGBUILD
index 4731ab8..f800717 100644
--- a/abs/extra/glew/PKGBUILD
+++ b/abs/extra/glew/PKGBUILD
@@ -4,7 +4,7 @@
# Contributor: SleepyDog
pkgname=glew
-pkgver=1.11.0
+pkgver=1.13.0
pkgrel=1
pkgdesc="The OpenGL Extension Wrangler Library"
arch=('i686' 'x86_64')
@@ -12,7 +12,7 @@ url="http://glew.sourceforge.net"
license=('BSD' 'MIT' 'GPL')
depends=('libxmu' 'libxi' 'glu')
source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tgz)
-sha1sums=('9bb5c87c055acd122a4956112bbb18ee72c38e5c')
+sha1sums=('d5b1c499f429aa91c466193b4e8ea94a84019e37')
build() {
cd ${pkgname}-${pkgver}
diff --git a/abs/extra/glib-networking/0001-gnutls-Switch-backend-priorities-so-gnutls-pkcs11-is.patch b/abs/extra/glib-networking/0001-gnutls-Switch-backend-priorities-so-gnutls-pkcs11-is.patch
new file mode 100644
index 0000000..1728d39
--- /dev/null
+++ b/abs/extra/glib-networking/0001-gnutls-Switch-backend-priorities-so-gnutls-pkcs11-is.patch
@@ -0,0 +1,36 @@
+From ad464b856318691c1277dd3239573d18dd04bb08 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
+Date: Tue, 28 Apr 2015 22:09:33 +0200
+Subject: [PATCH] gnutls: Switch backend priorities so gnutls-pkcs11 is
+ preferred
+
+---
+ tls/gnutls/gtlsbackend-gnutls-pkcs11.c | 2 +-
+ tls/gnutls/gtlsbackend-gnutls.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tls/gnutls/gtlsbackend-gnutls-pkcs11.c b/tls/gnutls/gtlsbackend-gnutls-pkcs11.c
+index 48be45e..429acbb 100644
+--- a/tls/gnutls/gtlsbackend-gnutls-pkcs11.c
++++ b/tls/gnutls/gtlsbackend-gnutls-pkcs11.c
+@@ -61,5 +61,5 @@ g_tls_backend_gnutls_pkcs11_register (GIOModule *module)
+ g_io_extension_point_implement (G_TLS_BACKEND_EXTENSION_POINT_NAME,
+ g_tls_backend_gnutls_pkcs11_get_type(),
+ "gnutls-pkcs11",
+- -5);
++ 0);
+ }
+diff --git a/tls/gnutls/gtlsbackend-gnutls.c b/tls/gnutls/gtlsbackend-gnutls.c
+index 55ec1a5..ca79b92 100644
+--- a/tls/gnutls/gtlsbackend-gnutls.c
++++ b/tls/gnutls/gtlsbackend-gnutls.c
+@@ -310,5 +310,5 @@ g_tls_backend_gnutls_register (GIOModule *module)
+ g_io_extension_point_implement (G_TLS_BACKEND_EXTENSION_POINT_NAME,
+ g_tls_backend_gnutls_get_type(),
+ "gnutls",
+- 0);
++ -5);
+ }
+--
+2.3.6
+
diff --git a/abs/extra/glib-networking/PKGBUILD b/abs/extra/glib-networking/PKGBUILD
index d2ed8c3..46869e8 100644
--- a/abs/extra/glib-networking/PKGBUILD
+++ b/abs/extra/glib-networking/PKGBUILD
@@ -1,31 +1,42 @@
-# $Id: PKGBUILD 159094 2012-05-15 14:33:52Z ibiru $
-# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
pkgname=glib-networking
-pkgver=2.32.3
+pkgver=2.46.1
pkgrel=1
pkgdesc="Network-related giomodules for glib"
-arch=('i686' 'x86_64')
+arch=(i686 x86_64)
url="http://www.gtk.org/"
-license=('GPL2')
-depends=('glib2' 'libproxy' 'gnutls' 'libgcrypt' 'ca-certificates' 'gsettings-desktop-schemas')
-makedepends=('intltool')
-options=('!libtool')
+license=(GPL2)
+depends=(glib2 libproxy gnutls ca-certificates gsettings-desktop-schemas)
+makedepends=(intltool)
install=glib-networking.install
-source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
-sha256sums=('39fe23e86a57bb7a8a67c65668394ad0fbe2d43960c1f9d68311d5d13ef1e5cf')
+source=(http://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz
+ 0001-gnutls-Switch-backend-priorities-so-gnutls-pkcs11-is.patch)
+sha256sums=('d5034214217f705891b6c9e719cc2c583c870bfcfdc454ebbb5e5e8940ac90b1'
+ '5d12c3b8905f67a93adc884920f7e062404b723e9d2e56f935b914e58a20b29e')
+
+prepare() {
+ cd $pkgname-$pkgver
+ patch -Np1 -i ../0001-gnutls-Switch-backend-priorities-so-gnutls-pkcs11-is.patch
+}
build() {
- cd "$pkgname-$pkgver"
- ./configure \
- --prefix=/usr --sysconfdir=/etc \
- --libexecdir=/usr/lib/glib-networking --disable-static
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/$pkgname --disable-static \
+ --disable-installed-tests
make
}
+check() {
+ cd $pkgname-$pkgver
+ make -j1 -k check
+}
+
package() {
- cd "$pkgname-$pkgver"
- make DESTDIR="$pkgdir" install
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install testfiles_DATA=
}
# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/gnome-common/PKGBUILD b/abs/extra/gnome-common/PKGBUILD
index 445cd50..7d68863 100644
--- a/abs/extra/gnome-common/PKGBUILD
+++ b/abs/extra/gnome-common/PKGBUILD
@@ -1,22 +1,20 @@
-# $Id: PKGBUILD 157808 2012-04-29 21:33:25Z ibiru $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gnome-common
-pkgver=3.4.0.1
-pkgrel=2
+pkgver=3.18.0
+pkgrel=1
pkgdesc="Common development macros for GNOME"
arch=(any)
-license=('GPL')
+depends=(sh autoconf-archive intltool yelp-tools gtk-doc)
+license=(GPL)
url="http://www.gnome.org"
-source=(http://download.gnome.org/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz
- automake1.12.patch::http://git.gnome.org/browse/gnome-common/patch/?id=1fed4ee7015b89a1ac4c4a535aeb753e820e4970)
-sha256sums=('3d92a5d1dae550c409f644d87a4bba17342e14fb11ce8b1e58757ce35f3a46f7'
- '78081e33a0091bfb4531e723fcd6b28219c1c94173aea9071ecb5fe6da9066ab')
+source=(http://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz)
+sha256sums=('22569e370ae755e04527b76328befc4c73b62bfd4a572499fde116b8318af8cf')
build() {
cd $pkgname-$pkgver
- patch -Np1 -i "$srcdir/automake1.12.patch"
- ./configure --prefix=/usr
+ ./configure --prefix=/usr --with-autoconf-archive
make
}
diff --git a/abs/extra/google-chrome/PKGBUILD b/abs/extra/google-chrome/PKGBUILD
index 7cb2ad9..6d76bb9 100644
--- a/abs/extra/google-chrome/PKGBUILD
+++ b/abs/extra/google-chrome/PKGBUILD
@@ -5,35 +5,39 @@
# 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=40.0.2214.111
+pkgver=50.0.2661.102
pkgrel=1
pkgdesc="An attempt at creating a safer, faster, and more stable browser (Stable Channel)"
-arch=('i686' 'x86_64')
-url="https://www.google.com/chrome/index.html"
+arch=('x86_64')
+url="https://www.google.com/chrome"
license=('custom:chrome')
depends=('alsa-lib' 'desktop-file-utils' 'flac' 'gconf' 'gtk2' 'harfbuzz' 'harfbuzz-icu' 'hicolor-icon-theme'
- 'icu' 'libcups' 'libpng' 'libxss' 'libxtst' 'nss' 'opus' 'snappy' 'speech-dispatcher' 'ttf-font' 'xdg-utils')
+ 'icu' 'libpng' 'libxss' 'libxtst' 'nss' 'opus' 'snappy' 'speech-dispatcher' 'ttf-font' 'xdg-utils')
optdepends=('kdebase-kdialog: needed for file dialogs in KDE'
'ttf-liberation: fix fonts for some PDFs')
-provides=("google-chrome=$pkgver")
+provides=('google-chrome' 'pepper-flash')
options=('!emptydirs' '!strip')
install=$pkgname.install
_channel=stable
-_arch=amd64
-[[ $CARCH = i686 ]] && _arch=i386
-source=("google-chrome-${_channel}_${pkgver}_${_arch}.deb::https://dl.google.com/linux/direct/google-chrome-${_channel}_current_${_arch}.deb"
- 'eula_text.html')
-[[ $CARCH = i686 ]] && md5sums[0]='b2e60863b171bfc152b25030df196ecb'
+source=("google-chrome-${_channel}_${pkgver}_amd64.deb::https://dl.google.com/linux/direct/google-chrome-${_channel}_current_amd64.deb"
+ "$url/browser/privacy/eula_text.html"
+ 'google-chrome-stable.sh')
+md5sums=('28ea63b729ef8b83bc783ab99cfe8f67'
+ 'SKIP'
+ '99fa93d5e7fb5d622cef0f9621f3ffa3')
package() {
- msg2 "Extracting the data.tar.lzma..."
- bsdtar -xf data.tar.lzma -C "$pkgdir/"
+ msg2 "Extracting the data.tar.xz..."
+ bsdtar -xf data.tar.xz -C "$pkgdir/"
msg2 "Moving stuff in place..."
+ # Launcher
+ install -m755 google-chrome-$_channel.sh "$pkgdir"/usr/bin/google-chrome-$_channel
+
# Icons
- for i in 16 22 24 32 48 64 128 256; do
- install -Dm644 "$pkgdir"/opt/google/chrome/product_logo_$i.png \
- "$pkgdir"/usr/share/icons/hicolor/${i}x${i}/apps/google-chrome.png
+ for i in 16x16 22x22 24x24 32x32 48x48 64x64 128x128 256x256; do
+ install -Dm644 "$pkgdir"/opt/google/chrome/product_logo_${i/x*}.png \
+ "$pkgdir"/usr/share/icons/hicolor/$i/apps/google-chrome.png
done
# Man page
@@ -42,18 +46,12 @@ package() {
# License
install -Dm644 eula_text.html "$pkgdir"/usr/share/licenses/google-chrome/eula_text.html
- msg2 "Symlinking missing Udev lib..."
- ln -s /usr/lib/libudev.so.1 "$pkgdir"/opt/google/chrome/libudev.so.0
-
msg2 "Fixing Chrome icon resolution..."
- sed -i "/Exec=/i\StartupWMClass=Google-chrome-$_channel" "$pkgdir"/usr/share/applications/google-chrome.desktop
+ sed -i "/Exec=/i\StartupWMClass=google-chrome" "$pkgdir"/usr/share/applications/google-chrome.desktop
msg2 "Fixing permissions of documentation folder..."
chmod 755 "$pkgdir"/usr/share/doc/google-chrome-$_channel/
- msg2 "Adding support for CHROMIUM_USER_FLAGS..."
- sed -i 's/ "$@"/ $CHROMIUM_USER_FLAGS "$@"/' "$pkgdir"/opt/google/chrome/google-chrome
-
msg2 "Removing unnecessities (e.g. Debian Cron job)..."
rm -r "$pkgdir"/etc/cron.daily/ "$pkgdir"/opt/google/chrome/cron/
rm "$pkgdir"/opt/google/chrome/product_logo_*.png
@@ -61,5 +59,3 @@ package() {
msg2 "Rename google-chrome-stable to google-chrome..."
mv "$pkgdir"/usr/bin/google-chrome-stable "$pkgdir"/usr/bin/google-chrome
}
-md5sums=('7814ce4a8c941a918d48ace4a2362ebd'
- 'b7e752f549b215ac77f284b6486794b6')
diff --git a/abs/extra/google-chrome/__changelog b/abs/extra/google-chrome/__changelog
index 289a6f2..672914a 100644
--- a/abs/extra/google-chrome/__changelog
+++ b/abs/extra/google-chrome/__changelog
@@ -1,5 +1,3 @@
Pull from ARU: https://aur.archlinux.org/packages/google-chrome/
-- PKGBUILD: add replaces chromium
- google-chrome.install: add symlink from /usr/bin/chromium to google-chrome so as not to break pkgs that use chromium
- PKGBUILD: Rename google-chrome-stable to google-chrome"
-- PKGBUILD: Add dep libcups
diff --git a/abs/extra/google-chrome/eula_text.html b/abs/extra/google-chrome/eula_text.html
deleted file mode 100644
index b45cb21..0000000
--- a/abs/extra/google-chrome/eula_text.html
+++ /dev/null
@@ -1,902 +0,0 @@
-<!DOCTYPE html>
-<!-- saved from url=(0068)https://www.google.com/intl/en/chrome/browser/privacy/eula_text.html -->
-<html class="js consumer" lang="en" id="linux"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-
- <script type="text/javascript" async="" src="./Google Chrome Terms of Service_files/ga.js"></script><script>
-(function(e, p){
- var m = location.href.match(/platform=(win8|win|mac|linux|cros)/);
- e.id = (m && m[1]) ||
- (p.indexOf('Windows NT 6.2') > -1 ? 'win8' : p.indexOf('Windows') > -1 ? 'win' : p.indexOf('Mac') > -1 ? 'mac' : p.indexOf('CrOS') > -1 ? 'cros' : 'linux');
- e.className = e.className.replace(/\bno-js\b/,'js');
- })(document.documentElement, window.navigator.userAgent)
- </script>
- <meta charset="utf-8">
- <meta content="initial-scale=1, minimum-scale=1, width=device-width" name="viewport">
- <meta content="Google Chrome Terms of Service" name="description">
- <title>
- Google Chrome Terms of Service
- </title>
- <link href="https://plus.google.com/100585555255542998765" rel="publisher">
- <link href="https://www.google.com/images/icons/product/chrome-32.png" rel="icon" type="image/ico">
- <style>
-body {
- font-family: Arial;
- font-size: 13px;
- }
- </style>
- <script src="./Google Chrome Terms of Service_files/autotrack.js">
-</script><style type="text/css"></style>
- <script>
-new gweb.analytics.AutoTrack({
- profile: 'UA-26908291-1'
- });
- </script>
- <style type="text/css">.st {word-wrap: break-word;}</style></head>
- <body class="" id="grid">
- <div class="browser-eula" id="main">
- <div class="compact">
- <h2>
- Google Chrome Terms of Service
- </h2>
- <p>
- These Terms of Service apply to the executable code version of Google Chrome. Source code
- for Google Chrome is available free of charge under open source software license
- agreements at http://code.google.com/chromium/terms.html.
- </p>
- <p>
- <strong>1. Your relationship with Google</strong>
- </p>
- <p>
- 1.1 Your use of Google’s products, software, services and web sites (referred to
- collectively as the “Services” in this document and excluding any services provided to
- you by Google under a separate written agreement) is subject to the terms of a legal
- agreement between you and Google. “Google” means Google Inc., whose principal place of
- business is at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States. This
- document explains how the agreement is made up, and sets out some of the terms of that
- agreement.
- </p>
- <p>
- 1.2 Unless otherwise agreed in writing with Google, your agreement with Google will
- always include, at a minimum, the terms and conditions set out in this document. These
- are referred to below as the “Universal Terms”. Open source software licenses for Google
- Chrome source code constitute separate written agreements. To the limited extent that the
- open source software licenses expressly supersede these Universal Terms, the open source
- licenses govern your agreement with Google for the use of Google Chrome or specific
- included components of Google Chrome.
- </p>
- <p>
- 1.3 Your agreement with Google will also include the terms set forth below in the Google
- Chrome Additional Terms of Service and terms of any Legal Notices applicable to the
- Services, in addition to the Universal Terms. All of these are referred to below as the
- “Additional Terms”. Where Additional Terms apply to a Service, these will be accessible
- for you to read either within, or through your use of, that Service.
- </p>
- <p>
- 1.4 The Universal Terms, together with the Additional Terms, form a legally binding
- agreement between you and Google in relation to your use of the Services. It is important
- that you take the time to read them carefully. Collectively, this legal agreement is
- referred to below as the “Terms”.
- </p>
- <p>
- 1.5 If there is any contradiction between what the Additional Terms say and what the
- Universal Terms say, then the Additional Terms shall take precedence in relation to that
- Service.
- </p>
- <p>
- <strong>2. Accepting the Terms</strong>
- </p>
- <p>
- 2.1 In order to use the Services, you must first agree to the Terms. You may not use the
- Services if you do not accept the Terms.
- </p>
- <p>
- 2.2 You can accept the Terms by:
- </p>
- <p>
- (A) clicking to accept or agree to the Terms, where this option is made available to you
- by Google in the user interface for any Service; or
- </p>
- <p>
- (B) by actually using the Services. In this case, you understand and agree that Google
- will treat your use of the Services as acceptance of the Terms from that point onwards.
- </p>
- <p>
- <strong>3. Language of the Terms</strong>
- </p>
- <p>
- 3.1 Where Google has provided you with a translation of the English language version of
- the Terms, then you agree that the translation is provided for your convenience only and
- that the English language versions of the Terms will govern your relationship with
- Google.
- </p>
- <p>
- 3.2 If there is any contradiction between what the English language version of the Terms
- says and what a translation says, then the English language version shall take
- precedence.
- </p>
- <p>
- <strong>4. Provision of the Services by Google</strong>
- </p>
- <p>
- 4.1 Google has subsidiaries and affiliated legal entities around the world (“Subsidiaries
- and Affiliates”). Sometimes, these companies will be providing the Services to you on
- behalf of Google itself. You acknowledge and agree that Subsidiaries and Affiliates will
- be entitled to provide the Services to you.
- </p>
- <p>
- 4.2 Google is constantly innovating in order to provide the best possible experience for
- its users. You acknowledge and agree that the form and nature of the Services which
- Google provides may change from time to time without prior notice to you.
- </p>
- <p>
- 4.3 As part of this continuing innovation, you acknowledge and agree that Google may stop
- (permanently or temporarily) providing the Services (or any features within the Services)
- to you or to users generally at Google’s sole discretion, without prior notice to you.
- You may stop using the Services at any time. You do not need to specifically inform
- Google when you stop using the Services.
- </p>
- <p>
- 4.4 You acknowledge and agree that if Google disables access to your account, you may be
- prevented from accessing the Services, your account details or any files or other content
- which is contained in your account.
- </p>
- <p>
- <strong>5. Use of the Services by you</strong>
- </p>
- <p>
- 5.1 You agree to use the Services only for purposes that are permitted by (a) the Terms
- and (b) any applicable law, regulation or generally accepted practices or guidelines in
- the relevant jurisdictions (including any laws regarding the export of data or software
- to and from the United States or other relevant countries).
- </p>
- <p>
- 5.2 You agree that you will not engage in any activity that interferes with or disrupts
- the Services (or the servers and networks which are connected to the Services).
- </p>
- <p>
- 5.3 Unless you have been specifically permitted to do so in a separate agreement with
- Google, you agree that you will not reproduce, duplicate, copy, sell, trade or resell the
- Services for any purpose.
- </p>
- <p>
- 5.4 You agree that you are solely responsible for (and that Google has no responsibility
- to you or to any third party for) any breach of your obligations under the Terms and for
- the consequences (including any loss or damage which Google may suffer) of any such
- breach.
- </p>
- <p>
- <strong>6. Privacy and your personal information</strong>
- </p>
- <p>
- 6.1 For information about Google’s data protection practices, please read Google’s
- privacy policy at http://www.google.com/privacy.html and at
- http://www.google.com/chrome/intl/en/privacy.html. This policy explains how Google treats
- your personal information, and protects your privacy, when you use the Services.
- </p>
- <p>
- 6.2 You agree to the use of your data in accordance with Google’s privacy policies.
- </p>
- <p>
- <strong>7. Content in the Services</strong>
- </p>
- <p>
- 7.1 You understand that all information (such as data files, written text, computer
- software, music, audio files or other sounds, photographs, videos or other images) which
- you may have access to as part of, or through your use of, the Services are the sole
- responsibility of the person from which such content originated. All such information is
- referred to below as the “Content.”
- </p>
- <p>
- 7.2 You should be aware that Content presented to you as part of the Services, including
- but not limited to advertisements in the Services and sponsored Content within the
- Services may be protected by intellectual property rights which are owned by the sponsors
- or advertisers who provide that Content to Google (or by other persons or companies on
- their behalf). You may not modify, rent, lease, loan, sell, distribute or create
- derivative works based on this Content (either in whole or in part) unless you have been
- specifically told that you may do so by Google or by the owners of that Content, in a
- separate agreement.
- </p>
- <p>
- 7.3 Google reserves the right (but shall have no obligation) to pre-screen, review, flag,
- filter, modify, refuse or remove any or all Content from any Service. For some of the
- Services, Google may provide tools to filter out explicit sexual content. These tools
- include the SafeSearch preference settings (see
- http://www.google.com/help/customize.html#safe). In addition, there are commercially
- available services and software to limit access to material that you may find
- objectionable.
- </p>
- <p>
- 7.4 You understand that by using the Services you may be exposed to Content that you may
- find offensive, indecent or objectionable and that, in this respect, you use the Services
- at your own risk.
- </p>
- <p>
- 7.5 You agree that you are solely responsible for (and that Google has no responsibility
- to you or to any third party for) any Content that you create, transmit or display while
- using the Services and for the consequences of your actions (including any loss or damage
- which Google may suffer) by doing so.
- </p>
- <p>
- <strong>8. Proprietary rights</strong>
- </p>
- <p>
- 8.1 You acknowledge and agree that Google (or Google’s licensors) own all legal right,
- title and interest in and to the Services, including any intellectual property rights
- which subsist in the Services (whether those rights happen to be registered or not, and
- wherever in the world those rights may exist).
- </p>
- <p>
- 8.2 Unless you have agreed otherwise in writing with Google, nothing in the Terms gives
- you a right to use any of Google’s trade names, trade marks, service marks, logos, domain
- names, and other distinctive brand features.
- </p>
- <p>
- 8.3 If you have been given an explicit right to use any of these brand features in a
- separate written agreement with Google, then you agree that your use of such features
- shall be in compliance with that agreement, any applicable provisions of the Terms, and
- Google's brand feature use guidelines as updated from time to time. These guidelines can
- be viewed online at http://www.google.com/permissions/guidelines.html (or such other URL
- as Google may provide for this purpose from time to time).
- </p>
- <p>
- 8.4 Google acknowledges and agrees that it obtains no right, title or interest from you
- (or your licensors) under these Terms in or to any Content that you submit, post,
- transmit or display on, or through, the Services, including any intellectual property
- rights which subsist in that Content (whether those rights happen to be registered or
- not, and wherever in the world those rights may exist). Unless you have agreed otherwise
- in writing with Google, you agree that you are responsible for protecting and enforcing
- those rights and that Google has no obligation to do so on your behalf.
- </p>
- <p>
- 8.5 You agree that you shall not remove, obscure, or alter any proprietary rights notices
- (including copyright and trade mark notices) which may be affixed to or contained within
- the Services.
- </p>
- <p>
- 8.6 Unless you have been expressly authorized to do so in writing by Google, you agree
- that in using the Services, you will not use any trade mark, service mark, trade name,
- logo of any company or organization in a way that is likely or intended to cause
- confusion about the owner or authorized user of such marks, names or logos.
- </p>
- <p>
- <strong>9. License from Google</strong>
- </p>
- <p>
- 9.1 Google gives you a personal, worldwide, royalty-free, non-assignable and
- non-exclusive license to use the software provided to you by Google as part of the
- Services as provided to you by Google (referred to as the “Software” below). This license
- is for the sole purpose of enabling you to use and enjoy the benefit of the Services as
- provided by Google, in the manner permitted by the Terms.
- </p>
- <p>
- 9.2 Subject to section 1.2, you may not (and you may not permit anyone else to) copy,
- modify, create a derivative work of, reverse engineer, decompile or otherwise attempt to
- extract the source code of the Software or any part thereof, unless this is expressly
- permitted or required by law, or unless you have been specifically told that you may do
- so by Google, in writing.
- </p>
- <p>
- 9.3 Subject to section 1.2, unless Google has given you specific written permission to do
- so, you may not assign (or grant a sub-license of) your rights to use the Software, grant
- a security interest in or over your rights to use the Software, or otherwise transfer any
- part of your rights to use the Software.
- </p>
- <p>
- <strong>10. Content license from you</strong>
- </p>
- <p>
- 10.1 You retain copyright and any other rights you already hold in Content which you
- submit, post or display on or through, the Services.
- </p>
- <p>
- <strong>11. Software updates</strong>
- </p>
- <p>
- 11.1 The Software which you use may automatically download and install updates from time
- to time from Google. These updates are designed to improve, enhance and further develop
- the Services and may take the form of bug fixes, enhanced functions, new software modules
- and completely new versions. You agree to receive such updates (and permit Google to
- deliver these to you) as part of your use of the Services.
- </p>
- <p>
- <strong>12. Ending your relationship with Google</strong>
- </p>
- <p>
- 12.1 The Terms will continue to apply until terminated by either you or Google as set out
- below.
- </p>
- <p>
- 12.2 Google may at any time, terminate its legal agreement with you if:
- </p>
- <p>
- (A) you have breached any provision of the Terms (or have acted in manner which clearly
- shows that you do not intend to, or are unable to comply with the provisions of the
- Terms); or
- </p>
- <p>
- (B) Google is required to do so by law (for example, where the provision of the Services
- to you is, or becomes, unlawful); or
- </p>
- <p>
- (C) the partner with whom Google offered the Services to you has terminated its
- relationship with Google or ceased to offer the Services to you; or
- </p>
- <p>
- (D) Google is transitioning to no longer providing the Services to users in the country
- in which you are resident or from which you use the service; or
- </p>
- <p>
- (E) the provision of the Services to you by Google is, in Google’s opinion, no longer
- commercially viable.
- </p>
- <p>
- 12.3 Nothing in this Section shall affect Google’s rights regarding provision of Services
- under Section 4 of the Terms.
- </p>
- <p>
- 12.4 When these Terms come to an end, all of the legal rights, obligations and
- liabilities that you and Google have benefited from, been subject to (or which have
- accrued over time whilst the Terms have been in force) or which are expressed to continue
- indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 19.7
- shall continue to apply to such rights, obligations and liabilities indefinitely.
- </p>
- <p>
- <strong>13. EXCLUSION OF WARRANTIES</strong>
- </p>
- <p>
- 13.1 NOTHING IN THESE TERMS, INCLUDING SECTIONS 13 AND 14, SHALL EXCLUDE OR LIMIT
- GOOGLE’S WARRANTY OR LIABILITY FOR LOSSES WHICH MAY NOT BE LAWFULLY EXCLUDED OR LIMITED
- BY APPLICABLE LAW. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF CERTAIN WARRANTIES OR
- CONDITIONS OR THE LIMITATION OR EXCLUSION OF LIABILITY FOR LOSS OR DAMAGE CAUSED BY
- NEGLIGENCE, BREACH OF CONTRACT OR BREACH OF IMPLIED TERMS, OR INCIDENTAL OR CONSEQUENTIAL
- DAMAGES. ACCORDINGLY, ONLY THE LIMITATIONS WHICH ARE LAWFUL IN YOUR JURISDICTION WILL
- APPLY TO YOU AND OUR LIABILITY WILL BE LIMITED TO THE MAXIMUM EXTENT PERMITTED BY LAW.
- </p>
- <p>
- 13.2 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SERVICES IS AT YOUR SOLE
- RISK AND THAT THE SERVICES ARE PROVIDED "AS IS" AND “AS AVAILABLE.”
- </p>
- <p>
- 13.3 IN PARTICULAR, GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS DO NOT
- REPRESENT OR WARRANT TO YOU THAT:
- </p>
- <p>
- (A) YOUR USE OF THE SERVICES WILL MEET YOUR REQUIREMENTS,
- </p>
- <p>
- (B) YOUR USE OF THE SERVICES WILL BE UNINTERRUPTED, TIMELY, SECURE OR FREE FROM ERROR,
- </p>
- <p>
- (C) ANY INFORMATION OBTAINED BY YOU AS A RESULT OF YOUR USE OF THE SERVICES WILL BE
- ACCURATE OR RELIABLE, AND
- </p>
- <p>
- (D) THAT DEFECTS IN THE OPERATION OR FUNCTIONALITY OF ANY SOFTWARE PROVIDED TO YOU AS
- PART OF THE SERVICES WILL BE CORRECTED.
- </p>
- <p>
- 13.4 ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SERVICES IS
- DONE AT YOUR OWN DISCRETION AND RISK AND THAT YOU WILL BE SOLELY RESPONSIBLE FOR ANY
- DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM THE
- DOWNLOAD OF ANY SUCH MATERIAL.
- </p>
- <p>
- 13.5 NO ADVICE OR INFORMATION, WHETHER ORAL OR WRITTEN, OBTAINED BY YOU FROM GOOGLE OR
- THROUGH OR FROM THE SERVICES SHALL CREATE ANY WARRANTY NOT EXPRESSLY STATED IN THE TERMS.
- </p>
- <p>
- 13.6 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND,
- WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND
- CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- </p>
- <p>
- <strong>14. LIMITATION OF LIABILITY</strong>
- </p>
- <p>
- 14.1 SUBJECT TO OVERALL PROVISION IN PARAGRAPH 13.1 ABOVE, YOU EXPRESSLY UNDERSTAND AND
- AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE
- TO YOU FOR:
- </p>
- <p>
- (A) ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES WHICH
- MAY BE INCURRED BY YOU, HOWEVER CAUSED AND UNDER ANY THEORY OF LIABILITY.. THIS SHALL
- INCLUDE, BUT NOT BE LIMITED TO, ANY LOSS OF PROFIT (WHETHER INCURRED DIRECTLY OR
- INDIRECTLY), ANY LOSS OF GOODWILL OR BUSINESS REPUTATION, ANY LOSS OF DATA SUFFERED, COST
- OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR OTHER INTANGIBLE LOSS;
- </p>
- <p>
- (B) ANY LOSS OR DAMAGE WHICH MAY BE INCURRED BY YOU, INCLUDING BUT NOT LIMITED TO LOSS OR
- DAMAGE AS A RESULT OF:
- </p>
- <p>
- (I) ANY RELIANCE PLACED BY YOU ON THE COMPLETENESS, ACCURACY OR EXISTENCE OF ANY
- ADVERTISING, OR AS A RESULT OF ANY RELATIONSHIP OR TRANSACTION BETWEEN YOU AND ANY
- ADVERTISER OR SPONSOR WHOSE ADVERTISING APPEARS ON THE SERVICES;
- </p>
- <p>
- (II) ANY CHANGES WHICH GOOGLE MAY MAKE TO THE SERVICES, OR FOR ANY PERMANENT OR TEMPORARY
- CESSATION IN THE PROVISION OF THE SERVICES (OR ANY FEATURES WITHIN THE SERVICES);
- </p>
- <p>
- (III) THE DELETION OF, CORRUPTION OF, OR FAILURE TO STORE, ANY CONTENT AND OTHER
- COMMUNICATIONS DATA MAINTAINED OR TRANSMITTED BY OR THROUGH YOUR USE OF THE SERVICES;
- </p>
- <p>
- (IV) YOUR FAILURE TO PROVIDE GOOGLE WITH ACCURATE ACCOUNT INFORMATION;
- </p>
- <p>
- (V) YOUR FAILURE TO KEEP YOUR PASSWORD OR ACCOUNT DETAILS SECURE AND CONFIDENTIAL;
- </p>
- <p>
- 14.2 THE LIMITATIONS ON GOOGLE’S LIABILITY TO YOU IN PARAGRAPH 14.1 ABOVE SHALL APPLY
- WHETHER OR NOT GOOGLE HAS BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF
- ANY SUCH LOSSES ARISING.
- </p>
- <p>
- <strong>15. Copyright and trade mark policies</strong>
- </p>
- <p>
- 15.1 It is Google’s policy to respond to notices of alleged copyright infringement that
- comply with applicable international intellectual property law (including, in the United
- States, the Digital Millennium Copyright Act) and to terminating the accounts of repeat
- infringers. Details of Google’s policy can be found at http://www.google.com/dmca.html.
- </p>
- <p>
- 15.2 Google operates a trade mark complaints procedure in respect of Google’s advertising
- business, details of which can be found at http://www.google.com/tm_complaint.html.
- </p>
- <p>
- <strong>16. Advertisements</strong>
- </p>
- <p>
- 16.1 Some of the Services are supported by advertising revenue and may display
- advertisements and promotions. These advertisements may be targeted to the content of
- information stored on the Services, queries made through the Services or other
- information.
- </p>
- <p>
- 16.2 The manner, mode and extent of advertising by Google on the Services are subject to
- change without specific notice to you.
- </p>
- <p>
- 16.3 In consideration for Google granting you access to and use of the Services, you
- agree that Google may place such advertising on the Services.
- </p>
- <p>
- <strong>17. Other content</strong>
- </p>
- <p>
- 17.1 The Services may include hyperlinks to other web sites or content or resources.
- Google may have no control over any web sites or resources which are provided by
- companies or persons other than Google.
- </p>
- <p>
- 17.2 You acknowledge and agree that Google is not responsible for the availability of any
- such external sites or resources, and does not endorse any advertising, products or other
- materials on or available from such web sites or resources.
- </p>
- <p>
- 17.3 You acknowledge and agree that Google is not liable for any loss or damage which may
- be incurred by you as a result of the availability of those external sites or resources,
- or as a result of any reliance placed by you on the completeness, accuracy or existence
- of any advertising, products or other materials on, or available from, such web sites or
- resources.
- </p>
- <p>
- <strong>18. Changes to the Terms</strong>
- </p>
- <p>
- 18.1 Google may make changes to the Universal Terms or Additional Terms from time to
- time. When these changes are made, Google will make a new copy of the Universal Terms
- available at http://www.google.com/chrome/intl/en/eula_text.html and any new Additional
- Terms will be made available to you from within, or through, the affected Services.
- </p>
- <p>
- 18.2 You understand and agree that if you use the Services after the date on which the
- Universal Terms or Additional Terms have changed, Google will treat your use as
- acceptance of the updated Universal Terms or Additional Terms.
- </p>
- <p>
- <strong>19. General legal terms</strong>
- </p>
- <p>
- 19.1 Sometimes when you use the Services, you may (as a result of, or in connection with
- your use of the Services) use a service or download a piece of software, or purchase
- goods, which are provided by another person or company. Your use of these other services,
- software or goods may be subject to separate terms between you and the company or person
- concerned. If so, the Terms do not affect your legal relationship with these other
- companies or individuals.
- </p>
- <p>
- 19.2 The Terms constitute the whole legal agreement between you and Google and govern
- your use of the Services (but excluding any services which Google may provide to you
- under a separate written agreement), and completely replace any prior agreements between
- you and Google in relation to the Services.
- </p>
- <p>
- 19.3 You agree that Google may provide you with notices, including those regarding
- changes to the Terms, by email, regular mail, or postings on the Services.
- </p>
- <p>
- 19.4 You agree that if Google does not exercise or enforce any legal right or remedy
- which is contained in the Terms (or which Google has the benefit of under any applicable
- law), this will not be taken to be a formal waiver of Google’s rights and that those
- rights or remedies will still be available to Google.
- </p>
- <p>
- 19.5 If any court of law, having the jurisdiction to decide on this matter, rules that
- any provision of these Terms is invalid, then that provision will be removed from the
- Terms without affecting the rest of the Terms. The remaining provisions of the Terms will
- continue to be valid and enforceable.
- </p>
- <p>
- 19.6 You acknowledge and agree that each member of the group of companies of which Google
- is the parent shall be third party beneficiaries to the Terms and that such other
- companies shall be entitled to directly enforce, and rely upon, any provision of the
- Terms which confers a benefit on (or rights in favor of) them. Other than this, no other
- person or company shall be third party beneficiaries to the Terms.
- </p>
- <p>
- 19.7 The Terms, and your relationship with Google under the Terms, shall be governed by
- the laws of the State of California without regard to its conflict of laws provisions.
- You and Google agree to submit to the exclusive jurisdiction of the courts located within
- the county of Santa Clara, California to resolve any legal matter arising from the Terms.
- Notwithstanding this, you agree that Google shall still be allowed to apply for
- injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
- </p>
- <p>
- <strong>20. Additional Terms for Extensions for Google Chrome</strong>
- </p>
- <p>
- 20.1 These terms in this section apply if you install extensions on your copy of Google
- Chrome. Extensions are small software programs, developed by Google or third parties,
- that can modify and enhance the functionality of Google Chrome. Extensions may have
- greater privileges to access your browser or your computer than regular webpages,
- including the ability to read and modify your private data.
- </p>
- <p>
- 20.2 From time to time, Google Chrome may check with remote servers (hosted by Google or
- by third parties) for available updates to extensions, including but not limited to bug
- fixes or enhanced functionality. You agree that such updates will be automatically
- requested, downloaded, and installed without further notice to you.
- </p>
- <p>
- 20.3 From time to time, Google may discover an extension that violates Google developer
- terms or other legal agreements, laws, regulations or policies. Google Chrome will
- periodically download a list of such extensions from Google’s servers. You agree that
- Google may remotely disable or remove any such extension from user systems in its sole
- discretion.
- </p>
- <p>
- <strong>21. Additional Terms for Enterprise Use</strong>
- </p>
- <p>
- 21.1 If you are a business entity, then the individual accepting on behalf of the entity
- (for the avoidance of doubt, for business entities, in these Terms, "you" means the
- entity) represents and warrants that he or she has the authority to act on your behalf,
- that you represent that you are duly authorized to do business in the country or
- countries where you operate, and that your employees, officers, representatives, and
- other agents accessing the Service are duly authorized to access Google Chrome and to
- legally bind you to these Terms.
- </p>
- <p>
- 21.2 Subject to the Terms, and in addition to the license grant in Section 9, Google
- grants you a non-exclusive, non-transferable license to reproduce, distribute, install,
- and use Google Chrome solely on machines intended for use by your employees, officers,
- representatives, and agents in connection with your business entity, and provided that
- their use of Google Chrome will be subject to the Terms.
- </p>
- <p>
- August 12, 2010
- </p><br>
- <hr>
- <br>
- <h2>
- Google Chrome Additional Terms of Service
- </h2>
- <p>
- <strong>MPEGLA</strong>
- </p>
- <p>
- THIS PRODUCT IS LICENSED UNDER THE AVC PATENT PORTFOLIO LICENSE FOR THE PERSONAL AND
- NON-COMMERCIAL USE OF A CONSUMER TO (i) ENCODE VIDEO IN COMPLIANCE WITH THE AVC STANDARD
- ( “AVC VIDEO”) AND/OR (ii) DECODE AVC VIDEO THAT WAS ENCODED BY A CONSUMER ENGAGED IN A
- PERSONAL AND NON-COMMERCIAL ACTIVITY AND/OR WAS OBTAINED FROM A VIDEO PARTNER LICENSED TO
- PROVIDE AVC VIDEO. NO LICENSE IS GRANTED OR SHALL BE IMPLIED FOR ANY OTHER USE.
- ADDITIONAL INFORMATION MAY BE OBTAINED FROM MPEG LA, L.L.C. SEE HTTP://WWW.MPEGLA.COM.
- </p>
- <p>
- <strong>Adobe</strong>
- </p>
- <p>
- Google Chrome may include one or more components provided by Adobe Systems Incorporated
- and Adobe Software Ireland Limited (collectively “Adobe”). Your use of the Adobe software
- as provided by Google (“Adobe Software”) is subject to the following additional terms
- (the “Adobe Terms”). You, the entity receiving the Adobe Software, will be hereinafter
- referred to as “Sublicensee.”
- </p>
- <p>
- 1. License Restrictions.
- </p>
- <p>
- (a) Flash Player, Version 10.x is designed only as a browser plug-in. Sublicensee may not
- modify or distribute this Adobe Software for use as anything but a browser plug-in for
- playing back content on a web page. For example, Sublicensee will not modify this Adobe
- Software in order to allow interoperation with applications that run outside of the
- browser (e.g., standalone applications, widgets, device UI).
- </p>
- <p>
- (b) Sublicensee will not expose any APIs of the Flash Player, Version 10.x through a
- browser plug-in interface in such a way that allows such extension to be used to playback
- content from a web page as a stand-alone application.
- </p>
- <p>
- (c) The Chrome-Reader Software may not be used to render any PDF or EPUB documents that
- utilize digital rights management protocols or systems other than Adobe DRM.
- </p>
- <p>
- (d) Adobe DRM must be enabled in the Chrome-Reader Software for all Adobe DRM protected
- PDF and EPUB documents.
- </p>
- <p>
- (e) The Chrome-Reader Software may not, other than as explicitly permitted by the
- technical specifications, disable any capabilities provided by Adobe in the Adobe
- Software, including but not limited to, support for PDF and EPUB formats and Adobe DRM.
- </p>
- <p>
- 2. Electronic Transmission. Sublicensee may allow the download of the Adobe Software from
- a web site, the Internet, an intranet, or similar technology (an, “Electronic
- Transmissions”) provided that Sublicensee agrees that any distributions of the Adobe
- Software by Sublicensee, including those on CD-ROM, DVD-ROM or other storage media and
- Electronic Transmissions, if expressly permitted, shall be subject to reasonable security
- measures to prevent unauthorized use. With relation to Electronic Transmissions approved
- hereunder, Sublicensee agrees to employ any reasonable use restrictions set by Adobe,
- including those related to security and/or the restriction of distribution to end users
- of the Sublicensee Product.
- </p>
- <p>
- 3. EULA and Distribution Terms.
- </p>
- <p>
- (a) Sublicensee shall ensure that the Adobe Software is distributed to end users under an
- enforceable end user license agreement, in favor of Sublicensee and its suppliers
- containing at least each of the following minimum terms (the “End-User License”): (i) a
- prohibition against distribution and copying, (ii) a prohibition against modifications
- and derivative works, (iii) a prohibition against decompiling, reverse engineering,
- disassembling, and otherwise reducing the Adobe Software to a human-perceivable form,
- (iv) a provision indicating ownership of Sublicensee Product (as defined in Section 8) by
- Sublicensee and its licensors, (v) a disclaimer of indirect, special, incidental,
- punitive, and consequential damages, and (vi) other industry standard disclaimers and
- limitations, including, as applicable: a disclaimer of all applicable statutory
- warranties, to the full extent allowed by law.
- </p>
- <p>
- (b) Sublicensee shall ensure that the Adobe Software is distributed to Sublicensee’s
- distributors under an enforceable distribution license agreement, in favor of Sublicensee
- and its suppliers containing terms as protective of Adobe as the Adobe Terms.
- </p>
- <p>
- 4. Opensource. Sublicensee will not directly or indirectly grant, or purport to grant, to
- any third party any rights or immunities under Adobe’s intellectual property or
- proprietary rights that will subject such intellectual property to an open source license
- or scheme in which there is or could be interpreted to be a requirement that as a
- condition of use, modification and/or distribution, the Adobe Software be: (i) disclosed
- or distributed in source code form; (ii) licensed for the purpose of making derivative
- works; or (iii) redistributable at no charge. For clarification purposes, the foregoing
- restriction does not preclude Sublicensee from distributing, and Sublicensee will
- distribute the Adobe Software as bundled with the Google Software, without charge.
- </p>
- <p>
- 5. Additional Terms. With respect to any update, upgrade, new versions of the Adobe
- Software (collectively “Upgrades”) provided to Sublicenses, Adobe reserves the right to
- require additional terms and conditions applicable solely to the Upgrade and future
- versions thereof, and solely to the extent that such restrictions are imposed by Adobe on
- all licensees of such Upgrade. If Sublicensee does not agree to such additional terms or
- conditions, Sublicensee will have no license rights with respect to such Upgrade, and
- Sublicensee’s license rights with respect to the Adobe Software will terminate
- automatically on the 90th day from the date such additional terms are made available to
- Sublicensee.
- </p>
- <p>
- 6. Proprietary Rights Notices. Sublicensee shall not, and shall require its distributors
- not to, delete or in any manner alter the copyright notices, trademarks, logos or related
- notices, or other proprietary rights notices of Adobe (and its licensors, if any)
- appearing on or within the Adobe Software or accompanying materials.
- </p>
- <p>
- 7. Technical Requirements. Sublicensee and its distributors may only distribute Adobe
- Software and/or Upgrade on devices that (i) meet the technical specifications posted on
- http://www.adobe.com/mobile/licensees, (or a successor web site thereto), and (ii) has
- been verified by Adobe as set forth below.
- </p>
- <p>
- 8. Verification and Update. Sublicensee must submit to Adobe each Sublicensee product
- (and each version thereof) containing the Adobe Software and/or Upgrade (“Sublicensee
- Product”) that do not meet the Device Verification exemption criteria to be communicated
- by Google, for Adobe to verify. Sublicensee shall pay for each submission made by
- Sublicensee by procuring verification packages at Adobe’s then-current terms set forth at
- http://flashmobile.adobe.com/. Sublicensee Product that has not passed verification may
- not be distributed. Verification will be accomplished in accordance with Adobe’s
- then-current process described at http://flashmobile.adobe.com/ (“Verification”).
- </p>
- <p>
- 9. Profiles and Device Central. Sublicensee will be prompted to enter certain profile
- information about the Sublicensee Products either as part of the Verification process or
- some other method, and Sublicensee will provide such information, to Adobe. Adobe may (i)
- use such profile information as reasonably necessary to verify the Sublicensee Product
- (if such product is subject to Verification), and (ii) display such profile information
- in “Adobe Device Intelligence system,” located at
- https://devices.adobe.com/partnerportal/, and made available through Adobe’s authoring
- and development tools and services to enable developers and end users to see how content
- or applications are displayed in Sublicensee Products (e.g. how video images appear in
- certain phones).
- </p>
- <p>
- 10. Export. Sublicensee acknowledges that the laws and regulations of the United States
- restrict the export and re-export of commodities and technical data of United States
- origin, which may include the Adobe Software. Sublicensee agrees that it will not export
- or re-export the Adobe Software, without the appropriate United States and foreign
- governmental clearances, if any.
- </p>
- <p>
- 11. Technology Pass-through Terms.
- </p>
- <p>
- (a) Except pursuant to applicable permissions or agreements therefor, from or with the
- applicable parties, Sublicensees shall not use and shall not allow the use of, the Adobe
- Software for the encoding or decoding of mp3 audio only (.mp3) data on any non-pc device
- (e.g., mobile phone or set-top box), nor may the mp3 encoders or decoders contained in
- the Adobe Software be used or accessed by any product other than the Adobe Software. The
- Adobe Software may be used for the encoding or decoding of MP3 data contained within a
- swf or flv file, which contains video, picture or other data. Sublicensee shall
- acknowledge that use of the Adobe Software for non-PC devices, as described in the
- prohibitions in this section, may require the payment of licensing royalties or other
- amounts to third parties who may hold intellectual property rights related to the MP3
- technology and that Adobe nor Sublicensee has not paid any royalties or other amounts on
- account of third party intellectual property rights for such use. If Sublicensee requires
- an MP3 encoder or decoder for such use, Sublicensee is responsible for obtaining the
- necessary intellectual property license, including any applicable patent rights.
- </p>
- <p>
- (b) Sublicensee will not use, copy, reproduce and modify (i) the On2 source code
- (provided hereunder as a component of the Source Code) as necessary to enable the Adobe
- Software to decode video in the Flash video file format (.flv or .f4v), and (ii) the
- Sorenson Spark source code (provided hereunder as a component of the Source Code) for the
- limited purpose of making bug fixes and performance enhancements to the Adobe Software.
- All codecs provided with the Adobe Software may only be used and distributed as an
- integrated part of the Adobe Software and may not be accessed by any other application,
- including other Google applications.
- </p>
- <p>
- (c) The Source Code may be provided with an AAC codec and/or HE-AAC codec (“the AAC
- Codec”). Use of the AAC Codec is conditioned on Sublicensee obtaining a proper patent
- license covering necessary patents as provided by VIA Licensing, for end products on or
- in which the AAC Codec will be used. Sublicensee acknowledges and agrees that Adobe is
- not providing a patent license for an AAC Codec under this Agreement to Sublicensee or
- its sublicensees.
- </p>
- <p>
- (d) THE SOURCE CODE MAY CONTAIN CODE LICENSED UNDER THE AVC PATENT PORTFOLIO LICENSE FOR
- THE PERSONAL NON-COMMERCIAL USE OF A CONSUMER TO (i) ENCODE VIDEO IN COMPLIANCE WITH THE
- AVC STANDARD ("AVC VIDEO") AND/OR (ii) DECODE AVC VIDEO THAT WAS ENCODED BY A CONSUMER
- ENGAGED IN A PERSONAL NON-COMMERCIAL ACTIVITY AND/OR WAS OBTAINED FROM A VIDEO PROVIDER
- LICENSED TO PROVIDE AVC VIDEO. NO LICENSE IS GRANTED OR WILL BE IMPLIED FOR ANY OTHER
- USE. ADDITIONAL INFORMATION MAY BE OBTAINED FROM MPEG LA, L.L.C. See
- http://www.mpegla.com
- </p>
- <p>
- 12. Update. Sublicensee will not circumvent Google’s or Adobe’s efforts to update the
- Adobe Software in all Sublicensee’s products incorporating the Adobe Software as bundled
- with the Google Software (“Sublicensee Products”).
- </p>
- <p>
- 13. Attribution and Proprietary Notices. Sublicensee will list the Adobe Software in
- publicly available Sublicensee Product specifications and include appropriate Adobe
- Software branding (specifically excluding the Adobe corporate logo) on the Sublicensee
- Product packaging or marketing materials in a manner consistent with branding of other
- third party products contained within the Sublicensee Product.
- </p>
- <p>
- 14. No Warranty. THE ADOBE SOFTWARE IS MADE AVAILABLE TO SUBLICENSEE FOR USE AND
- REPRODUCTION “AS IS” AND ADOBE MAKES NO WARRANTY AS TO ITS USE OR PERFORMANCE. ADOBE AND
- ITS SUPPLIERS DO NOT AND CANNOT WARRANT THE PERFORMANCE OR RESULTS OBTAINED BY USING THE
- ADOBE SOFTWARE. EXCEPT FOR ANY WARRANTY, CONDITION, REPRESENTATION OR TERM TO THE EXTENT
- TO WHICH THE SAME CANNOT OR MAY NOT BE EXCLUDED OR LIMITED BY LAW APPLICABLE TO
- SUBLICENSEEIN SUBLICENSEE’S JURISDICTION, ADOBE AND ITS SUPPLIERS MAKE NO WARRANTIES,
- CONDITIONS, REPRESENTATIONS, OR TERMS (EXPRESS OR IMPLIED WHETHER BY STATUTE, COMMON LAW,
- CUSTOM, USAGE OR OTHERWISE) AS TO ANY MATTER INCLUDING WITHOUT LIMITATION NONINFRINGEMENT
- OF THIRD PARTY RIGHTS, MERCHANTABILITY, INTEGRATION, SATISFACTORY QUALITY, OR FITNESS FOR
- ANY PARTICULAR PURPOSE. SUBLICENSEE AGREES THAT SUBLICENSEE SHALL NOT MAKE ANY WARRANTY,
- EXPRESS OR IMPLIED, ON BEHALF OF ADOBE.
- </p>
- <p>
- 15. Limitation of Liability. IN NO EVENT WILL ADOBE OR ITS SUPPLIERS BE LIABLE TO
- SUBLICENSEE FOR ANY DAMAGES, CLAIMS OR COSTS WHATSOEVER OR ANY CONSEQUENTIAL, INDIRECT,
- OR INCIDENTAL DAMAGES, OR ANY LOST PROFITS OR LOST SAVINGS, EVEN IF AN ADOBE
- REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS, DAMAGES, CLAIMS OR COSTS
- OR FOR ANY CLAIM BY ANY THIRD PARTY. THE FOREGOING LIMITATIONS AND EXCLUSIONS APPLY TO
- THE EXTENT PERMITTED BY APPLICABLE LAW IN SUBLICENSEE’S JURISDICTION. ADOBE’S AGGREGATE
- LIABILITY AND THAT OF ITS SUPPLIERS UNDER OR IN CONNECTION WITH THIS AGREEMENT SHALL BE
- LIMITED TO ONE THOUSAND DOLLARS (US$1,000). Nothing contained in this Agreement limits
- Adobe’s liability to Sublicensee in the event of death or personal injury resulting from
- Adobe’s negligence or for the tort of deceit (fraud). Adobe is acting on behalf of its
- suppliers for the purpose of disclaiming, excluding and/or limiting obligations,
- warranties and liability as provided in this Agreement, but in no other respects and for
- no other purpose.
- </p>
- <p>
- 16. Content Protection Terms
- </p>
- <p>
- (a) Definitions.
- </p>
- <p>
- “Compliance and Robustness Rules” means the document setting forth compliance and
- robustness rules for the Adobe Software located at http://www.adobe.com/mobile/licensees,
- or a successor web site thereto.
- </p>
- <p>
- “Content Protection Functions” means those aspects of the Adobe Software that are
- designed to ensure compliance with the Compliance and Robustness Rules, and to prevent
- playback, copying, modification, redistribution or other actions with respect to digital
- content distributed for consumption by users of the Adobe Software when such actions are
- not authorized by the owners of such digital content or its licensed distributors.
- </p>
- <p>
- “Content Protection Code” means code within certain designated versions of the Adobe
- Software that enables certain Content Protection Functions.
- </p>
- <p>
- “Key” means a cryptographic value contained in the Adobe Software for use in decrypting
- digital content.
- </p>
- <p>
- (b) License Restrictions. Sublicensee’s right to exercise the licenses with respect to
- the Adobe Software is subject to the following additional restrictions and obligations.
- Sublicensee will ensure that Sublicensee’s customers comply with these restrictions and
- obligations to the same extent imposed on Sublicensee with respect to the Adobe Software;
- any failure by Sublicensee’s customers to comply with these additional restrictions and
- obligations shall be treated as a material breach by Sublicensee.
- </p>
- <p>
- b.1. Sublicensee and customers may only distribute the Adobe Software that meets the
- Robustness and Compliance Rules as so confirmed by Sublicensee during the verification
- process described above in the Adobe Terms.
- </p>
- <p>
- b.2. Sublicensee shall not (i) circumvent the Content Protection Functions of either the
- Adobe Software or any related Adobe Software that is used to encrypt or decrypt digital
- content for authorized consumption by users of the Adobe Software, or (ii) develop or
- distribute products that are designed to circumvent the Content Protection Functions of
- either the Adobe Software or any Adobe Software that is used to encrypt or decrypt
- digital content for authorized consumption by users of the Adobe Software.
- </p>
- <p>
- (c) The Keys are hereby designated as Adobe’s Confidential Information, and Sublicensee
- will, with respect to the Keys, adhere to Adobe’s Source Code Handling Procedure (to be
- provided by Adobe upon request).
- </p>
- <p>
- (d) Injunctive Relief. Sublicensee agrees that a breach of this Agreement may compromise
- the Content Protection Functions of the Adobe Software and may cause unique and lasting
- harm to the interests of Adobe and owners of digital content that rely on such Content
- Protection Functions, and that monetary damages may be inadequate to compensate fully for
- such harm. Therefore, Sublicensee further agrees that Adobe may be entitled to seek
- injunctive relief to prevent or limit the harm caused by any such breach, in addition to
- monetary damages.
- </p>
- <p>
- 17. Intended Third-party Beneficiary. Adobe Systems Incorporated and Adobe Software
- Ireland Limited are the intended third-party beneficiaries of Google’s agreement with
- Sublicensee with respect to the Adobe Software, including but not limited to, the Adobe
- Terms. Sublicensee agrees, notwithstanding anything to the contrary in its agreement with
- Google, that Google may disclose Sublicensee’s identity to Adobe and certify in writing
- that Sublicensee has entered into a license agreement with Google which includes the
- Adobe Terms. Sublicensee must have an agreement with each of its licensees, and if such
- licensees are allowed to redistribute the Adobe Software, such agreement will include the
- Adobe Terms.
- </p>
- </div>
- </div>
-
-</body></html> \ No newline at end of file
diff --git a/abs/extra/google-chrome/google-chrome-stable.sh b/abs/extra/google-chrome/google-chrome-stable.sh
new file mode 100644
index 0000000..e55c822
--- /dev/null
+++ b/abs/extra/google-chrome/google-chrome-stable.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+# Allow users to override command-line options
+if [[ -f ~/.config/chrome-flags.conf ]]; then
+ CHROME_USER_FLAGS="$(cat ~/.config/chrome-flags.conf)"
+fi
+
+# Launch
+exec /opt/google/chrome/google-chrome $CHROME_USER_FLAGS "$@" \ No newline at end of file
diff --git a/abs/extra/google-chrome/google-chrome.install b/abs/extra/google-chrome/google-chrome.install
index c958cc3..541b400 100644
--- a/abs/extra/google-chrome/google-chrome.install
+++ b/abs/extra/google-chrome/google-chrome.install
@@ -15,8 +15,9 @@ yellow="${bold}$(tput setaf 3)"
_update() {
msg_blue "Updating desktop MIME database..."
update-desktop-database -q
+
msg_blue "Updating icon cache.."
- gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+ xdg-icon-resource forceupdate --theme hicolor &>/dev/null
}
post_install() {
@@ -24,14 +25,13 @@ post_install() {
if [ ! -e /usr/bin/chromium ]; then
ln -s /usr/bin/google-chrome /usr/bin/chromium
fi
+ note "Custom flags should be put directly in: ~/.config/chrome-flags.conf"
}
-
post_upgrade() {
post_install
}
-
post_remove() {
_update
if [ -h /usr/bin/chromium ]; then
diff --git a/abs/extra/gperftools/PKGBUILD b/abs/extra/gperftools/PKGBUILD
new file mode 100644
index 0000000..fbdb440
--- /dev/null
+++ b/abs/extra/gperftools/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id$
+# Maintainer: Dave Reisner <dreisner@archlinux.org>
+# Contributor: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Thomas Jost <schnouki@schnouki.net>
+# Contributor: JaDa <jada@archlinux.us>
+# Contributor: Joaquim Pedro <osmano807@gmail.com>
+# Contributor: Jan Rüegg <rggjan@gmail.com>
+
+pkgname=gperftools
+pkgver=2.4
+pkgrel=2
+pkgdesc="Fast, multi-threaded malloc and nifty performance analysis tools"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/gperftools/"
+license=('BSD')
+depends=('perl')
+provides=('libtcmalloc.so'
+ 'libprofiler.so'
+ 'libtcmalloc_debug.so'
+ 'libtcmalloc_and_profiler.so'
+ 'libtcmalloc_minimal.so'
+ 'libtcmalloc_minimal_debug.so')
+optdepends=('graphviz: pprof graph generation'
+ 'gv: pprof postscript generation')
+source=("https://googledrive.com/host/0B6NtGsLhIcf7MWxMMF9JdTN3UVk/$pkgname-$pkgver.tar.gz")
+md5sums=('2171cea3bbe053036fb5d5d25176a160')
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --enable-frame-pointers
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/gtk3/0001-x11-Only-do-cursor-name-fallback-for-standard-names.patch b/abs/extra/gtk3/0001-x11-Only-do-cursor-name-fallback-for-standard-names.patch
new file mode 100644
index 0000000..d187d40
--- /dev/null
+++ b/abs/extra/gtk3/0001-x11-Only-do-cursor-name-fallback-for-standard-names.patch
@@ -0,0 +1,85 @@
+From affd6e70734d7897324409d6fc0beb7b4eb7235a Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen@redhat.com>
+Date: Wed, 6 Jan 2016 14:54:33 -0500
+Subject: [PATCH 1/2] x11: Only do cursor name fallback for standard names
+
+Always returning a left_ptr if we can't find anything better
+broke firefox application-specific fallback for missing cursors.
+Keep that working by only doing the fallback for the CSS cursor
+names, not for things like hashes.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=760141
+---
+ gdk/x11/gdkcursor-x11.c | 24 ++++++++++++++++++++----
+ 1 file changed, 20 insertions(+), 4 deletions(-)
+
+diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c
+index 540f48e..d619f58 100644
+--- a/gdk/x11/gdkcursor-x11.c
++++ b/gdk/x11/gdkcursor-x11.c
+@@ -611,17 +611,23 @@ static const struct {
+ const gchar *css_name, *traditional_name;
+ } name_map[] = {
+ { "default", "left_ptr" },
++ { "help", "left_ptr" },
++ { "context-menu", "left_ptr" },
+ { "pointer", "hand" },
+ { "progress", "left_ptr_watch" },
+ { "wait", "watch" },
+ { "cell", "crosshair" },
+ { "crosshair", "cross" },
+ { "text", "xterm" },
++ { "vertical-text","xterm" },
+ { "alias", "dnd-link" },
+ { "copy", "dnd-copy" },
++ { "move", "dnd-move" },
+ { "no-drop", "dnd-none" },
+ { "not-allowed", "crossed_circle" },
+ { "grab", "hand2" },
++ { "grabbing", "hand2" },
++ { "all-scroll", "left_ptr" },
+ { "col-resize", "h_double_arrow" },
+ { "row-resize", "v_double_arrow" },
+ { "n-resize", "top_side" },
+@@ -636,6 +642,8 @@ static const struct {
+ { "ns-resize", "v_double_arrow" },
+ { "nesw-resize", "fd_double_arrow" },
+ { "nwse-resize", "bd_double_arrow" },
++ { "zoom-in", "left_ptr" },
++ { "zoom-out", "left_ptr" },
+ { NULL, NULL }
+ };
+
+@@ -650,7 +658,7 @@ name_fallback (const gchar *name)
+ return name_map[i].traditional_name;
+ }
+
+- return "left_ptr";
++ return NULL;
+ }
+
+ GdkCursor*
+@@ -683,9 +691,17 @@ _gdk_x11_display_get_cursor_for_name (GdkDisplay *display,
+ xdisplay = GDK_DISPLAY_XDISPLAY (display);
+ xcursor = XcursorLibraryLoadCursor (xdisplay, name);
+ if (xcursor == None)
+- xcursor = XcursorLibraryLoadCursor (xdisplay, name_fallback (name));
+- if (xcursor == None)
+- xcursor = XcursorLibraryLoadCursor (xdisplay, "left_ptr");
++ {
++ const char *fallback;
++
++ fallback = name_fallback (name);
++ if (fallback)
++ {
++ xcursor = XcursorLibraryLoadCursor (xdisplay, fallback);
++ if (xcursor == None)
++ xcursor = XcursorLibraryLoadCursor (xdisplay, "left_ptr");
++ }
++ }
+ if (xcursor == None)
+ return NULL;
+ }
+--
+2.7.0
+
diff --git a/abs/extra/gtk3/0002-wayland-Only-do-cursor-name-fallback-for-standard-na.patch b/abs/extra/gtk3/0002-wayland-Only-do-cursor-name-fallback-for-standard-na.patch
new file mode 100644
index 0000000..94b69fb
--- /dev/null
+++ b/abs/extra/gtk3/0002-wayland-Only-do-cursor-name-fallback-for-standard-na.patch
@@ -0,0 +1,94 @@
+From 81a287478a4db9ce650cc764474b9c173b137dee Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen@redhat.com>
+Date: Wed, 6 Jan 2016 14:56:06 -0500
+Subject: [PATCH 2/2] wayland: Only do cursor name fallback for standard names
+
+Always returning a left_ptr if we can't find anything better
+broke firefox application-specific fallback for missing cursors.
+Keep that working by only doing the fallback for the CSS cursor
+names, not for things like hashes.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=760141
+---
+ gdk/wayland/gdkcursor-wayland.c | 29 +++++++++++++++++++++--------
+ 1 file changed, 21 insertions(+), 8 deletions(-)
+
+diff --git a/gdk/wayland/gdkcursor-wayland.c b/gdk/wayland/gdkcursor-wayland.c
+index 8aee5ae..bdfa316 100644
+--- a/gdk/wayland/gdkcursor-wayland.c
++++ b/gdk/wayland/gdkcursor-wayland.c
+@@ -87,17 +87,23 @@ static const struct {
+ const gchar *css_name, *traditional_name;
+ } name_map[] = {
+ { "default", "left_ptr" },
++ { "help", "left_ptr" },
++ { "context-menu", "left_ptr" },
+ { "pointer", "hand" },
+ { "progress", "left_ptr_watch" },
+ { "wait", "watch" },
+ { "cell", "crosshair" },
+ { "crosshair", "cross" },
+ { "text", "xterm" },
++ { "vertical-text","xterm" },
+ { "alias", "dnd-link" },
+ { "copy", "dnd-copy" },
++ { "move", "dnd-move" },
+ { "no-drop", "dnd-none" },
+ { "not-allowed", "crossed_circle" },
+ { "grab", "hand2" },
++ { "grabbing", "hand2" },
++ { "all-scroll", "left_ptr" },
+ { "col-resize", "h_double_arrow" },
+ { "row-resize", "v_double_arrow" },
+ { "n-resize", "top_side" },
+@@ -112,6 +118,8 @@ static const struct {
+ { "ns-resize", "v_double_arrow" },
+ { "nesw-resize", "fd_double_arrow" },
+ { "nwse-resize", "bd_double_arrow" },
++ { "zoom-in", "left_ptr" },
++ { "zoom-out", "left_ptr" },
+ { NULL, NULL }
+ };
+
+@@ -126,7 +134,7 @@ name_fallback (const gchar *name)
+ return name_map[i].traditional_name;
+ }
+
+- return "left_ptr";
++ return NULL;
+ }
+
+ static gboolean
+@@ -144,17 +152,22 @@ _gdk_wayland_cursor_update (GdkWaylandDisplay *wayland_display,
+ cursor->scale);
+ c = wl_cursor_theme_get_cursor (theme, cursor->name);
+ if (!c)
+- c = wl_cursor_theme_get_cursor (theme, name_fallback (cursor->name));
++ {
++ const char *fallback;
++
++ fallback = name_fallback (cursor->name);
++ if (fallback)
++ {
++ c = wl_cursor_theme_get_cursor (theme, name_fallback (cursor->name));
++ if (!c)
++ c = wl_cursor_theme_get_cursor (theme, "left_ptr");
++ }
++ }
+
+ if (!c)
+ {
+ g_warning (G_STRLOC ": Unable to load %s from the cursor theme", cursor->name);
+-
+- /* return the left_ptr cursor as a fallback */
+- c = wl_cursor_theme_get_cursor (theme, "left_ptr");
+-
+- if (!c)
+- return FALSE;
++ return FALSE;
+ }
+
+ cursor->wl_cursor = c;
+--
+2.7.0
+
diff --git a/abs/extra/gtk3/PKGBUILD b/abs/extra/gtk3/PKGBUILD
index 5557008..15dc342 100644
--- a/abs/extra/gtk3/PKGBUILD
+++ b/abs/extra/gtk3/PKGBUILD
@@ -2,23 +2,34 @@
# Maintainer: Ionut Biru <ibiru@archlinux.org>
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-pkgname=gtk3
-pkgver=3.14.5
-pkgrel=1
-pkgdesc="GObject-based multi-platform GUI toolkit (v3)"
+pkgbase=gtk3
+pkgname=(gtk3 gtk-update-icon-cache)
+pkgver=3.18.6
+pkgrel=2
+pkgdesc="GObject-based multi-platform GUI toolkit"
arch=(i686 x86_64)
url="http://www.gtk.org/"
-install=gtk3.install
-depends=(atk cairo gtk-update-icon-cache libcups libxcursor libxinerama libxrandr libxi
+depends=(atk cairo libcups libxcursor libxinerama libxrandr libxi libepoxy gdk-pixbuf2
libxcomposite libxdamage pango shared-mime-info colord at-spi2-atk wayland libxkbcommon
- adwaita-icon-theme json-glib rest)
-makedepends=(gobject-introspection python2)
+ adwaita-icon-theme json-glib rest librsvg)
+makedepends=(gobject-introspection libcanberra)
license=(LGPL)
-source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/${pkgver:0:4}/gtk+-$pkgver.tar.xz)
-sha256sums=('ba70f5ccde6646c6d8aa5a6398794b7bcf23fc45af22580a215d258f392dbbe2')
+source=(https://download.gnome.org/sources/gtk+/${pkgver:0:4}/gtk+-$pkgver.tar.xz
+ 0001-x11-Only-do-cursor-name-fallback-for-standard-names.patch
+ 0002-wayland-Only-do-cursor-name-fallback-for-standard-na.patch
+ settings.ini)
+sha256sums=('78cabf0fd5a662f8723f62d5ac633072c76c557c1d700454c9c3deaa37e441ef'
+ '0402c3b7801810beb0f24ad20e4fb2eb7519cf3984f39e093a6e2752a0f7d9de'
+ '94722b06284e76f628fc8933617ac19c14f6775a5250fe3c382defab63d7b10e'
+ '01fc1d81dc82c4a052ac6e25bf9a04e7647267cc3017bc91f9ce3e63e5eb9202')
prepare() {
cd gtk+-$pkgver
+
+ # Fix zoom in/out cursors in GTK3 builds of Firefox
+ # https://bugzilla.gnome.org/show_bug.cgi?id=760141
+ patch -Np1 -i ../0001-x11-Only-do-cursor-name-fallback-for-standard-names.patch
+ patch -Np1 -i ../0002-wayland-Only-do-cursor-name-fallback-for-standard-na.patch
}
build() {
@@ -27,7 +38,6 @@ build() {
CXX=/bin/false ./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
- --enable-gtk2-dependency \
--disable-schemas-compile \
--enable-x11-backend \
--enable-broadway-backend \
@@ -39,7 +49,26 @@ build() {
make
}
-package() {
+package_gtk3() {
+ depends+=(gtk-update-icon-cache)
+ optdepends=('libcanberra: gtk3-widget-factory demo')
+ install=gtk3.install
+
cd "gtk+-$pkgver"
make DESTDIR="$pkgdir" install
+ install -Dm644 ../settings.ini "$pkgdir/usr/share/gtk-3.0/settings.ini"
+
+ # split this out to use with gtk2 too
+ rm "$pkgdir/usr/bin/gtk-update-icon-cache"
}
+
+package_gtk-update-icon-cache() {
+ pkgdesc="GTK+ icon cache updater"
+ depends=(gdk-pixbuf2 hicolor-icon-theme)
+ install=gtk-update-icon-cache.install
+
+ cd gtk+-$pkgver/gtk
+ install -Dm755 gtk-update-icon-cache "$pkgdir/usr/bin/gtk-update-icon-cache"
+}
+
+# vim:set et sw=4:
diff --git a/abs/extra/gtk3/gtk-update-icon-cache.install b/abs/extra/gtk3/gtk-update-icon-cache.install
new file mode 100644
index 0000000..1afcc72
--- /dev/null
+++ b/abs/extra/gtk3/gtk-update-icon-cache.install
@@ -0,0 +1,3 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+}
diff --git a/abs/extra/gtk3/settings.ini b/abs/extra/gtk3/settings.ini
index 6a0643b..921d1dd 100644
--- a/abs/extra/gtk3/settings.ini
+++ b/abs/extra/gtk3/settings.ini
@@ -1,4 +1,4 @@
[Settings]
-gtk-icon-theme-name = gnome
+gtk-icon-theme-name = Adwaita
gtk-theme-name = Adwaita
gtk-font-name = Cantarell 11
diff --git a/abs/extra/gtk3/wacom.patch b/abs/extra/gtk3/wacom.patch
deleted file mode 100644
index 79ad84f..0000000
--- a/abs/extra/gtk3/wacom.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -u -r gtk+-3.4.2/gdk/x11/gdkdevicemanager-xi2.c gtk+-3.4.2-wacom/gdk/x11/gdkdevicemanager-xi2.c
---- gtk+-3.4.2/gdk/x11/gdkdevicemanager-xi2.c 2012-05-02 14:45:04.000000000 +0200
-+++ gtk+-3.4.2-wacom/gdk/x11/gdkdevicemanager-xi2.c 2012-05-03 18:34:18.034807644 +0200
-@@ -331,6 +331,8 @@
- input_source = GDK_SOURCE_ERASER;
- else if (strstr (tmp_name, "cursor"))
- input_source = GDK_SOURCE_CURSOR;
-+ else if (strstr (tmp_name, "finger"))
-+ input_source = GDK_SOURCE_TOUCHSCREEN;
- else if (strstr (tmp_name, "wacom") ||
- strstr (tmp_name, "pen"))
- input_source = GDK_SOURCE_PEN;
diff --git a/abs/extra/guile/PKGBUILD b/abs/extra/guile/PKGBUILD
index 50f10eb..642bf8a 100644
--- a/abs/extra/guile/PKGBUILD
+++ b/abs/extra/guile/PKGBUILD
@@ -1,29 +1,29 @@
-# $Id: PKGBUILD 150868 2012-02-23 13:23:16Z ibiru $
+# $Id$
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
-# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=guile
-pkgver=1.8.8
-pkgrel=2
-pkgdesc="a portable, embeddable Scheme implementation written in C"
-url="http://www.gnu.org/software/guile/"
-arch=(i686 x86_64)
+pkgver=2.0.11
+pkgrel=3
+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>=5.7' 'texinfo')
+depends=('gmp' 'libltdl' 'ncurses' 'texinfo' 'libunistring' 'gc' 'libffi')
install=guile.install
-source=(ftp://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz)
-options=('!libtool')
-md5sums=('18661a8fdfef13e2fcb7651720aa53f3')
+source=(ftp://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.gz)
+md5sums=('e532c68c6f17822561e3001136635ddd')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd $pkgname-$pkgver
./configure --prefix=/usr \
- --disable-static \
- --disable-error-on-warning
- make LDFLAGS+="-lpthread"
+ --disable-static \
+ --disable-error-on-warning
+ make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
+ make -C $pkgname-$pkgver DESTDIR="$pkgdir" install
+ rm "$pkgdir"/usr/lib/libguile-2.0.so.22.7.2-gdb.scm
}
diff --git a/abs/extra/handbrake/PKGBUILD b/abs/extra/handbrake/PKGBUILD
index 058f218..499f790 100644
--- a/abs/extra/handbrake/PKGBUILD
+++ b/abs/extra/handbrake/PKGBUILD
@@ -4,18 +4,18 @@
# Contributor: Sebastien Piccand <sebcactus gmail com>
pkgname=('handbrake' 'handbrake-cli')
-pkgver=0.10.0
-pkgrel=1
+pkgver=0.10.2
+pkgrel=3
arch=('i686' 'x86_64')
-url="http://handbrake.fr/"
+url="https://handbrake.fr/"
license=('GPL')
makedepends=('intltool' 'python2' 'yasm' 'wget' 'bzip2' 'gcc-libs' 'libnotify'
'gst-plugins-base' 'gtk3' 'dbus-glib' 'fribidi' 'libass' 'lame'
'fontconfig' 'freetype2' 'libxml2' 'libogg' 'libvorbis' 'cmake'
'libtheora' 'libsamplerate' 'libbluray' 'x264' 'libx264'
- 'libdvdnav')
-source=(http://downloads.sourceforge.net/project/handbrake/$pkgver/HandBrake-$pkgver.tar.bz2)
-sha256sums=('a91042da3cc08454844f7c171ee2fde4f0ed08176407fc0328d5118227ed4114')
+ 'libdvdnav' 'librsvg' 'libgudev')
+source=(https://handbrake.fr/mirror/HandBrake-$pkgver.tar.bz2)
+sha256sums=('4cc3828393b26a982dbe00febd700c5090d3443c1d45492e0b373e02da73c699')
prepare() {
cd "$srcdir/HandBrake-$pkgver"
@@ -46,7 +46,9 @@ package_handbrake() {
depends=('bzip2' 'gcc-libs' 'gst-plugins-base' 'libnotify' 'dbus-glib'
'fribidi' 'libass' 'lame' 'gtk3' 'fontconfig' 'freetype2' 'libxml2'
'libogg' 'libvorbis' 'libtheora' 'libsamplerate' 'libbluray'
- 'libx264' 'libdvdnav' 'desktop-file-utils' 'hicolor-icon-theme')
+ 'libx264' 'libdvdnav' 'librsvg' 'libgudev' 'desktop-file-utils'
+ 'hicolor-icon-theme')
+ depends+=('libx264.so')
optdepends=('gst-plugins-good: for video previews'
'gst-libav: for video previews')
install=$pkgname.install
@@ -61,6 +63,7 @@ package_handbrake-cli() {
pkgdesc="Multithreaded video transcoder (CLI)"
depends=('bzip2' 'gcc-libs' 'zlib' 'fribidi' 'libass' 'lame' 'libxml2'
'libtheora' 'libsamplerate' 'libbluray' 'libx264' 'libdvdnav')
+ depends+=('libx264.so')
cd "$srcdir/HandBrake-$pkgver/build"
install -D HandBrakeCLI "$pkgdir/usr/bin/HandBrakeCLI"
diff --git a/abs/extra/handbrake/standard-presets-fix-type.patch b/abs/extra/handbrake/standard-presets-fix-type.patch
new file mode 100644
index 0000000..797c3fa
--- /dev/null
+++ b/abs/extra/handbrake/standard-presets-fix-type.patch
@@ -0,0 +1,88 @@
+Index: branches/0.10.x/gtk/src/standard_presets.xml
+===================================================================
+--- branches/0.10.x/gtk/src/standard_presets.xml (revision 6995)
++++ branches/0.10.x/gtk/src/standard_presets.xml (revision 7008)
+@@ -85,5 +85,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
+@@ -216,5 +216,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
+@@ -347,5 +347,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
+@@ -478,5 +478,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
+@@ -625,5 +625,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
+@@ -772,5 +772,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
+@@ -919,5 +919,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
+@@ -1050,5 +1050,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
+@@ -1181,5 +1181,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
+@@ -1312,5 +1312,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
+@@ -1458,5 +1458,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
+@@ -1605,5 +1605,5 @@
+ <string></string>
+ <key>PictureDenoiseFilter</key>
+- <integer>off</integer>
++ <string>off</string>
+ <key>PictureDenoiseCustom</key>
+ <string></string>
diff --git a/abs/extra/hardening-wrapper/PKGBUILD b/abs/extra/hardening-wrapper/PKGBUILD
new file mode 100644
index 0000000..b863f7e
--- /dev/null
+++ b/abs/extra/hardening-wrapper/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id$
+# Maintainer: Daniel Micay <danielmicay@gmail.com>
+pkgname=hardening-wrapper
+pkgver=10
+pkgrel=1
+pkgdesc='Wrapper scripts for building hardened executables by default'
+arch=(i686 x86_64)
+url='https://github.com/thestinger/hardening-wrapper'
+license=('MIT')
+depends=(bash)
+backup=(etc/hardening-wrapper.conf)
+source=("$pkgname-$pkgver.tar.gz::https://github.com/thestinger/hardening-wrapper/archive/$pkgver.tar.gz"
+ path.sh hardening-wrapper-i686.conf hardening-wrapper-x86_64.conf)
+sha1sums=('61e8c7e3062e6830cd7b190aa6b81834138a7137'
+ '1e5f6d9931f01b26bb4b6fbb839e21d34d534cdc'
+ '6729f0a6d2af72b6def9383e8104d0f763d3f01d'
+ '9453d7984a4a90aa884a51a7bf1bd2c72cbddc9f')
+
+package() {
+ install -Dm644 hardening-wrapper-${CARCH}.conf "$pkgdir/etc/hardening-wrapper.conf"
+ install -Dm644 path.sh "$pkgdir/etc/profile.d/hardening-wrapper.sh"
+
+ cd $pkgname-$pkgver
+ make install DESTDIR="$pkgdir" PREFIX=/usr
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/abs/extra/hardening-wrapper/hardening-wrapper-i686.conf b/abs/extra/hardening-wrapper/hardening-wrapper-i686.conf
new file mode 100644
index 0000000..5bc97ed
--- /dev/null
+++ b/abs/extra/hardening-wrapper/hardening-wrapper-i686.conf
@@ -0,0 +1,6 @@
+HARDENING_BINDNOW=0
+HARDENING_PIE=0
+HARDENING_FORTIFY=2
+HARDENING_RELRO=1
+HARDENING_STACK_CHECK=1
+HARDENING_STACK_PROTECTOR=2
diff --git a/abs/extra/hardening-wrapper/hardening-wrapper-x86_64.conf b/abs/extra/hardening-wrapper/hardening-wrapper-x86_64.conf
new file mode 100644
index 0000000..15d4fd1
--- /dev/null
+++ b/abs/extra/hardening-wrapper/hardening-wrapper-x86_64.conf
@@ -0,0 +1,6 @@
+HARDENING_BINDNOW=0
+HARDENING_PIE=1
+HARDENING_FORTIFY=2
+HARDENING_RELRO=1
+HARDENING_STACK_CHECK=1
+HARDENING_STACK_PROTECTOR=2
diff --git a/abs/extra/hardening-wrapper/path.sh b/abs/extra/hardening-wrapper/path.sh
new file mode 100644
index 0000000..640ab75
--- /dev/null
+++ b/abs/extra/hardening-wrapper/path.sh
@@ -0,0 +1 @@
+export PATH="/usr/lib/hardening-wrapper/bin:$PATH"
diff --git a/abs/extra/harfbuzz/PKGBUILD b/abs/extra/harfbuzz/PKGBUILD
index 1c066f1..df8912c 100644
--- a/abs/extra/harfbuzz/PKGBUILD
+++ b/abs/extra/harfbuzz/PKGBUILD
@@ -3,15 +3,22 @@
pkgbase=(harfbuzz)
pkgname=(harfbuzz harfbuzz-icu)
-pkgver=0.9.36
+pkgver=1.1.3
pkgrel=1
pkgdesc="OpenType text shaping engine"
arch=(i686 x86_64)
url="http://www.freedesktop.org/wiki/Software/HarfBuzz"
license=(MIT)
-makedepends=(glib2 freetype2 graphite cairo icu gobject-introspection python2)
+makedepends=(glib2 freetype2 graphite cairo icu gobject-introspection)
source=(http://www.freedesktop.org/software/harfbuzz/release/${pkgbase}-${pkgver}.tar.bz2)
-sha256sums=('3bfbf7b016167ee6b2a2f83948fef75cc1253081873d6a91022161815956b9be')
+sha256sums=('d93d7cb7979c32672e902fdfa884599e63f07f2fa5b06c66147d20c516d4b8f7')
+
+prepare() {
+ mkdir path
+ ln -s /usr/bin/python2 path/python
+
+ cd $pkgbase-$pkgver
+}
build() {
cd $pkgbase-$pkgver
@@ -23,7 +30,7 @@ build() {
check() {
cd $pkgbase-$pkgver
- make -k check || :
+ PATH="$srcdir/path:$PATH" make -k check || :
}
package_harfbuzz() {
diff --git a/abs/extra/htop/PKGBUILD b/abs/extra/htop/PKGBUILD
index 1ba9d94..531cf81 100644
--- a/abs/extra/htop/PKGBUILD
+++ b/abs/extra/htop/PKGBUILD
@@ -4,11 +4,11 @@
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=htop
-pkgver=1.0.3
+pkgver=2.0.1
pkgrel=1
pkgdesc="Interactive process viewer"
arch=('i686' 'x86_64')
-url="http://htop.sourceforge.net/"
+url="http://hisham.hm/htop/"
license=('GPL')
depends=('ncurses')
makedepends=('python2')
@@ -16,20 +16,14 @@ 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=('e768b9b55c033d9c1dffda72db3a6ac7')
-
-prepare() {
- cd "$pkgname-$pkgver"
-
- sed -i 's|ncursesw/curses.h|curses.h|' RichString.[ch] configure
- sed -i 's|python|python2|' scripts/MakeHeader.py
-}
+md5sums=('f75fe92b4defaa80d99109830f34b5e2')
build() {
cd "$pkgname-$pkgver"
./configure \
--prefix=/usr \
+ --sysconfdir=/etc \
--enable-unicode \
--enable-openvz \
--enable-vserver \
diff --git a/abs/extra/http-parser/PKGBUILD b/abs/extra/http-parser/PKGBUILD
new file mode 100644
index 0000000..668229c
--- /dev/null
+++ b/abs/extra/http-parser/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Brian Bidulock <bidulock@openss7.org>
+
+pkgname=http-parser
+pkgver=2.7.0
+pkgrel=1
+pkgdesc="Parser for HTTP Request/Response written in C"
+arch=('i686' 'x86_64')
+url="https://github.com/nodejs/http-parser"
+license=('MIT')
+depends=('glibc')
+makedepends=('git')
+source=("git+https://github.com/nodejs/http-parser.git#tag=v$pkgver")
+md5sums=('SKIP')
+
+prepare() {
+ sed -i 's|-Werror||' $pkgname/Makefile
+}
+
+build() {
+ cd $pkgname
+ make library
+}
+
+check() {
+ cd $pkgname
+ make test
+}
+
+package() {
+ cd $pkgname
+ make PREFIX="$pkgdir/usr" install
+
+ install -Dm644 LICENSE-MIT \
+ "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE-MIT"
+
+ ln -sf libhttp_parser.so.$pkgver "${pkgdir}/usr/lib/libhttp_parser.so"
+}
diff --git a/abs/extra/icu/PKGBUILD b/abs/extra/icu/PKGBUILD
index eafa339..90fb89b 100644
--- a/abs/extra/icu/PKGBUILD
+++ b/abs/extra/icu/PKGBUILD
@@ -3,8 +3,8 @@
# Contributor: Art Gramlich <art@gramlich-net.com>
pkgname=icu
-pkgver=54.1
-pkgrel=1
+pkgver=56.1
+pkgrel=2
pkgdesc="International Components for Unicode library"
arch=(i686 x86_64)
url="http://www.icu-project.org/"
@@ -14,7 +14,7 @@ depends=('gcc-libs>=4.7.1-5' 'sh')
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=('e844caed8f2ca24c088505b0d6271bc0'
+md5sums=('c4a2d71ff56aec5ebfab2a3f059be99d'
'ebd5470fc969c75e52baf4af94a9ee82')
prepare() {
diff --git a/abs/extra/itstool/PKGBUILD b/abs/extra/itstool/PKGBUILD
new file mode 100644
index 0000000..edfd764
--- /dev/null
+++ b/abs/extra/itstool/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Michael Pusterhofer <pusterhofer(at)student(dot)tugraz(dot)at>
+
+pkgname=itstool
+pkgver=2.0.2
+pkgrel=1
+pkgdesc="XML to PO and back again"
+arch=(any)
+url="http://itstool.org/"
+license=(GPL3)
+depends=(python2 libxml2)
+source=(http://files.itstool.org/itstool/$pkgname-$pkgver.tar.bz2)
+sha256sums=('bf909fb59b11a646681a8534d5700fec99be83bb2c57badf8c1844512227033a')
+
+prepare() {
+ cd $pkgname-$pkgver
+ sed -i 's/| python/&2/' configure.ac
+ autoreconf -fi
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr PYTHON=/usr/bin/python2
+ make
+}
+
+check() {
+ cd $pkgname-$pkgver
+ make -k check
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/abs/extra/json-c/PKGBUILD b/abs/extra/json-c/PKGBUILD
new file mode 100644
index 0000000..70dd735
--- /dev/null
+++ b/abs/extra/json-c/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+# 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"
+license=(MIT)
+arch=(i686 x86_64)
+depends=(glibc)
+source=(https://s3.amazonaws.com/${pkgname}_releases/releases/$pkgname-${pkgver}.tar.gz)
+sha256sums=('000c01b2b3f82dcb4261751eb71f1b084404fb7d6a282f06074d3c17078b9f3f')
+
+build() {
+ cd $pkgname-$pkgver
+ CFLAGS="$CFLAGS -Wno-error"
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+check() {
+ cd $pkgname-$pkgver
+ make check
+}
+
+package() {
+ cd $pkgname-$pkgver
+ 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
new file mode 100644
index 0000000..693cdbd
--- /dev/null
+++ b/abs/extra/jsoncpp/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id$
+# Maintainer: 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'
+url='https://github.com/open-source-parsers/jsoncpp'
+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')
+
+build() {
+ cd ${pkgname}-${pkgver}
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_STATIC_LIBS=OFF
+ make
+}
+
+check() {
+ cd ${pkgname}-${pkgver}
+ make test
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
+
diff --git a/abs/extra/kodi-addon-pvr-mythtv-git/PKGBUILD b/abs/extra/kodi-addon-pvr-mythtv-git/PKGBUILD
new file mode 100644
index 0000000..cee5f2d
--- /dev/null
+++ b/abs/extra/kodi-addon-pvr-mythtv-git/PKGBUILD
@@ -0,0 +1,64 @@
+# Maintainer: Westin Miller <equinox.aur@gmail.com>
+# Contributor: Michael Lass <bevan@bi-co.net>
+
+pkgname=kodi-addon-pvr-mythtv-git
+pkgver=r543.fd91be1
+pkgrel=1
+API=16
+if [ -z "$API" ]; then
+ error "No API Version Defined, defaulting to 16. 15 = Isengard, 16 = Jarvis, 99 = git master"
+fi
+API=${API:-16}
+
+_branch=$(
+ case "${API}" in
+ 15) echo "Isengard";;
+ 16) echo "Jarvis";;
+ 99) echo "master";;
+ *) error "Unknown API version.";;
+ esac
+)
+pkgdesc='MythTV PVR client addon for Kodi'
+arch=('armv7h' 'i686' 'x86_64')
+url="https://github.com/kodi-pvr/pvr.hts"
+license=('GPL')
+makedepends=('cmake' 'git' 'kodi-platform')
+if [ "$API" -eq "99" ]; then
+ depends=("kodi-git")
+else
+ depends=("kodi>=$API.0" "kodi<$[$API+1].0")
+fi
+provides=('kodi-addon-pvr-mythtv')
+conflicts=('kodi-addon-pvr-mythtv' 'kodi-pvr-addons')
+source=("${pkgname}::git+https://github.com/kodi-pvr/pvr.mythtv.git#branch=${_branch}"
+ 'p8-platform.patch')
+
+pkgver() {
+ cd "$pkgname"
+ printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+}
+
+build() {
+ cd kodi-addon-pvr-mythtv-git/
+ patch -p1 -i ${srcdir}/p8-platform.patch
+ cd ..
+
+ echo "API Version $API"
+ echo "Branch version $_branch"
+ mkdir -p "$pkgname/build"
+ cd "$pkgname/build"
+
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib/kodi \
+ -DCMAKE_BUILD_TYPE=Release \
+ ..
+ make
+}
+
+package() {
+ cd "$pkgname/build"
+ make DESTDIR="$pkgdir" install
+}
+md5sums=('SKIP'
+ 'a3cf865a74564f1c07b16c20265174d2')
diff --git a/abs/extra/kodi-addon-pvr-mythtv-git/__changelog b/abs/extra/kodi-addon-pvr-mythtv-git/__changelog
new file mode 100644
index 0000000..2094284
--- /dev/null
+++ b/abs/extra/kodi-addon-pvr-mythtv-git/__changelog
@@ -0,0 +1,4 @@
+PKGBUILD:
+ - Add p8-platform.patch
+ - force API=16
+ - change dep kodi-platform-git to kodi-platform
diff --git a/abs/extra/kodi-addon-pvr-mythtv-git/p8-platform.patch b/abs/extra/kodi-addon-pvr-mythtv-git/p8-platform.patch
new file mode 100644
index 0000000..87fb73f
--- /dev/null
+++ b/abs/extra/kodi-addon-pvr-mythtv-git/p8-platform.patch
@@ -0,0 +1,509 @@
+From 5aaf171deb1e31c7e3df173d109eb114499e5f45 Mon Sep 17 00:00:00 2001
+From: "h.udo" <hudokkow@gmail.com>
+Date: Wed, 6 Jan 2016 15:08:54 +0000
+Subject: [PATCH 1/2] [src] Update to p8-platform
+
+---
+ src/categories.cpp | 2 +-
+ src/cppmyth/MythScheduleHelper75.cpp | 2 +-
+ src/cppmyth/MythScheduleHelperNoHelper.cpp | 10 +++++-----
+ src/cppmyth/MythScheduleHelperNoHelper.h | 2 +-
+ src/cppmyth/MythScheduleManager.cpp | 2 +-
+ src/cppmyth/MythScheduleManager.h | 4 ++--
+ src/demux.cpp | 4 ++--
+ src/demux.h | 12 ++++++------
+ src/demuxer/tsDemuxer.cpp | 26 +++++++++++++-------------
+ src/demuxer/tsDemuxer.h | 4 ++--
+ src/fileOps.cpp | 2 +-
+ src/fileOps.h | 8 ++++----
+ src/filestreaming.cpp | 2 +-
+ src/pvrclient-mythtv.cpp | 2 +-
+ src/pvrclient-mythtv.h | 8 ++++----
+ src/tools.h | 2 +-
+ 16 files changed, 46 insertions(+), 46 deletions(-)
+
+diff --git a/src/categories.cpp b/src/categories.cpp
+index 1a10f9c..03d1867 100644
+--- a/src/categories.cpp
++++ b/src/categories.cpp
+@@ -22,7 +22,7 @@
+
+ #include "categories.h"
+ #include "client.h"
+-#include <platform/os.h>
++#include <p8-platform/os.h>
+
+ #define CATEGORIES_FILENAME "eit_categories.txt"
+ #define CATEGORIES_MAXLINESIZE 255
+diff --git a/src/cppmyth/MythScheduleHelper75.cpp b/src/cppmyth/MythScheduleHelper75.cpp
+index 58f0a87..be8beb9 100644
+--- a/src/cppmyth/MythScheduleHelper75.cpp
++++ b/src/cppmyth/MythScheduleHelper75.cpp
+@@ -34,7 +34,7 @@ using namespace ADDON;
+
+ MythTimerTypeList MythScheduleHelper75::GetTimerTypes() const
+ {
+- PLATFORM::CLockObject lock(m_lock);
++ P8PLATFORM::CLockObject lock(m_lock);
+ if (!m_timerTypeListInit)
+ {
+ m_timerTypeListInit = true;
+diff --git a/src/cppmyth/MythScheduleHelperNoHelper.cpp b/src/cppmyth/MythScheduleHelperNoHelper.cpp
+index 26358fc..751b895 100644
+--- a/src/cppmyth/MythScheduleHelperNoHelper.cpp
++++ b/src/cppmyth/MythScheduleHelperNoHelper.cpp
+@@ -40,7 +40,7 @@ MythScheduleHelperNoHelper::MythScheduleHelperNoHelper()
+
+ MythTimerTypeList MythScheduleHelperNoHelper::GetTimerTypes() const
+ {
+- PLATFORM::CLockObject lock(m_lock);
++ P8PLATFORM::CLockObject lock(m_lock);
+ return m_timerTypeList;
+ }
+
+@@ -103,7 +103,7 @@ static inline uint32_t expiration_key(const MythScheduleHelperNoHelper::RuleExpi
+
+ int MythScheduleHelperNoHelper::GetRuleExpirationId(const RuleExpiration& expiration) const
+ {
+- PLATFORM::CLockObject lock(m_lock);
++ P8PLATFORM::CLockObject lock(m_lock);
+ if (!m_expirationByKeyInit)
+ {
+ m_expirationByKeyInit = true;
+@@ -119,7 +119,7 @@ int MythScheduleHelperNoHelper::GetRuleExpirationId(const RuleExpiration& expira
+
+ MythScheduleHelperNoHelper::RuleExpiration MythScheduleHelperNoHelper::GetRuleExpiration(int id) const
+ {
+- PLATFORM::CLockObject lock(m_lock);
++ P8PLATFORM::CLockObject lock(m_lock);
+ static RuleExpiration _empty(false, 0, false);
+ RuleExpirationMap::const_iterator it = GetRuleExpirationMap().find(id);
+ if (it != m_expirationMap.end())
+@@ -129,7 +129,7 @@ MythScheduleHelperNoHelper::RuleExpiration MythScheduleHelperNoHelper::GetRuleEx
+
+ int MythScheduleHelperNoHelper::GetRuleRecordingGroupId(const std::string& name) const
+ {
+- PLATFORM::CLockObject lock(m_lock);
++ P8PLATFORM::CLockObject lock(m_lock);
+ if (!m_recGroupByNameInit)
+ {
+ m_recGroupByNameInit = true;
+@@ -145,7 +145,7 @@ int MythScheduleHelperNoHelper::GetRuleRecordingGroupId(const std::string& name)
+
+ std::string MythScheduleHelperNoHelper::GetRuleRecordingGroupName(int id) const
+ {
+- PLATFORM::CLockObject lock(m_lock);
++ P8PLATFORM::CLockObject lock(m_lock);
+ static std::string _empty = "";
+ if (!m_recGroupByIdInit)
+ {
+diff --git a/src/cppmyth/MythScheduleHelperNoHelper.h b/src/cppmyth/MythScheduleHelperNoHelper.h
+index 686c770..e3ec012 100644
+--- a/src/cppmyth/MythScheduleHelperNoHelper.h
++++ b/src/cppmyth/MythScheduleHelperNoHelper.h
+@@ -73,7 +73,7 @@ class MythScheduleHelperNoHelper : public MythScheduleManager::VersionHelper
+ virtual const MythTimerType::AttributeList& GetRuleExpirationNameList() const;
+ virtual const MythTimerType::AttributeList& GetRuleRecordingGroupList() const;
+
+- mutable PLATFORM::CMutex m_lock;
++ mutable P8PLATFORM::CMutex m_lock;
+
+ mutable bool m_timerTypeListInit;
+ mutable MythTimerTypeList m_timerTypeList;
+diff --git a/src/cppmyth/MythScheduleManager.cpp b/src/cppmyth/MythScheduleManager.cpp
+index 3381496..7466ac6 100644
+--- a/src/cppmyth/MythScheduleManager.cpp
++++ b/src/cppmyth/MythScheduleManager.cpp
+@@ -32,7 +32,7 @@
+ #include <math.h>
+
+ using namespace ADDON;
+-using namespace PLATFORM;
++using namespace P8PLATFORM;
+
+ enum
+ {
+diff --git a/src/cppmyth/MythScheduleManager.h b/src/cppmyth/MythScheduleManager.h
+index 00b0b6b..3106c2d 100644
+--- a/src/cppmyth/MythScheduleManager.h
++++ b/src/cppmyth/MythScheduleManager.h
+@@ -26,7 +26,7 @@
+ #include "MythChannel.h"
+
+ #include <kodi/xbmc_pvr_types.h>
+-#include <platform/threads/mutex.h>
++#include <p8-platform/threads/mutex.h>
+
+ #include <vector>
+ #include <list>
+@@ -209,7 +209,7 @@ class MythScheduleManager
+ static uint32_t MakeIndex(const MythRecordingRule& rule);
+
+ private:
+- mutable PLATFORM::CMutex m_lock;
++ mutable P8PLATFORM::CMutex m_lock;
+ Myth::Control *m_control;
+
+ int m_protoVersion;
+diff --git a/src/demux.cpp b/src/demux.cpp
+index 452f786..98243fb 100644
+--- a/src/demux.cpp
++++ b/src/demux.cpp
+@@ -20,7 +20,7 @@
+ *
+ */
+
+-#include <platform/os.h>
++#include <p8-platform/os.h>
+ #include <kodi/libXBMC_pvr.h>
+ #include <kodi/xbmc_codec_types.h>
+
+@@ -34,7 +34,7 @@
+ #define READAV_TIMEOUT 10000 // 10 secs
+
+ using namespace ADDON;
+-using namespace PLATFORM;
++using namespace P8PLATFORM;
+
+ void DemuxLog(int level, char *msg)
+ {
+diff --git a/src/demux.h b/src/demux.h
+index f86e27a..b84c1bc 100644
+--- a/src/demux.h
++++ b/src/demux.h
+@@ -25,9 +25,9 @@
+ #include "client.h"
+
+ #include <mythstream.h>
+-#include <platform/threads/threads.h>
+-#include <platform/threads/mutex.h>
+-#include <platform/util/buffer.h>
++#include <p8-platform/threads/threads.h>
++#include <p8-platform/threads/mutex.h>
++#include <p8-platform/util/buffer.h>
+ #include <kodi/xbmc_stream_utils.hpp>
+
+ #include <map>
+@@ -35,7 +35,7 @@
+
+ #define AV_BUFFER_SIZE 131072
+
+-class Demux : public TSDemux::TSDemuxer, PLATFORM::CThread
++class Demux : public TSDemux::TSDemuxer, P8PLATFORM::CThread
+ {
+ public:
+ Demux(Myth::Stream *file);
+@@ -56,8 +56,8 @@ class Demux : public TSDemux::TSDemuxer, PLATFORM::CThread
+ private:
+ Myth::Stream *m_file;
+ uint16_t m_channel;
+- PLATFORM::SyncedBuffer<DemuxPacket*> m_demuxPacketBuffer;
+- PLATFORM::CMutex m_mutex;
++ P8PLATFORM::SyncedBuffer<DemuxPacket*> m_demuxPacketBuffer;
++ P8PLATFORM::CMutex m_mutex;
+ ADDON::XbmcStreamProperties m_streams;
+
+ bool get_stream_data(TSDemux::STREAM_PKT* pkt);
+diff --git a/src/demuxer/tsDemuxer.cpp b/src/demuxer/tsDemuxer.cpp
+index 00e40c1..fc283a8 100644
+--- a/src/demuxer/tsDemuxer.cpp
++++ b/src/demuxer/tsDemuxer.cpp
+@@ -56,7 +56,7 @@ AVContext::AVContext(TSDemuxer* const demux, uint64_t pos, uint16_t channel)
+
+ void AVContext::Reset(void)
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ pid = 0xffff;
+ transport_error = false;
+@@ -75,7 +75,7 @@ uint16_t AVContext::GetPID() const
+
+ PACKET_TYPE AVContext::GetPIDType() const
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ if (packet)
+ return packet->packet_type;
+@@ -84,7 +84,7 @@ PACKET_TYPE AVContext::GetPIDType() const
+
+ uint16_t AVContext::GetPIDChannel() const
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ if (packet)
+ return packet->channel;
+@@ -93,7 +93,7 @@ uint16_t AVContext::GetPIDChannel() const
+
+ bool AVContext::HasPIDStreamData() const
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ // PES packets append frame buffer of elementary stream until next start of unit
+ // On new unit start, flag is held
+@@ -109,7 +109,7 @@ bool AVContext::HasPIDPayload() const
+
+ ElementaryStream* AVContext::GetPIDStream()
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ if (packet && packet->packet_type == PACKET_TYPE_PES)
+ return packet->stream;
+@@ -118,7 +118,7 @@ ElementaryStream* AVContext::GetPIDStream()
+
+ std::vector<ElementaryStream*> AVContext::GetStreams()
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ std::vector<ElementaryStream*> v;
+ for (std::map<uint16_t, Packet>::iterator it = packets.begin(); it != packets.end(); ++it)
+@@ -129,7 +129,7 @@ std::vector<ElementaryStream*> AVContext::GetStreams()
+
+ void AVContext::StartStreaming(uint16_t pid)
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ std::map<uint16_t, Packet>::iterator it = packets.find(pid);
+ if (it != packets.end())
+@@ -138,7 +138,7 @@ void AVContext::StartStreaming(uint16_t pid)
+
+ void AVContext::StopStreaming(uint16_t pid)
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ std::map<uint16_t, Packet>::iterator it = packets.find(pid);
+ if (it != packets.end())
+@@ -147,7 +147,7 @@ void AVContext::StopStreaming(uint16_t pid)
+
+ ElementaryStream* AVContext::GetStream(uint16_t pid) const
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ std::map<uint16_t, Packet>::const_iterator it = packets.find(pid);
+ if (it != packets.end())
+@@ -157,7 +157,7 @@ ElementaryStream* AVContext::GetStream(uint16_t pid) const
+
+ uint16_t AVContext::GetChannel(uint16_t pid) const
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ std::map<uint16_t, Packet>::const_iterator it = packets.find(pid);
+ if (it != packets.end())
+@@ -167,7 +167,7 @@ uint16_t AVContext::GetChannel(uint16_t pid) const
+
+ void AVContext::ResetPackets()
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ for (std::map<uint16_t, Packet>::iterator it = packets.begin(); it != packets.end(); ++it)
+ {
+@@ -391,7 +391,7 @@ uint64_t AVContext::GetPosition() const
+ */
+ int AVContext::ProcessTSPacket()
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ int ret = AVCONTEXT_CONTINUE;
+ std::map<uint16_t, Packet>::iterator it;
+@@ -516,7 +516,7 @@ int AVContext::ProcessTSPacket()
+ */
+ int AVContext::ProcessTSPayload()
+ {
+- PLATFORM::CLockObject lock(mutex);
++ P8PLATFORM::CLockObject lock(mutex);
+
+ if (!this->packet)
+ return AVCONTEXT_CONTINUE;
+diff --git a/src/demuxer/tsDemuxer.h b/src/demuxer/tsDemuxer.h
+index 2efbb58..ebb779e 100644
+--- a/src/demuxer/tsDemuxer.h
++++ b/src/demuxer/tsDemuxer.h
+@@ -24,7 +24,7 @@
+
+ #include "tsPacket.h"
+ #include "elementaryStream.h"
+-#include <platform/threads/mutex.h>
++#include <p8-platform/threads/mutex.h>
+
+ #include <map>
+ #include <vector>
+@@ -102,7 +102,7 @@ namespace TSDemux
+ int parse_ts_pes();
+
+ // Critical section
+- mutable PLATFORM::CMutex mutex;
++ mutable P8PLATFORM::CMutex mutex;
+
+ // AV stream owner
+ TSDemuxer* m_demux;
+diff --git a/src/fileOps.cpp b/src/fileOps.cpp
+index 80d6462..71a71f9 100644
+--- a/src/fileOps.cpp
++++ b/src/fileOps.cpp
+@@ -34,7 +34,7 @@
+ #define FILEOPS_RECORDING_DUMMY_ICON "recording.png"
+
+ using namespace ADDON;
+-using namespace PLATFORM;
++using namespace P8PLATFORM;
+
+ FileOps::FileOps(FileConsumer *consumer, const std::string& server, unsigned wsapiport, const std::string& wsapiSecurityPin)
+ : CThread()
+diff --git a/src/fileOps.h b/src/fileOps.h
+index 58081f4..90c023b 100644
+--- a/src/fileOps.h
++++ b/src/fileOps.h
+@@ -25,7 +25,7 @@
+ #include "cppmyth/MythProgramInfo.h"
+
+ #include <mythwsapi.h>
+-#include <platform/threads/threads.h>
++#include <p8-platform/threads/threads.h>
+
+ #include <string>
+ #include <vector>
+@@ -39,7 +39,7 @@ class FileConsumer
+ virtual void HandleCleanedCache() = 0;
+ };
+
+-class FileOps : public PLATFORM::CThread
++class FileOps : public P8PLATFORM::CThread
+ {
+ public:
+ enum FileType
+@@ -152,7 +152,7 @@ class FileOps : public PLATFORM::CThread
+ int m_errorCount;
+ };
+
+- PLATFORM::CMutex m_lock;
+- PLATFORM::CEvent m_queueContent;
++ P8PLATFORM::CMutex m_lock;
++ P8PLATFORM::CEvent m_queueContent;
+ std::list<FileOps::JobItem> m_jobQueue;
+ };
+diff --git a/src/filestreaming.cpp b/src/filestreaming.cpp
+index d25680e..eeaa672 100644
+--- a/src/filestreaming.cpp
++++ b/src/filestreaming.cpp
+@@ -22,7 +22,7 @@
+
+ #include "filestreaming.h"
+ #include "client.h"
+-#include <platform/os.h>
++#include <p8-platform/os.h>
+
+ #define MAX_READ_SIZE 131072
+
+diff --git a/src/pvrclient-mythtv.cpp b/src/pvrclient-mythtv.cpp
+index 5901d55..f0ed353 100644
+--- a/src/pvrclient-mythtv.cpp
++++ b/src/pvrclient-mythtv.cpp
+@@ -31,7 +31,7 @@
+ #include <cassert>
+
+ using namespace ADDON;
+-using namespace PLATFORM;
++using namespace P8PLATFORM;
+
+ PVRClientMythTV::PVRClientMythTV()
+ : m_connectionError(CONN_ERROR_NO_ERROR)
+diff --git a/src/pvrclient-mythtv.h b/src/pvrclient-mythtv.h
+index e9efc64..561fee3 100644
+--- a/src/pvrclient-mythtv.h
++++ b/src/pvrclient-mythtv.h
+@@ -28,7 +28,7 @@
+ #include "filestreaming.h"
+
+ #include <kodi/xbmc_pvr_types.h>
+-#include <platform/threads/mutex.h>
++#include <p8-platform/threads/mutex.h>
+ #include <mythsharedptr.h>
+ #include <mythcontrol.h>
+ #include <mytheventhandler.h>
+@@ -162,7 +162,7 @@ class PVRClientMythTV : public Myth::EventSubscriber, FileConsumer
+ // Backend
+ FileOps *m_fileOps;
+ MythScheduleManager *m_scheduleManager;
+- PLATFORM::CMutex m_lock;
++ P8PLATFORM::CMutex m_lock;
+
+ // Categories
+ Categories m_categories;
+@@ -182,7 +182,7 @@ class PVRClientMythTV : public Myth::EventSubscriber, FileConsumer
+ PVRChannelGroupMap m_PVRChannelGroups;
+ typedef std::map<unsigned int, unsigned int> PVRChannelMap;
+ PVRChannelMap m_PVRChannelUidById;
+- mutable PLATFORM::CMutex m_channelsLock;
++ mutable P8PLATFORM::CMutex m_channelsLock;
+ int FillChannelsAndChannelGroups();
+ MythChannel FindChannel(uint32_t channelId) const;
+ int FindPVRChannelUid(uint32_t channelId) const;
+@@ -192,7 +192,7 @@ class PVRClientMythTV : public Myth::EventSubscriber, FileConsumer
+
+ // Recordings
+ ProgramInfoMap m_recordings;
+- mutable PLATFORM::CMutex m_recordingsLock;
++ mutable P8PLATFORM::CMutex m_recordingsLock;
+ unsigned m_recordingChangePinCount;
+ bool m_recordingsAmountChange;
+ int m_recordingsAmount;
+diff --git a/src/tools.h b/src/tools.h
+index 45666bf..7ad3af9 100644
+--- a/src/tools.h
++++ b/src/tools.h
+@@ -21,7 +21,7 @@
+ *
+ */
+
+-#include <platform/os.h>
++#include <p8-platform/os.h>
+ #include <math.h>
+
+ #ifdef __WINDOWS__
+
+From 960830c023c74b54883ed558763275877088be90 Mon Sep 17 00:00:00 2001
+From: "h.udo" <hudokkow@gmail.com>
+Date: Wed, 6 Jan 2016 15:21:40 +0000
+Subject: [PATCH 2/2] [cmake] Update to p8-platform
+
+---
+ CMakeLists.txt | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 79d1b98..95fdbbb 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -9,10 +9,10 @@ enable_language(C)
+
+ find_package(kodi REQUIRED)
+ find_package(kodiplatform REQUIRED)
+-find_package(platform REQUIRED)
++find_package(p8-platform REQUIRED)
+
+ include_directories(${kodiplatform_INCLUDE_DIRS}
+- ${platform_INCLUDE_DIRS}
++ ${p8-platform_INCLUDE_DIRS}
+ ${KODI_INCLUDE_DIR}
+ ${PROJECT_SOURCE_DIR}/lib/cppmyth/src)
+
+@@ -54,7 +54,7 @@ set(MYTHTV_SOURCES src/avinfo.cpp
+
+ add_subdirectory(lib/cppmyth)
+
+-set(DEPLIBS ${platform_LIBRARIES} cppmyth)
++set(DEPLIBS ${p8-platform_LIBRARIES} cppmyth)
+ if(WIN32)
+ list(APPEND DEPLIBS ws2_32)
+ else()
diff --git a/abs/extra/kodi-platform/PKGBUILD b/abs/extra/kodi-platform/PKGBUILD
new file mode 100644
index 0000000..a0f776d
--- /dev/null
+++ b/abs/extra/kodi-platform/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id$
+# Maintainer: BlackEagle <ike.devolder@gmail.com>>
+
+pkgname=kodi-platform
+_commit=92583ef
+pkgver=20160131.92583ef
+pkgrel=2
+pkgdesc="platform library for external kodi addons"
+arch=('i686' 'x86_64')
+url='https://github.com/xbmc/kodi-platform'
+license=('GPL')
+depends=('kodi' 'p8-platform')
+makedepends=('git' 'cmake')
+source=("$pkgname::git://github.com/xbmc/kodi-platform.git#commit=$_commit")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd "$pkgname"
+ git log -1 --date=short --format="%cd.%h" | tr -d '-'
+}
+
+build() {
+ cd "$pkgname"
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DBUILD_SHARED_LIBS=1 \
+ -DUSE_LTO=1
+ make
+}
+
+package() {
+ cd "$pkgname"
+ make DESTDIR="$pkgdir/" install
+}
+
diff --git a/abs/extra/kodi-pvr-addons/PKGBUILD b/abs/extra/kodi-pvr-addons/PKGBUILD
deleted file mode 100644
index bf9c6d0..0000000
--- a/abs/extra/kodi-pvr-addons/PKGBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# $Id$
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Contributor: BlackEagle <ike.devolder@gmail.com>>
-
-pkgname=kodi-pvr-addons
-pkgver=20141212
-_relname='Helix_rc3'
-pkgrel=2
-pkgdesc="PVR add-ons for current stable kodi"
-arch=('i686' 'x86_64')
-url="https://github.com/opdenkamp/xbmc-pvr-addons"
-license=('GPL3')
-groups=('kodi-addons')
-depends=('kodi')
-makedepends=('git')
-optdepends=('tvheadend-git: tvheadend backend' 'mythtv: mythtv backend')
-replaces=('xbmc-pvr-addons')
-conflicts=('xbmc-pvr-addons' 'xbmc-pvr-addons-git')
-source=("$pkgname-$pkgver.tar.gz::https://github.com/opdenkamp/xbmc-pvr-addons/archive/${_relname}.tar.gz")
-
-build() {
- cd "$srcdir/xbmc-pvr-addons-${_relname}"
- ./bootstrap
- ./configure --prefix=/usr --enable-addons-with-dependencies
- make
-}
-
-package() {
- cd "$srcdir/xbmc-pvr-addons-${_relname}"
- make DESTDIR="$pkgdir/" install
-}
-
-sha256sums=('e48de53c58245e512095d515d463f013e51e165fc617f1cb93e443cdd9f5096b')
diff --git a/abs/extra/kodi/PKGBUILD b/abs/extra/kodi/PKGBUILD
index 91fe23c..6623868 100644
--- a/abs/extra/kodi/PKGBUILD
+++ b/abs/extra/kodi/PKGBUILD
@@ -9,12 +9,10 @@
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Maxime Gauduin <alucryd@gmail.com>
-_prefix=/usr
-
pkgbase=kodi
pkgname=('kodi' 'kodi-eventclients')
-pkgver=14.0
-_codename=Helix
+pkgver=16.1
+_codename=Jarvis
pkgrel=2
arch=('i686' 'x86_64')
url="http://kodi.tv"
@@ -22,11 +20,12 @@ license=('GPL2')
makedepends=(
'afpfs-ng' 'bluez-libs' 'boost' 'cmake' 'curl' 'cwiid' 'doxygen' 'git' 'glew'
'gperf' 'hicolor-icon-theme' 'jasper' 'java-runtime' 'libaacs' 'libass'
- 'libbluray' 'libcdio' 'libcec' 'libgl' 'libmariadbclient' 'libmicrohttpd'
+ 'libbluray' 'libcdio' 'libcec' 'libgl' 'libmysqlclient' 'libmicrohttpd'
'libmodplug' 'libmpeg2' 'libnfs' 'libplist' 'libssh' 'libva'
- 'libvdpau' 'libxrandr' 'libxslt' 'lzo' 'nasm' 'nss-mdns' 'python2-pillow'
- 'python2-pybluez' 'python2-simplejson' 'rtmpdump' 'sdl2' 'sdl_image'
- 'shairplay' 'smbclient' 'swig' 'taglib' 'tinyxml' 'unzip' 'upower' 'yajl' 'zip'
+ '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'
)
source=(
"$pkgname-$pkgver-$_codename.tar.gz::https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz"
@@ -40,6 +39,9 @@ prepare() {
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
}
build() {
@@ -53,12 +55,13 @@ build() {
# Configuring XBMC
export PYTHON_VERSION=2 # external python v2
- ./configure --prefix=$_prefix --exec-prefix=$_prefix \
+ ./configure --prefix=/usr --exec-prefix=/usr \
--disable-debug \
--enable-optimizations \
--enable-libbluray \
- --enable-external-libraries \
- --with-lirc-device=/run/lirc/lircd
+ --enable-shared-libraries \
+ --with-lirc-device=/run/lirc/lircd \
+ ac_cv_type__Bool=yes
# Now (finally) build
make
@@ -74,10 +77,10 @@ package_kodi() {
depends=(
'python2-pillow' 'python2-pybluez' 'python2-simplejson'
'mesa-demos' 'xorg-xdpyinfo'
- 'bluez-libs' 'fribidi' 'glew' 'hicolor-icon-theme' 'libcdio'
- 'libjpeg-turbo' 'libmariadbclient' 'libmicrohttpd' 'libssh'
+ 'bluez-libs' 'fribidi' 'glew' 'hicolor-icon-theme' 'libass' 'libcdio'
+ 'libjpeg-turbo' 'libmysqlclient' 'libmicrohttpd' 'libssh'
'libva' 'libxrandr' 'libxslt' 'lzo' 'sdl2' 'smbclient' 'taglib' 'tinyxml'
- 'yajl'
+ 'yajl' 'mesa' 'dcadec' 'desktop-file-utils'
)
optdepends=(
'afpfs-ng: Apple shares support'
@@ -102,11 +105,16 @@ package_kodi() {
# Running make install
make DESTDIR="$pkgdir" install
+ # We will no longer support the xbmc name
+ rm "$pkgdir/usr/share/xsessions/xbmc.desktop"
+ rm "$pkgdir/usr/bin/"xbmc{,-standalone}
+ # we will leave /usr/{include,lib,share}/xbmc for now
+
# Licenses
- install -dm755 ${pkgdir}${_prefix}/share/licenses/${pkgname}
+ install -dm755 ${pkgdir}/usr/share/licenses/${pkgname}
for licensef in LICENSE.GPL copying.txt; do
- mv ${pkgdir}${_prefix}/share/doc/kodi/${licensef} \
- ${pkgdir}${_prefix}/share/licenses/${pkgname}
+ mv ${pkgdir}/usr/share/doc/kodi/${licensef} \
+ ${pkgdir}/usr/share/licenses/${pkgname}
done
# LinHES stuff
@@ -124,12 +132,8 @@ package_kodi-eventclients() {
cd "$srcdir/xbmc-$pkgver-$_codename"
make DESTDIR="$pkgdir" eventclients WII_EXTRA_OPTS=-DCWIID_OLD
-
- install -dm755 "$pkgdir/usr/lib/python2.7/$pkgbase"
- #mv "$pkgdir/kodi"/* "$pkgdir/usr/lib/python2.7/$pkgbase"
- #rmdir "$pkgdir/kodi"
}
-md5sums=('9717c539789789b8aeaf1dcfdb9f2c69'
+md5sums=('79358ad5f77f42c5498a9412d5a78dd5'
'f6adc8e06d7076143ca2ad118126b158'
'f04d1c89f5108c6aba36cf708a74cc95')
diff --git a/abs/extra/kodi/__changelog b/abs/extra/kodi/__changelog
index 8015995..6069eb3 100644
--- a/abs/extra/kodi/__changelog
+++ b/abs/extra/kodi/__changelog
@@ -2,3 +2,4 @@ PKGBUILD - remove libpulse dep and remove --enable-pulse config option
PKGBUILD - Add /usr/LH/bin/kodi.sh
PKGBUILD - Add /etc/gen_lib_xml.d/kodi_lib.conf
kodi.install - add gen_lib_xml.py to post_install and post_remove
+PKGBUILD - change dep libmariadbclient to libmysqlclient
diff --git a/abs/extra/kodi/kodi.install b/abs/extra/kodi/kodi.install
index d28289b..01c138d 100644
--- a/abs/extra/kodi/kodi.install
+++ b/abs/extra/kodi/kodi.install
@@ -1,6 +1,6 @@
post_install() {
update_icons
- gen_lib_xml.py
+ gen_lib_xml.py
}
post_upgrade() {
@@ -9,7 +9,7 @@ post_upgrade() {
post_remove() {
update_icons
- gen_lib_xml.py
+ gen_lib_xml.py
}
update_icons() {
diff --git a/abs/extra/l-smash/PKGBUILD b/abs/extra/l-smash/PKGBUILD
new file mode 100644
index 0000000..6355a06
--- /dev/null
+++ b/abs/extra/l-smash/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id$
+# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
+# Contributor: Gustavo Alvarez <sl1pkn07@gmail.com>
+
+pkgname=l-smash
+pkgver=2.3.0
+pkgrel=2
+pkgdesc='MP4 muxer and other tools'
+arch=('i686' 'x86_64')
+url='https://github.com/l-smash/l-smash'
+license=('custom')
+depends=('glibc')
+provides=('liblsmash.so')
+source=("l-smash-${pkgver}.tar.gz::https://github.com/l-smash/l-smash/archive/v${pkgver}.tar.gz")
+sha256sums=('1c1a487191b723a486bd3e8abd5e28e0d34f7ac1964d98fac0a9a2db962e3838')
+
+build() {
+ cd l-smash-${pkgver}
+
+ ./configure \
+ --prefix='/usr' \
+ --enable-shared \
+ --disable-static
+ make
+}
+
+package() {
+ cd l-smash-${pkgver}
+
+ make DESTDIR="${pkgdir}" install
+
+ install -dm 755 "${pkgdir}"/usr/share/licenses/l-smash
+ install -m 644 LICENSE "${pkgdir}"/usr/share/licenses/l-smash/
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/ldb/PKGBUILD b/abs/extra/ldb/PKGBUILD
index 9a41c98..ed4d1f0 100644
--- a/abs/extra/ldb/PKGBUILD
+++ b/abs/extra/ldb/PKGBUILD
@@ -4,16 +4,18 @@
# Contributor: Marco A Rojas <marquicus at gmail dot com>
pkgname=ldb
-pkgver=1.1.17
+pkgver=1.1.24
pkgrel=1
pkgdesc="A schema-less, ldap like, API and database"
arch=('i686' 'x86_64')
url="http://ldb.samba.org/"
-source=(http://samba.org/ftp/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+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')
optdepends=('python2: for python bindings')
+validpgpkeys=('9147A339719518EE9011BCB54793916113084025') # Samba Library Distribution Key <samba-bugs@samba.org>
build() {
cd ${srcdir}/${pkgname}-${pkgver}
@@ -37,4 +39,5 @@ package() {
make DESTDIR=${pkgdir}/ install
}
-md5sums=('7c2ab4e3f2a4186493aa06eabbc61cc0')
+md5sums=('152f061422de5b90f8ce51e0ea316292'
+ 'SKIP')
diff --git a/abs/extra/leveldb/PKGBUILD b/abs/extra/leveldb/PKGBUILD
new file mode 100644
index 0000000..9c6b59f
--- /dev/null
+++ b/abs/extra/leveldb/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id$
+# Maintainer: Dave Reisner <dreisner@archlinux.org>
+# Contributor: feydaykyn <feydaykyn@yahoo.fr>
+
+pkgname=leveldb
+pkgver=1.18
+pkgrel=2
+pkgdesc="A fast and lightweight key/value database library"
+arch=('i686' 'x86_64')
+url="https://code.google.com/p/leveldb/"
+license=('BSD')
+depends=('gperftools' 'snappy')
+makedepends=('git')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/google/leveldb/archive/v$pkgver.tar.gz")
+sha1sums=('18684a0ad7a07920d10f5295b171fbf5eeec7337')
+
+build() {
+ make -C "$pkgname-$pkgver"
+}
+
+check() {
+ make -C "$pkgname-$pkgver" check
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+
+ install -dm755 \
+ "$pkgdir"/usr/{include/leveldb,lib} \
+ "$pkgdir"/usr/share/doc/"$pkgname"
+
+ # libraries
+ install -m644 -t "$pkgdir/usr/lib" "libleveldb.so.${pkgver%.?*}" libleveldb.a
+ cp -P libleveldb.so* "$pkgdir/usr/lib"
+
+ # headers
+ install -m644 -t "$pkgdir/usr/include/leveldb" include/leveldb/*
+
+ # documentation
+ cp -r doc/* "$pkgdir/usr/share/doc/$pkgname"
+
+ # license
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/abs/extra/libbluray/PKGBUILD b/abs/extra/libbluray/PKGBUILD
index bdedee0..d596927 100644
--- a/abs/extra/libbluray/PKGBUILD
+++ b/abs/extra/libbluray/PKGBUILD
@@ -4,15 +4,18 @@
# Contributor: Andrew Cook <ariscop@gmail.com>
pkgname=libbluray
-pkgver=0.6.2
+pkgver=0.9.2
pkgrel=1
pkgdesc='Library to access Blu-Ray disks for video playback'
arch=('i686' 'x86_64')
url='http://www.videolan.org/developers/libbluray.html'
license=('LGPL2.1')
-depends=('libxml2' 'freetype2')
+depends=('libxml2' 'freetype2' 'fontconfig')
+makedepends=('apache-ant')
+optdepends=('java-environment: for BD-J library')
+provides=('libbluray.so')
source=(ftp://ftp.videolan.org/pub/videolan/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2)
-md5sums=('f4d2f2cab53f976cbb22cbae069057bd')
+md5sums=('836b2de16547776bf2726166cf796f13')
build() {
cd $pkgname-$pkgver
diff --git a/abs/extra/libcdio/PKGBUILD b/abs/extra/libcdio/PKGBUILD
index d4b425b..c20a675 100644
--- a/abs/extra/libcdio/PKGBUILD
+++ b/abs/extra/libcdio/PKGBUILD
@@ -4,7 +4,7 @@
pkgname=libcdio
pkgver=0.93
-pkgrel=1
+pkgrel=3
pkgdesc="GNU Compact Disc Input and Control Library"
arch=('i686' 'x86_64')
license=('GPL3')
@@ -16,6 +16,7 @@ source=(http://ftp.gnu.org/gnu/libcdio/${pkgname}-${pkgver}.tar.gz{,.sig}
md5sums=('d154476feaac5a7b5f180e83eaf3d689'
'SKIP'
'5a7f50209c03d5919d5b932f07871af7')
+validpgpkeys=('DAA63BC2582034A02B923D521A8DE5008275EC21') # R. Bernstein
prepare() {
cd ${pkgname}-${pkgver}
diff --git a/abs/extra/libcrossguid/PKGBUILD b/abs/extra/libcrossguid/PKGBUILD
new file mode 100644
index 0000000..aff05a7
--- /dev/null
+++ b/abs/extra/libcrossguid/PKGBUILD
@@ -0,0 +1,41 @@
+# Maintainer: BlackEagle <ike DOT devolder AT gmail DOT com>
+
+pkgname=libcrossguid
+_gitname=libcrossguid
+_commit=8f399e8
+pkgver=20150803.$_commit
+pkgrel=1
+pkgdesc="Lightweight cross platform C++ GUID/UUID library"
+arch=('i686' 'x86_64')
+url="https://github.com/graeme-hill/crossguid"
+license=('MIT')
+makedepends=('git')
+provides=('libcrossguid')
+conflicts=('libcrossguid')
+source=("$_gitname::git+https://github.com/graeme-hill/crossguid.git#commit=$_commit")
+md5sums=('SKIP')
+
+build() {
+ cd libcrossguid
+
+ g++ -c guid.cpp -o guid.o $CXXFLAGS -std=c++11 -DGUID_LIBUUID
+ ar rvs libcrossguid.a guid.o
+
+ g++ -c test.cpp -o test.o $CXXFLAGS -std=c++11
+ g++ -c testmain.cpp -o testmain.o $CXXFLAGS
+ g++ test.o guid.o testmain.o -o test $CXXFLAGS -luuid
+ chmod +x test
+}
+
+check(){
+ cd libcrossguid
+ ./test
+}
+
+package() {
+ cd libcrossguid
+ install -D -m644 libcrossguid.a "${pkgdir}/usr/lib/libcrossguid.a"
+ install -D -m644 guid.h "${pkgdir}/usr/include/guid.h"
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
diff --git a/abs/extra/libcrystalhd-git/PKGBUILD b/abs/extra/libcrystalhd-git/PKGBUILD
index c0bf7d1..8778296 100644
--- a/abs/extra/libcrystalhd-git/PKGBUILD
+++ b/abs/extra/libcrystalhd-git/PKGBUILD
@@ -14,23 +14,25 @@ _gitroot='git://linuxtv.org/jarod/crystalhd.git'
_gitname='crystalhd'
build() {
-
- cd $startdir/src
-
+ cd $srcdir/
msg "Connecting to git.wilsonet.com GIT server...."
-
- if [ -d $startdir/src/$_gitname ] ; then
+ if [ -d $srcdir/$_gitname ] ; then
cd $_gitname && git pull origin
msg "The local files are updated."
else
git clone $_gitroot
cd $_gitname
fi
-
cd linux_lib/libcrystalhd
-
make || return 1
+}
+
+package() {
+ cd $srcdir/$_gitname/linux_lib/libcrystalhd
make install DESTDIR=$pkgdir || return 1
+ # move lib/firmware to usr/lib/firmware
+ mv ${pkgdir}/lib/firmware ${pkgdir}/usr/lib/
+ rm -rf ${pkgdir}/lib
}
md5sums=()
diff --git a/abs/extra/libee/PKGBUILD b/abs/extra/libee/PKGBUILD
new file mode 100644
index 0000000..2964d8a
--- /dev/null
+++ b/abs/extra/libee/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Brian Knox <taotetek@gmail.com>
+
+pkgname=libee
+pkgver=0.4.1
+pkgrel=3
+pkgdesc="event expression library inspired by CEE"
+url="http://www.libee.org/"
+arch=('i686' 'x86_64')
+license=('LGPL2.1')
+depends=('libestr' 'glibc')
+makedepends=()
+optdepends=()
+source=("http://www.libee.org/files/download/libee-$pkgver.tar.gz")
+md5sums=('7bbf4160876c12db6193c06e2badedb2')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr --sbindir=/usr/bin
+ make -j1
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make install DESTDIR=${pkgdir}
+}
diff --git a/abs/extra/libepoxy/PKGBUILD b/abs/extra/libepoxy/PKGBUILD
new file mode 100644
index 0000000..5ba5cf8
--- /dev/null
+++ b/abs/extra/libepoxy/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id$
+# Maintainer: Laurent Carlier <lordheavym@gmail.com>
+
+pkgname=libepoxy
+pkgver=1.2
+pkgrel=2
+pkgdesc="A library for handling OpenGL function pointer management for you"
+url="https://github.com/anholt/libepoxy"
+arch=('i686' 'x86_64')
+license=(MIT)
+depends=('glibc')
+makedepends=('xorg-util-macros' 'python2' 'mesa-libgl')
+options=('!libtool')
+source=(${pkgname}-${pkgver}.tar.gz::https://github.com/anholt/${pkgname}/archive/v${pkgver}.tar.gz)
+md5sums=('12d6b7621f086c0c928887c27d90bc30')
+
+build() {
+ cd "${pkgname}-${pkgver}"
+
+ ./autogen.sh --prefix=/usr
+}
+
+check() {
+ cd "${pkgname}-${pkgver}"
+
+ make -k check
+}
+
+package() {
+ cd "${pkgname}-${pkgver}"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/COPYING
+}
+
diff --git a/abs/extra/libepoxy/__changelog b/abs/extra/libepoxy/__changelog
new file mode 100644
index 0000000..00bdcfb
--- /dev/null
+++ b/abs/extra/libepoxy/__changelog
@@ -0,0 +1 @@
+-PKGBUILD: change dep python to python2
diff --git a/abs/extra/libestr/PKGBUILD b/abs/extra/libestr/PKGBUILD
new file mode 100644
index 0000000..065e1f8
--- /dev/null
+++ b/abs/extra/libestr/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Brian Knox <taotetek@gmail.com>
+
+pkgname=libestr
+pkgver=0.1.10
+pkgrel=1
+pkgdesc="essentials for string handling (and a bit more)"
+url="http://libestr.adiscon.com/"
+arch=('i686' 'x86_64')
+license=('LGPL2.1')
+depends=()
+source=("http://libestr.adiscon.com/files/download/libestr-$pkgver.tar.gz")
+md5sums=('f4c9165a23587e77f7efe65d676d5e8e')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make install DESTDIR=${pkgdir}
+}
diff --git a/abs/extra/libfbclient/ChangeLog b/abs/extra/libfbclient/ChangeLog
new file mode 100644
index 0000000..f02bd5f
--- /dev/null
+++ b/abs/extra/libfbclient/ChangeLog
@@ -0,0 +1,26 @@
+
+2009-06-08 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Rebuilt for the new icu
+
+2009-04-09 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for i686: 2.1.2
+
+2008-08-10 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated for i686: 2.1.1
+
+2008-05-10 Mateusz Herych <heniekk@gmail.com>
+
+ * Updated for x86_64 - 2.1.0
+
+2008-04-28 Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+ * Updated for i686 - 2.1.0
+ * Sure, firebird is the hell to build. Waiting contributions ;-)
+
+2007-07-06 tardo <tardo@nagi-fanboi.net>
+
+ * Built for x86_64
+ * This is the most fucked up pkg evar.
diff --git a/abs/extra/libfbclient/LICENSE b/abs/extra/libfbclient/LICENSE
new file mode 100644
index 0000000..e735b0c
--- /dev/null
+++ b/abs/extra/libfbclient/LICENSE
@@ -0,0 +1,44 @@
+
+LICENSES
+--------
+
+The applicable and approved licenses for the source files
+of the Firebird RDBMS project are:
+
+ 1) InterBase Public License (IPL), version 1.0
+ http://bdn.borland.com/article/0,1410,30198,00.html
+
+ 2) Initial Developer's Public License (IDPL), version 1.0
+ http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl
+
+The IPL is copyright of Borland Corp., the other licenses are copyright
+by the source code authors and contributors.
+
+
+USAGE RULES
+-----------
+
+1) The source code which was released under the IPL must keep this license.
+ All modifications / adaptations of this code are still subjects of the IPL.
+
+2) The files that are derived from the IPL covered code, must also keep
+ this license. It means that if any new file contains some code covered by
+ the IPL, then this file should be released under the IPL too.
+
+3) The new files developed by the members of the Firebird project should
+ be released under the IDPL.
+
+4) The new files contributed by people who are not members of the Firebird
+ project should follow the rule #3. If an author (initial developer) doesn't
+ specify the license to be used, the person who applies the contributed code
+ to the CVS tree (a committer) becomes responsible for the license assigned
+ to the contributed code.
+
+5) Every non-binary file that exists in the CVS tree, should have a header
+ section which describes the license this code is released under. If a file
+ contains no header, it means that this code is freeware and nobody owns the
+ appropriate copyrights.
+
+
+You may find the exhibits for the approved licenses in /doc/license directory
+of the CVS tree.
diff --git a/abs/extra/libfbclient/PKGBUILD b/abs/extra/libfbclient/PKGBUILD
new file mode 100644
index 0000000..56c80b2
--- /dev/null
+++ b/abs/extra/libfbclient/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id$
+# Maintainer: Carlier Laurent <lordheavym@gmail.com>
+# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+pkgname=libfbclient
+pkgver=2.5.4.26856
+pkgrel=3
+pkgdesc="Client library for Firebird."
+arch=('i686' 'x86_64')
+url="http://www.firebirdsql.org/"
+license=('custom')
+depends=('gcc-libs' 'icu')
+options=('!makeflags')
+source=(http://downloads.sourceforge.net/firebird/Firebird-$pkgver-0.tar.bz2
+ LICENSE)
+md5sums=('7a17ec9889424b98baa29e001a054434'
+ '0d61798861e159c85dbdf0f30fe2f2ce')
+
+build() {
+ cd $srcdir/Firebird-$pkgver-0
+
+ ./configure --prefix=/usr --with-system-icu --without-fbudf \
+ --without-fbsbin --without-fbconf --without-fbdoc --without-fbsample \
+ --without-fbsample-db --without-fbintl --without-fbmisc --without-fbhelp \
+ --without-fbsecure-db --with-fbmsg=/usr/share/firebird --without-fblog \
+ --without-fbglock --without-fbplugins
+
+ make
+}
+
+package() {
+ cd $srcdir/Firebird-$pkgver-0
+
+ mkdir -p $pkgdir/usr/{bin,share/{firebird,licenses/$pkgname}}
+
+ cp -R gen/firebird/{lib,include} $pkgdir/usr
+ rm -f $pkgdir/usr/lib/libedit.a
+
+ install -m644 gen/firebird/*.msg $pkgdir/usr/share/firebird
+ install -m755 gen/firebird/bin/fb_config $pkgdir/usr/bin
+ install -m644 ${srcdir}/LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+
+ # Add libgds support FS#30062 FS#30282
+ cd $pkgdir/usr/lib
+ ln -s libfbclient.so libgds.so.0
+ ln -s libfbclient.so libgds.so
+}
diff --git a/abs/extra/libglvnd/LICENSE b/abs/extra/libglvnd/LICENSE
new file mode 100644
index 0000000..57bc4f4
--- /dev/null
+++ b/abs/extra/libglvnd/LICENSE
@@ -0,0 +1,26 @@
+Copyright (c) 2013, NVIDIA CORPORATION.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and/or associated documentation files (the
+"Materials"), to deal in the Materials without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Materials, and to
+permit persons to whom the Materials are furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+unaltered in all copies or substantial portions of the Materials.
+Any additions, deletions, or changes to the original source files
+must be clearly indicated in accompanying documentation.
+
+If only executable code is distributed, then the accompanying
+documentation must state that "this software is based in part on the
+work of the Khronos Group."
+
+THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. \ No newline at end of file
diff --git a/abs/extra/libglvnd/PKGBUILD b/abs/extra/libglvnd/PKGBUILD
new file mode 100644
index 0000000..b3ef540
--- /dev/null
+++ b/abs/extra/libglvnd/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 249779 2015-10-27 00:47:25Z eric $
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgname=libglvnd
+pkgver=0.0.0.20160210
+_commit=236710018777d8b16f62b5c275e3ee95af7052cd
+pkgrel=2
+pkgdesc="The GL Vendor-Neutral Dispatch library"
+arch=('i686' 'x86_64')
+url="https://github.com/NVIDIA/libglvnd"
+license=('custom:BSD-like')
+depends=('libxext')
+makedepends=('xorg-server-devel' 'git' 'python2')
+source=("git+https://github.com/NVIDIA/libglvnd.git#commit=$_commit"
+ LICENSE)
+sha1sums=('SKIP'
+ 'c88e07f333fcf8dcdbef370b85372b4d88ad8a66')
+
+build() {
+ cd $pkgname
+ ./autogen.sh
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname
+ make DESTDIR="${pkgdir}" install
+
+ # For compatibility with older nvidia drivers for bumblebee
+ # Symlinks to /usr/lib will be in nvidia-libgl
+ mkdir "$pkgdir/usr/lib/nvidia"
+ for _lib in libGL.so libGLESv1_CM.so libGLESv2.so; do
+ mv "$pkgdir"/usr/lib/$_lib* "$pkgdir"/usr/lib/nvidia/
+ done
+
+ install -Dm644 ../LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/abs/extra/libgudev/PKGBUILD b/abs/extra/libgudev/PKGBUILD
new file mode 100644
index 0000000..363b588
--- /dev/null
+++ b/abs/extra/libgudev/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id$
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+
+pkgname=libgudev
+pkgver=230
+pkgrel=1
+pkgdesc="GObject bindings for libudev"
+arch=('i686' 'x86_64')
+url="https://wiki.gnome.org/Projects/libgudev"
+license=('LGPL2.1')
+depends=('libsystemd')
+makedepends=('systemd' 'gobject-introspection' 'gtk-doc')
+provides=('libgudev-1.0.so')
+conflicts=('libsystemd<221')
+source=(https://download.gnome.org/sources/$pkgname/$pkgver/$pkgname-$pkgver.tar.xz)
+sha256sums=('a2e77faced0c66d7498403adefcc0707105e03db71a2b2abd620025b86347c18')
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ ./configure \
+ --prefix=/usr \
+ --enable-gtk-doc
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/libinput/PKGBUILD b/abs/extra/libinput/PKGBUILD
new file mode 100644
index 0000000..1d39dd9
--- /dev/null
+++ b/abs/extra/libinput/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id$
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Maintainer: Jan de Groot
+
+pkgname=libinput
+pkgver=1.1.4
+pkgrel=1
+pkgdesc="library that handles input devices for display servers and other applications that need to directly deal with input devices."
+arch=(i686 x86_64)
+url="http://www.freedesktop.org/wiki/Software/libinput/"
+license=(custom:X11)
+depends=('mtdev' 'systemd' 'libevdev')
+install=libinput.install
+options=('!libtool')
+source=(http://freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz{,.sig})
+sha256sums=('302cb76209b9c57a5a318e178f9bc446eede8ea79386103b5291cbfaa5fab5b6'
+ 'SKIP')
+validpgpkeys=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF') # Peter Hutterer (Who-T) <office@who-t.net>
+
+prepare() {
+ cd $pkgname-$pkgver
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+check() {
+ cd $pkgname-$pkgver
+ make check
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/abs/extra/libinput/libinput.install b/abs/extra/libinput/libinput.install
new file mode 100644
index 0000000..b9d5d0e
--- /dev/null
+++ b/abs/extra/libinput/libinput.install
@@ -0,0 +1,11 @@
+post_install() {
+ udevadm hwdb --update >/dev/null 2>&1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/abs/extra/liblogging/PKGBUILD b/abs/extra/liblogging/PKGBUILD
new file mode 100644
index 0000000..7f27113
--- /dev/null
+++ b/abs/extra/liblogging/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Denis Wernert <deniswernert@gmail.com>
+
+pkgname=liblogging
+pkgver=1.0.5
+pkgrel=1
+pkgdesc="easy to use, portable, open source library for system logging"
+url="http://www.liblogging.org/"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('systemd')
+makedepends=('python2-docutils')
+options=('strip' 'zipman' '!libtool')
+source=("http://download.rsyslog.com/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('44b8ce2daa1bfb84c9feaf42f9925fd7')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make install DESTDIR=${pkgdir}
+}
diff --git a/abs/extra/liblogging/__changelog b/abs/extra/liblogging/__changelog
new file mode 100644
index 0000000..a082f73
--- /dev/null
+++ b/abs/extra/liblogging/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD
+- change dep python-docutils to python2-docutils
diff --git a/abs/extra/libmicrohttpd/PKGBUILD b/abs/extra/libmicrohttpd/PKGBUILD
index 76c7b6e..316d989 100644
--- a/abs/extra/libmicrohttpd/PKGBUILD
+++ b/abs/extra/libmicrohttpd/PKGBUILD
@@ -6,7 +6,7 @@
# Contributor: Mathias Rohnstock <linksoft@gmx.de>
pkgname=libmicrohttpd
-pkgver=0.9.37
+pkgver=0.9.44
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')
@@ -16,7 +16,7 @@ depends=('gnutls' 'libgcrypt')
optdepends=('file' 'curl')
install=libmicrohttpd.install
source=(ftp://ftp.gnu.org/gnu/libmicrohttpd/$pkgname-$pkgver.tar.gz)
-md5sums=('fdf1e0534d83bbf2663f80fa7873be77')
+md5sums=('9101b5ebf8f71792938ae672da314da2')
build() {
cd ${pkgname}-${pkgver}
diff --git a/abs/extra/libnfs/PKGBUILD b/abs/extra/libnfs/PKGBUILD
index eaef7ac..42cf789 100644
--- a/abs/extra/libnfs/PKGBUILD
+++ b/abs/extra/libnfs/PKGBUILD
@@ -1,30 +1,34 @@
-# $Id: PKGBUILD 68570 2012-03-28 10:32:51Z idevolder $
+# $Id$
# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
pkgname=libnfs
-pkgver=1.3.0
+pkgver=1.10.0
pkgrel=1
pkgdesc="client library for accessing NFS shares"
arch=('i686' 'x86_64')
url="https://github.com/sahlberg/libnfs"
license=('GPL')
depends=('glibc')
-source=("$pkgname-$pkgver.tar.gz::https://github.com/sahlberg/libnfs/tarball/$pkgname-$pkgver")
-_srcfolder=sahlberg-libnfs-47e5a2c
-sha256sums=('0acda3029db699c3978684080843f71d222ad35b30a2ff0d220d144e98854948')
-options=(!libtool)
+source=(
+ "https://github.com/sahlberg/$pkgname/archive/$pkgname-$pkgver.tar.gz"
+)
+sha256sums=('7f6c62a05c7e0f0749f2b13f178a4ed7aaf17bd09e65a10bb147bfe9807da272')
-build() {
- mv "$_srcfolder" "$pkgname-$pkgver"
+#prepare() {
+ #cd "$pkgname-$pkgname-$pkgver"
+
+#}
- cd "$pkgname-$pkgver"
+build() {
+ cd "$pkgname-$pkgname-$pkgver"
- autoreconf -vif
- ./configure --prefix=/usr
- make
+ autoreconf -vif
+ ./configure --prefix=/usr
+ make
}
package() {
- cd "$pkgname-$pkgver"
- make DESTDIR="$pkgdir" install
+ cd "$pkgname-$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
}
+
diff --git a/abs/extra/librelp/PKGBUILD b/abs/extra/librelp/PKGBUILD
new file mode 100644
index 0000000..a127fed
--- /dev/null
+++ b/abs/extra/librelp/PKGBUILD
@@ -0,0 +1,23 @@
+# Maintainer: Kaiting Chen <kaiting.chen@kiwilight.com>
+
+pkgname='librelp'
+pkgver='1.2.7'
+pkgrel=3
+pkgdesc="The Reliable Event Logging Protocol"
+url="http://www.librelp.com/"
+arch=('i686' 'x86_64')
+license=('GPL3')
+depends=('gnutls')
+source=("http://download.rsyslog.com/librelp/librelp-${pkgver}.tar.gz")
+md5sums=('26e02602490af3a681a2a13e6ce29efb')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/abs/extra/libsoxr/0001-fix-ineffectual-SOXR_MINIMUM_PHASE-and-SOXR_INTERMED.patch b/abs/extra/libsoxr/0001-fix-ineffectual-SOXR_MINIMUM_PHASE-and-SOXR_INTERMED.patch
new file mode 100644
index 0000000..c55d81b
--- /dev/null
+++ b/abs/extra/libsoxr/0001-fix-ineffectual-SOXR_MINIMUM_PHASE-and-SOXR_INTERMED.patch
@@ -0,0 +1,26 @@
+From fb8657b4469f864f9722d28bbb86c9b8a53446ac Mon Sep 17 00:00:00 2001
+From: Rob Sykes <rob@rob-Ideapad-S205.(none)>
+Date: Sun, 7 Apr 2013 07:39:36 +0100
+Subject: [PATCH 1/1] fix ineffectual SOXR_MINIMUM_PHASE and
+ SOXR_INTERMEDIATE_PHASE in soxr_quality_spec recipe
+
+---
+ src/soxr.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/soxr.c b/src/soxr.c
+index 93dd9c1..36b0251 100644
+--- a/src/soxr.c
++++ b/src/soxr.c
+@@ -85,7 +85,7 @@ soxr_quality_spec_t soxr_quality_spec(unsigned long recipe, unsigned long flags)
+ quality = 6;
+ else if (quality > 10)
+ quality = 0;
+- p->phase_response = "\62\31\144"[(recipe & 0x30)>>8];
++ p->phase_response = "\62\31\144"[(recipe & 0x30) >> 4];
+ p->stopband_begin = 1;
+ p->precision = !quality? 0: quality < 3? 16 : quality < 8? 4 + quality * 4 : 55 - quality * 4;
+ rej = p->precision * linear_to_dB(2.);
+--
+2.3.5
+
diff --git a/abs/extra/libsoxr/PKGBUILD b/abs/extra/libsoxr/PKGBUILD
new file mode 100644
index 0000000..b3b4a6e
--- /dev/null
+++ b/abs/extra/libsoxr/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id$
+# Maintainer: Anatol Pomozov
+# Contributor: JSpaces <jspace -aT- unseen -d0T- is>
+# Contributor: Triode <triode1 -aT- btinternet -d0t- com>
+
+pkgname=libsoxr
+pkgver=0.1.1
+pkgrel=3
+pkgdesc='The SoX Resampler library that aims to give fast and high quality results for any constant resampling ratio'
+arch=(i686 x86_64)
+url='http://sourceforge.net/p/soxr/wiki/Home/'
+license=(GPL)
+depends=(gcc-libs)
+makedepends=(cmake)
+options=(!emptydirs)
+source=(http://downloads.sourceforge.net/project/soxr/soxr-$pkgver-Source.tar.xz
+ 0001-fix-ineffectual-SOXR_MINIMUM_PHASE-and-SOXR_INTERMED.patch)
+sha1sums=('f5d90e375db3914a522fef477898bde8c70243e7'
+ '73e6a3418001ce01aa16c3d8e29e2535d0158111')
+
+prepare() {
+ cd soxr-$pkgver-Source
+ patch -p1 < "$srcdir"/0001-fix-ineffectual-SOXR_MINIMUM_PHASE-and-SOXR_INTERMED.patch
+}
+
+build() {
+ cd soxr-$pkgver-Source
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_EXAMPLES=OFF \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DVISIBILITY_HIDDENL=ON \
+ -DWITH_AVFFT=ON \
+ -DWITH_DOUBLE_PRECISION=ON \
+ -DWITH_LSR_BINDINGS=ON \
+ -DWITH_OPENMP=ON \
+ -DWITH_PFFFT=ON \
+ -DWITH_SIMD=ON \
+ .
+ make
+}
+
+check() {
+ cd soxr-$pkgver-Source
+ make test
+}
+
+package() {
+ cd soxr-$pkgver-Source
+
+ make DESTDIR="$pkgdir" install
+ install -Dm644 LICENCE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ rm -r "$pkgdir"/usr/share/doc/$pkgname/
+}
diff --git a/abs/extra/libunwind/PKGBUILD b/abs/extra/libunwind/PKGBUILD
new file mode 100644
index 0000000..84ee163
--- /dev/null
+++ b/abs/extra/libunwind/PKGBUILD
@@ -0,0 +1,35 @@
+# $id$
+# Maintainer: Sébastien Luttringer
+# Contributor: Lawrence Lee <valheru@facticius.net>
+# Contributor: Phillip Marvin <phillip.marvin@gmail.com>
+# Contributor: keystone <phillip.marvin@gmail.com>
+
+pkgname=libunwind
+pkgver=1.1
+pkgrel=2
+pkgdesc='Portable and efficient C programming interface (API) to determine the call-chain of a program'
+arch=('i686' 'x86_64')
+url='http://www.nongnu.org/libunwind/'
+license=('GPL')
+depends=('glibc' 'xz')
+source=("http://download.savannah.gnu.org/releases/$pkgname/$pkgname-$pkgver.tar.gz")
+md5sums=('fb4ea2f6fbbe45bf032cd36e586883ce')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure CFLAGS="$CFLAGS -U_FORTIFY_SOURCE" --prefix=/usr
+ make
+}
+
+check() {
+ cd $pkgname-$pkgver
+ # This function is ``supposed'' to fail. Upstream know, but haven't fixed it.
+ make check || return 0
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/libuv/PKGBUILD b/abs/extra/libuv/PKGBUILD
new file mode 100644
index 0000000..9cc9991
--- /dev/null
+++ b/abs/extra/libuv/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id$
+# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+
+pkgname=libuv
+pkgver=1.9.0
+pkgrel=1
+pkgdesc="Multi-platform support library with a focus on asynchronous I/O"
+arch=('i686' 'x86_64')
+url="https://github.com/libuv/libuv"
+license=('custom')
+depends=('glibc')
+makedepends=('python2-sphinx')
+source=("https://github.com/libuv/libuv/archive/v$pkgver/$pkgname-$pkgver.tar.gz")
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+ ./autogen.sh
+ ./configure --prefix=/usr
+ make
+ make man -C docs
+
+ # skip failing get_passwd test
+ sed '/pwd\.homedir/d' -i test/test-get-passwd.c
+}
+
+check() {
+ cd "$srcdir"/$pkgname-$pkgver
+ make check
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 LICENSE \
+ "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ install -Dm644 AUTHORS \
+ "$pkgdir"/usr/share/doc/$pkgname/AUTHORS
+ install -Dm644 README.md \
+ "$pkgdir"/usr/share/doc/$pkgname/README.md
+ install -Dm644 ChangeLog \
+ "$pkgdir"/usr/share/doc/$pkgname/ChangeLog
+ install -Dm644 docs/build/man/libuv.1 \
+ "$pkgdir"/usr/share/man/man1/libuv.1
+}
+
+sha256sums=('f8b8272a0d80138b709d38fad2baf771899eed61e7f9578d17898b07a1a2a5eb')
diff --git a/abs/extra/libuv/__changelog b/abs/extra/libuv/__changelog
new file mode 100644
index 0000000..1f97308
--- /dev/null
+++ b/abs/extra/libuv/__changelog
@@ -0,0 +1 @@
+PKGBUILD: change dep python-sphinx to python2-sphinx
diff --git a/abs/extra/libva-intel-driver/PKGBUILD b/abs/extra/libva-intel-driver/PKGBUILD
new file mode 100644
index 0000000..f3ab7b9
--- /dev/null
+++ b/abs/extra/libva-intel-driver/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id$
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+
+pkgname=libva-intel-driver
+pkgver=1.6.1
+pkgrel=1
+pkgdesc='VA-API implementation for Intel G45 and HD Graphics family'
+arch=('i686' 'x86_64')
+url='http://freedesktop.org/wiki/Software/vaapi'
+license=('MIT')
+depends=('libva')
+replaces=('libva-driver-intel')
+source=(http://freedesktop.org/software/vaapi/releases/$pkgname/$pkgname-$pkgver.tar.bz2)
+md5sums=('ed1b04c1a3c029ad389b7e23822a2762')
+
+prepare() {
+ cd $pkgname-$pkgver
+
+ # Only relevant if intel-gpu-tools is installed,
+ # since then the shaders will be recompiled
+ sed -i '1s/python$/&2/' src/shaders/gpp.py
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+}
diff --git a/abs/extra/libva/PKGBUILD b/abs/extra/libva/PKGBUILD
index dad11fd..1873cec 100644
--- a/abs/extra/libva/PKGBUILD
+++ b/abs/extra/libva/PKGBUILD
@@ -3,7 +3,7 @@
# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
pkgname=libva
-pkgver=1.4.1
+pkgver=1.6.1
pkgrel=1
pkgdesc='Video Acceleration (VA) API for Linux'
arch=('i686' 'x86_64')
@@ -14,7 +14,7 @@ makedepends=('mesa')
optdepends=('libva-vdpau-driver: backend for Nvidia and AMD cards'
'libva-intel-driver: backend for Intel cards')
source=(http://freedesktop.org/software/vaapi/releases/$pkgname/$pkgname-$pkgver.tar.bz2)
-md5sums=('8e3e7096750c14d1f98da807df7c1ba5')
+md5sums=('7a5eb1fdf531f987211b7228a6a46428')
build() {
cd $pkgname-$pkgver
diff --git a/abs/extra/libvpx/0001-Fix-for-issue-1114-compile-error.patch b/abs/extra/libvpx/0001-Fix-for-issue-1114-compile-error.patch
new file mode 100644
index 0000000..0e01dd5
--- /dev/null
+++ b/abs/extra/libvpx/0001-Fix-for-issue-1114-compile-error.patch
@@ -0,0 +1,317 @@
+From 7361ef732b432e153496c30da66081d7e530c7f6 Mon Sep 17 00:00:00 2001
+From: Peter de Rivaz <peter.derivaz@argondesign.com>
+Date: Mon, 14 Dec 2015 16:35:29 +0000
+Subject: [PATCH] Fix for issue 1114 compile error
+
+In 32-bit build with --enable-shared, there is a lot of
+register pressure and register src_strideq is reused.
+The code needs to use the stack based version of src_stride,
+but this doesn't compile when used in an lea instruction.
+
+This patch also fixes a related segmentation fault caused by the
+implementation using src_strideq even though it has been
+reused.
+
+This patch also fixes the HBD subpel variance tests that fail
+when compiled without disable-optimizations.
+These failures were caused by local variables in the assembler
+routines colliding with the caller's stack frame.
+
+Change-Id: Ice9d4dafdcbdc6038ad5ee7c1c09a8f06deca362
+---
+ vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm | 18 +++----
+ vpx_dsp/x86/highbd_variance_sse2.c | 64 ++++++++++++++----------
+ 2 files changed, 44 insertions(+), 38 deletions(-)
+
+diff --git a/vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm b/vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm
+index 22d52a2..30ee81b 100644
+--- a/vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm
++++ b/vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm
+@@ -79,20 +79,13 @@ SECTION .text
+
+ %macro INC_SRC_BY_SRC_STRIDE 0
+ %if ARCH_X86=1 && CONFIG_PIC=1
+- lea srcq, [srcq + src_stridemp*2]
++ add srcq, src_stridemp
++ add srcq, src_stridemp
+ %else
+ lea srcq, [srcq + src_strideq*2]
+ %endif
+ %endmacro
+
+-%macro INC_SRC_BY_SRC_2STRIDE 0
+-%if ARCH_X86=1 && CONFIG_PIC=1
+- lea srcq, [srcq + src_stridemp*4]
+-%else
+- lea srcq, [srcq + src_strideq*4]
+-%endif
+-%endmacro
+-
+ %macro SUBPEL_VARIANCE 1-2 0 ; W
+ %define bilin_filter_m bilin_filter_m_sse2
+ %define filter_idx_shift 5
+@@ -984,8 +977,9 @@ SECTION .text
+ .x_other_y_other_loop:
+ movu m2, [srcq]
+ movu m4, [srcq+2]
+- movu m3, [srcq+src_strideq*2]
+- movu m5, [srcq+src_strideq*2+2]
++ INC_SRC_BY_SRC_STRIDE
++ movu m3, [srcq]
++ movu m5, [srcq+2]
+ pmullw m2, filter_x_a
+ pmullw m4, filter_x_b
+ paddw m2, filter_rnd
+@@ -1018,7 +1012,7 @@ SECTION .text
+ SUM_SSE m0, m2, m4, m3, m6, m7
+ mova m0, m5
+
+- INC_SRC_BY_SRC_2STRIDE
++ INC_SRC_BY_SRC_STRIDE
+ lea dstq, [dstq + dst_strideq * 4]
+ %if %2 == 1 ; avg
+ add secq, sec_str
+diff --git a/vpx_dsp/x86/highbd_variance_sse2.c b/vpx_dsp/x86/highbd_variance_sse2.c
+index b45331c..81ec5db 100644
+--- a/vpx_dsp/x86/highbd_variance_sse2.c
++++ b/vpx_dsp/x86/highbd_variance_sse2.c
+@@ -243,13 +243,18 @@ unsigned int vpx_highbd_12_mse8x8_sse2(const uint8_t *src8, int src_stride,
+ }
+
+ #if CONFIG_USE_X86INC
++// The 2 unused parameters are place holders for PIC enabled build.
++// These definitions are for functions defined in
++// highbd_subpel_variance_impl_sse2.asm
+ #define DECL(w, opt) \
+ int vpx_highbd_sub_pixel_variance##w##xh_##opt(const uint16_t *src, \
+ ptrdiff_t src_stride, \
+ int x_offset, int y_offset, \
+ const uint16_t *dst, \
+ ptrdiff_t dst_stride, \
+- int height, unsigned int *sse);
++ int height, \
++ unsigned int *sse, \
++ void *unused0, void *unused);
+ #define DECLS(opt1, opt2) \
+ DECL(8, opt1); \
+ DECL(16, opt1)
+@@ -274,7 +279,7 @@ uint32_t vpx_highbd_8_sub_pixel_variance##w##x##h##_##opt(const uint8_t *src8, \
+ int se = vpx_highbd_sub_pixel_variance##wf##xh_##opt(src, src_stride, \
+ x_offset, y_offset, \
+ dst, dst_stride, h, \
+- &sse); \
++ &sse, NULL, NULL); \
+ if (w > wf) { \
+ unsigned int sse2; \
+ int se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt(src + 16, \
+@@ -282,19 +287,20 @@ uint32_t vpx_highbd_8_sub_pixel_variance##w##x##h##_##opt(const uint8_t *src8, \
+ x_offset, y_offset, \
+ dst + 16, \
+ dst_stride, \
+- h, &sse2); \
++ h, &sse2, \
++ NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ if (w > wf * 2) { \
+ se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt(src + 32, src_stride, \
+ x_offset, y_offset, \
+ dst + 32, dst_stride, \
+- h, &sse2); \
++ h, &sse2, NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt( \
+ src + 48, src_stride, x_offset, y_offset, \
+- dst + 48, dst_stride, h, &sse2); \
++ dst + 48, dst_stride, h, &sse2, NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ } \
+@@ -312,7 +318,7 @@ uint32_t vpx_highbd_10_sub_pixel_variance##w##x##h##_##opt( \
+ int se = vpx_highbd_sub_pixel_variance##wf##xh_##opt(src, src_stride, \
+ x_offset, y_offset, \
+ dst, dst_stride, \
+- h, &sse); \
++ h, &sse, NULL, NULL); \
+ if (w > wf) { \
+ uint32_t sse2; \
+ int se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt(src + 16, \
+@@ -320,20 +326,21 @@ uint32_t vpx_highbd_10_sub_pixel_variance##w##x##h##_##opt( \
+ x_offset, y_offset, \
+ dst + 16, \
+ dst_stride, \
+- h, &sse2); \
++ h, &sse2, \
++ NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ if (w > wf * 2) { \
+ se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt(src + 32, src_stride, \
+ x_offset, y_offset, \
+ dst + 32, dst_stride, \
+- h, &sse2); \
++ h, &sse2, NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt(src + 48, src_stride, \
+ x_offset, y_offset, \
+ dst + 48, dst_stride, \
+- h, &sse2); \
++ h, &sse2, NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ } \
+@@ -359,27 +366,27 @@ uint32_t vpx_highbd_12_sub_pixel_variance##w##x##h##_##opt( \
+ int se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt( \
+ src + (start_row * src_stride), src_stride, \
+ x_offset, y_offset, dst + (start_row * dst_stride), \
+- dst_stride, height, &sse2); \
++ dst_stride, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ if (w > wf) { \
+ se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt( \
+ src + 16 + (start_row * src_stride), src_stride, \
+ x_offset, y_offset, dst + 16 + (start_row * dst_stride), \
+- dst_stride, height, &sse2); \
++ dst_stride, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ if (w > wf * 2) { \
+ se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt( \
+ src + 32 + (start_row * src_stride), src_stride, \
+ x_offset, y_offset, dst + 32 + (start_row * dst_stride), \
+- dst_stride, height, &sse2); \
++ dst_stride, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ se2 = vpx_highbd_sub_pixel_variance##wf##xh_##opt( \
+ src + 48 + (start_row * src_stride), src_stride, \
+ x_offset, y_offset, dst + 48 + (start_row * dst_stride), \
+- dst_stride, height, &sse2); \
++ dst_stride, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ }\
+@@ -410,6 +417,7 @@ FNS(sse2, sse);
+ #undef FNS
+ #undef FN
+
++// The 2 unused parameters are place holders for PIC enabled build.
+ #define DECL(w, opt) \
+ int vpx_highbd_sub_pixel_avg_variance##w##xh_##opt(const uint16_t *src, \
+ ptrdiff_t src_stride, \
+@@ -419,7 +427,8 @@ int vpx_highbd_sub_pixel_avg_variance##w##xh_##opt(const uint16_t *src, \
+ const uint16_t *sec, \
+ ptrdiff_t sec_stride, \
+ int height, \
+- unsigned int *sse);
++ unsigned int *sse, \
++ void *unused0, void *unused);
+ #define DECLS(opt1) \
+ DECL(16, opt1) \
+ DECL(8, opt1)
+@@ -439,23 +448,23 @@ uint32_t vpx_highbd_8_sub_pixel_avg_variance##w##x##h##_##opt( \
+ uint16_t *sec = CONVERT_TO_SHORTPTR(sec8); \
+ int se = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src, src_stride, x_offset, \
+- y_offset, dst, dst_stride, sec, w, h, &sse); \
++ y_offset, dst, dst_stride, sec, w, h, &sse, NULL, NULL); \
+ if (w > wf) { \
+ uint32_t sse2; \
+ int se2 = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src + 16, src_stride, x_offset, y_offset, \
+- dst + 16, dst_stride, sec + 16, w, h, &sse2); \
++ dst + 16, dst_stride, sec + 16, w, h, &sse2, NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ if (w > wf * 2) { \
+ se2 = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src + 32, src_stride, x_offset, y_offset, \
+- dst + 32, dst_stride, sec + 32, w, h, &sse2); \
++ dst + 32, dst_stride, sec + 32, w, h, &sse2, NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ se2 = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src + 48, src_stride, x_offset, y_offset, \
+- dst + 48, dst_stride, sec + 48, w, h, &sse2); \
++ dst + 48, dst_stride, sec + 48, w, h, &sse2, NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ } \
+@@ -475,14 +484,15 @@ uint32_t vpx_highbd_10_sub_pixel_avg_variance##w##x##h##_##opt( \
+ int se = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src, src_stride, x_offset, \
+ y_offset, dst, dst_stride, \
+- sec, w, h, &sse); \
++ sec, w, h, &sse, NULL, NULL); \
+ if (w > wf) { \
+ uint32_t sse2; \
+ int se2 = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src + 16, src_stride, \
+ x_offset, y_offset, \
+ dst + 16, dst_stride, \
+- sec + 16, w, h, &sse2); \
++ sec + 16, w, h, &sse2, \
++ NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ if (w > wf * 2) { \
+@@ -490,14 +500,16 @@ uint32_t vpx_highbd_10_sub_pixel_avg_variance##w##x##h##_##opt( \
+ src + 32, src_stride, \
+ x_offset, y_offset, \
+ dst + 32, dst_stride, \
+- sec + 32, w, h, &sse2); \
++ sec + 32, w, h, &sse2, \
++ NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ se2 = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src + 48, src_stride, \
+ x_offset, y_offset, \
+ dst + 48, dst_stride, \
+- sec + 48, w, h, &sse2); \
++ sec + 48, w, h, &sse2, \
++ NULL, NULL); \
+ se += se2; \
+ sse += sse2; \
+ } \
+@@ -525,7 +537,7 @@ uint32_t vpx_highbd_12_sub_pixel_avg_variance##w##x##h##_##opt( \
+ int se2 = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src + (start_row * src_stride), src_stride, x_offset, \
+ y_offset, dst + (start_row * dst_stride), dst_stride, \
+- sec + (start_row * w), w, height, &sse2); \
++ sec + (start_row * w), w, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ if (w > wf) { \
+@@ -533,7 +545,7 @@ uint32_t vpx_highbd_12_sub_pixel_avg_variance##w##x##h##_##opt( \
+ src + 16 + (start_row * src_stride), src_stride, \
+ x_offset, y_offset, \
+ dst + 16 + (start_row * dst_stride), dst_stride, \
+- sec + 16 + (start_row * w), w, height, &sse2); \
++ sec + 16 + (start_row * w), w, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ if (w > wf * 2) { \
+@@ -541,14 +553,14 @@ uint32_t vpx_highbd_12_sub_pixel_avg_variance##w##x##h##_##opt( \
+ src + 32 + (start_row * src_stride), src_stride, \
+ x_offset, y_offset, \
+ dst + 32 + (start_row * dst_stride), dst_stride, \
+- sec + 32 + (start_row * w), w, height, &sse2); \
++ sec + 32 + (start_row * w), w, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ se2 = vpx_highbd_sub_pixel_avg_variance##wf##xh_##opt( \
+ src + 48 + (start_row * src_stride), src_stride, \
+ x_offset, y_offset, \
+ dst + 48 + (start_row * dst_stride), dst_stride, \
+- sec + 48 + (start_row * w), w, height, &sse2); \
++ sec + 48 + (start_row * w), w, height, &sse2, NULL, NULL); \
+ se += se2; \
+ long_sse += sse2; \
+ } \
+--
+2.7.0
+
diff --git a/abs/extra/libvpx/PKGBUILD b/abs/extra/libvpx/PKGBUILD
index 0fad7b8..f4aa2d1 100644
--- a/abs/extra/libvpx/PKGBUILD
+++ b/abs/extra/libvpx/PKGBUILD
@@ -1,34 +1,48 @@
# $Id$
# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
pkgname=libvpx
-pkgver=1.3.0
-pkgrel=1
-pkgdesc='The VP8 Codec SDK'
+pkgver=1.5.0
+pkgrel=4
+pkgdesc='VP8 and VP9 codec'
arch=('i686' 'x86_64')
url='http://www.webmproject.org/'
license=('BSD')
-depends=('glibc')
+depends=('glibc' 'gcc-libs')
makedepends=('yasm' 'git')
-source=($pkgname::git+http://code.google.com/p/webm.libvpx#tag=v$pkgver)
-md5sums=('SKIP')
+provides=('libvpx.so')
+source=($pkgname-$pkgver.tar.gz::https://github.com/webmproject/libvpx/archive/v$pkgver.tar.gz
+ 0001-Fix-for-issue-1114-compile-error.patch)
+md5sums=('0c662bc7525afe281badb3175140d35c'
+ 'a03e318d5d92270ed826b55d6d9dc828')
+
+prepare() {
+ cd $pkgname-$pkgver
+
+ # https://bugs.chromium.org/p/webm/issues/detail?id=1114
+ patch -Np1 -i ../0001-Fix-for-issue-1114-compile-error.patch
+}
build() {
- cd $pkgname
- ./configure --prefix=/usr \
- --enable-vp8 \
- --enable-vp9 \
- --enable-runtime-cpu-detect \
- --enable-shared \
- --enable-postproc \
- --enable-pic \
- --disable-install-docs \
- --disable-install-srcs
- make
+ cd $pkgname-$pkgver
+
+ ./configure --prefix=/usr \
+ --enable-vp8 \
+ --enable-vp9 \
+ --enable-vp9-highbitdepth \
+ --enable-runtime-cpu-detect \
+ --enable-shared \
+ --enable-postproc \
+ --enable-pic \
+ --enable-experimental --enable-spatial-svc \
+ --disable-install-docs \
+ --disable-install-srcs
+ make
}
package() {
- cd $pkgname
- make DIST_DIR="$pkgdir/usr" install
- install -Dm0644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ cd $pkgname-$pkgver
+ make DIST_DIR="$pkgdir/usr" install
+ install -Dm0644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
diff --git a/abs/extra/linuxtv-dvb-apps/PKGBUILD b/abs/extra/linuxtv-dvb-apps/PKGBUILD
index 2414de4..9d5b090 100644
--- a/abs/extra/linuxtv-dvb-apps/PKGBUILD
+++ b/abs/extra/linuxtv-dvb-apps/PKGBUILD
@@ -1,32 +1,32 @@
-# $Id: PKGBUILD 80369 2012-11-21 04:04:30Z jconder $
+# $Id$
# Maintainer: Jonathan Conder <jonno.conder@gmail.com>
# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
# Contributor: Camille Moncelier <pix@devlife.org>
pkgname=linuxtv-dvb-apps
-pkgver=1486
-pkgrel=2
-_hgrev=3fc7dfa68484
-pkgdesc='Viewer programs for DVB cards'
+pkgver=1505
+pkgrel=1
+_hgrev=3d43b280298c
+pkgdesc='Linux DVB API applications and utilities'
arch=('i686' 'x86_64')
url='http://www.linuxtv.org/'
license=('GPL')
+depends=('glibc')
source=("http://linuxtv.org/hg/dvb-apps/archive/$_hgrev.tar.bz2")
-sha256sums=('60cfd45fe7417a4445a7814ce6e645ddaad0f8e934015c09d53eb93c8739b35a')
-build() {
+prepare() {
cd "dvb-apps-$_hgrev"
- rm -rf include
+}
- make -C lib
- make -C util
+build() {
+ cd "dvb-apps-$_hgrev"
+ make
}
package() {
cd "dvb-apps-$_hgrev"
-
- make -C lib DESTDIR="$pkgdir" install
- make -C util DESTDIR="$pkgdir" install
-
- chmod 755 "$pkgdir"/usr/lib/*.so*
+ make DESTDIR="$pkgdir" install
+ # Remove conflict with xbase (FS#37862)
+ mv "$pkgdir"/usr/bin/{zap,dvbzap}
}
+md5sums=('e2cc2ca0c429f6cb73d0f73b29dd70e8')
diff --git a/abs/extra/llvm/0001-New-MSan-mapping-layout-compiler-rt-part.patch b/abs/extra/llvm/0001-New-MSan-mapping-layout-compiler-rt-part.patch
new file mode 100644
index 0000000..d5e06a7
--- /dev/null
+++ b/abs/extra/llvm/0001-New-MSan-mapping-layout-compiler-rt-part.patch
@@ -0,0 +1,142 @@
+From 0bee2d927c97454e629b0789c7f4e3d509cf4178 Mon Sep 17 00:00:00 2001
+From: Evgeniy Stepanov <eugeni.stepanov@gmail.com>
+Date: Thu, 8 Oct 2015 21:35:34 +0000
+Subject: [PATCH] New MSan mapping layout (compiler-rt part).
+
+This is an implementation of
+https://github.com/google/sanitizers/issues/579
+
+It has a number of advantages over the current mapping:
+* Works for non-PIE executables.
+* Does not require ASLR; as a consequence, debugging MSan programs in
+ gdb no longer requires "set disable-randomization off".
+* Supports linux kernels >=4.1.2.
+* The code is marginally faster and smaller.
+
+This is an ABI break. We never really promised ABI stability, but
+this patch includes a courtesy escape hatch: a compile-time macro
+that reverts back to the old mapping layout.
+
+git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@249754 91177308-0d34-0410-b5e6-96231b3b80d8
+---
+ lib/msan/msan.h | 23 ++++++++++++++++++++++
+ lib/msan/msan_allocator.cc | 8 +++++++-
+ test/msan/mmap.cc | 4 +++-
+ test/msan/strlen_of_shadow.cc | 2 +-
+ .../TestCases/Posix/decorate_proc_maps.cc | 4 ++--
+ 5 files changed, 36 insertions(+), 5 deletions(-)
+
+diff --git a/lib/msan/msan.h b/lib/msan/msan.h
+index 3776fa9..2d77983 100644
+--- a/lib/msan/msan.h
++++ b/lib/msan/msan.h
+@@ -135,6 +135,7 @@ const MappingDesc kMemoryLayout[] = {
+
+ #elif SANITIZER_LINUX && SANITIZER_WORDSIZE == 64
+
++#ifdef MSAN_LINUX_X86_64_OLD_MAPPING
+ // Requries PIE binary and ASLR enabled.
+ // Main thread stack and DSOs at 0x7f0000000000 (sometimes 0x7e0000000000).
+ // Heap at 0x600000000000.
+@@ -146,6 +147,28 @@ const MappingDesc kMemoryLayout[] = {
+
+ #define MEM_TO_SHADOW(mem) (((uptr)(mem)) & ~0x400000000000ULL)
+ #define SHADOW_TO_ORIGIN(mem) (((uptr)(mem)) + 0x200000000000ULL)
++#else // MSAN_LINUX_X86_64_OLD_MAPPING
++// All of the following configurations are supported.
++// ASLR disabled: main executable and DSOs at 0x555550000000
++// PIE and ASLR: main executable and DSOs at 0x7f0000000000
++// non-PIE: main executable below 0x100000000, DSOs at 0x7f0000000000
++// Heap at 0x700000000000.
++const MappingDesc kMemoryLayout[] = {
++ {0x000000000000ULL, 0x010000000000ULL, MappingDesc::APP, "app-1"},
++ {0x010000000000ULL, 0x100000000000ULL, MappingDesc::SHADOW, "shadow-2"},
++ {0x100000000000ULL, 0x110000000000ULL, MappingDesc::INVALID, "invalid"},
++ {0x110000000000ULL, 0x200000000000ULL, MappingDesc::ORIGIN, "origin-2"},
++ {0x200000000000ULL, 0x300000000000ULL, MappingDesc::SHADOW, "shadow-3"},
++ {0x300000000000ULL, 0x400000000000ULL, MappingDesc::ORIGIN, "origin-3"},
++ {0x400000000000ULL, 0x500000000000ULL, MappingDesc::INVALID, "invalid"},
++ {0x500000000000ULL, 0x510000000000ULL, MappingDesc::SHADOW, "shadow-1"},
++ {0x510000000000ULL, 0x600000000000ULL, MappingDesc::APP, "app-2"},
++ {0x600000000000ULL, 0x610000000000ULL, MappingDesc::ORIGIN, "origin-1"},
++ {0x610000000000ULL, 0x700000000000ULL, MappingDesc::INVALID, "invalid"},
++ {0x700000000000ULL, 0x800000000000ULL, MappingDesc::APP, "app-3"}};
++#define MEM_TO_SHADOW(mem) (((uptr)(mem)) ^ 0x500000000000ULL)
++#define SHADOW_TO_ORIGIN(mem) (((uptr)(mem)) + 0x100000000000ULL)
++#endif // MSAN_LINUX_X86_64_OLD_MAPPING
+
+ #else
+ #error "Unsupported platform"
+diff --git a/lib/msan/msan_allocator.cc b/lib/msan/msan_allocator.cc
+index 865a458..b7d3947 100644
+--- a/lib/msan/msan_allocator.cc
++++ b/lib/msan/msan_allocator.cc
+@@ -49,15 +49,21 @@ struct MsanMapUnmapCallback {
+ typedef SizeClassAllocator32<0, SANITIZER_MMAP_RANGE_SIZE, sizeof(Metadata),
+ SizeClassMap, kRegionSizeLog, ByteMap,
+ MsanMapUnmapCallback> PrimaryAllocator;
++
+ #elif defined(__x86_64__)
++#if SANITIZER_LINUX && !defined(MSAN_LINUX_X86_64_OLD_MAPPING)
++ static const uptr kAllocatorSpace = 0x700000000000ULL;
++#else
+ static const uptr kAllocatorSpace = 0x600000000000ULL;
+- static const uptr kAllocatorSize = 0x80000000000; // 8T.
++#endif
++ static const uptr kAllocatorSize = 0x80000000000; // 8T.
+ static const uptr kMetadataSize = sizeof(Metadata);
+ static const uptr kMaxAllowedMallocSize = 8UL << 30;
+
+ typedef SizeClassAllocator64<kAllocatorSpace, kAllocatorSize, kMetadataSize,
+ DefaultSizeClassMap,
+ MsanMapUnmapCallback> PrimaryAllocator;
++
+ #elif defined(__powerpc64__)
+ static const uptr kAllocatorSpace = 0x300000000000;
+ static const uptr kAllocatorSize = 0x020000000000; // 2T
+diff --git a/test/msan/mmap.cc b/test/msan/mmap.cc
+index 250ce34..962836c 100644
+--- a/test/msan/mmap.cc
++++ b/test/msan/mmap.cc
+@@ -15,7 +15,9 @@ bool AddrIsApp(void *p) {
+ #if defined(__FreeBSD__) && defined(__x86_64__)
+ return addr < 0x010000000000ULL || addr >= 0x600000000000ULL;
+ #elif defined(__x86_64__)
+- return addr >= 0x600000000000ULL;
++ return (addr >= 0x000000000000ULL && addr < 0x010000000000ULL) ||
++ (addr >= 0x510000000000ULL && addr < 0x600000000000ULL) ||
++ (addr >= 0x700000000000ULL && addr < 0x800000000000ULL);
+ #elif defined(__mips64)
+ return addr >= 0x00e000000000ULL;
+ #elif defined(__powerpc64__)
+diff --git a/test/msan/strlen_of_shadow.cc b/test/msan/strlen_of_shadow.cc
+index fee9223..0594f00 100644
+--- a/test/msan/strlen_of_shadow.cc
++++ b/test/msan/strlen_of_shadow.cc
+@@ -12,7 +12,7 @@
+
+ const char *mem_to_shadow(const char *p) {
+ #if defined(__x86_64__)
+- return (char *)((uintptr_t)p & ~0x400000000000ULL);
++ return (char *)((uintptr_t)p ^ 0x500000000000ULL);
+ #elif defined (__mips64)
+ return (char *)((uintptr_t)p & ~0x4000000000ULL);
+ #elif defined(__powerpc64__)
+diff --git a/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc b/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc
+index 8744c3f..36d4df5 100644
+--- a/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc
++++ b/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc
+@@ -47,8 +47,8 @@ int main(void) {
+ // CHECK-asan: rw-p {{.*}} [high shadow]
+
+ // CHECK-msan: ---p {{.*}} [invalid]
+-// CHECK-msan: rw-p {{.*}} [shadow]
+-// CHECK-msan: ---p {{.*}} [origin]
++// CHECK-msan: rw-p {{.*}} [shadow{{.*}}]
++// CHECK-msan: ---p {{.*}} [origin{{.*}}]
+
+ // CHECK-tsan: rw-p {{.*}} [shadow]
+ // CHECK-tsan: rw-p {{.*}} [meta shadow]
+--
+2.6.1
+
diff --git a/abs/extra/llvm/0001-New-MSan-mapping-layout-llvm-part.patch b/abs/extra/llvm/0001-New-MSan-mapping-layout-llvm-part.patch
new file mode 100644
index 0000000..28fe687
--- /dev/null
+++ b/abs/extra/llvm/0001-New-MSan-mapping-layout-llvm-part.patch
@@ -0,0 +1,115 @@
+From 2c87d24da09ecd2c14c38a0b4f7a0e3f332b08ee Mon Sep 17 00:00:00 2001
+From: Evgeniy Stepanov <eugeni.stepanov@gmail.com>
+Date: Thu, 8 Oct 2015 21:35:26 +0000
+Subject: [PATCH] New MSan mapping layout (llvm part).
+
+This is an implementation of
+https://github.com/google/sanitizers/issues/579
+
+It has a number of advantages over the current mapping:
+* Works for non-PIE executables.
+* Does not require ASLR; as a consequence, debugging MSan programs in
+ gdb no longer requires "set disable-randomization off".
+* Supports linux kernels >=4.1.2.
+* The code is marginally faster and smaller.
+
+This is an ABI break. We never really promised ABI stability, but
+this patch includes a courtesy escape hatch: a compile-time macro
+that reverts back to the old mapping layout.
+
+git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@249753 91177308-0d34-0410-b5e6-96231b3b80d8
+---
+ lib/Transforms/Instrumentation/MemorySanitizer.cpp | 22 +++++++++++++++-------
+ .../MemorySanitizer/origin-alignment.ll | 10 ++++++----
+ 2 files changed, 21 insertions(+), 11 deletions(-)
+
+diff --git a/lib/Transforms/Instrumentation/MemorySanitizer.cpp b/lib/Transforms/Instrumentation/MemorySanitizer.cpp
+index 9d4c7de..bc6da5a 100644
+--- a/lib/Transforms/Instrumentation/MemorySanitizer.cpp
++++ b/lib/Transforms/Instrumentation/MemorySanitizer.cpp
+@@ -232,10 +232,17 @@ static const MemoryMapParams Linux_I386_MemoryMapParams = {
+
+ // x86_64 Linux
+ static const MemoryMapParams Linux_X86_64_MemoryMapParams = {
++#ifdef MSAN_LINUX_X86_64_OLD_MAPPING
+ 0x400000000000, // AndMask
+ 0, // XorMask (not used)
+ 0, // ShadowBase (not used)
+ 0x200000000000, // OriginBase
++#else
++ 0, // AndMask (not used)
++ 0x500000000000, // XorMask
++ 0, // ShadowBase (not used)
++ 0x100000000000, // OriginBase
++#endif
+ };
+
+ // mips64 Linux
+@@ -926,16 +933,17 @@ struct MemorySanitizerVisitor : public InstVisitor<MemorySanitizerVisitor> {
+ ///
+ /// Offset = (Addr & ~AndMask) ^ XorMask
+ Value *getShadowPtrOffset(Value *Addr, IRBuilder<> &IRB) {
++ Value *OffsetLong = IRB.CreatePointerCast(Addr, MS.IntptrTy);
++
+ uint64_t AndMask = MS.MapParams->AndMask;
+- assert(AndMask != 0 && "AndMask shall be specified");
+- Value *OffsetLong =
+- IRB.CreateAnd(IRB.CreatePointerCast(Addr, MS.IntptrTy),
+- ConstantInt::get(MS.IntptrTy, ~AndMask));
++ if (AndMask)
++ OffsetLong =
++ IRB.CreateAnd(OffsetLong, ConstantInt::get(MS.IntptrTy, ~AndMask));
+
+ uint64_t XorMask = MS.MapParams->XorMask;
+- if (XorMask != 0)
+- OffsetLong = IRB.CreateXor(OffsetLong,
+- ConstantInt::get(MS.IntptrTy, XorMask));
++ if (XorMask)
++ OffsetLong =
++ IRB.CreateXor(OffsetLong, ConstantInt::get(MS.IntptrTy, XorMask));
+ return OffsetLong;
+ }
+
+diff --git a/test/Instrumentation/MemorySanitizer/origin-alignment.ll b/test/Instrumentation/MemorySanitizer/origin-alignment.ll
+index ce0dbfc..562d194 100644
+--- a/test/Instrumentation/MemorySanitizer/origin-alignment.ll
++++ b/test/Instrumentation/MemorySanitizer/origin-alignment.ll
+@@ -24,7 +24,7 @@ entry:
+ ; CHECK-ORIGINS1: [[ORIGIN:%[01-9a-z]+]] = load {{.*}} @__msan_param_origin_tls
+ ; CHECK-ORIGINS2: [[ORIGIN0:%[01-9a-z]+]] = load {{.*}} @__msan_param_origin_tls
+ ; CHECK-ORIGINS2: [[ORIGIN:%[01-9a-z]+]] = call i32 @__msan_chain_origin(i32 [[ORIGIN0]])
+-; CHECK: store i32 [[ORIGIN]], i32* inttoptr (i64 add (i64 and (i64 ptrtoint {{.*}} to i32*), align 8
++; CHECK: store i32 [[ORIGIN]], i32* inttoptr (i64 add (i64 xor (i64 ptrtoint (i8* @a8 to i64), i64 {{.*}}), i64 {{.*}}) to i32*), align 8
+ ; CHECK: ret void
+
+
+@@ -39,7 +39,7 @@ entry:
+ ; CHECK-ORIGINS1: [[ORIGIN:%[01-9a-z]+]] = load {{.*}} @__msan_param_origin_tls
+ ; CHECK-ORIGINS2: [[ORIGIN0:%[01-9a-z]+]] = load {{.*}} @__msan_param_origin_tls
+ ; CHECK-ORIGINS2: [[ORIGIN:%[01-9a-z]+]] = call i32 @__msan_chain_origin(i32 [[ORIGIN0]])
+-; CHECK: store i32 [[ORIGIN]], i32* inttoptr (i64 add (i64 and (i64 ptrtoint {{.*}} to i32*), align 4
++; CHECK: store i32 [[ORIGIN]], i32* inttoptr (i64 add (i64 xor (i64 ptrtoint (i8* @a4 to i64), i64 {{.*}}), i64 {{.*}}) to i32*), align 4
+ ; CHECK: ret void
+
+
+@@ -54,7 +54,8 @@ entry:
+ ; CHECK-ORIGINS1: [[ORIGIN:%[01-9a-z]+]] = load {{.*}} @__msan_param_origin_tls
+ ; CHECK-ORIGINS2: [[ORIGIN0:%[01-9a-z]+]] = load {{.*}} @__msan_param_origin_tls
+ ; CHECK-ORIGINS2: [[ORIGIN:%[01-9a-z]+]] = call i32 @__msan_chain_origin(i32 [[ORIGIN0]])
+-; CHECK: store i32 [[ORIGIN]], i32* inttoptr (i64 and (i64 add (i64 and (i64 ptrtoint {{.*}} i64 -4) to i32*), align 4
++; CHECK: store i32 [[ORIGIN]], i32* inttoptr (i64 and (i64 add (i64 xor (i64 ptrtoint (i8* @a2 to i64), i64 {{.*}}), i64 {{.*}}), i64 -4) to i32*), align 4
++
+ ; CHECK: ret void
+
+
+@@ -69,5 +70,6 @@ entry:
+ ; CHECK-ORIGINS1: [[ORIGIN:%[01-9a-z]+]] = load {{.*}} @__msan_param_origin_tls
+ ; CHECK-ORIGINS2: [[ORIGIN0:%[01-9a-z]+]] = load {{.*}} @__msan_param_origin_tls
+ ; CHECK-ORIGINS2: [[ORIGIN:%[01-9a-z]+]] = call i32 @__msan_chain_origin(i32 [[ORIGIN0]])
+-; CHECK: store i32 [[ORIGIN]], i32* inttoptr (i64 and (i64 add (i64 and (i64 ptrtoint {{.*}} i64 -4) to i32*), align 4
++; CHECK: store i32 [[ORIGIN]], i32* inttoptr (i64 and (i64 add (i64 xor (i64 ptrtoint (i8* @a1 to i64), i64 {{.*}}), i64 {{.*}}), i64 -4) to i32*), align 4
++
+ ; CHECK: ret void
+--
+2.6.1
+
diff --git a/abs/extra/llvm/PKGBUILD b/abs/extra/llvm/PKGBUILD
index 00a7eaa..960fa13 100644
--- a/abs/extra/llvm/PKGBUILD
+++ b/abs/extra/llvm/PKGBUILD
@@ -9,38 +9,52 @@
# Contributor: Roberto Alsina <ralsina@kde.org>
# Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
-pkgname=('llvm' 'llvm-libs' 'llvm-ocaml' 'clang' 'clang-analyzer'
+pkgname=('llvm' 'llvm-libs' 'llvm-ocaml' 'lldb' 'clang' 'clang-analyzer'
'clang-tools-extra')
-pkgver=3.5.0
-pkgrel=2.1
+pkgver=3.7.1
+pkgrel=1
+_ocaml_ver=4.02.3
arch=('i686' 'x86_64')
url="http://llvm.org/"
license=('custom:University of Illinois/NCSA Open Source License')
-makedepends=('libffi' 'python2' 'ocaml' 'python2-sphinx' 'chrpath')
+makedepends=('cmake' 'libffi' 'python2' "ocaml=$_ocaml_ver" 'python2-sphinx'
+ 'ocaml-ctypes' 'ocaml-findlib' 'libedit' 'swig')
# Use gcc-multilib to build 32-bit compiler-rt libraries on x86_64 (FS#41911)
-#[[ $CARCH = x86_64 ]] && makedepends+=('gcc-multilib')
-[[ $CARCH = x86_64 ]]
+#makedepends_x86_64=('gcc-multilib')
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}
- llvm-3.5.0-force-link-pass.o.patch
- llvm-3.5.0-fix-cmake-llvm-exports.patch
- llvm-Config-config.h
+ http://llvm.org/releases/$pkgver/lldb-$pkgver.src.tar.xz{,.sig}
+ llvm-3.7.0-link-tools-against-libLLVM.patch
+ llvm-3.7.0-export-more-symbols.patch
+ clang-3.7.0-add-gcc-abi-tag-support.patch
+ clang-tools-extra-3.7.0-install-clang-query.patch
+ lldb-3.7.0-avoid-linking-to-libLLVM.patch
+ 0001-New-MSan-mapping-layout-llvm-part.patch
+ 0001-New-MSan-mapping-layout-compiler-rt-part.patch
llvm-Config-llvm-config.h)
-sha256sums=('28e199f368ef0a4666708f31c7991ad3bcc3a578342b0306526dd35f07595c03'
+sha256sums=('be7794ed0cec42d6c682ca8e3517535b54555a3defabec83554dbc74db545ad5'
'SKIP'
- 'fc80992e004b06f6c7afb612de1cdaa9ac9d25811c55f94fcf7331d9b81cdb8b'
+ '56e2164c7c2a1772d5ed2a3e57485ff73ff06c97dff12edbeea1acc4412b0674'
'SKIP'
- '2981beb378afb5aa5c50ed017720a42a33e77e902c7086ad2d412ef4fa931f69'
+ '4a91edaccad1ce984c7c49a4a87db186b7f7b21267b2b03bcf4bd7820715bc6b'
'SKIP'
- 'a4b3e655832bf8d9a357ea2c771db347237460e131988cbb96cda40ff39a8136'
+ '9d4769e4a927d3824bcb7a9c82b01e307c68588e6de4e7f04ab82d82c5af8181'
'SKIP'
- '5702053503d49448598eda1b8dc8c263f0df9ad7486833273e3987b5dec25a19'
- '841a153d0e9d2d196ea5318388ff295e69c41547eb73b24edf92a1b2cc3cccdd'
- '312574e655f9a87784ca416949c505c452b819fad3061f2cde8aced6540a19a3'
+ '9a0bc315ef55f44c98cdf92d064df0847f453ed156dd0ef6a87e04f5fd6a0e01'
+ 'SKIP'
+ 'cf9c8b4d70b4547eda162644658c5c203c3139fcea6c75003b6cd7dc11a8cccc'
+ 'a1c9f36b97c639666ab6a1bd647a08a027e93e3d3cfd6f5af9c36e757599ce81'
+ '5ed52d54612829402b63bc500bfefae75b3dc444a1524849c26cadf7e0ae4b7d'
+ '3abf85430c275ecb8dbb526ecb82b1c9f4b4f782a8a43b5a06d040ec0baba7e7'
+ '2d53b6ed4c7620eeade87e7761b98093a0434801ddd599056daed7881141fb01'
+ 'c5f4e329143bef36b623ba5daf311b5a73fa99ab05fed4ba506c1c3bc4cf5ee7'
+ 'f44e8fe3cef9b6f706d651f443922261e1dcf53bcaabdd0ac7edb1758e4bc44d'
'597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecffffab8bc48')
+validpgpkeys=('11E521D646982372EB577A1F8F0871F202119294'
+ 'B6C8F98282B944E3B0D5C2530FC3042E345AD05D')
prepare() {
cd "$srcdir/llvm-$pkgver.src"
@@ -53,52 +67,72 @@ prepare() {
mv "$srcdir/compiler-rt-$pkgver.src" projects/compiler-rt
- # Fix docs installation directory
- sed -i 's:$(PROJ_prefix)/docs/llvm:$(PROJ_prefix)/share/doc/llvm:' \
- Makefile.config.in
+ mv "$srcdir/lldb-$pkgver.src" tools/lldb
+
+ # Backport LLVM_LINK_LLVM_DYLIB option
+ # https://bugs.archlinux.org/task/46392
+ patch -Np1 -i ../llvm-3.7.0-link-tools-against-libLLVM.patch
+
+ # https://llvm.org/bugs/show_bug.cgi?id=24157
+ patch -Np2 -i ../llvm-3.7.0-export-more-symbols.patch
+
+ # https://llvm.org/bugs/show_bug.cgi?id=23529
+ # http://reviews.llvm.org/D12834
+ patch -d tools/clang -Np0 <../clang-3.7.0-add-gcc-abi-tag-support.patch
- # Fix definition of LLVM_CMAKE_DIR in LLVMConfig.cmake
- sed -i '/@LLVM_CONFIG_CMAKE_DIR@/s:$(PROJ_cmake):$(PROJ_prefix)/share/llvm/cmake:' \
- cmake/modules/Makefile
+ # https://llvm.org/bugs/show_bug.cgi?id=24046
+ # Upstreamed - http://reviews.llvm.org/D13206
+ patch -d tools/clang/tools/extra -Np1 <../clang-tools-extra-3.7.0-install-clang-query.patch
- # Fix build with GCC 4.9 (patch from Debian)
- # http://llvm.org/bugs/show_bug.cgi?id=20067
- patch -Np1 -i "$srcdir/llvm-3.5.0-force-link-pass.o.patch"
+ # https://llvm.org/bugs/show_bug.cgi?id=24953
+ patch -d tools/lldb -Np1 <../lldb-3.7.0-avoid-linking-to-libLLVM.patch
+
+ # https://llvm.org/bugs/show_bug.cgi?id=24155
+ patch -Np1 -i ../0001-New-MSan-mapping-layout-llvm-part.patch
+ patch -d projects/compiler-rt -Np1 <../0001-New-MSan-mapping-layout-compiler-rt-part.patch
+
+ # Use Python 2
+ find tools/lldb -name Makefile -exec sed -i 's/python-config/python2-config/' {} +
+ sed -i 's|/usr/bin/env python|&2|' \
+ tools/lldb/scripts/Python/{build-swig-Python,finish-swig-Python-LLDB}.sh
- # Fix generation of broken LLVMExports.cmake file
- # http://llvm.org/bugs/show_bug.cgi?id=20884
- patch -Np0 -i "$srcdir/llvm-3.5.0-fix-cmake-llvm-exports.patch"
+ mkdir build
}
build() {
- cd "$srcdir/llvm-$pkgver.src"
+ cd "$srcdir/llvm-$pkgver.src/build"
+
+ cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLLVM_BUILD_LLVM_DYLIB=ON \
+ -DLLVM_DYLIB_EXPORT_ALL=ON \
+ -DLLVM_LINK_LLVM_DYLIB=ON \
+ -DLLVM_ENABLE_RTTI=ON \
+ -DLLVM_ENABLE_FFI=ON \
+ -DLLVM_BUILD_TESTS=ON \
+ -DLLVM_BUILD_DOCS=ON \
+ -DLLVM_ENABLE_SPHINX=ON \
+ -DLLVM_ENABLE_DOXYGEN=OFF \
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF \
+ -DFFI_INCLUDE_DIR=$(pkg-config --variable=includedir libffi) \
+ -DLLVM_BINUTILS_INCDIR=/usr/include \
+ ..
+
+ make
+ make ocaml_doc
+
+ # Disable automatic installation of components that go into subpackages
+ sed -i '/\(clang\|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
+}
- # Apply strip option to configure
- _optimized_switch="enable"
- [[ $(check_option strip) == n ]] && _optimized_switch="disable"
-
- # Include location of libffi headers in CPPFLAGS
- CPPFLAGS+=" $(pkg-config --cflags libffi)"
-
- # Force the use of GCC instead of clang
- CC=gcc CXX=g++ \
- ./configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --enable-shared \
- --enable-libffi \
- --enable-targets=all \
- --disable-expensive-checks \
- --disable-debug-runtime \
- --disable-assertions \
- --with-binutils-include=/usr/include \
- --with-python=/usr/bin/python2 \
- --$_optimized_switch-optimized
-
- make REQUIRES_RTTI=1
- make -C docs -f Makefile.sphinx man
- make -C docs -f Makefile.sphinx html
- make -C tools/clang/docs -f Makefile.sphinx html
+check() {
+ cd "$srcdir/llvm-$pkgver.src/build"
+ make check
+ make check-clang || warning \
+ 'Ignoring Clang test failures caused by name mangling differences'
}
package_llvm() {
@@ -107,143 +141,107 @@ package_llvm() {
cd "$srcdir/llvm-$pkgver.src"
- # We move the clang directory out of the tree so it won't get installed and
- # then we bring it back in for the clang package
- mv tools/clang "$srcdir"
+ make -C build DESTDIR="$pkgdir" install
- # -j1 is due to race conditions during the installation of the OCaml bindings
- make -j1 DESTDIR="$pkgdir" install
- mv "$srcdir/clang" tools
+ # Remove documentation sources
+ rm -r "$pkgdir"/usr/share/doc/$pkgname/html/{_sources,.buildinfo}
- # The runtime library goes into llvm-libs
- mv -f "$pkgdir/usr/lib/libLLVM-$pkgver.so" "$srcdir/"
- mv -f "$pkgdir/usr/lib/libLLVM-${pkgver%.*}.so" "$srcdir/"
+ # The runtime libraries go into llvm-libs
+ 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,ocamldoc}
- mv "$pkgdir"/usr/{lib/ocaml,share/doc/llvm/ocamldoc} "$srcdir"
-
- # Remove duplicate files installed by the OCaml bindings
- rm "$pkgdir"/usr/{lib/libllvm*,share/doc/llvm/ocamldoc.tar.gz}
-
- # Fix permissions of static libs
- chmod -x "$pkgdir"/usr/lib/*.a
-
- # Get rid of example Hello transformation
- rm "$pkgdir"/usr/lib/*LLVMHello.*
-
- # Symlink LLVMgold.so from /usr/lib/bfd-plugins
- # https://bugs.archlinux.org/task/28479
- install -d "$pkgdir/usr/lib/bfd-plugins"
- ln -s ../LLVMgold.so "$pkgdir/usr/lib/bfd-plugins/LLVMgold.so"
+ 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"
if [[ $CARCH == x86_64 ]]; then
# Needed for multilib (https://bugs.archlinux.org/task/29951)
- # Header stubs are taken from Fedora
- for _header in config llvm-config; do
- mv "$pkgdir/usr/include/llvm/Config/$_header"{,-64}.h
- cp "$srcdir/llvm-Config-$_header.h" \
- "$pkgdir/usr/include/llvm/Config/$_header.h"
- done
+ # 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"
fi
- # Install man pages
- install -d "$pkgdir/usr/share/man/man1"
- cp docs/_build/man/*.1 "$pkgdir/usr/share/man/man1/"
-
- # Install html docs
- cp -r docs/_build/html/* "$pkgdir/usr/share/doc/$pkgname/html/"
- rm -r "$pkgdir/usr/share/doc/$pkgname/html/_sources"
-
install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
package_llvm-libs() {
- pkgdesc="Low Level Virtual Machine (runtime library)"
- depends=('gcc-libs' 'zlib' 'libffi' 'ncurses')
+ pkgdesc="Low Level Virtual Machine (runtime libraries)"
+ depends=('gcc-libs' 'zlib' 'libffi' 'libedit' 'ncurses')
install -d "$pkgdir/usr/lib"
cp -P \
- "$srcdir/libLLVM-$pkgver.so" \
- "$srcdir/libLLVM-${pkgver%.*}.so" \
+ "$srcdir"/lib{LLVM,LTO}.so* \
+ "$srcdir"/LLVMgold.so \
"$pkgdir/usr/lib/"
+ # Symlink LLVMgold.so from /usr/lib/bfd-plugins
+ # https://bugs.archlinux.org/task/28479
+ install -d "$pkgdir/usr/lib/bfd-plugins"
+ ln -s ../LLVMgold.so "$pkgdir/usr/lib/bfd-plugins/LLVMgold.so"
+
install -Dm644 "$srcdir/llvm-$pkgver.src/LICENSE.TXT" \
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
package_llvm-ocaml() {
pkgdesc="OCaml bindings for LLVM"
- depends=("llvm=$pkgver-$pkgrel" 'ocaml')
+ depends=("llvm=$pkgver-$pkgrel" "ocaml=$_ocaml_ver" 'ocaml-ctypes')
cd "$srcdir/llvm-$pkgver.src"
- install -d "$pkgdir"/{usr/lib,usr/share/doc/llvm}
- cp -r "$srcdir/ocaml" "$pkgdir/usr/lib"
- cp -r "$srcdir/ocamldoc" "$pkgdir/usr/share/doc/llvm"
-
- # Remove execute bit from static libraries
- chmod -x "$pkgdir"/usr/lib/ocaml/libllvm*.a
-
- # Remove insecure rpath
- chrpath -d "$pkgdir"/usr/lib/ocaml/*.so
+ install -d "$pkgdir"/{usr/lib,usr/share/doc}
+ cp -a "$srcdir/ocaml.lib" "$pkgdir/usr/lib/ocaml"
+ cp -a "$srcdir/ocaml.doc" "$pkgdir/usr/share/doc/$pkgname"
install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
-package_clang() {
- pkgdesc="C language family frontend for LLVM"
- url="http://clang.llvm.org/"
- depends=("llvm=$pkgver-$pkgrel" 'gcc')
+package_lldb() {
+ pkgdesc="Next generation, high-performance debugger"
+ url="http://lldb.llvm.org/"
+ depends=('libedit' 'libxml2' 'python2')
+
+ cd "$srcdir/llvm-$pkgver.src"
- # Fix installation path for clang docs
- sed -i 's:$(PROJ_prefix)/share/doc/llvm:$(PROJ_prefix)/share/doc/clang:' \
- "$srcdir/llvm-$pkgver.src/Makefile.config"
+ make -C build/tools/lldb DESTDIR="$pkgdir" install
- cd "$srcdir/llvm-$pkgver.src/tools/clang"
+ # Compile Python scripts
+ python2 -m compileall "$pkgdir/usr/lib/python2.7/site-packages/lldb"
+ python2 -O -m compileall "$pkgdir/usr/lib/python2.7/site-packages/lldb"
- # We move the extra tools directory out of the tree so it won't get
- # installed and then we bring it back in for the clang-tools-extra package
- mv tools/extra "$srcdir"
+ install -Dm644 tools/lldb/LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
- make DESTDIR="$pkgdir" install
- mv "$srcdir/extra" tools/
+package_clang() {
+ pkgdesc="C language family frontend for LLVM"
+ url="http://clang.llvm.org/"
+ depends=("llvm-libs=$pkgver-$pkgrel" 'gcc')
+ optdepends=('python2: for git-clang-format')
- # Fix permissions of static libs
- chmod -x "$pkgdir"/usr/lib/*.a
+ cd "$srcdir/llvm-$pkgver.src"
- # Revert the path change in case we want to do a repackage later
- sed -i 's:$(PROJ_prefix)/share/doc/clang:$(PROJ_prefix)/share/doc/llvm:' \
- "$srcdir/llvm-$pkgver.src/Makefile.config"
+ make -C build/tools/clang DESTDIR="$pkgdir" install
+ make -C build/projects/compiler-rt DESTDIR="$pkgdir" install
- # Install html docs
- cp -r docs/_build/html/* "$pkgdir/usr/share/doc/$pkgname/html/"
- rm -r "$pkgdir/usr/share/doc/$pkgname/html/_sources"
+ # Remove documentation sources
+ rm -r "$pkgdir"/usr/share/doc/$pkgname/html/{_sources,.buildinfo}
# Install Python bindings
install -d "$pkgdir/usr/lib/python2.7/site-packages"
- cp -r bindings/python/clang "$pkgdir/usr/lib/python2.7/site-packages/"
+ cp -a tools/clang/bindings/python/clang "$pkgdir/usr/lib/python2.7/site-packages/"
python2 -m compileall "$pkgdir/usr/lib/python2.7/site-packages/clang"
python2 -O -m compileall "$pkgdir/usr/lib/python2.7/site-packages/clang"
- # Install clang-format editor integration files (FS#38485)
- # Destination paths are copied from clang-format/CMakeLists.txt
- install -d "$pkgdir/usr/share/$pkgname"
- (
- cd tools/clang-format
- cp \
- clang-format-diff.py \
- clang-format-sublime.py \
- clang-format.el \
- clang-format.py \
- "$pkgdir/usr/share/$pkgname/"
- cp git-clang-format "$pkgdir/usr/bin/"
- sed -i 's|/usr/bin/python$|&2|' \
- "$pkgdir/usr/bin/git-clang-format" \
- "$pkgdir/usr/share/$pkgname/clang-format-diff.py"
- )
+ # Use Python 2
+ sed -i 's|/usr/bin/env python|&2|' \
+ "$pkgdir/usr/bin/git-clang-format" \
+ "$pkgdir/usr/share/$pkgname/clang-format-diff.py"
- install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm644 tools/clang/LICENSE.TXT \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
package_clang-analyzer() {
@@ -255,7 +253,7 @@ package_clang-analyzer() {
install -d "$pkgdir"/usr/{bin,lib/clang-analyzer}
for _tool in scan-{build,view}; do
- cp -r tools/$_tool "$pkgdir/usr/lib/clang-analyzer/"
+ cp -a tools/$_tool "$pkgdir/usr/lib/clang-analyzer/"
ln -s /usr/lib/clang-analyzer/$_tool/$_tool "$pkgdir/usr/bin/"
done
@@ -286,14 +284,18 @@ package_clang-tools-extra() {
url="http://clang.llvm.org/"
depends=("clang=$pkgver-$pkgrel")
- cd "$srcdir/llvm-$pkgver.src/tools/clang/tools/extra"
+ cd "$srcdir/llvm-$pkgver.src"
- make DESTDIR="$pkgdir" install
+ make -C build/tools/clang/tools/extra DESTDIR="$pkgdir" install
- # Fix permissions of static libs
- chmod -x "$pkgdir"/usr/lib/*.a
+ # Use Python 2
+ sed -i \
+ -e 's|env python$|&2|' \
+ -e 's|/usr/bin/python$|&2|' \
+ "$pkgdir"/usr/share/clang/{clang-tidy-diff,run-clang-tidy}.py
- install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm644 tools/clang/tools/extra/LICENSE.TXT \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/llvm/clang-3.7.0-add-gcc-abi-tag-support.patch b/abs/extra/llvm/clang-3.7.0-add-gcc-abi-tag-support.patch
new file mode 100644
index 0000000..9d2dddd
--- /dev/null
+++ b/abs/extra/llvm/clang-3.7.0-add-gcc-abi-tag-support.patch
@@ -0,0 +1,1267 @@
+Index: docs/ItaniumMangleAbiTags.rst
+===================================================================
+--- /dev/null
++++ docs/ItaniumMangleAbiTags.rst
+@@ -0,0 +1,90 @@
++========
++Abi Tags
++========
++
++Introduction
++============
++
++This text tries to describe gcc semantic for mangling "abi_tag" attributes
++described in https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Attributes.html
++
++There is no guarantee the following rules are correct, complete or make sense
++in any way as they were determined empirically by experiments with gcc5.
++
++Declaration
++===========
++
++Abi tags are declared in an abi_tag attribute and can be applied to a
++function, variable, class or inline namespace declaration. The attribute takes
++one or more strings (called tags); the order does not matter.
++
++See https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Attributes.html for
++details.
++
++Tags on an inline namespace are called "implicit tags", all other tags are
++"explicit tags".
++
++Mangling
++========
++
++All tags that are "active" on a <unqualified-name> are emitted after the
++<unqualified-name>, before <template-args> or <discriminator>, and are part of
++the same <substitution> the <unqualified-name> is.
++
++They are mangled as:
++
++ <abi-tags> ::= <abi-tag>* # sort by name
++ <abi-tag> ::= B <tag source-name>
++
++Example:
++
++ __attribute__((abi_tag("test")))
++ void Func();
++
++ gets mangled as: _Z4FuncB4testv (prettified as `Func[abi:test]()`)
++
++Active tags
++===========
++
++A namespace has never any active tags; for types (class / struct / union /
++enum) the explicit tags are the active tags.
++
++For variables and functions the active tags are the explicit tags plus any
++"required tags" which are not in the "available tags" set:
++
++ derived-tags := (required-tags - available-tags)
++ active-tags := explicit-tags + derived-tags
++
++Required tags for a function
++============================
++
++If a function is used as a local scope for another name, and is part of
++another function as local scope, it doesn't have any required tags.
++
++If a function is used as a local scope for a guard variable name, it doesn't
++have any required tags.
++
++Otherwise the function requires any implicit or explicit tag used in the name
++for the return type.
++
++Required tags for a variable
++============================
++
++A variable requires any implicit or explicit tag used in its type.
++
++Available tags
++==============
++
++All tags used in the prefix and in the template arguments for a name are
++available; for functions also all tags from the <bare-function-type> (which
++might include the return type for template functions) are available.
++
++For <local-name>s all active tags used in the local part (<function-
++encoding>) are available, but not implicit tags which were not active!
++
++Implicit and explicit tags used in the <unqualified-name> for a function (as
++in the type of a cast operator) are NOT available.
++
++Example: a cast operator to std::string (which is
++std::__cxx11::basic_string<...>) will use 'cxx11' as active tag, as it is
++required from the return type `std::string` but not available.
+Index: include/clang/Basic/Attr.td
+===================================================================
+--- include/clang/Basic/Attr.td
++++ include/clang/Basic/Attr.td
+@@ -349,6 +349,14 @@
+ // Attributes begin here
+ //
+
++def AbiTag : Attr {
++ let Spellings = [GCC<"abi_tag">];
++ let Args = [VariadicStringArgument<"Tags">];
++ let Subjects = SubjectList<[Struct, Var, Function, Namespace], ErrorDiag,
++ "ExpectedStructClassVariableFunctionMethodOrInlineNamespace">;
++ let Documentation = [Undocumented];
++}
++
+ def AddressSpace : TypeAttr {
+ let Spellings = [GNU<"address_space">];
+ let Args = [IntArgument<"AddressSpace">];
+Index: include/clang/Basic/DiagnosticSemaKinds.td
+===================================================================
+--- include/clang/Basic/DiagnosticSemaKinds.td
++++ include/clang/Basic/DiagnosticSemaKinds.td
+@@ -2434,7 +2434,8 @@
+ "Objective-C instance methods|init methods of interface or class extension declarations|"
+ "variables, functions and classes|Objective-C protocols|"
+ "functions and global variables|structs, unions, and typedefs|structs and typedefs|"
+- "interface or protocol declarations|kernel functions}1">,
++ "interface or protocol declarations|kernel functions|"
++ "structs, classes, variables, functions, methods and inline namespaces}1">,
+ InGroup<IgnoredAttributes>;
+ def err_attribute_wrong_decl_type : Error<warn_attribute_wrong_decl_type.Text>;
+ def warn_type_attribute_wrong_type : Warning<
+@@ -4144,6 +4145,15 @@
+ def err_redefinition_extern_inline : Error<
+ "redefinition of a 'extern inline' function %0 is not supported in "
+ "%select{C99 mode|C++}1">;
++def err_attr_abi_tag_only_on_inline_namespace :
++ Error<"abi_tag attribute only allowed on inline namespaces">;
++def err_attr_abi_tag_only_on_named_namespace :
++ Error<"abi_tag attribute only allowed on named namespaces">;
++def err_abi_tag_on_redeclaration :
++ Error<"cannot add abi_tag attribute in redeclaration">;
++def err_new_abi_tag_on_redeclaration :
++ Error<"abi_tag %0 missing in original declaration">;
++
+
+ def note_deleted_dtor_no_operator_delete : Note<
+ "virtual destructor requires an unambiguous, accessible 'operator delete'">;
+Index: include/clang/Sema/AttributeList.h
+===================================================================
+--- include/clang/Sema/AttributeList.h
++++ include/clang/Sema/AttributeList.h
+@@ -855,7 +855,8 @@
+ ExpectedStructOrUnionOrTypedef,
+ ExpectedStructOrTypedef,
+ ExpectedObjectiveCInterfaceOrProtocol,
+- ExpectedKernelFunction
++ ExpectedKernelFunction,
++ ExpectedStructClassVariableFunctionMethodOrInlineNamespace
+ };
+
+ } // end namespace clang
+Index: lib/AST/ItaniumMangle.cpp
+===================================================================
+--- lib/AST/ItaniumMangle.cpp
++++ lib/AST/ItaniumMangle.cpp
+@@ -31,6 +31,7 @@
+ #include "llvm/ADT/StringExtras.h"
+ #include "llvm/Support/ErrorHandling.h"
+ #include "llvm/Support/raw_ostream.h"
++#include <set>
+
+ #define MANGLE_CHECKER 0
+
+@@ -212,6 +212,8 @@
+ class CXXNameMangler {
+ ItaniumMangleContextImpl &Context;
+ raw_ostream &Out;
++ bool NullOut = false;
++ bool DisableDerivedAbiTags = false;
+
+ /// The "structor" is the top-level declaration being mangled, if
+ /// that's not a template specialization; otherwise it's the pattern
+@@ -261,6 +263,167 @@
+
+ } FunctionTypeDepth;
+
++ // abi_tag is a gcc attribute, taking one or more strings called "tags".
++ //
++ // the goal is to annotage against which version of a library an object was
++ // build and to be able to provide backwards compatibility ("dual abi").
++ //
++ // for this the emitted mangled names have to be different, while you don't
++ // want the user to have to use different names in the source.
++ //
++ // the abi_tag can be present on Struct, Var and Function declarations as
++ // "explicit" tag, and on inline Namespace as "implicit" tag. Explicit tags
++ // are always emitted after the unqualified name, and (implicit) tags on
++ // namespace are not.
++ //
++ // For functions and variables there is a set of "implicitly available"
++ // tags. These tags are: all tags from the namespace/structs the name is
++ // embedded in, all tags from any template arguments of the name, and, for
++ // functions, alls tags used anywhere in the <bare-function-type> (i.e.
++ // parameters and sometimes the return type).
++ //
++ // For functions this is basically the list of all tags from the signature
++ // without the unqualified name and usually without the return type of the
++ // function. In `operator Type()` Type is NOT part of that list, as it is
++ // part of the unqualified name!
++ //
++ // Now all tags from the function return type/variable type which are not
++ // "implicitly available" must be added to the explicit list of tags, and
++ // are emitted after the unqualified name.
++ //
++ // Example:
++ // namespace std {
++ // inline namespace __cxx11 __attribute__((__abi_tag__("cxx11"))) { }
++ // inline namespace __cxx11 {
++ // struct string { };
++ // }
++ // }
++ //
++ // std::string foo(); // needs abi tag "cxx11" on foo
++ // std::string foo(std::string); // does NOT need abi tag "cxx11" on foo
++ // __attribute__((__abi_tag__("cxx11")))
++ // std::string foo2(std::string); // emit abi tag "cxx11" on foo anyway
++ //
++ // The tags are sorted by name before emitting, and are serialized as
++ // <abitag> ::= B <"tag" source-name>
++
++ typedef SmallVector<StringRef, 4> AbiTagList;
++
++ // state to gather all implicit and explicit tags used in a mangled name.
++ // must always have an instance of this while emitting any name to keep
++ // track.
++ //
++ // TODO(abitags): how to handle substituted names? they should add the tags used in
++ // the substitution to the list of available tags.
++ class AbiTagState final {
++ public:
++ //! all abi tags used implicitly or explicitly
++ std::set<StringRef> UsedAbiTags;
++ //! all explicit abi tags (i.e. not from namespace)
++ std::set<StringRef> EmittedAbiTags;
++
++ AbiTagState* &LinkHead;
++ AbiTagState *Parent{nullptr};
++
++ bool LinkActive{false};
++
++ explicit AbiTagState(AbiTagState* &linkHead)
++ : LinkHead(linkHead) {
++ Parent = LinkHead;
++ LinkHead = this;
++ LinkActive = true;
++ }
++
++ // no copy, no move
++ AbiTagState(AbiTagState const&) = delete;
++ AbiTagState& operator=(AbiTagState const&) = delete;
++
++ ~AbiTagState() {
++ pop();
++ }
++
++ void pop() {
++ if (!LinkActive) return;
++
++ assert(LinkHead == this && "abi tag link head must point to us on destruction");
++ LinkActive = false;
++ if (Parent) {
++ Parent->UsedAbiTags.insert(UsedAbiTags.begin(), UsedAbiTags.end());
++ Parent->EmittedAbiTags.insert(EmittedAbiTags.begin(), EmittedAbiTags.end());
++ }
++ LinkHead = Parent;
++ }
++
++ void write(raw_ostream &Out, const NamedDecl *ND, const AbiTagList *AdditionalAbiTags) {
++ ND = cast<NamedDecl>(ND->getCanonicalDecl());
++
++ if (dyn_cast<FunctionDecl>(ND) || dyn_cast<VarDecl>(ND)) {
++ // assert(AdditionalAbiTags && "function and variables need a list of additional abi tags");
++ } else {
++ assert(!AdditionalAbiTags && "only function and variables need a list of additional abi tags");
++ if (const auto* NS = dyn_cast<NamespaceDecl>(ND)) {
++ if (const auto* AbiTag = NS->getAttr<AbiTagAttr>()) {
++ for (const auto& Tag: AbiTag->tags()) {
++ UsedAbiTags.insert(Tag);
++ }
++ }
++ // don't emit abi tags for namespaces
++ return;
++ }
++ }
++
++ AbiTagList TagList;
++ if (const auto* AbiTag = ND->getAttr<AbiTagAttr>()) {
++ for (const auto& Tag: AbiTag->tags()) {
++ UsedAbiTags.insert(Tag);
++ // AbiTag->tags() is sorted and has no duplicates
++ TagList.push_back(Tag);
++ }
++ }
++
++ if (AdditionalAbiTags) {
++ for (const auto& Tag: *AdditionalAbiTags) {
++ UsedAbiTags.insert(Tag);
++ if (std::find(TagList.begin(), TagList.end(), Tag) == TagList.end()) {
++ // don't insert duplicates
++ TagList.push_back(Tag);
++ }
++ }
++ // AbiTag->tags() are already sorted; only add if we had additional tags
++ std::sort(TagList.begin(), TagList.end());
++ }
++
++ writeSortedUniqueAbiTags(Out, TagList);
++ }
++
++ protected:
++ template<typename TagList>
++ void writeSortedUniqueAbiTags(raw_ostream &Out, TagList const& AbiTags) {
++ for (const auto& Tag: AbiTags) {
++ EmittedAbiTags.insert(Tag);
++ Out << "B";
++ Out << Tag.size();
++ Out << Tag;
++ }
++ }
++ } *AbiTags = nullptr;
++ AbiTagState AbiTagsRoot{AbiTags};
++
++ struct TemporaryDisableDerivedAbiTags {
++ bool& StateRef;
++ bool OldState;
++
++ TemporaryDisableDerivedAbiTags(bool& State, bool Disable = true)
++ : StateRef(State) {
++ OldState = StateRef;
++ StateRef = Disable;
++ }
++ TemporaryDisableDerivedAbiTags(TemporaryDisableDerivedAbiTags const&) = delete;
++ ~TemporaryDisableDerivedAbiTags() {
++ StateRef = OldState;
++ }
++ };
++
+ llvm::DenseMap<uintptr_t, unsigned> Substitutions;
+
+ ASTContext &getASTContext() const { return Context.getASTContext(); }
+@@ -283,6 +446,10 @@
+ : Context(C), Out(Out_), Structor(getStructor(D)), StructorType(Type),
+ SeqID(0) { }
+
++ CXXNameMangler(CXXNameMangler &Outer, llvm::raw_null_ostream &Out_)
++ : Context(Outer.Context), Out(Out_), NullOut(true), Structor(Outer.Structor), StructorType(Outer.StructorType),
++ SeqID(Outer.SeqID) { }
++
+ #if MANGLE_CHECKER
+ ~CXXNameMangler() {
+ if (Out.str()[0] == '\01')
+@@ -296,18 +463,21 @@
+ #endif
+ raw_ostream &getStream() { return Out; }
+
++ void disableDerivedAbiTags() { DisableDerivedAbiTags = true; }
++
+ void mangle(const NamedDecl *D);
+ void mangleCallOffset(int64_t NonVirtual, int64_t Virtual);
+ void mangleNumber(const llvm::APSInt &I);
+ void mangleNumber(int64_t Number);
+ void mangleFloat(const llvm::APFloat &F);
+- void mangleFunctionEncoding(const FunctionDecl *FD);
++ void mangleFunctionEncoding(const FunctionDecl *FD, bool ExcludeUnqualifiedName = false);
+ void mangleSeqID(unsigned SeqID);
+- void mangleName(const NamedDecl *ND);
++ void mangleName(const NamedDecl *ND, bool ExcludeUnqualifiedName = false);
+ void mangleType(QualType T);
+ void mangleNameOrStandardSubstitution(const NamedDecl *ND);
+
+ private:
++ void writeAbiTags(const NamedDecl *ND, const AbiTagList *AdditionalAbiTags = nullptr);
+
+ bool mangleSubstitution(const NamedDecl *ND);
+ bool mangleSubstitution(QualType T);
+@@ -334,31 +504,49 @@
+ DeclarationName name,
+ unsigned KnownArity = UnknownArity);
+
+- void mangleName(const TemplateDecl *TD,
++ void mangleFunctionEncodingBareType(const FunctionDecl *FD);
++
++ void mangleNameWithAbiTags(const NamedDecl *ND,
++ const AbiTagList *AdditionalAbiTags,
++ bool ExcludeUnqualifiedName);
++ void mangleTemplateName(const TemplateDecl *TD,
++ const AbiTagList *AdditionalAbiTags,
++ bool ExcludeUnqualifiedName,
+ const TemplateArgument *TemplateArgs,
+ unsigned NumTemplateArgs);
+- void mangleUnqualifiedName(const NamedDecl *ND) {
+- mangleUnqualifiedName(ND, ND->getDeclName(), UnknownArity);
++ void mangleUnqualifiedName(const NamedDecl *ND, const AbiTagList *AdditionalAbiTags) {
++ mangleUnqualifiedName(ND, ND->getDeclName(), UnknownArity, AdditionalAbiTags);
+ }
+ void mangleUnqualifiedName(const NamedDecl *ND, DeclarationName Name,
+- unsigned KnownArity);
+- void mangleUnscopedName(const NamedDecl *ND);
+- void mangleUnscopedTemplateName(const TemplateDecl *ND);
+- void mangleUnscopedTemplateName(TemplateName);
++ unsigned KnownArity, const AbiTagList *AdditionalAbiTags);
++ void mangleUnscopedName(const NamedDecl *ND, const AbiTagList *AdditionalAbiTags);
++ void mangleUnscopedTemplateName(const TemplateDecl *ND,
++ const AbiTagList *AdditionalAbiTags);
++ void mangleUnscopedTemplateName(TemplateName,
++ const AbiTagList *AdditionalAbiTags);
+ void mangleSourceName(const IdentifierInfo *II);
+- void mangleLocalName(const Decl *D);
++ void mangleLocalName(const Decl *D,
++ const AbiTagList *AdditionalAbiTags,
++ bool ExcludeUnqualifiedName);
+ void mangleBlockForPrefix(const BlockDecl *Block);
+ void mangleUnqualifiedBlock(const BlockDecl *Block);
+ void mangleLambda(const CXXRecordDecl *Lambda);
+ void mangleNestedName(const NamedDecl *ND, const DeclContext *DC,
+- bool NoFunction=false);
++ const AbiTagList *AdditionalAbiTags,
++ bool NoFunction,
++ bool ExcludeUnqualifiedName);
+ void mangleNestedName(const TemplateDecl *TD,
++ const AbiTagList *AdditionalAbiTags,
++ bool ExcludeUnqualifiedName,
+ const TemplateArgument *TemplateArgs,
+ unsigned NumTemplateArgs);
+ void manglePrefix(NestedNameSpecifier *qualifier);
+ void manglePrefix(const DeclContext *DC, bool NoFunction=false);
+ void manglePrefix(QualType type);
+- void mangleTemplatePrefix(const TemplateDecl *ND, bool NoFunction=false);
++ void mangleTemplatePrefix(const TemplateDecl *ND,
++ const AbiTagList *AdditionalAbiTags,
++ bool NoFunction = false,
++ bool ExcludeUnqualifiedName = false);
+ void mangleTemplatePrefix(TemplateName Template);
+ bool mangleUnresolvedTypeOrSimpleId(QualType DestroyedType,
+ StringRef Prefix = "");
+@@ -405,6 +593,10 @@
+ void mangleTemplateParameter(unsigned Index);
+
+ void mangleFunctionParam(const ParmVarDecl *parm);
++
++ std::set<StringRef> getTagsFromPrefixAndTemplateArguments(const NamedDecl *ND);
++ AbiTagList makeAdditionalTagsForFunction(const FunctionDecl *FD);
++ AbiTagList makeAdditionalTagsForVariable(const VarDecl *VD);
+ };
+
+ }
+@@ -455,6 +647,11 @@
+ return true;
+ }
+
++void CXXNameMangler::writeAbiTags(const NamedDecl *ND, const AbiTagList *AdditionalAbiTags) {
++ assert(AbiTags && "require AbiTagState");
++ if (AbiTags) AbiTags->write(Out, ND, DisableDerivedAbiTags ? nullptr : AdditionalAbiTags);
++}
++
+ void CXXNameMangler::mangle(const NamedDecl *D) {
+ // <mangled-name> ::= _Z <encoding>
+ // ::= <data name>
+@@ -470,14 +667,28 @@
+ mangleName(cast<FieldDecl>(D));
+ }
+
+-void CXXNameMangler::mangleFunctionEncoding(const FunctionDecl *FD) {
+- // <encoding> ::= <function name> <bare-function-type>
+- mangleName(FD);
+-
++void CXXNameMangler::mangleFunctionEncoding(const FunctionDecl *FD, bool ExcludeUnqualifiedName) {
+ // Don't mangle in the type if this isn't a decl we should typically mangle.
+- if (!Context.shouldMangleDeclName(FD))
++ if (!Context.shouldMangleDeclName(FD)) {
++ mangleNameWithAbiTags(FD, /* AdditionalAbiTags */ nullptr, ExcludeUnqualifiedName);
+ return;
++ }
++
++ // <encoding> ::= <function name> <bare-function-type>
+
++ if (ExcludeUnqualifiedName)
++ {
++ // running makeAdditionalTagsForFunction would loop, don't need it here anyway
++ mangleNameWithAbiTags(FD, /* AdditionalAbiTags */ nullptr, ExcludeUnqualifiedName);
++ } else {
++ AbiTagList AdditionalAbiTags = makeAdditionalTagsForFunction(FD);
++ mangleNameWithAbiTags(FD, &AdditionalAbiTags, ExcludeUnqualifiedName);
++ }
++
++ mangleFunctionEncodingBareType(FD);
++}
++
++void CXXNameMangler::mangleFunctionEncodingBareType(const FunctionDecl *FD) {
+ if (FD->hasAttr<EnableIfAttr>()) {
+ FunctionTypeDepthState Saved = FunctionTypeDepth.push();
+ Out << "Ua9enable_ifI";
+@@ -581,7 +792,21 @@
+ return nullptr;
+ }
+
+-void CXXNameMangler::mangleName(const NamedDecl *ND) {
++// must not be run from mangleLocalName for the <entity name> as it would loop otherwise.
++void CXXNameMangler::mangleName(const NamedDecl *ND, bool ExcludeUnqualifiedName) {
++ if (!ExcludeUnqualifiedName) {
++ if (const VarDecl *VD = dyn_cast<VarDecl>(ND)) {
++ AbiTagList VariableAdditionalAbiTags = makeAdditionalTagsForVariable(VD);
++ mangleNameWithAbiTags(VD, &VariableAdditionalAbiTags, ExcludeUnqualifiedName);
++ return;
++ }
++ }
++ mangleNameWithAbiTags(ND, nullptr, ExcludeUnqualifiedName);
++}
++
++void CXXNameMangler::mangleNameWithAbiTags(const NamedDecl *ND,
++ const AbiTagList *AdditionalAbiTags,
++ bool ExcludeUnqualifiedName) {
+ // <name> ::= <nested-name>
+ // ::= <unscoped-name>
+ // ::= <unscoped-template-name> <template-args>
+@@ -597,7 +822,7 @@
+ while (!DC->isNamespace() && !DC->isTranslationUnit())
+ DC = getEffectiveParentContext(DC);
+ else if (GetLocalClassDecl(ND)) {
+- mangleLocalName(ND);
++ mangleLocalName(ND, AdditionalAbiTags, ExcludeUnqualifiedName);
+ return;
+ }
+
+@@ -607,76 +832,88 @@
+ // Check if we have a template.
+ const TemplateArgumentList *TemplateArgs = nullptr;
+ if (const TemplateDecl *TD = isTemplate(ND, TemplateArgs)) {
+- mangleUnscopedTemplateName(TD);
++ if (!ExcludeUnqualifiedName)
++ mangleUnscopedTemplateName(TD, AdditionalAbiTags);
+ mangleTemplateArgs(*TemplateArgs);
+ return;
+ }
+
+- mangleUnscopedName(ND);
++ if (!ExcludeUnqualifiedName)
++ mangleUnscopedName(ND, AdditionalAbiTags);
+ return;
+ }
+
+ if (isLocalContainerContext(DC)) {
+- mangleLocalName(ND);
++ mangleLocalName(ND, AdditionalAbiTags, ExcludeUnqualifiedName);
+ return;
+ }
+
+- mangleNestedName(ND, DC);
++ mangleNestedName(ND, DC, AdditionalAbiTags, /* NoFunction */ false, ExcludeUnqualifiedName);
+ }
+-void CXXNameMangler::mangleName(const TemplateDecl *TD,
+- const TemplateArgument *TemplateArgs,
+- unsigned NumTemplateArgs) {
++
++void CXXNameMangler::mangleTemplateName(const TemplateDecl *TD,
++ const AbiTagList *AdditionalAbiTags,
++ bool ExcludeUnqualifiedName,
++ const TemplateArgument *TemplateArgs,
++ unsigned NumTemplateArgs) {
+ const DeclContext *DC = IgnoreLinkageSpecDecls(getEffectiveDeclContext(TD));
+
+ if (DC->isTranslationUnit() || isStdNamespace(DC)) {
+- mangleUnscopedTemplateName(TD);
++ if (!ExcludeUnqualifiedName)
++ mangleUnscopedTemplateName(TD, AdditionalAbiTags);
+ mangleTemplateArgs(TemplateArgs, NumTemplateArgs);
+ } else {
+- mangleNestedName(TD, TemplateArgs, NumTemplateArgs);
++ mangleNestedName(TD, AdditionalAbiTags, ExcludeUnqualifiedName, TemplateArgs, NumTemplateArgs);
+ }
+ }
+
+-void CXXNameMangler::mangleUnscopedName(const NamedDecl *ND) {
++void CXXNameMangler::mangleUnscopedName(const NamedDecl *ND, const AbiTagList *AdditionalAbiTags) {
+ // <unscoped-name> ::= <unqualified-name>
+ // ::= St <unqualified-name> # ::std::
+
+ if (isStdNamespace(IgnoreLinkageSpecDecls(getEffectiveDeclContext(ND))))
+ Out << "St";
+
+- mangleUnqualifiedName(ND);
++ mangleUnqualifiedName(ND, AdditionalAbiTags);
+ }
+
+-void CXXNameMangler::mangleUnscopedTemplateName(const TemplateDecl *ND) {
++void CXXNameMangler::mangleUnscopedTemplateName(const TemplateDecl *ND,
++ const AbiTagList *AdditionalAbiTags) {
+ // <unscoped-template-name> ::= <unscoped-name>
+ // ::= <substitution>
+ if (mangleSubstitution(ND))
+ return;
+
+ // <template-template-param> ::= <template-param>
+- if (const auto *TTP = dyn_cast<TemplateTemplateParmDecl>(ND))
++ if (const auto *TTP = dyn_cast<TemplateTemplateParmDecl>(ND)) {
++ assert(!AdditionalAbiTags && "template template param cannot have abi tags"); // TODO(abitags)
+ mangleTemplateParameter(TTP->getIndex());
+- else
+- mangleUnscopedName(ND->getTemplatedDecl());
++ } else {
++ mangleUnscopedName(ND->getTemplatedDecl(), AdditionalAbiTags);
++ }
+
+ addSubstitution(ND);
+ }
+
+-void CXXNameMangler::mangleUnscopedTemplateName(TemplateName Template) {
++void CXXNameMangler::mangleUnscopedTemplateName(TemplateName Template,
++ const AbiTagList *AdditionalAbiTags) {
+ // <unscoped-template-name> ::= <unscoped-name>
+ // ::= <substitution>
+ if (TemplateDecl *TD = Template.getAsTemplateDecl())
+- return mangleUnscopedTemplateName(TD);
++ return mangleUnscopedTemplateName(TD, AdditionalAbiTags);
+
+ if (mangleSubstitution(Template))
+ return;
+
++ assert(!AdditionalAbiTags && "dependent template name cannot have abi tags"); // TODO(abitags)
++
+ DependentTemplateName *Dependent = Template.getAsDependentTemplateName();
+ assert(Dependent && "Not a dependent template name?");
+ if (const IdentifierInfo *Id = Dependent->getIdentifier())
+ mangleSourceName(Id);
+ else
+ mangleOperatorName(Dependent->getOperator(), UnknownArity);
+-
++
+ addSubstitution(Template);
+ }
+
+@@ -835,14 +1072,16 @@
+ else
+ Out << "sr";
+ mangleSourceName(qualifier->getAsNamespace()->getIdentifier());
++ writeAbiTags(qualifier->getAsNamespace());
+ break;
+ case NestedNameSpecifier::NamespaceAlias:
+ if (qualifier->getPrefix())
+ mangleUnresolvedPrefix(qualifier->getPrefix(),
+ /*recursive*/ true);
+ else
+ Out << "sr";
+ mangleSourceName(qualifier->getAsNamespaceAlias()->getIdentifier());
++ writeAbiTags(qualifier->getAsNamespaceAlias());
+ break;
+
+ case NestedNameSpecifier::TypeSpec:
+@@ -877,6 +1116,7 @@
+ Out << "sr";
+
+ mangleSourceName(qualifier->getAsIdentifier());
++ // an Identifier has no type information, so we can't emit abi tags for it
+ break;
+ }
+
+@@ -922,7 +1162,8 @@
+
+ void CXXNameMangler::mangleUnqualifiedName(const NamedDecl *ND,
+ DeclarationName Name,
+- unsigned KnownArity) {
++ unsigned KnownArity,
++ const AbiTagList *AdditionalAbiTags) {
+ unsigned Arity = KnownArity;
+ // <unqualified-name> ::= <operator-name>
+ // ::= <ctor-dtor-name>
+@@ -941,6 +1182,7 @@
+ Out << 'L';
+
+ mangleSourceName(II);
++ writeAbiTags(ND, AdditionalAbiTags);
+ break;
+ }
+
+@@ -980,6 +1222,7 @@
+ assert(FD->getIdentifier() && "Data member name isn't an identifier!");
+
+ mangleSourceName(FD->getIdentifier());
++ // TODO(abitags): not emitting abi tags: internal name anyway
+ break;
+ }
+
+@@ -1000,6 +1243,9 @@
+ assert(D->getDeclName().getAsIdentifierInfo() &&
+ "Typedef was not named!");
+ mangleSourceName(D->getDeclName().getAsIdentifierInfo());
++ assert(!AdditionalAbiTags && "Type cannot have additional abi tags");
++ // explicit abi tags are still possible; take from underlying type, not from typedef.
++ writeAbiTags(TD, nullptr);
+ break;
+ }
+
+@@ -1009,6 +1255,7 @@
+ // <lambda-sig> ::= <parameter-type>+ # Parameter types or 'v' for 'void'.
+ if (const CXXRecordDecl *Record = dyn_cast<CXXRecordDecl>(TD)) {
+ if (Record->isLambda() && Record->getLambdaManglingNumber()) {
++ assert(!AdditionalAbiTags && "Lambda type cannot have additional abi tags");
+ mangleLambda(Record);
+ break;
+ }
+@@ -1020,6 +1267,7 @@
+ if (UnnamedMangle > 1)
+ Out << UnnamedMangle - 2;
+ Out << '_';
++ writeAbiTags(TD, AdditionalAbiTags);
+ break;
+ }
+
+@@ -1052,6 +1300,7 @@
+ // Otherwise, use the complete constructor name. This is relevant if a
+ // class with a constructor is declared within a constructor.
+ mangleCXXCtorType(Ctor_Complete);
++ writeAbiTags(ND, AdditionalAbiTags);
+ break;
+
+ case DeclarationName::CXXDestructorName:
+@@ -1063,6 +1312,7 @@
+ // Otherwise, use the complete destructor name. This is relevant if a
+ // class with a destructor is declared within a destructor.
+ mangleCXXDtorType(Dtor_Complete);
++ writeAbiTags(ND, AdditionalAbiTags);
+ break;
+
+ case DeclarationName::CXXOperatorName:
+@@ -1078,6 +1328,7 @@
+ case DeclarationName::CXXConversionFunctionName:
+ case DeclarationName::CXXLiteralOperatorName:
+ mangleOperatorName(Name, Arity);
++ writeAbiTags(ND, AdditionalAbiTags);
+ break;
+
+ case DeclarationName::CXXUsingDirective:
+@@ -1094,7 +1345,9 @@
+
+ void CXXNameMangler::mangleNestedName(const NamedDecl *ND,
+ const DeclContext *DC,
+- bool NoFunction) {
++ const AbiTagList *AdditionalAbiTags,
++ bool NoFunction,
++ bool ExcludeUnqualifiedName) {
+ // <nested-name>
+ // ::= N [<CV-qualifiers>] [<ref-qualifier>] <prefix> <unqualified-name> E
+ // ::= N [<CV-qualifiers>] [<ref-qualifier>] <template-prefix>
+@@ -1114,30 +1367,35 @@
+ // Check if we have a template.
+ const TemplateArgumentList *TemplateArgs = nullptr;
+ if (const TemplateDecl *TD = isTemplate(ND, TemplateArgs)) {
+- mangleTemplatePrefix(TD, NoFunction);
++ mangleTemplatePrefix(TD, AdditionalAbiTags, NoFunction, ExcludeUnqualifiedName);
+ mangleTemplateArgs(*TemplateArgs);
+ }
+ else {
+ manglePrefix(DC, NoFunction);
+- mangleUnqualifiedName(ND);
++ if (!ExcludeUnqualifiedName)
++ mangleUnqualifiedName(ND, AdditionalAbiTags);
+ }
+
+ Out << 'E';
+ }
+ void CXXNameMangler::mangleNestedName(const TemplateDecl *TD,
++ const AbiTagList *AdditionalAbiTags,
++ bool ExcludeUnqualifiedName,
+ const TemplateArgument *TemplateArgs,
+ unsigned NumTemplateArgs) {
+ // <nested-name> ::= N [<CV-qualifiers>] <template-prefix> <template-args> E
+
+ Out << 'N';
+
+- mangleTemplatePrefix(TD);
++ mangleTemplatePrefix(TD, AdditionalAbiTags, ExcludeUnqualifiedName);
+ mangleTemplateArgs(TemplateArgs, NumTemplateArgs);
+
+ Out << 'E';
+ }
+
+-void CXXNameMangler::mangleLocalName(const Decl *D) {
++void CXXNameMangler::mangleLocalName(const Decl *D,
++ const AbiTagList *AdditionalAbiTags,
++ bool ExcludeUnqualifiedName) {
+ // <local-name> := Z <function encoding> E <entity name> [<discriminator>]
+ // := Z <function encoding> E s [<discriminator>]
+ // <local-name> := Z <function encoding> E d [ <parameter number> ]
+@@ -1149,15 +1407,25 @@
+
+ Out << 'Z';
+
+- if (const ObjCMethodDecl *MD = dyn_cast<ObjCMethodDecl>(DC))
+- mangleObjCMethodName(MD);
+- else if (const BlockDecl *BD = dyn_cast<BlockDecl>(DC))
+- mangleBlockForPrefix(BD);
+- else
+- mangleFunctionEncoding(cast<FunctionDecl>(DC));
++ {
++ AbiTagState localAbiTags(AbiTags);
++
++ if (const ObjCMethodDecl *MD = dyn_cast<ObjCMethodDecl>(DC))
++ mangleObjCMethodName(MD);
++ else if (const BlockDecl *BD = dyn_cast<BlockDecl>(DC))
++ mangleBlockForPrefix(BD);
++ else
++ mangleFunctionEncoding(cast<FunctionDecl>(DC));
++
++ // implicit abi tags (from namespace) are not available in the following
++ // entity; reset to actually emitted tags, which are available.
++ localAbiTags.UsedAbiTags = localAbiTags.EmittedAbiTags;
++ }
+
+ Out << 'E';
+
++ TemporaryDisableDerivedAbiTags TemporyDisable(DisableDerivedAbiTags, getStructor(dyn_cast<NamedDecl>(D)) != Structor);
++
+ if (RD) {
+ // The parameter number is omitted for the last parameter, 0 for the
+ // second-to-last parameter, 1 for the third-to-last parameter, etc. The
+@@ -1182,13 +1450,17 @@
+ // Mangle the name relative to the closest enclosing function.
+ // equality ok because RD derived from ND above
+ if (D == RD) {
+- mangleUnqualifiedName(RD);
++ if (!ExcludeUnqualifiedName)
++ mangleUnqualifiedName(RD, AdditionalAbiTags);
+ } else if (const BlockDecl *BD = dyn_cast<BlockDecl>(D)) {
+ manglePrefix(getEffectiveDeclContext(BD), true /*NoFunction*/);
+- mangleUnqualifiedBlock(BD);
++ assert(!AdditionalAbiTags && "Block cannot have additional abi tags");
++ if (!ExcludeUnqualifiedName)
++ mangleUnqualifiedBlock(BD);
+ } else {
+ const NamedDecl *ND = cast<NamedDecl>(D);
+- mangleNestedName(ND, getEffectiveDeclContext(ND), true /*NoFunction*/);
++ mangleNestedName(ND, getEffectiveDeclContext(ND),
++ AdditionalAbiTags, true /*NoFunction*/, ExcludeUnqualifiedName);
+ }
+ } else if (const BlockDecl *BD = dyn_cast<BlockDecl>(D)) {
+ // Mangle a block in a default parameter; see above explanation for
+@@ -1205,30 +1477,35 @@
+ }
+ }
+
+- mangleUnqualifiedBlock(BD);
++ assert(!AdditionalAbiTags && "Block cannot have additional abi tags");
++ if (!ExcludeUnqualifiedName)
++ mangleUnqualifiedBlock(BD);
+ } else {
+- mangleUnqualifiedName(cast<NamedDecl>(D));
+- }
+-
+- if (const NamedDecl *ND = dyn_cast<NamedDecl>(RD ? RD : D)) {
+- unsigned disc;
+- if (Context.getNextDiscriminator(ND, disc)) {
+- if (disc < 10)
+- Out << '_' << disc;
+- else
+- Out << "__" << disc << '_';
++ if (!ExcludeUnqualifiedName)
++ mangleUnqualifiedName(cast<NamedDecl>(D), AdditionalAbiTags);
++ }
++
++ if (!ExcludeUnqualifiedName) {
++ if (const NamedDecl *ND = dyn_cast<NamedDecl>(RD ? RD : D)) {
++ unsigned disc;
++ if (Context.getNextDiscriminator(ND, disc)) {
++ if (disc < 10)
++ Out << '_' << disc;
++ else
++ Out << "__" << disc << '_';
++ }
+ }
+ }
+ }
+
+ void CXXNameMangler::mangleBlockForPrefix(const BlockDecl *Block) {
+ if (GetLocalClassDecl(Block)) {
+- mangleLocalName(Block);
++ mangleLocalName(Block, /* AdditionalAbiTags */ nullptr, /* ExcludeUnqualifiedName */ false);
+ return;
+ }
+ const DeclContext *DC = getEffectiveDeclContext(Block);
+ if (isLocalContainerContext(DC)) {
+- mangleLocalName(Block);
++ mangleLocalName(Block, /* AdditionalAbiTags */ nullptr, /* ExcludeUnqualifiedName */ false);
+ return;
+ }
+ manglePrefix(getEffectiveDeclContext(Block));
+@@ -1239,10 +1516,11 @@
+ if (Decl *Context = Block->getBlockManglingContextDecl()) {
+ if ((isa<VarDecl>(Context) || isa<FieldDecl>(Context)) &&
+ Context->getDeclContext()->isRecord()) {
+- if (const IdentifierInfo *Name
+- = cast<NamedDecl>(Context)->getIdentifier()) {
++ const auto *ND = cast<NamedDecl>(Context);
++ if (const IdentifierInfo *Name = ND->getIdentifier()) {
+ mangleSourceName(Name);
+- Out << 'M';
++ writeAbiTags(ND, /* AdditionalAbiTags */ nullptr);
++ Out << 'M';
+ }
+ }
+ }
+@@ -1275,7 +1553,7 @@
+ if (const IdentifierInfo *Name
+ = cast<NamedDecl>(Context)->getIdentifier()) {
+ mangleSourceName(Name);
+- Out << 'M';
++ Out << 'M';
+ }
+ }
+ }
+@@ -1358,11 +1636,11 @@
+ // Check if we have a template.
+ const TemplateArgumentList *TemplateArgs = nullptr;
+ if (const TemplateDecl *TD = isTemplate(ND, TemplateArgs)) {
+- mangleTemplatePrefix(TD);
++ mangleTemplatePrefix(TD, /* AdditionalAbiTags */ nullptr);
+ mangleTemplateArgs(*TemplateArgs);
+ } else {
+ manglePrefix(getEffectiveDeclContext(ND), NoFunction);
+- mangleUnqualifiedName(ND);
++ mangleUnqualifiedName(ND, /* AdditionalAbiTags */ nullptr);
+ }
+
+ addSubstitution(ND);
+@@ -1373,27 +1651,30 @@
+ // ::= <template-param>
+ // ::= <substitution>
+ if (TemplateDecl *TD = Template.getAsTemplateDecl())
+- return mangleTemplatePrefix(TD);
++ return mangleTemplatePrefix(TD, /* AdditionalAbiTags */ nullptr);
+
+ if (QualifiedTemplateName *Qualified = Template.getAsQualifiedTemplateName())
+ manglePrefix(Qualified->getQualifier());
+-
++
+ if (OverloadedTemplateStorage *Overloaded
+ = Template.getAsOverloadedTemplate()) {
+ mangleUnqualifiedName(nullptr, (*Overloaded->begin())->getDeclName(),
+- UnknownArity);
++ UnknownArity,
++ /* AdditionalAbiTags */ nullptr);
+ return;
+ }
+-
++
+ DependentTemplateName *Dependent = Template.getAsDependentTemplateName();
+ assert(Dependent && "Unknown template name kind?");
+ if (NestedNameSpecifier *Qualifier = Dependent->getQualifier())
+ manglePrefix(Qualifier);
+- mangleUnscopedTemplateName(Template);
++ mangleUnscopedTemplateName(Template, /* AdditionalAbiTags */ nullptr);
+ }
+
+ void CXXNameMangler::mangleTemplatePrefix(const TemplateDecl *ND,
+- bool NoFunction) {
++ const AbiTagList *AdditionalAbiTags,
++ bool NoFunction,
++ bool ExcludeUnqualifiedName) {
+ // <template-prefix> ::= <prefix> <template unqualified-name>
+ // ::= <template-param>
+ // ::= <substitution>
+@@ -1405,10 +1686,12 @@
+
+ // <template-template-param> ::= <template-param>
+ if (const auto *TTP = dyn_cast<TemplateTemplateParmDecl>(ND)) {
++ // TODO(abitags): ???
+ mangleTemplateParameter(TTP->getIndex());
+ } else {
+ manglePrefix(getEffectiveDeclContext(ND), NoFunction);
+- mangleUnqualifiedName(ND->getTemplatedDecl());
++ if (!ExcludeUnqualifiedName)
++ mangleUnqualifiedName(ND->getTemplatedDecl(), AdditionalAbiTags);
+ }
+
+ addSubstitution(ND);
+@@ -1452,6 +1735,7 @@
+ // <name> ::= <nested-name>
+ mangleUnresolvedPrefix(Dependent->getQualifier());
+ mangleSourceName(Dependent->getIdentifier());
++ // writeAbiTags(Dependent);
+ break;
+ }
+
+@@ -1544,16 +1828,19 @@
+
+ case Type::Typedef:
+ mangleSourceName(cast<TypedefType>(Ty)->getDecl()->getIdentifier());
++ writeAbiTags(cast<TypedefType>(Ty)->getDecl());
+ break;
+
+ case Type::UnresolvedUsing:
+ mangleSourceName(
+ cast<UnresolvedUsingType>(Ty)->getDecl()->getIdentifier());
++ writeAbiTags(cast<UnresolvedUsingType>(Ty)->getDecl());
+ break;
+
+ case Type::Enum:
+ case Type::Record:
+ mangleSourceName(cast<TagType>(Ty)->getDecl()->getIdentifier());
++ writeAbiTags(cast<TagType>(Ty)->getDecl());
+ break;
+
+ case Type::TemplateSpecialization: {
+@@ -1572,6 +1859,7 @@
+ goto unresolvedType;
+
+ mangleSourceName(TD->getIdentifier());
++ writeAbiTags(TD);
+ break;
+ }
+
+@@ -1603,16 +1891,19 @@
+ case Type::InjectedClassName:
+ mangleSourceName(
+ cast<InjectedClassNameType>(Ty)->getDecl()->getIdentifier());
++ writeAbiTags(cast<InjectedClassNameType>(Ty)->getDecl());
+ break;
+
+ case Type::DependentName:
+ mangleSourceName(cast<DependentNameType>(Ty)->getIdentifier());
++ // writeAbiTags(cast<DependentNameType>(Ty));
+ break;
+
+ case Type::DependentTemplateSpecialization: {
+ const DependentTemplateSpecializationType *DTST =
+ cast<DependentTemplateSpecializationType>(Ty);
+ mangleSourceName(DTST->getIdentifier());
++ // writeAbiTags(DTST);
+ mangleTemplateArgs(DTST->getArgs(), DTST->getNumArgs());
+ break;
+ }
+@@ -2546,7 +2837,11 @@
+
+ void CXXNameMangler::mangleType(const TemplateSpecializationType *T) {
+ if (TemplateDecl *TD = T->getTemplateName().getAsTemplateDecl()) {
+- mangleName(TD, T->getArgs(), T->getNumArgs());
++ // types only have explicit abi tags, no addition tags
++ mangleTemplateName(TD,
++ /* AdditionalAbiTags */ nullptr,
++ /* ExcludeUnqualifiedName */ false,
++ T->getArgs(), T->getNumArgs());
+ } else {
+ if (mangleSubstitution(QualType(T, 0)))
+ return;
+@@ -2593,6 +2888,7 @@
+ Out << 'N';
+ manglePrefix(T->getQualifier());
+ mangleSourceName(T->getIdentifier());
++ // writeAbiTags(T); // TODO(abitags)
+ Out << 'E';
+ }
+
+@@ -4020,6 +4316,76 @@
+ Substitutions[Ptr] = SeqID++;
+ }
+
++std::set<StringRef> CXXNameMangler::getTagsFromPrefixAndTemplateArguments(const NamedDecl *ND) {
++ llvm::raw_null_ostream NullOutStream;
++ CXXNameMangler TrackPrefixAndTemplateArguments(*this, NullOutStream);
++
++ if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)) {
++ TrackPrefixAndTemplateArguments.mangleFunctionEncoding(FD, /* ExcludeUnqualifiedName */ true);
++ } else {
++ TrackPrefixAndTemplateArguments.mangleName(ND, /* ExcludeUnqualifiedName */ true);
++ }
++
++ return std::move(TrackPrefixAndTemplateArguments.AbiTagsRoot.UsedAbiTags);
++}
++
++CXXNameMangler::AbiTagList CXXNameMangler::makeAdditionalTagsForFunction(const FunctionDecl *FD) {
++ // when derived abi tags are disabled there is no need to make any list
++ if (DisableDerivedAbiTags) return AbiTagList();
++
++ std::set<StringRef> ImplicitlyAvailableTags = getTagsFromPrefixAndTemplateArguments(FD);
++ std::set<StringRef> ReturnTypeTags;
++
++ {
++ llvm::raw_null_ostream NullOutStream;
++ CXXNameMangler TrackReturnTypeTags(*this, NullOutStream);
++ TrackReturnTypeTags.disableDerivedAbiTags();
++
++ const FunctionProtoType *Proto = cast<FunctionProtoType>(FD->getType()->getAs<FunctionType>());
++ TrackReturnTypeTags.FunctionTypeDepth.enterResultType();
++ TrackReturnTypeTags.mangleType(Proto->getReturnType());
++ TrackReturnTypeTags.FunctionTypeDepth.leaveResultType();
++
++ ReturnTypeTags = std::move(TrackReturnTypeTags.AbiTagsRoot.UsedAbiTags);
++ }
++
++ AbiTagList AdditionalAbiTags;
++
++ for (const auto& Tag: ReturnTypeTags) {
++ if (ImplicitlyAvailableTags.count(Tag) == 0)
++ AdditionalAbiTags.push_back(Tag);
++ }
++
++ return AdditionalAbiTags;
++}
++
++CXXNameMangler::AbiTagList CXXNameMangler::makeAdditionalTagsForVariable(const VarDecl *VD) {
++ // when derived abi tags are disabled there is no need to make any list
++ if (DisableDerivedAbiTags) return AbiTagList();
++
++ std::set<StringRef> ImplicitlyAvailableTags = getTagsFromPrefixAndTemplateArguments(VD);
++ std::set<StringRef> VariableTypeTags;
++
++ {
++ llvm::raw_null_ostream NullOutStream;
++ CXXNameMangler TrackVariableType(*this, NullOutStream);
++ TrackVariableType.disableDerivedAbiTags();
++
++ TrackVariableType.mangleType(VD->getType());
++
++ VariableTypeTags = std::move(TrackVariableType.AbiTagsRoot.UsedAbiTags);
++ }
++
++ AbiTagList AdditionalAbiTags;
++
++ for (const auto& Tag: VariableTypeTags) {
++ if (ImplicitlyAvailableTags.count(Tag) == 0)
++ AdditionalAbiTags.push_back(Tag);
++ }
++
++ return AdditionalAbiTags;
++}
++
+ //
+
+ /// Mangles the name of the declaration D and emits that name to the given
+@@ -4121,6 +4487,7 @@
+ // <special-name> ::= GV <object name> # Guard variable for one-time
+ // # initialization
+ CXXNameMangler Mangler(*this, Out);
++ Mangler.disableDerivedAbiTags(); // GCC: doesn't emit derived abi tags for guard variables
+ Mangler.getStream() << "_ZGV";
+ Mangler.mangleName(D);
+ }
+Index: lib/Sema/SemaDeclAttr.cpp
+===================================================================
+--- lib/Sema/SemaDeclAttr.cpp
++++ lib/Sema/SemaDeclAttr.cpp
+@@ -4446,6 +4446,66 @@
+ Attr.getRange(), S.Context, Attr.getAttributeSpellingListIndex()));
+ }
+
++static void handleAbiTagAttr(Sema &S, Decl *D,
++ const AttributeList &Attr) {
++ const auto *NS = dyn_cast<NamespaceDecl>(D);
++
++ if (!checkAttributeAtLeastNumArgs(S, Attr, NS ? 0 : 1))
++ return;
++
++ SmallVector<std::string, 4> Tags;
++
++ for (unsigned I = 0, E = Attr.getNumArgs(); I != E; ++I) {
++ StringRef Tag;
++
++ if (!S.checkStringLiteralArgumentAttr(Attr, I, Tag))
++ return;
++
++ Tags.push_back(Tag);
++ }
++
++ if (NS && !NS->isInline()) {
++ S.Diag(Attr.getLoc(), diag::err_attr_abi_tag_only_on_inline_namespace);
++ return;
++ }
++ if (NS && NS->isAnonymousNamespace()) {
++ S.Diag(Attr.getLoc(), diag::err_attr_abi_tag_only_on_named_namespace);
++ return;
++ }
++ if (NS && Attr.getNumArgs() == 0) {
++ Tags.push_back(NS->getName());
++ }
++
++ // store tags sorted and without duplicates
++ std::sort(Tags.begin(), Tags.end());
++ Tags.erase(std::unique(Tags.begin(), Tags.end()), Tags.end());
++
++ const auto *CD = D->getCanonicalDecl();
++ if (CD != D) {
++ // redeclarations must not add new abi tags, or abi tags in the first place
++ const auto *OldAbiTagAttr = D->getAttr<AbiTagAttr>();
++ if (nullptr == OldAbiTagAttr) {
++ S.Diag(Attr.getLoc(), diag::err_abi_tag_on_redeclaration);
++ S.Diag(CD->getLocation(), diag::note_previous_definition);
++ return;
++ }
++ for (const auto& NewTag: Tags) {
++ if (std::find(OldAbiTagAttr->tags_begin(),
++ OldAbiTagAttr->tags_end(),
++ NewTag) == OldAbiTagAttr->tags_end()) {
++ S.Diag(Attr.getLoc(), diag::err_new_abi_tag_on_redeclaration) << NewTag;
++ S.Diag(OldAbiTagAttr->getLocation(), diag::note_previous_definition);
++ return;
++ }
++ }
++ return;
++ }
++
++ D->addAttr(::new (S.Context) AbiTagAttr(Attr.getRange(), S.Context,
++ Tags.data(), Tags.size(),
++ Attr.getAttributeSpellingListIndex()));
++}
++
+ static void handleARMInterruptAttr(Sema &S, Decl *D,
+ const AttributeList &Attr) {
+ // Check the attribute arguments.
+@@ -5360,6 +5420,9 @@
+ case AttributeList::AT_Thread:
+ handleDeclspecThreadAttr(S, D, Attr);
+ break;
++ case AttributeList::AT_AbiTag:
++ handleAbiTagAttr(S, D, Attr);
++ break;
+
+ // Thread safety attributes:
+ case AttributeList::AT_AssertExclusiveLock:
+Index: test/SemaCXX/attr-abi-tag-syntax.cpp
+===================================================================
+--- /dev/null
++++ test/SemaCXX/attr-abi-tag-syntax.cpp
+@@ -0,0 +1,20 @@
++// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s
++
++namespace N1 {
++
++namespace __attribute__((__abi_tag__)) {} // \
++ // expected-error {{abi_tag attribute only allowed on inline namespaces}}
++
++namespace N __attribute__((__abi_tag__)) {} // \
++ // expected-error {{abi_tag attribute only allowed on inline namespaces}}
++
++}
++
++namespace N2 {
++
++inline namespace __attribute__((__abi_tag__)) {} // \
++ // expected-error {{abi_tag attribute only allowed on named namespaces}}
++
++inline namespace N __attribute__((__abi_tag__)) {}
++
++}
+Index: test/SemaCXX/attr-abi-tag.cpp
+===================================================================
+--- /dev/null
++++ test/SemaCXX/attr-abi-tag.cpp
+@@ -0,0 +1,13 @@
++// RUN: %clang_cc1 -x c++ -std=c++11 -triple x86_64-unknown-linux -emit-llvm < %s | FileCheck %s
++
++// CHECK: @_Z5Func1B6Names1v()
++inline namespace Names1 __attribute__((__abi_tag__)) {
++ class C1 {};
++}
++C1 Func1() { return C1(); }
++
++// CHECK: @_Z5Func2B4Tag1B4Tag2v()
++inline namespace Names2 __attribute__((__abi_tag__("Tag1", "Tag2"))) {
++ class C2 {};
++}
++C2 Func2() { return C2(); }
diff --git a/abs/extra/llvm/clang-tools-extra-3.7.0-install-clang-query.patch b/abs/extra/llvm/clang-tools-extra-3.7.0-install-clang-query.patch
new file mode 100644
index 0000000..a632baf
--- /dev/null
+++ b/abs/extra/llvm/clang-tools-extra-3.7.0-install-clang-query.patch
@@ -0,0 +1,9 @@
+diff -upr clang-tools-extra-3.7.0.src.orig/clang-query/tool/CMakeLists.txt clang-tools-extra-3.7.0.src/clang-query/tool/CMakeLists.txt
+--- clang-tools-extra-3.7.0.src.orig/clang-query/tool/CMakeLists.txt 2015-06-20 22:28:07.000000000 +0300
++++ clang-tools-extra-3.7.0.src/clang-query/tool/CMakeLists.txt 2015-09-28 11:51:14.724472237 +0300
+@@ -10,3 +10,5 @@ target_link_libraries(clang-query
+ clangQuery
+ clangTooling
+ )
++
++install(TARGETS clang-query RUNTIME DESTINATION bin)
diff --git a/abs/extra/llvm/lldb-3.7.0-avoid-linking-to-libLLVM.patch b/abs/extra/llvm/lldb-3.7.0-avoid-linking-to-libLLVM.patch
new file mode 100644
index 0000000..f4859ed
--- /dev/null
+++ b/abs/extra/llvm/lldb-3.7.0-avoid-linking-to-libLLVM.patch
@@ -0,0 +1,20 @@
+diff -upr lldb-3.7.0.src.orig/cmake/modules/AddLLDB.cmake lldb-3.7.0.src/cmake/modules/AddLLDB.cmake
+--- lldb-3.7.0.src.orig/cmake/modules/AddLLDB.cmake 2015-09-28 11:42:23.439084000 +0300
++++ lldb-3.7.0.src/cmake/modules/AddLLDB.cmake 2015-09-28 11:43:03.200237733 +0300
+@@ -56,7 +56,7 @@ macro(add_lldb_library name)
+ if (PARAM_OBJECT)
+ add_library(${name} ${libkind} ${srcs})
+ else()
+- llvm_add_library(${name} ${libkind} ${srcs})
++ llvm_add_library(${name} ${libkind} DISABLE_LLVM_LINK_LLVM_DYLIB ${srcs})
+
+ lldb_link_common_libs(${name} "${libkind}")
+
+@@ -93,6 +93,6 @@ macro(add_lldb_library name)
+ endmacro(add_lldb_library)
+
+ macro(add_lldb_executable name)
+- add_llvm_executable(${name} ${ARGN})
++ add_llvm_executable(${name} DISABLE_LLVM_LINK_LLVM_DYLIB ${ARGN})
+ set_target_properties(${name} PROPERTIES FOLDER "lldb executables")
+ endmacro(add_lldb_executable)
diff --git a/abs/extra/llvm/llvm-3.5.0-fix-cmake-llvm-exports.patch b/abs/extra/llvm/llvm-3.5.0-fix-cmake-llvm-exports.patch
deleted file mode 100644
index 7a7d42a..0000000
--- a/abs/extra/llvm/llvm-3.5.0-fix-cmake-llvm-exports.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Index: cmake/modules/Makefile
-===================================================================
---- cmake/modules/Makefile (revision 217483)
-+++ cmake/modules/Makefile (revision 217484)
-@@ -33,6 +33,16 @@
- LLVM_ENABLE_RTTI := 0
- endif
-
-+LLVM_LIBS_TO_EXPORT := $(subst -l,,$(shell $(LLVM_CONFIG) --libs $(LINK_COMPONENTS) || echo Error))
-+
-+ifeq ($(LLVM_LIBS_TO_EXPORT),Error)
-+$(error llvm-config --libs failed)
-+endif
-+
-+ifndef LLVM_LIBS_TO_EXPORT
-+$(error LLVM_LIBS_TO_EXPORT cannot be empty)
-+endif
-+
- OBJMODS := LLVMConfig.cmake LLVMConfigVersion.cmake LLVMExports.cmake
-
- $(PROJ_OBJ_DIR)/LLVMConfig.cmake: LLVMConfig.cmake.in $(LLVMBuildCMakeFrag)
-@@ -45,7 +55,7 @@
- -e 's/@LLVM_VERSION_PATCH@/'"$(LLVM_VERSION_PATCH)"'/' \
- -e 's/@PACKAGE_VERSION@/'"$(LLVMVersion)"'/' \
- -e 's/@LLVM_COMMON_DEPENDS@//' \
-- -e 's/@LLVM_AVAILABLE_LIBS@/'"$(subst -l,,$(LLVMConfigLibs))"'/' \
-+ -e 's/@LLVM_AVAILABLE_LIBS@/'"$(LLVM_LIBS_TO_EXPORT)"'/' \
- -e 's/@LLVM_ALL_TARGETS@/'"$(ALL_TARGETS)"'/' \
- -e 's/@LLVM_TARGETS_TO_BUILD@/'"$(TARGETS_TO_BUILD)"'/' \
- -e 's/@LLVM_TARGETS_WITH_JIT@/'"$(TARGETS_WITH_JIT)"'/' \
-@@ -83,7 +93,7 @@
- $(Echo) 'Generating LLVM CMake target exports file'
- $(Verb) ( \
- echo '# LLVM CMake target exports. Do not include directly.' && \
-- for lib in $(subst -l,,$(LLVMConfigLibs)); do \
-+ for lib in $(LLVM_LIBS_TO_EXPORT); do \
- echo 'add_library('"$$lib"' STATIC IMPORTED)' && \
- echo 'set_property(TARGET '"$$lib"' PROPERTY IMPORTED_LOCATION "'"$(PROJ_libdir)/lib$$lib.a"'")' ; \
- done && \
diff --git a/abs/extra/llvm/llvm-3.5.0-force-link-pass.o.patch b/abs/extra/llvm/llvm-3.5.0-force-link-pass.o.patch
deleted file mode 100644
index acc4c13..0000000
--- a/abs/extra/llvm/llvm-3.5.0-force-link-pass.o.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Index: llvm-toolchain-snapshot-3.5~svn211313/tools/bugpoint/Makefile
-===================================================================
---- llvm-toolchain-snapshot-3.5~svn211313.orig/tools/bugpoint/Makefile
-+++ llvm-toolchain-snapshot-3.5~svn211313/tools/bugpoint/Makefile
-@@ -12,6 +12,9 @@ TOOLNAME := bugpoint
- LINK_COMPONENTS := asmparser instrumentation scalaropts ipo linker bitreader \
- bitwriter irreader vectorize objcarcopts codegen
-
-+# Crappy workaround to make sure it links correctly.
-+LLVMLibsOptions := ../../lib/IR/Release*/Pass.o
-+
- # Support plugins.
- NO_DEAD_STRIP := 1
-
-Index: llvm-toolchain-snapshot-3.5~svn211313/tools/opt/Makefile
-===================================================================
---- llvm-toolchain-snapshot-3.5~svn211313.orig/tools/opt/Makefile
-+++ llvm-toolchain-snapshot-3.5~svn211313/tools/opt/Makefile
-@@ -10,7 +10,9 @@
- LEVEL := ../..
- TOOLNAME := opt
- LINK_COMPONENTS := bitreader bitwriter asmparser irreader instrumentation scalaropts objcarcopts ipo vectorize all-targets codegen
-+# Crappy workaround to make sure it links correctly.
-
-+LLVMLibsOptions := ../../lib/IR/Release*/Pass.o
- # Support plugins.
- NO_DEAD_STRIP := 1
-
diff --git a/abs/extra/llvm/llvm-3.7.0-export-more-symbols.patch b/abs/extra/llvm/llvm-3.7.0-export-more-symbols.patch
new file mode 100644
index 0000000..bc3d141
--- /dev/null
+++ b/abs/extra/llvm/llvm-3.7.0-export-more-symbols.patch
@@ -0,0 +1,11 @@
+--- src/llvm/tools/llvm-shlib/CMakeLists.txt.orig 2015-09-06 12:31:21.765250429 +0300
++++ src/llvm/tools/llvm-shlib/CMakeLists.txt 2015-09-06 13:17:10.820174432 +0300
+@@ -64,7 +64,7 @@
+
+ if (LLVM_DYLIB_EXPORT_ALL)
+ add_custom_command(OUTPUT ${LLVM_EXPORTED_SYMBOL_FILE}
+- COMMAND echo \"LLVM*\" > ${LLVM_EXPORTED_SYMBOL_FILE} && echo \"_Z*llvm*\" >> ${LLVM_EXPORTED_SYMBOL_FILE}
++ COMMAND echo -e \"LLVM*\\n_Z*llvm*\\nConvertUTF*\\ngetNumBytesForUTF8\\nisLegalUTF8*\" > ${LLVM_EXPORTED_SYMBOL_FILE}
+ WORKING_DIRECTORY ${LIB_DIR}
+ DEPENDS ${LLVM_DYLIB_REQUIRED_EXPORTS}
+ COMMENT "Generating combined export list...")
diff --git a/abs/extra/llvm/llvm-3.7.0-link-tools-against-libLLVM.patch b/abs/extra/llvm/llvm-3.7.0-link-tools-against-libLLVM.patch
new file mode 100644
index 0000000..e8c16ca
--- /dev/null
+++ b/abs/extra/llvm/llvm-3.7.0-link-tools-against-libLLVM.patch
@@ -0,0 +1,440 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ac3b978..dd50236 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -342,9 +342,21 @@ option (LLVM_ENABLE_SPHINX "Use Sphinx to generate llvm documentation." OFF)
+ option (LLVM_BUILD_EXTERNAL_COMPILER_RT
+ "Build compiler-rt as an external project." OFF)
+
+-option(LLVM_BUILD_LLVM_DYLIB "Build libllvm dynamic library" OFF)
+-option(LLVM_DYLIB_EXPORT_ALL "Export all symbols from libLLVM.dylib (default is C API only" OFF)
+-option(LLVM_DISABLE_LLVM_DYLIB_ATEXIT "Disable llvm-shlib's atexit destructors." ON)
++# You can configure which libraries from LLVM you want to include in the
++# shared library by setting LLVM_DYLIB_COMPONENTS to a semi-colon delimited
++# list of LLVM components. All component names handled by llvm-config are valid.
++if(NOT DEFINED LLVM_DYLIB_COMPONENTS)
++ set(LLVM_DYLIB_COMPONENTS "all" CACHE STRING
++ "Semicolon-separated list of components to include in libLLVM, or \"all\".")
++endif()
++option(LLVM_LINK_LLVM_DYLIB "Link tools against the libllvm dynamic library" OFF)
++option(LLVM_BUILD_LLVM_DYLIB "Build libllvm dynamic library" ${LLVM_LINK_LLVM_DYLIB})
++option(LLVM_DYLIB_EXPORT_ALL "Export all symbols from libLLVM.dylib (default is C API only" ${LLVM_LINK_LLVM_DYLIB})
++set(LLVM_DISABLE_LLVM_DYLIB_ATEXIT_DEFAULT ON)
++if (LLVM_LINK_LLVM_DYLIB)
++ set(LLVM_DISABLE_LLVM_DYLIB_ATEXIT_DEFAULT OFF)
++endif()
++option(LLVM_DISABLE_LLVM_DYLIB_ATEXIT "Disable llvm-shlib's atexit destructors." ${LLVM_DISABLE_LLVM_DYLIB_ATEXIT_DEFAULT})
+ if(LLVM_DISABLE_LLVM_DYLIB_ATEXIT)
+ set(DISABLE_LLVM_DYLIB_ATEXIT 1)
+ endif()
+diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
+index 45f6746..6b6e6e0 100644
+--- a/cmake/modules/AddLLVM.cmake
++++ b/cmake/modules/AddLLVM.cmake
+@@ -41,7 +41,7 @@ function(llvm_update_compile_flags name)
+ # Assume that;
+ # - LLVM_COMPILE_FLAGS is list.
+ # - PROPERTY COMPILE_FLAGS is string.
+- string(REPLACE ";" " " target_compile_flags "${LLVM_COMPILE_FLAGS}")
++ string(REPLACE ";" " " target_compile_flags " ${LLVM_COMPILE_FLAGS}")
+
+ if(update_src_props)
+ foreach(fn ${sources})
+@@ -303,6 +303,9 @@ endfunction(set_windows_version_resource_properties)
+ # MODULE
+ # Target ${name} might not be created on unsupported platforms.
+ # Check with "if(TARGET ${name})".
++# DISABLE_LLVM_LINK_LLVM_DYLIB
++# Do not link this library to libLLVM, even if
++# LLVM_LINK_LLVM_DYLIB is enabled.
+ # OUTPUT_NAME name
+ # Corresponds to OUTPUT_NAME in target properties.
+ # DEPENDS targets...
+@@ -316,7 +319,7 @@ endfunction(set_windows_version_resource_properties)
+ # )
+ function(llvm_add_library name)
+ cmake_parse_arguments(ARG
+- "MODULE;SHARED;STATIC"
++ "MODULE;SHARED;STATIC;DISABLE_LLVM_LINK_LLVM_DYLIB"
+ "OUTPUT_NAME"
+ "ADDITIONAL_HEADERS;DEPENDS;LINK_COMPONENTS;LINK_LIBS;OBJLIBS"
+ ${ARGN})
+@@ -444,10 +447,14 @@ function(llvm_add_library name)
+ # property has been set to an empty value.
+ get_property(lib_deps GLOBAL PROPERTY LLVMBUILD_LIB_DEPS_${name})
+
+- llvm_map_components_to_libnames(llvm_libs
+- ${ARG_LINK_COMPONENTS}
+- ${LLVM_LINK_COMPONENTS}
+- )
++ if (LLVM_LINK_LLVM_DYLIB AND NOT ARG_STATIC AND NOT ARG_DISABLE_LLVM_LINK_LLVM_DYLIB)
++ set(llvm_libs LLVM)
++ else()
++ llvm_map_components_to_libnames(llvm_libs
++ ${ARG_LINK_COMPONENTS}
++ ${LLVM_LINK_COMPONENTS}
++ )
++ endif()
+
+ if(CMAKE_VERSION VERSION_LESS 2.8.12)
+ # Link libs w/o keywords, assuming PUBLIC.
+@@ -562,7 +569,22 @@ endmacro(add_llvm_loadable_module name)
+
+
+ macro(add_llvm_executable name)
+- llvm_process_sources( ALL_FILES ${ARGN} )
++ cmake_parse_arguments(ARG "DISABLE_LLVM_LINK_LLVM_DYLIB" "" "" ${ARGN})
++ llvm_process_sources( ALL_FILES ${ARG_UNPARSED_ARGUMENTS} )
++
++ # Generate objlib
++ if(LLVM_ENABLE_OBJLIB)
++ # Generate an obj library for both targets.
++ set(obj_name "obj.${name}")
++ add_library(${obj_name} OBJECT EXCLUDE_FROM_ALL
++ ${ALL_FILES}
++ )
++ llvm_update_compile_flags(${obj_name})
++ set(ALL_FILES "$<TARGET_OBJECTS:${obj_name}>")
++
++ set_target_properties(${obj_name} PROPERTIES FOLDER "Object Libraries")
++ endif()
++
+ add_windows_version_resource_file(ALL_FILES ${ALL_FILES})
+
+ if( EXCLUDE_FROM_ALL )
+@@ -588,9 +610,13 @@ macro(add_llvm_executable name)
+ add_llvm_symbol_exports( ${name} ${LLVM_EXPORTED_SYMBOL_FILE} )
+ endif(LLVM_EXPORTED_SYMBOL_FILE)
+
++ if (LLVM_LINK_LLVM_DYLIB AND NOT ARG_DISABLE_LLVM_LINK_LLVM_DYLIB)
++ set(USE_SHARED USE_SHARED)
++ endif()
++
+ set(EXCLUDE_FROM_ALL OFF)
+ set_output_directory(${name} ${LLVM_RUNTIME_OUTPUT_INTDIR} ${LLVM_LIBRARY_OUTPUT_INTDIR})
+- llvm_config( ${name} ${LLVM_LINK_COMPONENTS} )
++ llvm_config( ${name} ${USE_SHARED} ${LLVM_LINK_COMPONENTS} )
+ if( LLVM_COMMON_DEPENDS )
+ add_dependencies( ${name} ${LLVM_COMMON_DEPENDS} )
+ endif( LLVM_COMMON_DEPENDS )
+@@ -651,7 +677,7 @@ endmacro(add_llvm_example name)
+
+
+ macro(add_llvm_utility name)
+- add_llvm_executable(${name} ${ARGN})
++ add_llvm_executable(${name} DISABLE_LLVM_LINK_LLVM_DYLIB ${ARGN})
+ set_target_properties(${name} PROPERTIES FOLDER "Utils")
+ if( LLVM_INSTALL_UTILS )
+ install (TARGETS ${name}
+@@ -785,8 +811,13 @@ function(llvm_add_go_executable binary pkgpath)
+ set(cppflags "${cppflags} -I${d}")
+ endforeach(d)
+ set(ldflags "${CMAKE_EXE_LINKER_FLAGS}")
++ if (LLVM_LINK_LLVM_DYLIB)
++ set(linkmode "dylib")
++ else()
++ set(linkmode "component-libs")
++ endif()
+ add_custom_command(OUTPUT ${binpath}
+- COMMAND ${CMAKE_BINARY_DIR}/bin/llvm-go "cc=${cc}" "cxx=${cxx}" "cppflags=${cppflags}" "ldflags=${ldflags}"
++ COMMAND ${CMAKE_BINARY_DIR}/bin/llvm-go "go=${GO_EXECUTABLE}" "cc=${cc}" "cxx=${cxx}" "cppflags=${cppflags}" "ldflags=${ldflags}" "linkmode=${linkmode}"
+ ${ARG_GOFLAGS} build -o ${binpath} ${pkgpath}
+ DEPENDS llvm-config ${CMAKE_BINARY_DIR}/bin/llvm-go${CMAKE_EXECUTABLE_SUFFIX}
+ ${llvmlibs} ${ARG_DEPENDS}
+diff --git a/cmake/modules/LLVM-Config.cmake b/cmake/modules/LLVM-Config.cmake
+index 22ac714..aa68b40 100644
+--- a/cmake/modules/LLVM-Config.cmake
++++ b/cmake/modules/LLVM-Config.cmake
+@@ -31,7 +31,23 @@ endfunction(is_llvm_target_library)
+
+
+ macro(llvm_config executable)
+- explicit_llvm_config(${executable} ${ARGN})
++ cmake_parse_arguments(ARG "USE_SHARED" "" "" ${ARGN})
++ set(link_components ${ARG_UNPARSED_ARGUMENTS})
++
++ if(USE_SHARED)
++ # If USE_SHARED is specified, then we link against libLLVM,
++ # but also against the component libraries below. This is
++ # done in case libLLVM does not contain all of the components
++ # the target requires.
++ #
++ # TODO strip LLVM_DYLIB_COMPONENTS out of link_components.
++ # To do this, we need special handling for "all", since that
++ # may imply linking to libraries that are not included in
++ # libLLVM.
++ target_link_libraries(${executable} LLVM)
++ endif()
++
++ explicit_llvm_config(${executable} ${link_components})
+ endmacro(llvm_config)
+
+
+diff --git a/cmake/modules/TableGen.cmake b/cmake/modules/TableGen.cmake
+index 85d720e..fcb445a 100644
+--- a/cmake/modules/TableGen.cmake
++++ b/cmake/modules/TableGen.cmake
+@@ -73,6 +73,10 @@ endfunction()
+ macro(add_tablegen target project)
+ set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS})
+ set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen)
++
++ # FIXME: It leaks to user, callee of add_tablegen.
++ set(LLVM_ENABLE_OBJLIB ON)
++
+ add_llvm_utility(${target} ${ARGN})
+ set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS})
+
+diff --git a/tools/llvm-go/llvm-go.go b/tools/llvm-go/llvm-go.go
+index c5c3fd2..ed79ca6 100644
+--- a/tools/llvm-go/llvm-go.go
++++ b/tools/llvm-go/llvm-go.go
+@@ -24,6 +24,11 @@ import (
+ "strings"
+ )
+
++const (
++ linkmodeComponentLibs = "component-libs"
++ linkmodeDylib = "dylib"
++)
++
+ type pkg struct {
+ llvmpath, pkgpath string
+ }
+@@ -66,11 +71,12 @@ var components = []string{
+ func llvmConfig(args ...string) string {
+ configpath := os.Getenv("LLVM_CONFIG")
+ if configpath == "" {
+- // strip llvm-go, add llvm-config
+- configpath = os.Args[0][:len(os.Args[0])-7] + "llvm-config"
++ bin, _ := filepath.Split(os.Args[0])
++ configpath = filepath.Join(bin, "llvm-config")
+ }
+
+ cmd := exec.Command(configpath, args...)
++ cmd.Stderr = os.Stderr
+ out, err := cmd.Output()
+ if err != nil {
+ panic(err.Error())
+@@ -78,11 +84,21 @@ func llvmConfig(args ...string) string {
+
+ outstr := string(out)
+ outstr = strings.TrimSuffix(outstr, "\n")
+- return strings.Replace(outstr, "\n", " ", -1)
++ outstr = strings.Replace(outstr, "\n", " ", -1)
++ return outstr
+ }
+
+-func llvmFlags() compilerFlags {
+- ldflags := llvmConfig(append([]string{"--ldflags", "--libs", "--system-libs"}, components...)...)
++func llvmFlags(linkmode string) compilerFlags {
++ ldflags := llvmConfig("--ldflags")
++ switch linkmode {
++ case linkmodeComponentLibs:
++ ldflags += " " + llvmConfig(append([]string{"--libs"}, components...)...)
++ case linkmodeDylib:
++ ldflags += " -lLLVM"
++ default:
++ panic("invalid linkmode: " + linkmode)
++ }
++ ldflags += " " + llvmConfig("--system-libs")
+ if runtime.GOOS != "darwin" {
+ // OS X doesn't like -rpath with cgo. See:
+ // https://code.google.com/p/go/issues/detail?id=7293
+@@ -117,8 +133,8 @@ func printComponents() {
+ fmt.Println(strings.Join(components, " "))
+ }
+
+-func printConfig() {
+- flags := llvmFlags()
++func printConfig(linkmode string) {
++ flags := llvmFlags(linkmode)
+
+ fmt.Printf(`// +build !byollvm
+
+@@ -137,7 +153,7 @@ type (run_build_sh int)
+ `, flags.cpp, flags.cxx, flags.ld)
+ }
+
+-func runGoWithLLVMEnv(args []string, cc, cxx, gocmd, llgo, cppflags, cxxflags, ldflags string) {
++func runGoWithLLVMEnv(args []string, cc, cxx, gocmd, llgo, cppflags, cxxflags, ldflags, linkmode string) {
+ args = addTag(args, "byollvm")
+
+ srcdir := llvmConfig("--src-root")
+@@ -166,7 +182,7 @@ func runGoWithLLVMEnv(args []string, cc, cxx, gocmd, llgo, cppflags, cxxflags, l
+ newgopathlist = append(newgopathlist, filepath.SplitList(os.Getenv("GOPATH"))...)
+ newgopath := strings.Join(newgopathlist, string(filepath.ListSeparator))
+
+- flags := llvmFlags()
++ flags := llvmFlags(linkmode)
+
+ newenv := []string{
+ "CC=" + cc,
+@@ -178,7 +194,7 @@ func runGoWithLLVMEnv(args []string, cc, cxx, gocmd, llgo, cppflags, cxxflags, l
+ "PATH=" + newpath,
+ }
+ if llgo != "" {
+- newenv = append(newenv, "GCCGO=" + llgo)
++ newenv = append(newenv, "GCCGO="+llgo)
+ }
+
+ for _, v := range os.Environ() {
+@@ -234,45 +250,44 @@ func main() {
+ ldflags := os.Getenv("CGO_LDFLAGS")
+ gocmd := "go"
+ llgo := ""
++ linkmode := linkmodeComponentLibs
++
++ flags := []struct {
++ name string
++ dest *string
++ }{
++ {"cc", &cc},
++ {"cxx", &cxx},
++ {"go", &gocmd},
++ {"llgo", &llgo},
++ {"cppflags", &cppflags},
++ {"ldflags", &ldflags},
++ {"linkmode", &linkmode},
++ }
+
+ args := os.Args[1:]
+- DONE: for {
+- switch {
+- case len(args) == 0:
++LOOP:
++ for {
++ if len(args) == 0 {
+ usage()
+- case strings.HasPrefix(args[0], "cc="):
+- cc = args[0][3:]
+- args = args[1:]
+- case strings.HasPrefix(args[0], "cxx="):
+- cxx = args[0][4:]
+- args = args[1:]
+- case strings.HasPrefix(args[0], "go="):
+- gocmd = args[0][3:]
+- args = args[1:]
+- case strings.HasPrefix(args[0], "llgo="):
+- llgo = args[0][5:]
+- args = args[1:]
+- case strings.HasPrefix(args[0], "cppflags="):
+- cppflags = args[0][9:]
+- args = args[1:]
+- case strings.HasPrefix(args[0], "cxxflags="):
+- cxxflags = args[0][9:]
+- args = args[1:]
+- case strings.HasPrefix(args[0], "ldflags="):
+- ldflags = args[0][8:]
+- args = args[1:]
+- default:
+- break DONE
+ }
++ for _, flag := range flags {
++ if strings.HasPrefix(args[0], flag.name+"=") {
++ *flag.dest = args[0][len(flag.name)+1:]
++ args = args[1:]
++ continue LOOP
++ }
++ }
++ break
+ }
+
+ switch args[0] {
+ case "build", "get", "install", "run", "test":
+- runGoWithLLVMEnv(args, cc, cxx, gocmd, llgo, cppflags, cxxflags, ldflags)
++ runGoWithLLVMEnv(args, cc, cxx, gocmd, llgo, cppflags, cxxflags, ldflags, linkmode)
+ case "print-components":
+ printComponents()
+ case "print-config":
+- printConfig()
++ printConfig(linkmode)
+ default:
+ usage()
+ }
+diff --git a/tools/llvm-shlib/CMakeLists.txt b/tools/llvm-shlib/CMakeLists.txt
+index 54d71d3..d9bd15f 100644
+--- a/tools/llvm-shlib/CMakeLists.txt
++++ b/tools/llvm-shlib/CMakeLists.txt
+@@ -2,42 +2,6 @@
+ # library is enabled by setting LLVM_BUILD_LLVM_DYLIB=yes on the CMake
+ # commandline. By default the shared library only exports the LLVM C API.
+
+-
+-# You can configure which libraries from LLVM you want to include in the shared
+-# library by setting LLVM_DYLIB_COMPONENTS to a semi-colon delimited list of
+-# LLVM components. All compoenent names handled by llvm-config are valid.
+-
+-if(NOT DEFINED LLVM_DYLIB_COMPONENTS)
+- set(LLVM_DYLIB_COMPONENTS
+- ${LLVM_TARGETS_TO_BUILD}
+- Analysis
+- BitReader
+- BitWriter
+- CodeGen
+- Core
+- DebugInfoDWARF
+- DebugInfoPDB
+- ExecutionEngine
+- IPA
+- IPO
+- IRReader
+- InstCombine
+- Instrumentation
+- Interpreter
+- Linker
+- MCDisassembler
+- MCJIT
+- ObjCARCOpts
+- Object
+- ScalarOpts
+- Support
+- Target
+- TransformUtils
+- Vectorize
+- native
+- )
+-endif()
+-
+ add_definitions( -DLLVM_VERSION_INFO=\"${PACKAGE_VERSION}\" )
+
+ set(SOURCES
+@@ -46,6 +10,29 @@ set(SOURCES
+
+ llvm_map_components_to_libnames(LIB_NAMES ${LLVM_DYLIB_COMPONENTS})
+
++if(LLVM_LINK_LLVM_DYLIB)
++ if(NOT LLVM_DYLIB_EXPORT_ALL)
++ message(FATAL_ERROR "LLVM_DYLIB_EXPORT_ALL must be ON when LLVM_LINK_LLVM_DYLIB is ON")
++ endif()
++
++ # libLLVM.so should not have any dependencies on any other LLVM
++ # shared libraries. When using the "all" pseudo-component,
++ # LLVM_AVAILABLE_LIBS is added to the dependencies, which may
++ # contain shared libraries (e.g. libLTO).
++ #
++ # Also exclude libLLVMTableGen for the following reasons:
++ # - it is only used by internal *-tblgen utilities;
++ # - it pollutes the global options space.
++ foreach(lib ${LIB_NAMES})
++ get_target_property(t ${lib} TYPE)
++ if("${lib}" STREQUAL "LLVMTableGen")
++ elseif("x${t}" STREQUAL "xSTATIC_LIBRARY")
++ list(APPEND FILTERED_LIB_NAMES ${lib})
++ endif()
++ endforeach()
++ set(LIB_NAMES ${FILTERED_LIB_NAMES})
++endif()
++
+ if(NOT DEFINED LLVM_DYLIB_EXPORTED_SYMBOL_FILE)
+
+ if( WIN32 AND NOT CYGWIN )
+@@ -95,7 +82,7 @@ else()
+ add_custom_target(libLLVMExports DEPENDS ${LLVM_EXPORTED_SYMBOL_FILE})
+ endif()
+
+-add_llvm_library(LLVM SHARED ${SOURCES})
++add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB ${SOURCES})
+
+ list(REMOVE_DUPLICATES LIB_NAMES)
+ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") # FIXME: It should be "GNU ld for elf"
diff --git a/abs/extra/llvm/llvm-Config-config.h b/abs/extra/llvm/llvm-Config-config.h
deleted file mode 100644
index c369b45..0000000
--- a/abs/extra/llvm/llvm-Config-config.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <bits/wordsize.h>
-
-#if __WORDSIZE == 32
-#include "config-32.h"
-#elif __WORDSIZE == 64
-#include "config-64.h"
-#else
-#error "Unknown word size"
-#endif
diff --git a/abs/extra/m17n-db/PKGBUILD b/abs/extra/m17n-db/PKGBUILD
index 620beef..2ee2e94 100644
--- a/abs/extra/m17n-db/PKGBUILD
+++ b/abs/extra/m17n-db/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 172458 2012-12-03 05:46:30Z bisson $
+# $Id$
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Contributor: damir <damir@archlinux.org>
# Contributor: Camille Moncelier <pix@devlife.org>
pkgname=m17n-db
-pkgver=1.6.4
+pkgver=1.7.0
pkgrel=1
pkgdesc='Multilingual text processing library (database)'
url='http://www.nongnu.org/m17n/'
@@ -12,7 +12,7 @@ arch=('any')
license=('GPL')
depends=('glibc') # not because of compiling, but because of /usr/share/i18n/charmaps/ files that glibc provides
source=("http://download.savannah.gnu.org/releases/m17n/${pkgname}-${pkgver}.tar.gz")
-sha1sums=('756fd10b8d7fe66a14350443f307bcf95347c695')
+sha1sums=('4149c2e59ac8f45ec8cbfb7bc8d4d061f38e58bc')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/extra/m17n-lib/PKGBUILD b/abs/extra/m17n-lib/PKGBUILD
index c2e8511..98233dd 100644
--- a/abs/extra/m17n-lib/PKGBUILD
+++ b/abs/extra/m17n-lib/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 172459 2012-12-03 05:46:31Z bisson $
+# $Id$
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Contributor: Camille Moncelier <pix@devlife.org>
pkgname=m17n-lib
-pkgver=1.6.4
+pkgver=1.7.0
pkgrel=1
pkgdesc='Multilingual text processing library (runtimes)'
url='http://www.nongnu.org/m17n/'
@@ -11,13 +11,13 @@ arch=('i686' 'x86_64')
license=('GPL')
depends=('libxft' 'm17n-db' 'fribidi' 'libxml2' 'gd' 'libotf')
optdepends=('anthy: to use the anthy input method')
-options=('!makeflags' '!libtool' '!emptydirs')
+options=('!makeflags' '!emptydirs')
source=("http://download.savannah.gnu.org/releases/m17n/${pkgname}-${pkgver}.tar.gz")
-sha1sums=('83f2fc4facfd70a580bb95d9381eac7472d85171')
+sha1sums=('6ebc98680ffb575c5f58190f054d60fdb8b0f301')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr --enable-static=no
+ ./configure --prefix=/usr
make
}
diff --git a/abs/extra/mpd/PKGBUILD b/abs/extra/mpd/PKGBUILD
index c1803a4..bb73322 100644
--- a/abs/extra/mpd/PKGBUILD
+++ b/abs/extra/mpd/PKGBUILD
@@ -6,8 +6,8 @@
# Contributor: Ben <ben@benmazer.net>
pkgname=mpd
-pkgver=0.19.4
-pkgrel=1
+pkgver=0.19.9
+pkgrel=3
pkgdesc='Flexible, powerful, server-side application for playing music'
url='http://www.musicpd.org/'
license=('GPL')
@@ -16,10 +16,11 @@ depends=('libao' 'ffmpeg' 'libmodplug' 'audiofile' 'libshout' 'libmad' 'curl' 'f
'sqlite' 'libmms' 'wavpack' 'avahi' 'libid3tag' 'yajl' 'libmpdclient'
'icu' 'libupnp' 'libnfs')
makedepends=('boost' 'doxygen')
+validpgpkeys=('0392335A78083894A4301C43236E8A58C6DB4512')
source=("http://www.musicpd.org/download/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz"{,.sig}
'tmpfiles.d'
'conf')
-sha1sums=('f0397d7e923cd11fef8dae238efe9ae9ff12120f' 'SKIP'
+sha1sums=('6683bee5f132eda318c5a61ec14b2df8d9164d60' 'SKIP'
'f4d5922abb69abb739542d8e93f4dfd748acdad7'
'291fd5cda9f0845834a553017327c4586bd853f6')
diff --git a/abs/extra/mpd/__changelog b/abs/extra/mpd/__changelog
new file mode 100644
index 0000000..7ee2eb2
--- /dev/null
+++ b/abs/extra/mpd/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: disable pulse and jack
+PKGBUILD: remove jack as dep
diff --git a/abs/extra/mpg123/PKGBUILD b/abs/extra/mpg123/PKGBUILD
index e0c6397..927a758 100644
--- a/abs/extra/mpg123/PKGBUILD
+++ b/abs/extra/mpg123/PKGBUILD
@@ -2,7 +2,7 @@
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=mpg123
-pkgver=1.19.0
+pkgver=1.22.4
pkgrel=1
pkgdesc="A console based real time MPEG Audio Player for Layer 1, 2 and 3"
arch=('i686' 'x86_64')
@@ -12,8 +12,9 @@ depends=('libltdl' 'alsa-lib')
makedepends=('sdl')
optdepends=('sdl: for sdl audio support')
source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2{,.sig})
-sha1sums=('835f8ae489b41ae69fa8c76a0b1e5ee5495ef0ae'
+sha1sums=('6ca59baceeebe361cc508214ba725a56d4fea743'
'SKIP')
+validpgpkeys=('D021FF8ECF4BE09719D61A27231C4CBC60D5CAFE')
build() {
cd ${pkgname}-${pkgver}
diff --git a/abs/extra/mythexpress/PKGBUILD b/abs/extra/mythexpress/PKGBUILD
index 7080c8d..229e28a 100755
--- a/abs/extra/mythexpress/PKGBUILD
+++ b/abs/extra/mythexpress/PKGBUILD
@@ -1,13 +1,14 @@
pkgname=mythexpress
-pkgver=20150205
+pkgver=20160427
pkgrel=1
pkgdesc="MythExpress is a browser-based interface to MythTV HTTP streaming capability"
arch=('i686' 'x86_64')
url="https://github.com/MythTV-Clients/MythExpress"
license=('GPL3')
-depends=('nodejs' 'avahi' )
+depends=('nodejs' 'avahi')
makedepends=('git')
-source=('mythexpress.html' )
+install=mythexpress.install
+source=('mythexpress.html' 'mythprotocol.js.patch')
_gitroot="https://github.com/MythTV-Clients/MythExpress.git"
_gitname=MythExpress
@@ -31,6 +32,8 @@ build() {
fi
cp -rf "${_gitname}" "${_gitname}-build"
+ patch -Np1 -i ${srcdir}/mythprotocol.js.patch
+
cd "${srcdir}/${_gitname}-build"
npm install || exit 1
@@ -40,7 +43,8 @@ package() {
cd "${srcdir}"
mkdir -p $pkgdir/usr/$pkgname
rsync -arvp --exclude .git ${_gitname}-build/ $pkgdir/usr/${pkgname}
- cd $startdir/src
+ cd "${srcdir}"
install -m755 -D mythexpress.html $pkgdir/data/srv/httpd/htdocs/mythexpress.html
}
-md5sums=('93b0d936c5c7838e1c0367f2d5286b3b')
+md5sums=('568ee396fc2af9fd7cc3433fce7a3a87'
+ 'd5d20eb47e9dffb238e60173810bd24b')
diff --git a/abs/extra/mythexpress/mythexpress.html b/abs/extra/mythexpress/mythexpress.html
index d9dd9a3..8302e5a 100755
--- a/abs/extra/mythexpress/mythexpress.html
+++ b/abs/extra/mythexpress/mythexpress.html
@@ -10,7 +10,7 @@ function r()
function express()
{
current_hostname=parent.location.hostname
- top.frames["content"].location.href = ( "http://" + current_hostname + ":6565" ) ;
+ window.location.href = ( "http://" + current_hostname + ":6565" ) ;
}
@@ -27,4 +27,4 @@ function remyth()
<body onload="JavaScript:express();">
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/abs/extra/mythexpress/mythexpress.install b/abs/extra/mythexpress/mythexpress.install
new file mode 100644
index 0000000..76b56bb
--- /dev/null
+++ b/abs/extra/mythexpress/mythexpress.install
@@ -0,0 +1,11 @@
+post_install() {
+ add_service.sh mythexpress
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ remove_service.sh mythexpress
+}
diff --git a/abs/extra/mythexpress/mythprotocol.js.patch b/abs/extra/mythexpress/mythprotocol.js.patch
new file mode 100644
index 0000000..ebfe808
--- /dev/null
+++ b/abs/extra/mythexpress/mythprotocol.js.patch
@@ -0,0 +1,12 @@
+--- src/MythExpress-build/mythtv/mythprotocol.js.orig 2016-04-27 22:00:34.538603111 +0000
++++ src/MythExpress-build/mythtv/mythprotocol.js 2016-04-28 15:20:43.518464024 +0000
+@@ -53,7 +53,8 @@
+ "85" : "BluePool",
+ "86" : "(ノಠ益ಠ)ノ彡┻━┻",
+ "87" : "(ノಠ益ಠ)ノ彡┻━┻_No_entiendo!)",
+- "Latest" : "87"
++ "88" : "XmasGift",
++ "Latest" : "88"
+ };
+
+ var reconnectInterval = 6;
diff --git a/abs/extra/ncdu/PKGBUILD b/abs/extra/ncdu/PKGBUILD
index 011f7e0..7973c60 100644
--- a/abs/extra/ncdu/PKGBUILD
+++ b/abs/extra/ncdu/PKGBUILD
@@ -1,11 +1,10 @@
-# $Id: PKGBUILD 76727 2012-09-27 22:43:52Z bisson $
-
+# $Id$
# Contributor: lp76 <l.peduto@gmail.com>
# Contributor: Daenyth <Daenyth+Arch AT gmail DOT com>
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
pkgname=ncdu
-pkgver=1.9
+pkgver=1.11
pkgrel=1
pkgdesc='Disk usage analyzer with an ncurses interface'
url='http://dev.yorhel.nl/ncdu/'
@@ -13,7 +12,7 @@ license=('custom:MIT')
depends=('ncurses')
arch=('i686' 'x86_64')
source=("http://dev.yorhel.nl/download/${pkgname}-${pkgver}.tar.gz")
-sha1sums=('27cb5464b192db8ffdf0a894fe51d29985348eb0')
+sha1sums=('8f22d713e6d2b28e1f501eee2bd1e03b55550c8d')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/extra/nodejs/PKGBUILD b/abs/extra/nodejs/PKGBUILD
index 2bb2da5..d196eb1 100644
--- a/abs/extra/nodejs/PKGBUILD
+++ b/abs/extra/nodejs/PKGBUILD
@@ -1,5 +1,5 @@
# $Id$
-# Maintainer: Felix Yan <felixonmars@gmail.com>
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Thomas Dziedzic < gostrc at gmail >
# Contributor: James Campos <james.r.campos@gmail.com>
@@ -9,9 +9,9 @@
# Contributor: TIanyi Cui <tianyicui@gmail.com>
pkgname=nodejs
-pkgver=0.10.32
-_npmver=2.0.2
-pkgrel=3
+pkgver=0.10.44
+_npmver=2.5.0
+pkgrel=1
pkgdesc='Evented I/O for V8 javascript'
arch=('i686' 'x86_64')
url='http://nodejs.org/'
@@ -24,8 +24,6 @@ checkdepends=('curl')
options=('!emptydirs')
source=("http://nodejs.org/dist/v$pkgver/node-v$pkgver.tar.gz"
git+https://github.com/npm/npm.git#tag=v$_npmver)
-sha256sums=('c2120d0e3d2d191654cb11dbc0a33a7216d53732173317681da9502be0030f10'
- 'SKIP')
prepare() {
cd node-v$pkgver
@@ -57,7 +55,7 @@ build() {
cd ../npm
../node-v$pkgver/node cli.js install ronn marked
PATH="$srcdir/node-v$pkgver:$PATH" make
- ../node-v$pkgver/node cli.js uninstall ronn marked
+ ../node-v$pkgver/node cli.js uninstall ronn marked marked-man
}
check() {
@@ -90,3 +88,5 @@ package() {
}
# vim:set ts=2 sw=2 et:
+md5sums=('39c35e40b9d64a63fadd80c1c3e54851'
+ 'SKIP')
diff --git a/abs/extra/npm/PKGBUILD b/abs/extra/npm/PKGBUILD
new file mode 100644
index 0000000..283ac6d
--- /dev/null
+++ b/abs/extra/npm/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgname=npm
+pkgver=3.8.7
+pkgrel=1
+pkgdesc='A package manager for javascript'
+arch=('any')
+url='https://www.npmjs.com/'
+license=('custom:Artistic')
+depends=('nodejs' 'semver')
+provides=('nodejs-node-gyp')
+makedepends=('git' 'procps-ng')
+optdepends=('python2: for node-gyp')
+options=('!emptydirs')
+source=("git+https://github.com/npm/npm.git#tag=v$pkgver")
+md5sums=('SKIP')
+
+build() {
+ cd npm
+ make
+}
+
+package() {
+ cd npm
+ make NPMOPTS="--prefix=\"$pkgdir/usr\"" install
+
+ # Why 777? :/
+ chmod -R u=rwX,go=rX "$pkgdir"
+
+ # Fix files owned by nobody:
+ chown -R root "$pkgdir/usr/lib/node_modules"
+
+ # Fix wrong symlinks
+ for _dir in man1 man5 man7; do
+ rm -f "$pkgdir"/usr/share/man/$_dir/*
+ cd "$pkgdir"/usr/lib/node_modules/npm/man/$_dir
+ for _file in *; do
+ ln -s /usr/lib/node_modules/npm/man/$_dir/$_file "$pkgdir"/usr/share/man/$_dir/
+ done
+ done
+
+ # Provide node-gyp executable
+ cp "$pkgdir"/usr/lib/node_modules/npm/bin/node-gyp-bin/node-gyp "$pkgdir"/usr/bin/node-gyp
+ sed -i 's|"`dirname "$0"`/../../|"`dirname "$0"`/../lib/node_modules/npm/|' "$pkgdir"/usr/bin/node-gyp
+
+ # Experimental dedup
+ cd "$pkgdir"/usr/lib/node_modules/$pkgname/node_modules
+ for dep in semver; do
+ rm -r $dep;
+ node "$srcdir"/npm/cli.js link $dep;
+ done
+
+ install -Dm644 "$srcdir/npm/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/abs/extra/nspr/PKGBUILD b/abs/extra/nspr/PKGBUILD
index 19538ba..e60f6ab 100644
--- a/abs/extra/nspr/PKGBUILD
+++ b/abs/extra/nspr/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=nspr
-pkgver=4.10.7
+pkgver=4.10.9
pkgrel=1
pkgdesc="Netscape Portable Runtime"
arch=(i686 x86_64)
@@ -12,9 +12,9 @@ license=('MPL' 'GPL')
depends=('glibc')
makedepends=('zip')
options=('!emptydirs')
-source=(ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${pkgver}/src/${pkgname}-${pkgver}.tar.gz)
-md5sums=('6e06919e4b56efed501e05d8b45ec10e')
-sha1sums=('f62972d7c66d4621d6262c5bd9b5723fa67b6bff')
+source=(http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${pkgver}/src/${pkgname}-${pkgver}.tar.gz)
+sha1sums=('405e5ad45111ddf95a5d39d647d41d27456c9443')
+sha256sums=('4112ff6ad91d32696ca0c6c3d4abef6367b5dc0127fa172fcb3c3ab81bb2d881')
build() {
cd $pkgname-$pkgver
diff --git a/abs/extra/nss/PKGBUILD b/abs/extra/nss/PKGBUILD
index 7a06cec..4bf9a60 100644
--- a/abs/extra/nss/PKGBUILD
+++ b/abs/extra/nss/PKGBUILD
@@ -3,36 +3,34 @@
pkgbase=nss
pkgname=(nss ca-certificates-mozilla)
-pkgver=3.17
-pkgrel=4
+pkgver=3.20
+pkgrel=1
pkgdesc="Mozilla Network Security Services"
arch=(i686 x86_64)
url="http://www.mozilla.org/projects/security/pki/nss/"
license=('MPL' 'GPL')
-_nsprver=4.10.7
+_nsprver=4.10.8
depends=("nspr>=${_nsprver}" 'sqlite' 'zlib' 'sh' 'p11-kit')
makedepends=('perl' 'python2')
options=('!strip' '!makeflags' 'staticlibs')
-source=("ftp://ftp.mozilla.org/pub/security/nss/releases/NSS_${pkgver//./_}_RTM/src/${pkgbase}-${pkgver}.tar.gz"
- certdata2pem.py
- bundle.sh
- nss.pc.in
- nss-config.in
- ssl-renegotiate-transitional.patch)
-sha256sums=('3b1abcd8f89211dda2cc739bfa76552d080f7ea80482ef2727b006548a7f0c81'
- 'af13c30801a8a27623948206458432a4cf98061b75ff6e5b5e03912f93c034ee'
+source=("https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_${pkgver//./_}_RTM/src/${pkgbase}-${pkgver}.tar.gz"
+ certdata2pem.py bundle.sh nss.pc.in nss-config.in legacy-certs.patch)
+sha256sums=('5e38d4b9837ca338af966b97fc91c07f67ad647fb38dc4af3cfd0d84e477d15c'
+ '2a2ff9131c21fa3b23ad7c7a2f069eabc783e56c6eb05419ac5f365f48dea0fc'
'045f520403f715a4cc7f3607b4e2c9bcc88fee5bce58d462fddaa2fdb0e4c180'
'b9f1428ca2305bf30b109507ff335fa00bce5a7ce0434b50acd26ad7c47dd5bd'
'e44ac5095b4d88f24ec7b2e6a9f1581560bd3ad41a3d198596d67ef22f67adb9'
- '12df04bccbf674db1eef7a519a28987927b5e9c107b1dc386686f05e64f49a97')
+ '22330fcde2dac5fa4733f7d77bffbbd31d91cbaa338738afdc2a8ebfccb61184')
prepare() {
mkdir certs
cd nss-$pkgver
- # Adds transitional SSL renegotiate support - patch from Debian
- patch -Np3 -i ../ssl-renegotiate-transitional.patch
+ # FS#45479: Reenable two weak Verisign certificates used by login.live.com
+ # Otherwise, accessing this site via Epiphany (GnuTLS) or Skype (OpenSSL) fails
+ # Also see https://gist.github.com/grawity/15eabf67191e17080241
+ patch nss/lib/ckfw/builtins/certdata.txt ../legacy-certs.patch
# Respect LDFLAGS
sed -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/' \
@@ -66,6 +64,8 @@ build() {
}
package_nss() {
+ install=nss.install
+
cd nss-$pkgver
install -d "$pkgdir"/usr/{bin,include/nss,lib/pkgconfig}
@@ -105,7 +105,7 @@ package_nss() {
install -t "$pkgdir/usr/include/nss" -m644 *.h
rm "$pkgdir/usr/lib/libnssckbi.so"
- ln -s pkcs11/p11-kit-trust.so "$pkgdir/usr/lib/libnssckbi.so"
+ ln -s libnssckbi-p11-kit.so "$pkgdir/usr/lib/libnssckbi.so"
}
package_ca-certificates-mozilla() {
diff --git a/abs/extra/nss/certdata2pem.py b/abs/extra/nss/certdata2pem.py
index 175de1a..021772a 100644
--- a/abs/extra/nss/certdata2pem.py
+++ b/abs/extra/nss/certdata2pem.py
@@ -196,4 +196,5 @@ for tobj in objects:
if (tobj['CKA_TRUST_SERVER_AUTH'] == 'CKT_NSS_NOT_TRUSTED') or (tobj['CKA_TRUST_EMAIL_PROTECTION'] == 'CKT_NSS_NOT_TRUSTED') or (tobj['CKA_TRUST_CODE_SIGNING'] == 'CKT_NSS_NOT_TRUSTED'):
f.write("x-distrusted: true\n")
f.write("\n\n")
+ f.close()
print " -> written as '%s', trust = %s, openssl-trust = %s, distrust = %s, openssl-distrust = %s" % (fname, trustbits, openssl_trustflags, distrustbits, openssl_distrustflags)
diff --git a/abs/extra/nss/legacy-certs.patch b/abs/extra/nss/legacy-certs.patch
new file mode 100644
index 0000000..863cef9
--- /dev/null
+++ b/abs/extra/nss/legacy-certs.patch
@@ -0,0 +1,26 @@
+--- certdata.txt 2015-06-27 23:31:01.419795911 +0200
++++ certdata-legacy-less.txt 2015-06-27 23:57:47.106199639 +0200
+@@ -577,9 +577,9 @@
+ \002\020\160\272\344\035\020\331\051\064\266\070\312\173\003\314
+ \272\277
+ END
+-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
++CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+ CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
++CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+ #
+@@ -17186,9 +17186,9 @@
+ \002\020\074\221\061\313\037\366\320\033\016\232\270\320\104\277
+ \022\276
+ END
+-CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
++CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+ CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+-CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST
++CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR
+ CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE
+
+ #
diff --git a/abs/extra/nss/nss.install b/abs/extra/nss/nss.install
new file mode 100644
index 0000000..24f9ec6
--- /dev/null
+++ b/abs/extra/nss/nss.install
@@ -0,0 +1,13 @@
+post_upgrade() {
+ if (($(vercmp $2 3.18-3) < 0)); then
+ # This symlink was created by ldconfig because we linked to
+ # pkcs11/p11-kit-trust.so from libnssckbi.so; the chain was:
+ # p11-kit-trust.so -> libnssckbi.so -> pkcs11/p11-kit-trust.so
+ # Now we have:
+ # libnssckbi.so -> libnssckbi-p11-kit.so
+ # which no longer creates an incorrect p11-kit-trust.so symlink
+ if [[ $(readlink usr/lib/p11-kit-trust.so) == libnssckbi.so ]]; then
+ rm usr/lib/p11-kit-trust.so
+ fi
+ fi
+}
diff --git a/abs/extra/nss/ssl-renegotiate-transitional.patch b/abs/extra/nss/ssl-renegotiate-transitional.patch
deleted file mode 100644
index f457c55..0000000
--- a/abs/extra/nss/ssl-renegotiate-transitional.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Enable transitional scheme for ssl renegotiation:
-
-(from mozilla/security/nss/lib/ssl/ssl.h)
-Disallow unsafe renegotiation in server sockets only, but allow clients
-to continue to renegotiate with vulnerable servers.
-This value should only be used during the transition period when few
-servers have been upgraded.
-
-diff --git a/mozilla/security/nss/lib/ssl/sslsock.c b/mozilla/security/nss/lib/ssl/sslsock.c
-index f1d1921..c074360 100644
---- a/mozilla/security/nss/lib/ssl/sslsock.c
-+++ b/mozilla/security/nss/lib/ssl/sslsock.c
-@@ -181,7 +181,7 @@ static sslOptions ssl_defaults = {
- PR_FALSE, /* noLocks */
- PR_FALSE, /* enableSessionTickets */
- PR_FALSE, /* enableDeflate */
-- 2, /* enableRenegotiation (default: requires extension) */
-+ 3, /* enableRenegotiation (default: transitional) */
- PR_FALSE, /* requireSafeNegotiation */
- };
-
diff --git a/abs/extra/ocaml-ctypes/PKGBUILD b/abs/extra/ocaml-ctypes/PKGBUILD
new file mode 100644
index 0000000..3d0922c
--- /dev/null
+++ b/abs/extra/ocaml-ctypes/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id$
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: Armin K. <krejzi at email dot com>
+
+pkgname=ocaml-ctypes
+pkgver=0.4.1
+pkgrel=3
+pkgdesc="Library for binding to C libraries using pure OCaml"
+arch=('i686' 'x86_64')
+url="https://github.com/ocamllabs/ocaml-ctypes"
+license=('MIT')
+depends=('ocaml' 'libffi')
+makedepends=('ocaml-findlib')
+options=('!strip' '!makeflags')
+source=($pkgname-$pkgver::https://github.com/ocamllabs/ocaml-ctypes/archive/$pkgver.tar.gz)
+sha256sums=('74564e049de5d3c0e76ea284c225cb658ac1a2b483345be1efb9be4b3c1702f5')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ local _destdir="$pkgdir$(ocamlfind printconf destdir)"
+ install -d "$_destdir/stublibs"
+
+ make OCAMLFIND_DESTDIR="$_destdir" install
+
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/ocaml-findlib/PKGBUILD b/abs/extra/ocaml-findlib/PKGBUILD
new file mode 100644
index 0000000..ce5bdff
--- /dev/null
+++ b/abs/extra/ocaml-findlib/PKGBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Lukas Fleischer <lfleischer@archlinux.org>
+# Contributor: Thomas S Hatch <thatch45 at gmail dot com>
+# Contributor: Sebastian Wiesner <lunaryorn googlemail com>
+# Contributor: Benjamin Andresen <benny(at)klapmuetz(dot)org>
+# Contributor: scj <scj archlinux us>
+
+pkgname=ocaml-findlib
+pkgver=1.5.5
+pkgrel=3
+license=('MIT')
+arch=('i686' 'x86_64')
+pkgdesc='Objective Caml (OCaml) package manager'
+url='http://projects.camlcity.org/projects/findlib.html'
+depends=('ocaml')
+source=("http://download.camlcity.org/download/findlib-$pkgver.tar.gz")
+md5sums=('703eae112f9e912507c3a2f8d8c48498')
+options=('staticlibs' '!strip' 'zipman' '!makeflags') # otherwise the bytecode gets broken
+
+build() {
+ cd "$srcdir/findlib-$pkgver"
+
+ ./configure -config /etc/findlib.conf -sitelib /usr/lib/ocaml -mandir /usr/share/man
+ make all opt
+}
+
+package () {
+ cd "$srcdir/findlib-$pkgver"
+
+ make prefix="$pkgdir" install
+
+ # add the old site-lib to the path to maintain compatibility with old style packages
+ sed -i 's/path=\"\/usr\/lib\/ocaml\"/path="\/usr\/lib\/ocaml:\/usr\/lib\/ocaml\/site-lib"/' \
+ "${pkgdir}/etc/findlib.conf"
+
+ install -m755 src/findlib/ocamlfind_opt "$pkgdir/usr/bin/"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
diff --git a/abs/extra/ocaml/PKGBUILD b/abs/extra/ocaml/PKGBUILD
index e7ad5ec..f1b1343 100644
--- a/abs/extra/ocaml/PKGBUILD
+++ b/abs/extra/ocaml/PKGBUILD
@@ -1,30 +1,31 @@
-# $Id: PKGBUILD 143814 2011-11-29 13:33:35Z stephane $
+# $Id$
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgbase='ocaml'
pkgname=('ocaml' 'ocaml-compiler-libs')
-pkgver=3.12.1
-pkgrel=3
+pkgver=4.02.3
+pkgrel=2
pkgdesc="A functional language with OO extensions"
arch=('i686' 'x86_64')
-license=('LGPL2' 'custom: QPL-1.0')
+license=('LGPL2.1' 'custom: QPL-1.0')
url="http://caml.inria.fr/"
depends=('gdbm')
-makedepends=('tk' 'ncurses>=5.6-7' 'libx11')
+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-3.12/${pkgname}-${pkgver}.tar.gz)
-options=('!makeflags' '!emptydirs')
+source=(http://caml.inria.fr/distrib/ocaml-4.02/${pkgname}-${pkgver}.tar.gz)
+md5sums=('ef1a324608c97031cbd92a442d685ab7')
+options=('!makeflags' '!emptydirs' 'staticlibs')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure -prefix /usr
+ ./configure -prefix /usr -x11include /usr/include
make world.opt
}
package_ocaml() {
cd "${srcdir}/${pkgbase}-${pkgver}"
make PREFIX="${pkgdir}/usr" MANDIR="${pkgdir}/usr/share/man" install
-
+
# Save >10MB with this one, makepkg only strips debug symbols.
#find "${pkgdir}/usr/lib" -type f -name '*.so.*' -exec strip --strip-unneeded {} \;
@@ -54,4 +55,3 @@ optdepends=()
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/"
}
-md5sums=('814a047085f0f901ab7d8e3a4b7a9e65')
diff --git a/abs/extra/ocaml/fix-ocaml-binutils-2.21.patch b/abs/extra/ocaml/fix-ocaml-binutils-2.21.patch
deleted file mode 100644
index fa7664c..0000000
--- a/abs/extra/ocaml/fix-ocaml-binutils-2.21.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From: Stephane Glondu <steph@glondu.net>
-Date: Tue, 8 Mar 2011 21:17:40 +0100
-Subject: [PATCH] Fix ocamlopt w.r.t. binutils 2.21
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Bug: http://caml.inria.fr/mantis/view.php?id=5237
-Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=617404
-Authors: Eric Cooper, spiralvoice
-Reviewed-by: Stéphane Glondu <steph@glondu.net>
----
- asmcomp/amd64/emit.mlp | 13 +++++++------
- asmcomp/i386/emit.mlp | 6 +++---
- 2 files changed, 10 insertions(+), 9 deletions(-)
-
-diff --git a/asmcomp/amd64/emit.mlp b/asmcomp/amd64/emit.mlp
-index 4a3f844..525c6e6 100644
---- a/asmcomp/amd64/emit.mlp
-+++ b/asmcomp/amd64/emit.mlp
-@@ -679,17 +679,18 @@ let fundecl fundecl =
- emit_all true fundecl.fun_body;
- List.iter emit_call_gc !call_gc_sites;
- emit_call_bound_errors ();
-+ begin match Config.system with
-+ "linux" | "gnu" ->
-+ ` .type {emit_symbol fundecl.fun_name},@function\n`;
-+ ` .size {emit_symbol fundecl.fun_name},.-{emit_symbol fundecl.fun_name}\n`
-+ | _ -> ()
-+ end;
- if !float_constants <> [] then begin
- if macosx
- then ` .literal8\n`
- else ` .section .rodata.cst8,\"a\",@progbits\n`;
- List.iter emit_float_constant !float_constants
-- end;
-- match Config.system with
-- "linux" | "gnu" ->
-- ` .type {emit_symbol fundecl.fun_name},@function\n`;
-- ` .size {emit_symbol fundecl.fun_name},.-{emit_symbol fundecl.fun_name}\n`
-- | _ -> ()
-+ end
-
- (* Emission of data *)
-
-diff --git a/asmcomp/i386/emit.mlp b/asmcomp/i386/emit.mlp
-index 2992f29..0b1252c 100644
---- a/asmcomp/i386/emit.mlp
-+++ b/asmcomp/i386/emit.mlp
-@@ -905,12 +905,12 @@ let fundecl fundecl =
- emit_all true fundecl.fun_body;
- List.iter emit_call_gc !call_gc_sites;
- emit_call_bound_errors ();
-- List.iter emit_float_constant !float_constants;
-- match Config.system with
-+ begin match Config.system with
- "linux_elf" | "bsd_elf" | "gnu" ->
- ` .type {emit_symbol fundecl.fun_name},@function\n`;
- ` .size {emit_symbol fundecl.fun_name},.-{emit_symbol fundecl.fun_name}\n`
-- | _ -> ()
-+ | _ -> () end;
-+ List.iter emit_float_constant !float_constants
-
-
- (* Emission of data *)
---
diff --git a/abs/extra/ocaml/ocaml-3.12.1-3.src.tar.gz b/abs/extra/ocaml/ocaml-3.12.1-3.src.tar.gz
deleted file mode 120000
index 140a1a6..0000000
--- a/abs/extra/ocaml/ocaml-3.12.1-3.src.tar.gz
+++ /dev/null
@@ -1 +0,0 @@
-/data/pkg_repo/src_packages/ocaml-3.12.1-3.src.tar.gz \ No newline at end of file
diff --git a/abs/extra/openal/PKGBUILD b/abs/extra/openal/PKGBUILD
index 6d6c669..9721c5c 100644
--- a/abs/extra/openal/PKGBUILD
+++ b/abs/extra/openal/PKGBUILD
@@ -1,29 +1,48 @@
-# $Id: PKGBUILD 149424 2012-02-07 16:51:11Z heftig $
+# $Id$
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Allan McRae <allan@archlinux.org>
-# Contributer: Jason Chu <jchu@xentac.net>
+# Contributor: Jason Chu <jchu@xentac.net>
-pkgname=openal
-pkgver=1.13
-pkgrel=4
+pkgbase=openal
+pkgname=(openal openal-examples)
+pkgver=1.17.1
+pkgrel=1
pkgdesc="A cross-platform 3D audio library"
arch=(i686 x86_64)
url="http://www.openal.org/"
license=(LGPL)
depends=(glibc)
-makedepends=(alsa-lib sdl pkgconfig cmake)
-options=('!libtool')
-source=(http://kcat.strangesoft.net/openal-releases/openal-soft-$pkgver.tar.bz2)
-md5sums=('58b7d2809790c70681b825644c5f3614')
+makedepends=(alsa-lib pkgconfig cmake qt4 fluidsynth portaudio sdl2 sdl_sound ffmpeg
+ git)
+_commit=14df326876d92f63c9c007da3c0434fba47c30b8
+source=("git+https://github.com/kcat/openal-soft#commit=$_commit")
+sha256sums=('SKIP')
+
+prepare() {
+ mkdir build examples
+}
build() {
- cd "$srcdir/$pkgname-soft-$pkgver/build"
- cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release ..
+ cd build
+ cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release ../$pkgbase-soft
make
}
-package() {
- cd "$srcdir/$pkgname-soft-$pkgver"
+package_openal() {
+ optdepends=('qt4: alsoft-config GUI Configurator'
+ 'fluidsynth: MIDI rendering')
+
make -C build DESTDIR="$pkgdir/" install
- install -Dm644 alsoftrc.sample "$pkgdir/etc/openal/alsoft.conf.sample"
+ install -m644 $pkgbase-soft/{env-vars,hrtf}.txt "$pkgdir/usr/share/openal/"
+
+### Split openal-examples
+ mv "$pkgdir"/usr/bin/al{ffplay,hrtf,latency,loopback,reverb,stream} examples/
+}
+
+package_openal-examples() {
+ pkgdesc+=" (example programs)"
+ depends=("openal=$pkgver-$pkgrel" sdl2 sdl_sound ffmpeg)
+
+ mkdir -p "$pkgdir/usr/bin"
+ mv examples/* "$pkgdir/usr/bin/"
}
diff --git a/abs/extra/openal/__changelog b/abs/extra/openal/__changelog
index 7f47556..31ac229 100644
--- a/abs/extra/openal/__changelog
+++ b/abs/extra/openal/__changelog
@@ -1,2 +1,2 @@
-4/25/12 - chw -
-Removed libpulse as a dep.
+PKGBUILD:
+- Removed libpulse and jack as a dep.
diff --git a/abs/extra/openmpi/PKGBUILD b/abs/extra/openmpi/PKGBUILD
index 9c8828c..d6aa6e1 100644
--- a/abs/extra/openmpi/PKGBUILD
+++ b/abs/extra/openmpi/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
pkgname=openmpi
-pkgver=1.8.3
+pkgver=1.10.2
pkgrel=1
pkgdesc='High performance message passing library (MPI)'
arch=(i686 x86_64)
@@ -13,23 +13,13 @@ depends=(libltdl hwloc)
makedepends=(inetutils valgrind gcc-fortran)
optdepends=('gcc-fortran: fortran support')
options=(staticlibs)
-source=(http://www.open-mpi.org/software/ompi/v1.8/downloads/${pkgname}-${pkgver}.tar.bz2
- system_ltdl.patch)
-sha1sums=('4be9c5d2a8baee6a80bde94c6485931979a428fe'
- 'd5f8a3d463f1a1f29ca4725d6fb3b9f8c40799dc')
-
-prepare() {
- cd $pkgname-$pkgver
-
- # Make sure we use the system ltdl library rather than the ones in the tarball
- rm -r opal/libltdl
- patch -p1 < ../system_ltdl.patch
- ./autogen.pl
-}
+source=(http://www.open-mpi.org/software/ompi/v${pkgver%.*}/downloads/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('03934fc0a2dd0d0d2d0459d714a976eabca938fb')
build() {
cd $pkgname-$pkgver
+ ./autogen.pl
./configure --prefix=/usr \
--sysconfdir=/etc/${pkgname} \
--enable-mpi-fortran=all \
diff --git a/abs/extra/openpht/PKGBUILD b/abs/extra/openpht/PKGBUILD
new file mode 100755
index 0000000..45c52f7
--- /dev/null
+++ b/abs/extra/openpht/PKGBUILD
@@ -0,0 +1,75 @@
+pkgname=openpht
+pkgver=1.5.2.514
+_pkghash=310d4f7e
+pkgrel=2
+pkgdesc='OpenPHT a community driven fork of Plex Home Theater'
+arch=('i686' 'x86_64')
+url='https://github.com/RasPlex/OpenPHT'
+license=('GPL2')
+install="${pkgname}.install"
+provides=('plex-home-theater')
+#conflicts=('plex-home-theater')
+replaces=('plex-home-theater')
+depends=('boost-libs' 'curl' 'ffmpeg-compat' 'glew' 'libcdio' 'libmad'
+ 'libmicrohttpd' 'libmpeg2' 'libsamplerate' 'libssh' 'libusb-compat'
+ 'libvdpau' 'libxrandr' 'lzo' 'sdl_image' 'sdl_mixer' 'smbclient'
+ 'taglib' 'tinyxml' 'yajl')
+makedepends=('boost' 'cmake' 'doxygen' 'git' 'java-environment' 'libcec'
+ 'libplist' 'libshairport' 'nasm' 'swig' 'unzip' 'zip')
+optdepends=('libplist: AirPlay support'
+ 'libshairport: AirPlay support'
+ 'libcec: Pulse-Eight USB-CEC adapter support')
+source=("https://github.com/RasPlex/OpenPHT/archive/v${pkgver}-${_pkghash}.tar.gz"
+ 'plex-ffmpeg-compat.patch'
+ 'plex_lib.conf'
+ 'plexhometheater.sh')
+
+prepare() {
+ cd OpenPHT-${pkgver}-${_pkghash}
+
+ patch -Np1 -i ../plex-ffmpeg-compat.patch
+}
+
+build() {
+ cd OpenPHT-${pkgver}-${_pkghash}
+
+ if [[ -d build ]]; then
+ rm -rf build
+ fi
+ mkdir build && cd build
+
+ cmake .. \
+ -DCMAKE_INSTALL_PREFIX='/usr' \
+ -DCMAKE_C_FLAGS="$CMAKE_C_FLAGS -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include" \
+ -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include" \
+ -DCREATE_BUNDLE='FALSE' \
+ -DDUMP_SYMBOLS='FALSE' \
+ -DENABLE_AUTOUPDATE='FALSE' \
+ -DENABLE_PYTHON='TRUE' \
+ -DPYTHON_EXEC='/usr/bin/python2' \
+ -DUSE_INTERNAL_FFMPEG='FALSE'
+ make
+}
+
+package() {
+ cd OpenPHT-${pkgver}-${_pkghash}/build
+
+ make DESTDIR="${pkgdir}" install
+ install -dm 755 "${pkgdir}"/usr/{lib/plexhometheater,share/{applications,pixmaps}}
+ mv "${pkgdir}"/usr/bin/{system,xbmc-xrandr} "${pkgdir}"/usr/lib/plexhometheater/
+ mv "${pkgdir}"/usr/share/XBMC "${pkgdir}"/usr/share/plexhometheater
+ rm -rf "${pkgdir}"/usr/bin/*.so
+ install -Dm 755 "${srcdir}"/plexhometheater.sh "${pkgdir}"/usr/LH/bin/plexhometheater.sh
+ install -m 644 ../plex/Resources/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
+}
+
+# vim: ts=2 sw=2 et:
+md5sums=('4cefcfc40b4c5bb890cd74e62ca0e1ac'
+ '6704244166497db7fa6b3ddd43a0e53b'
+ 'c1eedd9f89ee727230833db9ef1e5d29'
+ '4ceae60ed2f9e4304eda4f80d407e799')
diff --git a/abs/extra/openpht/__changelog b/abs/extra/openpht/__changelog
new file mode 100644
index 0000000..42c86d8
--- /dev/null
+++ b/abs/extra/openpht/__changelog
@@ -0,0 +1,5 @@
+copied plex-home-theater to openpht
+PKGBUILD - Remove opt dep pulseaudio
+PKGBUILD - Added plex_lib.conf, this file goes in /etc/gen_lib_xml.d/
+PKGBUILD - Install plexhometheater.sh to /usr/LH/bin
+openpht.install - add gen_lib_xml.py to post_install and post_remove and post_update
diff --git a/abs/extra/plex-home-theater/plex-home-theater.install b/abs/extra/openpht/openpht.install
index 3633bdc..6788abc 100644
--- a/abs/extra/plex-home-theater/plex-home-theater.install
+++ b/abs/extra/openpht/openpht.install
@@ -2,6 +2,10 @@ post_install() {
gen_lib_xml.py
}
+post_upgrade() {
+ gen_lib_xml.py
+}
+
post_remove() {
gen_lib_xml.py
}
diff --git a/abs/extra/plex-home-theater/plex-ffmpeg-compat.patch b/abs/extra/openpht/plex-ffmpeg-compat.patch
index 1601500..1601500 100755
--- a/abs/extra/plex-home-theater/plex-ffmpeg-compat.patch
+++ b/abs/extra/openpht/plex-ffmpeg-compat.patch
diff --git a/abs/extra/plex-home-theater/plex_lib.conf b/abs/extra/openpht/plex_lib.conf
index 70db20a..1aa78f3 100644
--- a/abs/extra/plex-home-theater/plex_lib.conf
+++ b/abs/extra/openpht/plex_lib.conf
@@ -3,7 +3,7 @@
<type>MENU_PLEX</type>
<text>Launch Plex</text>
<description>Open Plex Home Theater</description>
- <action>EXEC /usr/bin/plexhometheater.sh</action>
+ <action>EXEC /usr/LH/bin/plexhometheater.sh</action>
</button>
<!--#PLEX-->
diff --git a/abs/extra/openpht/plexhometheater.sh b/abs/extra/openpht/plexhometheater.sh
new file mode 100755
index 0000000..579bed6
--- /dev/null
+++ b/abs/extra/openpht/plexhometheater.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+#Stop XScreensaver
+stop_xss.sh &
+
+#Launch plex
+export XBMC_BIN_HOME='/usr/lib/plexhometheater'
+export XBMC_HOME='/usr/share/plexhometheater'
+plexhometheater
+
+#Start Xscreensaver again
+killall stop_xss.sh
diff --git a/abs/extra/oss/PKGBUILD b/abs/extra/oss/PKGBUILD
index 829c839..d7ba89a 100644
--- a/abs/extra/oss/PKGBUILD
+++ b/abs/extra/oss/PKGBUILD
@@ -1,5 +1,6 @@
-# Maintainer: Damian Nowak <damian.nowak@atlashost.eu>
-# Maintainer: Julian Rother <julian@toksik.org>
+# Maintainer: Alex Wiggins <alex.d.wiggins@gmail.com>
+# Contributor: Damian Nowak <damian.nowak@atlashost.eu>
+# Contributor: Julian Rother <julian@toksik.org>
# Contributor: Sebastian Schwarz <seschwar@gmail.com>
# Contributor: Kyle Keen <keenerd@gmail.com>
# Contributor: Florian Pritz <bluewind@xinu.at>
@@ -9,26 +10,24 @@
pkgbase=oss
pkgname=oss
true && pkgname=(oss libflashsupport-oss)
-pkgver=4.2_2008
+pkgver=4.2_2011
pkgrel=3
arch=(i686 x86_64)
url="http://developer.opensound.com/"
license=(GPL2)
-makedepends=(gcc gtk2)
+makedepends=(gtk2)
source=("http://www.4front-tech.com/developer/sources/stable/gpl/oss-v${pkgver/_*}-build${pkgver/*_}-src-gpl.tar.bz2"
- 'linux-3.8.0.patch::http://www.opensound.com/forum/download/file.php?id=113'
- 'linux-3.10.0.patch::http://www.opensound.com/forum/download/file.php?id=126'
- 'linux-3.10.7.patch::http://www.opensound.com/forum/download/file.php?id=129'
+ linux-4.0.patch::http://www.4front-tech.com/forum/download/file.php?id=164
+ gcc-5.patch
oss.service
remove-hal.patch
rm-init-scripts.patch
soundon.patch
kmod-link.patch
ossvermagic.patch)
-sha512sums=('bb80a5b6943724a668888684e0d8ec2c5799530ed6943a50a0f68b4eea2d639579e0bbaba4a614267bad4792252d0b3a431d926ae7bf15b01df9442988118b07'
- '6483ed671b79a01dded17732e23a7cb8141329b62a2ddb812567f119389e98afc735d6b3cea20e801517d1a417dc823a3ebdbdcba004f44a0c3e6674a169a16e'
- 'a2793ec82152167615428ed00ba423fa0571bafdb3e5eb790a02a276d5a4eb663c8a4bae6923f7b2536ed8ed5683254bb1efea26336810b7685aa2b1c9f4a5c5'
- '609367d6eadc29a34535461db719b132fe675a06a0532ea3a451191b21a0499801a3a6e706a214833db8179741086a9c1a3f450b79d2d663ec8fb173c97c01f8'
+sha512sums=('2e48bf5fa14521feedb18bc3b4c96ba996c5ef9d54f00f1e39c9412152db65972438b7408cb8161e32609af2c56207251d14e1106668cde32a8f0b56a98311fb'
+ '504efe3af933af69e14408215a8a71d6b94d181e076f90be538f859f1d2c2ae6d2e8e49499c1e50ee3f074004e3f79c1da2b734c95cc666b98d566d404cfc7a5'
+ '762a8e84d3106ae26ee50e4022c62bee551d2a46923945b291975d3c1ff7a87876ad4a94408fe1718a5dd4613d279a0f7a8820f8fcb0479ca1f210bc711ea835'
'355e1380432947c0e9caa21114b2c3debeb162fb5abcf845125ec281ce52b437ad1ee1db04d37e9b7a5ac79816c4dcbc21b4ed4cf8191f71218d99acd7bab70e'
'6956e5e2e9323b568bb18e80bbee591b0e5ffd3d4612a50df09879941b2733c31d6b3178dc9a46c283bd1629f76b7ff5e2b54893a42a47f6379eaee4731fd9be'
'64e6d9d8eb5320f737d3a0698a245da2b2d141b68cfb2f02e448144d1c610aa8b8a6c38b56fcca364d63171a49afe93161a00545cdb90086b5328997b3096690'
@@ -38,18 +37,20 @@ sha512sums=('bb80a5b6943724a668888684e0d8ec2c5799530ed6943a50a0f68b4eea2d639579e
_dir=oss-v${pkgver/_*}-build${pkgver/*_}-src-gpl
prepare() {
- cd "$srcdir/$_dir"
+ cd "$_dir"
# OSS wants an empty build directory
rm -rf build
mkdir build
# make OSS compile with current Linux kernels
- patch -p0 < "$srcdir/linux-3.8.0.patch"
- patch -p0 < "$srcdir/linux-3.10.0.patch"
- patch -p0 < "$srcdir/linux-3.10.7.patch"
+ patch -p1 < "$srcdir/linux-4.0.patch"
+ # patch -p0 < "$srcdir/linux-3.14.0.patch"
patch -p0 < "$srcdir/ossvermagic.patch"
+ # make OSS compile with gcc-5
+ patch -p0 < "$srcdir/gcc-5.patch"
+
# remove outdated stuff
cd setup/Linux
patch -p2 < "$srcdir/rm-init-scripts.patch"
@@ -65,7 +66,7 @@ prepare() {
}
build() {
- cd "$srcdir/$_dir/build"
+ cd "$_dir/build"
../configure --enable-libsalsa=NO --regparm
make build
gcc $CFLAGS -shared -fPIC -Wall -Werror oss/lib/flashsupport.c \
@@ -74,7 +75,7 @@ build() {
package_libflashsupport-oss() {
pkgdesc="Adobe flash plugin support lib (OSSv4)"
- conflicts=(libflashsupport libflashsupport-pulse)
+ conflicts=(libflashsupport libflashsupport-oss-nonfree libflashsupport-oss-git libflashsupport-pulse)
depends=(oss)
install -dm755 "$pkgdir/usr/lib"
@@ -83,14 +84,14 @@ package_libflashsupport-oss() {
package_oss() {
pkgdesc="Open Sound System UNIX audio architecture"
- depends=(gcc make linux-headers libtool sed)
+ depends=(linux-headers)
optdepends=('gtk2: for graphical mixer (ossxmix)'
'libflashsupport-oss: Adobe flash plugin support')
- conflicts=(oss-linux oss-linux-free oss-testing)
+ conflicts=(oss-git oss-nonfree libflashsupport-oss-git libflashsupport-oss-nonfree)
backup=(usr/lib/oss/soundon.user)
install=oss.install
- cd "$srcdir/$_dir/build"
+ cd "$_dir/build"
make DESTDIR="$pkgdir/" copy
install -Dm755 libflashsupport.so \
"$pkgdir/usr/lib/oss/lib/libflashsupport.so"
diff --git a/abs/extra/oss/gcc-5.patch b/abs/extra/oss/gcc-5.patch
new file mode 100644
index 0000000..5b303b4
--- /dev/null
+++ b/abs/extra/oss/gcc-5.patch
@@ -0,0 +1,52 @@
+--- kernel/OS/Linux/os_linux.h 2015-01-28 08:07:23.000000000 +0000
++++ kernel/OS/Linux/os_linux.h 2015-06-01 23:12:46.044784820 +0100
+@@ -119,7 +119,7 @@
+ /* System wall timer access */
+ #define GET_JIFFIES() oss_get_jiffies()
+
+-extern inline unsigned int
++__attribute__ ((gnu_inline)) extern inline unsigned int
+ __inb (unsigned short port)
+ {
+ unsigned int _v;
+@@ -127,7 +127,7 @@
+ "0" (0));
+ return _v;
+ }
+-extern inline unsigned int
++__attribute__ ((gnu_inline)) extern inline unsigned int
+ __inw (unsigned short port)
+ {
+ unsigned int _v;
+@@ -135,7 +135,7 @@
+ "0" (0));
+ return _v;
+ }
+-extern inline unsigned int
++__attribute__ ((gnu_inline)) extern inline unsigned int
+ __inl (unsigned short port)
+ {
+ unsigned int _v;
+@@ -143,19 +143,19 @@
+ return _v;
+ }
+
+-extern inline void
++__attribute__ ((gnu_inline)) extern inline unsigned int
+ __outb (unsigned char value, unsigned short port)
+ {
+ __asm__ __volatile__ ("out" "b" " %" "b" "0,%" "w" "1"::"a" (value),
+ "d" (port));
+ }
+-extern inline void
++__attribute__ ((gnu_inline)) extern inline unsigned int
+ __outw (unsigned short value, unsigned short port)
+ {
+ __asm__ __volatile__ ("out" "w" " %" "w" "0,%" "w" "1"::"a" (value),
+ "d" (port));
+ }
+-extern inline void
++__attribute__ ((gnu_inline)) extern inline unsigned int
+ __outl (unsigned int value, unsigned short port)
+ {
+ __asm__ __volatile__ ("out" "l" " %" "0,%" "w" "1"::"a" (value),
diff --git a/abs/extra/p8-platform/PKGBUILD b/abs/extra/p8-platform/PKGBUILD
new file mode 100644
index 0000000..f0c3beb
--- /dev/null
+++ b/abs/extra/p8-platform/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id$
+# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
+# Contributor: Cedric Girard <girard.cedric@gmail.com>
+
+pkgname=p8-platform
+pkgver=2.0.1
+pkgrel=2
+pkgdesc="Platform support library used by libCEC and binary add-ons for Kodi"
+arch=('i686' 'x86_64')
+url="https://github.com/Pulse-Eight/platform"
+license=('GPL')
+conflicts=('libplatform')
+replaces=('libplatform')
+makedepends=('cmake')
+depends=('gcc-libs')
+source=(https://github.com/Pulse-Eight/platform/archive/p8-platform-${pkgver}.tar.gz)
+sha256sums=('e97e45273e90571aa37732cde913b262f5f519c387083645d2557d7189c054cf')
+
+build() {
+ cd "$srcdir"/platform-p8-platform-${pkgver}
+ cmake . \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DBUILD_SHARED_LIBS=1 \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib \
+ -DCMAKE_INSTALL_LIBDIR_NOARCH=/usr/lib
+ make
+}
+
+package() {
+ cd "$srcdir"/platform-p8-platform-${pkgver}
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/plex-home-theater/PKGBUILD b/abs/extra/plex-home-theater/PKGBUILD
deleted file mode 100755
index 122105a..0000000
--- a/abs/extra/plex-home-theater/PKGBUILD
+++ /dev/null
@@ -1,76 +0,0 @@
-# $Id$
-# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
-# Contributor: Daniel Wallace <daniel.wallace@gatech.edu>
-
-pkgname=plex-home-theater
-_pkgver=1.2.3.378-0c92ed32
-pkgver=${_pkgver%-*}
-pkgrel=1
-pkgdesc='Plex Home Theater'
-arch=('i686' 'x86_64')
-url='http://www.plexapp.com/'
-license=('GPL2')
-depends=('boost-libs' 'curl' 'ffmpeg-compat' 'glew' 'libcdio' 'libmad'
- 'libmicrohttpd' 'libmpeg2' 'libsamplerate' 'libssh' 'libusb-compat'
- 'libvdpau' 'libxrandr' 'lzo' 'sdl_image' 'sdl_mixer' 'smbclient'
- 'taglib' 'tinyxml' 'yajl')
-makedepends=('boost' 'cmake' 'doxygen' 'java-environment' 'libcec' 'libplist'
- 'libshairport' 'nasm' 'swig' 'unzip' 'zip')
-optdepends=('libplist: AirPlay support'
- 'libshairport: AirPlay support'
- 'libcec: Pulse-Eight USB-CEC adapter support')
-source=("https://github.com/plexinc/plex-home-theater-public/archive/v${_pkgver}.tar.gz"
- 'plex-ffmpeg-compat.patch'
- 'plex-libcec-2.2.0.patch'
- 'plex-lirc-socket.patch'
- 'plex_lib.conf'
- 'plexhometheater.sh')
-
-prepare() {
- cd plex-home-theater-public-${_pkgver}
-
- patch -Np1 -i ../plex-libcec-2.2.0.patch
- patch -Np1 -i ../plex-lirc-socket.patch
- patch -Np1 -i ../plex-ffmpeg-compat.patch
-}
-
-build() {
- cd plex-home-theater-public-${_pkgver}
-
- if [[ -d build ]]; then
- rm -rf build
- fi
- mkdir build && cd build
-
- cmake .. -DCMAKE_INSTALL_PREFIX='/usr' \
- -DCMAKE_C_FLAGS="$CMAKE_C_FLAGS -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include" \
- -DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include" \
- -DENABLE_{AUTOUPDATE,DUMP_SYMBOLS}='FALSE' -DENABLE_PYTHON='TRUE' \
- -DPYTHON_EXEC='/usr/bin/python2' -DUSE_INTERNAL_FFMPEG='FALSE' \
- -DCREATE_BUNDLE='FALSE'
- make
-}
-
-package() {
- cd plex-home-theater-public-${_pkgver}/build
-
- make DESTDIR="${pkgdir}" install
- install -dm 755 "${pkgdir}"/usr/{lib/plexhometheater,share/{applications,pixmaps}}
- mv "${pkgdir}"/usr/bin/{system,xbmc-xrandr} "${pkgdir}"/usr/lib/plexhometheater/
- mv "${pkgdir}"/usr/share/XBMC "${pkgdir}"/usr/share/plexhometheater
- install -m 755 "${srcdir}"/plexhometheater.sh "${pkgdir}"/usr/bin/
- install -m 644 ../plex/Resources/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
-}
-
-# vim: ts=2 sw=2 et:
-md5sums=('59f6d8386d9533b7c9a0c9e559a83c0f'
- '6704244166497db7fa6b3ddd43a0e53b'
- '066484ad4949f96ddddaa8b1d4d709e1'
- 'b96a1d70174d80d3f2272bdc5b48e4a3'
- '8735a4e7857bc85085482c4f8bcb1d01'
- '8fae1350cc36f40ed65fbf96128a02d0')
diff --git a/abs/extra/plex-home-theater/__changelog b/abs/extra/plex-home-theater/__changelog
deleted file mode 100644
index 83f5069..0000000
--- a/abs/extra/plex-home-theater/__changelog
+++ /dev/null
@@ -1,3 +0,0 @@
-PKGBUILD - Remove opt dep pulseaudio
-PKGBUILD - Added plex_lib.conf, this file goes in /etc/gen_lib_xml.d/
-plexhometheater.install - add gen_lib_xml.py to post_install and post_remove
diff --git a/abs/extra/plex-home-theater/plex-libcec-2.2.0.patch b/abs/extra/plex-home-theater/plex-libcec-2.2.0.patch
deleted file mode 100644
index 8c35296..0000000
--- a/abs/extra/plex-home-theater/plex-libcec-2.2.0.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From e62cdd0c9ae9818c5c35c6b6b57ba8ff322ca052 Mon Sep 17 00:00:00 2001
-From: Maxime Gauduin <alucryd@gmail.com>
-Date: Tue, 4 Nov 2014 17:07:10 +0100
-Subject: [PATCH] libCEC 2.2.0 fixes
-
----
- project/BuildDependencies/scripts/0_package.list | 1 +
- project/BuildDependencies/scripts/libcec_d.bat | 15 ---------------
- project/BuildDependencies/scripts/libcec_d.txt | 2 +-
- system/peripherals.xml | 2 +-
- xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp | 2 ++
- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 11 ++++++++---
- 6 files changed, 13 insertions(+), 20 deletions(-)
- delete mode 100644 project/BuildDependencies/scripts/libcec_d.bat
-
-diff --git a/project/BuildDependencies/scripts/0_package.list b/project/BuildDependencies/scripts/0_package.list
-index d2a00aa..6f441f3 100644
---- a/project/BuildDependencies/scripts/0_package.list
-+++ b/project/BuildDependencies/scripts/0_package.list
-@@ -11,4 +11,5 @@ libnfs-1.6.0-win32
- libshairplay-d689c6-win32
- libjpeg-turbo-1.2.0-win32
- libbluray-0.2.3-win32
-+libcec-2.2.0-win32-1
- taglib-1.8beta-win32
-diff --git a/project/BuildDependencies/scripts/libcec_d.bat b/project/BuildDependencies/scripts/libcec_d.bat
-deleted file mode 100644
-index 0b41b8a..0000000
---- a/project/BuildDependencies/scripts/libcec_d.bat
-+++ /dev/null
-@@ -1,15 +0,0 @@
--@ECHO OFF
--
--SET LOC_PATH=%CD%
--SET FILES=%LOC_PATH%\libcec_d.txt
--
--CALL dlextract.bat libcec %FILES%
--
--cd %TMP_PATH%
--
--mkdir "%CUR_PATH%\include\libcec"
--xcopy libcec\include\* "%CUR_PATH%\include\libcec\." /E /Q /I /Y
--
--copy libcec\libcec.dll "%XBMC_PATH%\system\."
--
--cd %LOC_PATH%
-diff --git a/project/BuildDependencies/scripts/libcec_d.txt b/project/BuildDependencies/scripts/libcec_d.txt
-index 065ce3a..3d0265e 100644
---- a/project/BuildDependencies/scripts/libcec_d.txt
-+++ b/project/BuildDependencies/scripts/libcec_d.txt
-@@ -1,3 +1,3 @@
- ; filename source of the file
-
--libcec-2.1.1.zip http://mirrors.xbmc.org/build-deps/win32/
-+libcec-2.2.0-win32.zip http://mirrors.xbmc.org/build-deps/win32/
-diff --git a/system/peripherals.xml b/system/peripherals.xml
-index 68205df..ea0bb17 100644
---- a/system/peripherals.xml
-+++ b/system/peripherals.xml
-@@ -28,7 +28,7 @@
- <setting key="device_type" type="int" value="1" configurable="0" />
- <setting key="wake_devices_advanced" type="string" value="" configurable="0" />
- <setting key="standby_devices_advanced" type="string" value="" configurable="0" />
-- <setting key="double_tap_timeout_ms" type="int" min="0" value="2000" configurable="0" />
-+ <setting key="double_tap_timeout_ms" type="int" min="0" value="300" configurable="0" />
- </peripheral>
-
- <peripheral vendor_product="2548:1001,2548:1002" bus="usb" name="Pulse-Eight CEC Adapter" mapTo="cec">
-diff --git a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
-index da169c1..f3c8149 100644
---- a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
-+++ b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
-@@ -101,6 +101,8 @@ bool CPeripheralBusCEC::PerformDeviceScan(PeripheralScanResults &results)
- break;
- case ADAPTERTYPE_RPI:
- result.m_mappedBusType = PERIPHERAL_BUS_RPI;
-+ // the Pi's adapter cannot be removed, no need to rescan
-+ m_bNeedsPolling = false;
- break;
- default:
- break;
-diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-index 056a77e..9823427 100644
---- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-@@ -1302,8 +1302,8 @@ void CPeripheralCecAdapter::SetConfigurationFromLibCEC(const CEC::libcec_configu
-
- void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
- {
-- // use the same client version as libCEC version
-- m_configuration.clientVersion = CEC_CLIENT_VERSION_CURRENT;
-+ // client version matches the version of libCEC that we originally used the API from
-+ m_configuration.clientVersion = CEC_CLIENT_VERSION_2_2_0;
-
- // device name 'XBMC'
- snprintf(m_configuration.strDeviceName, 13, "%s", GetSettingString("device_name").c_str());
-@@ -1378,8 +1378,13 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
- m_configuration.bPowerOffOnStandby = iStandbyAction == 13011 ? 1 : 0;
- m_configuration.bShutdownOnStandby = iStandbyAction == 13005 ? 1 : 0;
-
-- // double tap prevention timeout in ms
-+#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
-+ m_configuration.iDoubleTapTimeout50Ms = GetSettingInt("double_tap_timeout_ms") / 50;
-+#else
-+ // backwards compatibility. will be removed once the next major release of libCEC is out
- m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms");
-+#endif
- }
-
- void CPeripheralCecAdapter::ReadLogicalAddresses(const CStdString &strString, cec_logical_addresses &addresses)
---
-2.1.3
-
diff --git a/abs/extra/plex-home-theater/plex-lirc-socket.patch b/abs/extra/plex-home-theater/plex-lirc-socket.patch
deleted file mode 100644
index 7110252..0000000
--- a/abs/extra/plex-home-theater/plex-lirc-socket.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From c20e1deb62521acaca945fe6af780cdfb477610b Mon Sep 17 00:00:00 2001
-From: Maxime Gauduin <alucryd@gmail.com>
-Date: Thu, 30 Oct 2014 09:43:48 +0100
-Subject: [PATCH] Fix lirc socket path
-
----
- configure.in | 4 ++--
- plex/CMakeModules/PlatformConfigLINUX.cmake | 2 +-
- plex/CMakeModules/PlatformConfigRPI.cmake | 2 +-
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index 002245a..85ad398 100644
---- a/configure.in
-+++ b/configure.in
-@@ -452,9 +452,9 @@ AC_ARG_ENABLE([texturepacker],
-
- AC_ARG_WITH([lirc-device],
- [AS_HELP_STRING([--with-lirc-device=file],
-- [specify the default LIRC device (default is /dev/lircd)])],
-+ [specify the default LIRC device (default is /var/run/lirc/lircd)])],
- [lirc_device=$withval],
-- [lirc_device=/dev/lircd])
-+ [lirc_device=/var/run/lirc/lircd])
- AC_DEFINE_UNQUOTED([LIRC_DEVICE], ["$lirc_device"], [Default LIRC device])
-
- AC_ARG_ENABLE([udev],
-diff --git a/plex/CMakeModules/PlatformConfigLINUX.cmake b/plex/CMakeModules/PlatformConfigLINUX.cmake
-index 078fafb..3afa5c1 100644
---- a/plex/CMakeModules/PlatformConfigLINUX.cmake
-+++ b/plex/CMakeModules/PlatformConfigLINUX.cmake
-@@ -126,7 +126,7 @@ if(DEFINED OPENGL_FOUND)
- endif()
-
- #### default lircdevice
--set(LIRC_DEVICE "/dev/lircd")
-+set(LIRC_DEVICE "/var/run/lirc/lircd")
-
- #### on linux we want to use a "easy" name
- set(EXECUTABLE_NAME "plexhometheater")
-diff --git a/plex/CMakeModules/PlatformConfigRPI.cmake b/plex/CMakeModules/PlatformConfigRPI.cmake
-index 82aa751..367cdc9 100644
---- a/plex/CMakeModules/PlatformConfigRPI.cmake
-+++ b/plex/CMakeModules/PlatformConfigRPI.cmake
-@@ -103,7 +103,7 @@ list(APPEND CONFIG_INTERNAL_LIBS lib_dllsymbols)
-
-
- #### default lircdevice
--set(LIRC_DEVICE "/dev/lircd")
-+set(LIRC_DEVICE "/var/run/lirc/lircd")
-
- #### on linux we want to use a "easy" name
- set(EXECUTABLE_NAME "plexhometheater")
---
-2.1.3
-
diff --git a/abs/extra/plex-home-theater/plexhometheater.sh b/abs/extra/plex-home-theater/plexhometheater.sh
deleted file mode 100755
index 53276ff..0000000
--- a/abs/extra/plex-home-theater/plexhometheater.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-export XBMC_BIN_HOME='/usr/lib/plexhometheater'
-export XBMC_HOME='/usr/share/plexhometheater'
-exec plexhometheater
diff --git a/abs/extra/plex-media-server/MKPKG b/abs/extra/plex-media-server/MKPKG
new file mode 100644
index 0000000..01a47b4
--- /dev/null
+++ b/abs/extra/plex-media-server/MKPKG
@@ -0,0 +1,3 @@
+pkgname=('plex-media-server')
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/plex-media-server/PKGBUILD b/abs/extra/plex-media-server/PKGBUILD
new file mode 100644
index 0000000..42f7f3d
--- /dev/null
+++ b/abs/extra/plex-media-server/PKGBUILD
@@ -0,0 +1,65 @@
+# Maintainer: Tom Moore <t.moore01@gmail.com>
+# Contributor: Maxime Gauduin <alucryd@archlinux.org>
+# Contributor: Rob Sletten <rsletten@gmail.com>
+# Contributor: monty <linksoft@gmx.de>
+# Contributor: Jon Wiersma <archaur@jonw.org>
+# Contributor: Arthur <arthur.darcet@m4x.org>
+# Contributor: Praekon <praekon@googlemail.com>
+
+pkgname=plex-media-server
+pkgver=0.9.16.6.1993
+_pkgsum=5089475
+pkgrel=1
+pkgdesc='Plex Media Server'
+arch=('x86_64')
+url='https://plex.tv/'
+license=('custom')
+depends=('systemd')
+makedepends_i686=('prelink')
+makedepends_x86_64=('prelink')
+replaces=('plexmediaserver')
+conflicts=('plexmediaserver' 'plexmediaserver-plexpass')
+backup=('etc/conf.d/plexmediaserver')
+install='plex-media-server.install'
+source=('plexmediaserver.conf.d'
+ 'plexmediaserver.service'
+ 'terms.txt'
+ 'plexmediascanner.sh')
+#source_arm=("https://downloads.plex.tv/plex-media-server/${pkgver}-${_pkgsum}/PlexMediaServer-${pkgver}-${_pkgsum}-arm.spk")
+#source_armv7h=("https://downloads.plex.tv/plex-media-server/${pkgver}-${_pkgsum}/PlexMediaServer-${pkgver}-${_pkgsum}-arm7.spk")
+#source_i686=("https://downloads.plex.tv/plex-media-server/${pkgver}-${_pkgsum}/plexmediaserver-${pkgver}-${_pkgsum}.i386.rpm")
+source_x86_64=("https://downloads.plex.tv/plex-media-server/${pkgver}-${_pkgsum}/plexmediaserver-${pkgver}-${_pkgsum}.x86_64.rpm")
+#sha256sums_arm=('77792714279505e8b3fda046f841d0ed0c9bcee181678ffff27c49bde9e43e27')
+#sha256sums_armv7h=('e23b3248cc599c8f99213e213df48edef0d44afd5ef1f32404ccd5c8ee84560c')
+#sha256sums_i686=('73cdaa48714c95d9cae7f8411f50b4632e0a6f425ded6bd681d0d5008dea9397')
+
+prepare() {
+
+case "$CARCH" in
+ arm*) mkdir -p usr/lib/plexmediaserver && tar -zxf package.tgz -C usr/lib/plexmediaserver/;;
+ #Fix for SELinux and Grsecurity
+ *) execstack -c usr/lib/plexmediaserver/libgnsdk_dsp.so*;;
+esac
+
+}
+
+package() {
+ install -dm 755 "${pkgdir}"/{opt,etc/conf.d,usr/lib/systemd/system}
+ cp -dr --no-preserve='ownership' usr/lib/plexmediaserver "${pkgdir}"/opt/
+ install -m 644 plexmediaserver.service "${pkgdir}"/usr/lib/systemd/system/
+ install -m 644 plexmediaserver.conf.d "${pkgdir}"/etc/conf.d/plexmediaserver
+
+ install -m 755 -D plexmediascanner.sh "${pkgdir}"/usr/LH/bin/plexmediascanner.sh
+ #install -dm 755 "${pkgdir}"/var/lib/plex
+ #chown 421:421 -R "${pkgdir}"/var/lib/plex
+
+ install -dm 755 "${pkgdir}"/usr/share/licenses/plex-media-server
+ install -m 644 terms.txt "${pkgdir}"/usr/share/licenses/plex-media-server/
+}
+
+# vim: ts=2 sw=2 et:
+md5sums=('dfd6778f5c0d3d64c2c3a71dca02b7cc'
+ '34268b981e3b8c833a0e2270429232a6'
+ 'bd703bc750b989a27edd590eb8c8e9d7'
+ '506ec15815bba749a743780edd2323c8')
+md5sums_x86_64=('20e6e297df95ab96dbb6172055ab7935')
diff --git a/abs/extra/plex-media-server/__changelog b/abs/extra/plex-media-server/__changelog
new file mode 100644
index 0000000..f410839
--- /dev/null
+++ b/abs/extra/plex-media-server/__changelog
@@ -0,0 +1,6 @@
+.install & conf.d - change /var/lib/plex to /data/storage/disk0/media/plex
+conf.d - change /tmp to data/storage/disk0/media/plex/tmp
+plex-media-server.install - add check for data/storage/disk0/media/plex/tmp and create if needed
+plex-media-server.install - add_service.sh in post_install; remove_service.sh in post_remove
+PKGBUILD - move creation of /data/storage/disk0/media/plex to .install
+PKGBUILD - add plexmediascanner.sh
diff --git a/abs/extra/plex-media-server/plex-media-server.install b/abs/extra/plex-media-server/plex-media-server.install
new file mode 100644
index 0000000..e677521
--- /dev/null
+++ b/abs/extra/plex-media-server/plex-media-server.install
@@ -0,0 +1,45 @@
+post_install() {
+ if [[ ! -d /data/storage/disk0/media/plex ]]; then
+ install -dm 755 /data/storage/disk0/media/plex
+ chown 421:421 -R /data/storage/disk0/media/plex
+ fi
+ if [[ ! -d /data/storage/disk0/media/plex/tmp ]]; then
+ install -dm 755 /data/storage/disk0/media/plex/tmp
+ chown 421:421 -R /data/storage/disk0/media/plex/tmp
+ fi
+ if [[ -n $(getent group 421) && $(getent group 421) != $(getent group plex) ]]; then
+ echo "GID 421 is already assigned to the $(getent group 421 | cut -d':' -f1) group, cannot create the plex group."
+ elif [[ -n $(getent passwd 421) && $(getent passwd 421) != $(getent passwd plex) ]]; then
+ echo "UID 421 is already assigned to the $(getent passwd 421 | cut -d':' -f1) user, cannot create the plex user."
+ else
+ if [[ -n $(getent passwd plex) && $(getent passwd plex) != 'plex:x:421:421:Plex User:/data/storage/disk0/media/plex:/usr/bin/nologin' ]]; then
+ echo "The plex user is outdated. It will be removed and recreated."
+ if [[ -z $(pidof "Plex Media Server") ]]; then
+ userdel plex
+ chown 421:421 -R /data/storage/disk0/media/plex
+ else
+ echo "Unable to update the plex user. Please stop plexmediaserver.service and reinstall the package."
+ fi
+ fi
+ if [[ -z $(getent group plex) ]]; then
+ groupadd -g 421 plex
+ fi
+ if [[ -z $(getent passwd plex) ]]; then
+ useradd -c 'Plex User' -u 421 -g plex -d /data/storage/disk0/media/plex -s /usr/bin/nologin plex
+ fi
+ passwd -l plex > /dev/null
+ fi
+ add_service.sh plexmediaserver
+}
+
+post_upgrade() {
+ post_install
+ if [[ $(vercmp 0.9.11.1.678-1 $2) == '1' ]]; then
+ echo "Plex' home is now located in '/var/lib/plex'. You will have to move the 'Plex Media Server' directory located in '/opt/plexmediserver/Library/Application Support' into the new home. Please refer to 'https://support.plex.tv/hc/en-us/articles/201370363-Move-an-Install-to-Another-System' for detailed instructions."
+ fi
+}
+
+post_remove() {
+ remove_service.sh plexmediaserver
+}
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/plex-media-server/plexmediascanner.sh b/abs/extra/plex-media-server/plexmediascanner.sh
new file mode 100755
index 0000000..9ac16c7
--- /dev/null
+++ b/abs/extra/plex-media-server/plexmediascanner.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+exec 2>&1
+export TERM=linux
+. /etc/conf.d/plexmediaserver
+
+sudo -uplex -gplex LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" PLEX_MEDIA_SERVER_HOME="${PLEX_MEDIA_SERVER_HOME}" PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR="${PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR}" /opt/plexmediaserver/Plex\ Media\ Scanner $@
diff --git a/abs/extra/plex-media-server/plexmediaserver.conf.d b/abs/extra/plex-media-server/plexmediaserver.conf.d
new file mode 100644
index 0000000..85ff7a1
--- /dev/null
+++ b/abs/extra/plex-media-server/plexmediaserver.conf.d
@@ -0,0 +1,6 @@
+LD_LIBRARY_PATH=/opt/plexmediaserver
+PLEX_MEDIA_SERVER_HOME=/opt/plexmediaserver
+PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR=/data/storage/disk0/media/plex
+PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS=6
+PLEX_MEDIA_SERVER_TMPDIR=/data/storage/disk0/media/plex/tmp
+TMPDIR=/data/storage/disk0/media/plex/tmp
diff --git a/abs/extra/plex-media-server/plexmediaserver.service b/abs/extra/plex-media-server/plexmediaserver.service
new file mode 100644
index 0000000..9206301
--- /dev/null
+++ b/abs/extra/plex-media-server/plexmediaserver.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=Plex Media Server
+After=network.target
+
+[Service]
+EnvironmentFile=/etc/conf.d/plexmediaserver
+ExecStart=/opt/plexmediaserver/Plex\x20Media\x20Server
+Type=simple
+User=plex
+Group=plex
+Restart=on-failure
+RestartSec=5
+StartLimitInterval=60s
+StartLimitBurst=3
+StandardOutput=null
+
+[Install]
+WantedBy=multi-user.target
diff --git a/abs/extra/plex-media-server/terms.txt b/abs/extra/plex-media-server/terms.txt
new file mode 100644
index 0000000..afe675f
--- /dev/null
+++ b/abs/extra/plex-media-server/terms.txt
@@ -0,0 +1,109 @@
+Plex Terms of Service
+Last modified December 21st, 2013
+
+Thank you for using Plex! By accessing, using, downloading, or visiting any Plex “Service(s)”, which includes the Plex website, Plex software and products described here, and any other products or materials provided by Plex, you agree to the terms (“Terms”) listed in this agreement (“Agreement”). Plex reserves the right to amend these Terms at any time and without notice. Any revisions to the Terms will be posted on the Plex website. By continuing to access or use the Services, you accept any changes or revisions to the Terms.
+
+Plex Software
+
+ Plex gives you a personal, non-commercial, worldwide, royalty-free, revocable, non-transferable, non-sublicensable, and non-exclusive license to use the software provided to you by Plex as part of the Services (“Software”). This license is for the sole purpose of enabling you to use and enjoy the benefit of the Services in the manner permitted by these Terms.
+ The Software includes certain executable modules that Plex has licensed from third party providers (“Third Party Components”) that may be subject to different end user license terms as specified in the license agreement(s) provided with such Third Party Components.
+ You may not, or allow anyone else to, directly or indirectly to: (1) copy, modify, distribute, sell, or lease any part of the Software; (2) reverse engineer, disassemble, decompile, or otherwise attempt to discover the source code or structure, sequence, and/or organization of all or any part of the Software, unless laws prohibit those restrictions or you have our written permission; (3) rent, lease, or use the Software for timesharing or service bureau purposes; (4) develop any improvement, modification, or derivative works of the Software, or include any portion thereof in any other product, software, work, equipment, or item (except that you may customize and/or modify the Software only as set forth in the documentation or as authorized in any license agreement of Plex’s third party licensors and applicable to Third Party Components); or (5) allow the transfer, transmission, export, or re-export of the Software or any portion thereof or any technical data associated with any Software.
+ You shall not incorporate any of Plex’s Software or any part thereof into any other product(s) or use the proprietary software in any manner that would cause the proprietary software to become subject to any “open source license” that would impose obligations on Plex’s use of the proprietary software or impair any rights of Plex or third parties thereto.
+ You shall maintain and shall not remove nor obscure any proprietary notices on the Software, and shall reproduce such notices exactly on all permitted copies of the Software.
+ You may reverse engineer the Software solely (1) as permitted by applicable law, or (2) for the purpose of debugging modifications made by you to certain third party files in source code format that are licensed under the GNU Lesser General Public License (LGPL) or under the GNU General Public License diversion 2 (GPL2) and only provided that you have made, prior to any such reverse engineering permitted under this sentence, unsuccessful prior reasonable good faith efforts to debug such modifications using techniques other than the reverse engineering of the Software.
+ As between the parties and except as otherwise provided in any license agreement for Third Party Components, Plex shall own all title, ownership rights, and intellectual property rights in and to the Software, and any copies or derivative works thereof, except that by downloading the Software, you retain any title that you may own in and to the recording media on which the Software is recorded.
+ You understand that Plex or its licensors may modify or discontinue offering the Services at any time.
+ You shall not make, or assist others in making, any use of data adapters or similar technologies used by or with the Services that are designed to receive and use data from Plex, its third party data providers, and their affiliates and third parties, other than to receive and use such data in accordance with these Terms and your agreement with the third party data providers, and their affiliates and third parties, including without limitation any data passing through the Services or otherwise effectively made available by any Service through an API, a download, a database, or the like.
+ This Agreement does not entitle you to any support, upgrades, patches, enhancements, or fixes (collectively, "Support") for the Services. Any such Support for the Services that may be made available by Plex, in its sole discretion, shall become part of the Services and will be subject to these Terms.
+
+Data
+
+Data provided by Plex or other third party data providers may be delayed or unavailable as specified by Plex or such third party data providers. Plex does not verify any data provided by Plex or other third party data providers and disclaims any obligation to do so. Plex, its third party data providers, and each of their affiliates and business partners: (1) expressly disclaim the availability, accuracy, adequacy, or completeness of any data or third party data provider, and (2) shall not be liable for any errors, omissions, or other defects in, unavailability of, delays or interruptions in such data or third party data provider.
+
+Acceptable Use
+
+ You may not, or allow anyone else to, use any of the Services to do the following:
+ Infringe the intellectual property rights, proprietary rights, or rights of publicity or privacy of any third party;
+ Violate any law, statute, ordinance, or regulation, or perform any other action that would incur civil liability or constitute a crime;
+ Disseminate, transfer or store information or materials in any form or format that is harmful, threatening, abusive, harassing, tortuous, defamatory, vulgar, obscene, libelous, or otherwise objectionable, or that otherwise violate any law or right of any third party; or
+ Disseminate any software viruses or any other computer code, files, programs, or the like that may without limitation interrupt, destroy, or limit the functionality of any computer software or hardware or telecommunications equipment, violate the security of any computer network, or the like.
+ If the occurrence of any prohibited use comes to our attention, we reserve the right to disable any accounts associated with prohibited use or otherwise terminate your access to the Services.
+
+Your Content
+
+ You continue to retain any ownership rights you have in content you make available via the Services, or otherwise use in conjunction with the Services. However, by using the Services with particular content, for example by using the Services to share particular content or access particular content, you grant to Plex (and to each of the third parties with whom we work to provide you with the Services) a worldwide license to reproduce, modify, create derivative works, transmit, publish, publicly perform, publicly display, distribute, and otherwise use the particular content and metadata associated with the content, such as poster images. The rights you grant us in this license are only for the limited purpose of providing you with our Services. You may not use the Services in connection with any content for which you do not have the right to grant us this license.
+ The Services may include features that allow you to share your content with others. Please be careful when choosing to share content with other users; Plex is not responsible for how others use your content. Additionally, you hereby grant to any user with whom you share content a non-exclusive license to access the content through the Service, and to use, reproduce in copies, distribute, display and perform the shared content as permitted through the functionality of the Service and under this Agreement. You may not share any content with others via the Services if you do not have the right to grant this license to any user with whom you share the content.
+ You understand that all content imported, published, shared, transmitted, or otherwise made available via the Services is the sole responsibility of the person from whom such content originated, and that you, and not Plex, are solely responsible for any civil or criminal legal liability that may arise or result from any content that you import, publish, share, transmit, or otherwise make available through your use of the Services.
+
+Content of Others
+
+ You acknowledge that all content that you access through use of the Software or other Services is accessed at your own risk, and you will be solely responsible for any damage or liability to any party resulting from such access.
+ You understand that by using the Services you may encounter content that you may find offensive, indecent, or objectionable. Plex does not inspect, screen, or otherwise control the content that is posted, shared or made available via the Services, and Plex does not guarantee the accuracy, integrity or quality of such content.
+ You acknowledge that unauthorized use of copyrighted content of others may subject you to civil and criminal penalties, including possible monetary damages, for copyright infringement.
+
+Developers and Interfacing Software
+
+ "Interfacing Software" means any software that you obtain or provide and that accesses or calls any Software provided by Plex as part of the Services including, but not limited to, plug-ins for the Services, channel plug-ins, metadata agents, and client applications that communicate directly or indirectly with the Services.
+ By making, or assisting others in making, Interfacing Software, you agree to the following terms:
+ You grant Plex and its affiliates worldwide a worldwide, non-exclusive, and royalty-free right and license to use (including testing, hosting and linking to), copy, publicly perform, publicly display, reproduce in copies for distribution, and distribute the copies of any Interfacing Software made by you or with your assistance.
+ You may notify us at legal@plex.tv if you do not wish for Plex to use, distribute, copy, publicly perform, publicly display, reproduce in copies for distribution, or distribute copies of any Interfacing Software that was created by you. Plex will comply with such a request but Plex must be granted a transition period of thirty (30) days after receipt of the request to comply. A request to take down Interfacing Software must include (1) an identification of the Interfacing Software you wish to be removed; (2) your signature in either electronic or physical form; and (3) the following statements:
+ "I swear under penalty of perjury that I am the owner of the Interfacing Software or I am authorized to act on behalf of the owner of the Interfacing Software.”
+ "I swear under penalty of perjury that the information in this notification is accurate.”
+ You shall protect the privacy and legal rights of Plex users. If the users provide, or the Interfacing Software accesses or uses, user names, passwords, or other login information or personal information, you must make the users aware that such information will be available to the Interfacing Software, and you must provide privacy notices and protection for those users in compliance with applicable law. Further, the Interfacing Software may use that information only for the limited purposes for which the user has given you permission to do so. If the Interfacing Software stores personally identifying information of users or information that a reasonable user would consider to be sensitive, then the Interfacing Software must do so securely and only for as long as it is needed. However, if the user has opted or entered into a separate agreement with you that allows you or the Interfacing Software to store or use personally identifying information of users or information that a reasonable user would consider to be sensitive, then the terms of that separate agreement will govern your use of such information. If the user provides the Interfacing Software with Plex account information, the Interfacing Software may only use that information to access the user’s Plex account when, and for the limited purposes for which, the user has given you permission to do so.
+ Prohibited Uses. Plex prohibits performing certain actions using the Interfacing Software. You shall not make, or assist others in making, any Interfacing Software that:
+ Knowingly violates a third party’s terms of service;
+ Violates any applicable laws or regulations;
+ Interferes with, disrupts, damages, harms, or accesses in an unauthorized manner the machines, hardware. devices, servers, networks, data, or other properties or services of any other party including, but not limited to, Plex users, Plex or any network operator;
+ Posts misleading information about an application’s purpose;
+ Infringes on the intellectual property rights of others; or
+ Performs any other prohibited action listed under “Acceptable Use” above.
+ You will require your end users to comply with any applicable law and these Terms. You will not knowingly enable your end users to violate applicable law or these Terms.
+ You shall indemnify and hold harmless Plex and its officers, directors, employees, contractors, licensors, suppliers, distributors, contractors, agents, and third party contributors from any claims, damages, liabilities, costs and fees (including reasonable attorney fees) arising from any use of the Interfacing Software or from Plex’s distribution of the Interfacing Software.
+ Brand Features and Attribution
+ "Brand Features" is defined as the trade names, trademarks, service marks, logos, domain names, and other distinctive brand features of a party. Except where expressly stated, these terms do not grant either party any right, title, or interest in or to the other party's Brand Features. Any use by you of Plex’s Brand Features (including any goodwill associated therewith) will inure to the benefit of Plex. Plex Brand Features include the Plex Play Logo (“>” in stylized format) and the trademarks, trade names and designs as may be identified from time to time in the Plex Trademark Notice that is posted at plex.tv/legal.
+ You must seek prior written approval from Plex to display Plex's Brand Features, including for the purpose of promoting or advertising that your Interfacing Software is for use in conjunction with Plex Services. Plex, in its sole discretion and in a separate writing such as an e-mail from an authorized representative of Plex, may grant you a revocable, non-transferable, nonexclusive license, without right of sub-license, to display Plex's Brand Features for the purpose of promoting or advertising that your Interfacing Software is for use in conjunction with Plex Services. You understand and agree that Plex has the sole discretion to determine whether your attribution(s) and use of Plex's Brand Features are in accordance with the above requirements and guidelines and that Plex may revoke the license granted herein at any time, or may require you to modify your use of Plex’s Brand Features, for any reason in its sole discretion.
+ You will not make any statement that suggests a partnership with, sponsorship by, or endorsement by Plex, without Plex's express prior written approval.
+ In the course of promoting, marketing, or demonstrating the Services, Plex may produce and distribute incidental depictions, including screenshots, video, or other content from your Interfacing Software, and may use your company or product name. You grant us all necessary rights for the above purposes.
+
+Children
+
+While Plex does distribute products that may be used by children, the Services are not intended to be used by children, without involvement, supervision, and approval of a parent or legal guardian. Therefore, if an account owner sets parental controls or establishes sub-accounts that the account owner intends to permit a child to use, the account owner should not reveal the account password to the child. Plex and its contributors may not provide controls that restrict the maturity level of content available via Plex and an adult account owner has sole responsibility for determining what maturity level is appropriate for or accessible to any children whom the account owner permits to use the Plex service or a sub-account.
+
+NO WARRANTY
+
+ PLEX SERVICES ARE PROVIDED "AS IS". PLEX MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, AND PLEX EXPRESSLY DISCLAIMS ALL WARRANTIES WITH RESPECT TO THE PLEX SERVICES, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. FURTHER, PLEX DOES NOT WARRANT AGAINST ERRORS, OMISSIONS, RESULTS OF USE, OR THAT PLEX SERVICES ARE BUG FREE OR ERROR FREE OR THAT USE WILL BE UNINTERRUPTED. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THE AGREEMENT. ALL THE FOREGOING DISCLAIMERS ALSO APPLY IN FULL WITH RESPECT TO PLEX'S LICENSORS, SUPPLIERS, DISTRIBUTORS, CONTRACTORS, AGENTS, AND THIRD PARTY CONTRIBUTORS. SOME STATES DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE LIMITATIONS MAY NOT APPLY TO YOU.
+ You agree that Plex and its officers, directors, employees, and contractors are not responsible for any fault, inaccuracy, error, omission, delay or any other failure of your equipment and/or services caused by Plex’s hardware, software, cabling, network services, or the like, or arising from Plex’s use of such equipment and/or services.
+ The above disclaimer of warranty applies to software developed by Plex and any software developed by a third party and provided by Plex including, but not limited to, Interfacing Software developed by any Plex user.
+
+Limitation of Liability and Damages
+
+ UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, INCLUDING, BUT NOT LIMITED TO, TORT, CONTRACT, NEGLIGENCE, STRICT LIABILITY, OR OTHERWISE, SHALL PLEX BE LIABLE TO YOU OR ANY OTHER PERSON OR ENTITY: (I) FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, ACCURACY OF RESULTS, COMPUTER FAILURE OR MALFUNCTION, LOSS OF DATA, OR OTHER DAMAGES RESULTING FROM YOUR USE OF THE SOFTWARE; OR (II) FOR ANY MATTER BEYOND ITS REASONABLE CONTROL. PLEX'S AGGREGATE LIABILITY FOR DAMAGES OF ANY KIND WHATSOEVER ARISING OUT OF THIS AGREEMENT SHALL BE LIMITED TO THE LESSER OF THE TOTAL FEES PAID BY YOU TO PLEX (IF ANY) FOR THE PORTION OF THE SOFTWARE THAT GAVE RISE TO SUCH DAMAGES OR $100 (U.S.), EXCEPT WHERE NOT PERMITTED BY APPLICABLE LAW, IN WHICH CASE PLEX'S LIABILITY SHALL BE LIMITED TO THE MINIMUM AMOUNT PERMITTED BY SUCH APPLICABLE LAW. ALL THE FOREGOING LIMITATIONS SHALL APPLY EVEN IF EITHER PARTY HAS BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. ALL THE FOREGOING LIMITATIONS ALSO APPLY WITH RESPECT TO PLEX'S SUPPLIERS, LICENSORS, DISTRIBUTORS, CONTRACTORS, AGENTS, AND THIRD PARTY CONTRIBUTORS. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION AND EXCLUSION MAY NOT APPLY TO YOU.
+ The above limitations and exclusions apply to software developed by Plex and any software developed by a third party and provided by Plex including, but not limited to, Interfacing Software developed by Plex user.
+
+Third-Party Materials
+
+This website and other Services may provide links to websites, software, or other materials provided by third parties. Plex does not endorse and is not responsible or liable for the availability, accuracy, safety, or intellectual property rights of or relating to such content. Plex is not liable for any harm caused by any such materials.
+
+Malware
+
+"Malware" means any known, discovered, envisioned, or invented, or any yet to be known, discovered, envisioned, or invented: (i) virus, Trojan horse, or any other harmful, harassing, or malicious software; or (ii) method, use, or means by which any software, firmware, equipment, device, communications medium, person, entity, or the like directly or indirectly engages in or is used for: (a) any unauthorized access; (b) any unauthorized communication; or (c) any cracks, hacks, exploits, or other activity, method, use, or means, that may cause harassment, harm, data loss, data theft, loss of communication, loss of privacy, or the like. You acknowledge that the Internet, Internet service providers, shared or dedicated telecommunication lines, wireless access points and wireless networks, other forms of communication, online resources including websites and cloud computing environments, or other means that you use to connect to the Software may not be secure and may be vulnerable to attack by third parties, and that it is possible to receive Malware by using the Internet, dedicated lines, other forms of communication, or other means. In order to protect the Software, you shall regularly obtain, use, and update appropriate third party software or other means to protect yourself from Malware and to detect and remove Malware that may be downloaded using the Internet, dedicated lines, other forms of communication, or other means. Plex does not warrant that the Software will be free of Malware including, but not limited to, Malware that is introduced by third parties, the Internet, dedicated lines, other forms of communication, or other means.
+
+Waiver and Indemnity
+
+You agree that Plex and its licensors, distributors, contractors, agents, and third party contributors shall have no liability whatsoever for any use you make of the Services. You shall indemnify and hold harmless Plex and its licensors, suppliers, distributors, contractors, agents, and third party contributors from any claims, damages, liabilities, costs and fees (including reasonable attorney fees) arising from your use of the Plex Services as well as from your failure to comply with any of the Terms, or any losses, damages, claims, costs, and/or attorneys’ fees arising from any use of or reliance upon any information received in connection with the Services that comprises or is based upon data provided by Plex or any third party.
+
+Termination of Services
+
+Plex may at any time, with or without cause and with or without prior notice, immediately terminate or suspend your Plex account or otherwise terminate or suspend your access to all or a portion of the Services. Cause for such termination may include: (a) violations of the Terms or any other policies or guidelines that are referenced herein; (b) a request by you to cancel or terminate your account; (c) a request and/or order from law enforcement, a judicial body, or other government agency; (d) where providing the Services to you is or may become unlawful; or (e) unexpected technical or security issues or problems; (f) your participation in fraudulent or illegal activities. Any such termination or suspension shall be made by Plex in its sole discretion and Plex will not be responsible to you or any third party for any damages that may result or arise out of such termination or suspension of your access to the Services.
+
+Miscellaneous
+
+ This Agreement does not give you any rights not expressly and unambiguously granted herein.
+ No agency, partnership, joint venture, or employment is created as a result of this Agreement and you do not have any authority of any kind to bind Plex in any respect whatsoever.
+ If any provision of this Agreement is found to be unenforceable or invalid, that provision shall be limited or eliminated to the minimum extent necessary so that this Agreement shall otherwise remain in full force and effect and enforceable.
+ This Agreement is not assignable, transferable, or sublicensable by you except with Plex's prior written consent. Plex may transfer, assign, or delegate this Agreement and its rights and obligations without consent.
+ Plex's failure to enforce any right or provisions in this Agreement will not constitute a waiver of such or any other provision.
+ This Agreement shall be governed by and construed in accordance with the laws of the state of California, as if made within California between two residents thereof, and the parties submit to the exclusive jurisdiction of the Superior Court of Santa Clara County and the United States District Court for the Northern District of California. Notwithstanding the foregoing sentence, but without limiting Plex's right to seek injunctive or other equitable relief in any court of competent jurisdiction, any disputes arising with respect to this Agreement shall be referred to an arbitrator affiliated with the Judicial Arbitration and Mediation Services, Inc. ("JAMS"). The arbitrator shall be selected by joint agreement of the parties. In the event the parties cannot agree on an arbitrator within thirty (30) days of the initiating party providing the other party with written notice that it plans to seek arbitration, the parties shall each select an arbitrator affiliated with JAMS, which arbitrators shall jointly select a third such arbitrator to resolve the dispute. The written decision of the arbitrator shall be final and binding on the parties. The arbitration proceeding shall be carried on and heard in Santa Clara County, California using the English language and pursuant to the rules of (and administered by) JAMS. In any action or proceeding to enforce rights under this Agreement, the prevailing party will be entitled to recover costs and reasonable attorneys' fees from the other party. A separate written license agreement or order and signed by Plex and you or your company, employer, or principal may state other terms and conditions that apply to you, including terms relating to price, payment, delivery, confidential information, support services, and the like. You are solely responsible to review such terms or conditions with your company, employer or principal. In the event of any conflict in terms, the terms of the separate license agreement shall supersede the terms of this Agreement.
+ Both parties agree that this Agreement is the complete and exclusive statement of the mutual understanding of the parties and supersedes and cancels all previous written and oral agreements, communications, and other understandings relating to the subject matter of this Agreement.
+
+
diff --git a/abs/extra/portaudio/PKGBUILD b/abs/extra/portaudio/PKGBUILD
new file mode 100644
index 0000000..91903f5
--- /dev/null
+++ b/abs/extra/portaudio/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id$
+# Maintainer: Lukas Fleischer <lfleischer@archlinux.org>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: Darwin Bautista <djclue917@gmail.com>
+# Contributor: Bob Finch <w9ya@qrparci.net>
+
+pkgname=portaudio
+pkgver=19_20140130
+pkgrel=3
+pkgdesc='A free, cross-platform, open source, audio I/O library.'
+arch=('i686' 'x86_64')
+url='http://www.portaudio.com/'
+license=('custom')
+depends=('gcc-libs')
+conflicts=('portaudio_cpp')
+provides=('portaudio_cpp')
+replaces=('portaudio_cpp')
+options=('!makeflags')
+source=("http://www.portaudio.com/archives/pa_stable_v$pkgver.tgz")
+md5sums=('7f220406902af9dca009668e198cbd23')
+
+build() {
+ cd "$srcdir/$pkgname"
+
+ ./configure --prefix=/usr --enable-cxx
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname"
+
+ make DESTDIR="$pkgdir" install
+ install -Dm0644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE.txt"
+}
diff --git a/abs/extra/portaudio/__changelog b/abs/extra/portaudio/__changelog
new file mode 100644
index 0000000..f2d307a
--- /dev/null
+++ b/abs/extra/portaudio/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD:
+- remove dep jack
diff --git a/abs/extra/powerpanel/PKGBUILD b/abs/extra/powerpanel/PKGBUILD
index 22edba7..b1377f1 100644
--- a/abs/extra/powerpanel/PKGBUILD
+++ b/abs/extra/powerpanel/PKGBUILD
@@ -1,30 +1,31 @@
-# Contributor: das-ich <das-ich@yandex.ru>
+# Maintainer: Justin Settle <jus10 [at] partlycloudy.org>
+# Contributor: Kyle Keen <keenerd [at] gmail.com>, das-ich <das-ich [at] yandex.ru>
pkgname=powerpanel
-pkgver=1.2.3
-pkgrel=6
-pkgdesc="PowerPanel for Linux software can be used with most CyberPower UPS products."
+pkgver=1.3.2
+pkgrel=1
+pkgdesc="CyberPower UPS daemon"
arch=("x86_64" "i686")
url="http://www.cyberpowersystems.com"
license=("custom:CyberPower")
depends=('libusb')
install=pwrstatd.install
-source=(http://www.cyberpowersystems.com/software/powerpanel_123_x86_64.tar.gz pwrstatd.service)
backup=(etc/powerpanel/pwrstatd-{powerfail,lowbatt,email}.sh
- etc/pwrstatd.conf)
+ etc/pwrstatd.conf)
-if [ "$CARCH" = "x86_64" ]; then
- md5sums=('0226b17e9470b93cd1e4fd2f149c5d05'
- 'b945ff7c15ef206022c8df29a96338c8')
+if [[ $CARCH = 'x86_64' ]]; then
+ source=(http://www.cyberpowersystems.com/software/powerpanel-$pkgver-$CARCH.tar.gz pwrstatd.service)
+ md5sums=('d69233e117f92611931cb820bad141df'
+ 'b945ff7c15ef206022c8df29a96338c8')
fi
-if [ "$CARCH" = "i686" ]; then
-source=(http://www.cyberpowersystems.com/software/powerpanel_123_i386.tar.gz)
- md5sums=('79d1b60f5146b5286c786c93b90e6c87'
- 'b945ff7c15ef206022c8df29a96338c8')
+if [[ $CARCH = 'i686' ]]; then
+ source=(http://www.cyberpowersystems.com/software/powerpanel-$pkgver-i386.tar.gz pwrstatd.service)
+ md5sums=('833f35179a8b0ca303698de08f048c8b'
+ 'b945ff7c15ef206022c8df29a96338c8')
fi
package() {
- cd ${srcdir}/$pkgname-$pkgver-0
+ cd ${srcdir}/$pkgname-$pkgver
#
# copy files
#
@@ -63,7 +64,9 @@ install -Dm644 doc/pwrstatd.8 ${pkgdir}/usr/share/man/man8/pwrstatd.8
gzip -9 ${pkgdir}/usr/share/man/man8/pwrstat.8
gzip -9 ${pkgdir}/usr/share/man/man8/pwrstatd.8
-}
+# Install License
+install -D -m644 doc/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
-md5sums=('0226b17e9470b93cd1e4fd2f149c5d05'
+}
+md5sums=('d69233e117f92611931cb820bad141df'
'b945ff7c15ef206022c8df29a96338c8')
diff --git a/abs/extra/prelink/PKGBUILD b/abs/extra/prelink/PKGBUILD
new file mode 100644
index 0000000..7dace86
--- /dev/null
+++ b/abs/extra/prelink/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id$
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: Rouslan Solomakhin <rouslan@localnet.com>
+
+pkgname=prelink
+pkgver=20130503
+pkgrel=4
+pkgdesc='ELF prelinking utility to speed up dynamic linking'
+arch=('x86_64' 'i686')
+url='http://people.redhat.com/jakub/prelink/'
+license=('GPL')
+depends=('elfutils')
+makedepends=('elfutils' 'libtool')
+backup=('etc/prelink.conf')
+source=("http://people.redhat.com/jakub/$pkgname/$pkgname-$pkgver.tar.bz2"
+ 'prelink.conf')
+sha256sums=('6339c7605e9b6f414d1be32530c9c8011f38820d36431c8a62e8674ca37140f0'
+ 'a149b15b3b4f4ebf931b606e560289fa0a00a08f32855dc1c743485fec704381')
+
+build() {
+ cd "$pkgname"
+
+ ./configure --prefix=/usr --mandir=/usr/share/man --sbin=/usr/bin \
+ --disable-static --with-gnu-ld
+ make
+}
+
+check() {
+ make -C "$pkgname" check
+}
+
+package() {
+ make -C "$pkgname" DESTDIR="$pkgdir" install
+ install -Dm644 prelink.conf "$pkgdir/etc/prelink.conf"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/prelink/prelink.conf b/abs/extra/prelink/prelink.conf
new file mode 100644
index 0000000..038c239
--- /dev/null
+++ b/abs/extra/prelink/prelink.conf
@@ -0,0 +1,43 @@
+# From: https://wiki.archlinux.org/index.php/Talk:Prelink
+# See also: FS#40579 and FS#44727
+
+# System
+/usr/lib
+/usr/lib32
+/usr/bin
+
+# Not using prelink for the following:
+
+# Skype
+-b /usr/lib32/skype/skype
+-b /usr/lib/skype/skype
+
+# Ruby
+-b /usr/bin/ruby
+
+# Flash Player Plugin
+-b /usr/lib/mozilla/plugins/libflashplayer.so
+
+# NVIDIA
+-b /usr/lib/libGL.so*
+-b /usr/lib32/libGL.so*
+-b //usr/lib/libOpenCL.so*
+-b //usr/lib32/libOpenCL.so*
+-b /usr/lib32/vdpau/
+-b /usr/lib/vdpau/
+-b /usr/lib/xorg/modules/drivers/nvidia_drv.so
+-b /usr/lib/xorg/modules/extensions/libglx.so*
+-b /usr/lib/libnvidia-*
+-b /usr/lib32/libnvidia-*
+
+# Catalyst
+-b /usr/lib/libati*
+-b /usr/lib/fglrx*
+-b /usr/lib/libAMDXvBA*
+-b /usr/lib/libGL.so*
+-b /usr/lib/libfglrx*
+-b /usr/lib/xorg/modules/dri/fglrx_dri.so
+-b /usr/lib/xorg/modules/drivers/fglrx_drv.so
+-b /usr/lib/xorg/modules/extensions/fglrx/
+-b /usr/lib/xorg/modules/linux/libfglrxdrm.so
+-b /usr/lib/xorg/modules/extensions/libglx.so
diff --git a/abs/extra/qtchooser/4.conf b/abs/extra/qtchooser/4.conf
new file mode 100644
index 0000000..96e344e
--- /dev/null
+++ b/abs/extra/qtchooser/4.conf
@@ -0,0 +1,2 @@
+/usr/lib/qt4/bin
+/usr/lib
diff --git a/abs/extra/qtchooser/5.conf b/abs/extra/qtchooser/5.conf
new file mode 100644
index 0000000..bcd76de
--- /dev/null
+++ b/abs/extra/qtchooser/5.conf
@@ -0,0 +1,2 @@
+/usr/lib/qt/bin
+/usr/lib
diff --git a/abs/extra/qtchooser/PKGBUILD b/abs/extra/qtchooser/PKGBUILD
new file mode 100644
index 0000000..a5339f0
--- /dev/null
+++ b/abs/extra/qtchooser/PKGBUILD
@@ -0,0 +1,41 @@
+# $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/rsync/PKGBUILD b/abs/extra/rsync/PKGBUILD
index ab83127..a0bf281 100644
--- a/abs/extra/rsync/PKGBUILD
+++ b/abs/extra/rsync/PKGBUILD
@@ -1,31 +1,31 @@
# $Id$
pkgname=rsync
-pkgver=3.1.0
+pkgver=3.1.2
pkgrel=1
pkgdesc="A file transfer program to keep remote files in sync"
arch=('i686' 'x86_64')
-url="http://samba.anu.edu.au/rsync/"
+url="http://rsync.samba.org/"
license=('GPL3')
-depends=('perl' 'popt')
+depends=('perl' 'popt' 'acl' 'zlib')
backup=('etc/rsyncd.conf' 'etc/xinetd.d/rsync')
source=("http://rsync.samba.org/ftp/rsync/$pkgname-$pkgver.tar.gz"
"http://rsync.samba.org/ftp/rsync/$pkgname-$pkgver.tar.gz.asc"
'rsyncd.conf' 'rsync.xinetd' 'rsyncd.service'
'rsyncd.socket' 'rsyncd@.service')
-md5sums=('3be148772a33224771a8d4d2a028b132'
+md5sums=('0f758d7e000c0f7f7d3792610fad70cb'
'SKIP'
'bce64d122a8e0f86872a4a21a03bc7f3'
'ea3e9277dc908bc51f9eddc0f6b935c1'
- '084140868d38cf3e937a2db716d47c0f'
+ 'f90ba7f3717028769d6f230a2402b5aa'
'ae4c381e0c02d6132c7f6ded3f473041'
- '53f94e613e0bc502d38dd61bd2cd7636')
+ 'ceab0b656e5e8239df594040b3b31d3c')
+validpgpkeys=('0048C8B026D4C96F0E589C2F6C859FB14B96A8C5')
build() {
cd "$srcdir/$pkgname-$pkgver"
./configure --prefix=/usr \
--with-included-popt=no \
- --with-included-zlib=no \
--disable-debug
make
}
diff --git a/abs/extra/rsync/rsyncd.service b/abs/extra/rsync/rsyncd.service
index 8502c08..cd45687 100644
--- a/abs/extra/rsync/rsyncd.service
+++ b/abs/extra/rsync/rsyncd.service
@@ -1,5 +1,6 @@
[Unit]
Description=A file transfer program to keep remote files in sync
+After=network.target
[Service]
ExecStart=/usr/bin/rsync --daemon --no-detach
diff --git a/abs/extra/rsync/rsyncd@.service b/abs/extra/rsync/rsyncd@.service
index 33db95c..f52dc76 100644
--- a/abs/extra/rsync/rsyncd@.service
+++ b/abs/extra/rsync/rsyncd@.service
@@ -7,5 +7,3 @@ ExecStart=-/usr/bin/rsync --daemon
StandardInput=socket
StandardOutput=inherit
StandardError=journal
-User=nobody
-Group=nobody
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
new file mode 100644
index 0000000..d77d7fb
--- /dev/null
+++ b/abs/extra/samba/0001-s4-lib-tls-use-gnutls_priority_set_direct.patch
@@ -0,0 +1,69 @@
+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 f813ab6..13ddd78 100644
--- a/abs/extra/samba/PKGBUILD
+++ b/abs/extra/samba/PKGBUILD
@@ -10,11 +10,11 @@
pkgbase=samba
pkgname=('libwbclient' 'smbclient' 'samba')
-pkgver=4.1.14
+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 pamcan
+# to append 'a','b',etc to their subsequent releases, which pacman
# misconstrues as alpha, beta, etc. Bad samba!
-_realver=4.1.14
+_realver=4.3.4
pkgrel=1
arch=(i686 x86_64)
url="http://www.samba.org"
@@ -23,6 +23,7 @@ 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
samba.logrotate
samba.pam
samba.service
@@ -33,6 +34,7 @@ source=(http://us1.samba.org/samba/ftp/stable/${pkgbase}-${_realver}.tar.gz
smbd@.service
winbindd.service
samba.conf)
+validpgpkeys=('52FBC0B86D954B0843324CDC6F33915B6568B7EA') #Samba Distribution Verification Key <samba-bugs@samba.org>
### UNINSTALL dmapi package before building!!!
build() {
@@ -105,7 +107,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.so* ${pkgdir}/usr/lib/samba/
install -d -m755 ${pkgdir}/usr/lib/pkgconfig
mv ${_pkgsrc}/usr/lib/pkgconfig/wbclient.pc ${pkgdir}/usr/lib/pkgconfig/
@@ -120,9 +122,9 @@ depends=('popt' 'cifs-utils' 'tdb' "libwbclient>=$pkgver" 'ldb'
'tevent' 'libgcrypt' 'python2' 'talloc' 'readline' 'gnutls'
'libbsd' 'libldap' 'libcups')
- _smbclient_bins=('smbclient' 'smbclient4' 'rpcclient' 'smbspool'
+ _smbclient_bins=('smbclient' 'rpcclient' 'smbspool'
'smbtree' 'smbcacls' 'smbcquotas' 'smbget' 'net'
- 'nmblookup' 'nmblookup4' 'smbtar')
+ 'nmblookup' 'smbtar')
# 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)
@@ -241,7 +243,8 @@ sys.path.insert(0, '/usr/lib/python${_pyver}/site-packages')" \
# copy ldap example
install -D -m644 ${srcdir}/samba-${_realver}/examples/LDAP/samba.schema ${pkgdir}/usr/share/doc/samba/examples/LDAP/samba.schema
}
-md5sums=('9f7bae123ed39d2aa9ba842d3a138d54'
+md5sums=('48df803c6c6c475a714cae82a2dc219e'
+ 'SKIP'
'5697da77590ec092cc8a883bae06093c'
'96f82c38f3f540b53f3e5144900acf17'
'ee4763a656cf00d92bfda31b6bb2c5cb'
diff --git a/abs/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch b/abs/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch
deleted file mode 100644
index cb2378a..0000000
--- a/abs/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 1ac743a7d0d20e16fc325749d593edaaed89d706 Mon Sep 17 00:00:00 2001
-From: Alexander Bokovoy <ab@samba.org>
-Date: Wed, 6 Feb 2013 10:17:57 +0200
-Subject: [PATCH] PIDL: fix parsing linemarkers in preprocessor output
-
-When PIDL calls out to C preprocessor to expand IDL files
-and parse the output, it filters out linemarkers and line control
-information as described in http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html
-and http://gcc.gnu.org/onlinedocs/cpp/Line-Control.html#Line-Control
-
-With gcc 4.8 stdc-predef.h is included automatically and linemarker for the
-file has extended flags that PIDL couldn't parse ('system header that needs to
-be extern "C" protected for C++')
-
-Thanks to Jakub Jelinek <jakub@redhat.com> for explanation of the linemarker format.
-
-Fixes https://bugzilla.redhat.com/show_bug.cgi?id=906517
-
-Reviewed-by: Andreas Schneider <asn@samba.org>
-(cherry picked from commit 6ba7ab5c14801aecae96373d5a9db7ab82957526)
-
-Signed-off-by: Andreas Schneider <asn@samba.org>
----
- pidl/idl.yp | 4 +++-
- pidl/lib/Parse/Pidl/IDL.pm | 4 +++-
- 2 files changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/pidl/idl.yp b/pidl/idl.yp
-index b5c5185..c8a65f6 100644
---- a/pidl/idl.yp
-+++ b/pidl/idl.yp
-@@ -610,7 +610,9 @@ again:
-
- for ($parser->YYData->{INPUT}) {
- if (/^\#/) {
-- if (s/^\# (\d+) \"(.*?)\"( \d+|)//) {
-+ # Linemarker format is described at
-+ # http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html
-+ if (s/^\# (\d+) \"(.*?)\"(( \d+){1,4}|)//) {
- $parser->YYData->{LINE} = $1-1;
- $parser->YYData->{FILE} = $2;
- goto again;
-diff --git a/pidl/lib/Parse/Pidl/IDL.pm b/pidl/lib/Parse/Pidl/IDL.pm
-index d4820ff..6927c89 100644
---- a/pidl/lib/Parse/Pidl/IDL.pm
-+++ b/pidl/lib/Parse/Pidl/IDL.pm
-@@ -2576,7 +2576,9 @@ again:
-
- for ($parser->YYData->{INPUT}) {
- if (/^\#/) {
-- if (s/^\# (\d+) \"(.*?)\"( \d+|)//) {
-+ # Linemarker format is described at
-+ # http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html
-+ if (s/^\# (\d+) \"(.*?)\"(( \d+){1,4}|)//) {
- $parser->YYData->{LINE} = $1-1;
- $parser->YYData->{FILE} = $2;
- goto again;
---
-1.8.1.1
-
diff --git a/abs/extra/sdl_sound/PKGBUILD b/abs/extra/sdl_sound/PKGBUILD
new file mode 100644
index 0000000..28ee210
--- /dev/null
+++ b/abs/extra/sdl_sound/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=sdl_sound
+pkgver=1.0.3
+pkgrel=5
+pkgdesc="A library to decode several popular sound file formats, such as .WAV and .MP3"
+arch=('i686' 'x86_64')
+url="http://icculus.org/SDL_sound/"
+license=('LGPL')
+depends=('sdl' 'libmikmod' 'libvorbis' 'flac' 'speex' 'smpeg')
+source=(http://icculus.org/SDL_sound/downloads/SDL_sound-$pkgver.tar.gz
+ flac.patch)
+md5sums=('aa09cd52df85d29bee87a664424c94b5'
+ '302aa9dc94cc71dd3339ca3177d36e1c')
+
+build() {
+ cd ${srcdir}/SDL_sound-${pkgver}
+
+ CFLAGS="$CFLAGS -I/usr/include/smpeg" \
+ CXXFLAGS="$CXXFLAGS -I/usr/include/smpeg" \
+ ./configure --prefix=/usr --disable-static
+
+ make
+}
+
+package() {
+ cd ${srcdir}/SDL_sound-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
+
diff --git a/abs/extra/sdl_sound/flac.patch b/abs/extra/sdl_sound/flac.patch
new file mode 100644
index 0000000..d0ed491
--- /dev/null
+++ b/abs/extra/sdl_sound/flac.patch
@@ -0,0 +1,126 @@
+diff -u -r SDL_sound-1.0.1/configure.in SDL_sound-1.0.1-flac/configure.in
+--- SDL_sound-1.0.1/configure.in 2003-10-12 20:49:54.000000000 +0200
++++ SDL_sound-1.0.1-flac/configure.in 2006-12-11 20:43:46.546583251 +0100
+@@ -155,9 +155,12 @@
+ dnl FLAC developers tend to break their API with every release, so we're
+ dnl checking for the latest-and-greatest here so we don't have to support
+ dnl obsolete versions.
++dnl Starting with FLAC 1.1.3:
++dnl libFLAC supports Ogg FLAC (no more libOggFLAC) so we also need -logg
++dnl the libFLAC .so version is also #defined in FLAC/export.h
+
+ dnl Hooray for shitty autoconf bugs!
+-x="C__seekable_stream_decoder_process_single"
++x="C__stream_decoder_process_single"
+ flcsym="FLA$x"
+ dnl Check for libFLAC
+ AC_ARG_ENABLE(flac,
+@@ -167,7 +170,7 @@
+ AC_CHECK_HEADER(FLAC/stream_decoder.h, have_flac_hdr=yes)
+ AC_CHECK_LIB(FLAC, $flcsym, have_flac_lib=yes)
+ if test x$have_flac_hdr = xyes -a x$have_flac_lib = xyes; then
+- LIBS="$LIBS -lFLAC"
++ LIBS="$LIBS -lFLAC -logg"
+ AC_DEFINE(SOUND_SUPPORTS_FLAC)
+ fi
+ fi
+diff -u -r SDL_sound-1.0.1/decoders/flac.c SDL_sound-1.0.1-flac/decoders/flac.c
+--- SDL_sound-1.0.1/decoders/flac.c 2003-03-10 23:44:14.000000000 +0100
++++ SDL_sound-1.0.1-flac/decoders/flac.c 2006-12-11 20:43:57.880097062 +0100
+@@ -44,6 +44,16 @@
+ #define __SDL_SOUND_INTERNAL__
+ #include "SDL_sound_internal.h"
+
++#include <FLAC/export.h>
++
++/* FLAC 1.1.3 has FLAC_API_VERSION_CURRENT == 8 */
++#if !defined(FLAC_API_VERSION_CURRENT) || FLAC_API_VERSION_CURRENT < 8
++#define LEGACY_FLAC
++#else
++#undef LEGACY_FLAC
++#endif
++
++#ifdef LEGACY_FLAC
+ #include <FLAC/seekable_stream_decoder.h>
+
+ #define D_END_OF_STREAM FLAC__SEEKABLE_STREAM_DECODER_END_OF_STREAM
+@@ -80,6 +90,34 @@
+ typedef FLAC__SeekableStreamDecoderSeekStatus d_seek_status_t;
+ typedef FLAC__SeekableStreamDecoderTellStatus d_tell_status_t;
+ typedef FLAC__SeekableStreamDecoderLengthStatus d_length_status_t;
++#else
++#include <FLAC/stream_decoder.h>
++
++#define D_END_OF_STREAM FLAC__STREAM_DECODER_END_OF_STREAM
++
++#define d_new() FLAC__stream_decoder_new()
++#define d_process_metadata(x) FLAC__stream_decoder_process_until_end_of_metadata(x)
++#define d_process_one_frame(x) FLAC__stream_decoder_process_single(x)
++#define d_get_state(x) FLAC__stream_decoder_get_state(x)
++#define d_finish(x) FLAC__stream_decoder_finish(x)
++#define d_delete(x) FLAC__stream_decoder_delete(x)
++
++typedef FLAC__StreamDecoder decoder_t;
++typedef FLAC__StreamDecoderReadStatus d_read_status_t;
++
++#define D_SEEK_STATUS_OK FLAC__STREAM_DECODER_SEEK_STATUS_OK
++#define D_SEEK_STATUS_ERROR FLAC__STREAM_DECODER_SEEK_STATUS_ERROR
++#define D_TELL_STATUS_OK FLAC__STREAM_DECODER_TELL_STATUS_OK
++#define D_TELL_STATUS_ERROR FLAC__STREAM_DECODER_TELL_STATUS_ERROR
++#define D_LENGTH_STATUS_OK FLAC__STREAM_DECODER_LENGTH_STATUS_OK
++#define D_LENGTH_STATUS_ERROR FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR
++
++#define d_seek_absolute(x, y) FLAC__stream_decoder_seek_absolute(x, y)
++
++typedef FLAC__StreamDecoderSeekStatus d_seek_status_t;
++typedef FLAC__StreamDecoderTellStatus d_tell_status_t;
++typedef FLAC__StreamDecoderLengthStatus d_length_status_t;
++#endif
+
+ #define D_WRITE_CONTINUE FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE
+ #define D_READ_END_OF_STREAM FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM
+@@ -141,9 +179,15 @@
+ } /* free_flac */
+
+
++#ifdef LEGACY_FLAC
+ static d_read_status_t read_callback(
+ const decoder_t *decoder, FLAC__byte buffer[],
+ unsigned int *bytes, void *client_data)
++#else
++static d_read_status_t read_callback(
++ const decoder_t *decoder, FLAC__byte buffer[],
++ size_t *bytes, void *client_data)
++#endif
+ {
+ flac_t *f = (flac_t *) client_data;
+ Uint32 retval;
+@@ -400,6 +444,7 @@
+ BAIL_MACRO(ERR_OUT_OF_MEMORY, 0);
+ } /* if */
+
++#ifdef LEGACY_FLAC
+ d_set_read_callback(decoder, read_callback);
+ d_set_write_callback(decoder, write_callback);
+ d_set_metadata_callback(decoder, metadata_callback);
+@@ -410,6 +455,7 @@
+ d_set_eof_callback(decoder, eof_callback);
+
+ d_set_client_data(decoder, f);
++#endif
+
+ f->rw = internal->rw;
+ f->sample = sample;
+@@ -418,7 +464,12 @@
+ f->is_flac = 0 /* !!! FIXME: should be "has_extension", not "0". */;
+
+ internal->decoder_private = f;
++ /* really should check the init return value here: */
++#ifdef LEGACY_FLAC
+ d_init(decoder);
++#else
++ FLAC__stream_decoder_init_stream(decoder, read_callback, seek_callback, tell_callback, length_callback, eof_callback, write_callback, metadata_callback, error_callback, f);
++#endif
+
+ sample->flags = SOUND_SAMPLEFLAG_NONE;
+
diff --git a/abs/extra/semver/PKGBUILD b/abs/extra/semver/PKGBUILD
new file mode 100644
index 0000000..0840974
--- /dev/null
+++ b/abs/extra/semver/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+
+pkgname=semver
+pkgver=5.1.0
+pkgrel=1
+pkgdesc='The semantic version parser used by npm.'
+arch=('any')
+url='https://github.com/npm/node-semver'
+license=('ISC')
+depends=('nodejs')
+makedepends=('npm')
+source=(http://registry.npmjs.org/$pkgname/-/$pkgname-$pkgver.tgz)
+noextract=($pkgname-$pkgver.tgz)
+md5sums=('45488e5d3a4008fee2dda2eaf002392c')
+
+package() {
+ npm install -g --user root --prefix "$pkgdir"/usr "$srcdir"/$pkgname-$pkgver.tgz
+ rm -r "$pkgdir"/usr/etc
+
+ install -d "$pkgdir"/usr/share/licenses/$pkgname
+ ln -s ../../../lib/node_modules/$pkgname/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/abs/extra/setconf/PKGBUILD b/abs/extra/setconf/PKGBUILD
new file mode 100644
index 0000000..9ba0fbb
--- /dev/null
+++ b/abs/extra/setconf/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id$
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+
+pkgname=setconf
+pkgver=0.6.7
+pkgrel=1
+pkgdesc='Utility for easily changing settings in configuration files'
+arch=('any')
+url='http://setconf.roboticoverlords.org/'
+license=('GPL2')
+depends=('python2')
+source=("http://setconf.roboticoverlords.org/$pkgname-$pkgver.tar.xz")
+sha256sums=('dcc38c2864c4a6d76d161a7aa34eb425f45ee4e7e76ad95050988b437750bb4f')
+
+package() {
+ cd "$pkgname-$pkgver"
+
+ install -Dm755 "$pkgname.py" "$pkgdir/usr/bin/$pkgname"
+ install -Dm644 "$pkgname.1.gz" "$pkgdir/usr/share/man/man1/$pkgname.1.gz"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/shellinabox/PKGBUILD b/abs/extra/shellinabox/PKGBUILD
index af3b4be..fc9a679 100644
--- a/abs/extra/shellinabox/PKGBUILD
+++ b/abs/extra/shellinabox/PKGBUILD
@@ -1,53 +1,38 @@
-# Contributor: Brian Moore <archlinux@cptl.org>
pkgname=shellinabox
-pkgver=2.14
-pkgrel=6
-pkgdesc="A web-based ssh client."
+pkgver=2.19
+pkgrel=1
+_pkghash=master
+pkgdesc="Implementation of a web server that can export arbitrary command line tools to a web based terminal emulator"
arch=('i686' 'x86_64')
url="http://shellinabox.com/"
license=('GPL2')
-depends=('runit-scripts>=8.0-2')
-optdepends=('openssh: SSL support')
-makedepends=(openssh)
+depends=('runit-scripts>=8.0-2' 'openssh')
install=shellinaboxd.install
-backup=('etc/conf.d/shellinaboxd')
-source=("http://shellinabox.googlecode.com/files/$pkgname-$pkgver.tar.gz" "shellinaboxd.rc.d" "shellinaboxd.conf.d" "shellinaboxd.service"
- "shellinaboxd.include" "shellinaboxd.gen_light_conf.d")
-
-prepare() {
- cd "$srcdir/$pkgname-$pkgver"
- sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" configure
-}
+source=("https://github.com/shellinabox/shellinabox/archive/${_pkghash}.tar.gz"
+ "shellinaboxd.include"
+ "shellinaboxd.gen_light_conf.d")
build() {
- cd "$srcdir/$pkgname-$pkgver"
+ cd "$srcdir/$pkgname-${_pkghash}"
#change default to show onscreen keyboard
- sed -i "s/this.softKeyboard = false;/this.softKeyboard = true;/g" ./shellinabox/vt100.js
sed -i "s/this.softKeyboard = false;/this.softKeyboard = true;/g" ./shellinabox/vt100.jspp
+ autoreconf -i
+ export CPPFLAGS="${CPPFLAGS/-D_FORTIFY_SOURCE=2/}"
./configure --prefix=/usr
-
make
}
package() {
- cd "$srcdir/$pkgname-$pkgver"
+ cd "$srcdir/$pkgname-${_pkghash}"
make DESTDIR=$pkgdir install || return 1
- install -Dm755 $srcdir/shellinaboxd.rc.d $pkgdir/etc/rc.d/shellinaboxd
- install -D -m644 $srcdir/shellinaboxd.service $pkgdir/usr/lib/systemd/system/shellinaboxd.service
- install -Dm644 $srcdir/shellinaboxd.conf.d $pkgdir/etc/conf.d/shellinaboxd
- install -dm700 -o nobody $pkgdir/var/lib/shellinabox
-
#install conf files for lighttpd
mkdir -p ${pkgdir}/etc/lighttpd
install -D -m 644 ${srcdir}/shellinaboxd.include ${pkgdir}/etc/lighttpd/
#gen_light_conf
install -D -m 744 ${srcdir}/shellinaboxd.gen_light_conf.d ${pkgdir}/etc/gen_light_conf.d/shellinaboxd.conf
}
-md5sums=('6c63b52edcebc56ee73a108e7211d174'
- 'feea22575089cc7eb4925b1daff88b8c'
- '77e487f36da2abe51251500f4a1e024f'
- 'be649866d06ba497d88bb14f3e58f862'
+md5sums=('7b7d178a2ec5b63f2b31b2869aa7b755'
'dd46ab61bfafdb56ea705a876963550e'
'aadd1edf4110aca2d16d806791e90019')
diff --git a/abs/extra/shellinabox/__changelog b/abs/extra/shellinabox/__changelog
index d0d35bb..9022771 100644
--- a/abs/extra/shellinabox/__changelog
+++ b/abs/extra/shellinabox/__changelog
@@ -1,3 +1,6 @@
+9/16/2015
+PKGBUILD: AUR changed so this no longer is similar
+
#8/13/2013
initial inclusion from AUR v2.14-3
add dep of runit-scripts to PKGBUILD
diff --git a/abs/extra/shellinabox/shellinaboxd.conf.d b/abs/extra/shellinabox/shellinaboxd.conf.d
deleted file mode 100644
index 646bab7..0000000
--- a/abs/extra/shellinabox/shellinaboxd.conf.d
+++ /dev/null
@@ -1,5 +0,0 @@
-#
-# Parameters to be passed to shellinaboxd
-#
-SHELLINABOXD_ARGS="-t -b"
-
diff --git a/abs/extra/shellinabox/shellinaboxd.rc.d b/abs/extra/shellinabox/shellinaboxd.rc.d
deleted file mode 100644
index 3399945..0000000
--- a/abs/extra/shellinabox/shellinaboxd.rc.d
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/bash
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-SHELLINABOXD_ARGS=
-[ -f /etc/conf.d/shellinaboxd ] && . /etc/conf.d/shellinaboxd
-
-PID=`pidof -o %PPID /usr/bin/shellinaboxd`
-case "$1" in
- start)
- stat_busy "Starting SHELLINABOXD"
- [ -z "$PID" ] && /usr/bin/shellinaboxd ${SHELLINABOXD_ARGS}
- if [ $? -gt 0 ]; then
- stat_fail
- else
- add_daemon shellinaboxd
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping SHELLINABOXD"
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon shellinboxd
- stat_done
- fi
- ;;
- restart)
- $0 stop
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
-exit 0
-
diff --git a/abs/extra/shellinabox/shellinaboxd.service b/abs/extra/shellinabox/shellinaboxd.service
deleted file mode 100644
index d92065b..0000000
--- a/abs/extra/shellinabox/shellinaboxd.service
+++ /dev/null
@@ -1,17 +0,0 @@
-[Unit]
-Description=Serve a login-terminal over http on port 4200.
-Required=sshd.service
-After=sshd.service
-
-[Service]
-User=root
-Type=forking
-EnvironmentFile=/etc/conf.d/shellinaboxd
-ExecStart=/usr/bin/shellinaboxd $SHELLINABOXD_ARGS
-ExecReload=/bin/kill -HUP $MAINPID
-KillMode=process
-Restart=on-abort
-
-[Install]
-WantedBy=multi-user.target
-
diff --git a/abs/extra/smartmontools/PKGBUILD b/abs/extra/smartmontools/PKGBUILD
index 685750d..e167856 100644
--- a/abs/extra/smartmontools/PKGBUILD
+++ b/abs/extra/smartmontools/PKGBUILD
@@ -1,23 +1,23 @@
-# $Id: PKGBUILD 219339 2014-08-05 17:28:35Z giovanni $
+# $Id$
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Jeff Mickey <jeff@archlinux.org>
# Contributor: Jani Talikka <jani.talikka@gmail.com>
# Contributor: Ralf Barth <archlinux.org@haggy.org>
pkgname=smartmontools
-pkgver=6.3
+pkgver=6.4
pkgrel=1
pkgdesc="Control and monitor S.M.A.R.T. enabled ATA and SCSI Hard Drives"
url="http://smartmontools.sourceforge.net"
license=('GPL')
arch=('i686' 'x86_64')
depends=('gcc-libs' 'libcap-ng' 'bash')
-optdepends=('heirloom-mailx: to get mail alerts to work')
+optdepends=('s-nail: to get mail alerts to work')
backup=('etc/smartd.conf'
'etc/conf.d/smartd')
source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz"
'smartd.conf')
-md5sums=('2ea0c62206e110192a97b59291b17f54'
+md5sums=('56812c8312fd123ed40ef65afde1049e'
'28c1b80c41dac52d433961dcfb4f70e0')
build() {
@@ -28,7 +28,10 @@ build() {
--sysconfdir=/etc \
--enable-drivedb \
--with-libcap-ng=yes \
- --with-systemdsystemunitdir=/usr/lib/systemd/system
+ --with-systemdsystemunitdir=/usr/lib/systemd/system \
+ --with-smartdscriptdir=/usr/share/smartmontools \
+ --with-smartdplugindir=/usr/share/smartmontools/smartd_warning.d
+
make
}
diff --git a/abs/extra/swig/PKGBUILD b/abs/extra/swig/PKGBUILD
index e7f9994..986a229 100644
--- a/abs/extra/swig/PKGBUILD
+++ b/abs/extra/swig/PKGBUILD
@@ -1,37 +1,33 @@
-# $Id: PKGBUILD 163234 2012-07-11 16:22:59Z stephane $
-# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=swig
-pkgver=2.0.7
-pkgrel=2
+pkgver=3.0.8
+pkgrel=1
pkgdesc="Generate scripting interfaces to C/C++ code"
arch=('i686' 'x86_64')
url="http://www.swig.org/"
license=('custom')
-depends=('zlib' 'pcre')
-source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz
- pyint_fromsize_t.diff
- upstream_r13128.diff)
-sha1sums=('307020fb6437092e32c9c1bd9af8bccb1645b529'
- '59ee179b57920d255c58afe45632b896e40b5b7d'
- '8f0c5ae6a46c22606cc88c649bfd0a31f061a963')
+depends=('pcre' 'gcc-libs')
+checkdepends=('ruby' 'python2' 'java-environment' 'tcl' 'php' 'lua' 'ocaml' 'r' 'go' 'python2-cffi' 'camlp4')
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz)
+sha1sums=('1f45e96219536b3423b8d4dbd03614ffccca9c33')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- # FS#30624
- patch -Np1 -i ../pyint_fromsize_t.diff
-
- # Fix call to Swig_name_decl
- patch -Np1 -i ../upstream_r13128.diff
-
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr
make
}
+check() {
+ cd ${pkgname}-${pkgver}
+ make check || warning "Tests failed"
+}
+
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
install -D -m644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
install -D -m644 LICENSE-UNIVERSITIES "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE-UNIVERSITIES
diff --git a/abs/extra/swig/pyint_fromsize_t.diff b/abs/extra/swig/pyint_fromsize_t.diff
deleted file mode 100644
index 1c7727a..0000000
--- a/abs/extra/swig/pyint_fromsize_t.diff
+++ /dev/null
@@ -1,18 +0,0 @@
-Description: Py3k: Map PyInt_FromSize_t to PyLong_FromSize_t
- The latest SWIG version introduced a usage of PyInt_FromSize_t, but
- does not define a compatibility macro for Python 3k as for the other
- PyInt_... functions. This patch adds that macro.
-
-Author: Torsten Landschoff <torsten@debian.org>
-
-
---- swig2.0-2.0.7.orig/Lib/python/pyhead.swg
-+++ swig2.0-2.0.7/Lib/python/pyhead.swg
-@@ -5,6 +5,7 @@
- #define PyInt_Check(x) PyLong_Check(x)
- #define PyInt_AsLong(x) PyLong_AsLong(x)
- #define PyInt_FromLong(x) PyLong_FromLong(x)
-+#define PyInt_FromSize_t(x) PyLong_FromSize_t(x)
- #define PyString_Check(name) PyBytes_Check(name)
- #define PyString_FromString(x) PyUnicode_FromString(x)
- #define PyString_Format(fmt, args) PyUnicode_Format(fmt, args)
diff --git a/abs/extra/swig/upstream_r13128.diff b/abs/extra/swig/upstream_r13128.diff
deleted file mode 100644
index d7d74d7..0000000
--- a/abs/extra/swig/upstream_r13128.diff
+++ /dev/null
@@ -1,73 +0,0 @@
-From: Klaus Kämpf <kkaempf@suse.de>
-Subject: Fix call to Swig_name_decl (upstream ID 3530078)
-
-Origin: upstream, http://swig.svn.sourceforge.net/viewvc/swig?view=revision&revision=13128
-Bug: http://sourceforge.net/tracker/?func=detail&aid=3530078&group_id=1645&atid=101645
-Bug-Debian: http://bugs.debian.org/675196
----
- Examples/test-suite/errors/expected.log | 26 +++++++++++++-------------
- Source/Modules/lang.cxx | 4 ++--
- 2 files changed, 15 insertions(+), 15 deletions(-)
-
---- a/Source/Modules/lang.cxx
-+++ b/Source/Modules/lang.cxx
-@@ -2623,7 +2623,7 @@ int Language::constructorDeclaration(Nod
- Delete(expected_name_resolved);
- }
- if (illegal_name) {
-- Swig_warning(WARN_LANG_RETURN_TYPE, input_file, line_number, "Function %s must have a return type. Ignored.\n", Swig_name_decl(name));
-+ Swig_warning(WARN_LANG_RETURN_TYPE, input_file, line_number, "Function %s must have a return type. Ignored.\n", Swig_name_decl(n));
- Swig_restore(n);
- return SWIG_NOWRAP;
- }
-@@ -2760,7 +2760,7 @@ int Language::destructorDeclaration(Node
- }
-
- if (illegal_name) {
-- Swig_warning(WARN_LANG_ILLEGAL_DESTRUCTOR, input_file, line_number, "Illegal destructor name %s. Ignored.\n", Swig_name_decl(name));
-+ Swig_warning(WARN_LANG_ILLEGAL_DESTRUCTOR, input_file, line_number, "Illegal destructor name %s. Ignored.\n", Swig_name_decl(n));
- Swig_restore(n);
- Delete(expected_name);
- return SWIG_NOWRAP;
---- a/Examples/test-suite/errors/expected.log
-+++ b/Examples/test-suite/errors/expected.log
-@@ -227,17 +227,17 @@ cpp_extend_destructors.i:87: Warning 302
- cpp_extend_destructors.i:85: Warning 302: previous definition of '~JStruct'.
- cpp_extend_destructors.i:100: Warning 302: Identifier '~LStruct' redefined (ignored),
- cpp_extend_destructors.i:98: Warning 302: previous definition of '~LStruct'.
--cpp_extend_destructors.i:24: Warning 521: Illegal destructor name ~NOT_CStruct. Ignored.
--cpp_extend_destructors.i:30: Warning 521: Illegal destructor name ~NOT_DStruct. Ignored.
--cpp_extend_destructors.i:44: Warning 521: Illegal destructor name ~NOT_EStruct. Ignored.
--cpp_extend_destructors.i:50: Warning 521: Illegal destructor name ~NOT_FStruct. Ignored.
--cpp_extend_destructors.i:65: Warning 521: Illegal destructor name ~NOT_GStruct. Ignored.
--cpp_extend_destructors.i:72: Warning 521: Illegal destructor name ~NOT_HStruct. Ignored.
--cpp_extend_destructors.i:81: Warning 521: Illegal destructor name ~NOT_IStruct. Ignored.
--cpp_extend_destructors.i:86: Warning 521: Illegal destructor name ~NOT_JStruct. Ignored.
--cpp_extend_destructors.i:92: Warning 521: Illegal destructor name ~NOT_KStruct. Ignored.
--cpp_extend_destructors.i:99: Warning 521: Illegal destructor name ~NOT_LStruct< int >. Ignored.
--cpp_extend_destructors.i:99: Warning 521: Illegal destructor name ~NOT_LStruct< short >. Ignored.
-+cpp_extend_destructors.i:24: Warning 521: Illegal destructor name CStruct::~NOT_CStruct(). Ignored.
-+cpp_extend_destructors.i:30: Warning 521: Illegal destructor name DStruct::~NOT_DStruct(). Ignored.
-+cpp_extend_destructors.i:44: Warning 521: Illegal destructor name EStruct::~NOT_EStruct(). Ignored.
-+cpp_extend_destructors.i:50: Warning 521: Illegal destructor name FStruct::~NOT_FStruct(). Ignored.
-+cpp_extend_destructors.i:65: Warning 521: Illegal destructor name GStruct::~NOT_GStruct(). Ignored.
-+cpp_extend_destructors.i:72: Warning 521: Illegal destructor name HStruct::~NOT_HStruct(). Ignored.
-+cpp_extend_destructors.i:81: Warning 521: Illegal destructor name IStruct::~NOT_IStruct(). Ignored.
-+cpp_extend_destructors.i:86: Warning 521: Illegal destructor name JStruct::~NOT_JStruct(). Ignored.
-+cpp_extend_destructors.i:92: Warning 521: Illegal destructor name KStruct::~NOT_KStruct(). Ignored.
-+cpp_extend_destructors.i:99: Warning 521: Illegal destructor name LStruct< int >::~NOT_LStruct(). Ignored.
-+cpp_extend_destructors.i:99: Warning 521: Illegal destructor name LStruct< short >::~NOT_LStruct(). Ignored.
-
- :::::::::::::::::::::::::::::::: cpp_extend_redefine.i :::::::::::::::::::::::::::::::::::
- cpp_extend_redefine.i:9: Warning 302: Identifier 'bar' redefined by %extend (ignored),
-@@ -312,8 +312,8 @@ cpp_nested.i:12: Warning 325: Nested cla
- cpp_no_access.i:3: Warning 319: No access specifier given for base class 'foo' (ignored).
-
- :::::::::::::::::::::::::::::::: cpp_no_return_type.i :::::::::::::::::::::::::::::::::::
--cpp_no_return_type.i:6: Warning 504: Function R must have a return type. Ignored.
--cpp_no_return_type.i:10: Warning 504: Function UU must have a return type. Ignored.
-+cpp_no_return_type.i:6: Warning 504: Function S::R() must have a return type. Ignored.
-+cpp_no_return_type.i:10: Warning 504: Function U::UU() must have a return type. Ignored.
-
- :::::::::::::::::::::::::::::::: cpp_nobase.i :::::::::::::::::::::::::::::::::::
- cpp_nobase.i:3: Warning 401: Nothing known about base class 'Bar'. Ignored.
diff --git a/abs/extra/tevent/PKGBUILD b/abs/extra/tevent/PKGBUILD
index c9dcc03..11c1a6d 100644
--- a/abs/extra/tevent/PKGBUILD
+++ b/abs/extra/tevent/PKGBUILD
@@ -6,8 +6,8 @@
# Contributor: Thomas Burdick <thomas.burdick@gmail.com>
pkgname=tevent
-pkgver=0.9.21
-pkgrel=2
+pkgver=0.9.26
+pkgrel=1
pkgdesc="An event system based on the talloc memory management library"
arch=('i686' 'x86_64')
url="https://tevent.samba.org/"
@@ -24,7 +24,9 @@ build() {
sed -i -e "s|/usr/bin/env python$|/usr/bin/env python2|" buildtools/bin/waf
export PYTHON=/usr/bin/python2
- ./configure --prefix=/usr
+ ./configure --prefix=/usr \
+ --bundled-libraries=NONE \
+ --builtin-libraries=replace
}
package() {
@@ -33,4 +35,4 @@ package() {
make
make DESTDIR=${pkgdir}/ install
}
-md5sums=('3d5a76c0a1b5f724842d785fd055633f')
+md5sums=('22c372f3d936d751271f588ab71f829b')
diff --git a/abs/extra/tig/PKGBUILD b/abs/extra/tig/PKGBUILD
index edc023b..4db741d 100644
--- a/abs/extra/tig/PKGBUILD
+++ b/abs/extra/tig/PKGBUILD
@@ -1,10 +1,10 @@
-# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Maintainer: Lukas Fleischer <lfleischer at archlinux dot 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.0.1
+pkgver=2.1.1
pkgrel=1
pkgdesc='Text-mode interface for Git.'
depends=('git' 'ncurses')
@@ -14,7 +14,7 @@ license=('GPL')
arch=('i686' 'x86_64')
backup=('etc/tigrc')
source=("http://jonas.nitro.dk/${pkgname}/releases/${pkgname}-${pkgver}.tar.gz")
-md5sums=('e0b3bc47b8c2c1e556ae953c0b30faab')
+md5sums=('d6eb13d31319d57a3f726d8238f8ebc0')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/abs/extra/tigervnc/PKGBUILD b/abs/extra/tigervnc/PKGBUILD
index 21d3013..6d5da40 100644
--- a/abs/extra/tigervnc/PKGBUILD
+++ b/abs/extra/tigervnc/PKGBUILD
@@ -1,56 +1,64 @@
-# $Id: PKGBUILD 73952 2012-07-17 11:36:12Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Uroš Vampl <mobile.leecher at gmail dot com>
pkgname=tigervnc
-pkgver=1.2.0
-pkgrel=7
-_xorgver=1.12.3
-pkgdesc="suite of VNC servers and clients. VNC 4 branch of TightVNC."
+pkgver=1.6.0
+pkgrel=1
+_xorgver=1.18.0
+pkgdesc="Suite of VNC servers and clients. Based on the VNC 4 branch of TightVNC."
arch=('i686' 'x86_64')
url="http://www.tigervnc.org"
license=('GPL')
-depends=('pam' 'gnutls' 'libjpeg-turbo' 'libxft' 'libxinerama' 'libxcursor'
- 'libxtst' 'libxfont' 'pixman' 'xorg-xauth' 'xorg-xsetroot'
- 'xkeyboard-config' 'libgl' 'libgcrypt' 'perl')
+depends=('fltk' 'pam' 'gnutls' 'libjpeg-turbo' 'libxtst' 'libxfont' 'pixman'
+ 'xorg-xauth' 'xorg-xsetroot' 'xkeyboard-config' 'xorg-xkbcomp'
+ 'libgl' 'libgcrypt' 'perl' 'libxdamage')
makedepends=('cmake' 'nasm' 'xorg-font-util' 'xorg-util-macros' 'bigreqsproto'
'compositeproto' 'damageproto' 'randrproto' 'resourceproto'
'scrnsaverproto' 'videoproto' 'xcmiscproto' 'xf86vidmodeproto'
- 'xtrans' 'mesa')
-options=(!libtool)
-install=tiger.install
+ 'xtrans' 'glproto' 'dri2proto' 'dri3proto' 'presentproto'
+ 'mesa' 'imagemagick')
+optdepends=('mesa: for OpenGL functionality in Xvnc')
conflicts=('tightvnc')
-source=(http://downloads.sourceforge.net/tigervnc/${pkgname}-${pkgver}.tar.gz
+source=($pkgname-$pkgver.tar.gz::https://github.com/TigerVNC/tigervnc/archive/v${pkgver}.tar.gz
ftp://ftp.freedesktop.org/pub/xorg/individual/xserver/xorg-server-${_xorgver}.tar.bz2
- xorg111.patch
- xorg112.patch
- gnutls.patch
+ vncserver.service
+ vncviewer.desktop
gethomedir.patch
- cmakelists.patch vncsvc.rules)
+ xorg118.patch)
+md5sums=('78b736445781d86c48e942465a391ccc'
+ '3c1c1057d3ad27380d8dd87ffcc182cd'
+ '1aad8f06504b3e29a24ccfbaab617973'
+ 'b200d83c60e80c6f9693ea19a2d9f5b0'
+ '22f1523a0eca56ad79cfabd0db6e2cf6'
+ '2fd32181679077eb7f7ca06cf25f443f')
-build() {
+prepare() {
cd ${srcdir}/${pkgname}-${pkgver}
- cp -r ${srcdir}/xorg-server-${_xorgver}/* unix/xserver
- patch -Np1 -i ${srcdir}/gnutls.patch
+ patch -Np1 -i ${srcdir}/xorg118.patch
patch -Np1 -i ${srcdir}/gethomedir.patch
- patch -Np1 -i ${srcdir}/cmakelists.patch
- patch -Np1 -i ${srcdir}/xorg111.patch
- patch -Np1 -i ${srcdir}/xorg112.patch
+ sed -i 's/iconic/nowin/' unix/vncserver
+
+ cd unix/xserver
+ cp -r ${srcdir}/xorg-server-${_xorgver}/* .
+ patch -Np1 -i ../xserver117.patch
+}
- cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr -DUSE_INCLUDED_FLTK=yes
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr
make
cd unix/xserver
- patch -Np1 -i ../xserver110.patch
autoreconf -fiv
./configure --prefix=/usr \
- --disable-static --disable-xinerama --without-dtrace \
+ --disable-static --without-dtrace \
--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \
- --disable-xwin --disable-xephyr --disable-kdrive --with-pic \
- --disable-config-dbus --disable-config-hal --disable-config-udev \
- --disable-unit-tests --disable-devel-docs --disable-dri \
- --enable-dri2 --enable-glx --enable-glx-tls
+ --disable-xwin --disable-xephyr --disable-kdrive --disable-xwayland \
+ --disable-config-hal --disable-config-udev --with-pic \
+ --disable-unit-tests --disable-devel-docs --disable-selective-werror \
+ --disable-dri --enable-dri2 --enable-dri3 --enable-glx --enable-glx-tls
make
}
@@ -59,23 +67,8 @@ package() {
make DESTDIR=${pkgdir} install
cd unix/xserver/hw/vnc
make DESTDIR=${pkgdir} install
- sed -i 's/iconic/nowin/' ${pkgdir}/usr/bin/vncserver
-
- cd ${srcdir}
- #sudo rules
- mkdir -p $startdir/pkg/etc/sudoers.d/
- chmod 750 $startdir/pkg/etc/sudoers.d/
- chown -R root:root $startdir/pkg/etc/sudoers.d
- install -o root -g root -m 0750 vncsvc.rules $startdir/pkg/etc/sudoers.d/vncsvc-tigervnc
-
-
-
+ install -Dm0644 ${srcdir}/${pkgname}-${pkgver}/contrib/systemd/user/vncserver@.service \
+ $pkgdir/usr/lib/systemd/user/vncserver@.service
+ install -Dm0644 $srcdir/vncserver.service $pkgdir/usr/lib/systemd/system/vncserver.service
+ install -Dm0644 $srcdir/vncviewer.desktop $pkgdir/usr/share/applications/vncviewer.desktop
}
-md5sums=('3a5755b4ed600a81c3a17976c6f8420d'
- '65a53b11bc01dcc97ee9b201dc620c32'
- 'b680b55f7f9f569cd26ac0b330012a8b'
- 'f73e055153889ae7b5aac8e697f7a841'
- '1a5fe8867ab3e49e20aafc70c415494f'
- 'fa059baabe72308bf82622bca73cb3e0'
- '6ef923c71cc0e79c4b37eb3b124eea75'
- '6f4a594581e63bfb29cd1b7b37d66d10')
diff --git a/abs/extra/tigervnc/cmakelists.patch b/abs/extra/tigervnc/cmakelists.patch
deleted file mode 100644
index cc62866..0000000
--- a/abs/extra/tigervnc/cmakelists.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-diff -ur tigervnc-1.2.0.orig/cmake/BuildPackages.cmake tigervnc-1.2.0/cmake/BuildPackages.cmake
---- tigervnc-1.2.0.orig/cmake/BuildPackages.cmake 2011-11-08 10:16:36.000000000 +0100
-+++ tigervnc-1.2.0/cmake/BuildPackages.cmake 2012-03-30 15:27:00.808919876 +0200
-@@ -86,5 +86,5 @@
- # Common
- #
-
--install(FILES ${CMAKE_SOURCE_DIR}/LICENCE.TXT DESTINATION doc)
--install(FILES ${CMAKE_SOURCE_DIR}/README.txt DESTINATION doc)
-+install(FILES ${CMAKE_SOURCE_DIR}/LICENCE.TXT DESTINATION share/doc/${CMAKE_PROJECT_NAME}-${VERSION})
-+install(FILES ${CMAKE_SOURCE_DIR}/README.txt DESTINATION share/doc/${CMAKE_PROJECT_NAME}-${VERSION})
-diff -ur tigervnc-1.2.0.orig/CMakeLists.txt tigervnc-1.2.0/CMakeLists.txt
---- tigervnc-1.2.0.orig/CMakeLists.txt 2012-03-09 21:34:29.000000000 +0100
-+++ tigervnc-1.2.0/CMakeLists.txt 2012-03-30 15:28:59.716911575 +0200
-@@ -316,7 +316,8 @@
- if(APPLE)
- set(FLTK_LIBRARIES "-framework Carbon -framework Cocoa -framework ApplicationServices")
- elseif(NOT WIN32)
-- set(FLTK_LIBRARIES "-ldl")
-+ find_library(FONTCONFIG_LIB fontconfig)
-+ set(FLTK_LIBRARIES "-ldl" ${FONTCONFIG_LIB})
- endif()
- message(STATUS "Using included FLTK library")
- endif()
-diff -ur tigervnc-1.2.0.orig/unix/CMakeLists.txt tigervnc-1.2.0/unix/CMakeLists.txt
---- tigervnc-1.2.0.orig/unix/CMakeLists.txt 2011-11-03 20:01:18.000000000 +0100
-+++ tigervnc-1.2.0/unix/CMakeLists.txt 2012-03-30 15:27:00.808919876 +0200
-@@ -5,4 +5,4 @@
- add_subdirectory(x0vncserver)
-
- install(PROGRAMS vncserver DESTINATION bin)
--install(FILES vncserver.man DESTINATION man/man1 RENAME vncserver.1)
-+install(FILES vncserver.man DESTINATION share/man/man1 RENAME vncserver.1)
-diff -ur tigervnc-1.2.0.orig/unix/vncconfig/CMakeLists.txt tigervnc-1.2.0/unix/vncconfig/CMakeLists.txt
---- tigervnc-1.2.0.orig/unix/vncconfig/CMakeLists.txt 2011-06-25 09:32:34.000000000 +0200
-+++ tigervnc-1.2.0/unix/vncconfig/CMakeLists.txt 2012-03-30 15:27:00.808919876 +0200
-@@ -12,4 +12,4 @@
- target_link_libraries(vncconfig tx rfb network rdr ${X11_LIBRARIES})
-
- install(TARGETS vncconfig DESTINATION bin)
--install(FILES vncconfig.man DESTINATION man/man1 RENAME vncconfig.1)
-+install(FILES vncconfig.man DESTINATION share/man/man1 RENAME vncconfig.1)
-diff -ur tigervnc-1.2.0.orig/unix/vncpasswd/CMakeLists.txt tigervnc-1.2.0/unix/vncpasswd/CMakeLists.txt
---- tigervnc-1.2.0.orig/unix/vncpasswd/CMakeLists.txt 2011-06-25 09:32:34.000000000 +0200
-+++ tigervnc-1.2.0/unix/vncpasswd/CMakeLists.txt 2012-03-30 15:27:00.808919876 +0200
-@@ -6,4 +6,4 @@
- target_link_libraries(vncpasswd tx rfb rdr os)
-
- install(TARGETS vncpasswd DESTINATION bin)
--install(FILES vncpasswd.man DESTINATION man/man1 RENAME vncpasswd.1)
-+install(FILES vncpasswd.man DESTINATION share/man/man1 RENAME vncpasswd.1)
-diff -ur tigervnc-1.2.0.orig/unix/x0vncserver/CMakeLists.txt tigervnc-1.2.0/unix/x0vncserver/CMakeLists.txt
---- tigervnc-1.2.0.orig/unix/x0vncserver/CMakeLists.txt 2011-08-19 18:41:06.000000000 +0200
-+++ tigervnc-1.2.0/unix/x0vncserver/CMakeLists.txt 2012-03-30 15:27:00.809919874 +0200
-@@ -24,4 +24,4 @@
- endif()
-
- install(TARGETS x0vncserver DESTINATION bin)
--install(FILES x0vncserver.man DESTINATION man/man1 RENAME x0vncserver.1)
-+install(FILES x0vncserver.man DESTINATION share/man/man1 RENAME x0vncserver.1)
-diff -ur tigervnc-1.2.0.orig/vncviewer/CMakeLists.txt tigervnc-1.2.0/vncviewer/CMakeLists.txt
---- tigervnc-1.2.0.orig/vncviewer/CMakeLists.txt 2011-10-05 11:32:28.000000000 +0200
-+++ tigervnc-1.2.0/vncviewer/CMakeLists.txt 2012-03-30 15:27:00.809919874 +0200
-@@ -55,5 +55,5 @@
- install(TARGETS vncviewer DESTINATION bin)
- endif()
- if(UNIX)
-- install(FILES vncviewer.man DESTINATION man/man1 RENAME vncviewer.1)
-+ install(FILES vncviewer.man DESTINATION share/man/man1 RENAME vncviewer.1)
- endif()
diff --git a/abs/extra/tigervnc/gethomedir.patch b/abs/extra/tigervnc/gethomedir.patch
index 9114eea..5f3542d 100644
--- a/abs/extra/tigervnc/gethomedir.patch
+++ b/abs/extra/tigervnc/gethomedir.patch
@@ -1,16 +1,20 @@
---- tigervnc-1.0.90/unix/xserver/hw/vnc/Makefile.am~ 2011-04-20 13:46:16.993047050 +0200
-+++ tigervnc-1.0.90/unix/xserver/hw/vnc/Makefile.am 2011-04-20 14:03:35.942724608 +0200
-@@ -1,11 +1,12 @@
- TIGERVNC_SRCDIR=${top_srcdir}/../..
- LIB_DIR=${top_builddir}/../../common
-
-+OS_LIB=$(LIB_DIR)/os/libos.a
- RFB_LIB=$(LIB_DIR)/rfb/librfb.la
+diff -ur tigervnc-1.2.0.orig/unix/xserver/hw/vnc/Makefile.am tigervnc-1.2.0/unix/xserver/hw/vnc/Makefile.am
+--- tigervnc-1.2.0.orig/unix/xserver/hw/vnc/Makefile.am 2011-10-31 09:14:40.000000000 +0100
++++ tigervnc-1.2.0/unix/xserver/hw/vnc/Makefile.am 2012-09-06 19:44:04.431123087 +0200
+@@ -5,6 +5,7 @@
RDR_LIB=$(LIB_DIR)/rdr/librdr.la
NETWORK_LIB=$(LIB_DIR)/network/libnetwork.la
XREGION_LIB=$(LIB_DIR)/Xregion/libXregion.la
--COMMON_LIBS=$(NETWORK_LIB) $(RFB_LIB) $(RDR_LIB) $(XREGION_LIB)
-+COMMON_LIBS=$(NETWORK_LIB) $(OS_LIB) $(RFB_LIB) $(RDR_LIB) $(XREGION_LIB)
++OS_LIB=$(LIB_DIR)/os/libos.la
+ COMMON_LIBS=$(NETWORK_LIB) $(RFB_LIB) $(RDR_LIB) $(XREGION_LIB)
noinst_LTLIBRARIES = libvnccommon.la
+@@ -55,7 +56,7 @@
+
+ libvnc_la_LDFLAGS = -module -avoid-version
+
+-libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS)
++libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS) $(OS_LIB)
+
+ EXTRA_DIST = Xvnc.man
diff --git a/abs/extra/tigervnc/gnutls.patch b/abs/extra/tigervnc/gnutls.patch
deleted file mode 100644
index d0b7ef8..0000000
--- a/abs/extra/tigervnc/gnutls.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -ur tigervnc-1.2.0.orig/CMakeLists.txt tigervnc-1.2.0/CMakeLists.txt
---- tigervnc-1.2.0.orig/CMakeLists.txt 2012-03-09 21:34:29.000000000 +0100
-+++ tigervnc-1.2.0/CMakeLists.txt 2012-03-27 23:14:12.292068145 +0200
-@@ -344,7 +344,7 @@
- # system's version (if available) to perform this test.
- set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES};-lz)
- endif()
-- check_function_exists(gnutls_transport_set_global_errno HAVE_OLD_GNUTLS)
-+ check_function_exists(gnutls_transport_set_global_errno HAVE_GNUTLS_GLOBAL_ERRNO)
- check_function_exists(gnutls_x509_crt_print HAVE_GNUTLS_X509_CRT_PRINT)
- check_type_size(gnutls_x509_crt_t GNUTLS_X509_CRT_T)
- check_type_size(gnutls_datum_t GNUTLS_DATUM_T)
-diff -ur tigervnc-1.2.0.orig/common/rdr/TLSInStream.cxx tigervnc-1.2.0/common/rdr/TLSInStream.cxx
---- tigervnc-1.2.0.orig/common/rdr/TLSInStream.cxx 2010-09-30 08:25:28.000000000 +0200
-+++ tigervnc-1.2.0/common/rdr/TLSInStream.cxx 2012-03-27 23:14:11.166068223 +0200
-@@ -27,7 +27,7 @@
- #include <rdr/TLSInStream.h>
- #include <errno.h>
-
--#ifdef HAVE_OLD_GNUTLS
-+#ifndef HAVE_GNUTLS_GLOBAL_ERRNO
- #define gnutls_transport_set_global_errno(A) do { errno = (A); } while(0)
- #endif
-
-diff -ur tigervnc-1.2.0.orig/common/rdr/TLSOutStream.cxx tigervnc-1.2.0/common/rdr/TLSOutStream.cxx
---- tigervnc-1.2.0.orig/common/rdr/TLSOutStream.cxx 2010-09-30 08:25:28.000000000 +0200
-+++ tigervnc-1.2.0/common/rdr/TLSOutStream.cxx 2012-03-27 23:14:09.576068335 +0200
-@@ -27,7 +27,7 @@
- #include <rdr/TLSOutStream.h>
- #include <errno.h>
-
--#ifdef HAVE_OLD_GNUTLS
-+#ifndef HAVE_GNUTLS_GLOBAL_ERRNO
- #define gnutls_transport_set_global_errno(A) do { errno = (A); } while(0)
- #endif
-
diff --git a/abs/extra/tigervnc/tiger.install b/abs/extra/tigervnc/tiger.install
deleted file mode 100644
index 87e7b5e..0000000
--- a/abs/extra/tigervnc/tiger.install
+++ /dev/null
@@ -1,22 +0,0 @@
-post_install(){
- groupadd -g 78 vncsvc &>/dev/null
- useradd -u 78 -m -g vncsvc -d /home/vncsvc -s /bin/bash vncsvc &>/dev/null
- usermod -a -G mythtv vncsvc
- chown -R vncsvc:vncsvc /home/vncsvc &>/dev/null
-}
-
-post_upgrade(){
- getent group vncsvc >/dev/null 2>&1 || groupadd -g 78 vncsvc &>/dev/null
- getent passwd vncsvc >/dev/null 2>&1 || useradd -u 78 -g vncsvc -m -d /home/vncsvc -s /bin/bash vncsvc &>/dev/null
- usermod -a -G mythtv vncsvc
-}
-
-post_remove(){
- if getent passwd vncsvc >/dev/null 2>&1; then
- userdel vncsvc
- fi
- if getent group vncsvc >/dev/null 2>&1; then
- groupdel vncsvc
- fi
-}
-
diff --git a/abs/extra/tigervnc/vncserver.service b/abs/extra/tigervnc/vncserver.service
new file mode 100644
index 0000000..0c257b3
--- /dev/null
+++ b/abs/extra/tigervnc/vncserver.service
@@ -0,0 +1,29 @@
+# The vncserver service unit file
+#
+# 1. Copy this file to /etc/systemd/system/vncserver@:<display>.service
+# 2. Edit User=
+# ("User=foo")
+# 3. Edit and vncserver parameters appropriately
+# ("/usr/bin/vncserver %i -arg1 -arg2 -argn")
+# 4. Run `systemctl --system daemon-reload`
+# 5. Run `systemctl enable vncserver@:<display>.service`
+#
+# DO NOT RUN THIS SERVICE if your local area network is untrusted!
+#
+# See the wiki page for more on security
+# https://wiki.archlinux.org/index.php/Vncserver
+
+[Unit]
+Description=Remote desktop service (VNC)
+After=syslog.target network.target
+
+[Service]
+Type=forking
+User=
+
+ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i >/dev/null 2>&1 || true'
+ExecStart=/usr/bin/vncserver -fg %i
+ExecStop=/usr/bin/vncserver -kill %i
+
+[Install]
+WantedBy=multi-user.target
diff --git a/abs/extra/tigervnc/vncsvc.rules b/abs/extra/tigervnc/vncsvc.rules
deleted file mode 100644
index 3c1b992..0000000
--- a/abs/extra/tigervnc/vncsvc.rules
+++ /dev/null
@@ -1,4 +0,0 @@
-vncsvc ALL=(ALL) NOPASSWD: /usr/MythVantage/bin/mythinstall -s *
-vncsvc ALL=(ALL) NOPASSWD: /usr/MythVantage/bin/MythVantage -s *
-vncsvc ALL=(ALL) NOPASSWD: /usr/MythVantage/bin/systemconfig.py
-
diff --git a/abs/extra/tigervnc/vncviewer.desktop b/abs/extra/tigervnc/vncviewer.desktop
new file mode 100644
index 0000000..d8005d3
--- /dev/null
+++ b/abs/extra/tigervnc/vncviewer.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=TigerVNC Viewer
+Comment=VNC client
+Exec=/usr/bin/vncviewer
+Icon=tigervnc
+Terminal=false
+StartupNotify=false
+Categories=Network;RemoteAccess;
diff --git a/abs/extra/tigervnc/xorg111.patch b/abs/extra/tigervnc/xorg111.patch
deleted file mode 100644
index ee0ddb9..0000000
--- a/abs/extra/tigervnc/xorg111.patch
+++ /dev/null
@@ -1,235 +0,0 @@
-diff -up tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc.xorg111 tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc
---- tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc.xorg111 2011-08-09 23:16:36.000000000 +0200
-+++ tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc 2011-11-11 11:59:14.226819903 +0100
-@@ -82,10 +82,11 @@ static KeyCode KeysymToKeycode(KeySymsPt
- /* Event queue is shared between all devices. */
- #if XORG == 15
- static xEvent *eventq = NULL;
--#else
-+#elif XORG < 111
- static EventList *eventq = NULL;
- #endif
-
-+#if XORG < 111
- static void initEventq(void)
- {
- /* eventq is never free()-ed because it exists during server life. */
-@@ -100,7 +101,9 @@ static void initEventq(void)
- #endif
- }
- }
-+#endif /* XORG < 111 */
-
-+#if XORG < 111
- static void enqueueEvents(DeviceIntPtr dev, int n)
- {
- int i;
-@@ -122,6 +125,7 @@ static void enqueueEvents(DeviceIntPtr d
- );
- }
- }
-+#endif /* XORG < 111 */
-
- InputDevice::InputDevice(rfb::VNCServerST *_server)
- : server(_server), oldButtonMask(0)
-@@ -141,12 +145,17 @@ InputDevice::InputDevice(rfb::VNCServerS
- keyboardProc, TRUE);
- RegisterKeyboardDevice(keyboardDev);
- #endif
-+#if XORG < 111
- initEventq();
-+#endif
- }
-
- void InputDevice::PointerButtonAction(int buttonMask)
- {
-- int i, n;
-+ int i;
-+#if XORG < 111
-+ int n;
-+#endif
- #if XORG >= 110
- ValuatorMask mask;
- #endif
-@@ -160,13 +169,17 @@ void InputDevice::PointerButtonAction(in
- #if XORG < 110
- n = GetPointerEvents(eventq, pointerDev, action, i + 1,
- POINTER_RELATIVE, 0, 0, NULL);
--#else
-+ enqueueEvents(pointerDev, n);
-+#elif XORG < 111
- valuator_mask_set_range(&mask, 0, 0, NULL);
- n = GetPointerEvents(eventq, pointerDev, action, i + 1,
- POINTER_RELATIVE, &mask);
--#endif
- enqueueEvents(pointerDev, n);
--
-+#else
-+ valuator_mask_set_range(&mask, 0, 0, NULL);
-+ QueuePointerEvents(pointerDev, action, i + 1,
-+ POINTER_RELATIVE, &mask);
-+#endif
- }
- }
-
-@@ -175,7 +188,10 @@ void InputDevice::PointerButtonAction(in
-
- void InputDevice::PointerMove(const rfb::Point &pos)
- {
-- int n, valuators[2];
-+ int valuators[2];
-+#if XORG < 111
-+ int n;
-+#endif
- #if XORG >= 110
- ValuatorMask mask;
- #endif
-@@ -190,12 +206,16 @@ void InputDevice::PointerMove(const rfb:
- #if XORG < 110
- n = GetPointerEvents(eventq, pointerDev, MotionNotify, 0, POINTER_ABSOLUTE, 0,
- 2, valuators);
--#else
-+ enqueueEvents(pointerDev, n);
-+#elif XORG < 111
- valuator_mask_set_range(&mask, 0, 2, valuators);
- n = GetPointerEvents(eventq, pointerDev, MotionNotify, 0, POINTER_ABSOLUTE,
- &mask);
--#endif
- enqueueEvents(pointerDev, n);
-+#else
-+ valuator_mask_set_range(&mask, 0, 2, valuators);
-+ QueuePointerEvents(pointerDev, MotionNotify, 0, POINTER_ABSOLUTE, &mask);
-+#endif
-
- cursorPos = pos;
- }
-@@ -299,14 +319,20 @@ void InputDevice::initInputDevice(void)
- static inline void pressKey(DeviceIntPtr dev, int kc, bool down, const char *msg)
- {
- int action;
-+#if XORG < 111
- unsigned int n;
-+#endif
-
- if (msg != NULL)
- vlog.debug("%s %d %s", msg, kc, down ? "down" : "up");
-
- action = down ? KeyPress : KeyRelease;
-- n = GetKeyboardEvents(eventq, dev, action, kc);
-+#if XORG < 111
-+ n = GetKeyboardEvents(eventq, dev, action, kc, NULL);
- enqueueEvents(dev, n);
-+#else
-+ QueueKeyboardEvents(dev, action, kc, NULL);
-+#endif
- }
-
- #define IS_PRESSED(keyc, keycode) \
-@@ -341,8 +367,11 @@ public:
- int state, maxKeysPerMod, keycode;
- #if XORG >= 17
- KeyCode *modmap = NULL;
--
-+#if XORG >= 111
-+ state = XkbStateFieldFromRec(&dev->master->key->xkbInfo->state);
-+#else /* XORG >= 111 */
- state = XkbStateFieldFromRec(&dev->u.master->key->xkbInfo->state);
-+#endif /* XORG >= 111 */
- #else
- KeyClassPtr keyc = dev->key;
- state = keyc->state;
-@@ -380,7 +409,11 @@ public:
- #if XORG >= 17
- KeyCode *modmap = NULL;
-
-+#if XORG >= 111
-+ keyc = dev->master->key;
-+#else /* XORG >= 111 */
- keyc = dev->u.master->key;
-+#endif /* XORG >= 111 */
- state = XkbStateFieldFromRec(&keyc->xkbInfo->state);
- #else
- keyc = dev->key;
-@@ -596,7 +629,11 @@ void InputDevice::keyEvent(rdr::U32 keys
- }
-
- #if XORG >= 17
-+#if XORG >= 111
-+ keyc = keyboardDev->master->key;
-+#else /* XORG >= 111 */
- keyc = keyboardDev->u.master->key;
-+#endif /* XORG >= 111 */
-
- keymap = XkbGetCoreMap(keyboardDev);
- if (!keymap) {
-@@ -753,7 +790,11 @@ ModeSwitchFound:
- XkbApplyMappingChange(keyboardDev, keymap, minKeyCode,
- maxKeyCode - minKeyCode + 1,
- NULL, serverClient);
-+#if XORG >= 111
-+ XkbCopyDeviceKeymap(keyboardDev->master, keyboardDev);
-+#else
- XkbCopyDeviceKeymap(keyboardDev->u.master, keyboardDev);
-+#endif
- #endif /* XORG < 17 */
- break;
- }
-diff -up tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h.xorg111 tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h
---- tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h.xorg111 2011-08-09 23:16:36.000000000 +0200
-+++ tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h 2011-11-11 11:55:32.255835319 +0100
-@@ -36,6 +36,8 @@
- #define XORG 19
- #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (10 * 100000) + (99 * 1000))
- #define XORG 110
-+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (11 * 100000) + (99 * 1000))
-+#define XORG 111
- #else
- #error "X.Org newer than 1.10 is not supported"
- #endif
-diff -up tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc.xorg111 tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc
---- tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc.xorg111 2011-08-09 23:16:36.000000000 +0200
-+++ tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc 2011-11-11 11:55:32.256835319 +0100
-@@ -211,7 +211,11 @@ static void vfbFreeFramebufferMemory(vfb
-
- extern "C" {
-
-+#if XORG < 111
- void ddxGiveUp()
-+#else
-+void ddxGiveUp(enum ExitCode error)
-+#endif
- {
- int i;
-
-@@ -221,9 +225,17 @@ void ddxGiveUp()
- }
-
- void
-+#if XORG < 111
- AbortDDX()
-+#else
-+AbortDDX(enum ExitCode error)
-+#endif
- {
-+#if XORG < 111
- ddxGiveUp();
-+#else
-+ ddxGiveUp(error);
-+#endif
- }
-
- #ifdef __DARWIN__
-@@ -668,8 +680,13 @@ vfbUninstallColormap(ColormapPtr pmap)
- {
- if (pmap->mid != pmap->pScreen->defColormap)
- {
-+#if XORG < 111
- curpmap = (ColormapPtr) LookupIDByType(pmap->pScreen->defColormap,
- RT_COLORMAP);
-+#else
-+ dixLookupResourceByType((pointer *) &curpmap, pmap->pScreen->defColormap,
-+ RT_COLORMAP, serverClient, DixUnknownAccess);
-+#endif
- (*pmap->pScreen->InstallColormap)(curpmap);
- }
- }
diff --git a/abs/extra/tigervnc/xorg112.patch b/abs/extra/tigervnc/xorg112.patch
deleted file mode 100644
index 51f259e..0000000
--- a/abs/extra/tigervnc/xorg112.patch
+++ /dev/null
@@ -1,447 +0,0 @@
-diff -ur tigervnc-1.2.0.orig/unix/xserver/hw/vnc/Makefile.am tigervnc-1.2.0/unix/xserver/hw/vnc/Makefile.am
---- tigervnc-1.2.0.orig/unix/xserver/hw/vnc/Makefile.am 2011-10-31 09:14:40.000000000 +0100
-+++ tigervnc-1.2.0/unix/xserver/hw/vnc/Makefile.am 2012-04-15 12:19:00.995517546 +0200
-@@ -63,7 +63,7 @@
- BUILT_SOURCES = $(nodist_Xvnc_SOURCES)
-
- fb.h: $(top_srcdir)/fb/fb.h
-- cat $(top_srcdir)/fb/fb.h | sed -e 's,and,c_and,' -e 's,xor,c_xor,' > $(srcdir)/fb.h
-+ cat $(top_srcdir)/fb/fb.h | sed -e 's,and,c_and,g' -e 's,xor,c_xor,g' > $(srcdir)/fb.h
-
- pixman.h:
- for i in ${XSERVERLIBS_CFLAGS}; do \
-@@ -78,4 +78,4 @@
- fi
-
- fbrop.h: $(top_srcdir)/fb/fbrop.h
-- cat $(top_srcdir)/fb/fbrop.h | sed -e 's,and,c_and,' -e 's,xor,c_xor,' > $(srcdir)/fbrop.h
-+ cat $(top_srcdir)/fb/fbrop.h | sed -e 's,and,c_and,g' -e 's,xor,c_xor,g' > $(srcdir)/fbrop.h
-diff -ur tigervnc-1.2.0.orig/unix/xserver/hw/vnc/vncExtInit.cc tigervnc-1.2.0/unix/xserver/hw/vnc/vncExtInit.cc
---- tigervnc-1.2.0.orig/unix/xserver/hw/vnc/vncExtInit.cc 2011-11-07 13:51:34.000000000 +0100
-+++ tigervnc-1.2.0/unix/xserver/hw/vnc/vncExtInit.cc 2012-04-15 12:18:57.819557251 +0200
-@@ -59,6 +59,7 @@
- #include "XserverDesktop.h"
- #include "vncHooks.h"
- #include "vncExtInit.h"
-+#include "xorg-version.h"
-
- extern "C" {
-
-@@ -449,10 +450,16 @@
- ev.window = cur->window;
- ev.time = GetTimeInMillis();
- if (cur->client->swapped) {
-+#if XORG < 112
- int n;
- swaps(&ev.sequenceNumber, n);
- swapl(&ev.window, n);
- swapl(&ev.time, n);
-+#else
-+ swaps(&ev.sequenceNumber);
-+ swapl(&ev.window);
-+ swapl(&ev.time);
-+#endif
- }
- WriteToClient(cur->client, sizeof(xVncExtClientCutTextNotifyEvent),
- (char *)&ev);
-@@ -495,9 +502,14 @@
- ev.sequenceNumber = cur->client->sequence;
- ev.window = cur->window;
- if (cur->client->swapped) {
-+#if XORG < 112
- int n;
- swaps(&ev.sequenceNumber, n);
- swapl(&ev.window, n);
-+#else
-+ swaps(&ev.sequenceNumber);
-+ swapl(&ev.window);
-+#endif
- }
- WriteToClient(cur->client, sizeof(xVncExtQueryConnectNotifyEvent),
- (char *)&ev);
-@@ -538,10 +550,16 @@
- ev.window = cur->window;
- ev.selection = selection;
- if (cur->client->swapped) {
-+#if XORG < 112
- int n;
- swaps(&ev.sequenceNumber, n);
- swapl(&ev.window, n);
- swapl(&ev.selection, n);
-+#else
-+ swaps(&ev.sequenceNumber);
-+ swapl(&ev.window);
-+ swapl(&ev.selection);
-+#endif
- }
- WriteToClient(cur->client, sizeof(xVncExtSelectionChangeNotifyEvent),
- (char *)&ev);
-@@ -562,7 +580,6 @@
- param.buf[stuff->paramLen] = 0;
-
- xVncExtSetParamReply rep;
-- int n;
- rep.type = X_Reply;
- rep.length = 0;
- rep.success = 0;
-@@ -603,8 +620,14 @@
-
- deny:
- if (client->swapped) {
-+#if XORG < 112
-+ int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
-+#else
-+ swaps(&rep.sequenceNumber);
-+ swapl(&rep.length);
-+#endif
- }
- WriteToClient(client, sizeof(xVncExtSetParamReply), (char *)&rep);
- return (client->noClientException);
-@@ -612,9 +635,13 @@
-
- static int SProcVncExtSetParam(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtSetParamReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_AT_LEAST_SIZE(xVncExtSetParamReq);
- return ProcVncExtSetParam(client);
- }
-@@ -628,7 +655,6 @@
- param.buf[stuff->paramLen] = 0;
-
- xVncExtGetParamReply rep;
-- int n;
- rep.type = X_Reply;
- rep.sequenceNumber = client->sequence;
- rep.success = 0;
-@@ -646,9 +672,16 @@
- rep.length = (len + 3) >> 2;
- rep.valueLen = len;
- if (client->swapped) {
-+#if XORG < 112
-+ int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
- swaps(&rep.valueLen, n);
-+#else
-+ swaps(&rep.sequenceNumber);
-+ swapl(&rep.length);
-+ swaps(&rep.valueLen);
-+#endif
- }
- WriteToClient(client, sizeof(xVncExtGetParamReply), (char *)&rep);
- if (value)
-@@ -659,9 +692,13 @@
-
- static int SProcVncExtGetParam(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtGetParamReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_AT_LEAST_SIZE(xVncExtGetParamReq);
- return ProcVncExtGetParam(client);
- }
-@@ -675,7 +712,6 @@
- param.buf[stuff->paramLen] = 0;
-
- xVncExtGetParamDescReply rep;
-- int n;
- rep.type = X_Reply;
- rep.sequenceNumber = client->sequence;
- rep.success = 0;
-@@ -690,9 +726,16 @@
- rep.length = (len + 3) >> 2;
- rep.descLen = len;
- if (client->swapped) {
-+#if XORG < 112
-+ int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
- swaps(&rep.descLen, n);
-+#else
-+ swaps(&rep.sequenceNumber);
-+ swapl(&rep.length);
-+ swaps(&rep.descLen);
-+#endif
- }
- WriteToClient(client, sizeof(xVncExtGetParamDescReply), (char *)&rep);
- if (desc)
-@@ -702,9 +745,13 @@
-
- static int SProcVncExtGetParamDesc(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtGetParamDescReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_AT_LEAST_SIZE(xVncExtGetParamDescReq);
- return ProcVncExtGetParamDesc(client);
- }
-@@ -715,7 +762,6 @@
- REQUEST_SIZE_MATCH(xVncExtListParamsReq);
-
- xVncExtListParamsReply rep;
-- int n;
- rep.type = X_Reply;
- rep.sequenceNumber = client->sequence;
-
-@@ -731,9 +777,16 @@
- rep.length = (len + 3) >> 2;
- rep.nParams = nParams;
- if (client->swapped) {
-+#if XORG < 112
-+ int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
- swaps(&rep.nParams, n);
-+#else
-+ swaps(&rep.sequenceNumber);
-+ swapl(&rep.length);
-+ swaps(&rep.nParams);
-+#endif
- }
- WriteToClient(client, sizeof(xVncExtListParamsReply), (char *)&rep);
- rdr::U8* data = new rdr::U8[len];
-@@ -753,9 +806,13 @@
-
- static int SProcVncExtListParams(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtListParamsReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_SIZE_MATCH(xVncExtListParamsReq);
- return ProcVncExtListParams(client);
- }
-@@ -778,11 +835,19 @@
-
- static int SProcVncExtSetServerCutText(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtSetServerCutTextReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_AT_LEAST_SIZE(xVncExtSetServerCutTextReq);
-+#if XORG < 112
- swapl(&stuff->textLen, n);
-+#else
-+ swapl(&stuff->textLen);
-+#endif
- return ProcVncExtSetServerCutText(client);
- }
-
-@@ -792,15 +857,21 @@
- REQUEST_SIZE_MATCH(xVncExtGetClientCutTextReq);
-
- xVncExtGetClientCutTextReply rep;
-- int n;
- rep.type = X_Reply;
- rep.length = (clientCutTextLen + 3) >> 2;
- rep.sequenceNumber = client->sequence;
- rep.textLen = clientCutTextLen;
- if (client->swapped) {
-+#if XORG < 112
-+ int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
- swapl(&rep.textLen, n);
-+#else
-+ swaps(&rep.sequenceNumber);
-+ swapl(&rep.length);
-+ swapl(&rep.textLen);
-+#endif
- }
- WriteToClient(client, sizeof(xVncExtGetClientCutTextReply), (char *)&rep);
- if (clientCutText)
-@@ -810,9 +881,13 @@
-
- static int SProcVncExtGetClientCutText(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtGetClientCutTextReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_SIZE_MATCH(xVncExtGetClientCutTextReq);
- return ProcVncExtGetClientCutText(client);
- }
-@@ -842,12 +917,21 @@
-
- static int SProcVncExtSelectInput(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtSelectInputReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_SIZE_MATCH(xVncExtSelectInputReq);
-+#if XORG < 112
- swapl(&stuff->window, n);
- swapl(&stuff->mask, n);
-+#else
-+ swapl(&stuff->window);
-+ swapl(&stuff->mask);
-+#endif
- return ProcVncExtSelectInput(client);
- }
-
-@@ -893,9 +977,14 @@
- rep.length = 0;
- rep.sequenceNumber = client->sequence;
- if (client->swapped) {
-+#if XORG < 112
- int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
-+#else
-+ swaps(&rep.sequenceNumber);
-+ swapl(&rep.length);
-+#endif
- }
- WriteToClient(client, sizeof(xVncExtConnectReply), (char *)&rep);
- return (client->noClientException);
-@@ -903,9 +992,13 @@
-
- static int SProcVncExtConnect(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtConnectReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_AT_LEAST_SIZE(xVncExtConnectReq);
- return ProcVncExtConnect(client);
- }
-@@ -925,7 +1018,6 @@
- qcTimeout = 0;
-
- xVncExtGetQueryConnectReply rep;
-- int n;
- rep.type = X_Reply;
- rep.sequenceNumber = client->sequence;
- rep.timeout = qcTimeout;
-@@ -934,11 +1026,20 @@
- rep.opaqueId = (CARD32)(long)queryConnectId;
- rep.length = (rep.userLen + rep.addrLen + 3) >> 2;
- if (client->swapped) {
-+#if XORG < 112
-+ int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.userLen, n);
- swapl(&rep.addrLen, n);
- swapl(&rep.timeout, n);
- swapl(&rep.opaqueId, n);
-+#else
-+ swaps(&rep.sequenceNumber);
-+ swapl(&rep.userLen);
-+ swapl(&rep.addrLen);
-+ swapl(&rep.timeout);
-+ swapl(&rep.opaqueId);
-+#endif
- }
- WriteToClient(client, sizeof(xVncExtGetQueryConnectReply), (char *)&rep);
- if (qcTimeout)
-@@ -950,9 +1051,13 @@
-
- static int SProcVncExtGetQueryConnect(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtGetQueryConnectReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_SIZE_MATCH(xVncExtGetQueryConnectReq);
- return ProcVncExtGetQueryConnect(client);
- }
-@@ -977,10 +1082,15 @@
-
- static int SProcVncExtApproveConnect(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtApproveConnectReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
- swapl(&stuff->opaqueId, n);
-+#else
-+ swaps(&stuff->length);
-+ swapl(&stuff->opaqueId);
-+#endif
- REQUEST_SIZE_MATCH(xVncExtApproveConnectReq);
- return ProcVncExtApproveConnect(client);
- }
-diff -ur tigervnc-1.2.0.orig/unix/xserver/hw/vnc/xf86vncModule.cc tigervnc-1.2.0/unix/xserver/hw/vnc/xf86vncModule.cc
---- tigervnc-1.2.0.orig/unix/xserver/hw/vnc/xf86vncModule.cc 2010-04-23 15:55:10.000000000 +0200
-+++ tigervnc-1.2.0/unix/xserver/hw/vnc/xf86vncModule.cc 2012-04-15 12:18:57.820557239 +0200
-@@ -26,6 +26,8 @@
- #include <rfb/Logger_stdio.h>
- #include <rfb/LogWriter.h>
-
-+#include "xorg-version.h"
-+
- extern "C" {
- #define class c_class
- #define private c_private
-@@ -89,7 +91,12 @@
- ScrnInfoPtr pScrn = xf86Screens[scr];
-
- for (ParameterIterator i(Configuration::global()); i.param; i.next()) {
-- char* val = xf86FindOptionValue(pScrn->options, i.param->getName());
-+ const char *val;
-+#if XORG < 112
-+ val = xf86FindOptionValue(pScrn->options, i.param->getName());
-+#else
-+ val = xf86FindOptionValue((XF86OptionPtr)pScrn->options, i.param->getName());
-+#endif
- if (val)
- i.param->setParam(val);
- }
-diff -ur tigervnc-1.2.0.orig/unix/xserver/hw/vnc/xorg-version.h tigervnc-1.2.0/unix/xserver/hw/vnc/xorg-version.h
---- tigervnc-1.2.0.orig/unix/xserver/hw/vnc/xorg-version.h 2012-04-15 12:18:21.272014160 +0200
-+++ tigervnc-1.2.0/unix/xserver/hw/vnc/xorg-version.h 2012-04-15 12:18:57.821557227 +0200
-@@ -38,6 +38,8 @@
- #define XORG 110
- #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (11 * 100000) + (99 * 1000))
- #define XORG 111
-+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (12 * 100000) + (99 * 1000))
-+#define XORG 112
- #else
- #error "X.Org newer than 1.10 is not supported"
- #endif
diff --git a/abs/extra/tigervnc/xorg118.patch b/abs/extra/tigervnc/xorg118.patch
new file mode 100644
index 0000000..7484200
--- /dev/null
+++ b/abs/extra/tigervnc/xorg118.patch
@@ -0,0 +1,27 @@
+diff -wbBur tigervnc-1.5.0/unix/xserver/hw/vnc/Input.c tigervnc-1.5.0.q/unix/xserver/hw/vnc/Input.c
+--- tigervnc-1.5.0/unix/xserver/hw/vnc/Input.c 2015-07-11 16:00:36.000000000 +0300
++++ tigervnc-1.5.0.q/unix/xserver/hw/vnc/Input.c 2015-11-25 19:04:24.278747038 +0300
+@@ -300,6 +300,8 @@
+ #if XORG < 111
+ n = GetKeyboardEvents(eventq, dev, action, kc);
+ enqueueEvents(dev, n);
++#elif XORG > 117
++ QueueKeyboardEvents(dev, action, kc);
+ #else
+ QueueKeyboardEvents(dev, action, kc, NULL);
+ #endif
+diff -wbBur tigervnc-1.5.0/unix/xserver/hw/vnc/xorg-version.h tigervnc-1.5.0.q/unix/xserver/hw/vnc/xorg-version.h
+--- tigervnc-1.5.0/unix/xserver/hw/vnc/xorg-version.h 2015-07-11 16:00:36.000000000 +0300
++++ tigervnc-1.5.0.q/unix/xserver/hw/vnc/xorg-version.h 2015-11-25 19:02:47.688751421 +0300
+@@ -48,8 +48,10 @@
+ #define XORG 116
+ #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (17 * 100000) + (99 * 1000))
+ #define XORG 117
++#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (18 * 100000) + (99 * 1000))
++#define XORG 118
+ #else
+-#error "X.Org newer than 1.17 is not supported"
++#error "X.Org newer than 1.18 is not supported"
+ #endif
+
+ #endif
diff --git a/abs/extra/tinyxml/PKGBUILD b/abs/extra/tinyxml/PKGBUILD
new file mode 100644
index 0000000..c125043
--- /dev/null
+++ b/abs/extra/tinyxml/PKGBUILD
@@ -0,0 +1,62 @@
+# $Id$
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Bartłomiej Piotrowski <barthalion@gmail.com>
+# Contributor: Larry Hajali <larryhaja[at]gmail[dot]com>
+# Contributor: Hubert Grzeskowiak <arch at nemesis13 dot de>
+
+pkgname=tinyxml
+pkgver=2.6.2
+pkgrel=4
+pkgdesc='Simple, small, C++ XML parser that can be easily integrated into other programs'
+url="http://www.grinninglizard.com/tinyxml/"
+arch=('x86_64' 'i686')
+license=('zlib')
+depends=('gcc-libs')
+makedepends=('setconf')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}_${pkgver//./_}.tar.gz"
+ 'entity.patch'
+ "$pkgname-2.5.3-stl.patch"
+ "$pkgname.pc")
+sha256sums=('15bdfdcec58a7da30adc87ac2b078e4417dbe5392f3afb719f9ba6d062645593'
+ 'ef493209b0a51160171fd834a7ecdddd02679463b85fb89a2ea254213e47f99b'
+ '3baf2c4dbc2c8f54a151dac8860113d2f549174f83ed85d552b094dfaebb52af'
+ '0e37a568eaebb8f0644f148a3d3efa921ac518217e1c0de46c2859d26516bcc4')
+
+prepare() {
+ cd "$srcdir/$pkgname"
+
+ # Fix entity encoding.
+ patch -p0 -i "$srcdir"/entity.patch
+
+ # Make TINYXML_USE_STL permanently defined in tinyxml.h
+ patch -p1 -i "$srcdir"/$pkgname-2.5.3-stl.patch
+
+ # Fix Makefile
+ setconf Makefile TINYXML_USE_STL YES
+ setconf Makefile RELEASE_CFLAGS "$CXXFLAGS -fPIC"
+}
+
+build() {
+ cd "$srcdir/$pkgname"
+
+ make
+ g++ -fPIC "$CXXFLAGS" -shared -o "lib${pkgname}.so.0.$pkgver" \
+ -Wl,-soname,"lib${pkgname}.so.0" $(ls *.o | grep -v xmltest)
+}
+
+package() {
+ cd "$srcdir/$pkgname"
+
+ install -d -m 0755 "$pkgdir"/usr/{lib,include}
+ install -m 0755 "lib${pkgname}.so.0.$pkgver" "$pkgdir"/usr/lib/
+ install -m 0644 "$pkgname.h" tinystr.h "$pkgdir"/usr/include
+ install -Dm644 readme.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm644 "$srcdir/$pkgname.pc" "$pkgdir/usr/lib/pkgconfig/$pkgname.pc"
+
+ (cd "$pkgdir/usr/lib"
+ ln -s "lib${pkgname}.so.0.$pkgver" "lib${pkgname}.so.0"
+ ln -s "lib${pkgname}.so.0.$pkgver" "lib${pkgname}.so"
+ )
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/tinyxml/entity.patch b/abs/extra/tinyxml/entity.patch
new file mode 100644
index 0000000..66d89a6
--- /dev/null
+++ b/abs/extra/tinyxml/entity.patch
@@ -0,0 +1,64 @@
+? entity.patch
+Index: tinyxml.cpp
+===================================================================
+RCS file: /cvsroot/tinyxml/tinyxml/tinyxml.cpp,v
+retrieving revision 1.105
+diff -u -r1.105 tinyxml.cpp
+--- tinyxml.cpp 5 Jun 2010 19:06:57 -0000 1.105
++++ tinyxml.cpp 19 Jul 2010 21:24:16 -0000
+@@ -57,30 +57,7 @@
+ {
+ unsigned char c = (unsigned char) str[i];
+
+- if ( c == '&'
+- && i < ( (int)str.length() - 2 )
+- && str[i+1] == '#'
+- && str[i+2] == 'x' )
+- {
+- // Hexadecimal character reference.
+- // Pass through unchanged.
+- // &#xA9; -- copyright symbol, for example.
+- //
+- // The -1 is a bug fix from Rob Laveaux. It keeps
+- // an overflow from happening if there is no ';'.
+- // There are actually 2 ways to exit this loop -
+- // while fails (error case) and break (semicolon found).
+- // However, there is no mechanism (currently) for
+- // this function to return an error.
+- while ( i<(int)str.length()-1 )
+- {
+- outString->append( str.c_str() + i, 1 );
+- ++i;
+- if ( str[i] == ';' )
+- break;
+- }
+- }
+- else if ( c == '&' )
++ if ( c == '&' )
+ {
+ outString->append( entity[0].str, entity[0].strLength );
+ ++i;
+Index: xmltest.cpp
+===================================================================
+RCS file: /cvsroot/tinyxml/tinyxml/xmltest.cpp,v
+retrieving revision 1.89
+diff -u -r1.89 xmltest.cpp
+--- xmltest.cpp 5 Jun 2010 17:41:52 -0000 1.89
++++ xmltest.cpp 19 Jul 2010 21:24:16 -0000
+@@ -1340,6 +1340,16 @@
+ }*/
+ }
+
++ #ifdef TIXML_USE_STL
++ {
++ TiXmlDocument xml;
++ xml.Parse("<foo>foo&amp;#xa+bar</foo>");
++ std::string str;
++ str << xml;
++ XmlTest( "Entity escaping", "<foo>foo&amp;#xa+bar</foo>", str.c_str() );
++ }
++ #endif
++
+ /* 1417717 experiment
+ {
+ TiXmlDocument xml;
diff --git a/abs/extra/tinyxml/tinyxml-2.5.3-stl.patch b/abs/extra/tinyxml/tinyxml-2.5.3-stl.patch
new file mode 100644
index 0000000..7bcde59
--- /dev/null
+++ b/abs/extra/tinyxml/tinyxml-2.5.3-stl.patch
@@ -0,0 +1,12 @@
+diff -up tinyxml/tinyxml.h~ tinyxml/tinyxml.h
+--- tinyxml/tinyxml.h~ 2007-11-30 22:39:36.000000000 +0100
++++ tinyxml/tinyxml.h 2007-11-30 22:39:36.000000000 +0100
+@@ -26,6 +26,8 @@ distribution.
+ #ifndef TINYXML_INCLUDED
+ #define TINYXML_INCLUDED
+
++#define TIXML_USE_STL 1
++
+ #ifdef _MSC_VER
+ #pragma warning( push )
+ #pragma warning( disable : 4530 )
diff --git a/abs/extra/tinyxml/tinyxml.pc b/abs/extra/tinyxml/tinyxml.pc
new file mode 100644
index 0000000..684b090
--- /dev/null
+++ b/abs/extra/tinyxml/tinyxml.pc
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: TinyXml
+Description: simple, small, C++ XML parser
+Version: 2.6.2
+Libs: -L${libdir} -ltinyxml
+Cflags: -I${includedir}
diff --git a/abs/extra/upower/0001-Send-resume-signal-when-built-with-systemd-and-using.patch b/abs/extra/upower/0001-Send-resume-signal-when-built-with-systemd-and-using.patch
deleted file mode 100644
index 2694334..0000000
--- a/abs/extra/upower/0001-Send-resume-signal-when-built-with-systemd-and-using.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From a5b3dd887dcd60e981626ae2e15c874311fc4fef Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Sun, 2 Sep 2012 04:36:13 +0200
-Subject: [PATCH] Send resume signal when built with systemd and using
- pm-utils suspend
-
-This case was apparently overlooked when adding systemd support.
-
-Signed-off-by: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
----
- src/linux/up-backend.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/src/linux/up-backend.c b/src/linux/up-backend.c
-index ddd4472..52b430e 100644
---- a/src/linux/up-backend.c
-+++ b/src/linux/up-backend.c
-@@ -603,10 +603,11 @@ gboolean
- up_backend_emits_resuming (UpBackend *backend)
- {
- #ifdef HAVE_SYSTEMD
-- return TRUE;
--#else
-- return FALSE;
-+ if (sd_booted ())
-+ return TRUE;
-+ else
- #endif
-+ return FALSE;
- }
-
- /**
---
-1.7.12
-
diff --git a/abs/extra/upower/PKGBUILD b/abs/extra/upower/PKGBUILD
index d27d378..7833118 100644
--- a/abs/extra/upower/PKGBUILD
+++ b/abs/extra/upower/PKGBUILD
@@ -1,29 +1,25 @@
-# $Id: PKGBUILD 166524 2012-09-09 15:41:20Z heftig $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=upower
-pkgver=0.9.18
-pkgrel=2
+pkgver=0.99.3
+pkgrel=1
pkgdesc="Abstraction for enumerating power devices, listening to device events and querying history and statistics"
arch=('i686' 'x86_64')
url="http://upower.freedesktop.org"
license=('GPL')
-depends=('systemd-tools' 'libsystemd' 'libusb' 'polkit' 'pm-utils' 'dbus-glib' 'libimobiledevice')
-makedepends=('intltool' 'docbook-xsl' 'gobject-introspection' 'systemd')
-options=('!libtool')
-source=($url/releases/$pkgname-$pkgver.tar.xz
- 0001-Send-resume-signal-when-built-with-systemd-and-using.patch)
+depends=('systemd' 'libusb' 'dbus-glib' 'libimobiledevice' 'libgudev')
+makedepends=('intltool' 'docbook-xsl' 'gobject-introspection' 'python2')
+backup=('etc/UPower/UPower.conf')
+source=(http://upower.freedesktop.org/releases/$pkgname-$pkgver.tar.xz)
+sha256sums=('697199bcc113bb069e6fb6bf4135536a702ba9847e46c5fc6df87d19624ddd38')
build() {
- cd "$pkgname-$pkgver"
+ cd $pkgname-$pkgver
- # put udev files in /usr/lib
- sed -i "/slashlibdir=/s#/lib#/usr/lib#" configure
-
- # https://bugs.freedesktop.org/show_bug.cgi?id=54371
- patch -Np1 -i ../0001-Send-resume-signal-when-built-with-systemd-and-using.patch
-
- ./configure --prefix=/usr --sysconfdir=/etc \
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
--localstatedir=/var \
--libexecdir=/usr/lib/$pkgname \
--disable-static
@@ -31,8 +27,6 @@ build() {
}
package() {
- cd "$pkgname-$pkgver"
+ cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
}
-md5sums=('bfaaa1e7f8479fca5594406b3c36dff9'
- '188afea4919dc324b2efbae35d9d216a')
diff --git a/abs/extra/vala/PKGBUILD b/abs/extra/vala/PKGBUILD
index ed48bef..a663fcd 100644
--- a/abs/extra/vala/PKGBUILD
+++ b/abs/extra/vala/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: Timm Preetz <timm@preetz.us>
pkgname=vala
-pkgver=0.26.1
+pkgver=0.30.0
pkgrel=1
pkgdesc="Compiler for the GObject type system"
arch=('i686' 'x86_64')
@@ -11,8 +11,9 @@ url="http://live.gnome.org/Vala"
license=('LGPL')
depends=('glib2')
makedepends=('libxslt')
-source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz)
-sha256sums=('8407abb19ab3a58bbfc0d288abb47666ef81f76d0540258c03965e7545f59e6b')
+checkdepends=('dbus' 'libx11' 'gobject-introspection')
+source=(https://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz)
+sha256sums=('61f0337b000f7ed6ef8c1fea87e0047d9bd7c0f91dd9c5b4eb70fd3fb883dedf')
build() {
cd $pkgname-$pkgver
@@ -20,6 +21,11 @@ build() {
make
}
+check() {
+ cd $pkgname-$pkgver
+# make check
+}
+
package() {
cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
diff --git a/abs/extra/valgrind/PKGBUILD b/abs/extra/valgrind/PKGBUILD
index 61c9997..e04c84e 100644
--- a/abs/extra/valgrind/PKGBUILD
+++ b/abs/extra/valgrind/PKGBUILD
@@ -3,25 +3,19 @@
# Maintainer: Allan McRae <allan@archlinux.org>
pkgname=valgrind
-pkgver=3.10.0
-pkgrel=1
+pkgver=3.11.0
+pkgrel=2
pkgdesc='A tool to help find memory-management problems in programs'
arch=(i686 x86_64)
license=(GPL)
url='http://valgrind.org/'
-depends=('glibc>=2.20' 'glibc<2.21' 'perl')
-makedepends=('gdb' 'openmpi')
+depends=('glibc>=2.23' 'glibc<2.24' 'perl')
+makedepends=(gdb openmpi)
optdepends=('openmpi: MPI support')
-options=('staticlibs' '!emptydirs')
-source=(http://valgrind.org/downloads/$pkgname-$pkgver.tar.bz2
- valgrind-3.9.0-glibc-2.20.patch)
-sha1sums=('aec0b8cd042ec36c8cce4f6027b98627ab202f26'
- '2080c3d44de20857f18b03a93404a8f3d3721f7e')
-
-prepare() {
- cd $pkgname-$pkgver
- patch -p1 -i "$srcdir"/valgrind-3.9.0-glibc-2.20.patch
-}
+# valgrind does not like stack protector flags
+options=(!emptydirs !buildflags)
+source=(http://valgrind.org/downloads/$pkgname-$pkgver.tar.bz2)
+sha1sums=('340757e91d9e83591158fe8bb985c6b11bc53de5')
build() {
cd $pkgname-$pkgver
diff --git a/abs/extra/valgrind/valgrind-3.9.0-glibc-2.20.patch b/abs/extra/valgrind/valgrind-3.9.0-glibc-2.20.patch
deleted file mode 100644
index d9c622e..0000000
--- a/abs/extra/valgrind/valgrind-3.9.0-glibc-2.20.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff -Naur valgrind-3.9.0-orig/configure valgrind-3.9.0/configure
---- valgrind-3.9.0-orig/configure 2013-11-01 09:33:32.000000000 +1000
-+++ valgrind-3.9.0/configure 2014-02-08 09:28:06.063248544 +1000
-@@ -6689,6 +6689,16 @@
- DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
- DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
- ;;
-+ 2.20)
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.20 family" >&5
-+$as_echo "2.20 family" >&6; }
-+
-+$as_echo "#define GLIBC_2_20 1" >>confdefs.h
-+
-+ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
-+ ;;
- darwin)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: Darwin" >&5
- $as_echo "Darwin" >&6; }
-diff -Naur valgrind-3.9.0-orig/configure.ac valgrind-3.9.0/configure.ac
---- valgrind-3.9.0-orig/configure.ac 2013-11-01 09:28:16.000000000 +1000
-+++ valgrind-3.9.0/configure.ac 2014-02-08 09:27:38.870385366 +1000
-@@ -918,6 +918,13 @@
- DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
- DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
- ;;
-+ 2.20)
-+ AC_MSG_RESULT(2.20 family)
-+ AC_DEFINE([GLIBC_2_20], 1, [Define to 1 if you're using glibc 2.20.x])
-+ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
-+ ;;
- darwin)
- AC_MSG_RESULT(Darwin)
- AC_DEFINE([DARWIN_LIBC], 1, [Define to 1 if you're using Darwin])
diff --git a/abs/extra/vid.stab/PKGBUILD b/abs/extra/vid.stab/PKGBUILD
new file mode 100644
index 0000000..9833259
--- /dev/null
+++ b/abs/extra/vid.stab/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id$
+# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
+# Contributor: Sergej Pupykin <arch+pub@sergej.pp.ru>
+# Contributor: EVorster <evorster@gmail.com>
+
+pkgname=vid.stab
+pkgver=1.1
+pkgrel=1
+pkgdesc='Video stabilization library'
+arch=('i686' 'x86_64')
+url='http://public.hronopik.de/vid.stab'
+license=('GPL')
+depends=('gcc-libs' 'glibc')
+makedepends=('cmake' 'git')
+provides=('libvidstab.so')
+_hash='2d82492533bf5004bc2c4f8213a1b622c45f6a44'
+source=("vid.stab-${pkgver}::git+https://github.com/georgmartius/vid.stab.git#commit=${_hash}")
+sha256sums=('SKIP')
+
+prepare() {
+ cd vid.stab-${pkgver}
+
+ if [[ -d build ]]; then
+ rm -rf build
+ fi
+ mkdir build
+}
+
+build() {
+ cd vid.stab-${pkgver}/build
+
+ cmake .. \
+ -DCMAKE_INSTALL_PREFIX='/usr'
+ make
+}
+
+package() {
+ cd vid.stab-${pkgver}/build
+
+ make DESTDIR="${pkgdir}" install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/vte3/PKGBUILD b/abs/extra/vte3/PKGBUILD
index 1019be3..e7797d0 100644
--- a/abs/extra/vte3/PKGBUILD
+++ b/abs/extra/vte3/PKGBUILD
@@ -1,25 +1,26 @@
-# $Id: PKGBUILD 160601 2012-06-02 20:33:51Z ibiru $
+# $Id$
# Maintainer: Ionut Biru <ibiru@archlinux.org>
pkgbase=vte3
pkgname=(vte3 vte-common)
-pkgver=0.32.2
-pkgrel=1
+pkgver=0.42.1
+pkgrel=2
pkgdesc="Virtual Terminal Emulator widget for use with GTK3"
arch=('i686' 'x86_64')
license=('LGPL')
-options=('!libtool' '!emptydirs')
-makedepends=('intltool' 'gobject-introspection' 'gtk3')
+options=('!emptydirs')
+makedepends=('intltool' 'gobject-introspection' 'gtk3' 'vala' 'glade')
url="http://www.gnome.org"
-source=(http://ftp.gnome.org/pub/GNOME/sources/vte/${pkgver%.*}/vte-$pkgver.tar.xz)
-sha256sums=('d69ec071f7a380d8b8b981b35a9a0b891f37c4b6b17d08407f66ac98d619486a')
+source=(http://download.gnome.org/sources/vte/${pkgver::4}/vte-$pkgver.tar.xz)
+sha256sums=('9e00e2e9e94f4202b979c871f407a8815890bc0f4a8448a08534f76ab0fc9d34')
build() {
cd "vte-$pkgver"
./configure --prefix=/usr --sysconfdir=/etc \
--libexecdir=/usr/lib/vte \
--localstatedir=/var --disable-static \
- --enable-introspection
+ --enable-introspection --enable-glade-catalogue
+ 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
make
}
@@ -28,12 +29,12 @@ package_vte3(){
cd "vte-$pkgver"
make DESTDIR="$pkgdir" install
- rm "$pkgdir"/usr/lib/vte/gnome-pty-helper
+ rm "$pkgdir"/etc/profile.d/vte.sh
}
package_vte-common() {
pkgdesc="Common files used by vte and vte3"
cd "vte-$pkgver"
- make -C gnome-pty-helper DESTDIR="$pkgdir" install
+ install -Dm644 src/vte.sh "$pkgdir"/etc/profile.d/vte.sh
}
diff --git a/abs/extra/w_scan/PKGBUILD b/abs/extra/w_scan/PKGBUILD
new file mode 100644
index 0000000..b7af805
--- /dev/null
+++ b/abs/extra/w_scan/PKGBUILD
@@ -0,0 +1,28 @@
+# Maintainer: birdflesh <antkoul at gmail dot com>
+# Contributor: Michael Lass <bevan@bi-co.net>
+# Contributor: Leo von Klenze <aur@leo.von-klenze.de>
+
+pkgname=w_scan
+pkgver=20141122
+pkgrel=1
+pkgdesc="Universal ATSC and DVB blind scanner"
+arch=('i686' 'x86_64' 'armv6h')
+url="http://wirbel.htpc-forum.de/w_scan/index_en.html"
+license=('GPL')
+depends=('glibc')
+source=("http://wirbel.htpc-forum.de/$pkgname/$pkgname-$pkgver.tar.bz2")
+md5sums=('da0f190bee696a02bf030fc01c0706e8')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -dm755 "$pkgdir/usr/share/doc/$pkgname"
+ install -m644 README "$pkgdir/usr/share/doc/$pkgname"
+}
+
diff --git a/abs/extra/web-on-linhes/PKGBUILD b/abs/extra/web-on-linhes/PKGBUILD
index 0d916bf..4e52115 100644
--- a/abs/extra/web-on-linhes/PKGBUILD
+++ b/abs/extra/web-on-linhes/PKGBUILD
@@ -2,7 +2,7 @@
# Maintainer: Cecil Watson<knoppmyth@gmail.com>
pkgname=web-on-linhes
-pkgver=1.01.0
+pkgver=1.3
pkgrel=1
pkgdesc="Added multiple websites with 10' UIs to Play Online Streams."
arch=('i686' 'x86_64')
@@ -20,4 +20,4 @@ package() {
install -D -m0744 ${srcdir}/web-on-linhes_is.conf ${pkgdir}/etc/gen_is_xml.d/web-on-linhes_is.conf
}
md5sums=('b04992d48e45411bdeed23e6aa9f95f7'
- '926982798d1c1a8bfd45da8eef8a56f3')
+ '475addc194b389ecc4bc5cde3aa5a8ea')
diff --git a/abs/extra/web-on-linhes/web-on-linhes_is.conf b/abs/extra/web-on-linhes/web-on-linhes_is.conf
index ec895be..27d0dcb 100755
--- a/abs/extra/web-on-linhes/web-on-linhes_is.conf
+++ b/abs/extra/web-on-linhes/web-on-linhes_is.conf
@@ -17,38 +17,6 @@
<!--#WebOnTV-->
<button>
<type>STREAM</type>
- <text>Flixster</text>
- <action>EXEC /usr/LH/bin/web-on-linhes.sh http://admin.flixster.com/googletv</action>
- </button>
- <!--#WebOnTV-->
-
- <!--#WebOnTV-->
- <button>
- <type>STREAM</type>
- <text>The Onion</text>
- <action>EXEC /usr/LH/bin/web-on-linhes.sh http://www.theonion.com/video/googletv/</action>
- </button>
- <!--#WebOnTV-->
-
- <!--#WebOnTV-->
- <button>
- <type>STREAM</type>
- <text>The New York Times</text>
- <action>EXEC /usr/LH/bin/web-on-linhes.sh http://www.nytimes.com/gtv/</action>
- </button>
- <!--#WebOnTV-->
-
- <!--#WebOnTV-->
- <button>
- <type>STREAM</type>
- <text>NPR</text>
- <action>EXEC /usr/LH/bin/web-on-linhes.sh http://www.npr.org/googletv/</action>
- </button>
- <!--#WebOnTV-->
-
- <!--#WebOnTV-->
- <button>
- <type>STREAM</type>
<text>PBS Kids</text>
<action>EXEC /usr/LH/bin/web-on-linhes.sh http://pbskids.org/video/</action>
</button>
diff --git a/abs/extra/webmin/PKGBUILD b/abs/extra/webmin/PKGBUILD
index edce250..c823016 100644
--- a/abs/extra/webmin/PKGBUILD
+++ b/abs/extra/webmin/PKGBUILD
@@ -1,7 +1,7 @@
# $Id$
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=webmin
-pkgver=1.730
+pkgver=1.780
pkgrel=1
pkgdesc="a web-based interface for system administration"
arch=(i686 x86_64)
@@ -219,7 +219,7 @@ package() {
# install license
install -m 644 -D "$srcdir"/$pkgname-$pkgver/LICENCE "$pkgdir"/usr/share/licenses/webmin/LICENCE
}
-md5sums=('a54d11c32372b8361da1ad363a2d3ad9'
+md5sums=('d5de2ef2b47de718c7f1addbf0bc2e5c'
'b0b3e3fb231a12e60165b6b4d604dcfa'
'bfebb75bb94029b48c46b7f1ba1aa811'
'fc29ecb6a5cd8c278abe054e60381095')
diff --git a/abs/extra/wxgtk/PKGBUILD b/abs/extra/wxgtk/PKGBUILD
index da0cdab..c0944fb 100644
--- a/abs/extra/wxgtk/PKGBUILD
+++ b/abs/extra/wxgtk/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=wxgtk
pkgver=3.0.2
-pkgrel=2
+pkgrel=5
pkgdesc="GTK+ implementation of wxWidgets API for GUI"
arch=('i686' 'x86_64')
url="http://wxwidgets.org"
@@ -12,8 +12,18 @@ depends=('gtk2' 'gstreamer0.10-base' 'libsm')
makedepends=('gstreamer0.10-base-plugins' 'gconf' 'webkitgtk2' 'glu')
optdepends=('webkitgtk2: for webview support')
options=('!emptydirs')
-source=(http://downloads.sourceforge.net/wxwindows/wxWidgets-${pkgver}.tar.bz2)
-sha1sums=('6461eab4428c0a8b9e41781b8787510484dea800')
+source=(http://downloads.sourceforge.net/wxwindows/wxWidgets-${pkgver}.tar.bz2
+ make-abicheck-non-fatal.patch)
+sha1sums=('6461eab4428c0a8b9e41781b8787510484dea800'
+ 'dfe38650c655395b90bf082b5734c4093508bfa3')
+
+prepare() {
+ cd wxWidgets-${pkgver}
+
+ # C++ ABI check is too strict and breaks with GCC 5.1
+ # https://bugzilla.redhat.com/show_bug.cgi?id=1200611
+ patch -Np1 -i ../make-abicheck-non-fatal.patch
+}
build() {
cd wxWidgets-${pkgver}
diff --git a/abs/extra/wxgtk/make-abicheck-non-fatal.patch b/abs/extra/wxgtk/make-abicheck-non-fatal.patch
new file mode 100644
index 0000000..97055ba
--- /dev/null
+++ b/abs/extra/wxgtk/make-abicheck-non-fatal.patch
@@ -0,0 +1,15 @@
+diff -up wxGTK-2.8.12/src/common/appbase.cpp.abicheck wxGTK-2.8.12/src/common/appbase.cpp
+--- wxGTK-2.8.12/src/common/appbase.cpp.abicheck 2015-03-12 17:15:18.000000000 +0100
++++ wxGTK-2.8.12/src/common/appbase.cpp 2015-03-12 17:15:57.000000000 +0100
+@@ -424,10 +424,7 @@ bool wxAppConsole::CheckBuildOptions(con
+ msg.Printf(_T("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
+ lib.c_str(), progName.c_str(), prog.c_str());
+
+- wxLogFatalError(msg.c_str());
+-
+- // normally wxLogFatalError doesn't return
+- return false;
++ wxLogWarning(msg.c_str());
+ }
+ #undef wxCMP
+
diff --git a/abs/extra/xbmc-pvr-addons/PKGBUILD b/abs/extra/xbmc-pvr-addons/PKGBUILD
deleted file mode 100644
index 91f41f2..0000000
--- a/abs/extra/xbmc-pvr-addons/PKGBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# $Id$
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-
-pkgname=xbmc-pvr-addons
-pkgver=20140610.13.0_Gotham
-_relname=${pkgver:9}
-pkgrel=1
-pkgdesc="XBMC PVR add-ons for current stable xbmc"
-arch=('i686' 'x86_64')
-url="https://github.com/opdenkamp/xbmc-pvr-addons"
-license=('GPL3')
-depends=('xbmc' 'libmysqlclient')
-makedepends=('git' 'libmysqlclient' 'boost')
-optdepends=('tvheadend-git: tvheadend backend' 'mythtv: mythtv backend')
-conflicts=('xbmc-pvr-addons-git')
-source=("$pkgname-$pkgver.tar.gz::https://github.com/opdenkamp/xbmc-pvr-addons/archive/${_relname/_/-}.tar.gz")
-#source=("git://github.com/opdenkamp/xbmc-pvr-addons.git")
-#source=("git://github.com/fetzerch/xbmc-pvr-addons.git#branch=frodo")
-md5sums=('63f5863393ca869eb6f357a62de76378')
-
-build() {
- cd "$srcdir/$pkgname-${_relname/_/-}"
- ./bootstrap
- ./configure --prefix=/usr --enable-addons-with-dependencies
- make
-}
-
-package() {
- cd "$srcdir/$pkgname-${_relname/_/-}"
- make DESTDIR="$pkgdir/" install
-}
diff --git a/abs/extra/xbmc/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch b/abs/extra/xbmc/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch
deleted file mode 100644
index f2fc11b..0000000
--- a/abs/extra/xbmc/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 4037c9fd07fbec1873549e71e0b1c2833a5a87db Mon Sep 17 00:00:00 2001
-From: Lars Op den Kamp <lars@opdenkamp.eu>
-Date: Mon, 27 Oct 2014 14:42:30 +0100
-Subject: [PATCH 1/8] [CEC] fixed: don't try to stick a value > 255 in a byte
-
----
- system/peripherals.xml | 2 +-
- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/system/peripherals.xml b/system/peripherals.xml
-index 57af5d1..5fcff7c 100644
---- a/system/peripherals.xml
-+++ b/system/peripherals.xml
-@@ -30,7 +30,7 @@
- <setting key="device_type" type="int" value="1" configurable="0" />
- <setting key="wake_devices_advanced" type="string" value="" configurable="0" />
- <setting key="standby_devices_advanced" type="string" value="" configurable="0" />
-- <setting key="double_tap_timeout_ms" type="int" min="0" value="2000" configurable="0" />
-+ <setting key="double_tap_timeout_ms" type="int" min="0" value="300" configurable="0" />
- </peripheral>
-
- <peripheral vendor_product="2548:1001,2548:1002" bus="usb" name="Pulse-Eight CEC Adapter" mapTo="cec">
-diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-index 9907ba2..1d068dc 100644
---- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-@@ -1347,8 +1347,8 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
- m_configuration.bPowerOffOnStandby = iStandbyAction == 13011 ? 1 : 0;
- m_configuration.bShutdownOnStandby = iStandbyAction == 13005 ? 1 : 0;
-
-- // double tap prevention timeout in ms
-- m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms");
-+ // double tap prevention timeout in ms. libCEC uses 50ms units for this in 2.2.0, so divide by 50
-+ m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms") / 50;
- }
-
- void CPeripheralCecAdapter::ReadLogicalAddresses(const CStdString &strString, cec_logical_addresses &addresses)
---
-2.1.2
-
diff --git a/abs/extra/xbmc/0002-CEC-bump-libCEC-to-2.2.0.patch b/abs/extra/xbmc/0002-CEC-bump-libCEC-to-2.2.0.patch
deleted file mode 100644
index e7aecd7..0000000
--- a/abs/extra/xbmc/0002-CEC-bump-libCEC-to-2.2.0.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 6cd70921650dda8864a844033e36f1bea55d034b Mon Sep 17 00:00:00 2001
-From: Lars Op den Kamp <lars@opdenkamp.eu>
-Date: Mon, 27 Oct 2014 12:29:09 +0100
-Subject: [PATCH 2/8] [CEC] bump libCEC to 2.2.0
-
----
- project/BuildDependencies/scripts/libcec_d.txt | 2 +-
- tools/depends/target/libcec/Makefile | 6 +++---
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/project/BuildDependencies/scripts/libcec_d.txt b/project/BuildDependencies/scripts/libcec_d.txt
-index a126c74..3d0265e 100644
---- a/project/BuildDependencies/scripts/libcec_d.txt
-+++ b/project/BuildDependencies/scripts/libcec_d.txt
-@@ -1,3 +1,3 @@
- ; filename source of the file
-
--libcec-2.1.4.zip http://mirrors.xbmc.org/build-deps/win32/
-+libcec-2.2.0-win32.zip http://mirrors.xbmc.org/build-deps/win32/
-diff --git a/tools/depends/target/libcec/Makefile b/tools/depends/target/libcec/Makefile
-index 16fec1b..6c72240 100644
---- a/tools/depends/target/libcec/Makefile
-+++ b/tools/depends/target/libcec/Makefile
-@@ -3,9 +3,9 @@ DEPS= ../../Makefile.include Makefile
-
- # lib name, version
- LIBNAME=libcec
--VERSION=2.1.4
--SOURCE=$(LIBNAME)-$(VERSION)-2
--ARCHIVE=$(SOURCE).tar.gz
-+VERSION=2.2.0
-+SOURCE=$(LIBNAME)-$(VERSION)
-+ARCHIVE=$(SOURCE)-3.tar.gz
-
- # configuration settings
- CONFIGURE=./configure --prefix=$(PREFIX) --disable-rpi \
---
-2.1.2
-
diff --git a/abs/extra/xbmc/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch b/abs/extra/xbmc/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch
deleted file mode 100644
index e8f5837..0000000
--- a/abs/extra/xbmc/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From e59d7e028288464e6890141a830e4a83d4b9d065 Mon Sep 17 00:00:00 2001
-From: Lars Op den Kamp <lars@opdenkamp.eu>
-Date: Mon, 27 Oct 2014 15:32:36 +0100
-Subject: [PATCH 3/8] [CEC] prevent bus rescan on a Pi, since the adapter
- cannot be removed
-
----
- xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
-index b02535a..4941ae6 100644
---- a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
-+++ b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
-@@ -101,6 +101,8 @@ bool CPeripheralBusCEC::PerformDeviceScan(PeripheralScanResults &results)
- break;
- case ADAPTERTYPE_RPI:
- result.m_mappedBusType = PERIPHERAL_BUS_RPI;
-+ /** the Pi's adapter cannot be removed, no need to rescan */
-+ m_bNeedsPolling = false;
- break;
- default:
- break;
---
-2.1.2
-
diff --git a/abs/extra/xbmc/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch b/abs/extra/xbmc/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch
deleted file mode 100644
index d4556ae..0000000
--- a/abs/extra/xbmc/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From 6544830d1a0b9810c2feb2fcb34df3f90b010d2f Mon Sep 17 00:00:00 2001
-From: Lars Op den Kamp <lars@opdenkamp.eu>
-Date: Mon, 27 Oct 2014 21:01:00 +0100
-Subject: [PATCH 4/8] [CEC] fixed: don't return garbage from CEC related app
- messenger methods see
- https://github.com/xbmc/xbmc/commit/19d37944ca2a2ac2f3e71a40a94e9ea289d8f2db#commitcomment-8248480
-
----
- xbmc/Application.cpp | 14 ++++++++------
- xbmc/ApplicationMessenger.cpp | 20 +++++---------------
- xbmc/ApplicationMessenger.h | 4 ++--
- 3 files changed, 15 insertions(+), 23 deletions(-)
-
-diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
-index d5604dc..4d26183 100644
---- a/xbmc/Application.cpp
-+++ b/xbmc/Application.cpp
-@@ -2351,16 +2351,18 @@
-
- if (StringUtils::StartsWithNoCase(action.GetName(),"CECToggleState") || StringUtils::StartsWithNoCase(action.GetName(),"CECStandby"))
- {
-- bool ret = true;
--
-- CLog::Log(LOGDEBUG, "%s: action %s [%d], toggling state of playing device", __FUNCTION__, action.GetName().c_str(), action.GetID());
- // do not wake up the screensaver right after switching off the playing device
- if (StringUtils::StartsWithNoCase(action.GetName(),"CECToggleState"))
-- ret = CApplicationMessenger::Get().CECToggleState();
-+ {
-+ CLog::Log(LOGDEBUG, "%s: action %s [%d], toggling state of playing device", __FUNCTION__, action.GetName().c_str(), action.GetID());
-+ if (!CApplicationMessenger::Get().CECToggleState())
-+ return true;
-+ }
- else
-- ret = CApplicationMessenger::Get().CECStandby();
-- if (!ret) /* display is switched off */
-+ {
-+ CApplicationMessenger::Get().CECStandby();
- return true;
-+ }
- }
-
- ResetScreenSaver();
-diff --git a/xbmc/ApplicationMessenger.cpp b/xbmc/ApplicationMessenger.cpp
-index 1a59c5c..d228273 100644
---- a/xbmc/ApplicationMessenger.cpp
-+++ b/xbmc/ApplicationMessenger.cpp
-@@ -843,12 +843,12 @@ void CApplicationMessenger::ProcessMessage(ThreadMessage *pMsg)
- }
- case TMSG_CECACTIVATESOURCE:
- {
-- *((bool*)pMsg->lpVoid) = g_peripherals.ToggleDeviceState(STATE_ACTIVATE_SOURCE);
-+ g_peripherals.ToggleDeviceState(STATE_ACTIVATE_SOURCE);
- break;
- }
- case TMSG_CECSTANDBY:
- {
-- *((bool*)pMsg->lpVoid) = g_peripherals.ToggleDeviceState(STATE_STANDBY);
-+ g_peripherals.ToggleDeviceState(STATE_STANDBY);
- break;
- }
- case TMSG_START_ANDROID_ACTIVITY:
-@@ -1396,29 +1396,19 @@ bool CApplicationMessenger::CECToggleState()
-
- ThreadMessage tMsg = {TMSG_CECTOGGLESTATE};
- tMsg.lpVoid = (void*)&result;
-- SendMessage(tMsg, false);
-+ SendMessage(tMsg, true);
-
- return result;
- }
-
--bool CApplicationMessenger::CECActivateSource()
-+void CApplicationMessenger::CECActivateSource()
- {
-- bool result;
--
- ThreadMessage tMsg = {TMSG_CECACTIVATESOURCE};
-- tMsg.lpVoid = (void*)&result;
- SendMessage(tMsg, false);
--
-- return result;
- }
-
--bool CApplicationMessenger::CECStandby()
-+void CApplicationMessenger::CECStandby()
- {
-- bool result;
--
- ThreadMessage tMsg = {TMSG_CECSTANDBY};
-- tMsg.lpVoid = (void*)&result;
- SendMessage(tMsg, false);
--
-- return result;
- }
-diff --git a/xbmc/ApplicationMessenger.h b/xbmc/ApplicationMessenger.h
-index 9013567..543e065 100644
---- a/xbmc/ApplicationMessenger.h
-+++ b/xbmc/ApplicationMessenger.h
-@@ -219,8 +219,8 @@ public:
-
- void LoadProfile(unsigned int idx);
- bool CECToggleState();
-- bool CECActivateSource();
-- bool CECStandby();
-+ void CECActivateSource();
-+ void CECStandby();
-
- CStdString GetResponse();
- int SetResponse(CStdString response);
---
-2.1.2
-
diff --git a/abs/extra/xbmc/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch b/abs/extra/xbmc/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch
deleted file mode 100644
index 023257c..0000000
--- a/abs/extra/xbmc/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 9f1e45a10860dd23239de35673643e9e0e4a74f8 Mon Sep 17 00:00:00 2001
-From: Lars Op den Kamp <lars@opdenkamp.eu>
-Date: Tue, 28 Oct 2014 14:52:16 +0100
-Subject: [PATCH 5/8] [CEC] renamed the iDoubleTapTimeoutMs in the new libCEC
- for clarity. does not change binary compatibility
-
----
- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-index 1d068dc..ad123d9 100644
---- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-@@ -1347,8 +1347,13 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
- m_configuration.bPowerOffOnStandby = iStandbyAction == 13011 ? 1 : 0;
- m_configuration.bShutdownOnStandby = iStandbyAction == 13005 ? 1 : 0;
-
-+#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
-- m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms") / 50;
-+ m_configuration.iDoubleTapTimeout50Ms = GetSettingInt("double_tap_timeout_ms") / 50;
-+#else
-+ // backwards compatibility. will be removed once the next major release of libCEC is out
-+ m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms");
-+#endif
- }
-
- void CPeripheralCecAdapter::ReadLogicalAddresses(const CStdString &strString, cec_logical_addresses &addresses)
---
-2.1.2
-
diff --git a/abs/extra/xbmc/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch b/abs/extra/xbmc/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch
deleted file mode 100644
index cd53396..0000000
--- a/abs/extra/xbmc/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From fa01c108b60f74abb16992c1376bcca896093eac Mon Sep 17 00:00:00 2001
-From: Lars Op den Kamp <lars@opdenkamp.eu>
-Date: Tue, 28 Oct 2014 16:08:00 +0100
-Subject: [PATCH 6/8] [CEC] fixed - don't use CEC_CLIENT_VERSION_CURRENT for
- the client version, because it will lead to issues when XBMC is rebuilt after
- a libCEC bump that changes something
-
----
- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-index ad123d9..015daef 100644
---- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
-@@ -1268,8 +1268,8 @@ void CPeripheralCecAdapter::SetConfigurationFromLibCEC(const CEC::libcec_configu
-
- void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
- {
-- // use the same client version as libCEC version
-- m_configuration.clientVersion = CEC_CLIENT_VERSION_CURRENT;
-+ // client version matches the version of libCEC that we originally used the API from
-+ m_configuration.clientVersion = CEC_CLIENT_VERSION_2_2_0;
-
- // device name 'XBMC'
- snprintf(m_configuration.strDeviceName, 13, "%s", GetSettingString("device_name").c_str());
---
-2.1.2
-
diff --git a/abs/extra/xbmc/PKGBUILD b/abs/extra/xbmc/PKGBUILD
deleted file mode 100644
index 1737aff..0000000
--- a/abs/extra/xbmc/PKGBUILD
+++ /dev/null
@@ -1,147 +0,0 @@
-# vim:set ts=2 sw=2 et:
-# $Id$
-# Maintainer: 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>
-
-_prefix=/usr
-
-pkgname=xbmc
-pkgver=13.2
-_codename=Gotham
-pkgrel=8
-pkgdesc="A software media player and entertainment hub for digital media"
-arch=('i686' 'x86_64')
-url="http://xbmc.org"
-license=('GPL2')
-depends=(
-'avahi' 'hicolor-icon-theme' 'glu' 'lame' 'libass' 'libbluray' 'libcdio' 'libmad'
-'libmicrohttpd' 'libmodplug' 'libmpeg2' 'libmysqlclient'
-'libsamplerate' 'libssh' 'libva' 'libvdpau' 'libvorbis' 'libxrandr' 'libxslt'
-'lzo' 'mesa' 'mesa-demos' 'python2' 'python2-pillow' 'rtmpdump' 'sdl_image'
-'smbclient' 'taglib' 'tinyxml' 'unzip' 'xorg-xdpyinfo' 'yajl'
-)
-makedepends=(
-'afpfs-ng' 'libnfs' 'libplist' 'shairplay' 'libcec' 'boost' 'cmake' 'doxygen'
-'gperf' 'jasper' 'java-runtime-headless' 'nasm' 'swig' 'taglib' 'udisks'
-'zip'
-)
-optdepends=(
-'afpfs-ng: Apple File Protocol suport'
-'libnfs: NFS Share support'
-'libplist: AirPlay support'
-'shairplay: AirPlay support'
-'libcec: Pulse-Eight USB-CEC adapter support'
-'polkit: power management'
-'lirc: remote controller support'
-'unrar: access compressed files without unpacking them'
-'udisks: automount external drives'
-'upower: display battery level'
-)
-install="${pkgname}.install"
-source=(
- "xbmc-$pkgver-$_codename.tar.gz::https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz"
- '0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch'
- '0002-CEC-bump-libCEC-to-2.2.0.patch'
- '0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch'
- '0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch'
- '0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch'
- '0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch'
- 'xbmc.sh'
- 'xbmc_lib.conf'
-)
-
-prepare() {
- cd "$srcdir/xbmc-$pkgver-$_codename"
-
- patch -Np1 -i "$srcdir/0001-CEC-fixed-don-t-try-to-stick-a-value-255-in-a-byte.patch"
- patch -Np1 -i "$srcdir/0002-CEC-bump-libCEC-to-2.2.0.patch"
- patch -Np1 -i "$srcdir/0003-CEC-prevent-bus-rescan-on-a-Pi-since-the-adapter-can.patch"
- patch -Np1 -i "$srcdir/0004-CEC-fixed-don-t-return-garbage-from-CEC-related-app-.patch"
- patch -Np1 -i "$srcdir/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch"
- patch -Np1 -i "$srcdir/0006-CEC-fixed-don-t-use-CEC_CLIENT_VERSION_CURRENT-for-t.patch"
-
- 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/xbmc.sh.in
-}
-
-build() {
- cd "$srcdir/xbmc-$pkgver-$_codename"
-
- # Bootstrapping XBMC
- ./bootstrap
-
- # Configuring XBMC
- export PYTHON_VERSION=2 # external python v2
- ./configure --prefix=$_prefix --exec-prefix=$_prefix \
- --disable-debug \
- --enable-optimizations \
- --enable-gl \
- --enable-sdl \
- --enable-vaapi \
- --enable-vdpau \
- --enable-xvba \
- --enable-joystick \
- --enable-xrandr \
- --enable-rsxs \
- --enable-projectm \
- --enable-x11 \
- --enable-rtmp \
- --enable-samba \
- --enable-nfs \
- --enable-afpclient \
- --enable-airplay \
- --enable-airtunes \
- --enable-ffmpeg-libvorbis \
- --enable-dvdcss \
- --disable-hal \
- --enable-avahi \
- --enable-webserver \
- --enable-optical-drive \
- --enable-libbluray \
- --enable-texturepacker \
- --enable-udev \
- --enable-libusb \
- --enable-libcec \
- --with-lirc-device=/run/lirc/lircd
-
- # Now (finally) build
- make
-}
-
-package() {
- cd "$srcdir/xbmc-$pkgver-$_codename"
- # Running make install
- make DESTDIR="$pkgdir" install
-
- # Tools
- install -D -m 0755 "$srcdir/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" \
- "${pkgdir}$_prefix/lib/xbmc/"
-
- # Licenses
- install -dm755 "${pkgdir}$_prefix/share/licenses/$pkgname"
- for licensef in LICENSE.GPL copying.txt; do
- mv "${pkgdir}$_prefix/share/doc/xbmc/$licensef" \
- "${pkgdir}$_prefix/share/licenses/$pkgname"
- done
-
- # LinHES stuff
- mkdir -p ${pkgdir}/usr/LH/bin
- install -D -m 0755 ${srcdir}/xbmc.sh ${pkgdir}/usr/LH/bin
- #add in xbmc_lib.conf
- install -D -m0744 ${srcdir}/xbmc_lib.conf ${pkgdir}/etc/gen_lib_xml.d/xbmc_lib.conf
-}
-md5sums=('d80153b2cc78b88966458ab136e9494f'
- 'd00af955c000f285a230568004209117'
- '6ee855d2cd6ada08b2c72b5c15d5ae76'
- '3e810f451e58d5704cdd15b83552aa53'
- '693869eb72d696c3457e795722e707c6'
- 'b6346f66286195189e41839e9a23ef87'
- '47b765e1d4299fac32bf92f108548d06'
- 'e48a3d87984669ef206e902bc8290ff9'
- '71176cb0e5aaa230d7c9634c37245bfb')
diff --git a/abs/extra/xbmc/__changelog b/abs/extra/xbmc/__changelog
deleted file mode 100644
index a50187f..0000000
--- a/abs/extra/xbmc/__changelog
+++ /dev/null
@@ -1,4 +0,0 @@
-PKGBUILD - remove libpulse dep and remove --enable-pulse config option; add glu dep
-PKGBUILD - Added xbmc_lib.conf, this file goes in /etc/gen_lib_xml.d/
-xbmc.install - add gen_lib_xml.py to post_install and post_remove
-xbmc.install - comment out autostart message since we don't use systemd
diff --git a/abs/extra/xbmc/xbmc.install b/abs/extra/xbmc/xbmc.install
deleted file mode 100644
index 72d92d8..0000000
--- a/abs/extra/xbmc/xbmc.install
+++ /dev/null
@@ -1,26 +0,0 @@
-post_install() {
- update_icons
-# update_autostart
- gen_lib_xml.py
-}
-
-post_upgrade() {
- update_icons
-# update_autostart
-}
-
-post_remove() {
- update_icons
- update_autostart
- 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
-}
-
-update_autostart() {
- echo "To autostart xbmc standalone read: https://wiki.archlinux.org/index.php/Xbmc#Autostarting_at_boot"
-}
diff --git a/abs/extra/xbmc/xbmc.sh b/abs/extra/xbmc/xbmc.sh
deleted file mode 100644
index b073e5d..0000000
--- a/abs/extra/xbmc/xbmc.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-#Stop XScreensaver
-stop_xss.sh &
-#Launch XBMC
-/usr/bin/xbmc --lircdev /var/run/lirc/lircd
-#Once XBMC exits, start XSceensager again
-killall stop_xss.sh
diff --git a/abs/extra/xbmc/xbmc_lib.conf b/abs/extra/xbmc/xbmc_lib.conf
deleted file mode 100644
index e3f4243..0000000
--- a/abs/extra/xbmc/xbmc_lib.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-<!--#XBMC-->
- <button>
- <type>MENU_XBMC</type>
- <text>Launch XBMC</text>
- <description>Open XBMC Media Center</description>
- <action>EXEC /usr/LH/bin/xbmc.sh</action>
- </button>
-<!--#XBMC-->
-
diff --git a/abs/extra/xfsdump/PKGBUILD b/abs/extra/xfsdump/PKGBUILD
index 54370cf..1459142 100755..100644
--- a/abs/extra/xfsdump/PKGBUILD
+++ b/abs/extra/xfsdump/PKGBUILD
@@ -1,8 +1,9 @@
# Contributor: judd <jvinet@zeroflux.org>
-# Maintainer: dkaylor <dpkaylor@gmail.com>
+# Contributor: dkaylor <dpkaylor@gmail.com>
+# Maintainer: Pablo Lezaeta <prflr88@gmail.com>
pkgname=xfsdump
-pkgver=3.1.3
+pkgver=3.1.6
pkgrel=1
pkgdesc="Additional XFS filesystem utilities"
arch=(i686 x86_64)
@@ -11,10 +12,13 @@ license=('LGPL')
depends=('xfsprogs>=3.1.0' 'attr>=2.4.43' 'acl>=2.2.47' 'dmapi>=2.2.10')
options=('!makeflags' '!emptydirs' '!libtool')
source=(ftp://oss.sgi.com/projects/xfs/cmd_tars/$pkgname-$pkgver.tar.gz{,.sig})
+sha256sums=('7f78c11ca527477d90e5e62b0778f3ad96f2b71c19173044e9aca9515fff42d0'
+ 'SKIP')
+validpgpkeys=('9893A827C19F7D96164A38FFADE82947F475FA1D') # Dave Chinner <david@fromorbit.com>
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr
+ ./configure --prefix=/usr --sbindir=/usr/bin --bindir=/usr/bin
make
}
@@ -23,12 +27,10 @@ package() {
make DIST_ROOT="${pkgdir}" install
# hack to merge binaries from /sbin and /usr/sbin into /usr/bin #
- mkdir -p $pkgdir/usr/bin
- mv $pkgdir/{sbin/*,usr/sbin/xfsinvutil} $pkgdir/usr/bin
- rm -rf $pkgdir/{sbin,usr/sbin}
+ mkdir -p "$pkgdir/usr/bin"
+ mv "$pkgdir/sbin"/* "$pkgdir/usr/bin"
+ rm -rf "$pkgdir"/{sbin,usr/sbin}
- chown -R root $pkgdir
- chgrp -R root $pkgdir
+ chown -R root "$pkgdir"
+ chgrp -R root "$pkgdir"
}
-md5sums=('aad7160b88db24c0510c001debd689be'
- 'SKIP')
diff --git a/abs/extra/yelp-tools/PKGBUILD b/abs/extra/yelp-tools/PKGBUILD
new file mode 100644
index 0000000..a5fba2f
--- /dev/null
+++ b/abs/extra/yelp-tools/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+
+pkgname=yelp-tools
+pkgver=3.18.0
+pkgrel=1
+pkgdesc="Tools for creating Yelp documentation"
+arch=('any')
+depends=('yelp-xsl' 'libxslt' 'libxml2' 'itstool')
+license=('GPL')
+options=('!emptydirs')
+url="http://www.gnome.org"
+source=(https://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz)
+sha256sums=('c6c1d65f802397267cdc47aafd5398c4b60766e0a7ad2190426af6c0d0716932')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/abs/extra/yelp-xsl/PKGBUILD b/abs/extra/yelp-xsl/PKGBUILD
new file mode 100644
index 0000000..afc8b77
--- /dev/null
+++ b/abs/extra/yelp-xsl/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+pkgname=yelp-xsl
+pkgver=3.18.1
+pkgrel=1
+pkgdesc="Stylesheets for Yelp"
+arch=(any)
+makedepends=(intltool libxslt libxml2 itstool)
+license=(GPL)
+options=('!emptydirs')
+url="http://www.gnome.org"
+source=(https://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz)
+sha256sums=('00870fbe59a1bc7797b385fce16386917e2987c404e9b5a7adcf0036f1c1ba62')
+
+build() {
+ cd $pkgname-$pkgver
+ rm xslt/common/domains/yelp-xsl.xml
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}