summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--community-staging/calibre/PKGBUILD67
-rw-r--r--community-staging/calibre/calibre.install12
-rw-r--r--community-staging/calibre/desktop_integration.patch68
-rw-r--r--community-staging/couchdb/PKGBUILD40
-rw-r--r--community-staging/couchdb/couchdb.install22
-rw-r--r--community-staging/couchdb/rc-script.patch90
-rw-r--r--community-staging/dwdiff/PKGBUILD24
-rw-r--r--community-staging/gnustep-base/ChangeLog6
-rw-r--r--community-staging/gnustep-base/PKGBUILD34
-rw-r--r--community-staging/goldendict/PKGBUILD37
-rw-r--r--community-staging/goldendict/goldendict-paths.diff10
-rw-r--r--community-staging/goldendict/goldendict.changelog8
-rw-r--r--community-staging/ibus-qt/PKGBUILD31
-rw-r--r--community-staging/libfbclient/ChangeLog26
-rw-r--r--community-staging/libfbclient/LICENSE44
-rwxr-xr-xcommunity-staging/libfbclient/PKGBUILD40
-rw-r--r--community-staging/libmicrohttpd/PKGBUILD37
-rw-r--r--community-staging/libmicrohttpd/libmicrohttpd.install20
-rw-r--r--community-staging/mapnik/PKGBUILD52
-rw-r--r--community-staging/mapnik/mapnik.install11
-rw-r--r--community-staging/open-vm-tools/PKGBUILD68
-rw-r--r--community-staging/open-vm-tools/open-vm-tools-X11Bool.patch15
-rw-r--r--community-staging/open-vm-tools/open-vm-tools.conf.d6
-rw-r--r--community-staging/open-vm-tools/open-vm-tools.install10
-rw-r--r--community-staging/open-vm-tools/open-vm-tools.rc.d101
-rw-r--r--community-staging/open-vm-tools/scripts-network-FS19541.patch40
-rw-r--r--community-staging/open-vm-tools/scripts-network.patch63
-rw-r--r--community-staging/open-vm-tools/tools.conf1
-rw-r--r--community-staging/open-vm-tools/vmware-guestd6
-rw-r--r--community-staging/open-vm-tools/xautostart.conf6
-rw-r--r--community-staging/openttd/PKGBUILD38
-rw-r--r--community-staging/openttd/openttd.install17
-rw-r--r--community-staging/parrot/ChangeLog5
-rw-r--r--community-staging/parrot/PKGBUILD44
-rw-r--r--community-staging/sword/PKGBUILD26
-rw-r--r--community-staging/tea/PKGBUILD35
-rw-r--r--community-staging/tea/tea.desktop10
-rw-r--r--community-staging/tea/tea.install4
-rw-r--r--community-staging/tracker/PKGBUILD50
-rw-r--r--community-staging/tracker/tracker.install11
-rw-r--r--community-staging/xulrunner-oss/PKGBUILD70
-rw-r--r--community-staging/xulrunner-oss/mozconfig56
-rw-r--r--community-staging/xulrunner-oss/mozilla-pkgconfig.patch60
-rw-r--r--community-staging/xulrunner-oss/oss.patch31
-rw-r--r--community-staging/xulrunner-oss/port_gnomevfs_to_gio.patch1316
-rw-r--r--community-staging/xulrunner-oss/xulrunner-omnijar.patch1737
-rw-r--r--community-staging/xulrunner-oss/xulrunner-version.patch12
-rw-r--r--community-staging/yaz/PKGBUILD38
-rw-r--r--community/hardinfo/ChangeLog20
-rw-r--r--community/hardinfo/PKGBUILD36
-rw-r--r--community/hardinfo/fixsensors.patch13
-rw-r--r--community/hardinfo/hardinfo.distro1
-rw-r--r--community/luxrender/libpng.patch21
-rw-r--r--community/sword/curl_7.20.patch12
-rw-r--r--community/zziplib/PKGBUILD36
-rw-r--r--community/zziplib/zziplib-0.13.60-ldflags.patch14
-rw-r--r--core/net-tools/nisdomainname.conf.d3
-rw-r--r--core/rp-pppoe/PKGBUILD39
-rwxr-xr-xcore/rp-pppoe/adsl35
-rw-r--r--core/rp-pppoe/rp-pppoe.install12
-rw-r--r--core/udev/80-drivers.rules14
-rwxr-xr-xcore/udev/load-modules.sh80
-rw-r--r--core/udev/static-audio-nodes-permissions.patch27
-rw-r--r--extra/avahi/ChangeLog17
-rw-r--r--extra/avidemux/2.5.4_audioDevice.patch12
-rw-r--r--extra/avidemux/x264.patch21
-rw-r--r--extra/clamav/clamav72
-rw-r--r--extra/clamav/clamav.confd8
-rw-r--r--extra/clamav/clamav.install14
-rw-r--r--extra/clamav/clamav.logrotate8
-rw-r--r--extra/gtk3/only_draw_resize_grip_if_its_window_exists.patch28
-rw-r--r--extra/hugin/hugin-gcc46.patch16
-rw-r--r--extra/icedtea-web/fix-man-location.patch13
-rw-r--r--extra/icon-naming-utils/PKGBUILD24
-rw-r--r--extra/libfm/0001-filename-with-spaces-not-supported.patch345
-rw-r--r--extra/libfm/PKGBUILD30
-rw-r--r--extra/libfm/libfm.install15
-rw-r--r--extra/libwebkit/gcc46.patch11
-rw-r--r--extra/lxde-common/PKGBUILD28
-rw-r--r--extra/lxde-common/lxde-common-arch.patch186
-rw-r--r--extra/lxde-common/lxde-common-invalid-distfile.patch10
-rw-r--r--extra/lxde-common/lxde-common.install18
-rw-r--r--extra/lxdm/PKGBUILD51
-rw-r--r--extra/lxdm/Xsession.patch14
-rw-r--r--extra/lxdm/lxdm-daemon36
-rw-r--r--extra/lxdm/lxdm-pam.patch8
-rw-r--r--extra/lxdm/lxdm.install59
-rw-r--r--extra/lxdm/lxdm.patch26
-rw-r--r--extra/lxmenu-data/PKGBUILD19
-rw-r--r--extra/lxpanel/Fix-build-issue-with-symbol-alarm-showing-up-on-F14-.patch43
-rw-r--r--extra/lxpanel/Fix-failure-to-react-to-keyboard-map-changes-initiat.patch555
-rw-r--r--extra/lxpanel/PKGBUILD25
-rw-r--r--extra/lxsession-lite/PKGBUILD22
-rw-r--r--extra/menu-cache/PKGBUILD27
-rw-r--r--extra/nx-common/nx-gcc44.patch12
-rw-r--r--extra/nxserver/nx-gcc44.patch12
-rw-r--r--extra/nxserver/nxcompshad-gcc43.patch19
-rw-r--r--extra/obconf/PKGBUILD35
-rw-r--r--extra/obconf/obconf.install15
-rw-r--r--extra/openbox/PKGBUILD47
-rw-r--r--extra/openbox/openbox.install9
-rw-r--r--extra/openbox/which-2.20.patch53
-rw-r--r--extra/pcmanfm/PKGBUILD28
-rw-r--r--extra/pcmanfm/pcmanfm.install14
-rw-r--r--extra/pcmanfm/revert-new-IPC.patch432
-rw-r--r--extra/phonon-xine/PKGBUILD30
-rw-r--r--extra/pidgin/nm09-pidgin.patch38
-rw-r--r--extra/wvdial/PKGBUILD30
-rw-r--r--extra/wvstreams/PKGBUILD40
-rw-r--r--extra/xbindkeys/PKGBUILD27
-rw-r--r--extra/xplc/PKGBUILD28
-rw-r--r--extra/zope-interface/PKGBUILD21
-rw-r--r--kde-unstable/qt/PKGBUILD222
-rw-r--r--kde-unstable/qt/assistant.desktop9
-rw-r--r--kde-unstable/qt/designer.desktop11
-rw-r--r--kde-unstable/qt/linguist.desktop10
-rw-r--r--kde-unstable/qt/qt.install12
-rw-r--r--kde-unstable/qt/qtbug-16292.patch62
-rw-r--r--kde-unstable/qt/qtconfig.desktop10
-rw-r--r--social/bitcoin-daemon/makefile.archlinux72
-rw-r--r--staging/boost/4994-compile-fix-for-Python32-v2.patch16
-rw-r--r--staging/boost/PKGBUILD112
-rw-r--r--staging/boost/boost-1.46.0-spirit.patch59
-rw-r--r--staging/brltty/PKGBUILD49
-rwxr-xr-xstaging/brltty/brltty68
-rw-r--r--staging/brltty/brltty-4.2-S_ISCHR.patch11
-rw-r--r--staging/brltty/brltty.conf2
-rw-r--r--staging/enchant/PKGBUILD30
-rw-r--r--staging/gptfdisk/PKGBUILD35
-rw-r--r--staging/hunspell/PKGBUILD28
-rw-r--r--staging/icu/PKGBUILD35
-rw-r--r--staging/icu/icu.8198.revert.icu5431.patch129
-rw-r--r--staging/libreoffice/PKGBUILD701
-rw-r--r--staging/libreoffice/buildfix_64bit_system_libjpeg.diff11
-rw-r--r--staging/libreoffice/buildfix_bison25.diff23
-rw-r--r--staging/libreoffice/buildfix_boost.diff40
-rw-r--r--staging/libreoffice/buildfix_ct2n.diff17
-rw-r--r--staging/libreoffice/buildfix_i116795.diff22
-rw-r--r--staging/libreoffice/libreoffice.install25
-rw-r--r--staging/libreoffice/vbahelper.visibility.patch33
-rw-r--r--staging/libwebkit/PKGBUILD61
-rw-r--r--staging/libwebkit/gcc46.patch11
-rw-r--r--staging/libwebkit/libwebkit.install11
-rw-r--r--staging/libwebkit/replace-switch-with-given-when.patch45
-rw-r--r--staging/php/PKGBUILD379
-rw-r--r--staging/php/apache.conf13
-rw-r--r--staging/php/logrotate.d.php-fpm6
-rw-r--r--staging/php/php-fpm.conf.in.patch80
-rw-r--r--staging/php/php.ini.patch126
-rw-r--r--staging/php/rc.d.php-fpm158
-rw-r--r--staging/php/suhosin-patch-5.3.6-0.9.10.patch.gzbin40881 -> 0 bytes
-rw-r--r--staging/xulrunner/PKGBUILD63
-rw-r--r--staging/xulrunner/mozconfig56
-rw-r--r--staging/xulrunner/mozilla-pkgconfig.patch60
-rw-r--r--staging/xulrunner/port_gnomevfs_to_gio.patch1316
-rw-r--r--staging/xulrunner/xulrunner-omnijar.patch1737
-rw-r--r--staging/xulrunner/xulrunner-version.patch12
-rw-r--r--testing/avahi/PKGBUILD75
-rw-r--r--testing/avahi/avahi-daemon-dbus.patch11
-rw-r--r--testing/avahi/avahi.install21
-rw-r--r--testing/avahi/gnome-nettool.pngbin4509 -> 0 bytes
-rw-r--r--testing/glib2/PKGBUILD48
-rw-r--r--testing/glib2/glib2.csh1
-rw-r--r--testing/glib2/glib2.sh1
-rw-r--r--testing/gtk3/PKGBUILD36
-rw-r--r--testing/gtk3/gtk3.install15
-rw-r--r--testing/gtk3/settings.ini2
-rw-r--r--testing/iproute2/PKGBUILD50
-rw-r--r--testing/iproute2/iproute2-fhs.patch84
-rw-r--r--testing/jfsutils/PKGBUILD24
-rw-r--r--testing/man-db/1361_1360.diff25
-rw-r--r--testing/man-db/PKGBUILD60
-rw-r--r--testing/man-db/convert-mans11
-rwxr-xr-xtesting/man-db/man-db.cron.daily39
-rw-r--r--testing/man-db/man-db.install22
-rw-r--r--testing/nx-common/NXproto.h.64bit.diff66
-rw-r--r--testing/nx-common/PKGBUILD54
-rw-r--r--testing/nx-common/nxcompsh-gcc43.patch19
-rw-r--r--testing/nxserver/NXproto.h.64bit.diff66
-rw-r--r--testing/nxserver/PKGBUILD92
-rw-r--r--testing/nxserver/nxcompsh-gcc43.patch19
-rw-r--r--testing/pidgin/nm09-pidgin.patch38
-rw-r--r--testing/pixman/PKGBUILD33
-rw-r--r--testing/udev/81-arch.rules83
-rw-r--r--testing/udev/PKGBUILD101
-rw-r--r--testing/udev/static-audio-nodes-group.patch27
-rw-r--r--testing/udev/static-nodes-permissions.patch57
-rw-r--r--testing/udev/udev.install65
-rw-r--r--testing/vigra/PKGBUILD36
-rw-r--r--testing/vigra/vigra-1.7.1.gcc460.patch33
-rw-r--r--testing/yp-tools/PKGBUILD26
-rw-r--r--testing/ypbind-mt/PKGBUILD39
-rw-r--r--testing/ypbind-mt/nisdomainname.conf4
-rwxr-xr-xtesting/ypbind-mt/ypbind35
-rw-r--r--testing/ypbind-mt/ypbind.conf4
195 files changed, 0 insertions, 14979 deletions
diff --git a/community-staging/calibre/PKGBUILD b/community-staging/calibre/PKGBUILD
deleted file mode 100644
index 5ad10d94b..000000000
--- a/community-staging/calibre/PKGBUILD
+++ /dev/null
@@ -1,67 +0,0 @@
-# $Id: PKGBUILD 48634 2011-06-03 16:47:30Z stephane $
-# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
-# Contributor: Petrov Roman <nwhisper@gmail.com>
-# Contributor: Andrea Fagiani <andfagiani _at_ gmail dot com>
-
-pkgname=calibre
-pkgver=0.8.3
-pkgrel=2
-pkgdesc="Ebook management application"
-arch=('i686' 'x86_64')
-url="http://calibre-ebook.com/"
-license=('GPL3')
-depends=('python-dateutil' 'python2-cssutils' 'python2-cherrypy'
- 'python-mechanize' 'podofo' 'libwmf' 'python-beautifulsoup'
- 'imagemagick' 'poppler-qt' 'chmlib' 'python-lxml' 'libusb'
- 'python-imaging' 'desktop-file-utils' 'shared-mime-info'
- 'python-dnspython' 'unrar' 'python2-pyqt' 'icu')
-makedepends=('python2-pycountry')
-optdepends=('ipython: to use calibre-debug')
-install=calibre.install
-source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz
- desktop_integration.patch)
-md5sums=('aee05cac444f68491f2a3d68b22da53e'
- 'f4b80e3b34e34bce68b3f052ff52dee8')
-
-build() {
- cd "${srcdir}/${pkgname}"
-
- #rm -rf src/{cherrypy,pyPdf}
- rm -rf src/cherrypy
- sed -i -e "s/ldflags = shlex.split(ldflags)/ldflags = shlex.split(ldflags) + ['-fPIC']/" setup/extensions.py
- sed -i -e 's:\(#!/usr/bin/env[ ]\+python$\|#!/usr/bin/python$\):\12:g' \
- $(find . -regex ".*.py\|.*.recipe")
-
- python2 setup.py build
- python2 setup.py resources
- python2 setup.py translations
-}
-
-package() {
- cd "${srcdir}/${pkgname}"
-
- patch -Np1 -i "${srcdir}/desktop_integration.patch"
-
- # More on desktop integration (e.g. enforce arch defaults)
- sed -i -e "/self.create_uninstaller()/,/os.rmdir(config_dir)/d" \
- -e "s|self.opts.staging_sharedir, 'man/man1'|self.opts.staging_root, 'usr/share/man/man1'|" \
- -e "s|manpath, prog+'.1'+__appname__+'.bz2'|manpath, prog+'.1'+'.bz2'|" \
- -e "s|old_udev = '/etc|old_udev = '${pkgdir}/etc|" \
- -e "s/^Name=calibre/Name=Calibre/g" src/calibre/linux.py
-
- # Fix the environment module location
- sed -i -e "s|(prefix=.*)|(prefix='$pkgdir/usr')|g" setup/install.py
-
- install -d "${pkgdir}/usr/lib/python2.7/site-packages"
- python2 setup.py install --root="${pkgdir}" --prefix=/usr \
- --staging-bindir="${pkgdir}/usr/bin" \
- --staging-libdir="${pkgdir}/usr/lib" \
- --staging-sharedir="${pkgdir}/usr/share"
-
- find "${pkgdir}" -type d -empty -delete
-
- # Decompress the man pages so makepkg will do it for us.
- for decom in "${pkgdir}"/usr/share/man/man1/*.bz2; do
- bzip2 -d "${decom}"
- done
-}
diff --git a/community-staging/calibre/calibre.install b/community-staging/calibre/calibre.install
deleted file mode 100644
index 6210bd0ab..000000000
--- a/community-staging/calibre/calibre.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- update-desktop-database -q
- update-mime-database usr/share/mime &> /dev/null
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/community-staging/calibre/desktop_integration.patch b/community-staging/calibre/desktop_integration.patch
deleted file mode 100644
index 40d48c03e..000000000
--- a/community-staging/calibre/desktop_integration.patch
+++ /dev/null
@@ -1,68 +0,0 @@
---- a/src/calibre/linux.py 2011-05-27 18:42:14.000000000 +0200
-+++ b/src/calibre/linux.py 2011-05-29 14:57:49.000000000 +0200
-@@ -340,51 +340,39 @@
-
- with TemporaryDirectory() as tdir:
- with CurrentDir(tdir):
-- render_img('mimetypes/lrf.png', 'calibre-lrf.png')
-- check_call('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-lrf.png application-lrf', shell=True)
-- self.icon_resources.append(('mimetypes', 'application-lrf', '128'))
-- check_call('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-lrf.png text-lrs', shell=True)
-- self.icon_resources.append(('mimetypes', 'application-lrs',
-- '128'))
-- render_img('lt.png', 'calibre-gui.png')
-- check_call('xdg-icon-resource install --noupdate --size 128 calibre-gui.png calibre-gui', shell=True)
-- self.icon_resources.append(('apps', 'calibre-gui', '128'))
-- render_img('viewer.png', 'calibre-viewer.png')
-- check_call('xdg-icon-resource install --size 128 calibre-viewer.png calibre-viewer', shell=True)
-- self.icon_resources.append(('apps', 'calibre-viewer', '128'))
-+ dir = os.path.join(self.opts.staging_sharedir,'../pixmaps')
-+ os.mkdir(dir)
-+ render_img('mimetypes/lrf.png', os.path.join(dir,'calibre-lrf.png'))
-+ render_img('lt.png', os.path.join(dir, 'calibre-gui.png'))
-+ render_img('viewer.png', os.path.join(dir, 'calibre-viewer.png'))
-
- mimetypes = set([])
- for x in all_input_formats():
- mt = guess_type('dummy.'+x)[0]
-- if mt and 'chemical' not in mt and 'ctc-posml' not in mt:
-+ if mt and 'chemical' not in mt and 'text' not in mt and 'pdf' not in mt and 'xhtml' not in mt:
- mimetypes.add(mt)
-
- def write_mimetypes(f):
- f.write('MimeType=%s;\n'%';'.join(mimetypes))
-
-- f = open('calibre-lrfviewer.desktop', 'wb')
-+ dir = os.path.join(self.opts.staging_sharedir,'../applications')
-+ os.mkdir(dir)
-+ f = open(os.path.join(dir, 'calibre-lrfviewer.desktop'), 'wb')
- f.write(VIEWER)
- f.close()
-- f = open('calibre-ebook-viewer.desktop', 'wb')
-+ f = open(os.path.join(dir, 'calibre-ebook-viewer.desktop'), 'wb')
- f.write(EVIEWER)
- write_mimetypes(f)
- f.close()
-- f = open('calibre-gui.desktop', 'wb')
-+ f = open(os.path.join(dir, 'calibre-gui.desktop'), 'wb')
- f.write(GUI)
- write_mimetypes(f)
- f.close()
-- des = ('calibre-gui.desktop', 'calibre-lrfviewer.desktop',
-- 'calibre-ebook-viewer.desktop')
-- for x in des:
-- cmd = ['xdg-desktop-menu', 'install', '--noupdate', './'+x]
-- check_call(' '.join(cmd), shell=True)
-- self.menu_resources.append(x)
-- check_call(['xdg-desktop-menu', 'forceupdate'])
-- f = open('calibre-mimetypes', 'wb')
-+ dir = os.path.join(self.opts.staging_sharedir,'../mime/packages/')
-+ os.makedirs(dir)
-+ f = open(os.path.join(dir, 'calibre.xml'), 'wb')
- f.write(MIME)
- f.close()
-- self.mime_resources.append('calibre-mimetypes')
-- check_call('xdg-mime install ./calibre-mimetypes', shell=True)
- except Exception:
- if self.opts.fatal_errors:
- raise
diff --git a/community-staging/couchdb/PKGBUILD b/community-staging/couchdb/PKGBUILD
deleted file mode 100644
index 4327a8094..000000000
--- a/community-staging/couchdb/PKGBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# $Id: PKGBUILD 48637 2011-06-03 16:51:06Z stephane $
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Contributor: Vitaliy Berdinskikh ur6lad[at]i.ua
-# Previous Contributor: Michael Fellinger <m.fellinger@gmail.com>
-
-pkgname=couchdb
-pkgver=1.0.2
-pkgrel=3
-pkgdesc="A document-oriented database that can be queried and indexed in a MapReduce fashion using JSON"
-arch=('i686' 'x86_64')
-url="http://couchdb.apache.org"
-license=('APACHE')
-depends=('icu' 'erlang' 'spidermonkey' 'openssl' 'curl')
-makedepends=('gcc')
-install=couchdb.install
-options=('!libtool')
-backup=('etc/couchdb/local.ini'
- 'etc/conf.d/couchdb'
- 'etc/logrotate.d/couchdb')
-source=("http://www.apache.org/dist/$pkgname/$pkgver/apache-$pkgname-$pkgver.tar.gz"
- "rc-script.patch")
-md5sums=('7ffbbe0f23f672181c89923c9f7a1de1'
- 'e9b5595338efbdc1a5db13284a296612')
-
-build() {
- cd "$srcdir/apache-$pkgname-$pkgver"
-
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
- make
- patch etc/init/couchdb <$srcdir/rc-script.patch
- make DESTDIR="$pkgdir" install
-
- install -Dm755 etc/default/couchdb $pkgdir/etc/conf.d/couchdb
- sed -i 's|\(CONFIGURATION_FILE=/etc/\)default\(/couchdb\)|\1conf.d\2|' $pkgdir/etc/rc.d/couchdb
- sed -i 's|\(COUCHDB_OPTIONS=\)|\1"-p /var/run/couchdb/couchdb.pid"|' $pkgdir/etc/conf.d/couchdb
- sed -i 's|$COUCHDB -s|$COUCHDB $COUCHDB_OPTIONS -s|' $pkgdir/etc/rc.d/couchdb
- sed -i 's|su $COUCHDB_USER -c|su $COUCHDB_USER -s /bin/bash -c|' $pkgdir/etc/rc.d/couchdb
-
- rm -rf $pkgdir/etc/default/ $pkgdir/var/run
-}
diff --git a/community-staging/couchdb/couchdb.install b/community-staging/couchdb/couchdb.install
deleted file mode 100644
index 5eff459c7..000000000
--- a/community-staging/couchdb/couchdb.install
+++ /dev/null
@@ -1,22 +0,0 @@
-post_install() {
- id couchdb &>/dev/null || \
- useradd -r -c "CouchDB daemon" -g daemon -d /var/lib/couchdb -s /bin/false couchdb
- mkdir -p /var/run/couchdb
- chown -R couchdb.daemon /etc/couchdb
- chown -R couchdb.daemon /var/{lib,log,run}/couchdb
-}
-
-pre_upgrade() {
- id couchdb &>/dev/null || \
- useradd -r -c "CouchDB daemon" -g daemon -d /var/lib/couchdb -s /bin/false couchdb
-}
-
-post_upgrade() {
- mkdir -p $pkgdir/var/run/couchdb
- chown -R couchdb.daemon /etc/couchdb
- chown -R couchdb.daemon /var/{lib,log,run}/couchdb
-}
-
-post_remove() {
- userdel couchdb &>/dev/null
-}
diff --git a/community-staging/couchdb/rc-script.patch b/community-staging/couchdb/rc-script.patch
deleted file mode 100644
index d38f4dc6c..000000000
--- a/community-staging/couchdb/rc-script.patch
+++ /dev/null
@@ -1,90 +0,0 @@
---- couchdb.org 2011-04-01 19:56:32.000000000 +0000
-+++ couchdb 2011-04-01 19:59:17.000000000 +0000
-@@ -1,4 +1,7 @@
--#!/bin/sh -e
-+#!/bin/bash
-+#general config
-+. /etc/rc.conf
-+. /etc/rc.d/functions
-
- # Licensed under the Apache License, Version 2.0 (the "License"); you may not
- # use this file except in compliance with the License. You may obtain a copy of
-@@ -29,7 +32,7 @@
- NAME=couchdb
- SCRIPT_NAME=`basename $0`
- COUCHDB=/usr/bin/couchdb
--CONFIGURATION_FILE=/etc/default/couchdb
-+CONFIGURATION_FILE=/etc/conf.d/couchdb
- RUN_DIR=/var/run/couchdb
- LSB_LIBRARY=/lib/lsb/init-functions
-
-@@ -61,8 +63,9 @@
- fi
-
- start_couchdb () {
-- # Start Apache CouchDB as a background process.
-+ stat_busy "Starting the CouchDB daemon"
-
-+ [ -d /var/run/couchdb ] || mkdir -p /var/run/couchdb
- command="$COUCHDB -b"
- if test -n "$COUCHDB_STDOUT_FILE"; then
- command="$command -o $COUCHDB_STDOUT_FILE"
-@@ -79,38 +82,38 @@
- mkdir -p "$RUN_DIR"
- if test -n "$COUCHDB_USER"; then
- chown $COUCHDB_USER "$RUN_DIR"
-- if su $COUCHDB_USER -c "$command" > /dev/null; then
-- return $SCRIPT_OK
-+ if su $COUCHDB_USER -s /bin/bash -c "$command" > /dev/null; then
-+ stat_done
- else
-- return $SCRIPT_ERROR
-+ stat_fail
- fi
- else
- if $command > /dev/null; then
-- return $SCRIPT_OK
-+ stat_done
- else
-- return $SCRIPT_ERROR
-+ stat_fail
- fi
- fi
- }
-
- stop_couchdb () {
-- # Stop the running Apache CouchDB process.
-+ stat_busy "Stopping the CouchDB daemon"
-
- command="$COUCHDB -d"
- if test -n "$COUCHDB_OPTIONS"; then
- command="$command $COUCHDB_OPTIONS"
- fi
- if test -n "$COUCHDB_USER"; then
-- if su $COUCHDB_USER -c "$command" > /dev/null; then
-- return $SCRIPT_OK
-+ if su $COUCHDB_USER -s /bin/bash -c "$command" > /dev/null; then
-+ stat_done
- else
-- return $SCRIPT_ERROR
-+ stat_fail
- fi
- else
- if $command > /dev/null; then
-- return $SCRIPT_OK
-+ stat_done
- else
-- return $SCRIPT_ERROR
-+ stat_fail
- fi
- fi
- }
-@@ -118,7 +121,7 @@
- display_status () {
- # Display the status of the running Apache CouchDB process.
-
-- $COUCHDB -s
-+ $COUCHDB $COUCHDB_OPTIONS -s
- }
-
- parse_script_option_list () {
diff --git a/community-staging/dwdiff/PKGBUILD b/community-staging/dwdiff/PKGBUILD
deleted file mode 100644
index 4585b2ae9..000000000
--- a/community-staging/dwdiff/PKGBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# $Id: PKGBUILD 48640 2011-06-03 16:55:04Z stephane $
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-
-pkgname=dwdiff
-pkgver=1.9
-pkgrel=2
-pkgdesc="a front-end for the diff program that operates at the word level instead of the line level"
-arch=('i686' 'x86_64')
-url="http://os.ghalkes.nl/dwdiff.html"
-depends=('diffutils' 'icu')
-license=('GPL')
-source=(http://os.ghalkes.nl/dist/$pkgname-$pkgver.tgz)
-md5sums=('f483d8d8dab7a972ef21d5096e07fd47')
-
-build() {
- cd "$srcdir/$pkgname-$pkgver"
- ./configure --prefix=/usr
- make
-}
-
-package() {
- cd "$srcdir/$pkgname-$pkgver"
- make prefix="$pkgdir"/usr install
-}
diff --git a/community-staging/gnustep-base/ChangeLog b/community-staging/gnustep-base/ChangeLog
deleted file mode 100644
index 590f23f5e..000000000
--- a/community-staging/gnustep-base/ChangeLog
+++ /dev/null
@@ -1,6 +0,0 @@
-2007-07-24 Snowman <eric@archlinux>
- * rebuilt against toolchain in current
- * fixed SMP build
- * fixed file ownership
-2007-06-26 tardo <tardo@nagi-fanboi.net>
-* Built for x86_64
diff --git a/community-staging/gnustep-base/PKGBUILD b/community-staging/gnustep-base/PKGBUILD
deleted file mode 100644
index a2a05176b..000000000
--- a/community-staging/gnustep-base/PKGBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# $Id: PKGBUILD 48665 2011-06-03 22:32:57Z stephane $
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
-# Contributor: Sebastian Sareyko <public@nooms.de>
-
-pkgname=gnustep-base
-pkgver=1.22.0
-pkgrel=2
-pkgdesc="The GNUstep base package"
-arch=('i686' 'x86_64')
-url="http://www.gnustep.org/"
-license=("GPL" "LGPL")
-depends=(libxslt avahi gmp gcc-libs openssl libffi gnustep-make gnutls)
-makedepends=(gcc-objc)
-conflicts=('gnustep-base-svn')
-groups=('gnustep-core')
-options=('!emptydirs' '!makeflags')
-source=(ftp://ftp.gnustep.org/pub/gnustep/core/$pkgname-$pkgver.tar.gz)
-md5sums=('7faab4891ae6c1e7a6c806d6da368410')
-
-build() {
- cd "$srcdir/$pkgname-$pkgver"
- source /etc/profile.d/GNUstep.sh
- ./configure --prefix=/usr --sysconfdir=/etc/GNUstep --with-ffi-include=/usr/lib/libffi-3.0.9/include/
- # fix file ownership
- sed -i 's/tar -xf $(TIMEZONE_ARCHIVE);/tar -xf $(TIMEZONE_ARCHIVE);chown -R root:root * ;/' NSTimeZones/Makefile.postamble
- make VERBOSE=1
-}
-
-package() {
- cd "$srcdir/$pkgname-$pkgver"
- make DESTDIR="$pkgdir" install
- chown -R root.root "$pkgdir/"
-}
diff --git a/community-staging/goldendict/PKGBUILD b/community-staging/goldendict/PKGBUILD
deleted file mode 100644
index 237e20083..000000000
--- a/community-staging/goldendict/PKGBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# $Id: PKGBUILD 48628 2011-06-03 15:58:27Z stephane $
-# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
-# Contributor: m0rph <m0rph.mailbox@gmail.com>
-
-pkgname=goldendict
-pkgver=1.0.1
-pkgrel=3
-pkgdesc="Feature-rich dictionary lookup program"
-arch=('i686' 'x86_64')
-url="http://goldendict.berlios.de/"
-license=('GPL3')
-depends=('hunspell' 'libvorbis' 'libxtst' 'libzip' 'openssl' 'phonon')
-makedepends=('patch')
-changelog=$pkgname.changelog
-source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver-src.tar.bz2 \
- $pkgname-paths.diff)
-md5sums=('d56bb854936015104029d1f0b98b61bb'
- '4488d4353e5522796c00785f0ce265e1')
-
-build(){
- cd ${srcdir}
-
- patch -Np0 -i ${srcdir}/$pkgname-paths.diff
-
- qmake
- make
- qmake
-}
-
-package() {
- cd ${srcdir}
-
- make INSTALL_ROOT=${pkgdir} install
-
-#removing unneeded
- rm -rf ${pkgdir}/usr/share/app-install
-}
diff --git a/community-staging/goldendict/goldendict-paths.diff b/community-staging/goldendict/goldendict-paths.diff
deleted file mode 100644
index 812dfdb97..000000000
--- a/community-staging/goldendict/goldendict-paths.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- goldendict.pro~ 2010-12-27 22:52:21.000000000 +0100
-+++ goldendict.pro 2010-12-27 22:52:21.000000000 +0100
-@@ -63,2 +63,2 @@
-- isEmpty( PREFIX ):PREFIX = /usr/local
-- DEFINES += PROGRAM_DATA_DIR=\\\"$$PREFIX/share/apps/goldendict/\\\"
-+ isEmpty( PREFIX ):PREFIX = /usr
-+ DEFINES += PROGRAM_DATA_DIR=\\\"$$PREFIX/share/goldendict/\\\"
-@@ -66 +66 @@
-- locale.path = $$PREFIX/share/apps/goldendict/locale/
-+ locale.path = $$PREFIX/share/goldendict/locale/
diff --git a/community-staging/goldendict/goldendict.changelog b/community-staging/goldendict/goldendict.changelog
deleted file mode 100644
index 8ec311fe1..000000000
--- a/community-staging/goldendict/goldendict.changelog
+++ /dev/null
@@ -1,8 +0,0 @@
-2010-12-27 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
- * Update to major release 1.0.1
-
-2010-02-16 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
- * FS#18350 fixed in 0.9.0-5
-
-2009-06-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
- * Package moved to [community] in v0.9.0
diff --git a/community-staging/ibus-qt/PKGBUILD b/community-staging/ibus-qt/PKGBUILD
deleted file mode 100644
index 51d3beb3d..000000000
--- a/community-staging/ibus-qt/PKGBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# $Id: PKGBUILD 48593 2011-06-03 07:34:58Z andrea $
-# Maintainer: Thomas Dziedzic < gostrc at gmail >
-# Contributor: garion < garion @ mailoo.org >
-# Contributor: leemars
-
-pkgname=ibus-qt
-pkgver=1.3.1
-pkgrel=3
-pkgdesc='IBus qt library and IBus qt input method plugin'
-arch=('i686' 'x86_64')
-license=('LGPL')
-url='http://ibus.googlecode.com'
-depends=('qt' 'ibus' 'icu')
-makedepends=('cmake' 'automoc4' 'doxygen')
-source=("http://ibus.googlecode.com/files/${pkgname}-${pkgver}-Source.tar.gz")
-md5sums=('769e8872ca8a59327b2073ce2f142589')
-
-build() {
- cd "${srcdir}"
- mkdir build
- cd build
-
- cmake ../${pkgname}-${pkgver}-Source \
- -DCMAKE_INSTALL_PREFIX=/usr
- make
-}
-
-package() {
- cd "${srcdir}"/build
- make DESTDIR="${pkgdir}" install
-}
diff --git a/community-staging/libfbclient/ChangeLog b/community-staging/libfbclient/ChangeLog
deleted file mode 100644
index f02bd5ff5..000000000
--- a/community-staging/libfbclient/ChangeLog
+++ /dev/null
@@ -1,26 +0,0 @@
-
-2009-06-08 Douglas Soares de Andrade <douglas@archlinux.org>
-
- * Rebuilt for the new icu
-
-2009-04-09 Douglas Soares de Andrade <douglas@archlinux.org>
-
- * Updated for i686: 2.1.2
-
-2008-08-10 Douglas Soares de Andrade <douglas@archlinux.org>
-
- * Updated for i686: 2.1.1
-
-2008-05-10 Mateusz Herych <heniekk@gmail.com>
-
- * Updated for x86_64 - 2.1.0
-
-2008-04-28 Douglas Soares de Andrade <dsa@aur.archlinux.org>
-
- * Updated for i686 - 2.1.0
- * Sure, firebird is the hell to build. Waiting contributions ;-)
-
-2007-07-06 tardo <tardo@nagi-fanboi.net>
-
- * Built for x86_64
- * This is the most fucked up pkg evar.
diff --git a/community-staging/libfbclient/LICENSE b/community-staging/libfbclient/LICENSE
deleted file mode 100644
index e735b0cc1..000000000
--- a/community-staging/libfbclient/LICENSE
+++ /dev/null
@@ -1,44 +0,0 @@
-
-LICENSES
---------
-
-The applicable and approved licenses for the source files
-of the Firebird RDBMS project are:
-
- 1) InterBase Public License (IPL), version 1.0
- http://bdn.borland.com/article/0,1410,30198,00.html
-
- 2) Initial Developer's Public License (IDPL), version 1.0
- http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl
-
-The IPL is copyright of Borland Corp., the other licenses are copyright
-by the source code authors and contributors.
-
-
-USAGE RULES
------------
-
-1) The source code which was released under the IPL must keep this license.
- All modifications / adaptations of this code are still subjects of the IPL.
-
-2) The files that are derived from the IPL covered code, must also keep
- this license. It means that if any new file contains some code covered by
- the IPL, then this file should be released under the IPL too.
-
-3) The new files developed by the members of the Firebird project should
- be released under the IDPL.
-
-4) The new files contributed by people who are not members of the Firebird
- project should follow the rule #3. If an author (initial developer) doesn't
- specify the license to be used, the person who applies the contributed code
- to the CVS tree (a committer) becomes responsible for the license assigned
- to the contributed code.
-
-5) Every non-binary file that exists in the CVS tree, should have a header
- section which describes the license this code is released under. If a file
- contains no header, it means that this code is freeware and nobody owns the
- appropriate copyrights.
-
-
-You may find the exhibits for the approved licenses in /doc/license directory
-of the CVS tree.
diff --git a/community-staging/libfbclient/PKGBUILD b/community-staging/libfbclient/PKGBUILD
deleted file mode 100755
index 26409e5a0..000000000
--- a/community-staging/libfbclient/PKGBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# $Id: PKGBUILD 48689 2011-06-04 20:28:04Z lcarlier $
-# Maintainer: Carlier Laurent <lordheavym@gmail.com>
-# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
-
-pkgname=libfbclient
-pkgver=2.5.0.26074
-pkgrel=3
-pkgdesc="Client library for Firebird."
-arch=('i686' 'x86_64')
-url="http://www.firebirdsql.org/"
-license=('custom')
-depends=('gcc-libs' 'icu')
-source=(http://downloads.sourceforge.net/firebird/Firebird-$pkgver-0.tar.bz2
- LICENSE)
-md5sums=('780f162ee71f087fc277adf09f966529'
- '0d61798861e159c85dbdf0f30fe2f2ce')
-
-build() {
- cd $srcdir/Firebird-$pkgver-0
-
- ./configure --prefix=/usr --with-system-icu --without-fbudf \
- --without-fbsbin --without-fbconf --without-fbdoc --without-fbsample \
- --without-fbsample-db --without-fbintl --without-fbmisc --without-fbhelp \
- --without-fbsecure-db --with-fbmsg=/usr/share/firebird --without-fblog \
- --without-fbglock --without-fbplugins
-
- make
-}
-
-package() {
- cd $srcdir/Firebird-$pkgver-0
-
- mkdir -p $pkgdir/usr/{bin,share/firebird}
- cp -R gen/firebird/{lib,include} $pkgdir/usr
- rm -f $pkgdir/usr/lib/libedit.a
- install -m644 gen/firebird/*.msg $pkgdir/usr/share/firebird
- install -m755 gen/firebird/bin/fb_config $pkgdir/usr/bin
- mkdir -p $srcdir/usr/share/licenses/$pkgname/
- install -D -m644 ${srcdir}/LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
-}
diff --git a/community-staging/libmicrohttpd/PKGBUILD b/community-staging/libmicrohttpd/PKGBUILD
deleted file mode 100644
index c942a6761..000000000
--- a/community-staging/libmicrohttpd/PKGBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# $Id: PKGBUILD 47393 2011-05-22 11:59:43Z jelle $
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Maintainer: Norberto Lopes <shelika@mail.telepac.pt>
-# Contributor: Kao Dome <kaodome@gmail.com>
-# Contributor: Dmitrij D. Czarkoff <czarkoff@gmail.com>
-# Contributor: Mathias Rohnstock <linksoft@gmx.de>
-
-pkgname=libmicrohttpd
-pkgver=0.9.11
-pkgrel=1
-pkgdesc="a small C library that is supposed to make it easy to run an HTTP server as part of another application."
-arch=('i686' 'x86_64')
-url="http://www.gnu.org/software/libmicrohttpd/"
-license=('LGPL')
-options=('!libtool')
-depends=('gnutls')
-install=libmicrohttpd.install
-source=(ftp://ftp.gnu.org/gnu/libmicrohttpd/$pkgname-$pkgver.tar.gz)
-md5sums=('69b97b11437e53863e92d5f0221f339b')
-
-build() {
- cd ${pkgname}-${pkgver}
- ./configure --prefix=/usr --disable-dependency-tracking --enable-largefile \
- --enable-curl --enable-messages --with-pic
- make
-}
-
-package() {
- cd ${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} install
- install -Dm644 ${srcdir}/${pkgname}-${pkgver}/src/include/platform.h \
- ${pkgdir}/usr/include/$pkgname/platform.h
- install -Dm644 ${srcdir}/${pkgname}-${pkgver}/src/include/plibc/plibc.h \
- ${pkgdir}/usr/include/$pkgname/plibc.h
- sed -i 's#Cflags: -I${includedir}#Cflags: -I${includedir} -I{includedir}/libmicrohttpd#' \
- $pkgdir/usr/lib/pkgconfig/libmicrohttpd.pc
-}
diff --git a/community-staging/libmicrohttpd/libmicrohttpd.install b/community-staging/libmicrohttpd/libmicrohttpd.install
deleted file mode 100644
index dc0d2b996..000000000
--- a/community-staging/libmicrohttpd/libmicrohttpd.install
+++ /dev/null
@@ -1,20 +0,0 @@
-infodir=usr/share/info
-filelist=(microhttpd.info microhttpd-tutorial.info)
-
-post_install() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- [ -x usr/bin/install-info ] || return 0
- for file in ${filelist[@]}; do
- install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
- done
-}
diff --git a/community-staging/mapnik/PKGBUILD b/community-staging/mapnik/PKGBUILD
deleted file mode 100644
index a008e5c60..000000000
--- a/community-staging/mapnik/PKGBUILD
+++ /dev/null
@@ -1,52 +0,0 @@
-# $Id: PKGBUILD 48662 2011-06-03 19:43:21Z stephane $
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Contributor: David Dent <thewinch@gmail.com>
-# Contributor: orbisvicis <orbisvicis@gmail.com>
-
-pkgname=mapnik
-pkgver=0.7.1
-pkgrel=10
-pkgdesc="Free Toolkit for developing mapping applications. Above all Mapnik is about rendering beautiful maps."
-arch=('i686' 'x86_64')
-url="http://mapnik.org/"
-license=('LGPL')
-depends=('boost-libs' 'icu' 'libpng' 'libjpeg' 'libtiff' 'freetype2'
- 'libxml2' 'python2' 'proj' 'cairo' 'cairomm' 'pycairo'
- 'postgresql-libs' 'postgis' 'gdal' 'curl' 'libtool')
- # already in core ('zlib' 'sqlite3')
-optdepends=('libxslt: Web Map Service'
- 'python-lxml: Web Map Service'
- 'python-imaging: Web Map Service'
- 'python-nose: Web Map Service'
- 'apache: Web Map Service'
- 'mod_fastcgi: Web Map Service - or:'
- 'mod_fcgid: Web Map Service - or:'
- 'mod_wsgi: Web Map Service'
- )
-makedepends=('scons' 'boost') # already in core ('pkg-config')
-conflicts=('mapnik-svn')
-install="mapnik.install"
-source=("http://download.berlios.de/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
-md5sums=('8f65fda2a792518d6f6be8a85f62fc73')
-
-build() {
- cd "$srcdir/$pkgname-$pkgver"
-
- #patch SConstruct so libs end up in /usr/lib not /usr/lib64 on X86_64
- sed -i -e "/LIBDIR_SCHEMA=/s/lib64/lib/" SConstruct
-
- sed -i 's/-ansi -Wall/-ansi -DBOOST_FILESYSTEM_VERSION=2 -Wall/' SConstruct
-
- scons configure \
- PREFIX="/usr" \
- INPUT_PLUGINS=all \
- DESTDIR="$pkgdir"
- scons
-}
-package(){
- cd "$srcdir/$pkgname-$pkgver"
- scons install
-
- # fix permissions on SCons-autogenerated files
- chmod 644 "${pkgdir}/usr/lib/python2.7/site-packages/mapnik/paths.py"
-}
diff --git a/community-staging/mapnik/mapnik.install b/community-staging/mapnik/mapnik.install
deleted file mode 100644
index 46f265d5b..000000000
--- a/community-staging/mapnik/mapnik.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- /sbin/ldconfig
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/community-staging/open-vm-tools/PKGBUILD b/community-staging/open-vm-tools/PKGBUILD
deleted file mode 100644
index 9a97df2e4..000000000
--- a/community-staging/open-vm-tools/PKGBUILD
+++ /dev/null
@@ -1,68 +0,0 @@
-# $Id: PKGBUILD 48659 2011-06-03 19:34:11Z stephane $
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Contributor: Krzysztof Raczkowski <raczkow@gmail.com>
-
-pkgname=open-vm-tools
-pkgver=2011.03.28
-_pkgsubver=387002
-pkgrel=4
-pkgdesc="The Open Virtual Machine Tools (open-vm-tools) are the open source implementation of VMware Tools."
-arch=('i686' 'x86_64')
-url="http://open-vm-tools.sourceforge.net/"
-license=('LGPL')
-depends=('open-vm-tools-modules' 'libdnet' 'icu' 'procps' 'glib2' 'uriparser' 'libsigc++' 'libxss')
-makedepends=('chrpath' 'doxygen' 'gtkmm' 'fuse' 'libxtst')
-optdepends=('gtkmm' 'libnotify' 'libxtst' 'fuse' 'libsm')
-options=('docs' '!libtool')
-install=$pkgname.install
-source=(http://switch.dl.sourceforge.net/$pkgname/$pkgname-$pkgver-${_pkgsubver}.tar.gz
- scripts-network.patch
- scripts-network-FS19541.patch
- open-vm-tools-X11Bool.patch
- open-vm-tools.conf.d
- open-vm-tools.rc.d
- tools.conf
- vmware-guestd
- xautostart.conf)
-md5sums=('a9c72ab0b8f7778d444e69e9d3b95527'
- '06f7448e274db2a911f582e276088fc9'
- 'b183ec265200d68431a5e4eb1b0c8cf5'
- '8c333a979578bdc0c3134c1dd6bb7353'
- '79b0a14d86191fee70a4639da8bd7785'
- '67cb83a9e5a4dd016c1a1da2863ca36d'
- 'b55d15e2c4be396aad709aeca91033d3'
- '73cc1a2665b0dd62427733d62ead8b9a'
- '75a25d83417e683957321f97a00f8465')
-
-build() {
- cd "$srcdir/$pkgname-${pkgver}-${_pkgsubver}"
- [ $NOEXTRACT -eq 1 ] || {
- sed -i 's#3.2.7#3.2.8#' configure configure.ac
- sed -i 's#CFLAGS="$CFLAGS -Werror"##' configure configure.ac
- }
- [ -f Makefile ] || ./configure --prefix=/usr --without-kernel-modules
- make
-}
-
-package() {
- cd "$srcdir/$pkgname-${pkgver}-${_pkgsubver}"
-
- make install DESTDIR=$pkgdir
- install -D -m 755 scripts/common/vmware-xdg-detect-de $pkgdir/usr/bin/vmware-xdg-detect-de
- chmod 07755 $pkgdir/usr/bin/vmware-user-suid-wrapper
-
- cd $pkgdir
- patch -Np1 -i $srcdir/scripts-network.patch etc/vmware-tools/scripts/vmware/network
- patch -Np1 -i $srcdir/scripts-network-FS19541.patch etc/vmware-tools/scripts/vmware/network
-
- install -D -m 755 $srcdir/open-vm-tools.rc.d $pkgdir/etc/rc.d/open-vm-tools
- install -D -m 644 $srcdir/open-vm-tools.conf.d $pkgdir/etc/conf.d/open-vm-tools
- install -D -m 644 $srcdir/tools.conf $pkgdir/etc/vmware-tools/tools.conf
- install -D -m 644 $srcdir/xautostart.conf $pkgdir/etc/vmware-tools/xautostart.conf
- install -D -m 644 $srcdir/vmware-guestd $pkgdir/etc/pam.d/vmware-guestd
- rm -rf $pkgdir/usr/etc
-
- ln -fs /usr/sbin/mount.vmhgfs $pkgdir/sbin/mount.vmhgfs
-
- cd $pkgdir && find -type f -exec sh -c "file {} | grep ELF >/dev/null && echo {} && chrpath -d {}" \;
-}
diff --git a/community-staging/open-vm-tools/open-vm-tools-X11Bool.patch b/community-staging/open-vm-tools/open-vm-tools-X11Bool.patch
deleted file mode 100644
index f12581807..000000000
--- a/community-staging/open-vm-tools/open-vm-tools-X11Bool.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -wbBur open-vm-tools-2010.08.24-292196.org/lib/include/vm_basic_types.h open-vm-tools-2010.08.24-292196/lib/include/vm_basic_types.h
---- open-vm-tools-2010.08.24-292196.org/lib/include/vm_basic_types.h 2010-08-24 19:59:22.000000000 +0000
-+++ open-vm-tools-2010.08.24-292196/lib/include/vm_basic_types.h 2010-08-30 09:38:48.000000000 +0000
-@@ -83,8 +83,11 @@
-
- /* STRICT ANSI means the Xserver build and X defines Bool differently. */
- #if !defined(__STRICT_ANSI__) || defined(__FreeBSD__) || defined(__MINGW32__)
-+# ifndef _XTYPEDEF_BOOL
-+# define _XTYPEDEF_BOOL
- typedef char Bool;
- #endif
-+#endif
-
- #ifndef FALSE
- #define FALSE 0
diff --git a/community-staging/open-vm-tools/open-vm-tools.conf.d b/community-staging/open-vm-tools/open-vm-tools.conf.d
deleted file mode 100644
index 83f7864e8..000000000
--- a/community-staging/open-vm-tools/open-vm-tools.conf.d
+++ /dev/null
@@ -1,6 +0,0 @@
-# Enable support for Drag'n'Drop
-VM_DRAG_AND_DROP="yes"
-
-# vmware-guestd settings
-GUESTD_BIN="/usr/sbin/vmware-guestd"
-PIDFILE="/var/run/vmware-guestd.pid"
diff --git a/community-staging/open-vm-tools/open-vm-tools.install b/community-staging/open-vm-tools/open-vm-tools.install
deleted file mode 100644
index 88d9b88e6..000000000
--- a/community-staging/open-vm-tools/open-vm-tools.install
+++ /dev/null
@@ -1,10 +0,0 @@
-post_install() {
- [ ! -d "/mnt/hgfs" ] && mkdir /mnt/hgfs
- echo ">>>"
- echo ">>> You can mount VMware Shared Folders via:"
- echo ">>> mount -t vmhgfs .host:/ /mnt/hgfs"
- echo ">>>"
- echo ">>> or by adding this line to /etc/fstab:"
- echo ">>> .host:/ /mnt/hgfs vmhgfs defaults 0 0"
- echo ">>>"
-}
diff --git a/community-staging/open-vm-tools/open-vm-tools.rc.d b/community-staging/open-vm-tools/open-vm-tools.rc.d
deleted file mode 100644
index 0c9221489..000000000
--- a/community-staging/open-vm-tools/open-vm-tools.rc.d
+++ /dev/null
@@ -1,101 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-# source application-specific settings
-[ -f /etc/conf.d/open-vm-tools ] && . /etc/conf.d/open-vm-tools
-
-PID=`pidof -o %PPID /usr/bin/vmtoolsd`
-case "$1" in
- start)
- stat_busy "Starting Open Virtual Machine Tools"
-
- if [ "$VM_DRAG_AND_DROP" == "yes" ]; then
- VMBLOCK=`grep -w vmblock /proc/modules`
- [ -z "$VMBLOCK" ] && modprobe vmblock
- if [ $? -gt 0 ]; then
- stat_fail
- exit 1
- fi
-
- DND_TMPDIR="/tmp/VMwareDnD"
- if [ ! -d "$DND_TMPDIR" ]; then
- mkdir $DND_TMPDIR
- chmod 1777 $DND_TMPDIR
- fi
-
- mount -t vmblock none /proc/fs/vmblock/mountPoint
- if [ $? -gt 0 ]; then
- stat_fail
- exit 1
- fi
- fi
-
-
- for m in vmhgfs vmsync; do
- VMMOD=`grep -w $m /proc/modules`
- [ -z "$VMMOD" ] && \
- { modprobe $m
- if [ $? -gt 0 ]; then
- stat_fail
- exit 1
- fi; }
- done
-
-
- [ -z "$PID" ] && /usr/bin/vmtoolsd --background $PIDFILE
- if [ $? -gt 0 ]; then
- stat_fail
- else
- add_daemon open-vm-tools
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping Open Virtual Machine Tools"
- [ ! -z "$PID" ] && kill $PID &>/dev/null
-# if [ $? -gt 0 ]; then
-# stat_fail
-# exit 1
-# fi
-
- for m in vmhgfs vmsync vmci; do
- VMMOD=`grep -w $m /proc/modules`
- [ ! -z "$VMMOD" ] && rmmod $m
- if [ $? -gt 0 ]; then
- stat_fail
- exit 4
- fi
- done
-
- if [ "$VM_DRAG_AND_DROP" == "yes" ]; then
- MOUNTPOINT=`grep -w "none /proc/fs/vmblock/mountPoint vmblock" /proc/modules`
- [ -z "$MOUNTPOINT" ] && umount /proc/fs/vmblock/mountPoint
- if [ $? -gt 0 ]; then
- stat_fail
- exit 5
- fi
-
- DND_TMPDIR="/tmp/VMwareDnD"
- rm -r $DND_TMPDIR
-
- VMBLOCK=`grep -w vmblock /proc/modules`
- [ ! -z "$VMBLOCK" ] && rmmod vmblock
- if [ $? -gt 0 ]; then
- stat_fail
- exit 6
- fi
- fi
-
- rm_daemon open-vm-tools
- stat_done
- ;;
- restart)
- $0 stop
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
-exit 0
diff --git a/community-staging/open-vm-tools/scripts-network-FS19541.patch b/community-staging/open-vm-tools/scripts-network-FS19541.patch
deleted file mode 100644
index 1f65b9824..000000000
--- a/community-staging/open-vm-tools/scripts-network-FS19541.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- network 2010-04-28 12:30:51.000000000 +0200
-+++ network.bak 2010-05-20 12:12:50.000000000 +0200
-@@ -76,7 +76,7 @@
- else
- echo `date` "[rescue_nic] activating $nic ..."
-
-- ifup $nic
-+ ifconfig $nic up
- exitCode=`expr $exitCode \| $?`
- fi
- done < $activeList
-@@ -103,7 +103,7 @@
- TranquilizeNetworkManager() {
- # `which' may be a bit noisy, so we'll shush it.
- dbusSend=`which dbus-send 2>/dev/null`
-- if [ $? -eq 0 ]; then
-+ if [ $? -eq 0 ] && [ `pidof dbus-daemon` ]; then
- # NetworkManager 0.6
- $dbusSend --system --dest=org.freedesktop.NetworkManager \
- /org/freedesktop/NetworkManager \
-@@ -133,7 +133,7 @@
- WakeNetworkManager() {
- # `which' may be a bit noisy, so we'll shush it.
- dbusSend=`which dbus-send 2>/dev/null`
-- if [ $? -eq 0 ]; then
-+ if [ $? -eq 0 ] && [ `pidof dbus-daemon` ]; then
- # NetworkManager 0.6
- $dbusSend --system --dest=org.freedesktop.NetworkManager \
- /org/freedesktop/NetworkManager \
-@@ -165,8 +165,8 @@
-
- # XXX Are these really necessary? If so, we should have seen customer
- # complaints by now.
-- which ifup >/dev/null 2>&1 || Panic "ifup not in search path."
-- which ifconfig >/dev/null 2>&1 || Panic "ifconfig not in search path."
-+# which ifup >/dev/null 2>&1 || Panic "ifup not in search path."
-+ which ifconfig >/dev/null 2>&1 || Panic "ifconfig not in search path."
-
- case "$1" in
- poweron-vm)
diff --git a/community-staging/open-vm-tools/scripts-network.patch b/community-staging/open-vm-tools/scripts-network.patch
deleted file mode 100644
index 13ea7f565..000000000
--- a/community-staging/open-vm-tools/scripts-network.patch
+++ /dev/null
@@ -1,63 +0,0 @@
---- network.org 2010-04-28 10:21:14.000000000 +0000
-+++ network 2010-04-28 10:24:00.000000000 +0000
-@@ -34,51 +34,6 @@
-
-
- #
--# find_networking_script --
--#
--# Searches common Linux distro init/rc paths to find a singular network
--# services script.
--#
--# Result:
--# Returns a valid networking script path on success or "error" on failure.
--#
--# Side effects:
--# None.
--#
--
--find_networking_script() {
-- local script="error"
-- for dir in "/etc/init.d" "/sbin/init.d" "/etc" "/etc/rc.d" ; do
-- if [ -d "$dir/rc0.d" ] &&
-- [ -d "$dir/rc1.d" ] &&
-- [ -d "$dir/rc2.d" ] &&
-- [ -d "$dir/rc3.d" ] &&
-- [ -d "$dir/rc4.d" ] &&
-- [ -d "$dir/rc5.d" ] &&
-- [ -d "$dir/rc6.d" ]; then
--
-- # Now find the appropriate networking script.
-- if [ -d "$dir/init.d" ]; then
-- if [ -x "$dir/init.d/network" ]; then
-- script="$dir/init.d/network"
-- elif [ -x "$dir/init.d/networking" ]; then
-- script="$dir/init.d/networking"
-- fi
-- else
-- if [ -x "$dir/network" ]; then
-- script="$dir/network"
-- elif [ -x "$dir/networking" ]; then
-- script="$dir/networking"
-- fi
-- fi
-- fi
-- done
--
-- echo "$script"
--}
--
--
--#
- # save_active_NIC_list --
- #
- # Records a list of every active NIC to /var/run/vmware-active-nics.
-@@ -205,7 +160,7 @@
- exitCode=0
- activeList=/var/run/vmware-active-nics
-
-- networkScript=`find_networking_script`
-+ networkScript=/etc/rc.d/network
- [ "$networkScript" != "error" ] || Panic "Cannot find system networking script."
-
- # XXX Are these really necessary? If so, we should have seen customer
diff --git a/community-staging/open-vm-tools/tools.conf b/community-staging/open-vm-tools/tools.conf
deleted file mode 100644
index 0bb2681b1..000000000
--- a/community-staging/open-vm-tools/tools.conf
+++ /dev/null
@@ -1 +0,0 @@
-bindir = "/usr/bin"
diff --git a/community-staging/open-vm-tools/vmware-guestd b/community-staging/open-vm-tools/vmware-guestd
deleted file mode 100644
index ac80c0385..000000000
--- a/community-staging/open-vm-tools/vmware-guestd
+++ /dev/null
@@ -1,6 +0,0 @@
-#%PAM-1.0
-
-auth sufficient /lib/security/pam_unix2.so shadow nullok
-auth required /lib/security/pam_unix_auth.so shadow nullok
-account sufficient /lib/security/pam_unix2.so
-account required /lib/security/pam_unix_acct.so
diff --git a/community-staging/open-vm-tools/xautostart.conf b/community-staging/open-vm-tools/xautostart.conf
deleted file mode 100644
index 829f379ce..000000000
--- a/community-staging/open-vm-tools/xautostart.conf
+++ /dev/null
@@ -1,6 +0,0 @@
-gnome-panel
-ksmserver
-startkde
-kwrapper
-panel
-xfce4-panel
diff --git a/community-staging/openttd/PKGBUILD b/community-staging/openttd/PKGBUILD
deleted file mode 100644
index 5a2aedccc..000000000
--- a/community-staging/openttd/PKGBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# $Id: PKGBUILD 48655 2011-06-03 19:25:38Z stephane $
-# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
-
-pkgname=openttd
-pkgver=1.1.0
-pkgrel=2
-pkgdesc='An engine for running Transport Tycoon Deluxe.'
-arch=('i686' 'x86_64')
-url='http://www.openttd.org'
-license=('GPL')
-depends=('libpng' 'sdl' 'icu' 'fontconfig' 'lzo2' 'hicolor-icon-theme' 'desktop-file-utils')
-install=openttd.install
-optdepends=('openttd-opengfx: free graphics'
- 'openttd-opensfx: free soundset')
-source=("http://binaries.openttd.org/releases/${pkgver}/${pkgname}-${pkgver}-source.tar.xz")
-md5sums=('b5b1f2ecc7327505e360047236b09d06')
-
-build() {
- cd ${pkgname}-${pkgver}
-
- ./configure \
- --prefix-dir=/usr \
- --binary-name=${pkgname} \
- --binary-dir=bin \
- --data-dir=share/${pkgname} \
- --install-dir=${pkgdir} \
- --doc-dir=share/doc/${pkgname} \
- --menu-name="OpenTTD" \
- --personal-dir=.${pkgname}
-
- make
-}
-
-package() {
- cd ${pkgname}-${pkgver}
-
- make install
-}
diff --git a/community-staging/openttd/openttd.install b/community-staging/openttd/openttd.install
deleted file mode 100644
index 85b22a1c5..000000000
--- a/community-staging/openttd/openttd.install
+++ /dev/null
@@ -1,17 +0,0 @@
-post_install() {
- gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor > /dev/null 2>&1
- update-desktop-database > /dev/null 2>&1
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- update-desktop-database > /dev/null 2>&1
-}
-
-post_remove() {
- gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor > /dev/null 2>&1
- update-desktop-database > /dev/null 2>&1
-}
diff --git a/community-staging/parrot/ChangeLog b/community-staging/parrot/ChangeLog
deleted file mode 100644
index 725287638..000000000
--- a/community-staging/parrot/ChangeLog
+++ /dev/null
@@ -1,5 +0,0 @@
-
-2008-01-06 Douglas Soares de Andrade <dsa@aur.archlinux.org>
-
- * Added for x86_64
-
diff --git a/community-staging/parrot/PKGBUILD b/community-staging/parrot/PKGBUILD
deleted file mode 100644
index eb5f198b7..000000000
--- a/community-staging/parrot/PKGBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# $Id: PKGBUILD 48652 2011-06-03 17:21:22Z stephane $
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Contributer: mpie <michael.kyne-phillips1@ntlworld.com>
-
-pkgname=parrot
-pkgver=3.3.0
-#_rel=devel
-_rel=stable
-pkgrel=2
-pkgdesc="standalone virtual machine that can be used to execute bytecode compiled dynamic languages"
-arch=(i686 x86_64)
-url="http://www.parrotcode.org/"
-license=('GPL')
-depends=('gmp' 'gdbm' 'readline' 'icu' 'openssl' 'libffi')
-makedepends=('perl-json')
-optdepends=('freeglut')
-options=(!emptydirs !makeflags)
-source=(ftp://ftp.parrot.org/pub/parrot/releases/${_rel}/$pkgver/parrot-$pkgver.tar.gz)
-md5sums=('335d50fbef245bfe6d0bb277e224c728')
-
-build() {
- cd $srcdir/$pkgname-$pkgver
-
- sed -i 's#auto::sha1##' lib/Parrot/Configure/Step/List.pm
- sed -i 's#auto::git_describe##' lib/Parrot/Configure/Step/List.pm
-
- [ $NOEXTRACT -eq 1 ] || perl Configure.pl --prefix=/usr --parrot_is_shared
-
- find -type f -name Makefile | while read F; do
- grep "$srcdir" $F && sed -i "s#-Wl,-rpath=$srcdir/parrot-$pkgver/blib/lib##" $F || true
- grep "$srcdir" $F && sed -i "s#-rpath=$srcdir/parrot-$pkgver/blib/lib##" $F || true
- done
-
- OLD_LIB_PATH=$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$srcdir/parrot-$pkgver/blib/lib
- make -j1 all parrot_utils docs html RPATH_BLIB=
-
- export LD_LIBRARY_PATH=`pwd`/blib/lib
- make -j1 DESTDIR=$pkgdir install-dev
-
- sed -i "s#$srcdir#/usr/src#" $pkgdir/usr/lib/parrot/$pkgver/tools/lib/Parrot/Config/Generated.pm
-
- export LD_LIBRARY_PATH=$OLD_LIB_PATH
-}
diff --git a/community-staging/sword/PKGBUILD b/community-staging/sword/PKGBUILD
deleted file mode 100644
index 0ad02180e..000000000
--- a/community-staging/sword/PKGBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# Maintainer: Stefan Husmann <stefan-husmann@t-online.de>
-# Contributor: TripleE <eric1548@yahoo.com>
-
-pkgname=sword
-pkgver=1.6.2
-pkgrel=3
-pkgdesc="SWORD libraries for Bible programs"
-arch=('i686' 'x86_64')
-url="http://www.crosswire.org/sword/index.jsp"
-license=('GPL')
-depends=('curl' 'icu' 'clucene')
-source=(http://www.crosswire.org/ftpmirror/pub/${pkgname}/source/v1.6/${pkgname}-${pkgver}.tar.gz)
-md5sums=('a7dc4456e20e915fec46d774b690e305')
-backup=('etc/sword.conf')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr --sysconfdir=/etc --with-icu
- make
-}
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
- make DESTDIR="${pkgdir}" install_config
-}
-
diff --git a/community-staging/tea/PKGBUILD b/community-staging/tea/PKGBUILD
deleted file mode 100644
index 4ab5fde5d..000000000
--- a/community-staging/tea/PKGBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# $Id: PKGBUILD 48620 2011-06-03 13:51:59Z ibiru $
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Roman Kyrylych <roman@archlinux.org>
-# Contributor: Michal Kaliszka <desmont@gmail.com>
-# Contributor: Zsolt Varadi <sysop_xxl@fibermail.hu>
-
-pkgname=tea
-pkgver=29.0.3
-pkgrel=2
-pkgdesc="A QT-based text editor for Linux and *BSD. With an ultimate small size TEA provides you hundreds of functions."
-arch=('i686' 'x86_64')
-url="http://tea-editor.sourceforge.net/"
-license=('GPL')
-depends=('qt' 'aspell' 'hunspell')
-install=tea.install
-source=(http://downloads.sourceforge.net/tea-editor/${pkgname}-${pkgver}.tar.bz2
- tea.desktop)
-md5sums=('1c900e7f57a0fe72fb4cc481450a5b32'
- '377ace3363124f4c086de0babb820761')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- qmake PREFIX=/usr/bin
- make
-}
-
-package(){
- cd "${srcdir}/${pkgname}-${pkgver}"
- make INSTALL_ROOT="${pkgdir}" install
-
- install -Dm644 "${srcdir}/tea.desktop" "${pkgdir}/usr/share/applications/tea.desktop"
- install -Dm644 icons/tea_icon_v2.png "${pkgdir}/usr/share/pixmaps/tea.png"
-}
diff --git a/community-staging/tea/tea.desktop b/community-staging/tea/tea.desktop
deleted file mode 100644
index 818704a26..000000000
--- a/community-staging/tea/tea.desktop
+++ /dev/null
@@ -1,10 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=Tea
-Comment=A small programmer's QT editor
-Exec=tea %U
-Terminal=false
-Type=Application
-StartupNotify=true
-Icon=tea.png
-Categories=Application;Utility;TextEditor;
diff --git a/community-staging/tea/tea.install b/community-staging/tea/tea.install
deleted file mode 100644
index d7904254b..000000000
--- a/community-staging/tea/tea.install
+++ /dev/null
@@ -1,4 +0,0 @@
-post_upgrade() {
- echo "############################################"
- echo "for the old GTK branch of TEA install teagtk"
-}
diff --git a/community-staging/tracker/PKGBUILD b/community-staging/tracker/PKGBUILD
deleted file mode 100644
index f6ec9331b..000000000
--- a/community-staging/tracker/PKGBUILD
+++ /dev/null
@@ -1,50 +0,0 @@
-# $Id: PKGBUILD 48646 2011-06-03 17:05:43Z stephane $
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
-# Maintainer: Alexander Fehr <pizzapunk gmail com>
-
-pkgname=tracker
-pkgver=0.10.15
-pkgrel=2
-pkgdesc="Powerful object database, tag/metadata database, search tool and indexer"
-arch=('i686' 'x86_64')
-url="http://www.gnome.org/projects/tracker/"
-license=('GPL')
-depends=('upower' 'poppler-glib' 'gstreamer0.10-base' 'libgee' 'gnome-desktop' 'libnotify' 'xdg-utils' 'gtkhtml'
- 'libgsf' 'gnome-panel-bonobo' 'exempi' 'networkmanager')
-makedepends=('intltool' 'gnome-panel' 'nautilus' 'evolution' 'totem-plparser' 'icu')
-optdepends=('nautilus'
- 'enca'
- 'gtkhtml'
- 'gnome-panel'
- 'totem-plparser'
- 'icu'
- 'taglib'
- 'giflib')
-options=('!libtool')
-conflicts=('libtracker')
-provides=("libtracker")
-install=tracker.install
-source=(http://ftp.gnome.org/pub/GNOME/sources/tracker/0.10/tracker-$pkgver.tar.bz2)
-md5sums=('c948ef3988b08e81cad3ff980b17a0fd')
-
-build() {
- cd "$srcdir/$pkgname-$pkgver"
-
- # python2 fix
- export PYTHON=`which python2`
- for file in tests/functional-tests/*.py; do
- sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' $file
- sed -i 's_#!/usr/bin/python_#!/usr/bin/python2_' $file
- done
-
- ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib/$pkgname \
- --enable-video-extractor=gstreamer --disable-unac --disable-hal \
- --disable-devkit-power --disable-miner-evolution
- touch docs/manpages/tracker-search-bar.1
- make
-}
-
-package() {
- cd "$srcdir/$pkgname-$pkgver"
- make DESTDIR="$pkgdir" install
-}
diff --git a/community-staging/tracker/tracker.install b/community-staging/tracker/tracker.install
deleted file mode 100644
index b95cc069d..000000000
--- a/community-staging/tracker/tracker.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
-}
-
-post_upgrade() {
- post_install $1
-}
-
-post_remove() {
- which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true
-}
diff --git a/community-staging/xulrunner-oss/PKGBUILD b/community-staging/xulrunner-oss/PKGBUILD
deleted file mode 100644
index 613d9f41b..000000000
--- a/community-staging/xulrunner-oss/PKGBUILD
+++ /dev/null
@@ -1,70 +0,0 @@
-# $Id: PKGBUILD 114705 2011-03-15 15:11:28Z ibiru $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Contributor: Alexander Baldeck <alexander@archlinux.org>
-pkgname=xulrunner-oss
-pkgver=2.0.1
-_ffoxver=4.0.1
-pkgrel=2
-pkgdesc="Mozilla Runtime Environment compiled with OSS support"
-arch=('i686' 'x86_64')
-license=('MPL' 'GPL' 'LGPL')
-depends=('gtk2' 'gcc-libs' 'libidl2' 'mozilla-common' 'nss' 'libxt' 'libxrender' 'hunspell' 'startup-notification' 'mime-types' 'dbus-glib' 'libevent' 'sqlite3>=3.7.4' 'libnotify')
-makedepends=('zip' 'pkg-config' 'diffutils' 'python2' 'wireless_tools' 'yasm' 'mesa' 'autoconf2.13')
-url="http://wiki.mozilla.org/XUL:Xul_Runner"
-source=(http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${_ffoxver}/source/firefox-${_ffoxver}.source.tar.bz2
- mozconfig
- mozilla-pkgconfig.patch
- xulrunner-version.patch
- xulrunner-omnijar.patch
- port_gnomevfs_to_gio.patch
- oss.patch)
-options=('!emptydirs')
-conflicts=('xulrunner')
-provides=("xulrunner=${pkgver}")
-md5sums=('9abda7d23151e97913c8555a64c13f34'
- '2358a2ddd35bcdd62ff42442dfe548d9'
- '639ea80e823543dd415b90c0ee804186'
- 'a0236f6c3e55f60b7888d8cf137ff209'
- '0bf82bc6677e3ce57fd20a147fe8d7b1'
- '42f83468b296452fb754a81a4317ca64'
- '81032ce49c2a5ac15d62155bcc42d3ed')
-
-build() {
- cd "${srcdir}/mozilla-2.0"
- cp "${srcdir}/mozconfig" .mozconfig
-
- #fix libdir/sdkdir - fedora
- patch -Np1 -i "${srcdir}/mozilla-pkgconfig.patch"
-
- #Force installation to the same path for every version
- patch -Np1 -i "${srcdir}/xulrunner-version.patch"
-
- patch -Np1 -i "${srcdir}/xulrunner-omnijar.patch"
-
- patch -Np1 -i "${srcdir}/port_gnomevfs_to_gio.patch"
-
- patch -Np0 -i "${srcdir}/oss.patch"
- sed -i 's/sydney_audio_alsa/sydney_audio_oss/' media/libsydneyaudio/src/Makefile.in
- sed -i '/EXTRA_DSO_LDOPTS += $(MOZ_ALSA_LIBS)/d' layout/build/Makefile.in
- sed -i '/EXTRA_DSO_LDOPTS += $(MOZ_ALSA_LIBS)/d' toolkit/library/libxul-config.mk
-
- unset CFLAGS
- unset CXXFLAGS
- export CXXFLAGS="-fpermissive"
-
- make -j1 -f client.mk build MOZ_MAKE_FLAGS="$MAKEFLAGS"
-}
-
-package() {
- cd "${srcdir}/mozilla-2.0"
- make -j1 -f client.mk DESTDIR="${pkgdir}" install
-
- #Remove included dictionaries, add symlink to system myspell path.
- #Note: this will cause file conflicts when users have installed dictionaries in the old location
- rm -rf "${pkgdir}/usr/lib/xulrunner-2.0/dictionaries"
- ln -sf /usr/share/myspell/dicts "${pkgdir}/usr/lib/xulrunner-2.0/dictionaries"
-
- # add xulrunner library path to ld.so.conf
- install -d ${pkgdir}/etc/ld.so.conf.d
- echo "/usr/lib/xulrunner-2.0" > ${pkgdir}/etc/ld.so.conf.d/xulrunner.conf
-}
diff --git a/community-staging/xulrunner-oss/mozconfig b/community-staging/xulrunner-oss/mozconfig
deleted file mode 100644
index 03a352920..000000000
--- a/community-staging/xulrunner-oss/mozconfig
+++ /dev/null
@@ -1,56 +0,0 @@
-. $topsrcdir/xulrunner/config/mozconfig
-
-ac_add_options --prefix=/usr
-ac_add_options --libdir=/usr/lib
-ac_add_options --with-system-nspr
-ac_add_options --with-system-nss
-ac_add_options --with-system-jpeg
-ac_add_options --with-system-zlib
-ac_add_options --with-system-bz2
-ac_add_options --with-system-png
-ac_add_options --with-system-libevent
-ac_add_options --enable-system-hunspell
-ac_add_options --enable-system-sqlite
-ac_add_options --enable-system-cairo
-ac_add_options --with-pthreads
-
-ac_add_options --enable-default-toolkit=cairo-gtk2
-ac_add_options --enable-safe-browsing
-ac_add_options --enable-extensions=default
-ac_add_options --enable-startup-notification
-ac_add_options --enable-pango
-ac_add_options --enable-svg
-ac_add_options --enable-canvas
-ac_add_options --enable-smil
-ac_add_options --enable-canvas3d
-ac_add_options --enable-places
-ac_add_options --enable-shared-js
-ac_add_options --enable-url-classifier
-
-ac_add_options --enable-optimize
-ac_add_options --enable-strip
-ac_add_options --enable-install-strip
-ac_add_options --enable-jemalloc
-ac_add_options --enable-xterm-updates
-ac_add_options --enable-printing
-ac_add_options --enable-xinerama
-
-ac_add_options --disable-javaxpcom
-ac_add_options --disable-crashreporter
-ac_add_options --disable-updater
-ac_add_options --disable-tests
-ac_add_options --disable-xprint
-ac_add_options --disable-mochitest
-ac_add_options --disable-debug
-ac_add_options --disable-installer
-ac_add_options --disable-pedantic
-
-ac_add_options --enable-gio
-ac_add_options --disable-gnomevfs
-ac_add_options --enable-gconf
-ac_add_options --enable-libnotify
-
-export BUILD_OFFICIAL=1
-export MOZILLA_OFFICIAL=1
-mk_add_options BUILD_OFFICIAL=1
-mk_add_options MOZILLA_OFFICIAL=1
diff --git a/community-staging/xulrunner-oss/mozilla-pkgconfig.patch b/community-staging/xulrunner-oss/mozilla-pkgconfig.patch
deleted file mode 100644
index 2203efcde..000000000
--- a/community-staging/xulrunner-oss/mozilla-pkgconfig.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-diff -Nur mozilla-2.0.orig/xulrunner/installer/libxul-embedding.pc.in mozilla-2.0/xulrunner/installer/libxul-embedding.pc.in
---- mozilla-2.0.orig/xulrunner/installer/libxul-embedding.pc.in 2011-03-03 14:12:04.000000000 -0800
-+++ mozilla-2.0/xulrunner/installer/libxul-embedding.pc.in 2011-03-13 03:25:12.350027359 -0700
-@@ -6,5 +6,6 @@
- Name: libxul-embedding
- Description: Static library for version-independent embedding of the Mozilla runtime
- Version: %MOZILLA_VERSION%
-+Requires: %NSPR_NAME% >= %NSPR_VERSION%
- Libs: -L${sdkdir}/lib -lxpcomglue -ldl
- Cflags: -DXPCOM_GLUE -I${includedir} %WCHAR_CFLAGS%
-diff -Nur mozilla-2.0.orig/xulrunner/installer/libxul.pc.in mozilla-2.0/xulrunner/installer/libxul.pc.in
---- mozilla-2.0.orig/xulrunner/installer/libxul.pc.in 2011-03-03 14:12:04.000000000 -0800
-+++ mozilla-2.0/xulrunner/installer/libxul.pc.in 2011-03-13 03:25:28.010027359 -0700
-@@ -1,5 +1,6 @@
- prefix=%prefix%
- sdkdir=%sdkdir%
-+libdir=%libdir%
- includedir=%includedir%
- idldir=%idldir%
-
-diff -Nur mozilla-2.0.orig/xulrunner/installer/Makefile.in mozilla-2.0/xulrunner/installer/Makefile.in
---- mozilla-2.0.orig/xulrunner/installer/Makefile.in 2011-03-03 14:12:04.000000000 -0800
-+++ mozilla-2.0/xulrunner/installer/Makefile.in 2011-03-13 03:25:55.570027359 -0700
-@@ -121,6 +121,7 @@
- -e "s|%includedir%|$(includedir)|" \
- -e "s|%idldir%|$(idldir)|" \
- -e "s|%sdkdir%|$(sdkdir)|" \
-+ -e "s|%libdir%|$(installdir)|" \
- -e "s|%MOZ_APP_NAME%|$(MOZ_APP_NAME)|" \
- -e "s|%MOZILLA_VERSION%|$(MOZ_APP_VERSION)|" \
- -e "s|%WCHAR_CFLAGS%|$(WCHAR_CFLAGS)|" \
-diff -Nur mozilla-2.0.orig/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in mozilla-2.0/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in
---- mozilla-2.0.orig/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in 2011-03-03 14:12:04.000000000 -0800
-+++ mozilla-2.0/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in 2011-03-13 03:26:18.676694023 -0700
-@@ -1,5 +1,6 @@
- prefix=%prefix%
- sdkdir=%sdkdir%
-+libdir=%libdir%
- includedir=%includedir%
-
- Name: mozilla-gtkembedmoz
-diff -Nur mozilla-2.0.orig/xulrunner/installer/mozilla-gtkmozembed.pc.in mozilla-2.0/xulrunner/installer/mozilla-gtkmozembed.pc.in
---- mozilla-2.0.orig/xulrunner/installer/mozilla-gtkmozembed.pc.in 2011-03-03 14:12:04.000000000 -0800
-+++ mozilla-2.0/xulrunner/installer/mozilla-gtkmozembed.pc.in 2011-03-13 03:26:41.566694025 -0700
-@@ -1,5 +1,6 @@
- prefix=%prefix%
- sdkdir=%sdkdir%
-+libdir=%libdir%
- includedir=%includedir%
-
- Name: mozilla-gtkembedmoz
-diff -Nur mozilla-2.0.orig/xulrunner/installer/mozilla-js.pc.in mozilla-2.0/xulrunner/installer/mozilla-js.pc.in
---- mozilla-2.0.orig/xulrunner/installer/mozilla-js.pc.in 2011-03-03 14:12:04.000000000 -0800
-+++ mozilla-2.0/xulrunner/installer/mozilla-js.pc.in 2011-03-13 03:27:19.680027357 -0700
-@@ -7,4 +7,4 @@
- Version: %MOZILLA_VERSION%
- Requires: %NSPR_NAME% >= %NSPR_VERSION%
- Libs: -L${sdkdir}/lib %MOZ_JS_LINK%
--Cflags: -I${includedir} -DXP_UNIX -DJS_THREADSAFE
-+Cflags: -I${includedir} -I${includedir}/js -DXP_UNIX -DJS_THREADSAFE
diff --git a/community-staging/xulrunner-oss/oss.patch b/community-staging/xulrunner-oss/oss.patch
deleted file mode 100644
index ca79879fd..000000000
--- a/community-staging/xulrunner-oss/oss.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- configure.in 2011-03-16 04:58:10.640027357 -0700
-+++ configure.in.orig 2011-03-16 04:58:39.313360691 -0700
-@@ -6266,20 +6266,6 @@
- AC_DEFINE(MOZ_TREMOR)
- fi
-
--dnl ========================================================
--dnl = Check alsa availability on Linux if using sydneyaudio
--dnl ========================================================
--
--dnl If using sydneyaudio with Linux, ensure that the alsa library is available
--if test -n "$MOZ_SYDNEYAUDIO"; then
-- case "$target_os" in
--linux*)
-- PKG_CHECK_MODULES(MOZ_ALSA, alsa, ,
-- [echo "$MOZ_ALSA_PKG_ERRORS"
-- AC_MSG_ERROR([Need alsa for Ogg, Wave or WebM decoding on Linux. Disable with --disable-ogg --disable-wave --disable-webm. (On Ubuntu, you might try installing the package libasound2-dev.)])])
-- ;;
-- esac
--fi
-
- dnl ========================================================
- dnl Splashscreen
-@@ -9294,7 +9280,6 @@
- AC_SUBST(MOZ_TREMOR)
- AC_SUBST(MOZ_WEBM)
- AC_SUBST(MOZ_OGG)
--AC_SUBST(MOZ_ALSA_LIBS)
- AC_SUBST(VPX_AS)
- AC_SUBST(VPX_ASFLAGS)
- AC_SUBST(VPX_DASH_C_FLAG)
diff --git a/community-staging/xulrunner-oss/port_gnomevfs_to_gio.patch b/community-staging/xulrunner-oss/port_gnomevfs_to_gio.patch
deleted file mode 100644
index 797baff42..000000000
--- a/community-staging/xulrunner-oss/port_gnomevfs_to_gio.patch
+++ /dev/null
@@ -1,1316 +0,0 @@
-diff -r 49a1b2aa43c5 extensions/gio/Makefile.in
---- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ b/extensions/gio/Makefile.in Tue Jan 11 11:17:52 2011 +0100
-@@ -0,0 +1,69 @@
-+# vim:set ts=8 sw=8 sts=8 noet:
-+# ***** BEGIN LICENSE BLOCK *****
-+# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-+#
-+# The contents of this file are subject to the Mozilla Public License Version
-+# 1.1 (the "License"); you may not use this file except in compliance with
-+# the License. You may obtain a copy of the License at
-+# http://www.mozilla.org/MPL/
-+#
-+# Software distributed under the License is distributed on an "AS IS" basis,
-+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-+# for the specific language governing rights and limitations under the
-+# License.
-+#
-+# The Original Code is the Mozilla gnome-vfs extension.
-+#
-+# The Initial Developer of the Original Code is IBM Corporation.
-+#
-+# Portions created by IBM Corporation are Copyright (C) 2004
-+# IBM Corporation. All Rights Reserved.
-+#
-+# Contributor(s):
-+# Darin Fisher <darin@meer.net>
-+# Jan Horak <jhorak@redhat.com>
-+#
-+# Alternatively, the contents of this file may be used under the terms of
-+# either the GNU General Public License Version 2 or later (the "GPL"), or
-+# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-+# in which case the provisions of the GPL or the LGPL are applicable instead
-+# of those above. If you wish to allow use of your version of this file only
-+# under the terms of either the GPL or the LGPL, and not to allow others to
-+# use your version of this file under the terms of the MPL, indicate your
-+# decision by deleting the provisions above and replace them with the notice
-+# and other provisions required by the GPL or the LGPL. If you do not delete
-+# the provisions above, a recipient may use your version of this file under
-+# the terms of any one of the MPL, the GPL or the LGPL.
-+#
-+# ***** END LICENSE BLOCK *****
-+
-+DEPTH = ../..
-+topsrcdir = @top_srcdir@
-+srcdir = @srcdir@
-+VPATH = @srcdir@
-+
-+include $(DEPTH)/config/autoconf.mk
-+
-+MODULE = nkgio
-+LIBRARY_NAME = nkgio
-+SHORT_LIBNAME = nkgio
-+IS_COMPONENT = 1
-+
-+CPPSRCS = \
-+ nsGIOProtocolHandler.cpp \
-+ $(NULL)
-+
-+LOCAL_INCLUDES = $(MOZ_GIO_CFLAGS)
-+
-+EXTRA_DSO_LDOPTS = \
-+ $(XPCOM_GLUE_LDOPTS) \
-+ $(NSPR_LIBS) \
-+ $(MOZ_GIO_LIBS) \
-+ $(NULL)
-+
-+# make sure this component is never statically linked into the main
-+# application. this is necessary since we don't want to force users
-+# to install gio in order to use the rest of mozilla ;-)
-+FORCE_SHARED_LIB= 1
-+
-+include $(topsrcdir)/config/rules.mk
-diff -r 49a1b2aa43c5 extensions/gio/makefiles.sh
---- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ b/extensions/gio/makefiles.sh Tue Jan 11 11:17:52 2011 +0100
-@@ -0,0 +1,41 @@
-+#! /bin/sh
-+# ***** BEGIN LICENSE BLOCK *****
-+# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-+#
-+# The contents of this file are subject to the Mozilla Public License Version
-+# 1.1 (the "License"); you may not use this file except in compliance with
-+# the License. You may obtain a copy of the License at
-+# http://www.mozilla.org/MPL/
-+#
-+# Software distributed under the License is distributed on an "AS IS" basis,
-+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-+# for the specific language governing rights and limitations under the
-+# License.
-+#
-+# The Original Code is Mozilla Build System
-+#
-+# The Initial Developer of the Original Code is
-+# Ben Turner <mozilla@songbirdnest.com>
-+#
-+# Portions created by the Initial Developer are Copyright (C) 2007
-+# the Initial Developer. All Rights Reserved.
-+#
-+# Contributor(s):
-+#
-+# Alternatively, the contents of this file may be used under the terms of
-+# either the GNU General Public License Version 2 or later (the "GPL"), or
-+# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-+# in which case the provisions of the GPL or the LGPL are applicable instead
-+# of those above. If you wish to allow use of your version of this file only
-+# under the terms of either the GPL or the LGPL, and not to allow others to
-+# use your version of this file under the terms of the MPL, indicate your
-+# decision by deleting the provisions above and replace them with the notice
-+# and other provisions required by the GPL or the LGPL. If you do not delete
-+# the provisions above, a recipient may use your version of this file under
-+# the terms of any one of the MPL, the GPL or the LGPL.
-+#
-+# ***** END LICENSE BLOCK *****
-+
-+add_makefiles "
-+ extensions/gio/Makefile
-+"
-diff -r 49a1b2aa43c5 extensions/gio/nsGIOProtocolHandler.cpp
---- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ b/extensions/gio/nsGIOProtocolHandler.cpp Tue Jan 11 11:17:52 2011 +0100
-@@ -0,0 +1,1163 @@
-+/* vim:set ts=2 sw=2 et cindent: */
-+/* ***** BEGIN LICENSE BLOCK *****
-+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
-+ *
-+ * The contents of this file are subject to the Mozilla Public License Version
-+ * 1.1 (the "License"); you may not use this file except in compliance with
-+ * the License. You may obtain a copy of the License at
-+ * http://www.mozilla.org/MPL/
-+ *
-+ * Software distributed under the License is distributed on an "AS IS" basis,
-+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-+ * for the specific language governing rights and limitations under the
-+ * License.
-+ *
-+ * The Original Code is the Mozilla gnome-vfs extension.
-+ *
-+ * The Initial Developer of the Original Code is IBM Corporation.
-+ *
-+ * Portions created by IBM Corporation are Copyright (C) 2004
-+ * IBM Corporation. All Rights Reserved.
-+ *
-+ * Contributor(s):
-+ * Darin Fisher <darin@meer.net>
-+ * Jan Horak <jhorak@redhat.com>
-+ *
-+ * Alternatively, the contents of this file may be used under the terms of
-+ * either the GNU General Public License Version 2 or later (the "GPL"), or
-+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-+ * in which case the provisions of the GPL or the LGPL are applicable instead
-+ * of those above. If you wish to allow use of your version of this file only
-+ * under the terms of either the GPL or the LGPL, and not to allow others to
-+ * use your version of this file under the terms of the MPL, indicate your
-+ * decision by deleting the provisions above and replace them with the notice
-+ * and other provisions required by the GPL or the LGPL. If you do not delete
-+ * the provisions above, a recipient may use your version of this file under
-+ * the terms of any one of the MPL, the GPL or the LGPL.
-+ *
-+ * ***** END LICENSE BLOCK ***** */
-+
-+/*
-+ * This code is based on original Mozilla gnome-vfs extension. It implements
-+ * input stream provided by GVFS/GIO.
-+*/
-+#include "mozilla/ModuleUtils.h"
-+#include "nsIPrefService.h"
-+#include "nsIPrefBranch2.h"
-+#include "nsIObserver.h"
-+#include "nsThreadUtils.h"
-+#include "nsProxyRelease.h"
-+#include "nsIStringBundle.h"
-+#include "nsIStandardURL.h"
-+#include "nsMimeTypes.h"
-+#include "nsNetUtil.h"
-+#include "mozilla/Monitor.h"
-+#include <gio/gio.h>
-+
-+#define MOZ_GIO_SCHEME "moz-gio"
-+#define MOZ_GIO_SUPPORTED_PROTOCOLS "network.gio.supported-protocols"
-+
-+//-----------------------------------------------------------------------------
-+
-+// NSPR_LOG_MODULES=gio:5
-+#ifdef PR_LOGGING
-+static PRLogModuleInfo *sGIOLog;
-+#define LOG(args) PR_LOG(sGIOLog, PR_LOG_DEBUG, args)
-+#else
-+#define LOG(args)
-+#endif
-+
-+
-+//-----------------------------------------------------------------------------
-+static nsresult
-+MapGIOResult(gint code)
-+{
-+ switch (code)
-+ {
-+ case G_IO_ERROR_NOT_FOUND: return NS_ERROR_FILE_NOT_FOUND; // shows error
-+ case G_IO_ERROR_INVALID_ARGUMENT: return NS_ERROR_INVALID_ARG;
-+ case G_IO_ERROR_NOT_SUPPORTED: return NS_ERROR_NOT_AVAILABLE;
-+ case G_IO_ERROR_NO_SPACE: return NS_ERROR_FILE_NO_DEVICE_SPACE;
-+ case G_IO_ERROR_READ_ONLY: return NS_ERROR_FILE_READ_ONLY;
-+ case G_IO_ERROR_PERMISSION_DENIED: return NS_ERROR_FILE_ACCESS_DENIED; // wrong password/login
-+ case G_IO_ERROR_CLOSED: return NS_BASE_STREAM_CLOSED; // was EOF
-+ case G_IO_ERROR_NOT_DIRECTORY: return NS_ERROR_FILE_NOT_DIRECTORY;
-+ case G_IO_ERROR_PENDING: return NS_ERROR_IN_PROGRESS;
-+ case G_IO_ERROR_EXISTS: return NS_ERROR_FILE_ALREADY_EXISTS;
-+ case G_IO_ERROR_IS_DIRECTORY: return NS_ERROR_FILE_IS_DIRECTORY;
-+ case G_IO_ERROR_NOT_MOUNTED: return NS_ERROR_NOT_CONNECTED; // shows error
-+ case G_IO_ERROR_HOST_NOT_FOUND: return NS_ERROR_UNKNOWN_HOST; // shows error
-+ case G_IO_ERROR_CANCELLED: return NS_ERROR_ABORT;
-+ case G_IO_ERROR_NOT_EMPTY: return NS_ERROR_FILE_DIR_NOT_EMPTY;
-+ case G_IO_ERROR_FILENAME_TOO_LONG: return NS_ERROR_FILE_NAME_TOO_LONG;
-+ case G_IO_ERROR_INVALID_FILENAME: return NS_ERROR_FILE_INVALID_PATH;
-+ case G_IO_ERROR_TIMED_OUT: return NS_ERROR_NET_TIMEOUT; // shows error
-+ case G_IO_ERROR_WOULD_BLOCK: return NS_BASE_STREAM_WOULD_BLOCK;
-+ case G_IO_ERROR_FAILED_HANDLED: return NS_ERROR_ABORT; // Cancel on login dialog
-+
-+/* unhandled:
-+ G_IO_ERROR_NOT_REGULAR_FILE,
-+ G_IO_ERROR_NOT_SYMBOLIC_LINK,
-+ G_IO_ERROR_NOT_MOUNTABLE_FILE,
-+ G_IO_ERROR_TOO_MANY_LINKS,
-+ G_IO_ERROR_ALREADY_MOUNTED,
-+ G_IO_ERROR_CANT_CREATE_BACKUP,
-+ G_IO_ERROR_WRONG_ETAG,
-+ G_IO_ERROR_WOULD_RECURSE,
-+ G_IO_ERROR_BUSY,
-+ G_IO_ERROR_WOULD_MERGE,
-+ G_IO_ERROR_TOO_MANY_OPEN_FILES
-+*/
-+ // Make GCC happy
-+ default:
-+ return NS_ERROR_FAILURE;
-+ }
-+
-+ return NS_ERROR_FAILURE;
-+}
-+
-+static nsresult
-+MapGIOResult(GError *result)
-+{
-+ if (!result)
-+ return NS_OK;
-+ else
-+ return MapGIOResult(result->code);
-+}
-+/** Return values for mount operation.
-+ * These enums are used as mount operation return values.
-+ */
-+typedef enum {
-+ MOUNT_OPERATION_IN_PROGRESS, /** \enum operation in progress */
-+ MOUNT_OPERATION_SUCCESS, /** \enum operation successful */
-+ MOUNT_OPERATION_FAILED /** \enum operation not successful */
-+} MountOperationResult;
-+//-----------------------------------------------------------------------------
-+/**
-+ * Sort function compares according to file type (directory/file)
-+ * and alphabethical order
-+ * @param a pointer to GFileInfo object to compare
-+ * @param b pointer to GFileInfo object to compare
-+ * @return -1 when first object should be before the second, 0 when equal,
-+ * +1 when second object should be before the first
-+ */
-+static gint
-+FileInfoComparator(gconstpointer a, gconstpointer b)
-+{
-+ GFileInfo *ia = ( GFileInfo *) a;
-+ GFileInfo *ib = ( GFileInfo *) b;
-+ if (g_file_info_get_file_type(ia) == G_FILE_TYPE_DIRECTORY
-+ && g_file_info_get_file_type(ib) != G_FILE_TYPE_DIRECTORY)
-+ return -1;
-+ if (g_file_info_get_file_type(ib) == G_FILE_TYPE_DIRECTORY
-+ && g_file_info_get_file_type(ia) != G_FILE_TYPE_DIRECTORY)
-+ return 1;
-+
-+ return strcasecmp(g_file_info_get_name(ia), g_file_info_get_name(ib));
-+}
-+
-+/* Declaration of mount callback functions */
-+static void mount_enclosing_volume_finished (GObject *source_object,
-+ GAsyncResult *res,
-+ gpointer user_data);
-+static void mount_operation_ask_password (GMountOperation *mount_op,
-+ const char *message,
-+ const char *default_user,
-+ const char *default_domain,
-+ GAskPasswordFlags flags,
-+ gpointer user_data);
-+//-----------------------------------------------------------------------------
-+
-+class nsGIOInputStream : public nsIInputStream
-+{
-+ public:
-+ NS_DECL_ISUPPORTS
-+ NS_DECL_NSIINPUTSTREAM
-+
-+ nsGIOInputStream(const nsCString &uriSpec)
-+ : mSpec(uriSpec)
-+ , mChannel(nsnull)
-+ , mHandle(nsnull)
-+ , mStream(nsnull)
-+ , mBytesRemaining(PR_UINT32_MAX)
-+ , mStatus(NS_OK)
-+ , mDirList(nsnull)
-+ , mDirListPtr(nsnull)
-+ , mDirBufCursor(0)
-+ , mDirOpen(PR_FALSE)
-+ , mMonitorMountInProgress("GIOInputStream::MountFinished") { }
-+
-+ ~nsGIOInputStream() { Close(); }
-+
-+ void SetChannel(nsIChannel *channel)
-+ {
-+ // We need to hold an owning reference to our channel. This is done
-+ // so we can access the channel's notification callbacks to acquire
-+ // a reference to a nsIAuthPrompt if we need to handle an interactive
-+ // mount operation.
-+ //
-+ // However, the channel can only be accessed on the main thread, so
-+ // we have to be very careful with ownership. Moreover, it doesn't
-+ // support threadsafe addref/release, so proxying is the answer.
-+ //
-+ // Also, it's important to note that this likely creates a reference
-+ // cycle since the channel likely owns this stream. This reference
-+ // cycle is broken in our Close method.
-+
-+ NS_ADDREF(mChannel = channel);
-+ }
-+ void SetMountResult(MountOperationResult result, gint error_code);
-+ private:
-+ nsresult DoOpen();
-+ nsresult DoRead(char *aBuf, PRUint32 aCount, PRUint32 *aCountRead);
-+ nsresult SetContentTypeOfChannel(const char *contentType);
-+ nsresult MountVolume();
-+ nsresult DoOpenDirectory();
-+ nsresult DoOpenFile(GFileInfo *info);
-+ nsCString mSpec;
-+ nsIChannel *mChannel; // manually refcounted
-+ GFile *mHandle;
-+ GFileInputStream *mStream;
-+ PRUint64 mBytesRemaining;
-+ nsresult mStatus;
-+ GList *mDirList;
-+ GList *mDirListPtr;
-+ nsCString mDirBuf;
-+ PRUint32 mDirBufCursor;
-+ PRPackedBool mDirOpen;
-+ MountOperationResult mMountRes;
-+ mozilla::Monitor mMonitorMountInProgress;
-+ gint mMountErrorCode;
-+};
-+/**
-+ * Set result of mount operation and notify monitor waiting for results.
-+ * This method is called in main thread as long as it is used only
-+ * in mount_enclosing_volume_finished function.
-+ * @param result Result of mount operation
-+ */
-+void
-+nsGIOInputStream::SetMountResult(MountOperationResult result, gint error_code)
-+{
-+ mozilla::MonitorAutoEnter mon(mMonitorMountInProgress);
-+ mMountRes = result;
-+ mMountErrorCode = error_code;
-+ mon.Notify();
-+}
-+
-+/**
-+ * Start mount operation and wait in loop until it is finished. This method is
-+ * called from thread which is trying to read from location.
-+ */
-+nsresult
-+nsGIOInputStream::MountVolume() {
-+ GMountOperation* mount_op = g_mount_operation_new();
-+ g_signal_connect (mount_op, "ask-password",
-+ G_CALLBACK (mount_operation_ask_password), mChannel);
-+ mMountRes = MOUNT_OPERATION_IN_PROGRESS;
-+ /* g_file_mount_enclosing_volume uses a dbus request to mount the volume.
-+ Callback mount_enclosing_volume_finished is called in main thread
-+ (not this thread on which this method is called). */
-+ g_file_mount_enclosing_volume(mHandle,
-+ G_MOUNT_MOUNT_NONE,
-+ mount_op,
-+ NULL,
-+ mount_enclosing_volume_finished,
-+ this);
-+ mozilla::MonitorAutoEnter mon(mMonitorMountInProgress);
-+ /* Waiting for finish of mount operation thread */
-+ while (mMountRes == MOUNT_OPERATION_IN_PROGRESS)
-+ mon.Wait();
-+
-+ g_object_unref(mount_op);
-+
-+ if (mMountRes == MOUNT_OPERATION_FAILED) {
-+ return MapGIOResult(mMountErrorCode);
-+ } else {
-+ return NS_OK;
-+ }
-+}
-+
-+/**
-+ * Create list of infos about objects in opened directory
-+ * Return: NS_OK when list obtained, otherwise error code according
-+ * to failed operation.
-+ */
-+nsresult
-+nsGIOInputStream::DoOpenDirectory()
-+{
-+ GError *error = NULL;
-+
-+ GFileEnumerator *f_enum = g_file_enumerate_children(mHandle,
-+ "standard::*,time::*",
-+ G_FILE_QUERY_INFO_NONE,
-+ NULL,
-+ &error);
-+ if (!f_enum) {
-+ nsresult rv = MapGIOResult(error);
-+ g_warning("Cannot read from directory: %s", error->message);
-+ g_error_free(error);
-+ return rv;
-+ }
-+ // fill list of file infos
-+ GFileInfo *info = g_file_enumerator_next_file(f_enum, NULL, &error);
-+ while (info) {
-+ mDirList = g_list_append(mDirList, info);
-+ info = g_file_enumerator_next_file(f_enum, NULL, &error);
-+ }
-+ g_object_unref(f_enum);
-+ if (error) {
-+ g_warning("Error reading directory content: %s", error->message);
-+ nsresult rv = MapGIOResult(error);
-+ g_error_free(error);
-+ return rv;
-+ }
-+ mDirOpen = PR_TRUE;
-+
-+ // Sort list of file infos by using FileInfoComparator function
-+ mDirList = g_list_sort(mDirList, FileInfoComparator);
-+ mDirListPtr = mDirList;
-+
-+ // Write base URL (make sure it ends with a '/')
-+ mDirBuf.Append("300: ");
-+ mDirBuf.Append(mSpec);
-+ if (mSpec.get()[mSpec.Length() - 1] != '/')
-+ mDirBuf.Append('/');
-+ mDirBuf.Append('\n');
-+
-+ // Write column names
-+ mDirBuf.Append("200: filename content-length last-modified file-type\n");
-+
-+ // Write charset (assume UTF-8)
-+ // XXX is this correct?
-+ mDirBuf.Append("301: UTF-8\n");
-+ SetContentTypeOfChannel(APPLICATION_HTTP_INDEX_FORMAT);
-+ return NS_OK;
-+}
-+
-+/**
-+ * Create file stream and set mime type for channel
-+ * @param info file info used to determine mime type
-+ * @return NS_OK when file stream created successfuly, error code otherwise
-+ */
-+nsresult
-+nsGIOInputStream::DoOpenFile(GFileInfo *info)
-+{
-+ GError *error = NULL;
-+
-+ mStream = g_file_read(mHandle, NULL, &error);
-+ if (!mStream) {
-+ nsresult rv = MapGIOResult(error);
-+ g_warning("Cannot read from file: %s", error->message);
-+ g_error_free(error);
-+ return rv;
-+ }
-+
-+ const char * content_type = g_file_info_get_content_type(info);
-+ if (content_type) {
-+ char *mime_type = g_content_type_get_mime_type(content_type);
-+ if (mime_type) {
-+ if (strcmp(mime_type, APPLICATION_OCTET_STREAM) != 0) {
-+ SetContentTypeOfChannel(mime_type);
-+ }
-+ g_free(mime_type);
-+ }
-+ } else {
-+ g_warning("Missing content type.");
-+ }
-+
-+ mBytesRemaining = g_file_info_get_size(info);
-+ // Update the content length attribute on the channel. We do this
-+ // synchronously without proxying. This hack is not as bad as it looks!
-+ mChannel->SetContentLength(mBytesRemaining);
-+
-+ return NS_OK;
-+}
-+
-+/**
-+ * Start file open operation, mount volume when needed and according to file type
-+ * create file output stream or read directory content.
-+ * @return NS_OK when file or directory opened successfully, error code otherwise
-+ */
-+nsresult
-+nsGIOInputStream::DoOpen()
-+{
-+ nsresult rv;
-+ GError *error = NULL;
-+
-+ NS_ASSERTION(mHandle == nsnull, "already open");
-+
-+ mHandle = g_file_new_for_uri( mSpec.get() );
-+
-+ GFileInfo *info = g_file_query_info(mHandle,
-+ "standard::*",
-+ G_FILE_QUERY_INFO_NONE,
-+ NULL,
-+ &error);
-+
-+ if (error) {
-+ if (error->domain == G_IO_ERROR && error->code == G_IO_ERROR_NOT_MOUNTED) {
-+ // location is not yet mounted, try to mount
-+ g_error_free(error);
-+ if (NS_IsMainThread())
-+ return NS_ERROR_NOT_CONNECTED;
-+ error = NULL;
-+ rv = MountVolume();
-+ if (rv != NS_OK) {
-+ return rv;
-+ }
-+ // get info again
-+ info = g_file_query_info(mHandle,
-+ "standard::*",
-+ G_FILE_QUERY_INFO_NONE,
-+ NULL,
-+ &error);
-+ // second try to get file info from remote files after media mount
-+ if (!info) {
-+ g_warning("Unable to get file info: %s", error->message);
-+ rv = MapGIOResult(error);
-+ g_error_free(error);
-+ return rv;
-+ }
-+ } else {
-+ g_warning("Unable to get file info: %s", error->message);
-+ rv = MapGIOResult(error);
-+ g_error_free(error);
-+ return rv;
-+ }
-+ }
-+ // Get file type to handle directories and file differently
-+ GFileType f_type = g_file_info_get_file_type(info);
-+ if (f_type == G_FILE_TYPE_DIRECTORY) {
-+ // directory
-+ rv = DoOpenDirectory();
-+ } else if (f_type != G_FILE_TYPE_UNKNOWN) {
-+ // file
-+ rv = DoOpenFile(info);
-+ } else {
-+ g_warning("Unable to get file type.");
-+ rv = NS_ERROR_FILE_NOT_FOUND;
-+ }
-+ if (info)
-+ g_object_unref(info);
-+ return rv;
-+}
-+
-+/**
-+ * Read content of file or create file list from directory
-+ * @param aBuf read destination buffer
-+ * @param aCount length of destination buffer
-+ * @param aCountRead number of read characters
-+ * @return NS_OK when read successfully, NS_BASE_STREAM_CLOSED when end of file,
-+ * error code otherwise
-+ */
-+nsresult
-+nsGIOInputStream::DoRead(char *aBuf, PRUint32 aCount, PRUint32 *aCountRead)
-+{
-+ nsresult rv = NS_ERROR_NOT_AVAILABLE;
-+ if (mStream) {
-+ // file read
-+ GError *error = NULL;
-+ PRUint32 bytes_read = g_input_stream_read(G_INPUT_STREAM(mStream),
-+ aBuf,
-+ aCount,
-+ NULL,
-+ &error);
-+ if (error) {
-+ rv = MapGIOResult(error);
-+ *aCountRead = 0;
-+ g_warning("Cannot read from file: %s", error->message);
-+ g_error_free(error);
-+ return rv;
-+ }
-+ *aCountRead = bytes_read;
-+ mBytesRemaining -= *aCountRead;
-+ return NS_OK;
-+ }
-+ else if (mDirOpen) {
-+ // directory read
-+ while (aCount && rv != NS_BASE_STREAM_CLOSED)
-+ {
-+ // Copy data out of our buffer
-+ PRUint32 bufLen = mDirBuf.Length() - mDirBufCursor;
-+ if (bufLen)
-+ {
-+ PRUint32 n = PR_MIN(bufLen, aCount);
-+ memcpy(aBuf, mDirBuf.get() + mDirBufCursor, n);
-+ *aCountRead += n;
-+ aBuf += n;
-+ aCount -= n;
-+ mDirBufCursor += n;
-+ }
-+
-+ if (!mDirListPtr) // Are we at the end of the directory list?
-+ {
-+ rv = NS_BASE_STREAM_CLOSED;
-+ }
-+ else if (aCount) // Do we need more data?
-+ {
-+ GFileInfo *info = (GFileInfo *) mDirListPtr->data;
-+
-+ // Prune '.' and '..' from directory listing.
-+ const char * fname = g_file_info_get_name(info);
-+ if (fname && fname[0] == '.' &&
-+ (fname[1] == '\0' || (fname[1] == '.' && fname[2] == '\0')))
-+ {
-+ mDirListPtr = mDirListPtr->next;
-+ continue;
-+ }
-+
-+ mDirBuf.Assign("201: ");
-+
-+ // The "filename" field
-+ nsCString escName;
-+ nsCOMPtr<nsINetUtil> nu = do_GetService(NS_NETUTIL_CONTRACTID);
-+ if (nu && fname) {
-+ nu->EscapeString(nsDependentCString(fname),
-+ nsINetUtil::ESCAPE_URL_PATH, escName);
-+
-+ mDirBuf.Append(escName);
-+ mDirBuf.Append(' ');
-+ }
-+
-+ // The "content-length" field
-+ // XXX truncates size from 64-bit to 32-bit
-+ mDirBuf.AppendInt(PRInt32(g_file_info_get_size(info)));
-+ mDirBuf.Append(' ');
-+
-+ // The "last-modified" field
-+ //
-+ // NSPR promises: PRTime is compatible with time_t
-+ // we just need to convert from seconds to microseconds
-+ GTimeVal gtime;
-+ g_file_info_get_modification_time(info, &gtime);
-+
-+ PRExplodedTime tm;
-+ PRTime pt = ((PRTime) gtime.tv_sec) * 1000000;
-+ PR_ExplodeTime(pt, PR_GMTParameters, &tm);
-+ {
-+ char buf[64];
-+ PR_FormatTimeUSEnglish(buf, sizeof(buf),
-+ "%a,%%20%d%%20%b%%20%Y%%20%H:%M:%S%%20GMT ", &tm);
-+ mDirBuf.Append(buf);
-+ }
-+
-+ // The "file-type" field
-+ switch (g_file_info_get_file_type(info))
-+ {
-+ case G_FILE_TYPE_REGULAR:
-+ mDirBuf.Append("FILE ");
-+ break;
-+ case G_FILE_TYPE_DIRECTORY:
-+ mDirBuf.Append("DIRECTORY ");
-+ break;
-+ case G_FILE_TYPE_SYMBOLIC_LINK:
-+ mDirBuf.Append("SYMBOLIC-LINK ");
-+ break;
-+ default:
-+ break;
-+ }
-+ mDirBuf.Append('\n');
-+
-+ mDirBufCursor = 0;
-+ mDirListPtr = mDirListPtr->next;
-+ }
-+ }
-+ }
-+ return rv;
-+}
-+
-+/**
-+ * This class is used to implement SetContentTypeOfChannel.
-+ */
-+class nsGIOSetContentTypeEvent : public nsRunnable
-+{
-+ public:
-+ nsGIOSetContentTypeEvent(nsIChannel *channel, const char *contentType)
-+ : mChannel(channel), mContentType(contentType)
-+ {
-+ // stash channel reference in mChannel. no AddRef here! see note
-+ // in SetContentTypeOfchannel.
-+ }
-+
-+ NS_IMETHOD Run()
-+ {
-+ mChannel->SetContentType(mContentType);
-+ return NS_OK;
-+ }
-+
-+ private:
-+ nsIChannel *mChannel;
-+ nsCString mContentType;
-+};
-+
-+nsresult
-+nsGIOInputStream::SetContentTypeOfChannel(const char *contentType)
-+{
-+ // We need to proxy this call over to the main thread. We post an
-+ // asynchronous event in this case so that we don't delay reading data, and
-+ // we know that this is safe to do since the channel's reference will be
-+ // released asynchronously as well. We trust the ordering of the main
-+ // thread's event queue to protect us against memory corruption.
-+
-+ nsresult rv;
-+ nsCOMPtr<nsIRunnable> ev =
-+ new nsGIOSetContentTypeEvent(mChannel, contentType);
-+ if (!ev)
-+ {
-+ rv = NS_ERROR_OUT_OF_MEMORY;
-+ }
-+ else
-+ {
-+ rv = NS_DispatchToMainThread(ev);
-+ }
-+ return rv;
-+}
-+
-+NS_IMPL_THREADSAFE_ISUPPORTS1(nsGIOInputStream, nsIInputStream)
-+
-+/**
-+ * Free all used memory and close stream.
-+ */
-+NS_IMETHODIMP
-+nsGIOInputStream::Close()
-+{
-+ if (mStream)
-+ {
-+ g_object_unref(mStream);
-+ mStream = nsnull;
-+ }
-+
-+ if (mHandle)
-+ {
-+ g_object_unref(mHandle);
-+ mHandle = nsnull;
-+ }
-+
-+ if (mDirList)
-+ {
-+ // Destroy the list of GIOFileInfo objects...
-+ g_list_foreach(mDirList, (GFunc) g_object_unref, nsnull);
-+ g_list_free(mDirList);
-+ mDirList = nsnull;
-+ mDirListPtr = nsnull;
-+ }
-+
-+ if (mChannel)
-+ {
-+ nsresult rv = NS_OK;
-+
-+ nsCOMPtr<nsIThread> thread = do_GetMainThread();
-+ if (thread)
-+ rv = NS_ProxyRelease(thread, mChannel);
-+
-+ NS_ASSERTION(thread && NS_SUCCEEDED(rv), "leaking channel reference");
-+ mChannel = nsnull;
-+ }
-+
-+ mSpec.Truncate(); // free memory
-+
-+ // Prevent future reads from re-opening the handle.
-+ if (NS_SUCCEEDED(mStatus))
-+ mStatus = NS_BASE_STREAM_CLOSED;
-+
-+ return NS_OK;
-+}
-+
-+/**
-+ * Return number of remaining bytes available on input
-+ * @param aResult remaining bytes
-+ */
-+NS_IMETHODIMP
-+nsGIOInputStream::Available(PRUint32 *aResult)
-+{
-+ if (NS_FAILED(mStatus))
-+ return mStatus;
-+
-+ /* When remaining bytes are bigger than max PRUint32 value an aResult must
-+ be set to PRUint32 maximum */
-+ if (mBytesRemaining > PR_UINT32_MAX)
-+ *aResult = PR_UINT32_MAX;
-+ else
-+ *aResult = mBytesRemaining;
-+
-+ return NS_OK;
-+}
-+
-+/**
-+ * Trying to read from stream. When location is not available it tries to mount it.
-+ * @param aBuf buffer to put read data
-+ * @param aCount length of aBuf
-+ * @param aCountRead number of bytes actually read
-+ */
-+NS_IMETHODIMP
-+nsGIOInputStream::Read(char *aBuf,
-+ PRUint32 aCount,
-+ PRUint32 *aCountRead)
-+{
-+ *aCountRead = 0;
-+ // Check if file is already opened, otherwise open it
-+ if (!mStream && !mDirOpen && mStatus == NS_OK) {
-+ mStatus = DoOpen();
-+ if (NS_FAILED(mStatus)) {
-+ return mStatus;
-+ }
-+ }
-+
-+ mStatus = DoRead(aBuf, aCount, aCountRead);
-+ // Check if all data has been read
-+ if (mStatus == NS_BASE_STREAM_CLOSED)
-+ return NS_OK;
-+
-+ // Check whenever any error appears while reading
-+ return mStatus;
-+}
-+
-+NS_IMETHODIMP
-+nsGIOInputStream::ReadSegments(nsWriteSegmentFun aWriter,
-+ void *aClosure,
-+ PRUint32 aCount,
-+ PRUint32 *aResult)
-+{
-+ // There is no way to implement this using GnomeVFS, but fortunately
-+ // that doesn't matter. Because we are a blocking input stream, Necko
-+ // isn't going to call our ReadSegments method.
-+ NS_NOTREACHED("nsGIOInputStream::ReadSegments");
-+ return NS_ERROR_NOT_IMPLEMENTED;
-+}
-+
-+NS_IMETHODIMP
-+nsGIOInputStream::IsNonBlocking(PRBool *aResult)
-+{
-+ *aResult = PR_FALSE;
-+ return NS_OK;
-+}
-+
-+//-----------------------------------------------------------------------------
-+
-+/**
-+ * Called when finishing mount operation. Result of operation is set in
-+ * nsGIOInputStream. This function is called in main thread as an async request
-+ * typically from dbus.
-+ * @param source_object GFile object which requested the mount
-+ * @param res result object
-+ * @param user_data pointer to nsGIOInputStream
-+ */
-+static void
-+mount_enclosing_volume_finished (GObject *source_object,
-+ GAsyncResult *res,
-+ gpointer user_data)
-+{
-+ GError *error = NULL;
-+
-+ nsGIOInputStream* istream = static_cast<nsGIOInputStream*>(user_data);
-+
-+ g_file_mount_enclosing_volume_finish(G_FILE (source_object), res, &error);
-+
-+ if (error) {
-+ g_warning("Mount failed: %s %d", error->message, error->code);
-+ istream->SetMountResult(MOUNT_OPERATION_FAILED, error->code);
-+ g_error_free(error);
-+ } else {
-+ istream->SetMountResult(MOUNT_OPERATION_SUCCESS, 0);
-+ }
-+}
-+
-+/**
-+ * This function is called when username or password are requested from user.
-+ * This function is called in main thread as async request from dbus.
-+ * @param mount_op mount operation
-+ * @param message message to show to user
-+ * @param default_user preffered user
-+ * @param default_domain domain name
-+ * @param flags what type of information is required
-+ * @param user_data nsIChannel
-+ */
-+static void
-+mount_operation_ask_password (GMountOperation *mount_op,
-+ const char *message,
-+ const char *default_user,
-+ const char *default_domain,
-+ GAskPasswordFlags flags,
-+ gpointer user_data)
-+{
-+ nsIChannel *channel = (nsIChannel *) user_data;
-+ if (!channel) {
-+ g_mount_operation_reply(mount_op, G_MOUNT_OPERATION_ABORTED);
-+ return;
-+ }
-+ // We can't handle request for domain
-+ if (flags & G_ASK_PASSWORD_NEED_DOMAIN) {
-+ g_mount_operation_reply(mount_op, G_MOUNT_OPERATION_ABORTED);
-+ return;
-+ }
-+
-+ nsCOMPtr<nsIAuthPrompt> prompt;
-+ NS_QueryNotificationCallbacks(channel, prompt);
-+
-+ // If no auth prompt, then give up. We could failover to using the
-+ // WindowWatcher service, but that might defeat a consumer's purposeful
-+ // attempt to disable authentication (for whatever reason).
-+ if (!prompt) {
-+ g_mount_operation_reply(mount_op, G_MOUNT_OPERATION_ABORTED);
-+ return;
-+ }
-+ // Parse out the host and port...
-+ nsCOMPtr<nsIURI> uri;
-+ channel->GetURI(getter_AddRefs(uri));
-+ if (!uri) {
-+ g_mount_operation_reply(mount_op, G_MOUNT_OPERATION_ABORTED);
-+ return;
-+ }
-+
-+ nsCAutoString scheme, hostPort;
-+ uri->GetScheme(scheme);
-+ uri->GetHostPort(hostPort);
-+
-+ // It doesn't make sense for either of these strings to be empty. What kind
-+ // of funky URI is this?
-+ if (scheme.IsEmpty() || hostPort.IsEmpty()) {
-+ g_mount_operation_reply(mount_op, G_MOUNT_OPERATION_ABORTED);
-+ return;
-+ }
-+ // Construct the single signon key. Altering the value of this key will
-+ // cause people's remembered passwords to be forgotten. Think carefully
-+ // before changing the way this key is constructed.
-+ nsAutoString key, realm;
-+
-+ NS_ConvertUTF8toUTF16 dispHost(scheme);
-+ dispHost.Append(NS_LITERAL_STRING("://"));
-+ dispHost.Append(NS_ConvertUTF8toUTF16(hostPort));
-+
-+ key = dispHost;
-+ if (*default_domain != '\0')
-+ {
-+ // We assume the realm string is ASCII. That might be a bogus assumption,
-+ // but we have no idea what encoding GnomeVFS is using, so for now we'll
-+ // limit ourselves to ISO-Latin-1. XXX What is a better solution?
-+ realm.Append('"');
-+ realm.Append(NS_ConvertASCIItoUTF16(default_domain));
-+ realm.Append('"');
-+ key.Append(' ');
-+ key.Append(realm);
-+ }
-+ // Construct the message string...
-+ //
-+ // We use Necko's string bundle here. This code really should be encapsulated
-+ // behind some Necko API, after all this code is based closely on the code in
-+ // nsHttpChannel.cpp.
-+ nsCOMPtr<nsIStringBundleService> bundleSvc =
-+ do_GetService(NS_STRINGBUNDLE_CONTRACTID);
-+ if (!bundleSvc) {
-+ g_mount_operation_reply(mount_op, G_MOUNT_OPERATION_ABORTED);
-+ return;
-+ }
-+ nsCOMPtr<nsIStringBundle> bundle;
-+ bundleSvc->CreateBundle("chrome://global/locale/commonDialogs.properties",
-+ getter_AddRefs(bundle));
-+ if (!bundle) {
-+ g_mount_operation_reply(mount_op, G_MOUNT_OPERATION_ABORTED);
-+ return;
-+ }
-+ nsAutoString nsmessage;
-+
-+ if (flags & G_ASK_PASSWORD_NEED_PASSWORD) {
-+ if (flags & G_ASK_PASSWORD_NEED_USERNAME) {
-+ if (!realm.IsEmpty()) {
-+ const PRUnichar *strings[] = { realm.get(), dispHost.get() };
-+ bundle->FormatStringFromName(NS_LITERAL_STRING("EnterLoginForRealm").get(),
-+ strings, 2, getter_Copies(nsmessage));
-+ } else {
-+ const PRUnichar *strings[] = { dispHost.get() };
-+ bundle->FormatStringFromName(NS_LITERAL_STRING("EnterUserPasswordFor").get(),
-+ strings, 1, getter_Copies(nsmessage));
-+ }
-+ } else {
-+ NS_ConvertUTF8toUTF16 userName(default_user);
-+ const PRUnichar *strings[] = { userName.get(), dispHost.get() };
-+ bundle->FormatStringFromName(NS_LITERAL_STRING("EnterPasswordFor").get(),
-+ strings, 2, getter_Copies(nsmessage));
-+ }
-+ } else {
-+ g_warning("Unknown mount operation request (flags: %x)", flags);
-+ }
-+
-+ if (nsmessage.IsEmpty()) {
-+ g_mount_operation_reply(mount_op, G_MOUNT_OPERATION_ABORTED);
-+ return;
-+ }
-+ // Prompt the user...
-+ nsresult rv;
-+ PRBool retval = PR_FALSE;
-+ PRUnichar *user = nsnull, *pass = nsnull;
-+ if (default_user) {
-+ // user will be freed by PromptUsernameAndPassword
-+ user = ToNewUnicode(NS_ConvertUTF8toUTF16(default_user));
-+ }
-+ if (flags & G_ASK_PASSWORD_NEED_USERNAME) {
-+ rv = prompt->PromptUsernameAndPassword(nsnull, nsmessage.get(),
-+ key.get(),
-+ nsIAuthPrompt::SAVE_PASSWORD_PERMANENTLY,
-+ &user, &pass, &retval);
-+ } else {
-+ rv = prompt->PromptPassword(nsnull, nsmessage.get(),
-+ key.get(),
-+ nsIAuthPrompt::SAVE_PASSWORD_PERMANENTLY,
-+ &pass, &retval);
-+ }
-+ if (NS_FAILED(rv) || !retval) { // was || user == '\0' || pass == '\0'
-+ g_mount_operation_reply(mount_op, G_MOUNT_OPERATION_ABORTED);
-+ return;
-+ }
-+ /* GIO should accept UTF8 */
-+ g_mount_operation_set_username(mount_op, NS_ConvertUTF16toUTF8(user).get());
-+ g_mount_operation_set_password(mount_op, NS_ConvertUTF16toUTF8(pass).get());
-+ nsMemory::Free(user);
-+ nsMemory::Free(pass);
-+ g_mount_operation_reply(mount_op, G_MOUNT_OPERATION_HANDLED);
-+}
-+
-+//-----------------------------------------------------------------------------
-+
-+class nsGIOProtocolHandler : public nsIProtocolHandler
-+ , public nsIObserver
-+{
-+ public:
-+ NS_DECL_ISUPPORTS
-+ NS_DECL_NSIPROTOCOLHANDLER
-+ NS_DECL_NSIOBSERVER
-+
-+ nsresult Init();
-+
-+ private:
-+ void InitSupportedProtocolsPref(nsIPrefBranch *prefs);
-+ PRBool IsSupportedProtocol(const nsCString &spec);
-+
-+ nsCString mSupportedProtocols;
-+};
-+
-+NS_IMPL_ISUPPORTS2(nsGIOProtocolHandler, nsIProtocolHandler, nsIObserver)
-+
-+nsresult
-+nsGIOProtocolHandler::Init()
-+{
-+#ifdef PR_LOGGING
-+ sGIOLog = PR_NewLogModule("gio");
-+#endif
-+
-+ nsCOMPtr<nsIPrefBranch2> prefs = do_GetService(NS_PREFSERVICE_CONTRACTID);
-+ if (prefs)
-+ {
-+ InitSupportedProtocolsPref(prefs);
-+ prefs->AddObserver(MOZ_GIO_SUPPORTED_PROTOCOLS, this, PR_FALSE);
-+ }
-+
-+ return NS_OK;
-+}
-+
-+void
-+nsGIOProtocolHandler::InitSupportedProtocolsPref(nsIPrefBranch *prefs)
-+{
-+ // Get user preferences to determine which protocol is supported.
-+ // Gvfs/GIO has a set of supported protocols like obex, network, archive,
-+ // computer, dav, cdda, gphoto2, trash, etc. Some of these seems to be
-+ // irrelevant to process by browser. By default accept only smb and sftp
-+ // protocols so far.
-+ nsresult rv = prefs->GetCharPref(MOZ_GIO_SUPPORTED_PROTOCOLS,
-+ getter_Copies(mSupportedProtocols));
-+ if (NS_SUCCEEDED(rv)) {
-+ mSupportedProtocols.StripWhitespace();
-+ ToLowerCase(mSupportedProtocols);
-+ }
-+ else
-+ mSupportedProtocols.Assign("smb:,sftp:"); // use defaults
-+
-+ LOG(("gio: supported protocols \"%s\"\n", mSupportedProtocols.get()));
-+}
-+
-+PRBool
-+nsGIOProtocolHandler::IsSupportedProtocol(const nsCString &aSpec)
-+{
-+ const char *specString = aSpec.get();
-+ const char *colon = strchr(specString, ':');
-+ if (!colon)
-+ return PR_FALSE;
-+
-+ PRUint32 length = colon - specString + 1;
-+
-+ // <scheme> + ':'
-+ nsCString scheme(specString, length);
-+
-+ char *found = PL_strcasestr(mSupportedProtocols.get(), scheme.get());
-+ if (!found)
-+ return PR_FALSE;
-+
-+ if (found[length] != ',' && found[length] != '\0')
-+ return PR_FALSE;
-+
-+ return PR_TRUE;
-+}
-+
-+NS_IMETHODIMP
-+nsGIOProtocolHandler::GetScheme(nsACString &aScheme)
-+{
-+ aScheme.Assign(MOZ_GIO_SCHEME);
-+ return NS_OK;
-+}
-+
-+NS_IMETHODIMP
-+nsGIOProtocolHandler::GetDefaultPort(PRInt32 *aDefaultPort)
-+{
-+ *aDefaultPort = -1;
-+ return NS_OK;
-+}
-+
-+NS_IMETHODIMP
-+nsGIOProtocolHandler::GetProtocolFlags(PRUint32 *aProtocolFlags)
-+{
-+ // Is URI_STD true of all GnomeVFS URI types?
-+ *aProtocolFlags = URI_STD | URI_DANGEROUS_TO_LOAD;
-+ return NS_OK;
-+}
-+
-+NS_IMETHODIMP
-+nsGIOProtocolHandler::NewURI(const nsACString &aSpec,
-+ const char *aOriginCharset,
-+ nsIURI *aBaseURI,
-+ nsIURI **aResult)
-+{
-+ const nsCString flatSpec(aSpec);
-+ LOG(("gio: NewURI [spec=%s]\n", flatSpec.get()));
-+
-+ if (!aBaseURI)
-+ {
-+ // XXX Is it good to support all GIO protocols?
-+ if (!IsSupportedProtocol(flatSpec))
-+ return NS_ERROR_UNKNOWN_PROTOCOL;
-+
-+ PRInt32 colon_location = flatSpec.FindChar(':');
-+ if (colon_location <= 0)
-+ return NS_ERROR_UNKNOWN_PROTOCOL;
-+
-+ // Verify that GIO supports this URI scheme.
-+ PRBool uri_scheme_supported = PR_FALSE;
-+
-+ GVfs *gvfs = g_vfs_get_default();
-+
-+ if (!gvfs) {
-+ g_warning("Cannot get GVfs object.");
-+ return NS_ERROR_UNKNOWN_PROTOCOL;
-+ }
-+
-+ const gchar* const * uri_schemes = g_vfs_get_supported_uri_schemes(gvfs);
-+
-+ while (*uri_schemes != NULL) {
-+ // While flatSpec ends with ':' the uri_scheme does not. Therefore do not
-+ // compare last character.
-+ if (StringHead(flatSpec, colon_location).Equals(*uri_schemes)) {
-+ uri_scheme_supported = PR_TRUE;
-+ break;
-+ }
-+ uri_schemes++;
-+ }
-+
-+ if (!uri_scheme_supported) {
-+ return NS_ERROR_UNKNOWN_PROTOCOL;
-+ }
-+ }
-+
-+ nsresult rv;
-+ nsCOMPtr<nsIStandardURL> url =
-+ do_CreateInstance(NS_STANDARDURL_CONTRACTID, &rv);
-+ if (NS_FAILED(rv))
-+ return rv;
-+
-+ rv = url->Init(nsIStandardURL::URLTYPE_STANDARD, -1, flatSpec,
-+ aOriginCharset, aBaseURI);
-+ if (NS_SUCCEEDED(rv))
-+ rv = CallQueryInterface(url, aResult);
-+ return rv;
-+
-+}
-+
-+NS_IMETHODIMP
-+nsGIOProtocolHandler::NewChannel(nsIURI *aURI, nsIChannel **aResult)
-+{
-+ NS_ENSURE_ARG_POINTER(aURI);
-+ nsresult rv;
-+
-+ nsCAutoString spec;
-+ rv = aURI->GetSpec(spec);
-+ if (NS_FAILED(rv))
-+ return rv;
-+
-+ nsRefPtr<nsGIOInputStream> stream = new nsGIOInputStream(spec);
-+ if (!stream)
-+ {
-+ rv = NS_ERROR_OUT_OF_MEMORY;
-+ }
-+ else
-+ {
-+ // start out assuming an unknown content-type. we'll set the content-type
-+ // to something better once we open the URI.
-+ rv = NS_NewInputStreamChannel(aResult,
-+ aURI,
-+ stream,
-+ NS_LITERAL_CSTRING(UNKNOWN_CONTENT_TYPE));
-+ if (NS_SUCCEEDED(rv))
-+ stream->SetChannel(*aResult);
-+ }
-+ return rv;
-+}
-+
-+NS_IMETHODIMP
-+nsGIOProtocolHandler::AllowPort(PRInt32 aPort,
-+ const char *aScheme,
-+ PRBool *aResult)
-+{
-+ // Don't override anything.
-+ *aResult = PR_FALSE;
-+ return NS_OK;
-+}
-+
-+NS_IMETHODIMP
-+nsGIOProtocolHandler::Observe(nsISupports *aSubject,
-+ const char *aTopic,
-+ const PRUnichar *aData)
-+{
-+ if (strcmp(aTopic, NS_PREFBRANCH_PREFCHANGE_TOPIC_ID) == 0) {
-+ nsCOMPtr<nsIPrefBranch> prefs = do_QueryInterface(aSubject);
-+ InitSupportedProtocolsPref(prefs);
-+ }
-+ return NS_OK;
-+}
-+
-+//-----------------------------------------------------------------------------
-+
-+#define NS_GIOPROTOCOLHANDLER_CID \
-+{ /* ee706783-3af8-4d19-9e84-e2ebfe213480 */ \
-+ 0xee706783, \
-+ 0x3af8, \
-+ 0x4d19, \
-+ {0x9e, 0x84, 0xe2, 0xeb, 0xfe, 0x21, 0x34, 0x80} \
-+}
-+
-+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGIOProtocolHandler, Init)
-+NS_DEFINE_NAMED_CID(NS_GIOPROTOCOLHANDLER_CID);
-+
-+static const mozilla::Module::CIDEntry kVFSCIDs[] = {
-+ { &kNS_GIOPROTOCOLHANDLER_CID, false, NULL, nsGIOProtocolHandlerConstructor },
-+ { NULL }
-+};
-+
-+static const mozilla::Module::ContractIDEntry kVFSContracts[] = {
-+ { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX MOZ_GIO_SCHEME, &kNS_GIOPROTOCOLHANDLER_CID },
-+ { NULL }
-+};
-+
-+static const mozilla::Module kVFSModule = {
-+ mozilla::Module::kVersion,
-+ kVFSCIDs,
-+ kVFSContracts
-+};
-+
-+NSMODULE_DEFN(nsGIOModule) = &kVFSModule;
-diff -r 49a1b2aa43c5 netwerk/base/src/nsIOService.cpp
---- a/netwerk/base/src/nsIOService.cpp Tue Dec 21 12:42:59 2010 +0100
-+++ b/netwerk/base/src/nsIOService.cpp Tue Jan 11 11:17:52 2011 +0100
-@@ -454,6 +454,27 @@
- }
-
- #ifdef MOZ_X11
-+ // check to see whether GVFS can handle this URI scheme. if it can
-+ // create a nsIURI for the "scheme:", then we assume it has support for
-+ // the requested protocol. otherwise, we failover to using the default
-+ // protocol handler.
-+
-+ rv = CallGetService(NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX"moz-gio",
-+ result);
-+ if (NS_SUCCEEDED(rv)) {
-+ nsCAutoString spec(scheme);
-+ spec.Append(':');
-+
-+ nsIURI *uri;
-+ rv = (*result)->NewURI(spec, nsnull, nsnull, &uri);
-+ if (NS_SUCCEEDED(rv)) {
-+ NS_RELEASE(uri);
-+ return rv;
-+ }
-+
-+ NS_RELEASE(*result);
-+ }
-+
- // check to see whether GnomeVFS can handle this URI scheme. if it can
- // create a nsIURI for the "scheme:", then we assume it has support for
- // the requested protocol. otherwise, we failover to using the default
diff --git a/community-staging/xulrunner-oss/xulrunner-omnijar.patch b/community-staging/xulrunner-oss/xulrunner-omnijar.patch
deleted file mode 100644
index 66ec5206c..000000000
--- a/community-staging/xulrunner-oss/xulrunner-omnijar.patch
+++ /dev/null
@@ -1,1737 +0,0 @@
-# HG changeset patch
-# Parent a7dea879b4b445a23186f438900562155bb39e99
-Bug 620931 part 1 - Use chrome manifest to register resource://gre-resources/
-
-diff --git a/layout/style/jar.mn b/layout/style/jar.mn
---- a/layout/style/jar.mn
-+++ b/layout/style/jar.mn
-@@ -1,8 +1,10 @@
- toolkit.jar:
- * res/ua.css (ua.css)
- res/html.css (html.css)
- res/quirk.css (quirk.css)
- res/viewsource.css (viewsource.css)
- * res/forms.css (forms.css)
- res/arrow.gif (arrow.gif)
- res/arrowd.gif (arrowd.gif)
-+
-+% resource gre-resources %res/
-diff --git a/netwerk/protocol/res/nsResProtocolHandler.cpp b/netwerk/protocol/res/nsResProtocolHandler.cpp
---- a/netwerk/protocol/res/nsResProtocolHandler.cpp
-+++ b/netwerk/protocol/res/nsResProtocolHandler.cpp
-@@ -75,17 +75,16 @@ static nsResProtocolHandler *gResHandler
- //
- // this enables PR_LOG_ALWAYS level information and places all output in
- // the file log.txt
- //
- static PRLogModuleInfo *gResLog;
- #endif
-
- #define kGRE NS_LITERAL_CSTRING("gre")
--#define kGRE_RESOURCES NS_LITERAL_CSTRING("gre-resources")
-
- //----------------------------------------------------------------------------
- // nsResURL : overrides nsStandardURL::GetFile to provide nsIFile resolution
- //----------------------------------------------------------------------------
-
- nsresult
- nsResURL::EnsureFile()
- {
-@@ -197,28 +196,16 @@ nsResProtocolHandler::Init()
- NS_ENSURE_SUCCESS(rv, rv);
-
- //
- // make resource://gre/ point to the GRE directory
- //
- rv = AddSpecialDir(NS_GRE_DIR, kGRE);
- NS_ENSURE_SUCCESS(rv, rv);
-
-- // make resource://gre-resources/ point to gre toolkit[.jar]/res
-- nsCOMPtr<nsIURI> greURI;
-- nsCOMPtr<nsIURI> greResURI;
-- GetSubstitution(kGRE, getter_AddRefs(greURI));
--#ifdef MOZ_CHROME_FILE_FORMAT_JAR
-- NS_NAMED_LITERAL_CSTRING(strGRE_RES_URL, "jar:chrome/toolkit.jar!/res/");
--#else
-- NS_NAMED_LITERAL_CSTRING(strGRE_RES_URL, "chrome/toolkit/res/");
--#endif
-- rv = mIOService->NewURI(strGRE_RES_URL, nsnull, greURI,
-- getter_AddRefs(greResURI));
-- SetSubstitution(kGRE_RESOURCES, greResURI);
- //XXXbsmedberg Neil wants a resource://pchrome/ for the profile chrome dir...
- // but once I finish multiple chrome registration I'm not sure that it is needed
-
- // XXX dveditz: resource://pchrome/ defeats profile directory salting
- // if web content can load it. Tread carefully.
-
- return rv;
- }
-@@ -242,22 +229,16 @@ nsResProtocolHandler::Init(nsIFile *aOmn
- // these entries should be kept in sync with the normal Init function
-
- // resource:/// points to jar:omni.jar!/
- SetSubstitution(EmptyCString(), uri);
-
- // resource://gre/ points to jar:omni.jar!/
- SetSubstitution(kGRE, uri);
-
-- urlStr += "chrome/toolkit/res/";
-- rv = mIOService->NewURI(urlStr, nsnull, nsnull, getter_AddRefs(uri));
-- NS_ENSURE_SUCCESS(rv, rv);
--
-- // resource://gre-resources/ points to jar:omni.jar!/chrome/toolkit/res/
-- SetSubstitution(kGRE_RESOURCES, uri);
- return NS_OK;
- }
- #endif
-
- #ifdef MOZ_IPC
- static PLDHashOperator
- EnumerateSubstitution(const nsACString& aKey,
- nsIURI* aURI,
-# HG changeset patch
-# Parent 3038cccba1a071d6b418e15442d0f2d9f3dcb11d
-Bug 620931 part 2 - When building --with-libxul-sdk, use the right preferences directory
-
-diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
---- a/browser/locales/Makefile.in
-+++ b/browser/locales/Makefile.in
-@@ -183,17 +183,17 @@ install:: $(addsuffix .xml,$(SEARCH_PLUG
- $(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)/searchplugins
-
-
- libs-%:
- $(NSINSTALL) -D $(DIST)/install
- @$(MAKE) -C ../../toolkit/locales libs-$* BOTH_MANIFESTS=1
- @$(MAKE) -C ../../services/sync/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
- @$(MAKE) -C ../../extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
-- @$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=defaults/pref BOTH_MANIFESTS=1
-+ @$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=$(PREF_DIR) BOTH_MANIFESTS=1
- @$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
-
-
- repackage-win32-installer: WIN32_INSTALLER_OUT="$(_ABS_DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe"
- repackage-win32-installer: $(WIN32_INSTALLER_IN) $(SUBMAKEFILES)
- @echo "Repackaging $(WIN32_INSTALLER_IN) into $(WIN32_INSTALLER_OUT)."
- $(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY) export
- $(MAKE) -C ../installer/windows CONFIG_DIR=l10ngen l10ngen/setup.exe l10ngen/7zSD.sfx
-diff --git a/toolkit/mozapps/installer/packager.mk b/toolkit/mozapps/installer/packager.mk
---- a/toolkit/mozapps/installer/packager.mk
-+++ b/toolkit/mozapps/installer/packager.mk
-@@ -307,17 +307,17 @@ OMNIJAR_FILES = \
- res \
- defaults \
- greprefs.js \
- jsloader \
- $(NULL)
-
- NON_OMNIJAR_FILES += \
- chrome/icons/\* \
-- defaults/pref/channel-prefs.js \
-+ $(PREF_DIR)/channel-prefs.js \
- res/cursors/\* \
- res/MainMenu.nib/\* \
- $(NULL)
-
- PACK_OMNIJAR = \
- rm -f omni.jar components/binary.manifest && \
- grep -h '^binary-component' components/*.manifest > binary.manifest ; \
- sed -e 's/^binary-component/\#binary-component/' components/components.manifest > components.manifest && \
-# HG changeset patch
-# Parent cd8df8030f7ad7530692bd7c4391a8009df56a02
-Bug 620931 part 3 - Allow GRE and XUL application to use omni.jar independently
-
-We now store two independent locations for an omni.jar, allowing GRE/XRE and
-XUL application to each have their own omni.jar. And since xulrunner setups
-are very independent from the XUL applications, we implement support for both
-omni.jar and non omni.jar cases in the same runtime, with the side effect of
-allowing to switch from one to the other manually without rebuilding the
-binaries.
-
-We let the mozilla::Omnijar API handle both cases, so that callers don't need
-too much work to support them.
-
-We also make the preferences service load the same set of preferences in all
-the various cases (unified vs. separate, omni.jar vs. no omni.jar).
-
-The child process launcher for IPC is modified to pass the base directories
-needed for the mozilla::Omnijar API initialization in the child process.
-
-Finally, the startupcache file name canonicalization is modified to separate
-APP and GRE resources.
-
-diff --git a/ipc/glue/GeckoChildProcessHost.cpp b/ipc/glue/GeckoChildProcessHost.cpp
---- a/ipc/glue/GeckoChildProcessHost.cpp
-+++ b/ipc/glue/GeckoChildProcessHost.cpp
-@@ -440,26 +440,29 @@ GeckoChildProcessHost::PerformAsyncLaunc
- // other end of the socketpair() from us
-
- std::vector<std::string> childArgv;
-
- childArgv.push_back(exePath.value());
-
- childArgv.insert(childArgv.end(), aExtraOpts.begin(), aExtraOpts.end());
-
--#ifdef MOZ_OMNIJAR
- // Make sure the child process can find the omnijar
- // See XRE_InitCommandLine in nsAppRunner.cpp
-- nsCAutoString omnijarPath;
-- if (mozilla::OmnijarPath()) {
-- mozilla::OmnijarPath()->GetNativePath(omnijarPath);
-- childArgv.push_back("-omnijar");
-- childArgv.push_back(omnijarPath.get());
-+ nsCAutoString path;
-+ nsCOMPtr<nsIFile> file = mozilla::Omnijar::GetBase(mozilla::Omnijar::GRE);
-+ if (file && NS_SUCCEEDED(file->GetNativePath(path))) {
-+ childArgv.push_back("-grebase");
-+ childArgv.push_back(path.get());
- }
--#endif
-+ file = mozilla::Omnijar::GetBase(mozilla::Omnijar::APP);
-+ if (file && NS_SUCCEEDED(file->GetNativePath(path))) {
-+ childArgv.push_back("-appbase");
-+ childArgv.push_back(path.get());
-+ }
-
- childArgv.push_back(pidstring);
-
- #if defined(MOZ_CRASHREPORTER)
- # if defined(OS_LINUX)
- int childCrashFd, childCrashRemapFd;
- if (!CrashReporter::CreateNotificationPipeForChild(
- &childCrashFd, &childCrashRemapFd))
-@@ -552,26 +555,29 @@ GeckoChildProcessHost::PerformAsyncLaunc
- for (std::vector<std::string>::iterator it = aExtraOpts.begin();
- it != aExtraOpts.end();
- ++it) {
- cmdLine.AppendLooseValue(UTF8ToWide(*it));
- }
-
- cmdLine.AppendLooseValue(std::wstring(mGroupId.get()));
-
--#ifdef MOZ_OMNIJAR
- // Make sure the child process can find the omnijar
- // See XRE_InitCommandLine in nsAppRunner.cpp
-- nsAutoString omnijarPath;
-- if (mozilla::OmnijarPath()) {
-- mozilla::OmnijarPath()->GetPath(omnijarPath);
-- cmdLine.AppendLooseValue(UTF8ToWide("-omnijar"));
-- cmdLine.AppendLooseValue(omnijarPath.get());
-+ nsAutoString path;
-+ nsCOMPtr<nsIFile> file = mozilla::Omnijar::GetBase(mozilla::Omnijar::GRE);
-+ if (file && NS_SUCCEEDED(file->GetPath(path))) {
-+ cmdLine.AppendLooseValue(UTF8ToWide("-grebase"));
-+ cmdLine.AppendLooseValue(path.get());
- }
--#endif
-+ file = mozilla::Omnijar::GetBase(mozilla::Omnijar::APP);
-+ if (file && NS_SUCCEEDED(file->GetPath(path))) {
-+ cmdLine.AppendLooseValue(UTF8ToWide("-appbase"));
-+ cmdLine.AppendLooseValue(path.get());
-+ }
-
- cmdLine.AppendLooseValue(UTF8ToWide(pidstring));
-
- #if defined(MOZ_CRASHREPORTER)
- cmdLine.AppendLooseValue(
- UTF8ToWide(CrashReporter::GetChildNotificationPipe()));
- #endif
-
-diff --git a/js/src/xpconnect/loader/mozJSComponentLoader.cpp b/js/src/xpconnect/loader/mozJSComponentLoader.cpp
---- a/js/src/xpconnect/loader/mozJSComponentLoader.cpp
-+++ b/js/src/xpconnect/loader/mozJSComponentLoader.cpp
-@@ -81,16 +81,17 @@
- #include "nsIConsoleService.h"
- #include "nsIStorageStream.h"
- #include "nsIStringStream.h"
- #include "prmem.h"
- #if defined(XP_WIN)
- #include "nsILocalFileWin.h"
- #endif
- #include "xpcprivate.h"
-+#include "nsIResProtocolHandler.h"
-
- #ifdef MOZ_ENABLE_LIBXUL
- #include "mozilla/scache/StartupCache.h"
- #include "mozilla/scache/StartupCacheUtils.h"
- #endif
- #include "mozilla/Omnijar.h"
-
- #include "jsdbgapi.h"
-@@ -621,34 +622,21 @@ mozJSComponentLoader::LoadModule(nsILoca
-
- const mozilla::Module*
- mozJSComponentLoader::LoadModuleFromJAR(nsILocalFile *aJarFile,
- const nsACString &aComponentPath)
- {
- #if !defined(XPCONNECT_STANDALONE)
- nsresult rv;
-
-- nsCAutoString fullSpec;
--
--#ifdef MOZ_OMNIJAR
-- PRBool equal;
-- rv = aJarFile->Equals(mozilla::OmnijarPath(), &equal);
-- if (NS_SUCCEEDED(rv) && equal) {
-- fullSpec = "resource://gre/";
-- } else {
--#endif
-- nsCAutoString fileSpec;
-- NS_GetURLSpecFromActualFile(aJarFile, fileSpec);
-- fullSpec = "jar:";
-- fullSpec += fileSpec;
-- fullSpec += "!/";
--#ifdef MOZ_OMNIJAR
-- }
--#endif
--
-+ nsCAutoString fullSpec, fileSpec;
-+ NS_GetURLSpecFromActualFile(aJarFile, fileSpec);
-+ fullSpec = "jar:";
-+ fullSpec += fileSpec;
-+ fullSpec += "!/";
- fullSpec += aComponentPath;
-
- nsCOMPtr<nsIURI> uri;
- rv = NS_NewURI(getter_AddRefs(uri), fullSpec);
- if (NS_FAILED(rv))
- return NULL;
-
- nsAutoString hashstring;
-@@ -833,57 +821,138 @@ class JSScriptHolder
- JSScriptHolder(JSContext *cx, JSScript *script)
- : mCx(cx), mScript(script) {}
- ~JSScriptHolder() { ::JS_DestroyScript(mCx, mScript); }
- private:
- JSContext *mCx;
- JSScript *mScript;
- };
-
-+static const char baseName[2][5] = { "gre/", "app/" };
-+
-+static inline PRBool
-+canonicalizeBase(nsCAutoString &spec, nsACString &out, mozilla::Omnijar::Type aType)
-+{
-+ nsCAutoString base;
-+ nsresult rv = mozilla::Omnijar::GetURIString(aType, base);
-+
-+ if (NS_FAILED(rv) || !base.Length())
-+ return PR_FALSE;
-+
-+ if (base.Compare(spec.get(), PR_FALSE, base.Length()))
-+ return PR_FALSE;
-+
-+ out.Append("/resource/");
-+ out.Append(baseName[aType]);
-+ out.Append(Substring(spec, base.Length()));
-+ return PR_TRUE;
-+}
- /**
- * PathifyURI transforms mozilla .js uris into useful zip paths
- * to make it makes it easier to manipulate startup cache entries
- * using standard zip tools.
- * Transformations applied:
-- * * jsloader/<scheme> prefix is used to group mozJSComponentLoader cache entries in
-+ * * jsloader/ prefix is used to group mozJSComponentLoader cache entries in
- * a top-level zip directory.
-- * * In MOZ_OMNIJAR case resource:/// and resource://gre/ URIs refer to the same path
-- * so treat both of them as resource://gre/
-+ * * resource:// URIs are resolved to their corresponding file/jar URI to
-+ * canonicalize resources URIs other than gre and app.
-+ * * Paths under GRE or APP directory have their base path replaced with
-+ * resource/gre or resource/app to avoid depending on install location.
-+ * * jar:file:///path/to/file.jar!/sub/path urls are replaced with
-+ * /path/to/file.jar/sub/path
- * * .bin suffix is added to the end of the path to indicate that jsloader/ entries
- * are binary representations of JS source.
- * For example:
-- * resource://gre/modules/XPCOMUtils.jsm becomes
-- * jsloader/resource/gre/modules/XPCOMUtils.jsm.bin
-+ * resource://gre/modules/XPCOMUtils.jsm or
-+ * file://$GRE_DIR/modules/XPCOMUtils.jsm or
-+ * jar:file://$GRE_DIR/omni.jar!/modules/XPCOMUtils.jsm become
-+ * jsloader/resource/gre/modules/XPCOMUtils.jsm.bin
-+ * file://$PROFILE_DIR/extensions/{uuid}/components/component.js becomes
-+ * jsloader/$PROFILE_DIR/extensions/%7Buuid%7D/components/component.js.bin
-+ * jar:file://$PROFILE_DIR/extensions/some.xpi!/components/component.js becomes
-+ * jsloader/$PROFILE_DIR/extensions/some.xpi/components/component.js.bin
- */
- static nsresult
- PathifyURI(nsIURI *in, nsACString &out)
- {
-- out = "jsloader/";
-- nsCAutoString scheme;
-- nsresult rv = in->GetScheme(scheme);
-- NS_ENSURE_SUCCESS(rv, rv);
-- out.Append(scheme);
-- nsCAutoString host;
-- // OK for GetHost to fail since it's not implemented sometimes
-- in->GetHost(host);
--#ifdef MOZ_OMNIJAR
-- if (scheme.Equals("resource") && host.Length() == 0){
-- host = "gre";
-- }
--#endif
-- if (host.Length()) {
-- out.Append("/");
-- out.Append(host);
-- }
-- nsCAutoString path;
-- rv = in->GetPath(path);
-- NS_ENSURE_SUCCESS(rv, rv);
-- out.Append(path);
-- out.Append(".bin");
-- return NS_OK;
-+ PRBool equals;
-+ nsresult rv;
-+ nsCOMPtr<nsIURI> uri = in;
-+ nsCAutoString spec;
-+
-+ out = "jsloader";
-+
-+ // Resolve resource:// URIs. At the end of this if/else block, we
-+ // have both spec and uri variables identifying the same URI.
-+ if (NS_SUCCEEDED(in->SchemeIs("resource", &equals)) && equals) {
-+ nsCOMPtr<nsIIOService> ioService = do_GetIOService(&rv);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ nsCOMPtr<nsIProtocolHandler> ph;
-+ rv = ioService->GetProtocolHandler("resource", getter_AddRefs(ph));
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ nsCOMPtr<nsIResProtocolHandler> irph(do_QueryInterface(ph, &rv));
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ rv = irph->ResolveURI(in, spec);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ rv = ioService->NewURI(spec, nsnull, nsnull, getter_AddRefs(uri));
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ } else {
-+ rv = in->GetSpec(spec);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ }
-+
-+ if (!canonicalizeBase(spec, out, mozilla::Omnijar::GRE) &&
-+ !canonicalizeBase(spec, out, mozilla::Omnijar::APP)) {
-+ if (NS_SUCCEEDED(uri->SchemeIs("file", &equals)) && equals) {
-+ nsCOMPtr<nsIFileURL> baseFileURL;
-+ baseFileURL = do_QueryInterface(uri, &rv);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ nsCAutoString path;
-+ rv = baseFileURL->GetPath(path);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ out.Append(path);
-+ } else if (NS_SUCCEEDED(uri->SchemeIs("jar", &equals)) && equals) {
-+ nsCOMPtr<nsIJARURI> jarURI = do_QueryInterface(uri, &rv);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ nsCOMPtr<nsIURI> jarFileURI;
-+ rv = jarURI->GetJARFile(getter_AddRefs(jarFileURI));
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ nsCOMPtr<nsIFileURL> jarFileURL;
-+ jarFileURL = do_QueryInterface(jarFileURI, &rv);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ nsCAutoString path;
-+ rv = jarFileURL->GetPath(path);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ out.Append(path);
-+
-+ rv = jarURI->GetJAREntry(path);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ out.Append("/");
-+ out.Append(path);
-+ } else { // Very unlikely
-+ nsCAutoString spec;
-+ rv = uri->GetSpec(spec);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ out.Append("/");
-+ out.Append(spec);
-+ }
-+ }
-+
-+ out.Append(".bin");
-+ return NS_OK;
- }
-
- /* static */
- #ifdef MOZ_ENABLE_LIBXUL
- nsresult
- mozJSComponentLoader::ReadScript(StartupCache* cache, nsIURI *uri,
- JSContext *cx, JSScript **script)
- {
-diff --git a/modules/libjar/nsJAR.cpp b/modules/libjar/nsJAR.cpp
---- a/modules/libjar/nsJAR.cpp
-+++ b/modules/libjar/nsJAR.cpp
-@@ -171,26 +171,23 @@ nsJAR::Open(nsIFile* zipFile)
- if (mLock) return NS_ERROR_FAILURE; // Already open!
-
- mZipFile = zipFile;
- mOuterZipEntry.Truncate();
-
- mLock = PR_NewLock();
- NS_ENSURE_TRUE(mLock, NS_ERROR_OUT_OF_MEMORY);
-
--#ifdef MOZ_OMNIJAR
- // The omnijar is special, it is opened early on and closed late
- // this avoids reopening it
-- PRBool equals;
-- nsresult rv = zipFile->Equals(mozilla::OmnijarPath(), &equals);
-- if (NS_SUCCEEDED(rv) && equals) {
-- mZip = mozilla::OmnijarReader();
-+ nsZipArchive *zip = mozilla::Omnijar::GetReader(zipFile);
-+ if (zip) {
-+ mZip = zip;
- return NS_OK;
- }
--#endif
- return mZip->OpenArchive(zipFile);
- }
-
- NS_IMETHODIMP
- nsJAR::OpenInner(nsIZipReader *aZipReader, const char *aZipEntry)
- {
- NS_ENSURE_ARG_POINTER(aZipReader);
- NS_ENSURE_ARG_POINTER(aZipEntry);
-@@ -234,23 +231,22 @@ nsJAR::Close()
- mLock = nsnull;
- }
-
- mParsedManifest = PR_FALSE;
- mManifestData.Reset();
- mGlobalStatus = JAR_MANIFEST_NOT_PARSED;
- mTotalItemsInManifest = 0;
-
--#ifdef MOZ_OMNIJAR
-- if (mZip == mozilla::OmnijarReader()) {
-+ if ((mZip == mozilla::Omnijar::GetReader(mozilla::Omnijar::GRE)) ||
-+ (mZip == mozilla::Omnijar::GetReader(mozilla::Omnijar::APP))) {
- mZip.forget();
- mZip = new nsZipArchive();
- return NS_OK;
- }
--#endif
- return mZip->CloseArchive();
- }
-
- NS_IMETHODIMP
- nsJAR::Test(const char *aEntryName)
- {
- return mZip->Test(aEntryName);
- }
-@@ -391,22 +387,21 @@ nsJAR::GetInputStreamWithSpec(const nsAC
- NS_IMETHODIMP
- nsJAR::GetCertificatePrincipal(const char* aFilename, nsIPrincipal** aPrincipal)
- {
- //-- Parameter check
- if (!aPrincipal)
- return NS_ERROR_NULL_POINTER;
- *aPrincipal = nsnull;
-
--#ifdef MOZ_OMNIJAR
- // Don't check signatures in the omnijar - this is only
- // interesting for extensions/XPIs.
-- if (mZip == mozilla::OmnijarReader())
-+ if ((mZip == mozilla::Omnijar::GetReader(mozilla::Omnijar::GRE)) ||
-+ (mZip == mozilla::Omnijar::GetReader(mozilla::Omnijar::APP)))
- return NS_OK;
--#endif
-
- //-- Parse the manifest
- nsresult rv = ParseManifest();
- if (NS_FAILED(rv)) return rv;
- if (mGlobalStatus == JAR_NO_MANIFEST)
- return NS_OK;
-
- PRInt16 requestedStatus;
-diff --git a/modules/libpref/src/nsPrefService.cpp b/modules/libpref/src/nsPrefService.cpp
---- a/modules/libpref/src/nsPrefService.cpp
-+++ b/modules/libpref/src/nsPrefService.cpp
-@@ -67,20 +67,18 @@
-
- #include "prefapi.h"
- #include "prefread.h"
- #include "prefapi_private_data.h"
- #include "PrefTuple.h"
-
- #include "nsITimelineService.h"
-
--#ifdef MOZ_OMNIJAR
- #include "mozilla/Omnijar.h"
- #include "nsZipArchive.h"
--#endif
-
- // Definitions
- #define INITIAL_PREF_FILES 10
- static NS_DEFINE_CID(kZipReaderCID, NS_ZIPREADER_CID);
-
- // Prototypes
- static nsresult openPrefFile(nsIFile* aFile);
- static nsresult pref_InitInitialObjects(void);
-@@ -793,124 +791,144 @@ static nsresult pref_LoadPrefsInDirList(
- pref_LoadPrefsInDir(dir, nsnull, 0);
- }
- }
- }
- }
- return NS_OK;
- }
-
--//----------------------------------------------------------------------------------------
--// Initialize default preference JavaScript buffers from
--// appropriate TEXT resources
--//----------------------------------------------------------------------------------------
--static nsresult pref_InitDefaults()
--{
-- nsCOMPtr<nsIFile> greprefsFile;
-- nsresult rv;
--
-- rv = NS_GetSpecialDirectory(NS_GRE_DIR, getter_AddRefs(greprefsFile));
-- NS_ENSURE_SUCCESS(rv, rv);
--
-- rv = greprefsFile->AppendNative(NS_LITERAL_CSTRING("greprefs.js"));
-- NS_ENSURE_SUCCESS(rv, rv);
--
-- rv = openPrefFile(greprefsFile);
-- if (NS_FAILED(rv)) {
-- NS_WARNING("Error parsing GRE default preferences. Is this an old-style embedding app?");
-- }
--
-- return NS_OK;
--}
--
--#ifdef MOZ_OMNIJAR
- static nsresult pref_ReadPrefFromJar(nsZipArchive* jarReader, const char *name)
- {
- nsZipItemPtr<char> manifest(jarReader, name, true);
- NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
-
- PrefParseState ps;
- PREF_InitParseState(&ps, PREF_ReaderCallback, NULL);
- nsresult rv = PREF_ParseBuf(&ps, manifest, manifest.Length());
- PREF_FinalizeParseState(&ps);
-
- return rv;
- }
-
--static nsresult pref_InitAppDefaultsFromOmnijar()
--{
-- nsresult rv;
--
-- nsZipArchive* jarReader = mozilla::OmnijarReader();
-- if (!jarReader)
-- return pref_InitDefaults();
--
-- rv = pref_ReadPrefFromJar(jarReader, "greprefs.js");
-- NS_ENSURE_SUCCESS(rv, rv);
--
-- nsZipFind *findPtr;
-- rv = jarReader->FindInit("defaults/pref/*.js$", &findPtr);
-- NS_ENSURE_SUCCESS(rv, rv);
--
-- nsAutoPtr<nsZipFind> find(findPtr);
--
-- nsTArray<nsCString> prefEntries;
-- const char *entryName;
-- PRUint16 entryNameLen;
-- while (NS_SUCCEEDED(find->FindNext(&entryName, &entryNameLen))) {
-- prefEntries.AppendElement(Substring(entryName, entryName + entryNameLen));
-- }
--
-- prefEntries.Sort();
-- for (PRUint32 i = prefEntries.Length(); i--; ) {
-- rv = pref_ReadPrefFromJar(jarReader, prefEntries[i].get());
-- if (NS_FAILED(rv))
-- NS_WARNING("Error parsing preferences.");
-- }
--
-- return NS_OK;
--}
--#endif
--
-+//----------------------------------------------------------------------------------------
-+// Initialize default preference JavaScript buffers from
-+// appropriate TEXT resources
-+//----------------------------------------------------------------------------------------
- static nsresult pref_InitInitialObjects()
- {
- nsresult rv;
-
-- // first we parse the GRE default prefs. This also works if we're not using a GRE,
--#ifdef MOZ_OMNIJAR
-- rv = pref_InitAppDefaultsFromOmnijar();
--#else
-- rv = pref_InitDefaults();
--#endif
-- NS_ENSURE_SUCCESS(rv, rv);
-+ // In omni.jar case, we load the following prefs:
-+ // - jar:$gre/omni.jar!/greprefs.js
-+ // - jar:$gre/omni.jar!/defaults/pref/*.js
-+ // In non omni.jar case, we load:
-+ // - $gre/greprefs.js
-+ //
-+ // When $app == $gre, we additionally load, in all cases:
-+ // - $gre/defaults/pref/*.js
-+ // This is kept for bug 591866 (channel-prefs.js should not be in omni.jar).
-+ // We load all files instead of channel-prefs.js only to have the same
-+ // behaviour as $app != $gre.
-+ //
-+ // When $app != $gre, we additionally load, in omni.jar case:
-+ // - jar:$app/omni.jar!/defaults/preferences/*.js
-+ // - $app/defaults/preferences/*.js
-+ // and in non omni.jar case:
-+ // - $app/defaults/preferences/*.js
-
-- nsCOMPtr<nsIFile> defaultPrefDir;
-- // now parse the "application" default preferences
-- rv = NS_GetSpecialDirectory(NS_APP_PREF_DEFAULTS_50_DIR, getter_AddRefs(defaultPrefDir));
-- NS_ENSURE_SUCCESS(rv, rv);
-+ nsZipFind *findPtr;
-+ nsAutoPtr<nsZipFind> find;
-+ nsTArray<nsCString> prefEntries;
-+ const char *entryName;
-+ PRUint16 entryNameLen;
-
-- /* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */
-- static const char* specialFiles[] = {
-+ nsZipArchive* jarReader = mozilla::Omnijar::GetReader(mozilla::Omnijar::GRE);
-+ if (jarReader) {
-+ // Load jar:$gre/omni.jar!/greprefs.js
-+ rv = pref_ReadPrefFromJar(jarReader, "greprefs.js");
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ // Load jar:$gre/omni.jar!/defaults/pref/*.js
-+ rv = jarReader->FindInit("defaults/pref/*.js$", &findPtr);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ find = findPtr;
-+ while (NS_SUCCEEDED(find->FindNext(&entryName, &entryNameLen))) {
-+ prefEntries.AppendElement(Substring(entryName, entryName + entryNameLen));
-+ }
-+
-+ prefEntries.Sort();
-+ for (PRUint32 i = prefEntries.Length(); i--; ) {
-+ rv = pref_ReadPrefFromJar(jarReader, prefEntries[i].get());
-+ if (NS_FAILED(rv))
-+ NS_WARNING("Error parsing preferences.");
-+ }
-+ } else {
-+ // Load $gre/greprefs.js
-+ nsCOMPtr<nsIFile> greprefsFile;
-+ rv = NS_GetSpecialDirectory(NS_GRE_DIR, getter_AddRefs(greprefsFile));
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ rv = greprefsFile->AppendNative(NS_LITERAL_CSTRING("greprefs.js"));
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ rv = openPrefFile(greprefsFile);
-+ if (NS_FAILED(rv))
-+ NS_WARNING("Error parsing GRE default preferences. Is this an old-style embedding app?");
-+ }
-+
-+ if (!mozilla::Omnijar::HasOmnijar(mozilla::Omnijar::APP)) {
-+ // Load $gre/defaults/pref/*.js
-+ nsCOMPtr<nsIFile> defaultPrefDir;
-+
-+ rv = NS_GetSpecialDirectory(NS_APP_PREF_DEFAULTS_50_DIR, getter_AddRefs(defaultPrefDir));
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ /* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */
-+ static const char* specialFiles[] = {
- #if defined(XP_MAC) || defined(XP_MACOSX)
- "macprefs.js"
- #elif defined(XP_WIN)
- "winpref.js"
- #elif defined(XP_UNIX)
- "unix.js"
--#if defined(_AIX)
-+#if defined(VMS)
-+ , "openvms.js"
-+#elif defined(_AIX)
- , "aix.js"
- #endif
- #elif defined(XP_OS2)
- "os2pref.js"
-+#elif defined(XP_BEOS)
-+ "beos.js"
- #endif
-- };
-+ };
-
-- rv = pref_LoadPrefsInDir(defaultPrefDir, specialFiles, NS_ARRAY_LENGTH(specialFiles));
-- if (NS_FAILED(rv)) {
-- NS_WARNING("Error parsing application default preferences.");
-+ rv = pref_LoadPrefsInDir(defaultPrefDir, specialFiles, NS_ARRAY_LENGTH(specialFiles));
-+ if (NS_FAILED(rv))
-+ NS_WARNING("Error parsing application default preferences.");
-+ }
-+
-+ // Load jar:$app/omni.jar!/defaults/preferences/*.js
-+ nsZipArchive *appJarReader = mozilla::Omnijar::GetReader(mozilla::Omnijar::APP);
-+ if (appJarReader) {
-+ rv = appJarReader->FindInit("defaults/preferences/*.js$", &findPtr);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ find = findPtr;
-+ prefEntries.Clear();
-+ while (NS_SUCCEEDED(find->FindNext(&entryName, &entryNameLen))) {
-+ prefEntries.AppendElement(Substring(entryName, entryName + entryNameLen));
-+ }
-+ prefEntries.Sort();
-+ for (PRUint32 i = prefEntries.Length(); i--; ) {
-+ rv = pref_ReadPrefFromJar(appJarReader, prefEntries[i].get());
-+ if (NS_FAILED(rv))
-+ NS_WARNING("Error parsing preferences.");
-+ }
- }
-
- rv = pref_LoadPrefsInDirList(NS_APP_PREFS_DEFAULTS_DIR_LIST);
- NS_ENSURE_SUCCESS(rv, rv);
-
- NS_CreateServicesFromCategory(NS_PREFSERVICE_APPDEFAULTS_TOPIC_ID,
- nsnull, NS_PREFSERVICE_APPDEFAULTS_TOPIC_ID);
-
-diff --git a/netwerk/protocol/res/nsResProtocolHandler.cpp b/netwerk/protocol/res/nsResProtocolHandler.cpp
---- a/netwerk/protocol/res/nsResProtocolHandler.cpp
-+++ b/netwerk/protocol/res/nsResProtocolHandler.cpp
-@@ -152,97 +152,62 @@ nsResProtocolHandler::nsResProtocolHandl
- }
-
- nsResProtocolHandler::~nsResProtocolHandler()
- {
- gResHandler = nsnull;
- }
-
- nsresult
--nsResProtocolHandler::AddSpecialDir(const char* aSpecialDir, const nsACString& aSubstitution)
--{
-- nsCOMPtr<nsIFile> file;
-- nsresult rv = NS_GetSpecialDirectory(aSpecialDir, getter_AddRefs(file));
-- NS_ENSURE_SUCCESS(rv, rv);
--
-- nsCOMPtr<nsIURI> uri;
-- rv = mIOService->NewFileURI(file, getter_AddRefs(uri));
-- NS_ENSURE_SUCCESS(rv, rv);
--
-- return SetSubstitution(aSubstitution, uri);
--}
--
--nsresult
- nsResProtocolHandler::Init()
- {
- if (!mSubstitutions.Init(32))
- return NS_ERROR_UNEXPECTED;
-
- nsresult rv;
-
- mIOService = do_GetIOService(&rv);
- NS_ENSURE_SUCCESS(rv, rv);
-
--#ifdef MOZ_OMNIJAR
-- nsCOMPtr<nsIFile> omniJar(mozilla::OmnijarPath());
-- if (omniJar)
-- return Init(omniJar);
--#endif
--
-- // these entries should be kept in sync with the omnijar Init function
-+ nsCAutoString appURI, greURI;
-+ rv = mozilla::Omnijar::GetURIString(mozilla::Omnijar::APP, appURI);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ rv = mozilla::Omnijar::GetURIString(mozilla::Omnijar::GRE, greURI);
-+ NS_ENSURE_SUCCESS(rv, rv);
-
- //
-- // make resource:/// point to the application directory
-+ // make resource:/// point to the application directory or omnijar
- //
-- rv = AddSpecialDir(NS_OS_CURRENT_PROCESS_DIR, EmptyCString());
-+ nsCOMPtr<nsIURI> uri;
-+ rv = NS_NewURI(getter_AddRefs(uri), appURI.Length() ? appURI : greURI);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ rv = SetSubstitution(EmptyCString(), uri);
- NS_ENSURE_SUCCESS(rv, rv);
-
- //
- // make resource://gre/ point to the GRE directory
- //
-- rv = AddSpecialDir(NS_GRE_DIR, kGRE);
-+ if (appURI.Length()) { // We already have greURI in uri if appURI.Length() is 0.
-+ rv = NS_NewURI(getter_AddRefs(uri), greURI);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ }
-+
-+ rv = SetSubstitution(kGRE, uri);
- NS_ENSURE_SUCCESS(rv, rv);
-
- //XXXbsmedberg Neil wants a resource://pchrome/ for the profile chrome dir...
- // but once I finish multiple chrome registration I'm not sure that it is needed
-
- // XXX dveditz: resource://pchrome/ defeats profile directory salting
- // if web content can load it. Tread carefully.
-
- return rv;
- }
-
--#ifdef MOZ_OMNIJAR
--nsresult
--nsResProtocolHandler::Init(nsIFile *aOmniJar)
--{
-- nsresult rv;
-- nsCOMPtr<nsIURI> uri;
-- nsCAutoString omniJarSpec;
-- NS_GetURLSpecFromActualFile(aOmniJar, omniJarSpec, mIOService);
--
-- nsCAutoString urlStr("jar:");
-- urlStr += omniJarSpec;
-- urlStr += "!/";
--
-- rv = mIOService->NewURI(urlStr, nsnull, nsnull, getter_AddRefs(uri));
-- NS_ENSURE_SUCCESS(rv, rv);
--
-- // these entries should be kept in sync with the normal Init function
--
-- // resource:/// points to jar:omni.jar!/
-- SetSubstitution(EmptyCString(), uri);
--
-- // resource://gre/ points to jar:omni.jar!/
-- SetSubstitution(kGRE, uri);
--
-- return NS_OK;
--}
--#endif
--
- #ifdef MOZ_IPC
- static PLDHashOperator
- EnumerateSubstitution(const nsACString& aKey,
- nsIURI* aURI,
- void* aArg)
- {
- nsTArray<ResourceMapping>* resources =
- static_cast<nsTArray<ResourceMapping>*>(aArg);
-diff --git a/startupcache/StartupCache.cpp b/startupcache/StartupCache.cpp
---- a/startupcache/StartupCache.cpp
-+++ b/startupcache/StartupCache.cpp
-@@ -237,27 +237,36 @@ StartupCache::GetBuffer(const char* id,
- nsZipItemPtr<char> zipItem(mArchive, id, true);
- if (zipItem) {
- *outbuf = zipItem.Forget();
- *length = zipItem.Length();
- return NS_OK;
- }
- }
-
--#ifdef MOZ_OMNIJAR
-- if (mozilla::OmnijarReader()) {
-+ if (mozilla::Omnijar::GetReader(mozilla::Omnijar::APP)) {
- // no need to checksum omnijarred entries
-- nsZipItemPtr<char> zipItem(mozilla::OmnijarReader(), id);
-+ nsZipItemPtr<char> zipItem(mozilla::Omnijar::GetReader(mozilla::Omnijar::APP), id);
- if (zipItem) {
- *outbuf = zipItem.Forget();
- *length = zipItem.Length();
- return NS_OK;
- }
- }
--#endif
-+
-+ if (mozilla::Omnijar::GetReader(mozilla::Omnijar::GRE)) {
-+ // no need to checksum omnijarred entries
-+ nsZipItemPtr<char> zipItem(mozilla::Omnijar::GetReader(mozilla::Omnijar::GRE), id);
-+ if (zipItem) {
-+ *outbuf = zipItem.Forget();
-+ *length = zipItem.Length();
-+ return NS_OK;
-+ }
-+ }
-+
- return NS_ERROR_NOT_AVAILABLE;
- }
-
- // Makes a copy of the buffer, client retains ownership of inbuf.
- nsresult
- StartupCache::PutBuffer(const char* id, const char* inbuf, PRUint32 len)
- {
- WaitOnWriteThread();
-diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
---- a/toolkit/xre/nsAppRunner.cpp
-+++ b/toolkit/xre/nsAppRunner.cpp
-@@ -3897,35 +3897,45 @@ XRE_InitCommandLine(int aArgc, char* aAr
- CommandLine::Init(aArgc, canonArgs);
-
- for (int i = 0; i < aArgc; ++i)
- free(canonArgs[i]);
- delete[] canonArgs;
- #endif
- #endif
-
--#ifdef MOZ_OMNIJAR
-- const char *omnijarPath = nsnull;
-- ArgResult ar = CheckArg("omnijar", PR_FALSE, &omnijarPath);
-+ const char *path = nsnull;
-+ ArgResult ar = CheckArg("grebase", PR_FALSE, &path);
- if (ar == ARG_BAD) {
-- PR_fprintf(PR_STDERR, "Error: argument -omnijar requires an omnijar path\n");
-+ PR_fprintf(PR_STDERR, "Error: argument -grebase requires a path argument\n");
- return NS_ERROR_FAILURE;
- }
-
-- if (!omnijarPath)
-+ if (!path)
- return rv;
-
-- nsCOMPtr<nsILocalFile> omnijar;
-- rv = NS_NewNativeLocalFile(nsDependentCString(omnijarPath), PR_TRUE,
-- getter_AddRefs(omnijar));
-- if (NS_SUCCEEDED(rv))
-- mozilla::SetOmnijar(omnijar);
--#endif
--
-- return rv;
-+ nsCOMPtr<nsILocalFile> greBase;
-+ rv = XRE_GetFileFromPath(path, getter_AddRefs(greBase));
-+ if (NS_FAILED(rv))
-+ return rv;
-+
-+ ar = CheckArg("appbase", PR_FALSE, &path);
-+ if (ar == ARG_BAD) {
-+ PR_fprintf(PR_STDERR, "Error: argument -appbase requires a path argument\n");
-+ return NS_ERROR_FAILURE;
-+ }
-+
-+ nsCOMPtr<nsILocalFile> appBase;
-+ if (path) {
-+ rv = XRE_GetFileFromPath(path, getter_AddRefs(appBase));
-+ if (NS_FAILED(rv))
-+ return rv;
-+ }
-+
-+ return mozilla::Omnijar::SetBase(greBase, appBase);
- }
-
- nsresult
- XRE_DeinitCommandLine()
- {
- nsresult rv = NS_OK;
-
- #if defined(MOZ_IPC)
-diff --git a/toolkit/xre/nsEmbedFunctions.cpp b/toolkit/xre/nsEmbedFunctions.cpp
---- a/toolkit/xre/nsEmbedFunctions.cpp
-+++ b/toolkit/xre/nsEmbedFunctions.cpp
-@@ -512,19 +512,17 @@ XRE_InitChildProcess(int aArgc,
- }
-
- // Run the UI event loop on the main thread.
- uiMessageLoop.MessageLoop::Run();
-
- // Allow ProcessChild to clean up after itself before going out of
- // scope and being deleted
- process->CleanUp();
--#ifdef MOZ_OMNIJAR
-- mozilla::SetOmnijar(nsnull);
--#endif
-+ mozilla::Omnijar::SetBase(nsnull, nsnull);
- }
- }
-
- NS_LogTerm();
- return XRE_DeinitCommandLine();
- }
-
- MessageLoop*
-diff --git a/xpcom/build/Makefile.in b/xpcom/build/Makefile.in
---- a/xpcom/build/Makefile.in
-+++ b/xpcom/build/Makefile.in
-@@ -64,28 +64,25 @@ CSRCS = \
- $(NULL)
-
- CPPSRCS = \
- $(XPCOM_GLUE_SRC_LCPPSRCS) \
- $(XPCOM_GLUENS_SRC_LCPPSRCS) \
- nsXPComInit.cpp \
- nsXPCOMStrings.cpp \
- Services.cpp \
-+ Omnijar.cpp \
- $(NULL)
-
- ifndef MOZ_ENABLE_LIBXUL
- ifeq (,$(filter-out WINNT WINCE OS2,$(OS_ARCH)))
- CPPSRCS += dlldeps.cpp
- endif
- endif
-
--ifdef MOZ_OMNIJAR
--CPPSRCS += Omnijar.cpp
--endif
--
- SHARED_LIBRARY_LIBS = \
- $(DEPTH)/chrome/src/$(LIB_PREFIX)chrome_s.$(LIB_SUFFIX) \
- ../ds/$(LIB_PREFIX)xpcomds_s.$(LIB_SUFFIX) \
- ../io/$(LIB_PREFIX)xpcomio_s.$(LIB_SUFFIX) \
- ../components/$(LIB_PREFIX)xpcomcomponents_s.$(LIB_SUFFIX) \
- ../threads/$(LIB_PREFIX)xpcomthreads_s.$(LIB_SUFFIX) \
- ../proxy/src/$(LIB_PREFIX)xpcomproxy_s.$(LIB_SUFFIX) \
- ../base/$(LIB_PREFIX)xpcombase_s.$(LIB_SUFFIX) \
-diff --git a/xpcom/build/Omnijar.cpp b/xpcom/build/Omnijar.cpp
---- a/xpcom/build/Omnijar.cpp
-+++ b/xpcom/build/Omnijar.cpp
-@@ -16,16 +16,17 @@
- *
- * The Initial Developer of the Original Code is
- * Mozilla Foundation.
- * Portions created by the Initial Developer are Copyright (C) 2010
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Michael Wu <mwu@mozilla.com>
-+ * Mike Hommey <mh@glandium.org>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
-@@ -33,69 +34,175 @@
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
- #include "Omnijar.h"
-
--#include "nsILocalFile.h"
--#include "nsXULAppAPI.h"
-+#include "nsIFile.h"
- #include "nsZipArchive.h"
-+#include "nsNetUtil.h"
-
--static nsILocalFile* sOmnijarPath = nsnull;
--static nsZipArchive* sOmnijarReader = nsnull;
-+namespace mozilla {
-
--static void
--SetupReader()
-+nsIFile *Omnijar::sPath[2] = { nsnull, nsnull };
-+PRBool Omnijar::sIsOmnijar[2] = { PR_FALSE, PR_FALSE };
-+
-+#ifdef MOZ_ENABLE_LIBXUL
-+nsZipArchive *Omnijar::sReader[2] = { nsnull, nsnull };
-+#endif
-+
-+static already_AddRefed<nsIFile>
-+ComputePath(nsIFile *aPath, PRBool &aIsOmnijar)
- {
-- if (!sOmnijarPath) {
-- return;
-+ PRBool isDir;
-+ aIsOmnijar = PR_FALSE;
-+ if (!aPath || NS_FAILED(aPath->IsDirectory(&isDir)) || !isDir)
-+ return nsnull;
-+
-+ nsCOMPtr<nsIFile> path;
-+#ifdef MOZ_ENABLE_LIBXUL
-+ // Search for omni.jar in the given directory
-+ if (!isDir || NS_FAILED(aPath->Clone(getter_AddRefs(path))))
-+ return nsnull;
-+
-+ if (NS_FAILED(path->AppendNative(NS_LITERAL_CSTRING("omni.jar"))))
-+ return nsnull;
-+
-+ if (NS_FAILED(path->Exists(&aIsOmnijar)))
-+ return nsnull;
-+#endif
-+
-+ if (!aIsOmnijar && NS_FAILED(aPath->Clone(getter_AddRefs(path))))
-+ return nsnull;
-+
-+ return path.forget();
-+}
-+
-+nsresult
-+Omnijar::SetBase(nsIFile *aGrePath, nsIFile *aAppPath)
-+{
-+ NS_ABORT_IF_FALSE(aGrePath || !aAppPath, "Omnijar::SetBase(NULL, something) call forbidden");
-+
-+#ifdef MOZ_ENABLE_LIBXUL
-+ if (sReader[GRE]) {
-+ sReader[GRE]->CloseArchive();
-+ delete sReader[GRE];
-+ }
-+ if (sReader[APP]) {
-+ sReader[APP]->CloseArchive();
-+ delete sReader[APP];
-+ }
-+ sReader[APP] = sReader[GRE] = nsnull;
-+#endif
-+
-+ nsresult rv;
-+ PRBool equals;
-+ if (aAppPath) {
-+ rv = aAppPath->Equals(aGrePath, &equals);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ } else {
-+ equals = PR_TRUE;
- }
-
-- nsZipArchive* zipReader = new nsZipArchive();
-- if (!zipReader) {
-- NS_IF_RELEASE(sOmnijarPath);
-- return;
-+ nsCOMPtr<nsIFile> grePath = ComputePath(aGrePath, sIsOmnijar[GRE]);
-+ nsCOMPtr<nsIFile> appPath = ComputePath(equals ? nsnull : aAppPath, sIsOmnijar[APP]);
-+
-+ NS_IF_RELEASE(sPath[GRE]);
-+ sPath[GRE] = grePath;
-+ NS_IF_ADDREF(sPath[GRE]);
-+
-+ NS_IF_RELEASE(sPath[APP]);
-+ sPath[APP] = appPath;
-+ NS_IF_ADDREF(sPath[APP]);
-+
-+ return NS_OK;
-+}
-+
-+already_AddRefed<nsIFile>
-+Omnijar::GetBase(Type aType)
-+{
-+ NS_ABORT_IF_FALSE(sPath[0], "Omnijar not initialized");
-+
-+ if (!sIsOmnijar[aType]) {
-+ NS_IF_ADDREF(sPath[aType]);
-+ return sPath[aType];
- }
-
-- if (NS_FAILED(zipReader->OpenArchive(sOmnijarPath))) {
-+ nsCOMPtr<nsIFile> file, path;
-+ if (NS_FAILED(sPath[aType]->Clone(getter_AddRefs(file))))
-+ return nsnull;
-+
-+ if (NS_FAILED(file->GetParent(getter_AddRefs(path))))
-+ return nsnull;
-+ return path.forget();
-+}
-+
-+#ifdef MOZ_ENABLE_LIBXUL
-+nsZipArchive *
-+Omnijar::GetReader(Type aType)
-+{
-+ if (!sIsOmnijar[aType])
-+ return nsnull;
-+
-+ if (sReader[aType])
-+ return sReader[aType];
-+
-+ nsZipArchive* zipReader = new nsZipArchive();
-+ if (!zipReader)
-+ return nsnull;
-+
-+ if (NS_FAILED(zipReader->OpenArchive(sPath[aType]))) {
- delete zipReader;
-- NS_IF_RELEASE(sOmnijarPath);
-- return;
-+ return nsnull;
- }
-
-- sOmnijarReader = zipReader;
-+ return (sReader[aType] = zipReader);
- }
-
--nsILocalFile*
--mozilla::OmnijarPath()
-+nsZipArchive *
-+Omnijar::GetReader(nsIFile *aPath)
- {
-- if (!sOmnijarReader)
-- SetupReader();
-+ PRBool equals;
-+ nsresult rv;
-
-- return sOmnijarPath;
-+ if (sIsOmnijar[GRE]) {
-+ rv = sPath[GRE]->Equals(aPath, &equals);
-+ if (NS_SUCCEEDED(rv) && equals)
-+ return GetReader(GRE);
-+ }
-+ if (sIsOmnijar[APP]) {
-+ rv = sPath[APP]->Equals(aPath, &equals);
-+ if (NS_SUCCEEDED(rv) && equals)
-+ return GetReader(APP);
-+ }
-+ return nsnull;
-+}
-+#endif
-+
-+nsresult
-+Omnijar::GetURIString(Type aType, nsCString &result)
-+{
-+ NS_ABORT_IF_FALSE(sPath[0], "Omnijar not initialized");
-+
-+ result = "";
-+
-+ if ((aType == APP) && (!sPath[APP]))
-+ return NS_OK;
-+
-+ nsCAutoString omniJarSpec;
-+ nsresult rv = NS_GetURLSpecFromActualFile(sPath[aType], omniJarSpec);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ if (sIsOmnijar[aType]) {
-+ result = "jar:";
-+ result += omniJarSpec;
-+ result += "!";
-+ } else {
-+ result = omniJarSpec;
-+ }
-+ result += "/";
-+ return NS_OK;
- }
-
--nsZipArchive*
--mozilla::OmnijarReader()
--{
-- if (!sOmnijarReader)
-- SetupReader();
--
-- return sOmnijarReader;
--}
--
--void
--mozilla::SetOmnijar(nsILocalFile* aPath)
--{
-- NS_IF_RELEASE(sOmnijarPath);
-- if (sOmnijarReader) {
-- sOmnijarReader->CloseArchive();
-- delete sOmnijarReader;
-- sOmnijarReader = nsnull;
-- }
--
-- sOmnijarPath = aPath;
-- NS_IF_ADDREF(sOmnijarPath);
--}
--
-+} /* namespace mozilla */
-diff --git a/xpcom/build/Omnijar.h b/xpcom/build/Omnijar.h
---- a/xpcom/build/Omnijar.h
-+++ b/xpcom/build/Omnijar.h
-@@ -16,16 +16,17 @@
- *
- * The Initial Developer of the Original Code is
- * Mozilla Foundation.
- * Portions created by the Initial Developer are Copyright (C) 2010
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Michael Wu <mwu@mozilla.com>
-+ * Mike Hommey <mh@glandium.org>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
-@@ -34,29 +35,137 @@
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
- #ifndef mozilla_Omnijar_h
- #define mozilla_Omnijar_h
-
--class nsILocalFile;
-+#include "nscore.h"
-+#include "nsTArray.h"
-+#include "nsCOMPtr.h"
-+#include "nsString.h"
-+
-+class nsIFile;
- class nsZipArchive;
--
--#ifdef MOZ_OMNIJAR
-+class nsIURI;
-
- namespace mozilla {
-
-+#ifdef MOZ_ENABLE_LIBXUL
-+#define OMNIJAR_EXPORT
-+#else
-+#define OMNIJAR_EXPORT NS_EXPORT
-+#endif
-+
-+class OMNIJAR_EXPORT Omnijar {
-+private:
- /**
-- * This returns the path to the omnijar.
-- * If the omnijar isn't available, this function will return null.
-- * Callers should fallback to flat packaging if null.
-+ * Store an nsIFile for either a base directory when there is no omni.jar,
-+ * or omni.jar itself. We can store two paths here, one for GRE
-+ * (corresponding to resource://gre/) and one for APP
-+ * (corresponding to resource:/// and resource://app/), but only
-+ * store one when both point to the same location (unified).
- */
--nsILocalFile *OmnijarPath();
--nsZipArchive *OmnijarReader();
--void SetOmnijar(nsILocalFile* aPath);
-+static nsIFile *sPath[2];
-+/**
-+ * Store whether the corresponding sPath is an omni.jar or a directory
-+ */
-+static PRBool sIsOmnijar[2];
-+
-+#ifdef MOZ_ENABLE_LIBXUL
-+/**
-+ * Cached nsZipArchives for the corresponding sPath
-+ */
-+static nsZipArchive *sReader[2];
-+#endif
-+
-+public:
-+enum Type {
-+ GRE = 0,
-+ APP = 1
-+};
-+
-+/**
-+ * Returns whether SetBase has been called at least once with
-+ * a valid nsIFile
-+ */
-+static PRBool
-+IsInitialized()
-+{
-+ // GRE path is always set after initialization.
-+ return sPath[0] != nsnull;
-+}
-+
-+/**
-+ * Sets the base directories for GRE and APP. APP base directory
-+ * may be nsnull, in case the APP and GRE directories are the same.
-+ */
-+static nsresult SetBase(nsIFile *aGrePath, nsIFile *aAppPath);
-+
-+/**
-+ * Returns an nsIFile pointing to the omni.jar file for GRE or APP.
-+ * Returns nsnull when there is no corresponding omni.jar.
-+ * Also returns nsnull for APP in the unified case.
-+ */
-+static already_AddRefed<nsIFile>
-+GetPath(Type aType)
-+{
-+ NS_ABORT_IF_FALSE(sPath[0], "Omnijar not initialized");
-+
-+ if (sIsOmnijar[aType]) {
-+ NS_IF_ADDREF(sPath[aType]);
-+ return sPath[aType];
-+ }
-+ return nsnull;
-+}
-+
-+/**
-+ * Returns whether GRE or APP use an omni.jar. Returns PR_False when
-+ * using an omni.jar in the unified case.
-+ */
-+static PRBool
-+HasOmnijar(Type aType)
-+{
-+ return sIsOmnijar[aType];
-+}
-+
-+/**
-+ * Returns the base directory for GRE or APP. In the unified case,
-+ * returns nsnull for APP.
-+ */
-+static already_AddRefed<nsIFile> GetBase(Type aType);
-+
-+/**
-+ * Returns a nsZipArchive pointer for the omni.jar file for GRE or
-+ * APP. Returns nsnull in the same cases GetPath() would.
-+ */
-+#ifdef MOZ_ENABLE_LIBXUL
-+static nsZipArchive *GetReader(Type aType);
-+#else
-+static nsZipArchive *GetReader(Type aType) { return nsnull; }
-+#endif
-+
-+/**
-+ * Returns a nsZipArchive pointer for the given path IAOI the given
-+ * path is the omni.jar for either GRE or APP.
-+ */
-+#ifdef MOZ_ENABLE_LIBXUL
-+static nsZipArchive *GetReader(nsIFile *aPath);
-+#else
-+static nsZipArchive *GetReader(nsIFile *aPath) { return nsnull; }
-+#endif
-+
-+/**
-+ * Returns the URI string corresponding to the omni.jar or directory
-+ * for GRE or APP. i.e. jar:/path/to/omni.jar!/ for omni.jar and
-+ * /path/to/base/dir/ otherwise. Returns an empty string for APP in
-+ * the unified case.
-+ * The returned URI is guaranteed to end with a slash.
-+ */
-+static nsresult GetURIString(Type aType, nsCString &result);
-+
-+}; /* class Omnijar */
-
- } /* namespace mozilla */
-
--#endif /* MOZ_OMNIJAR */
--
- #endif /* mozilla_Omnijar_h */
-diff --git a/xpcom/build/nsXPComInit.cpp b/xpcom/build/nsXPComInit.cpp
---- a/xpcom/build/nsXPComInit.cpp
-+++ b/xpcom/build/nsXPComInit.cpp
-@@ -462,35 +462,35 @@ NS_InitXPCOM2(nsIServiceManager* *result
- nsDirectoryService::gService->Set(NS_XPCOM_LIBRARY_FILE, xpcomLib);
- }
-
- if (appFileLocationProvider) {
- rv = nsDirectoryService::gService->RegisterProvider(appFileLocationProvider);
- if (NS_FAILED(rv)) return rv;
- }
-
--#ifdef MOZ_OMNIJAR
- NS_TIME_FUNCTION_MARK("Next: Omnijar init");
-
-- if (!mozilla::OmnijarPath()) {
-- nsCOMPtr<nsILocalFile> omnijar;
-+ if (!mozilla::Omnijar::IsInitialized()) {
-+ nsCOMPtr<nsILocalFile> greDir, appDir;
- nsCOMPtr<nsIFile> file;
-
-- rv = NS_ERROR_FAILURE;
- nsDirectoryService::gService->Get(NS_GRE_DIR,
- NS_GET_IID(nsIFile),
- getter_AddRefs(file));
-- if (file)
-- rv = file->Append(NS_LITERAL_STRING("omni.jar"));
-- if (NS_SUCCEEDED(rv))
-- omnijar = do_QueryInterface(file);
-- if (NS_SUCCEEDED(rv))
-- mozilla::SetOmnijar(omnijar);
-+ greDir = do_QueryInterface(file);
-+
-+ nsDirectoryService::gService->Get(NS_XPCOM_CURRENT_PROCESS_DIR,
-+ NS_GET_IID(nsIFile),
-+ getter_AddRefs(file));
-+ appDir = do_QueryInterface(file);
-+
-+ rv = mozilla::Omnijar::SetBase(greDir, appDir);
-+ NS_ENSURE_SUCCESS(rv, rv);
- }
--#endif
-
- #ifdef MOZ_IPC
- if ((sCommandLineWasInitialized = !CommandLine::IsInitialized())) {
- NS_TIME_FUNCTION_MARK("Next: IPC command line init");
-
- #ifdef OS_WIN
- CommandLine::Init(0, nsnull);
- #else
-@@ -769,18 +769,16 @@ ShutdownXPCOM(nsIServiceManager* servMgr
- sCommandLineWasInitialized = false;
- }
- if (sExitManager) {
- delete sExitManager;
- sExitManager = nsnull;
- }
- #endif
-
--#ifdef MOZ_OMNIJAR
-- mozilla::SetOmnijar(nsnull);
--#endif
-+ mozilla::Omnijar::SetBase(nsnull, nsnull);
-
- NS_LogTerm();
-
- return NS_OK;
- }
-
- } // namespace mozilla
-diff --git a/xpcom/components/nsComponentManager.cpp b/xpcom/components/nsComponentManager.cpp
---- a/xpcom/components/nsComponentManager.cpp
-+++ b/xpcom/components/nsComponentManager.cpp
-@@ -175,18 +175,16 @@ NS_DEFINE_CID(kCategoryManagerCID, NS_CA
- #define COMPMGR_TIME_FUNCTION_CONTRACTID(cid) \
- NS_TIME_FUNCTION_MIN_FMT(5, "%s (line %d) (contractid: %s)", MOZ_FUNCTION_NAME, \
- __LINE__, (cid))
- #else
- #define COMPMGR_TIME_FUNCTION_CID(cid) do {} while (0)
- #define COMPMGR_TIME_FUNCTION_CONTRACTID(cid) do {} while (0)
- #endif
-
--#define kOMNIJAR_PREFIX NS_LITERAL_CSTRING("resource:///")
--
- nsresult
- nsGetServiceFromCategory::operator()(const nsIID& aIID, void** aInstancePtr) const
- {
- nsresult rv;
- nsXPIDLCString value;
- nsCOMPtr<nsICategoryManager> catman;
- nsComponentManagerImpl *compMgr = nsComponentManagerImpl::gComponentManager;
- if (!compMgr) {
-@@ -390,47 +388,44 @@ nsresult nsComponentManagerImpl::Init()
-
- nsCategoryManager::GetSingleton()->SuppressNotifications(true);
-
- RegisterModule(&kXPCOMModule, NULL);
-
- for (PRUint32 i = 0; i < sStaticModules->Length(); ++i)
- RegisterModule((*sStaticModules)[i], NULL);
-
--#ifdef MOZ_OMNIJAR
-- if (mozilla::OmnijarPath()) {
-- nsCOMPtr<nsIZipReader> omnijarReader = new nsJAR();
-- rv = omnijarReader->Open(mozilla::OmnijarPath());
-- if (NS_SUCCEEDED(rv))
-- RegisterJarManifest(omnijarReader, "chrome.manifest", false);
-+ nsCOMPtr<nsIFile> appOmnijar = mozilla::Omnijar::GetPath(mozilla::Omnijar::APP);
-+ if (appOmnijar) {
-+ cl = sModuleLocations->InsertElementAt(1); // Insert after greDir
-+ cl->type = NS_COMPONENT_LOCATION;
-+ cl->location = do_QueryInterface(appOmnijar);
-+ cl->jar = true;
- }
--#endif
-+ nsCOMPtr<nsIFile> greOmnijar = mozilla::Omnijar::GetPath(mozilla::Omnijar::GRE);
-+ if (greOmnijar) {
-+ cl = sModuleLocations->InsertElementAt(0);
-+ cl->type = NS_COMPONENT_LOCATION;
-+ cl->location = do_QueryInterface(greOmnijar);
-+ cl->jar = true;
-+ }
-
- for (PRUint32 i = 0; i < sModuleLocations->Length(); ++i) {
- ComponentLocation& l = sModuleLocations->ElementAt(i);
- if (!l.jar) {
- RegisterManifestFile(l.type, l.location, false);
- continue;
- }
-
- nsCOMPtr<nsIZipReader> reader = do_CreateInstance(kZipReaderCID, &rv);
- rv = reader->Open(l.location);
- if (NS_SUCCEEDED(rv))
- RegisterJarManifest(reader, "chrome.manifest", false);
- }
-
--#ifdef MOZ_OMNIJAR
-- if (mozilla::OmnijarPath()) {
-- cl = sModuleLocations->InsertElementAt(0);
-- cl->type = NS_COMPONENT_LOCATION;
-- cl->location = mozilla::OmnijarPath();
-- cl->jar = true;
-- }
--#endif
--
- nsCategoryManager::GetSingleton()->SuppressNotifications(false);
-
- mStatus = NORMAL;
-
- return NS_OK;
- }
-
- void
-# HG changeset patch
-# Parent ff1b810f78226d7f4010909d3cde05a57fdcf20c
-Bug 620931 part 4 - Fix resource://app/ to always point to the same as resource:///
-
-diff --git a/netwerk/protocol/res/nsResProtocolHandler.cpp b/netwerk/protocol/res/nsResProtocolHandler.cpp
---- a/netwerk/protocol/res/nsResProtocolHandler.cpp
-+++ b/netwerk/protocol/res/nsResProtocolHandler.cpp
-@@ -74,16 +74,17 @@ static nsResProtocolHandler *gResHandler
- // set NSPR_LOG_FILE=log.txt
- //
- // this enables PR_LOG_ALWAYS level information and places all output in
- // the file log.txt
- //
- static PRLogModuleInfo *gResLog;
- #endif
-
-+#define kAPP NS_LITERAL_CSTRING("app")
- #define kGRE NS_LITERAL_CSTRING("gre")
-
- //----------------------------------------------------------------------------
- // nsResURL : overrides nsStandardURL::GetFile to provide nsIFile resolution
- //----------------------------------------------------------------------------
-
- nsresult
- nsResURL::EnsureFile()
-@@ -179,16 +180,22 @@ nsResProtocolHandler::Init()
- nsCOMPtr<nsIURI> uri;
- rv = NS_NewURI(getter_AddRefs(uri), appURI.Length() ? appURI : greURI);
- NS_ENSURE_SUCCESS(rv, rv);
-
- rv = SetSubstitution(EmptyCString(), uri);
- NS_ENSURE_SUCCESS(rv, rv);
-
- //
-+ // make resource://app/ point to the application directory or omnijar
-+ //
-+ rv = SetSubstitution(kAPP, uri);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ //
- // make resource://gre/ point to the GRE directory
- //
- if (appURI.Length()) { // We already have greURI in uri if appURI.Length() is 0.
- rv = NS_NewURI(getter_AddRefs(uri), greURI);
- NS_ENSURE_SUCCESS(rv, rv);
- }
-
- rv = SetSubstitution(kGRE, uri);
-diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp
---- a/toolkit/xre/nsXREDirProvider.cpp
-+++ b/toolkit/xre/nsXREDirProvider.cpp
-@@ -300,19 +300,16 @@ nsXREDirProvider::GetFile(const char* aP
- }
- }
- else if (!strcmp(aProperty, XRE_EXECUTABLE_FILE) && gArgv[0]) {
- nsCOMPtr<nsILocalFile> lf;
- rv = XRE_GetBinaryPath(gArgv[0], getter_AddRefs(lf));
- if (NS_SUCCEEDED(rv))
- file = lf;
- }
-- else if (!strcmp(aProperty, "resource:app")) {
-- rv = GetAppDir()->Clone(getter_AddRefs(file));
-- }
-
- else if (!strcmp(aProperty, NS_APP_PROFILE_DIR_STARTUP) && mProfileDir) {
- return mProfileDir->Clone(aFile);
- }
- else if (!strcmp(aProperty, NS_APP_PROFILE_LOCAL_DIR_STARTUP)) {
- if (mProfileLocalDir)
- return mProfileLocalDir->Clone(aFile);
-
-# HG changeset patch
-# Parent 7d2228db71a299afca60babff632a967d2d6c456
-Bug 620931 part 5 - Enable omni.jar by default on xulrunner
-
-diff --git a/xulrunner/confvars.sh b/xulrunner/confvars.sh
---- a/xulrunner/confvars.sh
-+++ b/xulrunner/confvars.sh
-@@ -36,15 +36,16 @@
- #
- # ***** END LICENSE BLOCK *****
-
- MOZ_APP_NAME=xulrunner
- MOZ_APP_DISPLAYNAME=XULRunner
- MOZ_UPDATER=1
- MOZ_XULRUNNER=1
- MOZ_ENABLE_LIBXUL=1
-+MOZ_CHROME_FILE_FORMAT=omni
- MOZ_STATIC_BUILD_UNSUPPORTED=1
- MOZ_APP_VERSION=$MOZILLA_VERSION
- if test "$MOZ_STORAGE"; then
- MOZ_PLACES=1
- fi
- MOZ_EXTENSIONS_DEFAULT=" gnomevfs"
- MOZ_URL_CLASSIFIER=1
diff --git a/community-staging/xulrunner-oss/xulrunner-version.patch b/community-staging/xulrunner-oss/xulrunner-version.patch
deleted file mode 100644
index 8e81b23ea..000000000
--- a/community-staging/xulrunner-oss/xulrunner-version.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur mozilla-2.0.orig/xulrunner/installer/Makefile.in mozilla-2.0/xulrunner/installer/Makefile.in
---- mozilla-2.0.orig/xulrunner/installer/Makefile.in 2011-03-03 14:12:04.000000000 -0800
-+++ mozilla-2.0/xulrunner/installer/Makefile.in 2011-03-13 01:58:19.663360705 -0800
-@@ -44,6 +44,8 @@
-
- include $(DEPTH)/config/autoconf.mk
-
-+MOZ_APP_VERSION="2.0"
-+
- NO_PKG_FILES = \
- xulrunner-config \
- regchrome* \
diff --git a/community-staging/yaz/PKGBUILD b/community-staging/yaz/PKGBUILD
deleted file mode 100644
index bf42c005f..000000000
--- a/community-staging/yaz/PKGBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# $Id: PKGBUILD 48643 2011-06-03 16:57:46Z stephane $
-# Maintainer: Ray Rashif <schiv@archlinux.org>
-# Contributor: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
-# Contributor: William Rea <sillywilly@gmail.com>
-# Contributor: Robert Emil Berge <filoktetes@linuxophic.org>
-
-pkgname=yaz
-pkgver=4.1.7
-pkgrel=2
-pkgdesc="A toolkit supporting the development of Z39.50/SRW/SRU clients and servers"
-arch=('i686' 'x86_64')
-license=('BSD')
-url="http://www.indexdata.dk/yaz"
-depends=('openssl' 'libxslt' 'icu')
-options=('!libtool')
-source=("http://ftp.indexdata.dk/pub/$pkgname/$pkgname-$pkgver.tar.gz")
-md5sums=('d4b94fc70bfc105fc034c4b51b7b5cae')
-
-build() {
- cd "$srcdir/$pkgname-$pkgver"
-
- ./configure --prefix=/usr \
- --enable-shared=yaz \
- --with-openssl=/usr
- make
-}
-
-package() {
- cd "$srcdir/$pkgname-$pkgver"
-
- make DESTDIR="$pkgdir/" install
-
- install -Dm644 LICENSE \
- "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-}
-
-# vim:set ts=2 sw=2 et:
diff --git a/community/hardinfo/ChangeLog b/community/hardinfo/ChangeLog
deleted file mode 100644
index faf242a7b..000000000
--- a/community/hardinfo/ChangeLog
+++ /dev/null
@@ -1,20 +0,0 @@
-2009-04-06 Eric Belanger <eric@archlinux.org>
-
- * hardinfo 0.5.1-1
- * Upstream update
-
-2009-03-29 Eric Belanger <eric@archlinux.org>
-
- * hardinfo 0.5c-1
- * Upstream update
-
-2008-08-13 Eric Belanger <eric@archlinux.org>
-
- * hardinfo 0.4.2.3-3
- * Rebuilt against gnutls 2.4.1
-
-2008-04-06 Eric Belanger <eric@archlinux.org>
-
- * hardinfo 0.4.2.3-2
- * Rebuilt against libsoup 2.4
- * Added ChangeLog
diff --git a/community/hardinfo/PKGBUILD b/community/hardinfo/PKGBUILD
deleted file mode 100644
index 36795a8c1..000000000
--- a/community/hardinfo/PKGBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# $Id: PKGBUILD 17993 2010-05-29 04:49:43Z ebelanger $
-# Maintainer: Eric Belanger <eric@archlinux.org>
-
-pkgname=hardinfo
-pkgver=0.5.1
-pkgrel=2
-pkgdesc="A system information and benchmark tool."
-arch=('i686' 'x86_64')
-url="http://hardinfo.berlios.de/wiki/index.php/Main_Page"
-license=('GPL2')
-depends=('gtk2' 'libsoup' 'gnutls')
-options=('!emptydirs')
-source=(http://download.berlios.de/hardinfo/${pkgname}-${pkgver}.tar.bz2 \
- fixsensors.patch hardinfo.distro)
-md5sums=('6fb38992e140f2fab16518ae1f38e188' '05c212db07b9f152cdea052ff7bb28fa'\
- 'ab8a557d10f74bec5c94ed6cae34729c')
-sha1sums=('983f0445aa60e02156bc5a5eaedeffb30b8e4d64' 'd2151dce76dca238102937d0e15541f172bca530'\
- '4c31cbbfbdeb48593641ff600c8d4fb7bda2b01c')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- patch -p1 < ../fixsensors.patch || return 1
- sed -i 's|/usr/lib64|/usr/lib|' configure || return 1
- ./configure --prefix=/usr || return 1
- sed -i 's|lib64|lib|' binreloc.c || return 1
- sed -i 's|/sbin/lsmod|/bin/lsmod|g' arch/linux/{parisc,ppc,m68k,x86,common,mips,sparc,x86_64}/modules.h || return 1
- sed -i 's|/sbin/lsmod|/bin/lsmod|g' arch/this/modules.h || return 1
- sed -i 's|{ DB_PREFIX "debian_version", "deb" },|{ DB_PREFIX "hardinfo.distro", "arch" },{ DB_PREFIX "debian_version", "deb" },|' computer.h || return 1
- make || return 1
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install || return 1
- install -D -m644 ../hardinfo.distro "${pkgdir}/etc/hardinfo.distro" || return 1
-}
diff --git a/community/hardinfo/fixsensors.patch b/community/hardinfo/fixsensors.patch
deleted file mode 100644
index 812c29458..000000000
--- a/community/hardinfo/fixsensors.patch
+++ /dev/null
@@ -1,13 +0,0 @@
- diff -upNr hardinfo-0.4.2.2.orign/util.c hardinfo-0.4.2.2/util.c
---- hardinfo-0.4.2.2.orign/util.c 2007-07-20 16:45:08.000000000 +0200
-+++ hardinfo-0.4.2.2/util.c 2007-07-26 10:15:32.000000000 +0200
-@@ -996,7 +996,8 @@ gchar *h_strdup_cprintf(const gchar * fo
- if (source) {
- retn = g_strconcat(source, buffer, NULL);
- g_free(buffer);
-- g_free(source);
-+ if(strlen(source))
-+ g_free(source);
- } else {
- retn = buffer;
- }
diff --git a/community/hardinfo/hardinfo.distro b/community/hardinfo/hardinfo.distro
deleted file mode 100644
index 850183eeb..000000000
--- a/community/hardinfo/hardinfo.distro
+++ /dev/null
@@ -1 +0,0 @@
-Arch Linux
diff --git a/community/luxrender/libpng.patch b/community/luxrender/libpng.patch
deleted file mode 100644
index 71700a7d2..000000000
--- a/community/luxrender/libpng.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -rupN lux-36533b0843bd/core/cimg.h lux-fixed/core/cimg.h
---- lux-36533b0843bd/core/external/cimg.h 2009-12-19 10:39:59.000000000 +0100
-+++ lux-fixed/core/external/cimg.h 2010-01-22 11:38:06.651814854 +0100
-@@ -25679,7 +25679,7 @@ namespace cimg_library {
- png_read_info(png_ptr,info_ptr);
- png_uint_32 W, H;
- int bit_depth, color_type, interlace_type;
-- png_get_IHDR(png_ptr,info_ptr,&W,&H,&bit_depth,&color_type,&interlace_type,int_p_NULL,int_p_NULL);
-+ png_get_IHDR(png_ptr,info_ptr,&W,&H,&bit_depth,&color_type,&interlace_type,(int *) NULL,(int *) NULL);
- int new_bit_depth = bit_depth;
- int new_color_type = color_type;
-
-@@ -25690,7 +25690,7 @@ namespace cimg_library {
- new_bit_depth = 8;
- }
- if (new_color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8){
-- png_set_gray_1_2_4_to_8(png_ptr);
-+ png_set_expand_gray_1_2_4_to_8(png_ptr);
- new_bit_depth = 8;
- }
- if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS))
diff --git a/community/sword/curl_7.20.patch b/community/sword/curl_7.20.patch
deleted file mode 100644
index 88763188d..000000000
--- a/community/sword/curl_7.20.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- src/mgr/curlftpt.cpp (revision 2505)
-+++ src/mgr/curlftpt.cpp (revision 2506)
-@@ -177,6 +177,9 @@
- res = curl_easy_perform(session);
- SWLog::getSystemLog()->logDebug("***** Finished performing curl easy action. \n");
-
-+ // it seems CURL tries to use this option data later for some reason, so we unset here
-+ curl_easy_setopt(session, CURLOPT_PROGRESSDATA, (void*)NULL);
-+
- if(CURLE_OK != res) {
- retVal = -1;
- }
diff --git a/community/zziplib/PKGBUILD b/community/zziplib/PKGBUILD
deleted file mode 100644
index 70821a8c0..000000000
--- a/community/zziplib/PKGBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# $Id: PKGBUILD 46490 2011-05-07 21:04:10Z ebelanger $
-# Maintainer:
-# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
-# Contributor: Roman Kyrylych <Roman.Kyrylych@gmail.com>
-
-pkgname=zziplib
-pkgver=0.13.60
-pkgrel=1
-pkgdesc="A lightweight library that offers the ability to easily extract data from files archived in a single zip file"
-arch=('i686' 'x86_64')
-url="http://zziplib.sourceforge.net"
-license=('LGPL' 'MPL')
-depends=('zlib')
-makedepends=('python2')
-options=('!libtool')
-source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2 zziplib-0.13.60-ldflags.patch)
-md5sums=('54a6aa53262483a4d54f7c59f0a7258b'
- 'e585052f884525a338ca341b5d2957dc')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- export PYTHON=/usr/bin/python2
- patch -p1 -i ../zziplib-0.13.60-ldflags.patch
- ./configure --prefix=/usr
- make
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
-
-#fix permission
- chmod -s "${pkgdir}/usr/share/man/man3"
- chmod 644 "${pkgdir}"/usr/share/man/man3/*
- chown -R root:root "${pkgdir}/usr/share/man/man3"
-}
diff --git a/community/zziplib/zziplib-0.13.60-ldflags.patch b/community/zziplib/zziplib-0.13.60-ldflags.patch
deleted file mode 100644
index 3c95ff465..000000000
--- a/community/zziplib/zziplib-0.13.60-ldflags.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-https://sourceforge.net/tracker/?func=detail&aid=3175466&group_id=6389&atid=306389
-https://bugs.gentoo.org/354051
-
---- a/configure
-+++ b/configure
-@@ -292,7 +292,7 @@
- # ---------------------------------------------------------------
- AC_MSG_CHECKING([link options])
- ZZIPLIB_LDFLAGS=""
--test ".$can_build_shared" != ".no" && ZZIPLIB_LDFLAGS="--export-dynamic"
-+test ".$can_build_shared" != ".no" && ZZIPLIB_LDFLAGS="-export-dynamic"
- RESOLVES=" # "
- case "$host_os" in mingw*)
- ZZIPLIB_LDFLAGS="-no-undefined -export-all-symbols -mconsole"
diff --git a/core/net-tools/nisdomainname.conf.d b/core/net-tools/nisdomainname.conf.d
deleted file mode 100644
index 6033ecf1c..000000000
--- a/core/net-tools/nisdomainname.conf.d
+++ /dev/null
@@ -1,3 +0,0 @@
-# Set your NIS domain name here
-NISDOMAINNAME=""
-
diff --git a/core/rp-pppoe/PKGBUILD b/core/rp-pppoe/PKGBUILD
deleted file mode 100644
index 3a23870da..000000000
--- a/core/rp-pppoe/PKGBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# $Id: PKGBUILD 119995 2011-04-18 07:09:47Z daniel $
-# Maintainer: Daniel Isenmann <daniel@archlinux.org>
-# Contributor: orelien <aurelien.foret@wanadoo.fr>
-
-pkgname=rp-pppoe
-pkgver=3.10
-pkgrel=6
-pkgdesc="Roaring Penguin's Point-to-Point Protocol over Ethernet client"
-arch=('i686' 'x86_64')
-url="http://www.roaringpenguin.com/pppoe/"
-license=('GPL')
-depends=('ppp>=2.4.5' 'sh')
-options=('!makeflags')
-backup=(etc/ppp/pppoe.conf etc/ppp/firewall-standalone etc/ppp/firewall-masq etc/ppp/pppoe-server-options)
-source=(http://www.roaringpenguin.com/files/download/rp-pppoe-$pkgver.tar.gz adsl)
-install=rp-pppoe.install
-md5sums=('d58a13cc4185bca6121a606ff456dec0'
- 'adace1ad441aa88dcb3db52fb7f9c97f')
-
-build() {
- cd $srcdir/$pkgname-$pkgver/src
- ./configure --prefix=/usr --enable-plugin
- make PLUGIN_DIR="/usr/lib/rp-pppoe" || return 1
-}
-
-package() {
- cd $srcdir/$pkgname-$pkgver/src
- make DESTDIR=$pkgdir install
-
- #moving .so files to /usr/lib according to FS#13876
- mkdir -p ${pkgdir}/usr/lib/rp-pppoe
- mv ${pkgdir}/etc/ppp/plugins/rp-pppoe.so ${pkgdir}/usr/lib/rp-pppoe/
- #not necessary after moving the plugin
- rm -rf ${pkgdir}/etc/ppp/plugins
- #changing config to the new path
- #sed -i 's/LINUX_PLUGIN=/LINUX_PLUGIN=\/usr\/lib\/rp-pppoe\/rp-pppoe.so/g' ${pkgdir}/etc/ppp/pppoe.conf
-
- install -Dm755 $srcdir/adsl $pkgdir/etc/rc.d/adsl
-}
diff --git a/core/rp-pppoe/adsl b/core/rp-pppoe/adsl
deleted file mode 100755
index 33bd91839..000000000
--- a/core/rp-pppoe/adsl
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-case "$1" in
- start)
- stat_busy "Starting ADSL Connection"
- /usr/sbin/pppoe-start &>/dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- add_daemon adsl
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping ADSL Connection"
- /usr/sbin/pppoe-stop &>/dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon adsl
- stat_done
- fi
- ;;
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
-exit 0
diff --git a/core/rp-pppoe/rp-pppoe.install b/core/rp-pppoe/rp-pppoe.install
deleted file mode 100644
index 1d4bccce2..000000000
--- a/core/rp-pppoe/rp-pppoe.install
+++ /dev/null
@@ -1,12 +0,0 @@
-#arg 1: the new package version
-post_install() {
-echo ">>> The kernel-mode plugin has a new place."
-echo ">>> It's now located under /usr/lib/rp-pppoe/rp-pppoe.so"
-echo ">>> Change LINUX_PLUGIN to the new path in your /etc/ppp/pppoe.conf"
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-post_upgrade() {
- post_install $1
-}
diff --git a/core/udev/80-drivers.rules b/core/udev/80-drivers.rules
deleted file mode 100644
index 56ac06cb4..000000000
--- a/core/udev/80-drivers.rules
+++ /dev/null
@@ -1,14 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-ACTION=="remove", GOTO="drivers_end"
-
-DRIVER!="?*", ENV{MODALIAS}=="?*", RUN+="/lib/udev/load-modules.sh $env{MODALIAS}"
-SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="SD", RUN+="/lib/udev/load-modules.sh tifm_sd"
-SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", RUN+="/lib/udev/load-modules.sh tifm_ms"
-SUBSYSTEM=="memstick", RUN+="/lib/udev/load-modules.sh ms_block"
-SUBSYSTEM=="memstick", RUN+="/lib/udev/load-modules.sh mspro_block"
-SUBSYSTEM=="i2o", RUN+="/lib/udev/load-modules.sh i2o_block"
-SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", RUN+="/lib/udev/load-modules.sh sg"
-SUBSYSTEM=="module", KERNEL=="parport_pc", RUN+="/lib/udev/load-modules.sh ppdev"
-
-LABEL="drivers_end"
diff --git a/core/udev/load-modules.sh b/core/udev/load-modules.sh
deleted file mode 100755
index 1e2af913e..000000000
--- a/core/udev/load-modules.sh
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/bin/bash
-# Implement blacklisting for udev-loaded modules
-
-[ $# -ne 1 ] && exit 1
-
-. /etc/rc.conf
-
-# grab modules from rc.conf
-BLACKLIST="${MOD_BLACKLIST[@]}"
-MODPROBE="/sbin/modprobe"
-LOGGER="/usr/bin/logger"
-RESOLVEALIAS="${MODPROBE} --resolve-alias"
-USEBLACKLIST="--use-blacklist"
-
-if [ -f /proc/cmdline ]; then
- for cmd in $(cat /proc/cmdline); do
- case $cmd in
- disablemodules=*) eval $cmd ;;
- load_modules=off) exit ;;
- esac
- done
- #parse cmdline entries of the form "disablemodules=x,y,z"
- if [ -n "$disablemodules" ]; then
- BLACKLIST="$BLACKLIST $(echo $disablemodules | sed 's|,| |g')"
- fi
-fi
-
-#MODULES entries in rc.conf that begin with ! are blacklisted
-for mod in ${MODULES[@]}; do
- if [ "${mod}" != "${mod#!}" ]; then
- BLACKLIST="$BLACKLIST ${mod#!}"
- fi
-done
-
-if [ "$MOD_AUTOLOAD" = "yes" -o "$MOD_AUTOLOAD" = "YES" ]; then
- if [ -n "${BLACKLIST}" ]; then
- # If an alias name is on the blacklist, load no modules for this device
- if echo "${BLACKLIST}" | /bin/grep -q -e " $1 " -e "^$1 " -e " $1\$"; then
- $LOGGER -p info -t "$(basename $0)" "Not loading module alias '$1' because it is blacklisted"
- exit
- fi
- #sanitize the blacklist
- BLACKLIST="$(echo "$BLACKLIST" | sed -e 's|-|_|g')"
- # Try to find all modules for the alias
- mods=$($RESOLVEALIAS $1)
- # If no modules could be found, try if the alias name is a module name
- # In that case, omit the --use-blacklist parameter to imitate normal modprobe behaviour
- [ -z "${mods}" ] && $MODPROBE -qni $1 && mods="$1" && USEBLACKLIST=""
- [ -z "${mods}" ] && $LOGGER -p local0.debug -t "$(basename $0)" "'$1' is not a valid module or alias name"
- for mod in ${mods}; do
- # Find the module and all its dependencies
- deps="$($MODPROBE -i --show-depends ${mod})"
- [ $? -ne 0 ] && continue
-
- #sanitize the module names
- deps="$(echo "$deps" | sed \
- -e "s#^insmod /lib.*/\(.*\)\.ko.*#\1#g" \
- -e 's|-|_|g')"
-
- # If the module or any of its dependencies is blacklisted, don't load it
- for dep in $deps; do
- if echo "${BLACKLIST}" | /bin/grep -q -e " ${dep} " -e "^${dep} " -e " ${dep}\$"; then
- if [ "${dep}" = "${mod}" ]; then
- $LOGGER -p local0.info -t "$(basename $0)" "Not loading module '${mod}' for alias '$1' because it is blacklisted"
- else
- $LOGGER -p local0.info -t "$(basename $0)" "Not loading module '${mod}' for alias '$1' because its dependency '${dep}' is blacklisted"
- fi
- continue 2
- fi
- done
- # modprobe usually uses the "blacklist" statements from modprobe.conf only to blacklist all aliases
- # of a module, but not the module itself. We use --use-blacklist here so that modprobe also blacklists
- # module names if we resolved alias names manually above
- $MODPROBE $USEBLACKLIST ${mod}
- done
- else
- $MODPROBE $USEBLACKLIST $1
- fi
-fi
-# vim: set et ts=4:
diff --git a/core/udev/static-audio-nodes-permissions.patch b/core/udev/static-audio-nodes-permissions.patch
deleted file mode 100644
index b1fc4f935..000000000
--- a/core/udev/static-audio-nodes-permissions.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 3e227830ad6494700e18ae03297e8fb833ff26bf Mon Sep 17 00:00:00 2001
-From: Kay Sievers <kay.sievers@vrfy.org>
-Date: Fri, 27 May 2011 02:50:29 +0200
-Subject: [PATCH] rules: apply 'audio' group of the static snd/{seq,timer}
- nodes
-
----
- rules/rules.d/50-udev-default.rules | 3 ++-
- 1 files changed, 2 insertions(+), 1 deletions(-)
-
-diff --git a/rules/rules.d/50-udev-default.rules b/rules/rules.d/50-udev-default.rules
-index cd745ef..cacb533 100644
---- a/rules/rules.d/50-udev-default.rules
-+++ b/rules/rules.d/50-udev-default.rules
-@@ -38,7 +38,8 @@ SUBSYSTEM=="graphics", GROUP="video"
- SUBSYSTEM=="drm", GROUP="video"
-
- # sound
--SUBSYSTEM=="sound", GROUP="audio"
-+SUBSYSTEM=="sound", GROUP="audio", \
-+ OPTIONS+="static_node=snd/seq", OPTIONS+="static_node=snd/timer"
-
- # DVB (video)
- SUBSYSTEM=="dvb", GROUP="video"
---
-1.7.5.3
-
diff --git a/extra/avahi/ChangeLog b/extra/avahi/ChangeLog
deleted file mode 100644
index 57984a3b2..000000000
--- a/extra/avahi/ChangeLog
+++ /dev/null
@@ -1,17 +0,0 @@
-
-2009-04-23 Douglas Soares de Andrade <douglas@archlinux.org>
-
- * Updated for i686: 0.6.25
-
-2009-03-21 Eric Belanger <eric@archlinux.org>
-
- * Added optdepends for avahi-discover (close FS#11250)
-
-2009-01-04 Douglas Soares de Andrade <douglas@archlinux.org>
-
- * Updated for i686: 0.6.24
-
-2008-07-22 Douglas Soares de Andrade <douglas@archlinux.org>
-
- * Updated for i686: 0.6.23
-
diff --git a/extra/avidemux/2.5.4_audioDevice.patch b/extra/avidemux/2.5.4_audioDevice.patch
deleted file mode 100644
index 9f1dd1e84..000000000
--- a/extra/avidemux/2.5.4_audioDevice.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- cmake/config.h.cmake.orig 2010-10-29 12:51:05.000000000 -0400
-+++ cmake/config.h.cmake 2010-10-29 12:51:48.000000000 -0400
-@@ -76,9 +76,7 @@
- /* use Nvwa memory leak detector */
- #cmakedefine FIND_LEAKS
-
--#if defined(OSS_SUPPORT) || defined (USE_ARTS) || defined(USE_SDL) || defined(__APPLE__) || defined(__WIN32) || defined(ALSA_SUPPORT)
- #define HAVE_AUDIO
--#endif
-
- #define HAVE_ENCODER
-
diff --git a/extra/avidemux/x264.patch b/extra/avidemux/x264.patch
deleted file mode 100644
index 7200153d1..000000000
--- a/extra/avidemux/x264.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -Nur avidemux_2.5.4.orig/plugins/ADM_videoEncoder/ADM_vidEnc_x264/x264Options.cpp avidemux_2.5.4/plugins/ADM_videoEncoder/ADM_vidEnc_x264/x264Options.cpp
---- avidemux_2.5.4.orig/plugins/ADM_videoEncoder/ADM_vidEnc_x264/x264Options.cpp 2010-10-10 06:45:42.000000000 -0700
-+++ avidemux_2.5.4/plugins/ADM_videoEncoder/ADM_vidEnc_x264/x264Options.cpp 2011-01-16 07:16:48.283341102 -0800
-@@ -1386,7 +1386,7 @@
- case X264_WEIGHTP_NONE:
- strcpy((char*)xmlBuffer, "none");
- break;
-- case X264_WEIGHTP_BLIND:
-+ case X264_WEIGHTP_SIMPLE:
- strcpy((char*)xmlBuffer, "blind");
- break;
- case X264_WEIGHTP_SMART:
-@@ -1896,7 +1896,7 @@
- int weightedPredPFrames = X264_WEIGHTP_NONE;
-
- if (strcmp(content, "blind") == 0)
-- weightedPredPFrames = X264_WEIGHTP_BLIND;
-+ weightedPredPFrames = X264_WEIGHTP_SIMPLE;
- else if (strcmp(content, "smart") == 0)
- weightedPredPFrames = X264_WEIGHTP_SMART;
-
diff --git a/extra/clamav/clamav b/extra/clamav/clamav
deleted file mode 100644
index 8e9c6afa9..000000000
--- a/extra/clamav/clamav
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-# source application-specific settings
-[ -f /etc/conf.d/clamav ] && . /etc/conf.d/clamav
-
-PID_FC=`pidof -o %PPID /usr/bin/freshclam`
-PID_CD=`pidof -o %PPID /usr/sbin/clamd`
-
-case "$1" in
- start)
- # if clamd isn't started first, notifyclamd fails at times
- if [ "$START_CLAMD" == "yes" ]; then
- stat_busy "Starting ClamD"
- [ -z "$PID_CD" ] && /usr/sbin/clamd
- if [ $? -gt 0 ]; then
- stat_fail
- else
- add_daemon clamav
- stat_done
- fi
- fi
-
- # give clamd enough time to start
- sleep 1
-
- if [ "$START_FRESHCLAM" == "yes" ]; then
- stat_busy "Starting FreshClam"
- [ -z "$PID_FC" ] && /usr/bin/freshclam -p /var/run/clamav/freshclam.pid -d $FRESHCLAM_OPTS
- if [ $? -gt 0 ]; then
- stat_fail
- else
- add_daemon clamav
- stat_done
- fi
- fi
- ;;
- stop)
- if [ "$START_CLAMD" == "yes" ]; then
- stat_busy "Stopping ClamD"
- [ -n "$PID_CD" ] && kill $PID_CD &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon clamav
- stat_done
- fi
- fi
-
- if [ "$START_FRESHCLAM" == "yes" ]; then
- stat_busy "Stopping FreshClam"
- [ -n "$PID_FC" ] && kill $PID_FC &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon clamav
- stat_done
- fi
- fi
- ;;
- restart)
- $0 stop
- # will not start if not fully stopped, so sleep
- sleep 2
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
-exit 0
diff --git a/extra/clamav/clamav.confd b/extra/clamav/clamav.confd
deleted file mode 100644
index 9cd44d9f8..000000000
--- a/extra/clamav/clamav.confd
+++ /dev/null
@@ -1,8 +0,0 @@
-# clamav startup script config options
-
-# change these to "yes" to start
-START_FRESHCLAM="no"
-START_CLAMD="no"
-
-# Options to pass to freshclam (man freshclam for more info).
-FRESHCLAM_OPTS="-c 12"
diff --git a/extra/clamav/clamav.install b/extra/clamav/clamav.install
deleted file mode 100644
index 9116dc394..000000000
--- a/extra/clamav/clamav.install
+++ /dev/null
@@ -1,14 +0,0 @@
-post_install() {
- getent group clamav &>/dev/null || groupadd -r -g 64 clamav >/dev/null
- getent passwd clamav &>/dev/null || useradd -r -u 64 -g clamav -d /dev/null -s /bin/false -c "Clam AntiVirus" clamav >/dev/null
-
- install -d /var/{log,run}/clamav
- chown clamav:root /var/{log,run}/clamav
- chown -R clamav:clamav /var/lib/clamav
-}
-
-post_remove() {
- getent passwd clamav &>/dev/null && userdel clamav >/dev/null
- getent group clamav &>/dev/null && groupdel clamav >/dev/null
- return 0
-}
diff --git a/extra/clamav/clamav.logrotate b/extra/clamav/clamav.logrotate
deleted file mode 100644
index d1dc94dce..000000000
--- a/extra/clamav/clamav.logrotate
+++ /dev/null
@@ -1,8 +0,0 @@
-/var/log/clamav/clamd.log /var/log/clamav/freshclam.log {
- create 644 clamav clamav
- sharedscripts
- postrotate
- /bin/kill -HUP `cat /var/run/clamav/clamd.pid 2>/dev/null` 2> /dev/null || true
- /bin/kill -HUP `cat /var/run/clamav/freshclam.pid 2>/dev/null` 2> /dev/null || true
- endscript
-}
diff --git a/extra/gtk3/only_draw_resize_grip_if_its_window_exists.patch b/extra/gtk3/only_draw_resize_grip_if_its_window_exists.patch
deleted file mode 100644
index a6514b550..000000000
--- a/extra/gtk3/only_draw_resize_grip_if_its_window_exists.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 847df205ede7f624c2bc4c4498495352cc865423 Mon Sep 17 00:00:00 2001
-From: Benjamin Otte <otte@redhat.com>
-Date: Mon, 23 May 2011 13:46:59 +0000
-Subject: window: Only draw resize grip if its window exists
-
-Don't rely on priv->resize_grip_visible as the code comment in the
-variable declaration indicates.
-This fixes warnings with GtkPlug, which can cause resize_grip_visible to
-be TRUE but grid_window to be NULL - running tests/teststatusicon
-reproduces this.
-
-This broke with 0cf31b35eb10cb5bc08048ecdc141c949efec4cc
----
-diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
-index b97418a..b1caa9b 100644
---- a/gtk/gtkwindow.c
-+++ b/gtk/gtkwindow.c
-@@ -7304,7 +7304,7 @@ gtk_window_draw (GtkWidget *widget,
- if (GTK_WIDGET_CLASS (gtk_window_parent_class)->draw)
- ret = GTK_WIDGET_CLASS (gtk_window_parent_class)->draw (widget, cr);
-
-- if (priv->resize_grip_visible &&
-+ if (priv->grip_window &&
- gtk_cairo_should_draw_window (cr, priv->grip_window))
- {
- GdkRectangle rect;
---
-cgit v0.9
diff --git a/extra/hugin/hugin-gcc46.patch b/extra/hugin/hugin-gcc46.patch
deleted file mode 100644
index 98a70ad50..000000000
--- a/extra/hugin/hugin-gcc46.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-
-diff -r 0377a1af6110 -r 1fc6ad6e7c7a src/foreign/vigra/vigra/multi_iterator.hxx
---- a/src/foreign/vigra/vigra/multi_iterator.hxx Mon Jun 25 16:36:21 2007 +0000
-+++ b/src/foreign/vigra/vigra/multi_iterator.hxx Tue Jan 25 21:14:13 2011 +0000
-@@ -41,6 +41,7 @@
- #define VIGRA_MULTI_ITERATOR_HXX
-
- #include <sys/types.h>
-+#include <stddef.h>
- #include "tinyvector.hxx"
- #include "iteratortags.hxx"
-
-
-
-
-
diff --git a/extra/icedtea-web/fix-man-location.patch b/extra/icedtea-web/fix-man-location.patch
deleted file mode 100644
index 8108c7182..000000000
--- a/extra/icedtea-web/fix-man-location.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- Makefile.am 2011-02-02 03:43:25.000000000 +0100
-+++ Makefile.am.new 2011-02-03 14:37:55.556053388 +0100
-@@ -130,8 +130,8 @@
- endif
-
- install-data-local:
-- ${mkinstalldirs} -d $(DESTDIR)$(prefix)/man/man1
-- ${INSTALL_DATA} $(NETX_SRCDIR)/javaws.1 $(DESTDIR)$(prefix)/man/man1
-+ ${mkinstalldirs} -d $(DESTDIR)$(mandir)/man1
-+ ${INSTALL_DATA} $(NETX_SRCDIR)/javaws.1 $(DESTDIR)$(mandir)/man1
- ${INSTALL_DATA} $(NETX_RESOURCE_DIR)/about.jnlp $(DESTDIR)$(prefix)$(JRE_DIR_PREFIX)/lib
- if ENABLE_DOCS
- ${mkinstalldirs} $(DESTDIR)$(htmldir)
diff --git a/extra/icon-naming-utils/PKGBUILD b/extra/icon-naming-utils/PKGBUILD
deleted file mode 100644
index 0fcffc493..000000000
--- a/extra/icon-naming-utils/PKGBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# $Id: PKGBUILD 33029 2009-04-03 21:35:27Z jgc $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Contributor: William Rea <sillywilly@gmail.com>
-
-pkgname=icon-naming-utils
-pkgver=0.8.90
-pkgrel=1
-pkgdesc="Maps the new names of icons for Tango to the legacy names used by the GNOME and KDE desktops."
-arch=(i686 x86_64)
-license=('GPL')
-url="http://tango.freedesktop.org/"
-depends=('perl-xml-simple')
-source=(http://tango.freedesktop.org/releases/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('dd8108b56130b9eedc4042df634efa66')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr --sysconfdir=/etc \
- --libexecdir=/usr/lib/icon-naming-utils \
- --localstatedir=/var || return 1
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
- mv "${pkgdir}/usr/share/pkgconfig" "${pkgdir}/usr/lib/pkgconfig" || return 1
-}
diff --git a/extra/libfm/0001-filename-with-spaces-not-supported.patch b/extra/libfm/0001-filename-with-spaces-not-supported.patch
deleted file mode 100644
index 568f6dc38..000000000
--- a/extra/libfm/0001-filename-with-spaces-not-supported.patch
+++ /dev/null
@@ -1,345 +0,0 @@
-From 96fa31c757189c7c5f60d4de4c2df236d2cba0ea Mon Sep 17 00:00:00 2001
-From: Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
-Date: Wed, 20 Oct 2010 06:40:51 +0800
-Subject: [PATCH] Fix #3089625 - Filenames with spaces not supported in copy/paste.
-
----
- src/base/fm-file-launcher.c | 2 +-
- src/base/fm-folder.c | 6 +-
- src/base/fm-path.c | 2 +-
- src/gtk/fm-folder-view.c | 130 +++++++++++++++++++++---------------------
- src/gtk/fm-gtk-utils.c | 10 +--
- src/gtk/fm-path-entry.c | 2 +-
- 6 files changed, 75 insertions(+), 77 deletions(-)
-
-diff --git a/src/base/fm-file-launcher.c b/src/base/fm-file-launcher.c
-index 3857c33..c356249 100644
---- a/src/base/fm-file-launcher.c
-+++ b/src/base/fm-file-launcher.c
-@@ -91,7 +91,7 @@ gboolean fm_launch_desktop_entry(GAppLaunchContext* ctx, const char* file_or_id,
- * e.g: If this URL points to the another desktop entry file, and it
- * points to yet another desktop entry file, this can create a
- * infinite loop. This is a extremely rare case. */
-- FmPath* path = fm_path_new(url);
-+ FmPath* path = fm_path_new_for_uri(url);
- _uris = g_list_prepend(_uris, path);
- ret = fm_launch_paths(ctx, _uris, launcher, user_data);
- g_list_free(_uris);
-diff --git a/src/base/fm-folder.c b/src/base/fm-folder.c
-index ccbb3cc..3474937 100644
---- a/src/base/fm-folder.c
-+++ b/src/base/fm-folder.c
-@@ -334,8 +334,8 @@ static void on_job_finished(FmDirListJob* job, FmFolder* folder)
-
- static FmJobErrorAction on_job_err(FmDirListJob* job, GError* err, FmJobErrorSeverity severity, FmFolder* folder)
- {
-- FmJobErrorAction ret;
-- g_signal_emit(folder, signals[ERROR], 0, err, severity, &ret);
-+ FmJobErrorAction ret;
-+ g_signal_emit(folder, signals[ERROR], 0, err, severity, &ret);
- return ret;
- }
-
-@@ -470,7 +470,7 @@ FmFolder* fm_folder_get_for_path(FmPath* path)
-
- FmFolder* fm_folder_get_for_path_name(const char* path)
- {
-- FmPath* fm_path = fm_path_new(path);
-+ FmPath* fm_path = fm_path_new_for_str(path);
- FmFolder* folder = fm_folder_get_internal(fm_path, NULL);
- fm_path_unref(fm_path);
- return folder;
-diff --git a/src/base/fm-path.c b/src/base/fm-path.c
-index ca62256..8b31de2 100644
---- a/src/base/fm-path.c
-+++ b/src/base/fm-path.c
-@@ -926,7 +926,7 @@ FmPathList* fm_path_list_new_from_uris(const char** uris)
- FmPathList* pl = fm_path_list_new();
- for(uri = uris; *uri; ++uri)
- {
-- FmPath* path = fm_path_new(*uri);
-+ FmPath* path = fm_path_new_for_uri(*uri);
- fm_list_push_tail_noref(pl, path);
- }
- return pl;
-diff --git a/src/gtk/fm-folder-view.c b/src/gtk/fm-folder-view.c
-index fab88c0..9943015 100644
---- a/src/gtk/fm-folder-view.c
-+++ b/src/gtk/fm-folder-view.c
-@@ -41,8 +41,8 @@
-
- enum{
- CHDIR,
-- LOADED,
-- STATUS,
-+ LOADED,
-+ STATUS,
- CLICKED,
- SEL_CHANGED,
- SORT_CHANGED,
-@@ -82,7 +82,7 @@ static void fm_folder_view_class_init(FmFolderViewClass *klass)
- {
- GObjectClass *g_object_class;
- GtkWidgetClass *widget_class;
-- FmFolderViewClass *fv_class;
-+ FmFolderViewClass *fv_class;
- g_object_class = G_OBJECT_CLASS(klass);
- g_object_class->finalize = fm_folder_view_finalize;
- widget_class = GTK_WIDGET_CLASS(klass);
-@@ -165,19 +165,19 @@ gboolean on_folder_view_focus_in(GtkWidget* widget, GdkEventFocus* evt)
-
- void on_chdir(FmFolderView* fv, FmPath* dir_path)
- {
-- GtkWidget* toplevel = gtk_widget_get_toplevel((GtkWidget*)fv);
-- if(GTK_WIDGET_REALIZED(toplevel))
-- {
-- GdkCursor* cursor = gdk_cursor_new(GDK_WATCH);
-- gdk_window_set_cursor(toplevel->window, cursor);
-- }
-+ GtkWidget* toplevel = gtk_widget_get_toplevel((GtkWidget*)fv);
-+ if(GTK_WIDGET_REALIZED(toplevel))
-+ {
-+ GdkCursor* cursor = gdk_cursor_new(GDK_WATCH);
-+ gdk_window_set_cursor(toplevel->window, cursor);
-+ }
- }
-
- void on_loaded(FmFolderView* fv, FmPath* dir_path)
- {
-- GtkWidget* toplevel = gtk_widget_get_toplevel((GtkWidget*)fv);
-- if(GTK_WIDGET_REALIZED(toplevel))
-- gdk_window_set_cursor(toplevel->window, NULL);
-+ GtkWidget* toplevel = gtk_widget_get_toplevel((GtkWidget*)fv);
-+ if(GTK_WIDGET_REALIZED(toplevel))
-+ gdk_window_set_cursor(toplevel->window, NULL);
- }
-
- void on_status(FmFolderView* fv, const char* msg)
-@@ -187,15 +187,15 @@ void on_status(FmFolderView* fv, const char* msg)
-
- void on_model_loaded(FmFolderModel* model, FmFolderView* fv)
- {
-- FmFolder* folder = model->dir;
-- char* msg;
-- /* FIXME: prevent direct access to data members */
-- g_signal_emit(fv, signals[LOADED], 0, folder->dir_path);
-+ FmFolder* folder = model->dir;
-+ char* msg;
-+ /* FIXME: prevent direct access to data members */
-+ g_signal_emit(fv, signals[LOADED], 0, folder->dir_path);
-
- /* FIXME: show number of hidden files and available disk spaces. */
-- msg = g_strdup_printf("%d files are listed.", fm_list_get_length(folder->files) );
-- g_signal_emit(fv, signals[STATUS], 0, msg);
-- g_free(msg);
-+ msg = g_strdup_printf("%d files are listed.", fm_list_get_length(folder->files) );
-+ g_signal_emit(fv, signals[STATUS], 0, msg);
-+ g_free(msg);
- }
-
- FmJobErrorAction on_folder_err(FmFolder* folder, GError* err, FmJobErrorSeverity severity, FmFolderView* fv)
-@@ -326,8 +326,8 @@ static void fm_folder_view_finalize(GObject *object)
- if( self->model )
- g_object_unref(self->model);
- }
-- g_object_unref(self->dnd_src);
-- g_object_unref(self->dnd_dest);
-+ g_object_unref(self->dnd_src);
-+ g_object_unref(self->dnd_dest);
-
- if(self->cwd)
- fm_path_unref(self->cwd);
-@@ -715,15 +715,15 @@ void fm_folder_view_set_mode(FmFolderView* fv, FmFolderViewMode mode)
-
- /* FIXME: maybe calling set_icon_size here is a good idea */
-
-- gtk_drag_source_set(fv->view, GDK_BUTTON1_MASK,
-- fm_default_dnd_src_targets, N_FM_DND_SRC_DEFAULT_TARGETS,
-- GDK_ACTION_COPY|GDK_ACTION_MOVE|GDK_ACTION_LINK|GDK_ACTION_ASK);
-+ gtk_drag_source_set(fv->view, GDK_BUTTON1_MASK,
-+ fm_default_dnd_src_targets, N_FM_DND_SRC_DEFAULT_TARGETS,
-+ GDK_ACTION_COPY|GDK_ACTION_MOVE|GDK_ACTION_LINK|GDK_ACTION_ASK);
- fm_dnd_src_set_widget(fv->dnd_src, fv->view);
-
-- gtk_drag_dest_set(fv->view, 0,
-- fm_default_dnd_dest_targets, N_FM_DND_DEST_DEFAULT_TARGETS,
-- GDK_ACTION_COPY|GDK_ACTION_MOVE|GDK_ACTION_LINK|GDK_ACTION_ASK);
-- fm_dnd_dest_set_widget(fv->dnd_dest, fv->view);
-+ gtk_drag_dest_set(fv->view, 0,
-+ fm_default_dnd_dest_targets, N_FM_DND_DEST_DEFAULT_TARGETS,
-+ GDK_ACTION_COPY|GDK_ACTION_MOVE|GDK_ACTION_LINK|GDK_ACTION_ASK);
-+ fm_dnd_dest_set_widget(fv->dnd_dest, fv->view);
- g_signal_connect_after(fv->view, "drag-motion", G_CALLBACK(on_drag_motion), fv);
- g_signal_connect(fv->view, "drag-leave", G_CALLBACK(on_drag_leave), fv);
- g_signal_connect(fv->view, "drag-drop", G_CALLBACK(on_drag_drop), fv);
-@@ -739,9 +739,9 @@ void fm_folder_view_set_mode(FmFolderView* fv, FmFolderViewMode mode)
- gtk_widget_grab_focus(fv->view);
- }
- else
-- {
-+ {
- /* g_debug("same mode"); */
-- }
-+ }
- }
-
- FmFolderViewMode fm_folder_view_get_mode(FmFolderView* fv)
-@@ -785,7 +785,7 @@ void fm_folder_view_sort(FmFolderView* fv, GtkSortType type, int by)
- fv->sort_by = by;
- if(fv->model)
- gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(fv->model),
-- fv->sort_by, fv->sort_type);
-+ fv->sort_by, fv->sort_type);
- }
-
- GtkSortType fm_folder_view_get_sort_type(FmFolderView* fv)
-@@ -815,18 +815,18 @@ gboolean fm_folder_view_get_show_hidden(FmFolderView* fv)
-
- gboolean fm_folder_view_chdir_by_name(FmFolderView* fv, const char* path_str)
- {
-- gboolean ret;
-- FmPath* path;
-+ gboolean ret;
-+ FmPath* path;
-
- if( G_UNLIKELY( !path_str ) )
- return FALSE;
-
-- path = fm_path_new(path_str);
-- if(!path) /* might be a malformed path */
-- return FALSE;
-- ret = fm_folder_view_chdir(fv, path);
-- fm_path_unref(path);
-- return ret;
-+ path = fm_path_new_for_str(path_str);
-+ if(!path) /* might be a malformed path */
-+ return FALSE;
-+ ret = fm_folder_view_chdir(fv, path);
-+ fm_path_unref(path);
-+ return ret;
- }
-
- static void on_folder_unmounted(FmFolder* folder, FmFolderView* fv)
-@@ -912,10 +912,10 @@ gboolean fm_folder_view_chdir(FmFolderView* fv, FmPath* path)
- }
- }
-
-- /* FIXME: the signal handler should be able to cancel the loading. */
-- g_signal_emit(fv, signals[CHDIR], 0, path);
-- if(fv->cwd)
-- fm_path_unref(fv->cwd);
-+ /* FIXME: the signal handler should be able to cancel the loading. */
-+ g_signal_emit(fv, signals[CHDIR], 0, path);
-+ if(fv->cwd)
-+ fm_path_unref(fv->cwd);
- fv->cwd = fm_path_ref(path);
-
- fv->folder = folder = fm_folder_get_for_path(path);
-@@ -1041,12 +1041,12 @@ gboolean on_btn_pressed(GtkWidget* view, GdkEventButton* evt, FmFolderView* fv)
- if(!fv->model)
- return FALSE;
-
-- /* FIXME: handle single click activation */
-+ /* FIXME: handle single click activation */
- if( evt->type == GDK_BUTTON_PRESS )
- {
-- /* special handling for ExoIconView */
-- if(evt->button != 1)
-- {
-+ /* special handling for ExoIconView */
-+ if(evt->button != 1)
-+ {
- if(fv->mode==FM_FV_ICON_VIEW || fv->mode==FM_FV_COMPACT_VIEW || fv->mode==FM_FV_THUMBNAIL_VIEW)
- {
- /* select the item on right click for ExoIconView */
-@@ -1089,27 +1089,27 @@ gboolean on_btn_pressed(GtkWidget* view, GdkEventButton* evt, FmFolderView* fv)
- gtk_tree_path_free(tp);
- }
- }
-- }
-+ }
-
-- if(evt->button == 2) /* middle click */
-- type = FM_FV_MIDDLE_CLICK;
-- else if(evt->button == 3) /* right click */
-- type = FM_FV_CONTEXT_MENU;
-+ if(evt->button == 2) /* middle click */
-+ type = FM_FV_MIDDLE_CLICK;
-+ else if(evt->button == 3) /* right click */
-+ type = FM_FV_CONTEXT_MENU;
- }
-
-- if( type != FM_FV_CLICK_NONE )
-- {
-- sels = fm_folder_view_get_selected_tree_paths(fv);
-- if( sels || type == FM_FV_CONTEXT_MENU )
-- {
-- item_clicked(fv, sels ? sels->data : NULL, type);
-- if(sels)
-- {
-- g_list_foreach(sels, (GFunc)gtk_tree_path_free, NULL);
-- g_list_free(sels);
-- }
-- }
-- }
-+ if( type != FM_FV_CLICK_NONE )
-+ {
-+ sels = fm_folder_view_get_selected_tree_paths(fv);
-+ if( sels || type == FM_FV_CONTEXT_MENU )
-+ {
-+ item_clicked(fv, sels ? sels->data : NULL, type);
-+ if(sels)
-+ {
-+ g_list_foreach(sels, (GFunc)gtk_tree_path_free, NULL);
-+ g_list_free(sels);
-+ }
-+ }
-+ }
- return FALSE;
- }
-
-diff --git a/src/gtk/fm-gtk-utils.c b/src/gtk/fm-gtk-utils.c
-index 23b6f33..07df7d5 100644
---- a/src/gtk/fm-gtk-utils.c
-+++ b/src/gtk/fm-gtk-utils.c
-@@ -149,7 +149,7 @@ FmPath* fm_get_user_input_path(GtkWindow* parent, const char* title, const char*
- }
-
- str = _fm_user_input_dialog_run( dlg, GTK_ENTRY( entry ) );
-- path = fm_path_new(str);
-+ path = fm_path_new_for_str(str);
-
- g_free(path_str);
- g_free(str);
-@@ -261,11 +261,9 @@ FmPath* fm_select_folder(GtkWindow* parent)
- GTK_RESPONSE_OK, NULL);
- if( gtk_dialog_run((GtkDialog*)chooser) == GTK_RESPONSE_OK )
- {
-- char* file = gtk_file_chooser_get_filename(chooser);
-- if(!file)
-- file = gtk_file_chooser_get_uri(chooser);
-- path = fm_path_new(file);
-- g_free(file);
-+ GFile* file = gtk_file_chooser_get_file(chooser);
-+ path = fm_path_new_for_gfile(file);
-+ g_object_unref(file);
- }
- else
- path = NULL;
-diff --git a/src/gtk/fm-path-entry.c b/src/gtk/fm-path-entry.c
-index a57b58d..af60d03 100644
---- a/src/gtk/fm-path-entry.c
-+++ b/src/gtk/fm-path-entry.c
-@@ -163,7 +163,7 @@ static void fm_path_entry_changed(GtkEditable *editable)
- if( !fm_path_equal_str(priv->path, original_key, key_dir_len) )
- {
- gchar* new_path = g_path_get_dirname(original_key);
-- FmPath *new_fm_path = fm_path_new(new_path);
-+ FmPath *new_fm_path = fm_path_new_for_str(new_path);
- g_free(new_path);
- if( new_fm_path != NULL )
- {
---
-1.7.0.1
-
-
diff --git a/extra/libfm/PKGBUILD b/extra/libfm/PKGBUILD
deleted file mode 100644
index ea61503c9..000000000
--- a/extra/libfm/PKGBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# $Id: PKGBUILD 119892 2011-04-16 12:10:54Z angvp $
-# Maintainer: Angel Velasquez <angvp@archlinux.org>
-# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
-pkgname=libfm
-pkgver=0.1.14
-pkgrel=5
-pkgdesc="the core of next generation file manager PCManFM"
-url="http://pcmanfm.sourceforge.net/"
-arch=('i686' 'x86_64')
-license=('GPL')
-groups=('lxde')
-options=('!libtool')
-install=libfm.install
-depends=('gtk2' 'menu-cache' 'shared-mime-info' 'udisks')
-source=(http://downloads.sourceforge.net/pcmanfm/$pkgname-$pkgver.tar.gz
- 0001-filename-with-spaces-not-supported.patch)
-md5sums=('d55e51dced6bb9ef46665243b079761f'
- '22bf07665db6eb82989cc8111ef5c3bf')
-
-build() {
- cd $srcdir/$pkgname-$pkgver
- patch -p1 -i $srcdir/0001-filename-with-spaces-not-supported.patch
- ./configure --prefix=/usr --sysconfdir=/etc --enable-udisks --with-gnu-ld
- make
-}
-
-package() {
- cd $srcdir/$pkgname-$pkgver
- make DESTDIR=$pkgdir install
-}
diff --git a/extra/libfm/libfm.install b/extra/libfm/libfm.install
deleted file mode 100644
index 076da308e..000000000
--- a/extra/libfm/libfm.install
+++ /dev/null
@@ -1,15 +0,0 @@
-post_install() {
- usr/bin/update-mime-database usr/share/mime > /dev/null
- usr/bin/update-desktop-database -q
- usr/bin/gio-querymodules usr/lib/gio/modules
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
-
-
diff --git a/extra/libwebkit/gcc46.patch b/extra/libwebkit/gcc46.patch
deleted file mode 100644
index befd892d4..000000000
--- a/extra/libwebkit/gcc46.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-Index: trunk/Source/WebCore/dom/make_names.pl
-===================================================================
---- trunk/Source/WebCore/dom/make_names.pl (revision 73989)
-+++ trunk/Source/WebCore/dom/make_names.pl (revision 84123)
-@@ -66,5 +66,5 @@
- $gccLocation = "/usr/bin/gcc";
- }
--my $preprocessor = $gccLocation . " -E -P -x c++";
-+my $preprocessor = $gccLocation . " -E -x c++";
-
- GetOptions(
diff --git a/extra/lxde-common/PKGBUILD b/extra/lxde-common/PKGBUILD
deleted file mode 100644
index 761841bb7..000000000
--- a/extra/lxde-common/PKGBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
-pkgname=lxde-common
-pkgver=0.5.0
-pkgrel=3
-pkgdesc="Common files of the LXDE Desktop"
-arch=('i686' 'x86_64')
-license=('GPL2')
-groups=('lxde')
-depends=('libx11' 'glib2' 'lxde-icon-theme')
-url="http://lxde.org/"
-# startlxde is useless without lxsession
-makedepends=(automake)
-optdepends=(lxsession-lite)
-backup=(etc/xdg/lxsession/LXDE/{desktop.conf,autostart})
-source=("http://downloads.sourceforge.net/project/lxde/${pkgname}%20%28default%20config%29/${pkgname}%200.5.0/${pkgname}-0.5.0.tar.gz" "${pkgname}-arch.patch" ${pkgname}-invalid-distfile.patch)
-md5sums=('23606ab3d6e1039386d62a4b68b4ffc6' '21657157d9ab377de55deb19a42d68e8'\
- '24938631783683fd98dfd533023e6d4e')
-
-
-build() {
- cd "$srcdir/$pkgname-$pkgver"
- patch -p1 -i ${srcdir}/${pkgname}-arch.patch
- autoreconf
- ./configure --sysconfdir=/etc --prefix=/usr
- make DESTDIR="$pkgdir" install
- install -Dm644 lxde-logout.desktop ${pkgdir}/usr/share/applications/lxde-logout.desktop
-}
-
diff --git a/extra/lxde-common/lxde-common-arch.patch b/extra/lxde-common/lxde-common-arch.patch
deleted file mode 100644
index 3aa1a8992..000000000
--- a/extra/lxde-common/lxde-common-arch.patch
+++ /dev/null
@@ -1,186 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index ba4149c..61cf4c5 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -31,9 +31,9 @@ openbox_DATA= \
- openbox/rc.xml \
- openbox/menu.xml
-
--pcmanfmdir=$(datadir)/lxde/pcmanfm
-+pcmanfmdir=$(sysconfdir)/xdg/pcmanfm
- pcmanfm_DATA= \
-- pcmanfm/main.lxde
-+ pcmanfm/lxde.conf
-
- EXTRA_DIST = \
- autostart \
-@@ -45,7 +45,7 @@ EXTRA_DIST = \
- openbox/rc.xml.in \
- openbox/menu.xml \
- openbox-lxde.in \
-- pcmanfm/main.lxde.in \
-+ pcmanfm/lxde.conf.in \
- $(lxpanel_DATA) \
- lxpanel/panel.in
-
-diff --git a/autostart b/autostart
-index 17d7b58..d5b6514 100644
---- a/autostart
-+++ b/autostart
-@@ -1,3 +1,3 @@
--@xscreensaver -no-splash
- @lxpanel --profile LXDE
--@pcmanfm -d
-+@pcmanfm --desktop --profile lxde
-+@xscreensaver -no-splash
-diff --git a/configure.ac b/configure.ac
-index 3b62903..f90b4c5 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1,5 +1,5 @@
- AC_PREREQ([2.57])
--AC_INIT(lxde-common,[0.5.0], [],lxde-common)
-+AC_INIT(lxde-common,[0.5.5], [],lxde-common)
- AM_INIT_AUTOMAKE()
- dnl AC_PROG_INTLTOOL(, [no-xml])
- dnl AM_MAINTAINER_MODE
-@@ -48,7 +48,16 @@ AC_OUTPUT([
- lxpanel/panel
- openbox/rc.xml
- openbox-lxde
-- pcmanfm/main.lxde
-+ pcmanfm/lxde.conf
- man/Makefile
- ])
-
-+if test x"$sysconfdir" != x'/etc'; then
-+ echo
-+ echo
-+ echo 'Error: sysconfdir is not /etc.'
-+ echo 'Please consider passing --sysconfdir=/etc to configure.';
-+ echo 'Otherwise default config files will be installed to wrong place.'
-+ echo
-+ echo
-+fi
-diff --git a/lxpanel/config b/lxpanel/config
-index 1911551..cb7f06d 100644
---- a/lxpanel/config
-+++ b/lxpanel/config
-@@ -1,4 +1,4 @@
- [Command]
- FileManager=pcmanfm %s
--Terminal=xterm -e
-+Terminal=lxterminal
- Logout=lxde-logout
-diff --git a/openbox-lxde b/openbox-lxde
-old mode 100755
-new mode 100644
-diff --git a/openbox/menu.xml b/openbox/menu.xml
-index 78099e6..a7768a5 100644
---- a/openbox/menu.xml
-+++ b/openbox/menu.xml
-@@ -25,7 +25,7 @@
- <item label="Desktop Settings">
- <action name="Execute">
- <startupnotify><enabled>yes</enabled></startupnotify>
-- <command>pcmanfm --show-pref 2</command>
-+ <command>pcmanfm --desktop-pref</command>
- </action>
- </item>
- <item label="Window Management Settings">
-@@ -43,4 +43,4 @@
- </item>
- </menu>
-
--</openbox_menu>
-\ No newline at end of file
-+</openbox_menu>
-diff --git a/pcmanfm/lxde.conf.in b/pcmanfm/lxde.conf.in
-new file mode 100644
-index 0000000..6799e1f
---- /dev/null
-+++ b/pcmanfm/lxde.conf.in
-@@ -0,0 +1,20 @@
-+[config]
-+bm_open_method=0
-+su_cmd=xdg-su -c '%s'
-+
-+[desktop]
-+wallpaper_mode=1
-+wallpaper=@prefix@/share/lxde/wallpapers/lxde_blue.jpg
-+desktop_bg=#000000
-+desktop_fg=#ffffff
-+desktop_shadow=#000000
-+
-+[ui]
-+always_show_tabs=0
-+hide_close_btn=0
-+win_width=640
-+win_height=480
-+view_mode=0
-+show_hidden=0
-+sort_type=0
-+sort_by=0
-diff --git a/pcmanfm/main.lxde.in b/pcmanfm/main.lxde.in
-deleted file mode 100644
-index a619852..0000000
---- a/pcmanfm/main.lxde.in
-+++ /dev/null
-@@ -1,3 +0,0 @@
--[Desktop]
--show_wallpaper=1
--wallpaper=@prefix@/share/lxde/wallpapers/lxde_blue.jpg
-diff --git a/startlxde.in b/startlxde.in
-index 8372d3a..f493e28 100755
---- a/startlxde.in
-+++ b/startlxde.in
-@@ -1,28 +1,43 @@
- #!/bin/sh
-
- if [ -z "$XDG_CONFIG_HOME" ]; then
-- export XDG_CONFIG_HOME="$HOME/.config"
-+ export XDG_CONFIG_HOME="$HOME/.config"
- fi
-
- # Ensure the existance of pcmanfm config file
- PCMANFM_CONF_DIR="$XDG_CONFIG_HOME/pcmanfm"
--if [ ! -f "$PCMANFM_CONF_DIR/main.lxde" ]; then
-- mkdir -p "$PCMANFM_CONF_DIR"
-- cp @prefix@/share/lxde/pcmanfm/main.lxde "$PCMANFM_CONF_DIR/main.lxde"
-+if [ ! -f "$PCMANFM_CONF_DIR/pcmanfm.conf" ]; then
-+ mkdir -p "$PCMANFM_CONF_DIR"
-+ cp @prefix@/share/lxde/pcmanfm/pcmanfm.conf "$PCMANFM_CONF_DIR/pcmanfm.conf"
- fi
-
- # Ensure the existance of openbox config file
- OPENBOX_CONF_DIR="$XDG_CONFIG_HOME/openbox"
- if [ ! -f "$OPENBOX_CONF_DIR/lxde-rc.xml" ]; then
-- mkdir -p "$OPENBOX_CONF_DIR"
-- cp @prefix@/share/lxde/openbox/rc.xml "$OPENBOX_CONF_DIR/lxde-rc.xml"
-+ mkdir -p "$OPENBOX_CONF_DIR"
-+ cp @prefix@/share/lxde/openbox/rc.xml "$OPENBOX_CONF_DIR/lxde-rc.xml"
- fi
-
-+# Ensure the existance of the 'Desktop' folder
-+if [ -e "$XDG_CONFIG_HOME/user-dirs.dirs" ]; then
-+ . "$XDG_CONFIG_HOME/user-dirs.dirs"
-+else
-+ XDG_DESKTOP_DIR="$HOME/Desktop"
-+fi
-+mkdir -p "$XDG_DESKTOP_DIR"
-+
- # Clean up after GDM (GDM sets the number of desktops to one)
- xprop -root -remove _NET_NUMBER_OF_DESKTOPS -remove _NET_DESKTOP_NAMES -remove _NET_CURRENT_DESKTOP 2> /dev/null
-
- # Enable GTK+2 integration for OpenOffice.org, if available.
- export SAL_USE_VCLPLUGIN=gtk
-
-+# Launch DBus if needed
-+if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
-+ eval "$(dbus-launch --sh-syntax --exit-with-session)"
-+fi
-+
-+export XDG_MENU_PREFIX="lxde-"
-+
- # Start the LXDE session
- exec @prefix@/bin/lxsession -s LXDE -e LXDE
diff --git a/extra/lxde-common/lxde-common-invalid-distfile.patch b/extra/lxde-common/lxde-common-invalid-distfile.patch
deleted file mode 100644
index df5d68084..000000000
--- a/extra/lxde-common/lxde-common-invalid-distfile.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff -ub lxde-common-0.5.0.dist/startlxde.in lxde-common-0.5.0/startlxde.in
---- lxde-common-0.5.0.dist/startlxde.in 2009-09-04 11:46:53.000000000 +0200
-+++ lxde-common-0.5.0./startlxde.in 2010-01-18 21:47:18.000000000 +0100
-@@ -25,4 +25,4 @@
- export SAL_USE_VCLPLUGIN=gtk
-
- # Start the LXDE session
--exec @prefix@/bin/lxsession -s LXDE
-+exec @prefix@/bin/lxsession -s LXDE -e LXDE
-
diff --git a/extra/lxde-common/lxde-common.install b/extra/lxde-common/lxde-common.install
deleted file mode 100644
index 86a366848..000000000
--- a/extra/lxde-common/lxde-common.install
+++ /dev/null
@@ -1,18 +0,0 @@
-ICON_PATH=usr/share/icons/nuoveXT2
-
-post_install() {
- gtk-update-icon-cache -q -t -f ${ICON_PATH}
-}
-
-post_upgrade() {
- post_install $1
-}
-
-post_remove() {
- gtk-update-icon-cache -q -t -f ${ICON_PATH}
-}
-
-op=$1
-shift
-
-$op $*
diff --git a/extra/lxdm/PKGBUILD b/extra/lxdm/PKGBUILD
deleted file mode 100644
index a0b1d9628..000000000
--- a/extra/lxdm/PKGBUILD
+++ /dev/null
@@ -1,51 +0,0 @@
-# Maintainer: AndyRTR <andyrtr@archlinux.org>
-#Contributor: kiefer <jorgelmadrid@gmail.com>
-#Based on lxdm-git by phillipe
-
-pkgname=lxdm
-pkgver=0.3.0
-pkgrel=1
-pkgdesc="Lightweight Display Manager (part of LXDE)"
-arch=('i686' 'x86_64')
-url="http://sourceforge.net/projects/lxdm/"
-license=('GPL')
-groups=('lxde')
-conflicts=('lxdm-git')
-depends=('gtk2' 'xorg-server' 'consolekit')
-makedepends=('intltool')
-install=${pkgname}.install
-backup=('etc/lxdm/lxdm.conf') # 'etc/lxdm/xinitrc')
-source=(http://downloads.sourceforge.net/project/lxdm/lxdm%20${pkgver}/$pkgname-$pkgver.tar.gz
- Xsession.patch lxdm.patch lxdm-pam.patch lxdm-daemon)
-md5sums=('1d0688e088edab7c3c563263eb2f9654'
- '9bdf95adb74d81d4b6b6176fb1142090'
- 'baed9055e8825a5511712bc095197519'
- 'b20fe3c8487a039050986d60e45233a9'
- '705f394052fdd0dec22e95321d170de0')
-
-build() {
- cd $srcdir/$pkgname-$pkgver
- ./configure --sysconfdir=/etc --prefix=/usr --libexecdir=/usr/lib/lxdm
- make
-
- patch -Np0 < ../lxdm.patch
- patch -Np0 < ../Xsession.patch
-}
-
-
-package() {
- cd $srcdir/$pkgname-$pkgver
- make DESTDIR="${pkgdir}" install || return 1
-
- install -m644 ${srcdir}/lxdm-pam.patch ${pkgdir}/etc/pam.d/lxdm || return 1
- install -Dm755 ${srcdir}/lxdm-daemon ${pkgdir}/etc/rc.d/lxdm || return 1
-
- # these files are not in the package, but should be owned by lxdm - taken from Fedora pkg
-# touch ${pkgdir}/etc/lxdm/xinitrc
- mkdir -p ${pkgdir}/var/run/lxdm
- mkdir -p ${pkgdir}/var/lib/lxdm
-# touch ${pkgdir}/var/lib/lxdm/lxdm.conf
-
- # fix the greeter location
- sed -i -e "s/libexec/lib\/lxdm/" ${pkgdir}/etc/lxdm/lxdm.conf
-}
diff --git a/extra/lxdm/Xsession.patch b/extra/lxdm/Xsession.patch
deleted file mode 100644
index a9ba63233..000000000
--- a/extra/lxdm/Xsession.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- data/Xsession.orig 2010-01-31 20:48:08.695677408 -0200
-+++ data/Xsession 2010-01-31 20:47:48.260223292 -0200
-@@ -2,6 +2,11 @@
-
- # use bash for "exec -l", howto run login shell by /bin/sh ?
-
-+[[ -f /etc/profile ]] && . /etc/profile
-+[[ -f "$HOME/.profile" ]] && . "$HOME/.profile"
-+[[ -f /etc/xprofile ]] && . /etc/xprofile
-+[[ -f "$HOME/.xprofile" ]] && . "$HOME/.xprofile"
-+
- if [ $# -eq 1 -a -n "$1" ]; then
- LXSESSION=$1
- else
diff --git a/extra/lxdm/lxdm-daemon b/extra/lxdm/lxdm-daemon
deleted file mode 100644
index 68eb6225d..000000000
--- a/extra/lxdm/lxdm-daemon
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-PID=$(pidof -o %PPID `which lxdm-binary`)
-case "$1" in
- start)
- stat_busy "Starting LXDM Display Manager"
- [ -z "$PID" ] && /usr/sbin/lxdm -d &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- add_daemon lxdm
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping LXDM Display Manager"
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon lxdm
- stat_done
- fi
- ;;
- restart)
- $0 stop
- sleep 3
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
-exit 0
diff --git a/extra/lxdm/lxdm-pam.patch b/extra/lxdm/lxdm-pam.patch
deleted file mode 100644
index 3f5df04a7..000000000
--- a/extra/lxdm/lxdm-pam.patch
+++ /dev/null
@@ -1,8 +0,0 @@
-#%PAM-1.0
-auth requisite pam_nologin.so
-auth required pam_env.so
-auth required pam_unix.so
-account required pam_unix.so
-session required pam_limits.so
-session required pam_unix.so
-password required pam_unix.so
diff --git a/extra/lxdm/lxdm.install b/extra/lxdm/lxdm.install
deleted file mode 100644
index 8d42de90f..000000000
--- a/extra/lxdm/lxdm.install
+++ /dev/null
@@ -1,59 +0,0 @@
-pkgname=lxdm
-
-post_install() {
- # make sure the group and user "lxdm" exist on this system and have the correct values
- if grep -q "^lxdm:" /etc/group &> /dev/null ; then
- groupmod -g 121 -n lxdm lxdm &> /dev/null
- else
- groupadd -g 121 lxdm &> /dev/null
- fi
-
- if grep -q "^lxdm:" /etc/passwd 2> /dev/null ; then
- usermod -s /sbin/nologin -c "LXDE Display Manager user" -d /var/lib/lxdm -u 121 -g lxdm lxdm &> /dev/null
- else
- useradd -s /sbin/nologin -c "LXDE Display Manager user" -d /var/lib/lxdm -u 121 -g lxdm -m -r lxdm &> /dev/null
- fi
- passwd -l lxdm > /dev/null
-
-# chown root:lxdm /etc/lxdm/{lxdm.conf,xinitrc} > /dev/null
- chown root:lxdm /etc/lxdm/lxdm.conf > /dev/null
- chown -R root:lxdm /var/lib/lxdm > /dev/null
- chown -R root:lxdm /var/run/lxdm > /dev/null
-
-cat << EOF
->>> To make the LXDM as your default DM,
->>> put, 'lxdm' or '@lxdm' (without quotes) on DAEMONS in /etc/rc.conf
->>>
->>> You can also use /etc/inittab,
->>> just add 'x:5:respawn:/usr/sbin/lxdm >& /dev/null' (without quotes)
->>> in the end of the file /etc/inittab
->>> and uncoment the line on the top 'id:5:initdefault:'.
-EOF
-}
-
-post_upgrade() {
- # make sure the group and user "lxdm" exist on this system and have the correct values
- if grep -q "^lxdm:" /etc/group &> /dev/null ; then
- groupmod -g 121 -n lxdm lxdm &> /dev/null
- else
- groupadd -g 121 lxdm &> /dev/null
- fi
-
- if grep -q "^lxdm:" /etc/passwd 2> /dev/null ; then
- usermod -s /sbin/nologin -c "LXDE Display Manager user" -d /var/lib/lxdm -u 121 -g lxdm lxdm &> /dev/null
- else
- useradd -s /sbin/nologin -c "LXDE Display Manager user" -d /var/lib/lxdm -u 121 -g lxdm -m -r lxdm &> /dev/null
- fi
- passwd -l lxdm > /dev/null
-
-# chown root:lxdm /etc/lxdm/{lxdm.conf,xinitrc} > /dev/null
- chown root:lxdm /etc/lxdm/lxdm.conf > /dev/null
- chown -R root:lxdm /var/lib/lxdm > /dev/null
- chown -R root:lxdm /var/run/lxdm > /dev/null
-}
-
-post_remove() {
- # Removing lxdm group+user
- getent passwd lxdm >/dev/null 2>&1 && userdel lxdm #|| /bin/true
- getent group lxdm >/dev/null 2>&1 && groupdel lxdm #|| /bin/true
-}
diff --git a/extra/lxdm/lxdm.patch b/extra/lxdm/lxdm.patch
deleted file mode 100644
index a703a386d..000000000
--- a/extra/lxdm/lxdm.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- data/lxdm.orig 2010-01-24 16:58:42.262866825 -0200
-+++ data/lxdm 2010-01-19 11:56:34.308668692 -0200
-@@ -1,21 +1,13 @@
- #!/bin/sh
-
--[ -f /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
--
--if [ -z "$LANG" -a -e /etc/sysconfig/language ]; then
-- . /etc/sysconfig/language
-- if [ -n "$RC_LANG"]; then
-- LANG=$RC_LANG
-- fi
-+if [ -r /etc/profile.d/locale.sh ]; then
-+ . /etc/profile.d/locale.sh
- fi
-
- if [ -n "$LANG" ]; then
- export LANG
- fi
-
--[ -f /etc/sysconfig/desktop ] && . /etc/sysconfig/desktop
--[ -f /etc/sysconfig/windowmanager ] && . /etc/sysconfig/windowmanager
--
- if [ -n "$DEFAULT_WM" ]; then
- PREFERRED=$DEFAULT_WM
- fi
diff --git a/extra/lxmenu-data/PKGBUILD b/extra/lxmenu-data/PKGBUILD
deleted file mode 100644
index eff65fe89..000000000
--- a/extra/lxmenu-data/PKGBUILD
+++ /dev/null
@@ -1,19 +0,0 @@
-# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
-pkgname=lxmenu-data
-pkgver=0.1.1
-pkgrel=1
-pkgdesc="freedesktop.org desktop menus for LXDE"
-arch=('i686' 'x86_64')
-license=('GPL2')
-url="http://lxde.org/"
-groups=('lxde')
-source=(http://downloads.sourceforge.net/sourceforge/lxde/$pkgname-$pkgver.tar.gz)
-md5sums=('cee3181dd22088f3db0e99ffbedc986d')
-
-build() {
-cd "$srcdir/$pkgname-$pkgver"
- ./configure --prefix=/usr --sysconfdir=/etc || return 1
- make || return 1
- make DESTDIR="$pkgdir" install || return 1
-}
-
diff --git a/extra/lxpanel/Fix-build-issue-with-symbol-alarm-showing-up-on-F14-.patch b/extra/lxpanel/Fix-build-issue-with-symbol-alarm-showing-up-on-F14-.patch
deleted file mode 100644
index e3da3d897..000000000
--- a/extra/lxpanel/Fix-build-issue-with-symbol-alarm-showing-up-on-F14-.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 4a974f2686d2fafdcda4a180b0483a7b17fd2d71 Mon Sep 17 00:00:00 2001
-From: Marty Jack <martyj@linux.local>
-Date: Thu, 22 Jul 2010 19:46:13 -0400
-Subject: [PATCH 3/3] Fix build issue with symbol "alarm" showing up on F14 (Bug3033293)
-
----
- src/plugins/batt/batt.c | 6 +++---
- 1 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/plugins/batt/batt.c b/src/plugins/batt/batt.c
-index 288231f..05c0deb 100644
---- a/src/plugins/batt/batt.c
-+++ b/src/plugins/batt/batt.c
-@@ -95,7 +95,7 @@ typedef struct {
- typedef struct {
- char *command;
- sem_t *lock;
--} alarm;
-+} Alarm;
-
- static void destructor(Plugin *p);
- static void update_display(lx_battery *lx_b, gboolean repaint);
-@@ -103,7 +103,7 @@ static void update_display(lx_battery *lx_b, gboolean repaint);
- /* alarmProcess takes the address of a dynamically allocated alarm struct (which
- it must free). It ensures that alarm commands do not run concurrently. */
- static void * alarmProcess(void *arg) {
-- alarm *a = (alarm *) arg;
-+ Alarm *a = (Alarm *) arg;
-
- sem_wait(a->lock);
- system(a->command);
-@@ -157,7 +157,7 @@ void update_display(lx_battery *lx_b, gboolean repaint) {
- /* Run the alarm command if it isn't already running */
- if (alarmCanRun) {
-
-- alarm *a = (alarm *) malloc(sizeof(alarm));
-+ Alarm *a = (Alarm *) malloc(sizeof(Alarm));
- a->command = lx_b->alarmCommand;
- a->lock = &(lx_b->alarmProcessLock);
-
---
-1.7.1.1
-
diff --git a/extra/lxpanel/Fix-failure-to-react-to-keyboard-map-changes-initiat.patch b/extra/lxpanel/Fix-failure-to-react-to-keyboard-map-changes-initiat.patch
deleted file mode 100644
index b5483e7b0..000000000
--- a/extra/lxpanel/Fix-failure-to-react-to-keyboard-map-changes-initiat.patch
+++ /dev/null
@@ -1,555 +0,0 @@
-From 438d9fdbd3e0be04de933705917d508a02b7c04b Mon Sep 17 00:00:00 2001
-From: Marty Jack <martyj@linux.local>
-Date: Sat, 20 Feb 2010 16:23:57 -0500
-Subject: [PATCH 4/5] Fix failure to react to keyboard map changes initiated outside the plugin
- - Occurred when setxkbmap was run, or when HAL configured the keyboard at X startup
- - Caused by failure to process the NewKeyboard event
- - Caused by dropping events due to faulty code to read them
- - Cosmetic change, the tooltip now the Xkb Group name rather than Xkb Symbol name
-
----
- src/plugins/xkb/xkb-plugin.c | 92 +++++++++--------
- src/plugins/xkb/xkb.c | 236 +++++++++++++++++++++--------------------
- src/plugins/xkb/xkb.h | 7 +-
- 3 files changed, 173 insertions(+), 162 deletions(-)
-
-diff --git a/src/plugins/xkb/xkb-plugin.c b/src/plugins/xkb/xkb-plugin.c
-index f49a77d..80a14ba 100644
---- a/src/plugins/xkb/xkb-plugin.c
-+++ b/src/plugins/xkb/xkb-plugin.c
-@@ -1,18 +1,23 @@
--/*
--//====================================================================
--// xfce4-xkb-plugin - XFCE4 Xkb Layout Indicator panel plugin
--// -------------------------------------------------------------------
--// Alexander Iliev <sasoiliev@mamul.org>
--// 20-Feb-04
--// -------------------------------------------------------------------
--// Parts of this code belong to Michael Glickman <wmalms@yahooo.com>
--// and his program wmxkb.
--// WARNING: DO NOT BOTHER Michael Glickman WITH QUESTIONS ABOUT THIS
--// PROGRAM!!! SEND INSTEAD EMAILS TO <sasoiliev@mamul.org>
--//====================================================================
--*/
--
--/* Modified by Hong Jen Yee (PCMan) <pcman.tw@gmail.com> on 2008-04-06 for lxpanel */
-+/**
-+ * Copyright (c) 2010 LxDE Developers, see the file AUTHORS for details.
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-+ */
-+
-+/* Originally derived from xfce4-xkb-plugin, Copyright 2004 Alexander Iliev,
-+ * which credits Michael Glickman. */
-
- #ifdef HAVE_CONFIG_H
- #include <config.h>
-@@ -49,38 +54,45 @@ void xkb_redraw(XkbPlugin * xkb)
- if (xkb->display_type == IMAGE)
- {
- int size = xkb->plugin->panel->icon_size;
-- char * group_name = (char *) xkb_get_current_group_name_lowercase(xkb);
-- char * filename = g_strdup_printf("%s/%s.png", FLAGSDIR, group_name);
-- GdkPixbuf * unscaled_pixbuf = gdk_pixbuf_new_from_file(filename, NULL);
-- g_free(filename);
-- g_free(group_name);
--
-- if (unscaled_pixbuf != NULL)
-+ char * group_name = (char *) xkb_get_current_symbol_name_lowercase(xkb);
-+ if (group_name != NULL)
- {
-- /* Loaded successfully. */
-- int width = gdk_pixbuf_get_width(unscaled_pixbuf);
-- int height = gdk_pixbuf_get_height(unscaled_pixbuf);
-- GdkPixbuf * pixbuf = gdk_pixbuf_scale_simple(unscaled_pixbuf, size * width / height, size, GDK_INTERP_BILINEAR);
-- if (pixbuf != NULL)
-+ char * filename = g_strdup_printf("%s/%s.png", FLAGSDIR, group_name);
-+ GdkPixbuf * unscaled_pixbuf = gdk_pixbuf_new_from_file(filename, NULL);
-+ g_free(filename);
-+ g_free(group_name);
-+
-+ if (unscaled_pixbuf != NULL)
- {
-- gtk_image_set_from_pixbuf(GTK_IMAGE(xkb->image), pixbuf);
-- g_object_unref(G_OBJECT(pixbuf));
-- gtk_widget_hide(xkb->label);
-- gtk_widget_show(xkb->image);
-- gtk_widget_set_tooltip_text(xkb->btn, xkb_get_current_group_name(xkb));
-- valid_image = TRUE;
-+ /* Loaded successfully. */
-+ int width = gdk_pixbuf_get_width(unscaled_pixbuf);
-+ int height = gdk_pixbuf_get_height(unscaled_pixbuf);
-+ GdkPixbuf * pixbuf = gdk_pixbuf_scale_simple(unscaled_pixbuf, size * width / height, size, GDK_INTERP_BILINEAR);
-+ if (pixbuf != NULL)
-+ {
-+ gtk_image_set_from_pixbuf(GTK_IMAGE(xkb->image), pixbuf);
-+ g_object_unref(G_OBJECT(pixbuf));
-+ gtk_widget_hide(xkb->label);
-+ gtk_widget_show(xkb->image);
-+ gtk_widget_set_tooltip_text(xkb->btn, xkb_get_current_group_name(xkb));
-+ valid_image = TRUE;
-+ }
-+ g_object_unref(unscaled_pixbuf);
- }
-- g_object_unref(unscaled_pixbuf);
- }
- }
-
- /* Set the label. */
- if ((xkb->display_type == TEXT) || ( ! valid_image))
- {
-- panel_draw_label_text(xkb->plugin->panel, xkb->label, (char *) xkb_get_current_group_name(xkb), TRUE, TRUE);
-- gtk_widget_hide(xkb->image);
-- gtk_widget_show(xkb->label);
-- gtk_widget_set_tooltip_text(xkb->btn, NULL);
-+ char * group_name = (char *) xkb_get_current_symbol_name(xkb);
-+ if (group_name != NULL)
-+ {
-+ panel_draw_label_text(xkb->plugin->panel, xkb->label, (char *) group_name, TRUE, TRUE);
-+ gtk_widget_hide(xkb->image);
-+ gtk_widget_show(xkb->label);
-+ gtk_widget_set_tooltip_text(xkb->btn, xkb_get_current_group_name(xkb));
-+ }
- }
- }
-
-@@ -196,10 +208,6 @@ static int xkb_constructor(Plugin * plugin, char ** fp)
- /* Initialize the XKB interface. */
- xkb_mechanism_constructor(xkb);
-
-- /* Initialize a channel to listen for XKB events. */
-- GIOChannel * channel = g_io_channel_unix_new(xkb_get_connection_number(xkb));
-- xkb->source_id = g_io_add_watch(channel, G_IO_IN | G_IO_PRI, (GIOFunc) xkb_gio_callback, (gpointer) xkb);
--
- /* Connect signals. */
- g_signal_connect(xkb->btn, "button-press-event", G_CALLBACK(xkb_button_press_event), xkb);
- g_signal_connect(xkb->btn, "scroll-event", G_CALLBACK(xkb_scroll_event), xkb);
-diff --git a/src/plugins/xkb/xkb.c b/src/plugins/xkb/xkb.c
-index 5bb0c39..898a931 100644
---- a/src/plugins/xkb/xkb.c
-+++ b/src/plugins/xkb/xkb.c
-@@ -1,18 +1,23 @@
--/*
--// ====================================================================
--// xfce4-xkb-plugin - XFCE4 Xkb Layout Indicator panel plugin
--// -------------------------------------------------------------------
--// Alexander Iliev <sasoiliev@mamul.org>
--// 20-Feb-04
--// -------------------------------------------------------------------
--// Parts of this code belong to Michael Glickman <wmalms@yahooo.com>
--// and his program wmxkb.
--// WARNING: DO NOT BOTHER Michael Glickman WITH QUESTIONS ABOUT THIS
--// PROGRAM!!! SEND INSTEAD EMAILS TO <sasoiliev@mamul.org>
--//====================================================================
--*/
--
--/* Modified by Hong Jen Yee (PCMan) <pcman.tw@gmail.com> on 2008-04-06 for lxpanel */
-+/**
-+ * Copyright (c) 2010 LxDE Developers, see the file AUTHORS for details.
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-+ */
-+
-+/* Originally derived from xfce4-xkb-plugin, Copyright 2004 Alexander Iliev,
-+ * which credits Michael Glickman. */
-
- #include "xkb.h"
-
-@@ -26,9 +31,13 @@
- #include <gdk-pixbuf/gdk-pixbuf.h>
- #include <glib.h>
-
-+/* The X Keyboard Extension: Library Specification
-+ * http://www.xfree86.org/current/XKBlib.pdf */
-+
- static void xkb_enter_locale_by_process(XkbPlugin * xkb);
- static void refresh_group_xkb(XkbPlugin * xkb);
--static int do_init_xkb(XkbPlugin * xkb);
-+static int initialize_keyboard_description(XkbPlugin * xkb);
-+static GdkFilterReturn xkb_event_filter(GdkXEvent * xevent, GdkEvent * event, XkbPlugin * xkb);
-
- /* Insert a process and its layout into the hash table. */
- static void xkb_enter_locale_by_process(XkbPlugin * xkb)
-@@ -56,60 +65,65 @@ int xkb_get_group_count(XkbPlugin * xkb)
- return xkb->group_count;
- }
-
-+/* Get the current group name. */
-+const char * xkb_get_current_group_name(XkbPlugin * xkb)
-+{
-+ return xkb->group_names[xkb->current_group_xkb_no];
-+}
-+
- /* Convert a group number to a symbol name. */
- const char * xkb_get_symbol_name_by_res_no(XkbPlugin * xkb, int n)
- {
- return xkb->symbol_names[n];
- }
-
--/* Get the current group name. */
--const char * xkb_get_current_group_name(XkbPlugin * xkb)
-+/* Get the current symbol name. */
-+const char * xkb_get_current_symbol_name(XkbPlugin * xkb)
- {
- return xkb_get_symbol_name_by_res_no(xkb, xkb->current_group_xkb_no);
- }
-
--/* Get the current group name converted to lowercase. */
--const char * xkb_get_current_group_name_lowercase(XkbPlugin * xkb)
-+/* Get the current symbol name converted to lowercase. */
-+const char * xkb_get_current_symbol_name_lowercase(XkbPlugin * xkb)
- {
-- const char * tmp = xkb_get_current_group_name(xkb);
-- return g_utf8_strdown(tmp, -1);
-+ const char * tmp = xkb_get_current_symbol_name(xkb);
-+ return ((tmp != NULL) ? g_utf8_strdown(tmp, -1) : NULL);
- }
-
- /* Refresh current group number from Xkb state. */
- static void refresh_group_xkb(XkbPlugin * xkb)
- {
- XkbStateRec xkb_state;
-- XkbGetState(xkb->dsp, xkb->device_id, &xkb_state);
-+ XkbGetState(GDK_DISPLAY(), XkbUseCoreKbd, &xkb_state);
- xkb->current_group_xkb_no = xkb_state.group;
- }
-
--/* Initialize the Xkb structures. */
--static int do_init_xkb(XkbPlugin * xkb)
-+/* Initialize the keyboard description initially or after a NewKeyboard event. */
-+static int initialize_keyboard_description(XkbPlugin * xkb)
- {
-- /* Create hash table. */
-- xkb->group_hash_table = g_hash_table_new(g_direct_hash, NULL);
--
-- /* Initialize the Xkb extension. */
-- int major, minor, opcode;
-- Bool status = XkbQueryExtension(xkb->dsp, &opcode,
-- &xkb->base_event_code, &xkb->base_error_code, &major, &minor);
--
-- /* Use the core keyboard. */
-- xkb->device_id = XkbUseCoreKbd;
-+ /* Free the strings. */
-+ int i;
-+ for (i = 0; i < XkbNumKbdGroups; i += 1)
-+ {
-+ g_free(xkb->group_names[i]);
-+ g_free(xkb->symbol_names[i]);
-+ xkb->group_names[i] = NULL;
-+ xkb->symbol_names[i] = NULL;
-+ }
-
- /* Allocate a keyboard description structure. */
-+ int status = False;
- XkbDescRec * kbd_desc_ptr = XkbAllocKeyboard();
- if (kbd_desc_ptr == NULL)
- {
- ERR("Failed to get keyboard description\n");
- goto HastaLaVista;
- }
-- kbd_desc_ptr->dpy = xkb->dsp;
-
- /* Fetch information into the keyboard description. */
-- XkbGetControls(xkb->dsp, XkbAllControlsMask, kbd_desc_ptr);
-- XkbGetNames(xkb->dsp, XkbSymbolsNameMask, kbd_desc_ptr);
-- XkbGetNames(xkb->dsp, XkbGroupNamesMask, kbd_desc_ptr);
-+ XkbGetControls(GDK_DISPLAY(), XkbAllControlsMask, kbd_desc_ptr);
-+ XkbGetNames(GDK_DISPLAY(), XkbSymbolsNameMask, kbd_desc_ptr);
-+ XkbGetNames(GDK_DISPLAY(), XkbGroupNamesMask, kbd_desc_ptr);
-
- if (kbd_desc_ptr->names == NULL)
- {
-@@ -137,12 +151,11 @@ static int do_init_xkb(XkbPlugin * xkb)
-
- /* Determine the group names. Trim off text beginning at a '('. */
- const Atom * tmp_group_source = kbd_desc_ptr->names->groups;
-- int i;
- for (i = 0; i < xkb->group_count; i++)
- {
- if (tmp_group_source[i] != None)
- {
-- char * ptr = XGetAtomName(xkb->dsp, tmp_group_source[i]);
-+ char * ptr = XGetAtomName(GDK_DISPLAY(), tmp_group_source[i]);
- xkb->group_names[i] = ptr;
- if ((ptr != NULL) && ((ptr = strchr(ptr, '('))) != NULL)
- *ptr = '\0';
-@@ -153,7 +166,7 @@ static int do_init_xkb(XkbPlugin * xkb)
- Atom sym_name_atom = kbd_desc_ptr->names->symbols;
- char * sym_name;
- if ((sym_name_atom == None)
-- || ((sym_name = XGetAtomName(xkb->dsp, sym_name_atom)) == NULL))
-+ || ((sym_name = XGetAtomName(GDK_DISPLAY(), sym_name_atom)) == NULL))
- goto HastaLaVista;
-
- /* Parse and store symbol names. */
-@@ -190,83 +203,106 @@ static int do_init_xkb(XkbPlugin * xkb)
- {
- xkb->group_count = 2;
- xkb->symbol_names[1] = xkb->symbol_names[0];
-- xkb->symbol_names[0] = strdup("us");
-- xkb->group_names[0] = strdup("US/ASCII");
-- xkb->group_names[1] = strdup("Japanese");
-+ xkb->symbol_names[0] = g_strdup("us");
-+ xkb->group_names[0] = g_strdup("US/ASCII");
-+ xkb->group_names[1] = g_strdup("Japanese");
- }
- else if (count < xkb->group_count)
- {
- /* Ensure that the names are fully initialized. */
- int j = count, k = xkb->group_count;
- while(--j >= 0) xkb->symbol_names[--k] = xkb->symbol_names[j];
-- while(--k >= 0) xkb->symbol_names[k] = strdup("en_US");
-+ while(--k >= 0) xkb->symbol_names[k] = g_strdup("en_US");
- }
-
-- /* Enxure that the names are fully initialized. */
-+ /* Ensure that the names are fully initialized. */
- for (i = 0; i < xkb->group_count; i++)
- {
- if (xkb->symbol_names[i] == NULL)
- {
- ERR("\nGroup Symbol %i is undefined, set to 'U/A' !\n", i+1);
-- xkb->symbol_names[i] = strdup("U/A");
-+ xkb->symbol_names[i] = g_strdup("U/A");
- }
- }
-
-+ /* Create or recreate hash table.
-+ * The layout that was associated to the windows may or may not be at the same group number,
-+ * and worse, may no longer exist, which there is no meaningful way to deal with. */
-+ if (xkb->group_hash_table != NULL)
-+ g_hash_table_destroy(xkb->group_hash_table);
-+ xkb->group_hash_table = g_hash_table_new(g_direct_hash, NULL);
-+
- status = True;
-
- HastaLaVista:
- if (kbd_desc_ptr != NULL)
- XkbFreeKeyboard(kbd_desc_ptr, 0, True);
-+
- return status;
- }
-
-+/* GDK event filter that receives events from all windows and the Xkb extension. */
-+static GdkFilterReturn xkb_event_filter(GdkXEvent * xevent, GdkEvent * event, XkbPlugin * xkb)
-+{
-+ XEvent * ev = (XEvent *) xevent;
-+
-+ if (ev->xany.type == xkb->base_event_code + XkbEventCode)
-+ {
-+ /* Xkb event. */
-+ XkbEvent * xkbev = (XkbEvent *) ev;
-+ if (xkbev->any.xkb_type == XkbNewKeyboardNotify)
-+ {
-+ initialize_keyboard_description(xkb);
-+ refresh_group_xkb(xkb);
-+ xkb_redraw(xkb);
-+ xkb_enter_locale_by_process(xkb);
-+ }
-+ else if (xkbev->any.xkb_type == XkbStateNotify)
-+ {
-+ if (xkbev->state.group != xkb->current_group_xkb_no)
-+ {
-+ /* Switch to the new group and redraw the display. */
-+ xkb->current_group_xkb_no = xkbev->state.group;
-+ refresh_group_xkb(xkb);
-+ xkb_redraw(xkb);
-+ xkb_enter_locale_by_process(xkb);
-+ }
-+ }
-+ }
-+ return GDK_FILTER_CONTINUE;
-+}
-+
- /* Initialize the Xkb interface. */
- void xkb_mechanism_constructor(XkbPlugin * xkb)
- {
-- /* Enable the Xkb extension on all clients. */
-- XkbIgnoreExtension(False);
--
-- /* Open the display. */
-- int major = XkbMajorVersion;
-- int minor = XkbMinorVersion;
-- char * display_name = "";
-- int event_code;
-- int error_rtrn;
-- int reason_rtrn;
-- xkb->dsp = XkbOpenDisplay(display_name, &event_code, &error_rtrn, &major, &minor, &reason_rtrn);
--
-- switch (reason_rtrn)
-+ /* Initialize Xkb extension. */
-+ int opcode;
-+ int maj = XkbMajorVersion;
-+ int min = XkbMinorVersion;
-+ if ((XkbLibraryVersion(&maj, &min))
-+ && (XkbQueryExtension(GDK_DISPLAY(), &opcode, &xkb->base_event_code, &xkb->base_error_code, &maj, &min)))
- {
-- case XkbOD_BadLibraryVersion:
-- ERR("Bad XKB library version.\n");
-- return;
-- case XkbOD_ConnectionRefused:
-- ERR("Connection to X server refused.\n");
-- return;
-- case XkbOD_BadServerVersion:
-- ERR("Bad X server version.\n");
-- return;
-- case XkbOD_NonXkbServer:
-- ERR("XKB not present.\n");
-- return;
-- case XkbOD_Success:
-- break;
-- }
-+ /* Read the keyboard description. */
-+ initialize_keyboard_description(xkb);
-
-- /* Initialize our mechanism. */
-- if (do_init_xkb(xkb) != True)
-- return;
-+ /* Establish GDK event filter. */
-+ gdk_window_add_filter(NULL, (GdkFilterFunc) xkb_event_filter, (gpointer) xkb);
-
-- /* Specify events we will receive. */
-- XkbSelectEventDetails(xkb->dsp, xkb->device_id, XkbStateNotify, XkbAllStateComponentsMask, XkbGroupStateMask);
-+ /* Specify events we will receive. */
-+ XkbSelectEvents(GDK_DISPLAY(), XkbUseCoreKbd, XkbNewKeyboardNotifyMask, XkbNewKeyboardNotifyMask);
-+ XkbSelectEventDetails(GDK_DISPLAY(), XkbUseCoreKbd, XkbStateNotify, XkbAllStateComponentsMask, XkbGroupStateMask);
-
-- /* Get current state. */
-- refresh_group_xkb(xkb);
-+ /* Get current state. */
-+ refresh_group_xkb(xkb);
-+ }
- }
-
- /* Deallocate resources associated with Xkb interface. */
- void xkb_mechanism_destructor(XkbPlugin * xkb)
- {
-+ /* Remove event filter. */
-+ gdk_window_remove_filter(NULL, (GdkFilterFunc) xkb_event_filter, xkb);
-+
- /* Free group and symbol name memory. */
- int i;
- for (i = 0; i < xkb->group_count; i++)
-@@ -283,21 +319,11 @@ void xkb_mechanism_destructor(XkbPlugin * xkb)
- }
- }
-
-- /* Close the display. */
-- XCloseDisplay(xkb->dsp);
-- xkb->dsp = NULL;
--
- /* Destroy the hash table. */
- g_hash_table_destroy(xkb->group_hash_table);
- xkb->group_hash_table = NULL;
- }
-
--/* Return the connection number for the display. */
--int xkb_get_connection_number(XkbPlugin * xkb)
--{
-- return ConnectionNumber(xkb->dsp);
--}
--
- /* Set the layout to the next layout. */
- int xkb_change_group(XkbPlugin * xkb, int increment)
- {
-@@ -307,33 +333,13 @@ int xkb_change_group(XkbPlugin * xkb, int increment)
- if (next_group >= xkb->group_count) next_group = 0;
-
- /* Execute the change. */
-- XkbLockGroup(xkb->dsp, xkb->device_id, next_group);
-+ XkbLockGroup(GDK_DISPLAY(), XkbUseCoreKbd, next_group);
- refresh_group_xkb(xkb);
- xkb_redraw(xkb);
- xkb_enter_locale_by_process(xkb);
- return 1;
- }
-
--/* Callback when activity detected on the Xkb channel. */
--gboolean xkb_gio_callback(GIOChannel * source, GIOCondition condition, gpointer data)
--{
-- XkbPlugin * xkb = (XkbPlugin *) data;
--
-- XkbEvent evnt;
-- XNextEvent(xkb->dsp, &evnt.core);
-- if ((evnt.type == xkb->base_event_code)
-- && (evnt.any.xkb_type == XkbStateNotify)
-- && (evnt.state.group != xkb->current_group_xkb_no))
-- {
-- /* Switch to the new group and redraw the display. */
-- xkb->current_group_xkb_no = evnt.state.group;
-- refresh_group_xkb(xkb);
-- xkb_redraw(xkb);
-- xkb_enter_locale_by_process(xkb);
-- }
-- return TRUE;
--}
--
- /* React to change of focus by switching to the application's layout or the default layout. */
- void xkb_active_window_changed(XkbPlugin * xkb, gint pid)
- {
-@@ -345,7 +351,7 @@ void xkb_active_window_changed(XkbPlugin * xkb, gint pid)
-
- if (new_group_xkb_no < xkb->group_count)
- {
-- XkbLockGroup(xkb->dsp, xkb->device_id, new_group_xkb_no);
-+ XkbLockGroup(GDK_DISPLAY(), XkbUseCoreKbd, new_group_xkb_no);
- refresh_group_xkb(xkb);
- }
- }
-diff --git a/src/plugins/xkb/xkb.h b/src/plugins/xkb/xkb.h
-index 9265198..20c7ed3 100644
---- a/src/plugins/xkb/xkb.h
-+++ b/src/plugins/xkb/xkb.h
-@@ -49,10 +49,8 @@ typedef struct {
- GtkWidget * per_app_default_layout_menu; /* Combo box of all available layouts */
-
- /* Mechanism. */
-- Display * dsp; /* Handle to X display */
- int base_event_code; /* Result of initializing Xkb extension */
- int base_error_code;
-- int device_id; /* Keyboard device ID (always "core keyboard") */
- int current_group_xkb_no; /* Current layout */
- int group_count; /* Count of groups as returned by Xkb */
- char * group_names[XkbNumKbdGroups]; /* Group names as returned by Xkb */
-@@ -67,12 +65,11 @@ extern int xkb_get_current_group_xkb_no(XkbPlugin * xkb);
- extern int xkb_get_group_count(XkbPlugin * xkb);
- extern const char * xkb_get_symbol_name_by_res_no(XkbPlugin * xkb, int group_res_no);
- extern const char * xkb_get_current_group_name(XkbPlugin * xkb);
--extern const char * xkb_get_current_group_name_lowercase(XkbPlugin * xkb);
-+extern const char * xkb_get_current_symbol_name(XkbPlugin * xkb);
-+extern const char * xkb_get_current_symbol_name_lowercase(XkbPlugin * xkb);
- extern void xkb_mechanism_constructor(XkbPlugin * xkb);
- extern void xkb_mechanism_destructor(XkbPlugin * xkb);
--extern int xkb_get_connection_number(XkbPlugin * xkb);
- extern int xkb_change_group(XkbPlugin * xkb, int increment);
--extern gboolean xkb_gio_callback(GIOChannel * source, GIOCondition condition, gpointer data);
- extern void xkb_active_window_changed(XkbPlugin * xkb, GPid pid);
-
- #endif
---
-1.7.0
-
diff --git a/extra/lxpanel/PKGBUILD b/extra/lxpanel/PKGBUILD
deleted file mode 100644
index 9ad1d1774..000000000
--- a/extra/lxpanel/PKGBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-$Id: PKGBUILD 94639 2010-10-08 22:08:39Z angvp $
-# Maintainer: Angel Velasquez <angvp@archlinux.org>
-# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
-pkgname=lxpanel
-pkgver=0.5.6
-pkgrel=1
-pkgdesc="Panel of the LXDE Desktop"
-arch=('i686' 'x86_64')
-license=('GPL2')
-url="http://lxde.org/"
-groups=('lxde')
-depends=('gtk2' 'alsa-lib' 'menu-cache' 'lxmenu-data')
-source=(http://downloads.sourceforge.net/sourceforge/lxde/${pkgname}-${pkgver}.tar.gz
- Fix-build-issue-with-symbol-alarm-showing-up-on-F14-.patch)
-optdepends=(pcmanfm)
-md5sums=('3c6b5498b5f4109c3913b10a66809fe6'
- 'afe03191cbeccfc702f9a04bffd62dbf')
-
-build() {
- cd "$srcdir/$pkgname-$pkgver"
- patch -p1 -i $srcdir/Fix-build-issue-with-symbol-alarm-showing-up-on-F14-.patch
- ./configure --sysconfdir=/etc --prefix=/usr
- make
- make DESTDIR="$pkgdir" install
-}
diff --git a/extra/lxsession-lite/PKGBUILD b/extra/lxsession-lite/PKGBUILD
deleted file mode 100644
index cc60a844b..000000000
--- a/extra/lxsession-lite/PKGBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
-pkgname=lxsession-lite
-pkgver=0.4.5
-pkgrel=1
-pkgdesc="Session manager of the LXDE Desktop (light version)"
-arch=('i686' 'x86_64')
-license=('GPL2')
-url="http://lxde.org/"
-groups=('lxde')
-depends=('gtk2' 'dbus')
-makedepends=('pkgconfig' 'intltool')
-replaces=("lxde-settings-daemon")
-conflicts=('lxsession' 'lxde-settings-daemon')
-source=(http://downloads.sourceforge.net/sourceforge/lxde/lxsession-${pkgver}.tar.gz)
-md5sums=('d5cd0cb733748191b2c7371c9efda155')
-
-build() {
- cd "$srcdir/lxsession-$pkgver"
- ./configure --sysconfdir=/etc --prefix=/usr
- make
- make DESTDIR="$pkgdir" install
-}
diff --git a/extra/menu-cache/PKGBUILD b/extra/menu-cache/PKGBUILD
deleted file mode 100644
index 29e0a408d..000000000
--- a/extra/menu-cache/PKGBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
-
-pkgname=menu-cache
-pkgver=0.3.2
-pkgrel=1
-pkgdesc="Caches to speed up freedesktop.org's application menus use."
-arch=('i686' 'x86_64')
-license=('GPL2')
-url="http://lxde.org/"
-groups=('lxde')
-depends=('intltool' 'glib2')
-options=('!libtool')
-makedepends=('pkgconfig')
-source=(http://downloads.sourceforge.net/sourceforge/lxde/${pkgname}-${pkgver}.tar.gz)
-md5sums=('ac4a9ea77db68d3db3f9f53cc75af66a')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr --sysconfdir=/etc \
- --libexecdir=/usr/lib/menu-cache --disable-static || return 1
- make || return 1
-}
-
-package() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make DESTDIR="${pkgdir}" install || return 1
-}
diff --git a/extra/nx-common/nx-gcc44.patch b/extra/nx-common/nx-gcc44.patch
deleted file mode 100644
index 5b7b7e1f6..000000000
--- a/extra/nx-common/nx-gcc44.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- nx-3.3.0/nxcomp/Loop.cpp.orig 2009-05-17 12:22:19.000000000 +0200
-+++ nx-3.3.0/nxcomp/Loop.cpp 2009-05-17 12:22:43.000000000 +0200
-@@ -10979,7 +10979,7 @@
- packMethod == PACK_LOSSLESS ||
- packMethod == PACK_ADAPTIVE)
- {
-- char *dash = rindex(opt, '-');
-+ const char *dash = rindex(opt, '-');
-
- if (dash != NULL && strlen(dash) == 2 &&
- *(dash + 1) >= '0' && *(dash + 1) <= '9')
-
diff --git a/extra/nxserver/nx-gcc44.patch b/extra/nxserver/nx-gcc44.patch
deleted file mode 100644
index 5b7b7e1f6..000000000
--- a/extra/nxserver/nx-gcc44.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- nx-3.3.0/nxcomp/Loop.cpp.orig 2009-05-17 12:22:19.000000000 +0200
-+++ nx-3.3.0/nxcomp/Loop.cpp 2009-05-17 12:22:43.000000000 +0200
-@@ -10979,7 +10979,7 @@
- packMethod == PACK_LOSSLESS ||
- packMethod == PACK_ADAPTIVE)
- {
-- char *dash = rindex(opt, '-');
-+ const char *dash = rindex(opt, '-');
-
- if (dash != NULL && strlen(dash) == 2 &&
- *(dash + 1) >= '0' && *(dash + 1) <= '9')
-
diff --git a/extra/nxserver/nxcompshad-gcc43.patch b/extra/nxserver/nxcompshad-gcc43.patch
deleted file mode 100644
index 274c36635..000000000
--- a/extra/nxserver/nxcompshad-gcc43.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- nxcompshad/Misc.h~ 2007-06-04 13:39:49.000000000 +0200
-+++ nxcompshad/Misc.h 2008-04-12 12:46:24.000000000 +0200
-@@ -18,10 +18,12 @@
- #ifndef Misc_H
- #define Misc_H
-
--#include <iostream>
-+#include <iostream>
-
--#include <errno.h>
--#include <string.h>
-+#include <cerrno>
-+#include <cstring>
-+
-+using namespace std;
-
- //
- // Error handling macros.
-
diff --git a/extra/obconf/PKGBUILD b/extra/obconf/PKGBUILD
deleted file mode 100644
index 0fa8c420e..000000000
--- a/extra/obconf/PKGBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# $Id: PKGBUILD 123764 2011-05-12 21:09:06Z andrea $
-# Maintainer:
-# Contributor: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Tobias Kieslich <tobias@archlinux.org>
-# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
-
-pkgname=obconf
-pkgver=2.0.3
-pkgrel=4
-pkgdesc="A GTK2 based configuration tool for the Openbox windowmanager"
-arch=('i686' 'x86_64')
-url="http://icculus.org/openbox/index.php/ObConf:About"
-license=('GPL')
-depends=('openbox' 'gtk2' 'libglade' 'desktop-file-utils' 'libsm')
-install=${pkgname}.install
-source=("http://icculus.org/openbox/${pkgname}/${pkgname}-${pkgver}.tar.gz"
- 'http://icculus.org/openbox/mw/images/8/80/Obconf-72.png')
-md5sums=('b22e273721851dedad72acbc77eefb68'
- '340ae4732e76731d2838473541eb8d4e')
-
-build() {
- cd "${srcdir}"/${pkgname}-${pkgver}
-
- ./configure --prefix=/usr
- make
- sed -i 's/=openbox/=obconf/' obconf.desktop
-}
-
-package() {
- cd "${srcdir}"/${pkgname}-${pkgver}
-
- make DESTDIR="${pkgdir}" install
- install -Dm644 ../Obconf-72.png \
- "${pkgdir}"/usr/share/pixmaps/obconf.png
-}
diff --git a/extra/obconf/obconf.install b/extra/obconf/obconf.install
deleted file mode 100644
index 5264d8979..000000000
--- a/extra/obconf/obconf.install
+++ /dev/null
@@ -1,15 +0,0 @@
-# arg 1: the new package version
-post_install() {
- update-desktop-database -q /usr/share/applications
- update-mime-database /usr/share/mime 1> /dev/null
-}
-
-post_upgrade() {
- post_install $1
-}
-
-# arg 1: the old package version
-post_remove() {
- update-desktop-database -q
- update-mime-database /usr/share/mime 1> /dev/null
-}
diff --git a/extra/openbox/PKGBUILD b/extra/openbox/PKGBUILD
deleted file mode 100644
index a71e0b16a..000000000
--- a/extra/openbox/PKGBUILD
+++ /dev/null
@@ -1,47 +0,0 @@
-# $Id: PKGBUILD 89725 2010-09-03 12:51:52Z remy $
-# Contributor: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: tobias <tobias@archlinux.org>
-# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
-
-pkgname=openbox
-pkgver=3.4.11.2
-pkgrel=2
-pkgdesc="A window manager for the X11 windowing system"
-arch=('i686' 'x86_64')
-url="http://openbox.org"
-license=('GPL')
-depends=('startup-notification' 'libxml2' 'libxinerama' 'libxrandr'
- 'libxcursor' 'pango')
-optdepends=('pyxdg: for the xdg-autostart script')
-groups=('lxde')
-install=${pkgname}.install
-options=('!libtool' 'force')
-backup=('etc/xdg/openbox/menu.xml' 'etc/xdg/openbox/rc.xml')
-source=(http://www.icculus.org/openbox/releases/${pkgname}-${pkgver}.tar.gz
- 'which-2.20.patch')
-md5sums=('30e669134fa81df810fe7d1dc59cd931'
- 'ec5e3d4d74779b0ca576a053ae54124d')
-
-build() {
- cd ${srcdir}/${pkgname}-${pkgver}
-
- # FS#11455
- patch -Np1 -i ${srcdir}/which-2.20.patch || return 1
- sed -i 's#python#python2#' tools/xdg-autostart/xdg-autostart
- ./configure --prefix=/usr \
- --with-x \
- --enable-startup-notification \
- --sysconfdir=/etc
- make || return 1
-}
-
-package() {
- cd ${srcdir}/${pkgname}-${pkgver}
-
- make DESTDIR=${pkgdir} install
-
- sed -i "s:startkde:/usr/bin/\0:" \
- ${pkgdir}/usr/share/xsessions/openbox-kde.desktop
- sed -i "s:=gnome-session:=/usr/bin/gnome-session:" \
- ${pkgdir}/usr/share/xsessions/openbox-gnome.desktop
-}
diff --git a/extra/openbox/openbox.install b/extra/openbox/openbox.install
deleted file mode 100644
index 301c22127..000000000
--- a/extra/openbox/openbox.install
+++ /dev/null
@@ -1,9 +0,0 @@
-post_install() {
- echo "Place menu.xml, rc.xml and autostart.sh in ~/.config/openbox"
- echo "They can be found in /etc/xdg/openbox"
-}
-
-post_upgrade() {
- post_install
-}
-
diff --git a/extra/openbox/which-2.20.patch b/extra/openbox/which-2.20.patch
deleted file mode 100644
index 7f663ae49..000000000
--- a/extra/openbox/which-2.20.patch
+++ /dev/null
@@ -1,53 +0,0 @@
---- openbox-3.4.11.1/data/autostart.sh.in 2010-03-14 09:40:37.000000000 -0500
-+++ openbox-3.4.11.1/data/autostart.sh.in 2010-03-26 14:44:36.000000000 -0500
-@@ -3,13 +3,13 @@
-
- # Set a background color
- BG=""
--if which hsetroot >/dev/null; then
-+if which hsetroot >/dev/null 2>&1; then
- BG=hsetroot
- else
-- if which esetroot >/dev/null; then
-+ if which esetroot >/dev/null 2>&1; then
- BG=esetroot
- else
-- if which xsetroot >/dev/null; then
-+ if which xsetroot >/dev/null 2>&1; then
- BG=xsetroot
- fi
- fi
-@@ -17,28 +17,28 @@
- test -z $BG || $BG -solid "#303030"
-
- # D-bus
--if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
-+if which dbus-launch >/dev/null 2>&1 && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
- eval `dbus-launch --sh-syntax --exit-with-session`
- fi
-
- # Make GTK apps look and behave how they were set up in the gnome config tools
- if test -x @libexecdir@/gnome-settings-daemon >/dev/null; then
- @libexecdir@/gnome-settings-daemon &
--elif which gnome-settings-daemon >/dev/null; then
-+elif which gnome-settings-daemon >/dev/null 2>&1; then
- gnome-settings-daemon &
- # Make GTK apps look and behave how they were set up in the XFCE config tools
--elif which xfce-mcs-manager >/dev/null; then
-+elif which xfce-mcs-manager >/dev/null 2>&1; then
- xfce-mcs-manager n &
- fi
-
- # Preload stuff for KDE apps
--if which start_kdeinit >/dev/null; then
-+if which start_kdeinit >/dev/null 2>&1; then
- LD_BIND_NOW=true start_kdeinit --new-startup +kcminit_startup &
- fi
-
- # Run XDG autostart things. By default don't run anything desktop-specific
- # See xdg-autostart --help more info
- DESKTOP_ENV="OPENBOX"
--if which @secretbindir@/xdg-autostart >/dev/null; then
-+if which @secretbindir@/xdg-autostart >/dev/null 2>&1; then
- @secretbindir@/xdg-autostart $DESKTOP_ENV
- fi
diff --git a/extra/pcmanfm/PKGBUILD b/extra/pcmanfm/PKGBUILD
deleted file mode 100644
index f08c841c7..000000000
--- a/extra/pcmanfm/PKGBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# $Id: PKGBUILD 110558 2011-02-19 22:38:04Z angvp $
-# Maintainer: Angel Velasquez <angvp@archlinux.org>
-# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
-pkgname=pcmanfm
-pkgver=0.9.8
-pkgrel=5
-pkgdesc="File manager of the LXDE Desktop"
-arch=('i686' 'x86_64')
-url="http://pcmanfm.sourceforge.net/"
-license=('GPL')
-groups=('lxde')
-depends=('gtk2' 'desktop-file-utils' 'libfm')
-makedepends=('intltool' 'pkgconfig')
-source=(http://downloads.sourceforge.net/pcmanfm/pcmanfm-$pkgver.tar.gz
- revert-new-IPC.patch)
-md5sums=('4a7fdc0526ed14e3293d784c0ce27dea' '4bedb071a83ba5a7af1aa43b71a262a9')
-
-build() {
- cd "$srcdir/$pkgname-$pkgver"
- patch -Np1 -i $srcdir/revert-new-IPC.patch
- ./configure --sysconfdir=/etc --prefix=/usr
- make
-}
-
-package() {
- cd "$srcdir/$pkgname-$pkgver"
- make DESTDIR="$pkgdir" install
-}
diff --git a/extra/pcmanfm/pcmanfm.install b/extra/pcmanfm/pcmanfm.install
deleted file mode 100644
index 98965c989..000000000
--- a/extra/pcmanfm/pcmanfm.install
+++ /dev/null
@@ -1,14 +0,0 @@
-post_install() {
- update-mime-database usr/share/mime > /dev/null
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
-
-
diff --git a/extra/pcmanfm/revert-new-IPC.patch b/extra/pcmanfm/revert-new-IPC.patch
deleted file mode 100644
index fa64fde42..000000000
--- a/extra/pcmanfm/revert-new-IPC.patch
+++ /dev/null
@@ -1,432 +0,0 @@
-diff -Naur pcmanfm-20101030_10ae31a.orig/src/Makefile.am pcmanfm-20101030_10ae31a/src/Makefile.am
---- pcmanfm-20101030_10ae31a.orig/src/Makefile.am 2010-10-30 20:36:02.000000000 +0200
-+++ pcmanfm-20101030_10ae31a/src/Makefile.am 2010-10-31 09:13:48.000000000 +0100
-@@ -16,7 +16,6 @@
- pref.c pref.h \
- utils.c utils.h \
- gseal-gtk-compat.h \
-- single-inst.c single-inst.h \
- $(NULL)
-
- EXTRA_DIST= \
-diff -Naur pcmanfm-20101030_10ae31a.orig/src/pcmanfm.c pcmanfm-20101030_10ae31a/src/pcmanfm.c
---- pcmanfm-20101030_10ae31a.orig/src/pcmanfm.c 2010-10-30 20:36:02.000000000 +0200
-+++ pcmanfm-20101030_10ae31a/src/pcmanfm.c 2010-10-31 09:25:45.000000000 +0100
-@@ -31,6 +31,8 @@
- #include <string.h>
- /* socket is used to keep single instance */
- #include <sys/types.h>
-+#include <sys/socket.h>
-+#include <sys/un.h>
- #include <signal.h>
- #include <unistd.h> /* for getcwd */
-
-@@ -41,13 +43,14 @@
- #include "volume-manager.h"
- #include "pref.h"
- #include "pcmanfm.h"
--#include "single-inst.h"
-+
-+static int sock;
-+GIOChannel* io_channel = NULL;
-
- static int signal_pipe[2] = {-1, -1};
- gboolean daemon_mode = FALSE;
-
- static char** files_to_open = NULL;
--static int n_files_to_open = 0;
- static char* profile = NULL;
- static gboolean no_desktop = FALSE;
- static gboolean show_desktop = FALSE;
-@@ -80,25 +83,13 @@
- { NULL }
- };
-
--/* single instance command id */
--enum {
-- CMD_INVALID,
-- CMD_CWD,
-- CMD_PROFILE,
-- CMD_DESKTOP,
-- CMD_DESKTOP_OFF,
-- CMD_DAEMON_MODE,
-- CMD_DESKTOP_PREF,
-- CMD_SET_WALLPAPER,
-- CMD_WALLPAPER_MODE,
-- CMD_SHOW_PREF,
-- CMD_FILES_TO_OPEN,
-- CMD_EOF
--};
--
- static const char* valid_wallpaper_modes[] = {"color", "stretch", "fit", "center", "tile"};
-
-+static gboolean single_instance_check();
-+static void single_instance_finalize();
-+static void get_socket_name(char* buf, int len);
- static gboolean pcmanfm_run();
-+static gboolean on_socket_event(GIOChannel* ioc, GIOCondition cond, gpointer data);
-
- /* it's not safe to call gtk+ functions in unix signal handler
- * since the process is interrupted here and the state of gtk+ is unpredictable. */
-@@ -121,97 +112,6 @@
- return TRUE;
- }
-
--static gboolean on_single_inst_command(int cmd, SingleInstCmdData* data)
--{
-- switch(cmd)
-- {
-- case CMD_CWD:
-- g_free(ipc_cwd);
-- ipc_cwd = single_inst_get_str(data, NULL);
-- break;
-- case CMD_PROFILE:
-- /* Not supported */
-- break;
-- case CMD_DESKTOP:
-- single_inst_get_bool(data, &show_desktop);
-- break;
-- case CMD_DESKTOP_OFF:
-- single_inst_get_bool(data, &desktop_off);
-- break;
-- case CMD_DAEMON_MODE:
-- /* Not supported */
-- break;
-- case CMD_DESKTOP_PREF:
-- single_inst_get_bool(data, &desktop_pref);
-- break;
-- case CMD_SET_WALLPAPER:
-- g_free(set_wallpaper);
-- set_wallpaper = single_inst_get_str(data, NULL);
-- break;
-- case CMD_WALLPAPER_MODE:
-- g_free(wallpaper_mode);
-- wallpaper_mode = single_inst_get_str(data, NULL);
-- break;
-- case CMD_SHOW_PREF:
-- single_inst_get_int(data, &show_pref);
-- break;
-- case CMD_FILES_TO_OPEN:
-- {
-- g_strfreev(files_to_open);
-- n_files_to_open = 0;
-- files_to_open = single_inst_get_strv(data, &n_files_to_open);
-- }
-- break;
-- case CMD_EOF:
-- {
-- int i;
-- /* canonicalize filename if needed. */
-- for(i = 0; i < n_files_to_open; ++i)
-- {
-- char* file = files_to_open[i];
-- char* scheme = g_uri_parse_scheme(file);
-- if(scheme) /* a valid URI */
-- {
-- /* FIXME: should we canonicalize URIs? and how about file:///? */
-- g_free(scheme);
-- }
-- else /* a file path */
-- {
-- files_to_open[i] = fm_canonicalize_filename(file, ipc_cwd);
-- g_free(file);
-- }
-- }
--
-- /* handle the parsed result and run the main program */
-- pcmanfm_run();
-- }
-- break;
-- }
-- return TRUE;
--}
--
--/* we're not the first instance. pass the argv to the existing one. */
--static void pass_args_to_existing_instance()
--{
-- /* send our current working dir to existing instance via IPC. */
-- ipc_cwd = g_get_current_dir();
-- single_inst_send_str(CMD_CWD, ipc_cwd);
-- g_free(ipc_cwd);
--
-- single_inst_send_bool(CMD_DESKTOP, show_desktop);
-- single_inst_send_bool(CMD_DESKTOP_OFF, desktop_off);
-- single_inst_send_bool(CMD_DESKTOP_PREF, desktop_pref);
-- single_inst_send_str(CMD_SET_WALLPAPER, set_wallpaper);
-- single_inst_send_str(CMD_WALLPAPER_MODE, wallpaper_mode);
-- single_inst_send_int(CMD_SHOW_PREF, show_pref);
-- /* single_inst_send_bool(CMD_FIND_FILES, find_files); */
--
-- single_inst_send_strv(CMD_FILES_TO_OPEN, files_to_open);
-- single_inst_send_bool(CMD_EOF, TRUE); /* all args have been sent. */
--
-- single_inst_finalize();
--}
--
- int main(int argc, char** argv)
- {
- FmConfig* config;
-@@ -230,17 +130,10 @@
- return 1;
- }
-
-- /* ensure that there is only one instance of pcmanfm. */
-- switch(single_inst_init("pcmanfm", on_single_inst_command))
-- {
-- case SINGLE_INST_CLIENT: /* we're not the first instance. */
-- pass_args_to_existing_instance();
-- gdk_notify_startup_complete();
-- return 0;
-- case SINGLE_INST_ERROR: /* error happened. */
-- single_inst_finalize();
-- return 1;
-- }
-+ /* ensure that there is only one instance of pcmanfm.
-+ if there is an existing instance, command line arguments
-+ will be passed to the existing instance, and exit() will be called here. */
-+ single_instance_check();
-
- if(pipe(signal_pipe) == 0)
- {
-@@ -274,13 +167,240 @@
- fm_volume_manager_finalize();
- }
-
-- single_inst_finalize();
-+ single_instance_finalize();
-+
- fm_gtk_finalize();
-
- g_object_unref(config);
- return 0;
- }
-
-+inline static void buf_append_str(GByteArray* buf, const char* str)
-+{
-+ int len;
-+ if(G_LIKELY(str))
-+ {
-+ len = strlen(str) + 1;
-+ g_byte_array_append(buf, (guint8*)&len, sizeof(len));
-+ g_byte_array_append(buf, (guint8*)str, len);
-+ }
-+ else
-+ {
-+ len = 0;
-+ g_byte_array_append(buf, (guint8*)&len, sizeof(len));
-+ }
-+}
-+
-+inline static GByteArray* args_to_ipc_buf()
-+{
-+ int i, len;
-+ GByteArray* buf = g_byte_array_sized_new(4096);
-+ /* send our current working dir to existing instance via IPC. */
-+ ipc_cwd = g_get_current_dir();
-+ buf_append_str(buf, ipc_cwd);
-+ g_free(ipc_cwd);
-+
-+ /* g_byte_array_append(buf, (guint8*)&new_tab, sizeof(new_tab)); */
-+ g_byte_array_append(buf, (guint8*)&show_desktop, sizeof(show_desktop));
-+ g_byte_array_append(buf, (guint8*)&desktop_off, sizeof(desktop_off));
-+ g_byte_array_append(buf, (guint8*)&desktop_pref, sizeof(desktop_pref));
-+ buf_append_str(buf, set_wallpaper);
-+ buf_append_str(buf, wallpaper_mode);
-+ g_byte_array_append(buf, (guint8*)&show_pref, sizeof(show_pref));
-+ g_byte_array_append(buf, (guint8*)&find_files, sizeof(find_files));
-+ g_byte_array_append(buf, (guint8*)&no_desktop, sizeof(no_desktop));
-+
-+ len = files_to_open ? g_strv_length(files_to_open) : 0;
-+ g_byte_array_append(buf, (guint8*)&len, sizeof(len));
-+ for(i = 0; i < len; ++i)
-+ buf_append_str(buf, files_to_open[i]);
-+
-+ return buf;
-+}
-+
-+inline static gboolean buf_read_bool(const char**p)
-+{
-+ gboolean ret;
-+ memcpy(&ret, *p, sizeof(ret));
-+ *p += sizeof(ret);
-+ return ret;
-+}
-+
-+inline static int buf_read_int(const char**p)
-+{
-+ int ret;
-+ memcpy(&ret, *p, sizeof(ret));
-+ *p += sizeof(ret);
-+ return ret;
-+}
-+
-+inline static char* buf_read_str(const char**p)
-+{
-+ char* ret;
-+ int len = buf_read_int(p);
-+ if(len > 0)
-+ {
-+ ret = g_malloc(len);
-+ memcpy(ret, *p, len);
-+ *p += len;
-+ }
-+ else
-+ ret = NULL;
-+ return ret;
-+}
-+
-+inline static void ipc_buf_to_args(GByteArray* buf)
-+{
-+ int i, len;
-+ char* p = buf->data;
-+ char* cwd = buf_read_str(&p);
-+ /* new_tab = buf_read_bool(&p); */
-+ show_desktop = buf_read_bool(&p);
-+ desktop_off = buf_read_bool(&p);
-+ desktop_pref = buf_read_bool(&p);
-+ g_free(set_wallpaper);
-+ set_wallpaper = buf_read_str(&p);
-+ g_free(wallpaper_mode);
-+ wallpaper_mode = buf_read_str(&p);
-+ show_pref = buf_read_int(&p);
-+ find_files = buf_read_bool(&p);
-+ no_desktop = buf_read_bool(&p);
-+
-+ len = buf_read_int(&p);
-+ /* g_debug("len = %d", len); */
-+ if(len > 0)
-+ {
-+ files_to_open = g_new(char*, len + 1);
-+ for(i = 0; i < len; ++i)
-+ {
-+ char* file = buf_read_str(&p);
-+ char* scheme = g_uri_parse_scheme(file);
-+ if(scheme) /* a valid URI */
-+ {
-+ /* FIXME: should we canonicalize URIs? and how about file:///? */
-+ files_to_open[i] = file;
-+ g_free(scheme);
-+ }
-+ else /* a file path */
-+ {
-+ files_to_open[i] = fm_canonicalize_filename(file, cwd);
-+ g_free(file);
-+ }
-+ }
-+ files_to_open[i] = NULL;
-+ }
-+ else
-+ files_to_open = NULL;
-+ g_free(cwd);
-+}
-+
-+gboolean on_socket_event( GIOChannel* ioc, GIOCondition cond, gpointer data )
-+{
-+ int client, r;
-+ socklen_t addr_len = 0;
-+ struct sockaddr_un client_addr ={ 0 };
-+ static char buf[ 1024 ];
-+ GByteArray* args;
-+
-+ if ( cond & G_IO_IN )
-+ {
-+ client = accept( g_io_channel_unix_get_fd( ioc ), (struct sockaddr *)&client_addr, &addr_len );
-+ if ( client != -1 )
-+ {
-+ args = g_byte_array_sized_new(4096);
-+ while( (r = read( client, buf, sizeof(buf) )) > 0 )
-+ g_byte_array_append( args, (guint8*)buf, r);
-+ shutdown( client, 2 );
-+ close( client );
-+ ipc_buf_to_args(args);
-+ g_byte_array_free( args, TRUE );
-+ pcmanfm_run();
-+ }
-+ }
-+ return TRUE;
-+}
-+
-+void get_socket_name( char* buf, int len )
-+{
-+ char* dpy = gdk_get_display();
-+ g_snprintf( buf, len, "/tmp/.pcmanfm-socket%s-%s", dpy, g_get_user_name() );
-+ g_free( dpy );
-+}
-+
-+gboolean single_instance_check()
-+{
-+ struct sockaddr_un addr;
-+ int addr_len;
-+ int ret;
-+ int reuse;
-+
-+ if((sock = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
-+ {
-+ ret = 1;
-+ goto _exit;
-+ }
-+
-+ /* FIXME: use abstract socket */
-+ addr.sun_family = AF_UNIX;
-+ get_socket_name(addr.sun_path, sizeof( addr.sun_path ));
-+#ifdef SUN_LEN
-+ addr_len = SUN_LEN(&addr);
-+#else
-+ addr_len = strlen( addr.sun_path ) + sizeof( addr.sun_family );
-+#endif
-+
-+ /* try to connect to existing instance */
-+ if(connect(sock, (struct sockaddr*)&addr, addr_len) == 0)
-+ {
-+ /* connected successfully */
-+ GByteArray* buf = args_to_ipc_buf();
-+ write(sock, buf->data, buf->len);
-+ g_byte_array_free(buf, TRUE);
-+
-+ shutdown( sock, 2 );
-+ close( sock );
-+ ret = 0;
-+ goto _exit;
-+ }
-+
-+ /* There is no existing server, and we are in the first instance. */
-+ unlink( addr.sun_path ); /* delete old socket file if it exists. */
-+ reuse = 1;
-+ ret = setsockopt( sock, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse) );
-+ if(bind(sock, (struct sockaddr*)&addr, addr_len) == -1)
-+ {
-+ ret = 1;
-+ goto _exit;
-+ }
-+
-+ io_channel = g_io_channel_unix_new(sock);
-+ g_io_channel_set_encoding(io_channel, NULL, NULL);
-+ g_io_channel_set_buffered(io_channel, FALSE);
-+ g_io_add_watch(io_channel, G_IO_IN,
-+ (GIOFunc)on_socket_event, NULL);
-+ if(listen(sock, 5) == -1)
-+ {
-+ ret = 1;
-+ goto _exit;
-+ }
-+ return TRUE;
-+
-+_exit:
-+
-+ gdk_notify_startup_complete();
-+ exit( ret );
-+}
-+
-+void single_instance_finalize()
-+{
-+ char lock_file[256];
-+ shutdown(sock, 2);
-+ g_io_channel_unref(io_channel);
-+ close(sock);
-+ get_socket_name(lock_file, sizeof( lock_file ));
-+ unlink(lock_file);
-+}
-+
- static FmJobErrorAction on_file_info_job_error(FmFileInfoJob* job, GError* err, FmJobErrorSeverity severity, gpointer user_data)
- {
- if(err->domain == G_IO_ERROR)
diff --git a/extra/phonon-xine/PKGBUILD b/extra/phonon-xine/PKGBUILD
deleted file mode 100644
index 2d4dccfb1..000000000
--- a/extra/phonon-xine/PKGBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# $Id$
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-
-pkgname=phonon-xine
-pkgver=4.4.4
-pkgrel=1
-arch=('i686' 'x86_64')
-url="http://phonon.kde.org"
-pkgdesc="Phonon Xine backend"
-license=('LGPL')
-depends=('xine-lib')
-makedepends=('cmake' 'automoc4' 'phonon')
-provides=('phonon-backend')
-source=("http://download.kde.org/stable/phonon/phonon-backend-xine/${pkgver}/src/phonon-backend-xine-${pkgver}.tar.bz2")
-md5sums=('b127104e67538e573adeed3b2fb3bf55')
-
-build() {
- cd ${srcdir}
- mkdir build
- cd build
- cmake ../phonon-backend-xine-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr
- make
-}
-
-package() {
- cd ${srcdir}/build
- make DESTDIR=${pkgdir} install
-}
diff --git a/extra/pidgin/nm09-pidgin.patch b/extra/pidgin/nm09-pidgin.patch
deleted file mode 100644
index 1c2471d1f..000000000
--- a/extra/pidgin/nm09-pidgin.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff -up pidgin-2.7.10/libpurple/network.c.foo pidgin-2.7.10/libpurple/network.c
---- pidgin-2.7.10/libpurple/network.c.foo 2011-03-10 02:21:43.920933267 -0600
-+++ pidgin-2.7.10/libpurple/network.c 2011-03-10 02:23:11.466838793 -0600
-@@ -71,6 +71,10 @@
- #include <dbus/dbus-glib.h>
- #include <NetworkManager.h>
-
-+#if !defined(NM_CHECK_VERSION)
-+#define NM_CHECK_VERSION(x,y,z) 0
-+#endif
-+
- static DBusGConnection *nm_conn = NULL;
- static DBusGProxy *nm_proxy = NULL;
- static DBusGProxy *dbus_proxy = NULL;
-@@ -863,7 +867,13 @@ nm_update_state(NMState state)
-
- switch(state)
- {
-+#if NM_CHECK_VERSION(0,8,992)
-+ case NM_STATE_CONNECTED_LOCAL:
-+ case NM_STATE_CONNECTED_SITE:
-+ case NM_STATE_CONNECTED_GLOBAL:
-+#else
- case NM_STATE_CONNECTED:
-+#endif
- /* Call res_init in case DNS servers have changed */
- res_init();
- /* update STUN IP in case we it changed (theoretically we could
-@@ -880,6 +890,9 @@ nm_update_state(NMState state)
- case NM_STATE_ASLEEP:
- case NM_STATE_CONNECTING:
- case NM_STATE_DISCONNECTED:
-+#if NM_CHECK_VERSION(0,8,992)
-+ case NM_STATE_DISCONNECTING:
-+#endif
- if (prev != NM_STATE_CONNECTED && prev != NM_STATE_UNKNOWN)
- break;
- if (ui_ops != NULL && ui_ops->network_disconnected != NULL)
diff --git a/extra/wvdial/PKGBUILD b/extra/wvdial/PKGBUILD
deleted file mode 100644
index 916a2c514..000000000
--- a/extra/wvdial/PKGBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# $Id: PKGBUILD 123798 2011-05-13 06:53:04Z andrea $
-# Maintainer:
-# Contributor: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: dorphell <dorphell@archlinux.org>
-# Contributor: Judd Vinet <jvinet@zeroflux.org>
-
-pkgname=wvdial
-pkgver=1.61
-pkgrel=3
-pkgdesc="A dialer program to connect to the Internet"
-url="http://alumnit.ca/wiki/index.php?page=WvDial"
-arch=('i686' 'x86_64')
-license=('custom')
-depends=('wvstreams' 'ppp' 'gcc-libs')
-makedepends=('lockdev')
-options=('!makeflags' '!buildflags')
-source=("http://wvstreams.googlecode.com/files/${pkgname}-${pkgver}.tar.gz")
-md5sums=('acd3b2050c9b65fff2aecda6576ee7bc')
-
-build() {
- cd "${srcdir}"/${pkgname}-${pkgver}
- ./configure
- make LOCKDEV="-llockdev"
-}
-
-package() {
- cd "${srcdir}"/${pkgname}-${pkgver}
- make prefix="${pkgdir}"/usr PPPDIR="${pkgdir}"/etc/ppp/peers install
- install -Dm644 COPYING.LIB "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
-}
diff --git a/extra/wvstreams/PKGBUILD b/extra/wvstreams/PKGBUILD
deleted file mode 100644
index 3abe73609..000000000
--- a/extra/wvstreams/PKGBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# $Id: PKGBUILD 75519 2010-04-01 18:49:52Z andrea $
-# Maintainer:
-# Contributor: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: dorphell <dorphell@archlinux.org>
-
-pkgname=wvstreams
-pkgver=4.6.1
-pkgrel=2
-pkgdesc="A network programming library written in C++"
-arch=('i686' 'x86_64')
-url="http://alumnit.ca/wiki/?page=WvStreams"
-license=('LGPL')
-depends=('zlib' 'pam' 'xplc' "openssl" 'readline')
-source=(http://wvstreams.googlecode.com/files/${pkgname}-${pkgver}.tar.gz)
-md5sums=('2760dac31a43d452a19a3147bfde571c')
-options=('!makeflags')
-
-build() {
- cd ${srcdir}/${pkgname}-${pkgver}
- ./configure --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --without-dbus \
- --with-pam \
- --with-openssl \
- --without-tcl \
- --without-qt || return 1
- make COPTS="$CFLAGS -fPIC" CXXOPTS="$CXXFLAGS -fPIC -fpermissive" VERBOSE=1 || return 1
-}
-
-package() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} install || return 1
-
- # FS#15974
- # --without-dbus still installs the pkg-config file
- rm ${pkgdir}/usr/lib/pkgconfig/libwvdbus.pc
- # --without-qt still installs the pkg-config file
- rm ${pkgdir}/usr/lib/pkgconfig/libwvqt.pc
-}
diff --git a/extra/xbindkeys/PKGBUILD b/extra/xbindkeys/PKGBUILD
deleted file mode 100644
index 9d2e6f0e8..000000000
--- a/extra/xbindkeys/PKGBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# $Id: PKGBUILD 114461 2011-03-14 01:44:22Z eric $
-# Contributor: Thayer Williams <thayer@archlinux.org>
-# Contributor: damir <damir@archlinux.org>
-# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
-
-pkgname=xbindkeys
-pkgver=1.8.5
-pkgrel=1
-pkgdesc="Launch shell commands with your keyboard or your mouse under X"
-arch=('i686' 'x86_64')
-url="http://www.nongnu.org/xbindkeys/xbindkeys.html"
-license=('GPL')
-depends=('libx11' 'guile>=1.8.1' 'tk')
-source=(http://www.nongnu.org/xbindkeys/${pkgname}-${pkgver}.tar.gz)
-md5sums=('4b66a05594dbc6888c0a6439351aa66d')
-sha1sums=('a597cfecce65dd47595510edb8f7eaa094c4b34b')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr
- make
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
-}
diff --git a/extra/xplc/PKGBUILD b/extra/xplc/PKGBUILD
deleted file mode 100644
index 402abc2ca..000000000
--- a/extra/xplc/PKGBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# $Id: PKGBUILD 97257 2010-10-28 04:11:13Z allan $
-# Maintainer: dorphell <dorphell@archlinux.org>
-pkgname=xplc
-pkgver=0.3.13
-pkgrel=3
-pkgdesc="Cross-Platform Lightweight Components"
-arch=(i686 x86_64)
-url="http://xplc.sourceforge.net"
-license=('LGPL')
-depends=('gcc-libs')
-source=(http://downloads.sourceforge.net/sourceforge/xplc/$pkgname-$pkgver.tar.gz)
-md5sums=('39da3270527c8712b8e8fcf03768d29f')
-
-build() {
- cd $srcdir/$pkgname-$pkgver
-
- export LDFLAGS="${LDFLAGS//-Wl,--as-needed}"
-
- ./configure --prefix=/usr --mandir=/usr/share/man --without-libuuid
- make
-}
-
-package() {
- cd $srcdir/$pkgname-$pkgver
- make DESTDIR=$pkgdir install
- mv $pkgdir/usr/share/man/man1/{uuidgen.1,uuidcdef.1}
- rm -f $pkgdir/usr/bin/uuidgen
-}
diff --git a/extra/zope-interface/PKGBUILD b/extra/zope-interface/PKGBUILD
deleted file mode 100644
index e584a84c1..000000000
--- a/extra/zope-interface/PKGBUILD
+++ /dev/null
@@ -1,21 +0,0 @@
-# $Id: PKGBUILD 113445 2011-03-08 17:33:50Z ibiru $
-# Maintainer : Ionut Biru <ibiru@archlinux.org>
-# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
-
-pkgname=zope-interface
-pkgver=3.6.1
-pkgrel=1
-pkgdesc="Separate distribution of the zope.interface package used in Zope 3."
-license=('ZPL')
-arch=('i686' 'x86_64')
-url="http://pypi.python.org/pypi/zope.interface"
-depends=('python2')
-source=(http://pypi.python.org/packages/source/z/zope.interface/zope.interface-${pkgver}.tar.gz)
-md5sums=('7a895181b8d10be4a7e9a3afa13cd3be')
-
-build() {
- cd ${srcdir}/zope.interface-${pkgver}
- python2 setup.py install --prefix=/usr --root=${pkgdir} --optimize=1
- # Blabla.
- rm $pkgdir/usr/lib/python2.7/site-packages/zope/interface/README*.txt
-}
diff --git a/kde-unstable/qt/PKGBUILD b/kde-unstable/qt/PKGBUILD
deleted file mode 100644
index 89e96034f..000000000
--- a/kde-unstable/qt/PKGBUILD
+++ /dev/null
@@ -1,222 +0,0 @@
-# $Id: PKGBUILD 125344 2011-05-26 00:12:04Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: Pierre Schmitz <pierre@archlinux.de>
-
-pkgbase=qt
-pkgname=('qt' 'qt-private-headers')
-pkgver=4.7.3
-pkgrel=2
-arch=('i686' 'x86_64')
-url='http://qt.nokia.com/'
-license=('GPL3' 'LGPL')
-makedepends=('libtiff' 'libpng' 'libmng' 'sqlite3' 'ca-certificates' 'glib2' 'dbus'
- 'fontconfig' 'libgl' 'libsm' 'libxrandr' 'libxv' 'libxi' 'alsa-lib'
- 'xdg-utils' 'hicolor-icon-theme' 'desktop-file-utils' 'mesa' 'postgresql-libs'
- 'mysql' 'unixodbc' 'cups' 'gtk2')
-options=('!libtool')
-_pkgfqn="qt-everywhere-opensource-src-${pkgver}"
-source=("ftp://ftp.qt.nokia.com/qt/source/${_pkgfqn}.tar.gz"
- 'assistant.desktop' 'designer.desktop' 'linguist.desktop'
- 'qtconfig.desktop'
- 'qtbug-16292.patch')
-md5sums=('49b96eefb1224cc529af6fe5608654fe'
- 'fc211414130ab2764132e7370f8e5caa'
- '85179f5e0437514f8639957e1d8baf62'
- 'f11852b97583610f3dbb669ebc3e21bc'
- '6b771c8a81dd90b45e8a79afa0e5bbfd'
- 'dc7ed8c2e8c68a175f7f05a34dccc937')
-
-build() {
- unset QMAKESPEC
- export QT4DIR=$srcdir/$_pkgfqn
- export PATH=${QT4DIR}/bin:${PATH}
- export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH}
-
- cd $srcdir/$_pkgfqn
-
- # Already fixed upstream
- patch -p1 -i "${srcdir}"/qtbug-16292.patch
-
- sed -i "s|-O2|$CXXFLAGS|" mkspecs/common/g++.conf
- sed -i "/^QMAKE_RPATH/s| -Wl,-rpath,||g" mkspecs/common/g++.conf
- sed -i "/^QMAKE_LFLAGS\s/s|+=|+= $LDFLAGS|g" mkspecs/common/g++.conf
-
- ./configure -confirm-license -opensource \
- -prefix /usr \
- -docdir /usr/share/doc/qt \
- -plugindir /usr/lib/qt/plugins \
- -importdir /usr/lib/qt/imports \
- -datadir /usr/share/qt \
- -translationdir /usr/share/qt/translations \
- -sysconfdir /etc \
- -examplesdir /usr/share/doc/qt/examples \
- -demosdir /usr/share/doc/qt/demos \
- -largefile \
- -plugin-sql-{psql,mysql,sqlite,odbc} \
- -system-sqlite \
- -xmlpatterns \
- -no-phonon \
- -no-phonon-backend \
- -svg \
- -webkit \
- -script \
- -scripttools \
- -system-zlib \
- -system-libtiff \
- -system-libpng \
- -system-libmng \
- -system-libjpeg \
- -nomake demos \
- -nomake examples \
- -nomake docs \
- -no-rpath \
- -openssl-linked \
- -silent \
- -optimized-qmake \
- -dbus \
- -reduce-relocations \
- -no-separate-debug-info \
- -gtkstyle \
- -opengl \
- -no-openvg \
- -glib
- make
-}
-
-package_qt() {
- pkgdesc='A cross-platform application and UI framework'
- depends=('libtiff' 'libpng' 'libmng' 'sqlite3' 'ca-certificates' 'glib2' 'dbus'
- 'fontconfig' 'libgl' 'libsm' 'libxrandr' 'libxv' 'libxi' 'alsa-lib'
- 'xdg-utils' 'hicolor-icon-theme' 'desktop-file-utils')
- optdepends=('postgresql-libs: PostgreSQL driver'
- 'libmysqlclient: MySQL driver'
- 'unixodbc: ODBC driver'
- 'libxinerama: Xinerama support'
- 'libxcursor: Xcursor support'
- 'libxfixes: Xfixes support')
- install='qt.install'
-
- cd $srcdir/$_pkgfqn
- make INSTALL_ROOT=$pkgdir install
-
- # install missing icons and desktop files
- for icon in tools/linguist/linguist/images/icons/linguist-*-32.png ; do
- size=$(echo $(basename ${icon}) | cut -d- -f2)
- install -p -D -m644 ${icon} ${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/linguist.png
- done
- install -p -D -m644 src/gui/dialogs/images/qtlogo-64.png ${pkgdir}/usr/share/icons/hicolor/64x64/apps/qtlogo.png
- install -p -D -m644 tools/assistant/tools/assistant/images/assistant.png ${pkgdir}/usr/share/icons/hicolor/32x32/apps/assistant.png
- install -p -D -m644 tools/designer/src/designer/images/designer.png ${pkgdir}/usr/share/icons/hicolor/128x128/apps/designer.png
- install -d ${pkgdir}/usr/share/applications
- install -m644 ${srcdir}/{linguist,designer,assistant,qtconfig}.desktop ${pkgdir}/usr/share/applications/
-
- # install license addition
- install -D -m644 LGPL_EXCEPTION.txt ${pkgdir}/usr/share/licenses/qt/LGPL_EXCEPTION.txt
-
- # Fix wrong path in pkgconfig files
- find ${pkgdir}/usr/lib/pkgconfig -type f -name '*.pc' \
- -exec perl -pi -e "s, -L${srcdir}/?\S+,,g" {} \;
- # Fix wrong path in prl files
- find ${pkgdir}/usr/lib -type f -name '*.prl' \
- -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;
-}
-
-package_qt-private-headers(){
- pkgdesc="Qt private headers for development"
- depends=("qt=${pkgver}")
-
- install -d ${pkgdir}/usr/include/phonon/private
- cd ${srcdir}/$_pkgfqn/src/3rdparty/phonon/phonon/
- find . -name "*_p.h" -exec install -m644 {} \
- ${pkgdir}/usr/include/phonon/private/ \; &> /dev/null
-
- install -d ${pkgdir}/usr/include/Qt3Support/private
- cd ${srcdir}/$_pkgfqn/src/qt3support/
- find . -name "*_p.h" -exec install -m644 {} \
- ${pkgdir}/usr/include/Qt3Support/private/ \; &> /dev/null
-
- install -d ${pkgdir}/usr/include/QtCore/private
- cd ${srcdir}/$_pkgfqn/src/corelib/
- find . -name "*_p.h" -exec install -m644 {} \
- ${pkgdir}/usr/include/QtCore/private/ \; &> /dev/null
-
- install -d ${pkgdir}/usr/include/QtDBus/private
- cd ${srcdir}/$_pkgfqn/src/dbus/
- find . -name "*_p.h" -exec install -m644 {} \
- ${pkgdir}/usr/include/QtDBus/private/ \; &> /dev/null
-
- install -d ${pkgdir}/usr/include/QtDeclarative/private
- cd ${srcdir}/$_pkgfqn/src/declarative/
- find . -name "*_p.h" -exec install -m644 {} \
- ${pkgdir}/usr/include/QtDeclarative/private/ \; &> /dev/null
-
- install -d ${pkgdir}/usr/include/QtDesigner/private
- cd ${srcdir}/$_pkgfqn/tools/designer/
- find . -name "*_p.h" -exec install -m644 {} \
- ${pkgdir}/usr/include/QtDesigner/private/ \; &> /dev/null
-
- install -d ${pkgdir}/usr/include/QtGui/private
- cd ${srcdir}/$_pkgfqn/src/gui/
- find . -name "*_p.h" -exec install -m644 {} \
- ${pkgdir}/usr/include/QtGui/private/ \; &> /dev/null
-
- install -d ${pkgdir}/usr/include/QtHelp/private
- cd ${srcdir}/$_pkgfqn/tools/assistant/
- find . -name "*_p.h" -exec install -m644 {} \
- ${pkgdir}/usr/include/QtHelp/private/ \; &> /dev/null
-
- install -d ${pkgdir}/usr/include/QtMultimedia/private
- cd ${srcdir}/$_pkgfqn/src/multimedia/
- find . -name "*_p.h" -exec install -m644 {} \
- ${pkgdir}/usr/include/QtMultimedia/private/ \; &> /dev/null
-
- install -d ${pkgdir}/usr/include/QtNetwork/private
- cd ${srcdir}/$_pkgfqn/src/network/
- find . -name "*_p.h" -exec install -m644 {} \
- ${pkgdir}/usr/include/QtNetwork/private/ \; &> /dev/null
-
- install -d ${pkgdir}/usr/include/QtOpenGL/private
- cd ${srcdir}/$_pkgfqn/src/opengl/
- find . -name "*_p.h" -exec install -m644 {} \
- ${pkgdir}/usr/include/QtOpenGL/private/ \; &> /dev/null
-
- install -d ${pkgdir}/usr/include/QtScript/private
- cd ${srcdir}/$_pkgfqn/src/script/
- find . -name "*_p.h" -exec install -m644 {} \
- ${pkgdir}/usr/include/QtScript/private/ \; &> /dev/null
-
- install -d ${pkgdir}/usr/include/QtScriptTools/private
- cd ${srcdir}/$_pkgfqn/src/scripttools/
- find . -name "*_p.h" -exec install -m644 {} \
- ${pkgdir}/usr/include/QtScriptTools/private/ \; &> /dev/null
-
- install -d ${pkgdir}/usr/include/QtSql/private
- cd ${srcdir}/$_pkgfqn/src/sql/
- find . -name "*_p.h" -exec install -m644 {} \
- ${pkgdir}/usr/include/QtSql/private/ \; &> /dev/null
-
- install -d ${pkgdir}/usr/include/QtSvg/private
- cd ${srcdir}/$_pkgfqn/src/svg/
- find . -name "*_p.h" -exec install -m644 {} \
- ${pkgdir}/usr/include/QtSvg/private/ \; &> /dev/null
-
- install -d ${pkgdir}/usr/include/QtTest/private
- cd ${srcdir}/$_pkgfqn/src/testlib/
- find . -name "*_p.h" -exec install -m644 {} \
- ${pkgdir}/usr/include/QtTest/private/ \; &> /dev/null
-
- install -d ${pkgdir}/usr/include/QtUiTools/private
- cd ${srcdir}/$_pkgfqn/tools/designer/src/uitools
- find . -name "*_p.h" -exec install -m644 {} \
- ${pkgdir}/usr/include/QtUiTools/private/ \; &> /dev/null
-
- install -d ${pkgdir}/usr/include/QtWebKit/private
- cd ${srcdir}/$_pkgfqn/src/3rdparty/webkit
- find . -name "*_p.h" -exec install -m644 {} \
- ${pkgdir}/usr/include/QtWebKit/private/ \; &> /dev/null
-
- install -d ${pkgdir}/usr/include/QtXmlPatterns/private
- cd ${srcdir}/$_pkgfqn/src/xmlpatterns/
- find . -name "*_p.h" -exec install -m644 {} \
- ${pkgdir}/usr/include/QtXmlPatterns/private/ \; &> /dev/null
-}
diff --git a/kde-unstable/qt/assistant.desktop b/kde-unstable/qt/assistant.desktop
deleted file mode 100644
index a9e98c44b..000000000
--- a/kde-unstable/qt/assistant.desktop
+++ /dev/null
@@ -1,9 +0,0 @@
-[Desktop Entry]
-Name=Qt Assistant
-Comment=Shows Qt documentation and examples
-Exec=/usr/bin/assistant
-Icon=assistant
-Terminal=false
-Encoding=UTF-8
-Type=Application
-Categories=Qt;Development;Documentation;
diff --git a/kde-unstable/qt/designer.desktop b/kde-unstable/qt/designer.desktop
deleted file mode 100644
index 9b7b6e9aa..000000000
--- a/kde-unstable/qt/designer.desktop
+++ /dev/null
@@ -1,11 +0,0 @@
-[Desktop Entry]
-Name=Qt Designer
-GenericName=Interface Designer
-Comment=Design GUIs for Qt applications
-Exec=/usr/bin/designer
-Icon=designer
-MimeType=application/x-designer;
-Terminal=false
-Encoding=UTF-8
-Type=Application
-Categories=Qt;Development;
diff --git a/kde-unstable/qt/linguist.desktop b/kde-unstable/qt/linguist.desktop
deleted file mode 100644
index 8cbe86599..000000000
--- a/kde-unstable/qt/linguist.desktop
+++ /dev/null
@@ -1,10 +0,0 @@
-[Desktop Entry]
-Name=Qt Linguist
-Comment=Add translations to Qt applications
-Exec=/usr/bin/linguist
-Icon=linguist
-MimeType=text/vnd.trolltech.linguist;application/x-linguist;
-Terminal=false
-Encoding=UTF-8
-Type=Application
-Categories=Qt;Development;
diff --git a/kde-unstable/qt/qt.install b/kde-unstable/qt/qt.install
deleted file mode 100644
index 81ce5c4b0..000000000
--- a/kde-unstable/qt/qt.install
+++ /dev/null
@@ -1,12 +0,0 @@
-post_install() {
- xdg-icon-resource forceupdate --theme hicolor &> /dev/null
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/kde-unstable/qt/qtbug-16292.patch b/kde-unstable/qt/qtbug-16292.patch
deleted file mode 100644
index 9728e28f5..000000000
--- a/kde-unstable/qt/qtbug-16292.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From e340844bd614add505a39a3a6b915632476f6305 Mon Sep 17 00:00:00 2001
-From: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
-Date: Tue, 15 Feb 2011 11:19:26 +0100
-Subject: [PATCH] Fix crash in KPackageKit
-
-QTreeViewPrivate::itemHeight() may refer to an invalid QModelIndex
-after calling QTreeView::indexRowSizeHint().
-
-Same thing inside QTreeView::indexRowSizeHint(), since
-QHeaderView::count() will call
-QAbstractItemViewPrivate::executePostedLayout() which may invalidate
-all the QModelIndex.
-
-Reviewed-by: Olivier
-Task-number: QTBUG-16292
----
- src/gui/itemviews/qtreeview.cpp | 11 ++++++-----
- 1 files changed, 6 insertions(+), 5 deletions(-)
-
-diff --git a/src/gui/itemviews/qtreeview.cpp b/src/gui/itemviews/qtreeview.cpp
-index f1f3236..c0573bb 100644
---- a/src/gui/itemviews/qtreeview.cpp
-+++ b/src/gui/itemviews/qtreeview.cpp
-@@ -2753,6 +2753,7 @@ int QTreeView::indexRowSizeHint(const QModelIndex &index) const
-
- int start = -1;
- int end = -1;
-+ int indexRow = index.row();
- int count = d->header->count();
- bool emptyHeader = (count == 0);
- QModelIndex parent = index.parent();
-@@ -2789,7 +2790,7 @@ int QTreeView::indexRowSizeHint(const QModelIndex &index) const
- int logicalColumn = emptyHeader ? column : d->header->logicalIndex(column);
- if (d->header->isSectionHidden(logicalColumn))
- continue;
-- QModelIndex idx = d->model->index(index.row(), logicalColumn, parent);
-+ QModelIndex idx = d->model->index(indexRow, logicalColumn, parent);
- if (idx.isValid()) {
- QWidget *editor = d->editorForIndex(idx).editor;
- if (editor && d->persistent.contains(editor)) {
-@@ -3224,14 +3225,14 @@ int QTreeViewPrivate::itemHeight(int item) const
- if (viewItems.isEmpty())
- return 0;
- const QModelIndex &index = viewItems.at(item).index;
-+ if (!index.isValid())
-+ return 0;
- int height = viewItems.at(item).height;
-- if (height <= 0 && index.isValid()) {
-+ if (height <= 0) {
- height = q_func()->indexRowSizeHint(index);
- viewItems[item].height = height;
- }
-- if (!index.isValid() || height < 0)
-- return 0;
-- return height;
-+ return qMax(height, 0);
- }
-
-
---
-1.6.1
-
diff --git a/kde-unstable/qt/qtconfig.desktop b/kde-unstable/qt/qtconfig.desktop
deleted file mode 100644
index 46dcf9e3d..000000000
--- a/kde-unstable/qt/qtconfig.desktop
+++ /dev/null
@@ -1,10 +0,0 @@
-[Desktop Entry]
-Name=Qt Config
-Comment=Configure Qt behavior, styles, fonts
-Exec=/usr/bin/qtconfig
-Icon=qtlogo
-Terminal=false
-Encoding=UTF-8
-Type=Application
-Categories=Qt;Settings;
-NoDisplay=true
diff --git a/social/bitcoin-daemon/makefile.archlinux b/social/bitcoin-daemon/makefile.archlinux
deleted file mode 100644
index 062a29d82..000000000
--- a/social/bitcoin-daemon/makefile.archlinux
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright (c) 2009-2010 Satoshi Nakamoto
-# Rewritten for Archlinux by shahid
-# Distributed under the MIT/X11 software license, see the accompanying
-# file license.txt or http://www.opensource.org/licenses/mit-license.php.
-
-
-INCLUDEPATHS= \
- -I"/usr/include" \
-
-LIBPATHS= \
- -L"/usr/lib" \
- -L"/usr/local/lib"
-
-LIBS= \
- -Wl,-Bstatic \
- -l boost_system \
- -l boost_filesystem \
- -l boost_program_options \
- -l boost_thread \
- -l db_cxx \
- -l crypto \
- -Wl,-Bdynamic \
- -l gthread-2.0 \
- ${LDFLAGS}
-
-DEBUGFLAGS=-g -D__WXDEBUG__
-CCFLAGS=${CXXFLAGS} -Wno-invalid-offsetof -Wformat $(WXDEFS) $(INCLUDEPATHS)
-HEADERS=headers.h strlcpy.h serialize.h uint256.h util.h key.h bignum.h base58.h \
- script.h db.h net.h irc.h main.h rpc.h uibase.h ui.h noui.h init.h
-
-OBJS= \
- obj/util.o \
- obj/script.o \
- obj/db.o \
- obj/net.o \
- obj/irc.o \
- obj/main.o \
- obj/rpc.o \
- obj/init.o \
- cryptopp/obj/sha.o \
- cryptopp/obj/cpu.o
-
-
-all: bitcoin
-
-
-headers.h.gch: headers.h $(HEADERS)
- g++ -c $(CCFLAGS) -DGUI -o $@ $<
-
-obj/%.o: %.cpp $(HEADERS) headers.h.gch
- g++ -c $(CCFLAGS) -DGUI -o $@ $<
-
-# -DCRYPTOPP_DISABLE_SSE2
-cryptopp/obj/%.o: cryptopp/%.cpp
- g++ -c $(CCFLAGS) -O3 -o $@ $<
-
-bitcoin: $(OBJS) obj/ui.o obj/uibase.o
- g++ $(CCFLAGS) -o $@ $(LIBPATHS) $^ $(WXLIBS) $(LIBS)
-
-
-obj/nogui/%.o: %.cpp $(HEADERS)
- g++ -c $(CCFLAGS) -o $@ $<
-
-bitcoind: $(OBJS:obj/%=obj/nogui/%)
- g++ $(CCFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS) -ldl -lz
-
-
-clean:
- -rm -f obj/*.o
- -rm -f obj/nogui/*.o
- -rm -f cryptopp/obj/*.o
- -rm -f headers.h.gch
diff --git a/staging/boost/4994-compile-fix-for-Python32-v2.patch b/staging/boost/4994-compile-fix-for-Python32-v2.patch
deleted file mode 100644
index 22613b3f2..000000000
--- a/staging/boost/4994-compile-fix-for-Python32-v2.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: libs/python/src/converter/builtin_converters.cpp
-===================================================================
---- libs/python/src/converter/builtin_converters.cpp (revision 67279)
-+++ libs/python/src/converter/builtin_converters.cpp (working copy)
-@@ -431,7 +431,11 @@
- if (!result.empty())
- {
- int err = PyUnicode_AsWideChar(
-+#if PY_VERSION_HEX >= 0x03020000
-+ intermediate
-+#else
- (PyUnicodeObject *)intermediate
-+#endif
- , &result[0]
- , result.size());
-
diff --git a/staging/boost/PKGBUILD b/staging/boost/PKGBUILD
deleted file mode 100644
index 9329f188a..000000000
--- a/staging/boost/PKGBUILD
+++ /dev/null
@@ -1,112 +0,0 @@
-# $Id: PKGBUILD 126149 2011-06-01 20:01:54Z ibiru $
-# Maintainer: kevin <kevin@archlinux.org>
-# Contributor: Giovanni Scafora <giovanni@archlinux.org>
-# Contributor: Kritoke <kritoke@gamebox.net>
-# Contributor: Luca Roccia <little_rock@users.sourceforge.net>
-
-pkgbase=boost
-pkgname=('boost-libs' 'boost')
-pkgver=1.46.1
-_boostver=${pkgver//./_}
-pkgrel=2
-arch=('i686' 'x86_64')
-url="http://www.boost.org/"
-makedepends=('icu' 'python' 'python2' 'bzip2' 'zlib' 'openmpi')
-source=(http://downloads.sourceforge.net/sourceforge/${pkgbase}/${pkgbase}_${_boostver}.tar.gz
- 4994-compile-fix-for-Python32-v2.patch
- boost-1.46.0-spirit.patch)
-license=('custom')
-md5sums=('341e5d993b19d099bf1a548495ea91ec'
- 'cb59e8adbf2a45ef9264a2f4ab92b849'
- '9d6e2f13fef23bf27d7bdddc104e182a')
-
-_stagedir="${srcdir}/stagedir"
-
-build() {
- # set python path for bjam
- cd "${srcdir}/${pkgbase}_${_boostver}/tools"
- echo "using python : 2.7 : /usr/bin/python2 ;" >> build/v2/user-config.jam
- echo "using python : 3.2 : /usr/bin/python : /usr/include/python3.2mu : /usr/lib ;" >> build/v2/user-config.jam
- echo "using mpi ;" >> build/v2/user-config.jam
-
- # build bjam
- cd "${srcdir}/${pkgbase}_${_boostver}/tools/build/v2/engine/src"
- ./build.sh cc
-
- _bindir="bin.linuxx86"
- [ "${CARCH}" = "x86_64" ] && _bindir="bin.linuxx86_64"
-
- install -d "${_stagedir}"/usr/bin
- install ${_bindir}/bjam "${_stagedir}"/usr/bin/bjam
-
- # build bcp
- cd "${srcdir}/${pkgbase}_${_boostver}/tools/bcp"
- ../build/v2/engine/src/${_bindir}/bjam --toolset=gcc
- install -m755 "${srcdir}/${pkgbase}_${_boostver}/dist/bin/bcp" \
- ${_stagedir}/usr/bin/bcp
-
- # build libs
- cd "${srcdir}/${pkgbase}_${_boostver}"
- #python 3.2 support
- #https://svn.boost.org/trac/boost/ticket/4994
- patch -Np0 -i "${srcdir}/4994-compile-fix-for-Python32-v2.patch"
- patch -Np0 -i "${srcdir}/boost-1.46.0-spirit.patch"
-
- # default "minimal" install: "release link=shared,static
- # runtime-link=shared threading=single,multi"
- # --layout=tagged will add the "-mt" suffix for multithreaded libraries
- # and installs includes in /usr/include/boost.
- # --layout=system no longer adds the -mt suffix for multi-threaded libs.
- # install to ${_stagedir} in preparation for split packaging
-
- ./tools/build/v2/engine/src/${_bindir}/bjam \
- release debug-symbols=off threading=multi \
- runtime-link=shared link=shared,static \
- cflags=-fno-strict-aliasing \
- toolset=gcc \
- --prefix="${_stagedir}" \
- -sTOOLS=gcc \
- --layout=system \
- ${MAKEFLAGS} \
- install
-
- # pyste is unmaintained: http://www.boost.org/doc/libs/1_46_0/libs/python/doc/index.html
- # build pyste
- #cd "${srcdir}/${pkgbase}_${_boostver}/libs/python/pyste/install"
- #python2 setup.py install --root=${_stagedir} --optimize=1
-}
-
-package_boost() {
- pkgdesc="Free peer-reviewed portable C++ source libraries - Development"
- depends=("boost-libs=${pkgver}")
- optdepends=('python: for python bindings'
- 'python2: for python2 bindings')
-
- install -d "${pkgdir}"/usr/{include,lib}
- # headers/source files
- cp -r "${_stagedir}"/include/ "${pkgdir}"/usr/
-
- # static libs
- cp -r "${_stagedir}"/lib/*.a "${pkgdir}"/usr/lib/
-
- # utilities (bjam, bcp, pyste)
- cp -r "${_stagedir}"/usr/* "${pkgdir}"/usr/
-
- # license
- install -D -m644 "${srcdir}/${pkgbase}_${_boostver}/LICENSE_1_0.txt" \
- "${pkgdir}"/usr/share/licenses/boost/LICENSE_1_0.txt
-}
-
-package_boost-libs() {
- pkgdesc="Free peer-reviewed portable C++ source libraries - Runtime"
- depends=('gcc-libs' 'bzip2' 'zlib' 'icu')
- optdepends=('openmpi: for mpi support')
-
- install -d "${pkgdir}/usr/lib"
- #shared libs
- cp -r "${_stagedir}"/lib/*.so{,.*} "${pkgdir}/usr/lib/"
-
- # license
- install -D -m644 "${srcdir}/${pkgbase}_${_boostver}/LICENSE_1_0.txt" \
- "${pkgdir}"/usr/share/licenses/boost-libs/LICENSE_1_0.txt
-}
diff --git a/staging/boost/boost-1.46.0-spirit.patch b/staging/boost/boost-1.46.0-spirit.patch
deleted file mode 100644
index 6fae331ee..000000000
--- a/staging/boost/boost-1.46.0-spirit.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-Index: boost/spirit/home/qi/nonterminal/detail/parameterized.hpp
-===================================================================
---- boost/spirit/home/qi/nonterminal/detail/parameterized.hpp (revision 68724)
-+++ boost/spirit/home/qi/nonterminal/detail/parameterized.hpp (revision 68725)
-@@ -14,6 +14,7 @@
-
- #include <boost/ref.hpp>
-
-+#include <boost/spirit/home/support/handles_container.hpp>
- #include <boost/spirit/home/qi/parser.hpp>
-
- namespace boost { namespace spirit { namespace qi
-@@ -59,4 +60,16 @@ namespace boost { namespace spirit { nam
- };
- }}}
-
-+namespace boost { namespace spirit { namespace traits
-+{
-+ ///////////////////////////////////////////////////////////////////////////
-+ template <typename Subject, typename Params, typename Attribute
-+ , typename Context, typename Iterator>
-+ struct handles_container<qi::parameterized_nonterminal<Subject, Params>
-+ , Attribute, Context, Iterator>
-+ : handles_container<typename remove_const<Subject>::type
-+ , Attribute, Context, Iterator>
-+ {};
-+}}}
-+
- #endif
-Index: boost/spirit/home/karma/nonterminal/detail/parameterized.hpp
-===================================================================
---- boost/spirit/home/karma/nonterminal/detail/parameterized.hpp (revision 68724)
-+++ boost/spirit/home/karma/nonterminal/detail/parameterized.hpp (revision 68725)
-@@ -14,6 +14,7 @@
-
- #include <boost/ref.hpp>
-
-+#include <boost/spirit/home/support/handles_container.hpp>
- #include <boost/spirit/home/karma/generator.hpp>
-
- namespace boost { namespace spirit { namespace karma
-@@ -60,4 +61,17 @@ namespace boost { namespace spirit { nam
- };
- }}}
-
-+
-+namespace boost { namespace spirit { namespace traits
-+{
-+ ///////////////////////////////////////////////////////////////////////////
-+ template <typename Subject, typename Params, typename Attribute
-+ , typename Context, typename Iterator>
-+ struct handles_container<karma::parameterized_nonterminal<Subject, Params>
-+ , Attribute, Context, Iterator>
-+ : handles_container<typename remove_const<Subject>::type
-+ , Attribute, Context, Iterator>
-+ {};
-+}}}
-+
- #endif
diff --git a/staging/brltty/PKGBUILD b/staging/brltty/PKGBUILD
deleted file mode 100644
index e173c7e6c..000000000
--- a/staging/brltty/PKGBUILD
+++ /dev/null
@@ -1,49 +0,0 @@
-# $Id: PKGBUILD 126155 2011-06-01 20:36:52Z andyrtr $
-# Maintainer:
-# Contributor: Jan de Groot <jgc@archlinux.org>
-# Contributor: Giovanni Scafora <giovanni@archlinux.org>
-
-pkgname=brltty
-pkgver=4.2
-pkgrel=4
-pkgdesc="Braille display driver for Linux/Unix"
-arch=('i686' 'x86_64')
-url="http://mielke.cc/brltty"
-license=('GPL' 'LGPL')
-depends=('libxaw' 'at-spi' 'gpm' 'icu' 'python2' 'tcl' 'atk' 'libxtst')
-makedepends=('pyrex' 'bluez')
-optdepends=('bluez: bluetooth support')
-backup=(etc/brltty.conf etc/conf.d/brltty.conf)
-options=('!makeflags' '!emptydirs')
-source=(http://mielke.cc/${pkgname}/releases/${pkgname}-${pkgver}.tar.gz
- 'brltty-4.2-S_ISCHR.patch'
- 'brltty'
- 'brltty.conf')
-md5sums=('192af5e634210616928496645e392097'
- '5954b289efaf2ff17676d06de9a88854'
- '831ebaf0c56091702929c68805d20c4f'
- 'a8ab8b3dd059e96e1734bc9cdcf844fc')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- CFLAGS+="${CFLAGS} -D_GNU_SOURCE" \
- ./configure --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --enable-gpm \
- --disable-java-bindings \
- --disable-caml-bindings \
- PYTHON=/usr/bin/python2
-
- patch -Np1 -i ${srcdir}/brltty-4.2-S_ISCHR.patch
- make
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make INSTALL_ROOT="${pkgdir}" install
- install -D -m755 ${srcdir}/brltty ${pkgdir}/etc/rc.d/brltty
- install -D -m644 ${srcdir}/brltty.conf ${pkgdir}/etc/conf.d/brltty.conf
- install -D -m644 Documents/brltty.conf ${pkgdir}/etc/brltty.conf
-}
diff --git a/staging/brltty/brltty b/staging/brltty/brltty
deleted file mode 100755
index 5ed21a52d..000000000
--- a/staging/brltty/brltty
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/bin/bash
-
-daemon_name=brltty
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-. /etc/conf.d/$daemon_name.conf
-
-get_pid() {
- pidof -o %PPID $daemon_name
-}
-
-case "$1" in
- start)
- stat_busy "Starting $daemon_name daemon"
-
- PID=$(get_pid)
- if [ -z "$PID" ]; then
- [ -f /var/run/$daemon_name.pid ] && rm -f /var/run/$daemon_name.pid
- # RUN
- $daemon_name $brltty_args
- #
- if [ $? -gt 0 ]; then
- stat_fail
- exit 1
- else
- echo $(get_pid) > /var/run/$daemon_name.pid
- add_daemon $daemon_name
- stat_done
- fi
- else
- stat_fail
- exit 1
- fi
- ;;
-
- stop)
- stat_busy "Stopping $daemon_name daemon"
- PID=$(get_pid)
- # KILL
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- #
- if [ $? -gt 0 ]; then
- stat_fail
- exit 1
- else
- rm -f /var/run/$daemon_name.pid &> /dev/null
- rm_daemon $daemon_name
- stat_done
- fi
- ;;
-
- restart)
- $0 stop
- sleep 3
- $0 start
- ;;
-
- status)
- stat_busy "Checking $daemon_name status";
- ck_status $daemon_name
- ;;
-
- *)
- echo "usage: $0 {start|stop|restart|status}"
-esac
-
-exit 0
diff --git a/staging/brltty/brltty-4.2-S_ISCHR.patch b/staging/brltty/brltty-4.2-S_ISCHR.patch
deleted file mode 100644
index eddac9616..000000000
--- a/staging/brltty/brltty-4.2-S_ISCHR.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -up brltty-4.2/Programs/sys_linux.c.BAD brltty-4.2/Programs/sys_linux.c
---- brltty-4.2/Programs/sys_linux.c.BAD 2010-05-21 09:04:10.003122084 -0400
-+++ brltty-4.2/Programs/sys_linux.c 2010-05-21 09:04:19.376198268 -0400
-@@ -23,6 +23,7 @@
- #include <errno.h>
- #include <fcntl.h>
- #include <sys/ioctl.h>
-+#include <sys/stat.h>
- #include <linux/kd.h>
-
- #ifdef HAVE_LINUX_INPUT_H
diff --git a/staging/brltty/brltty.conf b/staging/brltty/brltty.conf
deleted file mode 100644
index 94115e1d5..000000000
--- a/staging/brltty/brltty.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-# Specify any arguments to pass to brltty here.
-brltty_args="" \ No newline at end of file
diff --git a/staging/enchant/PKGBUILD b/staging/enchant/PKGBUILD
deleted file mode 100644
index 1f95981e7..000000000
--- a/staging/enchant/PKGBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# $Id: PKGBUILD 126152 2011-06-01 20:31:07Z andyrtr $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
-# Contributor: dorphell <dorphell@archlinux.org>
-
-pkgname=enchant
-pkgver=1.6.0
-pkgrel=2
-pkgdesc="A wrapper library for generic spell checking"
-arch=('i686' 'x86_64')
-url="http://www.abisource.com/enchant/"
-license=('LGPL')
-depends=('aspell' 'dbus-glib' 'hunspell')
-makedepends=('hspell')
-options=('!libtool')
-source=("http://www.abisource.com/downloads/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz")
-md5sums=('de11011aff801dc61042828041fb59c7')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr \
- --disable-static \
- --disable-ispell \
- --with-myspell-dir=/usr/share/myspell
- make
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
-}
diff --git a/staging/gptfdisk/PKGBUILD b/staging/gptfdisk/PKGBUILD
deleted file mode 100644
index c3e5215e6..000000000
--- a/staging/gptfdisk/PKGBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# $Id: PKGBUILD 126131 2011-06-01 17:33:51Z foutrelis $
-# Maintainer: Evangelos Foutras <foutrelis@gmail.com>
-# Contributor: Tobias Powalowski <tpowa@archlinux.org>
-# Contributor: Hokum <hokum_at_mail_dot_ru>
-
-pkgname=gptfdisk
-pkgver=0.7.1
-pkgrel=3
-pkgdesc="A text-mode partitioning tool that works on Globally Unique Identifier (GUID) Partition Table (GPT) disks"
-arch=('i686' 'x86_64')
-url="http://www.rodsbooks.com/gdisk/"
-license=('GPL2')
-depends=('gcc-libs' 'util-linux' 'popt' 'icu')
-provides=('gdisk')
-conflicts=('gdisk')
-replaces=('gdisk')
-source=(http://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tgz)
-md5sums=('7c8d810df61e81c821bef399b832e89e')
-
-build() {
- cd "$srcdir/$pkgname-$pkgver"
-
- make
-}
-
-package () {
- cd "$srcdir/$pkgname-$pkgver"
-
- install -d "$pkgdir"/{sbin,usr/share/{man/man8,gdisk}}
- install -t "$pkgdir/sbin" gdisk sgdisk fixparts
- install -m644 -t "$pkgdir/usr/share/man/man8" {gdisk,sgdisk}.8
- install -m644 -t "$pkgdir/usr/share/gdisk" README NEWS
-}
-
-# vim:set ts=2 sw=2 et:
diff --git a/staging/hunspell/PKGBUILD b/staging/hunspell/PKGBUILD
deleted file mode 100644
index fefa04db4..000000000
--- a/staging/hunspell/PKGBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# $Id: PKGBUILD 125861 2011-05-30 15:55:43Z andyrtr $
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
-# Contributor: Hussam Al-Tayeb <ht990332@gmail.com>
-
-pkgname=hunspell
-pkgver=1.3.2
-pkgrel=1
-pkgdesc="Spell checker and morphological analyzer library and program"
-arch=('i686' 'x86_64')
-url="http://hunspell.sourceforge.net/"
-license=('GPL' 'LGPL' 'MPL')
-depends=('gcc-libs' 'readline')
-optdepends=('perl: for ispellaff2myspell')
-options=('!libtool')
-source=(http://downloads.sourceforge.net/hunspell/hunspell-$pkgver.tar.gz)
-md5sums=('3121aaf3e13e5d88dfff13fb4a5f1ab8')
-
-build() {
- cd "$srcdir/hunspell-$pkgver"
- ./configure --prefix=/usr --disable-static \
- --with-ui --with-readline --with-experimental
- make
-}
-
-package() {
- cd "$srcdir/hunspell-$pkgver"
- make DESTDIR="$pkgdir" install
-}
diff --git a/staging/icu/PKGBUILD b/staging/icu/PKGBUILD
deleted file mode 100644
index 8321c3e82..000000000
--- a/staging/icu/PKGBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# $Id: PKGBUILD 125862 2011-05-30 16:53:31Z andyrtr $
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
-# Contributor: Art Gramlich <art@gramlich-net.com>
-
-pkgname=icu
-pkgver=4.8
-pkgrel=1
-pkgdesc="International Components for Unicode library"
-arch=(i686 x86_64)
-url="http://www.icu-project.org/"
-license=('custom:"icu"')
-depends=('gcc-libs' 'sh')
-source=(http://download.icu-project.org/files/${pkgname}4c/${pkgver}/${pkgname}4c-${pkgver/./_}-src.tgz
- #http://download.icu-project.org/files/${pkgname}4c/${pkgver}/${pkgname}4c-${pkgver//./_}-src.tgz
- icu.8198.revert.icu5431.patch)
-md5sums=('e78194c49d7fd8131353aa180d11b789'
- 'ebd5470fc969c75e52baf4af94a9ee82')
-
-build() {
- cd ${srcdir}/icu/source
- # fix Malayalam encoding https://bugzilla.redhat.com/show_bug.cgi?id=654200
- patch -Rp3 -i ${srcdir}/icu.8198.revert.icu5431.patch
- ./configure --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man
- make
-}
-
-package() {
- cd ${srcdir}/icu/source
- make -j1 DESTDIR=${pkgdir} install
-
- # Install license
- install -Dm644 ${srcdir}/icu/license.html ${pkgdir}/usr/share/licenses/icu/license.html
-}
diff --git a/staging/icu/icu.8198.revert.icu5431.patch b/staging/icu/icu.8198.revert.icu5431.patch
deleted file mode 100644
index 4c3e78b8e..000000000
--- a/staging/icu/icu.8198.revert.icu5431.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-Index: icu/trunk/source/layout/IndicReordering.cpp
-===================================================================
---- icu/trunk/source/layout/IndicReordering.cpp (revision 25772)
-+++ icu/trunk/source/layout/IndicReordering.cpp (revision 26090)
-@@ -126,4 +126,8 @@
- FeatureMask fSMFeatures;
-
-+ LEUnicode fPreBaseConsonant;
-+ LEUnicode fPreBaseVirama;
-+ le_int32 fPBCIndex;
-+ FeatureMask fPBCFeatures;
-
- void saveMatra(LEUnicode matra, le_int32 matraIndex, IndicClassTable::CharClass matraClass)
-@@ -172,5 +176,6 @@
- fMatraFeatures(0), fMPreOutIndex(-1), fMPreFixups(mpreFixups),
- fVMabove(0), fVMpost(0), fVMIndex(0), fVMFeatures(0),
-- fSMabove(0), fSMbelow(0), fSMIndex(0), fSMFeatures(0)
-+ fSMabove(0), fSMbelow(0), fSMIndex(0), fSMFeatures(0),
-+ fPreBaseConsonant(0), fPreBaseVirama(0), fPBCIndex(0), fPBCFeatures(0)
- {
- // nothing else to do...
-@@ -191,4 +196,6 @@
- fVMabove = fVMpost = 0;
- fSMabove = fSMbelow = 0;
-+
-+ fPreBaseConsonant = fPreBaseVirama = 0;
- }
-
-@@ -386,4 +393,12 @@
- }
-
-+ void notePreBaseConsonant(le_uint32 index,LEUnicode PBConsonant, LEUnicode PBVirama, FeatureMask features)
-+ {
-+ fPBCIndex = index;
-+ fPreBaseConsonant = PBConsonant;
-+ fPreBaseVirama = PBVirama;
-+ fPBCFeatures = features;
-+ }
-+
- void noteBaseConsonant()
- {
-@@ -465,4 +480,20 @@
- }
-
-+ void writePreBaseConsonant()
-+ {
-+ // The TDIL spec says that consonant + virama + RRA should produce a rakar in Malayalam. However,
-+ // it seems that almost none of the fonts for Malayalam are set up to handle this.
-+ // So, we're going to force the issue here by using the rakar as defined with RA in most fonts.
-+
-+ if (fPreBaseConsonant == 0x0d31) { // RRA
-+ fPreBaseConsonant = 0x0d30; // RA
-+ }
-+
-+ if (fPreBaseConsonant != 0) {
-+ writeChar(fPreBaseConsonant, fPBCIndex, fPBCFeatures);
-+ writeChar(fPreBaseVirama,fPBCIndex-1,fPBCFeatures);
-+ }
-+ }
-+
- le_int32 getOutputIndex()
- {
-@@ -723,4 +754,5 @@
- }
-
-+
- IndicClassTable::CharClass charClass = CC_RESERVED;
- IndicClassTable::CharClass nextClass = CC_RESERVED;
-@@ -730,7 +762,9 @@
- le_bool seenVattu = FALSE;
- le_bool seenBelowBaseForm = FALSE;
-+ le_bool seenPreBaseForm = FALSE;
- le_bool hasNukta = FALSE;
- le_bool hasBelowBaseForm = FALSE;
- le_bool hasPostBaseForm = FALSE;
-+ le_bool hasPreBaseForm = FALSE;
-
- if (postBase < markStart && classTable->isNukta(chars[postBase])) {
-@@ -746,12 +780,20 @@
- hasBelowBaseForm = IndicClassTable::hasBelowBaseForm(charClass) && !hasNukta;
- hasPostBaseForm = IndicClassTable::hasPostBaseForm(charClass) && !hasNukta;
-+ hasPreBaseForm = IndicClassTable::hasPreBaseForm(charClass) && !hasNukta;
-
- if (IndicClassTable::isConsonant(charClass)) {
- if (postBaseLimit == 0 || seenVattu ||
- (baseConsonant > baseLimit && !classTable->isVirama(chars[baseConsonant - 1])) ||
-- !(hasBelowBaseForm || hasPostBaseForm)) {
-+ !(hasBelowBaseForm || hasPostBaseForm || hasPreBaseForm)) {
- break;
- }
-
-+ // Note any pre-base consonants
-+ if ( baseConsonant == lastConsonant && lastConsonant > 0 &&
-+ hasPreBaseForm && classTable->isVirama(chars[baseConsonant - 1])) {
-+ output.notePreBaseConsonant(lastConsonant,chars[lastConsonant],chars[lastConsonant-1],tagArray2);
-+ seenPreBaseForm = TRUE;
-+
-+ }
- // consonants with nuktas are never vattus
- seenVattu = IndicClassTable::isVattu(charClass) && !hasNukta;
-@@ -786,10 +828,12 @@
-
- // write any pre-base consonants
-+ output.writePreBaseConsonant();
-+
- le_bool supressVattu = TRUE;
-
- for (i = baseLimit; i < baseConsonant; i += 1) {
- LEUnicode ch = chars[i];
-- // Don't put 'blwf' on first consonant.
-- FeatureMask features = (i == baseLimit? tagArray2 : tagArray1);
-+ // Don't put 'pstf' or 'blwf' on anything before the base consonant.
-+ FeatureMask features = tagArray1 & ~( pstfFeatureMask | blwfFeatureMask );
-
- charClass = classTable->getCharClass(ch);
-@@ -842,5 +886,5 @@
-
- // write below-base consonants
-- if (baseConsonant != lastConsonant) {
-+ if (baseConsonant != lastConsonant && !seenPreBaseForm) {
- for (i = bcSpan + 1; i < postBase; i += 1) {
- output.writeChar(chars[i], i, tagArray1);
-@@ -872,5 +916,5 @@
- // write post-base consonants
- // FIXME: does this put the right tags on post-base consonants?
-- if (baseConsonant != lastConsonant) {
-+ if (baseConsonant != lastConsonant && !seenPreBaseForm) {
- if (postBase <= lastConsonant) {
- for (i = postBase; i <= lastConsonant; i += 1) {
diff --git a/staging/libreoffice/PKGBUILD b/staging/libreoffice/PKGBUILD
deleted file mode 100644
index 4fd0cf1a8..000000000
--- a/staging/libreoffice/PKGBUILD
+++ /dev/null
@@ -1,701 +0,0 @@
-# $Id: PKGBUILD 126270 2011-06-03 14:47:40Z stephane $
-# Maintainer: AndyRTR <andyrtr@archlinux.org>
-
-pkgbase="libreoffice"
-pkgname=('libreoffice' 'libreoffice-sdk'
- #'libreoffice-extension-barcode' #
- 'libreoffice-extension-diagram'
- 'libreoffice-extension-google-docs'
- 'libreoffice-extension-hunart'
- #'libreoffice-extension-lightproof' # no source integration
- #'libreoffice-extension-mysql-connector' # missing libmysqlcppconn-dev configure: error: mysql_driver.h not found. install MySQL C++ Connectivity
- 'libreoffice-extension-nlpsolver'
- 'libreoffice-extension-ct2n'
- 'libreoffice-extension-numbertext'
- 'libreoffice-extension-oooblogger'
- 'libreoffice-extension-pdfimport'
- 'libreoffice-extension-presenter-screen'
- 'libreoffice-extension-presentation-minimizer'
- 'libreoffice-extension-report-builder'
- 'libreoffice-extension-scripting-beanshell'
- 'libreoffice-extension-scripting-javascript'
- 'libreoffice-extension-scripting-python'
- 'libreoffice-extension-typo'
- 'libreoffice-extension-validator'
- 'libreoffice-extension-watch-window'
- 'libreoffice-extension-wiki-publisher')
-_LOver=3.4.0.2
-pkgver=3.4.0
-pkgrel=2
-arch=('i686' 'x86_64')
-#_LO_tree="3.4"
-_OFFICEUPD="340"
-license=('LGPL3')
-url="http://www.libreoffice.org/"
-makedepends=( # makedepends
- 'sane' 'perl-archive-zip' 'zip' 'unzip' 'xulrunner' 'unixodbc' 'hsqldb-java' #'boost' - we use internal one for now that has some gcc4.6 fixes.
- 'apache-ant' 'gperf' 'poppler' 'kdelibs' 'gconf' 'cppunit' #'libmysqlclient'
- 'beanshell' 'vigra' 'libldap' 'lucene' 'libmythes' 'junit' 'libwpg' 'imagemagick'
- 'mesa' 'gstreamer0.10-base' 'java-runtime'
- #'saxon' - currently broken
- # the depends from libreoffice main pkg
- "curl>=7.20.0" "hunspell>=1.2.8" "python2>=2.7" 'libwpd>=0.9.2' 'libwps' 'libxaw' "neon>=0.28.6"
- 'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' 'dbus-glib' "icu>=4.6" 'libxslt'
- 'redland' 'libgraphite' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'libtextcat'
- 'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'gtk2' # keep gtk2 for install script
- 'ttf-dejavu') # to satisfy regression tests
- # translate-toolkit - todo move them to extra to allow --with-system-foo builds
-# http://download.documentfoundation.org/mirrors/all.html
-# http://wiki.documentfoundation.org/Mirrors
-_mirror="http://download.documentfoundation.org/libreoffice/src"
-#_mirror="http://dev-builds.libreoffice.org/pre-releases/src/"
-_additional_source_url="http://hg.services.openoffice.org/binaries"
-source=(${_mirror}/${pkgbase}-{artwork,base,bootstrap,calc,components,extensions,extras,filters,help,impress,libs-core,libs-extern,libs-extern-sys,libs-gui,postprocess,sdk,testing,ure,writer}-${_LOver}.tar.bz2 #,translations
- ${_additional_source_url}/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz
- ${_additional_source_url}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
- ${_additional_source_url}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
- ${_additional_source_url}/fdb27bfe2dbe2e7b57ae194d9bf36bab-SampleICC-1.3.2.tar.gz
- ${_additional_source_url}/ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip
- ${_additional_source_url}/2a177023f9ea8ec8bd00837605c5df1b-jakarta-tomcat-5.0.30-src.tar.gz
- ${_additional_source_url}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
- ${_additional_source_url}/3c219630e4302863a9a83d0efde889db-commons-logging-1.1.1-src.tar.gz
- ${_additional_source_url}/2ae988b339daec234019a7066f96733e-commons-lang-2.3-src.tar.gz
- ${_additional_source_url}/2c9b0f83ed5890af02c0df1c1776f39b-commons-httpclient-3.1-src.tar.gz
- ${_additional_source_url}/af3c3acf618de6108d65fcdc92b492e1-commons-codec-1.3-src.tar.gz
- ${_additional_source_url}/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip
- ${_additional_source_url}/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
- ${_additional_source_url}/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip
- ${_additional_source_url}/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip
- ${_additional_source_url}/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip
- ${_additional_source_url}/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip
- ${_additional_source_url}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
- ${_additional_source_url}/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip
- ${_additional_source_url}/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
- ${_additional_source_url}/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
- ${_additional_source_url}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
- ${_additional_source_url}/18f577b374d60b3c760a3a3350407632-STLport-4.5.tar.gz
- http://download.go-oo.org/src/7a0dcb3fe1e8c7229ab4fb868b7325e6-mdds_0.5.2.tar.bz2
- http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll
- http://download.go-oo.org/extern/b4cae0700aa1c2aef7eb7f345365e6f1-translate-toolkit-1.8.1.tar.bz2
- http://download.go-oo.org/src/451ccf439a36a568653b024534669971-ConvertTextToNumber-1.3.2.oxt
- http://download.go-oo.org/src/90401bca927835b6fbae4a707ed187c8-nlpsolver-0.9.tar.bz2
- http://download.go-oo.org/src/f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2
- http://ooo.itc.hu/oxygenoffice/download/libreoffice/7e7efc5d4a03126bb9ae3ae9aa2c4e87-Barcode_1.3.1.0.oxt
- http://ooo.itc.hu/oxygenoffice/download/libreoffice/41c9b65ad60af4b3255bbecdfef11736-Diagram_1.1.0.0.oxt
- http://ooo.itc.hu/oxygenoffice/download/libreoffice/451ccf439a36a568653b024534669971-ConvertTextToNumber-1.3.2.oxt
- http://ooo.itc.hu/oxygenoffice/download/libreoffice/bbdd5639ada63e3130761daaecae1a10-Validator_1.1.0.0.oxt
- http://ooo.itc.hu/oxygenoffice/download/libreoffice/23bd75552206dfcd8fd4e29137dcac84-WatchWindow_1.2.0.0.oxt
- http://ooo.itc.hu/oxygenoffice/download/libreoffice/b8cbca7b3363e6ca2d02bc0ba2b63904-numbertext_0.9.4.oxt
- http://ooo.itc.hu/oxygenoffice/download/libreoffice/b632bdd25649cc4067bcb410bae23d2b-hunart_0.3.oxt
- http://ooo.itc.hu/oxygenoffice/download/libreoffice/9d60b6cfa3ef1926848710bbcd11115b-typo_0.4.2.oxt
- http://ooo.itc.hu/oxygenoffice/download/libreoffice/dbaafd21de055e582d92d7d32fe9da13-gdocs_2.3.1.oxt
- http://ooo.itc.hu/oxygenoffice/download/libreoffice/b7b2d0e04e142f26dd96119c80757d1f-oooblogger_0.1.oxt
- buildfix_i116795.diff
- buildfix_boost.diff
- buildfix_ct2n.diff
- vbahelper.visibility.patch
- buildfix_bison25.diff)
-noextract=(185d60944ea767075d27247c3162b3bc-unowinreg.dll
- b4cae0700aa1c2aef7eb7f345365e6f1-translate-toolkit-1.8.1.tar.bz2
- 7a0dcb3fe1e8c7229ab4fb868b7325e6-mdds_0.5.2.tar.bz2
- ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip
- 798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
- 1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz
- fdb27bfe2dbe2e7b57ae194d9bf36bab-SampleICC-1.3.2.tar.gz
- 35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
- 2a177023f9ea8ec8bd00837605c5df1b-jakarta-tomcat-5.0.30-src.tar.gz
- a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
- 3c219630e4302863a9a83d0efde889db-commons-logging-1.1.1-src.tar.gz
- 2ae988b339daec234019a7066f96733e-commons-lang-2.3-src.tar.gz
- 2c9b0f83ed5890af02c0df1c1776f39b-commons-httpclient-3.1-src.tar.gz
- af3c3acf618de6108d65fcdc92b492e1-commons-codec-1.3-src.tar.gz
- eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip
- 39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
- 3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip
- 97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip
- f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip
- 8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip
- d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
- 3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip
- ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
- db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
- ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
- 18f577b374d60b3c760a3a3350407632-STLport-4.5.tar.gz
- 7e7efc5d4a03126bb9ae3ae9aa2c4e87-Barcode_1.3.1.0.oxt
- 41c9b65ad60af4b3255bbecdfef11736-Diagram_1.1.0.0.oxt
- 451ccf439a36a568653b024534669971-ConvertTextToNumber-1.3.2.oxt
- bbdd5639ada63e3130761daaecae1a10-Validator_1.1.0.0.oxt
- 23bd75552206dfcd8fd4e29137dcac84-WatchWindow_1.2.0.0.oxt
- b8cbca7b3363e6ca2d02bc0ba2b63904-numbertext_0.9.4.oxt
- b632bdd25649cc4067bcb410bae23d2b-hunart_0.3.oxt
- 9d60b6cfa3ef1926848710bbcd11115b-typo_0.4.2.oxt
- dbaafd21de055e582d92d7d32fe9da13-gdocs_2.3.1.oxt
- b7b2d0e04e142f26dd96119c80757d1f-oooblogger_0.1.oxt
- 90401bca927835b6fbae4a707ed187c8-nlpsolver-0.9.tar.bz2
- f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2)
-md5sums=('7427ddd5ae63b6ee7aa868201dfbccaa'
- 'a78a8e08731213da02c65060cedc5589'
- '596da255e2728faccc8f2361171270ec'
- '8ed9803a34d13da1764e7523d550d6b0'
- '9be46d7c4bf3a60ee8dd0a5ef3638f82'
- 'b60db802866ab71c485de42e6382d1bb'
- '09e374cf3bd8f07a043883393012d69b'
- 'af9f25aa04dc4ef7b797f7bcc743877c'
- 'ad29de786d76d67759f9d2dd574b29be'
- 'ff13a8ac0ea324122b75773fd80a9245'
- '6eb8f53e01da7a945ee4cd42b7297732'
- '90df27d4cbf490668ce4f03ff7dba521'
- 'c0ea197183564c49306a1c79ca571e51'
- '91e69ed3c0be542fa7f69ca3da2d7808'
- 'a81c787b2e5469c2acc9f335b2c9e52f'
- 'ee1c78af6553657614b1a43adf4750ac'
- 'c970d6212618fc9b34526907eb030ce6'
- '6d25488c81af09d87015bf487243042f'
- '9a39234a49516b7035309e28dd4f0784'
- '1f24ab1d39f4a51faf22244c94a6203f'
- '35c94d2df8893241173de1d16b6034c0'
- '798b2ffdc8bcfe7bca2cf92b62caf685'
- 'fdb27bfe2dbe2e7b57ae194d9bf36bab'
- 'ada24d37d8d638b3d8a9985e80bc2978'
- '2a177023f9ea8ec8bd00837605c5df1b'
- 'a7983f859eafb2677d7ff386a023bc40'
- '3c219630e4302863a9a83d0efde889db'
- '2ae988b339daec234019a7066f96733e'
- '2c9b0f83ed5890af02c0df1c1776f39b'
- 'af3c3acf618de6108d65fcdc92b492e1'
- 'eeb2c7ddf0d302fba4bfc6e97eac9624'
- '39bb3fcea1514f1369fcfc87542390fd'
- '3404ab6b1792ae5f16bbd603bd1e1d03'
- '97b2d4dba862397f446b217e2b623e71'
- 'f94d9870737518e3b597f9265f4e9803'
- '8ce2fcd72becf06c41f7201d15373ed9'
- 'd8bd5eed178db6e2b18eeed243f85aa8'
- '3bdf40c0d199af31923e900d082ca2dd'
- 'ace6ab49184e329db254e454a010f56d'
- 'db60e4fde8dd6d6807523deb71ee34dc'
- 'ba2930200c9f019c2d93a8c88c651a0f'
- '18f577b374d60b3c760a3a3350407632'
- '7a0dcb3fe1e8c7229ab4fb868b7325e6'
- '185d60944ea767075d27247c3162b3bc'
- 'b4cae0700aa1c2aef7eb7f345365e6f1'
- '451ccf439a36a568653b024534669971'
- '90401bca927835b6fbae4a707ed187c8'
- 'f02578f5218f217a9f20e9c30e119c6a'
- '7e7efc5d4a03126bb9ae3ae9aa2c4e87'
- '41c9b65ad60af4b3255bbecdfef11736'
- '451ccf439a36a568653b024534669971'
- 'bbdd5639ada63e3130761daaecae1a10'
- '23bd75552206dfcd8fd4e29137dcac84'
- 'b8cbca7b3363e6ca2d02bc0ba2b63904'
- 'b632bdd25649cc4067bcb410bae23d2b'
- '9d60b6cfa3ef1926848710bbcd11115b'
- 'dbaafd21de055e582d92d7d32fe9da13'
- 'b7b2d0e04e142f26dd96119c80757d1f'
- '0520d63c946e272ed3bdfc863fbdc42e'
- 'bc228237108cab7745897a9f466b6d39'
- 'eee273f501ff45dc5f1365e78c6d57c0'
- '43b145db28e6c0d73578ae6fd35e510d'
- '4fa96e04b41a6e86774e74a972024b3e')
-
-build() {
-
- unset J2REDIR; unset J2SDKDIR; unset JAVA_HOME; unset CLASSPATH; unset EXTRAOPTS
- [ -z "${JAVA_HOME}" ] && . /etc/profile.d/openjdk6.sh
- [ -z "${MOZ_PLUGIN_PATH}" ] && . /etc/profile.d/mozilla-common.sh
- [ -z "${ANT_HOME}" ] && . /etc/profile.d/apache-ant.sh
-
- # move all LibO sources into one build directory
- mkdir ${srcdir}/build && cd ${srcdir}/build
- for i in libreoffice-{artwork,base,bootstrap,calc,components,extensions,extras,filters,help,impress,libs-core,libs-extern,libs-extern-sys,libs-gui,postprocess,sdk,testing,ure,writer}-${_LOver}; do #,translations
- mv ${srcdir}/$i/* .
- done
-
- # move external sources into place
- mkdir ${srcdir}/ext_sources && cd ${srcdir}/ext_sources
- for source in "${noextract[@]}"; do
- ln -s ${srcdir}/$source .
- done
-
- cd ${srcdir}/build
-
- # buildfixes & bugfixes
- patch -Np1 -i ${srcdir}/buildfix_i116795.diff
- patch -Np1 -i ${srcdir}/buildfix_boost.diff
- patch -Np1 -i ${srcdir}/buildfix_ct2n.diff
- patch -Np0 -i ${srcdir}/vbahelper.visibility.patch
- patch -Np0 -i ${srcdir}/buildfix_bison25.diff
-
- # unset C(XX)FLAGS
- # http://www.openoffice.org/issues/show_bug.cgi?id=103205
-# unset CFLAGS
-# unset CXXFLAGS
-
- #use the CFLAGS but remove the LibO overridden ones
- for i in $CFLAGS; do
- case "$i" in
- -O?|-pipe|-Wall|-g|-fexceptions) continue;;
- esac
- ARCH_FLAGS="$ARCH_FLAGS $i"
- done
-
- # python2 fix
- export PYTHON=python2
-
- # http://wiki.documentfoundation.org/Development/How_to_build/Configure_options
-
-# if [ "$CARCH" = "x86_64" ]; then
-# EXTRAOPTS="--without-stlport"
-# else
-# EXTRAOPTS="--with-stlport" # --without-system-boost"
-# # # avoid problems with ixion for now
-# sed -i '/fields-table-formula.diff/d' patches/dev300/apply || return 1
-# fi
-
-# autoconf -v -f
-
- # non-SMP test build
-# export MAKEFLAGS="-j1"
- ./configure --with-build-version="${_LOver} ArchLinux build-${pkgrel}" --with-vendor="ArchLinux" \
- --with-unix-wrapper="libreoffice" \
- --with-max-jobs=${MAKEFLAGS/-j/} --with-num-cpus=${MAKEFLAGS/-j/} \
- --with-external-tar="${srcdir}/ext_sources" \
- --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc \
- --with-install-dirname="${pkgbase}" --libdir=/usr/lib --mandir=/usr/share/man \
- --with-lang="" \
- --disable-verbose \
- --enable-cairo\
- --enable-crashdump \
- --enable-dbus \
- --enable-evolution2\
- --disable-graphite\
- --enable-gio\
- --disable-gnome-vfs\
- --disable-kde\
- --enable-kde4\
- --enable-ldap \
- --enable-lockdown\
- --enable-opengl \
- --enable-odk\
- --enable-opengl\
- --enable-ext-barcode \
- --enable-ext-diagram \
- --enable-ext-google-docs \
- --enable-ext-hunart \
- --disable-ext-lightproof \
- --disable-ext-mysql-connector \
- --with-system-mysql \
- --enable-ext-nlpsolver \
- --enable-ext-ct2n \
- --enable-ext-numbertext \
- --enable-ext-oooblogger \
- --enable-ext-pdfimport \
- --enable-ext-presenter-console \
- --enable-ext-presenter-minimizer \
- --enable-ext-report-builder \
- --enable-ext-scripting-beanshell \
- --enable-ext-scripting-javascript \
- --enable-ext-scripting-python \
- --enable-ext-typo \
- --enable-ext-validator \
- --enable-ext-watch-window \
- --enable-ext-wiki-publisher \
- --without-fonts\
- --without-afms\
- --without-ppds\
- --without-system-libwps\
- --without-system-mdds\
- --without-myspell-dicts \
- --with-system-dicts \
- --with-external-dict-dir=/usr/share/hunspell \
- --with-external-hyph-dir=/usr/share/hyphen \
- --with-external-thes-dir=/usr/share/mythes \
- --with-system-cppunit\
- --with-system-libwpg \
- --with-system-libwps \
- --with-system-redland\
- --without-system-saxon\
- --with-system-libtextcat \
- --with-external-libtextcat-data \
- --with-openldap\
- --with-ant-home="/usr/share/java/apache-ant"\
- --without-system-boost\
- --with-system-cairo\
- --with-system-libs\
- --with-system-mozilla\
- --with-system-mythes\
- --with-system-xrender-headers\
- --with-system-headers\
- --with-alloc=system\
- --with-system-lucene\
- --with-lucene-core-jar=/usr/share/java/lucene-core.jar\
- --with-lucene-analyzers-jar=/usr/share/java/lucene-analyzers.jar\
- $EXTRAOPTS || return 1
-
-#--with-system-graphite --enable-graohite ?
-#--with-servlet-api-jar=JARFILE
-# see http://qa.openoffice.org/issues/show_bug.cgi?id=110136
-# --with-system-saxon\
-# --with-saxon-jar=/usr/share/java/saxon/saxon9he.jar\
-
- touch src.downloaded
- #./download
- unset MAKEFLAGS
- ./bootstrap
- make
-}
-
-#check() {
-# cd ${srcdir}/build
-# make check
-#}
-
-package_libreoffice() {
-
- pkgdesc="a productivity suite that is compatible with other major office suites"
- install=${pkgbase}.install
- depends=("curl>=7.20.0" "hunspell>=1.2.8" "python2>=2.7" 'libwpd>=0.9.2' 'libwps' 'libxaw' "neon>=0.28.6"
- 'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' 'dbus-glib' "icu>=4.6" 'libxslt'
- 'redland' 'libgraphite' 'hyphen' 'lpsolve' 'gcc-libs' 'sh' 'libtextcat'
- 'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'gtk2') # keep gtk2 for install script
- #'java-runtime'
- #'saxon'
- optdepends=('java-runtime: adds java support'
- 'libcups: adds printing support'
- 'gconf: adds additional gnome support'
- 'nss: adds support for signed files/macros'
- 'pstoedit: translates PostScript and PDF graphics into other vector formats'
- 'poppler: for shipped pdfimport extension'
- 'kdelibs: for kde integration'
- 'libmythes: for use in thesaurus'
- 'hsqldb-java: default database format for OpenOffice.org'
- 'beanshell: interactive java -- good for prototyping /macros'
- 'vigra: C++ computer vision library, usable in Basebmp'
- 'libmspack: library for Microsoft compression formats for use in FontOOo'
- 'libwpg: library for importing and converting Corel WordPerfect(tm) Graphics images'
- 'libldap: to get profiles via ldap'
- 'lucene: full-text search engine library for Java needed in the help section'
- 'sane: for scanner access'
- 'unixodbc: adds ODBC database support'
- 'mesa: for the OGLTrans extension'
- 'gstreamer0.10-base: + some gstr-plugins to support multimedia content, e.g. in impress')
- backup=(etc/libreoffice/sofficerc
- etc/libreoffice/bootstraprc
- etc/libreoffice/psprint.conf)
- provides=('go-openoffice')
- conflicts=('go-openoffice')
- replaces=('go-openoffice' 'openoffice-base' )
-
- cd ${srcdir}/build
- make DESTDIR=${pkgdir} install
-
- # fix missing desktop integration
- install -dm755 ${pkgdir}/usr/bin
- pushd ${pkgdir}/usr/bin
- ln -vs /usr/lib/libreoffice/program/soffice ./libreoffice
- ln -vs /usr/lib/libreoffice/program/soffice ./soffice
- ln -vs /usr/lib/libreoffice/program/sbase ./lobase
- ln -vs /usr/lib/libreoffice/program/scalc ./localc
- ln -vs /usr/lib/libreoffice/program/sdraw ./lodraw
- ln -vs /usr/lib/libreoffice/program/simpress ./loimpress
- ln -vs /usr/lib/libreoffice/program/smath ./lomath
- ln -vs /usr/lib/libreoffice/program/swriter ./lowriter
- ln -vs /usr/lib/libreoffice/program/unopkg ./unopkg
- popd
-
- # move sysui desktop files into place we want to use - javafilter and qstarter, but not unneeded printeradmin
- install -dm755 ${pkgdir}/usr/share/{applications,icons,mime/packages,pixmaps}
- rm ${pkgdir}/usr/lib/libreoffice/share/xdg/printeradmin.desktop
- for i in base calc draw impress javafilter math qstart startcenter writer; do
- cp ${pkgdir}/usr/lib/libreoffice/share/xdg/$i.desktop ${pkgdir}/usr/share/applications/libreoffice-$i.desktop
- done
- # remove version in menu entry and make it visible
- sed -i -e "s/3.4//g" ${pkgdir}/usr/share/applications/*.desktop
- sed -i -e "s/Icon=libreoffice34-/Icon=/g" ${pkgdir}/usr/share/applications/*.desktop
- sed -i -e "/NoDisplay=true/d" ${pkgdir}/usr/share/applications/libreoffice-qstart.desktop
- echo "Icon=startcenter" >> ${pkgdir}/usr/share/applications/libreoffice-qstart.desktop
- # remove unneeded .desktop files
- rm -rf ${pkgdir}/usr/lib/libreoffice/share/xdg
-
- # add missing icon files
- cp -R ${srcdir}/build/sysui/desktop/icons/{hi,lo}color ${pkgdir}/usr/share/icons/
- pushd ${pkgdir}/usr/share/pixmaps
- for i in base calc draw impress main math printeradmin startcenter writer; do
- ln -vs /usr/share/icons/hicolor/48x48/apps/$i.png .
- done
- popd
- sed -i -e 's/Icon=libreoffice-/Icon=/' ${pkgdir}/usr/share/applications/*.desktop
-
- # add missing mimetype file
- install -m644 ${srcdir}/build/sysui/unxlng*/misc/libreoffice/openoffice.org.xml ${pkgdir}/usr/share/mime/packages/libreoffice.xml
-
- # put configuration files into place
- install -dm755 ${pkgdir}/etc/libreoffice
- install -m644 ${pkgdir}/usr/lib/libreoffice/program/{bootstraprc,sofficerc} ${pkgdir}/etc/libreoffice/
- install -m644 ${pkgdir}/usr/lib/libreoffice/basis3.4/share/psprint/psprint.conf ${pkgdir}/etc/libreoffice/
- # install dummy links to make them found by LibO
- cd ${pkgdir}/usr/lib/libreoffice/program/
- ln -vsf /etc/libreoffice/{bootstraprc,sofficerc} .
- cd ${pkgdir}/usr/lib/libreoffice/basis3.4/share/psprint/
- ln -vsf /etc/libreoffice/psprint.conf .
-
- #fix http://bugs.archlinux.org/task/17656
- find ${pkgdir} -perm 444 -exec ls -lh {} \;
- find ${pkgdir} -perm 444 -exec chmod 644 {} \;
- find ${pkgdir} -perm 555 -exec ls -lh {} \;
- find ${pkgdir} -perm 555 -exec chmod 755 {} \;
-
- # split out extensions
- mv ${pkgdir}/usr/lib/libreoffice/share/extensions ${srcdir}/extensions-install
- install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
- install -m644 ${srcdir}/extensions-install/package.txt ${pkgdir}/usr/lib/libreoffice/share/extensions/
-
- # move SDK to separated package
- mkdir -p ${srcdir}/sdk-install/usr/lib/libreoffice/basis3.4/sdk
- mv ${pkgdir}/usr/lib/libreoffice/basis3.4/sdk ${srcdir}/sdk-install/usr/lib/libreoffice/basis3.4/
-
- # cleanup gid_Module files
- mkdir ${srcdir}/splitlist
- mv -f ${pkgdir}/gid_Module* ${srcdir}/splitlist/
-}
-
-package_libreoffice-sdk() {
-
- pkgdesc="Software development kit for LibreOffice"
- depends=('libreoffice' 'gcc-libs' 'sh')
-
- cd ${srcdir}/sdk-install
- cp -r * ${pkgdir}
-
- cd ${pkgdir}/usr/lib/libreoffice/basis3.4/sdk
- mv setsdkenv_unix setsdkenv_unix.sh && chmod 755 setsdkenv_unix.sh
- rm -f ${pkgdir}/usr/lib/libreoffice/basis3.4/sdk/setsdkenv_unix.{csh,sh}.in
- #fix permissions
- find examples -type f -exec chmod -x {} \;
-}
-
-package_libreoffice-extension-barcode() {
-
- pkgdesc="This extension generates UPC-A, EAN-13, ISBN and JAN barcodes in Draw "
- #arch=('any')
- depends=('libreoffice')
- groups=('libreoffice-extensions')
-
- install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
- unzip -q ${srcdir}/7e7efc5d4a03126bb9ae3ae9aa2c4e87-Barcode_1.3.1.0.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/Barcode
- chmod o-w -R ${pkgdir}/usr/lib/libreoffice/share/extensions/Barcode
-}
-
-package_libreoffice-extension-diagram() {
-
- pkgdesc="An OOo Draw and Impress extension that creates your favorite diagrams with a few clicks"
- #arch=('any')
- depends=('libreoffice')
- groups=('libreoffice-extensions')
-
- install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
- unzip -q ${srcdir}/41c9b65ad60af4b3255bbecdfef11736-Diagram_1.1.0.0.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/diagram
-}
-
-package_libreoffice-extension-google-docs() {
-
- pkgdesc="Google Documents extension for LibreOffice"
- #arch=('any')
- depends=('libreoffice')
- groups=('libreoffice-extensions')
-
- install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
- unzip -q ${srcdir}/dbaafd21de055e582d92d7d32fe9da13-gdocs_2.3.1.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/google-docs
-}
-
-package_libreoffice-extension-hunart() {
-
- pkgdesc="Hungarian cross-reference toolbar extension"
- #arch=('any')
- depends=('libreoffice')
- groups=('libreoffice-extensions')
-
- install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
- unzip -q ${srcdir}/b632bdd25649cc4067bcb410bae23d2b-hunart_0.3.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/hunart
-}
-
-#package_libreoffice-extension-lightproof() {
-
-# pkgdesc="Lightproof extension for LibreOffice"
- #arch=('any')
-# depends=('libreoffice')
-# groups=('libreoffice-extensions')
-
-# install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
-# unzip -q ${srcdir}/${pkgbase}-build-${_LOver}/build/libreoffice-${_LOver}/solver/${_OFFICEUPD}/unxlng*/bin/Lightproof.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/lightproof
-#}
-
-#package_libreoffice-extension-mysql-connector() {
-
-# pkgdesc="MySQL Connector extension for LibreOffice"
- #arch=('any')
-# depends=('libreoffice')
-# groups=('libreoffice-extensions')
-
-# install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
-# unzip -q ${srcdir}/${pkgbase}-build-${_LOver}/build/libreoffice-${_LOver}/solver/${_OFFICEUPD}/unxlng*/bin/Mysql-connector.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/mysql-connector
-#}
-
-package_libreoffice-extension-nlpsolver() {
-
- pkgdesc="This extension integrates into Calc and offers new Solver engines to use for optimizing nonlinear programming models"
- #arch=('any')
- depends=('libreoffice')
- groups=('libreoffice-extensions')
-
- install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
- unzip -q ${srcdir}/build/solver/${_OFFICEUPD}/unxlng*/bin/NLPSolver.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/nlpsolver
-}
-
-package_libreoffice-extension-ct2n() {
-
- pkgdesc="This extension enables you to convert text-cells in Calc with numbers and dates, to real numbers and dates."
- #arch=('any')
- depends=('libreoffice')
- groups=('libreoffice-extensions')
-
- install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
- unzip -q ${srcdir}/build/solver/${_OFFICEUPD}/unxlng*/bin/ConvertTextToNumber.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/ct2n
-}
-
-package_libreoffice-extension-numbertext() {
-
- pkgdesc="NUMBERTEXT/MONEYTEXT extensions"
- #arch=('any')
- depends=('libreoffice')
- groups=('libreoffice-extensions')
-
- install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
- unzip -q ${srcdir}/b8cbca7b3363e6ca2d02bc0ba2b63904-numbertext_0.9.4.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/numbertext
-}
-
-package_libreoffice-extension-oooblogger() {
-
- pkgdesc="An extensions for blogging"
- #arch=('any')
- depends=('libreoffice' 'coreutils')
- groups=('libreoffice-extensions')
-
- install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
- unzip -q ${srcdir}/b7b2d0e04e142f26dd96119c80757d1f-oooblogger_0.1.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/oooblogger
-}
-
-package_libreoffice-extension-pdfimport() {
-
- pkgdesc="This extension allows you to import and modify PDF documents"
- depends=('libreoffice' 'poppler')
- groups=('libreoffice-extensions')
-
- install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
- unzip -q ${srcdir}/build/solver/${_OFFICEUPD}/unxlng*/bin/pdfimport/pdfimport.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/pdfimport
-}
-
-package_libreoffice-extension-presenter-screen() {
-
- pkgdesc="This extension provides more control over your slide show presentation, such as the ability to see the upcoming slide, the slide notes, and a presentation timer whereas the audience see only the current slide"
- depends=('libreoffice')
- groups=('libreoffice-extensions')
-
- install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
- unzip -q ${srcdir}/build/solver/${_OFFICEUPD}/unxlng*/bin/presenter-screen.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/presenter-screen
-}
-
-package_libreoffice-extension-presentation-minimizer() {
-
- pkgdesc="This extension reduce the file size of the current presentation"
- depends=('libreoffice' 'gcc-libs')
- groups=('libreoffice-extensions')
-
- install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
- unzip -q ${srcdir}/build/solver/${_OFFICEUPD}/unxlng*/bin/presentation-minimizer.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/presentation-minimizer
-}
-
-package_libreoffice-extension-report-builder() {
-
- pkgdesc="This extension creates smart-looking database reports"
- #arch=('any')
- depends=('libreoffice')
- groups=('libreoffice-extensions')
-
- install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
- unzip -q ${srcdir}/build/solver/${_OFFICEUPD}/unxlng*/bin/report-builder.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/report-builder
-}
-
-package_libreoffice-extension-scripting-beanshell() {
-
- pkgdesc="LibreOffice extension - Enables support for scripts in BeanShell"
- depends=('libreoffice')
- groups=('libreoffice-extensions')
-
- install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
- unzip -q ${srcdir}/build/solver/${_OFFICEUPD}/unxlng*/bin/script-provider-for-beanshell.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/script-provider-for-beanshell
-}
-
-package_libreoffice-extension-scripting-javascript() {
-
- pkgdesc="LibreOffice extension - Enables support for scripts in JavaScript"
- depends=('libreoffice')
- groups=('libreoffice-extensions')
-
- install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
- unzip -q ${srcdir}/build/solver/${_OFFICEUPD}/unxlng*/bin/script-provider-for-javascript.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/script-provider-for-javascript
-}
-
-package_libreoffice-extension-scripting-python() {
-
- pkgdesc="LibreOffice extension - Enables support for scripts in Python"
- depends=('libreoffice')
- groups=('libreoffice-extensions')
-
- install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
- unzip -q ${srcdir}/build/solver/${_OFFICEUPD}/unxlng*/bin/script-provider-for-python.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/script-provider-for-python
-}
-
-package_libreoffice-extension-typo() {
-
- pkgdesc="Typography toolbar extension"
- #arch=('any')
- depends=('libreoffice')
- groups=('libreoffice-extensions')
-
- install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
- unzip -q ${srcdir}/9d60b6cfa3ef1926848710bbcd11115b-typo_0.4.2.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/typo
- chmod o+r -R ${pkgdir}/usr/lib/libreoffice/share/extensions/typo
-}
-
-package_libreoffice-extension-validator() {
-
- pkgdesc="Validator extension for LibreOffice"
- #arch=('any')
- depends=('libreoffice')
- groups=('libreoffice-extensions')
-
- install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
- unzip -q ${srcdir}/bbdd5639ada63e3130761daaecae1a10-Validator_1.1.0.0.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/validator
-}
-
-package_libreoffice-extension-wiki-publisher() {
-
- pkgdesc="This extension enables you to create Wiki articles on MediaWiki servers without having to know the syntax of the MediaWiki markup language"
- #arch=('any')
- depends=('libreoffice')
- groups=('libreoffice-extensions')
-
- install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
- unzip -q ${srcdir}/build/solver/${_OFFICEUPD}/unxlng*/bin/wiki-publisher.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/wiki-publisher
-}
-
-package_libreoffice-extension-watch-window() {
-
- pkgdesc="A OOo Calc extension to add a Watch Window, which keeps the value of the monitored cell on the screen."
- #arch=('any')
- depends=('libreoffice')
- groups=('libreoffice-extensions')
-
- install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
- unzip -q ${srcdir}/23bd75552206dfcd8fd4e29137dcac84-WatchWindow_1.2.0.0.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/watch-window
-}
diff --git a/staging/libreoffice/buildfix_64bit_system_libjpeg.diff b/staging/libreoffice/buildfix_64bit_system_libjpeg.diff
deleted file mode 100644
index 1f4eb110f..000000000
--- a/staging/libreoffice/buildfix_64bit_system_libjpeg.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- solenv/inc/libs.mk 2009-07-02 09:44:33.084467312 +0000
-+++ solenv/inc/libs.mk.new 2009-07-02 10:44:03.420819776 +0000
-@@ -211,7 +211,7 @@
- .IF "$(OS)" == "FREEBSD"
- JPEG3RDLIB=/usr/local/lib/libjpeg.so
- .ELIF "$(CPUNAME)" == "X86_64" || "$(CPUNAME)" == "S390X" || "$(CPUNAME)" == "POWERPC64"
--JPEG3RDLIB=/usr/lib64/libjpeg.so
-+JPEG3RDLIB=/usr/lib/libjpeg.so
- .ELSE
- JPEG3RDLIB=/usr/lib/libjpeg.so
- .ENDIF
diff --git a/staging/libreoffice/buildfix_bison25.diff b/staging/libreoffice/buildfix_bison25.diff
deleted file mode 100644
index 869b6c81e..000000000
--- a/staging/libreoffice/buildfix_bison25.diff
+++ /dev/null
@@ -1,23 +0,0 @@
---- connectivity/source/parse/sqlbison.y 2011-05-20 13:21:02.000000000 -0600
-+++ connectivity/source/parse/sqlbison.y 2011-05-20 13:22:11.000000000 -0600
-@@ -4338,7 +4338,7 @@
- }
-
- // -------------------------------------------------------------------------
--void OSQLParser::error(sal_Char *fmt)
-+void OSQLParser::error(const sal_Char *fmt)
- {
- if(!m_sErrorMessage.getLength())
- {
---- connectivity/inc/connectivity/sqlparse.hxx 2011-05-20 13:23:58.000000000 -0600
-+++ connectivity/inc/connectivity/sqlparse.hxx 2011-05-20 13:23:46.000000000 -0600
-@@ -233,7 +233,7 @@
- // returns the type for a parameter in a given function name
- static sal_Int32 getFunctionParameterType(sal_uInt32 _nTokenId,sal_uInt32 _nPos);
-
-- void error(sal_Char *fmt);
-+ void error(const sal_Char *fmt);
- int SQLlex();
- #ifdef YYBISON
- void setParseTree(OSQLParseNode * pNewParseTree);
-
diff --git a/staging/libreoffice/buildfix_boost.diff b/staging/libreoffice/buildfix_boost.diff
deleted file mode 100644
index d8608d0d4..000000000
--- a/staging/libreoffice/buildfix_boost.diff
+++ /dev/null
@@ -1,40 +0,0 @@
-From bae4fdbd105142cd3f317445eddc826da529a732 Mon Sep 17 00:00:00 2001
-From: Caolán McNamara <caolanm@redhat.com>
-Date: Tue, 05 Apr 2011 14:07:02 +0000
-Subject: silence some more of that annoying gcc#47679
-
----
-diff --git a/boost/boost.gcc47679.patch b/boost/boost.gcc47679.patch
-index 1c804aa..9b33a5f 100644
---- a/boost/boost.gcc47679.patch
-+++ b/boost/boost.gcc47679.patch
-@@ -36,3 +36,26 @@
- template <int MaxDigits>
- inline bool allow_more_digits(std::size_t i)
- {
-+--- misc/boost_1_44_0/boost/optional/optional.hpp 2011-04-05 13:19:01.223587256 +0100
-++++ misc/build/boost_1_44_0/boost/optional/optional.hpp 2011-04-05 13:19:01.223587256 +0100
-+@@ -31,6 +31,8 @@
-+
-+ #include "boost/optional/optional_fwd.hpp"
-+
-++#include <string.h>
-++
-+ #if BOOST_WORKAROUND(BOOST_MSVC, == 1200)
-+ // VC6.0 has the following bug:
-+ // When a templated assignment operator exist, an implicit conversion
-+@@ -114,6 +116,11 @@
-+
-+ public:
-+
-++ aligned_storage()
-++ {
-++ memset(&dummy_, 0, sizeof(dummy_));
-++ }
-++
-+ void const* address() const { return &dummy_.data[0]; }
-+ void * address() { return &dummy_.data[0]; }
-+ } ;
---
-cgit v0.8.3-6-g21f6
-
diff --git a/staging/libreoffice/buildfix_ct2n.diff b/staging/libreoffice/buildfix_ct2n.diff
deleted file mode 100644
index 979587f79..000000000
--- a/staging/libreoffice/buildfix_ct2n.diff
+++ /dev/null
@@ -1,17 +0,0 @@
-From 90de903b28cb1884042be0eae3f8a55458c5bc29 Mon Sep 17 00:00:00 2001
-From: Caolán McNamara <caolanm@redhat.com>
-Date: Tue, 12 Apr 2011 19:35:51 +0000
-Subject: duplicate NULLs
-
----
-diff --git a/ct2n/prj/build.lst b/ct2n/prj/build.lst
-index 91f44b7..714d926 100644
---- a/ct2n/prj/build.lst
-+++ b/ct2n/prj/build.lst
-@@ -1,3 +1,3 @@
--ct2n ct2n : solenv NULL NULL
-+ct2n ct2n : solenv NULL
- ct2n ct2n usr1 - all ct2n_mkout NULL
- ct2n ct2n nmake - all ct2n_ct2n NULL
---
-cgit v0.8.3-6-g21f6
diff --git a/staging/libreoffice/buildfix_i116795.diff b/staging/libreoffice/buildfix_i116795.diff
deleted file mode 100644
index 8601bc164..000000000
--- a/staging/libreoffice/buildfix_i116795.diff
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -r 4ab9e11cb892 connectivity/qa/makefile.mk
---- a/connectivity/qa/makefile.mk Thu Mar 03 15:22:23 2011 +0100
-+++ b/connectivity/qa/makefile.mk Fri Mar 04 09:51:48 2011 +0100
-@@ -35,9 +35,16 @@
-
- #----- compile .java files -----------------------------------------
-
--JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar hsqldb.jar
- JAVAFILES := $(shell @$(FIND) complex -name "*.java")
-
-+JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-+
-+.IF "$(SYSTEM_HSQLDB)" == "YES"
-+EXTRAJARFILES = $(HSQLDB_JAR)
-+.ELSE
-+JARFILES += hsqldb.jar
-+.ENDIF
-+
- #----- make a jar from compiled files ------------------------------
-
- JARCLASSDIRS = $(PACKAGE)
-
diff --git a/staging/libreoffice/libreoffice.install b/staging/libreoffice/libreoffice.install
deleted file mode 100644
index 27f3173ae..000000000
--- a/staging/libreoffice/libreoffice.install
+++ /dev/null
@@ -1,25 +0,0 @@
-post_install() {
-
-gtk-update-icon-cache -f -q /usr/share/icons/hicolor
-update-desktop-database -q
-update-mime-database usr/share/mime > /dev/null 2>&1
-
-echo " * see http://wiki.archlinux.org/index.php/Openoffice"
-echo " * you may want to pacman -Ss libreoffice-extensions"
-echo " to see what extensions are prepared to install"
-echo " * it's recommended to install {hunspell,mythes,hyphen}-xx pkg for spell checking"
-echo " * make sure you have installed some ttf font (ttf-dejavu recommended)"
-}
-
-post_upgrade() {
-# post_install $1
-gtk-update-icon-cache -f -q /usr/share/icons/hicolor
-update-desktop-database -q
-update-mime-database usr/share/mime > /dev/null 2>&1
-}
-
-post_remove() {
-update-desktop-database -q
-gtk-update-icon-cache -f -q /usr/share/icons/hicolor
-update-mime-database usr/share/mime > /dev/null 2>&1
-}
diff --git a/staging/libreoffice/vbahelper.visibility.patch b/staging/libreoffice/vbahelper.visibility.patch
deleted file mode 100644
index 5739100d0..000000000
--- a/staging/libreoffice/vbahelper.visibility.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- vbahelper/inc/vbahelper/vbacollectionimpl.hxx 2011-01-28 20:27:51.507604173 +0000
-+++ vbahelper/inc/vbahelper/vbacollectionimpl.hxx 2011-01-28 20:28:26.230045727 +0000
-@@ -238,7 +238,7 @@
-
- // including a HelperInterface implementation
- template< typename Ifc1 >
--class ScVbaCollectionBase : public InheritedHelperInterfaceImpl< Ifc1 >
-+class VBAHELPER_DLLPUBLIC ScVbaCollectionBase : public InheritedHelperInterfaceImpl< Ifc1 >
- {
- typedef InheritedHelperInterfaceImpl< Ifc1 > BaseColBase;
- protected:
---- sc/Library_vbaobj.mk
-+++ sc/Library_vbaobj.mk
-@@ -118,7 +118,6 @@ $(eval $(call gb_Library_add_exception_objects,vbaobj,\
- sc/source/ui/vba/vbaquerytable \
- sc/source/ui/vba/vbarange \
- sc/source/ui/vba/vbasheetobject \
-- sc/source/ui/vba/vbasheetobjects \
- sc/source/ui/vba/vbastyle \
- sc/source/ui/vba/vbastyles \
- sc/source/ui/vba/vbatextboxshape \
-@@ -133,6 +132,11 @@ $(eval $(call gb_Library_add_exception_objects,vbaobj,\
- sc/source/ui/vba/vbawsfunction \
- ))
-
-+$(eval $(call gb_Library_add_cxxobjects,vbaobj,\
-+ sc/source/ui/vba/vbasheetobjects \
-+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
-+))
-+
- ifneq (,$(filter LINUX DRAGONFLY OPENBSD FREEBSD NETBSD, $(OS)))
- $(eval $(call gb_Library_set_ldflags,vbaobj,\
- $$(LDFLAGS) \
diff --git a/staging/libwebkit/PKGBUILD b/staging/libwebkit/PKGBUILD
deleted file mode 100644
index 032056ae3..000000000
--- a/staging/libwebkit/PKGBUILD
+++ /dev/null
@@ -1,61 +0,0 @@
-# $Id: PKGBUILD 126165 2011-06-01 22:31:25Z andyrtr $
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
-
-pkgbase=libwebkit
-pkgname=(libwebkit libwebkit3)
-pkgver=1.4.0
-pkgrel=2
-pkgdesc="An opensource web content engine"
-arch=('i686' 'x86_64')
-url="http://webkitgtk.org/"
-license=('custom')
-depends=('libxt' 'libxslt' 'sqlite3' 'icu' 'gstreamer0.10-base' 'libsoup' 'enchant')
-makedepends=('gperf' 'gtk-doc' 'gobject-introspection' 'python2' 'gtk2' 'gtk3')
-options=('!libtool')
-install=libwebkit.install
-source=(http://webkitgtk.org/webkit-${pkgver}.tar.gz
- gcc46.patch
- replace-switch-with-given-when.patch)
-md5sums=('10c969db3b5484c71df1aa9a338377ff'
- '970a2fa91b9827dff8e9b9edb4867701'
- '3ba708a26b7af0e1e853867966fe14f7')
-
-build() {
- cd "${srcdir}/webkit-${pkgver}"
- patch -Np1 -i "${srcdir}/gcc46.patch"
- patch -Np1 -i "${srcdir}/replace-switch-with-given-when.patch"
- mkdir build-gtk{2,3}
-
- ( cd build-gtk2 && _build --with-gtk=2.0 )
- ( cd build-gtk3 && _build --with-gtk=3.0 )
-}
-
-_build() {
- PYTHON=/usr/bin/python2 ../configure --prefix=/usr \
- --enable-introspection \
- --with-font-backend=freetype --enable-gtk-doc \
- --with-unicode-backend=icu \
- --enable-spellcheck "$@"
- make all stamp-po
-}
-
-package_libwebkit() {
- pkgdesc+=" (for GTK2)"
- depends+=(gtk2)
- provides=('webkitgtk-svn')
- conflicts=('webkitgtk-svn')
- replaces=('webkitgtk-svn')
-
- cd "$srcdir/webkit-$pkgver/build-gtk2"
- make DESTDIR="${pkgdir}" install
- install -Dm644 ../Source/WebKit/LICENSE "${pkgdir}/usr/share/licenses/libwebkit/LICENSE"
-}
-
-package_libwebkit3() {
- pkgdesc+=" (for GTK3)"
- depends+=(gtk3)
-
- cd "${srcdir}/webkit-${pkgver}/build-gtk3"
- make DESTDIR="${pkgdir}" install
- install -Dm644 ../Source/WebKit/LICENSE "${pkgdir}/usr/share/licenses/libwebkit3/LICENSE"
-}
diff --git a/staging/libwebkit/gcc46.patch b/staging/libwebkit/gcc46.patch
deleted file mode 100644
index befd892d4..000000000
--- a/staging/libwebkit/gcc46.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-Index: trunk/Source/WebCore/dom/make_names.pl
-===================================================================
---- trunk/Source/WebCore/dom/make_names.pl (revision 73989)
-+++ trunk/Source/WebCore/dom/make_names.pl (revision 84123)
-@@ -66,5 +66,5 @@
- $gccLocation = "/usr/bin/gcc";
- }
--my $preprocessor = $gccLocation . " -E -P -x c++";
-+my $preprocessor = $gccLocation . " -E -x c++";
-
- GetOptions(
diff --git a/staging/libwebkit/libwebkit.install b/staging/libwebkit/libwebkit.install
deleted file mode 100644
index 24072f316..000000000
--- a/staging/libwebkit/libwebkit.install
+++ /dev/null
@@ -1,11 +0,0 @@
-post_install() {
- usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/staging/libwebkit/replace-switch-with-given-when.patch b/staging/libwebkit/replace-switch-with-given-when.patch
deleted file mode 100644
index 4e64610bb..000000000
--- a/staging/libwebkit/replace-switch-with-given-when.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -upr webkit-1.4.0.orig/Source/WebCore/make-hash-tools.pl webkit-1.4.0/Source/WebCore/make-hash-tools.pl
---- webkit-1.4.0.orig/Source/WebCore/make-hash-tools.pl 2011-04-25 22:27:15.000000000 +0300
-+++ webkit-1.4.0/Source/WebCore/make-hash-tools.pl 2011-06-02 00:41:26.000000000 +0300
-@@ -20,7 +20,7 @@
- # Boston, MA 02110-1301, USA.
-
- use strict;
--use Switch;
-+use feature 'switch';
- use File::Basename;
-
- my $outdir = $ARGV[0];
-@@ -28,9 +28,9 @@ shift;
- my $option = basename($ARGV[0],".gperf");
-
-
--switch ($option) {
-+given ($option) {
-
--case "DocTypeStrings" {
-+when ("DocTypeStrings") {
-
- my $docTypeStringsGenerated = "$outdir/DocTypeStrings.cpp";
- my $docTypeStringsGperf = $ARGV[0];
-@@ -38,9 +38,9 @@ case "DocTypeStrings" {
-
- system("gperf --key-positions=\"*\" -s 2 $docTypeStringsGperf > $docTypeStringsGenerated") == 0 || die "calling gperf failed: $?";
-
--} # case "DocTypeStrings"
-+} # when ("DocTypeStrings")
-
--case "ColorData" {
-+when ("ColorData") {
-
- my $colorDataGenerated = "$outdir/ColorData.cpp";
- my $colorDataGperf = $ARGV[0];
-@@ -48,6 +48,6 @@ case "ColorData" {
-
- system("gperf --key-positions=\"*\" -D -s 2 $colorDataGperf > $colorDataGenerated") == 0 || die "calling gperf failed: $?";
-
--} # case "ColorData"
-+} # when ("ColorData")
-
--} # switch ($option)
-+} # given ($option)
diff --git a/staging/php/PKGBUILD b/staging/php/PKGBUILD
deleted file mode 100644
index ccbaae0cd..000000000
--- a/staging/php/PKGBUILD
+++ /dev/null
@@ -1,379 +0,0 @@
-# $Id: PKGBUILD 126095 2011-06-01 12:12:00Z pierre $
-# Maintainer: Pierre Schmitz <pierre@archlinux.de>
-
-pkgbase=php
-pkgname=('php'
- 'php-cgi'
- 'php-apache'
- 'php-fpm'
- 'php-embed'
- 'php-pear'
- 'php-curl'
- 'php-enchant'
- 'php-gd'
- 'php-gmp'
- 'php-intl'
- 'php-ldap'
- 'php-mcrypt'
- 'php-mssql'
- 'php-odbc'
- 'php-pgsql'
- 'php-pspell'
- 'php-snmp'
- 'php-sqlite'
- 'php-tidy'
- 'php-xsl')
-pkgver=5.3.6
-pkgrel=4
-_suhosinver=${pkgver}-0.9.10
-arch=('i686' 'x86_64')
-license=('PHP')
-url='http://www.php.net'
-makedepends=('apache' 'imap' 'postgresql-libs' 'mysql' 'libldap' 'postfix'
- 'sqlite3' 'unixodbc' 'net-snmp' 'libzip' 'enchant' 'file' 'freetds'
- 'libmcrypt' 'tidyhtml' 'aspell' 'libtool' 'libpng' 'libjpeg' 'icu'
- 'curl' 'libxslt' 'openssl' 'bzip2' 'db' 'gmp' 'freetype2')
-source=("http://www.php.net/distributions/${pkgbase}-${pkgver}.tar.bz2"
- "suhosin-patch-${_suhosinver}.patch.gz"
- 'php.ini.patch' 'apache.conf' 'rc.d.php-fpm' 'php-fpm.conf.in.patch'
- 'logrotate.d.php-fpm')
-md5sums=('2286f5a82a6e8397955a0025c1c2ad98'
- 'fff1a38877142f3ae6036dbe5a85d0a6'
- '39eaa70d276fc3d45d6bcf6cd5ae1106'
- 'dec2cbaad64e3abf4f0ec70e1de4e8e9'
- 'b01be5f816988fcee7e78225836e5e27'
- 'd50ff349da08110a7cc8c691ce2d0423'
- '07c4e412909ac65a44ec90e7a2c4bade')
-
-build() {
- # ldap-sasl does not compile with --as-needed
- export LDFLAGS="${LDFLAGS//-Wl,--as-needed}"
- export LDFLAGS="${LDFLAGS//,--as-needed}"
-
- phpconfig="--srcdir=../${pkgbase}-${pkgver} \
- --prefix=/usr \
- --sysconfdir=/etc/php \
- --localstatedir=/var \
- --with-layout=GNU \
- --with-config-file-path=/etc/php \
- --with-config-file-scan-dir=/etc/php/conf.d \
- --enable-inline-optimization \
- --disable-debug \
- --disable-rpath \
- --disable-static \
- --enable-shared \
- --mandir=/usr/share/man \
- --without-pear \
- "
-
- phpextensions="--enable-bcmath=shared \
- --enable-calendar=shared \
- --enable-dba=shared \
- --enable-exif=shared \
- --enable-ftp=shared \
- --enable-gd-native-ttf \
- --enable-intl=shared \
- --enable-json=shared \
- --enable-mbregex \
- --enable-mbstring \
- --enable-pdo \
- --enable-phar=shared \
- --enable-posix=shared \
- --enable-session \
- --enable-shmop=shared \
- --enable-soap=shared \
- --enable-sockets=shared \
- --enable-sqlite-utf8 \
- --enable-sysvmsg=shared \
- --enable-sysvsem=shared \
- --enable-sysvshm=shared \
- --enable-xml \
- --enable-zip=shared \
- --with-bz2=shared \
- --with-curl=shared \
- --with-db4=/usr \
- --with-enchant=shared,/usr \
- --with-freetype-dir=shared,/usr \
- --with-gd=shared \
- --with-gdbm=shared \
- --with-gettext=shared \
- --with-gmp=shared \
- --with-iconv=shared \
- --with-icu-dir=/usr \
- --with-imap-ssl=shared \
- --with-imap=shared \
- --with-jpeg-dir=shared,/usr \
- --with-ldap=shared \
- --with-ldap-sasl \
- --with-mcrypt=shared \
- --with-mhash \
- --with-mssql=shared \
- --with-mysql-sock=/var/run/mysqld/mysqld.sock \
- --with-mysql=shared,mysqlnd \
- --with-mysqli=shared,mysqlnd \
- --with-openssl=shared \
- --with-pcre-regex=/usr \
- --with-pdo-mysql=shared,mysqlnd \
- --with-pdo-odbc=shared,unixODBC,/usr \
- --with-pdo-pgsql=shared \
- --with-pdo-sqlite=shared,/usr \
- --with-pgsql=shared \
- --with-png-dir=shared,/usr \
- --with-pspell=shared \
- --with-regex=php \
- --with-snmp=shared \
- --with-sqlite3=shared,/usr \
- --with-sqlite=shared \
- --with-tidy=shared \
- --with-unixODBC=shared,/usr \
- --with-xmlrpc=shared \
- --with-xsl=shared \
- --with-zlib \
- --without-db2 \
- --without-db3 \
- "
-
- EXTENSION_DIR=/usr/lib/php/modules
- export EXTENSION_DIR
- PEAR_INSTALLDIR=/usr/share/pear
- export PEAR_INSTALLDIR
-
- cd ${srcdir}/${pkgbase}-${pkgver}
-
- # apply suhosin patch
- patch -p1 -i ${srcdir}/suhosin-patch-${_suhosinver}.patch
-
- # adjust paths
- patch -p0 -i ${srcdir}/php.ini.patch
- patch -p0 -i ${srcdir}/php-fpm.conf.in.patch
-
- # php
- mkdir ${srcdir}/build-php
- cd ${srcdir}/build-php
- ln -s ../${pkgbase}-${pkgver}/configure
- ./configure ${phpconfig} \
- --disable-cgi \
- --with-readline \
- --enable-pcntl \
- ${phpextensions}
- make
-
- # cgi and fcgi
- # reuse the previous run; this will save us a lot of time
- cp -a ${srcdir}/build-php ${srcdir}/build-cgi
- cd ${srcdir}/build-cgi
- ./configure ${phpconfig} \
- --disable-cli \
- --enable-cgi \
- ${phpextensions}
- make
-
- # apache
- cp -a ${srcdir}/build-php ${srcdir}/build-apache
- cd ${srcdir}/build-apache
- ./configure ${phpconfig} \
- --disable-cli \
- --with-apxs2 \
- ${phpextensions}
- make
-
- # fpm
- cp -a ${srcdir}/build-php ${srcdir}/build-fpm
- cd ${srcdir}/build-fpm
- ./configure ${phpconfig} \
- --disable-cli \
- --enable-fpm \
- --with-fpm-user=http \
- --with-fpm-group=http \
- ${phpextensions}
- make
-
- # embed
- cp -a ${srcdir}/build-php ${srcdir}/build-embed
- cd ${srcdir}/build-embed
- ./configure ${phpconfig} \
- --disable-cli \
- --enable-embed=shared \
- ${phpextensions}
- make
-
- # pear
- cp -a ${srcdir}/build-php ${srcdir}/build-pear
- cd ${srcdir}/build-pear
- ./configure ${phpconfig} \
- --disable-cgi \
- --with-readline \
- --enable-pcntl \
- --with-pear \
- ${phpextensions}
- make
-}
-
-# check() {
-# cd ${srcdir}/build-php
-# make test
-# }
-
-package_php() {
- pkgdesc='An HTML-embedded scripting language'
- depends=('pcre' 'libxml2' 'bzip2' 'openssl')
- replaces=('php-fileinfo')
- provides=('php-fileinfo')
- conflicts=('php-fileinfo')
- backup=('etc/php/php.ini')
-
- 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/
-
- # remove static modules
- rm -f ${pkgdir}/usr/lib/php/modules/*.a
- # remove modules provided by sub packages
- rm -f ${pkgdir}/usr/lib/php/modules/{curl,enchant,gd,gmp,intl,ldap,mcrypt,mssql,odbc,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl}.so
-}
-
-package_php-cgi() {
- pkgdesc='CGI and FCGI SAPI for PHP'
- depends=('php' 'pcre' 'libxml2')
-
- install -D -m755 ${srcdir}/build-cgi/sapi/cgi/php-cgi ${pkgdir}/usr/bin/php-cgi
-}
-
-package_php-apache() {
- pkgdesc='Apache SAPI for PHP'
- depends=('php' 'apache' 'pcre' 'libxml2')
- backup=('etc/httpd/conf/extra/php5_module.conf')
-
- install -D -m755 ${srcdir}/build-apache/libs/libphp5.so ${pkgdir}/usr/lib/httpd/modules/libphp5.so
- install -D -m644 ${srcdir}/apache.conf ${pkgdir}/etc/httpd/conf/extra/php5_module.conf
-}
-
-package_php-fpm() {
- pkgdesc='FastCGI Process Manager for PHP'
- depends=('php')
- backup=('etc/php/php-fpm.conf')
-
- install -D -m755 ${srcdir}/build-fpm/sapi/fpm/php-fpm ${pkgdir}/usr/sbin/php-fpm
- install -D -m644 ${srcdir}/build-fpm/sapi/fpm/php-fpm.8 ${pkgdir}/usr/share/man/man8/php-fpm.8
- install -D -m644 ${srcdir}/build-fpm/sapi/fpm/php-fpm.conf ${pkgdir}/etc/php/php-fpm.conf
- install -D -m755 ${srcdir}/rc.d.php-fpm ${pkgdir}/etc/rc.d/php-fpm
- install -D -m644 ${srcdir}/logrotate.d.php-fpm ${pkgdir}/etc/logrotate.d/php-fpm
- install -d -m755 ${pkgdir}/etc/php/fpm.d
-}
-
-package_php-embed() {
- pkgdesc='Embed SAPI for PHP'
- depends=('php' 'pcre' 'libxml2')
-
- install -D -m755 ${srcdir}/build-embed/libs/libphp5.so ${pkgdir}/usr/lib/libphp5.so
- install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/sapi/embed/php_embed.h ${pkgdir}/usr/include/php/sapi/embed/php_embed.h
-}
-
-package_php-pear() {
- pkgdesc='PHP Extension and Application Repository'
- depends=('php' 'bash')
- backup=('etc/php/pear.conf')
-
- cd ${srcdir}/build-pear
- make -j1 install-pear INSTALL_ROOT=${pkgdir}
- local i
- while read i; do
- [ ! -e "$i" ] || rm -rf "$i"
- done < <(find ${pkgdir} -name '.*')
-}
-
-package_php-curl() {
- depends=('php' 'curl')
- pkgdesc='curl module for PHP'
- install -D -m755 ${srcdir}/build-php/modules/curl.so ${pkgdir}/usr/lib/php/modules/curl.so
-}
-
-package_php-enchant() {
- depends=('php' 'enchant')
- pkgdesc='enchant module for PHP'
- install -D -m755 ${srcdir}/build-php/modules/enchant.so ${pkgdir}/usr/lib/php/modules/enchant.so
-}
-
-package_php-gd() {
- depends=('php' 'libpng' 'libjpeg' 'freetype2')
- pkgdesc='gd module for PHP'
- install -D -m755 ${srcdir}/build-php/modules/gd.so ${pkgdir}/usr/lib/php/modules/gd.so
-}
-
-package_php-gmp() {
- depends=('php' 'gmp')
- pkgdesc='gmp module for PHP'
- install -D -m755 ${srcdir}/build-php/modules/gmp.so ${pkgdir}/usr/lib/php/modules/gmp.so
-}
-
-package_php-intl() {
- depends=('php' 'icu')
- pkgdesc='intl module for PHP'
- install -D -m755 ${srcdir}/build-php/modules/intl.so ${pkgdir}/usr/lib/php/modules/intl.so
-}
-
-package_php-ldap() {
- depends=('php' 'libldap')
- pkgdesc='ldap module for PHP'
- install -D -m755 ${srcdir}/build-php/modules/ldap.so ${pkgdir}/usr/lib/php/modules/ldap.so
-}
-
-package_php-mcrypt() {
- depends=('php' 'libmcrypt' 'libtool')
- pkgdesc='mcrypt module for PHP'
- install -D -m755 ${srcdir}/build-php/modules/mcrypt.so ${pkgdir}/usr/lib/php/modules/mcrypt.so
-}
-
-package_php-mssql() {
- depends=('php' 'freetds')
- pkgdesc='mssql module for PHP'
- install -D -m755 ${srcdir}/build-php/modules/mssql.so ${pkgdir}/usr/lib/php/modules/mssql.so
-}
-
-package_php-odbc() {
- depends=('php' 'unixodbc')
- pkgdesc='ODBC modules for PHP'
- install -D -m755 ${srcdir}/build-php/modules/odbc.so ${pkgdir}/usr/lib/php/modules/odbc.so
- install -D -m755 ${srcdir}/build-php/modules/pdo_odbc.so ${pkgdir}/usr/lib/php/modules/pdo_odbc.so
-}
-
-package_php-pgsql() {
- depends=('php' 'postgresql-libs')
- pkgdesc='PostgreSQL modules for PHP'
- install -D -m755 ${srcdir}/build-php/modules/pgsql.so ${pkgdir}/usr/lib/php/modules/pgsql.so
- install -D -m755 ${srcdir}/build-php/modules/pdo_pgsql.so ${pkgdir}/usr/lib/php/modules/pdo_pgsql.so
-}
-
-package_php-pspell() {
- depends=('php' 'aspell')
- pkgdesc='pspell module for PHP'
- install -D -m755 ${srcdir}/build-php/modules/pspell.so ${pkgdir}/usr/lib/php/modules/pspell.so
-}
-
-package_php-snmp() {
- depends=('php' 'net-snmp')
- pkgdesc='snmp module for PHP'
- install -D -m755 ${srcdir}/build-php/modules/snmp.so ${pkgdir}/usr/lib/php/modules/snmp.so
-}
-
-package_php-sqlite() {
- depends=('php' 'sqlite3')
- pkgdesc='sqlite3 module for PHP'
- install -D -m755 ${srcdir}/build-php/modules/sqlite3.so ${pkgdir}/usr/lib/php/modules/sqlite3.so
- install -D -m755 ${srcdir}/build-php/modules/pdo_sqlite.so ${pkgdir}/usr/lib/php/modules/pdo_sqlite.so
-}
-
-package_php-tidy() {
- depends=('php' 'tidyhtml')
- pkgdesc='tidy module for PHP'
- install -D -m755 ${srcdir}/build-php/modules/tidy.so ${pkgdir}/usr/lib/php/modules/tidy.so
-}
-
-package_php-xsl() {
- depends=('php' 'libxslt')
- pkgdesc='xsl module for PHP'
- install -D -m755 ${srcdir}/build-php/modules/xsl.so ${pkgdir}/usr/lib/php/modules/xsl.so
-}
diff --git a/staging/php/apache.conf b/staging/php/apache.conf
deleted file mode 100644
index c3ca0aad5..000000000
--- a/staging/php/apache.conf
+++ /dev/null
@@ -1,13 +0,0 @@
-# Required modules: dir_module, php5_module
-
-<IfModule dir_module>
- <IfModule php5_module>
- DirectoryIndex index.php index.html
- <FilesMatch "\.php$">
- SetHandler application/x-httpd-php
- </FilesMatch>
- <FilesMatch "\.phps$">
- SetHandler application/x-httpd-php-source
- </FilesMatch>
- </IfModule>
-</IfModule>
diff --git a/staging/php/logrotate.d.php-fpm b/staging/php/logrotate.d.php-fpm
deleted file mode 100644
index 7a1ba2597..000000000
--- a/staging/php/logrotate.d.php-fpm
+++ /dev/null
@@ -1,6 +0,0 @@
-/var/log/php-fpm.log {
- missingok
- postrotate
- /etc/rc.d/php-fpm logrotate >/dev/null || true
- endscript
-}
diff --git a/staging/php/php-fpm.conf.in.patch b/staging/php/php-fpm.conf.in.patch
deleted file mode 100644
index 93c62430a..000000000
--- a/staging/php/php-fpm.conf.in.patch
+++ /dev/null
@@ -1,80 +0,0 @@
---- sapi/fpm/php-fpm.conf.in 2010-12-11 08:31:47.695294987 +0100
-+++ sapi/fpm/php-fpm.conf.in 2010-12-11 08:31:55.907812237 +0100
-@@ -12,7 +12,7 @@
- ; Relative path can also be used. They will be prefixed by:
- ; - the global prefix if it's been set (-p arguement)
- ; - @prefix@ otherwise
--;include=etc/fpm.d/*.conf
-+;include=/etc/php/fpm.d/*.conf
-
- ;;;;;;;;;;;;;;;;;;
- ; Global Options ;
-@@ -22,7 +22,7 @@
- ; Pid file
- ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@
- ; Default Value: none
--;pid = run/php-fpm.pid
-+pid = run/php-fpm/php-fpm.pid
-
- ; Error log file
- ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@
-@@ -93,7 +93,8 @@
- ; specific port;
- ; '/path/to/unix/socket' - to listen on a unix socket.
- ; Note: This value is mandatory.
--listen = 127.0.0.1:9000
-+;listen = 127.0.0.1:9000
-+listen = /var/run/php-fpm/php-fpm.sock
-
- ; Set listen(2) backlog. A value of '-1' means unlimited.
- ; Default Value: 128 (-1 on FreeBSD and OpenBSD)
-@@ -112,9 +113,9 @@
- ; BSD-derived systems allow connections regardless of permissions.
- ; Default Values: user and group are set as the running user
- ; mode is set to 0666
--;listen.owner = @php_fpm_user@
--;listen.group = @php_fpm_group@
--;listen.mode = 0666
-+listen.owner = @php_fpm_user@
-+listen.group = @php_fpm_group@
-+listen.mode = 0660
-
- ; Unix user/group of processes
- ; Note: The user is mandatory. If the group is not set, the default user's group
-@@ -154,23 +155,23 @@
- ; The number of child processes created on startup.
- ; Note: Used only when pm is set to 'dynamic'
- ; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
--;pm.start_servers = 20
-+pm.start_servers = 20
-
- ; The desired minimum number of idle server processes.
- ; Note: Used only when pm is set to 'dynamic'
- ; Note: Mandatory when pm is set to 'dynamic'
--;pm.min_spare_servers = 5
-+pm.min_spare_servers = 5
-
- ; The desired maximum number of idle server processes.
- ; Note: Used only when pm is set to 'dynamic'
- ; Note: Mandatory when pm is set to 'dynamic'
--;pm.max_spare_servers = 35
-+pm.max_spare_servers = 35
-
- ; The number of requests each child process should execute before respawning.
- ; This can be useful to work around memory leaks in 3rd party libraries. For
- ; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
- ; Default Value: 0
--;pm.max_requests = 500
-+pm.max_requests = 500
-
- ; The URI to view the FPM status page. If this value is not set, no URI will be
- ; recognized as a status page. By default, the status page shows the following
-@@ -264,7 +265,7 @@
- ; Chdir to this directory at the start.
- ; Note: relative path can be used.
- ; Default Value: current directory or / when chroot
--;chdir = /var/www
-+;chdir = /srv/http
-
- ; Redirect worker stdout and stderr into main error log. If not set, stdout and
- ; stderr will be redirected to /dev/null according to FastCGI specs.
diff --git a/staging/php/php.ini.patch b/staging/php/php.ini.patch
deleted file mode 100644
index 356e190b4..000000000
--- a/staging/php/php.ini.patch
+++ /dev/null
@@ -1,126 +0,0 @@
---- php.ini-production 2011-02-09 01:25:44.000000000 +0100
-+++ php.ini-production 2011-03-19 11:11:44.496987763 +0100
-@@ -376,7 +376,7 @@
- ; or per-virtualhost web server configuration file. This directive is
- ; *NOT* affected by whether Safe Mode is turned On or Off.
- ; http://php.net/open-basedir
--;open_basedir =
-+open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/
-
- ; This directive allows you to disable certain functions for security reasons.
- ; It receives a comma-delimited list of function names. This directive is
-@@ -781,7 +781,7 @@
- ;;;;;;;;;;;;;;;;;;;;;;;;;
-
- ; UNIX: "/path1:/path2"
--;include_path = ".:/php/includes"
-+include_path = ".:/usr/share/pear"
- ;
- ; Windows: "\path1;\path2"
- ;include_path = ".;c:\php\includes"
-@@ -804,7 +804,7 @@
-
- ; Directory in which the loadable extensions (modules) reside.
- ; http://php.net/extension-dir
--; extension_dir = "./"
-+extension_dir = "/usr/lib/php/modules/"
- ; On windows:
- ; extension_dir = "ext"
-
-@@ -938,53 +938,49 @@
- ; If you only provide the name of the extension, PHP will look for it in its
- ; default extension directory.
- ;
--; Windows Extensions
--; Note that ODBC support is built in, so no dll is needed for it.
--; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
--; extension folders as well as the separate PECL DLL download (PHP 5).
--; Be sure to appropriately set the extension_dir directive.
--;
--;extension=php_bz2.dll
--;extension=php_curl.dll
--;extension=php_fileinfo.dll
--;extension=php_gd2.dll
--;extension=php_gettext.dll
--;extension=php_gmp.dll
--;extension=php_intl.dll
--;extension=php_imap.dll
--;extension=php_interbase.dll
--;extension=php_ldap.dll
--;extension=php_mbstring.dll
--;extension=php_exif.dll ; Must be after mbstring as it depends on it
--;extension=php_mysql.dll
--;extension=php_mysqli.dll
--;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client
--;extension=php_oci8_11g.dll ; Use with Oracle 11g Instant Client
--;extension=php_openssl.dll
--;extension=php_pdo_firebird.dll
--;extension=php_pdo_mssql.dll
--;extension=php_pdo_mysql.dll
--;extension=php_pdo_oci.dll
--;extension=php_pdo_odbc.dll
--;extension=php_pdo_pgsql.dll
--;extension=php_pdo_sqlite.dll
--;extension=php_pgsql.dll
--;extension=php_pspell.dll
--;extension=php_shmop.dll
--
--; The MIBS data available in the PHP distribution must be installed.
--; See http://www.php.net/manual/en/snmp.installation.php
--;extension=php_snmp.dll
--
--;extension=php_soap.dll
--;extension=php_sockets.dll
--;extension=php_sqlite.dll
--;extension=php_sqlite3.dll
--;extension=php_sybase_ct.dll
--;extension=php_tidy.dll
--;extension=php_xmlrpc.dll
--;extension=php_xsl.dll
--;extension=php_zip.dll
-+;extension=bcmath.so
-+;extension=bz2.so
-+;extension=calendar.so
-+;extension=curl.so
-+;extension=dba.so
-+;extension=enchant.so
-+;extension=exif.so
-+;extension=ftp.so
-+;extension=gd.so
-+extension=gettext.so
-+;extension=gmp.so
-+;extension=iconv.so
-+;extension=imap.so
-+;extension=intl.so
-+;extension=json.so
-+;extension=ldap.so
-+;extension=mcrypt.so
-+;extension=mssql.so
-+;extension=mysqli.so
-+;extension=mysql.so
-+;extension=odbc.so
-+;extension=openssl.so
-+;extension=pdo_mysql.so
-+;extension=pdo_odbc.so
-+;extension=pdo_pgsql.so
-+;extension=pdo_sqlite.so
-+;extension=pgsql.so
-+;extension=phar.so
-+;extension=posix.so
-+;extension=pspell.so
-+;extension=shmop.so
-+;extension=snmp.so
-+;extension=soap.so
-+;extension=sockets.so
-+;extension=sqlite3.so
-+;extension=sqlite.so
-+;extension=sysvmsg.so
-+;extension=sysvsem.so
-+;extension=sysvshm.so
-+;extension=tidy.so
-+;extension=xmlrpc.so
-+;extension=xsl.so
-+;extension=zip.so
-
- ;;;;;;;;;;;;;;;;;;;
- ; Module Settings ;
diff --git a/staging/php/rc.d.php-fpm b/staging/php/rc.d.php-fpm
deleted file mode 100644
index 54bcf4d5b..000000000
--- a/staging/php/rc.d.php-fpm
+++ /dev/null
@@ -1,158 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-
-wait_for_pid () {
- try=0
- while test $try -lt 35 ; do
- case "$1" in
- 'created')
- if [ -f "$2" ] ; then
- try=''
- break
- fi
- ;;
- 'removed')
- if [ ! -f "$2" ] ; then
- try=''
- break
- fi
- ;;
- esac
-
- stat_append '.'
- try=`expr $try + 1`
- sleep 1
- done
-}
-
-test_config() {
- stat_busy 'Checking configuration'
- if [ $(id -u) -ne 0 ]; then
- stat_append '(This script must be run as root)'
- stat_die
- fi
-
- if [ ! -r /etc/php/php-fpm.conf ]; then
- stat_append '(/etc/php/php-fpm.conf not found)'
- stat_die
- fi
-
- local test=$(/usr/sbin/php-fpm -t 2>&1)
- if [ $? -gt 0 ]; then
- stat_append '(error in /etc/php/php-fpm.conf)'
- stat_die
- elif echo $test | grep -qi 'error'; then
- stat_append '(error in /etc/php/php.ini)'
- stat_die
- fi
-
- [ -d /var/run/php-fpm ] || install -d -m755 /var/run/php-fpm
-
- stat_done
-}
-
-case "$1" in
- start)
- test_config
- stat_busy 'Starting php-fpm'
-
- /usr/sbin/php-fpm
-
- if [ "$?" != 0 ] ; then
- stat_fail
- exit 1
- fi
-
- wait_for_pid created /var/run/php-fpm/php-fpm.pid
-
- if [ -n "$try" ] ; then
- stat_fail
- exit 1
- else
- add_daemon php-fpm
- stat_done
- fi
- ;;
-
- stop)
- test_config
- stat_busy 'Gracefully shutting down php-fpm'
-
- if [ ! -r /var/run/php-fpm/php-fpm.pid ] ; then
- stat_fail
- exit 1
- fi
-
- kill -QUIT `cat /var/run/php-fpm/php-fpm.pid`
-
- wait_for_pid removed /var/run/php-fpm.pid
-
- if [ -n "$try" ] ; then
- stat_fail
- exit 1
- else
- rm_daemon php-fpm
- stat_done
- fi
- ;;
-
- force-quit)
- stat_busy 'Terminating php-fpm'
-
- if [ ! -r /var/run/php-fpm/php-fpm.pid ] ; then
- stat_fail
- exit 1
- fi
-
- kill -TERM `cat /var/run/php-fpm/php-fpm.pid`
-
- wait_for_pid removed /var/run/php-fpm/php-fpm.pid
-
- if [ -n "$try" ] ; then
- stat_fail
- exit 1
- else
- rm_daemon php-fpm
- stat_done
- fi
- ;;
-
- restart)
- $0 stop
- $0 start
- ;;
-
- reload)
- test_config
- stat_busy 'Reload service php-fpm'
-
- if [ ! -r /var/run/php-fpm/php-fpm.pid ] ; then
- stat_fail
- exit 1
- fi
-
- kill -USR2 `cat /var/run/php-fpm/php-fpm.pid`
- stat_done
- ;;
-
- logrotate)
- stat_busy 'Reopen php-fpm log'
-
- if [ ! -r /var/run/php-fpm/php-fpm.pid ] ; then
- stat_fail
- exit 1
- fi
-
- kill -USR1 `cat /var/run/php-fpm/php-fpm.pid`
- stat_done
- ;;
-
- *)
- echo "usage: $0 {start|stop|force-quit|restart|reload|logrotate}"
- exit 1
- ;;
-
-esac
diff --git a/staging/php/suhosin-patch-5.3.6-0.9.10.patch.gz b/staging/php/suhosin-patch-5.3.6-0.9.10.patch.gz
deleted file mode 100644
index 7167ce2d0..000000000
--- a/staging/php/suhosin-patch-5.3.6-0.9.10.patch.gz
+++ /dev/null
Binary files differ
diff --git a/staging/xulrunner/PKGBUILD b/staging/xulrunner/PKGBUILD
deleted file mode 100644
index d9ad07e87..000000000
--- a/staging/xulrunner/PKGBUILD
+++ /dev/null
@@ -1,63 +0,0 @@
-# $Id: PKGBUILD 126161 2011-06-01 20:45:14Z ibiru $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Contributor: Alexander Baldeck <alexander@archlinux.org>
-pkgname=xulrunner
-pkgver=2.0.1
-_ffoxver=4.0.1
-pkgrel=2
-pkgdesc="Mozilla Runtime Environment"
-arch=('i686' 'x86_64')
-license=('MPL' 'GPL' 'LGPL')
-depends=('gtk2' 'gcc-libs' 'libidl2' 'mozilla-common' 'nss' 'libxt' 'libxrender' 'hunspell' 'startup-notification' 'mime-types' 'dbus-glib' 'alsa-lib' 'libevent' 'sqlite3>=3.7.4' 'libnotify')
-makedepends=('zip' 'pkg-config' 'diffutils' 'python2' 'wireless_tools' 'yasm' 'mesa')
-url="http://wiki.mozilla.org/XUL:Xul_Runner"
-source=(http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${_ffoxver}/source/firefox-${_ffoxver}.source.tar.bz2
- mozconfig
- mozilla-pkgconfig.patch
- xulrunner-version.patch
- xulrunner-omnijar.patch
- port_gnomevfs_to_gio.patch)
-options=('!emptydirs')
-md5sums=('9abda7d23151e97913c8555a64c13f34'
- '2358a2ddd35bcdd62ff42442dfe548d9'
- '639ea80e823543dd415b90c0ee804186'
- 'a0236f6c3e55f60b7888d8cf137ff209'
- '0bf82bc6677e3ce57fd20a147fe8d7b1'
- '42f83468b296452fb754a81a4317ca64')
-build() {
- cd "${srcdir}/mozilla-2.0"
- cp "${srcdir}/mozconfig" .mozconfig
-
- #fix libdir/sdkdir - fedora
- patch -Np1 -i "${srcdir}/mozilla-pkgconfig.patch"
-
- #Force installation to the same path for every version
- patch -Np1 -i "${srcdir}/xulrunner-version.patch"
-
- #https://bugzilla.mozilla.org/show_bug.cgi?id=620931
- patch -Np1 -i "${srcdir}/xulrunner-omnijar.patch"
-
- #https://bugzilla.mozilla.org/show_bug.cgi?id=494163
- patch -Np1 -i "${srcdir}/port_gnomevfs_to_gio.patch"
-
- unset CFLAGS
- unset CXXFLAGS
-
- export CXXFLAGS="-fpermissive"
-
- make -j1 -f client.mk build MOZ_MAKE_FLAGS="$MAKEFLAGS"
-}
-
-package() {
- cd "${srcdir}/mozilla-2.0"
- make -j1 -f client.mk DESTDIR="${pkgdir}" install
-
- #Remove included dictionaries, add symlink to system myspell path.
- #Note: this will cause file conflicts when users have installed dictionaries in the old location
- rm -rf "${pkgdir}/usr/lib/xulrunner-2.0/dictionaries"
- ln -sf /usr/share/myspell/dicts "${pkgdir}/usr/lib/xulrunner-2.0/dictionaries"
-
- # add xulrunner library path to ld.so.conf
- install -d ${pkgdir}/etc/ld.so.conf.d
- echo "/usr/lib/xulrunner-2.0" > ${pkgdir}/etc/ld.so.conf.d/xulrunner.conf
-}
diff --git a/staging/xulrunner/mozconfig b/staging/xulrunner/mozconfig
deleted file mode 100644
index 03a352920..000000000
--- a/staging/xulrunner/mozconfig
+++ /dev/null
@@ -1,56 +0,0 @@
-. $topsrcdir/xulrunner/config/mozconfig
-
-ac_add_options --prefix=/usr
-ac_add_options --libdir=/usr/lib
-ac_add_options --with-system-nspr
-ac_add_options --with-system-nss
-ac_add_options --with-system-jpeg
-ac_add_options --with-system-zlib
-ac_add_options --with-system-bz2
-ac_add_options --with-system-png
-ac_add_options --with-system-libevent
-ac_add_options --enable-system-hunspell
-ac_add_options --enable-system-sqlite
-ac_add_options --enable-system-cairo
-ac_add_options --with-pthreads
-
-ac_add_options --enable-default-toolkit=cairo-gtk2
-ac_add_options --enable-safe-browsing
-ac_add_options --enable-extensions=default
-ac_add_options --enable-startup-notification
-ac_add_options --enable-pango
-ac_add_options --enable-svg
-ac_add_options --enable-canvas
-ac_add_options --enable-smil
-ac_add_options --enable-canvas3d
-ac_add_options --enable-places
-ac_add_options --enable-shared-js
-ac_add_options --enable-url-classifier
-
-ac_add_options --enable-optimize
-ac_add_options --enable-strip
-ac_add_options --enable-install-strip
-ac_add_options --enable-jemalloc
-ac_add_options --enable-xterm-updates
-ac_add_options --enable-printing
-ac_add_options --enable-xinerama
-
-ac_add_options --disable-javaxpcom
-ac_add_options --disable-crashreporter
-ac_add_options --disable-updater
-ac_add_options --disable-tests
-ac_add_options --disable-xprint
-ac_add_options --disable-mochitest
-ac_add_options --disable-debug
-ac_add_options --disable-installer
-ac_add_options --disable-pedantic
-
-ac_add_options --enable-gio
-ac_add_options --disable-gnomevfs
-ac_add_options --enable-gconf
-ac_add_options --enable-libnotify
-
-export BUILD_OFFICIAL=1
-export MOZILLA_OFFICIAL=1
-mk_add_options BUILD_OFFICIAL=1
-mk_add_options MOZILLA_OFFICIAL=1
diff --git a/staging/xulrunner/mozilla-pkgconfig.patch b/staging/xulrunner/mozilla-pkgconfig.patch
deleted file mode 100644
index 2203efcde..000000000
--- a/staging/xulrunner/mozilla-pkgconfig.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-diff -Nur mozilla-2.0.orig/xulrunner/installer/libxul-embedding.pc.in mozilla-2.0/xulrunner/installer/libxul-embedding.pc.in
---- mozilla-2.0.orig/xulrunner/installer/libxul-embedding.pc.in 2011-03-03 14:12:04.000000000 -0800
-+++ mozilla-2.0/xulrunner/installer/libxul-embedding.pc.in 2011-03-13 03:25:12.350027359 -0700
-@@ -6,5 +6,6 @@
- Name: libxul-embedding
- Description: Static library for version-independent embedding of the Mozilla runtime
- Version: %MOZILLA_VERSION%
-+Requires: %NSPR_NAME% >= %NSPR_VERSION%
- Libs: -L${sdkdir}/lib -lxpcomglue -ldl
- Cflags: -DXPCOM_GLUE -I${includedir} %WCHAR_CFLAGS%
-diff -Nur mozilla-2.0.orig/xulrunner/installer/libxul.pc.in mozilla-2.0/xulrunner/installer/libxul.pc.in
---- mozilla-2.0.orig/xulrunner/installer/libxul.pc.in 2011-03-03 14:12:04.000000000 -0800
-+++ mozilla-2.0/xulrunner/installer/libxul.pc.in 2011-03-13 03:25:28.010027359 -0700
-@@ -1,5 +1,6 @@
- prefix=%prefix%
- sdkdir=%sdkdir%
-+libdir=%libdir%
- includedir=%includedir%
- idldir=%idldir%
-
-diff -Nur mozilla-2.0.orig/xulrunner/installer/Makefile.in mozilla-2.0/xulrunner/installer/Makefile.in
---- mozilla-2.0.orig/xulrunner/installer/Makefile.in 2011-03-03 14:12:04.000000000 -0800
-+++ mozilla-2.0/xulrunner/installer/Makefile.in 2011-03-13 03:25:55.570027359 -0700
-@@ -121,6 +121,7 @@
- -e "s|%includedir%|$(includedir)|" \
- -e "s|%idldir%|$(idldir)|" \
- -e "s|%sdkdir%|$(sdkdir)|" \
-+ -e "s|%libdir%|$(installdir)|" \
- -e "s|%MOZ_APP_NAME%|$(MOZ_APP_NAME)|" \
- -e "s|%MOZILLA_VERSION%|$(MOZ_APP_VERSION)|" \
- -e "s|%WCHAR_CFLAGS%|$(WCHAR_CFLAGS)|" \
-diff -Nur mozilla-2.0.orig/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in mozilla-2.0/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in
---- mozilla-2.0.orig/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in 2011-03-03 14:12:04.000000000 -0800
-+++ mozilla-2.0/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in 2011-03-13 03:26:18.676694023 -0700
-@@ -1,5 +1,6 @@
- prefix=%prefix%
- sdkdir=%sdkdir%
-+libdir=%libdir%
- includedir=%includedir%
-
- Name: mozilla-gtkembedmoz
-diff -Nur mozilla-2.0.orig/xulrunner/installer/mozilla-gtkmozembed.pc.in mozilla-2.0/xulrunner/installer/mozilla-gtkmozembed.pc.in
---- mozilla-2.0.orig/xulrunner/installer/mozilla-gtkmozembed.pc.in 2011-03-03 14:12:04.000000000 -0800
-+++ mozilla-2.0/xulrunner/installer/mozilla-gtkmozembed.pc.in 2011-03-13 03:26:41.566694025 -0700
-@@ -1,5 +1,6 @@
- prefix=%prefix%
- sdkdir=%sdkdir%
-+libdir=%libdir%
- includedir=%includedir%
-
- Name: mozilla-gtkembedmoz
-diff -Nur mozilla-2.0.orig/xulrunner/installer/mozilla-js.pc.in mozilla-2.0/xulrunner/installer/mozilla-js.pc.in
---- mozilla-2.0.orig/xulrunner/installer/mozilla-js.pc.in 2011-03-03 14:12:04.000000000 -0800
-+++ mozilla-2.0/xulrunner/installer/mozilla-js.pc.in 2011-03-13 03:27:19.680027357 -0700
-@@ -7,4 +7,4 @@
- Version: %MOZILLA_VERSION%
- Requires: %NSPR_NAME% >= %NSPR_VERSION%
- Libs: -L${sdkdir}/lib %MOZ_JS_LINK%
--Cflags: -I${includedir} -DXP_UNIX -DJS_THREADSAFE
-+Cflags: -I${includedir} -I${includedir}/js -DXP_UNIX -DJS_THREADSAFE
diff --git a/staging/xulrunner/port_gnomevfs_to_gio.patch b/staging/xulrunner/port_gnomevfs_to_gio.patch
deleted file mode 100644
index 797baff42..000000000
--- a/staging/xulrunner/port_gnomevfs_to_gio.patch
+++ /dev/null
@@ -1,1316 +0,0 @@
-diff -r 49a1b2aa43c5 extensions/gio/Makefile.in
---- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ b/extensions/gio/Makefile.in Tue Jan 11 11:17:52 2011 +0100
-@@ -0,0 +1,69 @@
-+# vim:set ts=8 sw=8 sts=8 noet:
-+# ***** BEGIN LICENSE BLOCK *****
-+# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-+#
-+# The contents of this file are subject to the Mozilla Public License Version
-+# 1.1 (the "License"); you may not use this file except in compliance with
-+# the License. You may obtain a copy of the License at
-+# http://www.mozilla.org/MPL/
-+#
-+# Software distributed under the License is distributed on an "AS IS" basis,
-+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-+# for the specific language governing rights and limitations under the
-+# License.
-+#
-+# The Original Code is the Mozilla gnome-vfs extension.
-+#
-+# The Initial Developer of the Original Code is IBM Corporation.
-+#
-+# Portions created by IBM Corporation are Copyright (C) 2004
-+# IBM Corporation. All Rights Reserved.
-+#
-+# Contributor(s):
-+# Darin Fisher <darin@meer.net>
-+# Jan Horak <jhorak@redhat.com>
-+#
-+# Alternatively, the contents of this file may be used under the terms of
-+# either the GNU General Public License Version 2 or later (the "GPL"), or
-+# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-+# in which case the provisions of the GPL or the LGPL are applicable instead
-+# of those above. If you wish to allow use of your version of this file only
-+# under the terms of either the GPL or the LGPL, and not to allow others to
-+# use your version of this file under the terms of the MPL, indicate your
-+# decision by deleting the provisions above and replace them with the notice
-+# and other provisions required by the GPL or the LGPL. If you do not delete
-+# the provisions above, a recipient may use your version of this file under
-+# the terms of any one of the MPL, the GPL or the LGPL.
-+#
-+# ***** END LICENSE BLOCK *****
-+
-+DEPTH = ../..
-+topsrcdir = @top_srcdir@
-+srcdir = @srcdir@
-+VPATH = @srcdir@
-+
-+include $(DEPTH)/config/autoconf.mk
-+
-+MODULE = nkgio
-+LIBRARY_NAME = nkgio
-+SHORT_LIBNAME = nkgio
-+IS_COMPONENT = 1
-+
-+CPPSRCS = \
-+ nsGIOProtocolHandler.cpp \
-+ $(NULL)
-+
-+LOCAL_INCLUDES = $(MOZ_GIO_CFLAGS)
-+
-+EXTRA_DSO_LDOPTS = \
-+ $(XPCOM_GLUE_LDOPTS) \
-+ $(NSPR_LIBS) \
-+ $(MOZ_GIO_LIBS) \
-+ $(NULL)
-+
-+# make sure this component is never statically linked into the main
-+# application. this is necessary since we don't want to force users
-+# to install gio in order to use the rest of mozilla ;-)
-+FORCE_SHARED_LIB= 1
-+
-+include $(topsrcdir)/config/rules.mk
-diff -r 49a1b2aa43c5 extensions/gio/makefiles.sh
---- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ b/extensions/gio/makefiles.sh Tue Jan 11 11:17:52 2011 +0100
-@@ -0,0 +1,41 @@
-+#! /bin/sh
-+# ***** BEGIN LICENSE BLOCK *****
-+# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-+#
-+# The contents of this file are subject to the Mozilla Public License Version
-+# 1.1 (the "License"); you may not use this file except in compliance with
-+# the License. You may obtain a copy of the License at
-+# http://www.mozilla.org/MPL/
-+#
-+# Software distributed under the License is distributed on an "AS IS" basis,
-+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-+# for the specific language governing rights and limitations under the
-+# License.
-+#
-+# The Original Code is Mozilla Build System
-+#
-+# The Initial Developer of the Original Code is
-+# Ben Turner <mozilla@songbirdnest.com>
-+#
-+# Portions created by the Initial Developer are Copyright (C) 2007
-+# the Initial Developer. All Rights Reserved.
-+#
-+# Contributor(s):
-+#
-+# Alternatively, the contents of this file may be used under the terms of
-+# either the GNU General Public License Version 2 or later (the "GPL"), or
-+# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-+# in which case the provisions of the GPL or the LGPL are applicable instead
-+# of those above. If you wish to allow use of your version of this file only
-+# under the terms of either the GPL or the LGPL, and not to allow others to
-+# use your version of this file under the terms of the MPL, indicate your
-+# decision by deleting the provisions above and replace them with the notice
-+# and other provisions required by the GPL or the LGPL. If you do not delete
-+# the provisions above, a recipient may use your version of this file under
-+# the terms of any one of the MPL, the GPL or the LGPL.
-+#
-+# ***** END LICENSE BLOCK *****
-+
-+add_makefiles "
-+ extensions/gio/Makefile
-+"
-diff -r 49a1b2aa43c5 extensions/gio/nsGIOProtocolHandler.cpp
---- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ b/extensions/gio/nsGIOProtocolHandler.cpp Tue Jan 11 11:17:52 2011 +0100
-@@ -0,0 +1,1163 @@
-+/* vim:set ts=2 sw=2 et cindent: */
-+/* ***** BEGIN LICENSE BLOCK *****
-+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
-+ *
-+ * The contents of this file are subject to the Mozilla Public License Version
-+ * 1.1 (the "License"); you may not use this file except in compliance with
-+ * the License. You may obtain a copy of the License at
-+ * http://www.mozilla.org/MPL/
-+ *
-+ * Software distributed under the License is distributed on an "AS IS" basis,
-+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-+ * for the specific language governing rights and limitations under the
-+ * License.
-+ *
-+ * The Original Code is the Mozilla gnome-vfs extension.
-+ *
-+ * The Initial Developer of the Original Code is IBM Corporation.
-+ *
-+ * Portions created by IBM Corporation are Copyright (C) 2004
-+ * IBM Corporation. All Rights Reserved.
-+ *
-+ * Contributor(s):
-+ * Darin Fisher <darin@meer.net>
-+ * Jan Horak <jhorak@redhat.com>
-+ *
-+ * Alternatively, the contents of this file may be used under the terms of
-+ * either the GNU General Public License Version 2 or later (the "GPL"), or
-+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-+ * in which case the provisions of the GPL or the LGPL are applicable instead
-+ * of those above. If you wish to allow use of your version of this file only
-+ * under the terms of either the GPL or the LGPL, and not to allow others to
-+ * use your version of this file under the terms of the MPL, indicate your
-+ * decision by deleting the provisions above and replace them with the notice
-+ * and other provisions required by the GPL or the LGPL. If you do not delete
-+ * the provisions above, a recipient may use your version of this file under
-+ * the terms of any one of the MPL, the GPL or the LGPL.
-+ *
-+ * ***** END LICENSE BLOCK ***** */
-+
-+/*
-+ * This code is based on original Mozilla gnome-vfs extension. It implements
-+ * input stream provided by GVFS/GIO.
-+*/
-+#include "mozilla/ModuleUtils.h"
-+#include "nsIPrefService.h"
-+#include "nsIPrefBranch2.h"
-+#include "nsIObserver.h"
-+#include "nsThreadUtils.h"
-+#include "nsProxyRelease.h"
-+#include "nsIStringBundle.h"
-+#include "nsIStandardURL.h"
-+#include "nsMimeTypes.h"
-+#include "nsNetUtil.h"
-+#include "mozilla/Monitor.h"
-+#include <gio/gio.h>
-+
-+#define MOZ_GIO_SCHEME "moz-gio"
-+#define MOZ_GIO_SUPPORTED_PROTOCOLS "network.gio.supported-protocols"
-+
-+//-----------------------------------------------------------------------------
-+
-+// NSPR_LOG_MODULES=gio:5
-+#ifdef PR_LOGGING
-+static PRLogModuleInfo *sGIOLog;
-+#define LOG(args) PR_LOG(sGIOLog, PR_LOG_DEBUG, args)
-+#else
-+#define LOG(args)
-+#endif
-+
-+
-+//-----------------------------------------------------------------------------
-+static nsresult
-+MapGIOResult(gint code)
-+{
-+ switch (code)
-+ {
-+ case G_IO_ERROR_NOT_FOUND: return NS_ERROR_FILE_NOT_FOUND; // shows error
-+ case G_IO_ERROR_INVALID_ARGUMENT: return NS_ERROR_INVALID_ARG;
-+ case G_IO_ERROR_NOT_SUPPORTED: return NS_ERROR_NOT_AVAILABLE;
-+ case G_IO_ERROR_NO_SPACE: return NS_ERROR_FILE_NO_DEVICE_SPACE;
-+ case G_IO_ERROR_READ_ONLY: return NS_ERROR_FILE_READ_ONLY;
-+ case G_IO_ERROR_PERMISSION_DENIED: return NS_ERROR_FILE_ACCESS_DENIED; // wrong password/login
-+ case G_IO_ERROR_CLOSED: return NS_BASE_STREAM_CLOSED; // was EOF
-+ case G_IO_ERROR_NOT_DIRECTORY: return NS_ERROR_FILE_NOT_DIRECTORY;
-+ case G_IO_ERROR_PENDING: return NS_ERROR_IN_PROGRESS;
-+ case G_IO_ERROR_EXISTS: return NS_ERROR_FILE_ALREADY_EXISTS;
-+ case G_IO_ERROR_IS_DIRECTORY: return NS_ERROR_FILE_IS_DIRECTORY;
-+ case G_IO_ERROR_NOT_MOUNTED: return NS_ERROR_NOT_CONNECTED; // shows error
-+ case G_IO_ERROR_HOST_NOT_FOUND: return NS_ERROR_UNKNOWN_HOST; // shows error
-+ case G_IO_ERROR_CANCELLED: return NS_ERROR_ABORT;
-+ case G_IO_ERROR_NOT_EMPTY: return NS_ERROR_FILE_DIR_NOT_EMPTY;
-+ case G_IO_ERROR_FILENAME_TOO_LONG: return NS_ERROR_FILE_NAME_TOO_LONG;
-+ case G_IO_ERROR_INVALID_FILENAME: return NS_ERROR_FILE_INVALID_PATH;
-+ case G_IO_ERROR_TIMED_OUT: return NS_ERROR_NET_TIMEOUT; // shows error
-+ case G_IO_ERROR_WOULD_BLOCK: return NS_BASE_STREAM_WOULD_BLOCK;
-+ case G_IO_ERROR_FAILED_HANDLED: return NS_ERROR_ABORT; // Cancel on login dialog
-+
-+/* unhandled:
-+ G_IO_ERROR_NOT_REGULAR_FILE,
-+ G_IO_ERROR_NOT_SYMBOLIC_LINK,
-+ G_IO_ERROR_NOT_MOUNTABLE_FILE,
-+ G_IO_ERROR_TOO_MANY_LINKS,
-+ G_IO_ERROR_ALREADY_MOUNTED,
-+ G_IO_ERROR_CANT_CREATE_BACKUP,
-+ G_IO_ERROR_WRONG_ETAG,
-+ G_IO_ERROR_WOULD_RECURSE,
-+ G_IO_ERROR_BUSY,
-+ G_IO_ERROR_WOULD_MERGE,
-+ G_IO_ERROR_TOO_MANY_OPEN_FILES
-+*/
-+ // Make GCC happy
-+ default:
-+ return NS_ERROR_FAILURE;
-+ }
-+
-+ return NS_ERROR_FAILURE;
-+}
-+
-+static nsresult
-+MapGIOResult(GError *result)
-+{
-+ if (!result)
-+ return NS_OK;
-+ else
-+ return MapGIOResult(result->code);
-+}
-+/** Return values for mount operation.
-+ * These enums are used as mount operation return values.
-+ */
-+typedef enum {
-+ MOUNT_OPERATION_IN_PROGRESS, /** \enum operation in progress */
-+ MOUNT_OPERATION_SUCCESS, /** \enum operation successful */
-+ MOUNT_OPERATION_FAILED /** \enum operation not successful */
-+} MountOperationResult;
-+//-----------------------------------------------------------------------------
-+/**
-+ * Sort function compares according to file type (directory/file)
-+ * and alphabethical order
-+ * @param a pointer to GFileInfo object to compare
-+ * @param b pointer to GFileInfo object to compare
-+ * @return -1 when first object should be before the second, 0 when equal,
-+ * +1 when second object should be before the first
-+ */
-+static gint
-+FileInfoComparator(gconstpointer a, gconstpointer b)
-+{
-+ GFileInfo *ia = ( GFileInfo *) a;
-+ GFileInfo *ib = ( GFileInfo *) b;
-+ if (g_file_info_get_file_type(ia) == G_FILE_TYPE_DIRECTORY
-+ && g_file_info_get_file_type(ib) != G_FILE_TYPE_DIRECTORY)
-+ return -1;
-+ if (g_file_info_get_file_type(ib) == G_FILE_TYPE_DIRECTORY
-+ && g_file_info_get_file_type(ia) != G_FILE_TYPE_DIRECTORY)
-+ return 1;
-+
-+ return strcasecmp(g_file_info_get_name(ia), g_file_info_get_name(ib));
-+}
-+
-+/* Declaration of mount callback functions */
-+static void mount_enclosing_volume_finished (GObject *source_object,
-+ GAsyncResult *res,
-+ gpointer user_data);
-+static void mount_operation_ask_password (GMountOperation *mount_op,
-+ const char *message,
-+ const char *default_user,
-+ const char *default_domain,
-+ GAskPasswordFlags flags,
-+ gpointer user_data);
-+//-----------------------------------------------------------------------------
-+
-+class nsGIOInputStream : public nsIInputStream
-+{
-+ public:
-+ NS_DECL_ISUPPORTS
-+ NS_DECL_NSIINPUTSTREAM
-+
-+ nsGIOInputStream(const nsCString &uriSpec)
-+ : mSpec(uriSpec)
-+ , mChannel(nsnull)
-+ , mHandle(nsnull)
-+ , mStream(nsnull)
-+ , mBytesRemaining(PR_UINT32_MAX)
-+ , mStatus(NS_OK)
-+ , mDirList(nsnull)
-+ , mDirListPtr(nsnull)
-+ , mDirBufCursor(0)
-+ , mDirOpen(PR_FALSE)
-+ , mMonitorMountInProgress("GIOInputStream::MountFinished") { }
-+
-+ ~nsGIOInputStream() { Close(); }
-+
-+ void SetChannel(nsIChannel *channel)
-+ {
-+ // We need to hold an owning reference to our channel. This is done
-+ // so we can access the channel's notification callbacks to acquire
-+ // a reference to a nsIAuthPrompt if we need to handle an interactive
-+ // mount operation.
-+ //
-+ // However, the channel can only be accessed on the main thread, so
-+ // we have to be very careful with ownership. Moreover, it doesn't
-+ // support threadsafe addref/release, so proxying is the answer.
-+ //
-+ // Also, it's important to note that this likely creates a reference
-+ // cycle since the channel likely owns this stream. This reference
-+ // cycle is broken in our Close method.
-+
-+ NS_ADDREF(mChannel = channel);
-+ }
-+ void SetMountResult(MountOperationResult result, gint error_code);
-+ private:
-+ nsresult DoOpen();
-+ nsresult DoRead(char *aBuf, PRUint32 aCount, PRUint32 *aCountRead);
-+ nsresult SetContentTypeOfChannel(const char *contentType);
-+ nsresult MountVolume();
-+ nsresult DoOpenDirectory();
-+ nsresult DoOpenFile(GFileInfo *info);
-+ nsCString mSpec;
-+ nsIChannel *mChannel; // manually refcounted
-+ GFile *mHandle;
-+ GFileInputStream *mStream;
-+ PRUint64 mBytesRemaining;
-+ nsresult mStatus;
-+ GList *mDirList;
-+ GList *mDirListPtr;
-+ nsCString mDirBuf;
-+ PRUint32 mDirBufCursor;
-+ PRPackedBool mDirOpen;
-+ MountOperationResult mMountRes;
-+ mozilla::Monitor mMonitorMountInProgress;
-+ gint mMountErrorCode;
-+};
-+/**
-+ * Set result of mount operation and notify monitor waiting for results.
-+ * This method is called in main thread as long as it is used only
-+ * in mount_enclosing_volume_finished function.
-+ * @param result Result of mount operation
-+ */
-+void
-+nsGIOInputStream::SetMountResult(MountOperationResult result, gint error_code)
-+{
-+ mozilla::MonitorAutoEnter mon(mMonitorMountInProgress);
-+ mMountRes = result;
-+ mMountErrorCode = error_code;
-+ mon.Notify();
-+}
-+
-+/**
-+ * Start mount operation and wait in loop until it is finished. This method is
-+ * called from thread which is trying to read from location.
-+ */
-+nsresult
-+nsGIOInputStream::MountVolume() {
-+ GMountOperation* mount_op = g_mount_operation_new();
-+ g_signal_connect (mount_op, "ask-password",
-+ G_CALLBACK (mount_operation_ask_password), mChannel);
-+ mMountRes = MOUNT_OPERATION_IN_PROGRESS;
-+ /* g_file_mount_enclosing_volume uses a dbus request to mount the volume.
-+ Callback mount_enclosing_volume_finished is called in main thread
-+ (not this thread on which this method is called). */
-+ g_file_mount_enclosing_volume(mHandle,
-+ G_MOUNT_MOUNT_NONE,
-+ mount_op,
-+ NULL,
-+ mount_enclosing_volume_finished,
-+ this);
-+ mozilla::MonitorAutoEnter mon(mMonitorMountInProgress);
-+ /* Waiting for finish of mount operation thread */
-+ while (mMountRes == MOUNT_OPERATION_IN_PROGRESS)
-+ mon.Wait();
-+
-+ g_object_unref(mount_op);
-+
-+ if (mMountRes == MOUNT_OPERATION_FAILED) {
-+ return MapGIOResult(mMountErrorCode);
-+ } else {
-+ return NS_OK;
-+ }
-+}
-+
-+/**
-+ * Create list of infos about objects in opened directory
-+ * Return: NS_OK when list obtained, otherwise error code according
-+ * to failed operation.
-+ */
-+nsresult
-+nsGIOInputStream::DoOpenDirectory()
-+{
-+ GError *error = NULL;
-+
-+ GFileEnumerator *f_enum = g_file_enumerate_children(mHandle,
-+ "standard::*,time::*",
-+ G_FILE_QUERY_INFO_NONE,
-+ NULL,
-+ &error);
-+ if (!f_enum) {
-+ nsresult rv = MapGIOResult(error);
-+ g_warning("Cannot read from directory: %s", error->message);
-+ g_error_free(error);
-+ return rv;
-+ }
-+ // fill list of file infos
-+ GFileInfo *info = g_file_enumerator_next_file(f_enum, NULL, &error);
-+ while (info) {
-+ mDirList = g_list_append(mDirList, info);
-+ info = g_file_enumerator_next_file(f_enum, NULL, &error);
-+ }
-+ g_object_unref(f_enum);
-+ if (error) {
-+ g_warning("Error reading directory content: %s", error->message);
-+ nsresult rv = MapGIOResult(error);
-+ g_error_free(error);
-+ return rv;
-+ }
-+ mDirOpen = PR_TRUE;
-+
-+ // Sort list of file infos by using FileInfoComparator function
-+ mDirList = g_list_sort(mDirList, FileInfoComparator);
-+ mDirListPtr = mDirList;
-+
-+ // Write base URL (make sure it ends with a '/')
-+ mDirBuf.Append("300: ");
-+ mDirBuf.Append(mSpec);
-+ if (mSpec.get()[mSpec.Length() - 1] != '/')
-+ mDirBuf.Append('/');
-+ mDirBuf.Append('\n');
-+
-+ // Write column names
-+ mDirBuf.Append("200: filename content-length last-modified file-type\n");
-+
-+ // Write charset (assume UTF-8)
-+ // XXX is this correct?
-+ mDirBuf.Append("301: UTF-8\n");
-+ SetContentTypeOfChannel(APPLICATION_HTTP_INDEX_FORMAT);
-+ return NS_OK;
-+}
-+
-+/**
-+ * Create file stream and set mime type for channel
-+ * @param info file info used to determine mime type
-+ * @return NS_OK when file stream created successfuly, error code otherwise
-+ */
-+nsresult
-+nsGIOInputStream::DoOpenFile(GFileInfo *info)
-+{
-+ GError *error = NULL;
-+
-+ mStream = g_file_read(mHandle, NULL, &error);
-+ if (!mStream) {
-+ nsresult rv = MapGIOResult(error);
-+ g_warning("Cannot read from file: %s", error->message);
-+ g_error_free(error);
-+ return rv;
-+ }
-+
-+ const char * content_type = g_file_info_get_content_type(info);
-+ if (content_type) {
-+ char *mime_type = g_content_type_get_mime_type(content_type);
-+ if (mime_type) {
-+ if (strcmp(mime_type, APPLICATION_OCTET_STREAM) != 0) {
-+ SetContentTypeOfChannel(mime_type);
-+ }
-+ g_free(mime_type);
-+ }
-+ } else {
-+ g_warning("Missing content type.");
-+ }
-+
-+ mBytesRemaining = g_file_info_get_size(info);
-+ // Update the content length attribute on the channel. We do this
-+ // synchronously without proxying. This hack is not as bad as it looks!
-+ mChannel->SetContentLength(mBytesRemaining);
-+
-+ return NS_OK;
-+}
-+
-+/**
-+ * Start file open operation, mount volume when needed and according to file type
-+ * create file output stream or read directory content.
-+ * @return NS_OK when file or directory opened successfully, error code otherwise
-+ */
-+nsresult
-+nsGIOInputStream::DoOpen()
-+{
-+ nsresult rv;
-+ GError *error = NULL;
-+
-+ NS_ASSERTION(mHandle == nsnull, "already open");
-+
-+ mHandle = g_file_new_for_uri( mSpec.get() );
-+
-+ GFileInfo *info = g_file_query_info(mHandle,
-+ "standard::*",
-+ G_FILE_QUERY_INFO_NONE,
-+ NULL,
-+ &error);
-+
-+ if (error) {
-+ if (error->domain == G_IO_ERROR && error->code == G_IO_ERROR_NOT_MOUNTED) {
-+ // location is not yet mounted, try to mount
-+ g_error_free(error);
-+ if (NS_IsMainThread())
-+ return NS_ERROR_NOT_CONNECTED;
-+ error = NULL;
-+ rv = MountVolume();
-+ if (rv != NS_OK) {
-+ return rv;
-+ }
-+ // get info again
-+ info = g_file_query_info(mHandle,
-+ "standard::*",
-+ G_FILE_QUERY_INFO_NONE,
-+ NULL,
-+ &error);
-+ // second try to get file info from remote files after media mount
-+ if (!info) {
-+ g_warning("Unable to get file info: %s", error->message);
-+ rv = MapGIOResult(error);
-+ g_error_free(error);
-+ return rv;
-+ }
-+ } else {
-+ g_warning("Unable to get file info: %s", error->message);
-+ rv = MapGIOResult(error);
-+ g_error_free(error);
-+ return rv;
-+ }
-+ }
-+ // Get file type to handle directories and file differently
-+ GFileType f_type = g_file_info_get_file_type(info);
-+ if (f_type == G_FILE_TYPE_DIRECTORY) {
-+ // directory
-+ rv = DoOpenDirectory();
-+ } else if (f_type != G_FILE_TYPE_UNKNOWN) {
-+ // file
-+ rv = DoOpenFile(info);
-+ } else {
-+ g_warning("Unable to get file type.");
-+ rv = NS_ERROR_FILE_NOT_FOUND;
-+ }
-+ if (info)
-+ g_object_unref(info);
-+ return rv;
-+}
-+
-+/**
-+ * Read content of file or create file list from directory
-+ * @param aBuf read destination buffer
-+ * @param aCount length of destination buffer
-+ * @param aCountRead number of read characters
-+ * @return NS_OK when read successfully, NS_BASE_STREAM_CLOSED when end of file,
-+ * error code otherwise
-+ */
-+nsresult
-+nsGIOInputStream::DoRead(char *aBuf, PRUint32 aCount, PRUint32 *aCountRead)
-+{
-+ nsresult rv = NS_ERROR_NOT_AVAILABLE;
-+ if (mStream) {
-+ // file read
-+ GError *error = NULL;
-+ PRUint32 bytes_read = g_input_stream_read(G_INPUT_STREAM(mStream),
-+ aBuf,
-+ aCount,
-+ NULL,
-+ &error);
-+ if (error) {
-+ rv = MapGIOResult(error);
-+ *aCountRead = 0;
-+ g_warning("Cannot read from file: %s", error->message);
-+ g_error_free(error);
-+ return rv;
-+ }
-+ *aCountRead = bytes_read;
-+ mBytesRemaining -= *aCountRead;
-+ return NS_OK;
-+ }
-+ else if (mDirOpen) {
-+ // directory read
-+ while (aCount && rv != NS_BASE_STREAM_CLOSED)
-+ {
-+ // Copy data out of our buffer
-+ PRUint32 bufLen = mDirBuf.Length() - mDirBufCursor;
-+ if (bufLen)
-+ {
-+ PRUint32 n = PR_MIN(bufLen, aCount);
-+ memcpy(aBuf, mDirBuf.get() + mDirBufCursor, n);
-+ *aCountRead += n;
-+ aBuf += n;
-+ aCount -= n;
-+ mDirBufCursor += n;
-+ }
-+
-+ if (!mDirListPtr) // Are we at the end of the directory list?
-+ {
-+ rv = NS_BASE_STREAM_CLOSED;
-+ }
-+ else if (aCount) // Do we need more data?
-+ {
-+ GFileInfo *info = (GFileInfo *) mDirListPtr->data;
-+
-+ // Prune '.' and '..' from directory listing.
-+ const char * fname = g_file_info_get_name(info);
-+ if (fname && fname[0] == '.' &&
-+ (fname[1] == '\0' || (fname[1] == '.' && fname[2] == '\0')))
-+ {
-+ mDirListPtr = mDirListPtr->next;
-+ continue;
-+ }
-+
-+ mDirBuf.Assign("201: ");
-+
-+ // The "filename" field
-+ nsCString escName;
-+ nsCOMPtr<nsINetUtil> nu = do_GetService(NS_NETUTIL_CONTRACTID);
-+ if (nu && fname) {
-+ nu->EscapeString(nsDependentCString(fname),
-+ nsINetUtil::ESCAPE_URL_PATH, escName);
-+
-+ mDirBuf.Append(escName);
-+ mDirBuf.Append(' ');
-+ }
-+
-+ // The "content-length" field
-+ // XXX truncates size from 64-bit to 32-bit
-+ mDirBuf.AppendInt(PRInt32(g_file_info_get_size(info)));
-+ mDirBuf.Append(' ');
-+
-+ // The "last-modified" field
-+ //
-+ // NSPR promises: PRTime is compatible with time_t
-+ // we just need to convert from seconds to microseconds
-+ GTimeVal gtime;
-+ g_file_info_get_modification_time(info, &gtime);
-+
-+ PRExplodedTime tm;
-+ PRTime pt = ((PRTime) gtime.tv_sec) * 1000000;
-+ PR_ExplodeTime(pt, PR_GMTParameters, &tm);
-+ {
-+ char buf[64];
-+ PR_FormatTimeUSEnglish(buf, sizeof(buf),
-+ "%a,%%20%d%%20%b%%20%Y%%20%H:%M:%S%%20GMT ", &tm);
-+ mDirBuf.Append(buf);
-+ }
-+
-+ // The "file-type" field
-+ switch (g_file_info_get_file_type(info))
-+ {
-+ case G_FILE_TYPE_REGULAR:
-+ mDirBuf.Append("FILE ");
-+ break;
-+ case G_FILE_TYPE_DIRECTORY:
-+ mDirBuf.Append("DIRECTORY ");
-+ break;
-+ case G_FILE_TYPE_SYMBOLIC_LINK:
-+ mDirBuf.Append("SYMBOLIC-LINK ");
-+ break;
-+ default:
-+ break;
-+ }
-+ mDirBuf.Append('\n');
-+
-+ mDirBufCursor = 0;
-+ mDirListPtr = mDirListPtr->next;
-+ }
-+ }
-+ }
-+ return rv;
-+}
-+
-+/**
-+ * This class is used to implement SetContentTypeOfChannel.
-+ */
-+class nsGIOSetContentTypeEvent : public nsRunnable
-+{
-+ public:
-+ nsGIOSetContentTypeEvent(nsIChannel *channel, const char *contentType)
-+ : mChannel(channel), mContentType(contentType)
-+ {
-+ // stash channel reference in mChannel. no AddRef here! see note
-+ // in SetContentTypeOfchannel.
-+ }
-+
-+ NS_IMETHOD Run()
-+ {
-+ mChannel->SetContentType(mContentType);
-+ return NS_OK;
-+ }
-+
-+ private:
-+ nsIChannel *mChannel;
-+ nsCString mContentType;
-+};
-+
-+nsresult
-+nsGIOInputStream::SetContentTypeOfChannel(const char *contentType)
-+{
-+ // We need to proxy this call over to the main thread. We post an
-+ // asynchronous event in this case so that we don't delay reading data, and
-+ // we know that this is safe to do since the channel's reference will be
-+ // released asynchronously as well. We trust the ordering of the main
-+ // thread's event queue to protect us against memory corruption.
-+
-+ nsresult rv;
-+ nsCOMPtr<nsIRunnable> ev =
-+ new nsGIOSetContentTypeEvent(mChannel, contentType);
-+ if (!ev)
-+ {
-+ rv = NS_ERROR_OUT_OF_MEMORY;
-+ }
-+ else
-+ {
-+ rv = NS_DispatchToMainThread(ev);
-+ }
-+ return rv;
-+}
-+
-+NS_IMPL_THREADSAFE_ISUPPORTS1(nsGIOInputStream, nsIInputStream)
-+
-+/**
-+ * Free all used memory and close stream.
-+ */
-+NS_IMETHODIMP
-+nsGIOInputStream::Close()
-+{
-+ if (mStream)
-+ {
-+ g_object_unref(mStream);
-+ mStream = nsnull;
-+ }
-+
-+ if (mHandle)
-+ {
-+ g_object_unref(mHandle);
-+ mHandle = nsnull;
-+ }
-+
-+ if (mDirList)
-+ {
-+ // Destroy the list of GIOFileInfo objects...
-+ g_list_foreach(mDirList, (GFunc) g_object_unref, nsnull);
-+ g_list_free(mDirList);
-+ mDirList = nsnull;
-+ mDirListPtr = nsnull;
-+ }
-+
-+ if (mChannel)
-+ {
-+ nsresult rv = NS_OK;
-+
-+ nsCOMPtr<nsIThread> thread = do_GetMainThread();
-+ if (thread)
-+ rv = NS_ProxyRelease(thread, mChannel);
-+
-+ NS_ASSERTION(thread && NS_SUCCEEDED(rv), "leaking channel reference");
-+ mChannel = nsnull;
-+ }
-+
-+ mSpec.Truncate(); // free memory
-+
-+ // Prevent future reads from re-opening the handle.
-+ if (NS_SUCCEEDED(mStatus))
-+ mStatus = NS_BASE_STREAM_CLOSED;
-+
-+ return NS_OK;
-+}
-+
-+/**
-+ * Return number of remaining bytes available on input
-+ * @param aResult remaining bytes
-+ */
-+NS_IMETHODIMP
-+nsGIOInputStream::Available(PRUint32 *aResult)
-+{
-+ if (NS_FAILED(mStatus))
-+ return mStatus;
-+
-+ /* When remaining bytes are bigger than max PRUint32 value an aResult must
-+ be set to PRUint32 maximum */
-+ if (mBytesRemaining > PR_UINT32_MAX)
-+ *aResult = PR_UINT32_MAX;
-+ else
-+ *aResult = mBytesRemaining;
-+
-+ return NS_OK;
-+}
-+
-+/**
-+ * Trying to read from stream. When location is not available it tries to mount it.
-+ * @param aBuf buffer to put read data
-+ * @param aCount length of aBuf
-+ * @param aCountRead number of bytes actually read
-+ */
-+NS_IMETHODIMP
-+nsGIOInputStream::Read(char *aBuf,
-+ PRUint32 aCount,
-+ PRUint32 *aCountRead)
-+{
-+ *aCountRead = 0;
-+ // Check if file is already opened, otherwise open it
-+ if (!mStream && !mDirOpen && mStatus == NS_OK) {
-+ mStatus = DoOpen();
-+ if (NS_FAILED(mStatus)) {
-+ return mStatus;
-+ }
-+ }
-+
-+ mStatus = DoRead(aBuf, aCount, aCountRead);
-+ // Check if all data has been read
-+ if (mStatus == NS_BASE_STREAM_CLOSED)
-+ return NS_OK;
-+
-+ // Check whenever any error appears while reading
-+ return mStatus;
-+}
-+
-+NS_IMETHODIMP
-+nsGIOInputStream::ReadSegments(nsWriteSegmentFun aWriter,
-+ void *aClosure,
-+ PRUint32 aCount,
-+ PRUint32 *aResult)
-+{
-+ // There is no way to implement this using GnomeVFS, but fortunately
-+ // that doesn't matter. Because we are a blocking input stream, Necko
-+ // isn't going to call our ReadSegments method.
-+ NS_NOTREACHED("nsGIOInputStream::ReadSegments");
-+ return NS_ERROR_NOT_IMPLEMENTED;
-+}
-+
-+NS_IMETHODIMP
-+nsGIOInputStream::IsNonBlocking(PRBool *aResult)
-+{
-+ *aResult = PR_FALSE;
-+ return NS_OK;
-+}
-+
-+//-----------------------------------------------------------------------------
-+
-+/**
-+ * Called when finishing mount operation. Result of operation is set in
-+ * nsGIOInputStream. This function is called in main thread as an async request
-+ * typically from dbus.
-+ * @param source_object GFile object which requested the mount
-+ * @param res result object
-+ * @param user_data pointer to nsGIOInputStream
-+ */
-+static void
-+mount_enclosing_volume_finished (GObject *source_object,
-+ GAsyncResult *res,
-+ gpointer user_data)
-+{
-+ GError *error = NULL;
-+
-+ nsGIOInputStream* istream = static_cast<nsGIOInputStream*>(user_data);
-+
-+ g_file_mount_enclosing_volume_finish(G_FILE (source_object), res, &error);
-+
-+ if (error) {
-+ g_warning("Mount failed: %s %d", error->message, error->code);
-+ istream->SetMountResult(MOUNT_OPERATION_FAILED, error->code);
-+ g_error_free(error);
-+ } else {
-+ istream->SetMountResult(MOUNT_OPERATION_SUCCESS, 0);
-+ }
-+}
-+
-+/**
-+ * This function is called when username or password are requested from user.
-+ * This function is called in main thread as async request from dbus.
-+ * @param mount_op mount operation
-+ * @param message message to show to user
-+ * @param default_user preffered user
-+ * @param default_domain domain name
-+ * @param flags what type of information is required
-+ * @param user_data nsIChannel
-+ */
-+static void
-+mount_operation_ask_password (GMountOperation *mount_op,
-+ const char *message,
-+ const char *default_user,
-+ const char *default_domain,
-+ GAskPasswordFlags flags,
-+ gpointer user_data)
-+{
-+ nsIChannel *channel = (nsIChannel *) user_data;
-+ if (!channel) {
-+ g_mount_operation_reply(mount_op, G_MOUNT_OPERATION_ABORTED);
-+ return;
-+ }
-+ // We can't handle request for domain
-+ if (flags & G_ASK_PASSWORD_NEED_DOMAIN) {
-+ g_mount_operation_reply(mount_op, G_MOUNT_OPERATION_ABORTED);
-+ return;
-+ }
-+
-+ nsCOMPtr<nsIAuthPrompt> prompt;
-+ NS_QueryNotificationCallbacks(channel, prompt);
-+
-+ // If no auth prompt, then give up. We could failover to using the
-+ // WindowWatcher service, but that might defeat a consumer's purposeful
-+ // attempt to disable authentication (for whatever reason).
-+ if (!prompt) {
-+ g_mount_operation_reply(mount_op, G_MOUNT_OPERATION_ABORTED);
-+ return;
-+ }
-+ // Parse out the host and port...
-+ nsCOMPtr<nsIURI> uri;
-+ channel->GetURI(getter_AddRefs(uri));
-+ if (!uri) {
-+ g_mount_operation_reply(mount_op, G_MOUNT_OPERATION_ABORTED);
-+ return;
-+ }
-+
-+ nsCAutoString scheme, hostPort;
-+ uri->GetScheme(scheme);
-+ uri->GetHostPort(hostPort);
-+
-+ // It doesn't make sense for either of these strings to be empty. What kind
-+ // of funky URI is this?
-+ if (scheme.IsEmpty() || hostPort.IsEmpty()) {
-+ g_mount_operation_reply(mount_op, G_MOUNT_OPERATION_ABORTED);
-+ return;
-+ }
-+ // Construct the single signon key. Altering the value of this key will
-+ // cause people's remembered passwords to be forgotten. Think carefully
-+ // before changing the way this key is constructed.
-+ nsAutoString key, realm;
-+
-+ NS_ConvertUTF8toUTF16 dispHost(scheme);
-+ dispHost.Append(NS_LITERAL_STRING("://"));
-+ dispHost.Append(NS_ConvertUTF8toUTF16(hostPort));
-+
-+ key = dispHost;
-+ if (*default_domain != '\0')
-+ {
-+ // We assume the realm string is ASCII. That might be a bogus assumption,
-+ // but we have no idea what encoding GnomeVFS is using, so for now we'll
-+ // limit ourselves to ISO-Latin-1. XXX What is a better solution?
-+ realm.Append('"');
-+ realm.Append(NS_ConvertASCIItoUTF16(default_domain));
-+ realm.Append('"');
-+ key.Append(' ');
-+ key.Append(realm);
-+ }
-+ // Construct the message string...
-+ //
-+ // We use Necko's string bundle here. This code really should be encapsulated
-+ // behind some Necko API, after all this code is based closely on the code in
-+ // nsHttpChannel.cpp.
-+ nsCOMPtr<nsIStringBundleService> bundleSvc =
-+ do_GetService(NS_STRINGBUNDLE_CONTRACTID);
-+ if (!bundleSvc) {
-+ g_mount_operation_reply(mount_op, G_MOUNT_OPERATION_ABORTED);
-+ return;
-+ }
-+ nsCOMPtr<nsIStringBundle> bundle;
-+ bundleSvc->CreateBundle("chrome://global/locale/commonDialogs.properties",
-+ getter_AddRefs(bundle));
-+ if (!bundle) {
-+ g_mount_operation_reply(mount_op, G_MOUNT_OPERATION_ABORTED);
-+ return;
-+ }
-+ nsAutoString nsmessage;
-+
-+ if (flags & G_ASK_PASSWORD_NEED_PASSWORD) {
-+ if (flags & G_ASK_PASSWORD_NEED_USERNAME) {
-+ if (!realm.IsEmpty()) {
-+ const PRUnichar *strings[] = { realm.get(), dispHost.get() };
-+ bundle->FormatStringFromName(NS_LITERAL_STRING("EnterLoginForRealm").get(),
-+ strings, 2, getter_Copies(nsmessage));
-+ } else {
-+ const PRUnichar *strings[] = { dispHost.get() };
-+ bundle->FormatStringFromName(NS_LITERAL_STRING("EnterUserPasswordFor").get(),
-+ strings, 1, getter_Copies(nsmessage));
-+ }
-+ } else {
-+ NS_ConvertUTF8toUTF16 userName(default_user);
-+ const PRUnichar *strings[] = { userName.get(), dispHost.get() };
-+ bundle->FormatStringFromName(NS_LITERAL_STRING("EnterPasswordFor").get(),
-+ strings, 2, getter_Copies(nsmessage));
-+ }
-+ } else {
-+ g_warning("Unknown mount operation request (flags: %x)", flags);
-+ }
-+
-+ if (nsmessage.IsEmpty()) {
-+ g_mount_operation_reply(mount_op, G_MOUNT_OPERATION_ABORTED);
-+ return;
-+ }
-+ // Prompt the user...
-+ nsresult rv;
-+ PRBool retval = PR_FALSE;
-+ PRUnichar *user = nsnull, *pass = nsnull;
-+ if (default_user) {
-+ // user will be freed by PromptUsernameAndPassword
-+ user = ToNewUnicode(NS_ConvertUTF8toUTF16(default_user));
-+ }
-+ if (flags & G_ASK_PASSWORD_NEED_USERNAME) {
-+ rv = prompt->PromptUsernameAndPassword(nsnull, nsmessage.get(),
-+ key.get(),
-+ nsIAuthPrompt::SAVE_PASSWORD_PERMANENTLY,
-+ &user, &pass, &retval);
-+ } else {
-+ rv = prompt->PromptPassword(nsnull, nsmessage.get(),
-+ key.get(),
-+ nsIAuthPrompt::SAVE_PASSWORD_PERMANENTLY,
-+ &pass, &retval);
-+ }
-+ if (NS_FAILED(rv) || !retval) { // was || user == '\0' || pass == '\0'
-+ g_mount_operation_reply(mount_op, G_MOUNT_OPERATION_ABORTED);
-+ return;
-+ }
-+ /* GIO should accept UTF8 */
-+ g_mount_operation_set_username(mount_op, NS_ConvertUTF16toUTF8(user).get());
-+ g_mount_operation_set_password(mount_op, NS_ConvertUTF16toUTF8(pass).get());
-+ nsMemory::Free(user);
-+ nsMemory::Free(pass);
-+ g_mount_operation_reply(mount_op, G_MOUNT_OPERATION_HANDLED);
-+}
-+
-+//-----------------------------------------------------------------------------
-+
-+class nsGIOProtocolHandler : public nsIProtocolHandler
-+ , public nsIObserver
-+{
-+ public:
-+ NS_DECL_ISUPPORTS
-+ NS_DECL_NSIPROTOCOLHANDLER
-+ NS_DECL_NSIOBSERVER
-+
-+ nsresult Init();
-+
-+ private:
-+ void InitSupportedProtocolsPref(nsIPrefBranch *prefs);
-+ PRBool IsSupportedProtocol(const nsCString &spec);
-+
-+ nsCString mSupportedProtocols;
-+};
-+
-+NS_IMPL_ISUPPORTS2(nsGIOProtocolHandler, nsIProtocolHandler, nsIObserver)
-+
-+nsresult
-+nsGIOProtocolHandler::Init()
-+{
-+#ifdef PR_LOGGING
-+ sGIOLog = PR_NewLogModule("gio");
-+#endif
-+
-+ nsCOMPtr<nsIPrefBranch2> prefs = do_GetService(NS_PREFSERVICE_CONTRACTID);
-+ if (prefs)
-+ {
-+ InitSupportedProtocolsPref(prefs);
-+ prefs->AddObserver(MOZ_GIO_SUPPORTED_PROTOCOLS, this, PR_FALSE);
-+ }
-+
-+ return NS_OK;
-+}
-+
-+void
-+nsGIOProtocolHandler::InitSupportedProtocolsPref(nsIPrefBranch *prefs)
-+{
-+ // Get user preferences to determine which protocol is supported.
-+ // Gvfs/GIO has a set of supported protocols like obex, network, archive,
-+ // computer, dav, cdda, gphoto2, trash, etc. Some of these seems to be
-+ // irrelevant to process by browser. By default accept only smb and sftp
-+ // protocols so far.
-+ nsresult rv = prefs->GetCharPref(MOZ_GIO_SUPPORTED_PROTOCOLS,
-+ getter_Copies(mSupportedProtocols));
-+ if (NS_SUCCEEDED(rv)) {
-+ mSupportedProtocols.StripWhitespace();
-+ ToLowerCase(mSupportedProtocols);
-+ }
-+ else
-+ mSupportedProtocols.Assign("smb:,sftp:"); // use defaults
-+
-+ LOG(("gio: supported protocols \"%s\"\n", mSupportedProtocols.get()));
-+}
-+
-+PRBool
-+nsGIOProtocolHandler::IsSupportedProtocol(const nsCString &aSpec)
-+{
-+ const char *specString = aSpec.get();
-+ const char *colon = strchr(specString, ':');
-+ if (!colon)
-+ return PR_FALSE;
-+
-+ PRUint32 length = colon - specString + 1;
-+
-+ // <scheme> + ':'
-+ nsCString scheme(specString, length);
-+
-+ char *found = PL_strcasestr(mSupportedProtocols.get(), scheme.get());
-+ if (!found)
-+ return PR_FALSE;
-+
-+ if (found[length] != ',' && found[length] != '\0')
-+ return PR_FALSE;
-+
-+ return PR_TRUE;
-+}
-+
-+NS_IMETHODIMP
-+nsGIOProtocolHandler::GetScheme(nsACString &aScheme)
-+{
-+ aScheme.Assign(MOZ_GIO_SCHEME);
-+ return NS_OK;
-+}
-+
-+NS_IMETHODIMP
-+nsGIOProtocolHandler::GetDefaultPort(PRInt32 *aDefaultPort)
-+{
-+ *aDefaultPort = -1;
-+ return NS_OK;
-+}
-+
-+NS_IMETHODIMP
-+nsGIOProtocolHandler::GetProtocolFlags(PRUint32 *aProtocolFlags)
-+{
-+ // Is URI_STD true of all GnomeVFS URI types?
-+ *aProtocolFlags = URI_STD | URI_DANGEROUS_TO_LOAD;
-+ return NS_OK;
-+}
-+
-+NS_IMETHODIMP
-+nsGIOProtocolHandler::NewURI(const nsACString &aSpec,
-+ const char *aOriginCharset,
-+ nsIURI *aBaseURI,
-+ nsIURI **aResult)
-+{
-+ const nsCString flatSpec(aSpec);
-+ LOG(("gio: NewURI [spec=%s]\n", flatSpec.get()));
-+
-+ if (!aBaseURI)
-+ {
-+ // XXX Is it good to support all GIO protocols?
-+ if (!IsSupportedProtocol(flatSpec))
-+ return NS_ERROR_UNKNOWN_PROTOCOL;
-+
-+ PRInt32 colon_location = flatSpec.FindChar(':');
-+ if (colon_location <= 0)
-+ return NS_ERROR_UNKNOWN_PROTOCOL;
-+
-+ // Verify that GIO supports this URI scheme.
-+ PRBool uri_scheme_supported = PR_FALSE;
-+
-+ GVfs *gvfs = g_vfs_get_default();
-+
-+ if (!gvfs) {
-+ g_warning("Cannot get GVfs object.");
-+ return NS_ERROR_UNKNOWN_PROTOCOL;
-+ }
-+
-+ const gchar* const * uri_schemes = g_vfs_get_supported_uri_schemes(gvfs);
-+
-+ while (*uri_schemes != NULL) {
-+ // While flatSpec ends with ':' the uri_scheme does not. Therefore do not
-+ // compare last character.
-+ if (StringHead(flatSpec, colon_location).Equals(*uri_schemes)) {
-+ uri_scheme_supported = PR_TRUE;
-+ break;
-+ }
-+ uri_schemes++;
-+ }
-+
-+ if (!uri_scheme_supported) {
-+ return NS_ERROR_UNKNOWN_PROTOCOL;
-+ }
-+ }
-+
-+ nsresult rv;
-+ nsCOMPtr<nsIStandardURL> url =
-+ do_CreateInstance(NS_STANDARDURL_CONTRACTID, &rv);
-+ if (NS_FAILED(rv))
-+ return rv;
-+
-+ rv = url->Init(nsIStandardURL::URLTYPE_STANDARD, -1, flatSpec,
-+ aOriginCharset, aBaseURI);
-+ if (NS_SUCCEEDED(rv))
-+ rv = CallQueryInterface(url, aResult);
-+ return rv;
-+
-+}
-+
-+NS_IMETHODIMP
-+nsGIOProtocolHandler::NewChannel(nsIURI *aURI, nsIChannel **aResult)
-+{
-+ NS_ENSURE_ARG_POINTER(aURI);
-+ nsresult rv;
-+
-+ nsCAutoString spec;
-+ rv = aURI->GetSpec(spec);
-+ if (NS_FAILED(rv))
-+ return rv;
-+
-+ nsRefPtr<nsGIOInputStream> stream = new nsGIOInputStream(spec);
-+ if (!stream)
-+ {
-+ rv = NS_ERROR_OUT_OF_MEMORY;
-+ }
-+ else
-+ {
-+ // start out assuming an unknown content-type. we'll set the content-type
-+ // to something better once we open the URI.
-+ rv = NS_NewInputStreamChannel(aResult,
-+ aURI,
-+ stream,
-+ NS_LITERAL_CSTRING(UNKNOWN_CONTENT_TYPE));
-+ if (NS_SUCCEEDED(rv))
-+ stream->SetChannel(*aResult);
-+ }
-+ return rv;
-+}
-+
-+NS_IMETHODIMP
-+nsGIOProtocolHandler::AllowPort(PRInt32 aPort,
-+ const char *aScheme,
-+ PRBool *aResult)
-+{
-+ // Don't override anything.
-+ *aResult = PR_FALSE;
-+ return NS_OK;
-+}
-+
-+NS_IMETHODIMP
-+nsGIOProtocolHandler::Observe(nsISupports *aSubject,
-+ const char *aTopic,
-+ const PRUnichar *aData)
-+{
-+ if (strcmp(aTopic, NS_PREFBRANCH_PREFCHANGE_TOPIC_ID) == 0) {
-+ nsCOMPtr<nsIPrefBranch> prefs = do_QueryInterface(aSubject);
-+ InitSupportedProtocolsPref(prefs);
-+ }
-+ return NS_OK;
-+}
-+
-+//-----------------------------------------------------------------------------
-+
-+#define NS_GIOPROTOCOLHANDLER_CID \
-+{ /* ee706783-3af8-4d19-9e84-e2ebfe213480 */ \
-+ 0xee706783, \
-+ 0x3af8, \
-+ 0x4d19, \
-+ {0x9e, 0x84, 0xe2, 0xeb, 0xfe, 0x21, 0x34, 0x80} \
-+}
-+
-+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGIOProtocolHandler, Init)
-+NS_DEFINE_NAMED_CID(NS_GIOPROTOCOLHANDLER_CID);
-+
-+static const mozilla::Module::CIDEntry kVFSCIDs[] = {
-+ { &kNS_GIOPROTOCOLHANDLER_CID, false, NULL, nsGIOProtocolHandlerConstructor },
-+ { NULL }
-+};
-+
-+static const mozilla::Module::ContractIDEntry kVFSContracts[] = {
-+ { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX MOZ_GIO_SCHEME, &kNS_GIOPROTOCOLHANDLER_CID },
-+ { NULL }
-+};
-+
-+static const mozilla::Module kVFSModule = {
-+ mozilla::Module::kVersion,
-+ kVFSCIDs,
-+ kVFSContracts
-+};
-+
-+NSMODULE_DEFN(nsGIOModule) = &kVFSModule;
-diff -r 49a1b2aa43c5 netwerk/base/src/nsIOService.cpp
---- a/netwerk/base/src/nsIOService.cpp Tue Dec 21 12:42:59 2010 +0100
-+++ b/netwerk/base/src/nsIOService.cpp Tue Jan 11 11:17:52 2011 +0100
-@@ -454,6 +454,27 @@
- }
-
- #ifdef MOZ_X11
-+ // check to see whether GVFS can handle this URI scheme. if it can
-+ // create a nsIURI for the "scheme:", then we assume it has support for
-+ // the requested protocol. otherwise, we failover to using the default
-+ // protocol handler.
-+
-+ rv = CallGetService(NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX"moz-gio",
-+ result);
-+ if (NS_SUCCEEDED(rv)) {
-+ nsCAutoString spec(scheme);
-+ spec.Append(':');
-+
-+ nsIURI *uri;
-+ rv = (*result)->NewURI(spec, nsnull, nsnull, &uri);
-+ if (NS_SUCCEEDED(rv)) {
-+ NS_RELEASE(uri);
-+ return rv;
-+ }
-+
-+ NS_RELEASE(*result);
-+ }
-+
- // check to see whether GnomeVFS can handle this URI scheme. if it can
- // create a nsIURI for the "scheme:", then we assume it has support for
- // the requested protocol. otherwise, we failover to using the default
diff --git a/staging/xulrunner/xulrunner-omnijar.patch b/staging/xulrunner/xulrunner-omnijar.patch
deleted file mode 100644
index 66ec5206c..000000000
--- a/staging/xulrunner/xulrunner-omnijar.patch
+++ /dev/null
@@ -1,1737 +0,0 @@
-# HG changeset patch
-# Parent a7dea879b4b445a23186f438900562155bb39e99
-Bug 620931 part 1 - Use chrome manifest to register resource://gre-resources/
-
-diff --git a/layout/style/jar.mn b/layout/style/jar.mn
---- a/layout/style/jar.mn
-+++ b/layout/style/jar.mn
-@@ -1,8 +1,10 @@
- toolkit.jar:
- * res/ua.css (ua.css)
- res/html.css (html.css)
- res/quirk.css (quirk.css)
- res/viewsource.css (viewsource.css)
- * res/forms.css (forms.css)
- res/arrow.gif (arrow.gif)
- res/arrowd.gif (arrowd.gif)
-+
-+% resource gre-resources %res/
-diff --git a/netwerk/protocol/res/nsResProtocolHandler.cpp b/netwerk/protocol/res/nsResProtocolHandler.cpp
---- a/netwerk/protocol/res/nsResProtocolHandler.cpp
-+++ b/netwerk/protocol/res/nsResProtocolHandler.cpp
-@@ -75,17 +75,16 @@ static nsResProtocolHandler *gResHandler
- //
- // this enables PR_LOG_ALWAYS level information and places all output in
- // the file log.txt
- //
- static PRLogModuleInfo *gResLog;
- #endif
-
- #define kGRE NS_LITERAL_CSTRING("gre")
--#define kGRE_RESOURCES NS_LITERAL_CSTRING("gre-resources")
-
- //----------------------------------------------------------------------------
- // nsResURL : overrides nsStandardURL::GetFile to provide nsIFile resolution
- //----------------------------------------------------------------------------
-
- nsresult
- nsResURL::EnsureFile()
- {
-@@ -197,28 +196,16 @@ nsResProtocolHandler::Init()
- NS_ENSURE_SUCCESS(rv, rv);
-
- //
- // make resource://gre/ point to the GRE directory
- //
- rv = AddSpecialDir(NS_GRE_DIR, kGRE);
- NS_ENSURE_SUCCESS(rv, rv);
-
-- // make resource://gre-resources/ point to gre toolkit[.jar]/res
-- nsCOMPtr<nsIURI> greURI;
-- nsCOMPtr<nsIURI> greResURI;
-- GetSubstitution(kGRE, getter_AddRefs(greURI));
--#ifdef MOZ_CHROME_FILE_FORMAT_JAR
-- NS_NAMED_LITERAL_CSTRING(strGRE_RES_URL, "jar:chrome/toolkit.jar!/res/");
--#else
-- NS_NAMED_LITERAL_CSTRING(strGRE_RES_URL, "chrome/toolkit/res/");
--#endif
-- rv = mIOService->NewURI(strGRE_RES_URL, nsnull, greURI,
-- getter_AddRefs(greResURI));
-- SetSubstitution(kGRE_RESOURCES, greResURI);
- //XXXbsmedberg Neil wants a resource://pchrome/ for the profile chrome dir...
- // but once I finish multiple chrome registration I'm not sure that it is needed
-
- // XXX dveditz: resource://pchrome/ defeats profile directory salting
- // if web content can load it. Tread carefully.
-
- return rv;
- }
-@@ -242,22 +229,16 @@ nsResProtocolHandler::Init(nsIFile *aOmn
- // these entries should be kept in sync with the normal Init function
-
- // resource:/// points to jar:omni.jar!/
- SetSubstitution(EmptyCString(), uri);
-
- // resource://gre/ points to jar:omni.jar!/
- SetSubstitution(kGRE, uri);
-
-- urlStr += "chrome/toolkit/res/";
-- rv = mIOService->NewURI(urlStr, nsnull, nsnull, getter_AddRefs(uri));
-- NS_ENSURE_SUCCESS(rv, rv);
--
-- // resource://gre-resources/ points to jar:omni.jar!/chrome/toolkit/res/
-- SetSubstitution(kGRE_RESOURCES, uri);
- return NS_OK;
- }
- #endif
-
- #ifdef MOZ_IPC
- static PLDHashOperator
- EnumerateSubstitution(const nsACString& aKey,
- nsIURI* aURI,
-# HG changeset patch
-# Parent 3038cccba1a071d6b418e15442d0f2d9f3dcb11d
-Bug 620931 part 2 - When building --with-libxul-sdk, use the right preferences directory
-
-diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
---- a/browser/locales/Makefile.in
-+++ b/browser/locales/Makefile.in
-@@ -183,17 +183,17 @@ install:: $(addsuffix .xml,$(SEARCH_PLUG
- $(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)/searchplugins
-
-
- libs-%:
- $(NSINSTALL) -D $(DIST)/install
- @$(MAKE) -C ../../toolkit/locales libs-$* BOTH_MANIFESTS=1
- @$(MAKE) -C ../../services/sync/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
- @$(MAKE) -C ../../extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
-- @$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=defaults/pref BOTH_MANIFESTS=1
-+ @$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=$(PREF_DIR) BOTH_MANIFESTS=1
- @$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
-
-
- repackage-win32-installer: WIN32_INSTALLER_OUT="$(_ABS_DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe"
- repackage-win32-installer: $(WIN32_INSTALLER_IN) $(SUBMAKEFILES)
- @echo "Repackaging $(WIN32_INSTALLER_IN) into $(WIN32_INSTALLER_OUT)."
- $(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY) export
- $(MAKE) -C ../installer/windows CONFIG_DIR=l10ngen l10ngen/setup.exe l10ngen/7zSD.sfx
-diff --git a/toolkit/mozapps/installer/packager.mk b/toolkit/mozapps/installer/packager.mk
---- a/toolkit/mozapps/installer/packager.mk
-+++ b/toolkit/mozapps/installer/packager.mk
-@@ -307,17 +307,17 @@ OMNIJAR_FILES = \
- res \
- defaults \
- greprefs.js \
- jsloader \
- $(NULL)
-
- NON_OMNIJAR_FILES += \
- chrome/icons/\* \
-- defaults/pref/channel-prefs.js \
-+ $(PREF_DIR)/channel-prefs.js \
- res/cursors/\* \
- res/MainMenu.nib/\* \
- $(NULL)
-
- PACK_OMNIJAR = \
- rm -f omni.jar components/binary.manifest && \
- grep -h '^binary-component' components/*.manifest > binary.manifest ; \
- sed -e 's/^binary-component/\#binary-component/' components/components.manifest > components.manifest && \
-# HG changeset patch
-# Parent cd8df8030f7ad7530692bd7c4391a8009df56a02
-Bug 620931 part 3 - Allow GRE and XUL application to use omni.jar independently
-
-We now store two independent locations for an omni.jar, allowing GRE/XRE and
-XUL application to each have their own omni.jar. And since xulrunner setups
-are very independent from the XUL applications, we implement support for both
-omni.jar and non omni.jar cases in the same runtime, with the side effect of
-allowing to switch from one to the other manually without rebuilding the
-binaries.
-
-We let the mozilla::Omnijar API handle both cases, so that callers don't need
-too much work to support them.
-
-We also make the preferences service load the same set of preferences in all
-the various cases (unified vs. separate, omni.jar vs. no omni.jar).
-
-The child process launcher for IPC is modified to pass the base directories
-needed for the mozilla::Omnijar API initialization in the child process.
-
-Finally, the startupcache file name canonicalization is modified to separate
-APP and GRE resources.
-
-diff --git a/ipc/glue/GeckoChildProcessHost.cpp b/ipc/glue/GeckoChildProcessHost.cpp
---- a/ipc/glue/GeckoChildProcessHost.cpp
-+++ b/ipc/glue/GeckoChildProcessHost.cpp
-@@ -440,26 +440,29 @@ GeckoChildProcessHost::PerformAsyncLaunc
- // other end of the socketpair() from us
-
- std::vector<std::string> childArgv;
-
- childArgv.push_back(exePath.value());
-
- childArgv.insert(childArgv.end(), aExtraOpts.begin(), aExtraOpts.end());
-
--#ifdef MOZ_OMNIJAR
- // Make sure the child process can find the omnijar
- // See XRE_InitCommandLine in nsAppRunner.cpp
-- nsCAutoString omnijarPath;
-- if (mozilla::OmnijarPath()) {
-- mozilla::OmnijarPath()->GetNativePath(omnijarPath);
-- childArgv.push_back("-omnijar");
-- childArgv.push_back(omnijarPath.get());
-+ nsCAutoString path;
-+ nsCOMPtr<nsIFile> file = mozilla::Omnijar::GetBase(mozilla::Omnijar::GRE);
-+ if (file && NS_SUCCEEDED(file->GetNativePath(path))) {
-+ childArgv.push_back("-grebase");
-+ childArgv.push_back(path.get());
- }
--#endif
-+ file = mozilla::Omnijar::GetBase(mozilla::Omnijar::APP);
-+ if (file && NS_SUCCEEDED(file->GetNativePath(path))) {
-+ childArgv.push_back("-appbase");
-+ childArgv.push_back(path.get());
-+ }
-
- childArgv.push_back(pidstring);
-
- #if defined(MOZ_CRASHREPORTER)
- # if defined(OS_LINUX)
- int childCrashFd, childCrashRemapFd;
- if (!CrashReporter::CreateNotificationPipeForChild(
- &childCrashFd, &childCrashRemapFd))
-@@ -552,26 +555,29 @@ GeckoChildProcessHost::PerformAsyncLaunc
- for (std::vector<std::string>::iterator it = aExtraOpts.begin();
- it != aExtraOpts.end();
- ++it) {
- cmdLine.AppendLooseValue(UTF8ToWide(*it));
- }
-
- cmdLine.AppendLooseValue(std::wstring(mGroupId.get()));
-
--#ifdef MOZ_OMNIJAR
- // Make sure the child process can find the omnijar
- // See XRE_InitCommandLine in nsAppRunner.cpp
-- nsAutoString omnijarPath;
-- if (mozilla::OmnijarPath()) {
-- mozilla::OmnijarPath()->GetPath(omnijarPath);
-- cmdLine.AppendLooseValue(UTF8ToWide("-omnijar"));
-- cmdLine.AppendLooseValue(omnijarPath.get());
-+ nsAutoString path;
-+ nsCOMPtr<nsIFile> file = mozilla::Omnijar::GetBase(mozilla::Omnijar::GRE);
-+ if (file && NS_SUCCEEDED(file->GetPath(path))) {
-+ cmdLine.AppendLooseValue(UTF8ToWide("-grebase"));
-+ cmdLine.AppendLooseValue(path.get());
- }
--#endif
-+ file = mozilla::Omnijar::GetBase(mozilla::Omnijar::APP);
-+ if (file && NS_SUCCEEDED(file->GetPath(path))) {
-+ cmdLine.AppendLooseValue(UTF8ToWide("-appbase"));
-+ cmdLine.AppendLooseValue(path.get());
-+ }
-
- cmdLine.AppendLooseValue(UTF8ToWide(pidstring));
-
- #if defined(MOZ_CRASHREPORTER)
- cmdLine.AppendLooseValue(
- UTF8ToWide(CrashReporter::GetChildNotificationPipe()));
- #endif
-
-diff --git a/js/src/xpconnect/loader/mozJSComponentLoader.cpp b/js/src/xpconnect/loader/mozJSComponentLoader.cpp
---- a/js/src/xpconnect/loader/mozJSComponentLoader.cpp
-+++ b/js/src/xpconnect/loader/mozJSComponentLoader.cpp
-@@ -81,16 +81,17 @@
- #include "nsIConsoleService.h"
- #include "nsIStorageStream.h"
- #include "nsIStringStream.h"
- #include "prmem.h"
- #if defined(XP_WIN)
- #include "nsILocalFileWin.h"
- #endif
- #include "xpcprivate.h"
-+#include "nsIResProtocolHandler.h"
-
- #ifdef MOZ_ENABLE_LIBXUL
- #include "mozilla/scache/StartupCache.h"
- #include "mozilla/scache/StartupCacheUtils.h"
- #endif
- #include "mozilla/Omnijar.h"
-
- #include "jsdbgapi.h"
-@@ -621,34 +622,21 @@ mozJSComponentLoader::LoadModule(nsILoca
-
- const mozilla::Module*
- mozJSComponentLoader::LoadModuleFromJAR(nsILocalFile *aJarFile,
- const nsACString &aComponentPath)
- {
- #if !defined(XPCONNECT_STANDALONE)
- nsresult rv;
-
-- nsCAutoString fullSpec;
--
--#ifdef MOZ_OMNIJAR
-- PRBool equal;
-- rv = aJarFile->Equals(mozilla::OmnijarPath(), &equal);
-- if (NS_SUCCEEDED(rv) && equal) {
-- fullSpec = "resource://gre/";
-- } else {
--#endif
-- nsCAutoString fileSpec;
-- NS_GetURLSpecFromActualFile(aJarFile, fileSpec);
-- fullSpec = "jar:";
-- fullSpec += fileSpec;
-- fullSpec += "!/";
--#ifdef MOZ_OMNIJAR
-- }
--#endif
--
-+ nsCAutoString fullSpec, fileSpec;
-+ NS_GetURLSpecFromActualFile(aJarFile, fileSpec);
-+ fullSpec = "jar:";
-+ fullSpec += fileSpec;
-+ fullSpec += "!/";
- fullSpec += aComponentPath;
-
- nsCOMPtr<nsIURI> uri;
- rv = NS_NewURI(getter_AddRefs(uri), fullSpec);
- if (NS_FAILED(rv))
- return NULL;
-
- nsAutoString hashstring;
-@@ -833,57 +821,138 @@ class JSScriptHolder
- JSScriptHolder(JSContext *cx, JSScript *script)
- : mCx(cx), mScript(script) {}
- ~JSScriptHolder() { ::JS_DestroyScript(mCx, mScript); }
- private:
- JSContext *mCx;
- JSScript *mScript;
- };
-
-+static const char baseName[2][5] = { "gre/", "app/" };
-+
-+static inline PRBool
-+canonicalizeBase(nsCAutoString &spec, nsACString &out, mozilla::Omnijar::Type aType)
-+{
-+ nsCAutoString base;
-+ nsresult rv = mozilla::Omnijar::GetURIString(aType, base);
-+
-+ if (NS_FAILED(rv) || !base.Length())
-+ return PR_FALSE;
-+
-+ if (base.Compare(spec.get(), PR_FALSE, base.Length()))
-+ return PR_FALSE;
-+
-+ out.Append("/resource/");
-+ out.Append(baseName[aType]);
-+ out.Append(Substring(spec, base.Length()));
-+ return PR_TRUE;
-+}
- /**
- * PathifyURI transforms mozilla .js uris into useful zip paths
- * to make it makes it easier to manipulate startup cache entries
- * using standard zip tools.
- * Transformations applied:
-- * * jsloader/<scheme> prefix is used to group mozJSComponentLoader cache entries in
-+ * * jsloader/ prefix is used to group mozJSComponentLoader cache entries in
- * a top-level zip directory.
-- * * In MOZ_OMNIJAR case resource:/// and resource://gre/ URIs refer to the same path
-- * so treat both of them as resource://gre/
-+ * * resource:// URIs are resolved to their corresponding file/jar URI to
-+ * canonicalize resources URIs other than gre and app.
-+ * * Paths under GRE or APP directory have their base path replaced with
-+ * resource/gre or resource/app to avoid depending on install location.
-+ * * jar:file:///path/to/file.jar!/sub/path urls are replaced with
-+ * /path/to/file.jar/sub/path
- * * .bin suffix is added to the end of the path to indicate that jsloader/ entries
- * are binary representations of JS source.
- * For example:
-- * resource://gre/modules/XPCOMUtils.jsm becomes
-- * jsloader/resource/gre/modules/XPCOMUtils.jsm.bin
-+ * resource://gre/modules/XPCOMUtils.jsm or
-+ * file://$GRE_DIR/modules/XPCOMUtils.jsm or
-+ * jar:file://$GRE_DIR/omni.jar!/modules/XPCOMUtils.jsm become
-+ * jsloader/resource/gre/modules/XPCOMUtils.jsm.bin
-+ * file://$PROFILE_DIR/extensions/{uuid}/components/component.js becomes
-+ * jsloader/$PROFILE_DIR/extensions/%7Buuid%7D/components/component.js.bin
-+ * jar:file://$PROFILE_DIR/extensions/some.xpi!/components/component.js becomes
-+ * jsloader/$PROFILE_DIR/extensions/some.xpi/components/component.js.bin
- */
- static nsresult
- PathifyURI(nsIURI *in, nsACString &out)
- {
-- out = "jsloader/";
-- nsCAutoString scheme;
-- nsresult rv = in->GetScheme(scheme);
-- NS_ENSURE_SUCCESS(rv, rv);
-- out.Append(scheme);
-- nsCAutoString host;
-- // OK for GetHost to fail since it's not implemented sometimes
-- in->GetHost(host);
--#ifdef MOZ_OMNIJAR
-- if (scheme.Equals("resource") && host.Length() == 0){
-- host = "gre";
-- }
--#endif
-- if (host.Length()) {
-- out.Append("/");
-- out.Append(host);
-- }
-- nsCAutoString path;
-- rv = in->GetPath(path);
-- NS_ENSURE_SUCCESS(rv, rv);
-- out.Append(path);
-- out.Append(".bin");
-- return NS_OK;
-+ PRBool equals;
-+ nsresult rv;
-+ nsCOMPtr<nsIURI> uri = in;
-+ nsCAutoString spec;
-+
-+ out = "jsloader";
-+
-+ // Resolve resource:// URIs. At the end of this if/else block, we
-+ // have both spec and uri variables identifying the same URI.
-+ if (NS_SUCCEEDED(in->SchemeIs("resource", &equals)) && equals) {
-+ nsCOMPtr<nsIIOService> ioService = do_GetIOService(&rv);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ nsCOMPtr<nsIProtocolHandler> ph;
-+ rv = ioService->GetProtocolHandler("resource", getter_AddRefs(ph));
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ nsCOMPtr<nsIResProtocolHandler> irph(do_QueryInterface(ph, &rv));
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ rv = irph->ResolveURI(in, spec);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ rv = ioService->NewURI(spec, nsnull, nsnull, getter_AddRefs(uri));
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ } else {
-+ rv = in->GetSpec(spec);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ }
-+
-+ if (!canonicalizeBase(spec, out, mozilla::Omnijar::GRE) &&
-+ !canonicalizeBase(spec, out, mozilla::Omnijar::APP)) {
-+ if (NS_SUCCEEDED(uri->SchemeIs("file", &equals)) && equals) {
-+ nsCOMPtr<nsIFileURL> baseFileURL;
-+ baseFileURL = do_QueryInterface(uri, &rv);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ nsCAutoString path;
-+ rv = baseFileURL->GetPath(path);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ out.Append(path);
-+ } else if (NS_SUCCEEDED(uri->SchemeIs("jar", &equals)) && equals) {
-+ nsCOMPtr<nsIJARURI> jarURI = do_QueryInterface(uri, &rv);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ nsCOMPtr<nsIURI> jarFileURI;
-+ rv = jarURI->GetJARFile(getter_AddRefs(jarFileURI));
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ nsCOMPtr<nsIFileURL> jarFileURL;
-+ jarFileURL = do_QueryInterface(jarFileURI, &rv);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ nsCAutoString path;
-+ rv = jarFileURL->GetPath(path);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ out.Append(path);
-+
-+ rv = jarURI->GetJAREntry(path);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ out.Append("/");
-+ out.Append(path);
-+ } else { // Very unlikely
-+ nsCAutoString spec;
-+ rv = uri->GetSpec(spec);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ out.Append("/");
-+ out.Append(spec);
-+ }
-+ }
-+
-+ out.Append(".bin");
-+ return NS_OK;
- }
-
- /* static */
- #ifdef MOZ_ENABLE_LIBXUL
- nsresult
- mozJSComponentLoader::ReadScript(StartupCache* cache, nsIURI *uri,
- JSContext *cx, JSScript **script)
- {
-diff --git a/modules/libjar/nsJAR.cpp b/modules/libjar/nsJAR.cpp
---- a/modules/libjar/nsJAR.cpp
-+++ b/modules/libjar/nsJAR.cpp
-@@ -171,26 +171,23 @@ nsJAR::Open(nsIFile* zipFile)
- if (mLock) return NS_ERROR_FAILURE; // Already open!
-
- mZipFile = zipFile;
- mOuterZipEntry.Truncate();
-
- mLock = PR_NewLock();
- NS_ENSURE_TRUE(mLock, NS_ERROR_OUT_OF_MEMORY);
-
--#ifdef MOZ_OMNIJAR
- // The omnijar is special, it is opened early on and closed late
- // this avoids reopening it
-- PRBool equals;
-- nsresult rv = zipFile->Equals(mozilla::OmnijarPath(), &equals);
-- if (NS_SUCCEEDED(rv) && equals) {
-- mZip = mozilla::OmnijarReader();
-+ nsZipArchive *zip = mozilla::Omnijar::GetReader(zipFile);
-+ if (zip) {
-+ mZip = zip;
- return NS_OK;
- }
--#endif
- return mZip->OpenArchive(zipFile);
- }
-
- NS_IMETHODIMP
- nsJAR::OpenInner(nsIZipReader *aZipReader, const char *aZipEntry)
- {
- NS_ENSURE_ARG_POINTER(aZipReader);
- NS_ENSURE_ARG_POINTER(aZipEntry);
-@@ -234,23 +231,22 @@ nsJAR::Close()
- mLock = nsnull;
- }
-
- mParsedManifest = PR_FALSE;
- mManifestData.Reset();
- mGlobalStatus = JAR_MANIFEST_NOT_PARSED;
- mTotalItemsInManifest = 0;
-
--#ifdef MOZ_OMNIJAR
-- if (mZip == mozilla::OmnijarReader()) {
-+ if ((mZip == mozilla::Omnijar::GetReader(mozilla::Omnijar::GRE)) ||
-+ (mZip == mozilla::Omnijar::GetReader(mozilla::Omnijar::APP))) {
- mZip.forget();
- mZip = new nsZipArchive();
- return NS_OK;
- }
--#endif
- return mZip->CloseArchive();
- }
-
- NS_IMETHODIMP
- nsJAR::Test(const char *aEntryName)
- {
- return mZip->Test(aEntryName);
- }
-@@ -391,22 +387,21 @@ nsJAR::GetInputStreamWithSpec(const nsAC
- NS_IMETHODIMP
- nsJAR::GetCertificatePrincipal(const char* aFilename, nsIPrincipal** aPrincipal)
- {
- //-- Parameter check
- if (!aPrincipal)
- return NS_ERROR_NULL_POINTER;
- *aPrincipal = nsnull;
-
--#ifdef MOZ_OMNIJAR
- // Don't check signatures in the omnijar - this is only
- // interesting for extensions/XPIs.
-- if (mZip == mozilla::OmnijarReader())
-+ if ((mZip == mozilla::Omnijar::GetReader(mozilla::Omnijar::GRE)) ||
-+ (mZip == mozilla::Omnijar::GetReader(mozilla::Omnijar::APP)))
- return NS_OK;
--#endif
-
- //-- Parse the manifest
- nsresult rv = ParseManifest();
- if (NS_FAILED(rv)) return rv;
- if (mGlobalStatus == JAR_NO_MANIFEST)
- return NS_OK;
-
- PRInt16 requestedStatus;
-diff --git a/modules/libpref/src/nsPrefService.cpp b/modules/libpref/src/nsPrefService.cpp
---- a/modules/libpref/src/nsPrefService.cpp
-+++ b/modules/libpref/src/nsPrefService.cpp
-@@ -67,20 +67,18 @@
-
- #include "prefapi.h"
- #include "prefread.h"
- #include "prefapi_private_data.h"
- #include "PrefTuple.h"
-
- #include "nsITimelineService.h"
-
--#ifdef MOZ_OMNIJAR
- #include "mozilla/Omnijar.h"
- #include "nsZipArchive.h"
--#endif
-
- // Definitions
- #define INITIAL_PREF_FILES 10
- static NS_DEFINE_CID(kZipReaderCID, NS_ZIPREADER_CID);
-
- // Prototypes
- static nsresult openPrefFile(nsIFile* aFile);
- static nsresult pref_InitInitialObjects(void);
-@@ -793,124 +791,144 @@ static nsresult pref_LoadPrefsInDirList(
- pref_LoadPrefsInDir(dir, nsnull, 0);
- }
- }
- }
- }
- return NS_OK;
- }
-
--//----------------------------------------------------------------------------------------
--// Initialize default preference JavaScript buffers from
--// appropriate TEXT resources
--//----------------------------------------------------------------------------------------
--static nsresult pref_InitDefaults()
--{
-- nsCOMPtr<nsIFile> greprefsFile;
-- nsresult rv;
--
-- rv = NS_GetSpecialDirectory(NS_GRE_DIR, getter_AddRefs(greprefsFile));
-- NS_ENSURE_SUCCESS(rv, rv);
--
-- rv = greprefsFile->AppendNative(NS_LITERAL_CSTRING("greprefs.js"));
-- NS_ENSURE_SUCCESS(rv, rv);
--
-- rv = openPrefFile(greprefsFile);
-- if (NS_FAILED(rv)) {
-- NS_WARNING("Error parsing GRE default preferences. Is this an old-style embedding app?");
-- }
--
-- return NS_OK;
--}
--
--#ifdef MOZ_OMNIJAR
- static nsresult pref_ReadPrefFromJar(nsZipArchive* jarReader, const char *name)
- {
- nsZipItemPtr<char> manifest(jarReader, name, true);
- NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
-
- PrefParseState ps;
- PREF_InitParseState(&ps, PREF_ReaderCallback, NULL);
- nsresult rv = PREF_ParseBuf(&ps, manifest, manifest.Length());
- PREF_FinalizeParseState(&ps);
-
- return rv;
- }
-
--static nsresult pref_InitAppDefaultsFromOmnijar()
--{
-- nsresult rv;
--
-- nsZipArchive* jarReader = mozilla::OmnijarReader();
-- if (!jarReader)
-- return pref_InitDefaults();
--
-- rv = pref_ReadPrefFromJar(jarReader, "greprefs.js");
-- NS_ENSURE_SUCCESS(rv, rv);
--
-- nsZipFind *findPtr;
-- rv = jarReader->FindInit("defaults/pref/*.js$", &findPtr);
-- NS_ENSURE_SUCCESS(rv, rv);
--
-- nsAutoPtr<nsZipFind> find(findPtr);
--
-- nsTArray<nsCString> prefEntries;
-- const char *entryName;
-- PRUint16 entryNameLen;
-- while (NS_SUCCEEDED(find->FindNext(&entryName, &entryNameLen))) {
-- prefEntries.AppendElement(Substring(entryName, entryName + entryNameLen));
-- }
--
-- prefEntries.Sort();
-- for (PRUint32 i = prefEntries.Length(); i--; ) {
-- rv = pref_ReadPrefFromJar(jarReader, prefEntries[i].get());
-- if (NS_FAILED(rv))
-- NS_WARNING("Error parsing preferences.");
-- }
--
-- return NS_OK;
--}
--#endif
--
-+//----------------------------------------------------------------------------------------
-+// Initialize default preference JavaScript buffers from
-+// appropriate TEXT resources
-+//----------------------------------------------------------------------------------------
- static nsresult pref_InitInitialObjects()
- {
- nsresult rv;
-
-- // first we parse the GRE default prefs. This also works if we're not using a GRE,
--#ifdef MOZ_OMNIJAR
-- rv = pref_InitAppDefaultsFromOmnijar();
--#else
-- rv = pref_InitDefaults();
--#endif
-- NS_ENSURE_SUCCESS(rv, rv);
-+ // In omni.jar case, we load the following prefs:
-+ // - jar:$gre/omni.jar!/greprefs.js
-+ // - jar:$gre/omni.jar!/defaults/pref/*.js
-+ // In non omni.jar case, we load:
-+ // - $gre/greprefs.js
-+ //
-+ // When $app == $gre, we additionally load, in all cases:
-+ // - $gre/defaults/pref/*.js
-+ // This is kept for bug 591866 (channel-prefs.js should not be in omni.jar).
-+ // We load all files instead of channel-prefs.js only to have the same
-+ // behaviour as $app != $gre.
-+ //
-+ // When $app != $gre, we additionally load, in omni.jar case:
-+ // - jar:$app/omni.jar!/defaults/preferences/*.js
-+ // - $app/defaults/preferences/*.js
-+ // and in non omni.jar case:
-+ // - $app/defaults/preferences/*.js
-
-- nsCOMPtr<nsIFile> defaultPrefDir;
-- // now parse the "application" default preferences
-- rv = NS_GetSpecialDirectory(NS_APP_PREF_DEFAULTS_50_DIR, getter_AddRefs(defaultPrefDir));
-- NS_ENSURE_SUCCESS(rv, rv);
-+ nsZipFind *findPtr;
-+ nsAutoPtr<nsZipFind> find;
-+ nsTArray<nsCString> prefEntries;
-+ const char *entryName;
-+ PRUint16 entryNameLen;
-
-- /* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */
-- static const char* specialFiles[] = {
-+ nsZipArchive* jarReader = mozilla::Omnijar::GetReader(mozilla::Omnijar::GRE);
-+ if (jarReader) {
-+ // Load jar:$gre/omni.jar!/greprefs.js
-+ rv = pref_ReadPrefFromJar(jarReader, "greprefs.js");
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ // Load jar:$gre/omni.jar!/defaults/pref/*.js
-+ rv = jarReader->FindInit("defaults/pref/*.js$", &findPtr);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ find = findPtr;
-+ while (NS_SUCCEEDED(find->FindNext(&entryName, &entryNameLen))) {
-+ prefEntries.AppendElement(Substring(entryName, entryName + entryNameLen));
-+ }
-+
-+ prefEntries.Sort();
-+ for (PRUint32 i = prefEntries.Length(); i--; ) {
-+ rv = pref_ReadPrefFromJar(jarReader, prefEntries[i].get());
-+ if (NS_FAILED(rv))
-+ NS_WARNING("Error parsing preferences.");
-+ }
-+ } else {
-+ // Load $gre/greprefs.js
-+ nsCOMPtr<nsIFile> greprefsFile;
-+ rv = NS_GetSpecialDirectory(NS_GRE_DIR, getter_AddRefs(greprefsFile));
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ rv = greprefsFile->AppendNative(NS_LITERAL_CSTRING("greprefs.js"));
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ rv = openPrefFile(greprefsFile);
-+ if (NS_FAILED(rv))
-+ NS_WARNING("Error parsing GRE default preferences. Is this an old-style embedding app?");
-+ }
-+
-+ if (!mozilla::Omnijar::HasOmnijar(mozilla::Omnijar::APP)) {
-+ // Load $gre/defaults/pref/*.js
-+ nsCOMPtr<nsIFile> defaultPrefDir;
-+
-+ rv = NS_GetSpecialDirectory(NS_APP_PREF_DEFAULTS_50_DIR, getter_AddRefs(defaultPrefDir));
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ /* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */
-+ static const char* specialFiles[] = {
- #if defined(XP_MAC) || defined(XP_MACOSX)
- "macprefs.js"
- #elif defined(XP_WIN)
- "winpref.js"
- #elif defined(XP_UNIX)
- "unix.js"
--#if defined(_AIX)
-+#if defined(VMS)
-+ , "openvms.js"
-+#elif defined(_AIX)
- , "aix.js"
- #endif
- #elif defined(XP_OS2)
- "os2pref.js"
-+#elif defined(XP_BEOS)
-+ "beos.js"
- #endif
-- };
-+ };
-
-- rv = pref_LoadPrefsInDir(defaultPrefDir, specialFiles, NS_ARRAY_LENGTH(specialFiles));
-- if (NS_FAILED(rv)) {
-- NS_WARNING("Error parsing application default preferences.");
-+ rv = pref_LoadPrefsInDir(defaultPrefDir, specialFiles, NS_ARRAY_LENGTH(specialFiles));
-+ if (NS_FAILED(rv))
-+ NS_WARNING("Error parsing application default preferences.");
-+ }
-+
-+ // Load jar:$app/omni.jar!/defaults/preferences/*.js
-+ nsZipArchive *appJarReader = mozilla::Omnijar::GetReader(mozilla::Omnijar::APP);
-+ if (appJarReader) {
-+ rv = appJarReader->FindInit("defaults/preferences/*.js$", &findPtr);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ find = findPtr;
-+ prefEntries.Clear();
-+ while (NS_SUCCEEDED(find->FindNext(&entryName, &entryNameLen))) {
-+ prefEntries.AppendElement(Substring(entryName, entryName + entryNameLen));
-+ }
-+ prefEntries.Sort();
-+ for (PRUint32 i = prefEntries.Length(); i--; ) {
-+ rv = pref_ReadPrefFromJar(appJarReader, prefEntries[i].get());
-+ if (NS_FAILED(rv))
-+ NS_WARNING("Error parsing preferences.");
-+ }
- }
-
- rv = pref_LoadPrefsInDirList(NS_APP_PREFS_DEFAULTS_DIR_LIST);
- NS_ENSURE_SUCCESS(rv, rv);
-
- NS_CreateServicesFromCategory(NS_PREFSERVICE_APPDEFAULTS_TOPIC_ID,
- nsnull, NS_PREFSERVICE_APPDEFAULTS_TOPIC_ID);
-
-diff --git a/netwerk/protocol/res/nsResProtocolHandler.cpp b/netwerk/protocol/res/nsResProtocolHandler.cpp
---- a/netwerk/protocol/res/nsResProtocolHandler.cpp
-+++ b/netwerk/protocol/res/nsResProtocolHandler.cpp
-@@ -152,97 +152,62 @@ nsResProtocolHandler::nsResProtocolHandl
- }
-
- nsResProtocolHandler::~nsResProtocolHandler()
- {
- gResHandler = nsnull;
- }
-
- nsresult
--nsResProtocolHandler::AddSpecialDir(const char* aSpecialDir, const nsACString& aSubstitution)
--{
-- nsCOMPtr<nsIFile> file;
-- nsresult rv = NS_GetSpecialDirectory(aSpecialDir, getter_AddRefs(file));
-- NS_ENSURE_SUCCESS(rv, rv);
--
-- nsCOMPtr<nsIURI> uri;
-- rv = mIOService->NewFileURI(file, getter_AddRefs(uri));
-- NS_ENSURE_SUCCESS(rv, rv);
--
-- return SetSubstitution(aSubstitution, uri);
--}
--
--nsresult
- nsResProtocolHandler::Init()
- {
- if (!mSubstitutions.Init(32))
- return NS_ERROR_UNEXPECTED;
-
- nsresult rv;
-
- mIOService = do_GetIOService(&rv);
- NS_ENSURE_SUCCESS(rv, rv);
-
--#ifdef MOZ_OMNIJAR
-- nsCOMPtr<nsIFile> omniJar(mozilla::OmnijarPath());
-- if (omniJar)
-- return Init(omniJar);
--#endif
--
-- // these entries should be kept in sync with the omnijar Init function
-+ nsCAutoString appURI, greURI;
-+ rv = mozilla::Omnijar::GetURIString(mozilla::Omnijar::APP, appURI);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ rv = mozilla::Omnijar::GetURIString(mozilla::Omnijar::GRE, greURI);
-+ NS_ENSURE_SUCCESS(rv, rv);
-
- //
-- // make resource:/// point to the application directory
-+ // make resource:/// point to the application directory or omnijar
- //
-- rv = AddSpecialDir(NS_OS_CURRENT_PROCESS_DIR, EmptyCString());
-+ nsCOMPtr<nsIURI> uri;
-+ rv = NS_NewURI(getter_AddRefs(uri), appURI.Length() ? appURI : greURI);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ rv = SetSubstitution(EmptyCString(), uri);
- NS_ENSURE_SUCCESS(rv, rv);
-
- //
- // make resource://gre/ point to the GRE directory
- //
-- rv = AddSpecialDir(NS_GRE_DIR, kGRE);
-+ if (appURI.Length()) { // We already have greURI in uri if appURI.Length() is 0.
-+ rv = NS_NewURI(getter_AddRefs(uri), greURI);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ }
-+
-+ rv = SetSubstitution(kGRE, uri);
- NS_ENSURE_SUCCESS(rv, rv);
-
- //XXXbsmedberg Neil wants a resource://pchrome/ for the profile chrome dir...
- // but once I finish multiple chrome registration I'm not sure that it is needed
-
- // XXX dveditz: resource://pchrome/ defeats profile directory salting
- // if web content can load it. Tread carefully.
-
- return rv;
- }
-
--#ifdef MOZ_OMNIJAR
--nsresult
--nsResProtocolHandler::Init(nsIFile *aOmniJar)
--{
-- nsresult rv;
-- nsCOMPtr<nsIURI> uri;
-- nsCAutoString omniJarSpec;
-- NS_GetURLSpecFromActualFile(aOmniJar, omniJarSpec, mIOService);
--
-- nsCAutoString urlStr("jar:");
-- urlStr += omniJarSpec;
-- urlStr += "!/";
--
-- rv = mIOService->NewURI(urlStr, nsnull, nsnull, getter_AddRefs(uri));
-- NS_ENSURE_SUCCESS(rv, rv);
--
-- // these entries should be kept in sync with the normal Init function
--
-- // resource:/// points to jar:omni.jar!/
-- SetSubstitution(EmptyCString(), uri);
--
-- // resource://gre/ points to jar:omni.jar!/
-- SetSubstitution(kGRE, uri);
--
-- return NS_OK;
--}
--#endif
--
- #ifdef MOZ_IPC
- static PLDHashOperator
- EnumerateSubstitution(const nsACString& aKey,
- nsIURI* aURI,
- void* aArg)
- {
- nsTArray<ResourceMapping>* resources =
- static_cast<nsTArray<ResourceMapping>*>(aArg);
-diff --git a/startupcache/StartupCache.cpp b/startupcache/StartupCache.cpp
---- a/startupcache/StartupCache.cpp
-+++ b/startupcache/StartupCache.cpp
-@@ -237,27 +237,36 @@ StartupCache::GetBuffer(const char* id,
- nsZipItemPtr<char> zipItem(mArchive, id, true);
- if (zipItem) {
- *outbuf = zipItem.Forget();
- *length = zipItem.Length();
- return NS_OK;
- }
- }
-
--#ifdef MOZ_OMNIJAR
-- if (mozilla::OmnijarReader()) {
-+ if (mozilla::Omnijar::GetReader(mozilla::Omnijar::APP)) {
- // no need to checksum omnijarred entries
-- nsZipItemPtr<char> zipItem(mozilla::OmnijarReader(), id);
-+ nsZipItemPtr<char> zipItem(mozilla::Omnijar::GetReader(mozilla::Omnijar::APP), id);
- if (zipItem) {
- *outbuf = zipItem.Forget();
- *length = zipItem.Length();
- return NS_OK;
- }
- }
--#endif
-+
-+ if (mozilla::Omnijar::GetReader(mozilla::Omnijar::GRE)) {
-+ // no need to checksum omnijarred entries
-+ nsZipItemPtr<char> zipItem(mozilla::Omnijar::GetReader(mozilla::Omnijar::GRE), id);
-+ if (zipItem) {
-+ *outbuf = zipItem.Forget();
-+ *length = zipItem.Length();
-+ return NS_OK;
-+ }
-+ }
-+
- return NS_ERROR_NOT_AVAILABLE;
- }
-
- // Makes a copy of the buffer, client retains ownership of inbuf.
- nsresult
- StartupCache::PutBuffer(const char* id, const char* inbuf, PRUint32 len)
- {
- WaitOnWriteThread();
-diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
---- a/toolkit/xre/nsAppRunner.cpp
-+++ b/toolkit/xre/nsAppRunner.cpp
-@@ -3897,35 +3897,45 @@ XRE_InitCommandLine(int aArgc, char* aAr
- CommandLine::Init(aArgc, canonArgs);
-
- for (int i = 0; i < aArgc; ++i)
- free(canonArgs[i]);
- delete[] canonArgs;
- #endif
- #endif
-
--#ifdef MOZ_OMNIJAR
-- const char *omnijarPath = nsnull;
-- ArgResult ar = CheckArg("omnijar", PR_FALSE, &omnijarPath);
-+ const char *path = nsnull;
-+ ArgResult ar = CheckArg("grebase", PR_FALSE, &path);
- if (ar == ARG_BAD) {
-- PR_fprintf(PR_STDERR, "Error: argument -omnijar requires an omnijar path\n");
-+ PR_fprintf(PR_STDERR, "Error: argument -grebase requires a path argument\n");
- return NS_ERROR_FAILURE;
- }
-
-- if (!omnijarPath)
-+ if (!path)
- return rv;
-
-- nsCOMPtr<nsILocalFile> omnijar;
-- rv = NS_NewNativeLocalFile(nsDependentCString(omnijarPath), PR_TRUE,
-- getter_AddRefs(omnijar));
-- if (NS_SUCCEEDED(rv))
-- mozilla::SetOmnijar(omnijar);
--#endif
--
-- return rv;
-+ nsCOMPtr<nsILocalFile> greBase;
-+ rv = XRE_GetFileFromPath(path, getter_AddRefs(greBase));
-+ if (NS_FAILED(rv))
-+ return rv;
-+
-+ ar = CheckArg("appbase", PR_FALSE, &path);
-+ if (ar == ARG_BAD) {
-+ PR_fprintf(PR_STDERR, "Error: argument -appbase requires a path argument\n");
-+ return NS_ERROR_FAILURE;
-+ }
-+
-+ nsCOMPtr<nsILocalFile> appBase;
-+ if (path) {
-+ rv = XRE_GetFileFromPath(path, getter_AddRefs(appBase));
-+ if (NS_FAILED(rv))
-+ return rv;
-+ }
-+
-+ return mozilla::Omnijar::SetBase(greBase, appBase);
- }
-
- nsresult
- XRE_DeinitCommandLine()
- {
- nsresult rv = NS_OK;
-
- #if defined(MOZ_IPC)
-diff --git a/toolkit/xre/nsEmbedFunctions.cpp b/toolkit/xre/nsEmbedFunctions.cpp
---- a/toolkit/xre/nsEmbedFunctions.cpp
-+++ b/toolkit/xre/nsEmbedFunctions.cpp
-@@ -512,19 +512,17 @@ XRE_InitChildProcess(int aArgc,
- }
-
- // Run the UI event loop on the main thread.
- uiMessageLoop.MessageLoop::Run();
-
- // Allow ProcessChild to clean up after itself before going out of
- // scope and being deleted
- process->CleanUp();
--#ifdef MOZ_OMNIJAR
-- mozilla::SetOmnijar(nsnull);
--#endif
-+ mozilla::Omnijar::SetBase(nsnull, nsnull);
- }
- }
-
- NS_LogTerm();
- return XRE_DeinitCommandLine();
- }
-
- MessageLoop*
-diff --git a/xpcom/build/Makefile.in b/xpcom/build/Makefile.in
---- a/xpcom/build/Makefile.in
-+++ b/xpcom/build/Makefile.in
-@@ -64,28 +64,25 @@ CSRCS = \
- $(NULL)
-
- CPPSRCS = \
- $(XPCOM_GLUE_SRC_LCPPSRCS) \
- $(XPCOM_GLUENS_SRC_LCPPSRCS) \
- nsXPComInit.cpp \
- nsXPCOMStrings.cpp \
- Services.cpp \
-+ Omnijar.cpp \
- $(NULL)
-
- ifndef MOZ_ENABLE_LIBXUL
- ifeq (,$(filter-out WINNT WINCE OS2,$(OS_ARCH)))
- CPPSRCS += dlldeps.cpp
- endif
- endif
-
--ifdef MOZ_OMNIJAR
--CPPSRCS += Omnijar.cpp
--endif
--
- SHARED_LIBRARY_LIBS = \
- $(DEPTH)/chrome/src/$(LIB_PREFIX)chrome_s.$(LIB_SUFFIX) \
- ../ds/$(LIB_PREFIX)xpcomds_s.$(LIB_SUFFIX) \
- ../io/$(LIB_PREFIX)xpcomio_s.$(LIB_SUFFIX) \
- ../components/$(LIB_PREFIX)xpcomcomponents_s.$(LIB_SUFFIX) \
- ../threads/$(LIB_PREFIX)xpcomthreads_s.$(LIB_SUFFIX) \
- ../proxy/src/$(LIB_PREFIX)xpcomproxy_s.$(LIB_SUFFIX) \
- ../base/$(LIB_PREFIX)xpcombase_s.$(LIB_SUFFIX) \
-diff --git a/xpcom/build/Omnijar.cpp b/xpcom/build/Omnijar.cpp
---- a/xpcom/build/Omnijar.cpp
-+++ b/xpcom/build/Omnijar.cpp
-@@ -16,16 +16,17 @@
- *
- * The Initial Developer of the Original Code is
- * Mozilla Foundation.
- * Portions created by the Initial Developer are Copyright (C) 2010
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Michael Wu <mwu@mozilla.com>
-+ * Mike Hommey <mh@glandium.org>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
-@@ -33,69 +34,175 @@
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
- #include "Omnijar.h"
-
--#include "nsILocalFile.h"
--#include "nsXULAppAPI.h"
-+#include "nsIFile.h"
- #include "nsZipArchive.h"
-+#include "nsNetUtil.h"
-
--static nsILocalFile* sOmnijarPath = nsnull;
--static nsZipArchive* sOmnijarReader = nsnull;
-+namespace mozilla {
-
--static void
--SetupReader()
-+nsIFile *Omnijar::sPath[2] = { nsnull, nsnull };
-+PRBool Omnijar::sIsOmnijar[2] = { PR_FALSE, PR_FALSE };
-+
-+#ifdef MOZ_ENABLE_LIBXUL
-+nsZipArchive *Omnijar::sReader[2] = { nsnull, nsnull };
-+#endif
-+
-+static already_AddRefed<nsIFile>
-+ComputePath(nsIFile *aPath, PRBool &aIsOmnijar)
- {
-- if (!sOmnijarPath) {
-- return;
-+ PRBool isDir;
-+ aIsOmnijar = PR_FALSE;
-+ if (!aPath || NS_FAILED(aPath->IsDirectory(&isDir)) || !isDir)
-+ return nsnull;
-+
-+ nsCOMPtr<nsIFile> path;
-+#ifdef MOZ_ENABLE_LIBXUL
-+ // Search for omni.jar in the given directory
-+ if (!isDir || NS_FAILED(aPath->Clone(getter_AddRefs(path))))
-+ return nsnull;
-+
-+ if (NS_FAILED(path->AppendNative(NS_LITERAL_CSTRING("omni.jar"))))
-+ return nsnull;
-+
-+ if (NS_FAILED(path->Exists(&aIsOmnijar)))
-+ return nsnull;
-+#endif
-+
-+ if (!aIsOmnijar && NS_FAILED(aPath->Clone(getter_AddRefs(path))))
-+ return nsnull;
-+
-+ return path.forget();
-+}
-+
-+nsresult
-+Omnijar::SetBase(nsIFile *aGrePath, nsIFile *aAppPath)
-+{
-+ NS_ABORT_IF_FALSE(aGrePath || !aAppPath, "Omnijar::SetBase(NULL, something) call forbidden");
-+
-+#ifdef MOZ_ENABLE_LIBXUL
-+ if (sReader[GRE]) {
-+ sReader[GRE]->CloseArchive();
-+ delete sReader[GRE];
-+ }
-+ if (sReader[APP]) {
-+ sReader[APP]->CloseArchive();
-+ delete sReader[APP];
-+ }
-+ sReader[APP] = sReader[GRE] = nsnull;
-+#endif
-+
-+ nsresult rv;
-+ PRBool equals;
-+ if (aAppPath) {
-+ rv = aAppPath->Equals(aGrePath, &equals);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ } else {
-+ equals = PR_TRUE;
- }
-
-- nsZipArchive* zipReader = new nsZipArchive();
-- if (!zipReader) {
-- NS_IF_RELEASE(sOmnijarPath);
-- return;
-+ nsCOMPtr<nsIFile> grePath = ComputePath(aGrePath, sIsOmnijar[GRE]);
-+ nsCOMPtr<nsIFile> appPath = ComputePath(equals ? nsnull : aAppPath, sIsOmnijar[APP]);
-+
-+ NS_IF_RELEASE(sPath[GRE]);
-+ sPath[GRE] = grePath;
-+ NS_IF_ADDREF(sPath[GRE]);
-+
-+ NS_IF_RELEASE(sPath[APP]);
-+ sPath[APP] = appPath;
-+ NS_IF_ADDREF(sPath[APP]);
-+
-+ return NS_OK;
-+}
-+
-+already_AddRefed<nsIFile>
-+Omnijar::GetBase(Type aType)
-+{
-+ NS_ABORT_IF_FALSE(sPath[0], "Omnijar not initialized");
-+
-+ if (!sIsOmnijar[aType]) {
-+ NS_IF_ADDREF(sPath[aType]);
-+ return sPath[aType];
- }
-
-- if (NS_FAILED(zipReader->OpenArchive(sOmnijarPath))) {
-+ nsCOMPtr<nsIFile> file, path;
-+ if (NS_FAILED(sPath[aType]->Clone(getter_AddRefs(file))))
-+ return nsnull;
-+
-+ if (NS_FAILED(file->GetParent(getter_AddRefs(path))))
-+ return nsnull;
-+ return path.forget();
-+}
-+
-+#ifdef MOZ_ENABLE_LIBXUL
-+nsZipArchive *
-+Omnijar::GetReader(Type aType)
-+{
-+ if (!sIsOmnijar[aType])
-+ return nsnull;
-+
-+ if (sReader[aType])
-+ return sReader[aType];
-+
-+ nsZipArchive* zipReader = new nsZipArchive();
-+ if (!zipReader)
-+ return nsnull;
-+
-+ if (NS_FAILED(zipReader->OpenArchive(sPath[aType]))) {
- delete zipReader;
-- NS_IF_RELEASE(sOmnijarPath);
-- return;
-+ return nsnull;
- }
-
-- sOmnijarReader = zipReader;
-+ return (sReader[aType] = zipReader);
- }
-
--nsILocalFile*
--mozilla::OmnijarPath()
-+nsZipArchive *
-+Omnijar::GetReader(nsIFile *aPath)
- {
-- if (!sOmnijarReader)
-- SetupReader();
-+ PRBool equals;
-+ nsresult rv;
-
-- return sOmnijarPath;
-+ if (sIsOmnijar[GRE]) {
-+ rv = sPath[GRE]->Equals(aPath, &equals);
-+ if (NS_SUCCEEDED(rv) && equals)
-+ return GetReader(GRE);
-+ }
-+ if (sIsOmnijar[APP]) {
-+ rv = sPath[APP]->Equals(aPath, &equals);
-+ if (NS_SUCCEEDED(rv) && equals)
-+ return GetReader(APP);
-+ }
-+ return nsnull;
-+}
-+#endif
-+
-+nsresult
-+Omnijar::GetURIString(Type aType, nsCString &result)
-+{
-+ NS_ABORT_IF_FALSE(sPath[0], "Omnijar not initialized");
-+
-+ result = "";
-+
-+ if ((aType == APP) && (!sPath[APP]))
-+ return NS_OK;
-+
-+ nsCAutoString omniJarSpec;
-+ nsresult rv = NS_GetURLSpecFromActualFile(sPath[aType], omniJarSpec);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ if (sIsOmnijar[aType]) {
-+ result = "jar:";
-+ result += omniJarSpec;
-+ result += "!";
-+ } else {
-+ result = omniJarSpec;
-+ }
-+ result += "/";
-+ return NS_OK;
- }
-
--nsZipArchive*
--mozilla::OmnijarReader()
--{
-- if (!sOmnijarReader)
-- SetupReader();
--
-- return sOmnijarReader;
--}
--
--void
--mozilla::SetOmnijar(nsILocalFile* aPath)
--{
-- NS_IF_RELEASE(sOmnijarPath);
-- if (sOmnijarReader) {
-- sOmnijarReader->CloseArchive();
-- delete sOmnijarReader;
-- sOmnijarReader = nsnull;
-- }
--
-- sOmnijarPath = aPath;
-- NS_IF_ADDREF(sOmnijarPath);
--}
--
-+} /* namespace mozilla */
-diff --git a/xpcom/build/Omnijar.h b/xpcom/build/Omnijar.h
---- a/xpcom/build/Omnijar.h
-+++ b/xpcom/build/Omnijar.h
-@@ -16,16 +16,17 @@
- *
- * The Initial Developer of the Original Code is
- * Mozilla Foundation.
- * Portions created by the Initial Developer are Copyright (C) 2010
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Michael Wu <mwu@mozilla.com>
-+ * Mike Hommey <mh@glandium.org>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
-@@ -34,29 +35,137 @@
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
- #ifndef mozilla_Omnijar_h
- #define mozilla_Omnijar_h
-
--class nsILocalFile;
-+#include "nscore.h"
-+#include "nsTArray.h"
-+#include "nsCOMPtr.h"
-+#include "nsString.h"
-+
-+class nsIFile;
- class nsZipArchive;
--
--#ifdef MOZ_OMNIJAR
-+class nsIURI;
-
- namespace mozilla {
-
-+#ifdef MOZ_ENABLE_LIBXUL
-+#define OMNIJAR_EXPORT
-+#else
-+#define OMNIJAR_EXPORT NS_EXPORT
-+#endif
-+
-+class OMNIJAR_EXPORT Omnijar {
-+private:
- /**
-- * This returns the path to the omnijar.
-- * If the omnijar isn't available, this function will return null.
-- * Callers should fallback to flat packaging if null.
-+ * Store an nsIFile for either a base directory when there is no omni.jar,
-+ * or omni.jar itself. We can store two paths here, one for GRE
-+ * (corresponding to resource://gre/) and one for APP
-+ * (corresponding to resource:/// and resource://app/), but only
-+ * store one when both point to the same location (unified).
- */
--nsILocalFile *OmnijarPath();
--nsZipArchive *OmnijarReader();
--void SetOmnijar(nsILocalFile* aPath);
-+static nsIFile *sPath[2];
-+/**
-+ * Store whether the corresponding sPath is an omni.jar or a directory
-+ */
-+static PRBool sIsOmnijar[2];
-+
-+#ifdef MOZ_ENABLE_LIBXUL
-+/**
-+ * Cached nsZipArchives for the corresponding sPath
-+ */
-+static nsZipArchive *sReader[2];
-+#endif
-+
-+public:
-+enum Type {
-+ GRE = 0,
-+ APP = 1
-+};
-+
-+/**
-+ * Returns whether SetBase has been called at least once with
-+ * a valid nsIFile
-+ */
-+static PRBool
-+IsInitialized()
-+{
-+ // GRE path is always set after initialization.
-+ return sPath[0] != nsnull;
-+}
-+
-+/**
-+ * Sets the base directories for GRE and APP. APP base directory
-+ * may be nsnull, in case the APP and GRE directories are the same.
-+ */
-+static nsresult SetBase(nsIFile *aGrePath, nsIFile *aAppPath);
-+
-+/**
-+ * Returns an nsIFile pointing to the omni.jar file for GRE or APP.
-+ * Returns nsnull when there is no corresponding omni.jar.
-+ * Also returns nsnull for APP in the unified case.
-+ */
-+static already_AddRefed<nsIFile>
-+GetPath(Type aType)
-+{
-+ NS_ABORT_IF_FALSE(sPath[0], "Omnijar not initialized");
-+
-+ if (sIsOmnijar[aType]) {
-+ NS_IF_ADDREF(sPath[aType]);
-+ return sPath[aType];
-+ }
-+ return nsnull;
-+}
-+
-+/**
-+ * Returns whether GRE or APP use an omni.jar. Returns PR_False when
-+ * using an omni.jar in the unified case.
-+ */
-+static PRBool
-+HasOmnijar(Type aType)
-+{
-+ return sIsOmnijar[aType];
-+}
-+
-+/**
-+ * Returns the base directory for GRE or APP. In the unified case,
-+ * returns nsnull for APP.
-+ */
-+static already_AddRefed<nsIFile> GetBase(Type aType);
-+
-+/**
-+ * Returns a nsZipArchive pointer for the omni.jar file for GRE or
-+ * APP. Returns nsnull in the same cases GetPath() would.
-+ */
-+#ifdef MOZ_ENABLE_LIBXUL
-+static nsZipArchive *GetReader(Type aType);
-+#else
-+static nsZipArchive *GetReader(Type aType) { return nsnull; }
-+#endif
-+
-+/**
-+ * Returns a nsZipArchive pointer for the given path IAOI the given
-+ * path is the omni.jar for either GRE or APP.
-+ */
-+#ifdef MOZ_ENABLE_LIBXUL
-+static nsZipArchive *GetReader(nsIFile *aPath);
-+#else
-+static nsZipArchive *GetReader(nsIFile *aPath) { return nsnull; }
-+#endif
-+
-+/**
-+ * Returns the URI string corresponding to the omni.jar or directory
-+ * for GRE or APP. i.e. jar:/path/to/omni.jar!/ for omni.jar and
-+ * /path/to/base/dir/ otherwise. Returns an empty string for APP in
-+ * the unified case.
-+ * The returned URI is guaranteed to end with a slash.
-+ */
-+static nsresult GetURIString(Type aType, nsCString &result);
-+
-+}; /* class Omnijar */
-
- } /* namespace mozilla */
-
--#endif /* MOZ_OMNIJAR */
--
- #endif /* mozilla_Omnijar_h */
-diff --git a/xpcom/build/nsXPComInit.cpp b/xpcom/build/nsXPComInit.cpp
---- a/xpcom/build/nsXPComInit.cpp
-+++ b/xpcom/build/nsXPComInit.cpp
-@@ -462,35 +462,35 @@ NS_InitXPCOM2(nsIServiceManager* *result
- nsDirectoryService::gService->Set(NS_XPCOM_LIBRARY_FILE, xpcomLib);
- }
-
- if (appFileLocationProvider) {
- rv = nsDirectoryService::gService->RegisterProvider(appFileLocationProvider);
- if (NS_FAILED(rv)) return rv;
- }
-
--#ifdef MOZ_OMNIJAR
- NS_TIME_FUNCTION_MARK("Next: Omnijar init");
-
-- if (!mozilla::OmnijarPath()) {
-- nsCOMPtr<nsILocalFile> omnijar;
-+ if (!mozilla::Omnijar::IsInitialized()) {
-+ nsCOMPtr<nsILocalFile> greDir, appDir;
- nsCOMPtr<nsIFile> file;
-
-- rv = NS_ERROR_FAILURE;
- nsDirectoryService::gService->Get(NS_GRE_DIR,
- NS_GET_IID(nsIFile),
- getter_AddRefs(file));
-- if (file)
-- rv = file->Append(NS_LITERAL_STRING("omni.jar"));
-- if (NS_SUCCEEDED(rv))
-- omnijar = do_QueryInterface(file);
-- if (NS_SUCCEEDED(rv))
-- mozilla::SetOmnijar(omnijar);
-+ greDir = do_QueryInterface(file);
-+
-+ nsDirectoryService::gService->Get(NS_XPCOM_CURRENT_PROCESS_DIR,
-+ NS_GET_IID(nsIFile),
-+ getter_AddRefs(file));
-+ appDir = do_QueryInterface(file);
-+
-+ rv = mozilla::Omnijar::SetBase(greDir, appDir);
-+ NS_ENSURE_SUCCESS(rv, rv);
- }
--#endif
-
- #ifdef MOZ_IPC
- if ((sCommandLineWasInitialized = !CommandLine::IsInitialized())) {
- NS_TIME_FUNCTION_MARK("Next: IPC command line init");
-
- #ifdef OS_WIN
- CommandLine::Init(0, nsnull);
- #else
-@@ -769,18 +769,16 @@ ShutdownXPCOM(nsIServiceManager* servMgr
- sCommandLineWasInitialized = false;
- }
- if (sExitManager) {
- delete sExitManager;
- sExitManager = nsnull;
- }
- #endif
-
--#ifdef MOZ_OMNIJAR
-- mozilla::SetOmnijar(nsnull);
--#endif
-+ mozilla::Omnijar::SetBase(nsnull, nsnull);
-
- NS_LogTerm();
-
- return NS_OK;
- }
-
- } // namespace mozilla
-diff --git a/xpcom/components/nsComponentManager.cpp b/xpcom/components/nsComponentManager.cpp
---- a/xpcom/components/nsComponentManager.cpp
-+++ b/xpcom/components/nsComponentManager.cpp
-@@ -175,18 +175,16 @@ NS_DEFINE_CID(kCategoryManagerCID, NS_CA
- #define COMPMGR_TIME_FUNCTION_CONTRACTID(cid) \
- NS_TIME_FUNCTION_MIN_FMT(5, "%s (line %d) (contractid: %s)", MOZ_FUNCTION_NAME, \
- __LINE__, (cid))
- #else
- #define COMPMGR_TIME_FUNCTION_CID(cid) do {} while (0)
- #define COMPMGR_TIME_FUNCTION_CONTRACTID(cid) do {} while (0)
- #endif
-
--#define kOMNIJAR_PREFIX NS_LITERAL_CSTRING("resource:///")
--
- nsresult
- nsGetServiceFromCategory::operator()(const nsIID& aIID, void** aInstancePtr) const
- {
- nsresult rv;
- nsXPIDLCString value;
- nsCOMPtr<nsICategoryManager> catman;
- nsComponentManagerImpl *compMgr = nsComponentManagerImpl::gComponentManager;
- if (!compMgr) {
-@@ -390,47 +388,44 @@ nsresult nsComponentManagerImpl::Init()
-
- nsCategoryManager::GetSingleton()->SuppressNotifications(true);
-
- RegisterModule(&kXPCOMModule, NULL);
-
- for (PRUint32 i = 0; i < sStaticModules->Length(); ++i)
- RegisterModule((*sStaticModules)[i], NULL);
-
--#ifdef MOZ_OMNIJAR
-- if (mozilla::OmnijarPath()) {
-- nsCOMPtr<nsIZipReader> omnijarReader = new nsJAR();
-- rv = omnijarReader->Open(mozilla::OmnijarPath());
-- if (NS_SUCCEEDED(rv))
-- RegisterJarManifest(omnijarReader, "chrome.manifest", false);
-+ nsCOMPtr<nsIFile> appOmnijar = mozilla::Omnijar::GetPath(mozilla::Omnijar::APP);
-+ if (appOmnijar) {
-+ cl = sModuleLocations->InsertElementAt(1); // Insert after greDir
-+ cl->type = NS_COMPONENT_LOCATION;
-+ cl->location = do_QueryInterface(appOmnijar);
-+ cl->jar = true;
- }
--#endif
-+ nsCOMPtr<nsIFile> greOmnijar = mozilla::Omnijar::GetPath(mozilla::Omnijar::GRE);
-+ if (greOmnijar) {
-+ cl = sModuleLocations->InsertElementAt(0);
-+ cl->type = NS_COMPONENT_LOCATION;
-+ cl->location = do_QueryInterface(greOmnijar);
-+ cl->jar = true;
-+ }
-
- for (PRUint32 i = 0; i < sModuleLocations->Length(); ++i) {
- ComponentLocation& l = sModuleLocations->ElementAt(i);
- if (!l.jar) {
- RegisterManifestFile(l.type, l.location, false);
- continue;
- }
-
- nsCOMPtr<nsIZipReader> reader = do_CreateInstance(kZipReaderCID, &rv);
- rv = reader->Open(l.location);
- if (NS_SUCCEEDED(rv))
- RegisterJarManifest(reader, "chrome.manifest", false);
- }
-
--#ifdef MOZ_OMNIJAR
-- if (mozilla::OmnijarPath()) {
-- cl = sModuleLocations->InsertElementAt(0);
-- cl->type = NS_COMPONENT_LOCATION;
-- cl->location = mozilla::OmnijarPath();
-- cl->jar = true;
-- }
--#endif
--
- nsCategoryManager::GetSingleton()->SuppressNotifications(false);
-
- mStatus = NORMAL;
-
- return NS_OK;
- }
-
- void
-# HG changeset patch
-# Parent ff1b810f78226d7f4010909d3cde05a57fdcf20c
-Bug 620931 part 4 - Fix resource://app/ to always point to the same as resource:///
-
-diff --git a/netwerk/protocol/res/nsResProtocolHandler.cpp b/netwerk/protocol/res/nsResProtocolHandler.cpp
---- a/netwerk/protocol/res/nsResProtocolHandler.cpp
-+++ b/netwerk/protocol/res/nsResProtocolHandler.cpp
-@@ -74,16 +74,17 @@ static nsResProtocolHandler *gResHandler
- // set NSPR_LOG_FILE=log.txt
- //
- // this enables PR_LOG_ALWAYS level information and places all output in
- // the file log.txt
- //
- static PRLogModuleInfo *gResLog;
- #endif
-
-+#define kAPP NS_LITERAL_CSTRING("app")
- #define kGRE NS_LITERAL_CSTRING("gre")
-
- //----------------------------------------------------------------------------
- // nsResURL : overrides nsStandardURL::GetFile to provide nsIFile resolution
- //----------------------------------------------------------------------------
-
- nsresult
- nsResURL::EnsureFile()
-@@ -179,16 +180,22 @@ nsResProtocolHandler::Init()
- nsCOMPtr<nsIURI> uri;
- rv = NS_NewURI(getter_AddRefs(uri), appURI.Length() ? appURI : greURI);
- NS_ENSURE_SUCCESS(rv, rv);
-
- rv = SetSubstitution(EmptyCString(), uri);
- NS_ENSURE_SUCCESS(rv, rv);
-
- //
-+ // make resource://app/ point to the application directory or omnijar
-+ //
-+ rv = SetSubstitution(kAPP, uri);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ //
- // make resource://gre/ point to the GRE directory
- //
- if (appURI.Length()) { // We already have greURI in uri if appURI.Length() is 0.
- rv = NS_NewURI(getter_AddRefs(uri), greURI);
- NS_ENSURE_SUCCESS(rv, rv);
- }
-
- rv = SetSubstitution(kGRE, uri);
-diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp
---- a/toolkit/xre/nsXREDirProvider.cpp
-+++ b/toolkit/xre/nsXREDirProvider.cpp
-@@ -300,19 +300,16 @@ nsXREDirProvider::GetFile(const char* aP
- }
- }
- else if (!strcmp(aProperty, XRE_EXECUTABLE_FILE) && gArgv[0]) {
- nsCOMPtr<nsILocalFile> lf;
- rv = XRE_GetBinaryPath(gArgv[0], getter_AddRefs(lf));
- if (NS_SUCCEEDED(rv))
- file = lf;
- }
-- else if (!strcmp(aProperty, "resource:app")) {
-- rv = GetAppDir()->Clone(getter_AddRefs(file));
-- }
-
- else if (!strcmp(aProperty, NS_APP_PROFILE_DIR_STARTUP) && mProfileDir) {
- return mProfileDir->Clone(aFile);
- }
- else if (!strcmp(aProperty, NS_APP_PROFILE_LOCAL_DIR_STARTUP)) {
- if (mProfileLocalDir)
- return mProfileLocalDir->Clone(aFile);
-
-# HG changeset patch
-# Parent 7d2228db71a299afca60babff632a967d2d6c456
-Bug 620931 part 5 - Enable omni.jar by default on xulrunner
-
-diff --git a/xulrunner/confvars.sh b/xulrunner/confvars.sh
---- a/xulrunner/confvars.sh
-+++ b/xulrunner/confvars.sh
-@@ -36,15 +36,16 @@
- #
- # ***** END LICENSE BLOCK *****
-
- MOZ_APP_NAME=xulrunner
- MOZ_APP_DISPLAYNAME=XULRunner
- MOZ_UPDATER=1
- MOZ_XULRUNNER=1
- MOZ_ENABLE_LIBXUL=1
-+MOZ_CHROME_FILE_FORMAT=omni
- MOZ_STATIC_BUILD_UNSUPPORTED=1
- MOZ_APP_VERSION=$MOZILLA_VERSION
- if test "$MOZ_STORAGE"; then
- MOZ_PLACES=1
- fi
- MOZ_EXTENSIONS_DEFAULT=" gnomevfs"
- MOZ_URL_CLASSIFIER=1
diff --git a/staging/xulrunner/xulrunner-version.patch b/staging/xulrunner/xulrunner-version.patch
deleted file mode 100644
index 8e81b23ea..000000000
--- a/staging/xulrunner/xulrunner-version.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur mozilla-2.0.orig/xulrunner/installer/Makefile.in mozilla-2.0/xulrunner/installer/Makefile.in
---- mozilla-2.0.orig/xulrunner/installer/Makefile.in 2011-03-03 14:12:04.000000000 -0800
-+++ mozilla-2.0/xulrunner/installer/Makefile.in 2011-03-13 01:58:19.663360705 -0800
-@@ -44,6 +44,8 @@
-
- include $(DEPTH)/config/autoconf.mk
-
-+MOZ_APP_VERSION="2.0"
-+
- NO_PKG_FILES = \
- xulrunner-config \
- regchrome* \
diff --git a/testing/avahi/PKGBUILD b/testing/avahi/PKGBUILD
deleted file mode 100644
index 63f079778..000000000
--- a/testing/avahi/PKGBUILD
+++ /dev/null
@@ -1,75 +0,0 @@
-# $Id: PKGBUILD 126809 2011-06-07 12:12:31Z bisson $
-# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
-# Maintainer: Gaetan Bisson <bisson@archlinux.org>
-
-pkgname=avahi
-pkgver=0.6.30
-pkgrel=3
-pkgdesc='A multicast/unicast DNS-SD framework'
-arch=('i686' 'x86_64')
-url='http://www.avahi.org/'
-license=('LGPL')
-depends=('expat' 'libdaemon' 'glib2' 'dbus' 'libcap' 'gdbm')
-optdepends=('gtk3: avahi-discover-standalone, bshell, bssh, bvnc'
- 'gtk2: gtk2 bindings'
- 'qt3: qt3 bindings'
- 'qt: qt bindings'
- 'pygtk: avahi-bookmarks, avahi-discover'
- 'twisted: avahi-bookmarks'
- 'mono: mono bindings'
- 'dbus-python: avahi-discover'
- 'nss-mdns: NSS support for mDNS')
-makedepends=('qt' 'qt3' 'pygtk' 'mono' 'intltool' 'dbus-python'
- 'gtk-sharp-2' 'gobject-introspection' 'gtk3')
-backup=(etc/avahi/avahi-daemon.conf etc/avahi/services/{sftp-,}ssh.service)
-install=avahi.install
-conflicts=('howl' 'mdnsresponder')
-provides=('howl' 'mdnsresponder')
-replaces=('howl' 'mdnsresponder')
-options=('!libtool')
-source=("http://www.avahi.org/download/avahi-${pkgver}.tar.gz"
- 'avahi-daemon-dbus.patch'
- 'gnome-nettool.png')
-sha1sums=('5b77443537600a00770e4c77e3c443eeb5861d06'
- '36735096a6eeb3a4012fe14f875259ee8558e220'
- 'cf56387c88aed246b9f435efc182ef44de4d52f3')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- sed -i 's/netdev/network/g' avahi-daemon/avahi-dbus.conf
- patch -p1 -i "../avahi-daemon-dbus.patch"
-
- # pygtk requires python2; make it explicit in case other python are installed: FS#21865
- PYTHON=python2 \
- PKG_CONFIG_PATH=/opt/qt/lib/pkgconfig \
- ./configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --disable-static \
- --disable-monodoc \
- --disable-doxygen-doc \
- --disable-xmltoman \
- --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=/lib/systemd/system # See FS#20999
-
- make
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
- install -D -m 644 ../gnome-nettool.png "${pkgdir}"/usr/share/pixmaps/gnome-nettool.png
-
- cd "${pkgdir}"
- sed -i '1c #!/usr/bin/python2' usr/bin/avahi-{bookmarks,discover}
- # howl and mdnsresponder compatability
- (cd usr/include; ln -s avahi-compat-libdns_sd/dns_sd.h dns_sd.h; ln -s avahi-compat-howl howl)
- (cd usr/lib/pkgconfig; ln -s avahi-compat-howl.pc howl.pc)
-}
diff --git a/testing/avahi/avahi-daemon-dbus.patch b/testing/avahi/avahi-daemon-dbus.patch
deleted file mode 100644
index ef7272082..000000000
--- a/testing/avahi/avahi-daemon-dbus.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 2010-06-29 05:30:35.000000000 +0200
-+++ new/initscript/archlinux/avahi-daemon.in 2011-06-07 12:20:03.237701492 +0200
-@@ -33,6 +33,7 @@
-
- case "$1" in
- start)
-+ ck_daemon dbus && /etc/rc.d/dbus start
- stat_busy "Starting $DESC"
- $DAEMON -D > /dev/null 2>&1
- if [ $? -gt 0 ]; then
diff --git a/testing/avahi/avahi.install b/testing/avahi/avahi.install
deleted file mode 100644
index 7c75c3dd4..000000000
--- a/testing/avahi/avahi.install
+++ /dev/null
@@ -1,21 +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
-
- cat <<EOF
-==> The following daemons may be added to DAEMONS in /etc/rc.conf:
-==> avahi-daemon: the mdns responder, you probably want this.
-==> dbus needs to be running when you start it.
-==> avahi-dnsconfd: daemon used for peer-to-peer automatic dns
-==> configuration on dhcp-less networks.
-
-==> To use some of the client applications you will have to install python.
-==> In addition, pygtk is required for the graphical ones and
-==> twisted for avahi-bookmarks.
-EOF
-}
-
-post_remove() {
- getent passwd avahi &>/dev/null && userdel avahi >/dev/null
- getent group avahi &>/dev/null && groupdel avahi >/dev/null
-}
diff --git a/testing/avahi/gnome-nettool.png b/testing/avahi/gnome-nettool.png
deleted file mode 100644
index 227d0678a..000000000
--- a/testing/avahi/gnome-nettool.png
+++ /dev/null
Binary files differ
diff --git a/testing/glib2/PKGBUILD b/testing/glib2/PKGBUILD
deleted file mode 100644
index 93729d3a3..000000000
--- a/testing/glib2/PKGBUILD
+++ /dev/null
@@ -1,48 +0,0 @@
-# $Id: PKGBUILD 126555 2011-06-06 09:24:36Z ibiru $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=glib2
-pkgver=2.28.8
-pkgrel=1
-pkgdesc="Common C routines used by GTK+ and other libs"
-url="http://www.gtk.org/"
-arch=(i686 x86_64)
-license=('LGPL')
-depends=('pcre>=8.12')
-makedepends=('pkgconfig' 'python2')
-checkdepends=('pygobject' 'dbus-python')
-options=('!libtool' '!docs')
-source=(http://ftp.gnome.org/pub/GNOME/sources/glib/2.28/glib-${pkgver}.tar.xz
- glib2.sh
- glib2.csh)
-sha256sums=('4d7ca95dbde8e8f60ab428c765b0dbb8a44be9eb9316491803ce5ee7b4748353'
- '9456872cdedcc639fb679448d74b85b0facf81033e27157d2861b991823b5a2a'
- '8d5626ffa361304ad3696493c0ef041d0ab10c857f6ef32116b3e2878ecf89e3')
-
-build() {
- cd "${srcdir}/glib-${pkgver}"
- ./configure --prefix=/usr \
- --sysconfdir=/etc \
- --with-pcre=system \
- --disable-fam
- make
-}
-
-package() {
- cd "${srcdir}/glib-${pkgver}"
- make DESTDIR="${pkgdir}" install
-
- install -d "${pkgdir}/etc/profile.d"
- install -m755 "${srcdir}/glib2.sh" "${pkgdir}/etc/profile.d/"
- install -m755 "${srcdir}/glib2.csh" "${pkgdir}/etc/profile.d/"
-
- for _i in "${pkgdir}/etc/bash_completion.d/"*; do
- chmod -x "${_i}"
- done
-}
-
-check() {
- cd "${srcdir}/glib-${pkgver}"
- sed -i 's|!/usr/bin/env python|!/usr/bin/env python2|' gio/tests/gdbus-testserver.py
- make -k check || true
-}
diff --git a/testing/glib2/glib2.csh b/testing/glib2/glib2.csh
deleted file mode 100644
index 7aa3a2ffa..000000000
--- a/testing/glib2/glib2.csh
+++ /dev/null
@@ -1 +0,0 @@
-setenv G_BROKEN_FILENAMES 1
diff --git a/testing/glib2/glib2.sh b/testing/glib2/glib2.sh
deleted file mode 100644
index 96a056e1e..000000000
--- a/testing/glib2/glib2.sh
+++ /dev/null
@@ -1 +0,0 @@
-export G_BROKEN_FILENAMES=1
diff --git a/testing/gtk3/PKGBUILD b/testing/gtk3/PKGBUILD
deleted file mode 100644
index bd05b7cdd..000000000
--- a/testing/gtk3/PKGBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# $Id: PKGBUILD 126728 2011-06-06 21:19:26Z ibiru $
-# Maintainer: Ionut Biru <ibiru@archlinux.org>
-
-pkgname=gtk3
-pkgver=3.0.11
-pkgrel=1
-pkgdesc="The GTK+ Toolkit (v3)"
-arch=('i686' 'x86_64')
-url="http://www.gtk.org/"
-install=gtk3.install
-depends=('atk' 'cairo' 'gtk-update-icon-cache' 'gnutls' 'krb5' 'libcups' 'libxcursor' 'libxinerama' 'libxrandr' 'libxi' 'libxcomposite' 'libxdamage' 'pango' 'shared-mime-info')
-makedepends=('gobject-introspection')
-options=('!libtool' '!docs')
-backup=(etc/gtk-3.0/settings.ini)
-license=('LGPL')
-source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/3.0/gtk+-${pkgver}.tar.xz
- settings.ini)
-sha256sums=('e2e38b316c4657df0cf376c3b6aad63158a9068c557ad41033a677f29967001b'
- 'c214d3dcdcadda3d642112287524ab3e526ad592b70895c9f3e3733c23701621')
-
-build() {
- cd "${srcdir}/gtk+-${pkgver}"
- CXX=/bin/false ./configure --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --enable-gtk2-dependency \
- --disable-schemas-compile
- make
-}
-
-package() {
- cd "${srcdir}/gtk+-${pkgver}"
- make DESTDIR="${pkgdir}" install
-
- install -Dm644 "${srcdir}/settings.ini" "${pkgdir}/etc/gtk-3.0/settings.ini"
-}
diff --git a/testing/gtk3/gtk3.install b/testing/gtk3/gtk3.install
deleted file mode 100644
index cd8965d1f..000000000
--- a/testing/gtk3/gtk3.install
+++ /dev/null
@@ -1,15 +0,0 @@
-post_install() {
- usr/bin/gtk-query-immodules-3.0 --update-cache
- usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
-}
-
-post_upgrade() {
- post_install
-}
-
-pre_remove() {
- rm -f usr/lib/gtk-3.0/3.0.0/immodules.cache
-}
-post_remove() {
- usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
-}
diff --git a/testing/gtk3/settings.ini b/testing/gtk3/settings.ini
deleted file mode 100644
index 039000d38..000000000
--- a/testing/gtk3/settings.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[Settings]
-gtk-fallback-icon-theme = gnome
diff --git a/testing/iproute2/PKGBUILD b/testing/iproute2/PKGBUILD
deleted file mode 100644
index f9479bd84..000000000
--- a/testing/iproute2/PKGBUILD
+++ /dev/null
@@ -1,50 +0,0 @@
-# $Id: PKGBUILD 126335 2011-06-04 22:38:16Z tomegun $
-# Maintainer: Ronald van Haren <ronald.archlinux.org>
-# Contributor: Judd Vinet <jvinet@zeroflux.org>
-
-pkgname=iproute2
-pkgver=2.6.38
-pkgrel=3
-pkgdesc="IP Routing Utilities"
-arch=('i686' 'x86_64')
-license=('GPL2')
-url="http://www.linux-foundation.org/en/Net:Iproute2"
-depends=('perl')
-makedepends=('linux-atm')
-optdepends=('linux-atm: ATM support')
-provides=('iproute')
-conflicts=('iproute')
-replaces=('iproute')
-options=('!makeflags')
-backup=('etc/iproute2/ematch_map' 'etc/iproute2/rt_dsfield' 'etc/iproute2/rt_protos' \
- 'etc/iproute2/rt_realms' 'etc/iproute2/rt_scopes' 'etc/iproute2/rt_tables')
-source=(http://devresources.linux-foundation.org/dev/iproute2/download/iproute2-${pkgver}.tar.bz2
- 'iproute2-fhs.patch')
-sha1sums=('e9f6d457a06866a2a20a6cba6b3a039b2ec3e14a'
- '2416b11252364d7a6c742eabb4a6924a75637a46')
-
-build() {
- cd $srcdir/iproute2-${pkgver}
-
- # set correct fhs structure
- patch -Np1 -i ${srcdir}/iproute2-fhs.patch
-
- ./configure
-
- make
-}
-
-package() {
- cd $srcdir/iproute2-${pkgver}
-
- make DESTDIR=$pkgdir install
-
- # allow loopback to be started before /usr is mounted, this may not be supported in the future
- mkdir -p ${pkgdir}/sbin
- mv ${pkgdir}/usr/sbin/ip ${pkgdir}/sbin/ip
- ln -s /sbin/ip ${pkgdir}/usr/sbin/ip
-
- # libnetlink isn't installed, install it FS#19385
- install -Dm644 include/libnetlink.h ${pkgdir}/usr/include/libnetlink.h
- install -Dm644 lib/libnetlink.a ${pkgdir}/usr/lib/libnetlink.a
-}
diff --git a/testing/iproute2/iproute2-fhs.patch b/testing/iproute2/iproute2-fhs.patch
deleted file mode 100644
index 2608414db..000000000
--- a/testing/iproute2/iproute2-fhs.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-diff -Naur iproute2.old/Makefile iproute2-2.6.29/Makefile
---- iproute2.old/Makefile 2009-11-11 22:05:21.251407668 +0100
-+++ iproute2-2.6.29/Makefile 2009-11-11 22:07:09.891833516 +0100
-@@ -1,11 +1,12 @@
- DESTDIR=/usr/
- ROOTDIR=$(DESTDIR)
- LIBDIR=/usr/lib/
--SBINDIR=/sbin
-+SBINDIR=/usr/sbin
- CONFDIR=/etc/iproute2
--DOCDIR=/share/doc/iproute2
--MANDIR=/share/man
-+DOCDIR=/usr/share/doc/iproute2
-+MANDIR=/usr/share/man
- ARPDDIR=/var/lib/arpd
-+SHAREDIR=/usr/share
-
- # Path to db_185.h include
- DBM_INCLUDE:=$(ROOTDIR)/usr/include
-diff -Naur iproute2.old/tc/tc_util.c iproute2-2.6.29/tc/tc_util.c
---- iproute2.old/tc/tc_util.c 2009-11-11 22:05:21.298076943 +0100
-+++ iproute2-2.6.29/tc/tc_util.c 2009-11-11 22:09:32.865152646 +0100
-@@ -24,8 +24,8 @@
- #include "utils.h"
- #include "tc_util.h"
-
--#ifndef LIBDIR
--#define LIBDIR "/usr/lib/"
-+#ifndef SHAREDIR
-+#define SHAREDIR "/usr/share"
- #endif
-
- const char *get_tc_lib(void)
-@@ -34,7 +34,7 @@
-
- lib_dir = getenv("TC_LIB_DIR");
- if (!lib_dir)
-- lib_dir = LIBDIR "/tc/";
-+ lib_dir = SHAREDIR "/tc/";
-
- return lib_dir;
- }
-diff -Naur iproute2.old/netem/Makefile iproute2-2.6.35/netem/Makefile
---- iproute2.old/netem/Makefile 2010-08-06 11:30:48.640940183 +0200
-+++ iproute2-2.6.35/netem/Makefile 2010-08-06 11:32:34.210908892 +0200
-@@ -20,9 +20,9 @@
- $(HOSTCC) $(CCOPTS) -I../include -o $@ $@.c -lm
-
- install: all
-- mkdir -p $(DESTDIR)$(LIBDIR)/tc
-+ mkdir -p $(DESTDIR)$(SHAREDIR)/tc
- for i in $(DISTDATA); \
-- do install -m 644 $$i $(DESTDIR)$(LIBDIR)/tc; \
-+ do install -m 644 $$i $(DESTDIR)$(SHAREDIR)/tc; \
- done
-
- clean:
-diff -Naur iproute2.old/tc/Makefile iproute2-2.6.35/tc/Makefile
---- iproute2.old/tc/Makefile 2010-08-06 11:48:35.607472252 +0200
-+++ iproute2-2.6.35/tc/Makefile 2010-08-06 11:49:36.977473380 +0200
-@@ -99,18 +99,11 @@
- $(AR) rcs $@ $(TCLIB)
-
- install: all
-- mkdir -p $(MODDESTDIR)
-- install -m 0755 tc $(DESTDIR)$(SBINDIR)
-- for i in $(TCSO); \
-- do install -m 755 $$i $(MODDESTDIR); \
-- done
-- if [ ! -f $(MODDESTDIR)/m_ipt.so ]; then \
-- if [ -f $(MODDESTDIR)/m_xt.so ]; \
-- then ln -s m_xt.so $(MODDESTDIR)/m_ipt.so ; \
-- elif [ -f $(MODDESTDIR)/m_xt_old.so ]; \
-- then ln -s m_xt_old.so $(MODDESTDIR)/m_ipt.so ; \
-- fi; \
-- fi
-+ mkdir -p $(DESTDIR)$(LIBDIR)/tc
-+ install -m 0755 tc $(DESTDIR)$(SBINDIR)
-+ for i in $(TCSO); \
-+ do install -m 755 $$i $(DESTDIR)$(LIBDIR)/tc; \
-+ done
-
- clean:
- rm -f $(TCOBJ) $(TCLIB) libtc.a tc *.so emp_ematch.yacc.h; \
diff --git a/testing/jfsutils/PKGBUILD b/testing/jfsutils/PKGBUILD
deleted file mode 100644
index f0342bad0..000000000
--- a/testing/jfsutils/PKGBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# $Id: PKGBUILD 126948 2011-06-08 20:07:37Z tpowa $
-# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
-pkgname=jfsutils
-pkgver=1.1.15
-pkgrel=2
-pkgdesc="JFS filesystem utilities"
-arch=(i686 x86_64)
-url="http://jfs.sourceforge.net"
-license=('GPL')
-groups=('base')
-depends=('util-linux-ng')
-source=(http://jfs.sourceforge.net/project/pub/${pkgname}-${pkgver}.tar.gz)
-md5sums=('8809465cd48a202895bc2a12e1923b5d')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --sbindir=/sbin
- make
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR=${pkgdir} install
-}
diff --git a/testing/man-db/1361_1360.diff b/testing/man-db/1361_1360.diff
deleted file mode 100644
index c93856980..000000000
--- a/testing/man-db/1361_1360.diff
+++ /dev/null
@@ -1,25 +0,0 @@
-=== modified file 'src/straycats.c'
---- src/straycats.c 2011-01-10 20:08:22 +0000
-+++ src/straycats.c 2011-06-04 06:34:51 +0000
-@@ -177,6 +177,7 @@
- char *lang, *page_encoding;
- char *mandir_base;
- pipecmd *col_cmd;
-+ char *col_locale;
- char *fullpath;
-
- /* we have a straycat. Need to filter it and get
-@@ -226,6 +227,12 @@
- col_cmd = pipecmd_new_argstr
- (get_def_user ("col", COL));
- pipecmd_arg (col_cmd, "-bx");
-+ col_locale = find_charset_locale ("UTF-8");
-+ if (col_locale) {
-+ pipecmd_setenv (col_cmd, "LC_CTYPE",
-+ col_locale);
-+ free (col_locale);
-+ }
- pipeline_command (decomp, col_cmd);
-
- fullpath = canonicalize_file_name (catdir);
-
diff --git a/testing/man-db/PKGBUILD b/testing/man-db/PKGBUILD
deleted file mode 100644
index 25675079f..000000000
--- a/testing/man-db/PKGBUILD
+++ /dev/null
@@ -1,60 +0,0 @@
-# $Id: PKGBUILD 126294 2011-06-04 09:41:54Z andyrtr $
-# Maintainer: Andreas Radke <andyrtr@archlinux.org>
-# Contributor: Sergej Pupykin <sergej@aur.archlinux.org>
-
-pkgname=man-db
-pkgver=2.6.0.2
-pkgrel=2
-pkgdesc="A utility for reading man pages"
-arch=('i686' 'x86_64')
-url="http://www.nongnu.org/man-db/"
-license=('GPL' 'LGPL')
-groups=('base')
-depends=( 'bash' 'gdbm' 'zlib' 'groff' 'libpipeline')
-optdepends=('less' 'gzip')
-backup=('etc/man_db.conf'
- 'etc/cron.daily/man-db')
-conflicts=('man')
-provides=('man')
-replaces=('man')
-install=${pkgname}.install
-source=(http://savannah.nongnu.org/download/man-db/$pkgname-$pkgver.tar.gz
- 1361_1360.diff
- #http://launchpad.net/man-db/main/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz
- convert-mans man-db.cron.daily)
-options=('!libtool')
-md5sums=('2b41c96efec032d2b74ccbf2e401f93e'
- '08b76b1f924c5493a280b79fc0aebde4'
- '2b7662a7d5b33fe91f9f3e034361a2f6'
- 'd30c39ae47560304471b5461719e0f03')
-
-build() {
- cd ${srcdir}/${pkgname}-${pkgver}
- # https://bugs.archlinux.org/task/18722
- patch -Np0 -i $srcdir/1361_1360.diff
- ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \
- --with-db=gdbm --disable-setuid --enable-mandirs=GNU \
- --with-sections="1 n l 8 3 0 2 5 4 9 6 7"
- make
-}
-
-check() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make check
-}
-
-package() {
- cd ${srcdir}/${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} install
-
- # part of groff pkg
- rm -f ${pkgdir}/usr/bin/zsoelim
-
- # script from LFS to convert manpages, see
- # http://www.linuxfromscratch.org/lfs/view/6.4/chapter06/man-db.html
- install -D -m755 ${srcdir}/convert-mans ${pkgdir}/usr/bin/convert-mans
-
- #install whatis cron script
- install -D -m744 ${srcdir}/man-db.cron.daily ${pkgdir}/etc/cron.daily/man-db
-}
-
diff --git a/testing/man-db/convert-mans b/testing/man-db/convert-mans
deleted file mode 100644
index 58a0224b0..000000000
--- a/testing/man-db/convert-mans
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh -e
-FROM="$1"
-TO="$2"
-shift ; shift
-while [ $# -gt 0 ]
-do
- FILE="$1"
- shift
- iconv -f "$FROM" -t "$TO" "$FILE" >.tmp.iconv
- mv .tmp.iconv "$FILE"
-done
diff --git a/testing/man-db/man-db.cron.daily b/testing/man-db/man-db.cron.daily
deleted file mode 100755
index 53e66e1e9..000000000
--- a/testing/man-db/man-db.cron.daily
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# nicenesses range from -20 (most favorable scheduling) to 19 (least favorable)
-NICE=19
-
-# 0 for none, 1 for real time, 2 for best-effort, 3 for idle
-IONICE_CLASS=2
-
-# 0-7 (for IONICE_CLASS 1 and 2 only), 0=highest, 7=lowest
-IONICE_PRIORITY=7
-
-UPDATEMANDB="/usr/bin/mandb --quiet"
-
-# Update the "whatis" database
-#/usr/sbin/makewhatis -u -w
-
-# taken from Debian
-# man-db cron daily
-set -e
-
-if ! [ -d /var/cache/man ]; then
- # Recover from deletion, per FHS.
- mkdir -p /var/cache/man
- chmod 755 /var/cache/man
-fi
-
-# regenerate man database
-
-if [ -x /usr/bin/nice ]; then
- UPDATEMANDB="/usr/bin/nice -n ${NICE:-19} ${UPDATEMANDB}"
-fi
-
-if [ -x /usr/bin/ionice ]; then
- UPDATEMANDB="/usr/bin/ionice -c ${IONICE_CLASS:-2} -n ${IONICE_PRIORITY:-7} ${UPDATEMANDB}"
-fi
-
-${UPDATEMANDB}
-
-exit 0
diff --git a/testing/man-db/man-db.install b/testing/man-db/man-db.install
deleted file mode 100644
index f6f0f27a6..000000000
--- a/testing/man-db/man-db.install
+++ /dev/null
@@ -1,22 +0,0 @@
-post_install() {
- echo "it's recommended to create an initial"
- echo "database running as root:"
- echo "\"/usr/bin/mandb --quiet\""
-}
-
-post_upgrade() {
- if [ "`vercmp $2 2.5.3-2`" -lt 0 ]; then
- echo "systemuser \"man\" is no more required"
- echo "run \"userdel man\". please also"
- echo "chown root:root /var/cache/man"
- fi
- # force database rebuild to get rid off badly imported pages
- if [ "`vercmp $2 2.6.0.2`" -lt 0 ]; then
- echo "(re)building database..."
- mandb -c --quiet
- fi
-}
-
-post_remove() {
- rm -rf /var/cache/man
-}
diff --git a/testing/nx-common/NXproto.h.64bit.diff b/testing/nx-common/NXproto.h.64bit.diff
deleted file mode 100644
index ac326ebcd..000000000
--- a/testing/nx-common/NXproto.h.64bit.diff
+++ /dev/null
@@ -1,66 +0,0 @@
---- nxcomp.old/NXproto.h 2006-06-19 19:55:56.000000000 +0200
-+++ nxcomp/NXproto.h 2007-02-12 18:17:41.000000000 +0100
-@@ -26,6 +26,30 @@
- #include <X11/Xmd.h>
- #include <X11/Xproto.h>
-
-+/*
-+ Copied from Xproto.h
-+ */
-+
-+/* For the purpose of the structure definitions in this file,
-+we must redefine the following types in terms of Xmd.h's types, which may
-+include bit fields. All of these are #undef'd at the end of this file,
-+restoring the definitions in X.h. */
-+
-+#define Window CARD32
-+#define Drawable CARD32
-+#define Font CARD32
-+#define Pixmap CARD32
-+#define Cursor CARD32
-+#define Colormap CARD32
-+#define GContext CARD32
-+#define Atom CARD32
-+#define VisualID CARD32
-+#define Time CARD32
-+#define KeyCode CARD8
-+#define KeySym CARD32
-+
-+/* End copied from Xproto.h */
-+
- #define sz_xNXGetControlParametersReq 4
- #define sz_xNXGetCleanupParametersReq 4
- #define sz_xNXGetImageParametersReq 4
-@@ -343,9 +367,9 @@
- CARD8 dstDepth;
- CARD32 srcLength B32;
- CARD32 dstLength B32;
-- INT16 srcX B16, srcY B16;
-+ CARD16 srcX B16, srcY B16;
- CARD16 srcWidth B16, srcHeight B16;
-- INT16 dstX B16, dstY B16;
-+ CARD16 dstX B16, dstY B16;
- CARD16 dstWidth B16, dstHeight B16;
- } xNXPutPackedImageReq;
-
-@@ -463,4 +487,20 @@
- }
- #endif
-
-+/* Copied from Xproto.h */
-+
-+/* restore these definitions back to the typedefs in X.h */
-+#undef Window
-+#undef Drawable
-+#undef Font
-+#undef Pixmap
-+#undef Cursor
-+#undef Colormap
-+#undef GContext
-+#undef Atom
-+#undef VisualID
-+#undef Time
-+#undef KeyCode
-+#undef KeySym
-+
- #endif /* NXproto_H */
diff --git a/testing/nx-common/PKGBUILD b/testing/nx-common/PKGBUILD
deleted file mode 100644
index 85fc78ce6..000000000
--- a/testing/nx-common/PKGBUILD
+++ /dev/null
@@ -1,54 +0,0 @@
-# $Id: PKGBUILD 126698 2011-06-06 18:56:52Z andyrtr $
-# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
-# Contributed: eliott <eliott@solarblue.net>, Andre Naumann <anaumann@SPARCed.org>
-
-pkgname=nx-common
-pkgver=3.5.0
-pkgrel=1
-pkgdesc="NoMachine NX common package for client and server"
-arch=('i686' 'x86_64')
-license=('GPL')
-url="http://nomachine.com/"
-depends=('libjpeg-turbo>=1.1.1' 'libpng>=1.4.5' 'openssl>=1.0.0' 'gcc-libs' 'bash')
-makedepends=('xorg-server-devel')
-source=( #Compression libs and proxy sources
- http://64.34.161.181/download/$pkgver/sources/nxcomp-$pkgver-1.tar.gz
- http://64.34.161.181/download/$pkgver/sources/nxcompsh-$pkgver-1.tar.gz
- http://64.34.161.181/download/$pkgver/sources/nxssh-$pkgver-1.tar.gz
- nxcompsh-gcc43.patch)
-options=(!libtool)
-md5sums=('30a182146479004ec63b8a1b9adccfcf'
- '84ade443b79ea079380b754aba9d392e'
- '9f13262bc0bf5187fcc7e22924955bc7'
- 'b6c279654dac421fc3dd1a27d66ff53c')
-
-build() {
- # nxcomp
- cd ${srcdir}/nxcomp
- ./configure --prefix=/opt/NX
- make
- # nxcompsh
- cd ${srcdir}/nxcompsh
- patch -Np1 -i ${srcdir}/nxcompsh-gcc43.patch
- ./configure --prefix=/opt/NX
- make
- # nxssh
- cd ${srcdir}/nxssh
- ./configure --prefix=/opt/NX
- make
-}
-
-package() {
- mkdir -p ${pkgdir}/opt/NX/bin
- mkdir -p ${pkgdir}/opt/NX/lib
-
- # nxcomp
- cd ${srcdir}/nxcomp
- cp -a libXcomp.so* ${pkgdir}/opt/NX/lib
- # nxcompsh
- cd ${srcdir}/nxcompsh
- cp -a libXcompsh.so* ${pkgdir}/opt/NX/lib
- # nxssh
- cd ${srcdir}/nxssh
- install -D -m755 nxssh ${pkgdir}/opt/NX/bin/nxssh
-}
diff --git a/testing/nx-common/nxcompsh-gcc43.patch b/testing/nx-common/nxcompsh-gcc43.patch
deleted file mode 100644
index 681a0dab5..000000000
--- a/testing/nx-common/nxcompsh-gcc43.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- nxcompsh/Misc.h~ 2007-06-04 13:39:49.000000000 +0200
-+++ nxcompsh/Misc.h 2008-04-12 12:46:24.000000000 +0200
-@@ -18,10 +18,12 @@
- #ifndef Misc_H
- #define Misc_H
-
--#include <iostream.h>
-+#include <iostream>
-
--#include <errno.h>
--#include <string.h>
-+#include <cerrno>
-+#include <cstring>
-+
-+using namespace std;
-
- //
- // Error handling macros.
-
diff --git a/testing/nxserver/NXproto.h.64bit.diff b/testing/nxserver/NXproto.h.64bit.diff
deleted file mode 100644
index ac326ebcd..000000000
--- a/testing/nxserver/NXproto.h.64bit.diff
+++ /dev/null
@@ -1,66 +0,0 @@
---- nxcomp.old/NXproto.h 2006-06-19 19:55:56.000000000 +0200
-+++ nxcomp/NXproto.h 2007-02-12 18:17:41.000000000 +0100
-@@ -26,6 +26,30 @@
- #include <X11/Xmd.h>
- #include <X11/Xproto.h>
-
-+/*
-+ Copied from Xproto.h
-+ */
-+
-+/* For the purpose of the structure definitions in this file,
-+we must redefine the following types in terms of Xmd.h's types, which may
-+include bit fields. All of these are #undef'd at the end of this file,
-+restoring the definitions in X.h. */
-+
-+#define Window CARD32
-+#define Drawable CARD32
-+#define Font CARD32
-+#define Pixmap CARD32
-+#define Cursor CARD32
-+#define Colormap CARD32
-+#define GContext CARD32
-+#define Atom CARD32
-+#define VisualID CARD32
-+#define Time CARD32
-+#define KeyCode CARD8
-+#define KeySym CARD32
-+
-+/* End copied from Xproto.h */
-+
- #define sz_xNXGetControlParametersReq 4
- #define sz_xNXGetCleanupParametersReq 4
- #define sz_xNXGetImageParametersReq 4
-@@ -343,9 +367,9 @@
- CARD8 dstDepth;
- CARD32 srcLength B32;
- CARD32 dstLength B32;
-- INT16 srcX B16, srcY B16;
-+ CARD16 srcX B16, srcY B16;
- CARD16 srcWidth B16, srcHeight B16;
-- INT16 dstX B16, dstY B16;
-+ CARD16 dstX B16, dstY B16;
- CARD16 dstWidth B16, dstHeight B16;
- } xNXPutPackedImageReq;
-
-@@ -463,4 +487,20 @@
- }
- #endif
-
-+/* Copied from Xproto.h */
-+
-+/* restore these definitions back to the typedefs in X.h */
-+#undef Window
-+#undef Drawable
-+#undef Font
-+#undef Pixmap
-+#undef Cursor
-+#undef Colormap
-+#undef GContext
-+#undef Atom
-+#undef VisualID
-+#undef Time
-+#undef KeyCode
-+#undef KeySym
-+
- #endif /* NXproto_H */
diff --git a/testing/nxserver/PKGBUILD b/testing/nxserver/PKGBUILD
deleted file mode 100644
index 99b5bc2aa..000000000
--- a/testing/nxserver/PKGBUILD
+++ /dev/null
@@ -1,92 +0,0 @@
-# $Id: PKGBUILD 126704 2011-06-06 19:21:37Z andyrtr $
-# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
-# Contributed: eliott <eliott@solarblue.net>, Andre Naumann <anaumann@SPARCed.org>
-
-pkgname=nxserver
-pkgver=3.5.0
-pkgrel=1
-pkgdesc="NoMachine NX is the next-generation X compression and roundtrip suppression scheme."
-arch=(i686 x86_64)
-url="http://nomachine.com/"
-license=('GPL')
-depends=("nx-common" 'libxaw' 'libxrender' 'libxp' 'gcc-libs' 'libjpeg>=8' #>=$pkgver
- 'libxpm' 'libpng>=1.4.0' 'libxdamage' 'libxrandr' 'libxcomposite' 'libxtst' 'freetype2'
- 'xorg-sessreg')
-makedepends=('imake')
-source=(
-#X11 support programs and libraries
-http://64.34.161.181/download/$pkgver/sources/nx-X11-$pkgver-1.tar.gz
-http://64.34.161.181/download/$pkgver/sources/nxwin-$pkgver-1.tar.gz
-http://64.34.161.181/download/$pkgver/sources/nxauth-$pkgver-1.tar.gz
-http://64.34.161.181/download/$pkgver/sources/nxcomp-$pkgver-1.tar.gz # needed to provide NX.h and -LXcomp - part of nx-common
-#X11 Agent sources
-http://64.34.161.181/download/$pkgver/sources/nxagent-$pkgver-2.tar.gz
-http://64.34.161.181/download/$pkgver/sources/nxcompsh-$pkgver-1.tar.gz # needed to get X11 built - part of nx-common
-#Compression libs and proxy sources
-http://64.34.161.181/download/$pkgver/sources/nxproxy-$pkgver-1.tar.gz
-http://64.34.161.181/download/$pkgver/sources/nxcompext-$pkgver-1.tar.gz
-http://64.34.161.181/download/$pkgver/sources/nxcompshad-$pkgver-2.tar.gz
-# gcc 43 fix
-nxcompsh-gcc43.patch)
-options=(!libtool)
-md5sums=('54ac7dd8806928b991b0819cf76b37dd'
- '271cef5b5345b8de77b0f6a0ce1a3b0d'
- 'cf38ec1e5a5f6453946cd387c14f2684'
- '30a182146479004ec63b8a1b9adccfcf'
- '7b0f60d5a3c54f22da7d81aac055836e'
- '84ade443b79ea079380b754aba9d392e'
- '488bb4d9b8e9f82dc272b4e6e9c57d30'
- 'abde2ccc33e31fc695031c2cfb60f3dd'
- '90a762dd9eb19c8c97876ad837923857'
- 'b6c279654dac421fc3dd1a27d66ff53c')
-
-build() {
- cd ${srcdir}
-
- # nxcomp
- cd ${srcdir}/nxcomp
- ./configure --prefix=/opt/NX
- make
- # nxcompshad
- cd ${srcdir}/nxcompshad
- ./configure --prefix=/opt/NX
- make
- # nxcompsh
- cd ${srcdir}/nxcompsh
- patch -Np1 -i ${srcdir}/nxcompsh-gcc43.patch
- ./configure --prefix=/opt/NX
- make
- # nxproxy
- cd ${srcdir}/nxproxy
- ./configure --prefix=/opt/NX
- make
- # nx-X11
- cd ${srcdir}/nx-X11
- make World
- # nxcompext
- cd ${srcdir}/nxcompext
- ./configure --prefix=/opt/NX
- make
-}
-
-package() {
- mkdir -p ${pkgdir}/opt/NX/bin
- mkdir -p ${pkgdir}/opt/NX/lib
-
- # nxcompshad
- cd ${srcdir}/nxcompshad
- cp -a libXcompshad.so* ${pkgdir}/opt/NX/lib
- # nxproxy
- cd ${srcdir}/nxproxy
- make prefix=${pkgdir}/opt/NX install
- # nx-X11
- cd ${srcdir}/nx-X11
- cp -a lib/X11/libX11.so* ${pkgdir}/opt/NX/lib
- cp -a lib/Xext/libXext.so* ${pkgdir}/opt/NX/lib
- cp -a lib/Xrender/libXrender.so* ${pkgdir}/opt/NX/lib
- install -D -m755 programs/Xserver/nxagent ${pkgdir}/opt/NX/bin/nxagent
- install -D -m755 programs/nxauth/nxauth ${pkgdir}/opt/NX/bin/nxauth
- # nxcompext
- cd ${srcdir}/nxcompext
- cp -a libXcompext.so* ${pkgdir}/opt/NX/lib
-} \ No newline at end of file
diff --git a/testing/nxserver/nxcompsh-gcc43.patch b/testing/nxserver/nxcompsh-gcc43.patch
deleted file mode 100644
index 681a0dab5..000000000
--- a/testing/nxserver/nxcompsh-gcc43.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- nxcompsh/Misc.h~ 2007-06-04 13:39:49.000000000 +0200
-+++ nxcompsh/Misc.h 2008-04-12 12:46:24.000000000 +0200
-@@ -18,10 +18,12 @@
- #ifndef Misc_H
- #define Misc_H
-
--#include <iostream.h>
-+#include <iostream>
-
--#include <errno.h>
--#include <string.h>
-+#include <cerrno>
-+#include <cstring>
-+
-+using namespace std;
-
- //
- // Error handling macros.
-
diff --git a/testing/pidgin/nm09-pidgin.patch b/testing/pidgin/nm09-pidgin.patch
deleted file mode 100644
index 1c2471d1f..000000000
--- a/testing/pidgin/nm09-pidgin.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff -up pidgin-2.7.10/libpurple/network.c.foo pidgin-2.7.10/libpurple/network.c
---- pidgin-2.7.10/libpurple/network.c.foo 2011-03-10 02:21:43.920933267 -0600
-+++ pidgin-2.7.10/libpurple/network.c 2011-03-10 02:23:11.466838793 -0600
-@@ -71,6 +71,10 @@
- #include <dbus/dbus-glib.h>
- #include <NetworkManager.h>
-
-+#if !defined(NM_CHECK_VERSION)
-+#define NM_CHECK_VERSION(x,y,z) 0
-+#endif
-+
- static DBusGConnection *nm_conn = NULL;
- static DBusGProxy *nm_proxy = NULL;
- static DBusGProxy *dbus_proxy = NULL;
-@@ -863,7 +867,13 @@ nm_update_state(NMState state)
-
- switch(state)
- {
-+#if NM_CHECK_VERSION(0,8,992)
-+ case NM_STATE_CONNECTED_LOCAL:
-+ case NM_STATE_CONNECTED_SITE:
-+ case NM_STATE_CONNECTED_GLOBAL:
-+#else
- case NM_STATE_CONNECTED:
-+#endif
- /* Call res_init in case DNS servers have changed */
- res_init();
- /* update STUN IP in case we it changed (theoretically we could
-@@ -880,6 +890,9 @@ nm_update_state(NMState state)
- case NM_STATE_ASLEEP:
- case NM_STATE_CONNECTING:
- case NM_STATE_DISCONNECTED:
-+#if NM_CHECK_VERSION(0,8,992)
-+ case NM_STATE_DISCONNECTING:
-+#endif
- if (prev != NM_STATE_CONNECTED && prev != NM_STATE_UNKNOWN)
- break;
- if (ui_ops != NULL && ui_ops->network_disconnected != NULL)
diff --git a/testing/pixman/PKGBUILD b/testing/pixman/PKGBUILD
deleted file mode 100644
index bbc0360f6..000000000
--- a/testing/pixman/PKGBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# $Id: PKGBUILD 124049 2011-05-16 10:05:58Z jgc $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-# Contributor: Alexander Baldeck <alexander@archlinux.org>
-
-pkgname=pixman
-pkgver=0.22.0
-pkgrel=1
-pkgdesc="Pixman library"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org"
-license=('custom')
-depends=('glibc')
-options=('!libtool')
-source=(http://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('d24ea233755d7dce9f0d93136ad99fba8d4e4fa0')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr --disable-static
- make
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
- install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
- install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
-}
-
-check() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make check
-}
diff --git a/testing/udev/81-arch.rules b/testing/udev/81-arch.rules
deleted file mode 100644
index cd4e3e9b4..000000000
--- a/testing/udev/81-arch.rules
+++ /dev/null
@@ -1,83 +0,0 @@
-# Udev rules for Archlinux by Tobias Powalowski <tpowa@archlinux.org>
-# do not edit this file, it will be overwritten on update
-#
-# There are a number of modifiers that are allowed to be used in some
-# of the different fields. They provide the following subsitutions:
-#
-# %n the "kernel number" of the device.
-# For example, 'sda3' has a "kernel number" of '3'
-# %k the kernel name for the device.
-# %M the kernel major number for the device
-# %m the kernel minor number for the device
-# %b the bus id for the device
-# %c the string returned by the PROGRAM
-# %s{filename} the content of a sysfs attribute.
-# %% the '%' char itself.
-#
-# There are a number of modifiers that are allowed to be used in some of the
-# fields. See the udev man page for a full description of them.
-# global stuff
-#
-
-# permission for sg devices
-KERNEL=="sg[0-9]*", ATTRS{type}!="3|6", GROUP="disk", MODE="0660"
-
-# permissions for IDE CD devices
-SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", GROUP="optical"
-
-# permissions for SCSI CD devices
-SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", ATTRS{type}=="5", SYMLINK+="scd%n", GROUP="optical"
-SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="5", GROUP="optical"
-
-# permissions for removable devices like cardreaders or sticks
-KERNEL=="sd*", ATTRS{scsi_level}=="3", ATTRS{type}=="0", GROUP="storage"
-
-# permissions for firewire external drives
-KERNEL=="sd*", ATTRS{scsi_level}=="5", GROUP="storage"
-
-# permissions for usb to scsi external adapters
-KERNEL=="sd*", ATTRS{scsi_level}=="3", ATTRS{type}=="7", GROUP="storage"
-
-# permissions for ide storage like pcmcia card readers
-ACTION!="add", GOTO="pcmcia_end"
-SUBSYSTEM!="block", GOTO="pcmcia_end"
-KERNEL=="hd*[!0-9]", IMPORT{program}="ata_id --export $tempnode"
-KERNEL=="hd*", IMPORT{parent}=="ID_*"
-KERNEL=="hd*", ENV{ID_TYPE}=="generic", GROUP="storage"
-LABEL="pcmcia_end"
-
-# permissions for SCSI scanners
-SUBSYSTEMS=="scsi", KERNEL=="sg[0-9]*", ATTRS{type}=="6", GROUP="scanner"
-
-# mem
-KERNEL=="ram0", SYMLINK+="ramdisk"
-KERNEL=="ram1", SYMLINK+="ram"
-
-# video4linux
-
-KERNEL=="vbi0", SYMLINK+="vbi"
-KERNEL=="radio0", SYMLINK+="radio"
-KERNEL=="radio[0-9]*", GROUP="video"
-KERNEL=="video0", SYMLINK+="video"
-KERNEL=="vtx0", SYMLINK+="vtx"
-
-# video devices
-### xorg resets those permissions, adjust your xorg.conf!
-KERNEL=="3dfx*", GROUP="video"
-KERNEL=="fb[0-9]*", GROUP="video"
-
-# misc
-KERNEL=="sgi_fetchop", MODE="0666"
-KERNEL=="sonypi", MODE="0666"
-
-# USB devices
-KERNEL=="legousbtower*", MODE="0666"
-
-# kbd devices
-KERNEL=="kbd", MODE="0664"
-
-# miscellaneous
-KERNEL=="rtc|rtc0", GROUP="audio", MODE="0664"
-#######################################
-# Permissions and Symlinks - end
-#######################################
diff --git a/testing/udev/PKGBUILD b/testing/udev/PKGBUILD
deleted file mode 100644
index b80fd7707..000000000
--- a/testing/udev/PKGBUILD
+++ /dev/null
@@ -1,101 +0,0 @@
-# $Id: PKGBUILD 126202 2011-06-02 14:49:12Z tomegun $
-# Maintainer: Aaron Griffin <aaron@archlinux.org>
-# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
-# Maintainer: Thomas Bächler <thomas@archlinux.org>
-# Maintainer: Tom Gundersen <teg@jklm.no>
-
-pkgbase="udev"
-pkgname=('udev' 'udev-compat')
-pkgver=171
-pkgrel=2
-arch=(i686 x86_64)
-url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html"
-license=('GPL')
-groups=('base')
-# older initscripts versions required start_udev
-options=(!makeflags !libtool)
-makedepends=('glibc' 'coreutils' 'util-linux' 'pciutils' 'libusb-compat' 'glib2' 'kernel26' 'gperf' 'libxslt' 'gobject-introspection')
-source=(http://www.kernel.org/pub/linux/utils/kernel/hotplug/$pkgbase-$pkgver.tar.bz2
- 81-arch.rules
- static-audio-nodes-group.patch
- static-nodes-permissions.patch)
-
-build() {
- cd $srcdir/$pkgbase-$pkgver
- # fix https://bugs.archlinux.org/task/24362 (will be in udev-172)
- patch -Np1 -i ../static-audio-nodes-group.patch
- patch -Np1 -i ../static-nodes-permissions.patch
- ./configure --sysconfdir=/etc --with-rootlibdir=/lib --libexecdir=/lib/udev\
- --sbindir=/sbin --with-systemdsystemunitdir=/lib/systemd/system\
- --disable-rule-generator
- make
-}
-
-package_udev() {
- pkgdesc="The userspace dev tools (udev)"
- depends=('glibc' 'coreutils' 'util-linux' 'libusb-compat' 'glib2'
- 'module-init-tools>=3.11' 'pciutils')
- install=udev.install
- backup=(etc/udev/udev.conf
- etc/modprobe.d/framebuffer_blacklist.conf)
- conflicts=('pcmcia-cs' 'hotplug' 'initscripts<2009.07')
- replaces=('devfsd')
-
- cd $srcdir/$pkgbase-$pkgver
- make DESTDIR=${pkgdir} install
- # Install our rule for permissions and symlinks
- install -D -m644 $srcdir/81-arch.rules $pkgdir/lib/udev/rules.d/81-arch.rules
-
- # create framebuffer blacklist
- mkdir -p $pkgdir/etc/modprobe.d/
- for mod in $(find /lib/modules/*/kernel/drivers/video -name '*fb.ko.gz' -exec basename {} .ko.gz \;); do
- echo "blacklist $mod"
- done | sort -u > $pkgdir/etc/modprobe.d/framebuffer_blacklist.conf
-
- # create static devices in /lib/udev/devices/
- mkdir ${pkgdir}/lib/udev/devices/pts
- mkdir ${pkgdir}/lib/udev/devices/shm
-
- mknod -m 0600 ${pkgdir}/lib/udev/devices/console c 5 1
- mknod -m 0666 ${pkgdir}/lib/udev/devices/null c 1 3
- mknod -m 0660 ${pkgdir}/lib/udev/devices/zero c 1 5
- mknod -m 0666 ${pkgdir}/lib/udev/devices/kmsg c 1 11
-
- ln -snf /proc/self/fd ${pkgdir}/lib/udev/devices/fd
- ln -snf /proc/self/fd/0 ${pkgdir}/lib/udev/devices/stdin
- ln -snf /proc/self/fd/1 ${pkgdir}/lib/udev/devices/stdout
- ln -snf /proc/self/fd/2 ${pkgdir}/lib/udev/devices/stderr
- ln -snf /proc/kcore ${pkgdir}/lib/udev/devices/core
-
- # these static devices are created for convenience, to autoload the modules if necessary
- # /dev/loop0
- mknod -m 0660 ${pkgdir}/lib/udev/devices/loop0 b 7 0
- chgrp disk ${pkgdir}/lib/udev/devices/loop0
- # /dev/net/tun
- mkdir ${pkgdir}/lib/udev/devices/net
- mknod -m 0666 ${pkgdir}/lib/udev/devices/net/tun c 10 200
- # /dev/fuse
- mknod -m 0666 ${pkgdir}/lib/udev/devices/fuse c 10 229
- # /dev/ppp
- mknod -m 0600 ${pkgdir}/lib/udev/devices/ppp c 108 0
-
- # Replace dialout/tape/cdrom group in rules with uucp/storage/optical group
- for i in $pkgdir/lib/udev/rules.d/*.rules; do
- sed -i -e 's#GROUP="dialout"#GROUP="uucp"#g;
- s#GROUP="tape"#GROUP="storage"#g;
- s#GROUP="cdrom"#GROUP="optical"#g' $i
- done
-}
-
-package_udev-compat() {
- pkgdesc="The userspace dev tools (udev) - additional rules for older kernels"
- depends=('udev')
- groups=('')
- cd $srcdir/$pkgbase-$pkgver
- install -d -m755 ${pkgdir}/lib/${pkgbase}/rules.d
- install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/rules/misc/30-kernel-compat.rules ${pkgdir}/lib/udev/rules.d/30-kernel-compat.rules
-}
-md5sums=('bdf4617284be2ecac11767437417e209'
- '6ee44e3feb8e0f037947e7d4ca273f12'
- '4f625aea95a5597afd8cdf189421f193'
- 'f9e50b8dfcd2215f5423ff9bc04ecf68')
diff --git a/testing/udev/static-audio-nodes-group.patch b/testing/udev/static-audio-nodes-group.patch
deleted file mode 100644
index b1fc4f935..000000000
--- a/testing/udev/static-audio-nodes-group.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 3e227830ad6494700e18ae03297e8fb833ff26bf Mon Sep 17 00:00:00 2001
-From: Kay Sievers <kay.sievers@vrfy.org>
-Date: Fri, 27 May 2011 02:50:29 +0200
-Subject: [PATCH] rules: apply 'audio' group of the static snd/{seq,timer}
- nodes
-
----
- rules/rules.d/50-udev-default.rules | 3 ++-
- 1 files changed, 2 insertions(+), 1 deletions(-)
-
-diff --git a/rules/rules.d/50-udev-default.rules b/rules/rules.d/50-udev-default.rules
-index cd745ef..cacb533 100644
---- a/rules/rules.d/50-udev-default.rules
-+++ b/rules/rules.d/50-udev-default.rules
-@@ -38,7 +38,8 @@ SUBSYSTEM=="graphics", GROUP="video"
- SUBSYSTEM=="drm", GROUP="video"
-
- # sound
--SUBSYSTEM=="sound", GROUP="audio"
-+SUBSYSTEM=="sound", GROUP="audio", \
-+ OPTIONS+="static_node=snd/seq", OPTIONS+="static_node=snd/timer"
-
- # DVB (video)
- SUBSYSTEM=="dvb", GROUP="video"
---
-1.7.5.3
-
diff --git a/testing/udev/static-nodes-permissions.patch b/testing/udev/static-nodes-permissions.patch
deleted file mode 100644
index 51e6ad6bc..000000000
--- a/testing/udev/static-nodes-permissions.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From c112873b5bc9ebbae39c32f502bc6211f33546cc Mon Sep 17 00:00:00 2001
-From: Kay Sievers <kay.sievers@vrfy.org>
-Date: Mon, 30 May 2011 02:12:02 +0200
-Subject: [PATCH 1/2] rules: static_node - use 0660 if group is given to get
- the cigar
-
->> On Tue, May 24, 2011 at 15:33, Tom Gundersen <teg@jklm.no> wrote:
->
-> Close, but no cigar. Looks like the static nodes are not assigned
-> permissions 0660 even if a gid is set (the nodes have perms 0600).
->
-> Cheers,
->
-> Tom
----
- udev/udev-rules.c | 10 ++++++++--
- 1 files changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/udev/udev-rules.c b/udev/udev-rules.c
-index 48395e7..56a258d 100644
---- a/udev/udev-rules.c
-+++ b/udev/udev-rules.c
-@@ -2709,8 +2709,9 @@ void udev_rules_apply_static_dev_perms(struct udev_rules *rules)
- case TK_A_STATIC_NODE: {
- char filename[UTIL_PATH_SIZE];
- struct stat stats;
-+
- /* we assure, that the permissions tokens are sorted before the static token */
-- if (mode == 0 && uid == 0 && gid == 0)
-+ if (uid == 0 && gid == 0)
- goto next;
- util_strscpyl(filename, sizeof(filename), udev_get_dev_path(rules->udev), "/",
- &rules->buf[cur->key.value_off], NULL);
-@@ -2718,14 +2719,19 @@ void udev_rules_apply_static_dev_perms(struct udev_rules *rules)
- goto next;
- if (!S_ISBLK(stats.st_mode) && !S_ISCHR(stats.st_mode))
- goto next;
-- if (mode != 0 && mode != (stats.st_mode & 0777)) {
-+
-+ if (mode == 0 && gid > 0)
-+ mode = 0660;
-+ if (mode != (stats.st_mode & 0777)) {
- chmod(filename, mode);
- info(rules->udev, "chmod '%s' %#o\n", filename, mode);
- }
-+
- if ((uid != 0 && uid != stats.st_uid) || (gid != 0 && gid != stats.st_gid)) {
- chown(filename, uid, gid);
- info(rules->udev, "chown '%s' %u %u\n", filename, uid, gid);
- }
-+
- utimensat(AT_FDCWD, filename, NULL, 0);
- break;
- }
---
-1.7.5.2
-
diff --git a/testing/udev/udev.install b/testing/udev/udev.install
deleted file mode 100644
index 5c02dd15b..000000000
--- a/testing/udev/udev.install
+++ /dev/null
@@ -1,65 +0,0 @@
-# arg 1: the new package version
-# arg 2: the old package version
-
-post_upgrade() {
- if [ "$(vercmp $2 100)" -lt 0 ]; then
- echo "ATTENTION UDEV:"
- echo "----------"
- echo "udev >=098 rules syntax has changed, please update your own rules."
- echo "udev >=099 Added persistent network and CD/DVD Symlink generator rules."
- echo "Please read the instructions carefully before reboot."
- echo "They are located in /etc/udev/readme-udev-arch.txt"
- echo "----------"
- fi
- if [ "$(vercmp $2 169)" -lt 0 ]; then
- echo "ATTENTION UDEV:"
- echo "---------------"
- echo "Kernel 2.6.32 or newer is now required."
- echo "OSS emulation modules are not loaded by default, add to rc.conf if needed."
- echo "Arch specific cd symlinks are now no longer created."
- echo "cd and net persistent rules will no longer be autogenerated,"
- echo "see <https://wiki.archlinux.org/index.php/Udev> for details."
- echo "Errors are now logged (possibly to the console) by default."
- echo "---------------"
- fi
- if [ "$(vercmp $2 172)" -lt 0 ]; then
- echo "ATTENTION UDEV:"
- echo "---------------"
- echo "Arch's custom blacklisting logic has been removed. MOD_AUTOLOAD and"
- echo "blacklisting in MODULES no longer works."
- echo "See 'man modprobe.conf' for a replacement to blacklisting."
- echo "To disable a module mod1 on the kernel command line, use"
- echo "mod1.disable=1"
- echo "or"
- echo "modprobe.blacklist=mod1"
- echo " --"
- echo "The following modules are no longer unconditionally loaded:"
- echo " pcspkr irtty-sir analog lp ppdev ide-generic"
- echo "Add them to MODULES in rc.conf if you need them."
- echo "---------------"
- fi
-}
-
-post_install() {
- # If a ramfs is mounted, we still need to make sure that /dev/{console,null,zero} exist
- # The Archlinux installer bind-mounts /dev to /mnt/dev, thus making the real /dev invisible
- ROOTDIR=""
- [ "$(stat -c %D /)" != "$(stat -c %D /dev)" ] && ROOTDIR=$(mktemp -d /tmp/udevinstall.XXXXXX)
- [ -n "${ROOTDIR}" ] && mount --bind / ${ROOTDIR}
- if [ ! -c ${ROOTDIR}/dev/console ]; then
- rm -f ${ROOTDIR}/dev/console
- mknod -m600 ${ROOTDIR}/dev/console c 5 1
- fi
- if [ ! -c ${ROOTDIR}/dev/null ]; then
- rm -f ${ROOTDIR}/dev/null
- mknod -m644 ${ROOTDIR}/dev/null c 1 3
- fi
- if [ ! -c ${ROOTDIR}/dev/zero ]; then
- rm -f ${ROOTDIR}/dev/zero
- mknod -m644 ${ROOTDIR}/dev/zero c 1 5
- fi
- if [ -n "${ROOTDIR}" ]; then
- umount ${ROOTDIR}
- rmdir ${ROOTDIR}
- fi
-}
diff --git a/testing/vigra/PKGBUILD b/testing/vigra/PKGBUILD
deleted file mode 100644
index 400bd5898..000000000
--- a/testing/vigra/PKGBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# $Id: PKGBUILD 124225 2011-05-17 18:01:10Z andyrtr $
-# Maintainer: AndyRTR <andyrtr@archlinux.org>
-# Contributor: Lukas Jirkovsky <l.jirkovsky@gmail.com>
-
-pkgname=vigra
-pkgver=1.7.1
-pkgrel=1
-pkgdesc="Computer vision library"
-arch=('i686' 'x86_64')
-url="http://hci.iwr.uni-heidelberg.de/vigra/"
-license=('custom:MIT')
-depends=('libpng' 'libtiff' 'gcc-libs' 'sh' 'hdf5' 'fftw')
-makedepends=('cmake' 'python-nose' 'doxygen' 'python-sphinx' 'boost' 'python-numpy')
-optdepends=('python2: for python bindings'
- 'boost-libs: for python bindings')
-options=('!libtool')
-source=(http://kogs-www.informatik.uni-hamburg.de/~koethe/vigra/${pkgname}-${pkgver}-src.tar.gz
- vigra-1.7.1.gcc460.patch)
-md5sums=('2bde208e0fd7626770169dd4fa097282'
- '25ef8bc26bc38ee67e5b512d2acd0166')
-
-build() {
- cd "${srcdir}"/${pkgname}-${pkgver}
- patch -Np1 -i ${srcdir}/vigra-1.7.1.gcc460.patch
- cmake -DCMAKE_INSTALL_PREFIX=/usr \
- -DWITH_VIGRANUMPY=1 \
- -DDOCINSTALL=share/doc
- make
-}
-
-package() {
- cd "${srcdir}"/${pkgname}-${pkgver}
- make DESTDIR="${pkgdir}" install
- # license
- install -D -m644 LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
-}
diff --git a/testing/vigra/vigra-1.7.1.gcc460.patch b/testing/vigra/vigra-1.7.1.gcc460.patch
deleted file mode 100644
index 46f194dbc..000000000
--- a/testing/vigra/vigra-1.7.1.gcc460.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -baur vigra-1.7.1.old/include/vigra/random_forest.hxx vigra-1.7.1/include/vigra/random_forest.hxx
---- vigra-1.7.1.old/include/vigra/random_forest.hxx 2010-12-03 17:40:34.000000000 +0000
-+++ vigra-1.7.1/include/vigra/random_forest.hxx 2011-01-28 00:16:32.000000000 +0000
-@@ -43,6 +43,7 @@
- #include <set>
- #include <list>
- #include <numeric>
-+#include <stddef.h>
- #include "mathutil.hxx"
- #include "array_vector.hxx"
- #include "sized_int.hxx"
-diff -baur vigra-1.7.1.old/include/vigra/sifImport.hxx vigra-1.7.1/include/vigra/sifImport.hxx
---- vigra-1.7.1.old/include/vigra/sifImport.hxx 2010-12-03 17:40:34.000000000 +0000
-+++ vigra-1.7.1/include/vigra/sifImport.hxx 2011-01-28 00:23:31.000000000 +0000
-@@ -57,6 +57,7 @@
- #include <fstream>
- #include <cstring>
- #include <vector>
-+#include <stddef.h>
- #include "vigra/multi_array.hxx"
-
- namespace vigra {
-diff -baur vigra-1.7.1.old/include/vigra/multi_iterator.hxx vigra-1.7.1/include/vigra/multi_iterator.hxx
---- vigra-1.7.1.old/include/vigra/multi_iterator.hxx 2010-12-03 17:40:34.000000000 +0000
-+++ vigra-1.7.1/include/vigra/multi_iterator.hxx 2011-01-28 00:23:31.000000000 +0000
-@@ -41,6 +41,7 @@
- #define VIGRA_MULTI_ITERATOR_HXX
-
- #include <sys/types.h>
-+#include <stddef.h>
- #include "tinyvector.hxx"
- #include "iteratortags.hxx"
-
diff --git a/testing/yp-tools/PKGBUILD b/testing/yp-tools/PKGBUILD
deleted file mode 100644
index 8cf4b6960..000000000
--- a/testing/yp-tools/PKGBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# $Id: PKGBUILD 126193 2011-06-02 14:34:36Z bisson $
-# Maintainer: Gaetan Bisson <bisson@archlinux.org>
-# Contributor: dorphell <dorphell@archlinux.org>
-# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
-
-pkgname=yp-tools
-pkgver=2.12
-pkgrel=2
-pkgdesc='Linux NIS Tools'
-arch=('i686' 'x86_64')
-url='http://www.linux-nis.org/nis/yp-tools/'
-license=('GPL2')
-depends=('ypbind-mt')
-source=("ftp://ftp.kernel.org/pub/linux/utils/net/NIS/$pkgname-$pkgver.tar.gz")
-sha1sums=('10b0ef5d4c5723e0716d7a1431a900c0ba6ef703')
-
-build() {
- cd "$srcdir/$pkgname-$pkgver"
- ./configure --prefix=/usr
- make
-}
-
-package() {
- cd "$srcdir/$pkgname-$pkgver"
- make DESTDIR="$pkgdir" install
-}
diff --git a/testing/ypbind-mt/PKGBUILD b/testing/ypbind-mt/PKGBUILD
deleted file mode 100644
index 45cf58258..000000000
--- a/testing/ypbind-mt/PKGBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# $Id: PKGBUILD 126308 2011-06-04 12:37:21Z bisson $
-# Maintainer: Gaetan Bisson <bisson@archlinux.org>
-# Contributor: judd <jvinet@zeroflux.org>
-# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
-
-pkgname=ypbind-mt
-pkgver=1.33
-pkgrel=2
-pkgdesc='Linux NIS daemon'
-arch=('i686' 'x86_64')
-url='http://www.linux-nis.org/nis/ypbind-mt/'
-license=('GPL2')
-depends=('rpcbind' 'openslp')
-optdepends=('yp-tools: to set a domain name')
-backup=('etc/yp.conf' 'etc/conf.d/ypbind' 'etc/conf.d/nisdomainname')
-source=("ftp://ftp.kernel.org/pub/linux/utils/net/NIS/$pkgname-$pkgver.tar.gz"
- 'nisdomainname.conf'
- 'ypbind.conf'
- 'ypbind')
-sha1sums=('49f578d15aa5d4f4130a2e96cd9c0e519263fc88'
- 'eb00aecc0679e25a36b007e797f4468b40cb3e8e'
- '07dee386d001fb9e9e6b76dda8af5b2092e5a4a2'
- '112fc2aedfe3f761325b69647b7938bc1be5bfcd')
-
-build() {
- cd "$srcdir/$pkgname-$pkgver"
- ./configure --prefix=/usr --disable-dbus-nm
- make
-}
-
-package() {
- cd "$srcdir/$pkgname-$pkgver"
- make DESTDIR="$pkgdir" install
- install -D -m644 etc/yp.conf "$pkgdir"/etc/yp.conf
- install -D -m755 ../ypbind "$pkgdir"/etc/rc.d/ypbind
- install -D -m644 ../ypbind.conf "$pkgdir"/etc/conf.d/ypbind
- install -D -m644 ../nisdomainname.conf "$pkgdir"/etc/conf.d/nisdomainname
- install -d -m755 "$pkgdir"/var/yp/binding
-}
diff --git a/testing/ypbind-mt/nisdomainname.conf b/testing/ypbind-mt/nisdomainname.conf
deleted file mode 100644
index bbbbf8fc7..000000000
--- a/testing/ypbind-mt/nisdomainname.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-#
-# NIS domain to be set in /etc/rc.d/ypbind
-#
-NISDOMAINNAME=""
diff --git a/testing/ypbind-mt/ypbind b/testing/ypbind-mt/ypbind
deleted file mode 100755
index 6a5ef11e3..000000000
--- a/testing/ypbind-mt/ypbind
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/bash
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-. /etc/conf.d/ypbind
-. /etc/conf.d/nisdomainname
-
-name=ypbind
-PID=$(pidof -o %PPID /usr/sbin/ypbind)
-
-case "$1" in
-start)
- stat_busy "Starting $name daemon"
- [[ -n $NISDOMAINNAME ]] && /usr/bin/domainname "$NISDOMAINNAME" &>/dev/null
- [[ -z "$PID" ]] && /usr/sbin/ypbind $YPBIND_ARGS &>/dev/null \
- && { add_daemon $name; stat_done; } \
- || { stat_fail; exit 1; }
- ;;
-stop)
- stat_busy "Stopping $name daemon"
- [[ -n "$PID" ]] && kill $PID &>/dev/null \
- && { rm_daemon $name; stat_done; } \
- || { stat_fail; exit 1; }
- ;;
-restart)
- $0 stop
- sleep 1
- $0 start
- ;;
-*)
- echo "usage: $0 {start|stop|restart}"
- exit 1
- ;;
-esac
diff --git a/testing/ypbind-mt/ypbind.conf b/testing/ypbind-mt/ypbind.conf
deleted file mode 100644
index fd0ebd491..000000000
--- a/testing/ypbind-mt/ypbind.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-#
-# Parameters to be passed to ypbind
-#
-YPBIND_ARGS=""