#!/bin/bash # # sdrangel-sdr.SlackBuild is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License as published by the Free Software # Foundation; either version 2 of the License, or any later version. # # sdrangel-sdr.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along with # this program; if not, write to the Free Software Foundation, Inc., 59 Temple # Place - Suite 330, Boston, MA 02111-1307, USA # # default settings PACKAGE="sdrangel" PACKAGE_EXT="gz" VERSION=${VERSION:=7.6.2} BUILD=${BUILD:=1} CM256CC_VERSION=1.1.0 SERIALDV_VERSION=1.1.4 MBELIB_VERSION=1.3.0 DSDCC_VERSION=1.9.3 CODEC2_VERSION=1.0.3 if [ -f ~/.slackbuildrc ]; then . ~/.slackbuildrc elif [ -f ../../runtime/slackbuildrc ]; then . ../../runtime/slackbuildrc fi check_required #============================================================================= # # NOAA satelite images. # # aptdec git clone https://github.com/srcejon/aptdec.git build_aptdec() { rm -rf $TMP/build mkdir -p $TMP/build cd $TMP/build git clone https://github.com/srcejon/aptdec.git cd aptdec patch --forward --strip=1 --input="$CWD/0001-Fix-GCC-A-may-be-used-uninitialized-warning.patch" mkdir build && cd build cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -Wno-dev \ -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \ -DCMAKE_INSTALL_PREFIX=/usr make make DESTDIR="$PKG" install cd .. mkdir -p $DOCS/aptdec cp -a *.md $DOCS/aptdec } #============================================================================= # # dab-cmdline library only build. build_dab() { rm -rf $TMP/build mkdir -p $TMP/build cd $TMP/build git clone https://github.com/JvanKatwijk/dab-cmdline.git cd dab-cmdline # Only build the library. cd library mkdir build && cd build cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -Wno-dev \ -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \ -DCMAKE_INSTALL_PREFIX=/usr make ${NUMJOBS} make DESTDIR="$PKG" install cd ../.. mkdir -p $DOCS/dab-cmdline cp -a AUTHORS LICENSE README.md $DOCS/dab-cmdline chmod 644 $DOCS/dab-cmdline/* } #============================================================================= # # cm256cc build_cm256cc() { SRC="cm256cc-$CM256CC_VERSION.tar.gz" URL="https://github.com/f4exb/cm256cc/archive/refs/tags/v$CM256CC_VERSION.tar.gz" get_source $SRC $URL unpack_source $SRC cm256cc-$CM256CC_VERSION mkdir build && cd build cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -Wno-dev \ -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \ -DCMAKE_INSTALL_PREFIX=/usr make ${NUMJOBS} make DESTDIR="$PKG" install cd .. mkdir -p $DOCS/cm256cc cp -a LICENSE README.md $DOCS/cm256cc } #============================================================================= # # SerialDV build_serialdv() { SRC="serialDV-$SERIALDV_VERSION.tar.gz" URL="https://github.com/f4exb/serialDV/archive/refs/tags/v$SERIALDV_VERSION.tar.gz" get_source $SRC $URL unpack_source $SRC serialDV-$SERIALDV_VERSION mkdir build && cd build cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -Wno-dev \ -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \ -DCMAKE_INSTALL_PREFIX=/usr make ${NUMJOBS} make DESTDIR="$PKG" install cd .. mkdir -p $DOCS/serialDV cp LICENSE Readme.md $DOCS/serialDV } #============================================================================= # # mbelib build_mbelib() { SRC="mbelib-$MBELIB_VERSION.tar.gz" URL="https://github.com/szechyjs/mbelib/archive/refs/tags/debian/$MBELIB_VERSION.tar.gz" get_source $SRC $URL unpack_source $SRC mbelib-debian-$MBELIB_VERSION mkdir build && cd build cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -Wno-dev \ -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \ -DCMAKE_INSTALL_PREFIX=/usr make ${NUMJOBS} make DESTDIR="$PKG" install cd .. mkdir -p $DOCS/mbelib cp -a CHANGELOG COPYRIGHT README.md $DOCS/mbelib rm -f $PKG/usr/lib64/libmbe.a } #============================================================================= # # dsdcc build_dsdcc() { SRC="dsdcc-$DSDCC_VERSION.tar.gz" URL="https://github.com/f4exb/dsdcc/archive/refs/tags/v$DSDCC_VERSION.tar.gz" get_source $SRC $URL unpack_source $SRC dsdcc-$DSDCC_VERSION mkdir build && cd build cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -Wno-dev \ -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \ -DUSE_MBELIB=ON \ -DLIBMBE_INCLUDE_DIR=$PKG/usr/include \ -DLIBMBE_LIBRARY=$PKG/usr/lib${LIBDIRSUFFIX}/libmbe.so \ -DLIBSERIALDV_INCLUDE_DIR=$PKG/usr/include/serialdv \ -DLIBSERIALDV_LIBRARY=$PKG/usr/lib${LIBDIRSUFFIX}/libserialdv.so \ -DCMAKE_INSTALL_PREFIX=/usr make ${NUMJOBS} make DESTDIR="$PKG" install cd .. mkdir -p $DOCS/dsdcc cp -a CHANGELOG Readme.md $DOCS/dsdcc } #============================================================================= # # codec2 build_codec2() { SRC="codec2-$CODEC2_VERSION.tar.gz" URL="https://github.com/drowe67/codec2/archive/refs/tags/v$CODEC2_VERSION.tar.gz" get_source $SRC $URL unpack_source $SRC codec2-$CODEC2_VERSION mkdir build && cd build cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -Wno-dev \ -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \ -DCMAKE_INSTALL_PREFIX=/usr make ${NUMJOBS} make DESTDIR="$PKG" install cd .. mkdir -p $DOCS/codec2 cp -p COPYING README* $DOCS/codec2 } #============================================================================= # # sgp4 build_sgp4() { rm -rf $TMP/build mkdir -p $TMP/build cd $TMP/build git clone https://github.com/dnwrnr/sgp4.git cd sgp4 mkdir build && cd build cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -Wno-dev \ -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \ -DCMAKE_INSTALL_PREFIX=/usr make ${NUMJOBS} make DESTDIR="$PKG" install mkdir -p $PKG/usr/lib64/ mv $PKG/usr/lib/libsgp4s.so $PKG/usr/lib64/ rm -rf $PKG/usr/lib cd .. mkdir -p $DOCS/sgp4 cp -a LICENSE README.md $DOCS/sgp4 } #============================================================================= # # LibSigMF build_libsigmf() { rm -rf $TMP/build mkdir -p $TMP/build cd $TMP/build git clone https://github.com/f4exb/libsigmf.git cd libsigmf git checkout "new-namespaces" mkdir build && cd build cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -Wno-dev \ -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \ -DCMAKE_INSTALL_PREFIX=/usr make ${NUMJOBS} make DESTDIR="$PKG" install cd .. mkdir -p $DOCS/libsigmf cp -a ABOUT CONTRIBUTING.md LICENSE NOTICE README.md $DOCS/libsigmf } #============================================================================= # # Main program build_aptdec build_dab build_cm256cc build_serialdv build_mbelib ## dsdcc needs serialdv and mbelib build_dsdcc build_codec2 build_sgp4 build_libsigmf SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT" URL="https://github.com/f4exb/sdrangel/archive/refs/tags/v${VERSION}.tar.$PACKAGE_EXT" get_source $SRC $URL unpack_source $SRC $PACKAGE-$VERSION mkdir build && cd build cmake \ -DCMAKE_INSTALL_PREFIX=/usr \ -Wno-dev \ -DBUILD_SERVER=OFF \ -DAPT_DIR=$PKG/usr \ -DCM256CC_DIR=$PKG/usr \ -DSERIALDV_DIR=$PKG/usr \ -DMBE_DIR=$PKG/usr \ -DDSDCC_DIR=$PKG/usr \ -DDAB_DIR=$PKG/usr \ -DCODEC2_DIR=$PKG/usr \ -DSGP4_DIR=$PKG/usr \ -DLIBSIGMF_DIR=$PKG/usr \ -DLIB_SUFFIX=${LIBDIRSUFFIX} \ -DCMAKE_BUILD_TYPE=Release .. make $NUMJOBS make install DESTDIR=$PKG cd .. # Add docs to the proper location mkdir -p $DOCS cp -a CHANGELOG IssueTemplate.md LICENSE Readme.md $DOCS # Remove unneeded rm -rf $PKG/usr/share/sdrangel fixup_package $PKG # Clean up the extra stuff: set +u if [ "$1" = "--cleanup" ]; then rm -rf $TMP/$PACKAGE-$VERSION rm -rf $PKG fi