diff --git a/ham/hamlib/README b/ham/hamlib/README index 14400c7dc1..0635ab10a2 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 f11d2e943d..30570fe418 100644 --- a/ham/hamlib/hamlib.SlackBuild +++ b/ham/hamlib/hamlib.SlackBuild @@ -3,7 +3,7 @@ # SlackBuild script for Hamlib # Copyright 2010 Howard Pepper -# Copyright 2017 Nate Bargmann +# Copyright 2017,2018 Nate Bargmann # 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 68de7f615b..10ef415b31 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=""