blob: e39f3110cc143e314dbb809446ead64d8c8c3034 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
# 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
}
|