aboutsummaryrefslogtreecommitdiff
path: root/development/cc65
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2021-03-19 16:35:08 -0400
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2021-03-20 11:00:51 +0700
commit795e0585d123a810c1cbb09d9cff1ab6b7f7ee95 (patch)
tree2c4dc5fe6807d38d2a4e1badb84b9c19c467b5a1 /development/cc65
parent893ddd953cc943f386f350b74c59c6753e0df5e1 (diff)
development/cc65: Updated for version 2.19.
Signed-off-by: B. Watson <yalhcru@gmail.com> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'development/cc65')
-rw-r--r--development/cc65/README8
-rw-r--r--development/cc65/cc65.SlackBuild50
-rw-r--r--development/cc65/cc65.info8
3 files changed, 50 insertions, 16 deletions
diff --git a/development/cc65/README b/development/cc65/README
index c8b6e17a0dac..25ceacb8dda7 100644
--- a/development/cc65/README
+++ b/development/cc65/README
@@ -8,6 +8,8 @@ Supported targets include the Atari 400/800/XL/XE computers, the Atari
Lynx console, the Commodore PET/VIC/64/16/Plus4, the Nintendo NES, the
Apple II, and others.
-The cc65 project rarely does releases. This build is updated once or
-twice a year, to the latest git. If you need a specific version of
-cc65, see README_SBo.txt.
+Full documentation can be found in: /usr/doc/cc65-2.19/index.html
+
+If desired, the docs can also be built as info files. To do this, set
+INFO=yes in the script's environment. The script author makes no
+guarantee as to the usability of the info documentation.
diff --git a/development/cc65/cc65.SlackBuild b/development/cc65/cc65.SlackBuild
index b14c8fd4d172..5eebba6ac2f4 100644
--- a/development/cc65/cc65.SlackBuild
+++ b/development/cc65/cc65.SlackBuild
@@ -6,6 +6,15 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+# 20210317 bkw:
+# - Update for 2.19 release. Script also tested with 2.18 and
+# 2.17_20180906, in case someone needs one of those versions.
+# - Use 'make html' to build the docs instead of pregenerating (tested
+# on -current too).
+# - Add optional info docs to package.
+# - Use USER_CFLAGS instead of sed to support SLKCFLAGS.
+# - TODO: look at making good man pages for at least the executables.
+
# 20180907 bkw:
# - Update for 2.17_20180906, git commit b6ccd4d.
# - Rename git2targz.sh => git2tarxz.sh.
@@ -34,7 +43,7 @@
# reason. Source is created from a git checkout, see git2targz.sh.
PRGNAM=cc65
-VERSION=${VERSION:-2.17_20180906}
+VERSION=${VERSION:-2.19}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -67,21 +76,44 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT $PKG/usr/doc/$PRGNAM-$VERSION
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
+tar xvf $CWD/$PRGNAM-$VERSION.tar.?z
cd $PRGNAM-$VERSION
chown -R root:root .
find . -type f -print0 | xargs -0 chmod 644
find . -type d -print0 | xargs -0 chmod 755
-# external CFLAGS not honored
-sed -i "/^CFLAGS/s,-O[^ ]*,$SLKCFLAGS," src/Makefile
+# v2.19 binaries report themselves as v2.18. upstream fixed this in
+# git commit cffcbce60, I'll just sed it.
+[ "$VERSION" = "2.19" ] && sed -i '/#define VER_MINOR/s,18U,19U,' src/common/version.c
-PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
-make all PREFIX=/usr prefix=/usr LDFLAGS=-Wl,-s
-#make -C doc html # we use pre-generated HTML docs now
-make install PREFIX=$PKG/usr prefix=$PKG/usr htmldir=$PKGDOC samplesdir=$PKGDOC/samples
+# HTML docs are always created and installed. If the user really
+# wants to, the same docs can be installed as .info files. They're not
+# enabled by default because they include .info files with names like
+# "index", "coding", "using-make" and even "lynx". It's not obvious
+# they belong to cc65, when they're sitting in the same /usr/info
+# dir as all the other .info files. Plus, the internal links between
+# the documents don't work when converted to .info, whereas the HTML
+# ones do.
+INFO="${INFO:-no}"
-# binaries already stripped, no man pages
+PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
+make all PREFIX=/usr prefix=/usr LDFLAGS=-Wl,-s USER_CFLAGS="$SLKCFLAGS"
+make -C doc html
+[ "$INFO" = "yes" ] && make -C doc html info
+make install \
+ PREFIX=$PKG/usr prefix=$PKG/usr \
+ infodir=$PKG/usr/info htmldir=$PKGDOC \
+ samplesdir=$PKGDOC/samples
+
+# Binaries already stripped, no man pages, but there might be info
+# pages that needs to be gzipped. Note that the the info files can be
+# read with e.g. "info cc65", but won't show up in the info directory:
+# the generated docs lack sections and descriptions, so using
+# install-info in doinst.sh doesn't do anything. I also tried using
+# "linuxdoc -B txt --manpage" on the SGML doc sources, but the results
+# are ugly and have screwed-up formatting. If I want man pages, I'll
+# probably have to make them manually (pun intended).
+[ "$INFO" = "yes" ] && gzip $PKG/usr/info/*
mkdir -p $PKGDOC
cp -a README* LICENSE $PKGDOC
diff --git a/development/cc65/cc65.info b/development/cc65/cc65.info
index f9fcc4141684..1a7559108997 100644
--- a/development/cc65/cc65.info
+++ b/development/cc65/cc65.info
@@ -1,8 +1,8 @@
PRGNAM="cc65"
-VERSION="2.17_20180906"
-HOMEPAGE="https://cc65.github.io/cc65/"
-DOWNLOAD="https://slackware.uk/~urchlay/src/cc65-2.17_20180906.tar.xz"
-MD5SUM="d7dc9291c44251b018b271dd1c653bb5"
+VERSION="2.19"
+HOMEPAGE="https://cc65.github.io/"
+DOWNLOAD="https://github.com/cc65/cc65/archive/V2.19/cc65-2.19.tar.gz"
+MD5SUM="faff7b71a0212bb71faad1a271a83916"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""