Hi,
I'm sending this email because some persons may prefer an attached file.
So enjoy it!

Attachment: haskell.sh
Description: application/shellscript

>From f14ef7b2c777910200edf1a405826d070e92b66e Mon Sep 17 00:00:00 2001
From: Othmane Benkirane <[EMAIL PROTECTED]>
Date: Sat, 27 Sep 2008 15:05:09 +0000
Subject: [PATCH] + Haskell include script

---
 source/include/haskell.install |  129 ++++++++++++++++++++++++++++++++++++++++
 source/include/haskell.sh      |   99 ++++++++++++++++++++++++++++++
 2 files changed, 228 insertions(+), 0 deletions(-)
 create mode 100644 source/include/haskell.install
 create mode 100644 source/include/haskell.sh

diff --git a/source/include/haskell.install b/source/include/haskell.install
new file mode 100644
index 0000000..d033007
--- /dev/null
+++ b/source/include/haskell.install
@@ -0,0 +1,129 @@
+HS_DIR=/usr/share/haskell/$_F_haskell_register_dir
+
+post_install() {
+    ${HS_DIR}/register.sh
+}
+
+pre_remove() {
+  ${HS_DIR}/unregister.sh
+}
+pre_upgrade() {
+  pre_remove
+}
+
+post_upgrade() {
+  post_install
+}
+
+op=$1
+shift
+
+$op $*
diff --git a/source/include/haskell.sh b/source/include/haskell.sh
new file mode 100644
index 0000000..ad5cb78
--- /dev/null
+++ b/source/include/haskell.sh
@@ -0,0 +1,99 @@
+#!/bin/sh
+
+###
+# = haskell.sh(3)
+# Rhyhann/Othmane Benkirane <eo-at-rhyhann.net>
+#
+# == NAME
+# haskell.sh - for Frugalware
+#
+# == SYNOPSIS
+# Common schema for Haskell packages.
+#
+# == EXAMPLE
+# --------------------------------------------------
+# pkgname=haskell-x11
+# pkgver=1.4.2
+# pkgrel=1
+# pkgdesc="A Haskell binding to the X11 graphics library."
+# archs=('i686' 'x86_64')
+# url="http://hackage.haskell.org/cgi-bin/hackage-scripts/package/X11";
+# makedepends=('ghc')
+# groups=('xlib-extra')
+# sha1sums=('28f5a257b9f601538822f47c9731b6e20618fbcf')
+# _F_cd_path=X11-$pkgver
+# _F_haskell_name='X11'
+# Finclude haskell
+# --------------------------------------------------
+#
+# == OPTIONS
+# * _F_haskell_name (defaults to $pkgname): Haskell name in hackage.haskell.org
+# repository
+# * _F_haskell_install (defaults to src/haskell.install): Install file
+# * _F_haskell_ext (defaults to tar.gz): Package extension
+# * _F_haskell_sep (defaults to -): Package separation string
+# * _F_haskell_prefix: Package prefix (not package version prefix)
+# * _F_haskell_register_dir: Register directory
+# * _F_haskell_confopts: Configure options for Haskell package.
+###
+# General variables
+if [ -z "$_F_haskell_name" ]; then
+	_F_haskell_name=$pkgname
+fi
+if [ -z "$_F_haskell_install" ]; then
+	_F_haskell_install="src/haskell.install"
+fi
+# Download variables
+if [ -z "$_F_haskell_ext" ]; then
+	_F_haskell_ext=".tar.gz"
+fi
+if [ -z "$_F_haskell_sep" ]; then
+	_F_haskell_sep="-"
+fi
+if [ -z "$_F_haskell_prefix" ]; then
+	_F_haskell_prefix=""
+fi
+# Compile variables
+if [ -z "$_F_haskell_register_dir" ]; then
+	_F_haskell_register_dir=$pkgname
+fi
+if [ -z "$_F_haskell_confopts" ]; then
+	_F_haskell_confopts="--ghc --prefix=/usr --libsubdir=\$compiler/site-local/\$pkgid"
+fi
+
+###
+# == OVERWRITTEN VARIABLES
+# * install
+# * source
+# * up2date
+# * build()
+###
+
+install=$_F_haskell_install
+source=(http://hackage.haskell.org/packages/archive/${F_haskell_name}/${pkgver}/${_F_haskell_prefix}${_F_haskell_name}${_F_haskell_sep}${_F_haskell_ext})
+up2date="lynx -dump 'http://hackage.haskell.org/packages/archive/$_F_haskell_name/?C=M;O=A'|grep 'http:'|sed 's/.*\/\([0-9].*\)\/.*/\1/'|tail -n1"
+
+###
+# == PROVIDED FUNCTIONS
+# * Fbuild_haskell_regscripts: Builds & bopy register scripts
+# * Fbuild_haskell: Builds the software
+# * build(): just calls Fbuild_haskell
+###
+
+Fbuild_haskell_regscripts() {
+  cp $Fincdir/haskell.install $Fsrcdir
+  Fsed '$_F_haskell_register_dir' "$_F_haskell_register_dir" ${Fsrcdir%/src}/$_F_haskell_install
+  runhaskell Setup.lhs register --gen-script
+  runhaskell Setup.lhs unregister --gen-script
+  
+  Fexerel register.sh /usr/share/haskell/$_F_haskell_register_dir/register.sh
+  Fexerel unregister.sh usr/share/haskell/$_F_haskell_register_dir/unregister.sh
+}
+Fbuild_haskell() {
+  Fcd
+  Fpatchall
+  runhaskell Setup.lhs configure $_F_haskell_confopts || Fdie
+  runhaskell Setup.lhs build
+  Fbuild_haskell_regscripts
+  runhaskell Setup.lhs copy --destdir=$Fdestdir
+}
+build() {
+  Fbuild_haskell
+}
-- 
1.6.0.2

HS_DIR=/usr/share/haskell/$_F_haskell_register_dir

post_install() {
    ${HS_DIR}/register.sh
}

pre_remove() {
  ${HS_DIR}/unregister.sh
}
pre_upgrade() {
  pre_remove
}

post_upgrade() {
  post_install
}

op=$1
shift

$op $*
_______________________________________________
Frugalware-devel mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-devel

Reply via email to