-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmake-package.sh
55 lines (44 loc) · 1.36 KB
/
make-package.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#! /bin/bash
# Author: Francis J. Wright <https://sites.google.com/site/fjwcentaur>
# Time-stamp: <2024-12-16 15:26:10 franc>
# Construct a REDUCE IDE package archive.
# Must be run from the REDUCE IDE directory.
# Usage: make-package.sh version
if [ -z $1 ]; then
echo 'Version required as argument.'
exit 1
fi
dir=reduce-ide-$1
file=packages/$dir.tar
if [ -e $file ]; then
read -p "Package version $1 already exists. Overwrite it? (y/n) " -n 1 input
echo
[[ ${input@L} == 'y' ]] || exit
fi
echo 'Version is' $1
# Update reduce-ide.info if necessary:
if [ reduce-ide.info -ot reduce-ide.texinfo ]; then
makeinfo reduce-ide.texinfo
fi
pkg1='(define-package "reduce-ide" "'
pkg2="\" \"REDUCE Integrated Development Environment\" '((emacs \"29\")))"
# Construct the reduce-ide-<version> directory:
mkdir $dir
cd $dir
echo 'Website: https://reduce-algebra.sourceforge.io/reduce-ide/
Author: Francis J. Wright <https://sites.google.com/site/fjwcentaur>
' > README
cat ../packages/reduce-ide-readme.txt >> README
ln -s ../reduce-delim.el
ln -s ../reduce-extra.el
ln -s ../reduce-font-lock.el
ln -s ../reduce-mode.el
ln -s ../reduce-run.el
ln -s ../dir dir
ln -s ../reduce-ide.info
echo $pkg1$1$pkg2 > reduce-ide-pkg.el
cd ..
# Archive the reduce-ide-<version> package to the package directory:
tar --create --dereference --file=$file $dir
# Tidy up:
rm -rf $dir