summaryrefslogtreecommitdiff
path: root/libre-testing
diff options
context:
space:
mode:
authorJoshua I. Haase H. (xihh) <hahj87@gmail.com>2012-09-18 23:41:48 -0500
committerJoshua I. Haase H. (xihh) <hahj87@gmail.com>2012-09-18 23:41:48 -0500
commitfa95bb04dbbc63d07b1f84fb8ce5272085097eb7 (patch)
tree09eb51305956e84dfb79aa89f5b99e595371c54d /libre-testing
parent6eefbbf4300e680dc93487c11a1ae35ee8299f06 (diff)
parent5a05be089c68617c86c9c555e63f2b0314451ebf (diff)
Merge branch 'master' of gitpar:abslibre-mips64el
Diffstat (limited to 'libre-testing')
-rw-r--r--libre-testing/cups-filters-libre/PKGBUILD43
-rw-r--r--libre-testing/filesystem/PKGBUILD112
-rw-r--r--libre-testing/filesystem/crypttab17
-rw-r--r--libre-testing/filesystem/filesystem.install60
-rw-r--r--libre-testing/filesystem/fstab5
-rw-r--r--libre-testing/filesystem/group32
-rw-r--r--libre-testing/filesystem/gshadow32
-rw-r--r--libre-testing/filesystem/host.conf8
-rw-r--r--libre-testing/filesystem/hosts9
-rw-r--r--libre-testing/filesystem/issue2
-rw-r--r--libre-testing/filesystem/ld.so.conf7
-rw-r--r--libre-testing/filesystem/locale.sh28
-rw-r--r--libre-testing/filesystem/modprobe.d.usb-load-ehci-first2
-rw-r--r--libre-testing/filesystem/motd0
-rw-r--r--libre-testing/filesystem/nsswitch.conf19
-rw-r--r--libre-testing/filesystem/os-release8
-rw-r--r--libre-testing/filesystem/parabola.7.txt81
-rw-r--r--libre-testing/filesystem/passwd7
-rw-r--r--libre-testing/filesystem/profile27
-rw-r--r--libre-testing/filesystem/resolv.conf8
-rw-r--r--libre-testing/filesystem/securetty15
-rw-r--r--libre-testing/filesystem/shadow7
-rw-r--r--libre-testing/filesystem/shells8
-rw-r--r--libre-testing/kdebase-konqueror-libre/PKGBUILD52
-rw-r--r--libre-testing/kdebase-konqueror-libre/kdebase-konqueror.install12
-rw-r--r--libre-testing/kdebase-konqueror-libre/konq-about-fsdg.diff33
-rw-r--r--libre-testing/kdebase-runtime-libre/PKGBUILD57
-rw-r--r--libre-testing/kdebase-runtime-libre/duckduckgo_lite.desktop113
-rw-r--r--libre-testing/kdebase-runtime-libre/kdebase-runtime.install13
-rw-r--r--libre-testing/kdelibs-libre/PKGBUILD69
-rw-r--r--libre-testing/kdelibs-libre/fix-kmail-crash.patch71
-rw-r--r--libre-testing/kdelibs-libre/kde-applications-menu.patch22
-rw-r--r--libre-testing/kdelibs-libre/kdelibs.install13
-rw-r--r--libre-testing/kdelibs-libre/khtml-fsdg.diff50
-rw-r--r--libre-testing/kdelibs-libre/use-pythondontwritebytecode.patch80
-rw-r--r--libre-testing/kdenetwork-kopete-libre/PKGBUILD54
-rw-r--r--libre-testing/kdenetwork-kopete-libre/kdenetwork-kopete.install12
-rw-r--r--libre-testing/kdenetwork-kopete-libre/kdenetwork.install11
-rw-r--r--libre-testing/kdeutils-ark-libre/PKGBUILD39
-rw-r--r--libre-testing/kdeutils-ark-libre/kdeutils-ark.install11
-rw-r--r--libre-testing/kdeutils-ark-libre/rePKGBUILD26
-rw-r--r--libre-testing/luxrender-libre/PKGBUILD54
-rw-r--r--libre-testing/luxrender-libre/boost_1.50_fix.diff131
-rw-r--r--libre-testing/texlive-bin-libre/09-texlive-fonts.conf9
-rw-r--r--libre-testing/texlive-bin-libre/PKGBUILD316
-rw-r--r--libre-testing/texlive-bin-libre/fix-fontforge-encoding.patch12
-rw-r--r--libre-testing/texlive-bin-libre/luatex-poppler-0.20.patch77
-rw-r--r--libre-testing/texlive-bin-libre/luatex-r4449-radical-rule-thickness.patch23
-rw-r--r--libre-testing/texlive-bin-libre/poppler-0.20.patch22
-rw-r--r--libre-testing/texlive-bin-libre/texlive.install43
-rw-r--r--libre-testing/texlive-bin-libre/texmf.cnf724
51 files changed, 2686 insertions, 0 deletions
diff --git a/libre-testing/cups-filters-libre/PKGBUILD b/libre-testing/cups-filters-libre/PKGBUILD
new file mode 100644
index 000000000..2739a7c7c
--- /dev/null
+++ b/libre-testing/cups-filters-libre/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 165189 2012-08-12 19:45:00Z andyrtr $
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+
+pkgname=cups-filters-libre
+_pkgname=cups-filters
+pkgver=1.0.20
+pkgrel=2
+pkgdesc="OpenPrinting CUPS Filters"
+arch=('i686' 'x86_64')
+url="http://www.linuxfoundation.org/collaborate/workgroups/openprinting"
+license=('GPL')
+depends=('lcms2' 'poppler>=0.20.3')
+makedepends=('ghostscript' 'ttf-dejavu') # ttf-dejavu for make check
+optdepends=('ghostscript: for non-PostScript printers to print with CUPS to convert PostScript to raster images'
+ 'foomatic-db: drivers use Ghostscript to convert PostScript to a printable form directly'
+ 'foomatic-db-engine: drivers use Ghostscript to convert PostScript to a printable form directly')
+backup=(etc/fonts/conf.d/99pdftoopvp.conf)
+options=(!libtool)
+source=(http://www.openprinting.org/download/cups-filters/$_pkgname-$pkgver.tar.gz)
+md5sums=('fc1d2b8cb5b0513224d7e2b01f900704')
+replaces=("${_pkgname}")
+conflicts=("${_pkgname}")
+provides=("${_pkgname}=${pkgver}")
+
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --with-test-font-path=/usr/share/fonts/TTF/DejaVuSans.ttf
+ make
+}
+
+check() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ make -k check
+}
+
+package() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+ # drop static lib
+ rm -f ${pkgdir}/usr/lib/*.a
+}
diff --git a/libre-testing/filesystem/PKGBUILD b/libre-testing/filesystem/PKGBUILD
new file mode 100644
index 000000000..21deceea2
--- /dev/null
+++ b/libre-testing/filesystem/PKGBUILD
@@ -0,0 +1,112 @@
+# $Id: PKGBUILD 165634 2012-08-27 20:15:48Z tomegun $
+# Maintainer: Tom Gundersen <teg@jklm.no>
+# Maintainer (Parabola): Nicolás Reynolds <fauno@kiwwwi.com.ar>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+
+pkgname=filesystem
+pkgver=2012.8
+pkgrel=1.1
+pkgdesc='Base filesystem for Parabola'
+arch=('any')
+license=('GPL')
+url='https://parabolagnulinux.org'
+groups=('base')
+install='filesystem.install'
+makedepends=('asciidoc')
+depends=('iana-etc' 'bash' 'coreutils')
+backup=('etc/fstab' 'etc/crypttab' 'etc/group' 'etc/hosts' 'etc/ld.so.conf' 'etc/passwd'
+ 'etc/shadow' 'etc/gshadow' 'etc/resolv.conf' 'etc/motd' 'etc/nsswitch.conf'
+ 'etc/shells' 'etc/host.conf' 'etc/securetty' 'etc/profile' 'etc/issue')
+source=('group' 'issue' 'nsswitch.conf' 'securetty' 'host.conf' 'ld.so.conf'
+ 'passwd' 'shadow' 'fstab' 'crypttab' 'hosts' 'motd' 'os-release' 'resolv.conf'
+ 'shells' 'gshadow' 'profile' 'modprobe.d.usb-load-ehci-first' 'parabola.7.txt'
+ 'locale.sh')
+
+build() {
+ cd ${srcdir}
+ a2x -d manpage -f manpage parabola.7.txt
+}
+
+package() {
+ cd ${pkgdir}
+
+ #
+ # setup root filesystem
+ #
+ for d in boot dev etc home media mnt usr var opt srv/http run; do
+ install -d -m755 ${d}
+ done
+ install -d -m555 proc
+ install -d -m555 sys
+ install -d -m0750 root
+ install -d -m1777 tmp
+ # vsftpd won't run with write perms on /srv/ftp
+ install -d -m555 -g ftp srv/ftp
+
+ # setup /etc
+ install -d etc/{ld.so.conf.d,skel,profile.d}
+ for f in fstab group host.conf hosts issue ld.so.conf motd nsswitch.conf os-release passwd resolv.conf securetty shells profile; do
+ install -m644 ${srcdir}/${f} etc/
+ done
+ ln -s /proc/self/mounts etc/mtab
+ for f in gshadow shadow crypttab; do
+ install -m600 ${srcdir}/${f} etc/
+ done
+ touch etc/arch-release
+ install -D -m644 ${srcdir}/modprobe.d.usb-load-ehci-first usr/lib/modprobe.d/usb-load-ehci-first.conf
+ install -m755 ${srcdir}/locale.sh etc/profile.d/locale.sh
+
+ # setup /var
+ for d in cache/man local opt log/old lib/misc empty; do
+ install -d -m755 var/${d}
+ done
+ install -d -m1777 var/{tmp,spool/mail}
+ # allow setgid games to write scores
+ install -d -m775 -g games var/games
+ ln -s spool/mail var/mail
+ ln -s ../run var/run
+ ln -s ../run/lock var/lock
+
+ #
+ # setup /usr hierarchy
+ #
+ for d in bin include lib sbin share/misc src; do
+ install -d -m755 usr/${d}
+ done
+ for d in $(seq 8); do
+ install -d -m755 usr/share/man/man${d}
+ done
+
+ #
+ # install parabola(7) manpage
+ #
+ install -D -m644 ${srcdir}/parabola.7 usr/share/man/man7/parabola.7
+
+ #
+ # setup /usr/local hierarchy
+ #
+ for d in bin etc games include lib man sbin share src; do
+ install -d -m755 usr/local/${d}
+ done
+ ln -s ../man usr/local/share/man
+}
+md5sums=('45940618da782cc391c59f88ab3333c3'
+ '6be47d893fd49b2e4a8c0e811b350861'
+ '13753e4e0964f3652b0cc60a28528bdf'
+ '4c4540eeb748bf1f71d631b8c1dcf0b3'
+ 'f28150d4c0b22a017be51b9f7f9977ed'
+ '6e488ffecc8ba142c0cf7e2d7aeb832e'
+ '8a9042a2cedf6b6b47eb8973f14289cb'
+ 'b8355d9d2782f424f4cedcf682651be0'
+ 'ca716f853860199c1286e7939b2f2666'
+ '1745349eb24ed21b4cfaa6f423bddb76'
+ '7bc65f234dfb6abf24e7c3b03e86f4ff'
+ 'd41d8cd98f00b204e9800998ecf8427e'
+ '0e145e18fea8fd190b30d45764f5707c'
+ '6f48288b6fcaf0065fcb7b0e525413e0'
+ '22518e922891f9359f971f4f5b4e793c'
+ 'f95416882cef800edef08382a1176b7d'
+ 'f3b6ae7db8adffaaa4bffc6099dcbd50'
+ 'a8a962370cd0128465d514e6a1f74130'
+ '3674fcb22044d2946934e7826aa0c632'
+ '3807d07215d9116331fe1cf8feeaa0f8')
diff --git a/libre-testing/filesystem/crypttab b/libre-testing/filesystem/crypttab
new file mode 100644
index 000000000..195945a74
--- /dev/null
+++ b/libre-testing/filesystem/crypttab
@@ -0,0 +1,17 @@
+# crypttab: mappings for encrypted partitions
+#
+# Each mapped device will be created in /dev/mapper, so your /etc/fstab
+# should use the /dev/mapper/<name> paths for encrypted devices.
+#
+# The Arch specific syntax has been deprecated, see crypttab(5) for the
+# new supported syntax.
+#
+# NOTE: Do not list your root (/) partition here, it must be set up
+# beforehand by the initramfs (/etc/mkinitcpio.conf).
+
+# <name> <device> <password> <options>
+# home /dev/hda4 /etc/mypassword1
+# data1 /dev/hda3 /etc/mypassword2
+# data2 /dev/hda5 /etc/cryptfs.key
+# swap /dev/hdx4 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256
+# vol /dev/hdb7 none
diff --git a/libre-testing/filesystem/filesystem.install b/libre-testing/filesystem/filesystem.install
new file mode 100644
index 000000000..c8717f01b
--- /dev/null
+++ b/libre-testing/filesystem/filesystem.install
@@ -0,0 +1,60 @@
+post_install() {
+ [ -f var/log/lastlog ] || : >var/log/lastlog
+ [ -f var/log/wtmp ] || : >var/log/wtmp
+ [ -f var/log/btmp ] || { : >var/log/btmp && chmod 600 var/log/btmp; }
+ # workaround for bug #7194
+ # readded due to bug #9465
+ # please do not remove!
+ chmod 1777 var/spool/mail tmp var/tmp
+}
+
+# args: <group> [options]
+_addgroup() {
+ if ! getent group "$1" >/dev/null; then
+ groupadd "$@" >/dev/null
+ fi
+}
+
+# args: <group> [options]
+_adduser() {
+ if ! getent passwd "$1" >/dev/null; then
+ useradd "$@" >/dev/null
+ fi
+}
+
+post_upgrade() {
+ post_install
+
+ _addgroup optical -g 93
+ _addgroup audio -g 92
+ _addgroup video -g 91
+ _addgroup floppy -g 94
+ _addgroup storage -g 95
+ _addgroup log -g 19
+ _addgroup utmp -g 20
+ _addgroup power -g 98
+ _addgroup network -g 90
+ _addgroup games -g 50
+ _addgroup uucp -g 14
+ _addgroup http -g 33
+ _adduser http -u 33 -d /srv/http -g http -s /bin/false
+ _addgroup scanner -g 96
+ _addgroup rfkill -g 24
+ _addgroup lock -g 54
+
+ # sync gshadow to group (fixes FS#19869
+ if ! grep -q '^lock:' etc/gshadow; then
+ grpconv >/dev/null
+ fi
+
+ if ! grep -q '^include /etc/ld.so.conf.d/\*.conf$' etc/ld.so.conf; then
+ echo 'include /etc/ld.so.conf.d/*.conf' >> etc/ld.so.conf
+ fi
+
+ # set "Last password change" > 0; otherwise su $user wont work
+ for user in bin daemon mail ftp http nobody; do
+ if LANG=C chage -l ${user} | grep -q 'password must be changed'; then
+ chage -d 14871 ${user}
+ fi
+ done
+}
diff --git a/libre-testing/filesystem/fstab b/libre-testing/filesystem/fstab
new file mode 100644
index 000000000..f7f9298d4
--- /dev/null
+++ b/libre-testing/filesystem/fstab
@@ -0,0 +1,5 @@
+#
+# /etc/fstab: static file system information
+#
+# <file system> <dir> <type> <options> <dump> <pass>
+tmpfs /tmp tmpfs nodev,nosuid 0 0
diff --git a/libre-testing/filesystem/group b/libre-testing/filesystem/group
new file mode 100644
index 000000000..6e8e773d8
--- /dev/null
+++ b/libre-testing/filesystem/group
@@ -0,0 +1,32 @@
+root:x:0:root
+bin:x:1:root,bin,daemon
+daemon:x:2:root,bin,daemon
+sys:x:3:root,bin
+adm:x:4:root,daemon
+tty:x:5:
+disk:x:6:root
+lp:x:7:daemon
+mem:x:8:
+kmem:x:9:
+wheel:x:10:root
+ftp:x:11:
+mail:x:12:
+uucp:x:14:
+log:x:19:root
+utmp:x:20:
+locate:x:21:
+rfkill:x:24:
+smmsp:x:25:
+http:x:33:
+games:x:50:
+lock:x:54:
+network:x:90:
+video:x:91:
+audio:x:92:
+optical:x:93:
+floppy:x:94:
+storage:x:95:
+scanner:x:96:
+power:x:98:
+nobody:x:99:
+users:x:100:
diff --git a/libre-testing/filesystem/gshadow b/libre-testing/filesystem/gshadow
new file mode 100644
index 000000000..c5c76354e
--- /dev/null
+++ b/libre-testing/filesystem/gshadow
@@ -0,0 +1,32 @@
+root:::root
+bin:::root,bin,daemon
+daemon:::root,bin,daemon
+sys:::root,bin
+adm:::root,daemon
+tty:::
+disk:::root
+lp:::daemon
+mem:::
+kmem:::
+wheel:::root
+ftp:::
+mail:::
+uucp:::
+log:::root
+utmp:x::
+locate:::
+rfkill:x::
+smmsp:::
+http:::
+games:::
+lock:::
+network:x::
+video:x::
+audio:::
+optical:::
+floppy:x::
+storage:x::
+scanner:x::
+power:x::
+nobody:::
+users:::
diff --git a/libre-testing/filesystem/host.conf b/libre-testing/filesystem/host.conf
new file mode 100644
index 000000000..cf52fe561
--- /dev/null
+++ b/libre-testing/filesystem/host.conf
@@ -0,0 +1,8 @@
+#
+# /etc/host.conf
+#
+
+order hosts,bind
+multi on
+
+# End of file
diff --git a/libre-testing/filesystem/hosts b/libre-testing/filesystem/hosts
new file mode 100644
index 000000000..1747f9196
--- /dev/null
+++ b/libre-testing/filesystem/hosts
@@ -0,0 +1,9 @@
+#
+# /etc/hosts: static lookup table for host names
+#
+
+#<ip-address> <hostname.domain.org> <hostname>
+127.0.0.1 localhost.localdomain localhost
+::1 localhost.localdomain localhost
+
+# End of file
diff --git a/libre-testing/filesystem/issue b/libre-testing/filesystem/issue
new file mode 100644
index 000000000..b001c55dd
--- /dev/null
+++ b/libre-testing/filesystem/issue
@@ -0,0 +1,2 @@
+Parabola GNU/Linux-libre \r (\n) (\l)
+
diff --git a/libre-testing/filesystem/ld.so.conf b/libre-testing/filesystem/ld.so.conf
new file mode 100644
index 000000000..dfac45683
--- /dev/null
+++ b/libre-testing/filesystem/ld.so.conf
@@ -0,0 +1,7 @@
+#
+# /etc/ld.so.conf
+#
+
+include /etc/ld.so.conf.d/*.conf
+
+# End of file
diff --git a/libre-testing/filesystem/locale.sh b/libre-testing/filesystem/locale.sh
new file mode 100644
index 000000000..5fd4174d5
--- /dev/null
+++ b/libre-testing/filesystem/locale.sh
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+unset LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES \
+ LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION
+
+if [ -n "$XDG_CONFIG_HOME" ] && [ -r "$XDG_CONFIG_HOME/locale.conf" ]; then
+ . "$XDG_CONFIG_HOME/locale.conf"
+elif [ -n $HOME ] && [ -r $HOME/.config/locale.conf ]; then
+ . "$HOME/.config/locale.conf"
+elif [ -r /etc/locale.conf ]; then
+ . /etc/locale.conf
+elif [ -r /etc/rc.conf ]; then
+ LANG=$(. /etc/rc.conf 2>/dev/null; echo "$LOCALE")
+fi
+
+export LANG="${LANG:-C}"
+[ -n "$LC_CTYPE" ] && export LC_CTYPE
+[ -n "$LC_NUMERIC" ] && export LC_NUMERIC
+[ -n "$LC_TIME" ] && export LC_TIME
+[ -n "$LC_COLLATE" ] && export LC_COLLATE
+[ -n "$LC_MONETARY" ] && export LC_MONETARY
+[ -n "$LC_MESSAGES" ] && export LC_MESSAGES
+[ -n "$LC_PAPER" ] && export LC_PAPER
+[ -n "$LC_NAME" ] && export LC_NAME
+[ -n "$LC_ADDRESS" ] && export LC_ADDRESS
+[ -n "$LC_TELEPHONE" ] && export LC_TELEPHONE
+[ -n "$LC_MEASUREMENT" ] && export LC_MEASUREMENT
+[ -n "$LC_IDENTIFICATION" ] && export LC_IDENTIFICATION
diff --git a/libre-testing/filesystem/modprobe.d.usb-load-ehci-first b/libre-testing/filesystem/modprobe.d.usb-load-ehci-first
new file mode 100644
index 000000000..947379411
--- /dev/null
+++ b/libre-testing/filesystem/modprobe.d.usb-load-ehci-first
@@ -0,0 +1,2 @@
+softdep ohci_hcd pre: ehci_hcd
+softdep uhci_hcd pre: ehci_hcd
diff --git a/libre-testing/filesystem/motd b/libre-testing/filesystem/motd
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/libre-testing/filesystem/motd
diff --git a/libre-testing/filesystem/nsswitch.conf b/libre-testing/filesystem/nsswitch.conf
new file mode 100644
index 000000000..6e459adb6
--- /dev/null
+++ b/libre-testing/filesystem/nsswitch.conf
@@ -0,0 +1,19 @@
+# Begin /etc/nsswitch.conf
+
+passwd: files
+group: files
+shadow: files
+
+publickey: files
+
+hosts: files dns
+networks: files
+
+protocols: files
+services: files
+ethers: files
+rpc: files
+
+netgroup: files
+
+# End /etc/nsswitch.conf
diff --git a/libre-testing/filesystem/os-release b/libre-testing/filesystem/os-release
new file mode 100644
index 000000000..fe5f20b4f
--- /dev/null
+++ b/libre-testing/filesystem/os-release
@@ -0,0 +1,8 @@
+NAME="Parabola"
+ID=parabola
+ID_LIKE=arch
+PRETTY_NAME="Parabola GNU/Linux-libre"
+ANSI_COLOR="1;35"
+HOME_URL="https://parabolagnulinux.org/"
+BUG_REPORT_URL="https://labs.parabola.nu/"
+
diff --git a/libre-testing/filesystem/parabola.7.txt b/libre-testing/filesystem/parabola.7.txt
new file mode 100644
index 000000000..f7da03147
--- /dev/null
+++ b/libre-testing/filesystem/parabola.7.txt
@@ -0,0 +1,81 @@
+/////
+vim:set ts=4 sw=4 syntax=asciidoc noet:
+/////
+parabola(7)
+============
+
+NAME
+----
+parabola - basic configuration
+
+SYNOPSIS
+--------
+Overview of the basic configuration of Parabola GNU/Linux-libre.
+
+DESCRIPTION
+-----------
+Parabola exposes the user to the system without hiding any details. This manpage gives a
+brief overview of the configuration files that should be set up on a fresh install.
+
+INITSCRIPTS[[I]]
+----------------
+The initscripts are configured in rc.conf. Here you configure what daemons to start on boot, what storage
+technologies should be enabled and, optionally, a basic network setup.
+
+HOSTNAME[[H]]
+-------------
+The hostname of the machine should be set in /etc/hostname. Additionally, either /etc/hosts should be
+configured accordingly, or nss-myhostname should be used. This is needed so the hostname can always
+be resolved to the current machine, which is required by some programs.
+
+LOCALIZATION[[L]]
+-----------------
+Various locales may be enabled in /etc/locale.gen, and generated by locale-gen. The system-wide locale to be used
+can be configured in /etc/locale.conf. These settings can be overridden on a par-user basis by keeping a
+user-spcefic locale.conf in $HOME/.config/locale.conf. The user-specific file will take precedence if it exists.
+
+VIRTUAL CONSOLE[[V]]
+--------------------
+The virtual console is configured in /etc/vconsole.conf. It allows you to set a font and a keyboard layout, among
+other things. Note that these settings only apply to the console, and not if you use X.
+
+TIME[[T]]
+---------
+The local timezone is configured by *symlinking* /etc/localtime to the correct zoneinfo file under
+/usr/share/zoneinfo/. E.g.,
+
+ /etc/localtime -> /usr/share/zoneinfo/Europe/Paris
+
+The real-time clock, which keeps track of time when the computer is off, can be configured to either
+be in UTC or in localtime in /etc/adjtime. The default is UTC.
+
+FILESYSTEMS[[F]]
+----------------
+Filesystems are configured in /etc/fstab, and encryption mappings are configured in /etc/crypttab.
+
+INITRAMFS[[R]]
+--------------
+The initramfs is generated by mkinitcpio, and can be configured in /etc/mkinitcpio.conf.
+
+PACKAGE MANAGER[[P]]
+--------------------
+The package manager, pacman, is configured in /etc/pacman.conf.
+
+BOOTLOADER[[B]]
+---------------
+GRUB's configuration is generated from /etc/default/grub by grub-mkconfig. Syslinux is configured in /boot/syslinux/syslinux.cfg
+
+MODULES[[M]]
+------------
+Most modules should be loaded on-demand. Modules to be unconditionally loaded at boot can be specified in /etc/modules-load.d/,
+and modules to be blacklisted from auto-loading can be configured in /etc/modprobe.d/.
+
+SEE ALSO
+--------
+
+rc.conf(5), hostname(5), hosts(5), nsswitch.conf(5), locale.conf(5), vconsole.conf(5), timezone(3), hwclock(8), fstab(5), crypttab(5),
+mkinitcpio(8), pacman(8), pacman.conf(5), grub-mkconfig(8), syslinux(1), modules-load.d(5), modprobe.d(5)
+
+AUTHORS
+-------
+Written by Tom Gundersen. Rebranded for Parabola by Nicolás Reynolds and André Silva.
diff --git a/libre-testing/filesystem/passwd b/libre-testing/filesystem/passwd
new file mode 100644
index 000000000..a4a24e34f
--- /dev/null
+++ b/libre-testing/filesystem/passwd
@@ -0,0 +1,7 @@
+root:x:0:0:root:/root:/bin/bash
+bin:x:1:1:bin:/bin:/bin/false
+daemon:x:2:2:daemon:/sbin:/bin/false
+mail:x:8:12:mail:/var/spool/mail:/bin/false
+ftp:x:14:11:ftp:/srv/ftp:/bin/false
+http:x:33:33:http:/srv/http:/bin/false
+nobody:x:99:99:nobody:/:/bin/false
diff --git a/libre-testing/filesystem/profile b/libre-testing/filesystem/profile
new file mode 100644
index 000000000..3bc22db9f
--- /dev/null
+++ b/libre-testing/filesystem/profile
@@ -0,0 +1,27 @@
+# /etc/profile
+
+#Set our umask
+umask 022
+
+# Set our default path
+PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin"
+export PATH
+
+# Load profiles from /etc/profile.d
+if test -d /etc/profile.d/; then
+ for profile in /etc/profile.d/*.sh; do
+ test -r "$profile" && . "$profile"
+ done
+ unset profile
+fi
+
+# Source global bash config
+if test "$PS1" && test "$BASH" && test -r /etc/bash.bashrc; then
+ . /etc/bash.bashrc
+fi
+
+# Termcap is outdated, old, and crusty, kill it.
+unset TERMCAP
+
+# Man is much better than us at figuring this out
+unset MANPATH
diff --git a/libre-testing/filesystem/resolv.conf b/libre-testing/filesystem/resolv.conf
new file mode 100644
index 000000000..cecafba03
--- /dev/null
+++ b/libre-testing/filesystem/resolv.conf
@@ -0,0 +1,8 @@
+#
+# /etc/resolv.conf
+#
+
+#search <yourdomain.tld>
+#nameserver <ip>
+
+# End of file
diff --git a/libre-testing/filesystem/securetty b/libre-testing/filesystem/securetty
new file mode 100644
index 000000000..5a2235ce7
--- /dev/null
+++ b/libre-testing/filesystem/securetty
@@ -0,0 +1,15 @@
+#
+# /etc/securetty
+#
+
+console
+tty1
+tty2
+tty3
+tty4
+tty5
+tty6
+ttyS0
+hvc0
+
+# End of file
diff --git a/libre-testing/filesystem/shadow b/libre-testing/filesystem/shadow
new file mode 100644
index 000000000..ccab68d33
--- /dev/null
+++ b/libre-testing/filesystem/shadow
@@ -0,0 +1,7 @@
+root::14871::::::
+bin:x:14871::::::
+daemon:x:14871::::::
+mail:x:14871::::::
+ftp:x:14871::::::
+http:x:14871::::::
+nobody:x:14871::::::
diff --git a/libre-testing/filesystem/shells b/libre-testing/filesystem/shells
new file mode 100644
index 000000000..18c1aeffa
--- /dev/null
+++ b/libre-testing/filesystem/shells
@@ -0,0 +1,8 @@
+#
+# /etc/shells
+#
+
+/bin/sh
+/bin/bash
+
+# End of file
diff --git a/libre-testing/kdebase-konqueror-libre/PKGBUILD b/libre-testing/kdebase-konqueror-libre/PKGBUILD
new file mode 100644
index 000000000..f69e561be
--- /dev/null
+++ b/libre-testing/kdebase-konqueror-libre/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 165939 2012-09-03 21:49:19Z andrea $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+
+_pkgname='kdebase-konqueror'
+pkgname='kdebase-konqueror-libre'
+pkgver=4.9.1
+pkgrel=1
+arch=('i686' 'x86_64' 'mips64el')
+url="http://kde.org/applications/internet/konqueror/"
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdebase')
+makedepends=('kdelibs' 'cmake' 'automoc4' 'tidyhtml')
+source=("http://download.kde.org/stable/${pkgver}/src/kde-baseapps-${pkgver}.tar.xz"
+ "konq-about-fsdg.diff")
+sha1sums=('9014332fd6fb18999c8290a3cbb498793d8caa2f'
+ 'f41541371414dcbe5e76687835e648112b3ff364')
+pkgdesc='KDE File Manager & Web Browser'
+depends=('kdebase-dolphin' 'kdebase-keditbookmarks')
+optdepends=('kwebkitpart: to enable webkit engine')
+install='kdebase-konqueror.install'
+conflicts=('kdebase-nsplugins' 'kdebase-konqueror')
+replaces=('kdebase-nsplugins' 'kdebase-konqueror')
+provides=("kdebase-konqueror=$pkgver")
+
+build() {
+ cd "${srcdir}"/kde-baseapps-${pkgver}
+
+ # Don't recommend nonfree software or Google.
+ patch -Np1 -i "${srcdir}/konq-about-fsdg.diff"
+
+ cd ${srcdir}
+ mkdir build
+ cd build
+ cmake ../kde-baseapps-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ for i in konqueror doc/konqueror nsplugins; do
+ cd $srcdir/build/${i}
+ make
+ done
+}
+
+package() {
+ for i in konqueror doc/konqueror nsplugins; do
+ cd $srcdir/build/${i}
+ make DESTDIR=$pkgdir install
+ done
+}
diff --git a/libre-testing/kdebase-konqueror-libre/kdebase-konqueror.install b/libre-testing/kdebase-konqueror-libre/kdebase-konqueror.install
new file mode 100644
index 000000000..5495fb1b5
--- /dev/null
+++ b/libre-testing/kdebase-konqueror-libre/kdebase-konqueror.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre-testing/kdebase-konqueror-libre/konq-about-fsdg.diff b/libre-testing/kdebase-konqueror-libre/konq-about-fsdg.diff
new file mode 100644
index 000000000..06b2103c3
--- /dev/null
+++ b/libre-testing/kdebase-konqueror-libre/konq-about-fsdg.diff
@@ -0,0 +1,33 @@
+diff -ru kde-baseapps-4.8.0.orig/konqueror/about/konq_aboutpage.cc kde-baseapps-4.8.0/konqueror/about/konq_aboutpage.cc
+--- kde-baseapps-4.8.0.orig/konqueror/about/konq_aboutpage.cc 2012-01-30 19:28:59.506176399 +0100
++++ kde-baseapps-4.8.0/konqueror/about/konq_aboutpage.cc 2012-01-30 19:34:50.695537153 +0100
+@@ -214,14 +214,11 @@
+ QString("http://www.ecma-international.org/publications/standards/ECMA-262.HTM")) )
+ .arg( i18n("JavaScript disabled (globally). Enable JavaScript <A HREF=\"%1\">here</A>.", QString("exec:/kcmshell4 khtml_java_js")) )
+ .arg( i18n("JavaScript enabled (globally). Configure JavaScript <A HREF=\\\"%1\\\">here</A>.", QString("exec:/kcmshell4 khtml_java_js")) ) // leave the double backslashes here, they are necessary for javascript !
+- .arg( i18n("Secure <A HREF=\"%1\">Java</A><SUP>&reg;</SUP> support", QString("http://www.oracle.com/technetwork/java/index.html")) )
+- .arg( i18n("JDK 1.2.0 (Java 2) compatible VM (<A HREF=\"%1\">IBM</A> or <A HREF=\"%2\">Sun/Oracle</A>)",
+- QString("http://www.ibm.com"), QString("http://www.oracle.com/technetwork/java/index.html")) )
++ .arg( i18n("Secure Java<SUP>&reg;</SUP> support") )
++ .arg( i18n("JDK 1.2.0 (Java 2) compatible VM") )
+ .arg( i18n("Enable Java (globally) <A HREF=\"%1\">here</A>.", QString("exec:/kcmshell4 khtml_java_js")) ) // TODO Maybe test if Java is enabled ?
+- .arg( i18n("Netscape Communicator<SUP>&reg;</SUP> <A HREF=\"%4\">plugins</A> (for viewing <A HREF=\"%1\">Flash<SUP>&reg;</SUP></A>, <A HREF=\"%2\">Real<SUP>&reg;</SUP></A>Audio, <A HREF=\"%3\">Real<SUP>&reg;</SUP></A>Video, etc.)",
+- QString("http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"),
+- QString("http://www.real.com"), QString("http://www.real.com"),
+- QString("about:plugins")) )
++ .arg( i18n("Netscape Communicator<SUP>&reg;</SUP> <A HREF=\"%1\">plugins</A> ",
++ QString("about:plugins")) )
+ .arg( i18n("built-in") )
+ .arg( i18n("Secure Sockets Layer") )
+ .arg( i18n("(TLS/SSL v2/3) for secure communications up to 168bit") )
+@@ -293,8 +290,8 @@
+ .arg( i18n( "Tips" ) )
+ .arg( i18n( "Specifications" ) )
+ .arg( i18n( "Tips &amp; Tricks" ) )
+- .arg( i18n( "Use Web-Shortcuts: by typing \"gg: KDE\" one can search the Internet, "
+- "using Google, for the search phrase \"KDE\". There are a lot of "
++ .arg( i18n( "Use Web-Shortcuts: by typing \"dd: KDE\" one can search the Internet, "
++ "using DuckDuckGo, for the search phrase \"KDE\". There are a lot of "
+ "Web-Shortcuts predefined to make searching for software or looking "
+ "up certain words in an encyclopedia a breeze. You can even "
+ "<a href=\"%1\">create your own</a> Web-Shortcuts." , QString("exec:/kcmshell4 ebrowsing")) )
diff --git a/libre-testing/kdebase-runtime-libre/PKGBUILD b/libre-testing/kdebase-runtime-libre/PKGBUILD
new file mode 100644
index 000000000..ba6273763
--- /dev/null
+++ b/libre-testing/kdebase-runtime-libre/PKGBUILD
@@ -0,0 +1,57 @@
+# $Id$
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+
+_pkgname=kdebase-runtime
+pkgname=kdebase-runtime-libre
+pkgver=4.9.1
+pkgrel=1
+pkgdesc="Plugins and applications necessary for the running of KDE applications (without non-privacy search providers)"
+arch=('i686' 'x86_64' 'mips64el')
+url='https://projects.kde.org/projects/kde/kde-runtime'
+license=('GPL' 'LGPL')
+depends=('nepomuk-core' 'smbclient' 'libssh' 'libcanberra' 'oxygen-icons' 'xorg-xauth'
+ 'kactivities')
+makedepends=('pkg-config' 'cmake' 'automoc4' 'kdepimlibs' 'openslp' 'doxygen'
+ 'networkmanager')
+optdepends=('kdepimlibs: to generate drkonqi reports'
+ 'htdig: to build the search index in khelpcenter'
+ 'rarian: needed by khelpcenter'
+ 'gdb: drkonq crash handler')
+replaces=("${_pkgname}")
+conflicts=("${_pkgname}")
+provides=("${_pkgname}=${pkgver}")
+install="${_pkgname}.install"
+source=("http://download.kde.org/stable/${pkgver}/src/kde-runtime-${pkgver}.tar.xz"
+ 'duckduckgo_lite.desktop')
+sha1sums=('4b67e0f12617c478ee29546da4d98f605cd35dec'
+ '265d4ca95c3a022b5f6f1d5daea6f8e3a25dee85')
+
+build() {
+ cd "${srcdir}"
+
+# Removing non-privacy search providers
+ rm -v kde-runtime-${pkgver}/kurifilter-plugins/ikws/searchproviders/{7digital,acronym,altavista,amazon{,_mp3},amg,austronaut,backports,baidu,bing,blip,cia,dbug,deb,duckduckgo{,_info,_shopping},facebook,ecosia,feedster,flickr,flickrcc,froogle,google,google_advanced,google_code,google_groups,google_images,google_lucky,google_maps,google_movie,google_news,gracenote,imdb,jeeves,katatudo,magnatune,metacrawler,msdn,nl-telephone,nl-teletekst,python,rpmfind,tvtome,uspto,vimeo,vivisimo,voila,yahoo,yahoo_image,yahoo_local,yahoo_shopping,yahoo_video,youtube}.desktop
+
+# Adding DuckDuckGo Lite
+ cp -v duckduckgo_lite.desktop "kde-runtime-${pkgver}/kurifilter-plugins/ikws/searchproviders"
+
+ mkdir build
+ cd build
+ cmake ../kde-runtime-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DWITH_QNtrack=OFF \
+ -DWITH_Xine=OFF
+ make
+}
+
+package() {
+ cd "$srcdir/build"
+ make DESTDIR="$pkgdir" install
+ rm -f "${pkgdir}/usr/share/icons/hicolor/index.theme"
+
+ ln -sf /usr/lib/kde4/libexec/kdesu "${pkgdir}/usr/bin/"
+}
diff --git a/libre-testing/kdebase-runtime-libre/duckduckgo_lite.desktop b/libre-testing/kdebase-runtime-libre/duckduckgo_lite.desktop
new file mode 100644
index 000000000..2b875b4c1
--- /dev/null
+++ b/libre-testing/kdebase-runtime-libre/duckduckgo_lite.desktop
@@ -0,0 +1,113 @@
+[Desktop Entry]
+Charset=
+Hidden=false
+Keys=duckduckgo,dd,dukgo
+Name=Duck Duck Go Lite
+Name[ar]=Duck Duck Go Lite
+Name[ast]=Duck Duck Go Lite
+Name[bg]=Duck Duck Go Lite
+Name[bn]=Duck Duck Go Lite
+Name[bs]=Dak dak go lite
+Name[ca]=Duck Duck Go Lite
+Name[ca@valencia]=Duck Duck Go Lite
+Name[cs]=Duck Duck Go Lite
+Name[da]=Duck Duck Go Lite
+Name[de]=Duck Duck Go Lite
+Name[el]=Duck Duck Go Lite
+Name[en_GB]=Duck Duck Go Lite
+Name[eo]=Duck Duck Go Lite
+Name[es]=Duck Duck Go Lite
+Name[et]=Duck Duck Go Lite
+Name[eu]=Duck Duck Go Lite
+Name[fa]=Duck Duck Go Lite
+Name[fi]=Duck Duck Go Lite
+Name[fr]=Duck Duck Go Lite
+Name[ga]=Duck Duck Go Lite
+Name[gl]=Duck Duck Go Lite
+Name[gu]=Duck Duck Go Lite
+Name[he]=Duck Duck Go Lite
+Name[hi]=Duck Duck Go Lite
+Name[hr]=Duck Duck Go Lite
+Name[hu]=Duck Duck Go Lite
+Name[ia]=Duck Duck Go Lite
+Name[id]=Duck Duck Go Lite
+Name[is]=Duck Duck Go Lite
+Name[it]=Duck Duck Go Lite
+Name[ja]=Duck Duck Go Lite
+Name[kk]=Duck Duck Go Lite
+Name[km]=Duck Duck Go Lite
+Name[kn]=Duck Duck Go Lite
+Name[ko]=Duck Duck Go Lite
+Name[lt]=Duck Duck Go Lite
+Name[lv]=Duck Duck Go Lite
+Name[ml]=Duck Duck Go Lite
+Name[nb]=Duck Duck Go Lite
+Name[nds]=Duck Duck Go Lite
+Name[nl]=Duck Duck Go Lite
+Name[nn]=Duck Duck Go Lite
+Name[pa]=Duck Duck Go Lite
+Name[pl]=Duck Duck Go Lite
+Name[pt]=Duck Duck Go Lite
+Name[pt_BR]=Duck Duck Go Lite
+Name[ro]=Duck Duck Go Lite
+Name[ru]=Поиск Duck Duck Go Lite
+Name[si]=Duck Duck Go Lite
+Name[sk]=Duck Duck Go Lite
+Name[sl]=Duck Duck Go Lite
+Name[sr]=Duck Duck Go Lite
+Name[sr@ijekavian]=Duck Duck Go Lite
+Name[sr@ijekavianlatin]=Duck Duck Go Lite
+Name[sr@latin]=Duck Duck Go Lite
+Name[sv]=Duck Duck Go Lite
+Name[tg]=Duck Duck Go Lite
+Name[th]=Duck Duck Go Lite
+Name[tr]=Duck Duck Go Lite
+Name[ug]=Duck Duck Go Lite
+Name[uk]=Duck Duck Go Lite
+Name[vi]=Duck Duck Go Lite
+Name[wa]=Duck Duck Go Lite
+Name[x-test]=xxDuck Duck Go Litexx
+Name[zh_CN]=Duck Duck Go Lite
+Name[zh_TW]=Duck Duck Go Lite
+Query=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[bg]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[bn]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[ca]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[cs]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[da]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[de]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[el]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[eo]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[es]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[et]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[fi]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[fr]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[gl]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[hi]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[hu]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[ia]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[it]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[kk]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[km]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[nb]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[nl]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[pa]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[pl]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[pt]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[pt_BR]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[ro]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[ru]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[sl]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[sr]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[sr@ijekavian]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[sr@ijekavianlatin]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[sr@latin]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[sv]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[tr]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[uk]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[wa]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[x-test]=xxhttp://duckduckgo.com/lite/?q=\\{@}&t=KDExx
+Query[zh_CN]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[zh_TW]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+ServiceTypes=SearchProvider
+Type=Service
diff --git a/libre-testing/kdebase-runtime-libre/kdebase-runtime.install b/libre-testing/kdebase-runtime-libre/kdebase-runtime.install
new file mode 100644
index 000000000..c77e68041
--- /dev/null
+++ b/libre-testing/kdebase-runtime-libre/kdebase-runtime.install
@@ -0,0 +1,13 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-mime-database usr/share/mime &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre-testing/kdelibs-libre/PKGBUILD b/libre-testing/kdelibs-libre/PKGBUILD
new file mode 100644
index 000000000..e5fdb1ea6
--- /dev/null
+++ b/libre-testing/kdelibs-libre/PKGBUILD
@@ -0,0 +1,69 @@
+# $Id: PKGBUILD 165921 2012-09-03 21:48:13Z andrea $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+
+_pkgname=kdelibs
+pkgname=kdelibs-libre
+pkgver=4.9.1
+pkgrel=1
+pkgdesc="KDE Core Libraries"
+arch=('i686' 'x86_64' 'mips64el')
+url='https://projects.kde.org/projects/kde/kdelibs'
+license=('GPL' 'LGPL' 'FDL')
+depends=('strigi' 'attica' 'libxss' 'soprano' 'krb5' 'grantlee'
+ 'shared-desktop-ontologies' 'qca' 'libdbusmenu-qt' 'polkit-qt'
+ 'shared-mime-info' 'enchant' 'giflib' 'jasper' 'openexr'
+ 'docbook-xsl' 'upower' 'udisks' 'libxcursor' 'phonon' 'qtwebkit'
+ 'media-player-info' 'libxtst')
+makedepends=('cmake' 'automoc4' 'avahi' 'libgl' 'hspell')
+provides=("kdelibs=$pkgver")
+replaces=('kdelibs')
+conflicts=('kdelibs')
+install=${_pkgname}.install
+source=("http://download.kde.org/stable/${pkgver}/src/${_pkgname}-${pkgver}.tar.xz"
+ 'kde-applications-menu.patch'
+ 'use-pythondontwritebytecode.patch'
+ 'khtml-fsdg.diff')
+sha1sums=('33fb26ec7735122b2bb084b79f8fcffb826c58f0'
+ '86ee8c8660f19de8141ac99cd6943964d97a1ed7'
+ 'bbacbbe2194f3961cd7557d98a9ddef158ca11aa'
+ 'a1502a964081ad583a00cf90c56e74bf60121830')
+
+build() {
+ cd "${srcdir}"/${_pkgname}-${pkgver}
+
+ # avoid file conflict with gnome-menus
+ patch -p1 -i "${srcdir}"/kde-applications-menu.patch
+
+ # Set PYTHONDONTWRITEBYTECODE (KDEBUG#276151)
+ patch -p0 -i "${srcdir}"/use-pythondontwritebytecode.patch
+
+ # Don't ask the user to download a plugin, it's probably nonfree.
+ patch -p1 -i "${srcdir}"/khtml-fsdg.diff
+
+ cd "${srcdir}"
+ mkdir build
+ cd build
+ cmake ../${_pkgname}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DKDE_DISTRIBUTION_TEXT='Parabola GNU/Linux-libre' \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DSYSCONF_INSTALL_DIR=/etc \
+ -DHTML_INSTALL_DIR=/usr/share/doc/kde/html \
+ -DKDE_DEFAULT_HOME='.kde4' \
+ -DWITH_FAM=OFF \
+ -DWITH_HUpnp=OFF
+ make
+}
+
+package() {
+ cd "${srcdir}"/build
+ make DESTDIR="${pkgdir}" install
+
+ # cert bundle seems to be hardcoded
+ # link it to the one from ca-certificates
+ rm -f "${pkgdir}"/usr/share/apps/kssl/ca-bundle.crt
+ ln -sf /etc/ssl/certs/ca-certificates.crt "${pkgdir}"/usr/share/apps/kssl/ca-bundle.crt
+}
diff --git a/libre-testing/kdelibs-libre/fix-kmail-crash.patch b/libre-testing/kdelibs-libre/fix-kmail-crash.patch
new file mode 100644
index 000000000..27caa25f0
--- /dev/null
+++ b/libre-testing/kdelibs-libre/fix-kmail-crash.patch
@@ -0,0 +1,71 @@
+commit 979b0436510e7807c054e79c40c3753834ac2863
+Author: Sebastian Trueg <trueg@kde.org>
+Date: Thu Mar 15 09:14:35 2012 +0100
+
+ Thread-safe ResourceWatcher handling.
+
+ We simply perform all RW operations in the manager thread.
+
+ BUG: 295474
+ FIXED-IN: 4.8.2
+
+diff --git a/nepomuk/core/resourcedata.cpp b/nepomuk/core/resourcedata.cpp
+index abe55ea..9d45228 100644
+--- a/nepomuk/core/resourcedata.cpp
++++ b/nepomuk/core/resourcedata.cpp
+@@ -175,7 +175,8 @@ void Nepomuk::ResourceData::resetAll( bool isDelete )
+ if( !m_uri.isEmpty() ) {
+ m_rm->m_initializedData.remove( m_uri );
+ if( m_rm->m_watcher && m_addedToWatcher ) {
+- m_rm->m_watcher->removeResource(Resource::fromResourceUri(m_uri));
++ // See load() for an explanation of the QMetaObject call
++ QMetaObject::invokeMethod(m_rm->m_watcher, "removeResource", Qt::AutoConnection, Q_ARG(Nepomuk::Resource, Resource::fromResourceUri(m_uri)));
+ m_addedToWatcher = false;
+ }
+ }
+@@ -393,16 +394,23 @@ bool Nepomuk::ResourceData::load()
+ m_cache.clear();
+
+ if(!m_rm->m_watcher) {
++ //
++ // The ResourceWatcher is not thread-safe. Thus, we need to ensure the safety ourselves.
++ // We do that by simply handling all RW related operations in the manager thread.
++ // This also means to invoke methods on the watcher through QMetaObject to make sure they
++ // get queued in case of calls between different threads.
++ //
+ m_rm->m_watcher = new ResourceWatcher(m_rm->m_manager);
++ m_rm->m_watcher->moveToThread(m_rm->m_manager->thread());
+ QObject::connect( m_rm->m_watcher, SIGNAL(propertyAdded(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)),
+ m_rm->m_manager, SLOT(slotPropertyAdded(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)) );
+ QObject::connect( m_rm->m_watcher, SIGNAL(propertyRemoved(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)),
+ m_rm->m_manager, SLOT(slotPropertyRemoved(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)) );
+ m_rm->m_watcher->addResource( Nepomuk::Resource::fromResourceUri(m_uri) );
+- m_rm->m_watcher->start();
++ QMetaObject::invokeMethod(m_rm->m_watcher, "start", Qt::AutoConnection);
+ }
+ else {
+- m_rm->m_watcher->addResource( Nepomuk::Resource::fromResourceUri(m_uri) );
++ QMetaObject::invokeMethod(m_rm->m_watcher, "addResource", Qt::AutoConnection, Q_ARG(Nepomuk::Resource, Nepomuk::Resource::fromResourceUri(m_uri)) );
+ }
+ m_addedToWatcher = true;
+
+diff --git a/nepomuk/core/resourcewatcher.h b/nepomuk/core/resourcewatcher.h
+index 06b9622..92b12f5 100644
+--- a/nepomuk/core/resourcewatcher.h
++++ b/nepomuk/core/resourcewatcher.h
+@@ -93,6 +93,7 @@ namespace Nepomuk {
+ */
+ virtual ~ResourceWatcher();
+
++ public Q_SLOTS:
+ /**
+ * \brief Add a type to be watched.
+ *
+@@ -204,7 +205,6 @@ namespace Nepomuk {
+ */
+ QList<Types::Property> properties() const;
+
+- public Q_SLOTS:
+ /**
+ * \brief Start the signalling of changes.
+ *
diff --git a/libre-testing/kdelibs-libre/kde-applications-menu.patch b/libre-testing/kdelibs-libre/kde-applications-menu.patch
new file mode 100644
index 000000000..4b513298a
--- /dev/null
+++ b/libre-testing/kdelibs-libre/kde-applications-menu.patch
@@ -0,0 +1,22 @@
+--- kdelibs-4.3.98/kded/CMakeLists.txt 2009-10-02 14:55:17.000000000 +0000
++++ kdelibs-4.3.98/kded/CMakeLists.txt 2010-01-31 22:16:13.946933892 +0000
+@@ -69,7 +69,7 @@
+ if (WIN32)
+ install( FILES applications.menu DESTINATION ${SHARE_INSTALL_PREFIX}/xdg/menus )
+ else (WIN32)
+-install( FILES applications.menu DESTINATION ${SYSCONF_INSTALL_DIR}/xdg/menus )
++install( FILES applications.menu DESTINATION ${SYSCONF_INSTALL_DIR}/xdg/menus RENAME kde-applications.menu )
+ endif (WIN32)
+ install( FILES kdedmodule.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR} )
+ install( FILES kded.upd DESTINATION ${DATA_INSTALL_DIR}/kconf_update )
+--- kdelibs-4.3.98/kded/kbuildsycoca.cpp 2009-12-04 23:10:18.000000000 +0000
++++ kdelibs-4.3.98/kded/kbuildsycoca.cpp 2010-01-31 22:16:13.962766572 +0000
+@@ -302,7 +302,7 @@
+ if (!m_trackId.isEmpty())
+ g_vfolder->setTrackId(m_trackId);
+
+- VFolderMenu::SubMenu *kdeMenu = g_vfolder->parseMenu("applications.menu", true);
++ VFolderMenu::SubMenu *kdeMenu = g_vfolder->parseMenu("kde-applications.menu", true);
+
+ KServiceGroup::Ptr entry = g_bsgf->addNew("/", kdeMenu->directoryFile, KServiceGroup::Ptr(), false);
+ entry->setLayoutInfo(kdeMenu->layoutList);
diff --git a/libre-testing/kdelibs-libre/kdelibs.install b/libre-testing/kdelibs-libre/kdelibs.install
new file mode 100644
index 000000000..c77e68041
--- /dev/null
+++ b/libre-testing/kdelibs-libre/kdelibs.install
@@ -0,0 +1,13 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-mime-database usr/share/mime &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre-testing/kdelibs-libre/khtml-fsdg.diff b/libre-testing/kdelibs-libre/khtml-fsdg.diff
new file mode 100644
index 000000000..1a531b3c8
--- /dev/null
+++ b/libre-testing/kdelibs-libre/khtml-fsdg.diff
@@ -0,0 +1,50 @@
+diff -ru kdelibs-4.8.0.orig/khtml/html/html_objectimpl.cpp kdelibs-4.8.0/khtml/html/html_objectimpl.cpp
+--- kdelibs-4.8.0.orig/khtml/html/html_objectimpl.cpp 2012-01-30 19:46:27.684114289 +0100
++++ kdelibs-4.8.0/khtml/html/html_objectimpl.cpp 2012-01-30 19:47:47.222111046 +0100
+@@ -577,46 +577,6 @@
+
+ void HTMLObjectBaseElementImpl::slotPartLoadingErrorNotify()
+ {
+- // If we have an embed, we may be able to tell the user where to
+- // download the plugin.
+-
+- HTMLEmbedElementImpl *embed = relevantEmbed();
+- QString serviceType; // shadows ours, but we don't care.
+-
+- if (!embed)
+- return;
+-
+- serviceType = embed->serviceType;
+-
+- KHTMLPart* part = document()->part();
+- KParts::BrowserExtension *ext = part->browserExtension();
+-
+- if(!embed->pluginPage.isEmpty() && ext) {
+- // Prepare the mimetype to show in the question (comment if available, name as fallback)
+- QString mimeName = serviceType;
+- KMimeType::Ptr mime = KMimeType::mimeType(serviceType, KMimeType::ResolveAliases);
+- if ( mime && mime->name() != KMimeType::defaultMimeType() )
+- mimeName = mime->comment();
+-
+- // Check if we already asked the user, for this page
+- if (!mimeName.isEmpty() && !part->pluginPageQuestionAsked(serviceType))
+- {
+- part->setPluginPageQuestionAsked(serviceType);
+-
+- // Prepare the URL to show in the question (host only if http, to make it short)
+- KUrl pluginPageURL(embed->pluginPage);
+- QString shortURL = pluginPageURL.protocol() == "http" ? pluginPageURL.host() : pluginPageURL.prettyUrl();
+- int res = KMessageBox::questionYesNo( part->view(),
+- i18n("No plugin found for '%1'.\nDo you want to download one from %2?", mimeName, shortURL),
+- i18n("Missing Plugin"), KGuiItem(i18n("Download")), KGuiItem(i18n("Do Not Download")), QString("plugin-")+serviceType);
+- if (res == KMessageBox::Yes)
+- {
+- // Display vendor download page
+- ext->createNewWindow(pluginPageURL);
+- return;
+- }
+- }
+- }
+ }
+
+
diff --git a/libre-testing/kdelibs-libre/use-pythondontwritebytecode.patch b/libre-testing/kdelibs-libre/use-pythondontwritebytecode.patch
new file mode 100644
index 000000000..e221e939a
--- /dev/null
+++ b/libre-testing/kdelibs-libre/use-pythondontwritebytecode.patch
@@ -0,0 +1,80 @@
+--- cmake/modules/PythonMacros.cmake
++++ cmake/modules/PythonMacros.cmake
+@@ -23,40 +23,42 @@
+ # Install the source file.
+ INSTALL(FILES ${SOURCE_FILE} DESTINATION ${DESINATION_DIR})
+
+- # Byte compile and install the .pyc file.
+- GET_FILENAME_COMPONENT(_absfilename ${SOURCE_FILE} ABSOLUTE)
+- GET_FILENAME_COMPONENT(_filename ${SOURCE_FILE} NAME)
+- GET_FILENAME_COMPONENT(_filenamebase ${SOURCE_FILE} NAME_WE)
+- GET_FILENAME_COMPONENT(_basepath ${SOURCE_FILE} PATH)
+-
+- if(WIN32)
+- string(REGEX REPLACE ".:/" "/" _basepath "${_basepath}")
+- endif(WIN32)
+-
+- SET(_bin_py ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filename})
+- SET(_bin_pyc ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filenamebase}.pyc)
+-
+- FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_basepath})
+-
+- SET(_message "-DMESSAGE=Byte-compiling ${_bin_py}")
+-
+- GET_FILENAME_COMPONENT(_abs_bin_py ${_bin_py} ABSOLUTE)
+- IF(_abs_bin_py STREQUAL ${_absfilename}) # Don't copy the file onto itself.
+- ADD_CUSTOM_COMMAND(
+- TARGET compile_python_files
+- COMMAND ${CMAKE_COMMAND} -E echo ${_message}
+- COMMAND ${PYTHON_EXECUTABLE} ${_python_compile_py} ${_bin_py}
+- DEPENDS ${_absfilename}
+- )
+- ELSE(_abs_bin_py STREQUAL ${_absfilename})
+- ADD_CUSTOM_COMMAND(
+- TARGET compile_python_files
+- COMMAND ${CMAKE_COMMAND} -E echo ${_message}
+- COMMAND ${CMAKE_COMMAND} -E copy ${_absfilename} ${_bin_py}
+- COMMAND ${PYTHON_EXECUTABLE} ${_python_compile_py} ${_bin_py}
+- DEPENDS ${_absfilename}
+- )
+- ENDIF(_abs_bin_py STREQUAL ${_absfilename})
++ # Byte compile and install the .pyc file.
++ IF("$ENV{PYTHONDONTWRITEBYTECODE}" STREQUAL "")
++ GET_FILENAME_COMPONENT(_absfilename ${SOURCE_FILE} ABSOLUTE)
++ GET_FILENAME_COMPONENT(_filename ${SOURCE_FILE} NAME)
++ GET_FILENAME_COMPONENT(_filenamebase ${SOURCE_FILE} NAME_WE)
++ GET_FILENAME_COMPONENT(_basepath ${SOURCE_FILE} PATH)
++
++ if(WIN32)
++ string(REGEX REPLACE ".:/" "/" _basepath "${_basepath}")
++ endif(WIN32)
++
++ SET(_bin_py ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filename})
++ SET(_bin_pyc ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filenamebase}.pyc)
++
++ FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_basepath})
++
++ SET(_message "-DMESSAGE=Byte-compiling ${_bin_py}")
++
++ GET_FILENAME_COMPONENT(_abs_bin_py ${_bin_py} ABSOLUTE)
++ IF(_abs_bin_py STREQUAL ${_absfilename}) # Don't copy the file onto itself.
++ ADD_CUSTOM_COMMAND(
++ TARGET compile_python_files
++ COMMAND ${CMAKE_COMMAND} -E echo ${_message}
++ COMMAND ${PYTHON_EXECUTABLE} ${_python_compile_py} ${_bin_py}
++ DEPENDS ${_absfilename}
++ )
++ ELSE(_abs_bin_py STREQUAL ${_absfilename})
++ ADD_CUSTOM_COMMAND(
++ TARGET compile_python_files
++ COMMAND ${CMAKE_COMMAND} -E echo ${_message}
++ COMMAND ${CMAKE_COMMAND} -E copy ${_absfilename} ${_bin_py}
++ COMMAND ${PYTHON_EXECUTABLE} ${_python_compile_py} ${_bin_py}
++ DEPENDS ${_absfilename}
++ )
++ ENDIF(_abs_bin_py STREQUAL ${_absfilename})
+
+- INSTALL(FILES ${_bin_pyc} DESTINATION ${DESINATION_DIR})
++ INSTALL(FILES ${_bin_pyc} DESTINATION ${DESINATION_DIR})
++ ENDIF("$ENV{PYTHONDONTWRITEBYTECODE}" STREQUAL "")
+ ENDMACRO(PYTHON_INSTALL)
diff --git a/libre-testing/kdenetwork-kopete-libre/PKGBUILD b/libre-testing/kdenetwork-kopete-libre/PKGBUILD
new file mode 100644
index 000000000..0ec26edcd
--- /dev/null
+++ b/libre-testing/kdenetwork-kopete-libre/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id: PKGBUILD 165994 2012-09-03 21:52:07Z andrea $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+
+pkgbase=kdenetwork
+pkgname=('kdenetwork-kopete-libre')
+pkgver=4.9.1
+pkgrel=1
+arch=('i686' 'x86_64')
+url='http://www.kde.org'
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdenetwork')
+makedepends=('cmake' 'automoc4' 'boost' 'speex' 'ortp' 'libotr' 'ppp'
+ 'qca-ossl' 'kdebase-workspace' 'kdebase-lib' 'libvncserver'
+ 'v4l-utils' 'libidn' 'qimageblitz' 'libxdamage' 'libgadu' 'libmsn'
+ 'libktorrent' 'libmms' 'mediastreamer' 'telepathy-qt')
+source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz")
+sha1sums=('22f8cde8b5617ba7e401d82b0669a06899b17320')
+
+build() {
+ cd "${srcdir}"
+# Based on http://bzr.trisquel.info/package-helpers/trunk/annotate/head%3A/helpers/natty/make-kdenetwork, revision 34.
+ sed -i 's/Skype protocol" ON/Skype protocol" OFF/g' "${pkgbase}-${pkgver}/kopete/protocols/CMakeLists.txt"
+ rm -rf "${pkgbase}-${pkgver}/kopete/protocols/skype"
+ sed 's/, Skype//' -i "${pkgbase}-${pkgver}/doc/kopete/index.docbook"
+
+ mkdir build
+ cd build
+ cmake ../${pkgbase}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DMOZPLUGIN_INSTALL_DIR=/usr/lib/mozilla/plugins/ \
+ -DWITH_Xmms=OFF \
+ -DWITH_LibMeanwhile=OFF \
+ -DWITH_qq=OFF
+ make
+}
+
+package_kdenetwork-kopete-libre() {
+ pkgdesc='Instant Messenger (without skype support)'
+ depends=('kdebase-runtime' 'kdepimlibs' 'qca-ossl' 'libotr' 'libmsn'
+ 'libidn' 'qimageblitz' 'libgadu' 'mediastreamer')
+ conflicts=('kdenetwork-kopete')
+ provides=("kdenetwork-kopete=${pkgver}")
+ replaces=('kdenetwork-kopete')
+ url="http://kde.org/applications/internet/kopete/"
+ install='kdenetwork-kopete.install'
+ cd $srcdir/build/kopete
+ make DESTDIR=$pkgdir install
+ cd $srcdir/build/doc/kopete
+ make DESTDIR=$pkgdir install
+}
diff --git a/libre-testing/kdenetwork-kopete-libre/kdenetwork-kopete.install b/libre-testing/kdenetwork-kopete-libre/kdenetwork-kopete.install
new file mode 100644
index 000000000..5495fb1b5
--- /dev/null
+++ b/libre-testing/kdenetwork-kopete-libre/kdenetwork-kopete.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre-testing/kdenetwork-kopete-libre/kdenetwork.install b/libre-testing/kdenetwork-kopete-libre/kdenetwork.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/libre-testing/kdenetwork-kopete-libre/kdenetwork.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre-testing/kdeutils-ark-libre/PKGBUILD b/libre-testing/kdeutils-ark-libre/PKGBUILD
new file mode 100644
index 000000000..a71990231
--- /dev/null
+++ b/libre-testing/kdeutils-ark-libre/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 165999 2012-09-03 21:52:22Z andrea $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+
+_pkgname=kdeutils-ark
+pkgname=kdeutils-ark-libre
+pkgver=4.9.1
+pkgrel=1
+pkgdesc='Archiving Tool'
+url='http://kde.org/applications/utilities/ark/'
+arch=('i686' 'x86_64' 'mips64el')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeutils')
+depends=('kdebase-runtime' 'kdebase-lib' 'libarchive' 'qjson')
+makedepends=('cmake' 'automoc4')
+optdepends=('p7zip' 'zip' 'unzip' 'ununrar')
+install=${_pkgname}.install
+provides=("kdeutils-ark=$pkgver")
+replaces=('kdeutils-ark')
+conflicts=('kdeutils-ark')
+source=("http://download.kde.org/stable/${pkgver}/src/ark-${pkgver}.tar.xz")
+sha1sums=('2f7d32b9f99913d14801b56f0c858eda128a7b91')
+
+build() {
+ cd "${srcdir}"
+ mkdir build
+ cd build
+ cmake ../ark-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd $srcdir/build
+ make DESTDIR=$pkgdir install
+ cd $srcdir/build/doc
+ make DESTDIR=$pkgdir install
+}
diff --git a/libre-testing/kdeutils-ark-libre/kdeutils-ark.install b/libre-testing/kdeutils-ark-libre/kdeutils-ark.install
new file mode 100644
index 000000000..78681144b
--- /dev/null
+++ b/libre-testing/kdeutils-ark-libre/kdeutils-ark.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_update() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre-testing/kdeutils-ark-libre/rePKGBUILD b/libre-testing/kdeutils-ark-libre/rePKGBUILD
new file mode 100644
index 000000000..f40b19d3f
--- /dev/null
+++ b/libre-testing/kdeutils-ark-libre/rePKGBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Nicolás Reynolds <fauno@kiwwwi.com.ar>
+source PKGBUILD
+#CARCH=x86_64
+unset build package md5sums source
+_repo=extra # Put the repo here
+_mirror=ftp://mirrors.kernel.org/archlinux # Put mirror here
+source=(PKGBUILD
+ "${_mirror}/${_repo}/os/${CARCH}/${pkgname%-libre}-$pkgver-$pkgrel-$CARCH$PKGEXT"
+ # files for pkg modifications below this line
+ )
+options=(!strip)
+
+build() {
+ cd "${srcdir}/"
+ rm -vf .{INSTALL,PKGINFO} || true
+ # put actions for package modifications below this line
+
+}
+
+package() {
+ find ${srcdir} -maxdepth 1 -type l -delete
+ cp -a ${srcdir}/* ${pkgdir}
+}
+
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre-testing/luxrender-libre/PKGBUILD b/libre-testing/luxrender-libre/PKGBUILD
new file mode 100644
index 000000000..44df6f3c2
--- /dev/null
+++ b/libre-testing/luxrender-libre/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id$
+# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+# Initial contributor: flixie <69one@gmx.net>
+# Contributor: Imanol Celaya <ornitorrincos@archlinux-es.org>
+# Maintainer (Parabola): Márcio Silva <coadde@adinet.com.uy>
+pkgname=luxrender-libre
+pkgver=1.0rc2
+_pkgver=008805644181
+pkgrel=2
+pkgdesc="Rendering system for physically correct, unbiased image synthesis (without OpenCL)"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://www.luxrender.net/"
+license=('GPL')
+depends=('boost-libs' 'freeimage' 'openexr')
+optdepends=('luxblend25: Blender exporter' 'qt: Qt GUI' \
+ 'python: Python interface (pylux)')
+makedepends=('cmake' 'boost' 'qt' 'luxrays-libre' 'python')
+replaces=('luxrender')
+conflicts=('luxrender')
+provides=("luxrender=$pkgver")
+source=(https://bitbucket.org/luxrender/lux/get/$_pkgver.tar.bz2 \
+ boost_1.50_fix.diff)
+md5sums=('1922ccce6f70e7d707b340e2415875cd'
+ '8c7774bb0c97aadd77d9e665d8fa4aab')
+
+build() {
+ cd "$srcdir"/luxrender-lux-$_pkgver
+
+ # fix for boost 1.50
+ # the boost::TIME_UTC has been renamed due to the conflict with C++11
+ patch -Np1 < "$srcdir"/boost_1.50_fix.diff || true
+
+ export CXXFLAGS="$CXXFLAGS -lpthread"
+ cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLUXRAYS_DISABLE_OPENCL=ON \
+ -DPYTHON_CUSTOM=ON \
+ -DPYTHON_LIBRARIES=/usr/lib/libpython3.2mu.so \
+ -DPYTHON_INCLUDE_PATH=/usr/include/python3.2mu/ \
+ .
+ make
+}
+
+package() {
+ cd "$srcdir"/luxrender-lux-$_pkgver
+ make DESTDIR="$pkgdir" install
+
+ # fix library path on x86_64
+ [ "$CARCH" = "x86_64" ] && mv "$pkgdir"/usr/lib64 "$pkgdir"/usr/lib
+
+ #install pylux
+ install -D -m644 pylux.so "$pkgdir"/usr/lib/python3.2/pylux.so
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre-testing/luxrender-libre/boost_1.50_fix.diff b/libre-testing/luxrender-libre/boost_1.50_fix.diff
new file mode 100644
index 000000000..c1aa0a8e2
--- /dev/null
+++ b/libre-testing/luxrender-libre/boost_1.50_fix.diff
@@ -0,0 +1,131 @@
+diff -rup luxrender-lux-008805644181/core/film.cpp luxrender-lux-008805644181.new/core/film.cpp
+--- luxrender-lux-008805644181/core/film.cpp 2012-06-02 08:40:33.000000000 +0200
++++ luxrender-lux-008805644181.new/core/film.cpp 2012-07-07 15:44:59.867492295 +0200
+@@ -618,7 +618,7 @@ Film::Film(u_int xres, u_int yres, Filte
+ int yRealHeight = Floor2Int(yPixelStart + .5f + yPixelCount + filter->yWidth) - Floor2Int(yPixelStart + .5f - filter->yWidth);
+ samplePerPass = xRealWidth * yRealHeight;
+
+- boost::xtime_get(&creationTime, boost::TIME_UTC);
++ boost::xtime_get(&creationTime, boost::TIME_UTC_);
+
+ //Queryable parameters
+ AddIntAttribute(*this, "xResolution", "Horizontal resolution (pixels)", &Film::GetXResolution);
+@@ -855,7 +855,7 @@ void Film::AddSampleCount(float count) {
+ if (haltTime > 0) {
+ // Check if we have met the enough rendering time condition
+ boost::xtime t;
+- boost::xtime_get(&t, boost::TIME_UTC);
++ boost::xtime_get(&t, boost::TIME_UTC_);
+ if (t.sec - creationTime.sec > haltTime)
+ enoughSamplesPerPixel = true;
+ }
+diff -rup luxrender-lux-008805644181/core/photonmap.cpp luxrender-lux-008805644181.new/core/photonmap.cpp
+--- luxrender-lux-008805644181/core/photonmap.cpp 2012-06-02 08:40:33.000000000 +0200
++++ luxrender-lux-008805644181.new/core/photonmap.cpp 2012-07-07 15:44:59.870825579 +0200
+@@ -474,13 +474,13 @@ void PhotonMapPreprocess(const RandomGen
+
+ boost::xtime photonShootingStartTime;
+ boost::xtime lastUpdateTime;
+- boost::xtime_get(&photonShootingStartTime, boost::TIME_UTC);
+- boost::xtime_get(&lastUpdateTime, boost::TIME_UTC);
++ boost::xtime_get(&photonShootingStartTime, boost::TIME_UTC_);
++ boost::xtime_get(&lastUpdateTime, boost::TIME_UTC_);
+ u_int nshot = 0;
+ while ((!radianceDone || !directDone || !causticDone || !indirectDone) && !scene.terminated) {
+ // Dade - print some progress information
+ boost::xtime currentTime;
+- boost::xtime_get(&currentTime, boost::TIME_UTC);
++ boost::xtime_get(&currentTime, boost::TIME_UTC_);
+ if (currentTime.sec - lastUpdateTime.sec > 5) {
+ ss.str("");
+ ss << "Photon shooting progress: Direct[" << directPhotons.size();
+@@ -686,7 +686,7 @@ void PhotonMapPreprocess(const RandomGen
+ return;
+
+ boost::xtime photonShootingEndTime;
+- boost::xtime_get(&photonShootingEndTime, boost::TIME_UTC);
++ boost::xtime_get(&photonShootingEndTime, boost::TIME_UTC_);
+ LOG(LUX_INFO,LUX_NOERROR) << "Photon shooting done (" << ( photonShootingEndTime.sec - photonShootingStartTime.sec ) << "s)";
+
+ if (computeRadianceMap) {
+@@ -700,7 +700,7 @@ void PhotonMapPreprocess(const RandomGen
+ for (u_int i = 0; i < radiancePhotons.size(); ++i) {
+ // Dade - print some progress info
+ boost::xtime currentTime;
+- boost::xtime_get(&currentTime, boost::TIME_UTC);
++ boost::xtime_get(&currentTime, boost::TIME_UTC_);
+ if (currentTime.sec - lastUpdateTime.sec > 5) {
+ LOG(LUX_INFO,LUX_NOERROR) << "Radiance photon map computation progress: " << i << " (" << (100 * i / radiancePhotons.size()) << "%)";
+
+@@ -740,7 +740,7 @@ void PhotonMapPreprocess(const RandomGen
+
+
+ boost::xtime radianceComputeEndTime;
+- boost::xtime_get(&radianceComputeEndTime, boost::TIME_UTC);
++ boost::xtime_get(&radianceComputeEndTime, boost::TIME_UTC_);
+ LOG(LUX_INFO,LUX_NOERROR) << "Radiance photon map computed (" << ( radianceComputeEndTime.sec - photonShootingEndTime.sec ) << "s)";
+ }
+
+diff -rup luxrender-lux-008805644181/core/renderfarm.cpp luxrender-lux-008805644181.new/core/renderfarm.cpp
+--- luxrender-lux-008805644181/core/renderfarm.cpp 2012-06-02 08:40:33.000000000 +0200
++++ luxrender-lux-008805644181.new/core/renderfarm.cpp 2012-07-07 15:44:59.870825579 +0200
+@@ -100,7 +100,7 @@ void FilmUpdaterThread::updateFilm(FilmU
+ // Dade - thread to update the film with data from servers
+
+ boost::xtime reft;
+- boost::xtime_get(&reft, boost::TIME_UTC);
++ boost::xtime_get(&reft, boost::TIME_UTC_);
+
+ while (filmUpdaterThread->signal == SIG_NONE) {
+ // Dade - check signal every 1 sec
+@@ -108,7 +108,7 @@ void FilmUpdaterThread::updateFilm(FilmU
+ for(;;) {
+ // Dade - sleep for 1 sec
+ boost::xtime xt;
+- boost::xtime_get(&xt, boost::TIME_UTC);
++ boost::xtime_get(&xt, boost::TIME_UTC_);
+ xt.sec += 1;
+ boost::thread::sleep(xt);
+
+diff -rup luxrender-lux-008805644181/film/fleximage.cpp luxrender-lux-008805644181.new/film/fleximage.cpp
+--- luxrender-lux-008805644181/film/fleximage.cpp 2012-06-02 08:40:33.000000000 +0200
++++ luxrender-lux-008805644181.new/film/fleximage.cpp 2012-07-07 15:44:59.877492150 +0200
+@@ -191,7 +191,7 @@ FlexImageFilm::FlexImageFilm(u_int xres,
+ m_CameraResponseEnabled = d_CameraResponseEnabled = m_CameraResponseFile != "";
+
+ // init timer
+- boost::xtime_get(&lastWriteImageTime, boost::TIME_UTC);
++ boost::xtime_get(&lastWriteImageTime, boost::TIME_UTC_);
+ lastWriteFLMTime = lastWriteImageTime;
+ }
+
+@@ -812,7 +812,7 @@ void FlexImageFilm::CheckWriteOuputInter
+ {
+ // Check write output interval
+ boost::xtime currentTime;
+- boost::xtime_get(&currentTime, boost::TIME_UTC);
++ boost::xtime_get(&currentTime, boost::TIME_UTC_);
+ bool timeToWriteImage = (currentTime.sec - lastWriteImageTime.sec > writeInterval);
+ bool timeToWriteFLM = (currentTime.sec - lastWriteFLMTime.sec > flmWriteInterval);
+
+@@ -834,7 +834,7 @@ void FlexImageFilm::CheckWriteOuputInter
+ // WriteImage can take a very long time to be executed (i.e. by saving
+ // the film. It is better to refresh timestamps after the
+ // execution of WriteImage instead than before.
+- boost::xtime_get(&currentTime, boost::TIME_UTC);
++ boost::xtime_get(&currentTime, boost::TIME_UTC_);
+
+ if (timeToWriteImage)
+ lastWriteImageTime = currentTime;
+diff -rup luxrender-lux-008805644181/renderers/sppmrenderer.h luxrender-lux-008805644181.new/renderers/sppmrenderer.h
+--- luxrender-lux-008805644181/renderers/sppmrenderer.h 2012-06-02 08:40:33.000000000 +0200
++++ luxrender-lux-008805644181.new/renderers/sppmrenderer.h 2012-07-07 15:44:59.874158864 +0200
+@@ -126,7 +126,7 @@ public:
+ {
+ while (state == PAUSE && !boost::this_thread::interruption_requested()) {
+ boost::xtime xt;
+- boost::xtime_get(&xt, boost::TIME_UTC);
++ boost::xtime_get(&xt, boost::TIME_UTC_);
+ xt.sec += 1;
+ boost::thread::sleep(xt);
+ }
diff --git a/libre-testing/texlive-bin-libre/09-texlive-fonts.conf b/libre-testing/texlive-bin-libre/09-texlive-fonts.conf
new file mode 100644
index 000000000..f870fbd7a
--- /dev/null
+++ b/libre-testing/texlive-bin-libre/09-texlive-fonts.conf
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+ <dir>/usr/share/texmf-dist/fonts/opentype</dir>
+ <dir>/usr/share/texmf-dist/fonts/truetype</dir>
+ <dir>/usr/local/share/texmf/fonts/opentype</dir>
+ <dir>/usr/local/share/texmf/fonts/truetype</dir>
+</fontconfig>
+
diff --git a/libre-testing/texlive-bin-libre/PKGBUILD b/libre-testing/texlive-bin-libre/PKGBUILD
new file mode 100644
index 000000000..d5571465f
--- /dev/null
+++ b/libre-testing/texlive-bin-libre/PKGBUILD
@@ -0,0 +1,316 @@
+# $Id: PKGBUILD 165207 2012-08-13 08:28:02Z remy $
+# Maintainer: Rémy Oudompheng <remy@archlinux.org>
+# Contributor: francois <francois.archlinux.org>
+# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu>
+# Contributor (Parabola): André Silva <emulatorman@lavabit.com>
+
+pkgname=texlive-bin-libre
+pkgver=2012.0
+pkgrel=4
+pkgdesc="TeX Live binaries"
+license=('GPL')
+arch=('i686' 'x86_64' 'mips64el')
+depends=('t1lib' 'gd' 'poppler' 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2')
+makedepends=('perl' 'clisp' 'ffcall')
+optdepends=('ed: for texconfig')
+provides=('lcdf-typetools' 'kpathsea' 'xindy' 'pdfjam' 'texlive-bin')
+conflicts=('pdfjam' 'texlive-bin')
+replaces=('texlive-bin')
+options=('!libtool' '!strip')
+url='http://tug.org/texlive/'
+install="texlive.install"
+source=('texmf.cnf'
+ 'fix-fontforge-encoding.patch'
+ '09-texlive-fonts.conf'
+ 'poppler-0.20.patch'
+ 'http://mirrors.kernel.org/archlinux/other/texlive/texlive-bin-source-20120623.tar.xz'
+ 'http://mirrors.kernel.org/archlinux/other/texlive/texlive-bin-texmf-20120623.tar.xz'
+ 'luatex-r4449-radical-rule-thickness.patch'
+)
+backup=(etc/texmf/web2c/texmf.cnf \
+ etc/texmf/chktex/chktexrc \
+ etc/texmf/dvipdfm/config/config \
+ etc/texmf/dvipdfmx/dvipdfmx.cfg \
+ etc/texmf/dvips/config/config.ps \
+ etc/texmf/tex/generic/config/language.dat \
+ etc/texmf/tex/generic/config/language.def \
+ etc/texmf/tex/generic/config/pdftexconfig.tex \
+ etc/texmf/ttf2pk/ttf2pk.cfg \
+ etc/texmf/web2c/fmtutil.cnf \
+ etc/texmf/web2c/mktex.cnf \
+ etc/texmf/xdvi/XDvi)
+
+md5sums=('220a4f4cc0d915bf8fcbcb553dcee1ae'
+ 'bfb9716aa00c86c08cd31e5b32edeb98'
+ '393a4bf67adc7ca5df2b386759d1a637'
+ 'e3a664d5a7f0923f35060fe9d25d2573'
+ 'ac2c3c3aa765581f8504e21a5edbfb9f'
+ 'f315a860158cfc952c82a6d759961024'
+ '5190f3295eb9a604c5f17f5bd607299b')
+
+build() {
+ if [ "${CARCH}" != "i686" ]; then
+ export CFLAGS="${CFLAGS} -fPIC"
+ export CXXFLAGS="${CXXFLAGS} -fPIC"
+ fi
+
+ cd "$srcdir"
+ # this patch removes spurious error message with locale "xx_YY.utf8"
+ patch -Np0 -i fix-fontforge-encoding.patch
+ # fix build with poppler >= 0.20
+ patch -Np0 -i poppler-0.20.patch
+ # fix radical rule thickness regression in Luatex
+ # http://tex.stackexchange.com/q/61952/729
+ patch -Np0 -i luatex-r4449-radical-rule-thickness.patch
+ # t4ht expects to be un /usr/share/texmf/bin/t4ht (FS#27251)
+ sed -i s/SELFAUTOPARENT/TEXMFROOT/ source/texk/tex4htk/t4ht.c
+ #############################################################
+ ### configure
+ cd source
+ ## prevent compiling Xdvi with libXp
+ sed -i~ 's|-lXp ||' texk/xdvik/configure
+ test ! -d Work && mkdir Work
+ cd Work
+ echo "--> Initial configuration..."
+ # we use temporary prefix to avoid messing the existing
+ # $pkgdir/usr/share/texmf tree
+ # system zlib is disabled due to issues with zlib 1.2.6 (FS#28221)
+ ../configure --prefix=/usr -C \
+ --sysconfdir=/etc \
+ --datarootdir=/usr/share \
+ --datadir=/usr/share \
+ --mandir=/usr/share/man \
+ --disable-native-texlive-build \
+ --with-banner-add="/Parabola GNU/Linux-libre" \
+ --disable-multiplatform \
+ --disable-dialog \
+ --disable-psutils \
+ --disable-t1utils \
+ --disable-bibtexu \
+ --disable-xz \
+ --with-system-zlib \
+ --with-system-zziplib \
+ --with-system-pnglib \
+ --with-system-ncurses \
+ --with-system-t1lib \
+ --with-system-gd \
+ --with-system-poppler \
+ --with-system-xpdf \
+ --with-system-freetype2 \
+ --without-system-graphite \
+ --with-freetype2-libdir=/usr/lib \
+ --with-freetype2-include=/usr/include/freetype2 \
+ --with-xdvi-x-toolkit=xaw \
+ --disable-dump-share \
+ --disable-aleph \
+ --enable-luatex \
+ --with-clisp-runtime=default \
+ --enable-xindy --disable-xindy-rules --disable-xindy-docs
+ #############################################################
+ ### make
+ echo "-------------------------------------------------------"
+ echo "--> Building the whole beast ..."
+ echo "-------------------------------------------------------"
+ make
+}
+
+package() {
+ cd "$srcdir"
+ #############################################################
+ ### install texmf tree
+ echo "-------------------------------------------------------"
+ echo "--> installing the texmf tree"
+ echo "-------------------------------------------------------"
+ install -m755 -d "$pkgdir"/usr/share
+ cp -r texmf "$pkgdir"/usr/share/
+ install -d -m755 "$pkgdir"/etc/texmf/web2c
+ install -d -m755 "$pkgdir"/etc/texmf/chktex
+ install -d -m755 "$pkgdir"/etc/texmf/dvips/config
+ install -d -m755 "$pkgdir"/etc/texmf/dvipdfm/config
+ install -d -m755 "$pkgdir"/etc/texmf/dvipdfmx
+ install -d -m755 "$pkgdir"/etc/texmf/tex/generic/config
+ install -d -m755 "$pkgdir"/etc/texmf/ttf2pk
+ install -d -m755 "$pkgdir"/etc/texmf/xdvi
+ install -d -m755 "$pkgdir"/etc/fonts/conf.avail
+ install -m644 "$srcdir"/09-texlive-fonts.conf "$pkgdir"/etc/fonts/conf.avail/
+ # move man files to /usr/share/man
+ for i in 1 5; do
+ install -d -m755 "$pkgdir"/usr/share/man/man$i
+ mv "$pkgdir"/usr/share/texmf/doc/man/man$i/*.$i "$pkgdir"/usr/share/man/man$i/
+ done
+ # move info files to /usr/share/info
+ install -d -m755 "$pkgdir"/usr/share/info
+ mv "$pkgdir"/usr/share/texmf/doc/info/*.info "$pkgdir"/usr/share/info/
+ rm -rf "$pkgdir"/usr/share/texmf/doc/{man,info}
+ # copy config files to $TEXMFCONFIG tree
+ cp -a "$pkgdir"/usr/share/texmf/chktex/chktexrc \
+ "$pkgdir"/etc/texmf/chktex/
+ cp -a "$pkgdir"/usr/share/texmf/web2c/mktex.cnf \
+ "$pkgdir"/etc/texmf/web2c/
+ cp -a "$pkgdir"/usr/share/texmf/web2c/updmap.cfg \
+ "$pkgdir"/etc/texmf/web2c/
+ cp -a "$pkgdir"/usr/share/texmf/web2c/fmtutil.cnf \
+ "$pkgdir"/etc/texmf/web2c/
+ cp -a "$pkgdir"/usr/share/texmf/dvips/config/config.ps \
+ "$pkgdir"/etc/texmf/dvips/config/
+ cp -a "$pkgdir"/usr/share/texmf/dvipdfm/config/config \
+ "$pkgdir"/etc/texmf/dvipdfm/config/
+ cp -a "$pkgdir"/usr/share/texmf/dvipdfmx/dvipdfmx.cfg \
+ "$pkgdir"/etc/texmf/dvipdfmx/
+ cp -a "$pkgdir"/usr/share/texmf/tex/generic/config/pdftexconfig.tex \
+ "$pkgdir"/etc/texmf/tex/generic/config/
+ cp -a "$pkgdir"/usr/share/texmf/tex/generic/config/language.dat \
+ "$pkgdir"/etc/texmf/tex/generic/config/
+ cp -a "$pkgdir"/usr/share/texmf/tex/generic/config/language.def \
+ "$pkgdir"/etc/texmf/tex/generic/config/
+ cp -a "$pkgdir"/usr/share/texmf/ttf2pk/ttf2pk.cfg \
+ "$pkgdir"/etc/texmf/ttf2pk/
+ cp -a "$pkgdir"/usr/share/texmf/xdvi/XDvi \
+ "$pkgdir"/etc/texmf/xdvi/
+ # remove TL specific warnings in the language.{dat,def} files:
+ sed -i -e '/DO NOT EDIT/,+3 d' "$pkgdir"/etc/texmf/tex/generic/config/language.*
+ # clean updmap.cfg
+ sed -i '/^\(Map\|MixedMap\)/d' "$pkgdir"/etc/texmf/web2c/updmap.cfg
+ sed -i '/^#! \(Map\|MixedMap\)/d' "$pkgdir"/etc/texmf/web2c/updmap.cfg
+ # Don't list formats which need removed packages to work.
+ sed -i '/csplain\|mex\|jadetex/d' "$pkgdir"/etc/texmf/web2c/fmtutil.cnf
+
+ #############################################################
+ ### install
+ cd source
+ # fixes for xindy
+ find utils/xindy -name Makefile -exec sed -i -e "s|^prefix =.\+$|prefix = $pkgdir/usr|" -e "s|^mandir =.\+$|mandir = \${prefix}/share/man|" -e "s|^datadir =.\+$|datadir = \${datarootdir}/texmf|" -e "s|^docdir =.\+$|docdir = \${datadir}/doc/xindy|" '{}' \;
+
+ echo "-------------------------------------------------------"
+ echo "--> Proceeding with make install ..."
+ echo "-------------------------------------------------------"
+ cd Work
+ make DESTDIR="${pkgdir}" texmf="$pkgdir"/usr/share/texmf install
+ rm -rf "${pkgdir}"/usr/{texmf,share/texmf-dist}
+
+ # replace upstream texmf.cnf with ours
+ rm -f "$pkgdir"/usr/share/texmf/web2c/texmf.cnf
+ install -m644 "$srcdir"/texmf.cnf "$pkgdir"/etc/texmf/web2c/texmf.cnf
+ # since the location of texmf.cnf is hard-wired to be under /usr/share/texmf/web2c
+ # we make a symlink from /etc/texmf/web2c/texmf.cnf to the latter
+ ln -sf /etc/texmf/web2c/texmf.cnf "$pkgdir"/usr/share/texmf/web2c/texmf.cnf
+ # fix location of TEXMFCACHE for luatools
+ sed -i 's#texlive2010#texlive#' "$pkgdir"/usr/share/texmf/web2c/texmfcnf.lua
+ ## remove aleph from fmtutil.cnf
+ sed -i -e '/aleph/d' "$pkgdir"/usr/share/texmf/web2c/fmtutil.cnf
+
+ ## install Perl libraries
+ mkdir -p "$pkgdir"/usr/share/tlpkg/TeXLive
+ install -m644 "${srcdir}"/source/utils/biber/TeXLive/*.pm "$pkgdir"/usr/share/tlpkg/TeXLive
+
+ # create symlinks for formats
+ echo "--> Create symlinks for TeX formats ..."
+ PATH="$PATH:${pkgdir}/usr/bin" texlinks -f "$pkgdir"/usr/share/texmf/web2c/fmtutil.cnf "$pkgdir"/usr/bin/
+ #############################################################
+ # remove dangling symlinks
+ _bibtexextra_scripts="
+bibexport
+listbib
+urlbst
+"
+ _core_scripts="
+afm2afm
+arlatex
+autoinst
+bundledoc
+checkcites
+cmap2enc
+ctanify
+ctanupload
+de-macro
+dosepsbin
+dviasm
+epstopdf
+findhyph
+font2afm
+fragmaster
+installfont-tl
+latex2man
+latexdiff
+latexdiff-vc
+latexfileversion
+latexmk
+latexrevise
+listings-ext.sh
+match_parens
+mf2pt1
+mkjobtexmf
+mkluatexfontdb
+mkt1font
+mptopdf
+ot2kpx
+pdf180
+pdf270
+pdf90
+pdfatfi
+pdfbook
+pdfcrop
+pdfflip
+pdfjam
+pdfjam-pocketmod
+pdfjam-slides3up
+pdfjam-slides6up
+pdfjoin
+pdfnup
+pdfpun
+pfm2kpx
+pkfix
+pkfix-helper
+purifyeps
+repstopdf
+rpdfcrop
+showglyphs
+sty2dtx
+texcount
+texdef
+texdiff
+texdirflatten
+texliveonfly
+texloganalyser
+typeoutfileinfo
+thumbpdf
+vpl2ovp
+vpl2vpl
+"
+ _htmlxml_scripts="ht htcontext htlatex htmex httex httexi htxelatex htxetex mk4ht"
+ _langcjk_scripts="convbkmk updmap-setup-kanji"
+ _langextra_scripts="ebong"
+ _langgreek_scripts="mkgrkindex"
+ _latexextra_scripts="
+authorindex
+exceltex
+makeglossaries
+pdfannotextractor
+perltex
+ppower4
+ps4pdf
+splitindex
+svn-multi
+vpe"
+ _music_scripts="m-tx musixtex musixflx pmx2pdf"
+ _pictures_scripts="cachepic epspdf epspdftk fig4latex mathspic"
+ _pstricks_scripts="pedigree pst2pdf"
+ _science_scripts="ulqda"
+ for s in \
+ ${_bibtexextra_scripts} \
+ ${_core_scripts} \
+ ${_htmlxml_scripts} \
+ ${_langcjk_scripts} \
+ ${_langextra_scripts} \
+ ${_langgreek_scripts} \
+ ${_latexextra_scripts} \
+ ${_music_scripts} \
+ ${_pictures_scripts} \
+ ${_pstricks_scripts} \
+ ${_science_scripts} \
+ tlmgr biber; do # biber is not built from source
+ rm -f "$pkgdir"/usr/bin/$s
+ done
+ ###################################################################
+}
+
diff --git a/libre-testing/texlive-bin-libre/fix-fontforge-encoding.patch b/libre-testing/texlive-bin-libre/fix-fontforge-encoding.patch
new file mode 100644
index 000000000..8104b3289
--- /dev/null
+++ b/libre-testing/texlive-bin-libre/fix-fontforge-encoding.patch
@@ -0,0 +1,12 @@
+--- source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/noprefs.c.orig 2009-09-30 19:27:00.935039526 +0200
++++ source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/noprefs.c 2009-09-30 19:28:04.908364646 +0200
+@@ -495,6 +495,9 @@
+ { "Big5HKSCS", e_big5hkscs },
+ { "Big5-HKSCS", e_big5hkscs },
+ { "UTF-8", e_utf8 },
++ { "utf-8", e_utf8 },
++ { "UTF8", e_utf8 },
++ { "utf8", e_utf8 },
+ { "ISO-10646/UTF-8", e_utf8 },
+ { "ISO_10646/UTF-8", e_utf8 },
+ { "UCS2", e_unicode },
diff --git a/libre-testing/texlive-bin-libre/luatex-poppler-0.20.patch b/libre-testing/texlive-bin-libre/luatex-poppler-0.20.patch
new file mode 100644
index 000000000..175824f3e
--- /dev/null
+++ b/libre-testing/texlive-bin-libre/luatex-poppler-0.20.patch
@@ -0,0 +1,77 @@
+--- source/texk/web2c/luatexdir/lua/lepdflib.cc.orig 2011-10-06 06:14:20.000000000 +0000
++++ source/texk/web2c/luatexdir/lua/lepdflib.cc 2012-05-17 11:30:26.327236883 +0000
+@@ -157,7 +157,7 @@
+ pdfdoc_changed_error(L);
+ uout = new_Annot_userdata(L);
+ uout->d =
+- new Annot((XRef *) uxref->d, (Dict *) udict->d, (Catalog *) ucatalog->d,
++ new Annot((PDFDoc *) uxref->pd, (Dict *) udict->d,
+ (Object *) uref->d);
+ uout->atype = ALLOC_LEPDF;
+ uout->pc = uxref->pc;
+@@ -179,7 +179,7 @@
+ pdfdoc_changed_error(L);
+ uout = new_Annots_userdata(L);
+ uout->d =
+- new Annots((XRef *) uxref->d, (Catalog *) ucatalog->d,
++ new Annots((PDFDoc *) uxref->pd,
+ (Object *) uannotsobj->d);
+ uout->atype = ALLOC_LEPDF;
+ uout->pc = uxref->pc;
+@@ -369,7 +369,7 @@
+ // Annot
+
+ m_poppler_get_BOOL(Annot, isOk);
+-m_poppler_get_OBJECT(Annot, getAppearance);
++m_poppler_get_OBJECT(Annot, getAppearanceResDict);
+ m_poppler_get_poppler(Annot, AnnotBorder, getBorder);
+
+ static int m_Annot_match(lua_State * L)
+@@ -408,7 +408,7 @@
+
+ static const struct luaL_Reg Annot_m[] = {
+ {"isOk", m_Annot_isOk},
+- {"getAppearance", m_Annot_getAppearance},
++ {"getAppearance", m_Annot_getAppearanceResDict},
+ {"getBorder", m_Annot_getBorder},
+ {"match", m_Annot_match},
+ {"__tostring", m_Annot__tostring},
+@@ -1433,7 +1433,7 @@
+
+ static int m_Object_getTypeName(lua_State * L)
+ {
+- char *s;
++ const char *s;
+ udstruct *uin;
+ uin = (udstruct *) luaL_checkudata(L, 1, M_Object);
+ if (uin->pd != NULL && uin->pd->pc != uin->pc)
+@@ -2120,7 +2120,7 @@
+ if ((uin->pd != NULL && uin->pd->pc != uin->pc)
+ || (ucat->pd != NULL && ucat->pd->pc != ucat->pd->pc))
+ pdfdoc_changed_error(L);
+- links = ((Page *) uin->d)->getLinks((Catalog *) ucat->d);
++ links = ((Page *) uin->d)->getLinks();
+ if (links != NULL) {
+ uout = new_Links_userdata(L);
+ uout->d = links;
+@@ -2738,7 +2738,10 @@
+ return 1;
+ }
+
+-m_poppler_get_INT(XRef, getSize);
++static int m_XRef_getSize(lua_State * L)
++{
++ return m_XRef_getNumObjects(L);
++}
+
+ static int m_XRef_getEntry(lua_State * L)
+ {
+@@ -2748,7 +2751,7 @@
+ if (uin->pd != NULL && uin->pd->pc != uin->pc)
+ pdfdoc_changed_error(L);
+ i = luaL_checkint(L, 2);
+- size = ((XRef *) uin->d)->getSize();
++ size = ((XRef *) uin->d)->getNumObjects();
+ if (i > 0 && i <= size) {
+ uout = new_XRefEntry_userdata(L);
+ uout->d = ((XRef *) uin->d)->getEntry(i);
diff --git a/libre-testing/texlive-bin-libre/luatex-r4449-radical-rule-thickness.patch b/libre-testing/texlive-bin-libre/luatex-r4449-radical-rule-thickness.patch
new file mode 100644
index 000000000..f925a1a93
--- /dev/null
+++ b/libre-testing/texlive-bin-libre/luatex-r4449-radical-rule-thickness.patch
@@ -0,0 +1,23 @@
+Index: source/texk/web2c/luatexdir/tex/mlist.w
+===================================================================
+--- source/texk/web2c/luatexdir/tex/mlist.w (revision 4448)
++++ source/texk/web2c/luatexdir/tex/mlist.w (revision 4449)
+@@ -1798,7 +1798,17 @@
+ theta = fraction_rule(cur_style);
+ y = var_delimiter(left_delimiter(q), cur_size,
+ height(x) + depth(x) + clr + theta, NULL, cur_style);
+- theta = height(y);
++ /* If |y| is a composite then set |theta| to the height of its top
++ character, else set it to the height of |y|. */
++ if (list_ptr(y) != null
++ && type(list_ptr(y)) == hlist_node
++ && list_ptr(list_ptr(y)) != null
++ && type(list_ptr(list_ptr(y))) == glyph_node) { /* and it should be */
++ theta = char_height(font(list_ptr(list_ptr(y))),
++ character(list_ptr(list_ptr(y))));
++ } else {
++ theta = height(y);
++ }
+ } else {
+ y = var_delimiter(left_delimiter(q), cur_size,
+ height(x) + depth(x) + clr + theta, NULL, cur_style);
diff --git a/libre-testing/texlive-bin-libre/poppler-0.20.patch b/libre-testing/texlive-bin-libre/poppler-0.20.patch
new file mode 100644
index 000000000..3bd8183ab
--- /dev/null
+++ b/libre-testing/texlive-bin-libre/poppler-0.20.patch
@@ -0,0 +1,22 @@
+--- source/texk/web2c/luatexdir/lua/lepdflib.cc.orig 2011-10-06 06:14:20.000000000 +0000
++++ source/texk/web2c/luatexdir/lua/lepdflib.cc 2012-05-17 11:30:26.327236883 +0000
+@@ -1433,7 +1433,7 @@
+
+ static int m_Object_getTypeName(lua_State * L)
+ {
+- char *s;
++ const char *s;
+ udstruct *uin;
+ uin = (udstruct *) luaL_checkudata(L, 1, M_Object);
+ if (uin->pd != NULL && uin->pd->pc != uin->pc)
+--- source/texk/web2c/pdftexdir/pdftosrc.cc.orig 2012-06-24 17:12:34.376329435 +0200
++++ source/texk/web2c/pdftexdir/pdftosrc.cc 2012-06-24 17:12:25.490003152 +0200
+@@ -134,7 +134,7 @@
+ exit(1);
+ }
+ if (extract_xref_table) {
+- int size = xref->getSize();
++ int size = xref->getNumObjects();
+ int i;
+ for (i = 0; i < size; i++) {
+ if (xref->getEntry(i)->offset == 0xffffffff)
diff --git a/libre-testing/texlive-bin-libre/texlive.install b/libre-testing/texlive-bin-libre/texlive.install
new file mode 100644
index 000000000..06a40a3b3
--- /dev/null
+++ b/libre-testing/texlive-bin-libre/texlive.install
@@ -0,0 +1,43 @@
+infodir=usr/share/info
+filelist=(dvipng.info dvips.info eplain.info epspdf.info fontname.info kpathsea.info latex2e-es.info latex2e.info latex2man.info mf2pt1.info tds.info texdraw.info web2c.info)
+
+post_install() {
+ echo ">>> texlive: updating the filename database..."
+ usr/bin/mktexlsr
+ echo -n "creating all formats..."
+ usr/bin/fmtutil-sys --all 1>/dev/null
+ echo " done."
+ echo " (logs are under /var/lib/texmf/web2c/<engine>/<formatname>.log)"
+
+ [[ -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() {
+ local corename corever _pacout
+ echo ">>> texlive: updating the filename database..."
+ usr/bin/mktexlsr
+ _pacout=$(pacman -Q texlive-core 2>/dev/null)
+ read corename corever <<< ${_pacout}
+ if [[ ${corever} == 2012* ]]; then
+ echo -n "recreating all formats..."
+ usr/bin/fmtutil-sys --all 1>/dev/null
+ echo " done."
+ echo " (logs are under /var/lib/texmf/web2c/<engine>/<formatname>.log)"
+ else
+ echo "WARNING: not recreating formats since texlive-core has version '$corever'"
+ fi
+ [[ -x usr/bin/install-info ]] || return 0
+ for file in "${filelist[@]}"; do
+ install-info "$infodir/$file.gz" "$infodir/dir" 2> /dev/null
+ done
+}
+
+pre_remove() {
+ [[ -x usr/bin/install-info ]] || return 0
+ for file in "${filelist[@]}"; do
+ install-info --delete "$infodir/$file.gz" "$infodir/dir" 2> /dev/null
+ done
+}
diff --git a/libre-testing/texlive-bin-libre/texmf.cnf b/libre-testing/texlive-bin-libre/texmf.cnf
new file mode 100644
index 000000000..76975ee5c
--- /dev/null
+++ b/libre-testing/texlive-bin-libre/texmf.cnf
@@ -0,0 +1,724 @@
+% texmf.cnf for TeXLive/Arch Linux -- runtime path configuration file for kpathsea.
+% Public domain.
+%
+% If you modify this original file, YOUR CHANGES WILL BE LOST when it is
+% updated. Instead, put your changes -- and only your changes, not an
+% entire copy of the full texmf.cnf! -- in ../../texmf.cnf. That is, if
+% this file is installed in /some/path/to/texlive/2011/texmf/web2c/texmf.cnf,
+% add your custom settings to /some/path/to/texlive/2011/texmf.cnf.
+%
+% What follows is a super-summary of what this .cnf file can
+% contain. Please read the Kpathsea manual for more information.
+%
+% Any identifier (sticking to A-Za-z_ for names is safest) can be assigned.
+% The `=' (and surrounding spaces) is optional.
+% $foo (or ${foo}) in a value expands to the envvar or cnf value of foo.
+% Long lines can be continued with a \.
+%
+% Earlier entries (in the same or another file) override later ones, and
+% an environment variable foo overrides any texmf.cnf definition of foo.
+%
+% All definitions are read before anything is expanded, so you can use
+% variables before they are defined.
+%
+% If a variable assignment is qualified with `.PROGRAM', it is ignored
+% unless the current executable (last filename component of argv[0]) is
+% named PROGRAM. This foo.PROGRAM construct is not recognized on the
+% right-hand side. For environment variables, use FOO_PROGRAM.
+%
+% Which file formats use which paths for searches is described in the
+% various programs' and the Kpathsea documentation (http://tug.org/kpathsea).
+%
+% // means to search subdirectories (recursively).
+% A leading !! means to look only in the ls-R db, never on the disk.
+% In this file, either ; or : can be used to separate path components.
+% A leading/trailing/doubled path separator in the paths will be
+% expanded into the compile-time default. Probably not what you want.
+%
+% Brace notation is supported, for example: /usr/local/{mytex,othertex}
+% expands to /usr/local/mytex:/usr/local/othertex. We make extensive
+% use of this.
+
+
+% Part 1: Search paths and directories.
+
+% This is the parent directory of our several trees, i.e.,
+% /usr/local/texlive/YYYY in the original TeX Live distribution.
+%
+% All trees must be organized according to the TeX Directory Structure
+% (http://tug.org/tds), or files may not be found.
+%
+% Redistributors will probably want $SELFAUTODIR/share, i.e., /usr/share.
+TEXMFROOT = $SELFAUTODIR/share
+
+% The tree containing runtime files related to the specific
+% distribution and version.
+TEXMFMAIN = $TEXMFROOT/texmf
+
+% The main tree of packages, distribution-agnostic:
+TEXMFDIST = $TEXMFROOT/texmf-dist
+
+% Local additions to the distribution trees.
+TEXMFLOCAL = /usr/local/share/texmf
+
+% TEXMFSYSVAR, where *-sys store cached runtime data.
+TEXMFSYSVAR = /var/lib/texmf
+
+% TEXMFSYSCONFIG, where *-sys store configuration data.
+TEXMFSYSCONFIG = /etc/texmf
+
+% Per-user texmf tree(s) -- organized per the TDS, as usual. To define
+% more than one per-user tree, set this to a list of directories in
+% braces, as described above. (This used to be HOMETEXMF.) ~ expands
+% to %USERPROFILE% on Windows, $HOME otherwise.
+TEXMFHOME = ~/texmf
+
+% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
+TEXMFVAR = ~/.texlive/texmf-var
+
+% TEXMFCONFIG, where texconfig/updmap/fmtutil store configuration data.
+TEXMFCONFIG = ~/.texlive/texmf-config
+
+% List all the texmf trees.
+%
+% For texconfig to work properly, TEXMFCONFIG and TEXMFVAR should be named
+% explicitly and before all other trees.
+%
+% TEXMFLOCAL follows TEXMFMAIN (and precedes TEXMFDIST) because the
+% files in TEXMFMAIN are tightly coupled with the particular version of
+% the distribution, such as configuration files. Overriding them would
+% be more likely to cause trouble than help. On the other hand, the
+% bulk of packages and fonts are in TEXMFDIST, and locally-installed
+% versions should take precedence over those -- although it is generally
+% a source of confusion to have different versions of a package
+% installed, whatever the trees, so try to avoid it.
+TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}
+
+% Where to look for ls-R files. There need not be an ls-R in the
+% directories in this path, but if there is one, Kpathsea will use it.
+% By default, this is only the !! elements of TEXMF, so that mktexlsr
+% does not create ls-R files in the non-!! elements -- because if an
+% ls-R is present, it will be used, and the disk will not be searched.
+% This is arguably a bug in kpathsea.
+TEXMFDBS = {!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}
+
+% The system trees. These are the trees that are shared by all users.
+% If a tree appears in this list, the mktex* scripts will use
+% VARTEXFONTS for generated files, if the original tree isn't writable;
+% otherwise the current working directory is used.
+SYSTEXMF = $TEXMFSYSVAR;$TEXMFMAIN;$TEXMFLOCAL;$TEXMFDIST
+
+% Where generated fonts may be written. This tree is used when the sources
+% were found in a system tree and either that tree wasn't writable, or the
+% varfonts feature was enabled in MT_FEATURES in mktex.cnf.
+VARTEXFONTS = $TEXMFVAR/fonts
+
+% On some systems, there will be a system tree which contains all the font
+% files that may be created as well as the formats. For example
+% TEXMFVAR = /var/lib/texmf
+% is used in many distros. In this case, set VARTEXFONTS like this
+%VARTEXFONTS = $TEXMFVAR/fonts
+% and do not mention it in TEXMFDBS (but _do_ mention TEXMFVAR).
+%
+% Remove $VARTEXFONTS from TEXMFDBS if the VARTEXFONTS directory is below
+% one of the TEXMF directories (avoids overlapping ls-R files).
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Usually you will not need to edit any of the following variables.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% WEB2C is for Web2C specific files. The current directory may not be
+% a good place to look for them.
+WEB2C = $TEXMF/web2c
+
+% TEXINPUTS is for TeX input files -- i.e., anything to be found by \input
+% or \openin, including .sty, .eps, etc. We specify paths for all known
+% formats, past or present. Not all of them are built these days.
+
+% Plain TeX. Have the command tex check all directories as a last
+% resort, we may have plain-compatible stuff anywhere.
+TEXINPUTS.tex = .;$TEXMF/tex/{plain,generic,}//
+
+% Fontinst needs to read afm files.
+TEXINPUTS.fontinst = .;$TEXMF/{tex,fonts/afm}//
+
+% Other plain-based formats.
+TEXINPUTS.amstex = .;$TEXMF/tex/{amstex,plain,generic,}//
+TEXINPUTS.csplain = .;$TEXMF/tex/{csplain,plain,generic,}//
+TEXINPUTS.eplain = .;$TEXMF/tex/{eplain,plain,generic,}//
+TEXINPUTS.ftex = .;$TEXMF/tex/{formate,plain,generic,}//
+TEXINPUTS.mex = .;$TEXMF/tex/{mex,plain,generic,}//
+TEXINPUTS.texinfo = .;$TEXMF/tex/{texinfo,plain,generic,}//
+
+% LaTeX 2e specific macros are stored in latex/, macros that can only be
+% used with 2.09 in latex209/. In addition, we look in the directory
+% latex209, useful for macros that were written for 2.09 and do not
+% mention 2e at all, but can be used with 2e.
+TEXINPUTS.cslatex = .;$TEXMF/tex/{cslatex,csplain,latex,generic,}//
+TEXINPUTS.latex = .;$TEXMF/tex/{latex,generic,}//
+TEXINPUTS.latex209 = .;$TEXMF/tex/{latex209,generic,latex,}//
+TEXINPUTS.olatex = .;$TEXMF/tex/{latex,generic,}//
+
+% MLTeX.
+TEXINPUTS.frlatex = .;$TEXMF/tex/{french,latex,generic,}//
+TEXINPUTS.frtex = .;$TEXMF/tex/{french,plain,generic,}//
+TEXINPUTS.mllatex = .;$TEXMF/tex/{latex,generic,}//
+TEXINPUTS.mltex = .;$TEXMF/tex/{plain,generic,}//
+
+% e-TeX.
+TEXINPUTS.elatex = .;$TEXMF/tex/{latex,generic,}//
+TEXINPUTS.etex = .;$TEXMF/tex/{plain,generic,}//
+
+% pdfTeX.
+TEXINPUTS.pdfcslatex = .;$TEXMF/tex/{cslatex,csplain,latex,generic,}//
+TEXINPUTS.pdfcsplain = .;$TEXMF/tex/{csplain,plain,generic,}//
+TEXINPUTS.pdflatex = .;$TEXMF/tex/{latex,generic,}//
+TEXINPUTS.pdfmex = .;$TEXMF/tex/{mex,plain,generic,}//
+TEXINPUTS.utf8mex = .;$TEXMF/tex/{mex,plain,generic,}//
+TEXINPUTS.pdftex = .;$TEXMF/tex/{plain,generic,}//
+TEXINPUTS.pdftexinfo = .;$TEXMF/tex/{texinfo,plain,generic,}//
+TEXINPUTS.pdfamstex = .;$TEXMF/tex/{amstex,plain,generic,}//
+
+% pdfeTeX.
+TEXINPUTS.pdfelatex = .;$TEXMF/tex/{latex,generic,}//
+TEXINPUTS.pdfetex = .;$TEXMF/tex/{plain,generic,}//
+
+% pdfxTeX.
+TEXINPUTS.pdfxlatex = .;$TEXMF/tex/{latex,generic,}//
+TEXINPUTS.pdfxmex = .;$TEXMF/tex/{mex,plain,generic,}//
+TEXINPUTS.pdfxtex = .;$TEXMF/tex/{plain,generic,}//
+
+% LuaTeX.
+TEXINPUTS.lualatex = .;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
+TEXINPUTS.luatex = .;$TEXMF/tex/{luatex,plain,generic,}//
+TEXINPUTS.dvilualatex = .;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
+TEXINPUTS.dviluatex = .;$TEXMF/tex/{luatex,plain,generic,}//
+
+% XeTeX.
+TEXINPUTS.xelatex = .;$TEXMF/tex/{xelatex,latex,xetex,generic,}//
+TEXINPUTS.xeplain = .;$TEXMF/tex/{xeplain,eplain,plain,xetex,generic,}//
+TEXINPUTS.xetex = .;$TEXMF/tex/{xetex,plain,generic,}//
+
+% Omega / Aleph.
+TEXINPUTS.aleph = .;$TEXMF/tex/{plain,generic,}//
+TEXINPUTS.elambda = .;$TEXMF/tex/{lambda,latex,generic,}//
+TEXINPUTS.eomega = .;$TEXMF/tex/{plain,generic,}//
+TEXINPUTS.lambda = .;$TEXMF/tex/{lambda,latex,generic,}//
+TEXINPUTS.lamed = .;$TEXMF/tex/{lamed,lambda,latex,generic,}//
+TEXINPUTS.omega = .;$TEXMF/tex/{plain,generic,}//
+
+% p(La)TeX.
+TEXINPUTS.ptex = .;$TEXMF/tex/{ptex,ptexgeneric,plain,generic,}//
+TEXINPUTS.platex = .;$TEXMF/tex/{platex,ptexgeneric,latex,generic,}//
+
+% epTeX.
+TEXINPUTS.eptex = .;$TEXMF/tex/{ptex,ptexgeneric,plain,generic,}//
+
+% pBibTeX bibliographies and style files.
+BIBINPUTS.pbibtex = .;$TEXMF/{pbibtex,bibtex}/bib//
+BSTINPUTS.pbibtex = .;$TEXMF/{pbibtex,bibtex}/bst//
+
+% ConTeXt.
+TEXINPUTS.context = .;$TEXMF/tex/{context,plain,generic,}//
+
+% jadetex.
+TEXINPUTS.jadetex = .;$TEXMF/tex/{jadetex,latex,generic,}//
+TEXINPUTS.pdfjadetex = .;$TEXMF/tex/{jadetex,latex,generic,}//
+
+% XMLTeX.
+TEXINPUTS.xmltex = .;$TEXMF/tex/{xmltex,latex,generic,}//
+TEXINPUTS.pdfxmltex = .;$TEXMF/tex/{xmltex,latex,generic,}//
+
+% Miscellany, no longer built.
+TEXINPUTS.lamstex = .;$TEXMF/tex/{lamstex,plain,generic,}//
+TEXINPUTS.lollipop = .;$TEXMF/tex/{lollipop,plain,generic,}//
+TEXINPUTS.frpdflatex = .;$TEXMF/tex/{french,latex,generic,}//
+TEXINPUTS.frpdftex = .;$TEXMF/tex/{french,plain,generic,}//
+
+% Earlier entries override later ones, so put this generic one last.
+TEXINPUTS = .;$TEXMF/tex/{$progname,generic,}//
+
+% ttf2tfm.
+TTF2TFMINPUTS = .;$TEXMF/ttf2pk//
+
+% Metafont, MetaPost inputs.
+MFINPUTS = .;$TEXMF/metafont//;{$TEXMF/fonts,$VARTEXFONTS}/source//
+MPINPUTS = .;$TEXMF/metapost//
+
+% Dump files (fmt/base/mem) for vir{tex,mf,mp} to read.
+% We want to find the engine-specific file, e.g., cont-en.fmt can
+% exist under both pdftex/ and xetex/. But just in case some formats
+% end up without an engine directory, look directly in web2c/ too.
+% We repeat the same definition three times because of the way fmtutil
+% is implemented; if we use ${TEXFORMATS}, the mpost/mf/etc. formats
+% will not be found.
+TEXFORMATS = .;$TEXMF/web2c{/$engine,}
+MFBASES = .;$TEXMF/web2c{/$engine,}
+MPMEMS = .;$TEXMF/web2c{/$engine,}
+%
+% As of 2008, pool files don't exist any more (the strings are compiled
+% into the binaries), but just in case something expects to find these:
+TEXPOOL = .;$TEXMF/web2c
+MFPOOL = ${TEXPOOL}
+MPPOOL = ${TEXPOOL}
+
+% support the original xdvi. Must come before the generic settings.
+PKFONTS.XDvi = .;$TEXMF/%s;$VARTEXFONTS/pk/{%m,modeless}//
+VFFONTS.XDvi = .;$TEXMF/%s
+PSHEADERS.XDvi = .;$TEXMF/%q{dvips,fonts/type1}//
+TEXPICTS.XDvi = .;$TEXMF/%q{dvips,tex}//
+
+% Device-independent font metric files.
+VFFONTS = .;$TEXMF/fonts/vf//
+TFMFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/tfm//
+
+% The $MAKETEX_MODE below means the drivers will not use a cx font when
+% the mode is ricoh. If no mode is explicitly specified, kpse_prog_init
+% sets MAKETEX_MODE to /, so all subdirectories are searched. See the manual.
+% The modeless part guarantees that bitmaps for PostScript fonts are found.
+PKFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/pk/{$MAKETEX_MODE,modeless}//
+
+% Similarly for the GF format, which only remains in existence because
+% Metafont outputs it (and MF isn't going to change).
+GFFONTS = .;$TEXMF/fonts/gf/$MAKETEX_MODE//
+
+% A backup for PKFONTS and GFFONTS. Not used for anything.
+GLYPHFONTS = .;$TEXMF/fonts
+
+% A place to puth everything that doesn't fit the other font categories.
+MISCFONTS = .;$TEXMF/fonts/misc//
+
+% font name map files. This isn't just fonts/map// because ConTeXt
+% wants support for having files with the same name in the different
+% subdirs. Maybe if the programs ever get unified to accepting the same
+% map file syntax the definition can be simplified again.
+TEXFONTMAPS = .;$TEXMF/fonts/map/{$progname,pdftex,dvips,}//
+
+% BibTeX bibliographies and style files. bibtex8 also uses these.
+BIBINPUTS = .;$TEXMF/bibtex/bib//
+BSTINPUTS = .;$TEXMF/bibtex/{bst,csf}//
+
+% MlBibTeX.
+MLBIBINPUTS = .;$TEXMF/bibtex/bib/{mlbib,}//
+MLBSTINPUTS = .;$TEXMF/bibtex/{mlbst,bst}//
+
+% .ris and .bltxml bibliography formats.
+RISINPUTS = .;$TEXMF/bibtex/ris//
+BLTXMLINPUTS = .;$TEXMF/bibtex/bltxml//
+
+% MFT style files.
+MFTINPUTS = .;$TEXMF/mft//
+
+% PostScript headers and prologues (.pro); unfortunately, some programs
+% also use this for acessing font files (enc, type1, truetype)
+TEXPSHEADERS = .;$TEXMF/{dvips,fonts/{enc,type1,type42,type3}}//
+TEXPSHEADERS.gsftopk = .;$TEXMF/{dvips,fonts/{enc,type1,type42,type3,truetype}}//
+
+% OSFONTDIR is to provide a convenient hook for allowing TeX to find
+% fonts installed on the system (outside of TeX). An empty default
+% value would add "//" to the search paths, so we give it a dummy value.
+% OSFONTDIR = /usr/share/fonts
+
+% PostScript Type 1 outline fonts.
+T1FONTS = .;$TEXMF/fonts/type1//;$OSFONTDIR//
+
+% PostScript AFM metric files.
+AFMFONTS = .;$TEXMF/fonts/afm//;$OSFONTDIR//
+
+% TrueType outline fonts.
+TTFONTS = .;$TEXMF/fonts/{truetype,opentype}//;$OSFONTDIR//
+
+% OpenType outline fonts.
+OPENTYPEFONTS = .;$TEXMF/fonts/{opentype,truetype}//;$OSFONTDIR//
+
+% Type 42 outline fonts.
+T42FONTS = .;$TEXMF/fonts/type42//
+
+% Ligature definition files.
+LIGFONTS = .;$TEXMF/fonts/lig//
+
+% Dvips' config.* files (this name should not start with `TEX'!).
+TEXCONFIG = $TEXMF/dvips//
+
+% Makeindex style (.ist) files.
+INDEXSTYLE = .;$TEXMF/makeindex//
+
+% Font encoding files (.enc).
+ENCFONTS = .;$TEXMF/fonts/enc//
+
+% CMap files.
+CMAPFONTS = .;$TEXMF/fonts/cmap//
+
+% Subfont definition files.
+SFDFONTS = .;$TEXMF/fonts/sfd//
+
+% OpenType feature files (.fea).
+FONTFEATURES=.;$TEXMF/fonts/fea//
+
+% .cid and .cidmap
+FONTCIDMAPS=.;$TEXMF/fonts/cid//
+
+% pdftex config files:
+PDFTEXCONFIG = .;$TEXMF/pdftex/{$progname,}//
+
+% Used by DMP (ditroff-to-mpx), called by makempx -troff.
+TRFONTS = /usr{/local,}/share/groff/{current/font,site-font}/devps
+MPSUPPORT = .;$TEXMF/metapost/support
+
+% For xdvi to find mime.types and .mailcap, if they do not exist in
+% ~. These are single directories, not paths.
+% (But the default mime.types, at least, may well suffice.)
+MIMELIBDIR = /etc
+MAILCAPLIBDIR = /etc
+
+% Default settings for the fontconfig library as used by the Windows
+% versions of xetex/xdvipdfmx. On Unixish systems, fontconfig ignores
+% this. ConTeXT MkIV (all platforms) also use these values.
+%
+FONTCONFIG_FILE = fonts.conf
+FONTCONFIG_PATH = $TEXMFSYSVAR/fonts/conf
+FC_CACHEDIR = $TEXMFSYSVAR/fonts/cache
+
+% TeX documentation and source files, for use with texdoc and kpsewhich.
+TEXDOCS = $TEXMF/doc//
+TEXSOURCES = .;$TEXMF/source//
+
+% Web and CWeb input paths.
+WEBINPUTS = .;$TEXMF/web//
+CWEBINPUTS = .;$TEXMF/cweb//
+
+% Omega-related fonts and other files.
+OFMFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/{ofm,tfm}//
+OPLFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/opl//
+OVFFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/{ovf,vf}//
+OVPFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/ovp//
+OTPINPUTS = .;$TEXMF/omega/otp//
+OCPINPUTS = .;$TEXMF/omega/ocp//
+
+% Some additional input variables for several programs. If you add
+% a program that uses the `other text files' or `other binary files'
+% search formats, you'll want to add their variables here as well.
+T4HTINPUTS = .;$TEXMF/tex4ht//
+
+%% t4ht utility, sharing files with TeX4ht
+TEX4HTFONTSET=alias,iso8859,unicode
+TEX4HTINPUTS = .;$TEXMF/tex4ht/base//;$TEXMF/tex4ht/ht-fonts/{$TEX4HTFONTSET}//
+
+% TeXworks editor configuration and settings
+TW_LIBPATH = $TEXMFCONFIG/texworks
+TW_INIPATH = $TW_LIBPATH
+
+% For security, do not look in . for dvipdfmx.cfg, since the D option
+% would allow command execution.
+DVIPDFMXINPUTS = $TEXMF/dvipdfmx
+
+% Lua needs to look in TEXINPUTS for lua scripts distributed with packages.
+%
+% But we can't simply use $TEXINPUTS, since then if TEXINPUTS is set in
+% the environment with a colon, say, TEXINPUTS=/some/dir:, the intended
+% default expansion of TEXINPUTS will not happen and .lua files under
+% the /tex/ will not be found.
+%
+% So, duplicate the TEXINPUTS.*lualatex values as LUAINPUTS.*lualatex.
+% The default LUAINPUTS sufficess for luatex and dviluatex.
+%
+LUAINPUTS.lualatex = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
+LUAINPUTS.dvilualatex = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
+LUAINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{luatex,plain,generic,}//
+
+% Lua needs to look for binary lua libraries distributed with packages.
+CLUAINPUTS = .;$SELFAUTOLOC/lib/{$progname,$engine,}/lua//
+
+% Architecture independent executables.
+TEXMFSCRIPTS = $TEXMF/scripts/{$progname,$engine,}//
+
+% Other languages.
+JAVAINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/java//
+PERLINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/perl//
+PYTHONINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/python//
+RUBYINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/ruby//
+
+
+%% The mktex* scripts rely on KPSE_DOT. Do not set it in the environment.
+% KPSE_DOT = .
+
+% This definition isn't used from this .cnf file itself (that would be
+% paradoxical), but the compile-time default in paths.h is built from it.
+% The SELFAUTO* variables are set automatically from the location of
+% argv[0], in kpse_set_program_name.
+%
+% This main texmf.cnf file is installed, for a release YYYY, in a
+% directory such as /usr/local/texlive/YYYY/texmf/web2c/texmf.cnf.
+% Since this file is subject to future updates, the TeX Live installer
+% or human administrator may also create a file
+% /usr/local/texlive/YYYY/texmf.cnf; any settings in this latter file
+% will take precedence over the distributed one under texmf/web2c.
+%
+% For security reasons, it is better not to include . in this path.
+%
+TEXMFCNF = {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c}
+
+% kpathsea 3.5.3 and later sets these at runtime. To avoid empty
+% expansions from binaries linked against an earlier version of the
+% library, we set $progname and $engine to something non-empty:
+progname = unsetprogname
+engine = unsetengine
+
+
+% Part 2: Options.
+
+% If this option is set to true, `tex a.b' will look first for a.b.tex
+% (within each path element), and then for a.b, i.e., we try standard
+% extensions first. If this is false, we first look for a.b and then
+% a.b.tex, i.e., we try the name as-is first.
+%
+% Both names are always tried; the difference is the order in which they
+% are tried. The setting applies to all searches, not just .tex.
+%
+% This setting only affects names being looked up which *already* have
+% an extension. A name without an extension (e.g., `tex story') will
+% always have an extension added first.
+%
+% The default is true, because we already avoid adding the standard
+% extension(s) in the usual cases. E.g., babel.sty will only look for
+% babel.sty, not babel.sty.tex, regardless of this setting.
+try_std_extension_first = t
+
+% Enable system commands via \write18{...}. When enabled fully (set to
+% t), obviously insecure. When enabled partially (set to p), only the
+% commands listed in shell_escape_commands are allowed. Although this
+% is not fully secure either, it is much better, and so useful that we
+% enable it for everything but bare tex.
+shell_escape = p
+
+% No spaces in this command list.
+%
+% The programs listed here are as safe as any we know: they either do
+% not write any output files, respect openout_any, or have hard-coded
+% restrictions similar or higher to openout_any=p. They also have no
+% features to invoke arbitrary other programs, and no known exploitable
+% bugs. All to the best of our knowledge. They also have practical use
+% for being called from TeX.
+%
+shell_escape_commands = \
+bibtex,bibtex8,\
+kpsewhich,\
+makeindex,\
+repstopdf,\
+
+% we'd like to allow:
+% dvips - but external commands can be executed, need at least -R1.
+% epspdf, ps2pdf, pstopdf - need to respect openout_any,
+% and gs -dSAFER must be used and check for shell injection with filenames.
+% (img)convert (ImageMagick) - delegates.mgk possible misconfig, besides,
+% without Unix convert it hardly seems worth it, and Windows convert
+% is something completely different that destroys filesystems, so skip.
+% pygmentize - but is the filter feature insecure?
+% ps4pdf - but it calls an unrestricted latex.
+% rpdfcrop - maybe ok, but let's get experience with repstopdf first.
+% texindy,xindy - but is the module feature insecure?
+% ulqda - but requires optional SHA1.pm, so why bother.
+% tex, latex, etc. - need to forbid --shell-escape, and inherit openout_any.
+
+% plain TeX should remain unenhanced.
+shell_escape.tex = f
+shell_escape.initex = f
+
+% This is used by the Windows script wrapper for restricting searching
+% for the purportedly safe shell_escape_commands above to system
+% directories.
+TEXMF_RESTRICTED_SCRIPTS = \
+ {!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}/scripts/{$progname,$engine,}//
+
+% Allow TeX \openin, \openout, or \input on filenames starting with `.'
+% (e.g., .rhosts) or outside the current tree (e.g., /etc/passwd)?
+% a (any) : any file can be opened.
+% r (restricted) : disallow opening "dotfiles".
+% p (paranoid) : as `r' and disallow going to parent directories, and
+% restrict absolute paths to be under $TEXMFOUTPUT.
+openout_any = p
+openin_any = a
+
+% Write .log/.dvi/etc. files here, if the current directory is unwritable.
+%TEXMFOUTPUT = /tmp
+
+% If a dynamic file creation fails, log the command to this file, in
+% either the current directory or TEXMFOUTPUT. Set to the
+% empty string or 0 to avoid logging.
+MISSFONT_LOG = missfont.log
+
+% Set to a colon-separated list of words specifying warnings to suppress.
+% To suppress everything, use TEX_HUSH = all; this is currently equivalent to
+% TEX_HUSH = checksum:lostchar:readable:special
+% To suppress nothing, use TEX_HUSH = none or do not set the variable at all.
+TEX_HUSH = none
+
+% Allow TeX, and MF to parse the first line of an input file for
+% the %&format construct.
+parse_first_line = t
+
+% But don't parse the first line if invoked as "tex", since we want that
+% to remain Knuth-compatible. The src_specials and
+% file_line_error_style settings, as well as the options -enctex,
+% -mltex, -8bit, etc., also affect this, but they are all off by default.
+parse_first_line.tex = f
+parse_first_line.initex = f
+
+% Control file:line:error style messages.
+file_line_error_style = f
+
+% Enable the mktex... scripts by default? These must be set to 0 or 1.
+% Particular programs can and do override these settings, for example
+% dvips's -M option. Your first chance to specify whether the scripts
+% are invoked by default is at configure time.
+%
+% These values are ignored if the script names are changed; e.g., if you
+% set DVIPSMAKEPK to `foo', what counts is the value of the environment
+% variable/config value `FOO', not the `MKTEXPK' value.
+%
+%MKTEXTEX = 0
+%MKTEXPK = 0
+%MKTEXMF = 0
+%MKTEXTFM = 0
+%MKTEXFMT = 0
+%MKOCP = 0
+%MKOFM = 0
+
+% Used by makempx to run TeX. We use "etex" because MetaPost is
+% expecting DVI, and not "tex" because we want first line parsing.
+TEX = etex
+
+% These variables specify the external program called for the
+% interactive `e' option. %d is replaced by the line number and %s by
+% the current filename. The default is specified at compile-time, and
+% we let that stay in place since different platforms like different values.
+%TEXEDIT = vi +%d '%s' % default for Unix
+%TEXEDIT = texworks --position=+%d "%s" % default for Windows
+%MFEDIT = ${TEXEDIT}
+%MPEDIT = ${TEXEDIT}
+
+% The default `codepage and sort order' file for BibTeX8, when none is
+% given as command line option or environment variable.
+BIBTEX_CSFILE = 88591lat.csf
+
+% This variable is specific to Windows. It must be set to 0 or 1. The
+% default is 0. Setting it to 1 tells the Windows script wrappers to
+% use an already installed Perl interpreter if one is found on the
+% search path, in preference to the Perl shipped with TeX Live. Thus,
+% it may be useful if you both (a) installed a full Perl distribution
+% for general use, and (b) need to run Perl programs from TL that use
+% additional modules we don't provide. The TL Perl does provide all the
+% standard Perl modules.
+%
+%TEXLIVE_WINDOWS_TRY_EXTERNAL_PERL = 0
+
+
+% Part 3: Array and other sizes for TeX (and Metafont).
+%
+% If you want to change some of these sizes only for a certain TeX
+% variant, the usual dot notation works, e.g.,
+% main_memory.hugetex = 20000000
+%
+% If a change here appears to be ignored, try redumping the format file.
+
+% Memory. Must be less than 8,000,000 total.
+%
+% main_memory is relevant only to initex, extra_mem_* only to non-ini.
+% Thus, have to redump the .fmt file after changing main_memory; to add
+% to existing fmt files, increase extra_mem_*. (To get an idea of how
+% much, try \tracingstats=2 in your TeX source file;
+% web2c/tests/memtest.tex might also be interesting.)
+%
+% To increase space for boxes (as might be needed by, e.g., PiCTeX),
+% increase extra_mem_bot.
+%
+% For some xy-pic samples, you may need as much as 700000 words of memory.
+% For the vast majority of documents, 60000 or less will do.
+%
+main_memory = 3000000 % words of inimemory available; also applies to inimf&mp
+extra_mem_top = 0 % extra high memory for chars, tokens, etc.
+extra_mem_bot = 0 % extra low memory for boxes, glue, breakpoints, etc.
+
+% ConTeXt needs lots of memory.
+extra_mem_top.context = 2000000
+extra_mem_bot.context = 4000000
+
+% Words of font info for TeX (total size of all TFM files, approximately).
+% Must be >= 20000 and <= 147483647 (without tex.ch changes).
+font_mem_size = 3000000
+
+% Total number of fonts. Must be >= 50 and <= 9000 (without tex.ch changes).
+font_max = 9000
+
+% Extra space for the hash table of control sequences.
+hash_extra = 200000
+
+% Max number of characters in all strings, including all error messages,
+% help texts, font names, control sequences. These values apply to TeX.
+pool_size = 3250000
+% Minimum pool space after TeX's own strings; must be at least
+% 25000 less than pool_size, but doesn't need to be nearly that large.
+string_vacancies = 90000
+% Maximum number of strings.
+max_strings = 500000
+% min pool space left after loading .fmt
+pool_free = 47500
+
+% Buffer size. TeX uses the buffer to contain input lines, but macro
+% expansion works by writing material into the buffer and reparsing the
+% line. As a consequence, certain constructs require the buffer to be
+% very large, even though most documents can be handled with a small value.
+buf_size = 200000
+
+% Hyphenation trie. The maximum possible is 4194303 (ssup_trie_size in
+% the sources), but we don't need that much. The value here suffices
+% for all known free hyphenation patterns to be loaded simultaneously
+% (as TeX Live does).
+%
+trie_size = 1000000
+
+hyph_size = 8191 % prime number of hyphenation exceptions, >610, <32767.
+ % http://primes.utm.edu/curios/page.php/8191.html
+nest_size = 500 % simultaneous semantic levels (e.g., groups)
+max_in_open = 15 % simultaneous input files and error insertions,
+ % also applies to MetaPost
+param_size = 10000 % simultaneous macro parameters, also applies to MP
+save_size = 50000 % for saving values outside current group
+stack_size = 5000 % simultaneous input sources
+
+% These are Omega-specific.
+ocp_buf_size = 500000 % character buffers for ocp filters.
+ocp_stack_size = 10000 % stacks for ocp computations.
+ocp_list_size = 1000 % control for multiple ocps.
+
+% These work best if they are the same as the I/O buffer size, but it
+% doesn't matter much. Must be a multiple of 8.
+dvi_buf_size = 16384 % TeX
+gf_buf_size = 16384 % MF
+
+% It's probably inadvisable to change these. At any rate, we must have:
+% 45 < error_line < 255;
+% 30 < half_error_line < error_line - 15;
+% 60 <= max_print_line;
+% These apply to TeX, Metafont, and MetaPost.
+error_line = 79
+half_error_line = 50
+max_print_line = 79
+
+% Metafont only.
+screen_width.mf = 1664
+screen_depth.mf = 1200
+
+% BibTeX only (max_strings also determines hash_size and hash_prime).
+ent_str_size = 250
+glob_str_size = 5000
+max_strings.bibtex = 35307
+max_strings.bibtex8 = 35307
+max_strings.bibtexu = 35307
+max_strings.pbibtex = 35307
+
+% GFtype only.
+line_length.gftype = 500
+max_rows.gftype = 8191
+max_cols.gftype = 8191