summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-astronomy')
-rw-r--r--sci-astronomy/predict/predict-2.2.3-r2.ebuild208
1 files changed, 208 insertions, 0 deletions
diff --git a/sci-astronomy/predict/predict-2.2.3-r2.ebuild b/sci-astronomy/predict/predict-2.2.3-r2.ebuild
new file mode 100644
index 000000000000..03d338bf53a8
--- /dev/null
+++ b/sci-astronomy/predict/predict-2.2.3-r2.ebuild
@@ -0,0 +1,208 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools toolchain-funcs
+
+DEB_P=${PN}_${PV}
+DEB_PR=3.1
+
+DESCRIPTION="Satellite tracking and orbital prediction"
+HOMEPAGE="http://www.qsl.net/kd2bd/predict.html"
+SRC_URI="mirror://debian/pool/main/${PN:0:1}/${PN}/${DEB_P}.orig.tar.gz
+ mirror://debian/pool/main/${PN:0:1}/${PN}/${DEB_P}-${DEB_PR}.diff.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="doc gtk nls xforms xplanet"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="sys-libs/ncurses:0=
+ gtk? ( x11-libs/gtk+:2 )
+ xforms? ( x11-libs/xforms )
+ xplanet? ( x11-misc/xplanet[truetype] )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/"${P}"-earthtrack.patch
+ "${WORKDIR}"/${DEB_P}-${DEB_PR}.diff
+)
+
+src_prepare() {
+ default
+ sed -i -e 's:predict\(.*\)/:predict-2.2.3\1/:g' \
+ debian/patches/140*.diff || die
+ sed -i -e 's:\(a\|b\)/:predict-2.2.3/:g' \
+ debian/patches/180*.diff || die
+ eapply debian/patches/.
+ # fix some further array out of bounds errors
+ sed -i -e "s/satname\[ 26/satname\[ 25/g" \
+ clients/gsat-1.1.0/src/db.c || die
+ sed -i -e "s/satname\[ 26/satname\[ 25/g" \
+ clients/gsat-1.1.0/src/comms.c || die
+ sed -i -e "s/output\[20\];/output[21];/" \
+ utils/moontracker/moontracker.c || die
+ # fix underlinking
+ sed -i -e '/AC_OUTPUT/i \
+AC_SEARCH_LIBS([cos], [m]) \
+AC_SEARCH_LIBS([dlclose], [dl])' \
+ -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' \
+ -e 's/configure.in/configure.ac/' \
+ clients/gsat-1.1.0/configure.in || die
+
+ mv clients/gsat-1.1.0/configure.{in,ac} || die
+
+ sed -i \
+ -e 's/gcc/$(CC) $(CFLAGS) $(LDFLAGS)/g' \
+ -e 's/-o/-lm -o/g' \
+ clients/gsat-1.1.0/plugins/Makefile || die
+
+ # fix the hardcoded /usr/lib
+ PRED_DIR=/usr/$(get_libdir)/${PN}
+ sed -i -e "s:/usr/lib/${PN}:${EPREFIX}/${PRED_DIR}:g" \
+ predict.h vocalizer/vocalizer.c || die
+
+ sed -i -e "s:/usr/lib:${EPREFIX}/usr/$(get_libdir):g" \
+ clients/gsat-1.1.0/src/globals.h || die
+
+ if use gtk; then
+ cd "${S}"/clients/gsat-* || die
+ rm config.sub missing || die
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ if use gtk; then
+ cd "${S}"/clients/gsat-* || die
+ econf $(use_enable nls)
+ fi
+}
+
+src_compile() {
+ # predict uses a ncurses based configure script
+ # this is what it does if it was bash based ;)
+
+ local COMPILER="$(tc-getCC) ${CFLAGS} ${LDFLAGS}"
+ einfo "Compiling predict"
+ ${COMPILER} predict.c -lm -lncurses -lpthread \
+ -o predict || die "failed predict"
+ einfo "Compiling predict-g1yyh"
+ ${COMPILER} predict-g1yyh.c -lm -lncurses -lpthread -lmenu \
+ -o predict-g1yyh || die "failed predict-g1yyh"
+ einfo "Compiling vocalizer"
+ ${COMPILER} vocalizer/vocalizer.c \
+ -o vocalizer/vocalizer || die "failed vocalizer"
+ local c
+ for c in fodtrack geosat moontracker; do
+ einfo "Compiling ${c}"
+ cd "${S}"/utils/${c}* || die
+ ${COMPILER} ${c}.c -lm -o ${c} || die "failed ${c}"
+ done
+ einfo "Compiling kep_reload"
+ cd "${S}"/clients/kep_reload
+ ${COMPILER} kep_reload.c \
+ -o kep_reload || die "failed kep_reload"
+
+ if use xplanet; then
+ einfo "Compiling earthtrack"
+ cd "${S}"/clients/earthtrack || die
+ ${COMPILER} earthtrack.c \
+ -lm -o earthtrack || die "failed earthtrack"
+ fi
+
+ if use xforms; then
+ einfo "Compiling map"
+ cd "${S}"/clients/map || die
+ ${COMPILER} map.c map_cb.c map_main.c -lforms -lX11 -lm \
+ -o map || die "Failed compiling map"
+ fi
+
+ if use gtk; then
+ einfo "Compiling gsat"
+ cd "${S}"/clients/gsat-* || die
+ emake
+ emake -C plugins
+ fi
+}
+
+src_install() {
+ dobin predict predict-g1yyh "${FILESDIR}"/predict-update
+ dodoc CHANGES CREDITS HISTORY README NEWS debian/README.Debian
+ doman docs/man/predict.1
+ newman debian/predict-g1yyh.man predict-g1yyh.1
+ insinto ${PRED_DIR}/default
+ doins default/predict.*
+ use doc && dodoc docs/pdf/predict.pdf
+
+ cd "${S}"/vocalizer || die
+ dobin vocalizer
+ dosym ../../../bin/vocalizer ${PRED_DIR}/vocalizer/vocalizer
+ insinto ${PRED_DIR}/vocalizer
+ doins *.wav
+
+ cd "${S}"/clients/kep_reload || die
+ dobin kep_reload
+ newdoc README README.kep_reload
+ doman "${S}"/debian/kep_reload.1
+
+ cd "${S}"/utils/fodtrack-0.1 || die
+ insinto /etc
+ doins fodtrack.conf
+ doman fodtrack.conf.5 fodtrack.8
+ dobin fodtrack
+ newdoc README README.fodtrack
+
+ cd "${S}"/utils/geosat || die
+ dobin geosat
+ newdoc README README.geosa
+ newman "${S}"/debian/geosat.man geosat.1
+
+ cd "${S}"/utils/moontracker || die
+ dobin moontracker
+ newdoc README README.moontracker
+ doman "${S}"/debian/moontracker.1
+
+ if use xplanet; then
+ cd "${S}"/clients/earthtrack || die
+ ln -s earthtrack earthtrack2 || die
+ dobin earthtrack earthtrack2
+ newdoc README README.earthtrack
+ doman "${S}"/debian/earthtrack.1
+ fi
+
+ if use xforms; then
+ cd "${S}"/clients/map || die
+ newbin map predict-map
+ newdoc CHANGES CHANGES.map
+ newdoc README README.map
+ doman "${S}"/debian/predict-map.1
+ fi
+
+ if use gtk; then
+ cd "${S}"/clients/gsat-* || die
+ exeinto /usr/$(get_libdir)/gsat/plugins
+ doexe plugins/radio_{FT736,FT847,ICR10,print,test} plugins/rotor_{print,pictrack}
+ dobin src/gsat
+ doman "${S}"/debian/gsat.1
+ local i
+ for i in AUTHORS ChangeLog NEWS README Plugin_API; do
+ newdoc ${i} ${i}.gsat
+ done
+ fi
+}
+
+pkg_postinst() {
+ einfo "To use the clients the following line will"
+ einfo "have to be inserted into /etc/services"
+ einfo "predict 1210/udp"
+ einfo "The port can be changed to anything"
+ einfo "the name predict is what is needed to work"
+ einfo "after that is set run 'predict -s'"
+ einfo ""
+ einfo "To get list of satellites run 'predict-update'"
+ einfo "before running predict this script will also update"
+ einfo "the list of satellites so they are up to date."
+}