summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO24
-rw-r--r--PKGBUILD77
-rw-r--r--cl-iterate.install76
-rw-r--r--run-tests.lisp7
4 files changed, 73 insertions, 111 deletions
diff --git a/.SRCINFO b/.SRCINFO
index c434ed68da14..dbbf8f2363a8 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,16 +1,18 @@
pkgbase = cl-iterate
- pkgdesc = iterate is an iteration construct for Common Lisp.
- pkgver = 20140713_darcs
+ pkgdesc = An iteration construct for Common Lisp
+ pkgver = 1.5.3.r12.gea90d81
pkgrel = 1
- url = http://common-lisp.net/project/iterate/
- install = cl-iterate.install
- arch = i686
- arch = x86_64
- license = BSD
+ url = https://iterate.common-lisp.dev
+ arch = any
+ license = MIT
+ checkdepends = sbcl
+ checkdepends = cl-rt
+ makedepends = git
depends = common-lisp
- options = docs
- source = http://beta.quicklisp.org/archive/iterate/2014-07-13/iterate-20140713-darcs.tgz
- md5sums = f3d8e9eb6a9241bb1303c9708a37ade4
+ depends = cl-asdf
+ source = cl-iterate::git+https://gitlab.common-lisp.net/iterate/iterate.git#commit=ea90d8188703cd4c66123a39d4d604f2bb03e96d
+ source = run-tests.lisp
+ b2sums = SKIP
+ b2sums = 19e7e1dae5906b3f9a2fa1ca4a5ca8f2c678bf2a681a07910f1cd9340628886a4de05c44f0d5b1a12436cae39a7fe1b11a64e4d83ea3c0ea62532fa58a67db13
pkgname = cl-iterate
-
diff --git a/PKGBUILD b/PKGBUILD
index 8739999afa83..0d811715b311 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,35 +1,64 @@
-# Maintainer: mrshpot <mrshpot at gmail dot com>
-# Contributor: veox <box 55 [shift-two] mail [dot] ru>
+# Maintainer: George Rawlinson <grawlinson@archlinux.org>
pkgname=cl-iterate
-_clname=iterate # used in CL scope, not package scope
-pkgver=20140713_darcs
-_pkgver=20140713-darcs
+_pkgname="${pkgname#cl-}"
+pkgver=1.5.3.r12.gea90d81
pkgrel=1
-pkgdesc="iterate is an iteration construct for Common Lisp."
-arch=('i686' 'x86_64')
-url="http://common-lisp.net/project/iterate/"
-license=('BSD')
-depends=('common-lisp')
-install=cl-iterate.install
-source=("http://beta.quicklisp.org/archive/iterate/2014-07-13/iterate-20140713-darcs.tgz")
-md5sums=('f3d8e9eb6a9241bb1303c9708a37ade4')
-options=(docs)
+pkgdesc='An iteration construct for Common Lisp'
+arch=('any')
+url='https://iterate.common-lisp.dev'
+license=('MIT')
+depends=('common-lisp' 'cl-asdf')
+makedepends=('git')
+checkdepends=('sbcl' 'cl-rt')
+_commit='ea90d8188703cd4c66123a39d4d604f2bb03e96d'
+source=(
+ "$pkgname::git+https://gitlab.common-lisp.net/iterate/iterate.git#commit=$_commit"
+ 'run-tests.lisp'
+)
+b2sums=('SKIP'
+ '19e7e1dae5906b3f9a2fa1ca4a5ca8f2c678bf2a681a07910f1cd9340628886a4de05c44f0d5b1a12436cae39a7fe1b11a64e4d83ea3c0ea62532fa58a67db13')
+pkgver() {
+ cd "$pkgname"
+
+ git describe --tags | sed -e 's/^v//' -e 's/-/.r/' -e 's/-/./g'
+}
+
+prepare() {
+ cd "$pkgname"
+
+ sed -n '/;;; Copyright/,/;; SOFTWARE/p' iterate-test.lisp | \
+ sed -r 's/^:::?//' > LICENSE-TESTS
+
+ sed -n '/ITERATE, An Iteration Macro/,/;;; SOFTWARE/p' iterate.lisp | \
+ sed -r 's/^:::?//' > LICENSE
+}
+
+check() {
+ cd "$pkgname"
+
+ sbcl --script ../run-tests.lisp
+}
package() {
+ cd "$pkgname"
+
+ # create directories
+ install -vd \
+ "$pkgdir/usr/share/common-lisp/source/$_pkgname" \
+ "$pkgdir/usr/share/common-lisp/systems"
- install -d ${pkgdir}/usr/share/common-lisp/source/${_clname}
- install -d ${pkgdir}/usr/share/common-lisp/systems
- install -d ${pkgdir}/usr/share/licenses/${pkgname}
+ # library
+ install -vDm644 -t "$pkgdir/usr/share/common-lisp/source/$_pkgname" ./*.{lisp,asd}
- install -m 644 -t ${pkgdir}/usr/share/common-lisp/source/${_clname} \
- ${srcdir}/${_clname}-${_pkgver}/*.lisp
- install -m 644 -t ${pkgdir}/usr/share/common-lisp/source/${_clname} \
- ${srcdir}/${_clname}-${_pkgver}/*.asd
+ pushd "$pkgdir/usr/share/common-lisp/systems"
+ ln -s "../source/$_pkgname/$_pkgname.asd" .
+ popd
- cd ${pkgdir}/usr/share/common-lisp/systems
- ln -s ../source/${_clname}/${_clname}.asd .
+ # documentation
+ install -vDm644 -t "$pkgdir/usr/share/doc/$pkgname" README.md
- # TODO: docs (SPEC/README)
+ # license
+ install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE*
}
diff --git a/cl-iterate.install b/cl-iterate.install
deleted file mode 100644
index bb835f784761..000000000000
--- a/cl-iterate.install
+++ /dev/null
@@ -1,76 +0,0 @@
-# arg 1: the new package version
-
-_pkgname=iterate
-_compile_log=n
-_lisp=()
-
-if pacman -Qq clisp-new-clx &>/dev/null ||
- pacman -Qq clisp-gtk2 &>/dev/null ||
- pacman -Qq clisp-new-clx &>/dev/null; then
- _lisp=(${_lisp[@]} 'clisp')
-fi
-if pacman -Qq sbcl &>/dev/null; then
- _lisp=(${_lisp[@]} 'sbcl')
-fi
-if pacman -Qq cmucl &> /dev/null; then
- _lisp=(${_lisp[@]} 'cmucl')
-fi
-
-_compile_sbcl() {
- sbcl --noinform --no-sysinit --no-userinit \
- --eval "(require :asdf)" \
- --eval "(pushnew #p\"/usr/share/common-lisp/systems/\" asdf:*central-registry* :test #'equal)" \
- --eval "(asdf:operate 'asdf:compile-op '${_pkgname})" \
- --eval "(quit)" &> ${_compile_log_file} || return 1
-}
-_compile_clisp() {
- clisp --silent -norc -x \
- "(load #p\"/usr/share/common-lisp/source/asdf/asdf\")
- (pushnew #p\"/usr/share/common-lisp/systems/\" asdf:*central-registry* :test #'equal)
- (asdf:operate 'asdf:compile-op '${_pkgname})
- (quit)" &> ${_compile_log_file} || return 1
-}
-_compile_cmucl() {
- cmucl -quiet -nositeinit -noinit -eval \
- "(load #p\"/usr/share/common-lisp/source/asdf/asdf\")
- (pushnew #p\"/usr/share/common-lisp/systems/\" asdf:*central-registry* :test #'equal)
- (asdf:operate 'asdf:compile-op '${_pkgname})
- (quit)" &> ${_compile_log_file} || return 1
-}
-
-post_install() {
- for _lispiter in ${_lisp[@]}; do
- echo "---> Compiling lisp files using ${_lispiter} <---"
- if [ $_compile_log = 'y' ]; then
- _compile_log_file=/tmp/${_pkgname}_${_lispiter}.log
- else
- _compile_log_file=/dev/null
- fi
- _compile_${_lispiter}
- echo "---> Done compiling lisp files (using ${_lispiter}) <---"
- done
-
- cat << EOM
-
- To load this library, load asdf and then run the following lines
- (or their equivalent for your lisp of choice):
-
- (push #p"/usr/share/common-lisp/systems/" asdf:*central-registry*)
- (asdf:operate 'asdf:load-op '${_pkgname})
-EOM
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- rm -f /usr/share/common-lisp/source/${_pkgname}/{*.fas,*.fasl,*.lib,*.x86f}
-}
-
-op=$1
-shift
-
-$op $*
-
-# End of file
diff --git a/run-tests.lisp b/run-tests.lisp
new file mode 100644
index 000000000000..d568139ec713
--- /dev/null
+++ b/run-tests.lisp
@@ -0,0 +1,7 @@
+(require "asdf")
+
+(push (uiop/os:getcwd) asdf:*central-registry*)
+
+(asdf:load-system "iterate/tests")
+
+(uiop:quit (if (asdf:test-system "iterate") 0 1))