summaryrefslogtreecommitdiff
path: root/community-staging/haskell-glib
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-09-28 01:39:44 -0700
committerroot <root@rshg054.dnsready.net>2012-09-28 01:39:44 -0700
commit3edc42216fee4bb8237aa128510c32ceb77dfd8f (patch)
tree1745e2804c7f439fdb27aefa6f4a6884f0442727 /community-staging/haskell-glib
parentbd8faf795abf6d91abdc52bc968829cc2efae4bb (diff)
Fri Sep 28 01:39:41 PDT 2012
Diffstat (limited to 'community-staging/haskell-glib')
-rw-r--r--community-staging/haskell-glib/0001-compatibility-with-ghc-7.6.1.patch55
-rw-r--r--community-staging/haskell-glib/PKGBUILD48
-rw-r--r--community-staging/haskell-glib/gtk2hs-glib.install18
3 files changed, 121 insertions, 0 deletions
diff --git a/community-staging/haskell-glib/0001-compatibility-with-ghc-7.6.1.patch b/community-staging/haskell-glib/0001-compatibility-with-ghc-7.6.1.patch
new file mode 100644
index 000000000..845beb2bd
--- /dev/null
+++ b/community-staging/haskell-glib/0001-compatibility-with-ghc-7.6.1.patch
@@ -0,0 +1,55 @@
+From 7e677b1c633d2b426fc956fcfa084a82ef6df861 Mon Sep 17 00:00:00 2001
+From: Thomas Dziedzic <gostrc@gmail.com>
+Date: Thu, 27 Sep 2012 04:48:10 -0700
+Subject: [PATCH] compatibility with ghc 7.6.1
+
+---
+ System/Glib/GObject.chs | 4 +---
+ System/Glib/MainLoop.chs | 4 ++--
+ 2 files changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/System/Glib/GObject.chs b/System/Glib/GObject.chs
+index 5f0fe5c..9925d2c 100644
+--- a/System/Glib/GObject.chs
++++ b/System/Glib/GObject.chs
+@@ -127,8 +127,6 @@ makeNewGObject (constr, objectUnref) generator = do
+
+ {#pointer GDestroyNotify as DestroyNotify#}
+
+-foreign import ccall "wrapper" mkDestroyNotifyPtr :: IO () -> IO DestroyNotify
+-
+ -- | This function wraps any newly created objects that derives from
+ -- GInitiallyUnowned also known as objects with
+ -- \"floating-references\". The object will be refSink (for glib
+@@ -225,4 +223,4 @@ isA obj gType =
+ -- at this point we would normally implement the notify signal handler;
+ -- I've moved this definition into the Object class of the gtk package
+ -- since there's a quite a bit of machinery missing here (generated signal
+--- register functions and the problem of recursive modules)
+\ No newline at end of file
++-- register functions and the problem of recursive modules)
+diff --git a/System/Glib/MainLoop.chs b/System/Glib/MainLoop.chs
+index 72fecb6..feb4c77 100644
+--- a/System/Glib/MainLoop.chs
++++ b/System/Glib/MainLoop.chs
+@@ -71,7 +71,7 @@ import System.Glib.GObject (DestroyNotify, destroyFunPtr)
+
+ {#pointer SourceFunc#}
+
+-foreign import ccall "wrapper" mkSourceFunc :: IO {#type gint#} -> IO SourceFunc
++foreign import ccall "wrapper" mkSourceFunc :: (Ptr () -> IO {#type gint#}) -> IO SourceFunc
+
+ type HandlerId = {#type guint#}
+
+@@ -79,7 +79,7 @@ type HandlerId = {#type guint#}
+ --
+ makeCallback :: IO {#type gint#} -> IO (SourceFunc, DestroyNotify)
+ makeCallback fun = do
+- funPtr <- mkSourceFunc fun
++ funPtr <- mkSourceFunc (const fun)
+ return (funPtr, destroyFunPtr)
+
+ -- | Sets a function to be called at regular intervals, with the default
+--
+1.7.12.1
+
diff --git a/community-staging/haskell-glib/PKGBUILD b/community-staging/haskell-glib/PKGBUILD
new file mode 100644
index 000000000..09b3b870d
--- /dev/null
+++ b/community-staging/haskell-glib/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 76695 2012-09-27 05:01:54Z tdziedzic $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=haskell-glib
+pkgver=0.12.3.1
+pkgrel=2
+pkgdesc="Binding to the GLIB library for Gtk2Hs."
+url="http://hackage.haskell.org/package/glib"
+license=('LGPL2.1')
+arch=('i686' 'x86_64')
+depends=('ghc=7.6.1-1' 'glib2')
+makedepends=("gtk2hs-buildtools")
+options=('strip')
+install=gtk2hs-glib.install
+provides=('gtk2hs-glib')
+replaces=('gtk2hs-glib')
+conflicts=('gtk2hs-glib')
+source=(http://hackage.haskell.org/packages/archive/glib/$pkgver/glib-$pkgver.tar.gz
+ '0001-compatibility-with-ghc-7.6.1.patch')
+md5sums=('f2899bd2a2850fe95479ddb63490eb04'
+ 'b00660b7102542942b0b9d84b59d1f3c')
+
+build() {
+ cd glib-$pkgver
+
+ patch -Np1 -i ${srcdir}/0001-compatibility-with-ghc-7.6.1.patch
+
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/haskell-glib \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ _ghcver=`pacman -Q ghc | cut -f2 -d\ | cut -f1 -d-`
+ depends=("ghc=${_ghcver}" "glib2")
+
+ cd ${srcdir}/glib-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/gtk2hs-glib/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/gtk2hs-glib/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/haskell-glib/html ${pkgdir}/usr/share/doc/ghc/html/libraries/glib
+ runhaskell Setup copy --destdir=${pkgdir}
+}
diff --git a/community-staging/haskell-glib/gtk2hs-glib.install b/community-staging/haskell-glib/gtk2hs-glib.install
new file mode 100644
index 000000000..24025f5d8
--- /dev/null
+++ b/community-staging/haskell-glib/gtk2hs-glib.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/gtk2hs-glib
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}