summaryrefslogtreecommitdiffstats
path: root/source/d/clisp/source.download
diff options
context:
space:
mode:
Diffstat (limited to 'source/d/clisp/source.download')
-rwxr-xr-xsource/d/clisp/source.download61
1 files changed, 47 insertions, 14 deletions
diff --git a/source/d/clisp/source.download b/source/d/clisp/source.download
index 06bc8c9b2..94658b7f2 100755
--- a/source/d/clisp/source.download
+++ b/source/d/clisp/source.download
@@ -1,14 +1,47 @@
-# Pull the latest clisp sources from the upstream mercurial repository:
-rm -rf clisp-2.49
-hg clone http://hg.code.sf.net/p/clisp/clisp clisp-2.49
-# Determine date and changeset for tarball labeling:
-DATE="$(date -d "$( cd clisp-2.49 ; hg parent | grep date: | cut -b 14- | cut -f 1 -d +)" +"%Y%m%d")"
-CHANGESET="$( cd clisp-2.49 ; hg parent | grep changeset: | cut -f 3 -d :)"
-# Don't package .hg:
-rm -fr clisp-2.49/.hg*
-# Create tarball:
-mv clisp-2.49 clisp-2.49.${DATE}.${CHANGESET}
-tar cf clisp-2.49.${DATE}.${CHANGESET}.tar clisp-2.49.${DATE}.${CHANGESET}
-plzip -9 -n 6 clisp-2.49.${DATE}.${CHANGESET}.tar
-# Clean up:
-rm -rf clisp-2.49.${DATE}.${CHANGESET}
+#!/bin/sh
+
+# Copyright 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# Pull a stable branch + patches
+BRANCH=${1:-master}
+
+# Clear download area:
+rm -rf clisp
+
+# Clone repository:
+git clone https://gitlab.com/gnu-clisp/clisp
+
+# checkout $BRANCH:
+( cd clisp
+ git checkout $BRANCH || exit 1
+)
+
+HEADISAT="$( cd clisp && git log -1 --format=%h )"
+DATE="$( cd clisp && git log -1 --format=%ad --date=format:%Y%m%d )"
+# Cleanup. We're not packing up the whole git repo.
+( cd clisp && find . -type d -name ".git*" -exec rm -rf {} \; 2> /dev/null )
+mv clisp clisp-2.49_${DATE}_${HEADISAT}
+tar cf clisp-2.49_${DATE}_${HEADISAT}.tar clisp-2.49_${DATE}_${HEADISAT}
+xz -9 -f clisp-2.49_${DATE}_${HEADISAT}.tar
+rm -rf clisp-2.49_${DATE}_${HEADISAT}
+echo
+echo "clisp branch $BRANCH with HEAD at $HEADISAT packaged as clisp-2.49_${DATE}_${HEADISAT}.tar.xz"
+echo