From 3edc42216fee4bb8237aa128510c32ceb77dfd8f Mon Sep 17 00:00:00 2001 From: root Date: Fri, 28 Sep 2012 01:39:44 -0700 Subject: Fri Sep 28 01:39:41 PDT 2012 --- .../0001-compatibility-with-ghc-7.6.1.patch | 55 ++++++++++++++++++++++ community-staging/haskell-glib/PKGBUILD | 48 +++++++++++++++++++ community-staging/haskell-glib/gtk2hs-glib.install | 18 +++++++ 3 files changed, 121 insertions(+) create mode 100644 community-staging/haskell-glib/0001-compatibility-with-ghc-7.6.1.patch create mode 100644 community-staging/haskell-glib/PKGBUILD create mode 100644 community-staging/haskell-glib/gtk2hs-glib.install (limited to 'community-staging/haskell-glib') 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 +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 + +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) +} -- cgit v1.2.3-54-g00ecf