summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO15
-rw-r--r--PKGBUILD46
-rw-r--r--clean.install11
-rw-r--r--clenv.sh28
-rw-r--r--clm-wrapper.sh20
5 files changed, 53 insertions, 67 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 54866d57dd58..5abacb18005f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,20 +1,19 @@
pkgbase = clean-lang-bin
pkgdesc = Provides the general purpose, pure and lazy functional programming language Clean.
- pkgver = 3.0
- pkgrel = 5
+ pkgver = 3.1
+ pkgrel = 1
url = https://clean.cs.ru.nl
+ install = clean.install
arch = x86_64
license = custom
depends = bash
provides = clean-lang
conflicts = clean-lang
replaces = clean-lang
- source = https://ftp.cs.ru.nl/Clean/Clean30/linux/clean3.0_64.tar.gz
- source = clm-wrapper.sh
+ options = !strip
+ source = https://ftp.cs.ru.nl/Clean/Clean31/linux/clean3.1_64.tar.gz
source = clenv.sh
- sha256sums = c71024cc6d27df357fed771a75f5d43e584369c3ee963bfd6d5cffe9af731ca8
- sha256sums = 70d90c34c0c9716b59cb843a7a617c986f56810a70342be3d4c2389436317c82
- sha256sums = c190821ac6c72d159c9713fba3140b886d5d1716021bf8e28b676418774d0915
+ sha256sums = ffb03e65798246215a8c217cdbaf33fa29ae5b110cc54b144e989bb9537b3fbb
+ sha256sums = 152704ef3e39b5aa8944af762568e034a51d72b192beb42f7da2fb1e5ceac502
pkgname = clean-lang-bin
-
diff --git a/PKGBUILD b/PKGBUILD
index 8be7d5b59791..19e966c9a4b1 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,8 +1,8 @@
# Maintainer: Hans-Nikolai Viessmann <hans AT viess.mn>
pkgname=clean-lang-bin
-pkgver=3.0
-pkgrel=5
+pkgver=3.1
+pkgrel=1
pkgdesc="Provides the general purpose, pure and lazy functional programming language Clean."
arch=('x86_64')
url="https://clean.cs.ru.nl"
@@ -11,49 +11,33 @@ depends=('bash')
conflicts=('clean-lang')
provides=('clean-lang')
replaces=('clean-lang')
-source=("https://ftp.cs.ru.nl/Clean/Clean30/linux/clean${pkgver}_64.tar.gz"
- 'clm-wrapper.sh'
+options=('!strip')
+install=clean.install
+source=("https://ftp.cs.ru.nl/Clean/Clean31/linux/clean${pkgver}_64.tar.gz"
'clenv.sh')
-sha256sums=('c71024cc6d27df357fed771a75f5d43e584369c3ee963bfd6d5cffe9af731ca8'
- '70d90c34c0c9716b59cb843a7a617c986f56810a70342be3d4c2389436317c82'
- 'c190821ac6c72d159c9713fba3140b886d5d1716021bf8e28b676418774d0915')
+sha256sums=('ffb03e65798246215a8c217cdbaf33fa29ae5b110cc54b144e989bb9537b3fbb'
+ '152704ef3e39b5aa8944af762568e034a51d72b192beb42f7da2fb1e5ceac502')
package() {
cd "${pkgname/-lang-bin/}"
- local _install_dir="${pkgdir}/usr"
- local _install_bin_dir="${_install_dir}/libexec/${pkgname}"
- local _install_man_dir="${_install_dir}/share/man"
- local _install_exe_dir="${_install_dir}/libexec/${pkgname}/exe"
+ local _install_dir="${pkgdir}/opt/${pkgname}"
# install the main files (does a bit of compiling as well...)
- make INSTALL_DIR="$_install_dir" INSTALL_BIN_DIR="$_install_bin_dir" \
- INSTALL_EXE_DIR="$_install_exe_dir" INSTALL_MAN_DIR="$_install_man_dir" install
+ make INSTALL_DIR="$_install_dir" install
# resolve permissions on binaries
- chmod go+r "${_install_bin_dir}/BatchBuild" "${_install_bin_dir}/clm" \
- "${_install_bin_dir}/htoclean" "${_install_exe_dir}/cg" \
- "${_install_exe_dir}/cocl" "${_install_exe_dir}/linker"
+ chmod go+r "${_install_dir}/bin/clm" "${_install_dir}/lib/exe/cocl_itask" \
+ "${_install_dir}/bin/htoclean" "${_install_dir}/lib/exe/cg" \
+ "${_install_dir}/lib/exe/cocl" "${_install_dir}/lib/exe/linker"
- # add missing binaries
- install -Dm755 "bin/cpm" "${_install_bin_dir}/cpm"
- install -Dm755 "bin/patch_bin" "${_install_bin_dir}/patch_bin"
+ # add missing binarie
+ install -Dm755 "bin/cpm" "${_install_dir}/bin/cpm"
+ install -Dm755 "bin/patch_bin" "${_install_dir}/bin/patch_bin"
# add wrapper(s) and symlinks
install -d "$pkgdir/usr/bin"
- install -Dm755 "$srcdir/clm-wrapper.sh" "$pkgdir/usr/bin/clm"
install -Dm755 "$srcdir/clenv.sh" "$pkgdir/usr/bin/clenv"
- ln -s "/usr/libexec/${pkgname}/htoclean" "$pkgdir/usr/bin/htoclean"
- ln -s "/usr/libexec/${pkgname}/BatchBuild" "$pkgdir/usr/bin/BatchBuild"
- ln -s "/usr/libexec/${pkgname}/cpm" "$pkgdir/usr/bin/cpm"
- ln -s "/usr/libexec/${pkgname}/patch_bin" "$pkgdir/usr/bin/patch_bin"
-
- # remove empty dir
- rmdir "$pkgdir/usr/Temp"
- rmdir "$pkgdir/usr/lib/Generics/Clean System Files"
- rmdir "$pkgdir/usr/lib/MersenneTwister/Clean System Files"
- rmdir "$pkgdir/usr/lib/Dynamics/Clean System Files"
- rmdir "$pkgdir/usr/lib/StdLib/Clean System Files"
# install license
install -Dm644 CleanLicenseConditions.txt \
diff --git a/clean.install b/clean.install
new file mode 100644
index 000000000000..2962205de78e
--- /dev/null
+++ b/clean.install
@@ -0,0 +1,11 @@
+post_install() {
+ echo " "
+ echo " Clean has been installed, but is **not** usable!"
+ echo " It needs to be setup locally, call \`clenv init'"
+ echo " to setup Clean for your account."
+ echo " "
+}
+
+post_upgrade() {
+ post_install
+}
diff --git a/clenv.sh b/clenv.sh
index 080a2b81928f..4627cde88edd 100644
--- a/clenv.sh
+++ b/clenv.sh
@@ -4,7 +4,7 @@
# StdEnv files of the Clean distribution and places them
# in the users home directory (under .local)
-_install_dir="$HOME/.local/lib"
+_install_dir="$HOME/.local/clean"
usage () {
echo "USAGE: clenv [cmd]" >&2
@@ -19,33 +19,45 @@ fi
case $1 in
status)
- if [ ! -d "$_install_dir/StdEnv" ]; then
+ if [ ! -d "$_install_dir/lib/StdEnv" ]; then
echo "not initilised"
else
echo "initilised"
fi
;;
init)
- if [ -d "$_install_dir/StdEnv" ]; then
+ if [ -d "$_install_dir/lib/StdEnv" ]; then
echo -n "already initilised, overwrite? [Y/n]: "
read -r yn
if [ "$yn" != "${yn#[Yy]}" ] ;then
- rm -rf "$_install_dir/StdEnv"
- cp -r /usr/lib/StdEnv "$_install_dir"
+ rm -rf "$_install_dir"
+ cp -r /opt/clean-lang-bin "$_install_dir"
echo "done"
fi
else
[ -d "$_install_dir" ] || mkdir -p "$_install_dir"
- cp -r /usr/lib/StdEnv "$_install_dir"
+ cp -r /opt/clean-lang-bin "$_install_dir"
echo "done"
fi
+ $_install_dir/bin/patch_bin "$_install_dir/bin/clm" CLEANPATH "$_install_dir/lib/StdEnv"
+ $_install_dir/bin/patch_bin "$_install_dir/bin/clm" CLEANLIB "$_install_dir/lib/exe"
+ $_install_dir/bin/patch_bin "$_install_dir/bin/clm" CLEANILIB "$_install_dir/lib"
+ echo " "
+ echo "Remember to setup your environment paths as follows:"
+ echo "export CLEAN_HOME=$_install_dir"
+ echo "export PATH=\$PATH:\${CLEAN_HOME}/bin"
+ echo "export MANPATH=\$MANPATH:\${CLEAN_HOME}/man"
+ echo " "
;;
deinit)
- if [ ! -d "$_install_dir/StdEnv" ]; then
+ if [ ! -d "$_install_dir/lib/StdEnv" ]; then
echo "not initilised, nothing to do :("
else
- rm -rf "$_install_dir/StdEnv"
+ rm -rf "$_install_dir"
echo "done"
+ echo " "
+ echo "Remember to remove the environment paths for Clean."
+ echo " "
fi
;;
*)
diff --git a/clm-wrapper.sh b/clm-wrapper.sh
deleted file mode 100644
index ff77d4826f5e..000000000000
--- a/clm-wrapper.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env bash
-
-# default paths
-CLEANPATH=/usr/lib/StdEnv
-CLEANLIB=/usr/libexec/clean-lang-bin/exe
-
-if [ -d "$HOME/.local/lib/StdEnv" ]; then
- CLEANPATH="$HOME/.local/lib/StdEnv"
-elif [ -d "$PWD/StdEnv" ]; then
- echo "Notice: using CWD install of StdEnv"
- CLEANPATH="$PWD/StdEnv"
-else
- echo "Warning: you are calling clm using the system install of StdEnv," >&2
- echo " this cause compilation to fail. Use the clenv tool create" >&2
- echo " a user specific checkout of StdEnv." >&2
-fi
-
-export CLEANPATH
-export CLEANLIB
-exec /usr/libexec/clean-lang-bin/clm "$@"