Skip to content

Commit

Permalink
sci-astronomy/esomidas: Revision bump for libtirpc support, bug 631378
Browse files Browse the repository at this point in the history
Closes: https://bugs.gentoo.org/631378
Package-Manager: Portage-2.3.10, Repoman-2.3.3
  • Loading branch information
akhuettel committed Sep 25, 2017
1 parent b39de21 commit d16f45d
Show file tree
Hide file tree
Showing 3 changed files with 185 additions and 0 deletions.
149 changes: 149 additions & 0 deletions sci-astronomy/esomidas/esomidas-17.02-r1.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6

inherit eutils 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
}

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
}
33 changes: 33 additions & 0 deletions sci-astronomy/esomidas/files/esomidas-17.02-rpc.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
diff -ruN 17FEBpl1.2.orig/lib/makefile 17FEBpl1.2/lib/makefile
--- 17FEBpl1.2.orig/lib/makefile 2017-04-26 11:44:02.000000000 +0200
+++ 17FEBpl1.2/lib/makefile 2017-09-25 21:08:51.359595847 +0200
@@ -58,7 +58,7 @@
## Ubuntu version 13.10 on
##
## $(SH_CMD) -o $(LIBMIDAS_SH) *.o $(DEV_NULL)
- $(SH_CMD) -o $(LIBMIDAS_SH) *.o -lm $(F2C_LIBS) $(DEV_NULL)
+ $(SH_CMD) -o $(LIBMIDAS_SH) *.o -lm $(F2C_LIBS) $(RPC_LIB) $(DEV_NULL)

# for the AltLinux distro we had to change the line above to:
# $(SH_CMD) -o $(LIBMIDAS_SH) *.o -lm $(DEV_NULL)
diff -ruN 17FEBpl1.2.orig/libsrc/os/unix/makefile 17FEBpl1.2/libsrc/os/unix/makefile
--- 17FEBpl1.2.orig/libsrc/os/unix/makefile 2017-04-26 11:44:32.000000000 +0200
+++ 17FEBpl1.2/libsrc/os/unix/makefile 2017-09-25 21:08:48.747583816 +0200
@@ -19,7 +19,7 @@

include ../../../local/default.mk

-CFLAGS += $(C_OPT) $(DEBUG) $(MEM_OPT) $(SH_OPT) $(OSSYS) $(SYS) -I$(INC)
+CFLAGS += $(C_OPT) $(DEBUG) $(MEM_OPT) $(SH_OPT) $(OSSYS) $(SYS) -I$(INC) $(RPC_OPT)

LIB = $(LIBDIR)/libos.a

@@ -43,7 +43,7 @@
# testos.exe only for checking the linking process, in cannot be executed...

testos.exe: testos.o $(LIB)
- $(LDCC) testos.o $(LIB) $(MLIB) $(SLIB) -o $@
+ $(LDCC) testos.o $(LIB) $(MLIB) $(SLIB) $(RPC_LIB) -o $@
$(STRIP) $@

$(LIB): $(OBJ)
3 changes: 3 additions & 0 deletions sci-astronomy/esomidas/metadata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,7 @@
surface photometry, image sharpening and decomposition, statistics and
various others.
</longdescription>
<use>
<flag name="libtirpc">Build against <pkg>net-libs/libtirpc</pkg> for RPC support</flag>
</use>
</pkgmetadata>

0 comments on commit d16f45d

Please sign in to comment.