summary refs log tree commit diff
path: root/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.sh
blob: bba1ad9c213d55dc720427f27cfd7072d514c0bc (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
#!/run/current-system/sw/bin/bash

# Ideally we would move as much as possible into derivation dependencies

# Take the list of files from the main package, ooo.lst.in

# This script wants an argument: download list file

cat <<EOF
[
EOF

write_entry(){
  echo '{'
  echo "  name = \"${name}\";"
  echo "  md5 = \"${md5}\";"
  echo "  brief = ${brief};"
  eval "echo -n \"\$additions_${name%%[-_.]*}\""
  eval "test -n \"\$additions_${name%%[-_.]*}\" && echo"
  echo '}'
}

cat "$(dirname "$0")/libreoffice-srcs-additions.sh" "$@" |
while read line; do
  case "$line" in
    EVAL\ *)
      echo "${line#* }" >&2;
      eval "${line#* }";
      ;;
    \#*)
      echo Skipping comment: "$line" >&2;
      ;;
    *_MD5SUM\ :=*)
      read tbline;
      line=${line##* };
      if [ "${tbline#*VERSION_MICRO}" != "$tbline" ]; then
         verline=${tbline##* };
         read tbline;
         tbline=${tbline##* };
         md5=$line
         name=$tbline;
         name="${name/\$([A-Z]*_VERSION_MICRO)/$verline}"
      else
         tbline=${tbline##* };
         md5=$line
         name=$tbline;
      fi
      brief=true;
      write_entry;
      ;;
    *_TARBALL\ :=*)
      line=${line##* };
      line="${line#,}"
      md5=${line:0:32};
      name=${line:33};
      name="${name%)}"
      brief=false;
      write_entry;
      ;;
    *)
      echo Skipping: "$line" >&2;
      ;;
  esac
done

echo ']'