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

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

cat <<EOF
[
EOF

write_entry(){
  echo '{'
  echo "  name = \"${name}\";"
  echo "  md5 = \"${md5}\";"
  echo "  brief = ${brief};"
  echo '}'
}

while read line; do
  case "$line" in
    \#*)
      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};
      brief=false;
      write_entry;
      ;;
    *)
      echo Skipping: "$line" >&2;
      ;;
  esac
done

echo ']'