summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xabs/core/LinHES-system/PKGBUILD11
-rwxr-xr-xabs/core/LinHES-system/add_storage.py72
-rw-r--r--abs/core/LinHES-system/create_media_dirs.sh3
-rw-r--r--abs/core/LinHES-system/lh_system_backup_job30
-rw-r--r--abs/core/alsa-lib/PKGBUILD4
-rw-r--r--abs/core/alsa-plugins/PKGBUILD14
-rw-r--r--abs/core/alsa-plugins/__changelog1
-rw-r--r--abs/core/alsa-utils/PKGBUILD6
-rw-r--r--abs/core/avahi/PKGBUILD104
-rw-r--r--abs/core/avahi/__changelog4
-rw-r--r--abs/core/avahi/avahi.install7
-rw-r--r--abs/core/avahi/gnome-nettool.pngbin4509 -> 0 bytes
-rw-r--r--abs/core/avahi/install11
-rw-r--r--abs/core/avahi/rc.d.patch11
-rwxr-xr-xabs/core/ceton_infinitv/PKGBUILD6
-rw-r--r--abs/core/cmake/PKGBUILD7
-rw-r--r--abs/core/cmake/cmake.install12
-rw-r--r--abs/core/cython/PKGBUILD21
-rw-r--r--abs/core/ffmpeg/PKGBUILD13
-rw-r--r--abs/core/gnutls/PKGBUILD7
-rw-r--r--abs/core/gnutls/__changelog1
-rw-r--r--abs/core/gnutls/gnutls.install20
-rw-r--r--abs/core/grep/PKGBUILD5
-rw-r--r--abs/core/grep/grep.install18
-rw-r--r--abs/core/hdparm/PKGBUILD4
-rw-r--r--abs/core/kbd/PKGBUILD28
-rw-r--r--abs/core/kbd/fix-dvorak-es.patch11
-rw-r--r--abs/core/kbd/fix-es.po.patch11
-rw-r--r--abs/core/kbd/fix-euro2.patch9
-rw-r--r--abs/core/kbd/fix-keymap-loading-1.15.5.patch47
-rw-r--r--abs/core/kbproto/PKGBUILD25
-rw-r--r--abs/core/libaosd/PKGBUILD34
-rw-r--r--abs/core/libxres/PKGBUILD8
-rwxr-xr-xabs/core/linhes-theme/PKGBUILD23
-rwxr-xr-xabs/core/linhes-theme/checkmark.pngbin0 -> 24628 bytes
-rwxr-xr-xabs/core/linhes-theme/error.pngbin0 -> 16172 bytes
-rwxr-xr-xabs/core/linhes-theme/gears.pngbin0 -> 24505 bytes
-rw-r--r--abs/core/linhes-theme/notification-ui.xml.patch361
-rw-r--r--abs/core/linhes-theme/osd.xml.patch69
-rw-r--r--abs/core/linhes-theme/progdetails_page1.html63
-rwxr-xr-xabs/core/linhes-theme/question.pngbin0 -> 25883 bytes
-rwxr-xr-xabs/core/linhes-theme/warning.pngbin0 -> 5436 bytes
-rw-r--r--abs/core/linux/PKGBUILD21
-rw-r--r--abs/core/linux/__changelog1
-rw-r--r--abs/core/linux/linux.install.pkg2
-rw-r--r--abs/core/mesa/0001-loader-dri3-add-get_dri_screen-to-the-vtable.patch91
-rw-r--r--abs/core/mesa/0002-loader-dri3-import-prime-buffers-in-the-currently-bo.patch59
-rw-r--r--abs/core/mesa/PKGBUILD117
-rw-r--r--abs/core/mesa/__changelog1
-rw-r--r--abs/core/mesa/llvm-39.patch10
-rw-r--r--abs/core/mesa/remove-libpthread-stubs.patch14
-rw-r--r--abs/core/mplayer/PKGBUILD50
-rw-r--r--abs/core/mplayer/__changelog1
-rw-r--r--abs/core/mplayer/ffmpeg-libvpxenc-remove-some-unused-ctrl-id-mappings.patch41
-rw-r--r--abs/core/mplayer/mplayer.install11
-rw-r--r--abs/core/mysql/PKGBUILD4
-rwxr-xr-xabs/core/mythdb-initial/PKGBUILD4
-rw-r--r--abs/core/mythdb-initial/custom.sql4
-rw-r--r--abs/core/mythtv/stable-0.28/git_src/git_hash2
-rw-r--r--abs/core/mythtv/stable-0.28/git_src/git_hash_web2
-rw-r--r--abs/core/mythtv/stable-0.28/mythplugins/PKGBUILD2
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/PKGBUILD18
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/addDamagedToProgDetails.patch11
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/recordings11
-rw-r--r--abs/core/mythtv/stable-0.28/mythtv/searchMetatdataSelectedGrabber.patch18
-rw-r--r--abs/core/mythtv/stable-0.28/mythweb/PKGBUILD2
-rw-r--r--abs/core/nano/PKGBUILD12
-rw-r--r--abs/core/nvidia-304xx-utils/PKGBUILD10
-rw-r--r--abs/core/nvidia-304xx/PKGBUILD21
-rw-r--r--abs/core/nvidia-304xx/nvidia-304xx-dkms.install30
-rw-r--r--abs/core/nvidia-340xx-utils/PKGBUILD20
-rw-r--r--abs/core/nvidia-340xx/PKGBUILD18
-rw-r--r--abs/core/nvidia-340xx/nvidia-340xx-dkms.install30
-rw-r--r--abs/core/nvidia-utils/PKGBUILD10
-rw-r--r--abs/core/nvidia/PKGBUILD11
-rw-r--r--abs/core/nvidia/fix-abi.patch12
-rw-r--r--abs/core/openssh/PKGBUILD12
-rw-r--r--abs/core/openssh/dispatch.patch81
-rw-r--r--abs/core/openssh/error.patch25
-rw-r--r--abs/core/openssh/install10
-rw-r--r--abs/core/openssh/sshdgenkeys.service6
-rw-r--r--abs/core/php/PKGBUILD81
-rw-r--r--abs/core/php/__changelog24
-rw-r--r--abs/core/php/linhes.ini39
-rw-r--r--abs/core/php/php-apache.install11
-rw-r--r--abs/core/php/php.ini.patch51
-rwxr-xr-xabs/core/php/php.install4
-rw-r--r--abs/core/python_modules/python_aosd/PKGBUILD11
-rw-r--r--abs/core/tilda/PKGBUILD6
-rw-r--r--abs/core/tilda/tilda.changelog6
-rw-r--r--abs/core/x265/PKGBUILD80
-rw-r--r--abs/core/xcursor-vanilla-dmz/PKGBUILD29
-rw-r--r--abs/core/xf86-video-intel/PKGBUILD5
-rw-r--r--abs/core/xorg-appres/PKGBUILD9
-rw-r--r--abs/core/xorg-server-utils/PKGBUILD5
-rw-r--r--abs/core/xorg-server/0001-systemd-logind-do-not-rely-on-directed-signals.patch55
-rw-r--r--abs/core/xorg-server/PKGBUILD36
-rw-r--r--abs/core/xorg-server/__changelog1
-rw-r--r--abs/core/xorg-server/v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch12
-rw-r--r--abs/core/xorg-server/xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch14
-rw-r--r--abs/core/xorg-xrandr/PKGBUILD10
-rw-r--r--abs/core/xterm/PKGBUILD5
-rw-r--r--abs/core/zoneminder/PKGBUILD179
-rw-r--r--abs/core/zoneminder/__changelog16
-rw-r--r--abs/core/zoneminder/httpd-zoneminder.conf6
-rw-r--r--abs/core/zoneminder/zoneminder-tmpfile.conf1
-rw-r--r--abs/core/zoneminder/zoneminder.install45
-rw-r--r--abs/core/zoneminder/zoneminder.service7
-rw-r--r--abs/extra/camlp4/PKGBUILD33
-rw-r--r--abs/extra/ffmpeg2.8/PKGBUILD110
-rw-r--r--abs/extra/ffmpeg2.8/__changelog2
-rw-r--r--abs/extra/ffmpeg2.8/ffmpeg-2.8-Resolve-plex-direct-domains.patch37
-rw-r--r--abs/extra/ffmpeg2.8/ffmpeg-2.8-kodi.patch585
-rw-r--r--abs/extra/ffmpeg2.8/ffmpeg-99.0011-mpeg4video-Signal-unsupported-GMC-with-more-than-one.patch48
-rw-r--r--abs/extra/ffmpeg2.8/ffmpeg-Speed_up_wtv_index_creation.patch47
-rw-r--r--abs/extra/glu/PKGBUILD3
-rw-r--r--abs/extra/gnome-vfs/PKGBUILD43
-rw-r--r--abs/extra/gnome-vfs/enable-deprecated.patch57
-rw-r--r--abs/extra/gnome-vfs/gnutls-3.4.0.patch38
-rw-r--r--abs/extra/google-chrome/PKGBUILD4
-rw-r--r--abs/extra/hdf5/PKGBUILD42
-rw-r--r--abs/extra/lablgtk2/PKGBUILD18
-rw-r--r--abs/extra/libebml/PKGBUILD16
-rw-r--r--abs/extra/libglvnd/PKGBUILD5
-rw-r--r--abs/extra/libmatroska/PKGBUILD19
-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/PKGBUILD129
-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.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/mkvtoolnix/PKGBUILD103
-rw-r--r--abs/extra/mkvtoolnix/mkvtoolnix-gui.install15
-rw-r--r--abs/extra/mkvtoolnix/mkvtoolnix.install15
-rw-r--r--abs/extra/mpd/PKGBUILD18
-rw-r--r--abs/extra/netcdf/PKGBUILD46
-rw-r--r--abs/extra/nvidia-settings/PKGBUILD46
-rw-r--r--abs/extra/nvidia-settings/libxnvctrl_so.patch67
-rw-r--r--[-rwxr-xr-x]abs/extra/openpht/PKGBUILD59
-rw-r--r--abs/extra/openpht/__changelog1
-rw-r--r--abs/extra/openpht/fribidi.patch50
-rwxr-xr-xabs/extra/openpht/plex-ffmpeg-compat.patch29
-rw-r--r--abs/extra/openpht/plexhometheater.desktop10
-rwxr-xr-xabs/extra/openpht/plexhometheater.sh2
-rw-r--r--abs/extra/plex-media-server/MKPKG3
-rw-r--r--abs/extra/plex-media-server/PKGBUILD28
-rw-r--r--abs/extra/plex-media-server/__changelog2
-rw-r--r--abs/extra/plex-media-server/plex-media-server.install40
-rw-r--r--abs/extra/plex-media-server/plex.sysusers2
-rw-r--r--abs/extra/plex-media-server/plexmediaserver.service1
-rw-r--r--abs/extra/roomeqwizard/PKGBUILD38
-rw-r--r--abs/extra/tidy/PKGBUILD42
-rw-r--r--abs/extra/tidyhtml/PKGBUILD42
-rw-r--r--abs/extra/time/PKGBUILD47
-rw-r--r--abs/extra/time/time-1.7-Recompute-CPU-usage-at-microsecond-level.patch72
-rw-r--r--abs/extra/time/time-1.7-ru_maxrss-is-in-kilobytes-on-Linux.patch32
158 files changed, 3213 insertions, 3471 deletions
diff --git a/abs/core/LinHES-system/PKGBUILD b/abs/core/LinHES-system/PKGBUILD
index 2479cab..7a02894 100755
--- a/abs/core/LinHES-system/PKGBUILD
+++ b/abs/core/LinHES-system/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=LinHES-system
pkgver=8.4
-pkgrel=12
+pkgrel=16
arch=('i686' 'x86_64')
install=system.install
pkgdesc="Everything that makes LinHES an automated system"
@@ -15,7 +15,7 @@ binfiles="LinHES-start optimize_mythdb.py myth_mtc.py
load-modules-mythvantage.sh unclutter-toggle.sh tvterm.sh
mythfrontend-start set_windowmanager.sh myth_status.py myth_status.sh
install_supplemental_service.sh get_airplay_key importfiles.sh
- lh_system_backup lh_system_backup_job lh_system_restore_job
+ lh_system_backup lh_system_backup_job lh_system_restore lh_system_restore_job
lh_system_host_update lh_system_all_host_update
add_storage.py balance_storage_groups.py empty_storage_groups.py
diskspace.sh cacheclean lh_backend_control.sh
@@ -96,17 +96,18 @@ md5sums=('c6e6b83a1f4c35ef4501e277657ab2ac'
'33fbebbd546672cedd3c5e7350ab414e'
'c773d8caacba8fbd4968e8afe5137bc6'
'3edef50a49a47694bf8add39cc160add'
- 'a730185e0d5d8bd0b6d06938d841c8c0'
+ '01cbbf411d2a585feb71f2881755e5d8'
+ 'f421f670a9c74724037f70d1dabcad00'
'bc69a520add58ede9b060c73e67ace13'
'74e17d6f7453c52d56fecaed5c3f6ad5'
'47e093e8cfe4b5b96602358e1f540832'
- '9d1ad3c698296a1f8790c5cdc85483e3'
+ 'df3d5af03954168852b7e5c66fd174c6'
'0c81e5cad656f6260e39cd7585b1421a'
'e5bb027c54a2727d0bcf8d6fb357ba32'
'2c005d95312018bef80092136f80f254'
'c8db6a83ecc089ea37ab7fcb0f7a01cf'
'ca63946920ba33de1f15abda83e74e40'
- '84c0ea62550b0bf9d84ab48eddc08276'
+ 'bc9a01dfed47d3f9d7599cf9c08b1066'
'3e60b17892e5b8214d47dcfddf5215a4'
'57ec994cc3964a10c00580e89ebcae35'
'00330dab3979f34b07b23b20ea06d37e'
diff --git a/abs/core/LinHES-system/add_storage.py b/abs/core/LinHES-system/add_storage.py
index 853c39e..82de56e 100755
--- a/abs/core/LinHES-system/add_storage.py
+++ b/abs/core/LinHES-system/add_storage.py
@@ -25,19 +25,19 @@ pickle_file = "%s/storage.pkl" %storage_dir
SG_MAP={
- 'Default' :'media/tv',
- 'LiveTV' :'media/tv/live',
+ 'Default' :'media/tv/',
+ 'LiveTV' :'media/tv/live/',
'DB Backups' :'backup/mythtv_backups/',
- 'Music' :'media/music',
- 'Streaming' :'media/streaming',
- 'Videos' :'media/video',
- 'Photographs':'media/photos',
- 'Banners' :'media/artwork/banners',
- 'Coverart' :'media/artwork/coverart',
- 'Fanart' :'media/artwork/fanart',
- 'MusicArt' :'media/artwork/musicart',
- 'Screenshots':'media/artwork/screenshots',
- 'Trailers' :'media/artwork/trailers',
+ 'Music' :'media/music/',
+ 'Streaming' :'media/streaming/',
+ 'Videos' :'media/video/',
+ 'Photographs':'media/photos/',
+ 'Banners' :'media/artwork/banners/',
+ 'Coverart' :'media/artwork/coverart/',
+ 'Fanart' :'media/artwork/fanart/',
+ 'MusicArt' :'media/artwork/musicart/',
+ 'Screenshots':'media/artwork/screenshots/',
+ 'Trailers' :'media/artwork/trailers/',
}
FS_LIST=[]
@@ -248,7 +248,7 @@ class disk_device:
def add_fstab(self,bind=False):
new_fstab_list=['UUID=', 'mount_point', 'auto', 'defaults', '0', '1']
fstab=self.read_fstab()
-
+ new_fstab=[]
#determine mount_path
self.new_mount_point="%s/%s_%s" %(self.top_mount_dir,self.model.replace(' ',''),self.serial_number.replace(' ',''))
@@ -257,8 +257,16 @@ class disk_device:
new_fstab_list=["/data/storage/disk0" , self.new_mount_point , "none" , "rw,bind", '0', '0']
uuid=self.find_uuid(self.block_partition)
else:
- #determine options
-
+ #check for old mount point and comment out
+ for line in fstab:
+ if not line.startswith("#"):
+ if line.find(self.new_mount_point) > -1:
+ print " Found old mount %s in fstab, commenting out" %self.new_mount_point
+ line = "#"+line
+ new_fstab.append(line)
+ fstab=new_fstab
+
+ #determine options
new_options = self.find_options_type(fstab)[0]
#find blkid
@@ -328,6 +336,9 @@ class disk_device:
print "Will write SG for stuff after the fact"
else:
with DB as c:
+ #delete old dir without trailing slash
+ c.execute("""delete from storagegroup where groupname = %s and hostname = %s and dirname = %s""", (gn,hn,dn.rstrip('/')))
+
try:
c.execute("""insert into storagegroup (groupname,hostname,dirname) values (%s,%s,%s)""",(gn,hn,dn))
print " Adding location: %s to storagegroup %s" %(dn,gn)
@@ -342,6 +353,9 @@ class disk_device:
#print sgweight
#print hn
+ #delete old dir without trailing slash
+ c.execute("""delete from settings where value = %s and data = %s and hostname = %s""", (sgw.rstrip('/'),sgweight,hn))
+
c.execute("""insert into settings (value,data,hostname) values (%s,%s,%s)""",(sgw,sgweight,hn))
print " Adding storage group weight of %s for %s\n" %(sgweight,gn)
except:
@@ -481,7 +495,6 @@ def prompt_to_add(current_drive,destruction = True):
def prompt_to_continue(process_list):
loop = True
- #while loop:
print "\n\n\n Ready to add additional storage!\n"
if destruction:
print "** WARNING: These disk(s) WILL be partitioned and formatted. **\n ** All content on these disk(s) will be erased. **"
@@ -491,10 +504,6 @@ def prompt_to_continue(process_list):
print " %s" %(i.get_name())
str1 = raw_input("\n Press Y to add disk(s), any other key to cancel:")
- #if str1 in ['Y','N','y','n']:
- # loop = False
- # break
- #print "\n"
if str1 == 'Y' or str1 == 'y':
rc = True
else:
@@ -673,6 +682,7 @@ def main(scan_only, destruction, no_mount, install_call, dir_sg):
i.mkdirs(FS_LIST)
i.set_disk_num(disk_num)
+ i.set_dir_sg(dir_sg)
i.write_config()
system_drive_list.append(i)
write_known_drive_list(system_drive_list)
@@ -807,6 +817,9 @@ def reconstruct_storagegroups():
hn=host
dn="%s/%s" %(mount_point,SG_MAP[key])
with DB as c:
+ #delete old dir without trailing slash
+ c.execute("""delete from storagegroup where groupname = %s and hostname = %s and dirname = %s""", (gn,hn,dn.rstrip('/')))
+
try:
c.execute("""insert into storagegroup (groupname,hostname,dirname) values (%s,%s,%s)""",(gn,hn,dn))
print " Added: %s to storagegroup %s" %(dn,gn)
@@ -815,6 +828,10 @@ def reconstruct_storagegroups():
if sgweight > 0:
try:
sgw="SGweightPerDir:%s:%s" %(hn,dn)
+
+ #delete old dir without trailing slash
+ c.execute("""delete from settings where value = %s and data = %s and hostname = %s""", (sgw.rstrip('/'),sgweight,hn))
+
if DB.settings[hn][sgw] == u'99':
print " Skipping: storage group weight DB entry exists"
else:
@@ -901,7 +918,6 @@ class reconstruct_path:
return fstab
def check_in_fstab(self,fstab,check_path):
-
for line in fstab:
if line.find(check_path) > -1:
return True
@@ -914,7 +930,7 @@ class reconstruct_path:
f = open('/etc/fstab', 'a')
#f = open('/tmp/fstab', 'a')
f.write(new_fstab_line)
- f.write("\n")
+ #f.write("\n")
f.close()
def symlink(self):
@@ -940,7 +956,7 @@ class reconstruct_path:
self.symlink()
if self.check_in_fstab(fstab,self.uuid) == True:
- print " Found disk in fstab, will not add it"
+ print " Found UUID of disk in fstab, will not add it"
else:
print " Adding storage to fstab"
if self.bind == "True" :
@@ -952,6 +968,16 @@ class reconstruct_path:
print " Found bind storage in fstab, will not add it"
else:
+ #check for old mount point and comment out
+ f = open('/etc/fstab', 'w')
+ for line in fstab:
+ if not line.startswith("#"):
+ if line.find(self.mount_point) > -1:
+ print " Found old mount %s in fstab, commenting out" %self.mount_point
+ line = "#"+line
+ f.write(line)
+ f.close()
+
#construct new line
new_options = self.find_options_type(fstab)[0]
new_fstab_list[0]="UUID=%s" %self.uuid
diff --git a/abs/core/LinHES-system/create_media_dirs.sh b/abs/core/LinHES-system/create_media_dirs.sh
index f56377b..7c4ff2f 100644
--- a/abs/core/LinHES-system/create_media_dirs.sh
+++ b/abs/core/LinHES-system/create_media_dirs.sh
@@ -1,5 +1,6 @@
#!/bin/bash
#script to create the media directories
+#used for building ISO (go.sh) and LiveCD (pre_install.sh)
#call it like so
#create_media_dirs.sh /top_level_path
@@ -30,6 +31,7 @@ done <<EOF
media/tv
media/tv/live
media/gallery
+media/photos
media/music
media/games/nes/roms
media/games/nes/screens
@@ -55,6 +57,7 @@ media/streaming
media/artwork/trailers
media/artwork/coverart
media/artwork/fanart
+media/artwork/musicart
media/artwork/screenshots
media/artwork/banners
media/games/screenshots
diff --git a/abs/core/LinHES-system/lh_system_backup_job b/abs/core/LinHES-system/lh_system_backup_job
index 00ab5f6..8539ff2 100644
--- a/abs/core/LinHES-system/lh_system_backup_job
+++ b/abs/core/LinHES-system/lh_system_backup_job
@@ -8,7 +8,7 @@ MYTH_RUN_STATUS="1"
. /etc/systemconfig
BACKUPDIR=/data/storage/disk0/backup/system_backups
SECBACKUPLINK=/data/storage/disk1
-KeepBackups=13
+KeepBackups=14
DATE=`date +%F_%H-%M`
backup_status=0
#
@@ -20,7 +20,7 @@ function lock_myth(){
}
function unlock_myth(){
- $MYTHSHUTDOWN --unlock
+ $MYTHSHUTDOWN --unlock
}
function backup_status_check(){
@@ -131,10 +131,20 @@ function backup(){
cd $BACKUPDIR
tar -zcf $BACKUPDIR/backup.$DATE.tgz $DATE
backup_status_check $?
- if [ -d $BACKUPDIR/$DATE ]
- then
- rm -rf $BACKUPDIR/$DATE
- fi
+ if [ -d $BACKUPDIR/$DATE ]
+ then
+ rm -rf $BACKUPDIR/$DATE
+ fi
+
+ if [ $backup_status -eq 0 ]
+ then
+ BACKUPPATH=$BACKUPDIR/backup.$DATE.tgz
+ else
+ echo "Backup had an error"
+ mkdir $BACKUPDIR/errored_backups
+ mv $BACKUPDIR/backup.$DATE.tgz $BACKUPDIR/errored_backups/backup.$DATE.tgz
+ BACKUPPATH=$BACKUPDIR/errored_backups/backup.$DATE.tgz
+ fi
if [ -f /home/xymon/server/ext/hbnotes.py ]
then
@@ -143,7 +153,7 @@ function backup(){
fi
echo
echo "Created backup file:"
- echo " $BACKUPDIR/backup.$DATE.tgz"
+ echo " $BACKUPPATH"
}
function update_backup_status(){
@@ -292,9 +302,13 @@ function remove_link(){
lock_myth
if [ "x$1" = "x" ]
then
- remove_old_backups
backup
update_backup_status
+ #only remove old backups if there was no problems
+ if [ $backup_status -eq 0 ]
+ then
+ remove_old_backups
+ fi
remote_backup
add_link
else
diff --git a/abs/core/alsa-lib/PKGBUILD b/abs/core/alsa-lib/PKGBUILD
index aecef20..af325f4 100644
--- a/abs/core/alsa-lib/PKGBUILD
+++ b/abs/core/alsa-lib/PKGBUILD
@@ -2,7 +2,7 @@
# Maintainer: judd <jvinet@zeroflux.org>
pkgname=alsa-lib
-pkgver=1.0.29
+pkgver=1.1.1
pkgrel=1
pkgdesc="An alternative implementation of Linux sound support"
arch=('i686' 'x86_64')
@@ -12,6 +12,7 @@ optdepends=('python2: for python smixer plugin')
makedepends=('python2')
license=('GPL')
source=(ftp://ftp.alsa-project.org/pub/lib/$pkgname-$pkgver.tar.bz2)
+sha1sums=('09f7e9b2d88287e04a4bb0d56e0cbc9018e524ec')
build() {
cd "$srcdir/$pkgname-$pkgver"
@@ -23,4 +24,3 @@ package() {
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir" install
}
-md5sums=('de67e0eca72474d6b1121037dafe1024')
diff --git a/abs/core/alsa-plugins/PKGBUILD b/abs/core/alsa-plugins/PKGBUILD
index 42fb370..c51c3e6 100644
--- a/abs/core/alsa-plugins/PKGBUILD
+++ b/abs/core/alsa-plugins/PKGBUILD
@@ -4,23 +4,20 @@
# Contributor: Daniel Ehlers <danielehlers@mindeye.net>
pkgname=alsa-plugins
-pkgver=1.0.29
-pkgrel=2
+pkgver=1.1.1
+pkgrel=1
pkgdesc="Extra alsa plugins"
arch=(i686 x86_64)
url="http://www.alsa-project.org"
license=(GPL)
depends=(alsa-lib)
makedepends=(ffmpeg)
-optdepends=('ffmpeg: libavcodec resampling plugin, a52 plugin'
+optdepends=(
+ 'ffmpeg: libavcodec resampling plugin, a52 plugin'
'libsamplerate: libsamplerate resampling plugin'
'speex: libspeexdsp resampling plugin')
source=("ftp://ftp.alsa-project.org/pub/plugins/$pkgname-$pkgver.tar.bz2")
-
-prepare() {
- cd $pkgname-$pkgver
- sed -i 's/ && LIBAVCODEC_VERSION_MINOR >= 34//' a52/pcm_a52.c
-}
+sha1sums=('280eb0d9810e463059747d01760a5ac3f44d7057')
build() {
cd $pkgname-$pkgver
@@ -36,4 +33,3 @@ package() {
install -d "$pkgdir/usr/share/doc/$pkgname"
install -m644 doc/README* doc/*.txt "$pkgdir/usr/share/doc/$pkgname/"
}
-md5sums=('a66797b4471e3cbe96575207bfbe252c')
diff --git a/abs/core/alsa-plugins/__changelog b/abs/core/alsa-plugins/__changelog
new file mode 100644
index 0000000..c38bb2f
--- /dev/null
+++ b/abs/core/alsa-plugins/__changelog
@@ -0,0 +1 @@
+PKGBUILD: remove deps libpulse and jack
diff --git a/abs/core/alsa-utils/PKGBUILD b/abs/core/alsa-utils/PKGBUILD
index 73fac66..d12067b 100644
--- a/abs/core/alsa-utils/PKGBUILD
+++ b/abs/core/alsa-utils/PKGBUILD
@@ -3,13 +3,13 @@
# Contributor: judd <jvinet@zeroflux.org>
pkgname=alsa-utils
-pkgver=1.0.29
+pkgver=1.1.1
pkgrel=1
pkgdesc="An alternative implementation of Linux sound support"
arch=('i686' 'x86_64')
url="http://www.alsa-project.org"
#can not use >=$pkgver due to use of letters in alsa-lib update versioning
-depends=("alsa-lib>1.0.24" 'pciutils' 'ncurses' 'psmisc' 'libsamplerate')
+depends=("alsa-lib>1.0.24" 'pciutils' 'ncurses' 'psmisc' 'libsamplerate' 'fftw')
makedepends=('xmlto' 'docbook-xsl')
license=('GPL')
source=(ftp://ftp.alsa-project.org/pub/utils/$pkgname-${pkgver}.tar.bz2
@@ -38,5 +38,5 @@ package() {
# dir where to save ALSA state
install -d ${pkgdir}/var/lib/alsa
}
-md5sums=('6b289bf874c4c9a63f4b3973093dd404'
+md5sums=('f8d00ad5fba757b4c3735d066cc288e2'
'529216f6a46e61a546640e08ea7a0879')
diff --git a/abs/core/avahi/PKGBUILD b/abs/core/avahi/PKGBUILD
index d98069b..5aa2247 100644
--- a/abs/core/avahi/PKGBUILD
+++ b/abs/core/avahi/PKGBUILD
@@ -1,16 +1,19 @@
# $Id$
-# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Gaetan Bisson <bisson@archlinux.org>
# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
pkgname=avahi
-pkgver=0.6.31
-pkgrel=14
-pkgdesc='Multicast/unicast DNS-SD framework'
-url='http://www.avahi.org/'
-license=('LGPL')
-arch=('i686' 'x86_64')
-options=('!emptydirs')
-depends=('expat' 'libdaemon' 'glib2' 'libcap' 'gdbm' 'dbus')
+pkgver=0.6.32
+pkgrel=2
+_commit=4f334990f692ce08ab4ea2eece695f1592f535b2
+pkgdesc='Service Discovery for Linux using mDNS/DNS-SD -- compatible with Bonjour'
+url='https://github.com/lathiat/avahi'
+license=(LGPL)
+arch=(i686 x86_64)
+depends=(expat libdaemon glib2 libcap gdbm dbus)
+makedepends=(git qt4 pygtk mono intltool python2-dbus gtk-sharp-2 gobject-introspection gtk3
+ xmltoman)
optdepends=('gtk3: avahi-discover-standalone, bshell, bssh, bvnc'
'gtk2: gtk2 bindings'
'qt4: qt4 bindings'
@@ -19,62 +22,55 @@ optdepends=('gtk3: avahi-discover-standalone, bshell, bssh, bvnc'
'mono: mono bindings'
'python2-dbus: avahi-discover'
'nss-mdns: NSS support for mDNS')
-makedepends=('qt4' 'pygtk' 'mono' 'intltool' 'python2-dbus'
- 'gtk-sharp-2' 'gobject-introspection' 'gtk3' 'xmltoman')
-backup=('etc/avahi/hosts'
- 'etc/avahi/avahi-daemon.conf'
- 'etc/avahi/services/ssh.service'
- 'etc/avahi/services/sftp-ssh.service'
- 'usr/lib/avahi/service-types.db'
- 'usr/share/avahi/service-types')
-source=("http://www.avahi.org/download/avahi-${pkgver}.tar.gz")
-sha1sums=('7e05bd78572c9088b03b1207a0ad5aba38490684')
+install=avahi.install
+backup=(etc/avahi/{hosts,avahi-daemon.conf}
+ usr/lib/avahi/service-types.db usr/share/avahi/service-types)
+source=("git+$url#commit=$_commit")
+sha256sums=('SKIP')
-conflicts=('howl' 'mdnsresponder')
-provides=('howl' 'mdnsresponder')
-
-install=install
prepare() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- sed '/^Libs:/s:$: -ldbus-1:' -i avahi-client.pc.in
- sed 's:netdev:network:g' -i avahi-daemon/avahi-dbus.conf
- sed 's:/sbin/resolvconf:/usr/sbin/resolvconf:g' -i */*.action
- sed 's:-DG[^ ]*_DISABLE_DEPRECATED=1::g' -i avahi-ui/Makefile.*
+ cd $pkgname
+ NOCONFIGURE=1 ./autogen.sh
}
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- export MOC_QT4=/usr/bin/moc-qt4
- export PYTHON=/usr/bin/python2
+ cd $pkgname
+ export MOC_QT4=/usr/bin/moc-qt4 PYTHON=/usr/bin/python2
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --sbindir=/usr/bin \
+ --disable-monodoc \
+ --disable-qt3 \
+ --enable-compat-libdns_sd \
+ --with-distro=archlinux \
+ --with-avahi-priv-access-group=network \
+ --with-autoipd-user=avahi \
+ --with-autoipd-group=avahi \
+ --with-systemdsystemunitdir=/usr/lib/systemd/system
- ./configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --sbindir=/usr/bin \
- --disable-monodoc \
- --disable-qt3 \
- --enable-compat-libdns_sd \
- --enable-compat-howl \
- --with-distro=archlinux \
- --with-avahi-priv-access-group=network \
- --with-autoipd-user=avahi \
- --with-autoipd-group=avahi \
- --with-systemdsystemunitdir=/usr/lib/systemd/system \
+ cp -a avahi-python/avahi avahi-python/avahi3
- make
+ make
+ make -C avahi-python/avahi3 PYTHON=/usr/bin/python2
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
- rm -fr "${pkgdir}"/etc/rc.d
+ cd $pkgname
+ make DESTDIR="$pkgdir" install
+ make DESTDIR="$pkgdir" -C avahi-python/avahi3 install \
+ PYTHON=/usr/bin/python2 pythondir=/usr/lib/python2.7/site-packages
+
+ # mdnsresponder compat
+ ln -s avahi-compat-libdns_sd/dns_sd.h "$pkgdir/usr/include/dns_sd.h"
- # howl and mdnsresponder compatability
- cd "${pkgdir}"/usr/include; ln -s avahi-compat-libdns_sd/dns_sd.h dns_sd.h; ln -s avahi-compat-howl howl
- cd "${pkgdir}"/usr/lib/pkgconfig; ln -s avahi-compat-howl.pc howl.pc
+ # move example services https://bugs.archlinux.org/task/47822
+ install -d "$pkgdir/usr/share/doc/$pkgname"
+ mv "$pkgdir"/etc/avahi/services/{,sftp-}ssh.service \
+ "$pkgdir/usr/share/doc/$pkgname/"
- # see FS#42638
- ln avahi-daemon.service -s "${pkgdir}"/usr/lib/systemd/system/dbus-org.freedesktop.Avahi.service
+ rmdir "$pkgdir"/var{/run,}
}
diff --git a/abs/core/avahi/__changelog b/abs/core/avahi/__changelog
index ecb5358..5c5991a 100644
--- a/abs/core/avahi/__changelog
+++ b/abs/core/avahi/__changelog
@@ -1,2 +1,2 @@
-removed php
-changed location of sbin
+PKGBUILD: change py3 to py2
+avahi.install: remove systemd start message
diff --git a/abs/core/avahi/avahi.install b/abs/core/avahi/avahi.install
new file mode 100644
index 0000000..909cf98
--- /dev/null
+++ b/abs/core/avahi/avahi.install
@@ -0,0 +1,7 @@
+post_install() {
+ if ! getent passwd avahi &>/dev/null; then
+ groupadd -r -g 84 avahi
+ useradd -r -u 84 -g avahi -d / -s /bin/nologin -c avahi avahi
+ fi
+}
+
diff --git a/abs/core/avahi/gnome-nettool.png b/abs/core/avahi/gnome-nettool.png
deleted file mode 100644
index 227d067..0000000
--- a/abs/core/avahi/gnome-nettool.png
+++ /dev/null
Binary files differ
diff --git a/abs/core/avahi/install b/abs/core/avahi/install
deleted file mode 100644
index d4ae23e..0000000
--- a/abs/core/avahi/install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- getent group avahi &>/dev/null || groupadd -r -g 84 avahi >/dev/null
- getent passwd avahi &>/dev/null || useradd -r -u 84 -g avahi -d / -s /bin/false -c avahi avahi >/dev/null
- true
-}
-
-post_remove() {
- getent passwd avahi &>/dev/null && userdel avahi >/dev/null
- getent group avahi &>/dev/null && groupdel avahi >/dev/null
- true
-}
diff --git a/abs/core/avahi/rc.d.patch b/abs/core/avahi/rc.d.patch
deleted file mode 100644
index fd73573..0000000
--- a/abs/core/avahi/rc.d.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -aur old/initscript/archlinux/avahi-daemon.in new/initscript/archlinux/avahi-daemon.in
---- old/initscript/archlinux/avahi-daemon.in 2011-06-24 03:07:00.916170590 +0200
-+++ new/initscript/archlinux/avahi-daemon.in 2011-06-24 03:16:32.220596377 +0200
-@@ -33,6 +33,7 @@
-
- case "$1" in
- start)
-+ ck_daemon dbus && { echo -n "Start dbus first." >&2; stat_die; }
- stat_busy "Starting $DESC"
- $DAEMON -D > /dev/null 2>&1
- if [ $? -gt 0 ]; then
diff --git a/abs/core/ceton_infinitv/PKGBUILD b/abs/core/ceton_infinitv/PKGBUILD
index 1fb66a2..839883c 100755
--- a/abs/core/ceton_infinitv/PKGBUILD
+++ b/abs/core/ceton_infinitv/PKGBUILD
@@ -2,10 +2,10 @@
pkgname=ceton_infinitv
#_kernver=`uname -r`
-_kernver=4.4.8-1-ARCH
+_kernver=4.4.26-1-ARCH
_extramods="extramodules-4.4-ARCH"
pkgver=2013.0326.2226
-pkgrel=14
+pkgrel=17
usb_pkgver=0.1.0
pci_pkgver=`echo $pkgver | tr . _`
pkgdesc="Drivers for Ceton InfiniTV4 - pci/usb "
@@ -48,7 +48,7 @@ package() {
install -Dm755 ${srcdir}/ifctn.sh ${pkgdir}/usr/LH/bin/
install -m755 ${srcdir}/reset_network.py ${pkgdir}/usr/bin/infinitv_reset_network.py
}
-md5sums=('7ae02309e86ee642b13aeb2f446462bb'
+md5sums=('de329d7c9477a22fa8cb18f3a74b2ff5'
'554f2c1bcc5d7169659f0ad3d8a513a5'
'b5db78e2b9cccd65d6ea4c88dd028ace'
'9f95a08bdd8c2a9e8d62e7daf52a90f6'
diff --git a/abs/core/cmake/PKGBUILD b/abs/core/cmake/PKGBUILD
index e56b6e0..6896a07 100644
--- a/abs/core/cmake/PKGBUILD
+++ b/abs/core/cmake/PKGBUILD
@@ -4,8 +4,8 @@
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=cmake
-pkgver=3.4.1
-pkgrel=3
+pkgver=3.6.2
+pkgrel=1
pkgdesc='A cross-platform open-source make system'
arch=('i686' 'x86_64')
url="http://www.cmake.org/"
@@ -14,9 +14,8 @@ depends=('curl' 'libarchive' 'shared-mime-info' 'jsoncpp')
makedepends=('qt5-base' 'python2-sphinx' 'emacs')
optdepends=('qt5-base: cmake-gui'
'libxkbcommon-x11: cmake-gui')
-install="${pkgname}.install"
source=("http://www.cmake.org/files/v${pkgver%.*}/${pkgname}-${pkgver}.tar.gz")
-md5sums=('73acda0d33be9b2729af99893d99a012')
+md5sums=('139d7affdd4e8ab1edfc9f4322d69e43')
prepare() {
cd ${pkgname}-${pkgver}
diff --git a/abs/core/cmake/cmake.install b/abs/core/cmake/cmake.install
deleted file mode 100644
index 55f6c84..0000000
--- a/abs/core/cmake/cmake.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- update-mime-database usr/share/mime &> /dev/null
- [[ -x usr/bin/update-desktop-database ]] && update-desktop-database -q || true
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/abs/core/cython/PKGBUILD b/abs/core/cython/PKGBUILD
index 3665abe..1952091 100644
--- a/abs/core/cython/PKGBUILD
+++ b/abs/core/cython/PKGBUILD
@@ -1,36 +1,35 @@
-# $Id: PKGBUILD 69975 2012-04-27 16:14:15Z spupykin $
+# $Id$
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Igor Scabini <furester @ gmail.com>
-pkgname=( 'cython2')
+pkgname=('cython2')
pkgbase=cython
-pkgver=0.16
+pkgver=0.24
pkgrel=1
pkgdesc="C-Extensions for Python "
arch=(i686 x86_64)
url="http://www.cython.org"
license=('APACHE')
-makedepends=( 'python2-distribute')
+makedepends=('python2-setuptools')
source=("http://cython.org/release/Cython-$pkgver.tar.gz")
-md5sums=('7934186ada3552110aba92062fa88b1c')
-
-build() {
- true
-}
+md5sums=('14fbc970f4a856845e633cbc09e61048')
package_cython() {
- depends=('python')
+ depends=('python' 'python-setuptools')
cd $srcdir/Cython-$pkgver
python setup.py install --root=$pkgdir
+
+ sed -i 's|#!.*python|#!/usr/bin/python3|' $pkgdir/usr/bin/*
}
package_cython2() {
- depends=('python2')
+ depends=('python2' 'python2-setuptools')
cd $srcdir/Cython-$pkgver
python2 setup.py install --root=$pkgdir
mv $pkgdir/usr/bin/cygdb $pkgdir/usr/bin/cygdb2
mv $pkgdir/usr/bin/cython $pkgdir/usr/bin/cython2
+ mv $pkgdir/usr/bin/cythonize $pkgdir/usr/bin/cythonize2
}
diff --git a/abs/core/ffmpeg/PKGBUILD b/abs/core/ffmpeg/PKGBUILD
index 8f3e9d7..541249f 100644
--- a/abs/core/ffmpeg/PKGBUILD
+++ b/abs/core/ffmpeg/PKGBUILD
@@ -6,7 +6,7 @@
# Contributor: Paul Mattal <paul@archlinux.org>
pkgname=ffmpeg
-pkgver=2.8.5
+pkgver=3.0.2
pkgrel=2
epoch=1
pkgdesc='Complete solution to record, convert and stream audio and video'
@@ -14,9 +14,10 @@ arch=('i686' 'x86_64')
url='http://ffmpeg.org/'
license=('GPL3')
depends=('alsa-lib' 'bzip2' 'fontconfig' 'fribidi' 'gnutls' 'gsm' 'lame'
- 'libass' 'libbluray' 'libmodplug' 'libsoxr' 'libssh'
- 'libtheora' 'libva' 'libvdpau' 'libwebp' 'opencore-amr' 'openjpeg'
- 'opus' 'schroedinger' 'sdl' 'speex' 'v4l-utils' 'xvidcore' 'zlib'
+ 'libass' 'libavc1394' 'libbluray' 'libiec61883' 'libmodplug'
+ 'libsoxr' 'libssh' 'libtheora' 'libva' 'libvdpau' 'libwebp'
+ 'netcdf' 'opencore-amr' 'openjpeg' 'opus' 'schroedinger' 'sdl' 'speex'
+ 'v4l-utils' 'xvidcore' 'zlib'
'libdcadec.so' 'libvidstab.so' 'libvorbis.so' 'libvorbisenc.so'
'libvpx.so' 'libx264.so' 'libx265.so')
makedepends=('hardening-wrapper' 'ladspa' 'libvdpau' 'yasm')
@@ -26,7 +27,7 @@ provides=('libavcodec.so' 'libavdevice.so' 'libavfilter.so' 'libavformat.so'
'libswscale.so')
source=(http://ffmpeg.org/releases/ffmpeg-${pkgver}.tar.bz2{,.asc})
validpgpkeys=('FCF986EA15E6E293A5644F10B4322F04D67658D8')
-sha256sums=('3b6d9951533323ee64a21d0aa7667a780b3470bfe4e0fb7c1b33307ce290615a'
+sha256sums=('30e3c77c2f4c358ed087869455a7496cbd7753a5e1b98d20ba49c1004009fd36'
'SKIP')
build() {
@@ -49,6 +50,7 @@ build() {
--enable-libfreetype \
--enable-libfribidi \
--enable-libgsm \
+ --enable-libiec61883 \
--enable-libmodplug \
--enable-libmp3lame \
--enable-libopencore_amrnb \
@@ -69,6 +71,7 @@ build() {
--enable-libx264 \
--enable-libx265 \
--enable-libxvid \
+ --enable-netcdf \
--enable-shared \
--enable-version3 \
--enable-x11grab
diff --git a/abs/core/gnutls/PKGBUILD b/abs/core/gnutls/PKGBUILD
index 1d85e9c..307d02c 100644
--- a/abs/core/gnutls/PKGBUILD
+++ b/abs/core/gnutls/PKGBUILD
@@ -3,18 +3,18 @@
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgname=gnutls
-pkgver=3.4.11
+pkgver=3.4.15
pkgrel=1
pkgdesc="A library which provides a secure layer over a reliable transport layer"
arch=('i686' 'x86_64')
license=('GPL3' 'LGPL2.1')
url="http://www.gnutls.org/"
-install=gnutls.install
options=('!zipman')
depends=('gcc-libs' 'libtasn1' 'readline' 'zlib' 'nettle' 'p11-kit')
+checkdepends=('net-tools')
optdepends=('guile: for use with Guile bindings')
source=(ftp://ftp.gnutls.org/gcrypt/gnutls/v3.4/${pkgname}-${pkgver}.tar.xz{,.sig})
-md5sums=('4da148b5a0048aaac4961e2d9ba95798'
+md5sums=('4ea5b239bd8bf1b734dda02997b36459'
'SKIP')
validpgpkeys=('0424D4EE81A0E3D119C6F835EDA21E94B565716F'
'1F42418905D8206AA754CCDC29EE58B996865171')
@@ -31,6 +31,7 @@ build() {
--with-zlib \
--disable-static \
--without-idn \
+ --enable-openssl-compatibility \
--enable-guile --with-guile-site-dir=no \
--with-default-trust-store-pkcs11="pkcs11:model=p11-kit-trust;manufacturer=PKCS%2311%20Kit"
make
diff --git a/abs/core/gnutls/__changelog b/abs/core/gnutls/__changelog
new file mode 100644
index 0000000..dd23d1e
--- /dev/null
+++ b/abs/core/gnutls/__changelog
@@ -0,0 +1 @@
+- PKGBUILD: add --enable-openssl-compatibility
diff --git a/abs/core/gnutls/gnutls.install b/abs/core/gnutls/gnutls.install
deleted file mode 100644
index 196a913..0000000
--- a/abs/core/gnutls/gnutls.install
+++ /dev/null
@@ -1,20 +0,0 @@
-infodir=usr/share/info
-filelist=(gnutls.info-1.gz gnutls.info-2.gz gnutls.info-3.gz gnutls.info-4.gz gnutls.info-5.gz gnutls.info-6.gz gnutls.info.gz gnutls-guile.info.gz)
-
-post_install() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file $infodir/dir 2> /dev/null
- done
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info --delete $infodir/$file $infodir/dir 2> /dev/null
- done
-}
diff --git a/abs/core/grep/PKGBUILD b/abs/core/grep/PKGBUILD
index c910394..f261ba1 100644
--- a/abs/core/grep/PKGBUILD
+++ b/abs/core/grep/PKGBUILD
@@ -4,7 +4,7 @@
# Contributor: judd <jvinet@zeroflux.org>
pkgname=grep
-pkgver=2.22
+pkgver=2.26
pkgrel=1
pkgdesc='A string search utility'
arch=('i686' 'x86_64')
@@ -13,10 +13,9 @@ url='http://www.gnu.org/software/grep/grep.html'
groups=('base' 'base-devel')
depends=('glibc' 'pcre')
makedepends=('texinfo')
-install=$pkgname.install
validpgpkeys=('155D3FC500C834486D1EEA677FD9FCCB000BEEEE') # Jim Meyering
source=("ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig})
-md5sums=('e1015e951a49a82b02e38891026ef5df'
+md5sums=('afdd61c7221434722671baf002ac9267'
'SKIP')
build() {
diff --git a/abs/core/grep/grep.install b/abs/core/grep/grep.install
deleted file mode 100644
index a594d9c..0000000
--- a/abs/core/grep/grep.install
+++ /dev/null
@@ -1,18 +0,0 @@
-infodir=usr/share/info
-file=grep.info
-
-post_install() {
- [[ -x usr/bin/install-info ]] || return 0
- install-info "$infodir/$file.gz" "$infodir/dir" 2> /dev/null
-}
-
-post_upgrade() {
- post_install "$1"
-}
-
-pre_remove() {
- [[ -x usr/bin/install-info ]] || return 0
- install-info --delete "$infodir/$file.gz" "$infodir/dir" 2> /dev/null
-}
-
-# vim:set ts=2 sw=2 ft=sh et:
diff --git a/abs/core/hdparm/PKGBUILD b/abs/core/hdparm/PKGBUILD
index e4c3fe4..14d626f 100644
--- a/abs/core/hdparm/PKGBUILD
+++ b/abs/core/hdparm/PKGBUILD
@@ -2,7 +2,7 @@
# Maintainer: Paul Mattal <paul@archlinux.org>
pkgname=hdparm
-pkgver=9.45
+pkgver=9.48
pkgrel=1
pkgdesc="A shell utility for manipulating Linux IDE drive/driver parameters"
arch=(i686 x86_64)
@@ -14,7 +14,7 @@ license=('BSD')
url="http://sourceforge.net/projects/hdparm/"
optdepends=('bash: for wiper.sh script')
options=('emptydirs')
-md5sums=('1c75d0751a44928b6c4bc81fb16d7fe8'
+md5sums=('213efdbe7471fad3408198918e164354'
'74e368f384166a7710b447573cda120a')
prepare() {
diff --git a/abs/core/kbd/PKGBUILD b/abs/core/kbd/PKGBUILD
index cfb6b3d..a607dcd 100644
--- a/abs/core/kbd/PKGBUILD
+++ b/abs/core/kbd/PKGBUILD
@@ -1,22 +1,25 @@
-# $Id: PKGBUILD 163716 2012-07-18 02:17:05Z dreisner $
+# $Id$
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=kbd
-pkgver=1.15.3
-pkgrel=3
+pkgver=2.0.3
+pkgrel=1
pkgdesc="Keytable files and keyboard utilities"
arch=('i686' 'x86_64')
-url="ftp://ftp.altlinux.org/pub/people/legion/kbd/"
+url="http://www.kbd-project.org"
license=('GPL')
-depends=('glibc')
+depends=('glibc' 'pam')
+makedepends=('check')
source=(ftp://ftp.altlinux.org/pub/people/legion/kbd/${pkgname}-${pkgver}.tar.gz
- fix-es.po.patch)
-md5sums=('8143e179a0f3c25646ce5085e8777200'
- '4ded3edb50fb7a3277bae6a870cee812')
+ 'fix-euro2.patch')
+provides=('vlock')
+conflicts=('vlock')
+replaces=('vlock')
+md5sums=('d636ee56f35233b5cd6f855c08372489'
+ 'd869200acbc0aab6a9cafa43cb140d4e')
-build() {
+prepare() {
cd ${srcdir}/${pkgname}-${pkgver}
- patch -Np1 -i ../fix-es.po.patch
# rename keymap files with the same names
# this is needed because when only name of keymap is specified
# loadkeys loads the first keymap it can find, which is bad (see FS#13837)
@@ -27,7 +30,12 @@ build() {
mv data/keymaps/i386/dvorak/no{,-dvorak}.map
mv data/keymaps/i386/fgGIod/trf{,-fgGIod}.map
mv data/keymaps/i386/colemak/{en-latin9,colemak}.map
+ # fix euro2 #28213
+ patch -Np1 -i ../fix-euro2.patch
+}
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
./configure --prefix=/usr --datadir=/usr/share/kbd --mandir=/usr/share/man
make KEYCODES_PROGS=yes RESIZECONS_PROGS=yes
}
diff --git a/abs/core/kbd/fix-dvorak-es.patch b/abs/core/kbd/fix-dvorak-es.patch
new file mode 100644
index 0000000..95760fd
--- /dev/null
+++ b/abs/core/kbd/fix-dvorak-es.patch
@@ -0,0 +1,11 @@
+--- kbd-1.15.5/data/keymaps/i386/dvorak/dvorak-es.map.old 2013-05-08 14:58:03.393349828 +0200
++++ kbd-1.15.5/data/keymaps/i386/dvorak/dvorak-es.map 2013-05-08 14:58:20.206415053 +0200
+@@ -4,7 +4,7 @@
+
+ keymaps 0-2,4,5,6,8-10,12,14
+ include "linux-with-alt-and-altgr"
+-include "euro"
++include "euro.map"
+ strings as usual
+
+ keycode 1 = Escape
diff --git a/abs/core/kbd/fix-es.po.patch b/abs/core/kbd/fix-es.po.patch
deleted file mode 100644
index 578f0a7..0000000
--- a/abs/core/kbd/fix-es.po.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- kbd-1.15.3/po/es.old 2011-05-14 23:12:49.000000000 +0200
-+++ kbd-1.15.3/po/es.po 2011-05-15 21:07:02.120669404 +0200
-@@ -1363,7 +1363,7 @@
- #: src/setfont.c:682
- #, c-format
- msgid "Saved %d-char %dx%d font file on %s\n"
--msgstr "Se ha guardado el fichero de tipos %2$dx%3$d de %1$d caracteres en %s\n"
-+msgstr "Se ha guardado el fichero de tipos %dx%d de %d caracteres en %s\n"
-
- #: src/setkeycodes.c:21
- #, c-format
diff --git a/abs/core/kbd/fix-euro2.patch b/abs/core/kbd/fix-euro2.patch
new file mode 100644
index 0000000..572cba7
--- /dev/null
+++ b/abs/core/kbd/fix-euro2.patch
@@ -0,0 +1,9 @@
+--- kbd-1.15.5/data/keymaps/i386/include/euro2.map.old 2013-05-08 15:00:25.917752313 +0200
++++ kbd-1.15.5/data/keymaps/i386/include/euro2.map 2013-05-08 15:00:54.943957367 +0200
+@@ -2,5 +2,5 @@
+ # [Say: "loadkeys euro2" to get Euro and cent with AltGr (right alt)
+ # on the positions where many keyboards have E and C.
+ # To get it displayed, use a latin0 (i.e., latin9) font.]
+-altgr keycode 18 = currency
++altgr keycode 18 = euro
+ altgr keycode 46 = cent
diff --git a/abs/core/kbd/fix-keymap-loading-1.15.5.patch b/abs/core/kbd/fix-keymap-loading-1.15.5.patch
new file mode 100644
index 0000000..ae179d8
--- /dev/null
+++ b/abs/core/kbd/fix-keymap-loading-1.15.5.patch
@@ -0,0 +1,47 @@
+commit 7e06e56157e8431d02e1377cdc44230944203d88
+Author: Alexey Gladkov <gladkov.alexey@gmail.com>
+Date: Tue Dec 11 14:24:44 2012 +0400
+
+ Fix regression in 16117ce6ab
+
+ Signed-off-by: Alexey Gladkov <gladkov.alexey@gmail.com>
+
+diff --git a/src/loadkeys.analyze.l b/src/loadkeys.analyze.l
+index c18dcea..f817c78 100644
+--- a/src/loadkeys.analyze.l
++++ b/src/loadkeys.analyze.l
+@@ -307,8 +307,10 @@ To to|To|TO
+ char *s = xstrndup(yytext+1, strlen(yytext)-2);
+ /* use static pathname to store *s ? */
+ open_include(s);
+- yy_pop_state();
+- state_ptr--;
++ while (state_ptr > 0) {
++ yy_pop_state();
++ state_ptr--;
++ }
+ }
+ <INCLSTR>[^"]|\"\"|\"[^"\n]*{Eol} {
+ yyerror(_("expected filename between quotes"));
+@@ -323,7 +325,7 @@ To to|To|TO
+ }
+ {Eol} {
+ line_nr++;
+- if (state_ptr > 0) {
++ while (state_ptr > 0) {
+ yy_pop_state();
+ state_ptr--;
+ }
+@@ -428,8 +430,10 @@ To to|To|TO
+ }
+ <STR>\" {
+ *p = '\0';
+- yy_pop_state();
+- state_ptr--;
++ while (state_ptr > 0) {
++ yy_pop_state();
++ state_ptr--;
++ }
+ return(STRLITERAL);
+ }
+ . {
diff --git a/abs/core/kbproto/PKGBUILD b/abs/core/kbproto/PKGBUILD
index 89c1a56..fcecda0 100644
--- a/abs/core/kbproto/PKGBUILD
+++ b/abs/core/kbproto/PKGBUILD
@@ -1,25 +1,26 @@
-# $Id: PKGBUILD 88385 2010-08-23 08:11:58Z jgc $
+# $Id$
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=kbproto
-pkgver=1.0.5
+pkgver=1.0.7
pkgrel=1
pkgdesc="X11 XKB extension wire protocol"
-arch=(any)
+arch=('any')
url="http://xorg.freedesktop.org/"
license=('custom')
-source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('d95fada09399568c434729b436e1a09503e15b7a')
+source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2{,.sig})
+sha256sums=('f882210b76376e3fa006b11dbd890e56ec0942bc56e65d1249ff4af86f90b857'
+ 'SKIP')
+validpgpkeys=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') #Alan Coopersmith <alan.coopersmith@oracle.com>
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
./configure --prefix=/usr
- make || return 1
+ make
}
+
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install || return 1
- install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
- install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
}
-
diff --git a/abs/core/libaosd/PKGBUILD b/abs/core/libaosd/PKGBUILD
index 3d7e742..531bf76 100644
--- a/abs/core/libaosd/PKGBUILD
+++ b/abs/core/libaosd/PKGBUILD
@@ -1,25 +1,35 @@
-# Maintainer: Murtuza Akhtari <inxsible at gmail dot com>
+# Maintainer: X0rg
+# Contributor: Murtuza Akhtari <inxsible at gmail dot com>
# Contributor: Mildred <silkensedai@online.fr>
+# Contributor: Pierre-Olivier Vauboin <povauboin at gmail dot com>
pkgname=libaosd
pkgver=0.2.7
-pkgrel=1
+pkgrel=2
pkgdesc="Atheme On Screen Display library"
arch=('i686' 'x86_64')
-url="http://www.atheme.org/"
-license=('MIT/X11')
+url="https://github.com/atheme/libaosd"
+license=('MIT')
depends=('libxcomposite' 'pango')
-source=("http://distfiles.atheme.org/$pkgname-$pkgver.tgz")
-md5sums=('1240768f0b2669092fd384efd97cb080')
+source=("https://github.com/atheme/$pkgname/archive/$pkgver.tar.gz")
+sha256sums=('b1d02cc5f1761ab6b1c1f8994a92466f11d91d57af65dcb3204e8c54ea514059')
build() {
- cd "$srcdir/$pkgname-$pkgver"
- ./configure --prefix=/usr
- make
+ cd "$srcdir/$pkgname-$pkgver"
+ msg2 "Run './autogen.sh'..."
+ ./autogen.sh
+
+ msg2 "Run './configure'..."
+ ./configure --prefix=/usr
+
+ msg2 "Run 'make'..."
+ make
}
package() {
- cd "$srcdir/$pkgname-$pkgver"
- make DESTDIR="$pkgdir" install
- install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ msg2 "Install license..."
+ install -Dvm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
diff --git a/abs/core/libxres/PKGBUILD b/abs/core/libxres/PKGBUILD
index b2b1847..917d28e 100644
--- a/abs/core/libxres/PKGBUILD
+++ b/abs/core/libxres/PKGBUILD
@@ -1,8 +1,9 @@
-# $Id: PKGBUILD 152788 2012-03-09 16:26:13Z andyrtr $
+# $Id$
+# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libxres
-pkgver=1.0.6
+pkgver=1.0.7
pkgrel=1
pkgdesc="X11 Resource extension library"
arch=('i686' 'x86_64')
@@ -10,9 +11,8 @@ url="http://xorg.freedesktop.org"
license=('custom')
depends=('libxext')
makedepends=('resourceproto' 'damageproto' 'compositeproto' 'scrnsaverproto' 'xorg-util-macros')
-options=('!libtool')
source=("${url}/releases/individual/lib/libXres-${pkgver}.tar.bz2")
-sha1sums=('31a9b7d4f7a978de36c6f1c867dced29bfe7ef0f')
+sha256sums=('26899054aa87f81b17becc68e8645b240f140464cf90c42616ebb263ec5fa0e5')
build() {
cd "${srcdir}/libXres-${pkgver}"
diff --git a/abs/core/linhes-theme/PKGBUILD b/abs/core/linhes-theme/PKGBUILD
index 7b0506c..d600f7d 100755
--- a/abs/core/linhes-theme/PKGBUILD
+++ b/abs/core/linhes-theme/PKGBUILD
@@ -1,18 +1,21 @@
pkgname=linhes-theme
pkgver=8.4
-pkgrel=7
+pkgrel=9
pkgdesc="Default LinHES MythTV theme"
arch=('i686' 'x86_64')
license=('GPL2')
url="http://linhes.org/"
patches=('readme.txt.patch' 'osd.xml.patch' 'base.xml.patch'
- 'menu-ui-vert.xml.patch' 'schedule-ui.xml.patch' 'qtlook.txt.patch'
+ 'menu-ui-vert.xml.patch' 'notification-ui.xml.patch'
+ 'schedule-ui.xml.patch' 'qtlook.txt.patch'
'recordings-ui.xml.patch' 'video-ui.xml.patch')
#The LinHES theme is based on TintedGlass 4.56 by Harley Peters
source=(`echo ${patches[@]:0}` 'themeinfo.xml' 'install-ui.xml' 'osd_subtitle.xml'
'bubble_background.png' 'preview.png' 'blank_coverart.png'
+ 'checkmark.png' 'error.png' 'gears.png' 'question.png' 'warning.png'
+ 'progdetails_page1.html'
'LHLogo.png' 'LHLogoAndText.png')
install=$pkgname.install
@@ -54,9 +57,16 @@ package() {
msg "Copy *.xml and adding backgrounds and images for LinHES"
rsync -pL $srcdir/*.xml $pkgdir/$THEMEROOT/LinHES/
+ rsync -pL $srcdir/progdetails_page1.html $pkgdir/$THEMEROOT/LinHES/htmls/
+ rsync -pL $srcdir/progdetails_page1.html $pkgdir/$THEMEROOT/LinHES/htmls/progdetails_page2.html
rm -r $pkgdir/$THEMEROOT/LinHES/images/backgrounds/*
rsync -pL $srcdir/bubble_background.png $pkgdir/$THEMEROOT/LinHES/images/backgrounds/background.png
rsync -pL $srcdir/blank_coverart.png $pkgdir/$THEMEROOT/LinHES/images/
+ rsync -pL $srcdir/checkmark.png $pkgdir/$THEMEROOT/LinHES/images/
+ rsync -pL $srcdir/error.png $pkgdir/$THEMEROOT/LinHES/images/
+ rsync -pL $srcdir/gears.png $pkgdir/$THEMEROOT/LinHES/images/
+ rsync -pL $srcdir/question.png $pkgdir/$THEMEROOT/LinHES/images/
+ rsync -pL $srcdir/warning.png $pkgdir/$THEMEROOT/LinHES/images/
rsync -pL $srcdir/preview.png $pkgdir/$THEMEROOT/LinHES/
#tux_thoughts.png is the thought bubble for the menu descriptions
@@ -84,9 +94,10 @@ package() {
sed -i "s/MIN_VER/${array[1]}${pkgrel}/" $pkgdir/$THEMEROOT/LinHES/themeinfo.xml
}
md5sums=('2dca856c2a4d1f959473512c94e43b60'
- '985f76e26a526e0727ec7afc44cf9b8c'
+ '0d95c596b460de777e12b89da0bf2e19'
'f2b9c85519e80843294315a42870e582'
'43b1f213fd392fb07aac503e775e27bc'
+ '80bb72994eca59ca6dc9034ac185e7cc'
'22ff4044c8c29560451fb51dcbf4d44e'
'9fe3371a8b964a7028126405cfaa330b'
'e88dc1587a164aaa15b280cb66f6a82b'
@@ -97,5 +108,11 @@ md5sums=('2dca856c2a4d1f959473512c94e43b60'
'326a71eb795b322a9ea26f116d890c87'
'8fcd0acc11f4db33a9442949fb1a293d'
'699e3abe05523f454db3561bfc08b4b2'
+ '60cb915909c477dbc2e18233ee6424d9'
+ '30ea7d2001b8562177b8f85f34f050a2'
+ 'e8dee86a10ce7c4423a97305b38b4668'
+ 'e8ac15e38b3dc99c9e889e439ba356de'
+ 'e8cf0d3a55ba3be47deae55c05432141'
+ 'bcc89120aba113ca204534dbbbaee60d'
'b51ef0cbf8ed2d3a8c1a8257a89aceff'
'09ad14842f828b7a8d24070ec8214fe5')
diff --git a/abs/core/linhes-theme/checkmark.png b/abs/core/linhes-theme/checkmark.png
new file mode 100755
index 0000000..0c8ba2d
--- /dev/null
+++ b/abs/core/linhes-theme/checkmark.png
Binary files differ
diff --git a/abs/core/linhes-theme/error.png b/abs/core/linhes-theme/error.png
new file mode 100755
index 0000000..d5ccc2d
--- /dev/null
+++ b/abs/core/linhes-theme/error.png
Binary files differ
diff --git a/abs/core/linhes-theme/gears.png b/abs/core/linhes-theme/gears.png
new file mode 100755
index 0000000..b2f78d6
--- /dev/null
+++ b/abs/core/linhes-theme/gears.png
Binary files differ
diff --git a/abs/core/linhes-theme/notification-ui.xml.patch b/abs/core/linhes-theme/notification-ui.xml.patch
new file mode 100644
index 0000000..98b1287
--- /dev/null
+++ b/abs/core/linhes-theme/notification-ui.xml.patch
@@ -0,0 +1,361 @@
+--- notification-ui.xml.orig 2016-10-10 19:55:20.796354375 +0000
++++ notification-ui.xml 2016-10-10 19:40:05.992756927 +0000
+@@ -3,11 +3,9 @@
+
+ <mythuitheme>
+
+- <baseres>1280x720</baseres>
+-
+ <window name="notification">
+
+- <area>-1,36,780,180</area>
++ <area>800,24,470,136</area>
+
+ <animation trigger="AboutToShow">
+ <section>
+@@ -24,83 +22,79 @@
+ </animation>
+
+ <shape name="notification-backdrop" from="base_popup_backdrop">
+- <area>0,0,780,180</area>
++ <area>0,0,470,122</area>
+ </shape>
+
+ <shape name="notification-backdrop-line" from="base_backdrop_line">
+- <area>1,1,778,178</area>
++ <area>1,1,468,120</area>
+ </shape>
+
+ <shape name="notification-top-line" from="base_highlight_line">
+- <area>2,2,776,2</area>
++ <area>2,2,466,2</area>
+ </shape>
+
+ <shape name="notification-bottom-line" from="base_highlight_line">
+- <area>1,176,776,2</area>
++ <area>1,118,466,2</area>
+ </shape>
+
+ <shape name="notification-left-line" from="base_highlight_vertical_line">
+- <area>2,4,2,170</area>
++ <area>2,4,2,112</area>
+ </shape>
+
+ <shape name="notification-right-line" from="base_highlight_vertical_line">
+- <area>776,4,2,170</area>
++ <area>466,4,2,112</area>
+ </shape>
+
+ <textarea name="title" from="basetextarea" depends="progress">
+- <area>14,18,752,35</area>
+- <font>basemediumlargerbold</font>
++ <area>14,11,438,35</area>
++ <font>basemediumlargeryellow</font>
++ <scroll direction="left" startdelay="1"/>
+ </textarea>
+
+ <textarea name="title_noprogress" from="basetextarea" depends="!progress">
+- <area>14,11,752,35</area>
+- <font>basemediumlargerbold</font>
++ <area>14,11,438,35</area>
++ <font>basemediumlargeryellow</font>
+ <template>%TITLE%</template>
++ <scroll direction="left" startdelay="1"/>
+ </textarea>
+
+ <textarea name="origin" from="basetextarea" depends="progress">
+- <area>14,53,752,30</area>
++ <area>14,46,438,30</area>
+ <font>basesomewhatsmaller</font>
++ <scroll direction="left" startdelay="1"/>
++ <template>[%ORIGIN%] %DESCRIPTION%</template>
+ </textarea>
+
+ <textarea name="origin_noprogress" from="basetextarea" depends="!progress">
+- <area>14,46,752,30</area>
+- <font>basesomewhatsmaller</font>
+- <template>%ORIGIN%</template>
+- </textarea>
+-
+- <textarea name="description" from="basetextarea" depends="progress">
+- <area>14,83,752,30</area>
++ <area>14,46,438,30</area>
+ <font>basesomewhatsmaller</font>
++ <scroll direction="left" startdelay="1"/>
++ <template>[%ORIGIN%]</template>
+ </textarea>
+
+ <textarea name="description_noprogress" from="basetextarea" depends="!progress">
+- <area>14,76,752,90</area>
++ <area>14,76,438,30</area>
+ <font>basesomewhatsmaller</font>
+- <multiline>yes</multiline>
+ <align>left,top</align>
++ <scroll direction="left" startdelay="1"/>
+ <template>%DESCRIPTION%</template>
+ </textarea>
+
+- <textarea name="extra" from="basetextarea" depends="progress">
+- <area>14,113,300,30</area>
+- <font>basesomewhatsmaller</font>
+- </textarea>
+-
+ <textarea name="progress_text" from="basetextarea" depends="progress">
+- <area>370,113,396,30</area>
++ <area>14,80,206,30</area>
+ <font>basesomewhatsmaller</font>
+ <align>right</align>
++ <scroll direction="left" startdelay="1"/>
+ </textarea>
+
+ <progressbar name="progress" from="baseprogressbar">
+- <position>14,148</position>
++ <position>230,90</position>
+ <imagetype name="background">
+- <area>0,0,752,10</area>
++ <area>0,0,226,10</area>
+ <filename>images/progressbar/progressbar_background.png</filename>
+ </imagetype>
+ <imagetype name="progressimage">
+- <area>0,0,752,10</area>
++ <area>0,0,220,10</area>
+ <filename>images/progressbar/progressbar_fill.png</filename>
+ </imagetype>
+ </progressbar>
+@@ -109,7 +103,7 @@
+
+ <window name="notification-image">
+
+- <area>-1,36,780,180</area>
++ <area>800,24,470,136</area>
+
+ <animation trigger="AboutToShow">
+ <section>
+@@ -126,31 +120,31 @@
+ </animation>
+
+ <shape name="notification-image-backdrop" from="base_popup_backdrop">
+- <area>0,0,780,180</area>
++ <area>0,0,470,122</area>
+ </shape>
+
+ <shape name="notification-image-backdrop-line" from="base_backdrop_line">
+- <area>1,1,778,178</area>
++ <area>1,1,468,120</area>
+ </shape>
+
+ <shape name="notification-image-top-line" from="base_highlight_line">
+- <area>2,2,776,2</area>
++ <area>2,2,466,2</area>
+ </shape>
+
+ <shape name="notification-image-bottom-line" from="base_highlight_line">
+- <area>1,176,776,2</area>
++ <area>1,118,466,2</area>
+ </shape>
+
+ <shape name="notification-image-left-line" from="base_highlight_vertical_line">
+- <area>2,4,2,170</area>
++ <area>2,4,2,112</area>
+ </shape>
+
+ <shape name="notification-image-right-line" from="base_highlight_vertical_line">
+- <area>776,4,2,170</area>
++ <area>466,4,2,112</area>
+ </shape>
+
+ <shape name="image-border">
+- <area>14,14,152,152</area>
++ <area>352,4,114,114</area>
+ <type>roundbox</type>
+ <fill color="#000000" alpha="0" />
+ <line color="#AAAAAA" alpha="100" width="2" />
+@@ -163,9 +157,9 @@
+ <state name="noartwork">
+ <area>0,0,100%,100%</area>
+ <imagetype name="imageartwork">
+- <filename>images/no_artwork.png</filename>
++ <filename>images/question.png</filename>
+ <mask>images/masks/notification_image_mask.png</mask>
+- <area>18,18,144,144</area>
++ <area>356,8,106,106</area>
+ </imagetype>
+ </state>
+ </statetype>
+@@ -178,15 +172,15 @@
+ <imagetype name="imageerror">
+ <filename>images/error.png</filename>
+ <mask>images/masks/notification_image_mask.png</mask>
+- <area>18,18,144,144</area>
++ <area>356,8,106,106</area>
+ </imagetype>
+ </state>
+ <state name="check">
+ <area>0,0,100%,100%</area>
+ <imagetype name="imageerror">
+- <filename>images/check.png</filename>
++ <filename>images/checkmark.png</filename>
+ <mask>images/masks/notification_image_mask.png</mask>
+- <area>18,18,144,144</area>
++ <area>356,8,106,106</area>
+ </imagetype>
+ </state>
+ <state name="warning">
+@@ -194,65 +188,60 @@
+ <imagetype name="imageerror">
+ <filename>images/warning.png</filename>
+ <mask>images/masks/notification_image_mask.png</mask>
+- <area>18,18,144,144</area>
++ <area>356,8,106,106</area>
+ </imagetype>
+ </state>
+ <state name="busy">
+ <area>0,0,100%,100%</area>
+ <imagetype name="imagebusy">
+- <filename>images/busy.png</filename>
++ <filename>images/gears.png</filename>
+ <mask>images/masks/notification_image_mask.png</mask>
+- <area>18,18,144,144</area>
++ <area>356,8,106,106</area>
+ </imagetype>
+ </state>
+ </statetype>
+
+ <imagetype name="image" depends="!mediastate&amp;!errorstate">
+- <filename>images/damaged.png</filename>
++ <filename>images/error.png</filename>
+ <mask>images/masks/notification_image_mask.png</mask>
+- <area>18,18,144,144</area>
++ <area>356,8,106,106</area>
+ </imagetype>
+
+ <textarea name="title" from="basetextarea" depends="progress">
+- <area>170,18,598,35</area>
+- <font>basemediumlargerbold</font>
++ <area>14,11,324,35</area>
++ <font>basemediumlargeryellow</font>
++ <scroll direction="left" startdelay="1"/>
+ </textarea>
+
+ <textarea name="title_noprogress" from="basetextarea" depends="!progress">
+- <area>170,11,598,35</area>
+- <font>basemediumlargerbold</font>
++ <area>14,11,324,35</area>
++ <font>basemediumlargeryellow</font>
++ <scroll direction="left" startdelay="1"/>
+ <template>%TITLE%</template>
+ </textarea>
+
+ <textarea name="origin" from="basetextarea" depends="progress">
+- <area>170,53,598,30</area>
++ <area>14,46,324,30</area>
+ <font>basesomewhatsmaller</font>
++ <scroll direction="left" startdelay="1"/>
++ <template>[%ORIGIN%] %DESCRIPTION%</template>
+ </textarea>
+
+ <textarea name="origin_noprogress" from="basetextarea" depends="!progress">
+- <area>170,46,598,30</area>
++ <area>14,46,324,30</area>
+ <font>basesomewhatsmaller</font>
+- <template>%ORIGIN%</template>
++ <scroll direction="left" startdelay="1"/>
++ <template>[%ORIGIN%]</template>
+ </textarea>
+
+- <textarea name="description" from="basetextarea" depends="progress">
+- <area>170,83,598,30</area>
+- <font>basesomewhatsmaller</font>
+- </textarea>
+-
+ <textarea name="description_noprogress" from="basetextarea" depends="!progress">
+- <area>170,76,598,90</area>
++ <area>14,76,324,30</area>
+ <font>basesomewhatsmaller</font>
+- <multiline>yes</multiline>
+ <align>left,top</align>
++ <scroll direction="left" startdelay="1"/>
+ <template>%DESCRIPTION%</template>
+ </textarea>
+
+- <textarea name="extra" from="basetextarea" depends="progress">
+- <area>170,113,300,30</area>
+- <font>basesomewhatsmaller</font>
+- </textarea>
+-
+ <textarea name="progress_text" from="basetextarea" depends="progress">
+ <area>370,113,398,30</area>
+ <font>basesomewhatsmaller</font>
+@@ -283,12 +272,12 @@
+ </shape>
+
+ <statetype name="mediastate">
+- <area>0,0,100%,100%</area>
++ <area>0,0,100%,65%</area>
+ <state name="ok"/>
+ <state name="noartwork">
+ <area>0,0,100%,100%</area>
+ <imagetype name="imageartwork">
+- <filename>images/no_artwork_fullscreen.png</filename>
++ <filename>images/question.png</filename>
+ <area>0,0,100%,100%</area>
+ <preserveaspect>true</preserveaspect>
+ </imagetype>
+@@ -296,12 +285,12 @@
+ </statetype>
+
+ <statetype name="errorstate">
+- <area>0,0,100%,100%</area>
++ <area>0,0,100%,65%</area>
+ <state name="ok"/>
+ <state name="error">
+ <area>0,0,100%,100%</area>
+ <imagetype name="imageerror">
+- <filename>images/error_fullscreen.png</filename>
++ <filename>images/error.png</filename>
+ <area>0,0,100%,100%</area>
+ <preserveaspect>true</preserveaspect>
+ </imagetype>
+@@ -309,7 +298,7 @@
+ <state name="check">
+ <area>0,0,100%,100%</area>
+ <imagetype name="imageerror">
+- <filename>images/check_fullscreen.png</filename>
++ <filename>images/checkmark.png</filename>
+ <area>0,0,100%,100%</area>
+ <preserveaspect>true</preserveaspect>
+ </imagetype>
+@@ -317,7 +306,7 @@
+ <state name="warning">
+ <area>0,0,100%,100%</area>
+ <imagetype name="imageerror">
+- <filename>images/warning_fullscreen.png</filename>
++ <filename>images/warning.png</filename>
+ <area>0,0,100%,100%</area>
+ <preserveaspect>true</preserveaspect>
+ </imagetype>
+@@ -325,22 +314,16 @@
+ <state name="busy">
+ <area>0,0,100%,100%</area>
+ <imagetype name="imagebusy">
+- <filename>images/busy_fullscreen.png</filename>
++ <filename>images/gears.png</filename>
+ <area>0,0,100%,100%</area>
+ <preserveaspect>true</preserveaspect>
+ </imagetype>
+ </state>
+ </statetype>
+
+- <imagetype name="image" depends="!mediastate&amp;!errorstate">
+- <filename>images/damaged_fullscreen.png</filename>
+- <area>0,0,100%,100%</area>
+- <preserveaspect>true</preserveaspect>
+- </imagetype>
+-
+ <textarea name="title" from="basetextarea">
+ <area>170,475,940,45</area>
+- <font>baseextralargebold</font>
++ <font>baseextralargeyellow</font>
+ </textarea>
+
+ <textarea name="origin" from="basetextarea">
diff --git a/abs/core/linhes-theme/osd.xml.patch b/abs/core/linhes-theme/osd.xml.patch
index cf0dfa9..efe4838 100644
--- a/abs/core/linhes-theme/osd.xml.patch
+++ b/abs/core/linhes-theme/osd.xml.patch
@@ -1,5 +1,5 @@
---- osd.xml.orig 2016-04-13 19:13:53.605408871 +0000
-+++ osd.xml 2016-04-14 22:00:37.243291623 +0000
+--- osd.xml.orig 2016-10-10 19:48:08.091427236 +0000
++++ osd.xml 2016-10-10 19:40:05.992756927 +0000
@@ -7,13 +7,13 @@
<window name="osd_debug">
<area>0,0,1280,720</area>
@@ -186,17 +186,17 @@
- <area>90,658,1100,24</area>
+ <textarea name="value">
+ <area>90,657,1100,24</area>
- <font>small</font>
- <align>allcenter</align>
-- <template>%DESCRIPTION%
-- %(|REMAININGTIME|)%%(|BEHINDTIME|)%%VALUE%%UNITS%</template>
++ <font>small</font>
++ <align>allcenter</align>
+ <template>%VALUE%%UNITS%</template>
+ </textarea>
+
+ <textarea name="playedtime" depends="!value">
+ <area>90,657,1100,24</area>
-+ <font>small</font>
-+ <align>allcenter</align>
+ <font>small</font>
+ <align>allcenter</align>
+- <template>%DESCRIPTION%
+- %(|REMAININGTIME|)%%(|BEHINDTIME|)%%VALUE%%UNITS%</template>
+ <template>%PLAYEDTIME% of %TOTALTIME%
+ %(|REMAININGTIME| remains)%%(|BEHINDTIME| behind)%</template>
</textarea>
@@ -252,7 +252,36 @@
</fontdef>
<shape name="program-info-backdrop">
-@@ -1015,25 +1022,30 @@
+@@ -988,7 +995,7 @@
+ <alpha>255</alpha>
+ </imagetype>
+
+- <textarea name="category">
++ <textarea name="category">
+ <font>supersmallblue</font>
+ <area>284,490,912,28</area>
+ <align>allcenter</align>
+@@ -1003,37 +1010,49 @@
+ <template>%"|SUBTITLE|" %%YEARSTARS| %%DESCRIPTION%</template>
+ </textarea>
+
+- <textarea name="programid">
++ <textarea name="programid" depends="iconpath&amp;!coverart">
+ <font>supersmallblue</font>
+ <area>284,653,912,27</area>
+ <align>allcenter</align>
+ <template>Season/Episode: %s00e00% ProgramID: %PROGRAMID% SeriesID: %SERIESID%</template>
+ </textarea>
+
++ <textarea name="channame" depends="iconpath&amp;coverart">
++ <font>supersmallblue</font>
++ <area>284,653,912,27</area>
++ <align>allcenter</align>
++ <template>Channel: %channum% - %channame% - %callsign% Season/Episode: %s00e00% ProgramID: %PROGRAMID% SeriesID: %SERIESID%</template>
++ </textarea>
++
+ </window>
+
<window name="browse_info">
<area>0,0,1280,720</area>
@@ -289,7 +318,7 @@
</fontdef>
<shape name="browse-info-backdrop">
-@@ -1084,7 +1096,7 @@
+@@ -1084,7 +1103,7 @@
</shape>
<shape name="title-backdrop-line">
@@ -298,7 +327,7 @@
<type>roundbox</type>
<fill color="#000000" alpha="0" />
<line color="#ffffff" alpha="45" width="2" />
-@@ -1092,11 +1104,11 @@
+@@ -1092,11 +1111,11 @@
</shape>
<shape name="title-top-line" from="channel-top-line">
@@ -312,7 +341,7 @@
</shape>
<shape name="title-left-line" from="channel-left-line">
-@@ -1104,30 +1116,6 @@
+@@ -1104,30 +1123,6 @@
</shape>
<shape name="title-right-line" from="channel-left-line">
@@ -343,7 +372,7 @@
<area>1212,492,2,62</area>
</shape>
-@@ -1175,30 +1163,30 @@
+@@ -1175,30 +1170,30 @@
</textarea>
<textarea name="title">
@@ -381,7 +410,7 @@
</clock>
<textarea name="description">
-@@ -1214,9 +1202,9 @@
+@@ -1214,9 +1209,9 @@
<window name="ChannelEditor">
<area>0,0,1280,720</area>
@@ -393,7 +422,7 @@
</fontdef>
<fontdef name="smallblack" from="small">
-@@ -1224,7 +1212,7 @@
+@@ -1224,7 +1219,7 @@
</fontdef>
<fontdef name="smallblue" from="small">
@@ -402,7 +431,7 @@
</fontdef>
<fontdef name="smallgrey" from="small">
-@@ -1232,7 +1220,7 @@
+@@ -1232,7 +1227,7 @@
</fontdef>
<fontdef name="medium" from="small">
@@ -411,7 +440,7 @@
</fontdef>
<shape name="channel-editor-backdrop">
-@@ -1610,9 +1598,9 @@
+@@ -1610,9 +1605,9 @@
<window name="osd_program_editor">
<area>0,0,1280,720</area>
@@ -423,7 +452,7 @@
</fontdef>
<shape name="osd-program-editor-backdrop">
-@@ -1663,13 +1651,17 @@
+@@ -1663,13 +1658,17 @@
</shape>
<textarea name="title">
@@ -444,7 +473,7 @@
<align>right,vcenter</align>
</textarea>
-@@ -1749,9 +1741,9 @@
+@@ -1749,9 +1748,9 @@
<window name="MythPopupBox">
<area>0,0,1280,720</area>
@@ -456,7 +485,7 @@
</fontdef>
<fontdef name="smallgrey" from="small">
-@@ -1759,7 +1751,7 @@
+@@ -1759,7 +1758,7 @@
</fontdef>
<fontdef name="smallyellow" from="small">
diff --git a/abs/core/linhes-theme/progdetails_page1.html b/abs/core/linhes-theme/progdetails_page1.html
new file mode 100644
index 0000000..76ce9d0
--- /dev/null
+++ b/abs/core/linhes-theme/progdetails_page1.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <style type="text/css">
+ body {background-color:#0a0a0e;}
+ h1 {font-family:Overlock;font-size:1.6em;font-style: normal;color:#ebb81c;margin-top: -5pt;text-align: center;}
+ h2 {font-family:Overlock;font-size:1.5em;font-style: normal;color:#ebb81c;margin-top: -5pt;text-align: center;}
+ p {font-family:Overlock;font-size:1.4em;font-style: normal;color:#e6e6e6;margin-top: -10pt;text-align: center;}
+ hr {border:1px solid #0a0a0e;background-color:#7e8082;height:3px;margin-top: -10pt;margin-bottom: 13pt}
+ #wrap {width:100%;margin:0px auto;}
+ .col {float:left;width:33%;}
+ </style>
+</head>
+
+<body>
+ <h1>%TITLE%</h1><p>%DESCRIPTION%</p>
+ <h1>%TITLE_PRONOUNCE_LABEL%</h1> <p>%TITLE_PRONOUNCE%</p>
+ <hr />
+ <div id="wrap">
+ <div class="col">
+ <h2>%ORIGINAL_AIRDATE_LABEL%</h2> <p>%ORIGINAL_AIRDATE%</p>
+ <h2>%SEASON_LABEL%/%EPISODE_LABEL%</h2> <p>S%SEASON%/E%EPISODE%</p>
+ <h2>%CATEGORY_LABEL%</h2> <p>%CATEGORY%</p>
+ <h2>%CATEGORY_TYPE_LABEL%</h2> <p>%CATEGORY_TYPE%</p>
+ <h2>%PROGRAMID_LABEL%</h2> <p>%PROGRAMID%</p>
+ <h2>%MYTHTV_STATUS_LABEL%</h2> <p>%MYTHTV_STATUS%</p>
+ <h2>%RECORDING_RULE_LABEL%</h2> <p>%RECORDING_RULE%</p>
+ <h2>%SEARCH_PHRASE_LABEL%</h2> <p>%SEARCH_PHRASE%</p>
+ <h2>%RECORDED_FILE_NAME_LABEL%</h2> <p>%RECORDED_FILE_NAME%</p>
+ <h2>%RECORDED_FILE_SIZE_LABEL%</h2> <p>%RECORDED_FILE_SIZE%</p>
+ </div>
+ <div class="col">
+ <h2>%RECORDING_PROFILE_LABEL%</h2> <p>%RECORDING_PROFILE%</p>
+ <h2>%RECORDING_GROUP_LABEL%</h2> <p>%RECORDING_GROUP%</p>
+ <h2>%STORAGE_GROUP_LABEL%</h2> <p>%STORAGE_GROUP%</p>
+ <h2>%PLAYBACK_GROUP_LABEL%</h2> <p>%PLAYBACK_GROUP%</p>
+ <h2>%LAST_RECORDED_LABEL%</h2> <p>%LAST_RECORDED%</p>
+ <h2>%NEXT_RECORDING_LABEL%</h2> <p>%NEXT_RECORDING%</p>
+ <h2>%AVERAGE_TIME_SHIFT_LABEL%</h2> <p>%AVERAGE_TIME_SHIFT%</p>
+ <h2>%WATCH_LIST_SCORE_LABEL%</h2> <p>%WATCH_LIST_SCORE%</p>
+ <h2>%WATCH_LIST_STATUS_LABEL%</h2> <p>%WATCH_LIST_STATUS%</p>
+ <h2>%FINDID_LABEL%</h2> <p>%FINDID%</p>
+ <h2>%RECORDING_HOST_LABEL%</h2> <p>%RECORDING_HOST%</p>
+ <h2>%RECORDING_INPUT_LABEL%</h2> <p>%RECORDING_INPUT%</p>
+ </div>
+ <div class="col">
+ <h2>%ACTORS_LABEL%</h2> <p>%ACTORS%</p>
+ <h2>%GUEST_STAR_LABEL%</h2> <p>%GUEST_STAR%</p>
+ <h2>%GUEST_LABEL%</h2> <p>%GUEST%</p>
+ <h2>%DIRECTOR_LABEL%</h2> <p>%DIRECTOR%</p>
+ <h2>%PRODUCER_LABEL%</h2> <p>%PRODUCER%</p>
+ <h2>%EXECUTIVE_PRODUCER_LABEL%</h2> <p>%EXECUTIVE_PRODUCER%</p>
+ <h2>%WRITER_LABEL%</h2> <p>%WRITER%</p>
+ <h2>%HOST_LABEL%</h2> <p>%HOST%</p>
+ <h2>%ADAPTER_LABEL%</h2> <p>%ADAPTER%</p>
+ <h2>%PRESENTER_LABEL%</h2> <p>%PRESENTER%</p>
+ <h2>%COMMENTATOR_LABEL%</h2> <p>%COMMENTATOR%</p>
+ </div>
+ </div>
+</body>
+
+</html>
diff --git a/abs/core/linhes-theme/question.png b/abs/core/linhes-theme/question.png
new file mode 100755
index 0000000..1eda678
--- /dev/null
+++ b/abs/core/linhes-theme/question.png
Binary files differ
diff --git a/abs/core/linhes-theme/warning.png b/abs/core/linhes-theme/warning.png
new file mode 100755
index 0000000..047cac5
--- /dev/null
+++ b/abs/core/linhes-theme/warning.png
Binary files differ
diff --git a/abs/core/linux/PKGBUILD b/abs/core/linux/PKGBUILD
index 3c0cf23..1e7309b 100644
--- a/abs/core/linux/PKGBUILD
+++ b/abs/core/linux/PKGBUILD
@@ -5,7 +5,7 @@
pkgbase=linux # Build stock -ARCH kernel
#pkgbase=linux-custom # Build kernel with a different name
_srcname=linux-4.4
-pkgver=4.4.8
+pkgver=4.4.26
pkgrel=1
arch=('i686' 'x86_64')
url="http://www.kernel.org/"
@@ -23,6 +23,16 @@ source=("https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz"
'change-default-console-loglevel.patch'
'0001-sdhci-revert.patch')
+sha256sums=('401d7c8fef594999a460d10c72c5a94e9c2e1022f16795ec51746b0d165418b2'
+ 'SKIP'
+ '100bb46956585d418a6950bc898c5abc8206c3e34adfaf7ce4f6d14598918f72'
+ 'SKIP'
+ 'fbbae1d873900e84d1b7ef00593fbb94fc79f078a34b22ee824bab8b0a92be64'
+ '756a168bbc3bb582f0df45b977c32af53658f21d62fe15171c9ac85f52d8852a'
+ 'f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c'
+ '1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99'
+ '5313df7cb5b4d005422bd4cd0dae956b2dadba8f3db904275aaf99ac53894375')
+
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
@@ -294,12 +304,3 @@ for _p in ${pkgname[@]}; do
done
# vim:set ts=8 sts=2 sw=2 et:
-md5sums=('9a78fa2eb6c68ca5a40ed5af08142599'
- 'SKIP'
- 'c1d8f46e5b2ee7c925fc38f20a3726d3'
- 'SKIP'
- 'be50f82adaeb685d41eb55acd1b09134'
- 'd254ffa0b91d459529ec23a1cdeceb35'
- 'eb14dcfd80c00852ef81ded6e826826a'
- 'df7fceae6ee5d7e7be7b60ecd7f6bb35'
- 'e1093d9bc718f362344ab56b85d4fb76')
diff --git a/abs/core/linux/__changelog b/abs/core/linux/__changelog
index f470723..9a2e2b1 100644
--- a/abs/core/linux/__changelog
+++ b/abs/core/linux/__changelog
@@ -1,2 +1 @@
PKGBUILD: remove nouveau modules
-PKGBUILD: comment out sign srcs
diff --git a/abs/core/linux/linux.install.pkg b/abs/core/linux/linux.install.pkg
index 7182338..50cb5b6 100644
--- a/abs/core/linux/linux.install.pkg
+++ b/abs/core/linux/linux.install.pkg
@@ -2,7 +2,7 @@
# arg 2: the old package version
KERNEL_NAME=
-KERNEL_VERSION=4.4.8-1-ARCH
+KERNEL_VERSION=4.4.26-1-ARCH
post_install () {
# updating module dependencies
diff --git a/abs/core/mesa/0001-loader-dri3-add-get_dri_screen-to-the-vtable.patch b/abs/core/mesa/0001-loader-dri3-add-get_dri_screen-to-the-vtable.patch
new file mode 100644
index 0000000..8f8c536
--- /dev/null
+++ b/abs/core/mesa/0001-loader-dri3-add-get_dri_screen-to-the-vtable.patch
@@ -0,0 +1,91 @@
+From 0247e5ee3edd546b8598082d5b45d110f61853d0 Mon Sep 17 00:00:00 2001
+From: Martin Peres <martin.peres@linux.intel.com>
+Date: Thu, 6 Oct 2016 17:07:22 +0300
+Subject: [PATCH 1/2] loader/dri3: add get_dri_screen() to the vtable
+
+This allows querying the current active screen from the
+loader's common code.
+
+Cc: mesa-stable@lists.freedesktop.org
+Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
+Signed-off-by: Martin Peres <martin.peres@linux.intel.com>
+---
+ src/egl/drivers/dri2/platform_x11_dri3.c | 12 ++++++++++++
+ src/glx/dri3_glx.c | 11 +++++++++++
+ src/loader/loader_dri3_helper.h | 1 +
+ 3 files changed, 24 insertions(+)
+
+diff --git a/src/egl/drivers/dri2/platform_x11_dri3.c b/src/egl/drivers/dri2/platform_x11_dri3.c
+index 31649fe..d93f5bc 100644
+--- a/src/egl/drivers/dri2/platform_x11_dri3.c
++++ b/src/egl/drivers/dri2/platform_x11_dri3.c
+@@ -103,6 +103,17 @@ egl_dri3_get_dri_context(struct loader_dri3_drawable *draw)
+ return dri2_ctx->dri_context;
+ }
+
++static __DRIscreen *
++egl_dri3_get_dri_screen(struct loader_dri3_drawable *draw)
++{
++ _EGLContext *ctx = _eglGetCurrentContext();
++ struct dri2_egl_context *dri2_ctx;
++ if (!ctx)
++ return NULL;
++ dri2_ctx = dri2_egl_context(ctx);
++ return dri2_egl_display(dri2_ctx->base.Resource.Display)->dri_screen;
++}
++
+ static void
+ egl_dri3_flush_drawable(struct loader_dri3_drawable *draw, unsigned flags)
+ {
+@@ -119,6 +130,7 @@ static struct loader_dri3_vtable egl_dri3_vtable = {
+ .set_drawable_size = egl_dri3_set_drawable_size,
+ .in_current_context = egl_dri3_in_current_context,
+ .get_dri_context = egl_dri3_get_dri_context,
++ .get_dri_screen = egl_dri3_get_dri_screen,
+ .flush_drawable = egl_dri3_flush_drawable,
+ .show_fps = NULL,
+ };
+diff --git a/src/glx/dri3_glx.c b/src/glx/dri3_glx.c
+index 90d7bba..51b6b1c 100644
+--- a/src/glx/dri3_glx.c
++++ b/src/glx/dri3_glx.c
+@@ -132,6 +132,16 @@ glx_dri3_get_dri_context(struct loader_dri3_drawable *draw)
+ return (gc != &dummyContext) ? dri3Ctx->driContext : NULL;
+ }
+
++static __DRIscreen *
++glx_dri3_get_dri_screen(struct loader_dri3_drawable *draw)
++{
++ struct glx_context *gc = __glXGetCurrentContext();
++ struct dri3_context *pcp = (struct dri3_context *) gc;
++ struct dri3_screen *psc = (struct dri3_screen *) pcp->base.psc;
++
++ return (gc != &dummyContext && psc) ? psc->driScreen : NULL;
++}
++
+ static void
+ glx_dri3_flush_drawable(struct loader_dri3_drawable *draw, unsigned flags)
+ {
+@@ -169,6 +179,7 @@ static struct loader_dri3_vtable glx_dri3_vtable = {
+ .set_drawable_size = glx_dri3_set_drawable_size,
+ .in_current_context = glx_dri3_in_current_context,
+ .get_dri_context = glx_dri3_get_dri_context,
++ .get_dri_screen = glx_dri3_get_dri_screen,
+ .flush_drawable = glx_dri3_flush_drawable,
+ .show_fps = glx_dri3_show_fps,
+ };
+diff --git a/src/loader/loader_dri3_helper.h b/src/loader/loader_dri3_helper.h
+index 5b8fd1d..658e190 100644
+--- a/src/loader/loader_dri3_helper.h
++++ b/src/loader/loader_dri3_helper.h
+@@ -103,6 +103,7 @@ struct loader_dri3_vtable {
+ void (*set_drawable_size)(struct loader_dri3_drawable *, int, int);
+ bool (*in_current_context)(struct loader_dri3_drawable *);
+ __DRIcontext *(*get_dri_context)(struct loader_dri3_drawable *);
++ __DRIscreen *(*get_dri_screen)(struct loader_dri3_drawable *);
+ void (*flush_drawable)(struct loader_dri3_drawable *, unsigned);
+ void (*show_fps)(struct loader_dri3_drawable *, uint64_t);
+ };
+--
+2.10.0
+
diff --git a/abs/core/mesa/0002-loader-dri3-import-prime-buffers-in-the-currently-bo.patch b/abs/core/mesa/0002-loader-dri3-import-prime-buffers-in-the-currently-bo.patch
new file mode 100644
index 0000000..893872b
--- /dev/null
+++ b/abs/core/mesa/0002-loader-dri3-import-prime-buffers-in-the-currently-bo.patch
@@ -0,0 +1,59 @@
+From a599b1c2037ac8aca6c92350c8a7b3e42c81deaa Mon Sep 17 00:00:00 2001
+From: Martin Peres <martin.peres@linux.intel.com>
+Date: Thu, 6 Oct 2016 17:10:35 +0300
+Subject: [PATCH 2/2] loader/dri3: import prime buffers in the currently-bound
+ screen
+
+This tries to mirrors the codepath taken by DRI2 in IntelSetTexBuffer2()
+and fixes many applications when using DRI3:
+ - Totem with libva on hw-accelerated decoding
+ - obs-studio, using Window Capture (Xcomposite) as a Source
+ - gstreamer with VAAPI
+
+v2:
+ - introduce get_dri_screen() in the dri3 loader's vtable (krh)
+
+Tested-by: Timo Aaltonen <tjaalton@ubuntu.com>
+Tested-by: Ionut Biru <biru.ionut@gmail.com>
+Cc: mesa-stable@lists.freedesktop.org
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71759
+Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
+Signed-off-by: Martin Peres <martin.peres@linux.intel.com>
+---
+ src/loader/loader_dri3_helper.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/src/loader/loader_dri3_helper.c b/src/loader/loader_dri3_helper.c
+index 3ce0352..8179297 100644
+--- a/src/loader/loader_dri3_helper.c
++++ b/src/loader/loader_dri3_helper.c
+@@ -1117,6 +1117,7 @@ dri3_get_pixmap_buffer(__DRIdrawable *driDrawable, unsigned int format,
+ xcb_sync_fence_t sync_fence;
+ struct xshmfence *shm_fence;
+ int fence_fd;
++ __DRIscreen *cur_screen;
+
+ if (buffer)
+ return buffer;
+@@ -1147,8 +1148,17 @@ dri3_get_pixmap_buffer(__DRIdrawable *driDrawable, unsigned int format,
+ if (!bp_reply)
+ goto no_image;
+
++ /* Get the currently-bound screen or revert to using the drawable's screen if
++ * no contexts are currently bound. The latter case is at least necessary for
++ * obs-studio, when using Window Capture (Xcomposite) as a Source.
++ */
++ cur_screen = draw->vtable->get_dri_screen(draw);
++ if (!cur_screen) {
++ cur_screen = draw->dri_screen;
++ }
++
+ buffer->image = loader_dri3_create_image(draw->conn, bp_reply, format,
+- draw->dri_screen, draw->ext->image,
++ cur_screen, draw->ext->image,
+ buffer);
+ if (!buffer->image)
+ goto no_image;
+--
+2.10.0
+
diff --git a/abs/core/mesa/PKGBUILD b/abs/core/mesa/PKGBUILD
index c0e0a1a..16ab271 100644
--- a/abs/core/mesa/PKGBUILD
+++ b/abs/core/mesa/PKGBUILD
@@ -3,9 +3,9 @@
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgbase=mesa
-pkgname=('opencl-mesa' 'libva-mesa-driver' 'mesa-vdpau' 'mesa' 'mesa-libgl')
-pkgver=11.1.1
-pkgrel=1
+pkgname=('opencl-mesa' 'vulkan-intel' 'libva-mesa-driver' 'mesa-vdpau' 'mesa' 'mesa-libgl')
+pkgver=12.0.3
+pkgrel=3
arch=('i686' 'x86_64')
makedepends=('python2-mako' 'libxml2' 'libx11' 'glproto' 'libdrm' 'dri2proto' 'dri3proto' 'presentproto'
'libxshmfence' 'libxxf86vm' 'libxdamage' 'libvdpau' 'libva' 'wayland' 'elfutils' 'llvm'
@@ -13,42 +13,59 @@ makedepends=('python2-mako' 'libxml2' 'libx11' 'glproto' 'libdrm' 'dri2proto' 'd
url="http://mesa3d.sourceforge.net"
license=('custom')
source=(ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/mesa-${pkgver}.tar.xz{,.sig}
- LICENSE)
-sha256sums=('64db074fc514136b5fb3890111f0d50604db52f0b1e94ba3fcb0fe8668a7fd20'
+ LICENSE
+ remove-libpthread-stubs.patch
+ 0001-loader-dri3-add-get_dri_screen-to-the-vtable.patch
+ 0002-loader-dri3-import-prime-buffers-in-the-currently-bo.patch
+ llvm-39.patch)
+sha256sums=('1dc86dd9b51272eee1fad3df65e18cda2e556ef1bc0b6e07cd750b9757f493b1'
'SKIP'
- '7fdc119cf53c8ca65396ea73f6d10af641ba41ea1dd2bd44a824726e01c8b3f2')
+ '7fdc119cf53c8ca65396ea73f6d10af641ba41ea1dd2bd44a824726e01c8b3f2'
+ 'd82c329e89754266eb1538df29b94d33692a66e3b6882b2cee78f4d5aab4a39c'
+ '52eb98eb6c9c644383d9743692aea302d84c4f89cfaa7a276b9276befc2d9780'
+ '96ad07e241d16802b14b14ca3d6965fa7f4f4b8c678d62ba375291910dce3b4a'
+ '9156cb5cbfe287ecaeb4c97af44eaa677d28d3b659d309a6c5706bc9eefbfa16')
validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D') # Emil Velikov <emil.l.velikov@gmail.com>
prepare() {
cd ${srcdir}/?esa-*
- # Fix detection of libLLVM when built with CMake
- sed -i 's/LLVM_SO_NAME=.*/LLVM_SO_NAME=LLVM/' configure
+ patch -Np0 -i ../llvm-39.patch
+
+ # Now mesa checks for libpthread-stubs - so remove the check
+ patch -Np1 -i ../remove-libpthread-stubs.patch
+
+ # fix FS#50240 - https://bugs.freedesktop.org/show_bug.cgi?id=71759
+ # merged upstream
+ patch -Np1 -i ../0001-loader-dri3-add-get_dri_screen-to-the-vtable.patch
+ patch -Np1 -i ../0002-loader-dri3-import-prime-buffers-in-the-currently-bo.patch
+
+ autoreconf -fiv
}
build() {
cd ${srcdir}/?esa-*
- #autoreconf -vfi # our automake is far too new for their build system :)
-
./configure --prefix=/usr \
--sysconfdir=/etc \
--with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-gallium-drivers=r300,r600,radeonsi,nouveau,svga,swrast \
+ --with-gallium-drivers=r300,r600,radeonsi,nouveau,svga,swrast,virgl \
--with-dri-drivers=i915,i965,r200,radeon,nouveau,swrast \
--with-egl-platforms=x11,drm,wayland \
+ --with-vulkan-drivers=intel \
--with-sha1=libgcrypt \
- --enable-llvm-shared-libs \
- --enable-egl \
- --enable-gbm \
+ --disable-xvmc \
--enable-gallium-llvm \
+ --enable-llvm-shared-libs \
--enable-shared-glapi \
+ --enable-egl \
--enable-glx \
--enable-glx-tls \
- --enable-dri \
- --enable-osmesa \
--enable-gles1 \
--enable-gles2 \
+ --enable-gbm \
+ --enable-dri \
+ --enable-osmesa \
--enable-texture-float \
--enable-xa \
--enable-vdpau \
@@ -57,8 +74,6 @@ build() {
--enable-opencl --enable-opencl-icd \
--with-clang-libdir=/usr/lib
- # --help
-
make
# fake installation
@@ -72,22 +87,37 @@ package_opencl-mesa() {
optdepends=('opencl-headers: headers necessary for OpenCL development')
install -m755 -d ${pkgdir}/etc
- mv -v ${srcdir}/fakeinstall/etc/OpenCL ${pkgdir}/etc/
+ cp -rv ${srcdir}/fakeinstall/etc/OpenCL ${pkgdir}/etc/
install -m755 -d ${pkgdir}/usr/lib/gallium-pipe
- mv -v ${srcdir}/fakeinstall/usr/lib/lib*OpenCL* ${pkgdir}/usr/lib/
- mv -v ${srcdir}/fakeinstall/usr/lib/gallium-pipe/pipe_{r600,radeonsi}.so ${pkgdir}/usr/lib/gallium-pipe/
+ cp -rv ${srcdir}/fakeinstall/usr/lib/lib*OpenCL* ${pkgdir}/usr/lib/
+ cp -rv ${srcdir}/fakeinstall/usr/lib/gallium-pipe/pipe_{r600,radeonsi}.so ${pkgdir}/usr/lib/gallium-pipe/
install -m755 -d "${pkgdir}/usr/share/licenses/opencl-mesa"
install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/opencl-mesa/"
}
+package_vulkan-intel() {
+ pkgdesc="Intel's Vulkan mesa driver"
+ depends=('vulkan-icd-loader' 'libgcrypt' 'wayland' 'libxcb')
+
+ install -m755 -d ${pkgdir}/usr/share
+ mv -v ${srcdir}/fakeinstall/usr/share/vulkan ${pkgdir}/usr/share/
+
+ install -m755 -d ${pkgdir}/usr/{include/vulkan,lib}
+ mv -v ${srcdir}/fakeinstall/usr/lib/libvulkan_intel.so ${pkgdir}/usr/lib/
+ mv -v ${srcdir}/fakeinstall/usr/include/vulkan/vulkan_intel.h ${pkgdir}/usr/include/vulkan
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/vulkan-intel"
+ install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/vulkan-intel/"
+}
+
package_libva-mesa-driver() {
pkgdesc="VA-API implementation for gallium"
depends=('libdrm' 'libx11' 'llvm-libs' 'expat' 'elfutils')
install -m755 -d ${pkgdir}/usr/lib
- mv -v ${srcdir}/fakeinstall/usr/lib/dri ${pkgdir}/usr/lib
+ cp -rv ${srcdir}/fakeinstall/usr/lib/dri ${pkgdir}/usr/lib
install -m755 -d "${pkgdir}/usr/share/licenses/libva-mesa-driver"
install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libva-mesa-driver/"
@@ -98,7 +128,7 @@ package_mesa-vdpau() {
depends=('libdrm' 'libx11' 'llvm-libs' 'expat' 'elfutils')
install -m755 -d ${pkgdir}/usr/lib
- mv -v ${srcdir}/fakeinstall/usr/lib/vdpau ${pkgdir}/usr/lib
+ cp -rv ${srcdir}/fakeinstall/usr/lib/vdpau ${pkgdir}/usr/lib
install -m755 -d "${pkgdir}/usr/share/licenses/mesa-vdpau"
install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa-vdpau/"
@@ -111,32 +141,35 @@ package_mesa() {
optdepends=('opengl-man-pages: for the OpenGL API man pages'
'mesa-vdpau: for accelerated video playback'
'libva-mesa-driver: for accelerated video playback')
- provides=('libglapi' 'osmesa' 'libgbm' 'libgles' 'libegl' 'khrplatform-devel'
- 'ati-dri' 'intel-dri' 'nouveau-dri' 'svga-dri' 'mesa-dri')
- conflicts=('libglapi' 'osmesa' 'libgbm' 'libgles' 'libegl' 'khrplatform-devel'
- 'ati-dri' 'intel-dri' 'nouveau-dri' 'svga-dri' 'mesa-dri')
- replaces=('libglapi' 'osmesa' 'libgbm' 'libgles' 'libegl' 'khrplatform-devel'
- 'ati-dri' 'intel-dri' 'nouveau-dri' 'svga-dri' 'mesa-dri')
+ provides=('ati-dri' 'intel-dri' 'nouveau-dri' 'svga-dri' 'mesa-dri')
+ conflicts=('ati-dri' 'intel-dri' 'nouveau-dri' 'svga-dri' 'mesa-dri')
+ replaces=('ati-dri' 'intel-dri' 'nouveau-dri' 'svga-dri' 'mesa-dri')
install -m755 -d ${pkgdir}/etc
- mv -v ${srcdir}/fakeinstall/etc/drirc ${pkgdir}/etc
+ cp -rv ${srcdir}/fakeinstall/etc/drirc ${pkgdir}/etc
install -m755 -d ${pkgdir}/usr/lib/xorg/modules/dri
# ati-dri, nouveau-dri, intel-dri, svga-dri, swrast
- mv -v ${srcdir}/fakeinstall/usr/lib/xorg/modules/dri/* ${pkgdir}/usr/lib/xorg/modules/dri
+ cp -av ${srcdir}/fakeinstall/usr/lib/xorg/modules/dri/* ${pkgdir}/usr/lib/xorg/modules/dri
- mv -v ${srcdir}/fakeinstall/usr/lib/bellagio ${pkgdir}/usr/lib
- mv -v ${srcdir}/fakeinstall/usr/lib/d3d ${pkgdir}/usr/lib
- mv -v ${srcdir}/fakeinstall/usr/lib/*.so* ${pkgdir}/usr/lib/
-
- mv -v ${srcdir}/fakeinstall/usr/include ${pkgdir}/usr
- mv -v ${srcdir}/fakeinstall/usr/lib/pkgconfig ${pkgdir}/usr/lib/
+ cp -rv ${srcdir}/fakeinstall/usr/lib/bellagio ${pkgdir}/usr/lib
+ cp -rv ${srcdir}/fakeinstall/usr/lib/d3d ${pkgdir}/usr/lib
+ cp -rv ${srcdir}/fakeinstall/usr/lib/lib{gbm,glapi}.so* ${pkgdir}/usr/lib/
+ cp -rv ${srcdir}/fakeinstall/usr/lib/libOSMesa.so* ${pkgdir}/usr/lib/
+ cp -rv ${srcdir}/fakeinstall/usr/lib/libwayland*.so* ${pkgdir}/usr/lib/
+ cp -rv ${srcdir}/fakeinstall/usr/lib/libxatracker.so* ${pkgdir}/usr/lib/
+
+ cp -rv ${srcdir}/fakeinstall/usr/include ${pkgdir}/usr
+ cp -rv ${srcdir}/fakeinstall/usr/lib/pkgconfig ${pkgdir}/usr/lib/
+ # remove vulkan headers
+ rm -rf ${pkgdir}/usr/include/vulkan
+
install -m755 -d ${pkgdir}/usr/lib/mesa
# move libgl/EGL/glesv*.so to not conflict with blobs - may break .pc files ?
- mv -v ${pkgdir}/usr/lib/libGL.so* ${pkgdir}/usr/lib/mesa/
- mv -v ${pkgdir}/usr/lib/libEGL.so* ${pkgdir}/usr/lib/mesa/
- mv -v ${pkgdir}/usr/lib/libGLES*.so* ${pkgdir}/usr/lib/mesa/
+ cp -rv ${srcdir}/fakeinstall/usr/lib/libGL.so* ${pkgdir}/usr/lib/mesa/
+ cp -rv ${srcdir}/fakeinstall/usr/lib/libEGL.so* ${pkgdir}/usr/lib/mesa/
+ cp -rv ${srcdir}/fakeinstall/usr/lib/libGLES*.so* ${pkgdir}/usr/lib/mesa/
install -m755 -d "${pkgdir}/usr/share/licenses/mesa"
install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa/"
@@ -145,8 +178,8 @@ package_mesa() {
package_mesa-libgl() {
pkgdesc="Mesa 3-D graphics library"
depends=('mesa')
- provides=('libgl')
- replaces=('libgl')
+ provides=('libgl' 'libgles' 'libegl')
+ conflicts=('libgl' 'libgles' 'libegl')
# See FS#26284
install -m755 -d "${pkgdir}/usr/lib/xorg/modules/extensions"
diff --git a/abs/core/mesa/__changelog b/abs/core/mesa/__changelog
new file mode 100644
index 0000000..2d07d92
--- /dev/null
+++ b/abs/core/mesa/__changelog
@@ -0,0 +1 @@
+PKGBUILD: add llvm-39.patch
diff --git a/abs/core/mesa/llvm-39.patch b/abs/core/mesa/llvm-39.patch
new file mode 100644
index 0000000..4cdbb73
--- /dev/null
+++ b/abs/core/mesa/llvm-39.patch
@@ -0,0 +1,10 @@
+--- src/gallium/state_trackers/clover/llvm/invocation.cpp 2016-09-18 14:21:11.960782381 +0200
++++ src/gallium/state_trackers/clover/llvm/invocation.cpp 2016-09-18 14:22:59.743093983 +0200
+@@ -208,6 +208,7 @@
+ c.getInvocation().setLangDefaults(c.getLangOpts(), clang::IK_OpenCL,
+ #if HAVE_LLVM >= 0x0309
+ llvm::Triple(triple),
++ c.getPreprocessorOpts(),
+ #endif
+ clang::LangStandard::lang_opencl11);
+ c.createDiagnostics(
diff --git a/abs/core/mesa/remove-libpthread-stubs.patch b/abs/core/mesa/remove-libpthread-stubs.patch
new file mode 100644
index 0000000..5b44d03
--- /dev/null
+++ b/abs/core/mesa/remove-libpthread-stubs.patch
@@ -0,0 +1,14 @@
+diff -ur mesa-orig/configure.ac mesa-origb/configure.ac
+--- mesa-orig/configure.ac 2016-05-25 15:37:44.191643017 +0200
++++ mesa-origb/configure.ac 2016-05-25 15:42:20.861654709 +0200
+@@ -813,10 +813,6 @@
+ dnl pkgconfig files.
+ test -z "$PTHREAD_LIBS" && PTHREAD_LIBS="-lpthread"
+
+-PKG_CHECK_MODULES(PTHREADSTUBS, pthread-stubs)
+-AC_SUBST(PTHREADSTUBS_CFLAGS)
+-AC_SUBST(PTHREADSTUBS_LIBS)
+-
+ dnl SELinux awareness.
+ AC_ARG_ENABLE([selinux],
+ [AS_HELP_STRING([--enable-selinux],
diff --git a/abs/core/mplayer/PKGBUILD b/abs/core/mplayer/PKGBUILD
index d282afc..4d95801 100644
--- a/abs/core/mplayer/PKGBUILD
+++ b/abs/core/mplayer/PKGBUILD
@@ -5,49 +5,35 @@
pkgbase=mplayer
pkgname=('mplayer' 'mencoder')
-pkgver=37379
-pkgrel=6
+pkgver=37857
+pkgrel=2
arch=('i686' 'x86_64')
makedepends=(
- 'libxxf86dga' 'libxxf86vm' 'libmad' 'libxinerama' 'sdl' 'lame' 'libtheora'
- 'xvidcore' 'libmng' 'libxss' 'libgl' 'smbclient' 'aalib' 'libcaca'
- 'faac' 'faad2' 'lirc' 'libxvmc' 'enca' 'libvdpau' 'opencore-amr'
- 'libdca' 'a52dec' 'schroedinger' 'libvpx' 'fribidi' 'unzip' 'mesa'
- 'live-media' 'yasm' 'git' 'fontconfig' 'mpg123' 'ladspa' 'libass' 'libbluray'
- 'libcdio-paranoia' 'opus' 'subversion' 'x264' 'libx264' 'rtmpdump' 'gnutls'
- 'gsm' 'libdvdcss' 'libdvdread' 'libdvdnav'
+ 'libxxf86dga' 'libmad' 'libxinerama'
+ 'libmng' 'libxss' 'smbclient' 'aalib' 'libcaca'
+ 'faac' 'faad2' 'lirc' 'libxvmc' 'enca' 'libdca' 'a52dec' 'libvpx' 'unzip' 'mesa'
+ 'live-media' 'yasm' 'git' 'mpg123' 'ladspa'
+ 'libcdio-paranoia' 'subversion' 'x264' 'libx264' 'rtmpdump'
+ 'libdvdcss' 'libdvdread' 'libdvdnav' 'ffmpeg'
)
license=('GPL')
url='http://www.mplayerhq.hu/'
options=('!buildflags' '!emptydirs')
source=($pkgbase-$pkgver::svn://svn.mplayerhq.hu/mplayer/trunk#revision=$pkgver
- http://ffmpeg.org/releases/ffmpeg-2.6.2.tar.bz2
mplayer.desktop
- cdio-includes.patch
include-samba-4.0.patch
- ffmpeg-libvpxenc-remove-some-unused-ctrl-id-mappings.patch
revert-icl-fixes.patch)
md5sums=('SKIP'
- 'e75d598921285d6775f20164a91936ac'
'62f44a58f072b2b1a3c3d3e4976d64b3'
- '7b5be7191aafbea64218dc4916343bbc'
'868a92bdef148df7f38bfa992b26ce9d'
- '71be9bcd297cb9ce833bbc5d425c0470'
'3579402002b7302fdf2d146639333efd')
-pkgver() {
- cd $pkgbase-$pkgver
- svnversion
-}
-
prepare() {
cd $pkgbase-$pkgver
- mv ../ffmpeg-*/ ./ffmpeg
+# mv ../ffmpeg-*/ ./ffmpeg
- patch -Np0 -i ../cdio-includes.patch
patch -Np1 -i ../include-samba-4.0.patch
patch -Np0 -i ../revert-icl-fixes.patch
- patch -d ffmpeg -Np1 <../ffmpeg-libvpxenc-remove-some-unused-ctrl-id-mappings.patch
./version.sh
}
@@ -68,6 +54,7 @@ build() {
--disable-mga \
--disable-ass-internal \
--disable-cdparanoia \
+ --disable-ffmpeg_a \
--enable-xvmc \
--enable-radio \
--enable-radio-capture \
@@ -81,16 +68,12 @@ build() {
package_mplayer() {
pkgdesc='Media player for Linux'
- install=mplayer.install
backup=('etc/mplayer/codecs.conf' 'etc/mplayer/input.conf')
depends=(
'desktop-file-utils' 'ttf-font' 'enca' 'libxss' 'a52dec' 'libvpx'
- 'lirc' 'libx264' 'libmng' 'libdca' 'aalib' 'lame' 'fontconfig'
- 'libgl' 'libxinerama' 'libvdpau' 'smbclient' 'xvidcore'
- 'opencore-amr' 'libmad' 'sdl' 'libtheora' 'libcaca' 'libxxf86dga'
- 'fribidi' 'libjpeg' 'faac' 'faad2' 'libxvmc' 'schroedinger' 'mpg123'
- 'libass' 'libxxf86vm' 'libbluray' 'libcdio-paranoia' 'opus' 'rtmpdump'
- 'gsm' 'gnutls' 'libdvdnav'
+ 'lirc' 'libx264' 'libmng' 'libdca' 'aalib' 'libxinerama' 'smbclient'
+ 'libmad' 'libcaca' 'libxxf86dga' 'faac' 'faad2' 'libxvmc' 'mpg123'
+ 'libcdio-paranoia' 'rtmpdump' 'libdvdnav' 'ffmpeg'
)
cd $pkgbase-$pkgver
@@ -109,11 +92,8 @@ package_mplayer() {
package_mencoder() {
pkgdesc='Free command line video decoding, encoding and filtering tool'
depends=(
- 'enca' 'a52dec' 'libvpx' 'libx264' 'libmng' 'libdca' 'bzip2' 'lame'
- 'alsa-lib' 'fontconfig' 'giflib' 'libpng' 'smbclient' 'xvidcore'
- 'opencore-amr' 'libmad' 'libtheora' 'fribidi' 'libjpeg' 'faac' 'faad2'
- 'schroedinger' 'mpg123' 'libass' 'libbluray' 'libcdio-paranoia'
- 'libvorbis' 'opus' 'rtmpdump' 'gsm' 'libdvdnav'
+ 'enca' 'a52dec' 'libvpx' 'libx264' 'libmng' 'libdca' 'smbclient' 'libmad' 'faac' 'faad2'
+ 'mpg123' 'libcdio-paranoia' 'rtmpdump' 'libdvdnav' 'ffmpeg'
)
make -C $pkgbase-$pkgver DESTDIR="$pkgdir" install-mencoder install-mencoder-man
diff --git a/abs/core/mplayer/__changelog b/abs/core/mplayer/__changelog
index c723332..345be54 100644
--- a/abs/core/mplayer/__changelog
+++ b/abs/core/mplayer/__changelog
@@ -1,2 +1 @@
-PKGBUILD - remove dep libpulse
PKGBUILD - remove dep jack
diff --git a/abs/core/mplayer/ffmpeg-libvpxenc-remove-some-unused-ctrl-id-mappings.patch b/abs/core/mplayer/ffmpeg-libvpxenc-remove-some-unused-ctrl-id-mappings.patch
deleted file mode 100644
index 15d2600..0000000
--- a/abs/core/mplayer/ffmpeg-libvpxenc-remove-some-unused-ctrl-id-mappings.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 6540fe04a3f9a11ba7084a49b3ee5fa2fc5b32ab Mon Sep 17 00:00:00 2001
-From: James Zern <jzern@google.com>
-Date: Mon, 19 Oct 2015 22:44:11 -0700
-Subject: [PATCH] libvpxenc: remove some unused ctrl id mappings
-
-VP8E_UPD_ENTROPY, VP8E_UPD_REFERENCE, VP8E_USE_REFERENCE were removed
-from libvpx and the remaining values were never used here
-
-Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
-Signed-off-by: James Zern <jzern@google.com>
----
- libavcodec/libvpxenc.c | 8 --------
- 1 file changed, 8 deletions(-)
-
-diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c
-index 5f39783..992122c 100644
---- a/libavcodec/libvpxenc.c
-+++ b/libavcodec/libvpxenc.c
-@@ -104,19 +104,11 @@ typedef struct VP8EncoderContext {
-
- /** String mappings for enum vp8e_enc_control_id */
- static const char *const 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",
---
-1.7.10.4
-
diff --git a/abs/core/mplayer/mplayer.install b/abs/core/mplayer/mplayer.install
deleted file mode 100644
index 660593c..0000000
--- a/abs/core/mplayer/mplayer.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/abs/core/mysql/PKGBUILD b/abs/core/mysql/PKGBUILD
index b75dca4..2c3fdcf 100644
--- a/abs/core/mysql/PKGBUILD
+++ b/abs/core/mysql/PKGBUILD
@@ -5,7 +5,7 @@
pkgname=('mysql' 'libmysqlclient' 'mysql-clients')
pkgbase=mysql
-pkgver=5.6.28
+pkgver=5.6.33
pkgrel=1
pkgdesc="Fast SQL database server, community edition"
arch=('i686' 'x86_64')
@@ -169,7 +169,7 @@ package_mysql(){
rm "${pkgdir}/usr/share/man/man1/mysql-test-run.pl.1"
}
-md5sums=('4bc8fde6d04fb7104df1ba8a4025b156'
+md5sums=('7fbf37928ef651e005b80e820a055385'
'b79e65a5aa536e6b5bc60988eb0b78a2'
'2fa6e456964d4ff5e6d4f9ff0126aed6'
'81b62df0f569935109c1b107dfe9f9fa'
diff --git a/abs/core/mythdb-initial/PKGBUILD b/abs/core/mythdb-initial/PKGBUILD
index 1e6dbc9..9906561 100755
--- a/abs/core/mythdb-initial/PKGBUILD
+++ b/abs/core/mythdb-initial/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=mythdb-initial
pkgver=8.4
-pkgrel=3
+pkgrel=4
pkgdesc="setup the initial mythtv database for linhes"
url=""
license=()
@@ -22,4 +22,4 @@ package() {
md5sums=('5f3492d396142d394c095749363fd03d'
'ad0e57ac5e7c3677808a670e16634bba'
- 'f57a97ca3ad0d22aafc8a2b6b34ae1c2')
+ '6d103c9e73ac2eb47cea2b53a7308068')
diff --git a/abs/core/mythdb-initial/custom.sql b/abs/core/mythdb-initial/custom.sql
index a77f678..05d814d 100644
--- a/abs/core/mythdb-initial/custom.sql
+++ b/abs/core/mythdb-initial/custom.sql
@@ -91,7 +91,7 @@ INSERT INTO `settings` (`value`, `data`, `hostname`) VALUES
-- /myth based storage groups are obsolete, add_storage.py will create the ones it needs.
-INSERT INTO `storagegroup` (`groupname`, `hostname`, `dirname`) VALUES
+-- INSERT INTO `storagegroup` (`groupname`, `hostname`, `dirname`) VALUES
-- ('Default' ,'apheleia' ,'/myth/tv/'),
-- ('LiveTV' ,'apheleia' ,'/myth/tv/live/'),
-- ('Screenshots' ,'apheleia' ,'/myth/artwork/screenshots/'),
@@ -101,7 +101,7 @@ INSERT INTO `storagegroup` (`groupname`, `hostname`, `dirname`) VALUES
-- ('Fanart' ,'apheleia' ,'/myth/artwork/fanart/'),
-- ('Trailers' ,'apheleia' ,'/myth/artwork/trailers/'),
-- ('Streaming' ,'apheleia' ,'/myth/streaming'),
- ('DB Backups' ,'apheleia' ,'/data/storage/disk0/backup/mythtv_backups');
+-- ('DB Backups' ,'apheleia' ,'/data/storage/disk0/backup/mythtv_backups/');
-- Clear out old values because mysql is mysql
diff --git a/abs/core/mythtv/stable-0.28/git_src/git_hash b/abs/core/mythtv/stable-0.28/git_src/git_hash
index 535d15a..b558f7e 100644
--- a/abs/core/mythtv/stable-0.28/git_src/git_hash
+++ b/abs/core/mythtv/stable-0.28/git_src/git_hash
@@ -1 +1 @@
-370dd71fa4a6affb09f989c6000c9dea7097bb15
+7f8f1688e882cd0587097fe4867e20d8fa122cce
diff --git a/abs/core/mythtv/stable-0.28/git_src/git_hash_web b/abs/core/mythtv/stable-0.28/git_src/git_hash_web
index 542ef2e..98b5fa0 100644
--- a/abs/core/mythtv/stable-0.28/git_src/git_hash_web
+++ b/abs/core/mythtv/stable-0.28/git_src/git_hash_web
@@ -1 +1 @@
-a1f2cdf03978427eaa9e35fa18162a0ba6be829d
+3fa642f00da9529674ea93110396d036da1d43ff
diff --git a/abs/core/mythtv/stable-0.28/mythplugins/PKGBUILD b/abs/core/mythtv/stable-0.28/mythplugins/PKGBUILD
index 7ce684e..4f74b0e 100644
--- a/abs/core/mythtv/stable-0.28/mythplugins/PKGBUILD
+++ b/abs/core/mythtv/stable-0.28/mythplugins/PKGBUILD
@@ -9,7 +9,7 @@ pkgname=('mytharchive'
'mythweather'
'mythzoneminder')
pkgver=0.28
-pkgrel=13
+pkgrel=23
arch=('i686' 'x86_64')
url="http://www.mythtv.org"
license=('GPL')
diff --git a/abs/core/mythtv/stable-0.28/mythtv/PKGBUILD b/abs/core/mythtv/stable-0.28/mythtv/PKGBUILD
index f2b877d..08c1aed 100644
--- a/abs/core/mythtv/stable-0.28/mythtv/PKGBUILD
+++ b/abs/core/mythtv/stable-0.28/mythtv/PKGBUILD
@@ -1,21 +1,21 @@
pkgname=mythtv
pkgver=0.28
-pkgrel=13
+pkgrel=23
commit_hash=`cat ../git_src/git_hash`
pkgdesc="A Homebrew PVR project $commit_hash"
arch=('i686' 'x86_64')
url="http://www.mythtv.org/"
license=('GPL')
-depends=('avahi' 'faad2' 'fftw' 'glew' 'exiv2' 'lame' 'libass' 'libavc1394' 'libcdio'
- 'libcec' 'libcrystalhd-git' 'libiec61883' 'libva' 'libvdpau' 'libvpx'
- 'libxinerama' 'libxrandr' 'libxml2' 'LinHES-config>=8.1-6'
+depends=('avahi' 'exiv2' 'faad2' 'fftw' 'glew' 'lame' 'libass' 'libavc1394' 'libcdio'
+ 'libcec' 'libgl' 'libcrystalhd-git' 'libiec61883' 'libva' 'libvdpau' 'libvpx'
+ 'libx264' 'libxinerama' 'libxml2' 'libxrandr' 'LinHES-config>=8.1-6'
'LinHES-system>=8.4-4' 'lirc-utils' 'mysql-clients' 'mysql-python'
'openssl' 'perl-date-manip' 'perl-dbd-mysql'
'perl-io-socket-inet6' 'perl-libwww' 'perl-math-round'
'perl-net-upnp' 'perl-soap-lite' 'perl-xml-sax' 'python2-pycurl'
'python2-lxml' 'qt5-script' 'qt5-webkit' 'sdl' 'taglib' 'urlgrabber' 'wget'
- 'x264' 'xmltv')
-makedepends=('mesa' 'libgl' 'yasm' 'git' 'rsync')
+ 'xmltv')
+makedepends=('mesa' 'mesa-libgl' 'yasm' 'x264' 'git' 'rsync')
replaces=()
groups=('pvr')
backup=()
@@ -29,6 +29,8 @@ patches=(
'disable_mythnotification_tuner_failure.patch'
'tv.cpp_fix_caps.patch'
'add_categorytype_Program.pm.patch'
+ 'searchMetatdataSelectedGrabber.patch'
+ 'addDamagedToProgDetails.patch'
)
optdepends=()
@@ -112,4 +114,6 @@ md5sums=('e30b482dcd5f3e71c6419fd753bab2b1'
'1cd668136deea20efb79cf3e6310effc'
'62c42b1043ebf65959fa9eced9ca3ed8'
'a38f26576662afdc02d11c7096839321'
- 'cc9e81a297f82e9df4ad72428c4f37c6')
+ '0f674b9cad031ba1e03aaf6b5ee1499f'
+ '6add9c16bbb988067e82029327e567b2'
+ 'e73bb7c5036e44a68b6f6aa2f1bac077')
diff --git a/abs/core/mythtv/stable-0.28/mythtv/addDamagedToProgDetails.patch b/abs/core/mythtv/stable-0.28/mythtv/addDamagedToProgDetails.patch
new file mode 100644
index 0000000..828ad1b
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/addDamagedToProgDetails.patch
@@ -0,0 +1,11 @@
+--- src/mythtv/programs/mythfrontend/progdetails.cpp.orig 2016-10-11 14:28:56.564443942 +0000
++++ src/mythtv/programs/mythfrontend/progdetails.cpp 2016-10-11 14:14:59.394161898 +0000
+@@ -323,6 +323,8 @@
+ attr += tr("720p Resolution") + ", ";
+ if (videoprop & VID_1080)
+ attr += tr("1080i/p Resolution") + ", ";
++ if (videoprop & VID_DAMAGED)
++ attr += tr("Damaged") + ", ";
+
+ if (subtype & SUB_HARDHEAR)
+ attr += tr("CC","Closed Captioned") + ", ";
diff --git a/abs/core/mythtv/stable-0.28/mythtv/recordings b/abs/core/mythtv/stable-0.28/mythtv/recordings
index c1fe28a..1c588f3 100644
--- a/abs/core/mythtv/stable-0.28/mythtv/recordings
+++ b/abs/core/mythtv/stable-0.28/mythtv/recordings
@@ -42,6 +42,17 @@ then
then
rsync -a "$cattype/" "$tmprecdir/Sports"
rm -r "$cattype"
+ else
+ #ignore Movies, TV Shows, Sports. Move all others to TV Shows
+ if [[ $cattype != "$tmprecdir/Movies" ]] && [[ $cattype != "$tmprecdir/TV Shows" ]] && [[ $cattype != "$tmprecdir/Sports" ]]
+ then
+ if [ ! -d "$tmprecdir/TV Shows" ]
+ then
+ mkdir "$tmprecdir/TV Shows"
+ fi
+ rsync -a "$cattype" "$tmprecdir/TV Shows"
+ rm -r "$cattype"
+ fi
fi
done
diff --git a/abs/core/mythtv/stable-0.28/mythtv/searchMetatdataSelectedGrabber.patch b/abs/core/mythtv/stable-0.28/mythtv/searchMetatdataSelectedGrabber.patch
new file mode 100644
index 0000000..41e0871
--- /dev/null
+++ b/abs/core/mythtv/stable-0.28/mythtv/searchMetatdataSelectedGrabber.patch
@@ -0,0 +1,18 @@
+--- src/mythtv/libs/libmythmetadata/metadatadownload.cpp.orig 2016-10-06 19:52:36.807746878 +0000
++++ src/mythtv/libs/libmythmetadata/metadatadownload.cpp 2016-10-06 19:42:06.045651726 +0000
+@@ -517,6 +517,7 @@
+
+ // initial search mode
+ if (!lookup->GetInetref().isEmpty() && lookup->GetInetref() != "00000000" &&
++ !lookup->GetInetref().endsWith("_") &&
+ (lookup->GetStep() == kLookupSearch || lookup->GetStep() == kLookupData))
+ {
+ // with inetref
+@@ -575,6 +576,7 @@
+
+ // initial search mode
+ if (!lookup->GetInetref().isEmpty() && lookup->GetInetref() != "00000000" &&
++ !lookup->GetInetref().endsWith("_") &&
+ (lookup->GetStep() == kLookupSearch || lookup->GetStep() == kLookupData))
+ {
+ // with inetref
diff --git a/abs/core/mythtv/stable-0.28/mythweb/PKGBUILD b/abs/core/mythtv/stable-0.28/mythweb/PKGBUILD
index 035a03a..785056e 100644
--- a/abs/core/mythtv/stable-0.28/mythweb/PKGBUILD
+++ b/abs/core/mythtv/stable-0.28/mythweb/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=mythweb
pkgver=0.28
-pkgrel=5
+pkgrel=8
commit_hash=`cat ../git_src/git_hash_web`
pkgdesc="Web interface for MythTV's backend, $commit_hash"
arch=('i686' 'x86_64')
diff --git a/abs/core/nano/PKGBUILD b/abs/core/nano/PKGBUILD
index 63f3a0b..b1fe973 100644
--- a/abs/core/nano/PKGBUILD
+++ b/abs/core/nano/PKGBUILD
@@ -3,8 +3,8 @@
# Contributor: Judd <judd@archlinux.org>
pkgname=nano
-pkgver=2.5.3
-pkgrel=2
+pkgver=2.7.0
+pkgrel=1
pkgdesc="Pico editor clone with enhancements"
arch=('i686' 'x86_64')
license=('GPL')
@@ -12,10 +12,12 @@ url="http://www.nano-editor.org"
groups=('base')
depends=('ncurses' 'file' 'sh')
backup=('etc/nanorc')
-source=(http://www.nano-editor.org/dist/v2.5/${pkgname}-${pkgver}.tar.gz{,.asc})
-md5sums=('a04d77611422ab4b6a7b489650c7a793'
+source=(http://www.nano-editor.org/dist/v2.7/${pkgname}-${pkgver}.tar.gz{,.asc})
+md5sums=('0805c5b8c75d4fde053e4b1431270f91'
'SKIP')
-validpgpkeys=('8DA6FE7BFA7A418AB3CB2354BCB356DF91009FA7') # "Chris Allegretta <chrisa@asty.org>"
+validpgpkeys=('8DA6FE7BFA7A418AB3CB2354BCB356DF91009FA7' # "Chris Allegretta <chrisa@asty.org>"
+ 'A7F6A64A67DA09EF92782DD79DF4862AF1175C5B' # "Benno Schulenberg <bensberg@justemail.net>"
+)
build() {
cd ${pkgname}-${pkgver}
diff --git a/abs/core/nvidia-304xx-utils/PKGBUILD b/abs/core/nvidia-304xx-utils/PKGBUILD
index 9cd105c..45a30f0 100644
--- a/abs/core/nvidia-304xx-utils/PKGBUILD
+++ b/abs/core/nvidia-304xx-utils/PKGBUILD
@@ -4,7 +4,7 @@
pkgbase=nvidia-304xx-utils
pkgname=('nvidia-304xx-utils' 'nvidia-304xx-libgl' 'opencl-nvidia-304xx')
-pkgver=304.131
+pkgver=304.132
pkgrel=1
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
@@ -13,8 +13,8 @@ makedepends=('zlib')
options=('!strip')
source_i686=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
source_x86_64=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
-sha512sums_i686=('3e67c40648554dc49472081eee88ae982c3b235b3346e4d9e7fb5ae33ec5f10ed088da804ac7d8bd1565995df3861f12b3560030cd3a19339a2d35768b0a943e')
-sha512sums_x86_64=('07e529e4e81c42b43861475029aa0f223f8f3d299be9ddfe820c583e26aae49223a9b0dfee6d66ab09c526554bb581e5f8cf755eda600cb9e0bdac7d5f4acb93')
+sha512sums_i686=('70a6ed74a93ac2a1acec5eab5078dfe05fab66c6264d67f3238a6b28af7b39f7205e237214bac4ee5d2366e8c6a4a63dfc8dc113e9e977ee2387c5c8c63ccc8f')
+sha512sums_x86_64=('990c79120536335f83ecd665140b2af8f778785a2cdc8afb06abbacba49e66d87f5af25fb4d6c64779cf898b61273d17cb0213516f497d1c0fbd63b7c5e85d8c')
if [ "$CARCH" = "i686" ]; then
_arch='x86'
@@ -60,8 +60,8 @@ package_opencl-nvidia-304xx() {
package_nvidia-304xx-libgl() {
pkgdesc="NVIDIA drivers libraries symlinks, 304xx legacy branch"
depends=('nvidia-304xx-utils' 'mesa')
- conflicts=('libgl' 'nvidia-libgl')
- provides=('libgl' 'nvidia-libgl')
+ conflicts=('libgl' 'libgles' 'libegl' 'nvidia-libgl')
+ provides=('libgl' 'libgles' 'libegl' 'nvidia-libgl')
cd ${_pkg}
diff --git a/abs/core/nvidia-304xx/PKGBUILD b/abs/core/nvidia-304xx/PKGBUILD
index 9d20b29..e2a8a6d 100644
--- a/abs/core/nvidia-304xx/PKGBUILD
+++ b/abs/core/nvidia-304xx/PKGBUILD
@@ -4,21 +4,21 @@
pkgbase=nvidia-304xx
pkgname=(nvidia-304xx nvidia-304xx-dkms)
-pkgver=304.131
+pkgver=304.132
_extramodules=extramodules-4.4-ARCH
-pkgrel=8
+pkgrel=1
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
makedepends=('nvidia-304xx-libgl' "nvidia-304xx-utils=${pkgver}" 'linux' 'linux-headers>=4.4' 'linux-headers<4.5')
conflicts=('nvidia')
license=('custom')
options=('!strip')
-source=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run"
- "http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run"
- disable-mtrr.patch)
-sha512sums=('3e67c40648554dc49472081eee88ae982c3b235b3346e4d9e7fb5ae33ec5f10ed088da804ac7d8bd1565995df3861f12b3560030cd3a19339a2d35768b0a943e'
- '07e529e4e81c42b43861475029aa0f223f8f3d299be9ddfe820c583e26aae49223a9b0dfee6d66ab09c526554bb581e5f8cf755eda600cb9e0bdac7d5f4acb93'
- '54e8825e523f11706890e09e476498f3a30f75ce4e350ff2ff8a1e1c3af574d9ccfb8903543766b6863d94cdfbf46e68cd3d33380867dd976cafc8dd2dd78774')
+source=('disable-mtrr.patch')
+source_i686+=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
+source_x86_64+=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
+sha512sums=('54e8825e523f11706890e09e476498f3a30f75ce4e350ff2ff8a1e1c3af574d9ccfb8903543766b6863d94cdfbf46e68cd3d33380867dd976cafc8dd2dd78774')
+sha512sums_i686=('70a6ed74a93ac2a1acec5eab5078dfe05fab66c6264d67f3238a6b28af7b39f7205e237214bac4ee5d2366e8c6a4a63dfc8dc113e9e977ee2387c5c8c63ccc8f')
+sha512sums_x86_64=('990c79120536335f83ecd665140b2af8f778785a2cdc8afb06abbacba49e66d87f5af25fb4d6c64779cf898b61273d17cb0213516f497d1c0fbd63b7c5e85d8c')
[[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
@@ -31,6 +31,8 @@ prepare() {
# FS#47092
(cd kernel; patch -p1 --no-backup-if-mismatch -i "$srcdir"/disable-mtrr.patch)
+
+ cp -a kernel kernel-dkms
}
build() {
@@ -61,11 +63,10 @@ package_nvidia-304xx-dkms() {
optdepends=('linux-headers: Build the module for Arch kernel'
'linux-lts-headers: Build the module for LTS Arch kernel')
conflicts+=('nvidia-304xx')
- install=nvidia-304xx-dkms.install
cd ${_pkg}
make -C kernel clean
install -dm 755 "${pkgdir}"/usr/{lib/modprobe.d,src}
- cp -dr --no-preserve='ownership' kernel "${pkgdir}"/usr/src/nvidia-${pkgver}
+ cp -dr --no-preserve='ownership' kernel-dkms "${pkgdir}"/usr/src/nvidia-${pkgver}
echo 'blacklist nouveau' > "${pkgdir}"/usr/lib/modprobe.d/nvidia.conf
}
diff --git a/abs/core/nvidia-304xx/nvidia-304xx-dkms.install b/abs/core/nvidia-304xx/nvidia-304xx-dkms.install
deleted file mode 100644
index 3d9b74d..0000000
--- a/abs/core/nvidia-304xx/nvidia-304xx-dkms.install
+++ /dev/null
@@ -1,30 +0,0 @@
-#/bin/sh
-
-# arg 1: the new package version
-post_install() {
- dkms add nvidia/${1%-*}
- cat << EOF
-==> To build and install your modules run: dkms install nvidia/${1%-*}
-==> To do this automatically at startup run: systemctl enable dkms.service
-EOF
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-pre_upgrade() {
- pre_remove "$2"
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-post_upgrade() {
- post_install "$1"
-}
-
-# arg 1: the old package version
-pre_remove() {
- # Remove modules using dkms
- [ -n "${1%-*}" ] && dkms remove nvidia/${1%-*} --all &>/dev/null || true
-}
-
-# vim:set ts=2 sw=2 ft=sh et:
diff --git a/abs/core/nvidia-340xx-utils/PKGBUILD b/abs/core/nvidia-340xx-utils/PKGBUILD
index 1645256..9b12806 100644
--- a/abs/core/nvidia-340xx-utils/PKGBUILD
+++ b/abs/core/nvidia-340xx-utils/PKGBUILD
@@ -1,22 +1,22 @@
-# $Id: PKGBUILD 219666 2014-08-13 13:28:24Z svenstaro $
+# $Id$
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Maintainer: Thomas Baechler <thomas@archlinux.org>
# Contributor: James Rayner <iphitus@gmail.com>
pkgbase=nvidia-340xx-utils
pkgname=('nvidia-340xx-utils' 'nvidia-340xx-libgl' 'opencl-nvidia-340xx')
-pkgver=340.96
-pkgrel=1
+pkgver=340.98
+pkgrel=2
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
license=('custom')
options=('!strip')
source=(nvidia-drm-outputclass.conf)
-source_i686=("ftp://download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
-source_x86_64=("ftp://download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
+source_i686=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
+source_x86_64=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
sha1sums=('4ca2fbb2389d0bcb7a2c6f614860522d9ddf58ab')
-sha1sums_i686=('082e5218059b565f652236a69e61d8426696098c')
-sha1sums_x86_64=('49a1038f8f709a0a8855c7071db5923749d071e2')
+sha1sums_i686=('931773a3be7ab03ff787974b0760cd9ee1bd14e2')
+sha1sums_x86_64=('a31ff95eae0ec47b89a9ba5475d17d44ff4ee2e0')
[[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
@@ -59,8 +59,8 @@ package_opencl-nvidia-340xx() {
package_nvidia-340xx-libgl() {
pkgdesc="NVIDIA drivers libraries symlinks"
depends=('nvidia-340xx-utils')
- conflicts=('libgl' 'nvidia-libgl')
- provides=('libgl' 'nvidia-libgl')
+ conflicts=('libgl' 'libgles' 'libegl' 'nvidia-libgl')
+ provides=('libgl' 'libgles' 'libegl' 'nvidia-libgl')
cd "${_pkg}"
mkdir -p "${pkgdir}/usr/lib/xorg/modules/extensions"
@@ -94,7 +94,7 @@ package_nvidia-340xx-utils() {
optdepends=('gtk2: nvidia-settings'
'xorg-server-devel: nvidia-xconfig'
'opencl-nvidia-340xx: OpenCL support')
- conflicts=('nvidia-utils')
+ conflicts=('nvidia-utils' 'libglvnd')
provides=('nvidia-utils')
install="${pkgname}.install"
cd "${_pkg}"
diff --git a/abs/core/nvidia-340xx/PKGBUILD b/abs/core/nvidia-340xx/PKGBUILD
index 194a2c6..973737b 100644
--- a/abs/core/nvidia-340xx/PKGBUILD
+++ b/abs/core/nvidia-340xx/PKGBUILD
@@ -4,19 +4,19 @@
pkgbase=nvidia-340xx
pkgname=(nvidia-340xx nvidia-340xx-dkms)
-pkgver=340.96
+pkgver=340.98
_extramodules=extramodules-4.4-ARCH
-pkgrel=7
+pkgrel=2
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
makedepends=("nvidia-340xx-libgl=${pkgver}" "nvidia-340xx-utils=${pkgver}" 'linux' 'linux-headers>=4.4' 'linux-headers<4.5')
conflicts=('nvidia')
license=('custom')
options=(!strip)
-source_i686+=("ftp://download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
-source_x86_64+=("ftp://download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
-md5sums_i686=('cb64b165b638671bcdc75bcf297b8d90')
-md5sums_x86_64=('7bdbcee13bade63227933d9217571882')
+source_i686+=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
+source_x86_64+=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
+md5sums_i686=('3ccb023eec137cbee0d2035c288b6bbe')
+md5sums_x86_64=('e8d1292d8d002a15e10ea349151fa8f2')
[[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
@@ -25,6 +25,8 @@ prepare() {
sh "${_pkg}.run" --extract-only
cd "${_pkg}"
# patches here
+
+ cp -a kernel kernel-dkms
}
build() {
@@ -57,12 +59,10 @@ package_nvidia-340xx-dkms() {
optdepends=('linux-headers: Build the module for Arch kernel'
'linux-lts-headers: Build the module for LTS Arch kernel')
conflicts+=('nvidia-340xx')
- install=nvidia-340xx-dkms.install
cd ${_pkg}
- make -C kernel clean
install -dm 755 "${pkgdir}"/usr/{lib/modprobe.d,src}
- cp -dr --no-preserve='ownership' kernel "${pkgdir}"/usr/src/nvidia-${pkgver}
+ cp -dr --no-preserve='ownership' kernel-dkms "${pkgdir}"/usr/src/nvidia-${pkgver}
echo 'blacklist nouveau' > "${pkgdir}"/usr/lib/modprobe.d/nvidia.conf
cat "${pkgdir}"/usr/src/nvidia-${pkgver}/uvm/dkms.conf.fragment >> "${pkgdir}"/usr/src/nvidia-${pkgver}/dkms.conf
}
diff --git a/abs/core/nvidia-340xx/nvidia-340xx-dkms.install b/abs/core/nvidia-340xx/nvidia-340xx-dkms.install
deleted file mode 100644
index 3d9b74d..0000000
--- a/abs/core/nvidia-340xx/nvidia-340xx-dkms.install
+++ /dev/null
@@ -1,30 +0,0 @@
-#/bin/sh
-
-# arg 1: the new package version
-post_install() {
- dkms add nvidia/${1%-*}
- cat << EOF
-==> To build and install your modules run: dkms install nvidia/${1%-*}
-==> To do this automatically at startup run: systemctl enable dkms.service
-EOF
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-pre_upgrade() {
- pre_remove "$2"
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-post_upgrade() {
- post_install "$1"
-}
-
-# arg 1: the old package version
-pre_remove() {
- # Remove modules using dkms
- [ -n "${1%-*}" ] && dkms remove nvidia/${1%-*} --all &>/dev/null || true
-}
-
-# vim:set ts=2 sw=2 ft=sh et:
diff --git a/abs/core/nvidia-utils/PKGBUILD b/abs/core/nvidia-utils/PKGBUILD
index be99310..dde54ab 100644
--- a/abs/core/nvidia-utils/PKGBUILD
+++ b/abs/core/nvidia-utils/PKGBUILD
@@ -5,7 +5,7 @@
pkgbase=nvidia-utils
pkgname=('nvidia-utils' 'nvidia-libgl' 'opencl-nvidia')
-pkgver=364.19
+pkgver=370.28
pkgrel=2
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
@@ -13,8 +13,8 @@ license=('custom')
options=('!strip')
source_i686=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
source_x86_64=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
-md5sums_i686=('8a4015213c4a8f1c80e9520d04a32a7b')
-md5sums_x86_64=('ad7a0b1855b3913390fb75b4cc3a26dc')
+md5sums_i686=('7d3e1c691cd53852f422a93169268178')
+md5sums_x86_64=('3bcd9a132e50a17b846869f1c57b9c75')
[[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
@@ -55,8 +55,8 @@ package_opencl-nvidia() {
package_nvidia-libgl() {
pkgdesc="NVIDIA drivers libraries symlinks"
depends=('nvidia-utils')
- conflicts=('libgl')
- provides=('libgl')
+ conflicts=('libgl' 'libegl' 'libgles')
+ provides=('libgl' 'libegl' 'libgles')
cd "${_pkg}"
mkdir -p "${pkgdir}/usr/lib/xorg/modules/extensions"
diff --git a/abs/core/nvidia/PKGBUILD b/abs/core/nvidia/PKGBUILD
index 73099ee..e9254ba 100644
--- a/abs/core/nvidia/PKGBUILD
+++ b/abs/core/nvidia/PKGBUILD
@@ -5,19 +5,19 @@
pkgbase=nvidia
pkgname=(nvidia nvidia-dkms)
-pkgver=364.19
+pkgver=370.28
_extramodules=extramodules-4.4-ARCH
-pkgrel=5
+pkgrel=2
pkgdesc="NVIDIA drivers for linux"
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
-makedepends=('nvidia-libgl' "nvidia-utils=${pkgver}" 'linux' 'linux-headers>=4.4' 'linux-headers<4.6')
+makedepends=('nvidia-libgl' "nvidia-utils=${pkgver}" 'linux' 'linux-headers>=4.4' 'linux-headers<4.5')
license=('custom')
options=('!strip')
source_i686=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
source_x86_64=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
-md5sums_i686=('8a4015213c4a8f1c80e9520d04a32a7b')
-md5sums_x86_64=('ad7a0b1855b3913390fb75b4cc3a26dc')
+md5sums_i686=('7d3e1c691cd53852f422a93169268178')
+md5sums_x86_64=('3bcd9a132e50a17b846869f1c57b9c75')
[[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
@@ -25,7 +25,6 @@ md5sums_x86_64=('ad7a0b1855b3913390fb75b4cc3a26dc')
prepare() {
sh "${_pkg}.run" --extract-only
cd "${_pkg}"
- # patches here
cp -a kernel kernel-dkms
cd kernel-dkms
diff --git a/abs/core/nvidia/fix-abi.patch b/abs/core/nvidia/fix-abi.patch
new file mode 100644
index 0000000..5a3f8df
--- /dev/null
+++ b/abs/core/nvidia/fix-abi.patch
@@ -0,0 +1,12 @@
+diff -u -r kernel/nvidia-drm/nvidia-drm-fence.c kernel-patched/nvidia-drm/nvidia-drm-fence.c
+--- kernel/nvidia-drm/nvidia-drm-fence.c 2016-08-09 01:43:19.000000000 +0200
++++ kernel-patched/nvidia-drm/nvidia-drm-fence.c 2016-08-25 14:31:34.419655564 +0200
+@@ -325,7 +325,7 @@
+ struct nvidia_drm_gem_object *nv_gem;
+ };
+
+-static void nvidia_drm_gem_prime_soft_fence_event
++static void NVKMS_KAPI_CALL nvidia_drm_gem_prime_soft_fence_event
+ (
+ void *dataPtr,
+ NvU32 dataU32
diff --git a/abs/core/openssh/PKGBUILD b/abs/core/openssh/PKGBUILD
index 1948de4..2fe40b3 100644
--- a/abs/core/openssh/PKGBUILD
+++ b/abs/core/openssh/PKGBUILD
@@ -4,8 +4,8 @@
# Contributor: judd <jvinet@zeroflux.org>
pkgname=openssh
-pkgver=7.1p2
-pkgrel=2
+pkgver=7.3p1
+pkgrel=1
pkgdesc='Free version of the SSH connectivity tools'
url='http://www.openssh.org/portable.html'
license=('custom:BSD')
@@ -15,15 +15,15 @@ depends=('krb5' 'openssl' 'libedit' 'ldns')
optdepends=('xorg-xauth: X11 forwarding'
'x11-ssh-askpass: input passphrase in X')
validpgpkeys=('59C2118ED206D927E667EBE3D3E5F56B6D920D30')
-source=("ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${pkgname}-${pkgver}.tar.gz"{,.asc}
+source=("http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${pkgname}-${pkgver}.tar.gz"{,.asc}
'sshdgenkeys.service'
'sshd@.service'
'sshd.service'
'sshd.socket'
'sshd.conf'
'sshd.pam')
-sha1sums=('9202f5a2a50c8a55ecfb830609df1e1fde97f758' 'SKIP'
- 'cc1ceec606c98c7407e7ac21ade23aed81e31405'
+sha1sums=('bfade84283fcba885e2084343ab19a08c7d123a5' 'SKIP'
+ 'caaa801da59a5d14c0c29c43e9de5fef281ea03e'
'6a0ff3305692cf83aca96e10f3bb51e1c26fccda'
'ec49c6beba923e201505f5669cea48cad29014db'
'e12fa910b26a5634e5a6ac39ce1399a132cf6796'
@@ -32,8 +32,6 @@ sha1sums=('9202f5a2a50c8a55ecfb830609df1e1fde97f758' 'SKIP'
backup=('etc/ssh/ssh_config' 'etc/ssh/sshd_config' 'etc/pam.d/sshd')
-install=install
-
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/abs/core/openssh/dispatch.patch b/abs/core/openssh/dispatch.patch
deleted file mode 100644
index 9350d8f..0000000
--- a/abs/core/openssh/dispatch.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From 639d6bc57b1942393ed12fb48f00bc05d4e093e4 Mon Sep 17 00:00:00 2001
-From: djm@openbsd.org <djm@openbsd.org>
-Date: Fri, 01 May 2015 07:10:01 +0000
-Subject: upstream commit
-
-refactor ssh_dispatch_run_fatal() to use sshpkt_fatal()
- to better report error conditions. Teach sshpkt_fatal() about ECONNRESET.
-
-Improves error messages on TCP connection resets. bz#2257
-
-ok dtucker@
----
-diff --git a/dispatch.c b/dispatch.c
-index afe6182..aac933e 100644
---- a/dispatch.c
-+++ b/dispatch.c
-@@ -1,4 +1,4 @@
--/* $OpenBSD: dispatch.c,v 1.26 2015/02/12 20:34:19 dtucker Exp $ */
-+/* $OpenBSD: dispatch.c,v 1.27 2015/05/01 07:10:01 djm Exp $ */
- /*
- * Copyright (c) 2000 Markus Friedl. All rights reserved.
- *
-@@ -137,22 +137,6 @@ ssh_dispatch_run_fatal(struct ssh *ssh, int mode, volatile sig_atomic_t *done,
- {
- int r;
-
-- if ((r = ssh_dispatch_run(ssh, mode, done, ctxt)) != 0) {
-- switch (r) {
-- case SSH_ERR_CONN_CLOSED:
-- logit("Connection closed by %.200s",
-- ssh_remote_ipaddr(ssh));
-- cleanup_exit(255);
-- case SSH_ERR_CONN_TIMEOUT:
-- logit("Connection to %.200s timed out while "
-- "waiting to read", ssh_remote_ipaddr(ssh));
-- cleanup_exit(255);
-- case SSH_ERR_DISCONNECTED:
-- logit("Disconnected from %.200s",
-- ssh_remote_ipaddr(ssh));
-- cleanup_exit(255);
-- default:
-- fatal("%s: %s", __func__, ssh_err(r));
-- }
-- }
-+ if ((r = ssh_dispatch_run(ssh, mode, done, ctxt)) != 0)
-+ sshpkt_fatal(ssh, __func__, r);
- }
-diff --git a/packet.c b/packet.c
-index 4922573..a7727ef 100644
---- a/packet.c
-+++ b/packet.c
-@@ -1,4 +1,4 @@
--/* $OpenBSD: packet.c,v 1.208 2015/02/13 18:57:00 markus Exp $ */
-+/* $OpenBSD: packet.c,v 1.212 2015/05/01 07:10:01 djm Exp $ */
- /*
- * Author: Tatu Ylonen <ylo@cs.hut.fi>
- * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
-@@ -1920,9 +1920,19 @@ sshpkt_fatal(struct ssh *ssh, const char *tag, int r)
- logit("Connection closed by %.200s", ssh_remote_ipaddr(ssh));
- cleanup_exit(255);
- case SSH_ERR_CONN_TIMEOUT:
-- logit("Connection to %.200s timed out while "
-- "waiting to write", ssh_remote_ipaddr(ssh));
-+ logit("Connection to %.200s timed out", ssh_remote_ipaddr(ssh));
- cleanup_exit(255);
-+ case SSH_ERR_DISCONNECTED:
-+ logit("Disconnected from %.200s",
-+ ssh_remote_ipaddr(ssh));
-+ cleanup_exit(255);
-+ case SSH_ERR_SYSTEM_ERROR:
-+ if (errno == ECONNRESET) {
-+ logit("Connection reset by %.200s",
-+ ssh_remote_ipaddr(ssh));
-+ cleanup_exit(255);
-+ }
-+ /* FALLTHROUGH */
- default:
- fatal("%s%sConnection to %.200s: %s",
- tag != NULL ? tag : "", tag != NULL ? ": " : "",
---
-cgit v0.9.2
diff --git a/abs/core/openssh/error.patch b/abs/core/openssh/error.patch
deleted file mode 100644
index 1616ba3..0000000
--- a/abs/core/openssh/error.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 4d24b3b6a4a6383e05e7da26d183b79fa8663697 Mon Sep 17 00:00:00 2001
-From: Damien Miller <djm@mindrot.org>
-Date: Thu, 19 Mar 2015 22:11:59 +0000
-Subject: remove error() accidentally inserted for debugging
-
-pointed out by Christian Hesse
----
-diff --git a/monitor_wrap.c b/monitor_wrap.c
-index b379f05..d39d491 100644
---- a/monitor_wrap.c
-+++ b/monitor_wrap.c
-@@ -153,10 +153,8 @@ mm_request_receive(int sock, Buffer *m)
- debug3("%s entering", __func__);
-
- if (atomicio(read, sock, buf, sizeof(buf)) != sizeof(buf)) {
-- if (errno == EPIPE) {
-- error("%s: socket closed", __func__);
-+ if (errno == EPIPE)
- cleanup_exit(255);
-- }
- fatal("%s: read: %s", __func__, strerror(errno));
- }
- msg_len = get_u32(buf);
---
-cgit v0.9.2
diff --git a/abs/core/openssh/install b/abs/core/openssh/install
deleted file mode 100644
index 6f0cd37..0000000
--- a/abs/core/openssh/install
+++ /dev/null
@@ -1,10 +0,0 @@
-post_upgrade() {
- if [[ $(vercmp $2 6.2p2) = -1 ]]; then
- cat <<EOF
-
-==> The sshd daemon has been moved to /usr/bin alongside all binaries.
-==> Please update this path in your scripts if applicable.
-
-EOF
- fi
-}
diff --git a/abs/core/openssh/sshdgenkeys.service b/abs/core/openssh/sshdgenkeys.service
index 1d01b7a..cfb9f6a 100644
--- a/abs/core/openssh/sshdgenkeys.service
+++ b/abs/core/openssh/sshdgenkeys.service
@@ -1,15 +1,13 @@
[Unit]
Description=SSH Key Generation
-ConditionPathExists=|!/etc/ssh/ssh_host_key
-ConditionPathExists=|!/etc/ssh/ssh_host_key.pub
-ConditionPathExists=|!/etc/ssh/ssh_host_rsa_key
-ConditionPathExists=|!/etc/ssh/ssh_host_rsa_key.pub
ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key
ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key.pub
ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key
ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key.pub
ConditionPathExists=|!/etc/ssh/ssh_host_ed25519_key
ConditionPathExists=|!/etc/ssh/ssh_host_ed25519_key.pub
+ConditionPathExists=|!/etc/ssh/ssh_host_rsa_key
+ConditionPathExists=|!/etc/ssh/ssh_host_rsa_key.pub
[Service]
ExecStart=/usr/bin/ssh-keygen -A
diff --git a/abs/core/php/PKGBUILD b/abs/core/php/PKGBUILD
index 7ba2398..fc39bef 100644
--- a/abs/core/php/PKGBUILD
+++ b/abs/core/php/PKGBUILD
@@ -23,19 +23,18 @@ pkgname=('php'
'php-sqlite'
'php-tidy'
'php-xsl')
-pkgver=5.6.17
+pkgver=5.6.26
pkgrel=1
arch=('i686' 'x86_64')
license=('PHP')
url='http://www.php.net'
makedepends=('apache' 'c-client' 'postgresql-libs' 'libldap' 'postfix'
'sqlite' 'unixodbc' 'net-snmp' 'libzip' 'enchant' 'file' 'freetds'
- 'libmcrypt' 'tidyhtml' 'aspell' 'libltdl' 'gd' 'icu'
+ 'libmcrypt' 'tidy' 'aspell' 'libltdl' 'gd' 'icu'
'curl' 'libxslt' 'openssl' 'db' 'gmp' 'systemd')
-checkdepends=('procps-ng')
source=("http://www.php.net/distributions/${pkgbase}-${pkgver}.tar.xz"
"http://www.php.net/distributions/${pkgbase}-${pkgver}.tar.xz.asc"
- 'php.ini.patch' 'apache.conf' 'php-fpm.conf.in.patch'
+ 'php.ini.patch' 'linhes.ini' 'apache.conf' 'php-fpm.conf.in.patch'
'logrotate.d.php-fpm' 'php-fpm.service' 'php-fpm.tmpfiles')
validpgpkeys=('6E4F6AB321FDC07F2C332E3AC2BF0BC433CFC8B3'
'0BD78B5F97500D450838F95DFE857D9A90D90EC1')
@@ -48,20 +47,25 @@ prepare() {
# Just because our Apache 2.4 is configured with a threaded MPM by default does not mean we want to build a ZTS PHP.
# Let's supress this behaviour and build a SAPI that works fine with the prefork MPM.
sed '/APACHE_THREADED_MPM=/d' -i sapi/apache2handler/config.m4 -i configure
+
+ # Allow php-tidy to compile with tidy-html5
+ sed 's/buffio\.h/tidybuffio\.h/' -i ext/tidy/tidy.c
}
build() {
local _phpconfig="--srcdir=../${pkgbase}-${pkgver} \
--config-cache \
--prefix=/usr \
- --sbindir=/usr/bin \
- --sysconfdir=/etc/php \
+ --sysconfdir=/etc/${pkgbase} \
--localstatedir=/var \
+ --libdir=/usr/lib/${pkgbase} \
+ --datarootdir=/usr/share/${pkgbase} \
+ --datadir=/usr/share/${pkgbase} \
+ --program-suffix=${pkgbase#php} \
--with-layout=GNU \
- --with-config-file-path=/etc/php \
- --with-config-file-scan-dir=/etc/php/conf.d \
+ --with-config-file-path=/etc/${pkgbase} \
+ --with-config-file-scan-dir=/etc/${pkgbase}/conf.d \
--disable-rpath \
- --mandir=/usr/share/man \
--without-pear \
"
@@ -100,7 +104,7 @@ build() {
--with-imap=shared \
--with-kerberos=/usr \
--with-jpeg-dir=/usr \
- --with-vpx-dir=/usr \
+ --with-vpx-dir=no \
--with-ldap=shared \
--with-ldap-sasl \
--with-libzip \
@@ -112,6 +116,7 @@ build() {
--with-mysqli=shared,mysqlnd \
--with-openssl=shared \
--with-pcre-regex=/usr \
+ --with-pdo-dblib=shared,/usr \
--with-pdo-mysql=shared,mysqlnd \
--with-pdo-odbc=shared,unixODBC,/usr \
--with-pdo-pgsql=shared \
@@ -128,17 +133,15 @@ build() {
--with-zlib \
"
- EXTENSION_DIR=/usr/lib/php/modules
- export EXTENSION_DIR
- PEAR_INSTALLDIR=/usr/share/pear
- export PEAR_INSTALLDIR
+ export EXTENSION_DIR=/usr/lib/${pkgbase}/modules
+ export PEAR_INSTALLDIR=/usr/share/${pkgbase}/pear
cd ${srcdir}/${pkgbase}-${pkgver}
# php
- mkdir ${srcdir}/build-php
+ mkdir -p ${srcdir}/build-php
cd ${srcdir}/build-php
- ln -s ../${pkgbase}-${pkgver}/configure
+ ln -sf ../${pkgbase}-${pkgver}/configure
./configure ${_phpconfig} \
--disable-cgi \
--with-readline \
@@ -148,7 +151,7 @@ build() {
# cgi and fcgi
# reuse the previous run; this will save us a lot of time
- cp -a ${srcdir}/build-php ${srcdir}/build-cgi
+ cp -Ta ${srcdir}/build-php ${srcdir}/build-cgi
cd ${srcdir}/build-cgi
./configure ${_phpconfig} \
--disable-cli \
@@ -157,7 +160,7 @@ build() {
make
# apache
- cp -a ${srcdir}/build-php ${srcdir}/build-apache
+ cp -Ta ${srcdir}/build-php ${srcdir}/build-apache
cd ${srcdir}/build-apache
./configure ${_phpconfig} \
--disable-cli \
@@ -166,7 +169,7 @@ build() {
make
# fpm
- cp -a ${srcdir}/build-php ${srcdir}/build-fpm
+ cp -Ta ${srcdir}/build-php ${srcdir}/build-fpm
cd ${srcdir}/build-fpm
./configure ${_phpconfig} \
--disable-cli \
@@ -177,7 +180,7 @@ build() {
make
# embed
- cp -a ${srcdir}/build-php ${srcdir}/build-embed
+ cp -Ta ${srcdir}/build-php ${srcdir}/build-embed
cd ${srcdir}/build-embed
./configure ${_phpconfig} \
--disable-cli \
@@ -186,7 +189,7 @@ build() {
make
# phpdbg
- cp -a ${srcdir}/build-php ${srcdir}/build-phpdbg
+ cp -Ta ${srcdir}/build-php ${srcdir}/build-phpdbg
cd ${srcdir}/build-phpdbg
./configure ${_phpconfig} \
--disable-cli \
@@ -197,7 +200,8 @@ build() {
make
# pear
- cp -a ${srcdir}/build-php ${srcdir}/build-pear
+ sed -i 's#@$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d#@$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -p $(bindir)/php$(program_suffix) -d#' ${srcdir}/php-${pkgver}/pear/Makefile.frag
+ cp -Ta ${srcdir}/build-php ${srcdir}/build-pear
cd ${srcdir}/build-pear
./configure ${_phpconfig} \
--disable-cgi \
@@ -208,24 +212,6 @@ build() {
make
}
-check() {
- # tests on i686 fail
- [[ $CARCH == 'i686' ]] && return
-
- cd ${srcdir}/build-php
-
- export REPORT_EXIT_STATUS=1
- export NO_INTERACTION=1
- export SKIP_ONLINE_TESTS=1
- export SKIP_SLOW_TESTS=1
-
- sapi/cli/php -n \
- ${srcdir}/${pkgbase}-${pkgver}/run-tests.php -n -P \
- ${srcdir}/${pkgbase}-${pkgver}/{Zend,ext/{date,pcre,spl,standard},sapi/cli}
-
- echo
-}
-
package_php() {
pkgdesc='An HTML-embedded scripting language'
depends=('pcre' 'libxml2' 'curl' 'libzip' 'php-gd' 'php-mcrypt')
@@ -234,19 +220,20 @@ package_php() {
cd ${srcdir}/build-php
make -j1 INSTALL_ROOT=${pkgdir} install
- install -d -m755 ${pkgdir}/usr/share/pear
+
# install php.ini
install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/php.ini-production ${pkgdir}/etc/php/php.ini
install -d -m755 ${pkgdir}/etc/php/conf.d/
+ install -D -m644 ${srcdir}/linhes.ini ${pkgdir}/etc/php/conf.d/linhes.ini
# remove static modules
rm -f ${pkgdir}/usr/lib/php/modules/*.a
# remove modules provided by sub packages
rm -f ${pkgdir}/usr/lib/php/modules/{enchant,gd,imap,intl,ldap,mcrypt,mssql,odbc,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl}.so
+
# remove empty directory
rmdir ${pkgdir}/usr/include/php/include
- # fix broken link
- ln -sf phar.phar ${pkgdir}/usr/bin/phar
+
}
package_php-cgi() {
@@ -260,6 +247,7 @@ package_php-apache() {
pkgdesc='Apache SAPI for PHP'
depends=('php' 'apache')
backup=('etc/httpd/conf/extra/php5_module.conf')
+ install='php-apache.install'
install -D -m755 ${srcdir}/build-apache/libs/libphp5.so ${pkgdir}/usr/lib/httpd/modules/libphp5.so
install -D -m644 ${srcdir}/apache.conf ${pkgdir}/etc/httpd/conf/extra/php5_module.conf
@@ -394,7 +382,7 @@ package_php-sqlite() {
package_php-tidy() {
pkgdesc='tidy module for PHP'
- depends=('php' 'tidyhtml')
+ depends=('php' 'tidy')
install -D -m755 ${srcdir}/build-php/modules/tidy.so ${pkgdir}/usr/lib/php/modules/tidy.so
}
@@ -405,9 +393,10 @@ package_php-xsl() {
install -D -m755 ${srcdir}/build-php/modules/xsl.so ${pkgdir}/usr/lib/php/modules/xsl.so
}
-md5sums=('5e080e4b7df5db24f1b64313f8114bd8'
+md5sums=('c51e9115263b4d63ef8f68935cefd7d4'
'SKIP'
- '943f882a55c0a6a7b3e5616c7dbbd7a8'
+ 'd425c0a09f7b46814e2695471b38c529'
+ '4ecf586ef1597aa5eb977573954b5d21'
'dec2cbaad64e3abf4f0ec70e1de4e8e9'
'16b5e2e4da59f15bea4c2db78a7bc8dc'
'25bc67ad828e8147a817410b68d8016c'
diff --git a/abs/core/php/__changelog b/abs/core/php/__changelog
index 69c2edd..7419a02 100644
--- a/abs/core/php/__changelog
+++ b/abs/core/php/__changelog
@@ -1,30 +1,16 @@
-PKGBUILD: package_php: add deps 'php-gd' 'php-mcrypt' since we have them in php.ini
+PKGBUILD: package_php: add deps 'php-gd' 'php-mcrypt' since we have them in linhes.ini
PKGBUILD: package_php: comment out backup=('etc/php/php.ini')
-
-php.ini.patch: short_open_tags = On
+PKGBUILD: change dep tidyhtml to tidy
+PKGBUILD: add linhes.ini and put it in /etc/php/conf.d/
php.ini.patch: open_basedir commented out
-php.ini.patch: error_log = syslog uncommented
-php.ini.patch: max_input_vars = 3000 uncomment and change to 3000
-php.ini.patch:
-==> check and make sure these are uncommented:
- ==> "extension=ftp.so"
- ==> "extension=gd.so"
- ==> "extension=gettext.so"
- ==> "extension=mcrypt.so"
- ==> "extension=mysqli.so"
- ==> "extension=mysql.so"
- ==> "extension=openssl.so"
- ==> "extension=sockets.so"
- ==> "extension=zip.so"
-
PKGBUILD: add php.install:
post_upgrade & post_install
if [ -f /etc/systemconfig ]
then
. /etc/systemconfig
- if [ -f /etc/php/php.ini ]
+ if [ -f /etc/php/conf.d/linhes.ini ]
then
- sed -i 's|^.*date.timezone.*$|date.timezone='${timezone}'|' /etc/php/php.ini
+ sed -i 's|^.*date.timezone.*$|date.timezone='${timezone}'|' /etc/php/conf.d/linhes.ini
fi
fi
diff --git a/abs/core/php/linhes.ini b/abs/core/php/linhes.ini
new file mode 100644
index 0000000..a85a5ef
--- /dev/null
+++ b/abs/core/php/linhes.ini
@@ -0,0 +1,39 @@
+[Date]
+; Defines the default timezone used by the date functions
+; http://php.net/date.timezone
+;date.timezone =
+
+; Log errors to specified file. PHP's default behavior is to leave this value
+; empty.
+; http://php.net/error-log
+; Example:
+;error_log = php_errors.log
+; Log errors to syslog (Event Log on Windows).
+error_log = syslog
+
+; How many GET/POST/COOKIE input variables may be accepted
+max_input_vars = 3000
+
+; This directive determines whether or not PHP will recognize code between
+; <? and ?> tags as PHP source which should be processed as such. It is
+; generally recommended that <?php and ?> should be used and that this feature
+; should be disabled, as enabling it may result in issues when generating XML
+; documents, however this remains supported for backward compatibility reasons.
+; Note that this directive does not control the <?= shorthand tag, which can be
+; used regardless of this directive.
+; Default Value: On
+; Development Value: Off
+; Production Value: Off
+; http://php.net/short-open-tag
+short_open_tag = On
+
+extension=ftp.so
+extension=gd.so
+extension=gettext.so
+extension=mcrypt.so
+extension=mysql.so
+extension=mysqli.so
+extension=openssl.so
+extension=pdo_mysql.so
+extension=sockets.so
+extension=zip.so
diff --git a/abs/core/php/php-apache.install b/abs/core/php/php-apache.install
new file mode 100644
index 0000000..c9b6691
--- /dev/null
+++ b/abs/core/php/php-apache.install
@@ -0,0 +1,11 @@
+post_install() {
+ echo "You will need to add the following line after the existing LoadModule instructions in /etc/httpd/conf/httpd.conf :"
+ echo "LoadModule php5_module modules/libphp56.so"
+ echo
+ echo "Additionally, include this line at the end of /etc/httpd/conf/httpd.conf if you want .php files to be handled by php 5.6 :"
+ echo "Include conf/extra/php56_module.conf"
+ echo
+ echo "Be aware that ONLY A SINGLE PHP MODULE can be loaded into an Apache instance."
+ echo "If you want php 5 and php 7 to cohabitate, you'll have to use another method such as php-fpm, fcgi or cgi for the other PHP version."
+}
+
diff --git a/abs/core/php/php.ini.patch b/abs/core/php/php.ini.patch
index 719de92..4ce7364 100644
--- a/abs/core/php/php.ini.patch
+++ b/abs/core/php/php.ini.patch
@@ -1,47 +1,20 @@
---- php.ini-production.orig 2015-08-10 15:05:42.669490715 +0000
-+++ php.ini-production 2015-08-10 16:19:56.874447768 +0000
-@@ -199,7 +199,7 @@
- ; Development Value: Off
- ; Production Value: Off
- ; http://php.net/short-open-tag
--short_open_tag = Off
-+short_open_tag = On
-
- ; Allow ASP-style <% %> tags.
- ; http://php.net/asp-tags
+--- php.ini-production 2015-01-21 01:40:37.000000000 +0100
++++ php.ini-production 2015-01-22 16:23:17.311890258 +0100
@@ -295,7 +295,7 @@
; and below. This directive makes most sense if used in a per-directory
; or per-virtualhost web server configuration file.
; http://php.net/open-basedir
-;open_basedir =
-+;open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/
++;open_basedir = /srv/http/:/home/:/tmp/:/usr/share/php/pear/:/usr/share/webapps/
; This directive allows you to disable certain functions for security reasons.
; It receives a comma-delimited list of function names.
-@@ -386,7 +386,7 @@
- ;max_input_nesting_level = 64
-
- ; How many GET/POST/COOKIE input variables may be accepted
--; max_input_vars = 1000
-+max_input_vars = 3000
-
- ; Maximum amount of memory a script may consume (128MB)
- ; http://php.net/memory-limit
-@@ -571,7 +571,7 @@
- ; Example:
- ;error_log = php_errors.log
- ; Log errors to syslog (Event Log on Windows).
--;error_log = syslog
-+error_log = syslog
-
- ;windows.show_crt_warning
- ; Default value: 0
@@ -708,7 +708,7 @@
;;;;;;;;;;;;;;;;;;;;;;;;;
; UNIX: "/path1:/path2"
-;include_path = ".:/php/includes"
-+include_path = ".:/usr/share/pear"
++include_path = ".:/usr/share/php/pear"
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"
@@ -107,21 +80,21 @@
+;extension=dba.so
+;extension=enchant.so
+;extension=exif.so
-+extension=ftp.so
-+extension=gd.so
++;extension=ftp.so
++;extension=gd.so
+extension=gettext.so
+;extension=gmp.so
+;extension=iconv.so
+;extension=imap.so
+;extension=intl.so
+;extension=ldap.so
-+extension=mcrypt.so
++;extension=mcrypt.so
+;extension=mssql.so
-+extension=mysql.so
-+extension=mysqli.so
++;extension=mysql.so
++;extension=mysqli.so
+;extension=odbc.so
+;zend_extension=opcache.so
-+extension=openssl.so
++;extension=openssl.so
+;extension=pdo_mysql.so
+;extension=pdo_odbc.so
+;extension=pdo_pgsql.so
@@ -133,7 +106,7 @@
+;extension=shmop.so
+;extension=snmp.so
+;extension=soap.so
-+extension=sockets.so
++;extension=sockets.so
+;extension=sqlite3.so
+;extension=sysvmsg.so
+;extension=sysvsem.so
@@ -141,7 +114,7 @@
+;extension=tidy.so
+;extension=xmlrpc.so
+;extension=xsl.so
-+extension=zip.so
++;extension=zip.so
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
diff --git a/abs/core/php/php.install b/abs/core/php/php.install
index 49fe408..4f4696b 100755
--- a/abs/core/php/php.install
+++ b/abs/core/php/php.install
@@ -2,9 +2,9 @@ post_install() {
if [ -f /etc/systemconfig ]
then
. /etc/systemconfig
- if [ -f /etc/php/php.ini ]
+ if [ -f /etc/php/conf.d/linhes.ini ]
then
- sed -i 's|^.*date.timezone.*=.*$|date.timezone='${timezone}'|' /etc/php/php.ini
+ sed -i 's|^.*date.timezone.*=.*$|date.timezone='${timezone}'|' /etc/php/conf.d/linhes.ini
fi
fi
}
diff --git a/abs/core/python_modules/python_aosd/PKGBUILD b/abs/core/python_modules/python_aosd/PKGBUILD
index 309aca6..9531d1d 100644
--- a/abs/core/python_modules/python_aosd/PKGBUILD
+++ b/abs/core/python_modules/python_aosd/PKGBUILD
@@ -1,16 +1,17 @@
pkgname=python_aosd
-pkgver=0.2.2
+pkgver=0.2.5
pkgrel=1
pkgdesc="Python binding for libaosd_ an on screen display (OSD) library"
arch=(any)
url="http://code.google.com/p/python-aosd/"
license=('GPL')
-depends=('python2' 'cython2' 'libaosd' 'pyrex' 'python2-cairo')
-source=(http://python-aosd.googlecode.com/files/python-aosd-${pkgver}.tar.gz)
+depends=('python2' 'libaosd' 'python2-cairo')
+makedepends=('cython2')
+source=(https://github.com/arminha/python-aosd/archive/${pkgver}.tar.gz)
-build() {
+package() {
cd "${srcdir}/python-aosd-${pkgver}"
python2 setup.py install --root="${pkgdir}" --prefix=/usr || return 1
}
-md5sums=('45c757fe4c171a0b778c7e73d3839ef5')
+md5sums=('4927b5c9c6fb7dea17eb12e62bc4cbfa')
diff --git a/abs/core/tilda/PKGBUILD b/abs/core/tilda/PKGBUILD
index 3fa26e1..1728a5d 100644
--- a/abs/core/tilda/PKGBUILD
+++ b/abs/core/tilda/PKGBUILD
@@ -4,8 +4,8 @@
# Contributor: William Rea <sillywilly@gmail.com>
pkgname=tilda
-pkgver=1.3.1
-pkgrel=4
+pkgver=1.3.3
+pkgrel=1
pkgdesc="A Gtk based drop down terminal for Linux and Unix"
arch=('i686' 'x86_64')
url="https://github.com/lanoxx/tilda"
@@ -32,6 +32,6 @@ package() {
#default config
install -D -m 0755 ${srcdir}/config_0 ${pkgdir}/etc/tilda_config
}
-md5sums=('2e1e40e73ccd4f03b3595b8842bb0397'
+md5sums=('785b0df315135ed283715f823b78cf87'
'eae07ef0ffb2e9dee3ba5eec3e87b920'
'cd116d2afeccafdc08b880ed460445da')
diff --git a/abs/core/tilda/tilda.changelog b/abs/core/tilda/tilda.changelog
index 714a4ae..b4b3b16 100644
--- a/abs/core/tilda/tilda.changelog
+++ b/abs/core/tilda/tilda.changelog
@@ -1,3 +1,9 @@
+2016-04-28 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * tilda 1.3.3-1
+
+2016-02-21 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+ * tilda 1.3.2-1
+
2016-01-02 Jaroslav Lichtblau <svetlemodry@archlinux.org>
* tilda 1.3.1-1
diff --git a/abs/core/x265/PKGBUILD b/abs/core/x265/PKGBUILD
index 246166f..bee22f5 100644
--- a/abs/core/x265/PKGBUILD
+++ b/abs/core/x265/PKGBUILD
@@ -1,10 +1,11 @@
# $Id$
# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
-# Contributor: kfgz <kfgz at interia pl>
+# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
+# Contributor: kfgz <kfgz@interia.pl>
pkgname=x265
-pkgver=1.7
-pkgrel=3
+pkgver=1.9
+pkgrel=1
pkgdesc='Open Source H265/HEVC video encoder'
arch=('i686' 'x86_64')
url='https://bitbucket.org/multicoreware/x265'
@@ -12,24 +13,73 @@ license=('GPL')
depends=('gcc-libs')
makedepends=('yasm' 'cmake')
provides=('libx265.so')
-source=($pkgname-$pkgver.tar.bz2::$url/get/$pkgver.tar.bz2
- x265-1.7-fix-slowness-with-gcc-5.1.patch)
-md5sums=('d6020c277b05ab44f8222342aaa9c99f'
- '30c7fc491f22cbdec1ee17caab7d620a')
+source=("https://bitbucket.org/multicoreware/x265/downloads/x265_${pkgver}.tar.gz")
+md5sums=('f34a1c4c660ff07511365cb0983cf164')
prepare() {
- cd multicoreware-x265-*
- patch -p1 -i "$srcdir"/x265-1.7-fix-slowness-with-gcc-5.1.patch
+ cd x265_${pkgver}
+
+ for d in 8 $([[ $CARCH == 'x86_64' ]] && echo "10 12"); do
+ if [[ -d build-$d ]]; then
+ rm -rf build-$d
+ fi
+ mkdir build-$d
+ done
}
build() {
- cd multicoreware-x265-*/build/linux
- [[ $CARCH == x86_64 ]] && LDFLAGS+=',-z,noexecstack'
- cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr ../../source
- make
+ if [[ $CARCH == x86_64 ]]; then
+
+ cd x265_${pkgver}/build-12
+
+ cmake ../source \
+ -DCMAKE_INSTALL_PREFIX='/usr' \
+ -DHIGH_BIT_DEPTH='TRUE' \
+ -DMAIN12='TRUE' \
+ -DEXPORT_C_API='FALSE' \
+ -DENABLE_CLI='FALSE' \
+ -DENABLE_SHARED='FALSE'
+ make
+
+ cd ../build-10
+
+ cmake ../source \
+ -DCMAKE_INSTALL_PREFIX='/usr' \
+ -DHIGH_BIT_DEPTH='TRUE' \
+ -DEXPORT_C_API='FALSE' \
+ -DENABLE_CLI='FALSE' \
+ -DENABLE_SHARED='FALSE'
+ make
+
+ cd ../build-8
+
+ ln -s ../build-10/libx265.a libx265_main10.a
+ ln -s ../build-12/libx265.a libx265_main12.a
+
+ cmake ../source \
+ -DCMAKE_INSTALL_PREFIX='/usr' \
+ -DENABLE_SHARED='TRUE' \
+ -DEXTRA_LIB='x265_main10.a;x265_main12.a' \
+ -DEXTRA_LINK_FLAGS='-L.' \
+ -DLINKED_10BIT='TRUE' \
+ -DLINKED_12BIT='TRUE'
+ make
+
+ else
+
+ cd x265_${pkgver}/build-8
+
+ cmake ../source \
+ -DCMAKE_INSTALL_PREFIX='/usr' \
+ -DENABLE_SHARED='TRUE'
+
+ fi
}
package() {
- cd multicoreware-x265-*/build/linux
- make DESTDIR="$pkgdir" install
+ cd x265_${pkgver}/build-8
+
+ make DESTDIR="${pkgdir}" install
}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/core/xcursor-vanilla-dmz/PKGBUILD b/abs/core/xcursor-vanilla-dmz/PKGBUILD
index c0f4319..5ee1259 100644
--- a/abs/core/xcursor-vanilla-dmz/PKGBUILD
+++ b/abs/core/xcursor-vanilla-dmz/PKGBUILD
@@ -1,21 +1,22 @@
# $Id$
+# Maintainer: Balló György <ballogyor+arch at gmail dot com>
# Contributor: Roman Kyrylych <Roman.Kyrylych@gmail.com>
# Contributor: Björn Martensen <bjoern.martensen@gmail.com>
-# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
pkgbase=xcursor-vanilla-dmz
pkgname=('xcursor-vanilla-dmz' 'xcursor-vanilla-dmz-aa')
-pkgver=0.4.3
+pkgver=0.4.4
pkgrel=1
arch=('any')
-url="http://jimmac.musichall.cz/themes.php?skin=7"
+url="http://jimmac.musichall.cz/"
license=('CCPL:by-nc-sa')
makedepends=('xorg-xcursorgen')
-source=(http://ftp.de.debian.org/debian/pool/main/d/dmz-cursor-theme/dmz-cursor-theme_${pkgver}.tar.gz)
-md5sums=('412256b1b8a65dd05b46f65b32e2f5e6')
+source=(http://ftp.de.debian.org/debian/pool/main/d/dmz-cursor-theme/dmz-cursor-theme_$pkgver.tar.gz)
+md5sums=('06fbab13df89c5770ce61b0e3e31e5f6')
build() {
- cd "${srcdir}/dmz-cursor-theme-${pkgver}"
+ cd "$srcdir/dmz-cursor-theme-$pkgver"
(cd DMZ-White/pngs ; ./make.sh)
(cd DMZ-Black/pngs ; ./make.sh)
}
@@ -23,17 +24,17 @@ build() {
package_xcursor-vanilla-dmz() {
pkgdesc="Vanilla DMZ cursor theme"
- cd "${srcdir}/dmz-cursor-theme-${pkgver}"
- install -d "${pkgdir}"/usr/share/icons/Vanilla-DMZ/cursors
- cp -a DMZ-White/xcursors/* "${pkgdir}"/usr/share/icons/Vanilla-DMZ/cursors
- install -Dm644 DMZ-White/index.theme "${pkgdir}"/usr/share/icons/Vanilla-DMZ/index.theme
+ cd "$srcdir/dmz-cursor-theme-$pkgver"
+ install -d "$pkgdir"/usr/share/icons/Vanilla-DMZ/cursors
+ cp -a DMZ-White/xcursors/* "$pkgdir"/usr/share/icons/Vanilla-DMZ/cursors
+ install -Dm644 DMZ-White/index.theme "$pkgdir"/usr/share/icons/Vanilla-DMZ/index.theme
}
package_xcursor-vanilla-dmz-aa() {
pkgdesc="Vanilla DMZ AA cursor theme"
- cd "${srcdir}/dmz-cursor-theme-${pkgver}"
- install -d "${pkgdir}"/usr/share/icons/Vanilla-DMZ-AA/cursors
- cp -a DMZ-Black/xcursors/* "${pkgdir}"/usr/share/icons/Vanilla-DMZ-AA/cursors
- install -Dm644 DMZ-Black/index.theme "${pkgdir}"/usr/share/icons/Vanilla-DMZ-AA/index.theme
+ cd "$srcdir/dmz-cursor-theme-${pkgver}"
+ install -d "$pkgdir"/usr/share/icons/Vanilla-DMZ-AA/cursors
+ cp -a DMZ-Black/xcursors/* "$pkgdir"/usr/share/icons/Vanilla-DMZ-AA/cursors
+ install -Dm644 DMZ-Black/index.theme "$pkgdir"/usr/share/icons/Vanilla-DMZ-AA/index.theme
}
diff --git a/abs/core/xf86-video-intel/PKGBUILD b/abs/core/xf86-video-intel/PKGBUILD
index e39dd0b..fd7d99f 100644
--- a/abs/core/xf86-video-intel/PKGBUILD
+++ b/abs/core/xf86-video-intel/PKGBUILD
@@ -3,7 +3,8 @@
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-intel
-pkgver=2.99.917+544+g8b8c9a3
+_commit=a508b11 # 7 digits
+pkgver=2.99.917+654+g${_commit}
pkgrel=1
epoch=1
arch=(i686 x86_64)
@@ -28,7 +29,7 @@ conflicts=('xorg-server<1.16' 'X-ABI-VIDEODRV_VERSION<20' 'X-ABI-VIDEODRV_VERSIO
'xf86-video-intel-sna' 'xf86-video-intel-uxa' 'xf86-video-i810' 'xf86-video-intel-legacy')
groups=('xorg-drivers' 'xorg')
#source=(${url}/archive/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-source=('git://anongit.freedesktop.org/xorg/driver/xf86-video-intel#commit=8b8c9a3')
+source=("git://anongit.freedesktop.org/xorg/driver/xf86-video-intel#commit=${_commit}")
sha256sums=('SKIP')
pkgver() {
diff --git a/abs/core/xorg-appres/PKGBUILD b/abs/core/xorg-appres/PKGBUILD
index cfec39b..03a9e30 100644
--- a/abs/core/xorg-appres/PKGBUILD
+++ b/abs/core/xorg-appres/PKGBUILD
@@ -1,9 +1,10 @@
-# $Id: PKGBUILD 150960 2012-02-24 10:08:12Z pierre $
+# $Id$
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xorg-appres
-pkgver=1.0.3
-pkgrel=3
+pkgver=1.0.4
+pkgrel=1
pkgdesc="List X application resource database"
arch=('i686' 'x86_64')
url="http://xorg.freedesktop.org/"
@@ -12,7 +13,7 @@ depends=('libxt')
makedepends=('xorg-util-macros')
conflicts=('xorg-res-utils')
source=("http://xorg.freedesktop.org/archive/individual/app/appres-${pkgver}.tar.bz2")
-sha1sums=('7303f12fae8cce92da2dbd88c9d31d816dc5da06')
+sha256sums=('9f614e9427cd9641a4a801ed5055700afa410674c0b7aa186b86078f11b83e8d')
build() {
cd "${srcdir}/appres-${pkgver}"
diff --git a/abs/core/xorg-server-utils/PKGBUILD b/abs/core/xorg-server-utils/PKGBUILD
index 1c77a49..a6f0c89 100644
--- a/abs/core/xorg-server-utils/PKGBUILD
+++ b/abs/core/xorg-server-utils/PKGBUILD
@@ -1,13 +1,12 @@
-# $Id: PKGBUILD 150987 2012-02-24 12:44:03Z allan $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xorg-server-utils
pkgver=7.6
-pkgrel=3
+pkgrel=4
pkgdesc="Transition package depending on xorg server utilities"
arch=('any')
url="http://xorg.freedesktop.org/"
license=('GPL')
depends=('xorg-iceauth' 'xorg-sessreg' 'xorg-xcmsdb' 'xorg-xbacklight' 'xorg-xgamma' 'xorg-xhost' 'xorg-xinput' 'xorg-xmodmap' 'xorg-xrandr' 'xorg-xrdb' 'xorg-xrefresh' 'xorg-xset' 'xorg-xsetroot')
#removed: rgb, xsetmode, xvidtune
-md5sums=()
diff --git a/abs/core/xorg-server/0001-systemd-logind-do-not-rely-on-directed-signals.patch b/abs/core/xorg-server/0001-systemd-logind-do-not-rely-on-directed-signals.patch
deleted file mode 100644
index 9daadf6..0000000
--- a/abs/core/xorg-server/0001-systemd-logind-do-not-rely-on-directed-signals.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 780a69aff0ff57ef813179a2f09556eaf488cdfc Mon Sep 17 00:00:00 2001
-From: David Herrmann <dh.herrmann@gmail.com>
-Date: Mon, 22 Jun 2015 21:13:05 +0200
-Subject: systemd-logind: do not rely on directed signals
-
-Right now, Xorg does not install DBus matches for "PauseDevice" /
-"ResumeDevice". Therefore, it should usually not receive those DBus
-signals from logind. It is just a coincidence that systemd-logind sends
-those signals in a directed manner right now. Therefore, dbus-daemon
-bypasses the broadcast matches.
-
-However, this is not ABI and Xorg should not rely on this. systemd-logind
-is free to send those signals as broadcasts, in which case Xorg will
-freeze the VT. Fix this by always installing those matches.
-
-Cc: Hans de Goede <hdegoede@redhat.com>
-Cc: Keith Packard <keithp@keithp.com>
-Reported-by: Jan Alexander Steffens <jan.steffens@gmail.com>
-Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
-Reviewed-by: Hans de Goede <hdegoede@redhat.com>
-Tested-by: Hans de Goede <hdegoede@redhat.com>
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-
-diff --git a/hw/xfree86/os-support/linux/systemd-logind.c b/hw/xfree86/os-support/linux/systemd-logind.c
-index 69e2f67..2612d9e 100644
---- a/hw/xfree86/os-support/linux/systemd-logind.c
-+++ b/hw/xfree86/os-support/linux/systemd-logind.c
-@@ -507,6 +507,24 @@ connect_hook(DBusConnection *connection, void *data)
- goto cleanup;
- }
-
-+ dbus_bus_add_match(connection,
-+ "type='signal',sender='org.freedesktop.login1',interface='org.freedesktop.login1.Session',member='PauseDevice'",
-+ &error);
-+ if (dbus_error_is_set(&error)) {
-+ LogMessage(X_ERROR, "systemd-logind: could not add match: %s\n",
-+ error.message);
-+ goto cleanup;
-+ }
-+
-+ dbus_bus_add_match(connection,
-+ "type='signal',sender='org.freedesktop.login1',interface='org.freedesktop.login1.Session',member='ResumeDevice'",
-+ &error);
-+ if (dbus_error_is_set(&error)) {
-+ LogMessage(X_ERROR, "systemd-logind: could not add match: %s\n",
-+ error.message);
-+ goto cleanup;
-+ }
-+
- /*
- * HdG: This is not useful with systemd <= 208 since the signal only
- * contains invalidated property names there, rather than property, val
---
-cgit v0.10.2
-
diff --git a/abs/core/xorg-server/PKGBUILD b/abs/core/xorg-server/PKGBUILD
index 7f0e9d5..0f85a53 100644
--- a/abs/core/xorg-server/PKGBUILD
+++ b/abs/core/xorg-server/PKGBUILD
@@ -4,8 +4,8 @@
pkgbase=xorg-server
pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel')
-pkgver=1.18.0
-pkgrel=4
+pkgver=1.18.4
+pkgrel=1
arch=('i686' 'x86_64')
license=('custom')
groups=('xorg')
@@ -18,28 +18,18 @@ makedepends=('pixman' 'libx11' 'mesa' 'mesa-libgl' 'xf86driproto' 'xcmiscproto'
'xcb-util' 'xcb-util-image' 'xcb-util-renderutil' 'xcb-util-wm' 'xcb-util-keysyms' 'dri3proto'
'libxshmfence' 'libunwind')
source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2{,.sig}
+ Xwrapper.config
xvfb-run
- xvfb-run.1
- 0001-systemd-logind-do-not-rely-on-directed-signals.patch
- v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch
- xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch
- Xwrapper.config)
+ xvfb-run.1)
validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C'
'C383B778255613DFDB409D91DB221A6900000011'
'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3')
+sha256sums=('278459b2c31d61a15655d95a72fb79930c480a6bb8cf9226e48a07df8b1d31c8'
+ 'SKIP'
+ 'b69ea4a8362b720aee65064534038e33ff8aa558437bcb619d1173f7e8ad3444'
+ 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9'
+ '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776')
-prepare() {
- cd "${pkgbase}-${pkgver}"
- # fix VT switching with kdbus; from upstream
- patch -Np1 -i ../0001-systemd-logind-do-not-rely-on-directed-signals.patch
-
- # fix xorg only working with root FS#47061
- patch -Np1 -i ../v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch
- # disable debugging glamor messages in xorg log file
- patch -Np1 -i ../xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch
-
- autoreconf -fvi
-}
build() {
cd "${pkgbase}-${pkgver}"
@@ -227,11 +217,3 @@ package_xorg-server-devel() {
install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-devel"
ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-devel/COPYING"
}
-md5sums=('3c1c1057d3ad27380d8dd87ffcc182cd'
- 'SKIP'
- '52fd3effd80d7bc6c1660d4ecf23d31c'
- '376c70308715cd2643f7bff936d9934b'
- 'bea02fd837ba756456bf14ed51ff36c8'
- 'ea8214d68150f3819eb049326b275f43'
- 'dc9eda462a8d83413d3edd2e7b9669f6'
- 'e3d31449c79ce49a748a678463ea3f20')
diff --git a/abs/core/xorg-server/__changelog b/abs/core/xorg-server/__changelog
index 1d44956..2b2e6fe 100644
--- a/abs/core/xorg-server/__changelog
+++ b/abs/core/xorg-server/__changelog
@@ -1,4 +1,3 @@
-placeholder to prevent auto update.
PKGBUILD - Change configure options:
--disable-systemd-logind \
--enable-install-setuid \
diff --git a/abs/core/xorg-server/v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch b/abs/core/xorg-server/v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch
deleted file mode 100644
index 220c5bb..0000000
--- a/abs/core/xorg-server/v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/hw/xfree86/xorg-wrapper.c b/hw/xfree86/xorg-wrapper.c
-index 4c37cfc..d930962 100644
---- a/hw/xfree86/xorg-wrapper.c
-+++ b/hw/xfree86/xorg-wrapper.c
-@@ -24,6 +24,7 @@
- */
-
- #include "dix-config.h"
-+#include "xorg-config.h"
-
- #include <errno.h>
- #include <fcntl.h>
diff --git a/abs/core/xorg-server/xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch b/abs/core/xorg-server/xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch
deleted file mode 100644
index 41a67c7..0000000
--- a/abs/core/xorg-server/xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/glamor/glamor.c b/glamor/glamor.c
-index 116d10c..81aba2d 100644
---- a/glamor/glamor.c
-+++ b/glamor/glamor.c
-@@ -393,6 +393,9 @@ glamor_setup_debug_output(ScreenPtr screen)
- return;
-
- glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS);
-+ /* Disable debugging messages other than GL API errors */
-+ glDebugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0, NULL,
-+ GL_FALSE);
- glDebugMessageControl(GL_DEBUG_SOURCE_API,
- GL_DEBUG_TYPE_ERROR,
- GL_DONT_CARE,
diff --git a/abs/core/xorg-xrandr/PKGBUILD b/abs/core/xorg-xrandr/PKGBUILD
index a208b1e..7f3da73 100644
--- a/abs/core/xorg-xrandr/PKGBUILD
+++ b/abs/core/xorg-xrandr/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 130753 2011-07-07 22:30:11Z andyrtr $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xorg-xrandr
-pkgver=1.3.5
+pkgver=1.5.0
pkgrel=1
pkgdesc="Primitive command line interface to RandR extension"
arch=(i686 x86_64)
@@ -11,8 +11,10 @@ license=('custom')
depends=('libxrandr' 'libx11')
makedepends=('xorg-util-macros')
groups=('xorg-apps' 'xorg')
-source=(http://xorg.freedesktop.org/archive/individual/app/xrandr-${pkgver}.tar.bz2)
-sha1sums=('ef45925d5b0e72c73d21798d65a41d476fdb0d3f')
+source=(http://xorg.freedesktop.org/archive/individual/app/xrandr-${pkgver}.tar.bz2{,.sig})
+sha256sums=('c1cfd4e1d4d708c031d60801e527abc9b6d34b85f2ffa2cadd21f75ff38151cd'
+ 'SKIP')
+validpgpkeys=('BD68A042C603DDAD9AA354B0F56ACC8F09BA9635') # Aaron Plattner <aplattner@nvidia.com>
build() {
cd "${srcdir}/xrandr-${pkgver}"
diff --git a/abs/core/xterm/PKGBUILD b/abs/core/xterm/PKGBUILD
index b60ec65..29bc524 100644
--- a/abs/core/xterm/PKGBUILD
+++ b/abs/core/xterm/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xterm
-pkgver=322
+pkgver=326
pkgrel=1
pkgdesc="X Terminal Emulator"
arch=('i686' 'x86_64')
@@ -12,7 +12,7 @@ license=('custom')
depends=('libxft' 'libxaw' 'ncurses' 'xorg-luit' 'xbitmaps' 'libutempter' 'libxkbfile')
source=(ftp://invisible-island.net/${pkgname}/${pkgname}-${pkgver}.tgz{,.asc}
LICENSE)
-md5sums=('9ea4c83ac7275fdecf39fde9db781fac'
+md5sums=('93914da76a279bbbd8f9a26639860241'
'SKIP'
'10ecc3f8ee91e3189863a172f68282d2')
validpgpkeys=('C52048C0C0748FEE227D47A2702353E0F7E48EDB') # "Thomas Dickey <dickey@invisible-island.net>"
@@ -44,6 +44,7 @@ build() {
--enable-mini-luit \
--enable-narrowproto \
--enable-exec-xterm \
+ --enable-sixel-graphics \
--with-tty-group=tty \
--with-utempter
make
diff --git a/abs/core/zoneminder/PKGBUILD b/abs/core/zoneminder/PKGBUILD
index e5c6b5d..e48da09 100644
--- a/abs/core/zoneminder/PKGBUILD
+++ b/abs/core/zoneminder/PKGBUILD
@@ -1,4 +1,4 @@
-# Contributor: Troy Will <troydwill@gmail.com>
+# Maintainer: Troy Will <troydwill at gmail dot com>
# Contributor: /dev/rs0 </dev/rs0@secretco.de.com>
# Contributor: Jacek Burghardt <jacek@hebe.us>
# Contributor: Vojtech Aschenbrenner <v@asch.cz>
@@ -6,120 +6,151 @@
# Contributor: Ross melin <rdmelin@gmail.com>
# Contributor (Parabola): Márcio Silva <coadde@lavabit.com>
# Contributor (Parabola): André Silva <emulatorman@lavabit.com>
+# Contributor: Charles Spence IV <cspence@unomaha.edu>
+# Contributor: Joe Julian <me@joejulian.name>
# Orginally based on a Debian Squeeze package
-
-pkgbase=zoneminder
+_pkgname=zoneminder
pkgname=zoneminder
-pkgver=1.28.0
-pkgrel=5
+pkgver=1.30.0.r107.g66ae5c5
+pkgrel=1
pkgdesc='Capture, analyse, record and monitor video security cameras'
-arch=( i686 x86_64 mips64el arm )
-
+arch=( i686 x86_64 mips64el arm armv7h )
backup=( etc/zm.conf )
url="https://github.com/ZoneMinder/ZoneMinder/releases"
license=( GPL )
-
depends=(
- lighttpd
- cambozola
- gnutls
- mysql
- perl-archive-zip
- perl-date-manip
- perl-dbd-mysql
- perl-dbi
- perl-expect
- perl-libwww
- perl-mime-lite
- perl-mime-tools
- perl-php-serialization
- perl-net-sftp-foreign
- perl-sys-mmap
- perl-time-modules
- perl-x10
- php
- #php-apache
- php-gd
- php-mcrypt
+ mysql perl-dbd-mysql perl-dbi
+ lighttpd php php-gd php-mcrypt perl-php-serialization
+ perl-libwww perl-net-sftp-foreign
+ ffmpeg perl-sys-mmap
+ gnutls polkit
+ perl-expect perl-archive-zip perl-date-manip
+ perl-mime-lite perl-mime-tools
)
-
makedepends=(
- netpbm
- cmake
+ cmake make gcc netpbm
)
-
optdepends=(
netpbm
+ cambozola
+ perl-time-modules
+ perl-x10
+ perl-astro-suntime
)
-
-install=$pkgbase.install
+install=$pkgname.install
source=(
- https://github.com/ZoneMinder/ZoneMinder/archive/v$pkgver.tar.gz
+ git://github.com/$_pkgname/$_pkgname.git
+ git://github.com/FriendsOfCake/crud.git
httpd-zoneminder.conf
zoneminder.service
+ zoneminder-tmpfile.conf
zm.include
- zm.sysctrl.conf
+ zm.sysctrl.conf
zm_gen_light.conf
)
-
+# Because the source is not static, skip Git checksum:
+sha256sums=('SKIP'
+ 'SKIP'
+ 'ff7382b38ac07dadead0ad4d583e3dbcf8da4aaa06b76d048ee334f69f95db67'
+ '043d77a995553c533d62f48db4b719d29cf6c7074f215d866130e97be57ed646'
+ 'cc8af737c3c07750fc71317c81999376e4bbb39da883780164a8747b3d7c95a7'
+ '894c3f43fb9d77aec9edaed98bc556c90bed9326de57bc17cd33b44ab7818335'
+ 'bb50ad6411426d90df00568b967bf762844978cd34b84435ecbfc0d652c67b42'
+ 'eafcd625248731382506622eb3ff9b736b670f601692386723bd63275cacc781'
+ )
+pkgver() {
+ cd "$_pkgname"
+ # See https://wiki.archlinux.org/index.php/VCS_package_guidelines#The_pkgver.28.29_function
+ git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
+}
+
+prepare () {
+ cd $srcdir/$_pkgname
+ git submodule init
+ git config submodule.web/api/app/Plugin/Crud.url $srcdir/crud
+ git config submodule.web/api/app/Plugin/Crud.branch 3.0
+ git submodule update
+}
+
build() {
- cd $srcdir/ZoneMinder-$pkgver
+ cd $srcdir/$_pkgname
- cmake -DCMAKE_INSTALL_PREFIX=/usr \
- -DZM_CGIDIR=/data/srv/httpd/cgi-bin \
- -DZM_WEBDIR=/data/srv/httpd/zoneminder \
- -DZM_WEB_USER=http \
- -DZM_CONTENTDIR=/var/cache/zoneminder \
- -DZM_LOGDIR=/var/log/zoneminder \
- -DZM_RUNDIR=/var/run/zm \
- -DZM_TMPDIR=/var/tmp \
- -DZM_SOCKDIR=/data/srv/zoneminder/socks/ .
+ # ZM_PERL_SUBPREFIX=/lib/perl5 flag added to force Perl modules
+ # to /usr/lib/perl5/ on non i686 architectures
+ cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ -DZM_PERL_SUBPREFIX=/lib/perl5 \
+ -DZM_WEBDIR=/data/srv/httpd/zoneminder \
+ -DZM_CGIDIR=/data/srv/httpd/cgi-bin \
+ -DZM_WEB_USER=http \
+ -DZM_CONTENTDIR=/var/cache/zoneminder \
+ -DZM_LOGDIR=/var/log/zoneminder \
+ -DZM_RUNDIR=/run/zoneminder \
+ -DZM_TMPDIR=/var/lib/zoneminder/temp \
+ -DZM_SOCKDIR=/data/srv/zoneminder/sock .
+
make V=0
}
package() {
- cd $srcdir/ZoneMinder-$pkgver
+ cd $srcdir/$_pkgname
DESTDIR=$pkgdir make install
+ # Change Polkit directory permissions to Arch Linux policy
+ chmod -v 700 $pkgdir/usr/share/polkit-1/rules.d/
+ chown -v polkitd $pkgdir/usr/share/polkit-1/rules.d/
+
# BEGIN CREATE_ZONEMINDER_DIRECTORIES
- mkdir -p $pkgdir/var/run/zm
- chown -v http.http $pkgdir/var/run/zm
- mkdir -p $pkgdir/var/{cache/$pkgbase,log/$pkgbase}
- mkdir -p $pkgdir/data/srv/zoneminder/socks
- chown -Rv http.http $pkgdir/{etc/zm.conf,var/{cache/$pkgbase,log/$pkgbase}}
- chown -Rv http.http $pkgdir/data/srv/zoneminder/socks
- chmod 0700 $pkgdir/etc/zm.conf
+ mkdir -pv $pkgdir/var/{cache/zoneminder,log/zoneminder}
+ chown -Rv http.http $pkgdir/var/{cache/zoneminder,log/zoneminder}
+
+ # corresponds to -DZM_SOCKDIR=/data/srv/zoneminder/sock
+ mkdir -pv $pkgdir/data/srv/zoneminder/sock
+ chown -v http.http $pkgdir/data/srv/zoneminder/sock
+
+ # corresponds to -DZM_TMPDIR=/var/lib/zoneminder/temp
+ mkdir -pv $pkgdir/var/lib/zoneminder/temp
+ chown -v http.http $pkgdir/var/lib/zoneminder/temp
+
+ chown -v http.http $pkgdir/etc/zm.conf
+ chmod 0700 $pkgdir/etc/zm.conf
# END CREATE_ZONEMINDER_DIRECTORIES
- # Make content directories in /var/cache/zoneminder and link them
+ # Make content directories in /var/cache/zoneminder and to link them in /srv/httpd/zoneminder
for i in events images temp; do
- mkdir $pkgdir/var/cache/$pkgbase/$i
- # chown -v http.http $pkgdir/var/cache/$pkgbase/$i
- ln -s /var/cache/$pkgbase/$i $pkgdir/data/srv/httpd/$pkgbase/$i
- chown -v --no-dereference http.http $pkgdir/data/srv/httpd/$pkgbase/$i
+ mkdir $pkgdir/var/cache/$pkgname/$i
+ chown -v http.http $pkgdir/var/cache/$pkgname/$i
+ ln -s /var/cache/$pkgname/$i $pkgdir/data/srv/httpd/$pkgname/$i
+ chown -v --no-dereference http.http $pkgdir/data/srv/httpd/$pkgname/$i
done
# Create a link to the Zoneminder cgi binaries
- ln -sv /data/srv/httpd/cgi-bin $pkgdir/data/srv/httpd/$pkgbase
+ ln -sv /data/srv/httpd/cgi-bin $pkgdir/data/srv/httpd/$pkgname
- chown -h http.http $pkgdir/data/srv/httpd/{cgi-bin,$pkgbase,$pkgbase/cgi-bin}
+ chown -h http.http $pkgdir/data/srv/httpd/{cgi-bin,$pkgname,$pkgname/cgi-bin}
# Link Cambozola
- ln -s /usr/share/cambozola/cambozola.jar $pkgdir/data/srv/httpd/$pkgbase
+ # ln -s /usr/share/cambozola/cambozola.jar $pkgdir/data/srv/httpd/$pkgname
# Install configuration files
-# don't need these in LinHES as we use lighttpd not apache
-# mkdir -p $pkgdir/etc/httpd/conf/extra
-# install -D -m 644 $srcdir/httpd-$pkgbase.conf $pkgdir/etc/httpd/conf/extra
- mkdir -p $pkgdir/usr/lib/systemd/system
- install -D -m 644 $srcdir/$pkgbase.service $pkgdir/usr/lib/systemd/system
- install -D -m 644 COPYING $pkgdir/usr/share/license/$pkgbase
- install -D -m 644 db/zm*.sql $pkgdir/usr/share/$pkgbase/db
+ # don't need these in LinHES as we use lighttpd not apache
+ #mkdir -p $pkgdir/etc/httpd/conf/extra
+ #install -D -m 644 $srcdir/httpd-$pkgname.conf $pkgdir/etc/httpd/conf/extra
+
+ mkdir -p $pkgdir/usr/lib/systemd/system
+ install -D -m 644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system
+
+ install -D -m 644 COPYING $pkgdir/usr/share/license/$pkgname
+ install -D -m 644 db/zm*.sql $pkgdir/usr/share/$pkgname/db
+
+ mkdir -p $pkgdir/usr/share/doc/$pkgname
+ # install -D -m 644 $srcdir/README $pkgdir/usr/share/doc/$pkgname
+
+ install -Dm644 ../zoneminder-tmpfile.conf "$pkgdir"/usr/lib/tmpfiles.d/zoneminder.conf
#LinHES stuff
#lighttpd zm include
@@ -129,9 +160,3 @@ package() {
#gen_light_conf
install -D -m0744 ${srcdir}/zm_gen_light.conf $pkgdir/etc/gen_light_conf.d/zoneminder.conf
}
-md5sums=('b0317c6fe003de9a0c7c76078b0adc2b'
- 'dcaa22b9030bc7b5b76568dbe8ea9eca'
- 'bb801be691cbe1ed98f395b2ebe5c882'
- '9d93f9b7b0a1384df533efde19ed3021'
- 'c528e75443ae421cb7f63e12350c692a'
- '81cb12b36616a299ec808ac70a809ec2')
diff --git a/abs/core/zoneminder/__changelog b/abs/core/zoneminder/__changelog
index 8b30691..f039892 100644
--- a/abs/core/zoneminder/__changelog
+++ b/abs/core/zoneminder/__changelog
@@ -1,17 +1,19 @@
+PKGBUILD: modified AUR zoneminder-git
PKGBUILD: remove apache
PKGBUILD: add lighttpd
PKGBUILD: remove php-apache
PKGBUILD: change mariadb to mysql
+PKGBUILD: remove vlc
PKGBUILD: change all /srv/ to /data/srv/ - cgidir webdir socks
+PKGBUILD: change all http to httpd dirs
PKGBUILD: add zm.include for lighttpd
PKGBUILD: add zm.sysctrl.conf to set the shared mem
PKGBUILD: add zm_gen_light.conf
--
-Install file
-Removed modifications of php.ini
-Remove php and mysql notes
-Added remove/add of zm.include in post install/remove
-added install_db
-add http to video group
-gen_light_include.py
+.install: Remove modifications of php.ini
+.install: Remove php and mysql notes
+.install: Remove/Add of zm.include in post install/remove
+.install: Add install_db()
+.install: Add http to video group
+.install: Add gen_light_include.py
--
diff --git a/abs/core/zoneminder/httpd-zoneminder.conf b/abs/core/zoneminder/httpd-zoneminder.conf
index cdb7722..41b364f 100644
--- a/abs/core/zoneminder/httpd-zoneminder.conf
+++ b/abs/core/zoneminder/httpd-zoneminder.conf
@@ -1,4 +1,4 @@
-# /etc/httpd/conf/extra/httpd-zm.conf
+# /etc/httpd/conf/extra/httpd-zoneminder.conf
# Config for zoneminder web app
Alias /zm "/srv/http/zoneminder"
@@ -7,8 +7,8 @@ Alias /zm "/srv/http/zoneminder"
AllowOverride None
Order allow,deny
Allow from all
- # The code unfortunately uses short tags in many places
- php_value short_open_tag On
+ # Provide PHP directory and file access, see http://php.net/manual/en/ini.core.php#ini.open-basedir
+ php_admin_value open_basedir "/tmp/:/etc/zm.conf:/srv/http/zoneminder/:/var/cache/zoneminder/:/var/lib/zoneminder/:/var/log/zoneminder/"
</Directory>
ScriptAlias /cgi-bin "/srv/http/cgi-bin"
diff --git a/abs/core/zoneminder/zoneminder-tmpfile.conf b/abs/core/zoneminder/zoneminder-tmpfile.conf
new file mode 100644
index 0000000..84362b5
--- /dev/null
+++ b/abs/core/zoneminder/zoneminder-tmpfile.conf
@@ -0,0 +1 @@
+d /run/zoneminder 0755 http http -
diff --git a/abs/core/zoneminder/zoneminder.install b/abs/core/zoneminder/zoneminder.install
index a086b96..5d5459a 100644
--- a/abs/core/zoneminder/zoneminder.install
+++ b/abs/core/zoneminder/zoneminder.install
@@ -11,52 +11,13 @@ install_db() {
echo 'grant lock tables, alter,select,insert,update,delete on zm.* to 'zmuser'@localhost identified by "zmpass";' | mysql
fi
else
- echo "Will only init the database for StandAlone or Master_backend LinHES systems"
+ echo "Will only init the database for StandAlone or Master_backend LinHES systems"
fi
}
-pre_install() {
- set -e
- abort=false
- if [ -L /data/srv/httpd/zoneminder/events ]; then
- l=$(readlink /data/srv/httpd/zoneminder/events)
- if [ $l != /var/cache/zoneminder/events ]; then
- abort=true
- fi
- fi
- if [ -L /data/srv/httpd/zoneminder/images ]; then
- l=$(readlink /data/srv/httpd/zoneminder/images)
- if [ $l != /var/cache/zoneminder/images ]; then
- abort=true
- fi
- fi
- if [ $abort = true ]; then
- cat >&2 << EOF
-Aborting installation of zoneminder due to non-default symlinks in
-/data/srv/httpd/zoneminder for the images and/or events directory, which could
-result in loss of data. Please move your data in each of these directories to
-/var/cache/zoneminder before installing zoneminder from the package.
-EOF
- exit 1
- fi
- exit 0
-}
-
post_install() {
- if [[ -d /var/log/zoneminder ]]; then
- chmod 0755 /var/log/zoneminder
- chown http.http /var/log/zoneminder
- else
- mkdir -m 0755 /var/log/zoneminder
- chown http.http /var/log/zoneminder
- fi
- if [[ -d /tmp/zm ]]; then
- chmod 0700 /tmp/zm
- chown http.http /tmp/zm
- else
- mkdir -m 0700 /tmp/zm
- chown http.http /tmp/zm
- fi
+
+ systemd-tmpfiles --create zoneminder.conf
#---LinHES Stuff
usermod -G video http
diff --git a/abs/core/zoneminder/zoneminder.service b/abs/core/zoneminder/zoneminder.service
index 1314521..48268f1 100644
--- a/abs/core/zoneminder/zoneminder.service
+++ b/abs/core/zoneminder/zoneminder.service
@@ -1,6 +1,3 @@
-# ZoneMinder systemd unit file
-# This file is intended to work with all Linux distributions
-
[Unit]
Description=ZoneMinder CCTV recording and security system
After=network.target mysqld.service httpd.service
@@ -11,8 +8,8 @@ User=http
Type=forking
ExecStart=/usr/bin/zmpkg.pl start
ExecReload=/usr/bin/zmpkg.pl restart
-ExecStop=/bin/bash -c '[[ "$(/usr/bin/pgrep zmdc.pl)" > 0 ]] && /usr/bin/zmpkg.pl stop'
-PIDFile="/var/run/zm/zm.pid"
+ExecStop=/usr/bin/zmpkg.pl stop
+PIDFile=/run/zoneminder/zm.pid
[Install]
WantedBy=multi-user.target
diff --git a/abs/extra/camlp4/PKGBUILD b/abs/extra/camlp4/PKGBUILD
new file mode 100644
index 0000000..9f66a18
--- /dev/null
+++ b/abs/extra/camlp4/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id$
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
+
+pkgname=camlp4
+pkgver=4.02+6
+pkgrel=1
+pkgdesc='Caml preprocessor and pretty-printer'
+arch=('x86_64' 'i686')
+license=('GPL2')
+url='https://github.com/ocaml/camlp4/releases'
+depends=('ocaml')
+makedepends=('git')
+options=('!makeflags' '!emptydirs' 'staticlibs')
+source=("git://github.com/ocaml/camlp4#tag=$pkgver")
+md5sums=('SKIP')
+
+build() {
+ cd "$pkgname"
+
+ ./configure
+ make all camlp4/META
+}
+
+package() {
+ make -C "$pkgname" \
+ BINDIR="$pkgdir/usr/bin" \
+ LIBDIR="$pkgdir/usr/lib/ocaml" \
+ PKGDIR="$pkgdir/usr/lib/ocaml" \
+ install install-META
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/ffmpeg2.8/PKGBUILD b/abs/extra/ffmpeg2.8/PKGBUILD
new file mode 100644
index 0000000..8e00522
--- /dev/null
+++ b/abs/extra/ffmpeg2.8/PKGBUILD
@@ -0,0 +1,110 @@
+# $Id$
+# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
+# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Contributor: Paul Mattal <paul@archlinux.org>
+
+pkgname=ffmpeg2.8
+pkgver=2.8.7
+pkgrel=2
+pkgdesc='Complete solution to record, convert and stream audio and video'
+arch=('i686' 'x86_64')
+url='http://ffmpeg.org/'
+license=('GPL3')
+depends=('alsa-lib' 'bzip2' 'fontconfig' 'fribidi' 'gnutls' 'gsm' 'lame'
+ 'libass' 'libbluray' 'libmodplug' 'libsoxr' 'libssh'
+ 'libtheora' 'libva' 'libvdpau' 'libwebp' 'opencore-amr' 'openjpeg'
+ 'opus' 'schroedinger' 'sdl' 'speex' 'v4l-utils' 'xvidcore' 'zlib'
+ 'libdcadec.so' 'libvidstab.so' 'libvorbis.so' 'libvorbisenc.so'
+ 'libvpx.so' 'libx264.so' 'libx265.so')
+makedepends=('hardening-wrapper' 'ladspa' 'libvdpau' 'yasm')
+optdepends=('ladspa: LADSPA filters')
+provides=('libavcodec.so' 'libavdevice.so' 'libavfilter.so' 'libavformat.so'
+ 'libavresample.so' 'libavutil.so' 'libpostproc.so' 'libswresample.so'
+ 'libswscale.so')
+source=("http://ffmpeg.org/releases/ffmpeg-${pkgver}.tar.bz2"
+ "http://ffmpeg.org/releases/ffmpeg-${pkgver}.tar.bz2.asc"
+ 'ffmpeg-2.8-kodi.patch'
+ 'ffmpeg-2.8-Resolve-plex-direct-domains.patch'
+ 'ffmpeg-99.0011-mpeg4video-Signal-unsupported-GMC-with-more-than-one.patch'
+ 'ffmpeg-Speed_up_wtv_index_creation.patch'
+)
+validpgpkeys=('FCF986EA15E6E293A5644F10B4322F04D67658D8')
+sha256sums=('8777ce4a335640fdd13680ba423ef6da330ff5071bfbe27cdbb452379167efe5'
+ 'SKIP'
+ 'f89a26cb409bab1ac00106db008eccf72c6390e04d7cde2a63fbb1f2e9fbc669'
+ 'ca7eca1b9476c93efbdea457b64b0e5d925ad437f79168112aae52319d59d155'
+ 'fa78aa79ff861edbb8b6443978a0da60c4241f7a7f3888b242031ba916fa7514'
+ 'd1191e3e3fc980535e4835b5ef9b52fd15a14b58ef56ac6d2710bd589ce94b40'
+)
+
+prepare() {
+ cd ${srcdir}/ffmpeg-${pkgver}
+ patch -Np1 -i ${srcdir}/ffmpeg-2.8-kodi.patch
+ patch -Np1 -i ${srcdir}/ffmpeg-2.8-Resolve-plex-direct-domains.patch
+ patch -Np1 -i ${srcdir}/ffmpeg-99.0011-mpeg4video-Signal-unsupported-GMC-with-more-than-one.patch
+ patch -Np1 -i ${srcdir}/ffmpeg-Speed_up_wtv_index_creation.patch
+}
+
+build() {
+ cd ffmpeg-${pkgver}
+
+ ./configure \
+ --prefix='/usr' \
+ --incdir='/usr/include/ffmpeg2.8' \
+ --libdir='/usr/lib/ffmpeg2.8' \
+ --shlibdir='/usr/lib/ffmpeg2.8' \
+ --disable-debug \
+ --disable-static \
+ --disable-stripping \
+ --enable-avisynth \
+ --enable-avresample \
+ --enable-fontconfig \
+ --enable-gnutls \
+ --enable-gpl \
+ --enable-ladspa \
+ --enable-libass \
+ --enable-libbluray \
+ --enable-libdcadec \
+ --enable-libfreetype \
+ --enable-libfribidi \
+ --enable-libgsm \
+ --enable-libmodplug \
+ --enable-libmp3lame \
+ --enable-libopencore_amrnb \
+ --enable-libopencore_amrwb \
+ --enable-libopenjpeg \
+ --enable-libopus \
+ --disable-libpulse \
+ --enable-libschroedinger \
+ --enable-libsoxr \
+ --enable-libspeex \
+ --enable-libssh \
+ --enable-libtheora \
+ --enable-libv4l2 \
+ --enable-libvidstab \
+ --enable-libvorbis \
+ --enable-libvpx \
+ --enable-libwebp \
+ --enable-libx264 \
+ --enable-libx265 \
+ --enable-libxvid \
+ --enable-shared \
+ --enable-version3 \
+ --enable-x11grab
+ make
+}
+
+package() {
+ cd ffmpeg-${pkgver}
+
+ make DESTDIR="${pkgdir}" install
+ rm -rf "${pkgdir}"/usr/{bin,share}
+
+ install -dm 755 "${pkgdir}"/etc/ld.so.conf.d
+ echo -e '/usr/lib/\n/usr/lib/ffmpeg2.8/' > "${pkgdir}"/etc/ld.so.conf.d/ffmpeg2.8.conf
+}
+
+# vim: ts=2 sw=2 et:
+
diff --git a/abs/extra/ffmpeg2.8/__changelog b/abs/extra/ffmpeg2.8/__changelog
new file mode 100644
index 0000000..9a019b1
--- /dev/null
+++ b/abs/extra/ffmpeg2.8/__changelog
@@ -0,0 +1,2 @@
+PKGBUILD: remove dep libpulse and disable in configure
+PKGBUILD: add patches from OpenPHT
diff --git a/abs/extra/ffmpeg2.8/ffmpeg-2.8-Resolve-plex-direct-domains.patch b/abs/extra/ffmpeg2.8/ffmpeg-2.8-Resolve-plex-direct-domains.patch
new file mode 100644
index 0000000..7e377ae
--- /dev/null
+++ b/abs/extra/ffmpeg2.8/ffmpeg-2.8-Resolve-plex-direct-domains.patch
@@ -0,0 +1,37 @@
+commit eb2a7e1eb920cd9e44223607978344cf4b95d990
+Author: Jonas Karlman <jonas@kwiboo.se>
+Date: Tue Jun 16 02:47:28 2015 +0200
+
+ Resolve .plex.direct domains
+
+diff --git a/libavformat/tcp.c b/libavformat/tcp.c
+index 3c3f4f5..e543c06 100644
+--- a/libavformat/tcp.c
++++ b/libavformat/tcp.c
+@@ -67,6 +67,8 @@ static int tcp_open(URLContext *h, const char *uri, int flags)
+ int ret;
+ char hostname[1024],proto[1024],path[1024];
+ char portstr[10];
++ size_t len;
++ char *c;
+ s->open_timeout = 5000000;
+
+ av_url_split(proto, sizeof(proto), NULL, 0, hostname, sizeof(hostname),
+@@ -102,6 +104,17 @@ static int tcp_open(URLContext *h, const char *uri, int flags)
+ snprintf(portstr, sizeof(portstr), "%d", port);
+ if (s->listen)
+ hints.ai_flags |= AI_PASSIVE;
++ len = strlen(hostname);
++ if (len > 12 && !strcmp(hostname + len - 12, ".plex.direct")) {
++ for (c = hostname; *c; c++) {
++ if (*c == '-') {
++ *c = '.';
++ } else if (*c == '.') {
++ *c = '\0';
++ break;
++ }
++ }
++ }
+ if (!hostname[0])
+ ret = getaddrinfo(NULL, portstr, &hints, &ai);
+ else
diff --git a/abs/extra/ffmpeg2.8/ffmpeg-2.8-kodi.patch b/abs/extra/ffmpeg2.8/ffmpeg-2.8-kodi.patch
new file mode 100644
index 0000000..27b2c1b
--- /dev/null
+++ b/abs/extra/ffmpeg2.8/ffmpeg-2.8-kodi.patch
@@ -0,0 +1,585 @@
+From 007ee4796d1621ef6070fdef9aa10ff227ee20b4 Mon Sep 17 00:00:00 2001
+From: Joakim Plate <elupus@ecce.se>
+Date: Sun, 11 Sep 2011 19:04:51 +0200
+Subject: [PATCH 01/13] Support raw dvdsub palette as stored on normal dvd's
+
+This is how the palette is stored on dvd's. Currently
+only xbmc passes the palette information to libavcodec
+this way.
+---
+ libavcodec/dvdsubdec.c | 24 ++++++++++++++++++++++++
+ 1 file changed, 24 insertions(+)
+
+diff --git a/libavcodec/dvdsubdec.c b/libavcodec/dvdsubdec.c
+index f009824..bbee694 100644
+--- a/libavcodec/dvdsubdec.c
++++ b/libavcodec/dvdsubdec.c
+@@ -64,6 +64,24 @@ static void yuv_a_to_rgba(const uint8_t *ycbcr, const uint8_t *alpha, uint32_t *
+ }
+ }
+
++static void ayvu_to_argb(const uint8_t *ayvu, uint32_t *argb, int num_values)
++{
++ uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;
++ uint8_t r, g, b;
++ int i, y, cb, cr, a;
++ int r_add, g_add, b_add;
++
++ for (i = num_values; i > 0; i--) {
++ a = *ayvu++;
++ y = *ayvu++;
++ cr = *ayvu++;
++ cb = *ayvu++;
++ YUV_TO_RGB1_CCIR(cb, cr);
++ YUV_TO_RGB2_CCIR(r, g, b, y);
++ *argb++ = (a << 24) | (r << 16) | (g << 8) | b;
++ }
++}
++
+ static int decode_run_2bit(GetBitContext *gb, int *color)
+ {
+ unsigned int v, t;
+@@ -708,6 +726,12 @@ static av_cold int dvdsub_init(AVCodecContext *avctx)
+ parse_ifo_palette(ctx, ctx->ifo_str);
+ if (ctx->palette_str)
+ parse_palette(ctx, ctx->palette_str);
++
++ if (!ctx->has_palette && avctx->extradata_size == 64) {
++ ayvu_to_argb((uint8_t*)avctx->extradata, ctx->palette, 16);
++ ctx->has_palette = 1;
++ }
++
+ if (ctx->has_palette) {
+ int i;
+ av_log(avctx, AV_LOG_DEBUG, "palette:");
+
+From 3b001c5375fdcb0fca89c813bf808da35f904323 Mon Sep 17 00:00:00 2001
+From: Cory Fields <theuni-nospam-@xbmc.org>
+Date: Mon, 28 Jun 2010 01:55:31 -0400
+Subject: [PATCH 02/13] if av_read_packet returns AVERROR_IO, we are done.
+ ffmpeg's codecs might or might not handle returning any completed demuxed
+ packets correctly
+
+---
+ libavformat/utils.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/libavformat/utils.c b/libavformat/utils.c
+index 30567fa..8a947d6 100644
+--- a/libavformat/utils.c
++++ b/libavformat/utils.c
+@@ -1329,6 +1329,8 @@ static int read_frame_internal(AVFormatContext *s, AVPacket *pkt)
+ if (ret < 0) {
+ if (ret == AVERROR(EAGAIN))
+ return ret;
++ if (ret == AVERROR(EIO))
++ return ret;
+ /* flush the parsers */
+ for (i = 0; i < s->nb_streams; i++) {
+ st = s->streams[i];
+
+From 75902cb6825c581853636147020f1be99aba198c Mon Sep 17 00:00:00 2001
+From: Cory Fields <theuni-nospam-@xbmc.org>
+Date: Mon, 28 Jun 2010 02:10:50 -0400
+Subject: [PATCH 03/13] added: Ticket #7187, TV Teletext support for DVB EBU
+ Teletext streams
+
+---
+ libavcodec/avcodec.h | 4 ++++
+ libavformat/mpegts.c | 2 ++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
+index 9d38b59..bc1b1b9 100644
+--- a/libavcodec/avcodec.h
++++ b/libavcodec/avcodec.h
+@@ -532,6 +532,10 @@ enum AVCodecID {
+ AV_CODEC_ID_ASS = MKBETAG('A','S','S',' '), ///< ASS as defined in Matroska
+ AV_CODEC_ID_HDMV_TEXT_SUBTITLE = MKBETAG('B','D','T','X'),
+
++ /* data codecs */
++ AV_CODEC_ID_VBI_DATA= 0x17500,
++ AV_CODEC_ID_VBI_TELETEXT,
++
+ /* other specific kind of codecs (generally used for attachments) */
+ AV_CODEC_ID_FIRST_UNKNOWN = 0x18000, ///< A dummy ID pointing at the start of various fake codecs.
+ AV_CODEC_ID_TTF = 0x18000,
+diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
+index 65824dd..338861e 100644
+--- a/libavformat/mpegts.c
++++ b/libavformat/mpegts.c
+@@ -756,6 +756,8 @@ static const StreamType DESC_types[] = {
+ { 0x7b, AVMEDIA_TYPE_AUDIO, AV_CODEC_ID_DTS },
+ { 0x56, AVMEDIA_TYPE_SUBTITLE, AV_CODEC_ID_DVB_TELETEXT },
+ { 0x59, AVMEDIA_TYPE_SUBTITLE, AV_CODEC_ID_DVB_SUBTITLE }, /* subtitling descriptor */
++ { 0x45, AVMEDIA_TYPE_DATA, AV_CODEC_ID_VBI_DATA }, /* VBI Data descriptor */
++ { 0x46, AVMEDIA_TYPE_DATA, AV_CODEC_ID_VBI_TELETEXT }, /* VBI Teletext descriptor */
+ { 0 },
+ };
+
+
+From fabf7216626da8caecf9cb34b188739e530cc8d4 Mon Sep 17 00:00:00 2001
+From: Joakim Plate <elupus@ecce.se>
+Date: Sun, 18 Sep 2011 19:16:34 +0200
+Subject: [PATCH 04/13] Don't accept mpegts PMT that isn't current
+
+---
+ libavformat/mpegts.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
+index 338861e..d4168c8 100644
+--- a/libavformat/mpegts.c
++++ b/libavformat/mpegts.c
+@@ -585,6 +585,7 @@ typedef struct SectionHeader {
+ uint8_t tid;
+ uint16_t id;
+ uint8_t version;
++ uint8_t current;
+ uint8_t sec_num;
+ uint8_t last_sec_num;
+ } SectionHeader;
+@@ -667,6 +668,7 @@ static int parse_section_header(SectionHeader *h,
+ val = get8(pp, p_end);
+ if (val < 0)
+ return val;
++ h->current = val & 0x1;
+ h->version = (val >> 1) & 0x1f;
+ val = get8(pp, p_end);
+ if (val < 0)
+@@ -2020,6 +2022,8 @@ static void pat_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
+ return;
+ if (ts->skip_changes)
+ return;
++ if (!h->current)
++ return;
+
+ if (skip_identical(h, tssf))
+ return;
+
+From 4f1d8668a50ebf7cddc03d191c72c36fca2146dc Mon Sep 17 00:00:00 2001
+From: Joakim Plate <elupus@ecce.se>
+Date: Sun, 18 Sep 2011 19:17:23 +0200
+Subject: [PATCH 05/13] Don't reparse PMT unless it's version has changed
+
+---
+ libavformat/mpegts.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
+index d4168c8..9c6f6dc 100644
+--- a/libavformat/mpegts.c
++++ b/libavformat/mpegts.c
+@@ -91,6 +91,7 @@ struct MpegTSFilter {
+ int es_id;
+ int last_cc; /* last cc code (-1 if first packet) */
+ int64_t last_pcr;
++ int last_version; /* last version of data on this pid */
+ enum MpegTSFilterType type;
+ union {
+ MpegTSPESFilter pes_filter;
+@@ -459,6 +460,7 @@ static MpegTSFilter *mpegts_open_filter(MpegTSContext *ts, unsigned int pid,
+ filter->es_id = -1;
+ filter->last_cc = -1;
+ filter->last_pcr= -1;
++ filter->last_version = -1;
+
+ return filter;
+ }
+@@ -2024,6 +2026,10 @@ static void pat_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
+ return;
+ if (!h->current)
+ return;
++ if (h->version == filter->last_version)
++ return;
++ filter->last_version = h->version;
++ av_dlog(ts->stream, "version=%d\n", filter->last_version);
+
+ if (skip_identical(h, tssf))
+ return;
+
+From 72cf6cb34af9de7e81bffc6a53f7d1f450e5b624 Mon Sep 17 00:00:00 2001
+From: Cory Fields <theuni-nospam-@xbmc.org>
+Date: Fri, 9 Jul 2010 16:43:31 -0400
+Subject: [PATCH 06/13] Read PID timestamps as well as PCR timestamps to find
+ location in mpegts stream
+
+---
+ libavformat/mpegts.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 46 insertions(+), 2 deletions(-)
+
+diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
+index 9c6f6dc..a4db558 100644
+--- a/libavformat/mpegts.c
++++ b/libavformat/mpegts.c
+@@ -2519,6 +2519,44 @@ static void seek_back(AVFormatContext *s, AVIOContext *pb, int64_t pos) {
+ av_log(s, pb->seekable ? AV_LOG_ERROR : AV_LOG_INFO, "Unable to seek back to the start\n");
+ }
+
++static int parse_timestamp(int64_t *ts, const uint8_t *buf)
++{
++ int afc, flags;
++ const uint8_t *p;
++
++ if(!(buf[1] & 0x40)) /* must be a start packet */
++ return -1;
++
++ afc = (buf[3] >> 4) & 3;
++ p = buf + 4;
++ if (afc == 0 || afc == 2) /* invalid or only adaption field */
++ return -1;
++ if (afc == 3)
++ p += p[0] + 1;
++ if (p >= buf + TS_PACKET_SIZE)
++ return -1;
++
++ if (p[0] != 0x00 || p[1] != 0x00 || p[2] != 0x01) /* packet_start_code_prefix */
++ return -1;
++
++ flags = p[3] | 0x100; /* stream type */
++ if (!((flags >= 0x1c0 && flags <= 0x1df) ||
++ (flags >= 0x1e0 && flags <= 0x1ef) ||
++ (flags == 0x1bd) || (flags == 0x1fd)))
++ return -1;
++
++ flags = p[7];
++ if ((flags & 0xc0) == 0x80) {
++ *ts = ff_parse_pes_pts(p+9);
++ return 0;
++ } else if ((flags & 0xc0) == 0xc0) {
++ *ts = ff_parse_pes_pts(p+9+5);
++ return 0;
++ }
++ return -1;
++}
++
++
+ static int mpegts_read_header(AVFormatContext *s)
+ {
+ MpegTSContext *ts = s->priv_data;
+@@ -2724,6 +2762,7 @@ static av_unused int64_t mpegts_get_pcr(AVFormatContext *s, int stream_index,
+ uint8_t buf[TS_PACKET_SIZE];
+ int pcr_l, pcr_pid =
+ ((PESContext *)s->streams[stream_index]->priv_data)->pcr_pid;
++ int pid = ((PESContext*)s->streams[stream_index]->priv_data)->pid;
+ int pos47 = ts->pos47_full % ts->raw_packet_size;
+ pos =
+ ((*ppos + ts->raw_packet_size - 1 - pos47) / ts->raw_packet_size) *
+@@ -2745,6 +2784,11 @@ static av_unused int64_t mpegts_get_pcr(AVFormatContext *s, int stream_index,
+ *ppos = pos;
+ return timestamp;
+ }
++ if ((pid < 0 || (AV_RB16(buf + 1) & 0x1fff) == pid) &&
++ parse_timestamp(&timestamp, buf) == 0) {
++ *ppos = pos;
++ return timestamp;
++ }
+ pos += ts->raw_packet_size;
+ }
+
+@@ -2844,7 +2888,7 @@ AVInputFormat ff_mpegts_demuxer = {
+ .read_header = mpegts_read_header,
+ .read_packet = mpegts_read_packet,
+ .read_close = mpegts_read_close,
+- .read_timestamp = mpegts_get_dts,
++ .read_timestamp = mpegts_get_pcr,
+ .flags = AVFMT_SHOW_IDS | AVFMT_TS_DISCONT,
+ .priv_class = &mpegts_class,
+ };
+@@ -2856,7 +2900,7 @@ AVInputFormat ff_mpegtsraw_demuxer = {
+ .read_header = mpegts_read_header,
+ .read_packet = mpegts_raw_read_packet,
+ .read_close = mpegts_read_close,
+- .read_timestamp = mpegts_get_dts,
++ .read_timestamp = mpegts_get_pcr,
+ .flags = AVFMT_SHOW_IDS | AVFMT_TS_DISCONT,
+ .priv_class = &mpegtsraw_class,
+ };
+
+From ee8a688e4e6f59785180c1e92981ff867f6f5c23 Mon Sep 17 00:00:00 2001
+From: Joakim Plate <elupus@ecce.se>
+Date: Sat, 22 Oct 2011 19:01:38 +0200
+Subject: [PATCH 07/13] Get stream durations using read_timestamp
+
+---
+ libavformat/utils.c | 39 +++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 39 insertions(+)
+
+diff --git a/libavformat/utils.c b/libavformat/utils.c
+index 8a947d6..88786f1 100644
+--- a/libavformat/utils.c
++++ b/libavformat/utils.c
+@@ -2455,6 +2455,41 @@ static void estimate_timings_from_bit_rate(AVFormatContext *ic)
+ #define DURATION_MAX_READ_SIZE 250000LL
+ #define DURATION_MAX_RETRY 6
+
++static void av_estimate_timings_from_pts2(AVFormatContext *ic, int64_t old_offset)
++{
++ AVStream *st;
++ int i, step= 1024;
++ int64_t ts, pos;
++
++ for(i=0;i<ic->nb_streams;i++) {
++ st = ic->streams[i];
++
++ pos = 0;
++ ts = ic->iformat->read_timestamp(ic, i, &pos, DURATION_MAX_READ_SIZE);
++ if (ts == AV_NOPTS_VALUE)
++ continue;
++ if (st->start_time > ts || st->start_time == AV_NOPTS_VALUE)
++ st->start_time = ts;
++
++ pos = avio_size(ic->pb) - 1;
++ do {
++ pos -= step;
++ ts = ic->iformat->read_timestamp(ic, i, &pos, pos + step);
++ step += step;
++ } while (ts == AV_NOPTS_VALUE && pos >= step && step < DURATION_MAX_READ_SIZE);
++
++ if (ts == AV_NOPTS_VALUE)
++ continue;
++
++ if (st->duration < ts - st->start_time || st->duration == AV_NOPTS_VALUE)
++ st->duration = ts - st->start_time;
++ }
++
++ fill_all_stream_timings(ic);
++
++ avio_seek(ic->pb, old_offset, SEEK_SET);
++}
++
+ /* only usable for MPEG-PS streams */
+ static void estimate_timings_from_pts(AVFormatContext *ic, int64_t old_offset)
+ {
+@@ -2605,6 +2640,10 @@ static void estimate_timings(AVFormatContext *ic, int64_t old_offset)
+ * the components */
+ fill_all_stream_timings(ic);
+ ic->duration_estimation_method = AVFMT_DURATION_FROM_STREAM;
++ } else if (ic->iformat->read_timestamp &&
++ file_size && ic->pb->seekable) {
++ /* get accurate estimate from the PTSes */
++ av_estimate_timings_from_pts2(ic, old_offset);
+ } else {
+ /* less precise: use bitrate info */
+ estimate_timings_from_bit_rate(ic);
+
+From a45171f7370c263344805d19181e08a12a65dcdd Mon Sep 17 00:00:00 2001
+From: Joakim Plate <elupus@ecce.se>
+Date: Wed, 8 Dec 2010 14:03:43 +0000
+Subject: [PATCH 08/13] changed: allow 4 second skew between streams in mov
+ before attempting to seek
+
+---
+ libavformat/mov.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libavformat/mov.c b/libavformat/mov.c
+index 4ce4e2d..2c364ac 100644
+--- a/libavformat/mov.c
++++ b/libavformat/mov.c
+@@ -4624,8 +4624,8 @@ static AVIndexEntry *mov_find_next_sample(AVFormatContext *s, AVStream **st)
+ if (!sample || (!s->pb->seekable && current_sample->pos < sample->pos) ||
+ (s->pb->seekable &&
+ ((msc->pb != s->pb && dts < best_dts) || (msc->pb == s->pb &&
+- ((FFABS(best_dts - dts) <= AV_TIME_BASE && current_sample->pos < sample->pos) ||
+- (FFABS(best_dts - dts) > AV_TIME_BASE && dts < best_dts)))))) {
++ ((FFABS(best_dts - dts) <= 4*AV_TIME_BASE && current_sample->pos < sample->pos) ||
++ (FFABS(best_dts - dts) > 4*AV_TIME_BASE && dts < best_dts)))))) {
+ sample = current_sample;
+ best_dts = dts;
+ *st = avst;
+
+From c3e8fbd02c2eaba2a5d14d2b6c07fe08746f5947 Mon Sep 17 00:00:00 2001
+From: Joakim Plate <elupus@ecce.se>
+Date: Fri, 26 Nov 2010 20:56:48 +0000
+Subject: [PATCH 09/13] fixed: memleak in mpegts demuxer on some malformed (??)
+ mpegts files with too large pes packets
+
+at-visions sample file brokenStream.mpg
+---
+ libavformat/mpegts.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
+index a4db558..492d9c7 100644
+--- a/libavformat/mpegts.c
++++ b/libavformat/mpegts.c
+@@ -868,6 +868,10 @@ static void reset_pes_packet_state(PESContext *pes)
+
+ static void new_pes_packet(PESContext *pes, AVPacket *pkt)
+ {
++ if(pkt->data) {
++ av_log(pes->stream, AV_LOG_ERROR, "ignoring previously allocated packet on stream %d\n", pkt->stream_index);
++ av_free_packet(pkt);
++ }
+ av_init_packet(pkt);
+
+ pkt->buf = pes->buffer;
+@@ -2715,6 +2719,8 @@ static int mpegts_read_packet(AVFormatContext *s, AVPacket *pkt)
+
+ pkt->size = -1;
+ ts->pkt = pkt;
++ ts->pkt->data = NULL;
++
+ ret = handle_packets(ts, 0);
+ if (ret < 0) {
+ av_free_packet(ts->pkt);
+
+From eba5c839b7e24f8e6800d3f923d5334c2c9e6b2d Mon Sep 17 00:00:00 2001
+From: Joakim Plate <elupus@ecce.se>
+Date: Mon, 28 Jun 2010 21:26:54 +0000
+Subject: [PATCH 10/13] Speed up mpegts av_find_stream_info
+
+---
+ libavformat/mpegts.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
+index 492d9c7..29d58eb 100644
+--- a/libavformat/mpegts.c
++++ b/libavformat/mpegts.c
+@@ -1030,7 +1030,7 @@ static int mpegts_push_data(MpegTSFilter *filter,
+ goto skip;
+
+ /* stream not present in PMT */
+- if (!pes->st) {
++ if (ts->auto_guess && !pes->st) {
+ if (ts->skip_changes)
+ goto skip;
+
+
+From 2372b27243eb7d0932d9885558708ba115596d0b Mon Sep 17 00:00:00 2001
+From: marc <mhocking@ubuntu-desktop.(none)>
+Date: Mon, 18 Feb 2013 17:18:18 +0000
+Subject: [PATCH 11/13] dxva-h264 Fix dxva playback of streams that don't start
+ with an I-Frame (adjusted to 2.7)
+
+---
+ libavcodec/dxva2_h264.c | 8 ++++++++
+ libavcodec/h264.c | 1 +
+ libavcodec/h264.h | 2 ++
+ libavcodec/h264_slice.c | 1 +
+ 4 files changed, 12 insertions(+)
+
+diff --git a/libavcodec/dxva2_h264.c b/libavcodec/dxva2_h264.c
+index 99b80ba..eb5ecd1 100644
+--- a/libavcodec/dxva2_h264.c
++++ b/libavcodec/dxva2_h264.c
+@@ -497,6 +497,14 @@ static int dxva2_h264_end_frame(AVCodecContext *avctx)
+
+ if (ctx_pic->slice_count <= 0 || ctx_pic->bitstream_size <= 0)
+ return -1;
++
++ // Wait for an I-frame before start decoding. Workaround for ATI UVD and UVD+ GPUs
++ if (!h->got_first_iframe) {
++ if (!(ctx_pic->pp.wBitFields & (1 << 15)))
++ return -1;
++ h->got_first_iframe = 1;
++ }
++
+ ret = ff_dxva2_common_end_frame(avctx, h->cur_pic_ptr->f,
+ &ctx_pic->pp, sizeof(ctx_pic->pp),
+ &ctx_pic->qm, sizeof(ctx_pic->qm),
+diff --git a/libavcodec/h264.c b/libavcodec/h264.c
+index 907943e..718b746 100644
+--- a/libavcodec/h264.c
++++ b/libavcodec/h264.c
+@@ -1087,6 +1087,7 @@ void ff_h264_flush_change(H264Context *h)
+
+ h->next_outputed_poc = INT_MIN;
+ h->prev_interlaced_frame = 1;
++ h->got_first_iframe = 0;
+ idr(h);
+
+ h->prev_frame_num = -1;
+diff --git a/libavcodec/h264.h b/libavcodec/h264.h
+index 7356288..907ee5e 100644
+--- a/libavcodec/h264.h
++++ b/libavcodec/h264.h
+@@ -813,6 +813,8 @@ typedef struct H264Context {
+ * slices) anymore */
+ int setup_finished;
+
++ int got_first_iframe;
++
+ // Timestamp stuff
+ int sei_buffering_period_present; ///< Buffering period SEI flag
+ int initial_cpb_removal_delay[32]; ///< Initial timestamps for CPBs
+diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
+index 8be803b7..939d02b 100644
+--- a/libavcodec/h264_slice.c
++++ b/libavcodec/h264_slice.c
+@@ -1043,6 +1043,7 @@ static int h264_slice_header_init(H264Context *h)
+
+ h->first_field = 0;
+ h->prev_interlaced_frame = 1;
++ h->got_first_iframe = 0;
+
+ init_scan_tables(h);
+ ret = ff_h264_alloc_tables(h);
+
+From 959b88473b6f76fb2245f329ef604d2066b2cb89 Mon Sep 17 00:00:00 2001
+From: wsnipex <wsnipex@a1.net>
+Date: Mon, 16 Feb 2015 09:58:28 +0100
+Subject: [PATCH 12/13] only check for a git rev if the src tree is in a git
+ repo
+
+fixes the version string when building from the kodi depends src tree
+---
+ version.sh | 36 +++++++++++++++++++-----------------
+ 1 file changed, 19 insertions(+), 17 deletions(-)
+
+diff --git a/version.sh b/version.sh
+index f9754eb..cc23f80 100755
+--- a/version.sh
++++ b/version.sh
+@@ -2,30 +2,32 @@
+
+ # Usage: version.sh <ffmpeg-root-dir> <output-version.h> <extra-version>
+
++if [ -d $1/.git ]; then # only check for a git rev, if the src tree is in a git repo
+ # check for git short hash
+-if ! test "$revision"; then
++ if ! test "$revision"; then
+ if (cd "$1" && grep git RELEASE 2> /dev/null >/dev/null) ; then
+ revision=$(cd "$1" && git describe --tags --match N 2> /dev/null)
+ else
+ revision=$(cd "$1" && git describe --tags --always 2> /dev/null)
+ fi
+-fi
++ fi
++
++ # Shallow Git clones (--depth) do not have the N tag:
++ # use 'git-YYYY-MM-DD-hhhhhhh'.
++ test "$revision" || revision=$(cd "$1" &&
++ git log -1 --pretty=format:"git-%cd-%h" --date=short 2> /dev/null)
+
+-# Shallow Git clones (--depth) do not have the N tag:
+-# use 'git-YYYY-MM-DD-hhhhhhh'.
+-test "$revision" || revision=$(cd "$1" &&
+- git log -1 --pretty=format:"git-%cd-%h" --date=short 2> /dev/null)
+-
+-# Snapshots from gitweb are in a directory called ffmpeg-hhhhhhh or
+-# ffmpeg-HEAD-hhhhhhh.
+-if [ -z "$revision" ]; then
+- srcdir=$(cd "$1" && pwd)
+- case "$srcdir" in
+- */ffmpeg-[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])
+- git_hash="${srcdir##*-}";;
+- */ffmpeg-HEAD-[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])
+- git_hash="${srcdir##*-}";;
+- esac
++ # Snapshots from gitweb are in a directory called ffmpeg-hhhhhhh or
++ # ffmpeg-HEAD-hhhhhhh.
++ if [ -z "$revision" ]; then
++ srcdir=$(cd "$1" && pwd)
++ case "$srcdir" in
++ */ffmpeg-[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])
++ git_hash="${srcdir##*-}";;
++ */ffmpeg-HEAD-[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])
++ git_hash="${srcdir##*-}";;
++ esac
++ fi
+ fi
+
+ # no revision number found
diff --git a/abs/extra/ffmpeg2.8/ffmpeg-99.0011-mpeg4video-Signal-unsupported-GMC-with-more-than-one.patch b/abs/extra/ffmpeg2.8/ffmpeg-99.0011-mpeg4video-Signal-unsupported-GMC-with-more-than-one.patch
new file mode 100644
index 0000000..4cb8dd8
--- /dev/null
+++ b/abs/extra/ffmpeg2.8/ffmpeg-99.0011-mpeg4video-Signal-unsupported-GMC-with-more-than-one.patch
@@ -0,0 +1,48 @@
+From 84e9a1784bbd3182b68cefa5e5feae8da8b9e184 Mon Sep 17 00:00:00 2001
+From: popcornmix <popcornmix@gmail.com>
+Date: Fri, 5 Jun 2015 22:48:33 +0100
+Subject: [PATCH] mpeg4video: Signal unsupported GMC with more than one warp
+ point
+
+---
+ libavcodec/avcodec.h | 1 +
+ libavcodec/mpeg4videodec.c | 4 ++++
+ 2 files changed, 5 insertions(+)
+
+diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
+index 8c7c420..e63dc2d 100644
+--- a/libavcodec/avcodec.h
++++ b/libavcodec/avcodec.h
+@@ -2527,6 +2527,7 @@ typedef struct AVCodecContext {
+ #define FF_BUG_DC_CLIP 4096
+ #define FF_BUG_MS 8192 ///< Work around various bugs in Microsoft's broken decoders.
+ #define FF_BUG_TRUNCATED 16384
++#define FF_BUG_GMC_UNSUPPORTED 32768
+
+ /**
+ * strictly follow the standard (MPEG4, ...).
+diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c
+index 9bf33dd..0b5d3b9 100644
+--- a/libavcodec/mpeg4videodec.c
++++ b/libavcodec/mpeg4videodec.c
+@@ -2179,6 +2179,9 @@ int ff_mpeg4_workaround_bugs(AVCodecContext *avctx)
+
+ if (ctx->divx_version >= 0)
+ s->workaround_bugs |= FF_BUG_HPEL_CHROMA;
++
++ if (ctx->num_sprite_warping_points > 1)
++ s->workaround_bugs |= FF_BUG_GMC_UNSUPPORTED;
+ }
+
+ if (s->workaround_bugs & FF_BUG_STD_QPEL) {
+@@ -2203,6 +2206,7 @@ int ff_mpeg4_workaround_bugs(AVCodecContext *avctx)
+ s->workaround_bugs, ctx->lavc_build, ctx->xvid_build,
+ ctx->divx_version, ctx->divx_build, s->divx_packed ? "p" : "");
+
++ avctx->workaround_bugs = s->workaround_bugs;
+ if (CONFIG_MPEG4_DECODER && ctx->xvid_build >= 0 &&
+ s->codec_id == AV_CODEC_ID_MPEG4 &&
+ avctx->idct_algo == FF_IDCT_AUTO) {
+--
+1.9.1
+
diff --git a/abs/extra/ffmpeg2.8/ffmpeg-Speed_up_wtv_index_creation.patch b/abs/extra/ffmpeg2.8/ffmpeg-Speed_up_wtv_index_creation.patch
new file mode 100644
index 0000000..d829898
--- /dev/null
+++ b/abs/extra/ffmpeg2.8/ffmpeg-Speed_up_wtv_index_creation.patch
@@ -0,0 +1,47 @@
+commit 0e7427498cb1131671f6fe9d054245ae7e5a36f5
+Author: popcornmix <popcornmix@gmail.com>
+Date: Tue Mar 25 19:43:07 2014 +0000
+
+ [ffmpeg] Speed up wtv index creation
+
+ The index creation is O(N^2) with number of entries (typically thousands).
+ On a Pi this can take more than 60 seconds to execute for a recording of a few hours.
+
+ By replacing with an O(N) loop, this takes virtually zero time
+
+diff --git a/libavformat/wtvdec.c b/libavformat/wtvdec.c
+index e423370..70898bd 100644
+--- a/libavformat/wtvdec.c
++++ b/libavformat/wtvdec.c
+@@ -980,21 +980,23 @@ static int read_header(AVFormatContext *s)
+ pb = wtvfile_open(s, root, root_size, ff_timeline_table_0_entries_Events_le16);
+ if (pb) {
+ int i;
++ AVIndexEntry *e = wtv->index_entries;
++ AVIndexEntry *e_end = wtv->index_entries + wtv->nb_index_entries - 1;
++ uint64_t last_position = 0;
+ while (1) {
+ uint64_t frame_nb = avio_rl64(pb);
+ uint64_t position = avio_rl64(pb);
++ while (frame_nb > e->size && e <= e_end) {
++ e->pos = last_position;
++ e++;
++ }
+ if (avio_feof(pb))
+ break;
+- for (i = wtv->nb_index_entries - 1; i >= 0; i--) {
+- AVIndexEntry *e = wtv->index_entries + i;
+- if (frame_nb > e->size)
+- break;
+- if (position > e->pos)
+- e->pos = position;
+- }
++ last_position = position;
+ }
++ e_end->pos = last_position;
+ wtvfile_close(pb);
+- st->duration = wtv->index_entries[wtv->nb_index_entries - 1].timestamp;
++ st->duration = e_end->timestamp;
+ }
+ }
+ }
diff --git a/abs/extra/glu/PKGBUILD b/abs/extra/glu/PKGBUILD
index d720ae4..12a1ab6 100644
--- a/abs/extra/glu/PKGBUILD
+++ b/abs/extra/glu/PKGBUILD
@@ -4,13 +4,12 @@
pkgname=glu
pkgver=9.0.0
-pkgrel=2
+pkgrel=4
pkgdesc="Mesa OpenGL Utility library"
arch=('i686' 'x86_64')
url="http://cgit.freedesktop.org/mesa/glu/"
license=('LGPL')
depends=('libgl')
-options=('!libtool')
source=(ftp://ftp.freedesktop.org/pub/mesa/$pkgname/$pkgname-$pkgver.tar.bz2)
sha256sums=('1f7ad0d379a722fcbd303aa5650c6d7d5544fde83196b42a73d1193568a4df12')
diff --git a/abs/extra/gnome-vfs/PKGBUILD b/abs/extra/gnome-vfs/PKGBUILD
index dae1cfe..644d6eb 100644
--- a/abs/extra/gnome-vfs/PKGBUILD
+++ b/abs/extra/gnome-vfs/PKGBUILD
@@ -1,46 +1,59 @@
-# $Id: PKGBUILD 136438 2011-08-29 09:40:33Z ibiru $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gnome-vfs
pkgver=2.24.4
-pkgrel=6
+pkgrel=9
pkgdesc="The GNOME Virtual File System"
arch=(i686 x86_64)
license=('LGPL')
depends=('gconf' 'bzip2' 'avahi' 'smbclient' 'gnome-mime-data' 'krb5' 'gnutls' 'libgcrypt')
makedepends=('pkgconfig' 'intltool' 'gtk-doc' 'gnome-common')
-options=('!libtool' '!emptydirs')
+options=('!emptydirs')
url="http://www.gnome.org"
install=gnome-vfs.install
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.24/gnome-vfs-${pkgver}.tar.bz2
+source=(https://download.gnome.org/sources/${pkgname}/2.24/gnome-vfs-${pkgver}.tar.bz2
gnutls-config.patch
- gcrypt-config.patch)
+ gnutls-3.4.0.patch
+ gcrypt-config.patch
+ enable-deprecated.patch)
sha256sums=('62de64b5b804eb04104ff98fcd6a8b7276d510a49fbd9c0feb568f8996444faa'
'66c7cfb12995c0dd94a2caea95c7e3c55981993f05a79c585d60915ff131955d'
- 'c059e218f310da683778919d36e7862f7e763384805f6453d328fbaf507a8114')
+ '5fe5e2e1ad8d8d36deb2d38db621d5b8350aafe3876f722467465c3b3fa304d3'
+ 'c059e218f310da683778919d36e7862f7e763384805f6453d328fbaf507a8114'
+ 'ca2b9dffb1fa202c0d1f0d3648ef37cd8e84657a22d4c6746bb46e9a6cf1ee47')
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+prepare() {
+ cd ${pkgname}-${pkgver}
#Fix build with new gnutls
- patch -Np1 -i "${srcdir}/gnutls-config.patch"
+ patch -Np1 -i ../gnutls-config.patch
+ patch -Np1 -i ../gnutls-3.4.0.patch
#fix build with new libgcrypt >= 1.5.0
- patch -Np1 -i "${srcdir}/gcrypt-config.patch"
+ patch -Np1 -i ../gcrypt-config.patch
+ # remove -DG_DISABLE_DEPRECATED
+ patch -Np1 -i ../enable-deprecated.patch
+
+ sed -i -s 's|$(srcdir)/auto-test|auto-test|' test/Makefile.am
+}
+build() {
+ cd ${pkgname}-${pkgver}
libtoolize --force
gtkdocize
aclocal
autoconf
- automake
- ./configure --prefix=/usr --sysconfdir=/etc \
+ automake --add-missing
+ CFLAGS="$CFLAGS -fno-strict-aliasing" ./configure \
+ --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var --disable-static \
--libexecdir=/usr/lib/gnome-vfs-2.0 \
- --enable-samba --disable-hal \
- --enable-avahi --disable-howl \
+ --enable-samba --with-samba-includes=/usr/include/samba-4.0 \
+ --disable-hal --enable-avahi --disable-howl \
--disable-openssl --enable-gnutls
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${pkgname}-${pkgver}
make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
install -d -m755 "${pkgdir}/usr/share/gconf/schemas"
diff --git a/abs/extra/gnome-vfs/enable-deprecated.patch b/abs/extra/gnome-vfs/enable-deprecated.patch
new file mode 100644
index 0000000..0f249b2
--- /dev/null
+++ b/abs/extra/gnome-vfs/enable-deprecated.patch
@@ -0,0 +1,57 @@
+diff -up gnome-vfs-2.24.4/daemon/Makefile.am.bak gnome-vfs-2.24.4/daemon/Makefile.am
+--- gnome-vfs-2.24.4/daemon/Makefile.am.bak 2010-02-09 13:16:14.000000000 +0100
++++ gnome-vfs-2.24.4/daemon/Makefile.am 2013-03-27 17:01:25.000000000 +0100
+@@ -8,7 +8,6 @@ INCLUDES= \
+ -D_LARGEFILE64_SOURCE \
+ -D_POSIX_PTHREAD_SEMANTICS \
+ -D_REENTRANT \
+- -DG_DISABLE_DEPRECATED \
+ -DGNOME_VFS_PREFIX=\"$(prefix)\" \
+ -DGNOME_VFS_DATADIR=\"$(datadir)\" \
+ -DGNOME_VFS_LIBDIR=\"$(libdir)\" \
+diff -up gnome-vfs-2.24.4/libgnomevfs/Makefile.am.bak gnome-vfs-2.24.4/libgnomevfs/Makefile.am
+--- gnome-vfs-2.24.4/libgnomevfs/Makefile.am.bak 2010-02-09 13:16:14.000000000 +0100
++++ gnome-vfs-2.24.4/libgnomevfs/Makefile.am 2013-03-27 17:01:37.000000000 +0100
+@@ -19,7 +19,6 @@ INCLUDES = \
+ -D_LARGEFILE64_SOURCE \
+ -D_POSIX_PTHREAD_SEMANTICS \
+ -D_REENTRANT \
+- -DG_DISABLE_DEPRECATED \
+ -DGNOME_VFS_PREFIX=\"$(prefix)\" \
+ -DGNOME_VFS_BINDIR=\"$(bindir)\" \
+ -DGNOME_VFS_DATADIR=\"$(datadir)\" \
+diff -up gnome-vfs-2.24.4/modules/Makefile.am.bak gnome-vfs-2.24.4/modules/Makefile.am
+--- gnome-vfs-2.24.4/modules/Makefile.am.bak 2010-02-09 13:16:14.000000000 +0100
++++ gnome-vfs-2.24.4/modules/Makefile.am 2013-03-27 17:01:45.000000000 +0100
+@@ -18,7 +18,6 @@ INCLUDES = \
+ -D_POSIX_PTHREAD_SEMANTICS \
+ -D_REENTRANT \
+ -DSSH_PROGRAM=\"$(SSH_PROGRAM)\" \
+- -DG_DISABLE_DEPRECATED \
+ -DGNOME_VFS_PREFIX=\"$(prefix)\" \
+ -DGNOME_VFS_DATADIR=\"$(datadir)\" \
+ -DGNOME_VFS_LIBDIR=\"$(libdir)\" \
+diff -up gnome-vfs-2.24.4/programs/Makefile.am.bak gnome-vfs-2.24.4/programs/Makefile.am
+--- gnome-vfs-2.24.4/programs/Makefile.am.bak 2010-02-09 13:16:14.000000000 +0100
++++ gnome-vfs-2.24.4/programs/Makefile.am 2013-03-27 17:01:56.000000000 +0100
+@@ -4,8 +4,7 @@ INCLUDES = \
+ -I$(top_srcdir) \
+ -I$(top_builddir) \
+ $(TEST_CFLAGS) \
+- $(VFS_CFLAGS) \
+- -DG_DISABLE_DEPRECATED
++ $(VFS_CFLAGS)
+
+ libraries = \
+ $(top_builddir)/libgnomevfs/libgnomevfs-2.la \
+diff -up gnome-vfs-2.24.4/test/Makefile.am.bak gnome-vfs-2.24.4/test/Makefile.am
+--- gnome-vfs-2.24.4/test/Makefile.am.bak 2013-03-27 17:01:11.000000000 +0100
++++ gnome-vfs-2.24.4/test/Makefile.am 2013-03-27 17:02:08.000000000 +0100
+@@ -6,7 +6,6 @@ INCLUDES = \
+ -I$(top_builddir)/libgnomevfs \
+ $(TEST_CFLAGS) \
+ $(VFS_CFLAGS) \
+- -DG_DISABLE_DEPRECATED \
+ -DMODULES_PATH=\"$(libdir)/vfs/modules\"
+
+ if OS_WIN32
diff --git a/abs/extra/gnome-vfs/gnutls-3.4.0.patch b/abs/extra/gnome-vfs/gnutls-3.4.0.patch
new file mode 100644
index 0000000..78942f0
--- /dev/null
+++ b/abs/extra/gnome-vfs/gnutls-3.4.0.patch
@@ -0,0 +1,38 @@
+diff -uprw gnome-vfs-2.24.4.orig/libgnomevfs/gnome-vfs-ssl.c gnome-vfs-2.24.4/libgnomevfs/gnome-vfs-ssl.c
+--- gnome-vfs-2.24.4.orig/libgnomevfs/gnome-vfs-ssl.c 2010-02-09 14:16:14.000000000 +0200
++++ gnome-vfs-2.24.4/libgnomevfs/gnome-vfs-ssl.c 2015-04-14 00:01:51.272451668 +0300
+@@ -314,21 +314,6 @@ gnome_vfs_ssl_create (GnomeVFSSSL **hand
+ #endif
+ }
+
+-#ifdef HAVE_GNUTLS
+-static const int protocol_priority[] = {GNUTLS_TLS1, GNUTLS_SSL3, 0};
+-static const int cipher_priority[] =
+- {GNUTLS_CIPHER_RIJNDAEL_128_CBC, GNUTLS_CIPHER_3DES_CBC,
+- GNUTLS_CIPHER_RIJNDAEL_256_CBC, GNUTLS_CIPHER_ARCFOUR, 0};
+-static const int comp_priority[] =
+- {GNUTLS_COMP_ZLIB, GNUTLS_COMP_NULL, 0};
+-static const int kx_priority[] =
+- {GNUTLS_KX_DHE_RSA, GNUTLS_KX_RSA, GNUTLS_KX_DHE_DSS, 0};
+-static const int mac_priority[] =
+- {GNUTLS_MAC_SHA, GNUTLS_MAC_MD5, 0};
+-
+-#endif
+-
+-
+ /**
+ * gnome_vfs_ssl_create_from_fd:
+ * @handle_return: pointer to a #GnomeVFSSSL struct, which will
+@@ -437,11 +422,7 @@ gnome_vfs_ssl_create_from_fd (GnomeVFSSS
+ gnutls_transport_set_ptr (ssl->private->tlsstate,
+ GINT_TO_POINTER (fd));
+
+- gnutls_protocol_set_priority (ssl->private->tlsstate, protocol_priority);
+- gnutls_cipher_set_priority (ssl->private->tlsstate, cipher_priority);
+- gnutls_compression_set_priority (ssl->private->tlsstate, comp_priority);
+- gnutls_kx_set_priority (ssl->private->tlsstate, kx_priority);
+- gnutls_mac_set_priority (ssl->private->tlsstate, mac_priority);
++ gnutls_set_default_priority (ssl->private->tlsstate);
+
+ gnutls_cred_set (ssl->private->tlsstate, GNUTLS_CRD_CERTIFICATE,
+ ssl->private->xcred);
diff --git a/abs/extra/google-chrome/PKGBUILD b/abs/extra/google-chrome/PKGBUILD
index 6d76bb9..feafbec 100644
--- a/abs/extra/google-chrome/PKGBUILD
+++ b/abs/extra/google-chrome/PKGBUILD
@@ -5,7 +5,7 @@
# or use: $ curl -s https://dl.google.com/linux/chrome/rpm/stable/x86_64/repodata/other.xml.gz | gzip -df | awk -F\" '/pkgid/{ sub(".*-","",$4); print $4": "$10 }'
pkgname=google-chrome
-pkgver=50.0.2661.102
+pkgver=54.0.2840.71
pkgrel=1
pkgdesc="An attempt at creating a safer, faster, and more stable browser (Stable Channel)"
arch=('x86_64')
@@ -22,7 +22,7 @@ _channel=stable
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'
+md5sums=('9405b4f4ddb6b40b5c5aa260a1566984'
'SKIP'
'99fa93d5e7fb5d622cef0f9621f3ffa3')
diff --git a/abs/extra/hdf5/PKGBUILD b/abs/extra/hdf5/PKGBUILD
new file mode 100644
index 0000000..34ac635
--- /dev/null
+++ b/abs/extra/hdf5/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id$
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor: damir <damir@archlinux.org>
+# Contributor: Tom K <tomk@runbox.com>
+
+pkgname=hdf5
+pkgver=1.10.0
+pkgrel=1
+arch=('i686' 'x86_64')
+pkgdesc="General purpose library and file format for storing scientific data"
+url="http://www.hdfgroup.org/HDF5/"
+license=('custom')
+depends=('zlib' 'sh')
+makedepends=('time')
+source=(ftp://ftp.hdfgroup.org/HDF5/releases/${pkgname}-1.10/${pkgname}-${pkgver}/src/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('5866dbbcd24485f6b206413e73f7205cb3c1196e')
+
+build() {
+ cd "$srcdir/${pkgname}-${pkgver/_/-}"
+
+ ./configure --prefix=/usr --disable-static \
+ --enable-hl \
+ --enable-linux-lfs \
+ --enable-build-mode=production \
+ --with-pic \
+ --docdir=/usr/share/doc/hdf5/ \
+ --with-pthread=/usr/lib/ \
+ --disable-sharedlib-rpath
+ make
+}
+
+package() {
+ cd "$srcdir/${pkgname}-${pkgver/_/-}"
+
+ make -j1 DESTDIR="${pkgdir}" install
+
+ install -d -m755 "$pkgdir/usr/share/licenses/${pkgname}"
+ install -m644 "$srcdir/${pkgname}-${pkgver/_/-}/COPYING" \
+ "$pkgdir/usr/share/licenses/${pkgname}/LICENSE"
+}
+
diff --git a/abs/extra/lablgtk2/PKGBUILD b/abs/extra/lablgtk2/PKGBUILD
index c60fc2e..031d54d 100644
--- a/abs/extra/lablgtk2/PKGBUILD
+++ b/abs/extra/lablgtk2/PKGBUILD
@@ -1,20 +1,19 @@
-# $Id: PKGBUILD 148806 2012-02-05 11:51:19Z ibiru $
+# $Id$
#Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=lablgtk2
-pkgver=2.14.2
-pkgrel=5
-pkgdesc=" An Objective Caml interface to gtk2"
+pkgver=2.18.3
+pkgrel=2
+pkgdesc="An Objective Caml interface to gtk2"
arch=(i686 x86_64)
license=('LGPL')
url="http://lablgtk.forge.ocamlcore.org/"
depends=('gtk2' 'gtkspell' 'libgnomecanvas' 'librsvg' 'libgnomeui' 'gtksourceview2')
-makedepends=('ocaml')
+makedepends=('ocaml' 'camlp4')
optdepends=('ocaml: for using the tools')
DLAGENTS=('https::/usr/bin/curl -fLC - --insecure --retry 3 --retry-delay 3 -o %o %u')
-source=(https://forge.ocamlcore.org/frs/download.php/561/lablgtk-${pkgver}.tar.gz)
-options=(!makeflags)
-md5sums=('bad77680a72dab8b915cae99d1ec9b1f')
+source=(https://forge.ocamlcore.org/frs/download.php/1479/lablgtk-${pkgver}.tar.gz)
+options=(!makeflags staticlibs)
build() {
cd "${srcdir}/lablgtk-${pkgver}"
@@ -25,6 +24,7 @@ build() {
package() {
cd "${srcdir}/lablgtk-${pkgver}"
- make DESTDIR="${pkgdir}" install
+ make DESTDIR=${pkgdir} old-install
install -m644 META "${pkgdir}/usr/lib/ocaml/lablgtk2/"
}
+md5sums=('bcbad64a28c3dc40f24cc7a4d2f1d0dd')
diff --git a/abs/extra/libebml/PKGBUILD b/abs/extra/libebml/PKGBUILD
index 7302de3..2d4e03f 100644
--- a/abs/extra/libebml/PKGBUILD
+++ b/abs/extra/libebml/PKGBUILD
@@ -1,26 +1,32 @@
-# $Id: PKGBUILD 143796 2011-11-29 12:02:45Z giovanni $
+# $Id$
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: 03/08/04 <lefungus@altern.org>
pkgname=libebml
-pkgver=1.2.2
+pkgver=1.3.3
pkgrel=2
pkgdesc="Extensible Binary Meta Language library"
arch=('i686' 'x86_64')
url="http://dl.matroska.org/downloads/libebml/"
license=('LGPL')
depends=('gcc-libs')
+provides=('libebml.so')
source=("http://dl.matroska.org/downloads/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
-md5sums=('726cc2bd1a525929ff35ff9854c0ebab')
+md5sums=('a8b270482620970d9891958618b54d77')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}/make/linux"
+ cd ${pkgname}-${pkgver}
+ ./configure \
+ --prefix='/usr'
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}/make/linux"
+ cd ${pkgname}-${pkgver}
make prefix="${pkgdir}/usr" install
}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/libglvnd/PKGBUILD b/abs/extra/libglvnd/PKGBUILD
index f79af81..e9753c8 100644
--- a/abs/extra/libglvnd/PKGBUILD
+++ b/abs/extra/libglvnd/PKGBUILD
@@ -2,8 +2,7 @@
# Maintainer: Felix Yan <felixonmars@archlinux.org>
pkgname=libglvnd
-pkgver=0.1.0.20160411
-_commit=5a69af6
+pkgver=0.1.1
pkgrel=1
pkgdesc="The GL Vendor-Neutral Dispatch library"
arch=('i686' 'x86_64')
@@ -11,7 +10,7 @@ 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"
+source=("git+https://github.com/NVIDIA/libglvnd.git#tag=v$pkgver"
LICENSE)
sha1sums=('SKIP'
'c88e07f333fcf8dcdbef370b85372b4d88ad8a66')
diff --git a/abs/extra/libmatroska/PKGBUILD b/abs/extra/libmatroska/PKGBUILD
index 963e241..aad2197 100644
--- a/abs/extra/libmatroska/PKGBUILD
+++ b/abs/extra/libmatroska/PKGBUILD
@@ -1,26 +1,33 @@
# $Id$
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
# Contributor 03/08/04 <lefungus@altern.org>
pkgname=libmatroska
-pkgver=1.4.1
+pkgver=1.4.4
pkgrel=1
pkgdesc="Matroska library"
arch=('i686' 'x86_64')
url="http://dl.matroska.org/downloads/libmatroska/"
license=('LGPL')
-depends=('libebml')
+depends=('libebml.so')
+provides=('libmatroska.so')
source=("http://dl.matroska.org/downloads/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
-md5sums=('f61b2e5086f4bb9d24a43cc8af43a719')
+md5sums=('6a8e4528f713ec33faf4d793e61f883c')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}/make/linux"
+ cd ${pkgname}-${pkgver}
- make sharedlib
+ ./configure \
+ --prefix='/usr' \
+ --disable-static
+ make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}/make/linux"
+ cd ${pkgname}-${pkgver}
make prefix="${pkgdir}/usr" install
}
+
+# vim: ts=2 sw=2 et:
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
deleted file mode 100644
index d5e06a7..0000000
--- a/abs/extra/llvm/0001-New-MSan-mapping-layout-compiler-rt-part.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-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
deleted file mode 100644
index 28fe687..0000000
--- a/abs/extra/llvm/0001-New-MSan-mapping-layout-llvm-part.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-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 960fa13..f39c8d3 100644
--- a/abs/extra/llvm/PKGBUILD
+++ b/abs/extra/llvm/PKGBUILD
@@ -9,9 +9,8 @@
# Contributor: Roberto Alsina <ralsina@kde.org>
# Contributor: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
-pkgname=('llvm' 'llvm-libs' 'llvm-ocaml' 'lldb' 'clang' 'clang-analyzer'
- 'clang-tools-extra')
-pkgver=3.7.1
+pkgname=('llvm' 'llvm-libs' 'llvm-ocaml' 'lldb' 'clang' 'clang-tools-extra')
+pkgver=3.9.0
pkgrel=1
_ocaml_ver=4.02.3
arch=('i686' 'x86_64')
@@ -27,34 +26,20 @@ source=(http://llvm.org/releases/$pkgver/llvm-$pkgver.src.tar.xz{,.sig}
http://llvm.org/releases/$pkgver/clang-tools-extra-$pkgver.src.tar.xz{,.sig}
http://llvm.org/releases/$pkgver/compiler-rt-$pkgver.src.tar.xz{,.sig}
http://llvm.org/releases/$pkgver/lldb-$pkgver.src.tar.xz{,.sig}
- 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=('be7794ed0cec42d6c682ca8e3517535b54555a3defabec83554dbc74db545ad5'
+sha256sums=('66c73179da42cee1386371641241f79ded250e117a79f571bbd69e56daa48948'
'SKIP'
- '56e2164c7c2a1772d5ed2a3e57485ff73ff06c97dff12edbeea1acc4412b0674'
+ '7596a7c7d9376d0c89e60028fe1ceb4d3e535e8ea8b89e0eb094e0dcb3183d28'
'SKIP'
- '4a91edaccad1ce984c7c49a4a87db186b7f7b21267b2b03bcf4bd7820715bc6b'
+ '5b7aec46ec8e999ec683c87ad744082e1133781ee4b01905b4bdae5d20785f14'
'SKIP'
- '9d4769e4a927d3824bcb7a9c82b01e307c68588e6de4e7f04ab82d82c5af8181'
+ 'e0e5224fcd5740b61e416c549dd3dcda92f10c524216c1edb5e979e42078a59a'
'SKIP'
- '9a0bc315ef55f44c98cdf92d064df0847f453ed156dd0ef6a87e04f5fd6a0e01'
+ '61280e07411e3f2b4cca0067412b39c16b0a9edd19d304d3fc90249899d12384'
'SKIP'
- 'cf9c8b4d70b4547eda162644658c5c203c3139fcea6c75003b6cd7dc11a8cccc'
- 'a1c9f36b97c639666ab6a1bd647a08a027e93e3d3cfd6f5af9c36e757599ce81'
- '5ed52d54612829402b63bc500bfefae75b3dc444a1524849c26cadf7e0ae4b7d'
- '3abf85430c275ecb8dbb526ecb82b1c9f4b4f782a8a43b5a06d040ec0baba7e7'
- '2d53b6ed4c7620eeade87e7761b98093a0434801ddd599056daed7881141fb01'
- 'c5f4e329143bef36b623ba5daf311b5a73fa99ab05fed4ba506c1c3bc4cf5ee7'
- 'f44e8fe3cef9b6f706d651f443922261e1dcf53bcaabdd0ac7edb1758e4bc44d'
'597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecffffab8bc48')
-validpgpkeys=('11E521D646982372EB577A1F8F0871F202119294'
- 'B6C8F98282B944E3B0D5C2530FC3042E345AD05D')
+validpgpkeys=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D'
+ '11E521D646982372EB577A1F8F0871F202119294')
prepare() {
cd "$srcdir/llvm-$pkgver.src"
@@ -69,33 +54,6 @@ prepare() {
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
-
- # 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
-
- # 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
-
mkdir build
}
@@ -131,8 +89,7 @@ build() {
check() {
cd "$srcdir/llvm-$pkgver.src/build"
make check
- make check-clang || warning \
- 'Ignoring Clang test failures caused by name mangling differences'
+ make check-clang
}
package_llvm() {
@@ -147,7 +104,7 @@ package_llvm() {
rm -r "$pkgdir"/usr/share/doc/$pkgname/html/{_sources,.buildinfo}
# The runtime libraries go into llvm-libs
- mv -f "$pkgdir"/usr/lib/lib{LLVM,LTO}.so* "$srcdir"
+ mv -f "$pkgdir"/usr/lib/lib{LLVM,LTO}*.so "$srcdir"
mv -f "$pkgdir"/usr/lib/LLVMgold.so "$srcdir"
# OCaml bindings go to a separate package
@@ -173,7 +130,7 @@ package_llvm-libs() {
install -d "$pkgdir/usr/lib"
cp -P \
- "$srcdir"/lib{LLVM,LTO}.so* \
+ "$srcdir"/lib{LLVM,LTO}*.so \
"$srcdir"/LLVMgold.so \
"$pkgdir/usr/lib/"
@@ -202,12 +159,15 @@ package_llvm-ocaml() {
package_lldb() {
pkgdesc="Next generation, high-performance debugger"
url="http://lldb.llvm.org/"
- depends=('libedit' 'libxml2' 'python2')
+ depends=('libedit' 'libxml2' 'python2' 'python2-six')
cd "$srcdir/llvm-$pkgver.src"
make -C build/tools/lldb DESTDIR="$pkgdir" install
+ # Remove bundled six library
+ rm "$pkgdir/usr/lib/python2.7/site-packages/six.py"
+
# Compile Python scripts
python2 -m compileall "$pkgdir/usr/lib/python2.7/site-packages/lldb"
python2 -O -m compileall "$pkgdir/usr/lib/python2.7/site-packages/lldb"
@@ -218,8 +178,12 @@ package_lldb() {
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')
+ depends=("llvm-libs=$pkgver-$pkgrel" 'gcc' 'libxml2')
+ optdepends=('openmp: OpenMP support in clang with -fopenmp'
+ 'python2: for scan-view and git-clang-format')
+ provides=("clang-analyzer=$pkgver")
+ conflicts=('clang-analyzer')
+ replaces=('clang-analyzer')
cd "$srcdir/llvm-$pkgver.src"
@@ -229,58 +193,31 @@ package_clang() {
# Remove documentation sources
rm -r "$pkgdir"/usr/share/doc/$pkgname/html/{_sources,.buildinfo}
+ # Move analyzer scripts out of /usr/libexec
+ mv "$pkgdir"/usr/libexec/{ccc,c++}-analyzer "$pkgdir/usr/lib/clang/"
+ rmdir "$pkgdir/usr/libexec"
+ sed -i 's|libexec|lib/clang|' "$pkgdir/usr/bin/scan-build"
+
# Install Python bindings
install -d "$pkgdir/usr/lib/python2.7/site-packages"
cp -a tools/clang/bindings/python/clang "$pkgdir/usr/lib/python2.7/site-packages/"
- python2 -m compileall "$pkgdir/usr/lib/python2.7/site-packages/clang"
- python2 -O -m compileall "$pkgdir/usr/lib/python2.7/site-packages/clang"
# Use Python 2
sed -i 's|/usr/bin/env python|&2|' \
+ "$pkgdir/usr/bin/scan-view" \
"$pkgdir/usr/bin/git-clang-format" \
"$pkgdir/usr/share/$pkgname/clang-format-diff.py"
- install -Dm644 tools/clang/LICENSE.TXT \
- "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-}
-
-package_clang-analyzer() {
- pkgdesc="A source code analysis framework"
- url="http://clang-analyzer.llvm.org/"
- depends=("clang=$pkgver-$pkgrel" 'python2')
-
- cd "$srcdir/llvm-$pkgver.src/tools/clang"
-
- install -d "$pkgdir"/usr/{bin,lib/clang-analyzer}
- for _tool in scan-{build,view}; do
- cp -a tools/$_tool "$pkgdir/usr/lib/clang-analyzer/"
- ln -s /usr/lib/clang-analyzer/$_tool/$_tool "$pkgdir/usr/bin/"
- done
-
- # scan-build looks for clang within the same directory
- ln -s /usr/bin/clang "$pkgdir/usr/lib/clang-analyzer/scan-build/"
-
- # Relocate man page
- install -d "$pkgdir/usr/share/man/man1"
- mv "$pkgdir/usr/lib/clang-analyzer/scan-build/scan-build.1" \
- "$pkgdir/usr/share/man/man1/"
-
- # Use Python 2
- sed -i \
- -e 's|env python$|&2|' \
- -e 's|/usr/bin/python$|&2|' \
- "$pkgdir/usr/lib/clang-analyzer/scan-view/scan-view" \
- "$pkgdir/usr/lib/clang-analyzer/scan-build/set-xcode-analyzer"
-
# Compile Python scripts
- python2 -m compileall "$pkgdir/usr/lib/clang-analyzer"
- python2 -O -m compileall "$pkgdir/usr/lib/clang-analyzer"
+ python2 -m compileall "$pkgdir"
+ python2 -O -m compileall "$pkgdir"
- install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm644 tools/clang/LICENSE.TXT \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
package_clang-tools-extra() {
- pkgdesc="Extra tools built using Clang's tooling APIs"
+ pkgdesc="Extra tools built using clang's tooling APIs"
url="http://clang.llvm.org/"
depends=("clang=$pkgver-$pkgrel")
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
deleted file mode 100644
index 9d2dddd..0000000
--- a/abs/extra/llvm/clang-3.7.0-add-gcc-abi-tag-support.patch
+++ /dev/null
@@ -1,1267 +0,0 @@
-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
deleted file mode 100644
index a632baf..0000000
--- a/abs/extra/llvm/clang-tools-extra-3.7.0-install-clang-query.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-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
deleted file mode 100644
index f4859ed..0000000
--- a/abs/extra/llvm/lldb-3.7.0-avoid-linking-to-libLLVM.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-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.7.0-export-more-symbols.patch b/abs/extra/llvm/llvm-3.7.0-export-more-symbols.patch
deleted file mode 100644
index bc3d141..0000000
--- a/abs/extra/llvm/llvm-3.7.0-export-more-symbols.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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
deleted file mode 100644
index e8c16ca..0000000
--- a/abs/extra/llvm/llvm-3.7.0-link-tools-against-libLLVM.patch
+++ /dev/null
@@ -1,440 +0,0 @@
-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/mkvtoolnix/PKGBUILD b/abs/extra/mkvtoolnix/PKGBUILD
index ef840a1..2a8ff55 100644
--- a/abs/extra/mkvtoolnix/PKGBUILD
+++ b/abs/extra/mkvtoolnix/PKGBUILD
@@ -1,93 +1,60 @@
# $Id$
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: xduugu <xduugu@gmx.com>
pkgbase=mkvtoolnix
-pkgname=('mkvtoolnix-cli' 'mkvtoolnix-gtk')
-pkgver=7.4.0
-pkgrel=1
+pkgname=('mkvtoolnix-cli' 'mkvtoolnix-gui')
+pkgver=9.1.0
+pkgrel=3
+pkgdesc='Set of tools to create, edit and inspect Matroska files'
arch=('i686' 'x86_64')
+url='https://www.bunkus.org/videotools/mkvtoolnix/'
license=('GPL')
-url="http://www.bunkus.org/videotools/mkvtoolnix/index.html"
-makedepends=('libmatroska' 'flac' 'libvorbis' 'file' 'wxgtk'
- 'boost-libs' 'lzo' 'xdg-utils' 'boost' 'ruby')
-source=("http://www.bunkus.org/videotools/${pkgbase}/sources/${pkgbase}-${pkgver}.tar.xz")
-md5sums=('d107166920ff0d966ac30626f7cda80d')
-
-prepare() {
- cd "${srcdir}/${pkgbase}-${pkgver}"
-
- # Disable automagic curl dep used for online update checking
- sed -i -e '/curl/d' configure.in
- export CURL_CFLAGS="" CURL_LIBS=""
-
- export CFLAGS="${CFLAGS} -DBOOST_FILESYSTEM_VERSION=3"
- export CXXFLAGS="${CXXFLAGS} -DBOOST_FILESYSTEM_VERSION=3"
-
- # Sets number of threads for a parallel build
- export DRAKETHREADS=4
-
- autoreconf -vfi
-}
+makedepends=('boost' 'boost-libs' 'file' 'flac' 'libebml' 'libmatroska'
+ 'libogg' 'libvorbis' 'qt5-base' 'ruby' 'zlib')
+source=("http://www.bunkus.org/videotools/mkvtoolnix/sources/mkvtoolnix-${pkgver}.tar.xz")
+md5sums=('7eafd6f5a9affd35f9cbf607d8ccf9b3')
build() {
- cd "${srcdir}/${pkgbase}-${pkgver}"
-
- ./configure --prefix=/usr \
- --with-boost-libdir=/usr/lib \
- --disable-gui
- ./drake
+ cd mkvtoolnix-${pkgver}
+ ./configure --prefix='/usr' \
+ --without-curl \
+ --disable-qt
+ ./drake apps:mkvinfo $MAKEFLAGS
mv src/mkvinfo{,-cli}
- ./configure --prefix=/usr \
- --with-boost-libdir=/usr/lib
- ./drake
+ ./configure --prefix='/usr' \
+ --without-curl
+ ./drake $MAKEFLAGS
}
package_mkvtoolnix-cli() {
- pkgdesc="Set of tools to create, edit and inspect Matroska files - CLI version"
- depends=('libmatroska' 'expat' 'flac' 'libvorbis' 'file' 'boost-libs' 'lzo')
- provides=('mkvtoolnix')
- conflicts=('mkvtoolnix')
- replaces=('mkvtoolnix')
+ depends=('boost-libs' 'file' 'flac' 'gcc-libs' 'glibc' 'libogg' 'zlib'
+ 'libebml.so' 'libmatroska.so' 'libvorbis.so')
- cd "${srcdir}/${pkgbase}-${pkgver}"
+ cd mkvtoolnix-${pkgver}
./drake DESTDIR="${pkgdir}" install
- rm -rf "${pkgdir}"/usr/bin/mkvinfo
- install -Dm755 src/mkvinfo-cli "${pkgdir}"/usr/bin/mkvinfo
-
- rm -rf "${pkgdir}"/usr/bin/mmg
- rm -rf "${pkgdir}"/usr/share/man/de/man1/mmg.1
- rm -rf "${pkgdir}"/usr/share/man/ja/man1/mmg.1
- rm -rf "${pkgdir}"/usr/share/man/man1/mmg.1
- rm -rf "${pkgdir}"/usr/share/man/nl/man1/mmg.1
- rm -rf "${pkgdir}"/usr/share/man/zh_CN/man1/mmg.1
- rm -rf "${pkgdir}"/usr/share/man/uk/man1/mmg.1
- rm -rf "${pkgdir}"/usr/share/applications
- rm -rf "${pkgdir}"/usr/share/icons
- rm -rf "${pkgdir}"/usr/share/mime
+ install -m 755 src/mkvinfo-cli "${pkgdir}"/usr/bin/mkvinfo
+ rm -rf "${pkgdir}"/usr/share/{applications,icons,mime}
+ find "${pkgdir}" -name mkvtoolnix-gui* -delete
}
-package_mkvtoolnix-gtk() {
- pkgdesc="Set of tools to create, edit and inspect Matroska files - wxGTK GUI"
- depends=("mkvtoolnix-cli=${pkgver}" 'wxgtk' 'xdg-utils' 'desktop-file-utils')
- install=mkvtoolnix.install
+package_mkvtoolnix-gui() {
+ depends=('desktop-file-utils' 'hicolor-icon-theme' 'mkvtoolnix-cli'
+ 'qt5-base' 'shared-mime-info' 'xdg-utils')
+ replaces=('mkvtoolnix-gtk')
+ install='mkvtoolnix-gui.install'
- cd "${srcdir}/${pkgbase}-${pkgver}"
+ cd mkvtoolnix-${pkgver}
./drake DESTDIR="${pkgdir}" install
- rm -rf "${pkgdir}"/usr/bin/mkv*
- install -Dm755 src/mkvinfo "${pkgdir}"/usr/bin/mkvinfo-gtk
- sed -ri 's/^(Exec=mkvinfo)/\1-gtk/' "${pkgdir}"/usr/share/applications/mkvinfo.desktop
-
- rm -rf "${pkgdir}"/usr/share/doc
rm -rf "${pkgdir}"/usr/share/locale
- rm -rf "${pkgdir}"/usr/share/man/de/man1/mkv*
- rm -rf "${pkgdir}"/usr/share/man/ja/man1/mkv*
- rm -rf "${pkgdir}"/usr/share/man/man1/mkv*
- rm -rf "${pkgdir}"/usr/share/man/nl/man1/mkv*
- rm -rf "${pkgdir}"/usr/share/man/zh_CN/man1/mkv*
- rm -rf "${pkgdir}"/usr/share/man/uk/man1/mkv*
+ for t in mkv{extract,info,merge,propedit}; do
+ find "${pkgdir}" -name $t* -delete
+ done
}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/mkvtoolnix/mkvtoolnix-gui.install b/abs/extra/mkvtoolnix/mkvtoolnix-gui.install
new file mode 100644
index 0000000..ec2cf43
--- /dev/null
+++ b/abs/extra/mkvtoolnix/mkvtoolnix-gui.install
@@ -0,0 +1,15 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-mime-database /usr/share/mime &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ post_install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/mkvtoolnix/mkvtoolnix.install b/abs/extra/mkvtoolnix/mkvtoolnix.install
deleted file mode 100644
index 1481351..0000000
--- a/abs/extra/mkvtoolnix/mkvtoolnix.install
+++ /dev/null
@@ -1,15 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- if [ -f usr/bin/update-mime-database ]; then
- update-mime-database usr/share/mime &> /dev/null
- fi
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install
-}
-
-pre_remove() {
- post_install
-}
diff --git a/abs/extra/mpd/PKGBUILD b/abs/extra/mpd/PKGBUILD
index bb73322..ce19a60 100644
--- a/abs/extra/mpd/PKGBUILD
+++ b/abs/extra/mpd/PKGBUILD
@@ -6,32 +6,40 @@
# Contributor: Ben <ben@benmazer.net>
pkgname=mpd
-pkgver=0.19.9
-pkgrel=3
+pkgver=0.19.15
+pkgrel=2
pkgdesc='Flexible, powerful, server-side application for playing music'
url='http://www.musicpd.org/'
license=('GPL')
arch=('i686' 'x86_64')
depends=('libao' 'ffmpeg' 'libmodplug' 'audiofile' 'libshout' 'libmad' 'curl' 'faad2'
'sqlite' 'libmms' 'wavpack' 'avahi' 'libid3tag' 'yajl' 'libmpdclient'
- 'icu' 'libupnp' 'libnfs')
+ 'icu' 'libupnp' 'libnfs' 'libsamplerate' 'libsoxr' 'smbclient' 'libcdio-paranoia')
makedepends=('boost' 'doxygen')
validpgpkeys=('0392335A78083894A4301C43236E8A58C6DB4512')
source=("http://www.musicpd.org/download/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz"{,.sig}
'tmpfiles.d'
'conf')
-sha1sums=('6683bee5f132eda318c5a61ec14b2df8d9164d60' 'SKIP'
+sha1sums=('5c32aff6ea3f031de5802a39a222efd7e4b1bafd' 'SKIP'
'f4d5922abb69abb739542d8e93f4dfd748acdad7'
'291fd5cda9f0845834a553017327c4586bd853f6')
backup=('etc/mpd.conf')
install=install
+prepare() {
+ # Temporary; see FS#48372
+ install -d "${srcdir}"/pkg-config
+ ln -s /usr/lib/pkgconfig/libsystemd.pc "${srcdir}"/pkg-config/libsystemd-daemon.pc
+}
+
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ export PKG_CONFIG_PATH="${srcdir}"/pkg-config
./configure \
--prefix=/usr \
--sysconfdir=/etc \
+ --enable-cdio-paranoia \
--enable-libmpdclient \
--disable-jack \
--enable-soundcloud \
@@ -47,7 +55,7 @@ package() {
make DESTDIR="${pkgdir}" install
install -Dm644 ../conf "${pkgdir}"/etc/mpd.conf
install -Dm644 ../tmpfiles.d "${pkgdir}"/usr/lib/tmpfiles.d/mpd.conf
- install -d -g 45 -o 45 "${pkgdir}"/var/lib/mpd/playlists
+ install -d -g 45 -o 45 "${pkgdir}"/var/lib/mpd{,/playlists}
install -Dm644 "${pkgdir}"/usr/lib/systemd/{system,user}/mpd.service
sed '/\[Service\]/a User=mpd' -i "${pkgdir}"/usr/lib/systemd/system/mpd.service
diff --git a/abs/extra/netcdf/PKGBUILD b/abs/extra/netcdf/PKGBUILD
new file mode 100644
index 0000000..c73dec6
--- /dev/null
+++ b/abs/extra/netcdf/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id$
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: damir <damir@archlinux.org>
+
+pkgname=netcdf
+pkgver=4.4.1rc1
+pkgrel=1
+pkgdesc="network Common Data Form interface for array-oriented data access and corresponding library"
+arch=("i686" "x86_64")
+url="http://www.unidata.ucar.edu/downloads/netcdf/index.jsp"
+depends=('gcc-libs' 'hdf5' 'curl')
+optdepends=('netcdf-fortran: fortran bindings' 'netcdf-cxx: c++ bindings')
+options=('!makeflags')
+license=('custom')
+#source=("http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-${pkgver}.tar.gz")
+source=("https://github.com/Unidata/netcdf-c/archive/v4.4.1-rc1.tar.gz")
+sha1sums=('7606c16814bf9b33a66815e4109d9ba2df4a4936')
+
+build() {
+# cd "${srcdir}"/${pkgname}-${pkgver}
+ cd "${srcdir}"/netcdf-c-4.4.1-rc1
+# autoreconf -fis
+ ./configure --prefix=/usr --enable-shared --enable-netcdf-4 --enable-dap-netcdf
+ make
+}
+
+# hdf5 tests fail, have not yet been updated to hdf5-1.10.0
+#check() {
+# cd "${srcdir}"/${pkgname}-${pkgver}
+# cd "${srcdir}"/netcdf-c-4.4.1-rc1
+# make check
+#}
+
+package() {
+# cd "${srcdir}"/${pkgname}-${pkgver}
+ cd "${srcdir}"/netcdf-c-4.4.1-rc1
+ install -m755 -d "${pkgdir}"/usr/lib
+ install -m755 -d "${pkgdir}"/usr/share/man
+ make DESTDIR="${pkgdir}" install
+
+# install -Dm644 "${srcdir}"/${pkgname}-${pkgver}/COPYRIGHT \
+# "${pkgdir}"/usr/share/licenses/${pkgname}/COPYRIGHT
+ install -Dm644 "${srcdir}"/netcdf-c-4.4.1-rc1/COPYRIGHT \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/COPYRIGHT
+
+}
diff --git a/abs/extra/nvidia-settings/PKGBUILD b/abs/extra/nvidia-settings/PKGBUILD
index 2330008..28ee5c4 100644
--- a/abs/extra/nvidia-settings/PKGBUILD
+++ b/abs/extra/nvidia-settings/PKGBUILD
@@ -1,30 +1,38 @@
-# $Id$
# Maintainer: Felix Yan <felixonmars@archlinux.org>
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
-pkgname=nvidia-settings
-pkgver=364.19
+pkgbase=nvidia-settings
+pkgname=('nvidia-settings' 'libxnvctrl')
+pkgver=370.28
pkgrel=1
pkgdesc="Tool for configuring the NVIDIA graphics driver"
arch=('i686' 'x86_64')
url="https://github.com/NVIDIA/nvidia-settings"
license=('GPL2')
-depends=('jansson' 'gtk3' 'libxv' 'libvdpau' 'nvidia-utils')
-makedepends=('git' 'inetutils' 'gtk2')
-source=("git+https://github.com/NVIDIA/nvidia-settings#tag=$pkgver")
-sha1sums=('SKIP')
+makedepends=('git' 'inetutils' 'gtk2' 'jansson' 'gtk3' 'libxv' 'libvdpau' 'nvidia-utils' 'libxext')
+options=('staticlibs')
+source=("git+https://github.com/NVIDIA/nvidia-settings#tag=$pkgver"
+ libxnvctrl_so.patch)
+sha1sums=('SKIP'
+ '16619a01e92e565c79ad344be87ad11244ac1762')
prepare() {
export PREFIX=/usr
export NV_USE_BUNDLED_LIBJANSSON=0
+ cd ${pkgbase}
+ patch -p1 < "${srcdir}/libxnvctrl_so.patch"
}
build() {
- cd ${pkgname}
+ cd ${pkgbase}
make
+ make -C src/libXNVCtrl
}
-package() {
- cd ${pkgname}
+package_nvidia-settings() {
+ depends=('jansson' 'gtk3' 'libxv' 'libvdpau' 'nvidia-utils' 'libxnvctrl')
+
+ cd ${pkgbase}
make DESTDIR="${pkgdir}" install
install -D -m644 doc/nvidia-settings.desktop "${pkgdir}/usr/share/applications/nvidia-settings.desktop"
@@ -33,3 +41,21 @@ package() {
rm "$pkgdir/usr/lib/libnvidia-gtk2.so.$pkgver"
}
+
+package_libxnvctrl() {
+ depends=('libxext')
+ pkgdesc='NVIDIA NV-CONTROL X extension'
+
+ cd ${pkgbase}
+ install -Dm 644 doc/{NV-CONTROL-API.txt,FRAMELOCK.txt} -t "${pkgdir}/usr/share/doc/${pkgname}"
+ install -Dm 644 samples/{Makefile,README,*.c,*.h,*.mk} -t "${pkgdir}/usr/share/doc/${pkgname}/samples"
+
+ cd src/libXNVCtrl
+ install -Dm 644 *.h -t "${pkgdir}/usr/include/NVCtrl"
+ install -Dm 644 libXNVCtrl.a -t "${pkgdir}/usr/lib"
+ install -Dm 755 libXNVCtrl.so.0.0.0 -t "${pkgdir}/usr/lib"
+ ln -s libXNVCtrl.so.0.0.0 "${pkgdir}/usr/lib/libXNVCtrl.so.0"
+ ln -s libXNVCtrl.so.0 "${pkgdir}/usr/lib/libXNVCtrl.so"
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/abs/extra/nvidia-settings/libxnvctrl_so.patch b/abs/extra/nvidia-settings/libxnvctrl_so.patch
new file mode 100644
index 0000000..78cebea
--- /dev/null
+++ b/abs/extra/nvidia-settings/libxnvctrl_so.patch
@@ -0,0 +1,67 @@
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -106,6 +106,8 @@
+ XNVCTRL_DIR ?= libXNVCtrl
+ XNVCTRL_MAKEFILE ?= Makefile
+ XNVCTRL_ARCHIVE ?= $(XNVCTRL_DIR)/libXNVCtrl.a
++XNVCTRL_SHARED ?= $(XNVCTRL_DIR)/libXNVCtrl.so.0
++XNVCTRL_LIB ?= $(XNVCTRL_SHARED)
+ XCONFIG_PARSER_DIR ?= XF86Config-parser
+ COMMON_UTILS_DIR ?= common-utils
+ COMMON_UNIX_DIR ?= common-unix
+@@ -280,15 +282,18 @@
+ $(MKDIR) $(BINDIR)
+ $(INSTALL) $(INSTALL_BIN_ARGS) $< $(BINDIR)/$(notdir $<)
+
++$(XNVCTRL_ARCHIVE) $(XNVCTRL_SHARED):
++ $(MAKE) -C $(XNVCTRL_DIR)
++
+ $(eval $(call DEBUG_INFO_RULES, $(NVIDIA_SETTINGS)))
+-$(NVIDIA_SETTINGS).unstripped: $(OBJS) $(XNVCTRL_ARCHIVE)
++$(NVIDIA_SETTINGS).unstripped: $(OBJS) $(XNVCTRL_LIB)
+ $(call quiet_cmd,LINK) $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \
+- -rdynamic -o $@ $(OBJS) $(XNVCTRL_ARCHIVE) $(LIBS)
++ -rdynamic -o $@ $(OBJS) $(XNVCTRL_LIB) $(LIBS)
+
+ $(eval $(call DEBUG_INFO_RULES, $(GTK2LIB)))
+ $(GTK2LIB).unstripped: $(GTK2_OBJS) $(XCP_OBJS) $(VERSION_MK)
+ $(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \
+- $(XNVCTRL_ARCHIVE) $(LIBS) $(GTK2_LIBS) \
++ $(XNVCTRL_LIB) $(LIBS) $(GTK2_LIBS) \
+ -Wl,--unresolved-symbols=ignore-all -o $@ \
+ -Wl,-soname -Wl,$(GTK2LIB_SONAME) \
+ $(GTK2_OBJS) $(XCP_OBJS)
+@@ -297,7 +302,7 @@
+ $(eval $(call DEBUG_INFO_RULES, $(GTK3LIB)))
+ $(GTK3LIB).unstripped: $(GTK3_OBJS) $(XCP_OBJS) $(VERSION_MK)
+ $(call quiet_cmd,LINK) -shared $(CFLAGS) $(LDFLAGS) $(BIN_LDFLAGS) \
+- $(XNVCTRL_ARCHIVE) $(LIBS) $(GTK3_LIBS) \
++ $(XNVCTRL_LIB) $(LIBS) $(GTK3_LIBS) \
+ -Wl,--unresolved-symbols=ignore-all -o $@ \
+ -Wl,-soname -Wl,$(GTK3LIB_SONAME) \
+ $(GTK3_OBJS) $(XCP_OBJS)
+--- a/src/libXNVCtrl/Makefile
++++ b/src/libXNVCtrl/Makefile
+@@ -55,10 +55,17 @@
+ .PHONY: clean
+
+ all: $(LIBXNVCTRL)
++all: libXNVCtrl.so
+
+ $(LIBXNVCTRL) : $(OBJS)
+ $(AR) ru $@ $(OBJS)
+
++libXNVCtrl.so: $(OBJS)
++ $(RM) $@ $@.*
++ $(CC) -shared -Wl,-soname=$@.0 -o $@.0.0.0 $(LDFLAGS) $^ -lXext -lX11
++ ln -s $@.0.0.0 $@.0
++ ln -s $@.0 $@
++
+ # define the rule to build each object file
+ $(foreach src,$(SRC),$(eval $(call DEFINE_OBJECT_RULE,TARGET,$(src))))
+
+@@ -68,3 +75,4 @@
+ clean:
+ rm -rf $(LIBXNVCTRL) *~ $(STAMP_C) \
+ $(OUTPUTDIR)/*.o $(OUTPUTDIR)/*.d
++ rm -f libXNVCtrl.so libXNVCtrl.so.*
diff --git a/abs/extra/openpht/PKGBUILD b/abs/extra/openpht/PKGBUILD
index 45c52f7..6ccd7e9 100755..100644
--- a/abs/extra/openpht/PKGBUILD
+++ b/abs/extra/openpht/PKGBUILD
@@ -1,33 +1,38 @@
+# Maintainer: Jeff Keyte <jeff@keyte.me>
+# Contributor: Maxime Gauduin <alucryd@archlinux.org>
+# Contributor: Daniel Wallace <daniel.wallace@gatech.edu>
+
pkgname=openpht
-pkgver=1.5.2.514
-_pkghash=310d4f7e
-pkgrel=2
-pkgdesc='OpenPHT a community driven fork of Plex Home Theater'
+pkgver=1.6.2.123
+_pkghash=e23a7eef
+pkgrel=5
+pkgdesc='OpenPHT is a community driven fork of Plex Home Theater'
arch=('i686' 'x86_64')
-url='https://github.com/RasPlex/OpenPHT'
+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')
+depends=('alsa-lib' 'avahi' 'boost-libs' 'curl' 'expat' 'ffmpeg2.8' 'freetype2' 'fribidi'
+ 'gcc-libs' 'glew' 'glibc' 'glu' 'libcdio' 'libgl' 'libjpeg' 'libmad'
+ 'libmicrohttpd' 'libmpeg2' 'libpng' 'libsamplerate' 'llvm-libs'
+ 'libssh' 'libtiff' 'libusb-compat' 'libva' 'libvdpau' 'libx11'
+ 'libxext' 'libxrandr' 'lzo' 'pcre' 'python2' 'sdl' 'sdl_image'
+ 'sdl_mixer' 'sqlite' 'smbclient' 'taglib' 'tinyxml' 'yajl' 'zlib' 'rtmpdump')
+makedepends=('boost' 'cmake' 'doxygen' 'git' 'java-environment' 'shairplay'
+ 'libcec' 'libplist' 'nasm' 'swig' 'unzip' 'zip')
optdepends=('libplist: AirPlay support'
- 'libshairport: AirPlay support'
- 'libcec: Pulse-Eight USB-CEC adapter support')
+ 'libcec: Pulse-Eight USB-CEC adapter support'
+ 'shairplay: Shairplay Support')
source=("https://github.com/RasPlex/OpenPHT/archive/v${pkgver}-${_pkghash}.tar.gz"
- 'plex-ffmpeg-compat.patch'
+ 'plexhometheater.sh'
'plex_lib.conf'
- 'plexhometheater.sh')
-
+ 'fribidi.patch'
+ 'plexhometheater.desktop')
prepare() {
cd OpenPHT-${pkgver}-${_pkghash}
-
- patch -Np1 -i ../plex-ffmpeg-compat.patch
+ patch -Np1 <../fribidi.patch
}
build() {
@@ -38,12 +43,9 @@ build() {
fi
mkdir build && cd build
+ CMAKE_PREFIX_PATH=/usr/lib/ffmpeg2.8:/usr/include/ffmpeg2.8 \
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' \
@@ -60,16 +62,15 @@ package() {
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 "${srcdir}"/plexhometheater.desktop "${pkgdir}"/usr/share/applications/
install -m 644 ../plex/Resources/plex-icon-256.png "${pkgdir}"/usr/share/pixmaps/plexhometheater.png
# LinHES stuff
- #add in plex_lib.conf
+ # 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'
+md5sums=('075d697793b32d34c9ac57b94ae14821'
+ 'ad57396d98692dbe8c8d6f2fab707a94'
'c1eedd9f89ee727230833db9ef1e5d29'
- '4ceae60ed2f9e4304eda4f80d407e799')
+ 'a5980579c1b6341a6d06e80d9da2a924'
+ 'e530e2b4d8333863ba1c87862c291ba1')
diff --git a/abs/extra/openpht/__changelog b/abs/extra/openpht/__changelog
index 42c86d8..6daae7f 100644
--- a/abs/extra/openpht/__changelog
+++ b/abs/extra/openpht/__changelog
@@ -1,5 +1,6 @@
copied plex-home-theater to openpht
PKGBUILD - Remove opt dep pulseaudio
+PKGBUILD - Add dep ffmpeg2.8
PKGBUILD - Added plex_lib.conf, this file goes in /etc/gen_lib_xml.d/
PKGBUILD - 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/openpht/fribidi.patch b/abs/extra/openpht/fribidi.patch
new file mode 100644
index 0000000..8c939df
--- /dev/null
+++ b/abs/extra/openpht/fribidi.patch
@@ -0,0 +1,50 @@
+diff --git a/plex/CMakeModules/FindFriBiDi.cmake b/plex/CMakeModules/FindFriBiDi.cmake
+--- a/plex/CMakeModules/FindFriBiDi.cmake
++++ b/plex/CMakeModules/FindFriBiDi.cmake
+@@ -9,44 +9,8 @@
+ # also defined, but not for general use are
+ # FRIBIDI_LIBRARY, where to find the FriBiDi library.
+
+-include(CheckSymbolExists)
+-
+-SET(FRIBIDI_FOUND "NO")
+-
+-# Set variable in temp var, otherwise FIND_PATH might fail
+-# unset isn't present in the required version of cmake.
+-FIND_PATH(xFRIBIDI_INCLUDE_DIR fribidi.h
+- PATHS /usr/local/include
+- /usr/include
+- PATH_SUFFIXES fribidi
+- )
+-set(FRIBIDI_INCLUDE_DIR ${xFRIBIDI_INCLUDE_DIR})
+-
+-SET(FRIBIDI_NAMES ${FRIBIDI_NAMES} fribidi libfribidi)
+-FIND_LIBRARY(FRIBIDI_LIBRARY
+- NAMES ${FRIBIDI_NAMES}
+- PATHS /usr/lib /usr/local/lib
+- )
+-
+-IF (FRIBIDI_LIBRARY AND FRIBIDI_INCLUDE_DIR)
+- SET(CMAKE_REQUIRED_INCLUDES ${FRIBIDI_INCLUDE_DIR})
+- SET(CMAKE_REQUIRED_LIBRARIES ${FRIBIDI_LIBRARY})
+- CHECK_SYMBOL_EXISTS(fribidi_utf8_to_unicode fribidi.h FOUND_fribidi_utf8_to_unicode)
+- CHECK_SYMBOL_EXISTS(fribidi_charset_to_unicode fribidi.h FOUND_fribidi_charset_to_unicode)
+- if(FOUND_fribidi_charset_to_unicode)
+- SET(FRIBIDI_LIBRARIES ${FRIBIDI_LIBRARY})
+- SET(FRIBIDI_FOUND "YES")
+- elseif(FOUND_fribidi_utf8_to_unicode)
+- SET(FRIBIDI_LIBRARIES ${FRIBIDI_LIBRARY})
+- SET(FRIBIDI_FOUND "YES")
+- add_definitions(-DOLD_FRIBIDI)
+- MESSAGE(STATUS "Legacy FriBiDi: ${FRIBIDI_LIBRARY}")
+- else()
+- SET(FRIBIDI_LIBRARIES "NOTFOUND")
+- SET(FRIBIDI_INCLUDE_DIR "NOTFOUND")
+- SET(FRIBIDI_FOUND "NO")
+- endif()
+-ENDIF (FRIBIDI_LIBRARY AND FRIBIDI_INCLUDE_DIR)
++include(FindPkgConfig)
++pkg_check_modules(FRIBIDI fribidi)
+
+ IF (FRIBIDI_FOUND)
+
diff --git a/abs/extra/openpht/plex-ffmpeg-compat.patch b/abs/extra/openpht/plex-ffmpeg-compat.patch
deleted file mode 100755
index 1601500..0000000
--- a/abs/extra/openpht/plex-ffmpeg-compat.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff -rupN plex-home-theater.orig/plex/CMakeModules/FindFFmpeg.cmake plex-home-theater/plex/CMakeModules/FindFFmpeg.cmake
---- plex-home-theater.orig/plex/CMakeModules/FindFFmpeg.cmake 2014-09-15 11:46:21.751638700 +0200
-+++ plex-home-theater/plex/CMakeModules/FindFFmpeg.cmake 2014-09-15 11:43:25.678039000 +0200
-@@ -41,7 +41,7 @@ MACRO(FFMPEG_FIND varname shortname head
- /opt/csw/include # Blastwave
- /opt/include
- /usr/freeware/include
-- PATH_SUFFIXES ffmpeg
-+ PATH_SUFFIXES ffmpeg-compat
- DOC "Location of FFMPEG Headers"
- )
-
-@@ -62,7 +62,7 @@ MACRO(FFMPEG_FIND varname shortname head
- /opt/csw/include # Blastwave
- /opt/include
- /usr/freeware/include
-- PATH_SUFFIXES ffmpeg
-+ PATH_SUFFIXES ffmpeg-compat
- DOC "Location of FFMPEG Headers"
- )
- ENDIF(NOT FFMPEG_${varname}_INCLUDE_DIRS)
-@@ -85,6 +85,7 @@ MACRO(FFMPEG_FIND varname shortname head
- /opt/csw/lib
- /opt/lib
- /usr/freeware/lib64
-+ PATH_SUFFIXES ffmpeg-compat
- DOC "Location of FFMPEG Libraries"
- )
-
diff --git a/abs/extra/openpht/plexhometheater.desktop b/abs/extra/openpht/plexhometheater.desktop
new file mode 100644
index 0000000..3bae57f
--- /dev/null
+++ b/abs/extra/openpht/plexhometheater.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=OpenPHT
+Name[en_US]=OpenPHT
+Exec=/usr/bin/plexhometheater.sh
+Icon=plexhometheater
+Comment[en_US]=OpenPHT
+StartupNotify=true
+Categories=AudioVideo
diff --git a/abs/extra/openpht/plexhometheater.sh b/abs/extra/openpht/plexhometheater.sh
index 579bed6..16da77d 100755
--- a/abs/extra/openpht/plexhometheater.sh
+++ b/abs/extra/openpht/plexhometheater.sh
@@ -5,7 +5,7 @@ stop_xss.sh &
#Launch plex
export XBMC_BIN_HOME='/usr/lib/plexhometheater'
export XBMC_HOME='/usr/share/plexhometheater'
-plexhometheater
+exec plexhometheater
#Start Xscreensaver again
killall stop_xss.sh
diff --git a/abs/extra/plex-media-server/MKPKG b/abs/extra/plex-media-server/MKPKG
deleted file mode 100644
index 01a47b4..0000000
--- a/abs/extra/plex-media-server/MKPKG
+++ /dev/null
@@ -1,3 +0,0 @@
-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
index 42f7f3d..5822e7d 100644
--- a/abs/extra/plex-media-server/PKGBUILD
+++ b/abs/extra/plex-media-server/PKGBUILD
@@ -7,8 +7,8 @@
# Contributor: Praekon <praekon@googlemail.com>
pkgname=plex-media-server
-pkgver=0.9.16.6.1993
-_pkgsum=5089475
+pkgver=1.1.4.2757
+_pkgsum=24ffd60
pkgrel=1
pkgdesc='Plex Media Server'
arch=('x86_64')
@@ -17,21 +17,21 @@ license=('custom')
depends=('systemd')
makedepends_i686=('prelink')
makedepends_x86_64=('prelink')
-replaces=('plexmediaserver')
-conflicts=('plexmediaserver' 'plexmediaserver-plexpass')
+provides=('plex-media-server')
+conflicts=('plex-media-server-plexpass')
backup=('etc/conf.d/plexmediaserver')
install='plex-media-server.install'
source=('plexmediaserver.conf.d'
'plexmediaserver.service'
+ 'plex.sysusers'
'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')
+#sha256sums_armv7h=('1a7b7610eb7f1857cece6290d3786022cef337cee062ee5b984ec94761bb0c6e')
+#sha256sums_i686=('2d2a71a50b6a95fc91c64c01ea2ec2bba2aedd80068481c441106551ed7eeae9')
+#sha256sums_x86_64=('99821d4795a50e5ce9ceb7947d21c7418b328d014a00b6390e4a2913ed189192')
prepare() {
@@ -48,18 +48,18 @@ package() {
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 -Dm 644 "$srcdir/plex.sysusers" "$pkgdir/usr/lib/sysusers.d/plex.conf"
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/
+ install -dm 755 "${pkgdir}"/usr/share/licenses/${pkgname}
+ install -m 644 terms.txt "${pkgdir}"/usr/share/licenses/${pkgname}/
}
# vim: ts=2 sw=2 et:
md5sums=('dfd6778f5c0d3d64c2c3a71dca02b7cc'
- '34268b981e3b8c833a0e2270429232a6'
+ '3f39ee0e8b1ebb1c7ca714f67fa88641'
+ '97241861f2c0b7c82d1945a6c5de8e35'
'bd703bc750b989a27edd590eb8c8e9d7'
'506ec15815bba749a743780edd2323c8')
-md5sums_x86_64=('20e6e297df95ab96dbb6172055ab7935')
+md5sums_x86_64=('5a5607d8a37c21065e2879bf312efd6c')
diff --git a/abs/extra/plex-media-server/__changelog b/abs/extra/plex-media-server/__changelog
index f410839..e7bd5d2 100644
--- a/abs/extra/plex-media-server/__changelog
+++ b/abs/extra/plex-media-server/__changelog
@@ -1,6 +1,6 @@
+PKGBUILD - remove arch arm and i686 and comment out sources
.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
index e677521..96a77a7 100644
--- a/abs/extra/plex-media-server/plex-media-server.install
+++ b/abs/extra/plex-media-server/plex-media-server.install
@@ -1,45 +1,17 @@
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
+ systemd-sysusers plex.conf
+ [[ -d /data/storage/disk0/media/plex ]] || install -dm 750 -o plex -g plex /data/storage/disk0/media/plex
+ [[ -d /data/storage/disk0/media/plex/tmp ]] || install -dm 750 -o plex -g plex /data/storage/disk0/media/plex/tmp
+ [[ -d /data/storage/disk0/media/plex ]] && chown -R plex:plex /data/storage/disk0/media/plex
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
+ [[ -d /data/storage/disk0/media/plex ]] && chown -R plex:plex /data/storage/disk0/media/plex
}
post_remove() {
remove_service.sh plexmediaserver
}
+
# vim: ts=2 sw=2 et:
diff --git a/abs/extra/plex-media-server/plex.sysusers b/abs/extra/plex-media-server/plex.sysusers
new file mode 100644
index 0000000..e23680f
--- /dev/null
+++ b/abs/extra/plex-media-server/plex.sysusers
@@ -0,0 +1,2 @@
+u plex - "Plex Media Server" /opt/plexmediaserver
+
diff --git a/abs/extra/plex-media-server/plexmediaserver.service b/abs/extra/plex-media-server/plexmediaserver.service
index 9206301..55b3325 100644
--- a/abs/extra/plex-media-server/plexmediaserver.service
+++ b/abs/extra/plex-media-server/plexmediaserver.service
@@ -3,6 +3,7 @@ Description=Plex Media Server
After=network.target
[Service]
+WorkingDirectory=/opt/plexmediaserver
EnvironmentFile=/etc/conf.d/plexmediaserver
ExecStart=/opt/plexmediaserver/Plex\x20Media\x20Server
Type=simple
diff --git a/abs/extra/roomeqwizard/PKGBUILD b/abs/extra/roomeqwizard/PKGBUILD
new file mode 100644
index 0000000..dd42753
--- /dev/null
+++ b/abs/extra/roomeqwizard/PKGBUILD
@@ -0,0 +1,38 @@
+# Maintainer: sekret, mail=$(echo c2VrcmV0QHBvc3Rlby5zZQo= | base64 -d)
+pkgname=roomeqwizard
+pkgver=5.16
+_pkgver=5_16
+pkgrel=1
+pkgdesc="free room acoustics analysis software for measuring and analysing room and loudspeaker responses"
+arch=('any')
+url="http://www.roomeqwizard.com"
+license=('custom')
+depends=('java-environment' 'xdg-utils')
+source=("http://www.roomeqwizard.com/installers/REW_linux_$_pkgver.sh")
+md5sums=('fb9be136c2c552a5c5a8f2dda445a07d')
+
+package() {
+ # install
+ mkdir -p "$pkgdir/opt/REW" \
+ "$pkgdir/usr/bin" \
+ "$pkgdir/usr/share/licenses/$pkgname" \
+ "$pkgdir/usr/share/doc/$pkgname" \
+ "$pkgdir/usr/share/applications/$pkgname"
+ sh REW_linux_$_pkgver.sh -q -dir "$pkgdir/opt/REW"
+ mv "$pkgdir/opt/REW/EULA.html" "$pkgdir/usr/share/licenses/$pkgname/EULA.html"
+ mv "$pkgdir/opt/REW/readme.txt" "$pkgdir/usr/share/doc/$pkgname/readme"
+ mv "$pkgdir/opt/REW/$pkgname.desktop" "$pkgdir/usr/share/applications/$pkgname/$pkgname.desktop"
+ ln -s "/opt/REW/$pkgname" "$pkgdir/usr/bin/$pkgname"
+
+ # basic cleanup
+ rm -rf "$pkgdir/opt/REW/.install4j/installation.log"
+ rm -rf "$pkgdir/opt/REW/uninstall"
+ rm -rf "$pkgdir/opt/REW/uninstall.png"
+
+ # repair
+ sed "s#$pkgdir##g" -i "$pkgdir/usr/share/applications/$pkgname/$pkgname.desktop"
+ sed "s#$pkgdir##g" -i "$pkgdir/opt/REW/.install4j/response.varfile"
+ sed "s#$pkgdir##g" -i "$pkgdir/opt/REW/.install4j/install.prop"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/abs/extra/tidy/PKGBUILD b/abs/extra/tidy/PKGBUILD
new file mode 100644
index 0000000..352e56f
--- /dev/null
+++ b/abs/extra/tidy/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 230776 2015-02-04 23:00:34Z bluewind $
+# Maintainer:
+# Contributor: eric <eric@archlinux.org>
+# Contributor: Markus Meissner <markus@meissna.de>
+
+pkgname=tidy
+pkgver=5.2.0
+pkgrel=1
+pkgdesc="A tool to tidy down your HTML code to a clean style"
+arch=(i686 x86_64)
+url="http://www.html-tidy.org/"
+license=(custom)
+depends=(glibc)
+makedepends=(cmake libxslt)
+conflicts=(tidyhtml)
+provides=(tidyhtml)
+replaces=(tidyhtml)
+source=("https://github.com/htacg/tidy-html5/archive/$pkgver.tar.gz")
+md5sums=('ffbe6e8471eff90877b4d74bb714e22f')
+
+prepare() {
+ mkdir -p build
+}
+
+build() {
+ cd build
+ cmake ../tidy-html5-$pkgver \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release
+ make
+}
+
+package() {
+ cd build
+ make DESTDIR="$pkgdir" install
+
+# Compatibility symlinks until everything is ported
+ ln -s tidybuffio.h "$pkgdir"/usr/include/buffio.h
+ ln -s tidyplatform.h "$pkgdir"/usr/include/platform.h
+
+ install -Dm644 "$srcdir"/$pkgname-html5-$pkgver/README/LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/abs/extra/tidyhtml/PKGBUILD b/abs/extra/tidyhtml/PKGBUILD
deleted file mode 100644
index aaca300..0000000
--- a/abs/extra/tidyhtml/PKGBUILD
+++ /dev/null
@@ -1,42 +0,0 @@
-# $Id: PKGBUILD 146404 2012-01-10 21:14:26Z andrea $
-# Maintainer:
-# Contributor: eric <eric@archlinux.org>
-# Contributor: Markus Meissner <markus@meissna.de>
-
-pkgname=tidyhtml
-# obtain pkgver from http://tidy.cvs.sourceforge.net/tidy/tidy/src/version.h?view=markup
-pkgver=1.46
-pkgrel=2
-pkgdesc="A tool to tidy down your HTML code to a clean style"
-arch=('i686' 'x86_64')
-url="http://tidy.sourceforge.net/"
-license=('custom')
-depends=('glibc')
-options=('!libtool')
-source=("ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
-md5sums=('3d970d54be83c5ec985687e9976a2832')
-
-mksource() {
- mkdir ${pkgname}-${pkgver}
- cd ${pkgname}-${pkgver}
- cvs -d:pserver:anonymous@tidy.cvs.sourceforge.net:/cvsroot/tidy login #hit enter for password
- cvs -z3 -d:pserver:anonymous@tidy.cvs.sourceforge.net:/cvsroot/tidy co -P tidy
- cd ..
- tar -cvjf ${pkgname}-${pkgver}.tar.bz2 ${pkgname}-${pkgver}/*
-}
-
-build(){
- cd $srcdir/${pkgname}-${pkgver}/tidy
- source build/gnuauto/setup.sh
-
- ./configure --prefix=/usr
- make
-}
-
-package() {
- cd $srcdir/${pkgname}-${pkgver}/tidy
- make DESTDIR=$pkgdir install
-
- install -Dm644 htmldoc/license.html \
- ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
-}
diff --git a/abs/extra/time/PKGBUILD b/abs/extra/time/PKGBUILD
new file mode 100644
index 0000000..6f08a73
--- /dev/null
+++ b/abs/extra/time/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id$
+# Maintainer: Dave Reisner <dreisner@archlinux.org>
+# Contributor: Stéphane Gaudreault <stephane@archlinux.us>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: damir <damir@archlinux.org>
+
+pkgname=time
+pkgver=1.7
+pkgrel=8
+pkgdesc="Utility for monitoring a program's use of system resources"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/directory/time.html"
+license=('GPL')
+depends=('glibc')
+source=(http://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz
+ time-1.7-Recompute-CPU-usage-at-microsecond-level.patch
+ time-1.7-ru_maxrss-is-in-kilobytes-on-Linux.patch)
+sha1sums=('dde0c28c7426960736933f3e763320680356cc6a'
+ 'fff80e05dd41f0a59bb1f49d1c6e581d5e8e92e5'
+ 'b2a909e1d92f7af1bc99a4524ad84d467ed79a06')
+
+prepare() {
+ cd "$pkgname-$pkgver"
+
+ # cf https://bugzilla.redhat.com/show_bug.cgi?id=527276
+ patch -Np1 < "$srcdir"/time-1.7-Recompute-CPU-usage-at-microsecond-level.patch
+
+ # cf https://bugzilla.redhat.com/show_bug.cgi?id=702826
+ patch -Np1 < "$srcdir"/time-1.7-ru_maxrss-is-in-kilobytes-on-Linux.patch
+
+ # rebuild the ancient autoconf setup to fix a variety of build issues
+ # surrounding missing/incorrect includes.
+ autoreconf -fisv
+}
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ ./configure --prefix=/usr --infodir=/usr/share/info
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+
+ make exec_prefix="$pkgdir/usr" infodir="$pkgdir/usr/share/info" install
+}
diff --git a/abs/extra/time/time-1.7-Recompute-CPU-usage-at-microsecond-level.patch b/abs/extra/time/time-1.7-Recompute-CPU-usage-at-microsecond-level.patch
new file mode 100644
index 0000000..008f46c
--- /dev/null
+++ b/abs/extra/time/time-1.7-Recompute-CPU-usage-at-microsecond-level.patch
@@ -0,0 +1,72 @@
+From 0d743a7d946fe176a07baf2586a6af0e867fd89c Mon Sep 17 00:00:00 2001
+From: H.J. Lu <hongjiu.lu@intel.com>
+Date: Wed, 11 May 2011 16:19:55 +0200
+Subject: [PATCH] Recompute CPU usage at microsecond level
+
+If job finishes quickly, miliseconds arithmetic rounds to zero. If
+that happens, recalculate CPU usage ratio with microsecond accuracy
+to raise chance to get non-zero values.
+---
+ resuse.h | 2 ++
+ time.c | 15 +++++++++++++++
+ 2 files changed, 17 insertions(+), 0 deletions(-)
+
+diff --git a/resuse.h b/resuse.h
+index 992143f..7a3ee66 100644
+--- a/resuse.h
++++ b/resuse.h
+@@ -33,9 +33,11 @@ struct timeval
+ #if HAVE_SYS_RUSAGE_H
+ /* This rusage structure measures nanoseconds instead of microseconds. */
+ # define TV_MSEC tv_nsec / 1000000
++# define TV_USEC tv_nsec / 1000
+ # include <sys/rusage.h>
+ #else
+ # define TV_MSEC tv_usec / 1000
++# define TV_USEC tv_usec
+ # if HAVE_WAIT3
+ # include <sys/resource.h>
+ # else
+diff --git a/time.c b/time.c
+index 43aec0b..96cfdde 100644
+--- a/time.c
++++ b/time.c
+@@ -326,6 +326,8 @@ summarize (fp, fmt, command, resp)
+ {
+ unsigned long r; /* Elapsed real milliseconds. */
+ unsigned long v; /* Elapsed virtual (CPU) milliseconds. */
++ unsigned long ru; /* Elapsed real microseconds. */
++ unsigned long vu; /* Elapsed virtual (CPU) microseconds. */
+
+ if (verbose)
+ {
+@@ -350,6 +352,17 @@ summarize (fp, fmt, command, resp)
+ v = resp->ru.ru_utime.tv_sec * 1000 + resp->ru.ru_utime.TV_MSEC +
+ resp->ru.ru_stime.tv_sec * 1000 + resp->ru.ru_stime.TV_MSEC;
+
++ if (r == 0 && v == 0)
++ {
++ ru = resp->elapsed.tv_usec;
++ vu = resp->ru.ru_utime.TV_USEC + resp->ru.ru_stime.TV_USEC;
++ }
++ else
++ {
++ ru = 0;
++ vu = 0;
++ }
++
+ while (*fmt)
+ {
+ switch (*fmt)
+@@ -408,6 +421,8 @@ summarize (fp, fmt, command, resp)
+ /* % cpu is (total cpu time)/(elapsed time). */
+ if (r > 0)
+ fprintf (fp, "%lu%%", (v * 100 / r));
++ else if (ru > 0)
++ fprintf (fp, "%lu%%", (vu * 100 / ru));
+ else
+ fprintf (fp, "?%%");
+ break;
+--
+1.7.4.4
+
diff --git a/abs/extra/time/time-1.7-ru_maxrss-is-in-kilobytes-on-Linux.patch b/abs/extra/time/time-1.7-ru_maxrss-is-in-kilobytes-on-Linux.patch
new file mode 100644
index 0000000..1f68f9b
--- /dev/null
+++ b/abs/extra/time/time-1.7-ru_maxrss-is-in-kilobytes-on-Linux.patch
@@ -0,0 +1,32 @@
+From ad24a929bdcc15abae14a64ea21b821bcd8cb030 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Wed, 11 May 2011 15:19:11 +0200
+Subject: [PATCH] ru_maxrss is in kilobytes on Linux
+
+Since 2.6.32 Linux returns ru_maxrss in kilobytes. Not in pages.
+
+See http://lists.gnu.org/archive/html/bug-gnu-utils/2008-12/msg00047.html
+for discussion.
+---
+ time.c | 4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/time.c b/time.c
+index d15fee4..43aec0b 100644
+--- a/time.c
++++ b/time.c
+@@ -395,7 +395,11 @@ summarize (fp, fmt, command, resp)
+ ptok ((UL) resp->ru.ru_ixrss) / MSEC_TO_TICKS (v));
+ break;
+ case 'M': /* Maximum resident set size. */
++#ifdef __linux__
++ fprintf (fp, "%ld", resp->ru.ru_maxrss);
++#else
+ fprintf (fp, "%lu", ptok ((UL) resp->ru.ru_maxrss));
++#endif
+ break;
+ case 'O': /* Outputs. */
+ fprintf (fp, "%ld", resp->ru.ru_oublock);
+--
+1.7.4.4
+