forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
sci-astronomy/predict: revbump (EAPI 4 -> 6)
Package-Manager: portage-2.2.28 Closes: gentoo#2183 Signed-off-by: David Seifert <[email protected]>
- Loading branch information
1 parent
7e12b59
commit 94a189f
Showing
1 changed file
with
208 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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." | ||
} |