You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/sci-astronomy/esomidas/esomidas-17.02-r1.ebuild

152 lines
4.3 KiB

# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit fortran-2 toolchain-funcs flag-o-matic
# MIDVERS is actually used by MIDAS configuration scripts
export MIDVERS="17FEBpl1.2"
DESCRIPTION="European Southern Observatory Munich Image Data Analysis System"
HOMEPAGE="http://www.eso.org/projects/esomidas/"
SRC_URI="ftp://ftp.eso.org/pub/midaspub/17FEB/sources/${MIDVERS}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0/8"
KEYWORDS="~amd64 ~x86"
IUSE="+libtirpc"
RDEPEND="
sys-libs/readline:0=
x11-libs/motif:0=
x11-libs/libX11:=
x11-libs/libXt:=
!libtirpc? ( sys-libs/glibc[rpc(-)] )
libtirpc? ( net-libs/libtirpc )
"
DEPEND="${RDEPEND}"
S="${WORKDIR}/${MIDVERS}"
PATCHES=(
"${FILESDIR}/${P}-output_to_stdout.patch"
"${FILESDIR}/${P}-gentoo-setup.patch"
"${FILESDIR}/${P}-rpc.patch"
)
src_prepare() {
default
# variables for all phases and midas internal build system
export MIDASHOME="${WORKDIR}"
export MID_HOME="${S}"
export MID_HOME0="/usr/$(get_libdir)/esomidas/${MIDVERS}"
export MID_INSTALL="${MID_HOME}/install/unix"
export MID_SYS="${MID_HOME}/system/unix/"
export MID_WORK="${MIDASHOME}/midwork"
# sadly this enforces static linking
if use libtirpc ; then
RPC_OPT="-I/usr/include/tirpc"
RPC_LIB="-ltirpc"
else
RPC_OPT=""
RPC_LIB=""
fi
# create a gentoo option file
mkdir ${MID_INSTALL}/systems/Gentoo || die
cat >> ${MID_INSTALL}/systems/Gentoo/make_options <<-EOF
CC=$(tc-getCC)
LDCC=$(tc-getCC)
F77=$(tc-getFC)
FC=$(tc-getFC)
LD77_CMD=$(tc-getFC)
AR=$(tc-getAR)
RANLIB=$(tc-getRANLIB)
F_OPT=
C_OPT=
E_OPT=$(use amd64 && echo -Z)
SYS=
SH_OPT=-fPIC
SH_CMD=${MIDASHOME}/${MIDVERS}/local/make_shared
GUI_OPT=-DPATH_MAX=1024
STRIP=echo
EDITFLAGS=-DVOID_SIGHANDLER -DHAVE_ALLOCA -DHAVE_ALLOCA_H -DHAVE_GETPW_DECLS -DHAVE_DIRENT_H -DHAVE_STRING_H -DLinux -DHAVE_UNISTD_H -DHAVE_STDLIB_H
EDITLIBS=-lreadline
UIMX=uimxR5
INSTALL_FLAG=auto
RPC_OPT=${RPC_OPT}
RPC_LIB=${RPC_LIB}
EOF
sed -e "s|gcc|$(tc-getCC) \${LDFLAGS}|" \
${MID_INSTALL}/systems/Linux/make_shared \
> ${MID_INSTALL}/systems/Gentoo/make_shared || die
sed -e 's|PC/Linux|Gentoo|' \
${MID_INSTALL}/systems/Linux/setup \
> ${MID_INSTALL}/systems/Gentoo/setup || die
# gentoo readline avoids exporting the xmalloc,xrealloc and xfree
append-cppflags -Dxrealloc=_rl_realloc -Dxmalloc=_rl_malloc -Dxfree=_rl_free
}
src_configure() {
${MID_INSTALL}/select all || die "packages selection failed"
${MID_INSTALL}/preinstall -a || die "preinstallation failed"
${MID_INSTALL}/install2 || die "configuration failed"
chmod 755 ${MID_HOME}/local/make_shared
append-fflags -fallow-argument-mismatch
append-cflags -fcommon
}
src_compile() {
CMND_YES=2 ${MID_INSTALL}/install3 -a || die "compilation failed"
[[ -x ${MID_HOME}/monit/midasgo.exe ]] || die "somewhere compilation failed"
emake -C monit syskeys.unix
${MID_SYS}/inmidas -m ${MID_WORK} -j "@ compile.all"
${MID_SYS}/inmidas -m ${MID_WORK} -j "@ ascii_bin no ; bye"
}
src_test() {
local test_dir="${WORKDIR}/test_tmp"
mkdir ${test_dir} && cd ${test_dir}
${MID_SYS}/inmidas -m ${MID_WORK} -j "@ vericopy ; @@ veriall -nodisplay ; bye" || die
test -f ${MID_WORK}/veriall_* || die "tests failed somewhere"
rm -rf ${test_dir}
}
src_install() {
yes | ${MID_SYS}/cleanmidas
find ${MID_HOME} \( \
-name "*.a" -o \
-name "makefile" -o \
-name "default.mk" -o \
-name "*.h" -o \
-name "*.inc" -o \
-name COPYING -o \
-name "*~" -o \
-name "*.mod" \) -delete
rm -rf ${MID_HOME}/libsrc/ftoc*
find ${MID_HOME} -type d -empty -delete
sed -e "s:^MIDVERS0=.*:MIDVERS0=${MIDVERS}:" \
-e "s:^MIDASHOME0=.*:MIDASHOME0=/usr/$(get_libdir)/esomidas:" \
-i ${MID_HOME}/system/unix/{inmidas,helpmidas,drs}
cd "${WORKDIR}"
dodir /usr/$(get_libdir)/esomidas
mv "${S}" "${ED}"${MID_HOME0}
chmod 0644 "${ED}"${MID_HOME0}/contrib/baches/*/*.fit \
"${ED}"${MID_HOME0}/contrib/baches/*/*.fmt \
"${ED}"${MID_HOME0}/contrib/baches/*/*.datorg \
"${ED}"${MID_HOME0}/contrib/baches/*/*.prg \
"${ED}"${MID_HOME0}/contrib/baches/*/*.README
find "${ED}"${MID_HOME0} -name \*.sh | xargs chmod 0755
chmod 0755 "${ED}"${MID_HOME0}/util/bench/brun
dosym ${MID_HOME0}/system/unix/inmidas /usr/bin/inmidas
dosym ${MID_HOME0}/system/unix/gomidas /usr/bin/gomidas
dosym ${MID_HOME0}/system/ftoc-new ${MID_HOME0}/system/good-ftoc
}