summaryrefslogtreecommitdiff
path: root/community/adesklets
diff options
context:
space:
mode:
Diffstat (limited to 'community/adesklets')
-rw-r--r--community/adesklets/PKGBUILD53
-rw-r--r--community/adesklets/adesklets.install31
-rw-r--r--community/adesklets/fontconfig-2.4.patch50
-rw-r--r--community/adesklets/posix_signal.patch81
4 files changed, 215 insertions, 0 deletions
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 <dragonlord@aur.archlinux.org>
+# 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 <fontconfig/fontconfig.h>
+ , FcInit(),
+ AC_MSG_RESULT([yes])
+-AC_DEFINE(HAVE_FONTCONFIG_FONTCONFIG_H,1,[Define to 1 if you have the <fontconfig/fontconfig.h> header file.]),
++AC_DEFINE(HAVE_FONTCONFIG_FONTCONFIG_H,1,[Define to 1 if you have the <fontconfig/fontconfig.h> header file.])
++
++AC_MSG_CHECKING([For fontconfig FcFini()])
++AC_TRY_LINK(
++#include <fontconfig/fontconfig.h>
++, 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 <syfou@users.sourceforge.net>
+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 <syfou@users.sourceforge.net>
+-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 <syfou@users.sourceforge.net> 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 <Python.h>
+@@ -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
+