summaryrefslogtreecommitdiff
path: root/iraf/build.sh
blob: 43aa71ff0a75e376a71823e6d3ce3ed046690ffb (plain) (blame)
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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190

set -x

export IRAFARCH=''
export target=`uname`.32
export PLATFORM=
case "$target" in
Linux.32)
export IRAFARCH='linux'
export CFLAGS="-m32"
export LDFLAGS="-m32"
export PLATFORM='linux'
;;
Darwin.32)
export IRAFARCH='macosx'
export CFLAGS="-m32 -arch i386"
export LDFLAGS="-m32 -arch i386"
export PLATFORM='osx'
;;
*)
echo "UNSUPPORTED ARCHITECTURE (64-bit disabled, by the way...)"
exit 1
;;
esac


VARIANTS=http://ssb.stsci.edu/stripped/$PLATFORM/variants.tar.gz
curl -O $VARIANTS
tar xf variants.tar.gz -C $PREFIX
rm -f variants.tar.gz

mkdir -p $PREFIX/bin \
$PREFIX/share/man

for binary in $PREFIX/variants/common/bin/*.e
do
( cd $PREFIX/bin && ln -s -f $binary )
done

X11IRAF=http://ssb.stsci.edu/stripped/$PLATFORM/x11iraf.tar.gz
curl -O $X11IRAF
tar xf x11iraf.tar.gz
rm -f x11iraf.tar.gz

rsync -aH x11iraf/bin/ $PREFIX/bin
rsync -aH x11iraf/man/ $PREFIX/share/man
rm -rf x11iraf

export TERM=xterm
if [[ $PLATFORM == "osx" ]]; then
test -d /sw && export PATH=`purge_path /sw`
fi
export iraf=$PREFIX/iraf/

echo "Fixing c headers..."
find . -type f -name "*.h" | xargs sed -i -e "s|/iraf/iraf/|$iraf|"

echo "Fixing c sources..."
find . -type f -name "*.c" | xargs sed -i -e "s|/iraf/iraf/|$iraf|"

mkdir -p $iraf
rsync -aH `pwd`/ $iraf

cd $iraf

rm -rf bin_directory
rm -rf $iraf/vo/bin.generic/bin.macosx



( cd $PREFIX/bin && \
ln -s -f $iraf/unix/hlib/cl.sh cl && \
ln -s -f $iraf/unix/hlib/mkiraf.sh mkiraf && \
ln -s -f $iraf/unix/hlib/mkmlist.csh mkmlist && \
ln -s -f $iraf/unix/bin.$IRAFARCH/generic.e generic && \
ln -s -f $iraf/unix/bin.$IRAFARCH/mkpkg.e mkpkg && \
ln -s -f $iraf/unix/bin.$IRAFARCH/rmbin.e rmbin && \
ln -s -f $iraf/unix/bin.$IRAFARCH/rmfiles.e rmfiles && \
ln -s -f $iraf/unix/bin.$IRAFARCH/rpp.e rpp && \
ln -s -f $iraf/unix/bin.$IRAFARCH/rtar.e rtar &&\
ln -s -f $iraf/unix/bin.$IRAFARCH/sgidispatch.e sgidispatch && \
ln -s -f $iraf/unix/bin.$IRAFARCH/wtar.e wtar && \
ln -s -f $iraf/unix/bin.$IRAFARCH/xc.e xc && \
ln -s -f $iraf/unix/bin.$IRAFARCH/xpp.e && \
ln -s -f $iraf/unix/bin.$IRAFARCH/xyacc.e xyacc )

UR_BUILTIN=/Users/Shared/ureka.iraf/ur_work/iraf
find . -lname "$UR_BUILTIN/*" \
-exec sh -c 'echo Re-linking builtin paths "$0" ;\
ln -snf "$(readlink "$0" \
| sed -e "s|$UR_BUILTIN|../..|" -e "s|/as/|/as.$IRAFARCH/|")" "$0"' {} \;

find . -lname '/iraf/iraf/*' \
-exec sh -c 'echo Re-linking "$0" ;\
ln -snf "$(readlink "$0" \
| sed -e "s|/iraf/iraf|../..|" -e "s|/as/|/as.$IRAFARCH/|")" "$0"' {} \;


echo "Removing dead symlinks..."
find $iraf $iraf/../variants -type l | xargs -n 1 -I'{}' \
sh -c 'file {} | grep broken | cut -f 1 -d :' | xargs rm -f



mkdir -p $PREFIX/etc/conda/{activate.d,deactivate.d}

echo "
export IRAFARCH=$IRAFARCH
export iraf=\$CONDA_ENV_PATH/iraf/
export MACH=\$IRAFARCH
export hostid=unix
export host=\$iraf/\$hostid/
export hbin=\$host/bin.\$IRAFARCH/
export IMTOOLRC=\$iraf/dev/imtoolrc
export tmp=/tmp/

export CC=gcc
export F2C=\$hbin/f2c.e
export F77=\$hbin/f77.sh
export RANLIB=ranlib

case "$IRAFARCH" in
macosx)
export HSI_CF=\"-O -DMACOSX -w -Wunused -arch i386 -m32 -mmacosx-version-min=10.4\"
export HSI_XF=\"-Inolibc -/DMACOSX -w -/Wunused -/m32 -/arch -//i386 -/mmacosx-version-min=10.4\"
export HSI_FF=\"-O -arch i386 -m32 -DBLD_KERNEL -mmacosx-version-min=10.4\"
export HSI_LF=\"-arch i386 -m32 -mmacosx-version-min=10.4\"
;;

linux)
export HSI_CF=\"-I\$iraf/include -O -DLINUX -DREDHAT -DPOSIX -DSYSV -w -m32 -Wunused\"
export HSI_FF=\"-I\$iraf/include -O -DBLD_KERNEL -m32\"
export HSI_LF=\"-I\$iraf/include -m32\"
export HSI_XF=\"-I\$iraf/include -Inolibc -w -/Wunused -/m32\"
;;

*)
echo "Unknown IRAFARCH. Dying."
exit 1
;;

esac

export HSI_F77LIBS=
export HSI_LIBS=\"\$iraf/unix/hlib/libboot.a \$iraf/lib/libsys.a \$iraf/lib/libvops.a \$iraf/unix/hlib/libos.a\"
export HSI_OSLIBS=

export UR_BITS=64
export UR_CPU=x86_64
export UR_DIR=\$CONDA_ENV_PATH
export UR_VARIANT=common
export UR_OS=$PLATFORM
export UR_TMP=/tmp
export UR_DIR_PKG=\$UR_DIR/variants/\$UR_VARIANT/
" > $PREFIX/etc/conda/activate.d/iraf.sh
chmod 755 $PREFIX/etc/conda/activate.d/iraf.sh

echo '
unset iraf
unset IRAFARCH
unset IMTOOLRC
unset F2C
unset F77
unset hbin
unset hlib
unset host
unset CC
unset CC_f2c
unset HSI_CF
unset HSI_F77LIBS
unset HSI_FF
unset HSI_LF
unset HSI_LFLAGS
unset HSI_LIBS
unset HSI_OSLIBS
unset HSI_XF
unset MACH
unset OS_MACH
unset RANLIB
unset hostid
unset tmp
unset UR_BITS
unset UR_CPU
unset UR_DIR
unset UR_VARIANT
unset UR_OS
unset UR_TMP
unset UR_DIR_PKG
' > $PREFIX/etc/conda/deactivate.d/iraf.sh
chmod 755 $PREFIX/etc/conda/deactivate.d/iraf.sh