aboutsummaryrefslogtreecommitdiff
path: root/convert_pkg
blob: fa02fbe8d1b62daac0ec37208e2818f76b837517 (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
#!/bin/sh
#
# A semi-disposable script to help convert Ureka IRAF package definitions into
# conda packages. This should be run in the astroconda-iraf repo as
# ./convert_pkg pkgname. It would probably be easy to put this in the Ureka
# scripts/ dir and generalize the paths but the conversion shouldn't need doing
# more than once.

pkgname=$1
PKGNAME=$(echo "$1" | tr a-z A-Z)
pkgdir=iraf."$pkgname"
urdefs=/rtfproc/unified_release/ur_work/urel/iraf_packages
uradd=/rtfproc/unified_release/ur_work/urel/addons/irafpkg/build_list
patches=/rtfproc/unified_release/ur_work/tmp_work/patches

if [ ! -e "$pkgdir" ]; then

    version=$(awk "/[ \t]$pkgname[ \t]/ {print \$3}" "$uradd")
    version_us=$(echo "$version" | tr - _)

    urpkg=$urdefs/$pkgname/$version

    fn=$(awk -F '=' '/^tarfile/ {print $2}' $urpkg/ur_conf)

    mkdir "$pkgdir"
    sed -e "s|pkgname|$pkgname|" -e "s|PKGNAME|$PKGNAME|" template/meta.yaml \
        -e "s|VERSION|$version_us|" -e "s|FILENAME|$fn|" \
        > "$pkgdir/meta.yaml"


    for f in bld.bat build.sh post-link.sh pre-unlink.sh; do
        cp -p "template/$f" "$pkgdir/"
    done

    sed -i -e "s|pkgname|$pkgname|" "$pkgdir/post-link.sh" "$pkgdir/pre-unlink.sh"

    for f in ur_extern.pkg ur_manifest ur_mkhelp_cmd ur_mkpkg_cmd ur_mkpkg_patterns; do
        if [ -e "$urpkg/$f" ]; then
            cp -p "$urpkg/$f" "$pkgdir/"
        fi
    done

    sed -i -e '/./,$!d' "$pkgdir/ur_extern.pkg"  # no longer need leading space

    (cd /rtfproc/unified_release/scripts; ./convert_patches "$pkgname" "$version")
    cp -p "${patches}/${pkgname}/ac.iraf.${pkgname}.patch" "$pkgdir/"

else
    echo "Already exists" >&2
    exit 1
fi