summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mozilla-testing/.gitignore6
-rw-r--r--mozilla-testing/icecat-i18n/.gitignore3
-rw-r--r--mozilla-testing/icecat-i18n/Makefile33
-rw-r--r--mozilla-testing/icecat-i18n/PKGBUILD127
-rw-r--r--mozilla-testing/icecat/PKGBUILD122
-rw-r--r--mozilla-testing/icecat/icecat-safe.desktop78
-rw-r--r--mozilla-testing/icecat/icecat.desktop78
-rw-r--r--mozilla-testing/icecat/icecat.install13
-rw-r--r--mozilla-testing/icecat/libre.patch66
-rw-r--r--mozilla-testing/icecat/mozconfig92
-rw-r--r--mozilla-testing/icecat/mozconfig.default70
-rw-r--r--mozilla-testing/icecat/mozconfig.old85
-rw-r--r--mozilla-testing/icecat/parabola.patch22
-rw-r--r--mozilla-testing/iceweasel-i18n/.gitignore3
-rw-r--r--mozilla-testing/iceweasel-i18n/Makefile36
-rw-r--r--mozilla-testing/iceweasel-i18n/PKGBUILD57
-rw-r--r--mozilla-testing/iceweasel/PKGBUILD135
-rw-r--r--mozilla-testing/iceweasel/iceweasel.install21
-rw-r--r--mozilla-testing/iceweasel/libre.patch391
-rw-r--r--mozilla-testing/iceweasel/mozconfig39
-rw-r--r--mozilla-testing/iceweasel/mozilla-firefox-1.0-lang.patch12
-rw-r--r--mozilla-testing/iceweasel/region.properties23
-rw-r--r--mozilla-testing/iceweasel/xulrunner-copy-stub.patch11
-rw-r--r--mozilla-testing/mozilla-searchplugins/PKGBUILD40
-rw-r--r--mozilla-testing/mozilla-searchplugins/duck-duck-go-lite.xml8
-rw-r--r--mozilla-testing/mozilla-searchplugins/duck-duck-go-ssl.xml8
-rw-r--r--mozilla-testing/mozilla-searchplugins/internet-archive.xml12
-rw-r--r--mozilla-testing/mozilla-searchplugins/jamendo-en.xml12
-rw-r--r--mozilla-testing/mozilla-searchplugins/logless-search.xml8
-rw-r--r--mozilla-testing/mozilla-searchplugins/scroogle-ssl-english.xml14
-rw-r--r--mozilla-testing/mozilla-searchplugins/wikipedia.xml15
-rw-r--r--mozilla-testing/mozilla-searchplugins/yacy.xml9
-rw-r--r--~lukeshu/.gitignore6
-rw-r--r--~lukeshu/android-udev/.gitignore1
-rw-r--r--~lukeshu/android-udev/51-android.rules100
-rw-r--r--~lukeshu/android-udev/Makefile39
-rw-r--r--~lukeshu/android-udev/PKGBUILD10
-rw-r--r--~lukeshu/emacs24/PKGBUILD82
-rw-r--r--~lukeshu/emacs24/emacs.install32
-rw-r--r--~lukeshu/git-svn-abandon-git/PKGBUILD51
-rw-r--r--~lukeshu/make-graph/PKGBUILD64
-rw-r--r--~lukeshu/make-graph/bug30612.patch66
-rw-r--r--~lukeshu/make-graph/bug30723.patch12
-rw-r--r--~lukeshu/make-graph/make-3.82-makeflags.patch36
-rw-r--r--~lukeshu/make-graph/make-3.82-sort-blank.patch17
-rw-r--r--~lukeshu/make-graph/make-graph.patch273
-rw-r--r--~lukeshu/make-graph/make.install20
-rw-r--r--~lukeshu/openni-unstable/PKGBUILD55
-rw-r--r--~lukeshu/openni-unstable/openni-core.install (renamed from ~lukeshu/openni-unstable/openni.install)0
-rw-r--r--~lukeshu/openni-unstable/openni-mono.install7
-rw-r--r--~lukeshu/redo/PKGBUILD36
-rw-r--r--~lukeshu/stow/PKGBUILD24
-rw-r--r--~lukeshu/svn-graph-branches/PKGBUILD30
-rw-r--r--~lukeshu/terminal-colors/.gitignore1
-rw-r--r--~lukeshu/terminal-colors/PKGBUILD23
-rw-r--r--~lukeshu/thingutils-git/PKGBUILD55
-rw-r--r--~lukeshu/wdiff/PKGBUILD29
-rw-r--r--~lukeshu/xml2rfc/PKGBUILD35
58 files changed, 2686 insertions, 67 deletions
diff --git a/mozilla-testing/.gitignore b/mozilla-testing/.gitignore
new file mode 100644
index 000000000..db32297d9
--- /dev/null
+++ b/mozilla-testing/.gitignore
@@ -0,0 +1,6 @@
+# probably source downloads
+*.tar.gz
+*.tar.xz
+*.tar.bz2
+*.tgz
+*.zip
diff --git a/mozilla-testing/icecat-i18n/.gitignore b/mozilla-testing/icecat-i18n/.gitignore
new file mode 100644
index 000000000..3987fdafb
--- /dev/null
+++ b/mozilla-testing/icecat-i18n/.gitignore
@@ -0,0 +1,3 @@
+index.html
+langpacks.txt
+*.xpi
diff --git a/mozilla-testing/icecat-i18n/Makefile b/mozilla-testing/icecat-i18n/Makefile
new file mode 100644
index 000000000..5dd818e62
--- /dev/null
+++ b/mozilla-testing/icecat-i18n/Makefile
@@ -0,0 +1,33 @@
+#!/usr/bin/make -f
+# Use this script to update the PKGBUILD's list of langpacks.
+# This script depends on:
+# - coreutils
+# - grep
+# - pacman
+# - sed
+# - wget
+
+pkgver=9.0.1
+
+default: PHONY all
+all: PHONY PKGBUILD
+.PRECIOUS: PKGBUILD
+
+index.html: Makefile
+ rm -f $@
+ wget http://gnuzilla.gnu.org/download/langpacks/${pkgver}/
+langpacks.txt: index.html Makefile
+ egrep -o '[^>".]+\.xpi' $< | sort -u | sed 's/\.xpi//' > $@
+PKGBUILD: langpacks.txt Makefile
+ sed \
+ -e 's/^pkgver=.*/pkgver=$(pkgver)/' \
+ -e "s/_langpacks=.*/_langpacks=(`xargs echo < $<`)/" \
+ -e '/md5sums/,$$d' \
+ $@ > $@.$$$$ && \
+ makepkg -g >> $@.$$$$ && \
+ mv $@.$$$$ $@
+
+clean: PHONY
+ rm -f index.html langpacks.txt *.xpi
+
+.PHONY: PHONY FORCE
diff --git a/mozilla-testing/icecat-i18n/PKGBUILD b/mozilla-testing/icecat-i18n/PKGBUILD
new file mode 100644
index 000000000..117d6a6bf
--- /dev/null
+++ b/mozilla-testing/icecat-i18n/PKGBUILD
@@ -0,0 +1,127 @@
+# Maintainer: fauno <fauno@kiwwwi.com.ar>
+# Contributor: Figue <ffigue@gmail.com>
+# Based on firefox-i18n package
+
+# When updating to a newer upstream release:
+# - Edit pkgver= in Makefile.
+# - Run 'make'. It will take care of everything else for you.
+
+_langpacks=(af ak ar ast be bg bn-BD bn-IN br bs ca cs cy da de el en-GB en-US en-ZA eo es-AR es-CL es-ES es-MX et eu fa fi fr fy-NL ga-IE gd gl gu-IN he hi-IN hr hu hy-AM id is it ja kk kn ko ku lg lt lv mai mk ml mr nb-NO nl nn-NO nso or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv-SE ta-LK ta te th tr uk vi zh-CN zh-TW zu)
+
+pkgbase='icecat-i18n'
+pkgname=($(for lang in ${_langpacks[@]}
+ do echo icecat-i18n-$lang | tr A-Z a-z
+ done))
+_pkgver=9.0
+pkgver=9.0.1
+pkgrel=1
+pkgdesc="Language packs for GNUzilla IceCat."
+arch=('any')
+license=('MPL')
+url="http://www.gnu.org/software/gnuzilla/"
+depends=("icecat=${pkgver}")
+source=($(for lang in ${_langpacks[@]}
+ do echo http://gnuzilla.gnu.org/download/langpacks/$pkgver/$lang.xpi
+ done))
+noextract=($(for lang in ${_langpacks[@]}
+ do echo $lang.xpi
+ done))
+
+build() {
+ cd "${srcdir}"
+}
+
+_path="/usr/lib/icecat-$_pkgver/extensions/"
+
+for lang in ${_langpacks[@]}
+do
+ eval "
+package_icecat-i18n-$(echo $lang | tr A-Z a-z) () {
+ install -Dm644 '$srcdir/$lang.xpi' \"\${pkgdir}\"'${_path}langpack-$lang@firefox.mozilla.org.xpi'
+}
+"
+done
+
+md5sums=('20e67c29a5e666c102b04a1e60b7f5a6'
+ 'f2bb72158cd9a9e26d682dcdff297e86'
+ '31daa3abbe40461f5292b6521ba45179'
+ '38ed2043b03f27bf9c6c30956c90f0af'
+ 'c263a1d5a3560c9a4538561ebe1bd332'
+ '9e19e7a56922d3df37844067d6c59a23'
+ '665ae571412f563f562c556cb6790bca'
+ '598725cd42bad8beec856525cd9d85c0'
+ '3e45f1097a1453ef6f3615d5826ff508'
+ '8388434818c995ae50b977d2e7f36996'
+ 'fa0afac9df234a977fd8da2905c0eda2'
+ '258d9b993065f3860c2f8d79ed86aa20'
+ 'dadeb5e0e03ac6c4a58104ae60c4214a'
+ '17edd78ea185761e3ac1ab69947aa483'
+ '6544c77cb37f97e1eb5c9180902f9767'
+ '579a5a4f3a98f47cba481242faece354'
+ '7a47d59e8a90b852a852d3d8182636e3'
+ '5e5f806e1f6f386dddd32136a9ea0c44'
+ '5985bb817858d6fffad0158df60b926b'
+ '9a9048af47cf7e1eff4a901287321cbf'
+ 'ecf628acf988b4efee254f5dd43ed839'
+ '0879552d267febf40ab51a25fd56e126'
+ 'd0054611a7cb17f265bbbb2145fa24fd'
+ '86dc6ac2c9fa2d891449dc0fee74925d'
+ '672433eda992ca42468ce736fb679233'
+ '7c1722a1a7b36259b170c601122a025b'
+ 'd315044c39fa8e3e404355a12a065cf2'
+ '2e498d9076b814887f0da334fda1e289'
+ 'b4c42b439c3db8e77e53f2c0e03197cb'
+ '1c356d82117d92d19474ab0a6c804c6b'
+ 'bb2a2bc43106be951ef51b62719f1213'
+ 'eda3b14c45b3dd6cc95f93b5fa0fd6cf'
+ '5521ad4ab8cdf1f8863fc0f454c02ee2'
+ '38f8d1533f7d1a6123eb80555e719f6f'
+ '14bb8cf18b6d24f103da376c5d8580b5'
+ '1d0ea799b72c59b9a6922d66c84e63d2'
+ '57a457aaa98d7d93667cfce913632976'
+ '90d589d5cd4d199f579e882c1b1e9287'
+ 'a0d354fb2b69828777642ef5abd0e963'
+ 'cce959f03a6357ee7a1d2efc6c6af309'
+ '4c9b695d540fb5289600a089e2972aca'
+ 'f4e3330139f500b0e37207bd00ad7e81'
+ 'e41ca6ea7716bec98956a4138bb091ce'
+ 'd59931f40b6e62dc2899eff46da2ac1e'
+ 'b21a2c345c8c74d8c4da80273aecd083'
+ '147357710c4712439c646f18b27bf4d0'
+ 'f90e382593e105ff697145338162c64e'
+ 'c6517c6002fe56527b7a773b8060f553'
+ '52bd84145281204c23b3c608a597f9e8'
+ 'e79089b54a3c8401afc7fbd48565d373'
+ 'ce49b2490566964e786e2f8c03560bb8'
+ 'ec943a3e4e531f8295f03131f2056053'
+ '99ea4eaae77a8c680949e673ef5ff1b7'
+ '74f4139ea78aee64c054468d5cf5528b'
+ 'efbd2c801479fbfd82d3da168e582a67'
+ '490f7390148623d6e6805aa04c8dc6f3'
+ '5b51ca012f369e61d505d4f05342b1a7'
+ '90a9774bfe34428b915bda7f5701e8d9'
+ '784924bb0615debf3eba37ea9edced69'
+ 'b2be9f59bdf8c2d0e35a4ab2e944f73e'
+ '5607205459f9db6d229235070e45e866'
+ '396231537b4e51b15fa8c781deb27988'
+ '96274f3f8a2bb807f79e896e28132f58'
+ 'a31bc07e9bd969665dcf6fe99ac89415'
+ '29bb94f65797299ca5355f0cb64142aa'
+ '9f0d68e0fa81beb81a3f905118f02c55'
+ 'af200de2fc6126e10e73d81dd05047ea'
+ '60b7717d3306e2fb18b22804719d0fd2'
+ '15c789baa59d27786d6d1d4c4a7a24ee'
+ '48841ff67fee9f3e1f1ee8ff485a1bbc'
+ '77af86e85548ec10486d23c6e2436d46'
+ '3e6bee3482370be47fd3128f468b806f'
+ '36d41a4885ebf5d04548a9c38e2d2e9c'
+ 'fea6e7c1c9f743e348ee5409e0182693'
+ 'ddea2e6de27762f1ad505e6c43a87349'
+ '759c0a37cc97aac128b52ec14bc86bb6'
+ 'bc2e3922c92c3b4fe49fae5ef46a7f7b'
+ '0a6e0092e9c052b8571ba09bd40b6d4a'
+ 'db1c3a4581fc893deba60322350593fb'
+ 'b79bdfa5ef8c65de1787fe1be6c48afa'
+ 'e4878942c64c3b6da87a84bd87918511'
+ '77e7b5d62449d5be99865c8ba43183b8'
+ '878ab3f21c1ae1fef8eb1198ee3e9af6')
diff --git a/mozilla-testing/icecat/PKGBUILD b/mozilla-testing/icecat/PKGBUILD
new file mode 100644
index 000000000..af040596a
--- /dev/null
+++ b/mozilla-testing/icecat/PKGBUILD
@@ -0,0 +1,122 @@
+# Maintainer: Figue <ffigue at gmail>
+# Contributor: Figue <ffigue at gmail>
+# Contributor (Parabola): fauno <fauno@kiwwwi.com.ar>
+# Contributor (Parabola): vando <facundo@esdebian.org>
+# Contributor (Parabola): Luke Shumaker <lukeshu@sbcglobal.net>
+# Thank you very much to the older contributors:
+# Contributor: evr <evanroman at gmail>
+# Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com>
+
+# If you are updating this package, don't forget to update the version number in
+# the value for 'browser.dictionaries.download.url' in 'libre.patch'
+
+pkgname=icecat
+_pkgver=9.0
+pkgver=9.0.1
+pkgrel=1
+pkgdesc="The GNUzilla web browser, based on Mozilla Firefox. SafeBrowsing and other Google services disabled!"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://www.gnu.org/software/gnuzilla/"
+license=('MPL' 'GPL' 'LGPL')
+depends=(
+ 'alsa-lib'
+ 'dbus-glib'
+ 'desktop-file-utils'
+ 'gtk2'
+ 'hicolor-icon-theme'
+ 'hunspell'
+ 'libevent'
+ 'libnotify'
+ 'libvpx'
+ 'libxt'
+ 'mime-types'
+ 'mozilla-common'
+ 'mozilla-searchplugins'
+ 'nss'
+ 'sqlite3'
+ 'startup-notification'
+)
+makedepends=(
+ 'autoconf2.13'
+ 'diffutils'
+ 'libidl2'
+ 'mesa'
+ 'p7zip-libre'
+ 'pkg-config'
+ 'python2'
+ 'wireless_tools'
+ 'xorg-server-xvfb'
+ 'yasm'
+ 'zip'
+)
+options=(!buildflags !distcc)
+install=icecat.install
+source=(ftp://ftp.gnu.org/gnu/gnuzilla/${pkgver}/${pkgname}-${pkgver}.tar.xz
+ mozconfig
+ mozconfig.old
+ mozconfig.default
+ libre.patch
+ parabola.patch
+ icecat.desktop
+ icecat-safe.desktop)
+
+build() {
+ ICECATDIR="/usr/lib/${pkgname}-${_pkgver}" && export ICECATDIR
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ cp "$srcdir/mozconfig" .mozconfig # Load our build config, disable SafeSearch
+ patch -Np1 -i "$srcdir/libre.patch" # Remove Google+Mozilla stuff
+ patch -Np1 -i "$srcdir/parabola.patch" # Parabola settings
+
+ # Fix PRE_RELEASE_SUFFIX
+ sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' browser/base/Makefile.in
+
+ export LDFLAGS="$LDFLAGS -Wl,-rpath,$ICECATDIR"
+ export PYTHON="/usr/bin/python2"
+
+ LD_PRELOAD="" /usr/bin/Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 :99 &
+ LD_PRELOAD="" DISPLAY=:99 make -j1 -f client.mk profiledbuild MOZ_MAKE_FLAGS="$MAKEFLAGS"
+ kill $! || true
+}
+
+package() {
+ ICECATDIR="/usr/lib/${pkgname}-${_pkgver}" && export ICECATDIR
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make -j1 -f client.mk DESTDIR="$pkgdir" install
+
+ msg2 "Finishing..."
+ install -m755 -d "${pkgdir}/usr/share/pixmaps"
+ install -m644 browser/branding/unofficial/default48.png "${pkgdir}/usr/share/pixmaps/${pkgname}.png"
+
+ install -m755 -d "${pkgdir}/usr/share/applications"
+ install -m644 "${srcdir}/icecat.desktop" "${pkgdir}/usr/share/applications"
+ install -m644 "${srcdir}/icecat-safe.desktop" "${pkgdir}/usr/share/applications"
+
+ ln -s "${pkgname}-${pkgver}" "${pkgdir}/usr/lib/${pkgname}-${_pkgver}" # WHY???!!!
+ ln -s "${pkgname}-${_pkgver}" "${pkgdir}/usr/lib/${pkgname}"
+
+ rm -rf "${pkgdir}${ICECATDIR}/"{dictionaries,hyphenation,searchplugins,plugins}
+ ln -sf /usr/share/hunspell "${pkgdir}${ICECATDIR}/dictionaries"
+ ln -sf /usr/share/hyphen "${pkgdir}${ICECATDIR}/hyphenation"
+ ln -sf /usr/lib/mozilla/plugins "${pkgdir}${ICECATDIR}/plugins"
+ ln -sf /usr/lib/mozilla/searchplugins "${pkgdir}${ICECATDIR}/searchplugins"
+
+ # We don't want the development stuff
+ rm -rf "${pkgdir}/usr/include"
+ rm -rf "${pkgdir}/usr/lib/${pkgname}-devel-${pkgver}"
+ rm -rf "${pkgdir}/usr/share/idl"
+
+ # Workaround for now:
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=658850
+ ln -sf "${ICECATDIR}/${pkgname}-bin" "${pkgdir}${ICECATDIR}/$pkgname"
+}
+
+md5sums=('a135581da2fd2845f268d7ca91054c06'
+ '9c0cd5b45a3c4b04b872b6a900f62286'
+ '0e5057d9427c6cd5e2f3b78fe34f50d9'
+ '44959606e4a704e68a913e73fc941926'
+ '07e65752416e615fe04ce586bc58f86b'
+ '037b44b6e07d7115e0fb221d67b94272'
+ 'e81ad01dbc16ba28bf92ba4b7c309ca7'
+ 'd93fe402b87cd000a869e1fd6badc6c9')
diff --git a/mozilla-testing/icecat/icecat-safe.desktop b/mozilla-testing/icecat/icecat-safe.desktop
new file mode 100644
index 000000000..87acc970c
--- /dev/null
+++ b/mozilla-testing/icecat/icecat-safe.desktop
@@ -0,0 +1,78 @@
+[Desktop Entry]
+Encoding=UTF-8
+Exec=/usr/bin/icecat -safe-mode %u
+Icon=icecat
+Type=Application
+Terminal=false
+MultipleArgs=false
+Name=GNU IceCat - Safe Mode
+GenericName=Web Browser
+GenericName[af]=Web Blaaier
+GenericName[ar]=متصفح ويب
+GenericName[az]=Veb Səyyahı
+GenericName[bg]=Браузър
+GenericName[bn]=ওয়েব ব্রাউজার
+GenericName[br]=Furcher ar Gwiad
+GenericName[bs]=WWW Preglednik
+GenericName[ca]=Fullejador web
+GenericName[cs]=WWW prohlížeč
+GenericName[cy]=Porydd Gwe
+GenericName[da]=Browser
+GenericName[de]=Web-Browser
+GenericName[el]=Περιηγητής Ιστού
+GenericName[eo]=TTT-legilo
+GenericName[es]=Navegador web
+GenericName[et]=Veebilehitseja
+GenericName[eu]=Web arakatzailea
+GenericName[fa]=مرورگر وب
+GenericName[fi]=WWW-selain
+GenericName[fo]=Alnótsfar
+GenericName[fr]=Navigateur web
+GenericName[gl]=Navegador Web
+GenericName[he]=דפדפן אינטרנט
+GenericName[hi]=वेब ब्राउज़र
+GenericName[hr]=Web preglednik
+GenericName[hu]=Webböngésző
+GenericName[is]=Vafri
+GenericName[it]=Browser Web
+GenericName[ja]=ウェブブラウザ
+GenericName[ko]=웹 브라우저
+GenericName[lo]=ເວັບບຣາວເຊີ
+GenericName[lt]=Žiniatinklio naršyklė
+GenericName[lv]=Web Pārlūks
+GenericName[mk]=Прелистувач на Интернет
+GenericName[mn]=Веб-Хөтөч
+GenericName[nb]=Nettleser
+GenericName[nds]=Nettkieker
+GenericName[nl]=Webbrowser
+GenericName[nn]=Nettlesar
+GenericName[nso]=Seinyakisi sa Web
+GenericName[pa]=ਵੈਬ ਝਲਕਾਰਾ
+GenericName[pl]=Przeglądarka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador Web
+GenericName[ro]=Navigator de web
+GenericName[ru]=Веб-браузер
+GenericName[se]=Fierpmádatlogan
+GenericName[sk]=Webový prehliadač
+GenericName[sl]=Spletni brskalnik
+GenericName[sr]=Веб претраживач
+GenericName[sr@Latn]=Veb pretraživač
+GenericName[ss]=Ibrawuza yeWeb
+GenericName[sv]=Webbläsare
+GenericName[ta]=வலை உலாவி
+GenericName[tg]=Тафсиргари вэб
+GenericName[th]=เว็บบราวเซอร์
+GenericName[tr]=Web Tarayıcı
+GenericName[uk]=Навігатор Тенет
+GenericName[uz]=Веб-браузер
+GenericName[ven]=Buronza ya Webu
+GenericName[vi]=Trình duyệt Web
+GenericName[wa]=Betchteu waibe
+GenericName[xh]=Umkhangeli zincwadi we Web
+GenericName[zh_CN]=网页浏览器
+GenericName[zh_TW]=網頁瀏覽器
+GenericName[zu]=Umcingi we-Web
+MimeType=text/html
+StartupNotify=false
+Categories=Application;Network;
diff --git a/mozilla-testing/icecat/icecat.desktop b/mozilla-testing/icecat/icecat.desktop
new file mode 100644
index 000000000..8a7cad93d
--- /dev/null
+++ b/mozilla-testing/icecat/icecat.desktop
@@ -0,0 +1,78 @@
+[Desktop Entry]
+Encoding=UTF-8
+Exec=/usr/bin/icecat %u
+Icon=icecat
+Type=Application
+Terminal=false
+MultipleArgs=false
+Name=GNU IceCat
+GenericName=Web Browser
+GenericName[af]=Web Blaaier
+GenericName[ar]=متصفح ويب
+GenericName[az]=Veb Səyyahı
+GenericName[bg]=Браузър
+GenericName[bn]=ওয়েব ব্রাউজার
+GenericName[br]=Furcher ar Gwiad
+GenericName[bs]=WWW Preglednik
+GenericName[ca]=Fullejador web
+GenericName[cs]=WWW prohlížeč
+GenericName[cy]=Porydd Gwe
+GenericName[da]=Browser
+GenericName[de]=Web-Browser
+GenericName[el]=Περιηγητής Ιστού
+GenericName[eo]=TTT-legilo
+GenericName[es]=Navegador web
+GenericName[et]=Veebilehitseja
+GenericName[eu]=Web arakatzailea
+GenericName[fa]=مرورگر وب
+GenericName[fi]=WWW-selain
+GenericName[fo]=Alnótsfar
+GenericName[fr]=Navigateur web
+GenericName[gl]=Navegador Web
+GenericName[he]=דפדפן אינטרנט
+GenericName[hi]=वेब ब्राउज़र
+GenericName[hr]=Web preglednik
+GenericName[hu]=Webböngésző
+GenericName[is]=Vafri
+GenericName[it]=Browser Web
+GenericName[ja]=ウェブブラウザ
+GenericName[ko]=웹 브라우저
+GenericName[lo]=ເວັບບຣາວເຊີ
+GenericName[lt]=Žiniatinklio naršyklė
+GenericName[lv]=Web Pārlūks
+GenericName[mk]=Прелистувач на Интернет
+GenericName[mn]=Веб-Хөтөч
+GenericName[nb]=Nettleser
+GenericName[nds]=Nettkieker
+GenericName[nl]=Webbrowser
+GenericName[nn]=Nettlesar
+GenericName[nso]=Seinyakisi sa Web
+GenericName[pa]=ਵੈਬ ਝਲਕਾਰਾ
+GenericName[pl]=Przeglądarka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador Web
+GenericName[ro]=Navigator de web
+GenericName[ru]=Веб-браузер
+GenericName[se]=Fierpmádatlogan
+GenericName[sk]=Webový prehliadač
+GenericName[sl]=Spletni brskalnik
+GenericName[sr]=Веб претраживач
+GenericName[sr@Latn]=Veb pretraživač
+GenericName[ss]=Ibrawuza yeWeb
+GenericName[sv]=Webbläsare
+GenericName[ta]=வலை உலாவி
+GenericName[tg]=Тафсиргари вэб
+GenericName[th]=เว็บบราวเซอร์
+GenericName[tr]=Web Tarayıcı
+GenericName[uk]=Навігатор Тенет
+GenericName[uz]=Веб-браузер
+GenericName[ven]=Buronza ya Webu
+GenericName[vi]=Trình duyệt Web
+GenericName[wa]=Betchteu waibe
+GenericName[xh]=Umkhangeli zincwadi we Web
+GenericName[zh_CN]=网页浏览器
+GenericName[zh_TW]=網頁瀏覽器
+GenericName[zu]=Umcingi we-Web
+MimeType=text/html
+StartupNotify=false
+Categories=Application;Network;
diff --git a/mozilla-testing/icecat/icecat.install b/mozilla-testing/icecat/icecat.install
new file mode 100644
index 000000000..c1fe8284a
--- /dev/null
+++ b/mozilla-testing/icecat/icecat.install
@@ -0,0 +1,13 @@
+post_install() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
+
diff --git a/mozilla-testing/icecat/libre.patch b/mozilla-testing/icecat/libre.patch
new file mode 100644
index 000000000..c5f59d858
--- /dev/null
+++ b/mozilla-testing/icecat/libre.patch
@@ -0,0 +1,66 @@
+--- icecat-9.0.1.orig/browser/app/profile/firefox.js 2011-12-26 23:11:39.000000000 -0500
++++ icecat-9.0.1/browser/app/profile/firefox.js 2011-12-26 23:12:15.000000000 -0500
+@@ -74,7 +76,7 @@
+ pref("extensions.update.autoUpdateDefault", true);
+
+ // Dictionary download preference
+-pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/firefox/dictionaries/");
++pref("browser.dictionaries.download.url", "http://gnuzilla.gnu.org/download/langpacks/9.0.1/");
+
+ // The minimum delay in seconds for the timer to fire.
+ // default=2 minutes
+@@ -876,7 +878,7 @@
+ pref("browser.bookmarks.editDialog.firstEditField", "namePicker");
+
+ // base url for the wifi geolocation network provider
+-pref("geo.wifi.uri", "https://www.google.com/loc/json");
++pref("geo.wifi.uri", "http://geomena.org");
+ pref("geo.wifi.protocol", 0);
+
+ // Whether to use a panel that looks like an OS X sheet for customization
+--- icecat-9.0.1.orig/browser/locales/en-US/chrome/browser-region/region.properties 2011-12-26 07:34:23.000000000 -0500
++++ icecat-9.0.1/browser/locales/en-US/chrome/browser-region/region.properties 2011-12-26 19:59:04.000000000 -0500
+@@ -1,27 +1,19 @@
+ # Default search engine
+-browser.search.defaultenginename=Google
++browser.search.defaultenginename=Duck Duck Go (SSL)
+
+ # Search engine order (order displayed in the search bar dropdown)s
+-browser.search.order.1=Google
+-browser.search.order.2=Yahoo
++browser.search.order.1=Duck Duck Go (SSL)
++browser.search.order.2=Duck Duck Go (Lite)
+
+-# This is the default set of web based feed handlers shown in the reader
+-# selection UI
+-browser.contentHandlers.types.0.title=Bloglines
+-browser.contentHandlers.types.0.uri=http://www.bloglines.com/login?r=/sub/%s
+-browser.contentHandlers.types.1.title=My Yahoo
+-browser.contentHandlers.types.1.uri=http://add.my.yahoo.com/rss?url=%s
+-browser.contentHandlers.types.2.title=Google
+-browser.contentHandlers.types.2.uri=http://fusion.google.com/add?feedurl=%s
+
+ # Keyword URL (for location bar searches)
+-keyword.URL=http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=
++keyword.URL=https://duckduckgo.com/?q=
+
+ # URL for site-specific search engines
+ # TRANSLATION NOTE: {moz:domain} and {searchTerms} are placeholders for the site
+ # to be searched and the user's search query. Place them in the appropriate location
+ # for your locale's URL but do not translate them.
+-browser.search.siteSearchURL=http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&q=site%3A{moz:domain}+{searchTerms}
++browser.search.siteSearchURL=https://duckduckgo.com/?q=site%3A{moz:domain}+{searchTerms}
+
+ # increment this number when anything gets changed in the list below. This will
+ # cause Firefox to re-read these prefs and inject any new handlers into the
+--- icecat-9.0.1.orig/browser/app/Makefile.in 2011-12-27 00:22:26.000000000 -0500
++++ icecat-9.0.1/browser/app/Makefile.in 2011-12-27 00:23:10.000000000 -0500
+@@ -269,7 +269,7 @@
+ else
+ ifdef LIBXUL_SDK
+ libs::
+- cp $(LIBXUL_DIST)/bin/$(XULRUNNER_STUB_NAME)$(BIN_SUFFIX) $(DIST)/bin/firefox$(BIN_SUFFIX)
++ cp $(LIBXUL_DIST)/bin/$(XULRUNNER_STUB_NAME)$(BIN_SUFFIX) $(DIST)/bin/icecat$(BIN_SUFFIX)
+ endif
+ endif
+
diff --git a/mozilla-testing/icecat/mozconfig b/mozilla-testing/icecat/mozconfig
new file mode 100644
index 000000000..5a04038be
--- /dev/null
+++ b/mozilla-testing/icecat/mozconfig
@@ -0,0 +1,92 @@
+# We are building the browser
+ac_add_options --enable-application=browser
+export MOZ_PHOENIX=1
+mk_add_options MOZ_PHOENIX=1
+
+# Branding
+ac_add_options --disable-official-branding
+ac_add_options --with-branding=browser/branding/unofficial
+
+# GNUzilla things
+ac_add_options --with-distribution-id=org.gnu.gnuzilla
+ac_add_options --with-user-appdir=.gnuzilla
+
+# Operating system things
+ac_add_options --prefix=/usr
+ac_add_options --libdir=/usr/lib
+ac_add_options --with-pthreads
+
+ac_add_options --enable-toolkit-cairo-gtk2
+ac_add_options --enable-default-toolkit=cairo-gtk2
+ac_add_options --enable-svg-renderer=cairo
+
+ac_add_options --disable-toolkit-qt
+
+ac_add_options --enable-system-cairo
+ac_add_options --enable-system-hunspell
+ac_add_options --enable-system-sqlite
+ac_add_options --with-system-bz2
+ac_add_options --with-system-jpeg
+ac_add_options --with-system-libevent
+ac_add_options --with-system-libvpx
+ac_add_options --with-system-nspr
+ac_add_options --with-system-nss
+ac_add_options --with-system-png
+ac_add_options --with-system-zlib
+
+ac_add_options --enable-freetype2
+ac_add_options --enable-pango
+ac_add_options --enable-startup-notification
+
+
+# Enable/Disable web technologies
+ac_add_options --enable-canvas
+ac_add_options --enable-canvas3d
+ac_add_options --enable-places
+ac_add_options --enable-smil
+ac_add_options --enable-svg
+
+# Enable/Disable "user-y" features
+ac_add_options --enable-extensions="default spellcheck"
+
+ac_add_options --disable-safe-browsing
+ac_add_options --enable-url-classifier
+ac_add_options --disable-chatzilla
+ac_add_options --disable-accessibility
+ac_add_options --disable-calendar
+ac_add_options --disable-composer
+
+# Enable/Disable "system-y" features
+ac_add_options --disable-crashreporter
+ac_add_options --disable-debug
+ac_add_options --disable-installer
+ac_add_options --disable-updater
+
+ac_add_options --disable-gnomevfs
+ac_add_options --disable-javaxpcom
+ac_add_options --enable-gio
+ac_add_options --enable-libnotify
+ac_add_options --enable-printing
+ac_add_options --enable-xinerama
+ac_add_options --enable-xterm-updates
+
+# Build settings
+ac_add_options --disable-mochitest
+ac_add_options --disable-pedantic
+ac_add_options --disable-static
+ac_add_options --disable-tests
+ac_add_options --enable-install-strip
+ac_add_options --enable-jemalloc
+ac_add_options --enable-optimize
+ac_add_options --enable-strip
+
+export BUILD_OFFICIAL=1
+export MOZILLA_OFFICIAL=1
+mk_add_options BUILD_OFFICIAL=1
+mk_add_options MOZILLA_OFFICIAL=1
+
+# PGO
+ac_add_options --enable-profile-guided-optimization
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-pgo
+mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) $(MOZ_OBJDIR)/_profile/pgo/profileserver.py'
+mk_add_options PYTHONPATH='$(OBJDIR)/_profile/pgo'
diff --git a/mozilla-testing/icecat/mozconfig.default b/mozilla-testing/icecat/mozconfig.default
new file mode 100644
index 000000000..21aaa0edd
--- /dev/null
+++ b/mozilla-testing/icecat/mozconfig.default
@@ -0,0 +1,70 @@
+# This is a better commented version of the default .mozconfig from 9.0.1
+
+# We are building the browser
+ac_add_options --enable-application=browser
+export MOZ_PHOENIX=1
+mk_add_options MOZ_PHOENIX=1
+
+# Branding
+ac_add_options --disable-official-branding
+ac_add_options --with-branding=browser/branding/unofficial
+
+# GNUzilla things
+ac_add_options --with-distribution-id=org.gnu.gnuzilla
+ac_add_options --with-user-appdir=.gnuzilla
+
+# Operating system things
+ac_add_options --prefix=/usr/local
+#ac_add_options --with-default-mozilla-five-home=/usr/local/lib
+#ac_add_options --with-pthreads
+
+ac_add_options --enable-toolkit-cairo-gtk2
+ac_add_options --enable-default-toolkit=cairo-gtk2
+ac_add_options --enable-svg-renderer=cairo
+
+ac_add_options --disable-toolkit-qt
+
+ac_add_options --disable-system-cairo
+ac_add_options --with-system-jpeg
+#ac_add_options --with-system-png
+ac_add_options --with-system-zlib
+
+ac_add_options --enable-freetype2
+ac_add_options --enable-pango
+
+# Enable/Disable web technologies
+ac_add_options --enable-crypto
+#ac_add_options --enable-postscript
+ac_add_options --enable-svg
+ac_add_options --enable-xft
+
+# Enable/Disable "user-y" features
+ac_add_options --enable-extensions="default spellcheck"
+
+ac_add_options --disable-chatzilla
+ac_add_options --disable-accessibility
+ac_add_options --disable-calendar
+ac_add_options --disable-composer
+
+# Enable/Disable "system-y" features
+ac_add_options --disable-crashreporter
+ac_add_options --disable-debug
+ac_add_options --disable-installer
+ac_add_options --disable-updater
+
+#ac_add_options --disable-jsd
+#ac_add_options --disable-libxul
+ac_add_options --disable-ipc
+ac_add_options --disable-ldap
+ac_add_options --disable-mailnews
+ac_add_options --disable-negotiateauth
+ac_add_options --disable-profilesharing
+ac_add_options --disable-xinerama
+ac_add_options --disable-xprint
+
+# Build settings
+ac_add_options --disable-elf-dynstr-gc
+ac_add_options --disable-mochitest
+ac_add_options --disable-tests
+ac_add_options --enable-optimize="-pipe -O3"
+ac_add_options --enable-strip
diff --git a/mozilla-testing/icecat/mozconfig.old b/mozilla-testing/icecat/mozconfig.old
new file mode 100644
index 000000000..3ae3e1c2e
--- /dev/null
+++ b/mozilla-testing/icecat/mozconfig.old
@@ -0,0 +1,85 @@
+# This is a better commented version of the .mozconfig used by the Parabola
+# package < v9
+
+# We are building the browser
+. $topsrcdir/browser/config/mozconfig
+
+# Branding
+ac_add_options --disable-official-branding
+ac_add_options --with-branding=browser/branding/unofficial
+
+# GNUzilla things
+ac_add_options --with-distribution-id=org.gnu.gnuzilla
+ac_add_options --with-user-appdir=.gnuzilla
+
+# Operating system things
+ac_add_options --prefix=/usr
+ac_add_options --libdir=/usr/lib
+ac_add_options --with-pthreads
+
+ac_add_options --enable-default-toolkit=cairo-gtk2
+
+
+ac_add_options --enable-system-cairo
+ac_add_options --enable-system-hunspell
+ac_add_options --enable-system-sqlite
+ac_add_options --with-system-bz2
+ac_add_options --with-system-jpeg
+ac_add_options --with-system-libevent
+ac_add_options --with-system-libvpx
+ac_add_options --with-system-nspr
+ac_add_options --with-system-nss
+ac_add_options --with-system-png
+ac_add_options --with-system-zlib
+
+ac_add_options --enable-pango
+ac_add_options --enable-startup-notification
+
+
+# Enable/Disable web technologies
+ac_add_options --enable-canvas
+ac_add_options --enable-canvas3d
+ac_add_options --enable-places
+ac_add_options --enable-smil
+ac_add_options --enable-svg
+
+# Enable/Disable "user-y" features
+ac_add_options --enable-extensions=default
+
+ac_add_options --disable-safe-browsing
+ac_add_options --enable-url-classifier
+
+# Enable/Disable "system-y" features
+ac_add_options --disable-crashreporter
+ac_add_options --disable-debug
+ac_add_options --disable-installer
+ac_add_options --disable-update
+
+ac_add_options --disable-gnomevfs
+ac_add_options --disable-javaxpcom
+ac_add_options --enable-gio
+ac_add_options --enable-libnotify
+ac_add_options --enable-printing
+ac_add_options --enable-xinerama
+ac_add_options --enable-xterm-updates
+
+# Build settings
+ac_add_options --disable-mochitest
+ac_add_options --disable-pedantic
+ac_add_options --disable-static
+ac_add_options --disable-tests
+ac_add_options --enable-install-strip
+ac_add_options --enable-jemalloc
+ac_add_options --enable-optimize
+ac_add_options --enable-strip
+
+export BUILD_OFFICIAL=1
+export MOZILLA_OFFICIAL=1
+mk_add_options BUILD_OFFICIAL=1
+mk_add_options MOZILLA_OFFICIAL=1
+
+# PGO
+ac_add_options --enable-profile-guided-optimization
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-pgo
+mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) $(MOZ_OBJDIR)/_profile/pgo/profileserver.py'
+mk_add_options PYTHONPATH='$(OBJDIR)/_profile/pgo'
diff --git a/mozilla-testing/icecat/parabola.patch b/mozilla-testing/icecat/parabola.patch
new file mode 100644
index 000000000..b8000c3ea
--- /dev/null
+++ b/mozilla-testing/icecat/parabola.patch
@@ -0,0 +1,22 @@
+diff -ru icecat-9.0.1.orig/browser/app/profile/firefox.js icecat-9.0.1/browser/app/profile/firefox.js
+--- icecat-9.0.1.orig/browser/app/profile/firefox.js 2011-12-27 00:11:30.000000000 -0500
++++ icecat-9.0.1/browser/app/profile/firefox.js 2011-12-27 00:11:39.000000000 -0500
+@@ -48,6 +48,8 @@
+ #endif
+ #endif
+
++pref("general.startup.browser", true);
++
+ pref("browser.chromeURL","chrome://browser/content/");
+ pref("browser.hiddenWindowChromeURL", "chrome://browser/content/hiddenWindow.xul");
+
+@@ -487,6 +489,9 @@
+ pref("browser.gesture.twist.left", "");
+ pref("browser.gesture.tap", "cmd_fullZoomReset");
+
++// Use LANG environment variable to choose locale
++pref("intl.locale.matchOS", true);
++
+ // 0=lines, 1=pages, 2=history , 3=text size
+ #ifdef XP_MACOSX
+ // On OS X, if the wheel has one axis only, shift+wheel comes through as a
diff --git a/mozilla-testing/iceweasel-i18n/.gitignore b/mozilla-testing/iceweasel-i18n/.gitignore
new file mode 100644
index 000000000..bff578e20
--- /dev/null
+++ b/mozilla-testing/iceweasel-i18n/.gitignore
@@ -0,0 +1,3 @@
+PKGBUILD.*
+langpacks.txt
+*.diff.gz
diff --git a/mozilla-testing/iceweasel-i18n/Makefile b/mozilla-testing/iceweasel-i18n/Makefile
new file mode 100644
index 000000000..a0a767c3d
--- /dev/null
+++ b/mozilla-testing/iceweasel-i18n/Makefile
@@ -0,0 +1,36 @@
+#!/usr/bin/make -f
+# Use this script to update the PKGBUILD's list of langpacks.
+# This script depends on:
+# - coreutils
+# - pacman
+# - sed
+
+default: PHONY all
+all: PHONY
+ $(MAKE) clean
+ $(MAKE) PKGBUILD
+.PRECIOUS: PKGBUILD
+
+PKGBUILD.g: Makefile
+ sed \
+ -e '/This line is here/,$$d' \
+ -e 's/^pkgname=/_pkgname=/' \
+ PKGBUILD > $@
+ echo 'pkgname=foo' >> $@
+ echo 'package() { exit 0; }' >> $@
+ makepkg -gp $@ >> $@
+langpacks.txt: PKGBUILD.g Makefile
+ makepkg -dp $<
+ ls src/*/upstream | sed 's/\.xpi//' > $@
+PKGBUILD: langpacks.txt Makefile
+ sed \
+ -e "s/_langpacks=.*/_langpacks=(`xargs echo < $<`)/" \
+ -e '/md5sums/,$$d' \
+ $@ > $@.$$$$ && \
+ makepkg -g >> $@.$$$$ && \
+ mv $@.$$$$ $@
+
+clean: PHONY
+ rm -f PKGBUILD.g langpacks.txt
+
+.PHONY: PHONY FORCE
diff --git a/mozilla-testing/iceweasel-i18n/PKGBUILD b/mozilla-testing/iceweasel-i18n/PKGBUILD
new file mode 100644
index 000000000..45555b019
--- /dev/null
+++ b/mozilla-testing/iceweasel-i18n/PKGBUILD
@@ -0,0 +1,57 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+# When updating to a newer upstream release:
+# - Update pkgver= and _deb*= below.
+# - Run "make". This will do everything else for you.
+
+# We're getting this from Debian Sid
+_debname=iceweasel-l10n
+_debver=9.0+debian
+_debrel=1
+_debrepo=http://ftp.debian.org/debian/pool/main/
+debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
+
+_langpacks=(af ak ar ast as be bg bn-BD bn-IN br bs ca cs cy da de dz-BT el en-GB en-US en-ZA eo es-AR es-CL es-ES es-MX et eu fa-IR fa fi fr fur-IT fy-NL ga-IE gd gl gu-IN he hi-IN hr hu hy-AM id is it ja ka kk kn ko ku lg lt lv mai mk ml mn mr nb-NO ne-NP nl nn-NO nso oc or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv-SE ta-LK ta te th tr uk vi zh-CN zh-TW zu)
+
+pkgbase=iceweasel-i18n
+pkgname=($(for lang in ${_langpacks[@]}
+ do echo $pkgbase-$lang | tr A-Z a-z
+ done))
+_pkgver=9.0
+pkgver=${_debver}.${_debrel}
+pkgrel=1
+
+
+pkgdesc="Language packs for Debian Iceweasel."
+arch=('any')
+url="http://www.geticeweasel.org/"
+license=('MPL')
+depends=("iceweasel=${_pkgver}")
+source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.gz"
+ "${_debrepo}/`debfile ${_debname}`_${_debver}-${_debrel}.diff.gz")
+noextract=($(for lang in ${_langpacks[@]}
+ do echo $lang.xpi
+ done))
+
+build() {
+ cd "${srcdir}"
+ # This will simulate dpkg-source -x ${_debname}_${_debver}-${_debrel}.dsc
+ cd "${_debname}-${_debver}"
+ patch -p1 -i "${srcdir}/${_debname}_${_debver}-${_debrel}.diff"
+}
+
+_path="/usr/lib/iceweasel-${_pkgver}/extensions"
+
+# This line is here for auto-regeneration purposes. DO NOT EDIT!
+
+for lang in ${_langpacks[@]}
+do
+ eval "
+package_iceweasel-i18n-$(echo $lang | tr A-Z a-z) () {
+ install -Dm644 '$srcdir/'*'/upstream/$lang.xpi' \"\$pkgdir\"'$_path/langpack-$lang@firefox.mozilla.org.xpi'
+}
+"
+done
+
+md5sums=('d0dc0653b9d7642e6d346b54fb1782ae'
+ '493920a716fa40daeb5bd8cdfdbfe6a6')
diff --git a/mozilla-testing/iceweasel/PKGBUILD b/mozilla-testing/iceweasel/PKGBUILD
new file mode 100644
index 000000000..992476d43
--- /dev/null
+++ b/mozilla-testing/iceweasel/PKGBUILD
@@ -0,0 +1,135 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+# Contributor: Henry Jensen <hjensen@connochaetos.org>
+
+# We're getting this from Debian Sid
+_debname=iceweasel
+_debver=9.0.1
+_debrel=1
+_debrepo=http://ftp.debian.org/debian/pool/main/
+debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
+
+_pkgname=iceweasel
+pkgname=iceweasel
+_pkgver=9.0
+pkgver=${_debver}.${_debrel}
+pkgrel=1
+
+pkgdesc="A libre version of Debian Iceweasel, the browser based on Mozilla Firefox."
+arch=('i586' 'i686' 'x86_64' 'mips64el')
+url="http://www.geticeweasel.org/"
+license=('GPL2' 'MPL' 'LGPL')
+depends=(
+ 'alsa-lib'
+ 'dbus-glib'
+ 'desktop-file-utils'
+ 'gtk2'
+ 'hicolor-icon-theme'
+ 'hunspell'
+ 'libevent'
+ 'libnotify'
+ 'libvpx'
+ 'libxt'
+ 'mime-types'
+ 'mozilla-common'
+ 'mozilla-searchplugins'
+ 'nss'
+ 'sqlite3'
+ 'startup-notification'
+)
+makedepends=(
+ 'autoconf2.13'
+ 'diffutils'
+ 'libidl2'
+ 'mesa'
+ 'p7zip-libre'
+ 'pkg-config'
+ 'python2'
+ 'quilt'
+ 'wireless_tools'
+ 'yasm'
+ 'zip'
+)
+options=(!buildflags !distcc)
+install=iceweasel.install
+source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.bz2"
+ "${_debrepo}/`debfile ${_debname}`_${_debver}-${_debrel}.debian.tar.gz"
+ mozconfig
+ libre.patch
+ # Default configuration
+ mozilla-firefox-1.0-lang.patch
+ xulrunner-copy-stub.patch
+ region.properties)
+
+build() {
+ msg2 "Applying Debian patches..."
+ cd "${srcdir}"
+ # This will simulate dpkg-source -x ${_debname}_${_debver}-${_debrel}.dsc
+ export QUILT_PATCHES=debian/patches
+ export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
+ export QUILT_DIFF_ARGS='--no-timestamps'
+ mv mozilla-release "${_debname}-${_debver}"
+ mv debian "${_debname}-${_debver}"
+ cd "${_debname}-${_debver}"
+ quilt push -a
+ find .pc -name .timestamp -delete # why isn't --no-timestamps doing this?
+
+ # This will make life more sane
+ cd "${srcdir}"
+ ln -s "${_debname}-${_debver}" "${_pkgname}-${pkgver}"
+
+ msg2 "Starting normal build..."
+ cd "${srcdir}/${_pkgname}-${pkgver}/"
+ patch -p1 -i "${srcdir}/mozilla-firefox-1.0-lang.patch"
+ patch -p1 -i "${srcdir}/xulrunner-copy-stub.patch"
+ patch -p1 -i "${srcdir}/libre.patch"
+
+ cp --remove-destination ${srcdir}/region.properties ./browser/locales/en-US/chrome/browser-region/
+
+ msg2 "Starting build..."
+
+ cp "${srcdir}/mozconfig" .mozconfig
+ #make -j1 -f client.mk build MOZ_MAKE_FLAGS="${MAKEFLAGS}"
+ ./configure
+ #touch config*
+ make MOZ_MAKE_FLAGS="${MAKEFLAGS}"
+
+ msg2 "Build complete"
+}
+
+package() {
+
+ cd "${srcdir}/${_pkgname}-${pkgver}/"
+ #make -j1 -f client.mk DESTDIR="${pkgdir}" install
+ make install DESTDIR="${pkgdir}"
+
+ msg2 "Finishing..."
+
+ install -m755 -d ${pkgdir}/usr/share/applications
+ install -m755 -d ${pkgdir}/usr/share/pixmaps
+ install -m755 -d ${pkgdir}/usr/share/icons/hicolor/16x16/apps
+ install -m755 -d ${pkgdir}/usr/share/icons/hicolor/32x32/apps
+ install -m755 -d ${pkgdir}/usr/share/icons/hicolor/64x64/apps
+ install -m755 -d ${pkgdir}/usr/share/icons/hicolor/scalable/apps
+
+ install -m644 ${srcdir}/${_pkgname}-${pkgver}/debian/iceweasel.desktop ${pkgdir}/usr/share/applications/ || return 1
+ install -m644 ${srcdir}/${_pkgname}-${pkgver}/debian/branding/default16.png ${pkgdir}/usr/share/icons/hicolor/16x16/apps/iceweasel.png
+ install -m644 ${srcdir}/${_pkgname}-${pkgver}/debian/branding/default32.png ${pkgdir}/usr/share/icons/hicolor/32x32/apps/iceweasel.png
+ install -m644 ${srcdir}/${_pkgname}-${pkgver}/debian/branding/default64.png ${pkgdir}/usr/share/icons/hicolor/64x64/apps/iceweasel.png
+ install -m644 ${srcdir}/${_pkgname}-${pkgver}/debian/branding/iceweasel_icon.svg ${pkgdir}/usr/share/icons/hicolor/scalable/apps/iceweasel.svg
+
+
+ rm -rf ${pkgdir}/usr/lib/${_pkgname}-${_pkgver}/searchplugins
+ ln -sf /usr/lib/mozilla/searchplugins ${pkgdir}/usr/lib/${_pkgname}-${_pkgver}/searchplugins
+
+ rm -rvf ${pkgdir}/usr/lib/iceweasel-devel-${_pkgver}
+ rm -rvf ${pkgdir}/usr/include
+
+}
+
+md5sums=('bd656a24d0ba3d4ca7b68aca8081a07d'
+ '6cde9fe38df1434fdcc0f3a078b0238e'
+ '5e2574eef71ee1437e2f8e7481c67893'
+ '9609e77182cc300e3fe9d4b0c7e7efb4'
+ 'bd5db57c23c72a02a489592644f18995'
+ 'a485a2b5dc544a8a2bd40c985d2e5813'
+ 'f1c76e7e244257856a386ca2de69bdf0')
diff --git a/mozilla-testing/iceweasel/iceweasel.install b/mozilla-testing/iceweasel/iceweasel.install
new file mode 100644
index 000000000..376600ec2
--- /dev/null
+++ b/mozilla-testing/iceweasel/iceweasel.install
@@ -0,0 +1,21 @@
+#[ "${ICDIR}" = "" ] && ICECATDIR="/usr/lib/icecat"
+post_install () {
+ echo -e "\n >>> Please, source /etc/profile or logout and re-login to your desktop session"
+ echo -e " >>> If you installed some locale in the past or some stuff in libdir, please remove old /usr/lib/iceweasel* directories"
+ update-desktop-database -q
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ update-desktop-database -q
+}
+
+#op=$1
+#shift
+
+#$op $*
diff --git a/mozilla-testing/iceweasel/libre.patch b/mozilla-testing/iceweasel/libre.patch
new file mode 100644
index 000000000..e29e22a67
--- /dev/null
+++ b/mozilla-testing/iceweasel/libre.patch
@@ -0,0 +1,391 @@
+diff -urN iceweasel-9.0-orig/.pc/iceweasel-branding/Determine-which-phishing-shavar-to-use-depending-on-.patch/browser/app/profile/firefox.js iceweasel-9.0/.pc/iceweasel-branding/Determine-which-phishing-shavar-to-use-depending-on-.patch/browser/app/profile/firefox.js
+--- iceweasel-9.0-orig/.pc/iceweasel-branding/Determine-which-phishing-shavar-to-use-depending-on-.patch/browser/app/profile/firefox.js 2011-12-16 20:29:12.000000000 +0000
++++ iceweasel-9.0/.pc/iceweasel-branding/Determine-which-phishing-shavar-to-use-depending-on-.patch/browser/app/profile/firefox.js 2011-12-21 12:55:22.404066176 +0000
+@@ -57,10 +57,10 @@
+ // Preferences for AMO integration
+ pref("extensions.getAddons.cache.enabled", true);
+ pref("extensions.getAddons.maxResults", 15);
+-pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/%LOCALE%/firefox/api/%API_VERSION%/search/guid:%IDS%?src=firefox&appOS=%OS%&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%");
+-pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/firefox/search?q=%TERMS%");
+-pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/firefox/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%?src=firefox");
+-pref("extensions.webservice.discoverURL", "https://services.addons.mozilla.org/%LOCALE%/firefox/discovery/pane/%VERSION%/%OS%");
++pref("extensions.getAddons.get.url", "http://www.gnu.org/software/gnuzilla/addons.html");
++pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/software/gnuzilla/addons.html");
++pref("extensions.getAddons.search.url", "http://www.gnu.org/software/gnuzilla/addons.html");
++pref("extensions.webservice.discoverURL", "http://www.gnu.org/software/gnuzilla/addons.html");
+
+ // Blocklist preferences
+ pref("extensions.blocklist.enabled", true);
+@@ -80,7 +80,7 @@
+ pref("extensions.autoDisableScopes", 15);
+
+ // Dictionary download preference
+-pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/firefox/dictionaries/");
++pref("browser.dictionaries.download.url", "http://www.gnu.org/software/gnuzilla/addons.html");
+
+ // The minimum delay in seconds for the timer to fire.
+ // default=2 minutes
+@@ -200,7 +200,7 @@
+ pref("extensions.update.interval", 86400); // Check for updates to Extensions and
+ // Themes every day
+ // Non-symmetric (not shared by extensions) extension-specific [update] preferences
+-pref("extensions.getMoreThemesURL", "https://addons.mozilla.org/%LOCALE%/firefox/getpersonas");
++pref("extensions.getMoreThemesURL", "http://www.gnu.org/software/gnuzilla/addons.html#themes");
+ pref("extensions.dss.enabled", false); // Dynamic Skin Switching
+ pref("extensions.dss.switchPending", false); // Non-dynamic switch pending after next
+ // restart.
+@@ -235,7 +235,7 @@
+ // 0 = blank, 1 = home (browser.startup.homepage), 2 = last visited page, 3 = resume previous browser session
+ // The behavior of option 3 is detailed at: http://wiki.mozilla.org/Session_Restore
+ pref("browser.startup.page", 1);
+-pref("browser.startup.homepage", "chrome://branding/locale/browserconfig.properties");
++pref("browser.startup.homepage", "about:blank");
+
+ // This url, if changed, MUST continue to point to an https url. Pulling arbitrary content to inject into
+ // this page over http opens us up to a man-in-the-middle attack that we'd rather not face. If you are a downstream
+@@ -325,7 +325,7 @@
+ pref("browser.download.manager.resumeOnWakeDelay", 10000);
+
+ // search engines URL
+-pref("browser.search.searchEnginesURL", "https://addons.mozilla.org/%LOCALE%/firefox/search-engines/");
++pref("browser.search.searchEnginesURL", "http://www.gnu.org/software/gnuzilla/addons.html");
+
+ // pointer to the default engine name
+ pref("browser.search.defaultenginename", "chrome://browser-region/locale/region.properties");
+@@ -564,7 +564,7 @@
+ pref("accessibility.typeaheadfind.flashBar", 1);
+
+ // plugin finder service url
+-pref("pfs.datasource.url", "https://pfs.mozilla.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%&appID=%APP_ID%&appVersion=%APP_VERSION%&clientOS=%CLIENT_OS%&chromeLocale=%CHROME_LOCALE%&appRelease=%APP_RELEASE%");
++pref("pfs.datasource.url", "http://gnuzilla.gnu.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%&appID=%APP_ID%&appVersion=%APP_VERSION%&clientOS=%CLIENT_OS%&chromeLocale=%CHROME_LOCALE%&appRelease=%APP_RELEASE%");
+
+ // by default we show an infobar message when pages require plugins the user has not installed, or are outdated
+ pref("plugins.hide_infobar_for_missing_plugin", false);
+diff -urN iceweasel-9.0-orig/.pc/prefs/Remove-general.useragent.locale-prefs-from-firefox-..patch/browser/app/profile/firefox.js iceweasel-9.0/.pc/prefs/Remove-general.useragent.locale-prefs-from-firefox-..patch/browser/app/profile/firefox.js
+--- iceweasel-9.0-orig/.pc/prefs/Remove-general.useragent.locale-prefs-from-firefox-..patch/browser/app/profile/firefox.js 2011-12-21 09:07:20.000000000 +0000
++++ iceweasel-9.0/.pc/prefs/Remove-general.useragent.locale-prefs-from-firefox-..patch/browser/app/profile/firefox.js 2011-12-21 12:55:28.116066178 +0000
+@@ -57,10 +57,10 @@
+ // Preferences for AMO integration
+ pref("extensions.getAddons.cache.enabled", true);
+ pref("extensions.getAddons.maxResults", 15);
+-pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/%LOCALE%/firefox/api/%API_VERSION%/search/guid:%IDS%?src=firefox&appOS=%OS%&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%");
+-pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/firefox/search?q=%TERMS%");
+-pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/firefox/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%?src=firefox");
+-pref("extensions.webservice.discoverURL", "https://services.addons.mozilla.org/%LOCALE%/firefox/discovery/pane/%VERSION%/%OS%");
++pref("extensions.getAddons.get.url", "http://www.gnu.org/software/gnuzilla/addons.html");
++pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/software/gnuzilla/addons.html");
++pref("extensions.getAddons.search.url", "http://www.gnu.org/software/gnuzilla/addons.html");
++pref("extensions.webservice.discoverURL", "http://www.gnu.org/software/gnuzilla/addons.html");
+
+ // Blocklist preferences
+ pref("extensions.blocklist.enabled", true);
+@@ -80,7 +80,7 @@
+ pref("extensions.autoDisableScopes", 15);
+
+ // Dictionary download preference
+-pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/firefox/dictionaries/");
++pref("browser.dictionaries.download.url", "http://www.gnu.org/software/gnuzilla/addons.html");
+
+ // The minimum delay in seconds for the timer to fire.
+ // default=2 minutes
+@@ -200,7 +200,7 @@
+ pref("extensions.update.interval", 86400); // Check for updates to Extensions and
+ // Themes every day
+ // Non-symmetric (not shared by extensions) extension-specific [update] preferences
+-pref("extensions.getMoreThemesURL", "https://addons.mozilla.org/%LOCALE%/firefox/getpersonas");
++pref("extensions.getMoreThemesURL", "http://www.gnu.org/software/gnuzilla/addons.html#themes");
+ pref("extensions.dss.enabled", false); // Dynamic Skin Switching
+ pref("extensions.dss.switchPending", false); // Non-dynamic switch pending after next
+ // restart.
+@@ -235,7 +235,7 @@
+ // 0 = blank, 1 = home (browser.startup.homepage), 2 = last visited page, 3 = resume previous browser session
+ // The behavior of option 3 is detailed at: http://wiki.mozilla.org/Session_Restore
+ pref("browser.startup.page", 1);
+-pref("browser.startup.homepage", "chrome://branding/locale/browserconfig.properties");
++pref("browser.startup.homepage", "about:blank");
+
+ // This url, if changed, MUST continue to point to an https url. Pulling arbitrary content to inject into
+ // this page over http opens us up to a man-in-the-middle attack that we'd rather not face. If you are a downstream
+@@ -325,7 +325,7 @@
+ pref("browser.download.manager.resumeOnWakeDelay", 10000);
+
+ // search engines URL
+-pref("browser.search.searchEnginesURL", "https://addons.mozilla.org/%LOCALE%/firefox/search-engines/");
++pref("browser.search.searchEnginesURL", "http://www.gnu.org/software/gnuzilla/addons.html");
+
+ // pointer to the default engine name
+ pref("browser.search.defaultenginename", "chrome://browser-region/locale/region.properties");
+@@ -564,7 +564,7 @@
+ pref("accessibility.typeaheadfind.flashBar", 1);
+
+ // plugin finder service url
+-pref("pfs.datasource.url", "https://pfs.mozilla.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%&appID=%APP_ID%&appVersion=%APP_VERSION%&clientOS=%CLIENT_OS%&chromeLocale=%CHROME_LOCALE%&appRelease=%APP_RELEASE%");
++pref("pfs.datasource.url", "http://gnuzilla.gnu.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%&appID=%APP_ID%&appVersion=%APP_VERSION%&clientOS=%CLIENT_OS%&chromeLocale=%CHROME_LOCALE%&appRelease=%APP_RELEASE%");
+
+ // by default we show an infobar message when pages require plugins the user has not installed, or are outdated
+ pref("plugins.hide_infobar_for_missing_plugin", false);
+diff -urN iceweasel-9.0-orig/.pc/prefs/Set-DPI-to-system-settings.patch/modules/libpref/src/init/all.js iceweasel-9.0/.pc/prefs/Set-DPI-to-system-settings.patch/modules/libpref/src/init/all.js
+--- iceweasel-9.0-orig/.pc/prefs/Set-DPI-to-system-settings.patch/modules/libpref/src/init/all.js 2011-12-21 09:07:20.000000000 +0000
++++ iceweasel-9.0/.pc/prefs/Set-DPI-to-system-settings.patch/modules/libpref/src/init/all.js 2011-12-21 10:10:35.104062780 +0000
+@@ -47,7 +47,7 @@
+ // SYNTAX HINTS: dashes are delimiters. Use underscores instead.
+ // The first character after a period must be alphabetic.
+
+-pref("keyword.URL", "http://www.google.com/search?ie=UTF-8&oe=utf-8&q=");
++pref("keyword.URL", "http://duckduckgo.com/?q=");
+ pref("keyword.enabled", false);
+ pref("general.useragent.locale", "chrome://global/locale/intl.properties");
+ pref("general.useragent.compatMode.firefox", false);
+diff -urN iceweasel-9.0-orig/.pc/prefs/Set-javascript.options.showInConsole.patch/modules/libpref/src/init/all.js iceweasel-9.0/.pc/prefs/Set-javascript.options.showInConsole.patch/modules/libpref/src/init/all.js
+--- iceweasel-9.0-orig/.pc/prefs/Set-javascript.options.showInConsole.patch/modules/libpref/src/init/all.js 2011-12-16 20:29:37.000000000 +0000
++++ iceweasel-9.0/.pc/prefs/Set-javascript.options.showInConsole.patch/modules/libpref/src/init/all.js 2011-12-21 10:10:43.184062783 +0000
+@@ -47,7 +47,7 @@
+ // SYNTAX HINTS: dashes are delimiters. Use underscores instead.
+ // The first character after a period must be alphabetic.
+
+-pref("keyword.URL", "http://www.google.com/search?ie=UTF-8&oe=utf-8&q=");
++pref("keyword.URL", "http://duckduckgo.com/?q=");
+ pref("keyword.enabled", false);
+ pref("general.useragent.locale", "chrome://global/locale/intl.properties");
+ pref("general.useragent.compatMode.firefox", false);
+diff -urN iceweasel-9.0-orig/browser/app/profile/firefox.js iceweasel-9.0/browser/app/profile/firefox.js
+--- iceweasel-9.0-orig/browser/app/profile/firefox.js 2011-12-21 09:07:20.000000000 +0000
++++ iceweasel-9.0/browser/app/profile/firefox.js 2011-12-21 12:54:53.816066166 +0000
+@@ -57,10 +57,10 @@
+ // Preferences for AMO integration
+ pref("extensions.getAddons.cache.enabled", true);
+ pref("extensions.getAddons.maxResults", 15);
+-pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/%LOCALE%/firefox/api/%API_VERSION%/search/guid:%IDS%?src=firefox&appOS=%OS%&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%");
+-pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/firefox/search?q=%TERMS%");
+-pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/firefox/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%?src=firefox");
+-pref("extensions.webservice.discoverURL", "https://services.addons.mozilla.org/%LOCALE%/firefox/discovery/pane/%VERSION%/%OS%");
++pref("extensions.getAddons.get.url", "http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.search.url", "http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.webservice.discoverURL", "http://www.gnu.org/s/gnuzilla/addons.html");
+
+ // Blocklist preferences
+ pref("extensions.blocklist.enabled", true);
+@@ -80,7 +80,7 @@
+ pref("extensions.autoDisableScopes", 15);
+
+ // Dictionary download preference
+-pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/firefox/dictionaries/");
++pref("browser.dictionaries.download.url", "");
+
+ // The minimum delay in seconds for the timer to fire.
+ // default=2 minutes
+@@ -200,7 +200,7 @@
+ pref("extensions.update.interval", 86400); // Check for updates to Extensions and
+ // Themes every day
+ // Non-symmetric (not shared by extensions) extension-specific [update] preferences
+-pref("extensions.getMoreThemesURL", "https://addons.mozilla.org/%LOCALE%/firefox/getpersonas");
++pref("extensions.getMoreThemesURL", "http://www.gnu.org/software/gnuzilla/addons.html#themes");
+ pref("extensions.dss.enabled", false); // Dynamic Skin Switching
+ pref("extensions.dss.switchPending", false); // Non-dynamic switch pending after next
+ // restart.
+@@ -234,7 +234,7 @@
+ // 0 = blank, 1 = home (browser.startup.homepage), 2 = last visited page, 3 = resume previous browser session
+ // The behavior of option 3 is detailed at: http://wiki.mozilla.org/Session_Restore
+ pref("browser.startup.page", 1);
+-pref("browser.startup.homepage", "chrome://branding/locale/browserconfig.properties");
++pref("browser.startup.homepage", "about:blank");
+
+ // This url, if changed, MUST continue to point to an https url. Pulling arbitrary content to inject into
+ // this page over http opens us up to a man-in-the-middle attack that we'd rather not face. If you are a downstream
+@@ -324,7 +324,7 @@
+ pref("browser.download.manager.resumeOnWakeDelay", 10000);
+
+ // search engines URL
+-pref("browser.search.searchEnginesURL", "https://addons.mozilla.org/%LOCALE%/firefox/search-engines/");
++pref("browser.search.searchEnginesURL", "http://www.gnu.org/software/gnuzilla/addons.html");
+
+ // pointer to the default engine name
+ pref("browser.search.defaultenginename", "chrome://browser-region/locale/region.properties");
+@@ -563,7 +563,7 @@
+ pref("accessibility.typeaheadfind.flashBar", 1);
+
+ // plugin finder service url
+-pref("pfs.datasource.url", "https://pfs.mozilla.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%&appID=%APP_ID%&appVersion=%APP_VERSION%&clientOS=%CLIENT_OS%&chromeLocale=%CHROME_LOCALE%&appRelease=%APP_RELEASE%");
++pref("pfs.datasource.url", "http://gnuzilla.gnu.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%&appID=%APP_ID%&appVersion=%APP_VERSION%&clientOS=%CLIENT_OS%&chromeLocale=%CHROME_LOCALE%&appRelease=%APP_RELEASE%");
+
+ // by default we show an infobar message when pages require plugins the user has not installed, or are outdated
+ pref("plugins.hide_infobar_for_missing_plugin", false);
+diff -urN iceweasel-9.0-orig/browser/base/content/syncSetup.js iceweasel-9.0/browser/base/content/syncSetup.js
+--- iceweasel-9.0-orig/browser/base/content/syncSetup.js 2011-12-16 20:29:12.000000000 +0000
++++ iceweasel-9.0/browser/base/content/syncSetup.js 2011-12-21 10:05:15.888062669 +0000
+@@ -59,7 +59,7 @@
+ // Broader than we'd like, but after this changed from api-secure.recaptcha.net
+ // we had no choice. At least we only do this for the duration of setup.
+ // See discussion in Bugs 508112 and 653307.
+-const RECAPTCHA_DOMAIN = "https://www.google.com";
++const RECAPTCHA_DOMAIN = "https://www.duckduckgo.com";
+
+ Cu.import("resource://services-sync/main.js");
+ Cu.import("resource://gre/modules/XPCOMUtils.jsm");
+diff -urN iceweasel-9.0-orig/browser/locales/en-US/chrome/browser-region/region.properties iceweasel-9.0/browser/locales/en-US/chrome/browser-region/region.properties
+--- iceweasel-9.0-orig/browser/locales/en-US/chrome/browser-region/region.properties 2011-12-16 20:29:13.000000000 +0000
++++ iceweasel-9.0/browser/locales/en-US/chrome/browser-region/region.properties 2011-12-21 09:55:31.032062468 +0000
+@@ -1,8 +1,8 @@
+ # Default search engine
+-browser.search.defaultenginename=Google
++browser.search.defaultenginename=DuckDuckGo
+
+ # Search engine order (order displayed in the search bar dropdown)s
+-browser.search.order.1=Google
++browser.search.order.1=DuckDuckGo
+ browser.search.order.2=Yahoo
+ browser.search.order.3=Bing
+
+@@ -17,7 +17,7 @@
+ # TRANSLATION NOTE: {moz:domain} and {searchTerms} are placeholders for the site
+ # to be searched and the user's search query. Place them in the appropriate location
+ # for your locale's URL but do not translate them.
+-browser.search.siteSearchURL=http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&q=site%3A{moz:domain}+{searchTerms}
++browser.search.siteSearchURL=http://duckduck.go.com/?q={searchTerms}
+
+ # increment this number when anything gets changed in the list below. This will
+ # cause Firefox to re-read these prefs and inject any new handlers into the
+diff -urN iceweasel-9.0-orig/browser/locales/generic/profile/bookmarks.html.in iceweasel-9.0/browser/locales/generic/profile/bookmarks.html.in
+--- iceweasel-9.0-orig/browser/locales/generic/profile/bookmarks.html.in 2011-12-16 20:29:13.000000000 +0000
++++ iceweasel-9.0/browser/locales/generic/profile/bookmarks.html.in 2011-12-21 10:24:32.872063067 +0000
+@@ -11,14 +11,12 @@
+ <DT><H3 PERSONAL_TOOLBAR_FOLDER="true" ID="rdf:#$FvPhC3">@bookmarks_toolbarfolder@</H3>
+ <DD>@bookmarks_toolbarfolder_description@
+ <DL><p>
+- <DT><A HREF="http://www.mozilla.com/@AB_CD@/firefox/central/" ID="rdf:#$GvPhC3">@getting_started@</A>
+- <DT><A HREF="http://fxfeeds.mozilla.com/@AB_CD@/firefox/livebookmarks/" FEEDURL="http://fxfeeds.mozilla.com/@AB_CD@/firefox/headlines.xml" ID="rdf:#$HvPhC3">@latest_headlines@</A>
++ <DT><A HREF="http://www.connochaetos.org/">ConnochaetOS</a>
+ </DL><p>
+ <DT><H3 ID="rdf:#$ZvPhC3">@firefox_heading@</H3>
+ <DL><p>
+- <DT><A HREF="http://www.mozilla.com/@AB_CD@/firefox/help/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$22iCK1">@firefox_help@</A>
+- <DT><A HREF="http://www.mozilla.com/@AB_CD@/firefox/customize/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$32iCK1">@firefox_customize@</A>
+- <DT><A HREF="http://www.mozilla.com/@AB_CD@/firefox/community/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$42iCK1">@firefox_community@</A>
+- <DT><A HREF="http://www.mozilla.com/@AB_CD@/about/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$52iCK1">@firefox_about@</A>
++ <DT><A HREF="http://www.fsf.org/">Free Software Foundation</A>
++ <DT><A HREF="http://libreplanet.org/">LibrePlanet</A>
++ <DT><a href="http://www.gnu.org/software/gnuzilla/addons.html">Free addons</a>
+ </DL><p>
+ </DL><p>
+diff -urN iceweasel-9.0-orig/build/pgo/blueprint/elements.html iceweasel-9.0/build/pgo/blueprint/elements.html
+--- iceweasel-9.0-orig/build/pgo/blueprint/elements.html 2011-12-16 20:29:13.000000000 +0000
++++ iceweasel-9.0/build/pgo/blueprint/elements.html 2011-12-21 10:04:42.988062659 +0000
+@@ -143,7 +143,7 @@
+ </p>
+ <p>
+ <a>&lt;a&gt; anchor</a><br>
+- <a href="http://www.google.com">&lt;a&gt; a + href</a>
++ <a href="http://www.duckduckgo.com">&lt;a&gt; a + href</a>
+ </p>
+ <p>
+ <abbr title="extended abbr text should show when mouse over">&lt;abbr&gt; abbr - extended text when mouseover.</abbr><br>
+diff -urN iceweasel-9.0-orig/dom/ipc/test.xul iceweasel-9.0/dom/ipc/test.xul
+--- iceweasel-9.0-orig/dom/ipc/test.xul 2011-12-16 20:29:17.000000000 +0000
++++ iceweasel-9.0/dom/ipc/test.xul 2011-12-21 10:03:33.224062635 +0000
+@@ -301,6 +301,6 @@
+ oncommand="document.getElementById('page').QueryInterface(Components.interfaces.nsIFrameLoaderOwner).frameLoader.delayRemoteDialogs = this.checked;"/>
+ </toolbar>
+
+- <browser type="content" src="http://www.google.com/" flex="1" id="page" remote="true"/>
++ <browser type="content" src="http://www.duckduckgo.com/" flex="1" id="page" remote="true"/>
+ <label id="messageLog" value="" crop="center"/>
+ </window>
+diff -urN iceweasel-9.0-orig/layout/ipc/test-ipcbrowser.xul iceweasel-9.0/layout/ipc/test-ipcbrowser.xul
+--- iceweasel-9.0-orig/layout/ipc/test-ipcbrowser.xul 2011-12-16 20:29:28.000000000 +0000
++++ iceweasel-9.0/layout/ipc/test-ipcbrowser.xul 2011-12-21 10:03:06.408062626 +0000
+@@ -69,6 +69,6 @@
+ label="setViewportScale"/>
+ </toolbar>
+
+- <browser type="content" src="http://www.google.com/" flex="1" id="content"
++ <browser type="content" src="http://www.duckduckgo.com/" flex="1" id="content"
+ remote="true"/>
+ </window>
+diff -urN iceweasel-9.0-orig/mobile/app/mobile.js iceweasel-9.0/mobile/app/mobile.js
+--- iceweasel-9.0-orig/mobile/app/mobile.js 2011-12-16 20:29:36.000000000 +0000
++++ iceweasel-9.0/mobile/app/mobile.js 2011-12-21 10:04:04.976062646 +0000
+@@ -217,12 +217,13 @@
+ /* preferences for the Get Add-ons pane */
+ pref("extensions.getAddons.cache.enabled", true);
+ pref("extensions.getAddons.maxResults", 15);
+-pref("extensions.getAddons.recommended.browseURL", "https://addons.mozilla.org/%LOCALE%/mobile/recommended/");
+-pref("extensions.getAddons.recommended.url", "https://services.addons.mozilla.org/%LOCALE%/mobile/api/%API_VERSION%/list/featured/all/%MAX_RESULTS%/%OS%/%VERSION%");
+-pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/mobile/search?q=%TERMS%");
+-pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/mobile/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%");
+-pref("extensions.getAddons.browseAddons", "https://addons.mozilla.org/%LOCALE%/mobile/");
+-pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/%LOCALE%/mobile/api/%API_VERSION%/search/guid:%IDS%?src=mobile&appOS=%OS%&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%");
++
++pref("extensions.getAddons.recommended.browseURL", "http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.recommended.url", "http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.search.url", "http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.browseAddons", "http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.get.url", "http://www.gnu.org/s/gnuzilla/addons.html");
+
+ /* preference for the locale picker */
+ pref("extensions.getLocales.get.url", "");
+@@ -239,7 +240,7 @@
+ pref("privacy.popups.showBrowserMessage", true);
+
+ pref("keyword.enabled", true);
+-pref("keyword.URL", "http://www.google.com/m?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=");
++pref("keyword.URL", "http://duckduckgo.com/?q=");
+
+ pref("accessibility.typeaheadfind", false);
+ pref("accessibility.typeaheadfind.timeout", 5000);
+diff -urN iceweasel-9.0-orig/mobile/locales/en-US/chrome/region.properties iceweasel-9.0/mobile/locales/en-US/chrome/region.properties
+--- iceweasel-9.0-orig/mobile/locales/en-US/chrome/region.properties 2011-12-16 20:29:36.000000000 +0000
++++ iceweasel-9.0/mobile/locales/en-US/chrome/region.properties 2011-12-21 09:54:17.560062443 +0000
+@@ -1,8 +1,8 @@
+ # Default search engine
+-browser.search.defaultenginename=Google
++browser.search.defaultenginename=DuckDuckGo
+
+ # Search engine order (order displayed in the search bar dropdown)s
+-browser.search.order.1=Google
++browser.search.order.1=DuckDuckGo
+
+ # This is the default set of web based feed handlers shown in the reader
+ # selection UI
+@@ -12,7 +12,7 @@
+ browser.contentHandlers.types.1.uri=http://fusion.google.com/add?feedurl=%s
+
+ # Keyword URL (for location bar searches)
+-keyword.URL=http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=
++keyword.URL=http://duckduckgo.com/?q=
+
+ # increment this number when anything gets changed in the list below. This will
+ # cause Firefox to re-read these prefs and inject any new handlers into the
+diff -urN iceweasel-9.0-orig/modules/libpref/src/init/all.js iceweasel-9.0/modules/libpref/src/init/all.js
+--- iceweasel-9.0-orig/modules/libpref/src/init/all.js 2011-12-21 09:07:20.000000000 +0000
++++ iceweasel-9.0/modules/libpref/src/init/all.js 2011-12-21 10:09:17.136062754 +0000
+@@ -47,7 +47,7 @@
+ // SYNTAX HINTS: dashes are delimiters. Use underscores instead.
+ // The first character after a period must be alphabetic.
+
+-pref("keyword.URL", "http://www.google.com/search?ie=UTF-8&oe=utf-8&q=");
++pref("keyword.URL", "http://duckduckgo.com/?q=");
+ pref("keyword.enabled", false);
+ pref("general.useragent.locale", "chrome://global/locale/intl.properties");
+ pref("general.useragent.compatMode.firefox", false);
+diff -urN iceweasel-9.0-orig/toolkit/locales/en-US/chrome/global-region/region.properties iceweasel-9.0/toolkit/locales/en-US/chrome/global-region/region.properties
+--- iceweasel-9.0-orig/toolkit/locales/en-US/chrome/global-region/region.properties 2011-12-16 20:29:43.000000000 +0000
++++ iceweasel-9.0/toolkit/locales/en-US/chrome/global-region/region.properties 2011-12-21 12:51:31.188066096 +0000
+@@ -4,10 +4,10 @@
+ pluginStartupMessage=Starting Plugin for type
+
+ # plug-ins URLs
+-more_plugins_label=mozilla.org
+-more_plugins_url=https://pfs.mozilla.org/plugins/
+-pluginupdates_label=mozilla.com/plugincheck
+-pluginupdates_url=http://www.mozilla.com/plugincheck/
+-plugindoc_label=plugindoc.mozdev.org
+-plugindoc_url=http://plugindoc.mozdev.org/
++more_plugins_label=gnuzilla.gnu.org
++more_plugins_url=http://www.gnu.org/s/gnuzilla/addons.html
++pluginupdates_label=gnuzilla.gnu.org
++pluginupdates_url=http://www.gnu.org/s/gnuzilla/addons.html
++plugindoc_label=gnuzilla.gnu.org
++plugindoc_url=http://www.gnu.org/s/gnuzilla/addons.html
+
diff --git a/mozilla-testing/iceweasel/mozconfig b/mozilla-testing/iceweasel/mozconfig
new file mode 100644
index 000000000..8344f6967
--- /dev/null
+++ b/mozilla-testing/iceweasel/mozconfig
@@ -0,0 +1,39 @@
+. $topsrcdir/browser/config/mozconfig
+
+ac_add_options --prefix=/usr
+ac_add_options --libdir=/usr/lib
+#ac_add_options --with-system-nss
+ac_add_options --with-system-jpeg
+ac_add_options --with-system-zlib
+ac_add_options --with-pthreads
+ac_add_options --enable-optimize
+ac_add_options --enable-default-toolkit=cairo-gtk2
+ac_add_options --enable-strip
+ac_add_options --enable-pango
+#ac_add_options --enable-system-cairo
+ac_add_options --enable-svg
+ac_add_options --enable-canvas
+ac_add_options --enable-libxul
+ac_add_options --disable-crashreporter
+ac_add_options --disable-safe-browsing
+ac_add_options --disable-tests
+ac_add_options --disable-debug
+ac_add_options --disable-xprint
+ac_add_options --disable-installer
+ac_add_options --disable-libnotify
+ac_add_options --disable-pedantic
+ac_add_options --disable-gnomevfs
+ac_add_options --disable-mochitest
+ac_add_options --disable-updater
+ac_add_options --with-default-mozilla-five-home=/usr/lib/iceweasel
+
+ac_add_options --with-branding=debian/branding
+ac_add_options --build=i586-pc-linux-gnu
+ac_add_options --host=i586-pc-linux-gnu
+
+export BUILD_OFFICIAL=1
+export MOZILLA_OFFICIAL=1
+export USE_SHORT_LIBNAME=1
+mk_add_options BUILD_OFFICIAL=1
+mk_add_options MOZILLA_OFFICIAL=1
+mk_add_options USE_SHORT_LIBNAME=1
diff --git a/mozilla-testing/iceweasel/mozilla-firefox-1.0-lang.patch b/mozilla-testing/iceweasel/mozilla-firefox-1.0-lang.patch
new file mode 100644
index 000000000..f0f7325a5
--- /dev/null
+++ b/mozilla-testing/iceweasel/mozilla-firefox-1.0-lang.patch
@@ -0,0 +1,12 @@
+--- mozilla/browser/app/profile/firefox.js.lang 2005-01-13 15:32:03.509282726 +0100
++++ mozilla/browser/app/profile/firefox.js 2005-01-13 15:33:40.220914789 +0100
+@@ -253,6 +253,9 @@
+ pref("font.language.group", "chrome://global/locale/intl.properties");
+ pref("intl.menuitems.alwaysappendaccesskeys","chrome://global/locale/intl.properties");
+
++// Use LANG environment variable to choose locale
++pref("intl.locale.matchOS", true);
++
+ // 0=lines, 1=pages, 2=history , 3=text size
+ pref("mousewheel.withcontrolkey.action",3);
+ pref("mousewheel.withshiftkey.action",2);
diff --git a/mozilla-testing/iceweasel/region.properties b/mozilla-testing/iceweasel/region.properties
new file mode 100644
index 000000000..2e980987e
--- /dev/null
+++ b/mozilla-testing/iceweasel/region.properties
@@ -0,0 +1,23 @@
+# Default search engine
+browser.search.defaultenginename=Duck Duck Go (SSL)
+
+# Search engine order (order displayed in the search bar dropdown)s
+browser.search.order.1=Duck Duck Go (SSL)
+browser.search.order.2=Duck Duck Go (Lite)
+
+
+# Keyword URL (for location bar searches)
+keyword.URL=https://duckduckgo.com/?q=
+
+# URL for site-specific search engines
+# TRANSLATION NOTE: {moz:domain} and {searchTerms} are placeholders for the site
+# to be searched and the user's search query. Place them in the appropriate location
+# for your locale's URL but do not translate them.
+browser.search.siteSearchURL=https://duckduckgo.com/?q=site%3A{moz:domain}+{searchTerms}
+
+# increment this number when anything gets changed in the list below. This will
+# cause Firefox to re-read these prefs and inject any new handlers into the
+# profile database. Note that "new" is defined as "has a different URL"; this
+# means that it's not possible to update the name of existing handler, so
+# don't make any spelling errors here.
+#gecko.handlerService.defaultHandlersVersion=3
diff --git a/mozilla-testing/iceweasel/xulrunner-copy-stub.patch b/mozilla-testing/iceweasel/xulrunner-copy-stub.patch
new file mode 100644
index 000000000..e3b8e9376
--- /dev/null
+++ b/mozilla-testing/iceweasel/xulrunner-copy-stub.patch
@@ -0,0 +1,11 @@
+--- iceweasel-9.0.1/browser/app/Makefile.in~ 2011-12-25 16:19:29.000000000 -0500
++++ iceweasel-9.0.1/browser/app/Makefile.in 2011-12-25 16:19:55.000000000 -0500
+@@ -257,7 +257,7 @@
+ else
+ ifdef LIBXUL_SDK
+ libs::
+- cp $(LIBXUL_DIST)/bin/$(XULRUNNER_STUB_NAME)$(BIN_SUFFIX) $(DIST)/bin/firefox$(BIN_SUFFIX)
++ cp $(LIBXUL_DIST)/bin/$(XULRUNNER_STUB_NAME)$(BIN_SUFFIX) $(DIST)/bin/iceweasel$(BIN_SUFFIX)
+ endif
+ endif
+
diff --git a/mozilla-testing/mozilla-searchplugins/PKGBUILD b/mozilla-testing/mozilla-searchplugins/PKGBUILD
new file mode 100644
index 000000000..c86c9514a
--- /dev/null
+++ b/mozilla-testing/mozilla-searchplugins/PKGBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net
+# Contributor: Figue <ffigue at gmail>
+# Contributor: Figue <ffigue at gmail>
+# Contributor (Parabola): fauno <fauno@kiwwwi.com.ar>
+# Contributor (Parabola): vando <facundo@esdebian.org>
+# Thank you very much to the older contributors:
+# Contributor: evr <evanroman at gmail>
+# Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com>
+
+pkgname=mozilla-searchplugins
+pkgver=1.0
+pkgrel=1
+pkgdesc="System-wide OpenSearch plugins common for Mozilla based browsers."
+arch=('any')
+license=('MPL' 'GPL' 'LGPL')
+url="https://parabolagnulinux.org/"
+source=(
+ duck-duck-go-lite.xml
+ duck-duck-go-ssl.xml
+ internet-archive.xml
+ jamendo-en.xml
+ logless-search.xml
+ scroogle-ssl-english.xml
+ wikipedia.xml
+ yacy.xml
+)
+
+package() {
+ install -m755 -d "${pkgdir}/usr/lib/mozilla/searchplugins"
+ install -m644 "${srcdir}"/*.xml "${pkgdir}/usr/lib/mozilla/searchplugins"
+}
+
+md5sums=('e1bda0854de7d764f7401c81bb82b5ef'
+ 'c5f00b6b24222aacd5a749d1f59c4d24'
+ '462c68585461f8cdc23c93c46f6ee4cf'
+ '2d492295c4308f9bba9ece28d8b3af2d'
+ '937ac0e5392b060d93bd33e761fbfa51'
+ 'cf97082e77e3ef5f1bd74b1db9329965'
+ 'c35f4971feff8387e0570d7a165eb6fa'
+ '24528ca3f7f1e1a0ba735231aa3ac1de')
diff --git a/mozilla-testing/mozilla-searchplugins/duck-duck-go-lite.xml b/mozilla-testing/mozilla-searchplugins/duck-duck-go-lite.xml
new file mode 100644
index 000000000..3142d3410
--- /dev/null
+++ b/mozilla-testing/mozilla-searchplugins/duck-duck-go-lite.xml
@@ -0,0 +1,8 @@
+<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
+<os:ShortName>Duck Duck Go (Lite)</os:ShortName>
+<os:Description>Search Duck Duck Go (Lite)</os:Description>
+<os:InputEncoding>UTF-8</os:InputEncoding>
+<os:Image width="16" height="16">data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAANcNAADXDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJmlk8pf6+v3s/v7+++zr/fcnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnIOwBJyDscCcg7PZttJ7/7Pfs//////++xO7/S5GA/ycg7P8nIOz2JyDscCcg7AEAAAAAAAAAAAAAAAAnIOwBJyDstScg7P8nIOz/Y8p5/2fHZf9Yv0z/YcF2/1rBUv8nIOz/JyDs/ycg7P8nIOy1JyDsAQAAAAAAAAAAJyDscCcg7P8nIOz/JyDs/4jQoP/p9+n//////05X3v9LkYD/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAJyDsJicg7PYnIOz/JyDs/zUu7f/+/v////////////89N+7/JyDs/yUo7f8nIOz/JyDs/ycg7P8nIOz2JyDsJicg7IAnIOz/JyDs/ycg7P9hXPH////////////t/P//GIr2/wfD+/8Gyfz/DKv5/yM57/8nIOz/JyDs/ycg7H8nIOyzJyDs/ycg7P8nIOz/jov1////////////Otz9/w3G/P8cWfH/JSvt/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDs5icg7P8nIOz/JyDs/7u5+f///////////27l/v8E0v3/BNL9/wTQ/f8Oofn/IT7v/ycg7P8nIOz/JyDs5icg7OYnIOz/JyDs/ycg7P/p6P3/uWsC////////////5fr//6Po/f8Thfb/DKv5/w6f+f8nIOz/JyDs/ycg7OYnIOyzJyDs/ycg7P8nIOz/9/b+/////////////////7lrAv/V1Pv/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDsgCcg7P8nIOz/JyDs/8/N+///////////////////////iIX1/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDsfycg7CYnIOz2JyDs/ycg7P9FP+7/q6n4/+7u/f/n5v3/fXn0/yoj7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7CYAAAAAJyDscCcg7P8nIOz/wsD6/+no/f/Y1/z/eHTz/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAAAAAACcg7AEnIOy1JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7LUnIOwBAAAAAAAAAAAAAAAAJyDsAScg7HAnIOz2JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7HAnIOwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJicg7IAnIOyzJyDs5icg7OYnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAAAAAA+B8AAPAPAADAAwAAwAMAAIABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAACAAQAAwAMAAMADAADwDwAA+B8AAA==</os:Image>
+<os:Url type="text/html" method="GET" template="https://duckduckgo.com/lite/?q={searchTerms}">
+</os:Url>
+</SearchPlugin> \ No newline at end of file
diff --git a/mozilla-testing/mozilla-searchplugins/duck-duck-go-ssl.xml b/mozilla-testing/mozilla-searchplugins/duck-duck-go-ssl.xml
new file mode 100644
index 000000000..4fb1391ab
--- /dev/null
+++ b/mozilla-testing/mozilla-searchplugins/duck-duck-go-ssl.xml
@@ -0,0 +1,8 @@
+<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
+<os:ShortName>Duck Duck Go (SSL)</os:ShortName>
+<os:Description>Search Duck Duck Go (SSL)</os:Description>
+<os:InputEncoding>UTF-8</os:InputEncoding>
+<os:Image width="16" height="16">data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAANcNAADXDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJmlk8pf6+v3s/v7+++zr/fcnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnIOwBJyDscCcg7PZttJ7/7Pfs//////++xO7/S5GA/ycg7P8nIOz2JyDscCcg7AEAAAAAAAAAAAAAAAAnIOwBJyDstScg7P8nIOz/Y8p5/2fHZf9Yv0z/YcF2/1rBUv8nIOz/JyDs/ycg7P8nIOy1JyDsAQAAAAAAAAAAJyDscCcg7P8nIOz/JyDs/4jQoP/p9+n//////05X3v9LkYD/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAJyDsJicg7PYnIOz/JyDs/zUu7f/+/v////////////89N+7/JyDs/yUo7f8nIOz/JyDs/ycg7P8nIOz2JyDsJicg7IAnIOz/JyDs/ycg7P9hXPH////////////t/P//GIr2/wfD+/8Gyfz/DKv5/yM57/8nIOz/JyDs/ycg7H8nIOyzJyDs/ycg7P8nIOz/jov1////////////Otz9/w3G/P8cWfH/JSvt/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDs5icg7P8nIOz/JyDs/7u5+f///////////27l/v8E0v3/BNL9/wTQ/f8Oofn/IT7v/ycg7P8nIOz/JyDs5icg7OYnIOz/JyDs/ycg7P/p6P3/uWsC////////////5fr//6Po/f8Thfb/DKv5/w6f+f8nIOz/JyDs/ycg7OYnIOyzJyDs/ycg7P8nIOz/9/b+/////////////////7lrAv/V1Pv/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDsgCcg7P8nIOz/JyDs/8/N+///////////////////////iIX1/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDsfycg7CYnIOz2JyDs/ycg7P9FP+7/q6n4/+7u/f/n5v3/fXn0/yoj7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7CYAAAAAJyDscCcg7P8nIOz/wsD6/+no/f/Y1/z/eHTz/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAAAAAACcg7AEnIOy1JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7LUnIOwBAAAAAAAAAAAAAAAAJyDsAScg7HAnIOz2JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7HAnIOwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJicg7IAnIOyzJyDs5icg7OYnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAAAAAA+B8AAPAPAADAAwAAwAMAAIABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAACAAQAAwAMAAMADAADwDwAA+B8AAA==</os:Image>
+<os:Url type="text/html" method="GET" template="https://duckduckgo.com/?q={searchTerms}">
+</os:Url>
+</SearchPlugin> \ No newline at end of file
diff --git a/mozilla-testing/mozilla-searchplugins/internet-archive.xml b/mozilla-testing/mozilla-searchplugins/internet-archive.xml
new file mode 100644
index 000000000..1556a2d8c
--- /dev/null
+++ b/mozilla-testing/mozilla-searchplugins/internet-archive.xml
@@ -0,0 +1,12 @@
+<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
+<os:ShortName>Internet Archive</os:ShortName>
+<os:Description>Search www.archive.org</os:Description>
+<os:InputEncoding>ISO-8859-1</os:InputEncoding>
+<os:Image width="16" height="16">data:image/x-icon;base64,R0lGODlhEAAQAPf0ABQAABMTERQTEhcXFxUYFRscGCwWEzYQDSAkHiAhICEiISQkIiUmJScnJSkpKSsrKi8vLDcvKjM0LzE1Mjc3NjU6Nj44NTw9OT0+Pj4/PD9CQUYdF00lJEE0KkQ9N0Y9NFItLFUvL1wzLFc/PV01MGE8PWU/OWk5NGo7OkBAP0RFREVJRURJRkVLR0ZIRkdJSUZLSEhMS0pPTFZOSllDQlZXVWFJRWVKQWRLRGtPRG9KSWxQRWxRRmhQTHJCQnFDRHVEQHZFQHpLS3hKTHlNSn5PSn5PTXxOUHRWTXBeU29jXXtgWHxjXn1mZIBQS4BQUIJZUoBZWIVeXYhfW4ZsX41jXYlrXoxuX4RuYoppYotza5NlZ5Zua5J4bpt5ZpaDeaKBb42MiY6MiY6NiY+QjJGIhZGKhZiLgp+IgJGRjJOSjZKSj5SWjpSTkJWVkJWUkpaUkZaVkquLgKmMgayPgK6Sh6mWj6ycj7GQgbKSgLWSgrqXi7maj7Sck7Smn72ilK+so6ytqbanobKppLysoLytor6uprqxqr2wqr+zrL23tMOklsCroMKvpcWqoMSsocStocSupcS1qce2rMa6r8m1rsO8ssa4sM65sty5q9C6sc3DttbEvdbKv9nFt9rHvODAsuDIuuHLvufKvurNvNDLwtDPy9nLwN3Oxt3Xz+TMwODQxuPTxuXRxefRxuHWzO3Ux+/WxunXy+vWyO3XzujYyuzYy+7bz+HZ0eHZ1eLc0uXc0+bc2Ore0u7c0O/f0vHf1eTg2+/h1O/h1u/j2u/m2vDh0/Hg1vDi1fHi1fPh1fPh1/bg1vLq3fXr3/ng1vjl2fnk2fTr5fTs4vHu6Pfw5vb07vnz5vvy5/zy5vry6Pv06vj17/7y6v/17fz47/757v/57v/38Pr58/358f358//68P778v/68/z89v/99f/+9f//9P7+9///9/z8+f//+P//+/7+/v///v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAQABAAAAj+ALeUoDHjAosYKlKsaAHjhYsMgYaAAGABggwNDgbUqMAAgwIKa47oMBChwIQHAQRIQEAgQYMFYX6EGFEmDZk2ceCoYePmjZgxpnxEaSKPntGjR+fRi/dESo9y3MYFy8ULl65Sit6loyaEgw14qQANQuTn0pkPHsxYa2eEC5Nu0ywlMmSn0Z0OSg6RW4fiAA512nahqoQGkqckgqShO+ekypJw2F6titTlTywsnLxtY3diww135k59cjRnESkqmMR9YwdEBI9imwoxqiMHTx4rmohVAxdExI5Wkgg94rNHj5crWr5QulYESo5bxmqJGgUqExg6fSZ1akaEBBJXvlgfybI1C1YoVbSA9XI2xUSWZ9B+IROWTFk0ZsuODcsWEAA7</os:Image>
+<UpdateInterval>7</UpdateInterval>
+<UpdateUrl>http://mycroft.mozdev.org/update.php/id0/archive.src</UpdateUrl>
+<IconUpdateUrl>http://mycroft.mozdev.org/update.php/id0/archive.gif</IconUpdateUrl>
+<SearchForm>http://www.archive.org/</SearchForm>
+<os:Url type="text/html" method="GET" template="http://www.archive.org/search.php?sourceid=Mozilla-search&amp;query={searchTerms}&amp;sort=-%2Fadditional%2Fitem%2Fdownloads">
+</os:Url>
+</SearchPlugin> \ No newline at end of file
diff --git a/mozilla-testing/mozilla-searchplugins/jamendo-en.xml b/mozilla-testing/mozilla-searchplugins/jamendo-en.xml
new file mode 100644
index 000000000..91d6df6e4
--- /dev/null
+++ b/mozilla-testing/mozilla-searchplugins/jamendo-en.xml
@@ -0,0 +1,12 @@
+<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
+<os:ShortName>Jamendo (en)</os:ShortName>
+<os:Description>Search Jamendo.com English site for downloadable Creative Commons music</os:Description>
+<os:InputEncoding>UTF-8</os:InputEncoding>
+<os:Image width="16" height="16">data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjMxN4N3hgAAAqZJREFUOE9tk21IU2EUx+9S+tAXbZt6J4GRkEFQEQsKsb7W1ySCoK+9iCK9WKvMlZmKI8jqgw0JS52ZpQ4D7RV6IUmIqVGjgl6md0uf3dmcq3nvdv+dezfvNHvgD889z/n/zrn33MfApZfhpSMnu2hN5sGMFVzzori+jUk4nplhuMUfCISXnQc6+VJ21+INdluQFP+PFuKWjz9u8/sWAwz+Tn4nmVjabIF4vwChviKIvesh9hSkoDpEzS3RIGS20kN4wRxyb0b0fRNk0YNEVCD5ILMRREcvaLBkZxro11SXxcpNd1ladPPAVkjCYygJCSH/DEJCCIqiQF1KYh6xry6CbNAhVLyK09u+l0+VGylTRiKeQG9dP5xlTvi8E2lIPIbIyDH9daj4eArAQ21dDr7TqsWlONpPtMO23Yb6/Q3wvvVqcXVJ/mcQHxTqEI51WcBceZh5WILE3IQO6KjqgG3HGVRYK1G15zRGX49pncjiGEL9W8jDQ/VyrI02bXn0xYsRj/iWA7ZVoqy4HE+6nyYBzAOxe5PmUb0cc+aC3cyFeGcjpMBIGnCSOqBXqN1bhzcDw5AlWTub/zYE1lqgeVQvx67ngDWTruVi7pUdoAnE5QT66t1wnXNB+OKnCaQmIc1hdvAQ5ZuTHvJyP6+YW5iDAg4TxBtFiH3ogSL9gegPIxKK0lTUGSpQ5iP4PdyM4FWqTrnkkScd5iZOuGy2sjpzmF2iICnYtBaRIRukz4OIB8YhCx6CujHrLgerp++VyhNqTU76Dw3a3+irNu6atpuCJGg6n0WJ+WCNhWAN68BqeS22cD5ZbWq9uHvVyiX3Qag2lU7ZTV4dYjdiuiYldZ+CU17P88NZq/93W7lPp4xZlFiRhqQ6IvP3s8ZHUzWmIy+OZi8x/wVGO4LYiOwxygAAAABJRU5ErkJggg==</os:Image>
+<UpdateInterval>7</UpdateInterval>
+<UpdateUrl>http://mycroft.mozdev.org/updateos.php/id0/jamendo.xml</UpdateUrl>
+<IconUpdateUrl>http://mycroft.mozdev.org/updateos.php/id0/jamendo.ico</IconUpdateUrl>
+<SearchForm>http://www.jamendo.com/en</SearchForm>
+<os:Url type="text/html" method="GET" template="http://www.jamendo.com/en/search/all/{searchTerms}">
+</os:Url>
+</SearchPlugin> \ No newline at end of file
diff --git a/mozilla-testing/mozilla-searchplugins/logless-search.xml b/mozilla-testing/mozilla-searchplugins/logless-search.xml
new file mode 100644
index 000000000..1538d1ef0
--- /dev/null
+++ b/mozilla-testing/mozilla-searchplugins/logless-search.xml
@@ -0,0 +1,8 @@
+<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
+<os:ShortName>Logless Search</os:ShortName>
+<os:Description>Use logless.com to search the Internet in privacy, with no search logs.</os:Description>
+<os:InputEncoding>UTF-8</os:InputEncoding>
+<os:Image width="16" height="16">data:image/x-icon;base64,AAABAAEAEBAAAAEAGABoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKo4NSnYdKl4FmtZ52uKdKb2cjQDwQKzoSMS1Ka2lzqJRlt51VmI5MgnVHk4BpoJRPoohMiXZUo4xctJteoZAmT00jPUEYLzoRSToxVVdhhYJ/saCXgnS1cWKykH+KoptfjoBDempaoo5dtZdViXw9TFsuOkghMjoYVVIvTlded36Vm5Lol4X5lIPQlImft62IhnpTfXGMtqxquaJSkYU5Qlk6OFE+SFwzV3dLVW1teoNvo5SPppSNoJR4mJZ7uqhyj3xbg3iGuK1btZxQm4pHSmFHOV48RWhFOWpbRXFgd4BSq5JHqJJQrplprp95uqdVj3xTi3xZsptauphfqZRLRWA/LFozMVhGGEhYOmdUgIJIqo5EqJBPr5ZbspxuuqU7fWNakXpjqY9kvJxhuZ5RYGUvMEgvFSchID9ZM1JMbG1HrpZGpo1QnYZaoJJXpZI0dFqKk3m+mISen4ieln2BPTJuGxeIGhNrFRKHEQ2VLiOCa1xsnIhaf39tlJN6rKVFc1+bmH/vloDshW7oZE+wLR+7MBvHMButJRK9MibhUzzkVj7eXUTBa2yOkYuMuaMtQDS1iHP0gWrpel3dZUnIZEnbWT3aPyXkX0T/k3v0WkD6alH3clv4c1bweGDloIdlSD/ZeWXWdl/sdlvvc1jpe2Pvc1fqUzrudl38hG33aE38dVv8j3f5lXz/inLro42JZluAY13YcGDxgGb1hWj3f2f+iWv0cFT8sZH8kXj7fGP6fGH2e2D/mH/oqY7Vr5pIV1WiY1fYeWbMgHPklXnuj3T9jGr9mXj8nH/7jnT7lHv8knb6kHD/j3S/uZujw7NeXGSWXFSNbGbDi4e6p5HZnYb6kXP6nYP7l4D4qI/irpjaq5D/o4r3o4jZtJu0u7FRRlNpTFyEXWaygnmsrKGprp7SqpXno5X1rJf1wazLuqTQr5rqrKDXuKXbtaDGt6w7ITVQLUaEdHqwu7KpvLOArJ+VpZ+3oqCoqp/App7YnpDimIy2qJ20r6S1r6WhuasAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</os:Image>
+<os:Url type="text/html" method="GET" template="http://www.logless.com/?q={searchTerms}">
+</os:Url>
+</SearchPlugin>
diff --git a/mozilla-testing/mozilla-searchplugins/scroogle-ssl-english.xml b/mozilla-testing/mozilla-searchplugins/scroogle-ssl-english.xml
new file mode 100644
index 000000000..f817dce40
--- /dev/null
+++ b/mozilla-testing/mozilla-searchplugins/scroogle-ssl-english.xml
@@ -0,0 +1,14 @@
+<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
+<os:ShortName>Scroogle SSL English</os:ShortName>
+<os:Description>Scroogle SSL English</os:Description>
+<os:InputEncoding>UTF-8</os:InputEncoding>
+<os:Image width="16" height="16">data:image/x-icon;base64,AAABAAEAEBAQAAAAAAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAACZmZmZAAAAmZmZmZmZAAmZqqqqqpmQCZmQAAAAqZCZqQAAAAAKmZmgAAAAAAqZmaAACaoACpmZoACZAAAKmZmgAKkAAAqZmaAACpmaqpmZoAAAAAAKmZmqAAAAAAqZCZqgAAAJmZAJmaqqqqqZkACZmZmZmZkAAACZmZmZAADwDzgFwAPgA4ABAHyAAQAAAAAAAAAAAAAAAAAAAAAAAAAA4AMAAOADAAAAfAAAAHyAAeADgAHgA8ADAADwDwAA</os:Image>
+<UpdateInterval>7</UpdateInterval>
+<UpdateUrl>http://mycroft.mozdev.org/updateos.php/id0/scroogle_ssl_en_post.xml</UpdateUrl>
+<IconUpdateUrl>http://mycroft.mozdev.org/updateos.php/id0/scroogle_ssl_en_post.ico</IconUpdateUrl>
+<SearchForm>https://ssl.scroogle.org/scrapen8.html</SearchForm>
+<os:Url type="text/html" method="GET" template="https://ssl.scroogle.org/cgi-bin/nbbwssl.cgi">
+ <os:Param name="Gw" value="{searchTerms}"/>
+ <os:Param name="l" value="en"/>
+</os:Url>
+</SearchPlugin> \ No newline at end of file
diff --git a/mozilla-testing/mozilla-searchplugins/wikipedia.xml b/mozilla-testing/mozilla-searchplugins/wikipedia.xml
new file mode 100644
index 000000000..36b8ed494
--- /dev/null
+++ b/mozilla-testing/mozilla-searchplugins/wikipedia.xml
@@ -0,0 +1,15 @@
+<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
+<ShortName>Wikipedia (en)</ShortName>
+<Description>Wikipedia, the free encyclopedia</Description>
+<InputEncoding>UTF-8</InputEncoding>
+<Image width="16" height="16">data:image/x-icon;base64,AAABAAEAEBAQAAEABAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAEAgQAhIOEAMjHyABIR0gA6ejpAGlqaQCpqKkAKCgoAPz9%2FAAZGBkAmJiYANjZ2ABXWFcAent6ALm6uQA8OjwAiIiIiIiIiIiIiI4oiL6IiIiIgzuIV4iIiIhndo53KIiIiB%2FWvXoYiIiIfEZfWBSIiIEGi%2FfoqoiIgzuL84i9iIjpGIoMiEHoiMkos3FojmiLlUipYliEWIF%2BiDe0GoRa7D6GPbjcu1yIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</Image>
+<Url type="application/x-suggestions+json" method="GET" template="http://en.wikipedia.org/w/api.php">
+ <Param name="action" value="opensearch"/>
+ <Param name="search" value="{searchTerms}"/>
+</Url>
+<Url type="text/html" method="GET" template="http://en.wikipedia.org/wiki/Special:Search">
+ <Param name="search" value="{searchTerms}"/>
+ <Param name="sourceid" value="Mozilla-search"/>
+</Url>
+<SearchForm>http://en.wikipedia.org/wiki/Special:Search</SearchForm>
+</SearchPlugin>
diff --git a/mozilla-testing/mozilla-searchplugins/yacy.xml b/mozilla-testing/mozilla-searchplugins/yacy.xml
new file mode 100644
index 000000000..61201ad20
--- /dev/null
+++ b/mozilla-testing/mozilla-searchplugins/yacy.xml
@@ -0,0 +1,9 @@
+<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
+<os:ShortName>YaCy</os:ShortName>
+<os:Description>YaCy is an open-source GPL-licensed software that can be used for stand-alone search engine installations or as a client for a multi-user P2P-based web indexing cluster. This is the access to peer 'kupferhammer-keller'.</os:Description>
+<os:InputEncoding>UTF-8</os:InputEncoding>
+<os:Image width="16" height="16">data:image/x-icon,%00%00%01%00%01%00%10%10%00%00%01%00%18%00h%2B%00%00%16%00%00%00(%00%00%00%10%00%00%00%20%00%00%00%01%00%18%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%CE%BD%7B%DE%CE%9C%8CkRkJ1kJ1kJ1kJ1kJ1sR9%C6%B5%9C%E7%DE%BD%E7%DE%BD%E7%DE%C6%E7%DE%C6%EF%EF%CE%DE%DE%AD%DE%CE%9C%BD%ADs%7BZ)%BD%ADk%CE%BD%7B%CE%BD%7B%CE%BD%7B%CE%BD%7B%A5%8CJ%8CkB%CE%BD%84%CE%BD%84%CE%C6%8C%DE%CE%9C%DE%CE%A5%EF%EF%CE%DE%CE%9C%BD%ADkkJ)%D6%C6%8C%F7%F7%E7%F7%F7%E7%F7%F7%E7%F7%F7%E7%CE%BD%84%8Ck9%CE%BD%7B%CE%BD%84%CE%BD%84%CE%C6%8C%DE%CE%9C%EF%EF%CE%DE%CE%9C%C6%B5kkJ)%BD%ADk%EF%EF%CE%EF%EF%CE%EF%EF%CE%F7%F7%E7%DE%CE%A5%7BZ)%CE%BD%7B%CE%BD%7B%CE%BD%84%CE%BD%84%CE%C6%8C%E7%DE%C6%DE%CE%9C%C6%B5ksR9%A5%8CJ%DE%DE%AD%E7%DE%BD%EF%EF%CE%F7%F7%E7%E7%DE%C6%7BZ)%BD%ADk%CE%BD%7B%CE%BD%7B%CE%BD%84%CE%BD%84%E7%DE%BD%CE%C6%8C%C6%ADk%94%7BB%94%7BB%EF%EF%CE%F7%F7%E7%F7%F7%E7%F7%F7%E7%EF%EF%CE%8Ck9%A5%8CZ%CE%BD%7B%CE%BD%7B%CE%BD%7B%CE%BD%84%E7%DE%BD%CE%C6%8C%C6%ADk%A5%8CZ%7BZ)%E7%DE%BD%F7%F7%E7%EF%EF%CE%EF%EF%DE%EF%EF%DE%A5%8CZ%8CkB%CE%BD%7B%CE%BD%7B%CE%BD%7B%CE%BD%7B%E7%DE%BD%CE%BD%84%B8%A7d%BD%ADZkJ)%DE%DE%AD%F7%F7%E7%DE%DE%AD%EF%EF%CE%EF%EF%DE%BD%ADkkJ)%CE%BD%7B%CE%BD%7B%CE%BD%7B%CE%BD%7B%DE%D6%B5%CE%BD%7B%BD%ADZ%BD%ACikJ)%DE%CE%9C%F7%F7%E7%E7%DE%BD%EF%EF%CE%F7%F7%E7%CE%BD%7BZ1%18%BD%ADk%CE%BD%7B%CE%BD%7B%CE%BD%7B%DE%DE%AD%CE%BD%7B%BD%ADZ%BD%ADZ%7BZ)%C6%AD%7B%F7%F7%E7%E7%DE%BD%E7%DE%BD%F7%F7%E7%DE%CE%9CkJ)sR9%A5%8CZ%CE%BD%7B%CE%BD%7B%DE%DE%AD%CE%BD%7B%BD%ADZ%BD%ADZ%8Ck9%AD%9CZ%F7%F7%E7%EF%EF%CE%DE%CE%9C%F7%F7%E7%E7%DE%BD%BD%ADZ%9C%8CJZ1%18%A5%8CZ%CE%BD%7B%DE%DE%AD%C6%B5k%B5%A5J%BD%ADZ%94%7B9%9C%8CJ%F7%F7%E7%EF%EF%DE%CE%BD%84%F7%F7%E7%F7%EF%E7%EF%EF%CE%DE%CE%9C%9C%8CJkJ)%BD%ADk%DE%CE%A5%BD%ADk%AD%9CJ%B5%A5J%9C%8CJ%8Ck9%DE%CE%9C%DE%D6%9C%C6%B5Z%DE%CE%9C%F7%EF%DE%FF%FF%FF%EF%EF%DE%BD%ADZZ1!%BD%ADk%DE%CE%A5%BD%ADZ%AD%9CJ%AD%9CJ%AD%9CJsJ)kR)kR)kJ)%9C%8CJ%DE%CE%9C%F7%EF%DE%DE%DE%AD%94%7B9c9!%BD%ADk%DE%CE%A5%B5%9CR%AD%9CJ%AD%9CJ%AD%9CJ%AD%9CJ%B5%9CJ%B5%9CR%94%7BBc9%18%8Ck9%A5%8CJ%8Cs9Z1!%9C%8CR%CE%BD%84%DE%CE%9C%94%849%B5%9CR%BD%ADZ%BD%ADk%C6%B5k%CE%BD%7B%CE%BD%7B%CE%BD%7B%BD%ADskJ1R)%18kJ1%C6%AD%84%DE%CE%9C%DE%CE%9C%CE%BD%7B%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00</os:Image>
+<os:Url type="text/html" method="GET" template="http://yacy.dyndns.org:8000/yacysearch.html?query={searchTerms}">
+</os:Url><os:Url type="application/rss+xml" method="GET" template="http://yacy.dyndns.org:8000/yacysearch.rss?query={searchTerms}&amp;maximumRecords=10&amp;verify=false">
+</os:Url>
+</SearchPlugin>
diff --git a/~lukeshu/.gitignore b/~lukeshu/.gitignore
new file mode 100644
index 000000000..db32297d9
--- /dev/null
+++ b/~lukeshu/.gitignore
@@ -0,0 +1,6 @@
+# probably source downloads
+*.tar.gz
+*.tar.xz
+*.tar.bz2
+*.tgz
+*.zip
diff --git a/~lukeshu/android-udev/.gitignore b/~lukeshu/android-udev/.gitignore
new file mode 100644
index 000000000..290a3baa3
--- /dev/null
+++ b/~lukeshu/android-udev/.gitignore
@@ -0,0 +1 @@
+aur \ No newline at end of file
diff --git a/~lukeshu/android-udev/51-android.rules b/~lukeshu/android-udev/51-android.rules
index c52379309..51f80cf54 100644
--- a/~lukeshu/android-udev/51-android.rules
+++ b/~lukeshu/android-udev/51-android.rules
@@ -1,24 +1,23 @@
# Acer
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666", GROUP="adbusers"
-# ICONIA TAB A500
+# Iconia Tab A500
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3325", SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3325", SYMLINK+="android_fastboot"
+SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3325", SYMLINK+="android_fastboot"
+# Liquid
+SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3202"
+SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3203", SYMLINK+="android_adb"
# Archos
SUBSYSTEM=="usb", ATTR{idVendor}=="0e79", MODE="0666", GROUP="adbusers"
# 43
SUBSYSTEM=="usb", ATTR{idVendor}=="0e79", ATTR{idProduct}=="1417", SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="0e79", ATTR{idProduct}=="1417", SYMLINK+="android_fastboot"
+SUBSYSTEM=="usb", ATTR{idVendor}=="0e79", ATTR{idProduct}=="1417", SYMLINK+="android_fastboot"
# 101
SUBSYSTEM=="usb", ATTR{idVendor}=="0e79", ATTR{idProduct}=="1411", SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="0e79", ATTR{idProduct}=="1411", SYMLINK+="android_fastboot"
+SUBSYSTEM=="usb", ATTR{idVendor}=="0e79", ATTR{idProduct}=="1411", SYMLINK+="android_fastboot"
# Asus
-SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666", GROUP="adbusers"
-
-# Blade
-SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", ATTR{idProduct}=="1354", SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d00d", SYMLINK+="android_fastboot"
+SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666", GROUP="adbusers"
# Dell
SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666", GROUP="adbusers"
@@ -32,13 +31,15 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="091e", MODE="0666", GROUP="adbusers"
# Google
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="adbusers"
# NEXUS S
-SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e21",
+SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e21",
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", SYMLINK+="android_fastboot"
+SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", SYMLINK+="android_fastboot"
# Nexus One
-SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e11",
+SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e11",
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
+# Generic and unspecified debug interface
+SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d00d", SYMLINK+="android_fastboot"
# HTC
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="adbusers"
@@ -46,14 +47,17 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="adbusers"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0cb2", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0cb2", SYMLINK+="android_fastboot"
# Desire (Bravo)
-SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c87", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
+# Desire HD
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ca2", SYMLINK+="android_adb"
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# Desire Z
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c91", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c91", SYMLINK+="android_fastboot"
# Evo Shift
-SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ca5", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# HD2
@@ -61,36 +65,37 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c02", SYMLINK+="and
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c02", SYMLINK+="android_fastboot"
# Hero H2000
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0001", SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0001", SYMLINK+="android_fastboot"
-# Hero (GSM)
-SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0001", SYMLINK+="android_fastboot"
+# Hero (GSM), Desire
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c99", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# Hero (CDMA)
-SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c9a", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# Incredible
-SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c9e", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
-# Incredible rev 0002
-SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
+# Evo 4G, Incredible rev 0002
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c8d", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# MyTouch 4G
-SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c96", SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# Slide
-SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0e03", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
-# Tatoo
+# Tatoo, Dream, ADP1 , G1, Magic
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c01"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c02", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c02", SYMLINK+="android_fastboot"
# Vision
-SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
+SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0ff9",
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c91", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", SYMLINK+="android_fastboot"
# Wildfire
@@ -122,8 +127,14 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="17ef", MODE="0666", GROUP="adbusers"
# LG
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", GROUP="adbusers"
-# LG (Swift) GT540
-SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d00d", SYMLINK+="android_fastboot"
+# Ally, Vortex, P500
+SUBSYSTEM=="usb", ATTR{idVendor}=="1004", ATTR{idProduct}=="618f"
+SUBSYSTEM=="usb", ATTR{idVendor}=="1004", ATTR{idProduct}=="618e", SYMLINK+="android_adb"
+# Optimus One
+SUBSYSTEM=="usb", ATTR{idVendor}=="1004", ATTR{idProduct}=="61c5", SYMLINK+="android_adb"
+# Swift GT540
+SUBSYSTEM=="usb", ATTR{idVendor}=="1004", ATTR{idProduct}=="61b4", SYMLINK+="android_adb"
+
# Motorola
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", GROUP="adbusers"
@@ -131,14 +142,14 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", GROUP="adbusers"
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="2d66"
# Defy/MB525
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="428c"
-# Droid
+# Droid
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="41db"
# -- Xoom ID 1
-SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a8",SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a8",SYMLINK+="android_fastboot"
+SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a8", SYMLINK+="android_adb"
+SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a8", SYMLINK+="android_fastboot"
# -- Xoom ID 2
-SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9",SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9",SYMLINK+="android_fastboot"
+SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9", SYMLINK+="android_adb"
+SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9", SYMLINK+="android_fastboot"
# NEC
SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666", GROUP="adbusers"
@@ -178,15 +189,16 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6601", SYMLINK+="and
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="68a9", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
# Galaxy i7500
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6640", SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6640", SYMLINK+="android_fastboot"
+SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6640", SYMLINK+="android_fastboot"
# Galaxy S
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6601", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="685d", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="68c3", MODE="0666"
# Galaxy Tab
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6877", SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6877", SYMLINK+="android_fastboot"
-# Galaxy Tab 10.1
+SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6877", SYMLINK+="android_fastboot"
+# Galaxy Tab 10.1, i9100 S2
+SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860"
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="685e", SYMLINK+="android_adb"
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="685e", SYMLINK+="android_fastboot"
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
@@ -196,6 +208,18 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666", GROUP="adbusers"
# Sony Ericsson
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", GROUP="adbusers"
+# Xperia X10 mini
+SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", ATTR{idProduct}=="3137"
+SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", ATTR{idProduct}=="2137", SYMLINK+="android_adb"
+# Xperia X10 mini pro
+SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", ATTR{idProduct}=="3138"
+SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", ATTR{idProduct}=="2138", SYMLINK+="android_adb"
+# Xperia X8
+SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", ATTR{idProduct}=="3149"
+SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", ATTR{idProduct}=="2149", SYMLINK+="android_adb"
+# Xperia X12
+SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", ATTR{idProduct}=="e14f"
+SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", ATTR{idProduct}=="614f", SYMLINK+="android_adb"
# Toshiba
SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666", GROUP="adbusers"
@@ -203,6 +227,6 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666", GROUP="adbusers"
# ZTE
SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666", GROUP="adbusers"
# Blade
-SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", ATTR{idProduct}=="1353",
+SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", ATTR{idProduct}=="1353",
SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", ATTR{idProduct}=="1351", SYMLINK+="android_adb"
-SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", ATTR{idProduct}=="1354", SYMLINK+="android_fastboot"
+
diff --git a/~lukeshu/android-udev/Makefile b/~lukeshu/android-udev/Makefile
new file mode 100644
index 000000000..f20930c66
--- /dev/null
+++ b/~lukeshu/android-udev/Makefile
@@ -0,0 +1,39 @@
+#!/usr/bin/make -f
+# Use this script to update the package from AUR.
+# This script depends on:
+# - coreutils
+# - pacman
+# - sed
+# - wget
+
+default: PHONY all
+all: PHONY 51-android.rules PKGBUILD
+
+name=android-udev
+
+aur:
+ mkdir $@
+aur/%.tar.gz: | aur
+ cd aur && wget http://aur.archlinux.org/packages/$*/$*.tar.gz
+aur/%: aur/%.tar.gz
+ cd aur && tar xzf $(notdir $<)
+aur/$(name)/%: aur/$(name).tar.gz | aur/$(name)
+ test -f $@ && touch $@
+
+51-android.rules: aur/$(name)/51-android.rules
+ sed -r 's/\s+$$//' < $< > $@
+
+PKGBUILD: aur/$(name)/PKGBUILD 51-android.rules
+ # Update pkg{ver,rel}
+ ver=`grep -m1 pkgver= $<` ; sed -i "s/pkgver=.*/$$ver/" $@
+ rel=`grep -m1 pkgrel= $<`.1; sed -i "s/pkgrel=.*/$$rel/" $@
+ # Update md5sums
+ sed -i '/md5sums/,$$d' $@
+ makepkg -g >> $@
+
+clean: PHONY
+ rm -rf aur
+maintainerclean: PHONY clean
+ rm -f 51-android.rules
+
+.PHONY: PHONY FORCE
diff --git a/~lukeshu/android-udev/PKGBUILD b/~lukeshu/android-udev/PKGBUILD
index dabb611c9..6900b46da 100644
--- a/~lukeshu/android-udev/PKGBUILD
+++ b/~lukeshu/android-udev/PKGBUILD
@@ -3,8 +3,8 @@
# Contributor: marlock
pkgname=android-udev
-pkgver=0.7
-pkgrel=3.1
+pkgver=0.8
+pkgrel=1.1
pkgdesc='Udev rules to for Android devices.'
arch=('any')
url="http://developer.android.com/guide/developing/device.html"
@@ -15,8 +15,8 @@ conflicts=('udev-android-rules')
install='android-udev.install'
package() {
- install -d $pkgdir/etc/udev/rules.d
- install -m644 $srcdir/51-android.rules $pkgdir/etc/udev/rules.d/51-android.rules
+ install -d "$pkgdir/etc/udev/rules.d"
+ install -m644 "$srcdir/51-android.rules" "$pkgdir/etc/udev/rules.d/51-android.rules"
}
-md5sums=('bfcd8d0e4c5bdeed0973e102a656e1eb')
+md5sums=('909eb7629683efae838c6e9d65966b3b')
diff --git a/~lukeshu/emacs24/PKGBUILD b/~lukeshu/emacs24/PKGBUILD
new file mode 100644
index 000000000..00f90b16a
--- /dev/null
+++ b/~lukeshu/emacs24/PKGBUILD
@@ -0,0 +1,82 @@
+# $Id: PKGBUILD 137977 2011-09-13 15:26:07Z juergen $
+# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: Renchi Raju <renchi@green.tam.uiuc.edu>
+pkgname=emacs24-bzr
+_majorver=24.0.92
+pkgver=106675
+pkgrel=4
+pkgdesc="The extensible, customizable, self-documenting real-time display editor"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/emacs/emacs.html"
+license=('GPL3')
+depends=('librsvg' 'gpm' 'giflib' 'libxpm' 'gtk2' 'hicolor-icon-theme' 'gconf' 'desktop-file-utils' 'alsa-lib')
+install=emacs.install
+source=(emacs.desktop)
+md5sums=()
+
+_bzrtrunk=bzr://bzr.savannah.gnu.org/emacs/trunk
+_bzrmod=$pkgname
+
+build() {
+ cd "$srcdir"
+ msg "Connecting to Bazaar server...."
+
+ if [[ -d "$_bzrmod" ]]; then
+ cd "$_bzrmod" && bzr --no-plugins pull "$_bzrtrunk" -r "$pkgver"
+ msg "The local files are updated."
+ else
+ bzr --no-plugins branch "$_bzrtrunk" "$_bzrmod" -q -r "$pkgver"
+ fi
+
+ msg "Bazaar checkout done or server timeout"
+ msg "Starting build..."
+
+ rm -rf "$srcdir/$_bzrmod-$_majorver"
+ cp -r "$srcdir/$_bzrmod" "$srcdir/$_bzrmod-$_majorver"
+
+ cd "$srcdir"/$pkgname-$_majorver
+ ./autogen.sh
+ ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \
+ --localstatedir=/var --with-x-toolkit=gtk --with-xft
+ make
+}
+
+package() {
+ provides=("emacs=${_majorver}a")
+
+ cd "$srcdir"/$pkgname-$_majorver
+ make DESTDIR="$pkgdir" install
+
+ # remove conflict with ctags package
+ mv "$pkgdir"/usr/bin/{ctags,ctags.emacs}
+ mv "$pkgdir"/usr/share/man/man1/{ctags,ctags.emacs}.1.gz
+ # fix all the 777 perms on directories
+ find "$pkgdir"/usr/share/emacs/$_majorver -type d -exec chmod 755 {} \;
+ # fix user/root permissions on usr/share files
+ find "$pkgdir"/usr/share/emacs/$_majorver -exec chown root:root {} \;
+ # fix perms on /var/games
+ chmod 775 "$pkgdir"/var/games
+ chmod 775 "$pkgdir"/var/games/emacs
+ chmod 664 "$pkgdir"/var/games/emacs/*
+ chown -R root:games "$pkgdir"/var/games
+
+ # fix FS#9253
+ mkdir -p "$pkgdir"/usr/share/pixmaps
+ ln -s $pkgdir../emacs/$_majorver/etc/images/icons/hicolor/48x48/apps/emacs.png "$pkgdir"/usr/share/pixmaps/emacs-icon.png
+
+ # This is done down here to help future-proof the above
+ rm "$pkgdir"/usr/bin/emacs
+ mv "$pkgdir"/usr/share/man/man1/emacs{,-$_majorver}.1.gz
+ for prog in ctags.emacs ebrowse emacsclient etags grep-changelog rcs-checkin; do
+ mv "$pkgdir"/usr/bin/$prog{,-$_majorver}
+ mv "$pkgdir"/usr/share/man/man1/$prog{,-24}.1.gz
+ done
+ mv "$pkgdir"/usr/share/applications/emacs{,24}.desktop
+ mv "$pkgdir"/usr/share/emacs/site-lisp/subdirs{,.emacs24}.el
+ rm "$pkgdir"/usr/share/info/dir
+ for file in "$pkgdir"/usr/share/pixmaps/emacs-icon.png `find "$pkgdir"/usr/share/{icons,info} -type f`; do
+ mv "$file" "`echo "$file"|sed 's/\..*/-24&/'`"
+ done
+ ln -s "$_majorver" "$pkgdir"/usr/share/emacs/24
+ rm "$pkgdir"/var/games/emacs/*
+}
diff --git a/~lukeshu/emacs24/emacs.install b/~lukeshu/emacs24/emacs.install
new file mode 100644
index 000000000..d84f1de14
--- /dev/null
+++ b/~lukeshu/emacs24/emacs.install
@@ -0,0 +1,32 @@
+ICON_PATH=usr/share/icons/hicolor
+INFO_DIR=usr/share/info
+
+INFO_FILES=(ada-mode auth autotype calc ccmode cl dbus dired-x ebrowse
+ede ediff edt efaq eieio eintr elisp emacs emacs-mime epa erc eshell eudc flymake
+forms gnus idlwave info mairix-el message mh-e newsticker nxml-mode
+org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve smtpmail
+speedbar tramp url vip viper widget woman)
+
+post_install() {
+ gtk-update-icon-cache -q -t -f ${ICON_PATH}
+ update-desktop-database -q
+
+ [[ -x usr/bin/install-info ]] || return 0
+ for f in ${INFO_FILES[@]}; do
+ install-info ${INFO_DIR}/$f.gz ${INFO_DIR}/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ gtk-update-icon-cache -q -t -f ${ICON_PATH}
+ update-desktop-database -q
+
+ [[ -x usr/bin/install-info ]] || return 0
+ for f in ${INFO_FILES[@]}; do
+ install-info --delete ${INFO_DIR}/$f.gz ${INFO_DIR}/dir 2> /dev/null
+ done
+}
diff --git a/~lukeshu/git-svn-abandon-git/PKGBUILD b/~lukeshu/git-svn-abandon-git/PKGBUILD
new file mode 100644
index 000000000..51cd83817
--- /dev/null
+++ b/~lukeshu/git-svn-abandon-git/PKGBUILD
@@ -0,0 +1,51 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+_pkgname=git-svn-abandon
+pkgname=$_pkgname-git
+provides=($_pkgname)
+conflicts=($_pkgname)
+pkgver=20111224
+pkgrel=1
+pkgdesc=""
+arch=('any')
+url="http://blog.woobling.org/2009/06/git-svn-abandon.html"
+license=('MIT')
+depends=('git')
+makedepends=('git' 'python-markdown')
+
+_gitroot=https://github.com/nothingmuch/git-svn-abandon.git
+_gitname=$_pkgname
+
+build() {
+ cd "$srcdir"
+ msg "Connecting to GIT server...."
+
+ if [[ -d "$_gitname" ]]; then
+ cd "$_gitname" && git pull origin
+ msg "The local files are updated."
+ else
+ git clone "$_gitroot" "$_gitname"
+ fi
+
+ msg "GIT checkout done or server timeout"
+ msg "Starting build..."
+
+ rm -rf "$srcdir/$_gitname-build"
+ git clone "$srcdir/$_gitname" "$srcdir/$_gitname-build"
+ cd "$srcdir/$_gitname-build"
+
+ #
+ # BUILD HERE
+ #
+ markdown README.mkdn > README.html
+}
+
+package() {
+ cd "$srcdir/$_gitname-build"
+ install -d "$pkgdir/usr/lib/git-core"
+ install -m755 git-* "$pkgdir/usr/lib/git-core"
+
+ install -D -m644 README.mkdn "$pkgdir/usr/doc/git-svn-abandon/README.md"
+ install -D -m644 README.html "$pkgdir/usr/doc/git-svn-abandon/README.html"
+ install -D -m644 LICENSE "$pkgdir/usr/licenses/git-svn-abandon/LICENSE"
+}
diff --git a/~lukeshu/make-graph/PKGBUILD b/~lukeshu/make-graph/PKGBUILD
new file mode 100644
index 000000000..f7f7cd0b1
--- /dev/null
+++ b/~lukeshu/make-graph/PKGBUILD
@@ -0,0 +1,64 @@
+# $Id: PKGBUILD 138004 2011-09-14 05:05:12Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
+_pkgname=make
+pkgname=$_pkgname-graph
+pkgver=3.82
+pkgrel=4.1
+provides=("$_pkgname=$pkgver")
+conflicts=("$_pkgname")
+pkgdesc="GNU make utility to maintain groups of programs, with patch to dump a Graphviz dependency graph."
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/make"
+license=('GPL3')
+groups=('base-devel')
+depends=('glibc' 'sh')
+install=$_pkgname.install
+source=(ftp://ftp.gnu.org/gnu/${_pkgname}/${_pkgname}-${pkgver}.tar.bz2
+ bug30612.patch
+ bug30723.patch
+ make-3.82-sort-blank.patch
+ make-3.82-makeflags.patch)
+md5sums=('1a11100f3c63fcf5753818e59d63088f'
+ 'c8f496b22191f9fb9420ab14c1a19a47'
+ '662e6450e19a5acdaa5c9fcb8ad78dea'
+ '7d01a99f389d8f08dec93ed479071ee4'
+ 'bc12ad4d0c6e6c0e72d9fb61054f446b')
+
+source+=('make-graph.patch')
+md5sums+=('c1f1d652004a36c69b1f7f42a6849356')
+depends+=('graphviz')
+
+build() {
+ cd ${srcdir}/${_pkgname}-${pkgver}
+
+ # http://savannah.gnu.org/bugs/?30612
+ patch -Np1 -i $srcdir/bug30612.patch
+
+ # http://savannah.gnu.org/bugs/?30723
+ patch -Np1 -i $srcdir/bug30723.patch
+
+ # https://bugs.archlinux.org/task/22733 (fix from Fedora)
+ patch -Np1 -i $srcdir/make-3.82-sort-blank.patch
+
+ # https://savannah.gnu.org/support/index.php?107487
+ # https://savannah.gnu.org/bugs/?33873
+ patch -Np0 -i $srcdir/make-3.82-makeflags.patch
+
+ # https://savannah.gnu.org/patch/?7447
+ patch -Np1 -i $srcdir/make-graph.patch
+
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd ${srcdir}/${_pkgname}-${pkgver}
+ make check
+}
+
+package() {
+ cd ${srcdir}/${_pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
diff --git a/~lukeshu/make-graph/bug30612.patch b/~lukeshu/make-graph/bug30612.patch
new file mode 100644
index 000000000..fb843bcd9
--- /dev/null
+++ b/~lukeshu/make-graph/bug30612.patch
@@ -0,0 +1,66 @@
+diff -Naur make-3.82-orig/main.c make-3.82-fix30612//main.c
+--- make-3.82-orig/main.c 2010-07-19 17:10:53.000000000 +1000
++++ make-3.82-fix30612//main.c 2010-09-23 23:33:37.908855839 +1000
+@@ -1,3 +1,4 @@
++
+ /* Argument parsing and main program of GNU Make.
+ Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
+ 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+@@ -1138,7 +1139,7 @@
+ a macro and some compilers (MSVC) don't like conditionals in macros. */
+ {
+ const char *features = "target-specific order-only second-expansion"
+- " else-if shortest-stem undefine"
++ " else-if shortest-stem undefine oneshell"
+ #ifndef NO_ARCHIVES
+ " archives"
+ #endif
+diff -Naur make-3.82-orig/read.c make-3.82-fix30612//read.c
+--- make-3.82-orig/read.c 2010-07-13 11:20:42.000000000 +1000
++++ make-3.82-fix30612//read.c 2010-09-23 23:30:58.018855839 +1000
+@@ -3028,7 +3028,7 @@
+ {
+ /* This looks like the first element in an open archive group.
+ A valid group MUST have ')' as the last character. */
+- const char *e = p + nlen;
++ const char *e = p;
+ do
+ {
+ e = next_token (e);
+@@ -3084,19 +3084,19 @@
+ Go to the next item in the string. */
+ if (flags & PARSEFS_NOGLOB)
+ {
+- NEWELT (concat (2, prefix, tp));
++ NEWELT (concat (2, prefix, tmpbuf));
+ continue;
+ }
+
+ /* If we get here we know we're doing glob expansion.
+ TP is a string in tmpbuf. NLEN is no longer used.
+ We may need to do more work: after this NAME will be set. */
+- name = tp;
++ name = tmpbuf;
+
+ /* Expand tilde if applicable. */
+- if (tp[0] == '~')
++ if (tmpbuf[0] == '~')
+ {
+- tildep = tilde_expand (tp);
++ tildep = tilde_expand (tmpbuf);
+ if (tildep != 0)
+ name = tildep;
+ }
+@@ -3152,7 +3152,11 @@
+ else
+ {
+ /* We got a chain of items. Attach them. */
+- (*newp)->next = found;
++ if (*newp)
++ (*newp)->next = found;
++ else
++ *newp = found;
++
+
+ /* Find and set the new end. Massage names if necessary. */
+ while (1)
diff --git a/~lukeshu/make-graph/bug30723.patch b/~lukeshu/make-graph/bug30723.patch
new file mode 100644
index 000000000..84e7ebe7a
--- /dev/null
+++ b/~lukeshu/make-graph/bug30723.patch
@@ -0,0 +1,12 @@
+diff -Naur make-3.82-orig/main.c make-3.82-fix30723//main.c
+--- make-3.82-orig/main.c 2010-07-19 17:10:53.000000000 +1000
++++ make-3.82-fix30723//main.c 2010-09-23 23:34:10.932188592 +1000
+@@ -2093,7 +2093,7 @@
+ const char *pv = define_makeflags (1, 1);
+ char *p = alloca (sizeof ("MAKEFLAGS=") + strlen (pv) + 1);
+ sprintf (p, "MAKEFLAGS=%s", pv);
+- putenv (p);
++ putenv (allocated_variable_expand (p));
+ }
+
+ if (ISDB (DB_BASIC))
diff --git a/~lukeshu/make-graph/make-3.82-makeflags.patch b/~lukeshu/make-graph/make-3.82-makeflags.patch
new file mode 100644
index 000000000..3cba3c402
--- /dev/null
+++ b/~lukeshu/make-graph/make-3.82-makeflags.patch
@@ -0,0 +1,36 @@
+Index: main.c
+===================================================================
+RCS file: /sources/make/make/main.c,v
+retrieving revision 1.246
+diff -u -r1.246 main.c
+--- main.c 29 Aug 2010 23:05:27 -0000 1.246
++++ main.c 27 Jul 2011 22:03:12 -0000
+@@ -2091,10 +2095,16 @@
+
+ /* Reset makeflags in case they were changed. */
+ {
++ if (master_job_slots)
++ {
++ assert (job_slots == default_job_slots);
++ job_slots = master_job_slots;
++ }
+ const char *pv = define_makeflags (1, 1);
+ char *p = alloca (sizeof ("MAKEFLAGS=") + strlen (pv) + 1);
+ sprintf (p, "MAKEFLAGS=%s", pv);
+ putenv (allocated_variable_expand (p));
++ job_slots = default_job_slots;
+ }
+
+ if (ISDB (DB_BASIC))
+@@ -2825,9 +2852,11 @@
+ && (*(unsigned int *) cs->value_ptr ==
+ *(unsigned int *) cs->noarg_value))
+ ADD_FLAG ("", 0); /* Optional value omitted; see below. */
++#if 0
+ else if (cs->c == 'j')
+ /* Special case for `-j'. */
+ ADD_FLAG ("1", 1);
++#endif
+ else
+ {
+ char *buf = alloca (30);
diff --git a/~lukeshu/make-graph/make-3.82-sort-blank.patch b/~lukeshu/make-graph/make-3.82-sort-blank.patch
new file mode 100644
index 000000000..2e73f5b7c
--- /dev/null
+++ b/~lukeshu/make-graph/make-3.82-sort-blank.patch
@@ -0,0 +1,17 @@
+diff -urp make-3.82/function.c make-3.82-pm/function.c
+--- make-3.82/function.c 2010-07-13 03:20:39.000000000 +0200
++++ make-3.82-pm/function.c 2010-10-27 01:43:27.000000000 +0200
+@@ -1138,12 +1138,12 @@ func_sort (char *o, char **argv, const c
+ {
+ char c = *(t++);
+
+- if (! isspace ((unsigned char)c))
++ if (! isblank ((unsigned char)c))
+ continue;
+
+ ++wordi;
+
+- while (isspace ((unsigned char)*t))
++ while (isblank ((unsigned char)*t))
+ ++t;
+ }
diff --git a/~lukeshu/make-graph/make-graph.patch b/~lukeshu/make-graph/make-graph.patch
new file mode 100644
index 000000000..083db55e4
--- /dev/null
+++ b/~lukeshu/make-graph/make-graph.patch
@@ -0,0 +1,273 @@
+diff -ur make-3.82/file.c make-wch/file.c
+--- make-3.82/file.c 2010-07-12 21:20:39.000000000 -0400
++++ make-wch/file.c 2010-08-19 23:28:20.162660391 -0400
+@@ -1021,6 +1021,129 @@
+ hash_print_stats (&files, stdout);
+ }
+
++/* Dump the dependency graph to a Graphviz file (on stdout) */
++
++void
++print_graph_prereqs (const char *filename, const struct dep *deps)
++{
++ const struct dep *ood = 0;
++
++ /* Print all normal dependencies; note any order-only deps. */
++ for (; deps != 0; deps = deps->next)
++ if (! deps->ignore_mtime)
++ printf (" \"%s\" -> \"%s\";\n", filename, dep_name (deps));
++
++ /* Print order-only deps, if we have any. */
++ if (ood)
++ {
++ for (ood = ood->next; ood != 0; ood = ood->next)
++ if (ood->ignore_mtime)
++ printf (" %s -> %s [style=dotted];\n", filename, dep_name (ood));
++ /* XXX: we need to distinguish these some how.
++ * Is dotting them the right way? */
++ }
++}
++
++static void
++print_graph_file (const void *item)
++{
++ const struct file *f = item;
++
++ int built_in_special_target=(
++ (0==strcmp(f->name,".PHONY"))
++ || (0==strcmp(f->name,".SUFFIXES"))
++ || (0==strcmp(f->name,".DEFAULT"))
++ || (0==strcmp(f->name,".PRECIOUS"))
++ || (0==strcmp(f->name,".INTERMEDIATE"))
++ || (0==strcmp(f->name,".SECONDARY"))
++ || (0==strcmp(f->name,".SECONDEXPANSION"))
++ || (0==strcmp(f->name,".DELETE_ON_ERROR"))
++ || (0==strcmp(f->name,".IGNORE"))
++ || (0==strcmp(f->name,".LOW_RESOLUTION_TIME"))
++ || (0==strcmp(f->name,".SILENT"))
++ || (0==strcmp(f->name,".EXPORT_ALL_VARIABLES"))
++ || (0==strcmp(f->name,".NOTPARALLEL"))
++ || (0==strcmp(f->name,".ONESHELL"))
++ || (0==strcmp(f->name,".POSIX"))
++ );
++ if ((f->is_target) && (!built_in_special_target))
++ {
++ printf (" \"%s\" [", f->name);
++ /* XXX some of these should be attached to the nodes in some way;
++ * though I'm not sure what style changes should be made for which ones.
++ * ~ LukeShu
++ if (f->double_colon) puts (_("// Double-colon rule."));
++ if (f->precious) puts (_("// Precious file (prerequisite of .PRECIOUS)."));
++ */if (f->phony) puts (_(" color=blue "));/*
++ if (f->cmd_target) puts (_("// Command line target."));
++ if (f->dontcare) puts (_("// A default, MAKEFILES, or -include/sinclude makefile."));
++ if (f->tried_implicit) puts (_("// Implicit rule search has been done."));
++ else puts (_("// Implicit rule search has not been done."));
++ if (f->stem != 0) printf (_("// Implicit/static pattern stem: `%s'\n"), f->stem);
++ if (f->intermediate) puts (_("// File is an intermediate prerequisite."));
++ if (f->also_make != 0)
++ {
++ const struct dep *d;
++ fputs (_("# Also makes:"), stdout);
++ for (d = f->also_make; d != 0; d = d->next)
++ printf (" %s\n", dep_name (d));
++ }
++ if (f->last_mtime == UNKNOWN_MTIME) puts (_("// Modification time never checked."));
++ else if (f->last_mtime == NONEXISTENT_MTIME) puts (_("// File does not exist."));
++ else if (f->last_mtime == OLD_MTIME) puts (_("// File is very old."));
++ else
++ {
++ char buf[FILE_TIMESTAMP_PRINT_LEN_BOUND + 1];
++ file_timestamp_sprintf (buf, f->last_mtime);
++ printf (_("// Last modified %s\n"), buf);
++ }
++ if (f->updated) puts (_("// File has been updated."));
++ else puts (_("// File has not been updated."));
++ switch (f->command_state)
++ {
++ case cs_running: puts (_("// Update: Running (THIS IS A BUG).")); break;
++ case cs_deps_running: puts (_("// Update: Dependencies running (THIS IS A BUG).")); break;
++ case cs_not_started:
++ case cs_finished:
++ switch (f->update_status)
++ {
++ case -1: break;
++ case 0: puts (_("// Update: Successfully")); break;
++ case 1: assert (question_flag);
++ puts (_("// Update: Needs to be (-q is set)")); break;
++ case 2: puts (_("// Update: Failed")); break;
++ default: puts (_("// Update: Invalid `update_status' value));
++ fflush (stdout);
++ fflush (stderr);
++ abort ();
++ }
++ break;
++ default: puts (_("// Update: Invalid `command_state' value"));
++ fflush (stdout);
++ fflush (stderr);
++ abort ();
++ }
++ if (f->variables != 0) print_file_variables (f);
++ if (f->cmds != 0) print_commands (f->cmds);
++ */
++ puts("];");
++ print_graph_prereqs (f->name, f->deps);
++ }
++
++ if (f->prev)
++ print_graph_file ((const void *) f->prev);
++}
++
++void
++print_graph (void)
++{
++ printf ("%sgraph make%i {\n",
++ (makelevel==0)?"di":"sub",
++ getpid());
++ hash_map (&files, print_graph_file);
++ puts ("}");
++}
++
+ /* Verify the integrity of the data base of files. */
+
+ #define VERIFY_CACHED(_p,_n) \
+diff -ur make-3.82/filedef.h make-wch/filedef.h
+--- make-3.82/filedef.h 2010-07-12 21:20:39.000000000 -0400
++++ make-wch/filedef.h 2010-08-19 21:09:34.314660209 -0400
+@@ -116,6 +116,7 @@
+ char *build_target_list (char *old_list);
+ void print_prereqs (const struct dep *deps);
+ void print_file_data_base (void);
++void print_graph (void);
+
+ #if FILE_TIMESTAMP_HI_RES
+ # define FILE_TIMESTAMP_STAT_MODTIME(fname, st) \
+diff -ur make-3.82/main.c make-wch/main.c
+--- make-3.82/main.c 2010-07-19 03:10:53.000000000 -0400
++++ make-wch/main.c 2010-08-21 22:32:56.818417305 -0400
+@@ -175,6 +175,11 @@
+
+ int print_data_base_flag = 0;
+
++/* Nonzero means don't remake anything, just print the dependency graph
++ that results from reading the makefile (-g). */
++
++int print_graph_flag = 0;
++
+ /* Nonzero means don't remake anything; just return a nonzero status
+ if the specified targets are not up to date (-q). */
+
+@@ -321,6 +326,9 @@
+ -f FILE, --file=FILE, --makefile=FILE\n\
+ Read FILE as a makefile.\n"),
+ N_("\
++ -g, --graph Print make's internal dependency graph\n\
++ in Graphviz format, without remaking makefiles.\n"),
++ N_("\
+ -h, --help Print this message and exit.\n"),
+ N_("\
+ -i, --ignore-errors Ignore errors from recipes.\n"),
+@@ -385,6 +393,7 @@
+ #endif
+ { 'e', flag, &env_overrides, 1, 1, 0, 0, 0, "environment-overrides", },
+ { 'f', filename, &makefiles, 0, 0, 0, 0, 0, "file" },
++ { 'g', flag, &print_graph_flag, 1, 1, 0, 0, 0, "graph" },
+ { 'h', flag, &print_usage_flag, 0, 0, 0, 0, 0, "help" },
+ { 'i', flag, &ignore_errors_flag, 1, 1, 0, 0, 0, "ignore-errors" },
+ { 'I', filename, &include_directories, 1, 1, 0, 0, 0,
+@@ -1946,7 +1955,10 @@
+ define_makeflags (1, 1);
+
+ rebuilding_makefiles = 1;
+- status = update_goal_chain (read_makefiles);
++ if (print_graph_flag)
++ status = -1;
++ else
++ status = update_goal_chain (read_makefiles);
+ rebuilding_makefiles = 0;
+
+ switch (status)
+@@ -2278,33 +2290,37 @@
+
+ {
+ int status;
++ if (print_graph_flag)
++ status=0;
++ else
++ {
++ switch (update_goal_chain (goals))
++ {
++ case -1:
++ /* Nothing happened. */
++ case 0:
++ /* Updated successfully. */
++ status = makefile_status;
++ break;
++ case 1:
++ /* We are under -q and would run some commands. */
++ status = MAKE_TROUBLE;
++ break;
++ case 2:
++ /* Updating failed. POSIX.2 specifies exit status >1 for this;
++ but in VMS, there is only success and failure. */
++ status = MAKE_FAILURE;
++ break;
++ default:
++ abort ();
++ }
+
+- switch (update_goal_chain (goals))
+- {
+- case -1:
+- /* Nothing happened. */
+- case 0:
+- /* Updated successfully. */
+- status = makefile_status;
+- break;
+- case 1:
+- /* We are under -q and would run some commands. */
+- status = MAKE_TROUBLE;
+- break;
+- case 2:
+- /* Updating failed. POSIX.2 specifies exit status >1 for this;
+- but in VMS, there is only success and failure. */
+- status = MAKE_FAILURE;
+- break;
+- default:
+- abort ();
+- }
+-
+- /* If we detected some clock skew, generate one last warning */
+- if (clock_skew_detected)
+- error (NILF,
+- _("warning: Clock skew detected. Your build may be incomplete."));
+-
++ /* If we detected some clock skew, generate one last warning */
++ if (clock_skew_detected)
++ error (NILF,
++ _("warning: Clock skew detected. Your build may be incomplete."));
++ }
++
+ /* Exit. */
+ die (status);
+ }
+@@ -3042,7 +3058,7 @@
+ {
+ static int printed_version = 0;
+
+- char *precede = print_data_base_flag ? "# " : "";
++ char *precede = (print_data_base_flag||print_graph_flag) ? "# " : "";
+
+ if (printed_version)
+ /* Do it only once. */
+@@ -3188,6 +3204,10 @@
+ if (print_data_base_flag)
+ print_data_base ();
+
++
++ if (print_graph_flag)
++ print_graph ();
++
+ verify_file_data_base ();
+
+ clean_jobserver (status);
diff --git a/~lukeshu/make-graph/make.install b/~lukeshu/make-graph/make.install
new file mode 100644
index 000000000..6cf8b0dc4
--- /dev/null
+++ b/~lukeshu/make-graph/make.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(make.info make.info-1 make.info-2)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/~lukeshu/openni-unstable/PKGBUILD b/~lukeshu/openni-unstable/PKGBUILD
index 32020d726..19d1575a1 100644
--- a/~lukeshu/openni-unstable/PKGBUILD
+++ b/~lukeshu/openni-unstable/PKGBUILD
@@ -21,24 +21,23 @@ pkgname=(
openni$_suf-java-samples
openni$_suf-java-samples-source
)
-pkgver=1.3.4.6
-pkgrel=4
+pkgver=1.4.0.2
+pkgrel=1
arch=('i686' 'x86_64')
url="http://www.openni.org/"
license=('GPL')
makedepends=('git' 'doxygen' 'graphviz')
+options+=('!strip')
source=()
md5sums=()
__gitroot="git://github.com/OpenNI/OpenNI.git"
_gitname="openni"
-#_gitbranch="unstable"
-#_gitbranch="master"
_gitbranch="Unstable-$pkgver"
_os='Linux'
case "${CARCH}" in
-'x86_64') _arch=x86;;
+'x86_64') _arch=x64;;
'i686') _arch=x86;;
'arm') _arch=Arm;; # untested
*) _arch=UNSUPPORTED_ARCH;;
@@ -51,27 +50,32 @@ build() {
cd "${srcdir}"
msg "Connecting to GIT server...."
- if [ -d ${_gitname} ] ; then
+ #if [ -d ${_gitname} ] ; then
cd ${_gitname}
- git checkout master
- git pull origin
- msg "The local files are updated."
- else
- git clone ${__gitroot} ${_gitname}
- cd ${_gitname}
- fi
+ # git checkout master
+ # git pull origin
+ # msg "The local files are updated."
+ #else
+ # git clone ${__gitroot} ${_gitname}
+ # cd ${_gitname}
+ #fi
git checkout ${_gitbranch}
cd ..
msg "GIT checkout done or server timeout"
- msg "Starting make..."
+ msg "Starting build..."
- rm -rf "${srcdir}/${_gitname}-build"
- git clone "${srcdir}/${_gitname}" "${srcdir}/${_gitname}-build"
+ #rm -rf "${srcdir}/${_gitname}-build"
+ #git clone "${srcdir}/${_gitname}" "${srcdir}/${_gitname}-build"
cd "${srcdir}/${_gitname}-build"
# PATCH
sed -i 's/python /python2 /' "Platform/${_os}/CreateRedist/RedistMaker"
+
+ for sample in NiViewer NiSimpleViewer NiUserTracker NiUserSelection NiHandTracker; do
+ echo 'USED_LIBS += GL' >> "Platform/${_os}/Build/Samples/${sample}/Makefile"
+ done
+
echo '
abs_core: $(ALL_MODULES) $(ALL_UTILS)
abs_core_samples: $(CORE_SAMPLES)
@@ -87,7 +91,9 @@ abs_mono_samples: $(MONO_SAMPLES) $(MONO_FORMS_SAMPLES)
make -j1 \
abs_core abs_core_samples \
abs_java abs_java_samples \
- abs_mono abs_mono_samples || return 1
+ abs_mono abs_mono_samples
+ cd "../Bin/${_arch}-Release"
+ ln NiViewer Sample-NiViewer
cd '../../../Source/DoxyGen'
mkdir html
@@ -117,7 +123,7 @@ package_openni-unstable-docs() {
package_openni-unstable-core() {
pkgdesc="OpenNI core libraries"
depends=('libusb' 'freeglut')
- install="openni.install"
+ install="openni-core.install"
provides=('openni-core')
conflicts=('openni-core')
@@ -144,6 +150,8 @@ package_openni-unstable-core() {
cd "${srcdir}/${_gitname}-build/Platform/${_os}/Build"
install -d "${pkgdir}/usr/share"
cp -r Common "${pkgdir}/usr/share/common"
+
+ install -d "${pkgdir}/var/lib/ni"
}
package_openni-unstable-java() {
@@ -164,6 +172,7 @@ package_openni-unstable-java() {
package_openni-unstable-mono() {
pkgdesc="OpenNI mono wrapper"
depends=("openni$_suf" 'mono')
+ install="openni-mono.install"
provides=('openni-mono')
conflicts=('openni-mono')
@@ -183,14 +192,16 @@ _install_sample_source() {
install -m644 "$makefile" "${pkgdir}/usr/share/openni/samples/$sample"
}
-# Leave out NiViewer, it's set up wrong
CORE_SAMPLES='
AudioSample
BackRecorder
CRead
ConvertXToONI
+ HandTracker
RecordSynthetic
SimpleCreate
+ UserSelection
+ Viewer
SimpleRead SimpleViewer UserTracker'
MONO_SAMPLES='SimpleRead SimpleViewer UserTracker'
JAVA_SAMPLES='SimpleRead SimpleViewer UserTracker'
@@ -204,9 +215,8 @@ package_openni-unstable-core-samples() {
cd "${srcdir}/${_gitname}-build/Platform/${_os}/Bin/${_arch}-Release"
install -d "${pkgdir}/usr/bin"
- install -m755 NiViewer "${pkgdir}/usr/bin/niSample-Viewer"
for sample in $CORE_SAMPLES; do
- install -m766 Sample-Ni$sample "${pkgdir}/usr/bin/niSample-$sample"
+ install -m755 Sample-Ni$sample "${pkgdir}/usr/bin/niSample-$sample"
done
}
package_openni-unstable-core-samples-source() {
@@ -214,7 +224,6 @@ package_openni-unstable-core-samples-source() {
depends=("openni$_suf-core")
provides=('openni-core-samples-source')
conflicts=('openni-core-samples-source')
- options+=('!strip')
cd "${srcdir}/${_gitname}-build"
for sample in Viewer $CORE_SAMPLES; do
@@ -246,7 +255,6 @@ package_openni-unstable-java-samples-source() {
depends=("openni$_suf-java")
provides=('openni-java-samples-source')
conflicts=('openni-java-samples-source')
- options+=('!strip')
cd "${srcdir}/${_gitname}-build"
for sample in $JAVA_SAMPLES; do
@@ -278,7 +286,6 @@ package_openni-unstable-mono-samples-source() {
depends=("openni$_suf-mono")
provides=('openni-mono-samples-source')
conflicts=('openni-mono-samples-source')
- options+=('!strip')
cd "${srcdir}/${_gitname}-build"
for sample in $MONO_SAMPLES; do
diff --git a/~lukeshu/openni-unstable/openni.install b/~lukeshu/openni-unstable/openni-core.install
index 8470f4512..8470f4512 100644
--- a/~lukeshu/openni-unstable/openni.install
+++ b/~lukeshu/openni-unstable/openni-core.install
diff --git a/~lukeshu/openni-unstable/openni-mono.install b/~lukeshu/openni-unstable/openni-mono.install
new file mode 100644
index 000000000..72a6fb23d
--- /dev/null
+++ b/~lukeshu/openni-unstable/openni-mono.install
@@ -0,0 +1,7 @@
+post_install() {
+ gacutil -i /usr/share/openni/mono/OpenNI.net.dll -gacdir /usr
+}
+
+post_remove() {
+ gacutil -u OpenNI.net -gacdir /usr
+}
diff --git a/~lukeshu/redo/PKGBUILD b/~lukeshu/redo/PKGBUILD
new file mode 100644
index 000000000..95e75dd0e
--- /dev/null
+++ b/~lukeshu/redo/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+pkgname=redo
+pkgver=0.06
+pkgrel=1
+pkgdesc="A competitor to make based on essays by DJB.")
+arch=('any')
+url="https://github.com/apenwarr/$pkgname"
+license=('GPL2')
+depends=('python2')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/apenwarr/$pkgname/tarball/$pkgname-$pkgver")
+
+build() {
+ cd "$srcdir/apenwarr-$pkgname-"*
+
+ # Make everything use python2
+ sed -i 's@^#!/usr/bin/python$@#!/usr/bin/python2@' *.py
+ sed -i 's@/usr/bin/env python@/usr/bin/env python2@' Documentation/md2man.py
+ sed -i -e 's@^python @python2 @' \
+ -e 's@/usr/bin/python$@/usr/bin/python2@' \
+ install.do
+
+ make
+}
+
+check() {
+ cd "$srcdir/apenwarr-$pkgname-"*
+ make test
+}
+
+package() {
+ cd "$srcdir/apenwarr-$pkgname-"*
+ make install DESTDIR="$pkgdir"
+}
+
+md5sums=('0faa0e98f3d60fdcdea826dad59923c8')
diff --git a/~lukeshu/stow/PKGBUILD b/~lukeshu/stow/PKGBUILD
new file mode 100644
index 000000000..24a2dcb1c
--- /dev/null
+++ b/~lukeshu/stow/PKGBUILD
@@ -0,0 +1,24 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+pkgname=stow
+pkgver=2.1.2
+pkgrel=1
+pkgdesc="A program for managing the installation of software packages, keeping them separate while making them appear to be installed in the same place."
+arch=(any)
+url="https://www.gnu.org/software/$pkgname/"
+license=('GPL2')
+depends=('perl>=5.6.1')
+source=(http://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz)
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
+
+md5sums=('82857e43531cf6936aed99ef3b86b446')
diff --git a/~lukeshu/svn-graph-branches/PKGBUILD b/~lukeshu/svn-graph-branches/PKGBUILD
new file mode 100644
index 000000000..63568e50c
--- /dev/null
+++ b/~lukeshu/svn-graph-branches/PKGBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+pkgname=svn-graph-branches
+pkgver=0.10
+pkgrel=1
+pkgdesc="Parses the Subversion log of a repository to generate a graph of the important events of the project."
+arch=('any')
+url="https://code.google.com/p/svn-graph-branches/"
+license=('GPL')
+depends=('subversion' 'graphviz' 'java-environment')
+makedepends=('sharutils')
+source=(https://svn-graph-branches.googlecode.com/files/$pkgname-$pkgver.tar.gz)
+sha1sums=('c8b85b57b7725bc869f792334505d36d527e1dea')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ export CLASSPATH=`pwd`
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make -k check
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/~lukeshu/terminal-colors/.gitignore b/~lukeshu/terminal-colors/.gitignore
new file mode 100644
index 000000000..8ba0d861a
--- /dev/null
+++ b/~lukeshu/terminal-colors/.gitignore
@@ -0,0 +1 @@
+terminal-colors.py
diff --git a/~lukeshu/terminal-colors/PKGBUILD b/~lukeshu/terminal-colors/PKGBUILD
new file mode 100644
index 000000000..662e5b5ef
--- /dev/null
+++ b/~lukeshu/terminal-colors/PKGBUILD
@@ -0,0 +1,23 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+pkgname=terminal-colors
+pkgver=1.3
+pkgrel=1
+pkgdesc="Displays charts for 256/88/16 terminal color modes. Also supports converting between 256/88 color values."
+arch=('any')
+url="http://zhar.net/projects/shell/"
+license=('GPL3')
+depends=('python2')
+source=("terminal-colors.py::http://zhar.net/projects/shell/terminal-colors")
+
+build() {
+ cd "$srcdir"
+ sed 's@/usr/bin/env python$@/usr/bin/env python2@' < terminal-colors.py > terminal-colors
+}
+
+package() {
+ cd "$srcdir"
+ install -D -m755 terminal-colors "$pkgdir/usr/bin/terminal-colors"
+}
+
+md5sums=('30e3ab6cde416df110110244ce40eb94')
diff --git a/~lukeshu/thingutils-git/PKGBUILD b/~lukeshu/thingutils-git/PKGBUILD
new file mode 100644
index 000000000..5ef2c1c56
--- /dev/null
+++ b/~lukeshu/thingutils-git/PKGBUILD
@@ -0,0 +1,55 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+_pkgname=thingutils
+pkgname=$_pkgname-git
+provides=($_pkgname)
+conflicts=($_pkgname)
+pkgver=20111224
+pkgrel=1
+pkgdesc=""
+arch=('any')
+url="https://gitorious.org/thingutils"
+license=('MIT')
+depends=(
+ 'php' # roll, urldecode
+ 'bash' # daemon, newegg, sysfiles
+ 'emacs' # emacsmail, emacsterm, e
+ 'wget' # whatismyip
+ 'findutils' # maildups, whatismyip
+ 'sysstat' # sysfiles
+ 'offlineimap' # offlineimap-runner
+ 'wdiff' # chardiff
+)
+makedepends=('git')
+
+_gitroot=https://git.gitorious.org/thingutils/thingutils.git
+_gitname=$_pkgname
+
+build() {
+ cd "$srcdir"
+ msg "Connecting to GIT server...."
+
+ if [[ -d "$_gitname" ]]; then
+ cd "$_gitname" && git pull origin
+ msg "The local files are updated."
+ else
+ git clone "$_gitroot" "$_gitname"
+ fi
+
+ msg "GIT checkout done or server timeout"
+ msg "Starting build..."
+
+ rm -rf "$srcdir/$_gitname-build"
+ git clone "$srcdir/$_gitname" "$srcdir/$_gitname-build"
+ cd "$srcdir/$_gitname-build"
+
+ #
+ # BUILD HERE
+ #
+ make prefix=/usr
+}
+
+package() {
+ cd "$srcdir/$_gitname-build"
+ make install prefix=/usr DESTDIR="$pkgdir"
+}
diff --git a/~lukeshu/wdiff/PKGBUILD b/~lukeshu/wdiff/PKGBUILD
new file mode 100644
index 000000000..6092b3d76
--- /dev/null
+++ b/~lukeshu/wdiff/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+pkgname=wdiff
+pkgver=1.1.0
+pkgrel=1
+pkgdesc="A front end to diff for comparing files on a word per word basis."
+arch=('i686' 'x86_64')
+url="https://www.gnu.org/software/$pkgname/"
+license=('GPL3')
+depends=('diffutils')
+source=(http://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz)
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make -k check
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
+
+md5sums=('aa4dd87a9140a96ee85d2502673d19f3')
diff --git a/~lukeshu/xml2rfc/PKGBUILD b/~lukeshu/xml2rfc/PKGBUILD
new file mode 100644
index 000000000..b52ab21a8
--- /dev/null
+++ b/~lukeshu/xml2rfc/PKGBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+pkgname=xml2rfc
+pkgver=1.36
+pkgrel=1
+pkgdesc="A tool to parse RFC 2629 XML files, and render them to TXT, PDF, HTML, and other formats."
+arch=('any')
+url="http://xml.resource.org/"
+license=('custom:BSD-3')
+depends=('tcl>=8')
+optdepends=('tk: for xml2sgml and graphical xml2rfc')
+makedepends=('java-environment')
+source=("http://xml.resource.org/authoring/$pkgname-$pkgver.tgz")
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -D -m644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+
+ install -d "$pkgdir/usr/share/doc/$pkgname"
+ install -m644 README.* draft-mrose-writing-rfcs.* example.* "$pkgdir/usr/share/doc/$pkgname"
+
+ install -d "$pkgdir/usr/share/$pkgname"
+ install -m644 rfc2629.* "$pkgdir/usr/share/$pkgname"
+
+ install -D -m755 xml2rfc.tcl "$pkgdir/usr/bin/xml2rfc"
+ install -D -m755 xml2sgml.tcl "$pkgdir/usr/bin/xml2sgml"
+}
+
+md5sums=('f96aa187e2ef86affe2843b556556b60')