From cf3aa1b6b77a4f3aba2d013fee00e29ecca15f81 Mon Sep 17 00:00:00 2001 From: Jehan Date: Tue, 8 Oct 2024 00:52:53 +0200 Subject: [PATCH] build, gimp-data: do not hardcode the build directory. This fixes building with the option -Dwindows-installer=true. We should **never** hardcode the build directory like what was done in this script. Also bumping gimp-data where some scripts had similar issues which were only visible with -Dwindows-installer=true. --- .../installer/lang/list-installer-langs.sh | 29 +++++++++++++------ build/windows/installer/lang/meson.build | 6 ++-- gimp-data | 2 +- 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/build/windows/installer/lang/list-installer-langs.sh b/build/windows/installer/lang/list-installer-langs.sh index 10f5868df6..b31599bc14 100644 --- a/build/windows/installer/lang/list-installer-langs.sh +++ b/build/windows/installer/lang/list-installer-langs.sh @@ -1,9 +1,13 @@ #!/bin/bash +BUILD_ROOT="`pwd`" +SOURCE_ROOT="$2" + if [ "$1" = 'cmp' ]; then + cd "$SOURCE_ROOT" ## Get list of GIMP supported languages - PO_ARRAY=($(echo $(ls ../po/*.po | - sed -e 's|../po/||g' -e 's|.po||g' | sort) | + PO_ARRAY=($(echo $(ls po/*.po | + sed -e 's|po/||g' -e 's|.po||g' | sort) | tr '\n\r' ' ')) ## Create list of lang [Components] @@ -14,21 +18,23 @@ if [ "$1" = 'cmp' ]; then CMP_LINE=$(sed "s/PO_CLEAN/$PO_CLEAN/g" <<< $CMP_LINE) # Change desc DESC=$(echo "cat //iso_639_entries/iso_639_entry[@dl_code=\"$PO\"]/@name" | - xmllint --shell ../build/windows/installer/lang/iso_639_custom.xml | + xmllint --shell build/windows/installer/lang/iso_639_custom.xml | awk -F'[="]' '!/>/{print $(NF-1)}') CMP_LINE=$(sed "s/DESC/$DESC/g" <<< $CMP_LINE) # Create line NL=$'\n' CMP_LIST+="${CMP_LINE}${NL}" done + cd "$BUILD_ROOT" echo "$CMP_LIST" > build/windows/installer/base_po-cmp.list fi if [ "$1" = 'files' ]; then + cd "$SOURCE_ROOT" ## Get list of GIMP supported languages - PO_ARRAY=($(echo $(ls ../po/*.po | - sed -e 's|../po/||g' -e 's|.po||g' | sort) | + PO_ARRAY=($(echo $(ls po/*.po | + sed -e 's|po/||g' -e 's|.po||g' | sort) | tr '\n\r' ' ')) ## Create list of lang [Files] @@ -42,25 +48,29 @@ if [ "$1" = 'files' ]; then NL=$'\n' FILES_LIST+="${FILES_LINE}${NL}" done + cd "$BUILD_ROOT" echo "$FILES_LIST" > build/windows/installer/base_po-files.list fi if [ "$1" = 'msg' ]; then ## Get list of Inno supported languages - PO_INNO_ARRAY=($(echo $(ls ../po-windows-installer/*.po | - sed -e 's|../po-windows-installer/||g' -e 's|.po||g' | sort) | + cd "$SOURCE_ROOT" + PO_INNO_ARRAY=($(echo $(ls po-windows-installer/*.po | + sed -e 's|po-windows-installer/||g' -e 's|.po||g' | sort) | tr '\n\r' ' ')) + cd "$BUILD_ROOT" ## Create list of lang [Languages] if [ "$1" = 'msg' ]; then + cd "$SOURCE_ROOT" for PO in "${PO_INNO_ARRAY[@]}"; do MSG_LINE='Name: "PO"; MessagesFile: "compiler:INNO_CODE,{#ASSETS_DIR}\lang\PO.setup.isl"' # Change po MSG_LINE=$(sed "s/PO/$PO/g" <<< $MSG_LINE) # Change isl INNO_CODE=$(echo "cat //iso_639_entries/iso_639_entry[@dl_code=\"$PO\"]/@inno_code" | - xmllint --shell ../build/windows/installer/lang/iso_639_custom.xml | + xmllint --shell build/windows/installer/lang/iso_639_custom.xml | awk -F'[="]' '!/>/{print $(NF-1)}') MSG_LINE=$(sed "s/INNO_CODE/$INNO_CODE/g" <<< $MSG_LINE) # Create line @@ -69,6 +79,7 @@ if [ "$1" = 'msg' ]; then MSG_LIST+="${MSG_LINE}${NL}" fi done + cd "$BUILD_ROOT" echo "$MSG_LIST" > build/windows/installer/base_po-msg.list fi -fi \ No newline at end of file +fi diff --git a/build/windows/installer/lang/meson.build b/build/windows/installer/lang/meson.build index 0ea927a324..43c20bd127 100644 --- a/build/windows/installer/lang/meson.build +++ b/build/windows/installer/lang/meson.build @@ -106,7 +106,7 @@ custom_target('base_po-cmp', input : [ 'iso_639_custom.xml' ], output: [ 'base_po-cmp.list', ], command: [ - gen_list, 'cmp', + gen_list, 'cmp', '@SOURCE_ROOT@' ], build_by_default: true, ) @@ -115,7 +115,7 @@ custom_target('base_po-files', input : [ 'iso_639_custom.xml' ], output: [ 'base_po-files.list', ], command: [ - gen_list, 'files', + gen_list, 'files', '@SOURCE_ROOT@' ], build_by_default: true, ) @@ -124,7 +124,7 @@ custom_target('base_po-msg', input : [ 'iso_639_custom.xml' ], output: [ 'base_po-msg.list', ], command: [ - gen_list, 'msg', + gen_list, 'msg', '@SOURCE_ROOT@' ], build_by_default: true, ) diff --git a/gimp-data b/gimp-data index 1cb035073b..31009e305c 160000 --- a/gimp-data +++ b/gimp-data @@ -1 +1 @@ -Subproject commit 1cb035073b0de875e5df00e96c5a345e4e688af9 +Subproject commit 31009e305c101967c7e274e31dee364b47f2beb8