diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2016-05-24 09:35:44 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2016-05-24 09:35:44 -0400 |
commit | 734f3d5e30f2a1baba9441ac33ef498cf385db7f (patch) | |
tree | 018586c0b26b7fe9bd08d32acd5eef906978d472 /iraf | |
parent | b884be63c0fb89c51f80a57c41134d9041252d45 (diff) | |
download | astroconda-iraf-734f3d5e30f2a1baba9441ac33ef498cf385db7f.tar.gz |
Refactor recipe to support source build (in progress)
Diffstat (limited to 'iraf')
-rw-r--r-- | iraf/build.sh | 183 | ||||
-rw-r--r-- | iraf/meta.yaml | 9 |
2 files changed, 101 insertions, 91 deletions
diff --git a/iraf/build.sh b/iraf/build.sh index 43aa71f..b53692c 100644 --- a/iraf/build.sh +++ b/iraf/build.sh @@ -1,104 +1,115 @@ +# Make a log directory for "sm_logs" +mkdir -p `pwd`/logs + +# Drop extraneous conda-set environment variables +unset CFLAGS +unset CXXFLAGS +unset LDFLAGS + +# Complement build script +# ("UR_IRAFUSER" MUST BE SET OR BUILD WILL FAIL) +export UR_IRAFUSER=1 +export sm_logs=`pwd`/logs +export TERM=xterm +export FAKE_IRAF="../iraf" -set -x - -export IRAFARCH='' +# Minimal architecture detection +# (We don't care about 64-bit) +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 -;; + Linux.32) + export IRAFARCH='linux' + ;; + Darwin.32) + export IRAFARCH='macosx' + ;; + *) + 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 +# Copy working directory into PREFIX +export iraf=$PREFIX/iraf +#mkdir -p $iraf +rsync -aH `pwd`/ $iraf +cd $iraf + +# Execute build +printenv +./build 32 -mkdir -p $PREFIX/bin \ -$PREFIX/share/man +# Creating it made no sense... now we remove it +#rm -rfv $FAKE_IRAF -for binary in $PREFIX/variants/common/bin/*.e +# General tasks below + +# Link binaries +mkdir -p $PREFIX/bin +for exe in $iraf/bin_directory/* do -( cd $PREFIX/bin && ln -s -f $binary ) + ( cd $PREFIX/bin && ln -s -f $exe ) 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 +# Fix symlink loop in VO (can't figure it out based on the mkpkg files) +rm -rfv "$iraf/vo/bin.generic" +mkdir -p "$iraf/vo/bin.generic" +rm -fv "$iraf/vo/bin" +( cd $iraf/vo && ln -s bin.$IRAFARCH bin ) -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 +# Not used... ? -cd $iraf +#echo "Fixing c headers..." +#find . -type f -name "*.h" | xargs sed -i -e "s|/iraf/iraf/|$iraf|" -rm -rf bin_directory -rm -rf $iraf/vo/bin.generic/bin.macosx +#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 -( 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 ) +#rm -rf bin_directory +#rm -rf $iraf/vo/bin.generic/bin.macosx -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"' {} \; +#( 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 ) -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 +#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 @@ -121,16 +132,18 @@ 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 XC_CFLAGS="-Wno-return-type" +export HSI_CF=\"-O -DMACOSX -w -Wunused -arch i386 -m32 -mmacosx-version-min=10.4 -Wno-return-type\" +export HSI_XF=\"-Inolibc -/DMACOSX -w -/Wunused -/m32 -/arch -//i386 -/mmacosx-version-min=10.4 -/Wno-return-type\" +export HSI_FF=\"-O -arch i386 -m32 -DBLD_KERNEL -mmacosx-version-min=10.4 -Wno-return-type\" 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 XC_CFLAGS="-Wno-return-type" +export HSI_CF=\"-I\$iraf/include -O -DLINUX -DREDHAT -DPOSIX -DSYSV -w -m32 -Wunused -Wno-return-type\" +export HSI_FF=\"-I\$iraf/include -O -DBLD_KERNEL -m32 -Wno-return-type\" +export HSI_LF=\"-I\$iraf/include -m32 -Wno-return-type\" export HSI_XF=\"-I\$iraf/include -Inolibc -w -/Wunused -/m32\" ;; @@ -187,4 +200,4 @@ 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
\ No newline at end of file +chmod 755 $PREFIX/etc/conda/deactivate.d/iraf.sh diff --git a/iraf/meta.yaml b/iraf/meta.yaml index 39c05dc..495b647 100644 --- a/iraf/meta.yaml +++ b/iraf/meta.yaml @@ -3,14 +3,11 @@ about: license: MIT summary: NOAO Image Reduction and Analysis Facility build: - binary_relocation: False [osx] - detect_binary_files_with_prefix: False [osx] + #binary_relocation: False [osx] + #detect_binary_files_with_prefix: False [osx] number: '0' package: name: iraf version: 2.16.1 source: - fn: iraf.tar.gz - url: - - http://ssb.stsci.edu/stripped/linux/iraf.tar.gz [linux] - - http://ssb.stsci.edu/stripped/osx/iraf.tar.gz [osx] + git_url: /eng/ssb/jhunk/git-repos/iraf.git |