diff options
Diffstat (limited to 'pkgs/applications/office/libreoffice/generate-libreoffice-srcs.sh')
-rwxr-xr-x | pkgs/applications/office/libreoffice/generate-libreoffice-srcs.sh | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.sh b/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.sh new file mode 100755 index 00000000000..d77b41a0480 --- /dev/null +++ b/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.sh @@ -0,0 +1,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 ']' |