aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ham/hamlib/README51
-rw-r--r--ham/hamlib/hamlib.SlackBuild79
-rw-r--r--ham/hamlib/hamlib.info6
3 files changed, 106 insertions, 30 deletions
diff --git a/ham/hamlib/README b/ham/hamlib/README
index 14400c7dc13e..0635ab10a2c7 100644
--- a/ham/hamlib/README
+++ b/ham/hamlib/README
@@ -1,13 +1,46 @@
Hamlib (the ham radio control libraries)
-Hamlib is a development effort to provide a consistent C language
-interface for programmers wanting to incorporate radio controls
-in their programs. Network daemons for radio and rotator control,
-along with language bindings for C++, Perl, Python, and TCL are
-included.
+Hamlib is a development effort to provide a consistent C language interface
+for programmers wanting to incorporate radio controls in their programs.
+Network daemons for radio and rotator control, along with language bindings
+for C++, Perl, Python, TCL, and Lua are included.
-Although this release of Hamlib includes an Lua language binding,
-the lua package from slackbuilds.org is 5.1.5 but 5.2 or newer
-is required. Consequently, the Lua binding has not been included
-in this Slackbuild script.
+Optional language bindings
+To build either or all of the Perl, Python, or TCL bindings, pass one of or in
+combination:
+
+ PL_MOD=yes
+ PY_MOD=yes
+ TCL_MOD=yes
+
+to the build script.
+
+Optional Lua binding
+
+Also available are bindings for Lua 5.2 or later. As Lua 5.2 and Lua 5.3 are
+now available from SlackBuilds.org, once the preferred version of Lua is
+installed, the Lua bindings may be built by passing:
+
+ LUA_VER=5.2
+ LUA_VER=5.3
+
+to the build script.
+
+Optional Python3 binding (experimental)
+
+For those wishing to experiment with Python3 and Hamlib, bindings may be built
+(exclusive of the normal Python2 bindings) after Python3 is installed
+(available from SlackBuilds.org) by passing:
+
+ PY3_MOD=yes
+
+to the build script. This option overrides PY_MOD.
+
+While Python allows for version 2 and 3 modules to be installed concurrently,
+and while there does exist a method for doing so with Hamlib, that has not
+been included in this build script at this time. If concurrent installation
+is needed, please contact the build script maintainer.
+
+All four bindings (either of the Python and either of the Lua versions) may be
+passed to the script to enable all bindings at build time.
diff --git a/ham/hamlib/hamlib.SlackBuild b/ham/hamlib/hamlib.SlackBuild
index f11d2e943dfe..30570fe41819 100644
--- a/ham/hamlib/hamlib.SlackBuild
+++ b/ham/hamlib/hamlib.SlackBuild
@@ -3,7 +3,7 @@
# SlackBuild script for Hamlib
# Copyright 2010 Howard Pepper <h_pepper {at} bellsouth [dot] net>
-# Copyright 2017 Nate Bargmann <n0nb@arrl.net>
+# Copyright 2017,2018 Nate Bargmann <n0nb@arrl.net>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=hamlib
-VERSION=${VERSION:-3.1}
+VERSION=${VERSION:-3.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -60,9 +60,6 @@ fi
set -e
-PYV=`python -c "import sys;t='{v[0]}.{v[1]}'.format(v=list(sys.version_info[:2]));sys.stdout.write(t)";`
-TCLV=`echo 'puts $tcl_version;exit 0' | tclsh`
-
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
@@ -76,19 +73,54 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+if [ x"${PL_MOD}" = x"yes" ]; then
+ PERL_BINDING="--with-perl-binding"
+else
+ PERL_BINDING=""
+fi
+
+if { [ x"${PY_MOD}" = x"yes" ] || [ x"${PY3_MOD}" = x"yes" ]; } then
+ PYTHON_BINDING="--with-python-binding"
+ PYV=`python -c "import sys;t='{v[0]}.{v[1]}'.format(v=list(sys.version_info[:2]));sys.stdout.write(t)";`
+else
+ PYTHON_BINDING=""
+fi
+
+if [ x"${PY3_MOD}" = x"yes" ]; then
+ export PYTHON=`which python3`
+ PYV=`python3 -c "import sys;t='{v[0]}.{v[1]}'.format(v=list(sys.version_info[:2]));sys.stdout.write(t)";`
+fi
+
+if [ x"${TCL_MOD}" = x"yes" ]; then
+ TCL_BINDING="--with-tcl-binding"
+ TCLV=`echo 'puts $tcl_version;exit 0' | tclsh`
+else
+ TCL_BINDING=""
+fi
+
+# Only if Lua >= 5.2 installed
+if { [ x"${LUA_VER}" = x"5.2" ] || [ x"${LUA_VER}" = x"5.3" ]; } then
+ LUA_BINDING="--with-lua-binding"
+ export LUA_INCLUDE="-I/usr/include/lua${LUA_VER}"
+ export LUA="/usr/bin/lua${LUA_VER}"
+else
+ LUA_BINDING=""
+fi
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
- --docdir=/usr/doc/$PRGNAM-$VERSION/manual \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
--infodir=/usr/info \
--disable-static \
--disable-html-matrix \
- --with-perl-binding \
- --with-python-binding \
- --with-tcl-binding
+ $PERL_BINDING \
+ $PYTHON_BINDING \
+ $TCL_BINDING \
+ $LUA_BINDING
# Fix linking when --libdir=/usr/lib64
sed -i \
@@ -107,23 +139,34 @@ for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; r
rm -f $PKG/usr/info/dir
gzip -9 $PKG/usr/info/*.info*
-find $PKG -name perllocal.pod \
+if [ x"${PL_MOD}" = x"yes" ]; then
+ find $PKG -name perllocal.pod \
-o -name ".packlist" \
-o -name "*.bs" \
| xargs rm -f
+fi
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/
cp -a $DOCFILES $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/scripts
-mv $PKG/usr/lib${LIBDIRSUFFIX}/perl5/perltest.pl $PKG/usr/doc/$PRGNAM-$VERSION/scripts
-rm -f $PKG/usr/lib${LIBDIRSUFFIX}/python${PYV}/site-packages/Hamlib.pyo
-cp -a bindings/pytest.py $PKG/usr/doc/$PRGNAM-$VERSION/scripts
-rm -f $PKG/usr/lib${LIBDIRSUFFIX}/tcl/Hamlib/hamlibtcl.la
-mv $PKG/usr/lib${LIBDIRSUFFIX}/tcl $PKG/usr/lib${LIBDIRSUFFIX}/tcl${TCLV}
-cp -a bindings/tcltest.tcl $PKG/usr/doc/$PRGNAM-$VERSION/scripts
-chmod 644 $PKG/usr/doc/$PRGNAM-$VERSION/scripts/*
+if [ x"${PY_MOD}" = x"yes" ]; then
+ rm -f $PKG/usr/lib${LIBDIRSUFFIX}/python${PYV}/site-packages/_Hamlib.la
+ rm -f $PKG/usr/lib${LIBDIRSUFFIX}/python${PYV}/site-packages/Hamlib.pyo
+fi
+
+if [ x"${PY3_MOD}" = x"yes" ]; then
+ rm -f $PKG/usr/lib${LIBDIRSUFFIX}/python${PYV}/site-packages/_Hamlib.la
+ rm -f $PKG/usr/lib${LIBDIRSUFFIX}/python${PYV}/site-packages/__pycache__/Hamlib.cpython-36.opt-1.pyc
+fi
+
+if [ x"${TCL_MOD}" = x"yes" ]; then
+ rm -f $PKG/usr/lib${LIBDIRSUFFIX}/tcl${TCLV}/Hamlib/hamlibtcl.la
+fi
+
+if { [ x"${LUA_VER}" = x"5.2" ] || [ x"${LUA_VER}" = x"5.3" ]; } then
+ rm -f $PKG/usr/lib${LIBDIRSUFFIX}/lua/${LUA_VER}/Hamliblua.la
+fi
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/ham/hamlib/hamlib.info b/ham/hamlib/hamlib.info
index 68de7f615b0e..10ef415b31a4 100644
--- a/ham/hamlib/hamlib.info
+++ b/ham/hamlib/hamlib.info
@@ -1,8 +1,8 @@
PRGNAM="hamlib"
-VERSION="3.1"
+VERSION="3.2"
HOMEPAGE="http://www.hamlib.org"
-DOWNLOAD="https://sourceforge.net/projects/hamlib/files/hamlib/3.1/hamlib-3.1.tar.gz"
-MD5SUM="01aaf7dd84468a2fd492bf373f51bc4b"
+DOWNLOAD="https://sourceforge.net/projects/hamlib/files/hamlib/3.2/hamlib-3.2.tar.gz"
+MD5SUM="986fe89df6d43f00b9a5ddf939dc9ca1"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""