aboutsummaryrefslogtreecommitdiff
path: root/development/clojure
diff options
context:
space:
mode:
authorKenneth Chan <kenneth.t.chan@gmail.com>2022-04-05 20:58:21 +0700
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2022-04-09 15:45:46 +0700
commitad81e3eb8027b17b87559a76297d107b7bb20598 (patch)
treec4056a7ecf282aac4dd3249105c05f907ef7d3cd /development/clojure
parente00e2f8ac79deb0f434d72a98c996a7b1532e901 (diff)
development/clojure: Added (Dynamic programming language for JVM).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'development/clojure')
-rw-r--r--development/clojure/README17
-rw-r--r--development/clojure/clojure.SlackBuild96
-rw-r--r--development/clojure/clojure.info10
-rw-r--r--development/clojure/slack-desc19
4 files changed, 142 insertions, 0 deletions
diff --git a/development/clojure/README b/development/clojure/README
new file mode 100644
index 000000000000..445fcc40760e
--- /dev/null
+++ b/development/clojure/README
@@ -0,0 +1,17 @@
+clojure (Dynamic programming language for the JVM)
+
+Clojure is a dynamic, general-purpose programming language that targets
+the Java Virtual Machine. It is designed to be a general-purpose
+language, combining the approachability and interactive development of
+a scripting language with efficient and robust infrastructure for
+multithreaded programming. Clojure is a compiled language – Every
+feature supported by Clojure is supported at runtime. Clojure provides
+easy access to the Java frameworks, with optional type hints and type
+inference, to ensure that calls to Java can avoid reflection.
+
+Clojure is a dialect of Lisp, and shares with Lisp the code-as-data
+philosophy and a powerful macro system. CLojure is predominantly a
+functional programming language, and features a rich set of immutable,
+persistent data structures. When mutable state is needed, Clojure
+offers a software transactional memory system that ensures clean,
+correct, multithreaded designs.
diff --git a/development/clojure/clojure.SlackBuild b/development/clojure/clojure.SlackBuild
new file mode 100644
index 000000000000..83997043de38
--- /dev/null
+++ b/development/clojure/clojure.SlackBuild
@@ -0,0 +1,96 @@
+#!/bin/bash
+
+# Slackware build script for clojure
+#
+# Copyright (c) 2021 Kenneth Chan
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy of
+# this software and associated documentation files (the "Software"), to deal in
+# the Software without restriction, including without limitation the rights to
+# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+# the Software, and to permit persons to whom the Software is furnished to do so,
+# subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in all
+# copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PRGNAM=clojure
+VERSION=${VERSION:-1.11.0.1100}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
+
+SRCNAM=$PRGNAM-tools
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=x86 ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+LIBDIRSUFFIX=""
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $SRCNAM
+
+tar xvzf $CWD/$SRCNAM-$VERSION.tar.gz
+cd $SRCNAM
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+install -Dm644 deps.edn $PKG/usr/lib${LIBDIRSUFFIX}/deps.edn
+install -Dm644 example-deps.edn $PKG/usr/lib${LIBDIRSUFFIX}/example-deps.edn
+install -Dm644 exec.jar $PKG/usr/lib${LIBDIRSUFFIX}/libexec/exec.jar
+install -Dm644 $SRCNAM-$VERSION.jar $PKG/usr/lib${LIBDIRSUFFIX}/libexec/$SRCNAM-$VERSION.jar
+
+sed -i -e 's@PREFIX@/usr/lib'"${LIBDIRSUFFIX}"'@g' clojure
+sed -i -e 's@BINDIR@/usr/bin/@g' clj
+install -Dm755 clojure $PKG/usr/bin/clojure
+install -Dm755 clj $PKG/usr/bin/clj
+
+mkdir -p $PKG/usr/man/man1
+gzip -9c < clojure.1 > $PKG/usr/man/man1/clojure.1.gz
+gzip -9c < clj.1 > $PKG/usr/man/man1/clj.1.gz
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+cat install.sh > $PKG/usr/doc/$PRGNAM-$VERSION/install.sh
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/development/clojure/clojure.info b/development/clojure/clojure.info
new file mode 100644
index 000000000000..71ca40cac7b9
--- /dev/null
+++ b/development/clojure/clojure.info
@@ -0,0 +1,10 @@
+PRGNAM="clojure"
+VERSION="1.11.0.1100"
+HOMEPAGE="https://clojure.org"
+DOWNLOAD="https://download.clojure.org/install/clojure-tools-1.11.0.1100.tar.gz"
+MD5SUM="eadbedd7578ec943d6ebe1daf3dc5e9a"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="zulu-openjdk8 rlwrap"
+MAINTAINER="Kenneth Chan"
+EMAIL="kenneth.t.chan@gmail.com"
diff --git a/development/clojure/slack-desc b/development/clojure/slack-desc
new file mode 100644
index 000000000000..49afb1e5172a
--- /dev/null
+++ b/development/clojure/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+clojure: clojure (Dynamic programming language for JVM)
+clojure:
+clojure: Clojure is a dynamic programming language that targets the Java
+clojure: Virtual Machine. It is desgined to be a general-purpose language,
+clojure: combining the approachability and interactive development of a
+clojure: scripting language with an efficient and robust infrastructure for
+clojure: multithreaded programming.
+clojure:
+clojure: Clojure is a dialect of Lisp, and shares with Lisp the code-as-data
+clojure: philosophy and a powerful macro system.
+clojure: Homepage: https://clojure.org/