summary refs log tree commit diff
path: root/pkgs/applications/science/misc/openmodelica/update-src-libs-svn.sh
blob: 972bc7d61f1357366f03cd817d821c78778712cf (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
#!/bin/sh

CWD=`pwd`

chko() { (
T=`mktemp -d`
trap "rm -rf $T" EXIT INT PIPE
cd $T
cat >check.nix <<EOF
with import <nixpkgs> {};
fetchgit `cat $CWD/src-main.nix`
EOF
nix-build check.nix
cat result/libraries/Makefile.libs
) }

getsha256() { (
T=`mktemp -d`
trap "rm -rf $T" EXIT INT PIPE
cd $T

L=`echo $2 | wc -c`
cat >check.nix <<EOF
with import <nixpkgs> {};
fetchsvn {
  url = $1;
  rev = $2;
  sha256 = "0000000000000000000000000000000000000000000000000000";
}
EOF
SHA=`nix-build check.nix 2>&1 | sed -n 's/.*instead has ‘\(.*\)’.*/\1/g p'`
echo "{ url = $1; rev = $2; sha256=\"$SHA\"; }"

# nix-build check.nix
) }

OUT=src-libs-svn.nix

echo '[' > $OUT

chko |
grep checkout-svn.sh |
tr \' \" |
while read NM TGT URL REV ; do
  echo Trying $TGT $URL $REV >&2
  getsha256 $URL $REV >> $OUT || exit 1
done

echo ']' >> $OUT