Hi, I'm sending this email because some persons may prefer an attached file. So enjoy it!
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
