From 7a65a910b77ad191d69881098c47f9b0c852d92e Mon Sep 17 00:00:00 2001 From: root Date: Tue, 13 Aug 2013 01:33:19 -0700 Subject: Tue Aug 13 01:31:08 PDT 2013 --- community/adesklets/PKGBUILD | 53 +++++++++++++++++++++ community/adesklets/adesklets.install | 31 ++++++++++++ community/adesklets/fontconfig-2.4.patch | 50 ++++++++++++++++++++ community/adesklets/posix_signal.patch | 81 ++++++++++++++++++++++++++++++++ 4 files changed, 215 insertions(+) create mode 100644 community/adesklets/PKGBUILD create mode 100644 community/adesklets/adesklets.install create mode 100644 community/adesklets/fontconfig-2.4.patch create mode 100644 community/adesklets/posix_signal.patch (limited to 'community/adesklets') diff --git a/community/adesklets/PKGBUILD b/community/adesklets/PKGBUILD new file mode 100644 index 000000000..607ac3847 --- /dev/null +++ b/community/adesklets/PKGBUILD @@ -0,0 +1,53 @@ +# $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 new file mode 100644 index 000000000..cae17e499 --- /dev/null +++ b/community/adesklets/adesklets.install @@ -0,0 +1,31 @@ +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 new file mode 100644 index 000000000..e7a1ad5ca --- /dev/null +++ b/community/adesklets/fontconfig-2.4.patch @@ -0,0 +1,50 @@ +--- 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 new file mode 100644 index 000000000..90b3e8a12 --- /dev/null +++ b/community/adesklets/posix_signal.patch @@ -0,0 +1,81 @@ +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 + -- cgit v1.2.3-54-g00ecf