From 25f164e4d715807385e621f21bf1715d64d925a8 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 9 Sep 2013 01:38:18 -0700 Subject: Mon Sep 9 01:37:55 PDT 2013 --- community/connman/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'community/connman/PKGBUILD') diff --git a/community/connman/PKGBUILD b/community/connman/PKGBUILD index 2c9b394fa..20e112ff0 100644 --- a/community/connman/PKGBUILD +++ b/community/connman/PKGBUILD @@ -1,9 +1,9 @@ -#$Id: PKGBUILD 96694 2013-09-03 03:45:40Z dwallace $ +#$Id: PKGBUILD 96915 2013-09-08 05:31:48Z dwallace $ # Maintainer: Daniel Wallace # Contributor: Lucas De Marchi pkgname=connman -pkgver=1.17 +pkgver=1.18 pkgrel=1 pkgdesc="Wireless LAN network manager" url="http://connman.net/" @@ -17,7 +17,7 @@ makedepends=('bluez' 'wpa_supplicant' 'openconnect' 'openvpn') options=('!libtool') source=("http://www.kernel.org/pub/linux/network/${pkgname}/${pkgname}-${pkgver}.tar.bz2" 'allow_group_network.diff') -md5sums=('21ab8945f84b2ebf5f60bc8591fecdfd' +md5sums=('cd696bf74512eb644cef6e983ba6c94f' 'a8d22ee089fb0ed725130d16ad393047') prepare(){ -- cgit v1.2.3-54-g00ecf From f5039428394b8715a685c006ab4c7421f45d0aff Mon Sep 17 00:00:00 2001 From: root Date: Tue, 10 Sep 2013 01:37:49 -0700 Subject: Tue Sep 10 01:36:04 PDT 2013 --- community/adesklets/PKGBUILD | 53 - community/adesklets/adesklets.install | 31 - community/adesklets/fontconfig-2.4.patch | 50 - community/adesklets/posix_signal.patch | 81 - community/bitcoin/PKGBUILD | 10 +- community/connman/PKGBUILD | 12 +- community/dbmail/PKGBUILD | 63 +- community/dbmail/dbmail-2.2.10-pam-support.patch | 251 --- community/dbmail/dbmail-7-systemd.diff | 176 ++ community/dbmail/dbmail-imapd.service | 11 - community/dbmail/dbmail-lmtpd.service | 11 - community/dbmail/dbmail-pop3d.service | 11 - community/dbmail/dbmail-timsieved.service | 11 - community/dbmail/dbmail.tmpfiles | 1 - community/freemat/PKGBUILD | 10 +- community/gnustep-back/PKGBUILD | 4 +- community/gnustep-base/PKGBUILD | 4 +- community/gnustep-gui/PKGBUILD | 4 +- community/gnustep-make/ChangeLog | 2 + community/gnustep-make/PKGBUILD | 30 + community/ibus-anthy/PKGBUILD | 6 +- community/lightdm/PKGBUILD | 4 +- community/lightdm/lightdm.install | 6 + community/lrzip/PKGBUILD | 6 +- community/lxdm/PKGBUILD | 91 +- community/lxdm/default-config.patch | 80 + community/lxdm/git-fixes.patch | 2038 ++++++++++++++++++++ community/lxdm/lxdm.install | 23 +- community/oolite/PKGBUILD | 4 +- community/opus-tools/PKGBUILD | 17 +- community/perl-clone/PKGBUILD | 6 +- community/recoll/PKGBUILD | 4 +- community/sage-mathematics/PKGBUILD | 9 +- community/sshguard/PKGBUILD | 15 +- community/sshguard/sshguard-journalctl | 4 +- community/sshguard/sshguard.service | 2 +- community/uwsgi/PKGBUILD | 25 +- community/uwsgi/archlinux.ini | 2 +- community/uwsgi/uwsgi@.service | 1 + extra/chromaprint/PKGBUILD | 17 +- extra/efivar/PKGBUILD | 15 +- extra/transfig/PKGBUILD | 22 +- extra/transfig/transfig-3.2.5d-libpng-1.5.patch | 39 - libre/bfgminer-libre/PKGBUILD | 6 +- libre/texlive-bin-libre/09-texlive-fonts.conf | 9 + libre/texlive-bin-libre/PKGBUILD | 302 +++ .../texlive-bin-libre/fix-fontforge-encoding.patch | 12 + libre/texlive-bin-libre/luatex-poppler-0.20.patch | 77 + .../luatex-r4449-radical-rule-thickness.patch | 23 + libre/texlive-bin-libre/poppler-0.20.patch | 22 + libre/texlive-bin-libre/texlive.install | 50 + libre/texlive-bin-libre/texmf.cnf | 724 +++++++ libre/texlive-bin/09-texlive-fonts.conf | 9 - libre/texlive-bin/PKGBUILD | 301 --- libre/texlive-bin/fix-fontforge-encoding.patch | 12 - libre/texlive-bin/luatex-poppler-0.20.patch | 77 - .../luatex-r4449-radical-rule-thickness.patch | 23 - libre/texlive-bin/poppler-0.20.patch | 22 - libre/texlive-bin/texlive.install | 50 - libre/texlive-bin/texmf.cnf | 724 ------- libre/texlive-core-libre/PKGBUILD | 8 +- libre/texlive-fontsextra-libre/PKGBUILD | 6 +- .../texlive-fontsextra.maps | 6 +- libre/texlive-latexextra-libre/PKGBUILD | 13 +- 64 files changed, 3761 insertions(+), 1977 deletions(-) delete mode 100644 community/adesklets/PKGBUILD delete mode 100644 community/adesklets/adesklets.install delete mode 100644 community/adesklets/fontconfig-2.4.patch delete mode 100644 community/adesklets/posix_signal.patch delete mode 100644 community/dbmail/dbmail-2.2.10-pam-support.patch create mode 100644 community/dbmail/dbmail-7-systemd.diff delete mode 100644 community/dbmail/dbmail-imapd.service delete mode 100644 community/dbmail/dbmail-lmtpd.service delete mode 100644 community/dbmail/dbmail-pop3d.service delete mode 100644 community/dbmail/dbmail-timsieved.service delete mode 100644 community/dbmail/dbmail.tmpfiles create mode 100644 community/gnustep-make/ChangeLog create mode 100644 community/gnustep-make/PKGBUILD create mode 100644 community/lxdm/default-config.patch create mode 100644 community/lxdm/git-fixes.patch delete mode 100644 extra/transfig/transfig-3.2.5d-libpng-1.5.patch create mode 100644 libre/texlive-bin-libre/09-texlive-fonts.conf create mode 100644 libre/texlive-bin-libre/PKGBUILD create mode 100644 libre/texlive-bin-libre/fix-fontforge-encoding.patch create mode 100644 libre/texlive-bin-libre/luatex-poppler-0.20.patch create mode 100644 libre/texlive-bin-libre/luatex-r4449-radical-rule-thickness.patch create mode 100644 libre/texlive-bin-libre/poppler-0.20.patch create mode 100644 libre/texlive-bin-libre/texlive.install create mode 100644 libre/texlive-bin-libre/texmf.cnf delete mode 100644 libre/texlive-bin/09-texlive-fonts.conf delete mode 100644 libre/texlive-bin/PKGBUILD delete mode 100644 libre/texlive-bin/fix-fontforge-encoding.patch delete mode 100644 libre/texlive-bin/luatex-poppler-0.20.patch delete mode 100644 libre/texlive-bin/luatex-r4449-radical-rule-thickness.patch delete mode 100644 libre/texlive-bin/poppler-0.20.patch delete mode 100644 libre/texlive-bin/texlive.install delete mode 100644 libre/texlive-bin/texmf.cnf (limited to 'community/connman/PKGBUILD') diff --git a/community/adesklets/PKGBUILD b/community/adesklets/PKGBUILD deleted file mode 100644 index 607ac3847..000000000 --- a/community/adesklets/PKGBUILD +++ /dev/null @@ -1,53 +0,0 @@ -# $Id: PKGBUILD 59648 2011-11-29 01:35:36Z ebelanger $ -# Maintainer: Jaroslav Lichtblau -# Contributor: Fubar - -pkgname=adesklets -pkgver=0.6.1 -pkgrel=12 -pkgdesc="An imlib2-based system to have interactive 'desklets'." -arch=('i686' 'x86_64') -url="http://adesklets.sourceforge.net/" -license=('GPL2') -depends=('imlib2' 'fontconfig' 'python2' 'perl' 'ttf-bitstream-vera' 'libx11') -install=$pkgname.install -options=('!emptydirs') -source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.bz2 \ - fontconfig-2.4.patch posix_signal.patch) -md5sums=('cd390c9398449c5566033e2e4792bccb' - '0374aec97670c90713fcabc2710e2160' - 'd9ac15cc92f833f2446218e487e6c607') - -build() { - cd "${srcdir}/${pkgname}-${pkgver}" - - patch -p1 -i "${srcdir}/posix_signal.patch" - - #patch for fontconfig => 2.4 - patch -Np0 -i "${srcdir}/fontconfig-2.4.patch" - - autoreconf - PYTHON=/usr/bin/python2 ./configure --prefix=/usr - - #makefile Fix - sed -i 's/\/bin\/sh//' doc/Makefile - - #python2 fix - for file in checkin installer submit; do - sed -i 's_/usr/bin/env python_/usr/bin/env python2_' utils/${pkgname}_${file} - done - - make -} - -package() { - cd "${srcdir}/${pkgname}-${pkgver}" - - make DESTDIR="${pkgdir}" INSTALLDIRS=vendor install - - #remove the font stuff - rm -f "${pkgdir}"/usr/share/adesklets/{FONT_LICENSE,Vera.ttf} - - find "${pkgdir}" -name '.packlist' -exec rm '{}' \; - find "${pkgdir}" -name 'perllocal.pod' -exec rm '{}' \; -} diff --git a/community/adesklets/adesklets.install b/community/adesklets/adesklets.install deleted file mode 100644 index cae17e499..000000000 --- a/community/adesklets/adesklets.install +++ /dev/null @@ -1,31 +0,0 @@ -infodir=/usr/share/info -filelist=(adesklets.info adesklets_fr.info) - -post_install() { - for file in ${filelist[@]}; do - install-info $infodir/$file $infodir/dir 2> /dev/null - done - - getent group adesklets > /dev/null || usr/sbin/groupadd -g 107 adesklets -cat << EOF - -==> To be able to save configs of adesklets -==> add your user to the adesklets group: -==> # gpasswd -a USERNAME adesklets - -EOF -} - -post_upgrade() { - for file in ${filelist[@]}; do - install-info $infodir/$file $infodir/dir 2> /dev/null - done -} - -post_remove() { - for file in ${filelist[@]}; do - install-info --delete $infodir/$file $infodir/dir 2> /dev/null - done - - usr/sbin/groupdel adesklets &>/dev/null -} diff --git a/community/adesklets/fontconfig-2.4.patch b/community/adesklets/fontconfig-2.4.patch deleted file mode 100644 index e7a1ad5ca..000000000 --- a/community/adesklets/fontconfig-2.4.patch +++ /dev/null @@ -1,50 +0,0 @@ ---- configure.ac -+++ configure.ac -@@ -1,4 +1,4 @@ --dnl Initialize autoconf and automake -+nl Initialize autoconf and automake - AC_INIT - AC_CONFIG_SRCDIR(src/main.c) - AC_PREREQ(2.52) -@@ -428,7 +428,18 @@ AC_TRY_LINK( - #include - , FcInit(), - AC_MSG_RESULT([yes]) --AC_DEFINE(HAVE_FONTCONFIG_FONTCONFIG_H,1,[Define to 1 if you have the header file.]), -+AC_DEFINE(HAVE_FONTCONFIG_FONTCONFIG_H,1,[Define to 1 if you have the header file.]) -+ -+AC_MSG_CHECKING([For fontconfig FcFini()]) -+AC_TRY_LINK( -+#include -+, FcFini(), -+AC_MSG_RESULT([yes]) -+AC_DEFINE(HAVE_FONTCONFIG_FCFINI,1,[Define to 1 if FcFini() call exists]) -+, -+AC_MSG_RESULT([no])) -+ -+, - AC_MSG_RESULT([no]) - FONTCONFIG_LIBS= - FONTCONFIG_CFLAGS= ---- src/xwindow.c -+++ src/xwindow.c -@@ -123,9 +123,17 @@ - if ((strlen((char*)file)>4) && - (strstr((char*)file+strlen((char*)file)-4,".ttf"))) - imlib_add_path_to_font_path(dirname((char*)file)); -- FcFontSetDestroy(fs); -- FcObjectSetDestroy(os); - } -+#ifdef HAVE_FONTCONFIG_FCFINI -+ FcFini(); -+#else -+ /* On FontConfig >= 2.4, this causes a segfault, probably due to the new -+ caching mechanism: we don't have to care, since FcFini() always exists, -+ and does the dirty dessalocation job just fine. -+ */ -+ if (fs) FcFontSetDestroy(fs); -+ FcObjectSetDestroy(os); -+#endif - } - #endif - imlib_add_path_to_font_path("."); diff --git a/community/adesklets/posix_signal.patch b/community/adesklets/posix_signal.patch deleted file mode 100644 index 90b3e8a12..000000000 --- a/community/adesklets/posix_signal.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 92e686badce5c549699a30e82458a42dbcd99183 Mon Sep 17 00:00:00 2001 -From: Sylvain -Date: Wed, 2 May 2007 13:23:18 -0400 -Subject: [PATCH] Definitive fix for the signal module importation problem - ...from posix_signal on some amd64 systems. Many thanks to Jason - Pontious for his support and patience. - ---- - scripting/python/posix_signal.c | 34 ++++++++++++++++++---------------- - 1 files changed, 18 insertions(+), 16 deletions(-) - -diff --git a/scripting/python/posix_signal.c b/scripting/python/posix_signal.c -index 620248f..7c5ac25 100644 ---- a/scripting/python/posix_signal.c -+++ b/scripting/python/posix_signal.c -@@ -1,16 +1,17 @@ - /*--- posix_signal.c ----------------------------------------------------------- --This is nothing but a forward port from older python code by Lance Ellinghaus, --Guido van Rossum & al., reformatted and put back together by Sylvain Fourmanoit --for recent (2.2.0 final and newer) python implementations. -- --The ability to temporarily delay signals delivery is a very usefull feature - --not all C functions are reentrant (in fact, only a few need to be 'safe' --according to the POSIX 1003.1-2003 list), so being able to create critical --code sections is a must. Although I am convinced Python's developpers --had good reasons, I do not know myself why 'sigprocmask' and associated --functions support was dropped from the signal module on systems which --implemented them... Since I needed them in my blissful ignorance, --here they are, alive and kicking. :-) -+This is nothing but a forward port from older python code by Lance -+Ellinghaus, Guido van Rossum & al., reformatted and put back together -+by Sylvain Fourmanoit for recent (2.2.0 -+final and newer) python implementations. -+ -+The ability to temporarily delay signals delivery is a very usefull -+feature - not all C functions are reentrant (in fact, only a few need -+to be 'safe' according to the POSIX 1003.1-2003 list), so being able -+to create critical code sections is a must. Although I am convinced -+Python's developpers had good reasons, I do not know myself why -+'sigprocmask' and associated functions support was dropped from the -+signal module on systems which implemented them... Since I needed them -+in my blissful ignorance, here they are, alive and kicking. :-) - - ------------------------------------------------------------------------------*/ - #include -@@ -214,8 +215,9 @@ PyMODINIT_FUNC - initposix_signal(void) - { - const char * KEYS [] = { "__doc__", "__name__" , NULL}; -- int i, pos=0; -+ int i; - char * key_str, * doc_str , * new_str; -+ Py_ssize_t pos = 0; - PyObject * m, * mDoc, *d, - * pName, * pModule, * pDict, - * key, * value, *x; -@@ -236,7 +238,6 @@ initposix_signal(void) - /* The chunk of code below roughly perfoms python equivalent of: - 'from signal import *' inside what would be a pure python posix_signal - module ... */ -- pName=PyString_FromString("signal"); - if ((pModule=PyImport_Import((pName=PyString_FromString("signal"))))) { - pDict=PyModule_GetDict(pModule); - while (PyDict_Next(pDict, &pos, &key, &value)) -@@ -246,10 +247,11 @@ initposix_signal(void) - for(i=0;KEYS[i];++i) - if (strncmp(key_str,KEYS[i],strlen(KEYS[i]))==0) - break; -- if (!KEYS[i]) -+ if (!KEYS[i]) { - /* This needs python 2.2 and up */ -+ Py_INCREF(value); - PyModule_AddObject(m,key_str,value); -- else { -+ } else { - if (i==0) { - /* Append signal module documentation */ - if ((mDoc=PyDict_GetItemString(d,KEYS[0]))) { --- -1.6.5.GIT - diff --git a/community/bitcoin/PKGBUILD b/community/bitcoin/PKGBUILD index 665dd1db8..dda483d55 100644 --- a/community/bitcoin/PKGBUILD +++ b/community/bitcoin/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 94013 2013-07-13 12:30:36Z svenstaro $ +# $Id: PKGBUILD 96972 2013-09-09 14:59:02Z tredaelli $ # Maintainer: Timothy Redaelli # Contributor: shahid pkgbase=bitcoin pkgname=('bitcoin-daemon' 'bitcoin-qt') -pkgver=0.8.3 -pkgrel=2 +pkgver=0.8.4 +pkgrel=1 arch=('i686' 'x86_64') url="http://www.bitcoin.org/" makedepends=('boost' 'automoc4' 'qrencode' 'miniupnpc') license=('MIT') source=(http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-$pkgver/bitcoin-$pkgver-linux.tar.gz) -sha256sums=('c6003a6af947e6978b13ab55d7bb7ec97aedc55022fb4924d08792a8d4f83a35') +sha256sums=('cd746a4ab3b656e41e3f09722a7336fb978eb726bae55591314f1dad60759ecc') build() { cd "$srcdir/$pkgbase-$pkgver-linux/src" @@ -26,7 +26,7 @@ build() { package_bitcoin-qt() { - pkgdesc="Bitcoin is a peer-to-peer network based digital currency - QT" + pkgdesc="Bitcoin is a peer-to-peer network based digital currency - Qt" depends=(boost-libs qt4 miniupnpc qrencode) install=bitcoin-qt.install diff --git a/community/connman/PKGBUILD b/community/connman/PKGBUILD index 20e112ff0..1cb7541ac 100644 --- a/community/connman/PKGBUILD +++ b/community/connman/PKGBUILD @@ -1,19 +1,20 @@ -#$Id: PKGBUILD 96915 2013-09-08 05:31:48Z dwallace $ +#$Id: PKGBUILD 96945 2013-09-09 02:20:31Z dwallace $ # Maintainer: Daniel Wallace # Contributor: Lucas De Marchi pkgname=connman pkgver=1.18 -pkgrel=1 +pkgrel=2 pkgdesc="Wireless LAN network manager" url="http://connman.net/" arch=('i686' 'x86_64') license=('GPL2') -depends=('dbus-core' 'iptables' 'glib2' 'gnutls') +depends=('dbus-core' 'iptables' 'gnutls' 'glib2') conflicts=('openresolv') optdepends=('bluez: Support for Bluetooth devices' - 'wpa_supplicant: For WiFi devices') -makedepends=('bluez' 'wpa_supplicant' 'openconnect' 'openvpn') + 'wpa_supplicant: For WiFi devices' + 'pptpclient: for ppp support') +makedepends=('bluez' 'wpa_supplicant' 'openconnect' 'openvpn' 'ppp') options=('!libtool') source=("http://www.kernel.org/pub/linux/network/${pkgname}/${pkgname}-${pkgver}.tar.bz2" 'allow_group_network.diff') @@ -33,6 +34,7 @@ build() { --sbindir=/usr/bin \ --with-systemdunitdir=/usr/lib/systemd/system \ --enable-threads \ + --enable-pptp \ --enable-openconnect \ --enable-vpnc \ --enable-openvpn \ diff --git a/community/dbmail/PKGBUILD b/community/dbmail/PKGBUILD index 69a9b566d..9fed42cc5 100644 --- a/community/dbmail/PKGBUILD +++ b/community/dbmail/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 96731 2013-09-03 16:12:39Z spupykin $ +# $Id: PKGBUILD 96964 2013-09-09 11:34:14Z spupykin $ # Maintainer: Sergej Pupykin # Contributor: Sebastian Faltoni pkgname=dbmail -pkgver=3.1.4 -pkgrel=2 +pkgver=3.1.5 +pkgrel=1 pkgdesc="Fast and scalable sql based mail services" arch=('i686' 'x86_64') depends=('gmime' 'libzdb' 'mhash' 'libevent') @@ -20,51 +20,57 @@ backup=(etc/xinetd.d/dbmail-imapd etc/xinetd.d/dbmail-pop3d etc/xinetd.d/dbmail-lmtpd etc/xinetd.d/dbmail-timsieved) -source=(http://www.dbmail.org/download/3.1/dbmail-${pkgver/_/-}.tar.gz - dbmail.tmpfiles - dbmail-imapd.service - dbmail-lmtpd.service - dbmail-pop3d.service - dbmail-timsieved.service +source=(http://www.dbmail.org/download/3.1/dbmail-${pkgver}.tar.gz dbmail-imapd.xinetd dbmail-lmtpd.xinetd dbmail-pop3d.xinetd dbmail-timsieved.xinetd - "boundary.patch::http://git.dbmail.eu/paul/dbmail/patch/?id=fd742e39b13ec45e4ecf2e175113a6a0120af27b" - "crlf.patch::http://git.dbmail.eu/paul/dbmail/patch/?id=17a2e61917ae64b1f20039f49b70b9130b678c87") -md5sums=('0090bb7998469e963d2eb49b7d16ea3f' - 'c4b5793c5422b62a675d4c66ff7e9300' - '5a6297cb03c8d0b424f978ea1d7402de' - '070db88538af9833f003f4cb516d337b' - '422f0399f97a780b7cab84443e8f429a' - '15c7d367d4242aebac5f87649a2250aa' + "dbmail-1.patch::http://git.dbmail.eu/paul/dbmail/patch/?id=45d83009e2d989e62af384432f2d71b133fecf4c" + "dbmail-2.patch::http://git.dbmail.eu/paul/dbmail/patch/?id=d645222c7145127ed7f505e6b8325b5a996d1a74" + "dbmail-3.patch::http://git.dbmail.eu/paul/dbmail/patch/?id=f294d43d0aa115e4c4b6c1dbcf72e6cd00badfd1" + "dbmail-4.patch::http://git.dbmail.eu/paul/dbmail/patch/?id=10c9cb29ea92030b257937d3c49e0b45d15214c3" + "dbmail-5.patch::http://git.dbmail.eu/paul/dbmail/patch/?id=4c23432cc270554557f9e130331214d81164131b" + "dbmail-6-sieve.patch::http://git.dbmail.eu/paul/dbmail/patch/?id=92b98094a01eda5efe3ba3080e529482d08945a2" + "dbmail-7-systemd.diff") +md5sums=('033e7de6acff49d68beab93632a77761' '890de13361afbdf4fed12d6d7eb53e66' '961593658cd596297d03d25eb9c9e98f' '4cb764894abd3914802e90602bf90a0c' 'e78dc86355f9aaf24590bc7c6611162f' - 'e9f9c1140e77e3714fd2c3905b1760f1' - 'c86c4c2a4e9171ae8c0ad5692262b393') + 'ea647952c0a66d36146b6d71c7b459b7' + '8dac89125d01885df97847537733d3dc' + '027bae99982dfe5ef69c598a24d0cd81' + '6a3b8ddbb162894d97d1d9cd3c5b8c4d' + '2679407f6290494ccc18b135d50dee6e' + 'b1063893dd0e74bc0ddee454bb65bf01' + 'a781a4ebe2dd75ed635c9b4a239b38d8') prepare() { - cd $srcdir/dbmail-${pkgver/_/-}/ - patch -p1 <$srcdir/boundary.patch - patch -p1 <$srcdir/crlf.patch + cd $srcdir/dbmail-${pkgver}/ + ls -1 $srcdir/*.patch | while read p; do + msg "Patch: $p" + patch -p1 <$p + done + patch -Rp1 <$srcdir/dbmail-7-systemd.diff + aclocal + automake --add-missing + autoreconf } build() { - cd $srcdir/dbmail-${pkgver/_/-}/ + cd $srcdir/dbmail-${pkgver}/ + automake [ -f Makefile ] || ./configure \ --prefix=/usr --sbindir=/usr/bin --sysconfdir=/etc \ - --with-ldap --with-sieve + --with-ldap --with-sieve \ + --enable-systemd --enable-manpages make } package() { - cd $srcdir/dbmail-${pkgver/_/-}/ + cd $srcdir/dbmail-${pkgver}/ make DESTDIR=$pkgdir install - (cd man && make && make install DESTDIR=$pkgdir) - mkdir $pkgdir/etc install -Dm644 dbmail.conf $pkgdir/etc/dbmail.conf.sample mkdir $pkgdir/usr/share/dbmail cp -r sql/* $pkgdir/usr/share/dbmail/ @@ -72,9 +78,6 @@ package() { cp dbmail.schema $pkgdir/usr/share/dbmail/ for i in dbmail-imapd dbmail-lmtpd dbmail-pop3d dbmail-timsieved; do - install -Dm0644 $srcdir/$i.service $pkgdir/usr/lib/systemd/system/$i.service install -Dm0644 $srcdir/$i.xinetd $pkgdir/etc/xinetd.d/$i done - - install -Dm0644 $srcdir/dbmail.tmpfiles $pkgdir/usr/lib/tmpfiles.d/dbmail.conf } diff --git a/community/dbmail/dbmail-2.2.10-pam-support.patch b/community/dbmail/dbmail-2.2.10-pam-support.patch deleted file mode 100644 index 805a7f609..000000000 --- a/community/dbmail/dbmail-2.2.10-pam-support.patch +++ /dev/null @@ -1,251 +0,0 @@ -diff -wbBur dbmail-2.2.10/configure.in dbmail-2.2.10.pam/configure.in ---- dbmail-2.2.10/configure.in 2008-03-24 17:49:33.000000000 +0300 -+++ dbmail-2.2.10.pam/configure.in 2008-09-18 16:43:04.000000000 +0400 -@@ -78,6 +78,13 @@ - - AC_SUBST(CRYPTLIB) - -+dnl Check for PAM -+AC_SUBST(PAMLIBS,"") -+AC_CHECK_HEADERS(security/pam_appl.h, -+ [AC_CHECK_LIB(pam,pam_start, -+ [AC_DEFINE(HAVE_PAM,1,[Define if you have PAN including devel headers]) -+ PAMLIBS="-lpam"],,)]) -+ - AC_SUBST(MYSQLLIB) - AC_SUBST(MYSQLALIB) - AC_SUBST(MYSQLLTLIB) -diff -wbBur dbmail-2.2.10/dbmail-user.c dbmail-2.2.10.pam/dbmail-user.c ---- dbmail-2.2.10/dbmail-user.c 2008-03-24 17:49:33.000000000 +0300 -+++ dbmail-2.2.10.pam/dbmail-user.c 2008-09-18 16:43:04.000000000 +0400 -@@ -157,7 +157,7 @@ - "md5", "md5-raw", "md5sum", "md5sum-raw", - "md5-hash", "md5-hash-raw", "md5-digest", "md5-digest-raw", - "md5-base64", "md5-base64-raw", "md5base64", "md5base64-raw", -- "shadow", "", NULL -+ "shadow", "pam", "", NULL - }; - - /* These must correspond to the easy text names. */ -@@ -166,7 +166,7 @@ - MD5_HASH, MD5_HASH_RAW, MD5_DIGEST, MD5_DIGEST_RAW, - MD5_HASH, MD5_HASH_RAW, MD5_DIGEST, MD5_DIGEST_RAW, - MD5_BASE64, MD5_BASE64_RAW, MD5_BASE64, MD5_BASE64_RAW, -- SHADOW, PLAINTEXT, PWTYPE_NULL -+ SHADOW, PWTYPE_PAM, PLAINTEXT, PWTYPE_NULL - }; - - memset(pw, 0, 50); -@@ -251,6 +251,12 @@ - *enctype = "crypt"; - } - break; -+#ifdef HAVE_PAM -+ case PWTYPE_PAM: -+ null_strncpy(pw, passwd, 49); -+ *enctype = "pam"; -+ break; -+#endif - default: - qerrorf("Error: password type not supported [%s].\n", - passwdtype); -diff -wbBur dbmail-2.2.10/dbmail-user.h dbmail-2.2.10.pam/dbmail-user.h ---- dbmail-2.2.10/dbmail-user.h 2008-03-24 17:49:33.000000000 +0300 -+++ dbmail-2.2.10.pam/dbmail-user.h 2008-09-18 16:43:04.000000000 +0400 -@@ -34,7 +34,7 @@ - typedef enum { - PLAINTEXT = 0, PLAINTEXT_RAW, CRYPT, CRYPT_RAW, - MD5_HASH, MD5_HASH_RAW, MD5_DIGEST, MD5_DIGEST_RAW, -- MD5_BASE64, MD5_BASE64_RAW, SHADOW, PWTYPE_NULL -+ MD5_BASE64, MD5_BASE64_RAW, SHADOW, PWTYPE_PAM, PWTYPE_NULL - } pwtype_t; - - int mkpassword(const char * const user, const char * const passwd, -diff -wbBur dbmail-2.2.10/modules/authsql.c dbmail-2.2.10.pam/modules/authsql.c ---- dbmail-2.2.10/modules/authsql.c 2008-03-24 17:49:33.000000000 +0300 -+++ dbmail-2.2.10.pam/modules/authsql.c 2008-09-18 16:43:04.000000000 +0400 -@@ -27,6 +27,19 @@ - #include "dbmail.h" - #define THIS_MODULE "auth" - -+#ifdef HAVE_PAM -+#include -+ -+#ifndef DEFAULT_DBMAIL_PAM_SERVICE -+#define DEFAULT_DBMAIL_PAM_SERVICE "dbmail" -+#endif -+ -+#ifndef DEFAULT_DBMAIL_PAM_TTL -+#define DEFAULT_DBMAIL_PAM_TTL 60 -+#endif -+ -+#endif -+ - extern db_param_t _db_params; - #define DBPFX _db_params.pfx - -@@ -49,17 +62,80 @@ - */ - static int __auth_query(const char *thequery); - -+#ifdef HAVE_PAM -+ -+static char *pam_password = NULL; /* Workaround for Solaris 2.6 brokenness */ -+static pam_handle_t *pamh = NULL; -+static int pam_ttl = DEFAULT_DBMAIL_PAM_TTL; -+static char *pam_service = DEFAULT_DBMAIL_PAM_SERVICE; -+static time_t pamh_created = 0; -+/* -+ * A simple "conversation" function returning the supplied password. -+ * Has a bit to much error control, but this is my first PAM application -+ * so I'd rather check everything than make any mistakes. The function -+ * expects a single converstation message of type PAM_PROMPT_ECHO_OFF. -+ */ -+static int -+password_conversation(int num_msg, const struct pam_message **msg, struct pam_response **resp, void *appdata_ptr) -+{ -+ if (num_msg != 1 || msg[0]->msg_style != PAM_PROMPT_ECHO_OFF) { -+ TRACE(TRACE_ERROR, "Unexpected PAM converstaion '%d/%s'", msg[0]->msg_style, msg[0]->msg); -+ return PAM_CONV_ERR; -+ } -+ if (!appdata_ptr) { -+ /* Workaround for Solaris 2.6 where the PAM library is broken -+ * and does not pass appdata_ptr to the conversation routine -+ */ -+ appdata_ptr = pam_password; -+ } -+ if (!appdata_ptr) { -+ TRACE(TRACE_ERROR, "ERROR: No password available to password_converstation!"); -+ return PAM_CONV_ERR; -+ } -+ *resp = calloc(num_msg, sizeof(struct pam_response)); -+ if (!*resp) { -+ TRACE(TRACE_ERROR, "Out of memory!"); -+ return PAM_CONV_ERR; -+ } -+ (*resp)[0].resp = strdup((char *) appdata_ptr); -+ (*resp)[0].resp_retcode = 0; -+ -+ return ((*resp)[0].resp ? PAM_SUCCESS : PAM_CONV_ERR); -+} -+ -+static struct pam_conv conv = -+{ -+ &password_conversation, -+ NULL -+}; -+ -+#endif -+ -+ - int auth_connect() - { - /* this function is only called after a connection has been made - * if, in the future this is not the case, db.h should export a - * function that enables checking for the database connection - */ -+#ifdef HAVE_PAM -+ -+#endif - return 0; - } - - int auth_disconnect() - { -+#ifdef HAVE_PAM -+ int retval=PAM_SUCCESS; -+ if (pamh) { -+ retval = pam_end(pamh, retval); -+ if (retval != PAM_SUCCESS) { -+ pamh = NULL; -+ TRACE(TRACE_ERROR, "failed to release PAM authenticator"); -+ } -+ } -+#endif - return 0; - } - -@@ -458,7 +534,71 @@ - is_validated = (strncmp(md5str, query_result, 32) == 0) ? 1 : 0; - g_free(md5str); - } -+#ifdef HAVE_PAM -+ else if (strcasecmp(query_result, "pam") == 0) { -+ int retval=0; -+ TRACE(TRACE_DEBUG, "validating using pam for user [%s] pass:[%s]",real_username,password); -+ conv.appdata_ptr = (char *) password; -+ pam_password= password; -+ if (pam_ttl == 0) { -+ /* Create PAM connection */ -+ retval = pam_start(pam_service, real_username, &conv, &pamh); -+ if (retval != PAM_SUCCESS) { -+ TRACE(TRACE_ERROR, "failed to create PAM authenticator"); -+ goto pam_error; -+ } -+ } else if (!pamh || (time(NULL) - pamh_created) >= pam_ttl || pamh_created > time(NULL)) { -+ /* Close previous PAM connection */ -+ if (pamh) { -+ retval = pam_end(pamh, retval); -+ if (retval != PAM_SUCCESS) { -+ TRACE(TRACE_WARNING, "failed to release PAM authenticator"); -+ } -+ pamh = NULL; -+ } -+ /* Initialize persistent PAM connection */ -+ retval = pam_start(pam_service, "dbmail@", &conv, &pamh); -+ if (retval != PAM_SUCCESS) { -+ TRACE(TRACE_ERROR, "failed to create PAM authenticator"); -+ goto pam_error; -+ } -+ pamh_created = time(NULL); -+ } -+ retval = PAM_SUCCESS; -+ if (pam_ttl != 0) { -+ if (retval == PAM_SUCCESS) -+ retval = pam_set_item(pamh, PAM_USER, real_username); -+ if (retval == PAM_SUCCESS) -+ retval = pam_set_item(pamh, PAM_CONV, &conv); -+ } -+ if (retval == PAM_SUCCESS) -+ retval = pam_authenticate(pamh, 0); -+ if (retval == PAM_SUCCESS ) //&& !no_acct_mgmt -+ retval = pam_acct_mgmt(pamh, 0); -+ if (retval == PAM_SUCCESS) { -+ is_validated=1; -+ } else { -+pam_error: -+ is_validated=0; -+ } -+ /* cleanup */ -+ retval = PAM_SUCCESS; -+#ifdef PAM_AUTHTOK -+ if (pam_ttl != 0) { -+ if (retval == PAM_SUCCESS) -+ retval = pam_set_item(pamh, PAM_AUTHTOK, NULL); -+ } -+#endif -+ if (pam_ttl == 0 || retval != PAM_SUCCESS) { -+ retval = pam_end(pamh, retval); -+ if (retval != PAM_SUCCESS) { -+ TRACE(TRACE_WARNING, "failed to release PAM authenticator\n"); -+ } -+ pamh = NULL; -+ } - -+ } -+#endif - if (is_validated) { - db_user_log_login(*user_idnr); - } else { -diff -wbBur dbmail-2.2.10/modules/Makefile.am dbmail-2.2.10.pam/modules/Makefile.am ---- dbmail-2.2.10/modules/Makefile.am 2008-03-24 17:49:33.000000000 +0300 -+++ dbmail-2.2.10.pam/modules/Makefile.am 2008-09-18 16:44:53.000000000 +0400 -@@ -60,7 +60,7 @@ - - # This one is always built. - libauth_sql_la_SOURCES = authsql.c --libauth_sql_la_LIBADD = @CRYPTLIB@ -+libauth_sql_la_LIBADD = @CRYPTLIB@ @PAMLIBS@ - - if LDAP - libauth_ldap_la_SOURCES = authldap.c diff --git a/community/dbmail/dbmail-7-systemd.diff b/community/dbmail/dbmail-7-systemd.diff new file mode 100644 index 000000000..097949694 --- /dev/null +++ b/community/dbmail/dbmail-7-systemd.diff @@ -0,0 +1,176 @@ +diff -wbBurN dbmail.git/configure.in dbmail-3.1.5/configure.in +--- dbmail.git/configure.in 2013-09-05 18:07:48.661707165 +0400 ++++ dbmail-3.1.5/configure.in 2013-09-09 15:05:17.639600103 +0400 +@@ -44,10 +44,6 @@ + AS_HELP_STRING([--enable-manpages], [Enable building and installation of man pages])) + AM_CONDITIONAL(MANPAGES, [ test "$enable_manpages" = "yes" ]) + +-AC_ARG_ENABLE([systemd], +- AS_HELP_STRING([--enable-systemd], [Enable systemd support])) +-AM_CONDITIONAL(SYSTEMD, [ test "$enable_systemd" = "yes" ]) +- + AC_PROG_CC + AC_COMPILE_WARNINGS + AC_C_CONST +@@ -82,8 +78,9 @@ + AC_SUBST(DM_STATEDIR) + AC_SUBST(DM_PKGLIBDIR) + AC_SUBST(DM_PWD) ++ + AC_PROG_LIBTOOL + +-AC_OUTPUT(src/dbmail.h Makefile src/Makefile src/modules/Makefile man/Makefile test/Makefile systemd/Makefile) ++AC_OUTPUT(src/dbmail.h Makefile src/Makefile src/modules/Makefile man/Makefile test/Makefile) + + DM_MSG_CONFIGURE_RESULTS +diff -wbBurN dbmail.git/systemd/dbmail-imapd.service.in dbmail-3.1.5/systemd/dbmail-imapd.service.in +--- dbmail.git/systemd/dbmail-imapd.service.in 2013-09-05 18:07:48.711707166 +0400 ++++ dbmail-3.1.5/systemd/dbmail-imapd.service.in 1970-01-01 03:00:00.000000000 +0300 +@@ -1,11 +0,0 @@ +-[Unit] +-Description=DBMail Imap Server +-After=syslog.target network.target mysqld.service postgresql.service +- +-[Service] +-Type=forking +-PIDFile=@piddir@/dbmail-imapd.pid +-ExecStart=@sbindir@/dbmail-imapd -p @piddir@/dbmail-imapd.pid +- +-[Install] +-WantedBy=multi-user.target +diff -wbBurN dbmail.git/systemd/dbmail-lmtpd.service.in dbmail-3.1.5/systemd/dbmail-lmtpd.service.in +--- dbmail.git/systemd/dbmail-lmtpd.service.in 2013-09-05 18:07:48.711707166 +0400 ++++ dbmail-3.1.5/systemd/dbmail-lmtpd.service.in 1970-01-01 03:00:00.000000000 +0300 +@@ -1,11 +0,0 @@ +-[Unit] +-Description=DBMail LMTP Server +-After=syslog.target network.target mysqld.service postgresql.service +- +-[Service] +-Type=forking +-PIDFile=@piddir@/dbmail-lmtpd.pid +-ExecStart=@sbindir@/dbmail-lmtpd -p @piddir@/dbmail-lmtpd.pid +- +-[Install] +-WantedBy=multi-user.target +diff -wbBurN dbmail.git/systemd/dbmail-pop3d.service.in dbmail-3.1.5/systemd/dbmail-pop3d.service.in +--- dbmail.git/systemd/dbmail-pop3d.service.in 2013-09-05 18:07:48.711707166 +0400 ++++ dbmail-3.1.5/systemd/dbmail-pop3d.service.in 1970-01-01 03:00:00.000000000 +0300 +@@ -1,11 +0,0 @@ +-[Unit] +-Description=DBMail pop3 Server +-After=syslog.target network.target mysqld.service postgresql.service +- +-[Service] +-Type=forking +-PIDFile=@piddir@/dbmail-pop3d.pid +-ExecStart=@sbindir@/dbmail-pop3d -p @piddir@/dbmail-pop3d.pid +- +-[Install] +-WantedBy=multi-user.target +diff -wbBurN dbmail.git/systemd/dbmail-timsieved.service.in dbmail-3.1.5/systemd/dbmail-timsieved.service.in +--- dbmail.git/systemd/dbmail-timsieved.service.in 2013-09-05 18:07:48.711707166 +0400 ++++ dbmail-3.1.5/systemd/dbmail-timsieved.service.in 1970-01-01 03:00:00.000000000 +0300 +@@ -1,11 +0,0 @@ +-[Unit] +-Description=DBMail Sieve Server +-After=syslog.target network.target mysqld.service postgresql.service +- +-[Service] +-Type=forking +-PIDFile=@piddir@/dbmail-timsieved.pid +-ExecStart=@sbindir@/dbmail-timsieved -p @piddir@/dbmail-timsieved.pid +- +-[Install] +-WantedBy=multi-user.target +diff -wbBurN dbmail.git/systemd/dbmail.tmpfiles.in dbmail-3.1.5/systemd/dbmail.tmpfiles.in +--- dbmail.git/systemd/dbmail.tmpfiles.in 2013-09-05 18:07:48.711707166 +0400 ++++ dbmail-3.1.5/systemd/dbmail.tmpfiles.in 1970-01-01 03:00:00.000000000 +0300 +@@ -1 +0,0 @@ +-d @piddir@ 0755 nobody nobody - +diff -wbBurN dbmail.git/systemd/Makefile.am dbmail-3.1.5/systemd/Makefile.am +--- dbmail.git/systemd/Makefile.am 2013-09-07 16:12:34.840475834 +0400 ++++ dbmail-3.1.5/systemd/Makefile.am 1970-01-01 03:00:00.000000000 +0300 +@@ -1,68 +0,0 @@ +-# Copyright (C) 1999-2004 IC & S dbmail@ic-s.nl +-# Copyright (c) 2004-2011 NFG Net Facilities Group BV support@nfg.nl +-# +-# This program is free software; you can redistribute it and/or +-# modify it under the terms of the GNU General Public License +-# as published by the Free Software Foundation; either +-# version 2 of the License, or (at your option) any later +-# version. +-# +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. +-# +-# You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +- +- +-EXTRA_DIST = dbmail-imapd.service.in dbmail-lmtpd.service.in dbmail-pop3d.service.in dbmail-timsieved.service.in +-SYSTEMD_UNIT_DIR = /usr/lib/systemd/system +-SYSTEMD_TMPFILES_DIR = /usr/lib/tmpfiles.d +-PID_DIR=/run/dbmail +- +-if SYSTEMD +-install-systemd: dbmail-imapd.service dbmail-lmtpd.service dbmail-pop3d.service dbmail-timsieved.service dbmail.tmpfiles +- $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR) +- $(INSTALL_DATA) dbmail-imapd.service \ +- $(DESTDIR)$(SYSTEMD_UNIT_DIR)/dbmail-imapd.service +- $(INSTALL_DATA) dbmail-lmtpd.service \ +- $(DESTDIR)$(SYSTEMD_UNIT_DIR)/dbmail-lmtpd.service +- $(INSTALL_DATA) dbmail-pop3d.service \ +- $(DESTDIR)$(SYSTEMD_UNIT_DIR)/dbmail-pop3d.service +- $(INSTALL_DATA) dbmail-timsieved.service \ +- $(DESTDIR)$(SYSTEMD_UNIT_DIR)/dbmail-timsieved.service +- $(MKDIR_P) $(DESTDIR)$(SYSTEMD_TMPFILES_DIR) +- $(INSTALL_DATA) dbmail.tmpfiles \ +- $(DESTDIR)$(SYSTEMD_TMPFILES_DIR)/dbmail.conf +- +-uninstall-systemd: +- rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/dbmail-imapd.service +- rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/dbmail-lmtpd.service +- rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/dbmail-pop3d.service +- rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/dbmail-timsieved.service +- rm -f $(DESTDIR)$(SYSTEMD_TMPFILES_DIR)/dbmail.tmpfiles +- +-SUFFIXES=.service.in .service .tmpfiles.in .tmpfiles +- +-.service.in.service: +- $(AM_V_GEN)sed \ +- -e 's|[@]sbindir[@]|$(sbindir)|g' \ +- -e 's|[@]piddir[@]|$(PID_DIR)|g' \ +- < $< > $@-t && \ +- mv $@-t $@ +- +-.tmpfiles.in.tmpfiles: +- $(AM_V_GEN)sed \ +- -e 's|[@]piddir[@]|$(PID_DIR)|g' \ +- < $< > $@-t && \ +- mv $@-t $@ +- +-else +-install-systemd: +-uninstall-systemd: +-endif +- +-install-data-local: install-systemd +-uninstall-local: uninstall-systemd +diff -wbBurN dbmail.git/Makefile.am dbmail-3.1.5/Makefile.am +--- dbmail.git/Makefile.am 2013-09-04 19:00:55.000000000 +0400 ++++ dbmail-3.1.5/Makefile.am 2013-09-09 15:14:22.549612297 +0400 +@@ -6,10 +6,6 @@ + SUBDIRS += man + endif + +-if SYSTEMD +-SUBDIRS += systemd +-endif +- + testall: + CK_FORK=no make check + imaptest user=testuser1 pass=test port=10143 host=localhost test=test-scripts/imap diff --git a/community/dbmail/dbmail-imapd.service b/community/dbmail/dbmail-imapd.service deleted file mode 100644 index bc3319fd0..000000000 --- a/community/dbmail/dbmail-imapd.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=DBMail Imap Server -After=syslog.target network.target mysqld.service postgresql.service - -[Service] -Type=forking -PIDFile=/run/dbmail/dbmail-imapd.pid -ExecStart=/usr/bin/dbmail-imapd -p /run/dbmail/dbmail-imapd.pid - -[Install] -WantedBy=multi-user.target diff --git a/community/dbmail/dbmail-lmtpd.service b/community/dbmail/dbmail-lmtpd.service deleted file mode 100644 index 570ba1ec7..000000000 --- a/community/dbmail/dbmail-lmtpd.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=DBMail LMTP Server -After=syslog.target network.target mysqld.service postgresql.service - -[Service] -Type=forking -PIDFile=/run/dbmail/dbmail-lmtpd.pid -ExecStart=/usr/bin/dbmail-lmtpd -p /run/dbmail/dbmail-lmtpd.pid - -[Install] -WantedBy=multi-user.target diff --git a/community/dbmail/dbmail-pop3d.service b/community/dbmail/dbmail-pop3d.service deleted file mode 100644 index edfa2570a..000000000 --- a/community/dbmail/dbmail-pop3d.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=DBMail pop3 Server -After=syslog.target network.target mysqld.service postgresql.service - -[Service] -Type=forking -PIDFile=/run/dbmail/dbmail-pop3d.pid -ExecStart=/usr/bin/dbmail-pop3d -p /run/dbmail/dbmail-pop3d.pid - -[Install] -WantedBy=multi-user.target diff --git a/community/dbmail/dbmail-timsieved.service b/community/dbmail/dbmail-timsieved.service deleted file mode 100644 index 32623e038..000000000 --- a/community/dbmail/dbmail-timsieved.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=DBMail Sieve Server -After=syslog.target network.target mysqld.service postgresql.service - -[Service] -Type=forking -PIDFile=/run/dbmail/dbmail-timsieved.pid -ExecStart=/usr/bin/dbmail-timsieved -p /run/dbmail/dbmail-timsieved.pid - -[Install] -WantedBy=multi-user.target diff --git a/community/dbmail/dbmail.tmpfiles b/community/dbmail/dbmail.tmpfiles deleted file mode 100644 index 4b97c91f5..000000000 --- a/community/dbmail/dbmail.tmpfiles +++ /dev/null @@ -1 +0,0 @@ -d /run/dbmail 0755 nobody nobody - diff --git a/community/freemat/PKGBUILD b/community/freemat/PKGBUILD index 67d4be403..704e95c4c 100644 --- a/community/freemat/PKGBUILD +++ b/community/freemat/PKGBUILD @@ -1,20 +1,20 @@ -# $Id: PKGBUILD 85346 2013-03-01 10:30:37Z andrea $ +# $Id: PKGBUILD 96957 2013-09-09 09:59:31Z spupykin $ # Maintainer: Sergej Pupykin # Contributor: William Rea pkgname=freemat -pkgver=4.1 -pkgrel=7 +pkgver=4.2 +pkgrel=1 pkgdesc="A free environment for rapid engineering, scientific prototyping and data processing" arch=('i686' 'x86_64') url="http://freemat.sourceforge.net" license=('GPL') -depends=('qt4' 'ffcall' 'fftw' 'portaudio' 'libffi' 'glu') +depends=('qt4' 'ffcall' 'fftw' 'portaudio' 'libffi' 'glu' 'qtwebkit') makedepends=('arpack' 'lapack' 'umfpack' 'blas' 'libmatio' 'cmake' 'python2' 'mesa') install=freemat.install source=(http://downloads.sourceforge.net/project/freemat/FreeMat4/FreeMat-$pkgver-Source.tar.gz build-fix.patch) -md5sums=('929d31e2310feaff5d380fc2f7b4d1a2' +md5sums=('ace147e49273ae935d363da8e2a56d4d' '2d11a28aa2a7df89c4618ed1c4be5973') build() { diff --git a/community/gnustep-back/PKGBUILD b/community/gnustep-back/PKGBUILD index cccadceed..65df8e8eb 100644 --- a/community/gnustep-back/PKGBUILD +++ b/community/gnustep-back/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 90152 2013-05-07 13:33:45Z spupykin $ +# $Id: PKGBUILD 96988 2013-09-09 20:00:16Z bgyorgy $ # Maintainer: Sergej Pupykin # Maintainer: Vesa Kaihlavirta # Contributor: Sebastian Sareyko pkgname=gnustep-back pkgver=0.23.0 -pkgrel=1 +pkgrel=2 pkgdesc="The GNUstep GUI Backend" arch=('i686' 'x86_64') url="http://www.gnustep.org/" diff --git a/community/gnustep-base/PKGBUILD b/community/gnustep-base/PKGBUILD index 0cf72b8a8..6faddd2c8 100644 --- a/community/gnustep-base/PKGBUILD +++ b/community/gnustep-base/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 96475 2013-08-30 14:07:55Z spupykin $ +# $Id: PKGBUILD 96986 2013-09-09 19:51:14Z bgyorgy $ # Maintainer: Sergej Pupykin # Maintainer: Vesa Kaihlavirta # Contributor: Sebastian Sareyko pkgname=gnustep-base pkgver=1.24.5 -pkgrel=1 +pkgrel=2 pkgdesc="The GNUstep base package" arch=('i686' 'x86_64') url="http://www.gnustep.org/" diff --git a/community/gnustep-gui/PKGBUILD b/community/gnustep-gui/PKGBUILD index cc5da7906..4de805f42 100644 --- a/community/gnustep-gui/PKGBUILD +++ b/community/gnustep-gui/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 94925 2013-08-01 07:01:18Z bpiotrowski $ +# $Id: PKGBUILD 96990 2013-09-09 20:20:00Z bgyorgy $ # Maintainer: Sergej Pupykin # Maintainer: Vesa Kaihlavirta # Contributor: Sebastian Sareyko pkgname=gnustep-gui pkgver=0.23.1 -pkgrel=2 +pkgrel=3 pkgdesc="The GNUstep GUI class library" arch=('i686' 'x86_64') url="http://www.gnustep.org/" diff --git a/community/gnustep-make/ChangeLog b/community/gnustep-make/ChangeLog new file mode 100644 index 000000000..15622ab88 --- /dev/null +++ b/community/gnustep-make/ChangeLog @@ -0,0 +1,2 @@ +2007-06-27 tardo +* version upgrade diff --git a/community/gnustep-make/PKGBUILD b/community/gnustep-make/PKGBUILD new file mode 100644 index 000000000..75241dab0 --- /dev/null +++ b/community/gnustep-make/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 96982 2013-09-09 19:40:39Z bgyorgy $ +# Maintainer: Vesa Kaihlavirta +# Contributor: Sebastian Sareyko + +pkgname=gnustep-make +pkgver=2.6.5 +pkgrel=2 +pkgdesc="The GNUstep make package" +arch=('i686' 'x86_64') +url="http://www.gnustep.org/" +license=('GPL') +depends=() +conflicts=('gnustep-make-svn') +groups=('gnustep-core') +source=(ftp://ftp.gnustep.org/pub/gnustep/core/$pkgname-$pkgver.tar.gz) +md5sums=('1e143d2c920cef02535ab533af8b1846') + +build() { + cd $srcdir/$pkgname-$pkgver + ./configure --prefix=/usr --sysconfdir=/etc/GNUstep + make +} + +package() { + cd $srcdir/$pkgname-$pkgver + make DESTDIR=$pkgdir install + install -D -m755 \ + $pkgdir/usr/share/GNUstep/Makefiles/GNUstep.sh \ + $pkgdir/etc/profile.d/GNUstep.sh +} diff --git a/community/ibus-anthy/PKGBUILD b/community/ibus-anthy/PKGBUILD index d5c01654d..644380fb5 100644 --- a/community/ibus-anthy/PKGBUILD +++ b/community/ibus-anthy/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 90641 2013-05-13 13:18:31Z fyan $ +# $Id: PKGBUILD 96949 2013-09-09 05:39:55Z fyan $ # Maintainer: Felix Yan # Contributor: Rainy # Contributor: Lee.MaRS # Contributor: Daniel J Griffiths pkgname=ibus-anthy -pkgver=1.5.3 +pkgver=1.5.4 pkgrel=1 pkgdesc='Japanese input method Anthy IMEngine for IBus Framework' arch=('i686' 'x86_64') @@ -34,4 +34,4 @@ package() { make DESTDIR=$pkgdir/ install } -sha512sums=('490a89ef78e31ad9e0f61aadd1d93b7a670852a765cc784cbfa307a208aab4344e851dceee316dd04bdf004e901a1b23bf40ff505e55fa18ab9dafdf097263d3') +sha512sums=('8478e9ea14472d0153cc7a35feae4edea791476dc98cfc266b598f915376d267bd5db48ea0a676209d7a6fa680628116a30fec59afaf696477cfaa14082aad8d') diff --git a/community/lightdm/PKGBUILD b/community/lightdm/PKGBUILD index 4c4e2514f..71a4c9bef 100755 --- a/community/lightdm/PKGBUILD +++ b/community/lightdm/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 96911 2013-09-07 22:53:22Z alucryd $ +# $Id: PKGBUILD 96960 2013-09-09 10:05:59Z alucryd $ # Maintainer: Maxime Gauduin # Contributor: Morfeo pkgbase=lightdm pkgname=('lightdm' 'liblightdm-qt4' 'liblightdm-qt5') pkgver=1.6.1 -pkgrel=2 +pkgrel=3 epoch=1 pkgdesc="A lightweight display manager" arch=('i686' 'x86_64') diff --git a/community/lightdm/lightdm.install b/community/lightdm/lightdm.install index e560f3e0b..8aac96ae9 100755 --- a/community/lightdm/lightdm.install +++ b/community/lightdm/lightdm.install @@ -8,6 +8,12 @@ post_install() { post_upgrade() { post_install + if [[ $(vercmp $2 1:1.6.1-1) == -1 ]]; then + cat << EOF +The file /etc/lightdm/xsession has been renamed to /etc/lightdm/Xsession. +Please update your lightdm.conf with the new path. +EOF + fi } post_remove() { diff --git a/community/lrzip/PKGBUILD b/community/lrzip/PKGBUILD index ccb26e23c..f14ccac97 100644 --- a/community/lrzip/PKGBUILD +++ b/community/lrzip/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 96603 2013-09-02 09:08:52Z arodseth $ +# $Id: PKGBUILD 96966 2013-09-09 13:06:19Z arodseth $ # Maintainer: Alexander Rødseth # Contributor: graysky # Contributor: kastor@fobos.org.ar pkgname=lrzip -pkgver=0.615 +pkgver=0.616 pkgrel=1 pkgdesc='Multi-threaded compression using the rzip/lzma, lzo, and zpaq algorithms' url='http://lrzip.kolivas.org/' @@ -18,7 +18,7 @@ then fi options=('!libtool') source=("http://ck.kolivas.org/apps/$pkgname/$pkgname-$pkgver.tar.bz2") -sha256sums=('c419662bf840bea2e4bd5ebef2585849ee1c85cec370fda423907e4514ee427d') +sha256sums=('982d5a8db4d8bbbced6e33fbbcd589c9b3fc4275110155d7bd71cbeff4a235ae') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/community/lxdm/PKGBUILD b/community/lxdm/PKGBUILD index 8316a95aa..1c8043ebc 100644 --- a/community/lxdm/PKGBUILD +++ b/community/lxdm/PKGBUILD @@ -1,82 +1,63 @@ -# $Id: PKGBUILD 95338 2013-08-09 22:46:10Z dwallace $ +# $Id: PKGBUILD 96932 2013-09-08 22:11:41Z bgyorgy $ # Maintainer: Bartłomiej Piotrowski # Contributor: AndyRTR # Contributor: kiefer pkgname=lxdm pkgver=0.4.1 -pkgrel=23 +pkgrel=25 pkgdesc='Lightweight X11 Display Manager' arch=('i686' 'x86_64') url="http://sourceforge.net/projects/lxdm/" license=('GPL') groups=('lxde') depends=('gtk2' 'xorg-server') -makedepends=('intltool') -optdepends=('librsvg: display the default background') -install=${pkgname}.install +makedepends=('git' 'intltool') +optdepends=('gtk-engines: default GTK+ theme' + 'librsvg: display the default background') +install=$pkgname.install backup=('etc/lxdm/lxdm.conf' 'etc/pam.d/lxdm' 'etc/lxdm/Xsession' 'etc/lxdm/PreLogin' 'etc/lxdm/LoginReady' 'etc/lxdm/PostLogin' 'etc/lxdm/PostLogout' 'etc/lxdm/PreReboot' 'etc/lxdm/PreShutdown') source=(http://downloads.sourceforge.net/lxde/$pkgname-$pkgver.tar.gz - lxdm.pam lxdm.service - lxdm-0.4.1-Xsession-source-profile.patch - lxdm-0.4.1-conf.patch - lxdm-0.4.1-event-check-bug.patch - lxdm-0.4.1-industrial-greeter-ui.patch - lxdm-0.4.1-modern-systems.patch - lxdm-0.4.1-nolang-show-sessions.patch - lxdm-0.4.1-pam-env-vars.patch - lxdm-0.4.1-kill_user_processes.patch - ) + git-fixes.patch + default-config.patch) md5sums=('8da1cfc2be6dc9217c85a7cf51e1e821' - '9cc734228696a3c6f06d91bba61b03c1' - 'b86317143ae44d7ed38c150fe4f25502' - 'd2e4a4a22ee2aa1a986be154c647b6c6' - 'c50dd01b715b0a236407d48066191601' - 'a1e3c46a8bef691bc544028f5b6cfe22' - '2c4afdbe3532be4f90d8f6240d352766' - 'baed9055e8825a5511712bc095197519' - '28475239d0c8b4fd778ec49f5ec72962' - '4c1d43e81e9a256e8d1ea7686c24b3d3' - '3ac63085f9df9296dfa645fa623af0e2') + 'b9e0d1fcf2a3e163446269a5614c2779' + '3c1aa66182acbbf85f2e0aad03bf133b') prepare(){ - cd $srcdir/$pkgname-$pkgver - patch -Np1 -i $srcdir/lxdm-0.4.1-event-check-bug.patch - patch -Np1 -i $srcdir/lxdm-0.4.1-nolang-show-sessions.patch - patch -Np1 -i $srcdir/lxdm-0.4.1-pam-env-vars.patch - patch -Np1 -i $srcdir/lxdm-0.4.1-kill_user_processes.patch -} + cd "$srcdir/$pkgname-$pkgver" -build() { - cd $srcdir/$pkgname-$pkgver + # Apply various fixes from git + patch -Np1 -i ../git-fixes.patch + # Adjust Arch-specific settings + patch -Np1 -i ../default-config.patch - ./configure --sysconfdir=/etc --prefix=/usr --libexecdir=/usr/lib/lxdm \ - --bindir=/usr/bin \ - --sbindir=/usr/bin - make - - patch -Np0 -i $srcdir/lxdm-0.4.1-modern-systems.patch - patch -Np0 -i $srcdir/lxdm-0.4.1-conf.patch - patch -Np0 -i $srcdir/lxdm-0.4.1-Xsession-source-profile.patch - patch -Np0 -i $srcdir/lxdm-0.4.1-industrial-greeter-ui.patch + # Fix version number + sed -i 's/3.6.0/3.8/' gnome-shell/LXDM_User_Switch@dgod/metadata.json } +build() { + cd "$srcdir/$pkgname-$pkgver" + autoreconf -fi + ./configure --prefix=/usr --sbindir=/usr/bin --libexecdir=/usr/lib/lxdm \ + --sysconfdir=/etc --localstatedir=/var + make +} package() { - cd $srcdir/$pkgname-$pkgver - make DESTDIR=$pkgdir sbindir=/usr/bin install - - install -m644 $srcdir/lxdm.pam $pkgdir/etc/pam.d/lxdm - install -Dm644 $srcdir/lxdm.service $pkgdir/usr/lib/systemd/system/lxdm.service - install -d $pkgdir/var/lib/lxdm - echo "GDK_CORE_DEVICE_EVENTS\t\t\tDEFAULT=1" > $pkgdir/var/lib/lxdm/.pam_environment - chmod 644 $pkgdir/var/lib/lxdm/.pam_environment - - # fix the greeter location - sed -i -e 's/local\/libexec/lib\/lxdm/' $pkgdir/etc/lxdm/lxdm.conf - sed -i 's:sbin:bin:' $pkgdir/usr/bin/lxdm - + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + chmod 644 "$pkgdir/etc/lxdm/lxdm.conf" + + # Home directory + install -dm 755 "$pkgdir/var/lib/lxdm" + echo 'GDK_CORE_DEVICE_EVENTS=true' > "$pkgdir"/var/lib/lxdm/.pam_environment + chown -R 121:121 "$pkgdir/var/lib/lxdm" + + # GNOME Shell extension + mkdir -p "$pkgdir/usr/share/gnome-shell/extensions" + cp -r gnome-shell/LXDM_User_Switch@dgod "$pkgdir/usr/share/gnome-shell/extensions" } diff --git a/community/lxdm/default-config.patch b/community/lxdm/default-config.patch new file mode 100644 index 000000000..c0a579840 --- /dev/null +++ b/community/lxdm/default-config.patch @@ -0,0 +1,80 @@ +diff -Naur lxdm.orig/data/lxdm.conf.in lxdm/data/lxdm.conf.in +--- lxdm.orig/data/lxdm.conf.in 2013-08-30 17:56:16.097006000 +0200 ++++ lxdm/data/lxdm.conf.in 2013-09-04 01:54:12.942117085 +0200 +@@ -23,7 +23,7 @@ + + [server] + ## arg used to start xserver, not fully function +-# arg=/usr/bin/X -background vt1 ++arg=/usr/bin/X -background vt1 + # uncomment this if you really want xserver listen to tcp + # tcp_listen=1 + # uncoment this if you want reset the xserver after logou +@@ -34,7 +34,7 @@ + gtk_theme=Clearlooks + + ## background of the greeter +-bg=/usr/share/backgrounds/default.png ++# bg=/usr/share/backgrounds/default.png + + ## if show bottom pane + bottom_pane=1 +diff -Naur lxdm.orig/data/lxdm.in lxdm/data/lxdm.in +--- lxdm.orig/data/lxdm.in 2013-08-30 17:56:16.097006000 +0200 ++++ lxdm/data/lxdm.in 2013-09-04 01:57:56.950799946 +0200 +@@ -1,21 +1,13 @@ + #!/bin/sh + +-[ -f /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n +- +-if [ -z "$LANG" -a -e /etc/sysconfig/language ]; then +- . /etc/sysconfig/language +- if [ -n "$RC_LANG"]; then +- LANG=$RC_LANG +- fi ++if [ -r /etc/profile.d/locale.sh ]; then ++ . /etc/profile.d/locale.sh + fi + + if [ -n "$LANG" ]; then + export LANG + fi + +-[ -f /etc/sysconfig/desktop ] && . /etc/sysconfig/desktop +-[ -f /etc/sysconfig/windowmanager ] && . /etc/sysconfig/windowmanager +- + if [ -n "$DEFAULT_WM" ]; then + PREFERRED=$DEFAULT_WM + fi +diff -Naur lxdm.orig/data/Xsession lxdm/data/Xsession +--- lxdm.orig/data/Xsession 2013-08-30 17:56:16.097006000 +0200 ++++ lxdm/data/Xsession 2013-09-04 01:58:19.941348762 +0200 +@@ -9,6 +9,8 @@ + LXSESSION=/usr/bin/startlxde + fi + ++[ -f /etc/profile ] && . /etc/profile ++[ -f ~/.profile ] && . ~/.profile + [ -f /etc/xprofile ] && . /etc/xprofile + [ -f ~/.xprofile ] && . ~/.xprofile + +diff -Naur lxdm.orig/pam/lxdm lxdm/pam/lxdm +--- lxdm.orig/pam/lxdm 2013-08-30 17:56:16.100339000 +0200 ++++ lxdm/pam/lxdm 2013-08-30 17:58:35.543771605 +0200 +@@ -1,10 +1,7 @@ + #%PAM-1.0 +-auth substack system-auth +-auth optional pam_gnome_keyring.so +-account include system-auth +-session optional pam_keyinit.so force revoke +-session include system-auth +-session required pam_loginuid.so +-session optional pam_console.so +-session optional pam_gnome_keyring.so auto_start +-session optional pam_selinux.so ++auth include system-login ++-auth optional pam_gnome_keyring.so ++account include system-login ++password include system-login ++session include system-login ++-session optional pam_gnome_keyring.so auto_start diff --git a/community/lxdm/git-fixes.patch b/community/lxdm/git-fixes.patch new file mode 100644 index 000000000..0f724d0e2 --- /dev/null +++ b/community/lxdm/git-fixes.patch @@ -0,0 +1,2038 @@ +diff --git a/Makefile.am b/Makefile.am +index bfac56b..6f997b8 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,4 +1,5 @@ + NULL = ++ + SUBDIRS= \ + src \ + po \ +@@ -6,6 +7,10 @@ SUBDIRS= \ + data \ + $(NULL) + ++if HAVE_SYSTEMD ++SUBDIRS += systemd ++endif ++ + rpm: dist @PACKAGE_NAME@.spec + rpmbuild -bb \ + --define "_sourcedir `pwd`" \ +diff --git a/configure.ac b/configure.ac +index e952473..c307de2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2,8 +2,8 @@ + # Process this file with autoconf to produce a configure script. + + AC_PREREQ([2.63]) +-AC_INIT([lxdm], [0.4.1], [http://lxde.org/]) +-AM_INIT_AUTOMAKE([-Wall -Werror foreign]) ++AC_INIT([lxdm], [0.4.2], [http://lxde.org/]) ++AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects]) + + AC_CONFIG_SRCDIR([src/lxdm.c]) + AC_CONFIG_HEADERS([config.h]) +@@ -16,10 +16,17 @@ AM_PROG_CC_C_O + # Checks for libraries. + AC_CHECK_LIB([crypt], [crypt]) + +-AC_ARG_WITH(pam,AC_HELP_STRING([--without-pam],[build without pam]), +-[],[AC_CHECK_LIB([pam], [pam_open_session])]) +- +-AC_CHECK_LIB([ck-connector],[ck_connector_open_session]) ++# Check for PAM support ++AC_ARG_WITH(pam, AC_HELP_STRING([--with-pam],[Use PAM for authentication]), ++ [USE_PAM=$withval], [USE_PAM=$use_pam_default]) ++if test "x$USE_PAM" != "xno" ; then ++ AC_SEARCH_LIBS(pam_open_session,[pam]) ++ AC_CHECK_FUNC(pam_open_session, ++ [AC_DEFINE(USE_PAM,1,[Use PAM for authentication])], ++ [if test "x$USE_PAM" != "xtry" ; then ++ AC_MSG_ERROR(["PAM support requested, but pam_open_session not found."]) ++ fi]) ++fi + + # Checks for header files. + AC_PATH_X +@@ -80,11 +87,22 @@ PKG_CHECK_MODULES(GTK, [$pkg_modules]) + AC_SUBST(GTK_CFLAGS) + AC_SUBST(GTK_LIBS) + +-PKG_CHECK_MODULES(CONSOLEKIT, "ck-connector",[ ++ ++AC_ARG_ENABLE(consolekit, ++ AC_HELP_STRING([--disable-consolekit],[disable ConsoleKit support]), ++ [enable_consolekit=$enableval], ++ [enable_consolekit=yes] ++) ++ ++if test "x$enable_consolekit" = "xyes" ; then ++ PKG_CHECK_MODULES(CONSOLEKIT, "ck-connector",[ + AC_SUBST(CONSOLEKIT_CFLAGS) + AC_SUBST(CONSOLEKIT_LIBS)],[ + echo "ConsoleKit devel package not found" + ]) ++ AC_CHECK_LIB([ck-connector],[ck_connector_open_session]) ++fi ++ + + AC_ARG_ENABLE(password, + AC_HELP_STRING([--enable-password],[enable to load autologin password store at config file]), +@@ -138,6 +156,14 @@ AC_ARG_WITH(xconn, + ] + ) + ++AC_ARG_WITH([systemdsystemunitdir], ++ AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), ++ [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) ++if test "x$with_systemdsystemunitdir" != xno; then ++ AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) ++fi ++AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ]) ++ + GETTEXT_PACKAGE=lxdm + AC_SUBST(GETTEXT_PACKAGE) + AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.]) +@@ -148,6 +174,7 @@ AC_CONFIG_FILES([ + src/Makefile + po/Makefile.in + pam/Makefile ++ systemd/Makefile + data/Makefile + data/PostLogin + data/PostLogout +diff --git a/data/Makefile.am b/data/Makefile.am +index 6d3fad6..9500da9 100644 +--- a/data/Makefile.am ++++ b/data/Makefile.am +@@ -1,6 +1,6 @@ + FULL_LIBEXECDIR=$(libexecdir) + +-lxdm.conf : lxdm.conf.in ++lxdm.conf: lxdm.conf.in + cat lxdm.conf.in | sed 's,@FULL_LIBEXECDIR@,$(FULL_LIBEXECDIR),' > $@ + + NULL= +diff --git a/data/Xsession b/data/Xsession +index 287db71..fe76de0 100755 +--- a/data/Xsession ++++ b/data/Xsession +@@ -15,12 +15,7 @@ fi + if [ -f /etc/X11/xinit/xinitrc-common ]; then + # fedora + . /etc/X11/xinit/xinitrc-common +- if ! [ -z "$XDG_SESSION_COOKIE" ]; then +- CK_XINIT_SESSION= +- elif [ -x /usr/bin/ck-launch-session -a -z "$CK_XINIT_SESSION" ]; then +- CK_XINIT_SESSION="/usr/bin/ck-launch-session" +- fi +- exec -l $SHELL -c "$CK_XINIT_SESSION \"$LXSESSION\"" ++ exec -l bash -c "$LXSESSION" + elif [ -x /etc/X11/xinit/Xsession ]; then + # fedora + exec /etc/X11/xinit/Xsession "$LXSESSION" +@@ -30,17 +25,24 @@ elif [ -x /etc/X11/Xsession ]; then + elif [ -x /etc/X11/xinit/xinitrc ]; then + #suse + export WINDOWMANAGER=$LXSESSION +- exec -l $SHELL -c /etc/X11/xinit/xinitrc ++ exec -l bash -c /etc/X11/xinit/xinitrc + else + # unknown, user should custom /etc/lxdm/xinitrc self + if [ -x /etc/lxdm/xinitrc ]; then +- . /etc/lxdm/xinitrc ++ . /etc/lxdm/xinitrc "$LXSESSION" ++ fi ++ if [ -d /etc/X11/xinit/xinitrc.d ] ; then ++ for f in /etc/X11/xinit/xinitrc.d/* ; do ++ [ -x "$f" ] && . "$f" ++ done ++ unset f + fi +- if ! [ -z "$XDG_SESSION_COOKIE" ]; then +- CK_XINIT_SESSION= +- elif [ -x /usr/bin/ck-launch-session ]; then +- CK_XINIT_SESSION="/usr/bin/ck-launch-session" ++ ++ if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; ++ then ++ eval "$(dbus-launch --sh-syntax --exit-with-session)" + fi +- exec -l $SHELL -c "$CK_XINIT_SESSION \"$LXSESSION\"" ++ ++ exec -l bash -c "$LXSESSION" + fi + +diff --git a/data/config.ui b/data/config.ui +index 423fe56..b6d724d 100644 +--- a/data/config.ui ++++ b/data/config.ui +@@ -175,8 +175,99 @@ + + + ++ ++ True ++ False ++ ++ ++ Enable bottom panel ++ True ++ True ++ False ++ False ++ 0 ++ True ++ ++ ++ False ++ True ++ 0 ++ ++ ++ ++ ++ False ++ True ++ 3 ++ ++ ++ ++ ++ True ++ 0 ++ 0 ++ ++ ++ True ++ False ++ ++ ++ True ++ False ++ Bottom Panel Options ++ ++ ++ ++ ++ ++ False ++ True ++ 0 ++ ++ ++ ++ ++ ++ ++ ++ ++ True ++ False ++ ++ ++ Transparent panel ++ True ++ True ++ False ++ False ++ 0 ++ True ++ ++ ++ False ++ True ++ 0 ++ ++ ++ ++ ++ Hide sessions ++ True ++ True ++ False ++ False ++ 0 ++ True ++ ++ ++ False ++ True ++ 1 ++ ++ ++ + +- Show languanges menu ++ Show languages menu + True + True + False +@@ -187,7 +278,7 @@ + + False + True +- 3 ++ 2 + + + +@@ -203,9 +294,60 @@ + + False + True ++ 3 ++ ++ ++ ++ ++ Hide quit button ++ True ++ True ++ False ++ False ++ 0 ++ True ++ ++ ++ False ++ True + 4 + + ++ ++ ++ False ++ True ++ 5 ++ ++ ++ ++ ++ True ++ 0 ++ 0 ++ ++ ++ True ++ False ++ ++ ++ True ++ False ++ Other Options ++ ++ ++ ++ ++ ++ False ++ True ++ 0 ++ ++ ++ ++ ++ ++ + + + Show user list +@@ -219,7 +361,23 @@ + + False + True +- 5 ++ 7 ++ ++ ++ ++ ++ Hide time ++ True ++ True ++ False ++ False ++ 0 ++ True ++ ++ ++ False ++ True ++ 8 + + + +diff --git a/data/lxdm.conf.in b/data/lxdm.conf.in +index dd94686..d93f280 100644 +--- a/data/lxdm.conf.in ++++ b/data/lxdm.conf.in +@@ -15,12 +15,19 @@ + ## set this if you don't want to put xauth file at ~/.Xauthority + # xauth_path=/tmp + ++# not ask password for users who have empty password ++# skip_password=1 ++ + ## greeter used to welcome the user + greeter=@FULL_LIBEXECDIR@/lxdm-greeter-gtk + + [server] + ## arg used to start xserver, not fully function + # arg=/usr/bin/X -background vt1 ++# uncomment this if you really want xserver listen to tcp ++# tcp_listen=1 ++# uncoment this if you want reset the xserver after logou ++# reset=1 + + [display] + ## gtk theme used by greeter +diff --git a/data/lxdm.glade b/data/lxdm.glade +index 81175e8..221c2a3 100644 +--- a/data/lxdm.glade ++++ b/data/lxdm.glade +@@ -125,7 +125,9 @@ + + + +- ++ ++ 0 ++ + + False + 3 +diff --git a/data/themes/Industrial/greeter-gtk3.ui b/data/themes/Industrial/greeter-gtk3.ui +index 483809c..2f4e631 100644 +--- a/data/themes/Industrial/greeter-gtk3.ui ++++ b/data/themes/Industrial/greeter-gtk3.ui +@@ -1,7 +1,5 @@ + + +- +- + + False + +@@ -25,7 +23,7 @@ + + True + 0 +- 0 ++ 1 + + + True +@@ -34,6 +32,7 @@ + + True + login.png ++ 0.8 + + + 0 +@@ -42,6 +41,7 @@ + + + True ++ 0.1 + 0 + 0 + +@@ -61,19 +61,22 @@ + + + +- ++ + True +- True +- 1 +- 2 +- 0 +- 1 ++ False ++ GTK_POLICY_NEVER ++ GTK_POLICY_NEVER ++ ++ ++ True ++ True ++ 1 ++ 2 ++ 0 ++ 1 ++ ++ + +- +- False +- False +- 1 +- + + + +diff --git a/data/themes/Industrial/greeter.ui b/data/themes/Industrial/greeter.ui +index 77a4f8d..3413922 100644 +--- a/data/themes/Industrial/greeter.ui ++++ b/data/themes/Industrial/greeter.ui +@@ -25,7 +25,7 @@ + + True + 0 +- 0 ++ 1 + + + True +@@ -34,6 +34,7 @@ + + True + login.png ++ 0.8 + + + 0 +@@ -42,6 +43,7 @@ + + + True ++ 0.1 + 0 + 0 + +@@ -61,19 +63,22 @@ + + + +- ++ + True +- True +- 1 +- 2 +- 0 +- 1 ++ False ++ GTK_POLICY_NEVER ++ GTK_POLICY_NEVER ++ ++ ++ True ++ True ++ 1 ++ 2 ++ 0 ++ 1 ++ ++ + +- +- False +- False +- 1 +- + + + +@@ -201,7 +206,9 @@ + + + +- ++ ++ 0 ++ + + False + 3 +diff --git a/data/themes/Industrial/gtk.css b/data/themes/Industrial/gtk.css +index eefe846..7621345 100644 +--- a/data/themes/Industrial/gtk.css ++++ b/data/themes/Industrial/gtk.css +@@ -1,20 +1,21 @@ + #lxdm { +- background-image: url("wave.svg") ++ background-image: url("wave.svg"); ++ background-size: 100%; + } + + #bottom_pane { +- background-image: url("shade.png") ++ background-color: rgba(0,0,0,0.24); + } + + #time { + font: Sans 12; +- color: #ffffff ++ color: #ffffff; + } + + #user_list, #login_entry { +- background-image: none ++ background-image: none; + } + + #prompt, #bottom_pane GtkLabel { +- color: #ffffff ++ color: #ffffff; + } +diff --git a/data/themes/Industrial/gtkrc b/data/themes/Industrial/gtkrc +index 9ee55d5..8f1d810 100644 +--- a/data/themes/Industrial/gtkrc ++++ b/data/themes/Industrial/gtkrc +@@ -45,6 +45,6 @@ style "bottom" + + widget "lxdm" style "back" + widget "lxdm.*.time" style "time" +-widget "lxdm.*.prompt" style "prompt" ++widget "*.prompt" style "prompt" + widget "lxdm.*.bottom_pane" style "bottom" + widget_class "GtkWindow.*.GtkEventBox.*." style "bottom" +diff --git a/gnome-shell/LXDM_User_Switch@dgod/extension.js b/gnome-shell/LXDM_User_Switch@dgod/extension.js +new file mode 100644 +index 0000000..5c0498f +--- /dev/null ++++ b/gnome-shell/LXDM_User_Switch@dgod/extension.js +@@ -0,0 +1,28 @@ ++const Main = imports.ui.main; ++const GLib = imports.gi.GLib; ++const PopupMenu = imports.ui.popupMenu; ++ ++let button, menu, evt; ++ ++function _buttonActivate() { ++ Main.overview.hide(); ++ GLib.spawn_command_line_async("lxdm -c USER_SWITCH"); ++} ++ ++function init() { ++} ++ ++function enable() { ++ menu = Main.panel["statusArea"].userMenu; ++ button = menu._loginScreenItem; ++ evt=button.connect('activate', function(){GLib.spawn_command_line_async("lxdm -c USER_SWITCH");}); ++ button.actor.visible=true; ++} ++ ++function disable() { ++ if(evt && button) ++ button.disconnect(evt); ++ evt=undefined; ++ button=undefined; ++ menu=undefined; ++} +diff --git a/gnome-shell/LXDM_User_Switch@dgod/metadata.json b/gnome-shell/LXDM_User_Switch@dgod/metadata.json +new file mode 100644 +index 0000000..a5a19f7 +--- /dev/null ++++ b/gnome-shell/LXDM_User_Switch@dgod/metadata.json +@@ -0,0 +1 @@ ++{"shell-version": ["3.6.0"], "uuid": "LXDM_User_Switch@dgod", "name": "LXDM User Switch", "description": "LXDM User Switch"} +\ No newline at end of file +diff --git a/gnome-shell/LXDM_User_Switch@dgod/stylesheet.css b/gnome-shell/LXDM_User_Switch@dgod/stylesheet.css +new file mode 100644 +index 0000000..e69de29 +diff --git a/lxdm.spec.in b/lxdm.spec.in +index ae5b345..3033d74 100644 +--- a/lxdm.spec.in ++++ b/lxdm.spec.in +@@ -14,7 +14,8 @@ Source0: lxdm-%{version}.tar.gz + + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release} + +-BuildRequires: gtk2-devel pam-devel intltool ++BuildRequires: gtk3-devel pam-devel intltool ++Provides: service(graphical-login) = lxdm + + %description + Light weight X11 display manager +@@ -26,7 +27,7 @@ Light weight X11 display manager + export CFLAGS="$RPM_OPT_FLAGS" + export CXXFLAGS="$RPM_OPT_FLAGS" + +-%configure ++%configure --enable-gtk3 + + %__make + +@@ -64,6 +65,7 @@ rm -rf $RPM_BUILD_ROOT + %{_sysconfdir}/lxdm/Xsession + %config %{_sysconfdir}/lxdm/lxdm.conf + %{_sysconfdir}/pam.d/lxdm ++%{_unitdir}/lxdm.service + + %changelog + +diff --git a/pam/lxdm b/pam/lxdm +index 51ffda4..cffd07b 100644 +--- a/pam/lxdm ++++ b/pam/lxdm +@@ -7,3 +7,4 @@ session include system-auth + session required pam_loginuid.so + session optional pam_console.so + session optional pam_gnome_keyring.so auto_start ++session optional pam_selinux.so +diff --git a/src/Makefile.am b/src/Makefile.am +index 7fdfd99..ebfa29c 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -20,7 +20,7 @@ lxdm_binary_LDADD = \ + $(NULL) + + lxdm_binary_SOURCES = \ +- lxdm.c lxdm.h ui.c lxcom.c lxcom.h xconn.c xconn.h \ ++ lxdm.c lxdm.h ui.c lxcom.c lxcom.h xconn.c xconn.h lxcommon.h \ + $(NULL) + + libexec_PROGRAMS = lxdm-greeter-gdk lxdm-numlock lxdm-greeter-gtk +@@ -49,6 +49,7 @@ lxdm_greeter_gtk_SOURCES = \ + gdm/locarchive.h \ + lxcom.c lxcom.h \ + greeter-utils.c greeter-utils.h \ ++ lxcommon.h \ + $(NULL) + + lxdm_greeter_gdk_CFLAGS = \ +diff --git a/src/config.c b/src/config.c +index 3f92f7b..bee826d 100644 +--- a/src/config.c ++++ b/src/config.c +@@ -125,24 +125,19 @@ static gboolean image_file_valid(const char *filename) + static void update_face_image(GtkWidget *w) + { + GdkPixbuf *pixbuf; +- char *path; +- path=g_build_filename(user->pw_dir,".face",NULL); +- if(access(path,R_OK)) +- { +- g_free(path); +- if(ui_nobody) +- pixbuf=gdk_pixbuf_new_from_file_at_scale(ui_nobody,48,48,FALSE,NULL); +- if(!pixbuf) +- pixbuf=gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), ++ char *path=g_build_filename(user->pw_dir,".face",NULL); ++ pixbuf=gdk_pixbuf_new_from_file_at_scale(path,48,48,FALSE,NULL); ++ g_free(path); ++ if(!pixbuf && ui_nobody) ++ pixbuf=gdk_pixbuf_new_from_file_at_scale(ui_nobody,48,48,FALSE,NULL); ++ if(!pixbuf) ++ pixbuf=gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), + "avatar-default", 48,GTK_ICON_LOOKUP_FORCE_SIZE,NULL); +- } +- else ++ if(pixbuf) + { +- pixbuf=gdk_pixbuf_new_from_file_at_scale(path,48,48,FALSE,NULL); +- g_free(path); ++ gtk_image_set_from_pixbuf(GTK_IMAGE(w),pixbuf); ++ g_object_unref(pixbuf); + } +- gtk_image_set_from_pixbuf(GTK_IMAGE(w),pixbuf); +- g_object_unref(pixbuf); + } + + static void set_face_file(const char *filename) +@@ -484,6 +479,82 @@ void prepare_bg(GtkBuilder *builder) + g_signal_connect(w,"toggled",on_bg_type_toggled,NULL); + } + ++static void on_enable_pane_toggled(GtkToggleButton *button) ++{ ++ int val; ++ val=gtk_toggle_button_get_active(button); ++ g_key_file_set_integer(config,"display","bottom_pane",val); ++ GtkWidget *w; ++ w=(GtkWidget*)gtk_builder_get_object(builder,"vbox2"); ++ gtk_widget_set_sensitive(w,val?TRUE:FALSE); ++ dirty++; ++} ++ ++static void prepare_enable_pane(GtkBuilder *builder) ++{ ++ gint val; ++ GtkWidget *w; ++ w=(GtkWidget*)gtk_builder_get_object(builder,"lxdm-enable-bottom-pane"); ++ val=g_key_file_get_integer(config,"display","bottom_pane",NULL); ++ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),val?TRUE:FALSE); ++ if(!root) gtk_widget_set_sensitive(w,FALSE); ++ g_signal_connect(w,"toggled",G_CALLBACK(on_enable_pane_toggled),NULL); ++} ++ ++static void prepare_vbox2(GtkBuilder *builder) ++{ ++ gint val; ++ GtkWidget *w; ++ w=(GtkWidget*)gtk_builder_get_object(builder,"vbox2"); ++ val=g_key_file_get_integer(config,"display","bottom_pane",NULL); ++ if(!root) ++ { ++ gtk_widget_set_sensitive(w,FALSE); ++ } ++ else ++ { ++ gtk_widget_set_sensitive(w,val?TRUE:FALSE); ++ } ++} ++ ++static void on_transparent_pane_toggled(GtkToggleButton *button) ++{ ++ int val; ++ val=gtk_toggle_button_get_active(button); ++ g_key_file_set_integer(config,"display","transparent_pane",val); ++ dirty++; ++} ++ ++static void prepare_transparent_pane(GtkBuilder *builder) ++{ ++ gint val; ++ GtkWidget *w; ++ w=(GtkWidget*)gtk_builder_get_object(builder,"lxdm-transparent-pane"); ++ val=g_key_file_get_integer(config,"display","transparent_pane",NULL); ++ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),val?TRUE:FALSE); ++ if(!root) gtk_widget_set_sensitive(w,FALSE); ++ g_signal_connect(w,"toggled",G_CALLBACK(on_transparent_pane_toggled),NULL); ++} ++ ++static void on_hide_sessions_toggled(GtkToggleButton *button) ++{ ++ int val; ++ val=gtk_toggle_button_get_active(button); ++ g_key_file_set_integer(config,"display","hide_sessions",val); ++ dirty++; ++} ++ ++static void prepare_hide_sessions(GtkBuilder *builder) ++{ ++ gint val; ++ GtkWidget *w; ++ w=(GtkWidget*)gtk_builder_get_object(builder,"lxdm-hide-sessions"); ++ val=g_key_file_get_integer(config,"display","hide_sessions",NULL); ++ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),val?TRUE:FALSE); ++ if(!root) gtk_widget_set_sensitive(w,FALSE); ++ g_signal_connect(w,"toggled",G_CALLBACK(on_hide_sessions_toggled),NULL); ++} ++ + static void on_show_lang_toggled(GtkToggleButton *button) + { + int val; +@@ -522,6 +593,44 @@ static void prepare_show_keyboard(GtkBuilder *builder) + g_signal_connect(w,"toggled",G_CALLBACK(on_show_keyboard_toggled),NULL); + } + ++static void on_hide_exit_toggled(GtkToggleButton *button) ++{ ++ int val; ++ val=gtk_toggle_button_get_active(button); ++ g_key_file_set_integer(config,"display","hide_exit",val); ++ dirty++; ++} ++ ++static void prepare_hide_exit(GtkBuilder *builder) ++{ ++ gint val; ++ GtkWidget *w; ++ w=(GtkWidget*)gtk_builder_get_object(builder,"lxdm-hide-exit"); ++ val=g_key_file_get_integer(config,"display","hide_exit",NULL); ++ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),val?TRUE:FALSE); ++ if(!root) gtk_widget_set_sensitive(w,FALSE); ++ g_signal_connect(w,"toggled",G_CALLBACK(on_hide_exit_toggled),NULL); ++} ++ ++static void on_hide_time_toggled(GtkToggleButton *button) ++{ ++ int val; ++ val=gtk_toggle_button_get_active(button); ++ g_key_file_set_integer(config,"display","hide_time",val); ++ dirty++; ++} ++ ++static void prepare_hide_time(GtkBuilder *builder) ++{ ++ gint val; ++ GtkWidget *w; ++ w=(GtkWidget*)gtk_builder_get_object(builder,"lxdm-hide-time"); ++ val=g_key_file_get_integer(config,"display","hide_time",NULL); ++ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),val?TRUE:FALSE); ++ if(!root) gtk_widget_set_sensitive(w,FALSE); ++ g_signal_connect(w,"toggled",G_CALLBACK(on_hide_time_toggled),NULL); ++} ++ + static void on_show_userlist_toggled(GtkToggleButton *button) + { + int val; +@@ -553,8 +662,14 @@ GtkDialog *dialog_create(void) + prepare_user_name(builder); + prepare_user_autologin(builder); + prepare_bg(builder); ++ prepare_enable_pane(builder); ++ prepare_vbox2(builder); ++ prepare_transparent_pane(builder); ++ prepare_hide_sessions(builder); + prepare_show_lang(builder); + prepare_show_keyboard(builder); ++ prepare_hide_exit(builder); ++ prepare_hide_time(builder); + prepare_show_userlist(builder); + + return dlg; +diff --git a/src/greeter-utils.c b/src/greeter-utils.c +index 78b71dd..6d7055a 100644 +--- a/src/greeter-utils.c ++++ b/src/greeter-utils.c +@@ -42,17 +42,29 @@ int ui_get_geometry(GdkWindow *win,GdkRectangle *rc) + void ui_set_bg(GdkWindow *win,GKeyFile *config) + { + GdkPixbuf *bg_img=NULL; ++#if GTK_CHECK_VERSION(3,4,0) ++ GdkRGBA bg_color; ++#else + GdkColor bg_color; ++#endif + GdkWindow *root=gdk_get_default_root_window(); + char *p=g_key_file_get_string(config,"display","bg",NULL); ++#if GTK_CHECK_VERSION(3,4,0) ++ gdk_rgba_parse(&bg_color,"#222E45"); ++#else + gdk_color_parse("#222E45",&bg_color); ++#endif + if( p && p[0] != '#' ) + { + bg_img = gdk_pixbuf_new_from_file(p, 0); + } + if( p && p[0] == '#' ) + { +- gdk_color_parse(p, &bg_color); ++#if GTK_CHECK_VERSION(3,4,0) ++ gdk_rgba_parse(&bg_color,p); ++#else ++ gdk_color_parse(p,&bg_color); ++#endif + } + g_free(p); + +@@ -95,8 +107,13 @@ void ui_set_bg(GdkWindow *win,GKeyFile *config) + else + { + #ifdef ENABLE_GTK3 ++#if GTK_CHECK_VERSION(3,4,0) ++ if(win) gdk_window_set_background_rgba(win,&bg_color); ++ gdk_window_set_background_rgba(root,&bg_color); ++#else + if(win) gdk_window_set_background(win,&bg_color); + gdk_window_set_background(root,&bg_color); ++#endif + #else + GdkColormap *map; + if(win) +@@ -139,12 +156,20 @@ void ui_add_cursor(void) + XDefineCursor(gdk_x11_get_default_xdisplay(), + GDK_WINDOW_XID(gdk_get_default_root_window()), + GDK_CURSOR_XCURSOR(cur)); ++#if GTK_CHECK_VERSION(3,0,0) ++ g_object_unref(cur); ++#else + gdk_cursor_unref(cur); ++#endif + } + + void ui_set_cursor(GdkWindow *win,int which) + { + GdkCursor *cursor=gdk_cursor_new(which); + gdk_window_set_cursor (win,cursor); ++#if GTK_CHECK_VERSION(3,0,0) ++ g_object_unref(cursor); ++#else + gdk_cursor_unref(cursor); ++#endif + } +diff --git a/src/greeter.c b/src/greeter.c +index 095227b..2c6e5be 100644 +--- a/src/greeter.c ++++ b/src/greeter.c +@@ -25,6 +25,10 @@ + + #include + #include ++#include ++#ifdef ENABLE_GTK3 ++#include ++#endif + #include + #include + +@@ -36,6 +40,7 @@ + + #include "lxcom.h" + #include "greeter-utils.h" ++#include "lxcommon.h" + + enum { + COL_SESSION_NAME, +@@ -50,15 +55,16 @@ enum { + N_LANG_COLS + }; + +-#define VCONFIG_FILE "/var/lib/lxdm/lxdm.conf" + #define XKB_SYMBOL_DIR "/usr/share/X11/xkb/symbols.dir" + + static GtkBuilder* builder; + static GKeyFile *config; + static GKeyFile * var_config; + static GtkWidget* win; ++static GtkWidget* alignment2; + static GtkWidget* prompt; + static GtkWidget* login_entry; ++static GtkWidget* user_list_scrolled; + static GtkWidget* user_list; + + static GtkWidget* sessions; +@@ -110,7 +116,7 @@ static char *get_session_exec(void) + GtkTreeModel* model; + GtkTreeIter it; + gchar *res; +- if(!lang) ++ if(!sessions) + return g_strdup(""); + + if(!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(sessions), &it)) +@@ -120,12 +126,73 @@ static char *get_session_exec(void) + return res; + } + ++static void switch_to_input_user(void) ++{ ++ if(user) ++ { ++ g_free(user); ++ user=NULL; ++ } ++ if(pass) ++ { ++ g_free(pass); ++ pass=NULL; ++ } ++ gtk_label_set_text( GTK_LABEL(prompt), _("User:")); ++ gtk_widget_show(prompt); ++ if(user_list) ++ { ++ gtk_widget_hide(login_entry); ++ if(user_list_scrolled) ++ gtk_widget_show(user_list_scrolled); ++ else ++ gtk_widget_hide(user_list); ++ gtk_widget_grab_focus(user_list); ++ } ++ else ++ { ++ gtk_widget_show(login_entry); ++ gtk_widget_grab_focus(login_entry); ++ } ++} ++ ++static void switch_to_input_passwd(void) ++{ ++ if(user_list!=NULL) ++ { ++ if(user_list_scrolled) ++ gtk_widget_hide(user_list_scrolled); ++ else ++ gtk_widget_hide(user_list); ++ } ++ gtk_label_set_text( GTK_LABEL(prompt), _("Password:") ); ++ gtk_entry_set_text(GTK_ENTRY(login_entry), ""); ++ gtk_entry_set_visibility(GTK_ENTRY(login_entry), FALSE); ++ gtk_widget_show(login_entry); ++ gtk_widget_grab_focus(login_entry); ++} ++ ++static void try_login_user(const char *user) ++{ ++ char *session_exec=get_session_exec(); ++ char *session_lang=get_session_lang(); ++ ++ printf("login user=%s session=%s lang=%s\n", ++ user, session_exec, session_lang); ++ ++ g_free(session_lang); ++ g_free(session_exec); ++ ++} ++ + static void on_entry_activate(GtkEntry* entry) + { + char* tmp; + if( !user ) + { + user = g_strdup( gtk_entry_get_text( GTK_ENTRY(entry) ) ); ++ ++#if 0 + gtk_entry_set_text(GTK_ENTRY(entry), ""); + gtk_label_set_text( GTK_LABEL(prompt), _("Password:") ); + if(strchr(user, ' ')) +@@ -135,6 +202,16 @@ static void on_entry_activate(GtkEntry* entry) + return; + } + gtk_entry_set_visibility(entry, FALSE); ++#endif ++ if(g_key_file_get_integer(config,"base","skip_password",NULL)!=0) ++ { ++ gtk_label_set_text( GTK_LABEL(prompt), ""); ++ try_login_user(user); ++ } ++ else ++ { ++ switch_to_input_passwd(); ++ } + } + else + { +@@ -805,7 +882,10 @@ static void on_user_select(GtkIconView *iconview) + g_list_foreach (list, (GFunc)gtk_tree_path_free, NULL); + g_list_free (list); + gtk_tree_model_get(model,&iter,2,&name,-1); +- gtk_widget_hide(user_list); ++ if(user_list_scrolled) ++ gtk_widget_hide(user_list_scrolled); ++ else ++ gtk_widget_hide(user_list); + if(name && name[0]) + { + if(auto_login && is_autologin_user(name)) +@@ -825,6 +905,13 @@ static void on_user_select(GtkIconView *iconview) + gtk_widget_hide( GTK_WIDGET(login_entry) ); + return; + } ++ if(g_key_file_get_integer(config,"base","skip_password",NULL)!=0) ++ { ++ gtk_label_set_text( GTK_LABEL(prompt), ""); ++ user=name; ++ try_login_user(user); ++ return; ++ } + gtk_entry_set_text(GTK_ENTRY(login_entry),name); + g_free(name); + on_entry_activate(GTK_ENTRY(login_entry)); +@@ -890,6 +977,10 @@ static gboolean load_user_list(GtkWidget *widget) + #else + gtk_icon_view_set_orientation(GTK_ICON_VIEW(widget),GTK_ORIENTATION_HORIZONTAL); + #endif ++ // FIXME: this should be done at greeter-gtk3.ui ++ // but set there will cause "Floating point exception" ++ gtk_icon_view_set_columns(GTK_ICON_VIEW(widget),1); ++ + model=gtk_list_store_new(5,GDK_TYPE_PIXBUF,G_TYPE_STRING, + G_TYPE_STRING,G_TYPE_STRING,G_TYPE_BOOLEAN); + gtk_icon_view_set_model(GTK_ICON_VIEW(widget),GTK_TREE_MODEL(model)); +@@ -906,18 +997,30 @@ static gboolean load_user_list(GtkWidget *widget) + } + if(count>3) + { +- // TODO: better ui needed +- count=3; ++ if(user_list_scrolled) ++ { ++ gtk_alignment_set(GTK_ALIGNMENT(alignment2), 0.5, 0.1, 0, 0.3); ++ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(user_list_scrolled), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); ++ } ++ else ++ count=3; + } + for(i=0;i%s%s%s%s%s", +- gecos?gecos:users[i], +- (gecos&&strcmp(gecos,users[i]))?"(":"", ++ gecos_escape, ++ (gecos&&strcmp(gecos,users[i]))?" (":"", + (gecos&&strcmp(gecos,users[i]))?users[i]:"", + (gecos&&strcmp(gecos,users[i]))?")":"", + login?_("\nlogged in"):""); + // don't translate it now, not freeze ++ g_free(gecos_escape); + gtk_list_store_set(model,&iter,0,face,1,display,2,users[i],3,gecos,4,login,-1); + if(face) g_object_unref(G_OBJECT(face)); + g_free(display); +@@ -944,16 +1049,17 @@ static gboolean load_user_list(GtkWidget *widget) + } + g_strfreev(users); + g_key_file_free(kf); +- ++ + // add "More ..." + gtk_list_store_append(model,&iter); + gtk_list_store_set(model,&iter,1,_("More ..."),2,"",3,"",4,FALSE,-1); +- ++ + path=gtk_tree_path_new_from_string("0"); + gtk_icon_view_select_path(GTK_ICON_VIEW(widget),path); + gtk_widget_grab_focus(widget); + gtk_icon_view_set_cursor(GTK_ICON_VIEW(widget),path,NULL,FALSE); + gtk_tree_path_free(path); ++ + return TRUE; + } + +@@ -981,6 +1087,13 @@ static void on_screen_size_changed(GdkScreen *screen,GtkWidget *win) + ui_set_bg(window,config); + } + ++static gint login_entry_on_key_press (GtkWidget *widget,GdkEventKey *event) ++{ ++ if(event->keyval == GDK_Escape) ++ switch_to_input_user(); ++ return FALSE; ++} ++ + static void create_win() + { + GSList* objs, *l; +@@ -1029,63 +1142,91 @@ static void create_win() + + } /* otherwise, let gtk theme paint it. */ + ++ alignment2=(GtkWidget*)gtk_builder_get_object(builder,"alignment2"); ++ user_list_scrolled=(GtkWidget*)gtk_builder_get_object(builder,"user_list_scrolled"); + user_list=(GtkWidget*)gtk_builder_get_object(builder,"user_list"); + + prompt = (GtkWidget*)gtk_builder_get_object(builder, "prompt"); + login_entry = (GtkWidget*)gtk_builder_get_object(builder, "login_entry"); ++ if(login_entry!=NULL) ++ { ++ g_signal_connect_after(login_entry,"key-press-event",G_CALLBACK(login_entry_on_key_press),NULL); ++ } + + g_signal_connect(login_entry, "activate", G_CALLBACK(on_entry_activate), NULL); + +- sessions = (GtkWidget*)gtk_builder_get_object(builder, "sessions"); +- gtk_widget_set_name(sessions, "sessions"); +- fix_combobox_entry(sessions); +- load_sessions(); +- +- w = (GtkWidget*)gtk_builder_get_object(builder, "bottom_pane"); +- if( g_key_file_get_integer(config, "display", "bottom_pane", 0) ) ++ if( g_key_file_get_integer(config, "display", "bottom_pane", 0)==1) + { + /* hacks to let GtkEventBox paintable with gtk pixmap engine. */ ++ w = (GtkWidget*)gtk_builder_get_object(builder, "bottom_pane"); ++ if(g_key_file_get_integer(config, "display", "transparent_pane", 0)==1) ++ { ++ } ++ else ++ { + #if GTK_CHECK_VERSION(2,18,0) +- if(gtk_widget_get_app_paintable(w)) ++ if(gtk_widget_get_app_paintable(w)) + #else +- if(GTK_WIDGET_APP_PAINTABLE(w)) ++ if(GTK_WIDGET_APP_PAINTABLE(w)) + #endif + + #if GTK_CHECK_VERSION(3,0,0) +- g_signal_connect(w,"draw",G_CALLBACK(on_evt_box_draw),NULL); ++ g_signal_connect(w,"draw",G_CALLBACK(on_evt_box_draw),NULL); + #else +- g_signal_connect(w, "expose-event", G_CALLBACK(on_evt_box_expose), NULL); ++ g_signal_connect(w, "expose-event", G_CALLBACK(on_evt_box_expose), NULL); + #endif ++ } ++ if( g_key_file_get_integer(config, "display", "hide_sessions", 0)==1) ++ { ++ w = (GtkWidget*)gtk_builder_get_object(builder, "sessions_box"); ++ if(w) gtk_widget_hide(w); ++ } ++ else ++ { ++ sessions = (GtkWidget*)gtk_builder_get_object(builder, "sessions"); ++ gtk_widget_set_name(sessions, "sessions"); ++ fix_combobox_entry(sessions); ++ load_sessions(); ++ } ++ ++ if( g_key_file_get_integer(config, "display", "lang", 0) == 0 ) ++ { ++ w = (GtkWidget*)gtk_builder_get_object(builder, "lang_box"); ++ if(w) gtk_widget_hide(w); ++ } ++ else ++ { ++ lang = (GtkWidget*)gtk_builder_get_object(builder, "lang"); ++ gtk_widget_set_name(lang, "lang"); ++ fix_combobox_entry(lang); ++ load_langs(); ++ } ++ ++ if(g_key_file_get_integer(config, "display", "keyboard", 0)==1) ++ { ++ w=(GtkWidget*)gtk_builder_get_object(builder, "keyboard"); ++ if((load_keyboards(w))!=FALSE) ++ { ++ fix_combobox_entry(w); ++ gtk_widget_show(w); ++ w=(GtkWidget*)gtk_builder_get_object(builder, "label_keyboard"); ++ if(w) gtk_widget_show(w); ++ } ++ } + } + else +- gtk_event_box_set_visible_window(GTK_EVENT_BOX(w), FALSE); +- +- if( g_key_file_get_integer(config, "display", "lang", 0) == 0 ) + { +- w = (GtkWidget*)gtk_builder_get_object(builder, "lang_box"); +- if( w ) +- gtk_widget_hide(w); ++ w = (GtkWidget*)gtk_builder_get_object(builder, "bottom_pane"); ++ gtk_widget_hide(w); + } +- else ++ ++ if(g_key_file_get_integer(config, "display", "hide_time", 0)==1) + { +- lang = (GtkWidget*)gtk_builder_get_object(builder, "lang"); +- gtk_widget_set_name(lang, "lang"); +- fix_combobox_entry(lang); +- load_langs(); ++ w = (GtkWidget*)gtk_builder_get_object(builder, "time"); ++ gtk_widget_hide(w); + } +- +- if(g_key_file_get_integer(config, "display", "keyboard", 0)==1) ++ else + { +- w=(GtkWidget*)gtk_builder_get_object(builder, "keyboard"); +- if((load_keyboards(w))!=FALSE) +- { +- fix_combobox_entry(w); +- gtk_widget_show(w); +- w=(GtkWidget*)gtk_builder_get_object(builder, "label_keyboard"); +- if(w) gtk_widget_show(w); +- } +- } +- + if( (w = (GtkWidget*)gtk_builder_get_object(builder, "time"))!=NULL ) + { + guint timeout = g_timeout_add(1000, (GSourceFunc)on_timeout, w); +@@ -1093,14 +1234,22 @@ static void create_win() + G_CALLBACK(g_source_remove), GUINT_TO_POINTER(timeout)); + on_timeout((GtkLabel*)w); + } ++ } + +- exit_btn = (GtkWidget*)gtk_builder_get_object(builder, "exit"); +- load_exit(); ++ if(g_key_file_get_integer(config, "display", "hide_exit", 0)==1) ++ { ++ w=(GtkWidget*)gtk_builder_get_object(builder, "exit"); ++ gtk_widget_hide(w); ++ } ++ else ++ { ++ exit_btn = (GtkWidget*)gtk_builder_get_object(builder, "exit"); ++ load_exit(); ++ } + + ui_get_geometry(window,&rc); + gtk_window_move(GTK_WINDOW(win),rc.x,rc.y); + gtk_window_set_default_size(GTK_WINDOW(win),rc.width,rc.height); +- ui_set_bg(window,config); + + if(user_list && !g_key_file_get_integer(config,"userlist","disable",NULL) && + load_user_list(user_list)) +@@ -1111,7 +1260,10 @@ static void create_win() + { + if(user_list) + { +- gtk_widget_hide(user_list); ++ if(user_list_scrolled) ++ gtk_widget_hide(user_list_scrolled); ++ else ++ gtk_widget_hide(user_list); + user_list=NULL; + } + } +@@ -1119,6 +1271,8 @@ static void create_win() + ui_add_cursor(); + ui_set_cursor(gtk_widget_get_window(win),GDK_LEFT_PTR); + gtk_widget_show(win); ++ ui_set_bg(window,config); ++ + ui_set_focus(window); + if(!user_list) + gtk_widget_grab_focus(login_entry); +@@ -1142,29 +1296,11 @@ static gboolean on_lxdm_command(GIOChannel *source, GIOCondition condition, gpoi + gtk_main_quit(); + else if( !strncmp(str, "reset", 5) ) + { +- if(user) +- { +- g_free(user); +- user=NULL; +- } +- if(pass) +- { +- g_free(pass); +- pass=NULL; +- } +- gtk_label_set_text( GTK_LABEL(prompt), _("User:")); +- gtk_widget_show(prompt); +- if(user_list) +- { +- gtk_widget_hide(login_entry); +- gtk_widget_show(user_list); +- gtk_widget_grab_focus(user_list); +- } +- else +- { +- gtk_widget_show(login_entry); +- gtk_widget_grab_focus(login_entry); +- } ++ switch_to_input_user(); ++ } ++ else if( !strncmp(str, "password", 8)) ++ { ++ switch_to_input_passwd(); + } + g_free(str); + return TRUE; +diff --git a/src/lxcom.c b/src/lxcom.c +index 02763eb..eef3d1b 100644 +--- a/src/lxcom.c ++++ b/src/lxcom.c +@@ -89,7 +89,7 @@ static gboolean lxcom_prepare (GSource *source,gint *timeout) + + static gboolean lxcom_check(GSource *source) + { +- return TRUE; ++ return (((LXComSource*)source)->poll.revents&G_IO_IN)?TRUE:FALSE; + } + + static gboolean lxcom_dispatch (GSource *source,GSourceFunc callback,gpointer user_data) +@@ -272,6 +272,7 @@ void lxcom_init(const char *sock) + + s->poll.fd=self_server_fd; + s->poll.events=G_IO_IN; ++ s->poll.revents=0; + g_source_add_poll((GSource*)s,&s->poll); + self_source_id=g_source_attach((GSource*)s,NULL); + +diff --git a/src/lxcommon.h b/src/lxcommon.h +new file mode 100644 +index 0000000..24a6c38 +--- /dev/null ++++ b/src/lxcommon.h +@@ -0,0 +1,7 @@ ++#ifndef _LXCOMMON_H_ ++#define _LXCOMMON_H_ ++ ++#define VCONFIG_FILE "/var/lib/lxdm/lxdm.conf" ++ ++#endif /*_LXCOMMON_H_*/ ++ +diff --git a/src/lxdm.c b/src/lxdm.c +index 5c279af..ff06389 100644 +--- a/src/lxdm.c ++++ b/src/lxdm.c +@@ -25,8 +25,12 @@ + #include + #endif + #ifndef HAVE_LIBPAM ++#ifdef USE_PAM ++#define HAVE_LIBPAM 1 ++#else + #define HAVE_LIBPAM 0 + #endif ++#endif + + #include + #include +@@ -69,6 +73,7 @@ + #include "lxdm.h" + #include "lxcom.h" + #include "xconn.h" ++#include "lxcommon.h" + + #define LOGFILE "/var/log/lxdm.log" + +@@ -96,6 +101,7 @@ typedef struct{ + + GKeyFile *config; + static int old_tty=1,def_tty = 7,nr_tty=0; ++static int def_display=0; + static GSList *session_list; + + static void lxdm_startx(LXSession *s); +@@ -154,6 +160,30 @@ void stop_pid(int pid) + } + + #if HAVE_LIBPAM ++ ++// just hack to work with some bad pam module ++static guint first_pam_source=2; ++static gboolean clean_pam_func(void) ++{ ++ return FALSE; ++} ++static void clean_pam_glib_source_prepare(pam_handle_t *pamh) ++{ ++ if(pamh) return; ++ first_pam_source=g_idle_add((GSourceFunc)clean_pam_func,NULL); ++} ++static void clean_pam_glib_source_run(void) ++{ ++ int i,end=first_pam_source+256; ++ for(i=first_pam_source;idisplay); + if(s->tty>0) + arg[arc++] = g_strdup_printf("vt%02d", s->tty); +- arg[arc++] = g_strdup("-nolisten"); +- arg[arc++] = g_strdup("tcp"); ++ if(g_key_file_get_integer(config,"server","tcp_listen",0)!=1) ++ { ++ arg[arc++] = g_strdup("-nolisten"); ++ arg[arc++] = g_strdup("tcp"); ++ } + arg[arc] = NULL; + p=g_strjoinv(" ", arg); + g_strfreev(arg); +@@ -518,15 +551,17 @@ void lxdm_get_tty(void) + { + nr_tty=1; + } ++ else if(p[0]==':' && isdigit(p[1])) ++ { ++ def_display=atoi(p+1); ++ } + } + if(!gotvtarg) + { + /* support plymouth */ +- nr_tty = g_file_test("/var/spool/gdm/force-display-on-active-vt", G_FILE_TEST_EXISTS); +- if( nr_tty || g_key_file_get_integer(config, "server", "active_vt", 0) ) ++ if(g_key_file_get_integer(config, "server", "active_vt", 0) ) + /* use the active vt */ + def_tty = old_tty; +- if( nr_tty ) unlink("/var/spool/gdm/force-display-on-active-vt"); + if(plymouth) + { + nr_tty=1; +@@ -557,6 +592,7 @@ static void log_init(void) + if(fd_log == -1) return; + dup2(fd_log, 1); + dup2(fd_log, 2); ++ close(fd_log); + } + + static void log_ignore(const gchar *log_domain, GLogLevelFlags log_level, +@@ -647,6 +683,19 @@ static void replace_env(char** env, const char* name, const char* new_val) + *(penv + 1) = NULL; + } + ++static const char *get_env(char **env, const char *name) ++{ ++ register char** penv; ++ for(penv = env; *penv; ++penv) ++ { ++ if(g_str_has_prefix(*penv, name)) ++ { ++ return *penv+strlen(name); ++ } ++ } ++ return NULL; ++} ++ + #ifndef DISABLE_XAUTH + + static inline void xauth_write_uint16(int fd,uint16_t data) +@@ -665,15 +714,20 @@ static inline void xauth_write_string(int fd,const char *s) + write(fd,s,len); + } + +-static void xauth_write_file(const char *file,char data[16]) ++static void xauth_write_file(const char *file,int dpy,char data[16]) + { + int fd; ++ char addr[128]; ++ char buf[16]; ++ ++ sprintf(buf,"%d",dpy); ++ gethostname(addr,sizeof(addr)); + + fd=open(file,O_CREAT|O_TRUNC|O_WRONLY,0600); + if(!fd==-1) return; +- xauth_write_uint16(fd,252); //FamilyLocalHost +- xauth_write_string(fd,""); +- xauth_write_string(fd,""); ++ xauth_write_uint16(fd,256); //FamilyLocalHost ++ xauth_write_string(fd,addr); ++ xauth_write_string(fd,buf); + xauth_write_string(fd,"MIT-MAGIC-COOKIE-1"); + xauth_write_uint16(fd,16); + write(fd,data,16); +@@ -695,9 +749,9 @@ static void create_server_auth(LXSession *s) + + authfile = g_strdup_printf("/var/run/lxdm/lxdm-:%d.auth",s->display); + +- setenv("XAUTHORITY",authfile,1); ++ //setenv("XAUTHORITY",authfile,1); + remove(authfile); +- xauth_write_file(authfile,s->mcookie); ++ xauth_write_file(authfile,s->display,s->mcookie); + g_free(authfile); + } + +@@ -706,27 +760,35 @@ static void create_client_auth(char *home,char **env) + LXSession *s; + char *authfile; + uid_t user; +- char *path; + +- if((user=getuid())== 0 ) /* root don't need it */ ++ if((user=getuid())==0) /* root don't need it */ + return; + + s=lxsession_find_user(user); + if(!s) + return; +- +- path=g_key_file_get_string(config,"base","xauth_path",NULL); +- if(path) ++ ++ /* pam_mktemp may provide XAUTHORITY to DM, just use it */ ++ if((authfile=(char*)get_env(env,"XAUTHORITY="))!=NULL) + { +- authfile = g_strdup_printf("%s/.Xauth%d", path,getuid()); +- g_free(path); ++ authfile=g_strdup(authfile); + } + else + { +- authfile = g_strdup_printf("%s/.Xauthority", home); ++ char *path; ++ path=g_key_file_get_string(config,"base","xauth_path",NULL); ++ if(path) ++ { ++ authfile = g_strdup_printf("%s/.Xauth%d", path,user); ++ g_free(path); ++ } ++ else ++ { ++ authfile = g_strdup_printf("%s/.Xauthority", home); ++ } + } + remove(authfile); +- xauth_write_file(authfile,s->mcookie); ++ xauth_write_file(authfile,s->display,s->mcookie); + replace_env(env,"XAUTHORITY=",authfile); + g_free(authfile); + } +@@ -748,7 +810,8 @@ static int do_conv(int num, const struct pam_message **msg,struct pam_response * + resp[i]->resp=strdup(user_pass[0]?user_pass[0]:""); + break; + case PAM_PROMPT_ECHO_OFF: +- resp[i]->resp=strdup(user_pass[1]?user_pass[1]:""); ++ //resp[i]->resp=strdup(user_pass[1]?user_pass[1]:""); ++ resp[i]->resp=user_pass[1]?strdup(user_pass[1]):NULL; + break; + case PAM_ERROR_MSG: + case PAM_TEXT_INFO: +@@ -762,6 +825,7 @@ static int do_conv(int num, const struct pam_message **msg,struct pam_response * + } + + static struct pam_conv conv={.conv=do_conv,.appdata_ptr=user_pass}; ++ + #endif + + int lxdm_auth_user(char *user, char *pass, struct passwd **ppw) +@@ -789,7 +853,7 @@ int lxdm_auth_user(char *user, char *pass, struct passwd **ppw) + g_debug("user %s not found\n",user); + return AUTH_BAD_USER; + } +- if( !pass ) ++ if( !pass && !g_key_file_get_integer(config,"base","skip_password",NULL)) + { + *ppw = pw; + g_debug("user %s auth ok\n",user); +@@ -808,7 +872,7 @@ int lxdm_auth_user(char *user, char *pass, struct passwd **ppw) + real = sp->sp_pwdp; + if( !real || !real[0] ) + { +- if( !pass[0] ) ++ if( !pass || !pass[0] ) + { + *ppw = pw; + g_debug("user %s auth with no password ok\n",user); +@@ -837,6 +901,7 @@ int lxdm_auth_user(char *user, char *pass, struct passwd **ppw) + exit(0); + } + if(s->pamh) pam_end(s->pamh,0); ++ clean_pam_glib_source_prepare(NULL); + if(PAM_SUCCESS != pam_start("lxdm", pw->pw_name, &conv, &s->pamh)) + { + s->pamh=NULL; +@@ -874,6 +939,7 @@ void setup_pam_session(LXSession *s,struct passwd *pw,char *session_name) + int err; + char x[256]; + ++ clean_pam_glib_source_prepare(s->pamh); + if(!s->pamh && PAM_SUCCESS != pam_start("lxdm", pw->pw_name, &conv, &s->pamh)) + { + s->pamh = NULL; +@@ -886,6 +952,15 @@ void setup_pam_session(LXSession *s,struct passwd *pw,char *session_name) + pam_set_item(s->pamh, PAM_XDISPLAY, getenv("DISPLAY") ); + #endif + ++#if !defined(DISABLE_XAUTH) && defined(PAM_XAUTHDATA) ++ struct pam_xauth_data value; ++ value.name="MIT-MAGIC-COOKIE-1"; ++ value.namelen=18; ++ value.data=s->mcookie; ++ value.datalen=sizeof(s->mcookie); ++ pam_set_item (s->pamh, PAM_XAUTHDATA, &value); ++#endif ++ + if(session_name && session_name[0]) + { + char *env; +@@ -896,18 +971,27 @@ void setup_pam_session(LXSession *s,struct passwd *pw,char *session_name) + err = pam_open_session(s->pamh, 0); /* FIXME pam session failed */ + if( err != PAM_SUCCESS ) + g_warning( "pam open session error \"%s\"\n", pam_strerror(s->pamh, err)); ++ ++ clean_pam_glib_source_run(); + } + +-void append_pam_environ(pam_handle_t *pamh,char **env) ++static char **append_pam_environ(pam_handle_t *pamh,char **env) + { +- int i,j,n; ++ int i,j,n,a; + char **penv; +- if(!pamh) return; ++ if(!pamh) return env; + penv=pam_getenvlist(pamh); +- if(!penv) return; ++ if(!penv) return env; ++ a=g_strv_length(penv); ++ if(a==0) ++ { ++ free(penv); ++ return env; ++ } ++ env=g_renew(char *,env,g_strv_length(env)+1+a+10); + for(i=0;penv[i]!=NULL;i++) + { +- //printf("PAM %s\n",penv[i]); ++ fprintf(stderr,"PAM %s\n",penv[i]); + n=strcspn(penv[i],"=")+1; + for(j=0;env[j]!=NULL;j++) + { +@@ -923,6 +1007,7 @@ void append_pam_environ(pam_handle_t *pamh,char **env) + free(penv[i]); + } + free(penv); ++ return env; + } + + #endif +@@ -945,6 +1030,12 @@ static void close_left_fds(void) + close(fd); + } + free(list); ++ ++ int fd = open("/dev/null", O_WRONLY); ++ if(fd == -1) return; ++ dup2(fd, 1); ++ dup2(fd, 2); ++ close(fd); + } + + void switch_user(struct passwd *pw, char *run, char **env) +@@ -1200,6 +1291,11 @@ static void on_session_stop(void *data,int pid, int status) + { + lxsession_free(s); + } ++ else if(g_key_file_get_integer(config,"server","reset",NULL)==1) ++ { ++ lxsession_free(s); ++ lxsession_greeter(); ++ } + gchar *argv[] = { "/etc/lxdm/PostLogout", NULL }; + g_spawn_async(NULL, argv, s->env, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL); + } +@@ -1212,7 +1308,7 @@ gboolean lxdm_get_session_info(char *session,char **pname,char **pexec) + name=g_key_file_get_string(config, "base", "session", 0); + if(!name && getenv("PREFERRED")) + name = g_strdup(getenv("PREFERRED")); +- if(!session && getenv("DESKTOP")) ++ if(!name && getenv("DESKTOP")) + name = g_strdup(getenv("DESKTOP")); + if(!name) name=g_strdup("LXDE"); + } +@@ -1291,7 +1387,7 @@ static void lxdm_save_login(char *session,char *lang) + lang=""; + var=g_key_file_new(); + g_key_file_set_list_separator(var, ' '); +- g_key_file_load_from_file(var,"/var/lib/lxdm/lxdm.conf",0,NULL); ++ g_key_file_load_from_file(var,VCONFIG_FILE,0,NULL); + old=g_key_file_get_string(var,"base","last_session",0); + if(0!=g_strcmp0(old,session)) + { +@@ -1343,7 +1439,7 @@ static void lxdm_save_login(char *session,char *lang) + char* data = g_key_file_to_data(var, &len, NULL); + mkdir("/var/lib/lxdm",0755); + chmod("/var/lib/lxdm",0755); +- g_file_set_contents("/var/lib/lxdm/lxdm.conf", data, len, NULL); ++ g_file_set_contents(VCONFIG_FILE, data, len, NULL); + g_free(data); + } + g_key_file_free(var); +@@ -1451,9 +1547,20 @@ void lxdm_do_login(struct passwd *pw, char *session, char *lang, char *option) + "x11-display", &n, + "is-local",&is_local, + NULL)) +- setenv("XDG_SESSION_COOKIE", ck_connector_get_cookie(s->ckc), 1); ++ { ++ setenv("XDG_SESSION_COOKIE", ck_connector_get_cookie(s->ckc), 1); ++ } ++ else ++ { ++ g_message("create ConsoleKit session fail\n"); ++ } ++ } ++ else ++ { ++ g_message("create ConsoleKit connector fail\n"); + } + #endif ++ + char** env, *path; + int n_env,i; + n_env = g_strv_length(environ); +@@ -1488,7 +1595,7 @@ void lxdm_do_login(struct passwd *pw, char *session, char *lang, char *option) + if(s->child==0) + { + #if HAVE_LIBPAM +- append_pam_environ(s->pamh,env); ++ env=append_pam_environ(s->pamh,env); + pam_end(s->pamh,0); + #endif + switch_user(pw, session_exec, env); +@@ -1519,7 +1626,7 @@ void lxdm_do_shutdown(void) + char *cmd; + cmd = g_key_file_get_string(config, "cmd", "shutdown", 0); + if( !cmd ) cmd = g_strdup("shutdown -h now"); +- g_spawn_command_line_sync("/etc/lxdm/PreReboot",0,0,0,0); ++ g_spawn_command_line_sync("/etc/lxdm/PreShutdown",0,0,0,0); + g_spawn_command_line_async(cmd,0); + g_free(cmd); + lxdm_quit_self(0); +@@ -1548,10 +1655,30 @@ int lxdm_do_auto_login(void) + if(count==1) + pass = g_key_file_get_string(config, "base", "password", 0); + #endif ++ ++ /* get defaults from last login */ ++ GKeyFile *var_config = g_key_file_new(); ++ g_key_file_set_list_separator(var_config, ' '); ++ g_key_file_load_from_file(var_config,VCONFIG_FILE,G_KEY_FILE_KEEP_COMMENTS, NULL); ++ ++ char* last_session = g_key_file_get_string(var_config, "base", "last_session", NULL); ++ if(last_session != NULL && last_session[0] == 0) ++ { ++ g_free(last_session); ++ last_session = NULL; ++ } ++ ++ char* last_lang = g_key_file_get_string(var_config, "base", "last_lang", NULL); ++ ++ g_key_file_free(var_config); ++ + for(i=0;ipw_shell, "nologin")) + continue; ++ ++ ret = FALSE; ++ setusershell(); ++ while ((valid_shell = getusershell()) != NULL) { ++ if (g_strcmp0 (pw->pw_shell, valid_shell) != 0) ++ continue; ++ ret = TRUE; ++ } ++ endusershell(); ++ if(!ret) ++ continue; ++ + if(strncmp(pw->pw_dir,"/home/",6)) + { + if(!strv_find(white,pw->pw_name)) +diff --git a/src/ui.c b/src/ui.c +index 2691a03..cd6d7de 100644 +--- a/src/ui.c ++++ b/src/ui.c +@@ -20,8 +20,6 @@ + */ + + +-#include +- + #include + #include + #include +@@ -153,7 +151,7 @@ static gboolean on_greeter_input(GIOChannel *source, GIOCondition condition, gpo + char *pass = greeter_param(str, "pass"); + char *session = greeter_param(str, "session"); + char *lang = greeter_param(str, "lang"); +- if( user && pass ) ++ if( user/* && pass */) + { + struct passwd *pw; + int ret = lxdm_auth_user(user, pass, &pw); +@@ -163,7 +161,12 @@ static gboolean on_greeter_input(GIOChannel *source, GIOCondition condition, gpo + lxdm_do_login(pw, session, lang,NULL); + } + else +- xwrite(greeter_pipe[0], "reset\n", 6); ++ { ++ if(pass!=NULL) ++ xwrite(greeter_pipe[0], "reset\n", 6); ++ else ++ xwrite(greeter_pipe[0], "password\n", 9); ++ } + } + g_free(user); + g_free(pass); +diff --git a/systemd/Makefile.am b/systemd/Makefile.am +new file mode 100644 +index 0000000..b568c5a +--- /dev/null ++++ b/systemd/Makefile.am +@@ -0,0 +1,10 @@ ++NULL= ++ ++lxdm_systemddir = @systemdsystemunitdir@ ++lxdm_systemd_DATA = \ ++ lxdm.service \ ++ $(NULL) ++ ++EXTRA_DIST = \ ++ $(lxdm_systemd_DATA) \ ++ $(NULL) +diff --git a/systemd/lxdm.service b/systemd/lxdm.service +new file mode 100644 +index 0000000..bf4a0a8 +--- /dev/null ++++ b/systemd/lxdm.service +@@ -0,0 +1,12 @@ ++[Unit] ++Description=LXDE Display Manager ++Conflicts=getty@tty1.service plymouth-quit.service ++After=systemd-user-sessions.service getty@tty1.service plymouth-quit.service ++ ++[Service] ++ExecStart=/usr/sbin/lxdm ++Restart=always ++IgnoreSIGPIPE=no ++ ++[Install] ++Alias=display-manager.service diff --git a/community/lxdm/lxdm.install b/community/lxdm/lxdm.install index 3bbb59a2e..a8bc882dc 100644 --- a/community/lxdm/lxdm.install +++ b/community/lxdm/lxdm.install @@ -1,22 +1,17 @@ post_install() { - getent group lxdm >/dev/null && groupmod -g 121 lxdm || groupadd -g 121 lxdm - getent passwd lxdm >/dev/null && usermod -u 121 -g 121 lxdm || useradd -r -d /var/lib/lxdm -u 121 -g 121 lxdm - chown -R 121:121 /var/lib/lxdm - chgrp 121 /etc/lxdm/lxdm.conf - chmod +r /etc/lxdm/lxdm.conf - systemd-tmpfiles --create lxdm.conf + getent group lxdm > /dev/null 2>&1 && \ + groupmod -g 121 lxdm > /dev/null 2>&1 || \ + groupadd -g 121 lxdm + getent passwd lxdm > /dev/null 2>&1 && \ + usermod -c 'Lightweight X11 Display Manager' -u 121 -g 121 -d /var/lib/lxdm -s /sbin/nologin lxdm > /dev/null 2>&1 || \ + useradd -c 'Lightweight X11 Display Manager' -u 121 -g 121 -d /var/lib/lxdm -s /sbin/nologin lxdm + passwd -l lxdm > /dev/null } post_upgrade() { - post_install $1 - if [[ $(vercmp $2 0.4.1-22) < 0 ]]; then - groupmod -g 121 lxdm - usermod -g 121 -u 121 lxdm - fi + post_install } post_remove() { - userdel -f lxdm - groupdel lxdm - true + getent passwd lxdm > /dev/null 2>&1 && userdel lxdm } diff --git a/community/oolite/PKGBUILD b/community/oolite/PKGBUILD index a77fc48e2..e0f8c5388 100644 --- a/community/oolite/PKGBUILD +++ b/community/oolite/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 90332 2013-05-11 15:38:55Z alucryd $ +# $Id: PKGBUILD 96992 2013-09-09 20:32:19Z bgyorgy $ # Maintainer: Sven-Hendrik Haase # Contributor: Lone_Wolf pkgname=oolite pkgver=1.77 -pkgrel=2 +pkgrel=3 pkgdesc="A space-sim based on the classic Elite" arch=('i686' 'x86_64') url="http://oolite-linux.berlios.de" diff --git a/community/opus-tools/PKGBUILD b/community/opus-tools/PKGBUILD index b711af87f..6f64d97ed 100644 --- a/community/opus-tools/PKGBUILD +++ b/community/opus-tools/PKGBUILD @@ -1,29 +1,28 @@ -# $Id: PKGBUILD 81947 2013-01-04 06:03:54Z bpiotrowski $ +# $Id: PKGBUILD 96976 2013-09-09 15:45:45Z bpiotrowski $ # Maintainer: Bartłomiej Piotrowski # Contributor: Michael Düll # Contributor: pumbur pkgname=opus-tools -pkgver=0.1.6 +pkgver=0.1.7 pkgrel=1 pkgdesc='Collection of tools for Opus audio codec' arch=('i686' 'x86_64') url='http://wiki.xiph.org/Opus-tools' license=('BSD') -depends=('opus' 'libogg') +depends=('flac' 'libogg' 'opus') source=(http://downloads.xiph.org/releases/opus/$pkgname-$pkgver.tar.gz) +md5sums=('62af32d1669bcabf1aabaf7187a377f6') build(){ - cd $srcdir/$pkgname-$pkgver + cd $pkgname-$pkgver ./configure --prefix=/usr make } package() { - cd $srcdir/$pkgname-$pkgver - make DESTDIR=$pkgdir install + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install - install -Dm644 COPYING $pkgdir/usr/share/licenses/$pkgname/LICENSE + install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/LICENSE } - -sha512sums=('547828082c4838643eeda513f65316b60b0e44c4a0826ef39cbfa3fe81df71b30651c03ceee7729aeb74258c259014bf95ca5f01aba097a4de8334e58c8e7ce6') diff --git a/community/perl-clone/PKGBUILD b/community/perl-clone/PKGBUILD index 1ce7f161f..c90771aed 100644 --- a/community/perl-clone/PKGBUILD +++ b/community/perl-clone/PKGBUILD @@ -3,8 +3,8 @@ # Contributor: Alex Dioso gmail*com> pkgname=perl-clone -pkgver=0.34 -pkgrel=2 +pkgver=0.35 +pkgrel=1 pkgdesc='Recursive copy of nested objects.' arch=('i686' 'x86_64') url='http://search.cpan.org/~RDF/Clone' @@ -12,7 +12,7 @@ license=('GPL' 'PerlArtistic') depends=('perl>=5.10.0') options=('!emptydirs') source=("http://search.cpan.org/CPAN/authors/id/G/GA/GARU/Clone-$pkgver.tar.gz") -md5sums=('6475432d91b1820eff1ae877ea5c8e3b') +md5sums=('22175ef74a6e5f5604cb74d1e4af456e') build() { cd Clone-${pkgver} diff --git a/community/recoll/PKGBUILD b/community/recoll/PKGBUILD index 682e18402..66d45dcbc 100644 --- a/community/recoll/PKGBUILD +++ b/community/recoll/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 93674 2013-07-08 11:20:28Z spupykin $ +# $Id: PKGBUILD 96952 2013-09-09 09:19:39Z spupykin $ # Maintainer: Sergej Pupykin # Contributor: Daniel J Griffiths # Contributor: Andrea Scarpino @@ -16,7 +16,7 @@ depends=('xapian-core>=1.0.15-1' 'qt4' 'openssl' 'hicolor-icon-theme' 'qtwebkit' makedepends=('python2') optdepends=('libxslt: for XML based formats (fb2,etc)' 'unzip: for the OpenOffice.org documents' - 'xpdf: for pdf' + 'poppler: for pdf' 'pstotext: for postscipt' 'antiword: for msword' 'catdoc: for ms excel and powerpoint' diff --git a/community/sage-mathematics/PKGBUILD b/community/sage-mathematics/PKGBUILD index c4ddb2d10..3046bc23a 100644 --- a/community/sage-mathematics/PKGBUILD +++ b/community/sage-mathematics/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 93777 2013-07-10 07:27:17Z bpiotrowski $ +# $Id: PKGBUILD 96935 2013-09-09 01:33:22Z dwallace $ # Maintainer: Daniel Wallace # Contributor: Antonio Rojas < nqn1976 @ gmail.com > # Contributor: Thomas Dziedzic < gostrc at gmail > @@ -7,7 +7,7 @@ # Special thanks to Nareto for moving the compile from the .install to the PKGBUILD pkgname=sage-mathematics -pkgver=5.10 +pkgver=5.11 pkgrel=1 pkgdesc='SAGE: Open Source Mathematics Software, a viable free alternative to Magma, Maple, Mathematica, and Matlab.' url='http://www.sagemath.org' @@ -103,6 +103,9 @@ package() { } # vim :set ts=2 sw=2 et: -md5sums=('bfca3afc9030e63c7e7200287ee0135e' +md5sums=('ceeccaa83f45a4fb674acf10f76543d8' + 'b82f94383829eee26648feb977e2d89b' + '985da1c1d1dcdc3ea9aa73035cb7996b') +md5sums=('ceeccaa83f45a4fb674acf10f76543d8' 'b82f94383829eee26648feb977e2d89b' '985da1c1d1dcdc3ea9aa73035cb7996b') diff --git a/community/sshguard/PKGBUILD b/community/sshguard/PKGBUILD index 758fa96da..2fe9dfbb9 100644 --- a/community/sshguard/PKGBUILD +++ b/community/sshguard/PKGBUILD @@ -1,13 +1,12 @@ -# $Id: PKGBUILD 92088 2013-05-31 11:33:59Z mtorromeo $ +# $Id: PKGBUILD 96970 2013-09-09 14:29:18Z mtorromeo $ # Maintainer: Sergej Pupykin # Maintainer: Massimiliano Torromeo pkgname=sshguard pkgver=1.5 -pkgrel=13 +pkgrel=15 pkgdesc="Brute force detector for SSH, Exim, VSFTPD and more. Blocks by ip with iptables" arch=('i686' 'x86_64') -#url="http://sourceforge.net/projects/sshguard/" url="http://www.sshguard.net/" license=('GPL') depends=('iptables') @@ -17,12 +16,16 @@ source=("http://downloads.sourceforge.net/sourceforge/sshguard/sshguard-$pkgver. sshguard.service sshguard-journalctl) sha256sums=('b537f8765455fdf8424f87d4bd695e5b675b88e5d164865452137947093e7e19' - 'e9713a067b33b8ea91d203853a033c0b9f6d40ebebd77f2e72903ed4fd355ebd' - '7423224107b28cabb69489056968581f1c9e94f3edc6a1d189e56a9df0bab4f7') + '3185cd3ceeee0bbb1f1df54baf025857200f39bd1eb747a59d6f46c562be4a51' + 'f7b307fe9dbbe8c18fe91ca751679d62b2a3ade03cfe164e76ca411cfafffca6') -build() { +prepare() { cd "$srcdir/$pkgname-$pkgver" sed -i 's|^DAYNO.*|DAYNO [0-9]?[1-9]|' src/parser/attack_scanner.l +} + +build() { + cd "$srcdir/$pkgname-$pkgver" ./configure --prefix=/usr --sbindir=/usr/bin --with-firewall=iptables make } diff --git a/community/sshguard/sshguard-journalctl b/community/sshguard/sshguard-journalctl index fb106f5b6..e9bb14c5f 100644 --- a/community/sshguard/sshguard-journalctl +++ b/community/sshguard/sshguard-journalctl @@ -1,2 +1,4 @@ #!/bin/sh -/usr/bin/journalctl -afbp info -n1 SYSLOG_FACILITY=4 SYSLOG_FACILITY=10 | /usr/bin/sshguard -l- "$@" +DBFILE=$1 +shift +/usr/bin/journalctl -afb -p info -n1 "$@" | /usr/bin/sshguard -l- -b $DBFILE diff --git a/community/sshguard/sshguard.service b/community/sshguard/sshguard.service index d6324d459..11115727b 100644 --- a/community/sshguard/sshguard.service +++ b/community/sshguard/sshguard.service @@ -4,7 +4,7 @@ After=iptables.service ip6tables.service network.target Wants=iptables.service ip6tables.service [Service] -ExecStart=/usr/lib/systemd/scripts/sshguard-journalctl -b /var/db/sshguard/blacklist.db +ExecStart=/usr/lib/systemd/scripts/sshguard-journalctl /var/db/sshguard/blacklist.db SYSLOG_FACILITY=4 SYSLOG_FACILITY=10 [Install] WantedBy=multi-user.target diff --git a/community/uwsgi/PKGBUILD b/community/uwsgi/PKGBUILD index 9ccc64750..726da372b 100644 --- a/community/uwsgi/PKGBUILD +++ b/community/uwsgi/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 95003 2013-08-03 02:02:14Z dwallace $ +# $Id: PKGBUILD 96937 2013-09-09 01:52:45Z dwallace $ # Maintainer: Daniel Wallace # Contributor: Valentin Hăloiu # Contributor: Angel Velasquez @@ -22,8 +22,8 @@ pkgname=(uwsgi uwsgi-plugin-pam uwsgi-plugin-zergpool ) -pkgver=1.9.14 -pkgrel=3 +pkgver=1.9.15 +pkgrel=1 arch=(i686 x86_64) url="http://projects.unbit.it/$pkgbase" license=(GPL2) @@ -39,10 +39,10 @@ source=(http://projects.unbit.it/downloads/$pkgbase-$pkgver.tar.gz uwsgi_fix_rpath.patch uwsgi_ruby20_compatibility.patch uwsgi_trick_chroot.patch) -md5sums=('ec9cf333534604f17ef4e24051d9d65d' - '899e61d6957bec57e148b92dcb1bec6d' +md5sums=('e2a1c245e0b8b7e3c8dff8dbbfca52f3' + '4741a0cb14a55aca640a99ad30c951af' 'b05ba1d796e1ea608a40635bc4f3ec67' - '0b79320fbae92715c96086cf51e60bc8' + '740a7718bd341b03d916a13ddbbbe694' 'db70315bbc8cb886a278ba59d5fd8d57' '1a4516d5cdcf5b95b036f4eae2d0c152' '4d09535ce379c8acd76160f35d5d6b55' @@ -89,6 +89,8 @@ package_uwsgi-plugin-common(){ install -Dm755 $pkgbase-$pkgver/${plugin}_plugin.so $pkgdir/usr/lib/uwsgi/${plugin}_plugin.so ln -s uwsgi $pkgdir/usr/bin/uwsgi_$plugin done + install -Dm755 $pkgbase-$pkgver/corerouter_plugin.so $pkgdir/usr/lib/uwsgi/ + } package_uwsgi-plugin-rack(){ @@ -138,8 +140,9 @@ package_uwsgi-plugin-router(){ cd $pkgbase-$pkgver for file in router_*_plugin.so fastrouter_plugin.so sslrouter_plugin.so rawrouter_plugin.so; do - install -Dm644 $file $pkgdir/usr/lib/uwsgi/$file + install -Dm755 $file $pkgdir/usr/lib/uwsgi/$file done + install -Dm755 router_basicauth_plugin.so $pkgdir/usr/lib/uwsgi/basicauth_plugin.so } package_uwsgi-plugin-admin(){ @@ -224,3 +227,11 @@ package_uwsgi-plugin-gevent() { install -Dm755 $pkgbase-$pkgver/gevent_plugin.so $pkgdir/usr/lib/uwsgi/gevent_plugin.so ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-} } +md5sums=('e2a1c245e0b8b7e3c8dff8dbbfca52f3' + '18ef00843b3eeb537bd9456402d11a4b' + 'b05ba1d796e1ea608a40635bc4f3ec67' + '740a7718bd341b03d916a13ddbbbe694' + 'db70315bbc8cb886a278ba59d5fd8d57' + '1a4516d5cdcf5b95b036f4eae2d0c152' + '4d09535ce379c8acd76160f35d5d6b55' + '0c09a52fdb88f08c36a8b380f451ce6d') diff --git a/community/uwsgi/archlinux.ini b/community/uwsgi/archlinux.ini index 4512b301a..3b0cd4d78 100644 --- a/community/uwsgi/archlinux.ini +++ b/community/uwsgi/archlinux.ini @@ -14,4 +14,4 @@ yaml_implementation = auto malloc_implementation = libc embedded_plugins = echo, ping, http, corerouter plugin_dir = /usr/lib/uwsgi -plugins = rack, rbthreads, fiber, python, nagios, admin, lua, cache, cgi, rpc, ugreen, carbon, rrdtool, erlang, pam, systemd_logger, php, fastrouter, router_uwsgi, router_redirect, router_basicauth, zergpool, router_rewrite, router_http, router_cache, rawrouter, router_static, sslrouter +plugins = echo, ping, http, rack, corerouter, rbthreads, fiber, python, nagios, admin, lua, cache, cgi, rpc, ugreen, carbon, rrdtool, erlang, pam, systemd_logger, php, fastrouter, router_uwsgi, router_redirect, router_basicauth, zergpool, router_rewrite, router_http, router_cache, rawrouter, router_static, sslrouter diff --git a/community/uwsgi/uwsgi@.service b/community/uwsgi/uwsgi@.service index c9e9789a0..08941b507 100644 --- a/community/uwsgi/uwsgi@.service +++ b/community/uwsgi/uwsgi@.service @@ -8,6 +8,7 @@ Restart=always Type=notify StandardError=syslog NotifyAccess=main +KillSignal=SIGQUIT [Install] WantedBy=multi-user.target diff --git a/extra/chromaprint/PKGBUILD b/extra/chromaprint/PKGBUILD index 370c0dfcd..3d65ed5e3 100644 --- a/extra/chromaprint/PKGBUILD +++ b/extra/chromaprint/PKGBUILD @@ -1,22 +1,21 @@ -# $Id: PKGBUILD 191890 2013-08-01 06:53:24Z bpiotrowski $ +# $Id: PKGBUILD 193966 2013-09-09 09:33:12Z bisson $ # Contributor: Wieland Hoffmann # Maintainer: Gaetan Bisson pkgname=chromaprint -pkgver=0.7 -pkgrel=6 +pkgver=1.0 +pkgrel=1 pkgdesc='Library that implements a custom algorithm for extracting fingerprints from any audio source' url='http://acoustid.org/chromaprint/' arch=('i686' 'x86_64') license=('LGPL') depends=('ffmpeg') -makedepends=('cmake' 'git') -source=('git+https://bitbucket.org/acoustid/chromaprint.git#commit=dd51f8e') -sha1sums=('SKIP') +makedepends=('cmake') +source=("https://bitbucket.org/acoustid/${pkgname}/downloads/${pkgname}-${pkgver}.tar.gz") +sha1sums=('919e012af588a7e6fea862b29a30e3a5da67526a') build() { - cd "${srcdir}/${pkgname}" - + cd "${srcdir}/${pkgname}-${pkgver}" cmake \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ @@ -26,6 +25,6 @@ build() { } package() { - cd "${srcdir}/${pkgname}" + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install } diff --git a/extra/efivar/PKGBUILD b/extra/efivar/PKGBUILD index fcbcca915..df5cc9ad9 100644 --- a/extra/efivar/PKGBUILD +++ b/extra/efivar/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 188788 2013-06-20 17:50:47Z tpowa $ +# $Id: PKGBUILD 193971 2013-09-09 10:46:11Z tpowa $ # Maintainer : Tobias Powalowski # Contributor : Keshav Padram <(the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> @@ -9,24 +9,23 @@ _gitbranch="master" _pkgname="efivar" pkgname="${_pkgname}" -pkgdesc="Library to manipulate EFI variables - GIT Version" - -pkgver=0.4_18_gb8c524c +pkgdesc="Library to manipulate EFI variables" +pkgver=0.6 pkgrel=1 arch=('x86_64' 'i686') url="https://github.com/vathpela/efivar" license=('LGPL2.1') depends=('popt') -conflicts=("${_pkgname}" 'libefivar' 'libefivar-git') -provides=("${_pkgname}" 'libefivar' 'libefivar-git') -options=('strip' 'emptydirs' 'zipman' 'libtool' 'docs') +conflicts=('libefivar') +provides=('libefivar') +options=('zipman' 'docs' '!makeflags') source=("${_gitname}::git+${_gitroot}#branch=${_gitbranch}") sha1sums=('SKIP') pkgver() { cd "${srcdir}/${_gitname}/" - echo "$(git describe --tags)" | sed 's|-|_|g' + echo "$(git describe --tags)" | sed 's|-|\.|g' } build() { diff --git a/extra/transfig/PKGBUILD b/extra/transfig/PKGBUILD index 630efa3c2..bd73bf55b 100644 --- a/extra/transfig/PKGBUILD +++ b/extra/transfig/PKGBUILD @@ -1,26 +1,23 @@ -# $Id: PKGBUILD 184440 2013-05-06 19:39:57Z foutrelis $ +# $Id: PKGBUILD 194011 2013-09-09 18:48:23Z eric $ # Maintainer: Eric Bélanger pkgname=transfig -pkgver=3.2.5d -pkgrel=2 +pkgver=3.2.5e +pkgrel=1 pkgdesc="Format conversion utility that can be used with xfig" arch=('i686' 'x86_64') url="http://www.xfig.org" license=('custom') -depends=('libpng' 'libxpm') +depends=('libpng' 'libxpm' 'bc') makedepends=('imake') -source=(http://downloads.sourceforge.net/mcj/${pkgname}.${pkgver}.tar.gz LICENSE \ - transfig-3.2.5d-libpng-1.5.patch) -sha1sums=('90ff277cc9b3fa0d0313052fcf5e3ffad8652abc' - 'b8b712871615308b8b6add92f86d218437d652f2' - '9f9f332b0b31e58e59542bc1568df9617b71710a') +source=(http://downloads.sourceforge.net/mcj/${pkgname}.${pkgver}.tar.gz LICENSE) +sha1sums=('27aa9691bf84f8775db9be39c453a8132148bad1' + 'b8b712871615308b8b6add92f86d218437d652f2') prepare() { cd ${pkgname}.${pkgver} - sed -i 's/XCOMM USELATEX2E = -DLATEX2E/USELATEX2E = -DLATEX2E/' transfig/Imakefile - sed -i 's/XCOMM USEINLINE = -DUSE_INLINE/USEINLINE = -DUSE_INLINE/' fig2dev/Imakefile - patch -p1 -i ../transfig-3.2.5d-libpng-1.5.patch + sed -i 's/XCOMM USELATEX2E/USELATEX2E/' transfig/Imakefile + sed -i 's/XCOMM USEINLINE/USEINLINE/' fig2dev/Imakefile } build() { @@ -35,5 +32,6 @@ package() { make DESTDIR="${pkgdir}" XFIGLIBDIR=/usr/share/xfig \ FIG2DEV_LIBDIR=/usr/share/fig2dev MANPATH=/usr/share/man \ install install.man + mv "${pkgdir}/usr/bin/fig2ps2tex.sh" "${pkgdir}/usr/bin/fig2ps2tex" install -Dm644 ../LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } diff --git a/extra/transfig/transfig-3.2.5d-libpng-1.5.patch b/extra/transfig/transfig-3.2.5d-libpng-1.5.patch deleted file mode 100644 index e6f15e43e..000000000 --- a/extra/transfig/transfig-3.2.5d-libpng-1.5.patch +++ /dev/null @@ -1,39 +0,0 @@ -http://bugs.gentoo.org/show_bug.cgi?id=356751 - -Index: transfig.3.2.5d/fig2dev/dev/readpng.c -=================================================================== ---- transfig.3.2.5d.orig/fig2dev/dev/readpng.c -+++ transfig.3.2.5d/fig2dev/dev/readpng.c -@@ -62,7 +62,7 @@ read_png(file,filetype,pic,llx,lly) - } - - /* set long jump here */ -- if (setjmp(png_ptr->jmpbuf)) { -+ if (setjmp(png_jmpbuf(png_ptr))) { - /* if we get here there was a problem reading the file */ - png_destroy_read_struct(&png_ptr, &info_ptr, &end_info); - return 0; -@@ -78,15 +78,17 @@ read_png(file,filetype,pic,llx,lly) - png_get_IHDR(png_ptr, info_ptr, &w, &h, &bit_depth, &color_type, - &interlace_type, &compression_type, &filter_type); - -- if (info_ptr->valid & PNG_INFO_gAMA) -- png_set_gamma(png_ptr, 2.2, info_ptr->gamma); -- else -- png_set_gamma(png_ptr, 2.2, 0.45); -+ png_fixed_point gamma = 0.45; -+ png_get_gAMA_fixed(png_ptr,info_ptr,&gamma); -+ png_set_gamma(png_ptr, 2.2, gamma); - -- if (info_ptr->valid & PNG_INFO_bKGD) -+ if (png_get_valid(png_ptr,info_ptr,PNG_INFO_bKGD)) { - /* set the background to the one supplied */ -- png_set_background(png_ptr, &info_ptr->background, -+ png_color_16p background; -+ png_get_bKGD(png_ptr,info_ptr,&background); -+ png_set_background(png_ptr, background, - PNG_BACKGROUND_GAMMA_FILE, 1, 1.0); -+ } - else { - /* blend the canvas background using the alpha channel */ - if (bgspec) { diff --git a/libre/bfgminer-libre/PKGBUILD b/libre/bfgminer-libre/PKGBUILD index 43e862669..86e2bba5b 100644 --- a/libre/bfgminer-libre/PKGBUILD +++ b/libre/bfgminer-libre/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 96038 2013-08-19 11:41:39Z tredaelli $ +# $Id: PKGBUILD 96961 2013-09-09 10:42:24Z tredaelli $ # Maintainer: Timothy Redaelli # Contributor: Andy Weidenbaum _pkgname=bfgminer pkgname=bfgminer-libre -pkgver=3.1.4 +pkgver=3.2.0 pkgrel=1 pkgdesc="Bitcoin miner featuring overclocking, monitoring, fan speed control and remote management. For FPGA/GPU/CPU Bitcoin mining, without nonfree OpenCL recommendation." arch=('i686' 'x86_64' 'mips64el') @@ -18,7 +18,7 @@ license=('GPL3') options=(!libtool) source=(http://luke.dashjr.org/programs/bitcoin/files/$_pkgname/$pkgver/$_pkgname-$pkgver.tbz2 remove-dangerous-rpath.patch) -sha256sums=('ec59618b7d5c81e110871ce6d10563e01d7670bbe2559428836474a9f2eace1a' +sha256sums=('39cd2b01d9096e837ccc4b3b0201711345d286f8fd02be20c3e79c8db94c122a' 'd26d07ca23ae25798c4db37cfda1a6a76f22d06e73efab1ddf62b3e1a7eef04c') prepare() { diff --git a/libre/texlive-bin-libre/09-texlive-fonts.conf b/libre/texlive-bin-libre/09-texlive-fonts.conf new file mode 100644 index 000000000..f870fbd7a --- /dev/null +++ b/libre/texlive-bin-libre/09-texlive-fonts.conf @@ -0,0 +1,9 @@ + + + + /usr/share/texmf-dist/fonts/opentype + /usr/share/texmf-dist/fonts/truetype + /usr/local/share/texmf/fonts/opentype + /usr/local/share/texmf/fonts/truetype + + diff --git a/libre/texlive-bin-libre/PKGBUILD b/libre/texlive-bin-libre/PKGBUILD new file mode 100644 index 000000000..b35911f2c --- /dev/null +++ b/libre/texlive-bin-libre/PKGBUILD @@ -0,0 +1,302 @@ +# $Id: PKGBUILD 193968 2013-09-09 10:10:47Z remy $ +# Maintainer: Rémy Oudompheng +# Contributor: francois +# Maintainer (Parabola): Michał Masłowski +# Contributor (Parabola): André Silva + +pkgname=texlive-bin-libre +pkgver=2013.30973 +pkgrel=4 +pkgdesc="TeX Live binaries, without biber binaries (Parabola rebranded)" +license=('GPL') +arch=('i686' 'x86_64' 'mips64el') +depends=('cairo' 'pixman' 'graphite' 't1lib' 'gd' 'poppler>=0.24.0' + 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2' + 'icu' 'harfbuzz' 'harfbuzz-icu') +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=('fix-fontforge-encoding.patch' + "http://mirrors.kernel.org/archlinux/other/texlive/texlive-bin-source-${pkgver}.tar.xz" +) +md5sums=('bfb9716aa00c86c08cd31e5b32edeb98' + '0a8ffd5c0002a080a4202057b1f106c6') + +build() { + cd "$srcdir" + + if [ "${CARCH}" != "i686" ]; then + export CFLAGS="${CFLAGS} -fPIC" + export CXXFLAGS="${CXXFLAGS} -fPIC" + fi + + # this patch removes spurious error message with locale "xx_YY.utf8" + #patch -Np0 -i fix-fontforge-encoding.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 \ + --with-system-pixman \ + --with-system-cairo \ + --with-system-harfbuzz \ + --with-system-graphite \ + --with-system-icu \ + --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 + 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} + + ## install Perl libraries + mkdir -p "$pkgdir"/usr/share/tlpkg/TeXLive + install -m644 "${srcdir}"/source/utils/biber/TeXLive/*.pm "${pkgdir}/usr/share/tlpkg/TeXLive" + + ## symlink engines by hand. texlinks has moved to texlive-core... + mkdir -p ${pkgdir}/usr/bin + ln -s eptex ${pkgdir}/usr/bin/platex + ln -s euptex ${pkgdir}/usr/bin/uplatex + ln -s luatex ${pkgdir}/usr/bin/dvilualatex + ln -s luatex ${pkgdir}/usr/bin/dviluatex + ln -s luatex ${pkgdir}/usr/bin/lualatex + ln -s pdftex ${pkgdir}/usr/bin/amstex + ln -s pdftex ${pkgdir}/usr/bin/cslatex + ln -s pdftex ${pkgdir}/usr/bin/csplain + ln -s pdftex ${pkgdir}/usr/bin/eplain + ln -s pdftex ${pkgdir}/usr/bin/etex + ln -s pdftex ${pkgdir}/usr/bin/jadetex + ln -s pdftex ${pkgdir}/usr/bin/latex + ln -s pdftex ${pkgdir}/usr/bin/mex + ln -s pdftex ${pkgdir}/usr/bin/mllatex + ln -s pdftex ${pkgdir}/usr/bin/mltex + ln -s pdftex ${pkgdir}/usr/bin/pdfetex + ln -s pdftex ${pkgdir}/usr/bin/pdfcslatex + ln -s pdftex ${pkgdir}/usr/bin/pdfcsplain + ln -s pdftex ${pkgdir}/usr/bin/pdfjadetex + ln -s pdftex ${pkgdir}/usr/bin/pdflatex + ln -s pdftex ${pkgdir}/usr/bin/pdfmex + ln -s pdftex ${pkgdir}/usr/bin/pdfxmltex + ln -s pdftex ${pkgdir}/usr/bin/texsis + ln -s pdftex ${pkgdir}/usr/bin/utf8mex + ln -s pdftex ${pkgdir}/usr/bin/xmltex + ln -s xetex ${pkgdir}/usr/bin/xelatex + + ############################################################# + # remove dangling symlinks + _bibtexextra_scripts=" +bibexport +listbib +multibibliography +urlbst +" + _core_scripts=" +a2ping +a5toa4 +adhocfilelist +afm2afm +allcm +allec +allneeded +arara +arlatex +autoinst +bundledoc +checkcites +chkweb +context +ctanify +ctanupload +ctxtools +de-macro +deweb +dosepsbin +dtxgen +dvi2fax +dviasm +dvired +e2pall +epstopdf +findhyph +fmtutil +fmtutil-sys +fontinst +fragmaster +installfont-tl +kpsepath +kpsetool +kpsewhere +kpsexpand +latex2man +latexdiff +latexdiff-vc +latexfileversion +latexmk +latexpand +latexrevise +listings-ext.sh +ltxfileinfo +lua2dox_filter +luaotfload-tool +luatools +match_parens +mf2pt1 +mkjobtexmf +mkluatexfontdb +mkt1font +mktexfmt +mptopdf +mtxrun +ot2kpx +pdf180 +pdf270 +pdf90 +pdfatfi +pdfbook +pdfcrop +pdfflip +pdfjam +pdfjam-pocketmod +pdfjam-slides3up +pdfjam-slides6up +pdfjoin +pdfnup +pdfpun +pfarrei +pkfix +pkfix-helper +ps2eps +ps2frag +pslatex +pstopdf +purifyeps +repstopdf +rpdfcrop +rungs +simpdftex +sty2dtx +texconfig +texconfig-dialog +texconfig-sys +texcount +texdef +texdiff +texdirflatten +texdoc +texdoctk +texexec +texindy +texlinks +texliveonfly +texloganalyser +texmfstart +thumbpdf +typeoutfileinfo +updmap +updmap-sys +vpl2ovp +vpl2vpl +xindy +" + _htmlxml_scripts="ht htcontext htlatex htmex httex httexi htxelatex htxetex mk4ht" + _langcyrillic_scripts="rubibtex rumakeindex" + _langcjk_scripts="convbkmk ptex2pdf +kanji-fontmap-creator +kanji-config-updmap +kanji-config-updmap-sys +" + _langextra_scripts="ebong" + _langgreek_scripts="mkgrkindex" + _latexextra_scripts=" +authorindex +exceltex +makeglossaries +pdfannotextractor +perltex +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} \ + ${_langcyrillic_scripts} \ + ${_langextra_scripts} \ + ${_langgreek_scripts} \ + ${_latexextra_scripts} \ + ${_music_scripts} \ + ${_pictures_scripts} \ + ${_pstricks_scripts} \ + ${_science_scripts} \ + tlmgr; do + ! readlink -e "$pkgdir"/usr/bin/$s && rm "$pkgdir"/usr/bin/$s + done + ################################################################### +} + diff --git a/libre/texlive-bin-libre/fix-fontforge-encoding.patch b/libre/texlive-bin-libre/fix-fontforge-encoding.patch new file mode 100644 index 000000000..8104b3289 --- /dev/null +++ b/libre/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/texlive-bin-libre/luatex-poppler-0.20.patch b/libre/texlive-bin-libre/luatex-poppler-0.20.patch new file mode 100644 index 000000000..175824f3e --- /dev/null +++ b/libre/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/texlive-bin-libre/luatex-r4449-radical-rule-thickness.patch b/libre/texlive-bin-libre/luatex-r4449-radical-rule-thickness.patch new file mode 100644 index 000000000..f925a1a93 --- /dev/null +++ b/libre/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/texlive-bin-libre/poppler-0.20.patch b/libre/texlive-bin-libre/poppler-0.20.patch new file mode 100644 index 000000000..3bd8183ab --- /dev/null +++ b/libre/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/texlive-bin-libre/texlive.install b/libre/texlive-bin-libre/texlive.install new file mode 100644 index 000000000..96a41bcfc --- /dev/null +++ b/libre/texlive-bin-libre/texlive.install @@ -0,0 +1,50 @@ +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() { + if [[ -f usr/bin/mktexlsr ]]; then + echo ">>> texlive: updating the filename database..." + usr/bin/mktexlsr + fi + if [[ -f usr/bin/fmtutil-sys ]]; then + echo -n "creating all formats..." + usr/bin/fmtutil-sys --all 1>/dev/null + echo " done." + echo " (logs are under /var/lib/texmf/web2c//.log)" + fi + [[ -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 + if [[ -f usr/bin/mktexlsr ]]; then + echo ">>> texlive: updating the filename database..." + usr/bin/mktexlsr + fi + _pacout=$(pacman -Q texlive-core 2>/dev/null) + read corename corever <<< ${_pacout} + if [[ ${corever} == 2012* ]]; then + if [[ -f usr/bin/fmtutil-sys ]]; then + echo -n "recreating all formats..." + usr/bin/fmtutil-sys --all 1>/dev/null + echo " done." + echo " (logs are under /var/lib/texmf/web2c//.log)" + fi + 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/texlive-bin-libre/texmf.cnf b/libre/texlive-bin-libre/texmf.cnf new file mode 100644 index 000000000..76975ee5c --- /dev/null +++ b/libre/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 diff --git a/libre/texlive-bin/09-texlive-fonts.conf b/libre/texlive-bin/09-texlive-fonts.conf deleted file mode 100644 index f870fbd7a..000000000 --- a/libre/texlive-bin/09-texlive-fonts.conf +++ /dev/null @@ -1,9 +0,0 @@ - - - - /usr/share/texmf-dist/fonts/opentype - /usr/share/texmf-dist/fonts/truetype - /usr/local/share/texmf/fonts/opentype - /usr/local/share/texmf/fonts/truetype - - diff --git a/libre/texlive-bin/PKGBUILD b/libre/texlive-bin/PKGBUILD deleted file mode 100644 index 8ff03dacd..000000000 --- a/libre/texlive-bin/PKGBUILD +++ /dev/null @@ -1,301 +0,0 @@ -# $Id: PKGBUILD 192005 2013-08-03 20:33:12Z remy $ -# Maintainer: Rémy Oudompheng -# Contributor: francois -# Maintainer (Parabola): Michał Masłowski -# Contributor (Parabola): André Silva - -pkgname=texlive-bin -pkgver=2013.30973 -pkgrel=3 -pkgdesc="TeX Live binaries (Parabola rebranded)" -license=('GPL') -arch=('i686' 'x86_64' 'mips64el') -depends=('cairo' 'pixman' 'graphite' 't1lib' 'gd' 'poppler>=0.24.0' - 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2' - 'icu' 'harfbuzz' 'harfbuzz-icu') -makedepends=('perl' 'clisp' 'ffcall') -optdepends=('ed: for texconfig') -provides=('lcdf-typetools' 'kpathsea' 'xindy' 'pdfjam' 'texlive-bin-libre') -conflicts=('pdfjam' 'texlive-bin-libre') -replaces=('texlive-bin-libre') -options=('!libtool' '!strip') -url='http://tug.org/texlive/' -install="texlive.install" -source=('fix-fontforge-encoding.patch' - "http://mirrors.kernel.org/archlinux/other/texlive/texlive-bin-source-${pkgver}.tar.xz" -) -md5sums=('bfb9716aa00c86c08cd31e5b32edeb98' - '0a8ffd5c0002a080a4202057b1f106c6') - -build() { - cd "$srcdir" - - if [ "${CARCH}" != "i686" ]; then - export CFLAGS="${CFLAGS} -fPIC" - export CXXFLAGS="${CXXFLAGS} -fPIC" - fi - - # this patch removes spurious error message with locale "xx_YY.utf8" - #patch -Np0 -i fix-fontforge-encoding.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 \ - --with-system-pixman \ - --with-system-cairo \ - --with-system-harfbuzz \ - --with-system-graphite \ - --with-system-icu \ - --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 - 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} - - ## install Perl libraries - mkdir -p "$pkgdir"/usr/share/tlpkg/TeXLive - install -m644 "${srcdir}"/source/utils/biber/TeXLive/*.pm "${pkgdir}/usr/share/tlpkg/TeXLive" - - ## symlink engines by hand. texlinks has moved to texlive-core... - mkdir -p ${pkgdir}/usr/bin - ln -s eptex ${pkgdir}/usr/bin/platex - ln -s euptex ${pkgdir}/usr/bin/uplatex - ln -s luatex ${pkgdir}/usr/bin/dvilualatex - ln -s luatex ${pkgdir}/usr/bin/dviluatex - ln -s luatex ${pkgdir}/usr/bin/lualatex - ln -s luatex ${pkgdir}/usr/bin/pdfcsplain - ln -s pdftex ${pkgdir}/usr/bin/amstex - ln -s pdftex ${pkgdir}/usr/bin/cslatex - ln -s pdftex ${pkgdir}/usr/bin/csplain - ln -s pdftex ${pkgdir}/usr/bin/eplain - ln -s pdftex ${pkgdir}/usr/bin/etex - ln -s pdftex ${pkgdir}/usr/bin/jadetex - ln -s pdftex ${pkgdir}/usr/bin/latex - ln -s pdftex ${pkgdir}/usr/bin/mex - ln -s pdftex ${pkgdir}/usr/bin/mllatex - ln -s pdftex ${pkgdir}/usr/bin/mltex - ln -s pdftex ${pkgdir}/usr/bin/pdfetex - ln -s pdftex ${pkgdir}/usr/bin/pdfjadetex - ln -s pdftex ${pkgdir}/usr/bin/pdflatex - ln -s pdftex ${pkgdir}/usr/bin/pdfmex - ln -s pdftex ${pkgdir}/usr/bin/pdfxmltex - ln -s pdftex ${pkgdir}/usr/bin/texsis - ln -s pdftex ${pkgdir}/usr/bin/utf8mex - ln -s pdftex ${pkgdir}/usr/bin/xmltex - ln -s xetex ${pkgdir}/usr/bin/xelatex - - ############################################################# - # remove dangling symlinks - _bibtexextra_scripts=" -bibexport -listbib -multibibliography -urlbst -" - _core_scripts=" -a2ping -a5toa4 -adhocfilelist -afm2afm -allcm -allec -allneeded -arara -arlatex -autoinst -bundledoc -checkcites -chkweb -context -ctanify -ctanupload -ctxtools -de-macro -deweb -dosepsbin -dtxgen -dvi2fax -dviasm -dvired -e2pall -epstopdf -findhyph -fmtutil -fmtutil-sys -fontinst -fragmaster -installfont-tl -kpsepath -kpsetool -kpsewhere -kpsexpand -latex2man -latexdiff -latexdiff-vc -latexfileversion -latexmk -latexpand -latexrevise -listings-ext.sh -ltxfileinfo -lua2dox_filter -luaotfload-tool -luatools -match_parens -mf2pt1 -mkjobtexmf -mkluatexfontdb -mkt1font -mktexfmt -mptopdf -mtxrun -ot2kpx -pdf180 -pdf270 -pdf90 -pdfatfi -pdfbook -pdfcrop -pdfflip -pdfjam -pdfjam-pocketmod -pdfjam-slides3up -pdfjam-slides6up -pdfjoin -pdfnup -pdfpun -pfarrei -pkfix -pkfix-helper -ps2eps -ps2frag -pslatex -pstopdf -purifyeps -repstopdf -rpdfcrop -rungs -simpdftex -sty2dtx -texconfig -texconfig-dialog -texconfig-sys -texcount -texdef -texdiff -texdirflatten -texdoc -texdoctk -texexec -texindy -texlinks -texliveonfly -texloganalyser -texmfstart -thumbpdf -typeoutfileinfo -updmap -updmap-sys -vpl2ovp -vpl2vpl -xindy -" - _htmlxml_scripts="ht htcontext htlatex htmex httex httexi htxelatex htxetex mk4ht" - _langcyrillic_scripts="rubibtex rumakeindex" - _langcjk_scripts="convbkmk ptex2pdf -kanji-fontmap-creator -kanji-config-updmap -kanji-config-updmap-sys -" - _langextra_scripts="ebong" - _langgreek_scripts="mkgrkindex" - _latexextra_scripts=" -authorindex -exceltex -makeglossaries -pdfannotextractor -perltex -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} \ - ${_langcyrillic_scripts} \ - ${_langextra_scripts} \ - ${_langgreek_scripts} \ - ${_latexextra_scripts} \ - ${_music_scripts} \ - ${_pictures_scripts} \ - ${_pstricks_scripts} \ - ${_science_scripts} \ - tlmgr; do - ! readlink -e "$pkgdir"/usr/bin/$s && rm "$pkgdir"/usr/bin/$s - done - ################################################################### -} - diff --git a/libre/texlive-bin/fix-fontforge-encoding.patch b/libre/texlive-bin/fix-fontforge-encoding.patch deleted file mode 100644 index 8104b3289..000000000 --- a/libre/texlive-bin/fix-fontforge-encoding.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- 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/texlive-bin/luatex-poppler-0.20.patch b/libre/texlive-bin/luatex-poppler-0.20.patch deleted file mode 100644 index 175824f3e..000000000 --- a/libre/texlive-bin/luatex-poppler-0.20.patch +++ /dev/null @@ -1,77 +0,0 @@ ---- 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/texlive-bin/luatex-r4449-radical-rule-thickness.patch b/libre/texlive-bin/luatex-r4449-radical-rule-thickness.patch deleted file mode 100644 index f925a1a93..000000000 --- a/libre/texlive-bin/luatex-r4449-radical-rule-thickness.patch +++ /dev/null @@ -1,23 +0,0 @@ -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/texlive-bin/poppler-0.20.patch b/libre/texlive-bin/poppler-0.20.patch deleted file mode 100644 index 3bd8183ab..000000000 --- a/libre/texlive-bin/poppler-0.20.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- 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/texlive-bin/texlive.install b/libre/texlive-bin/texlive.install deleted file mode 100644 index 96a41bcfc..000000000 --- a/libre/texlive-bin/texlive.install +++ /dev/null @@ -1,50 +0,0 @@ -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() { - if [[ -f usr/bin/mktexlsr ]]; then - echo ">>> texlive: updating the filename database..." - usr/bin/mktexlsr - fi - if [[ -f usr/bin/fmtutil-sys ]]; then - echo -n "creating all formats..." - usr/bin/fmtutil-sys --all 1>/dev/null - echo " done." - echo " (logs are under /var/lib/texmf/web2c//.log)" - fi - [[ -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 - if [[ -f usr/bin/mktexlsr ]]; then - echo ">>> texlive: updating the filename database..." - usr/bin/mktexlsr - fi - _pacout=$(pacman -Q texlive-core 2>/dev/null) - read corename corever <<< ${_pacout} - if [[ ${corever} == 2012* ]]; then - if [[ -f usr/bin/fmtutil-sys ]]; then - echo -n "recreating all formats..." - usr/bin/fmtutil-sys --all 1>/dev/null - echo " done." - echo " (logs are under /var/lib/texmf/web2c//.log)" - fi - 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/texlive-bin/texmf.cnf b/libre/texlive-bin/texmf.cnf deleted file mode 100644 index 76975ee5c..000000000 --- a/libre/texlive-bin/texmf.cnf +++ /dev/null @@ -1,724 +0,0 @@ -% 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 diff --git a/libre/texlive-core-libre/PKGBUILD b/libre/texlive-core-libre/PKGBUILD index dfd68b3db..03a2f994e 100644 --- a/libre/texlive-core-libre/PKGBUILD +++ b/libre/texlive-core-libre/PKGBUILD @@ -4,13 +4,13 @@ pkgname=texlive-core-libre _pkgname=texlive-core -pkgver=2013.30962 +pkgver=2013.31589 _revnr=${pkgver#2013.} -pkgrel=2 +pkgrel=1 pkgdesc="TeX Live core distribution, without nonfree add-on packages (Parabola rebranded)" license=('GPL') arch=(any) -depends=('texlive-bin-libre') +depends=('texlive-bin-libre' 'perl') optdepends=( 'ruby: for old ConTeXT MkII and epspdf' 'tk: for texdoctk' @@ -43,7 +43,7 @@ backup=(etc/texmf/web2c/texmf.cnf \ etc/texmf/web2c/mktex.cnf \ etc/texmf/xdvi/XDvi) -md5sums=('cc2e2edd31b530d792460976c3ce940b' +md5sums=('80c7fa3db1b468f9043c6acdd941a526' '306ab28bb9b070fc3e40d86d28ea7e8e' 'd5a3f442ec3b7aa1518170f64f9d006b' '393a4bf67adc7ca5df2b386759d1a637') diff --git a/libre/texlive-fontsextra-libre/PKGBUILD b/libre/texlive-fontsextra-libre/PKGBUILD index 024cf8e65..816556575 100644 --- a/libre/texlive-fontsextra-libre/PKGBUILD +++ b/libre/texlive-fontsextra-libre/PKGBUILD @@ -4,7 +4,7 @@ pkgname=texlive-fontsextra-libre _pkgname=texlive-fontsextra -pkgver=2013.30955 +pkgver=2013.31570 _revnr=${pkgver#2013.} pkgrel=1 pkgdesc="TeX Live - all sorts of extra fonts, without nonfree add-on packages" @@ -20,8 +20,8 @@ source=("ftp://ftp.archlinux.org/other/texlive/$_pkgname-$pkgver-src.zip" "$_pkg options=('!emptydirs') options=(!strip) install=texlive.install -md5sums=('9e10d4fb01d87179bfd8e184e1be9dd7' - '2135455716c1e7356ce6a9c213827904') +md5sums=('3f519371dd2e22e5b32daa461b89aea2' + 'f489cc5f762dcdbe6acb11624de7e138') build() { cd "$srcdir" diff --git a/libre/texlive-fontsextra-libre/texlive-fontsextra.maps b/libre/texlive-fontsextra-libre/texlive-fontsextra.maps index 067ebb982..852afce52 100644 --- a/libre/texlive-fontsextra-libre/texlive-fontsextra.maps +++ b/libre/texlive-fontsextra-libre/texlive-fontsextra.maps @@ -62,14 +62,15 @@ Map dstroke.map Map dutchcal.map Map epigrafica.map Map esvect.map +Map fbb.map Map fdsymbol.map Map fge.map -Map fi4.map Map foekfont.map Map fonetika.map Map fourier-utopia-expert.map Map fourier.map Map frcursive.map +Map gentium-type1.map Map gfsartemisia.map Map gfsbodoni.map Map gfscomplutum.map @@ -88,9 +89,9 @@ Map libertine.map Map linearA.map Map mathabx.map Map mdbch.map +Map mdgreek.map Map mdput.map Map mdsymbol.map -Map mdugm.map Map newpx.map Map newtx.map Map ocrb.map @@ -122,6 +123,7 @@ Map yv2.map Map yv3.map Map yvo.map Map yvt.map +Map zi4.map MixedMap allrunes.map MixedMap bbold.map MixedMap cmll.map diff --git a/libre/texlive-latexextra-libre/PKGBUILD b/libre/texlive-latexextra-libre/PKGBUILD index 4d26a0884..8e1f0998f 100644 --- a/libre/texlive-latexextra-libre/PKGBUILD +++ b/libre/texlive-latexextra-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 189264 2013-07-01 21:36:52Z remy $ +# $Id: PKGBUILD 193983 2013-09-09 12:57:56Z remy $ # Maintainer: Firmicus # Maintainer: Rémy Oudompheng # Maintainer (Parabola): Michał Masłowski @@ -6,16 +6,19 @@ pkgname=texlive-latexextra-libre _pkgname=texlive-latexextra -pkgver=2013.30964 +pkgver=2013.31588 _revnr=${pkgver#2013.} pkgrel=1 pkgdesc="TeX Live - Large collection of add-on packages for LaTeX, without nonfree add-on packages" license=('GPL') arch=(any) -depends=('texlive-core') +depends=('texlive-core' + 'perl-file-which' # for pdfannotextractor + ) optdepends=( + 'texlive-genericextra: to use the calctab package' 'texlive-pictures: to use the package overpic' - 'jdk7-openjdk: for use by ppower4' + 'jdk7-openjdk: to use pdfannotextractor' ) provides=('texlive-latexextra') replaces=('texlive-latexextra') @@ -26,7 +29,7 @@ source=("ftp://ftp.archlinux.org/other/texlive/$_pkgname-$pkgver-src.zip" "$_pkg options=('!emptydirs') options=(!strip) install=texlive.install -md5sums=('64386dfe9fc40f2d4edc7c653d716bdf' +md5sums=('7c9755ca4e104089fab816d805990f6f' '9e4825f47dac663dd62c4bfa67899e84') build() { -- cgit v1.2.3-54-g00ecf