mirror of https://github.com/GNOME/gimp.git
build/windows: Debloat a bit Windows bundling
This makes the output more complete but at the same time less polluted regarding the bundling scripts (base, deps and sym). --- Also, packaging scripts (inno and msix) were touched as consequence of experiments about drop bundling, for saving space (~20MB), of: - etc/gtk (MSYS2 don't build immodules) - share/ghostscript (macOS .dmg don't package it) - share/libthai (macOS .dmg don't package it) - share/locale (???, decided to kept only gtk and iso-codes to test) - share/man (installer don't package it, maybe because Windows can't open) - share/poppler (macOS .dmg don't package it) - bin/bzip2.exe (???) - bin/gdk-pixbuf-query-loaders.exe (loaders.cache already bundled) - bin/gspawn*.exe. (???) - share/gir-1.0 (installer don't package it) - share/lua (???) - share/vala (installer don't package it) The "???" ones seems to not be used according to my local tests. If they are, a bug will appear so we will be able to know, comment in the script (for maximum clarity towards the future) then revert.
This commit is contained in:
parent
08701da730
commit
c808d13b6e
|
@ -30,88 +30,100 @@ if [[ "$CI_JOB_NAME" =~ "cross" ]]; then
|
|||
export MSYS_PREFIX="$GIMP_PREFIX"
|
||||
else
|
||||
export GIMP_PREFIX="`realpath ./_install`${ARTIFACTS_SUFFIX}"
|
||||
export MSYS_PREFIX="c:/msys64${MSYSTEM_PREFIX}"
|
||||
export MSYS_PREFIX="$MSYSTEM_PREFIX"
|
||||
fi
|
||||
export GIMP_DISTRIB="`realpath ./gimp`${ARTIFACTS_SUFFIX}"
|
||||
|
||||
bundle ()
|
||||
{
|
||||
check_recurse=${2##*/}
|
||||
if [[ "$check_recurse" =~ '*' ]] && [[ ! "$check_recurse" =~ '/' ]]; then
|
||||
path_dest_parent=$(echo $1/${2%/*} | sed "s|${1}/||")
|
||||
mkdir -p "$GIMP_DISTRIB/$path_dest_parent"
|
||||
bundledArray=($(find $1/${2%/*} -maxdepth 1 -name ${2##*/}))
|
||||
for path_origin_full2 in "${bundledArray[@]}"; do
|
||||
echo "(INFO): copying $path_origin_full2 to $GIMP_DISTRIB/$path_dest_parent"
|
||||
cp $path_origin_full2 "$GIMP_DISTRIB/$path_dest_parent"
|
||||
done
|
||||
else
|
||||
path_origin_full=$(echo $1/$2)
|
||||
if [[ "$2" =~ '/' ]]; then
|
||||
path_dest_parent=$(dirname $path_origin_full | sed "s|${1}/||")
|
||||
fi
|
||||
mkdir -p "$GIMP_DISTRIB/$path_dest_parent"
|
||||
echo "(INFO): copying $path_origin_full to $GIMP_DISTRIB/$path_dest_parent"
|
||||
cp -r "$path_origin_full" "$GIMP_DISTRIB/$path_dest_parent"
|
||||
fi
|
||||
}
|
||||
|
||||
clean ()
|
||||
{
|
||||
if [[ "$2" =~ '/' ]]; then
|
||||
cleanedArray=($(find $1/${2%/*} -iname ${2##*/}))
|
||||
else
|
||||
cleanedArray=($(find $1/ -iname ${2##*/}))
|
||||
fi
|
||||
for path_dest_full in "${cleanedArray[@]}"; do
|
||||
rm $path_dest_full
|
||||
echo "(INFO): cleaning $path_dest_full"
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
## Copy a previously built wrapper at tree root, less messy than
|
||||
## having to look inside bin/, in the middle of all the DLLs.
|
||||
## This utility also configure the interpreters for local builds.
|
||||
mkdir -p ${GIMP_DISTRIB}
|
||||
cp -fr ${GIMP_PREFIX}/*.cmd ${GIMP_DISTRIB}/
|
||||
## This also configure the interpreters for local builds as courtesy.
|
||||
bundle "$GIMP_PREFIX" gimp.cmd
|
||||
|
||||
|
||||
## Modules.
|
||||
mkdir ${GIMP_DISTRIB}/etc
|
||||
cp -fr ${MSYS_PREFIX}/etc/fonts/ ${GIMP_DISTRIB}/etc/
|
||||
cp -fr ${GIMP_PREFIX}/etc/gimp/ ${GIMP_DISTRIB}/etc/
|
||||
cp -fr ${MSYS_PREFIX}/etc/gtk-*/ ${GIMP_DISTRIB}/etc/
|
||||
## Settings.
|
||||
bundle "$GIMP_PREFIX" etc/gimp/
|
||||
### Needed for fontconfig
|
||||
bundle "$MSYS_PREFIX" etc/fonts/
|
||||
|
||||
|
||||
## Headers.
|
||||
mkdir ${GIMP_DISTRIB}/include
|
||||
cp -fr ${GIMP_PREFIX}/include/babl-*/ ${GIMP_DISTRIB}/include/
|
||||
cp -fr ${GIMP_PREFIX}/include/gegl-*/ ${GIMP_DISTRIB}/include/
|
||||
cp -fr ${GIMP_PREFIX}/include/gimp-*/ ${GIMP_DISTRIB}/include/
|
||||
## Headers (in evaluation): https://gitlab.gnome.org/GNOME/gimp/-/issues/6378.
|
||||
#bundle $GIMP_PREFIX/include/gimp-*/
|
||||
#bundle $GIMP_PREFIX/include/babl-*/
|
||||
#bundle $GIMP_PREFIX/include/gegl-*/
|
||||
|
||||
|
||||
## Library data.
|
||||
mkdir ${GIMP_DISTRIB}/lib
|
||||
cp -fr ${GIMP_PREFIX}/lib/babl-*/ ${GIMP_DISTRIB}/lib/
|
||||
cp -fr ${MSYS_PREFIX}/lib/gdk-pixbuf-*/ ${GIMP_DISTRIB}/lib/
|
||||
cp -fr ${GIMP_PREFIX}/lib/gegl-*/ ${GIMP_DISTRIB}/lib/
|
||||
cp -fr ${GIMP_PREFIX}/lib/gimp/ ${GIMP_DISTRIB}/lib/
|
||||
cp -fr ${MSYS_PREFIX}/lib/gio/ ${GIMP_DISTRIB}/lib/
|
||||
|
||||
aList=$(find ${GIMP_DISTRIB}/lib/ -iname '*.a') && aArray=($aList)
|
||||
for a in "${aArray[@]}"; do
|
||||
rm $a
|
||||
done
|
||||
rm ${GIMP_DISTRIB}/lib/gegl-*/*.json
|
||||
bundle "$GIMP_PREFIX" lib/gimp/
|
||||
bundle "$GIMP_PREFIX" lib/babl-*/
|
||||
bundle "$GIMP_PREFIX" lib/gegl-*/
|
||||
bundle "$MSYS_PREFIX" lib/gio/
|
||||
bundle "$MSYS_PREFIX" lib/gdk-pixbuf-*/*/loaders.cache
|
||||
bundle "$MSYS_PREFIX" lib/gdk-pixbuf-*/*/loaders/libpixbufloader-png.dll
|
||||
bundle "$MSYS_PREFIX" lib/gdk-pixbuf-*/*/loaders/libpixbufloader-svg.dll
|
||||
clean "$GIMP_DISTRIB" lib/*.a
|
||||
|
||||
|
||||
## Resources.
|
||||
mkdir ${GIMP_DISTRIB}/share
|
||||
cp -fr ${MSYS_PREFIX}/share/ghostscript/ ${GIMP_DISTRIB}/share/
|
||||
rm -r ${GIMP_DISTRIB}/share/ghostscript/*/doc
|
||||
cp -fr ${GIMP_PREFIX}/share/gimp/ ${GIMP_DISTRIB}/share/
|
||||
GLIB_PATH=$(echo ${MSYS_PREFIX}/share/glib-*/schemas | sed "s|${MSYS_PREFIX}/||g")
|
||||
mkdir -p ${GIMP_DISTRIB}/${GLIB_PATH}
|
||||
cp -fr ${MSYS_PREFIX}/share/glib-*/schemas/ ${GIMP_DISTRIB}/share/glib-*/
|
||||
|
||||
### Adwaita can be used as the base icon set.
|
||||
mkdir -p ${GIMP_DISTRIB}/share/icons
|
||||
cp -fr ${MSYS_PREFIX}/share/icons/Adwaita/ ${GIMP_DISTRIB}/share/icons/
|
||||
cp -fr ${GIMP_PREFIX}/share/icons/hicolor/ ${GIMP_DISTRIB}/share/icons/
|
||||
|
||||
cp -fr ${MSYS_PREFIX}/share/libthai/ ${GIMP_DISTRIB}/share/
|
||||
cp -fr ${MSYS_PREFIX}/share/libwmf/ ${GIMP_DISTRIB}/share/
|
||||
|
||||
bundle "$GIMP_PREFIX" share/gimp/
|
||||
### Needed for file dialogs
|
||||
bundle "$MSYS_PREFIX" share/glib-*/schemas/
|
||||
### https://gitlab.gnome.org/GNOME/gimp/-/issues/6165
|
||||
bundle "$MSYS_PREFIX" share/icons/Adwaita/
|
||||
### https://gitlab.gnome.org/GNOME/gimp/-/issues/5080
|
||||
bundle "$GIMP_PREFIX" share/icons/hicolor/
|
||||
### Needed for wmf
|
||||
bundle "$MSYS_PREFIX" share/libwmf/
|
||||
### Only copy from langs supported in GIMP.
|
||||
cp -fr ${GIMP_PREFIX}/share/locale/ ${GIMP_DISTRIB}/share/
|
||||
for dir in ${GIMP_DISTRIB}/share/locale/*/; do
|
||||
bundle "$GIMP_PREFIX" share/locale/
|
||||
for dir in $GIMP_DISTRIB/share/locale/*/; do
|
||||
lang=`basename "$dir"`;
|
||||
# TODO: ideally we could be a bit more accurate and copy only the
|
||||
# language files from our dependencies and iso_639.mo. But let's go
|
||||
# with this for now, especially as each lang may have different
|
||||
# translation availability.
|
||||
if [ -d "${MSYS_PREFIX}/share/locale/${lang}/LC_MESSAGES/" ]; then
|
||||
cp -fr "${MSYS_PREFIX}/share/locale/${lang}/LC_MESSAGES/"*.mo "${GIMP_DISTRIB}/share/locale/${lang}/LC_MESSAGES/"
|
||||
if [ -d "$MSYS_PREFIX/share/locale/$lang/LC_MESSAGES/" ]; then
|
||||
bundle "$MSYS_PREFIX" share/locale/$lang/LC_MESSAGES/gtk*.mo
|
||||
bundle "$MSYS_PREFIX" share/locale/$lang/LC_MESSAGES/iso_639*.mo
|
||||
fi
|
||||
done;
|
||||
|
||||
mkdir -p ${GIMP_DISTRIB}/share/man/man1
|
||||
mkdir -p ${GIMP_DISTRIB}/share/man/man5
|
||||
cp -fr ${GIMP_PREFIX}/share/man/man1/gimp* ${GIMP_DISTRIB}/share/man/man1/
|
||||
cp -fr ${GIMP_PREFIX}/share/man/man5/gimp* ${GIMP_DISTRIB}/share/man/man5/
|
||||
mkdir ${GIMP_DISTRIB}/share/metainfo
|
||||
cp -fr ${GIMP_PREFIX}/share/metainfo/org.gimp*.xml ${GIMP_DISTRIB}/share/metainfo/
|
||||
cp -fr ${MSYS_PREFIX}/share/mypaint-data/ ${GIMP_DISTRIB}/share/
|
||||
cp -fr ${MSYS_PREFIX}/share/poppler/ ${GIMP_DISTRIB}/share/
|
||||
|
||||
### Only one iso-codes file is useful.
|
||||
mkdir -p ${GIMP_DISTRIB}/share/xml/iso-codes
|
||||
cp -fr ${MSYS_PREFIX}/share/xml/iso-codes/iso_639.xml ${GIMP_DISTRIB}/share/xml/iso-codes/
|
||||
done
|
||||
### Needed for welcome page
|
||||
bundle "$GIMP_PREFIX" share/metainfo/org.gimp*.xml
|
||||
### mypaint brushes
|
||||
bundle "$MSYS_PREFIX" share/mypaint-data/
|
||||
### Needed for lang selection in Preferences
|
||||
bundle "$MSYS_PREFIX" share/xml/iso-codes/iso_639.xml
|
||||
|
||||
|
||||
## Executables and DLLs.
|
||||
|
@ -120,16 +132,43 @@ cp -fr ${MSYS_PREFIX}/share/xml/iso-codes/iso_639.xml ${GIMP_DISTRIB}/share/xml/
|
|||
rm -f done-dll.list
|
||||
|
||||
### Minimal (and some additional) executables for the 'bin' folder
|
||||
mkdir ${GIMP_DISTRIB}/bin
|
||||
binArray=("${MSYS_PREFIX}/bin/bzip2.exe"
|
||||
"${MSYS_PREFIX}/bin/dot.exe"
|
||||
"${MSYS_PREFIX}/bin/gdbus.exe"
|
||||
"${MSYS_PREFIX}/bin/gdk-pixbuf-query-loaders.exe"
|
||||
"${GIMP_PREFIX}/bin/gegl*.exe"
|
||||
"${GIMP_PREFIX}/bin/gimp*.exe"
|
||||
"${MSYS_PREFIX}/bin/gspawn*.exe")
|
||||
for exe in "${binArray[@]}"; do
|
||||
cp -fr $exe ${GIMP_DISTRIB}/bin/
|
||||
bundle "$GIMP_PREFIX" bin/gimp*.exe
|
||||
### https://gitlab.gnome.org/GNOME/gimp/-/issues/10580
|
||||
bundle "$GIMP_PREFIX" bin/gegl*.exe
|
||||
### https://gitlab.gnome.org/GNOME/gimp/-/issues/6045
|
||||
bundle "$MSYS_PREFIX" bin/dot.exe
|
||||
### https://gitlab.gnome.org/GNOME/gimp/-/issues/8877
|
||||
bundle "$MSYS_PREFIX" bin/gdbus.exe
|
||||
|
||||
### Optional binaries for GObject Introspection support
|
||||
if [ "$CI_JOB_NAME" != 'gimp-win-x64-cross' ]; then
|
||||
bundle "$GIMP_PREFIX" lib/girepository-*/
|
||||
bundle "$MSYS_PREFIX" lib/girepository-*/
|
||||
|
||||
bundle "$MSYS_PREFIX" bin/luajit.exe
|
||||
bundle "$MSYS_PREFIX" lib/lua/
|
||||
|
||||
bundle "$MSYS_PREFIX" bin/python*.exe
|
||||
bundle "$MSYS_PREFIX" lib/python*/
|
||||
else
|
||||
# Just to ensure there is no introspected files that will output annoying warnings
|
||||
# This is needed because meson.build files can have flaws
|
||||
clean "$GIMP_DISTRIB" *.lua
|
||||
clean "$GIMP_DISTRIB" *.py
|
||||
clean "$GIMP_DISTRIB" *.scm
|
||||
clean "$GIMP_DISTRIB" *.vala
|
||||
fi
|
||||
|
||||
### Deps (DLLs) of the binaries in 'lib' and 'bin' dirs
|
||||
echo "(INFO): searching for dependencies of $GIMP_DISTRIB/lib in $GIMP_PREFIX and $MSYS_PREFIX"
|
||||
libArray=($(find "$GIMP_DISTRIB/lib" \( -iname '*.dll' -or -iname '*.exe' \)))
|
||||
for dep in "${libArray[@]}"; do
|
||||
python3 build/windows/gitlab-ci/3_bundle-gimp-uni_dep.py $dep $GIMP_PREFIX/ $MSYS_PREFIX/ $GIMP_DISTRIB --output-dll-list done-dll.list;
|
||||
done
|
||||
echo "(INFO): searching for dependencies of $GIMP_DISTRIB/bin in $GIMP_PREFIX and $MSYS_PREFIX"
|
||||
binArray=($(find "$GIMP_DISTRIB/bin" \( -iname '*.dll' -or -iname '*.exe' \)))
|
||||
for dep in "${binArray[@]}"; do
|
||||
python3 build/windows/gitlab-ci/3_bundle-gimp-uni_dep.py $dep $GIMP_PREFIX/ $MSYS_PREFIX/ $GIMP_DISTRIB --output-dll-list done-dll.list;
|
||||
done
|
||||
|
||||
### .pdb (CodeView) debug symbols
|
||||
|
@ -137,40 +176,3 @@ done
|
|||
#if [ "$CI_JOB_NAME" != "gimp-win-x64-cross" ]; then
|
||||
# cp -fr ${GIMP_PREFIX}/bin/*.pdb ${GIMP_DISTRIB}/bin/
|
||||
#fi
|
||||
|
||||
## Optional executables, .DLLs and resources for GObject Introspection support
|
||||
if [[ ! "$CI_JOB_NAME" =~ "cross" ]]; then
|
||||
cp -fr ${MSYS_PREFIX}/bin/libgirepository-*.dll ${GIMP_DISTRIB}/bin/
|
||||
python3 build/windows/gitlab-ci/3_bundle-gimp-uni_dep.py ${GIMP_DISTRIB}/bin/libgirepository-*.dll ${GIMP_PREFIX}/ ${MSYS_PREFIX}/ ${GIMP_DISTRIB} --output-dll-list done-dll.list
|
||||
cp -fr ${MSYS_PREFIX}/lib/girepository-*/ ${GIMP_DISTRIB}/lib/
|
||||
cp -fr ${GIMP_PREFIX}/lib/girepository-*/* ${GIMP_DISTRIB}/lib/girepository-*/
|
||||
cp -fr ${GIMP_PREFIX}/share/gir-*/ ${GIMP_DISTRIB}/share/
|
||||
|
||||
cp -fr ${MSYS_PREFIX}/bin/luajit.exe ${GIMP_DISTRIB}/bin/
|
||||
cp -fr ${MSYS_PREFIX}/lib/lua/ ${GIMP_DISTRIB}/lib/
|
||||
cp -fr ${MSYS_PREFIX}/share/lua/ ${GIMP_DISTRIB}/share/
|
||||
|
||||
cp -fr ${MSYS_PREFIX}/bin/python*.exe ${GIMP_DISTRIB}/bin/
|
||||
cp -fr ${MSYS_PREFIX}/lib/python*/ ${GIMP_DISTRIB}/lib/
|
||||
|
||||
cp -fr ${GIMP_PREFIX}/share/vala/ ${GIMP_DISTRIB}/share/
|
||||
else
|
||||
# Just to ensure there is no introspected files that will output annoying warnings
|
||||
# This is needed because meson.build files can have flaws
|
||||
goiList=$(find ${GIMP_DISTRIB} \( -iname '*.lua' -or -iname '*.py' -or -iname '*.scm' -or -iname '*.vala' \)) && goiArray=($goiList)
|
||||
for goi in "${goiArray[@]}"; do
|
||||
rm $goi
|
||||
done
|
||||
fi
|
||||
|
||||
### Needed DLLs for the executables in the 'bin' folder
|
||||
binList=$(find ${GIMP_DISTRIB}/bin/ -iname '*.exe') && binArray=($binList)
|
||||
for bin in "${binArray[@]}"; do
|
||||
python3 build/windows/gitlab-ci/3_bundle-gimp-uni_dep.py $bin ${GIMP_PREFIX}/ ${MSYS_PREFIX}/ ${GIMP_DISTRIB} --output-dll-list done-dll.list;
|
||||
done
|
||||
|
||||
### Needed DLLs for the executables and DLLs in the 'lib' sub-folders
|
||||
libList=$(find ${GIMP_DISTRIB}/lib/ \( -iname '*.dll' -or -iname '*.exe' \)) && libArray=($libList)
|
||||
for lib in "${libArray[@]}"; do
|
||||
python3 build/windows/gitlab-ci/3_bundle-gimp-uni_dep.py $lib ${GIMP_PREFIX}/ ${MSYS_PREFIX}/ ${GIMP_DISTRIB} --output-dll-list done-dll.list;
|
||||
done
|
||||
|
|
|
@ -46,8 +46,8 @@ def main(binary, srcdirs, destdir, debug, dll_file):
|
|||
except FileNotFoundError:
|
||||
pass
|
||||
|
||||
sys.stdout.write("{} (INFO): searching for dependencies of {} in {}.\n".format(os.path.basename(__file__),
|
||||
binary, ', '.join(srcdirs)))
|
||||
#sys.stdout.write("{} (INFO): searching for dependencies of {} in {}.\n".format(os.path.basename(__file__),
|
||||
# binary, ', '.join(srcdirs)))
|
||||
find_dependencies(os.path.abspath(binary), srcdirs)
|
||||
if debug in ['debug-only', 'debug-run']:
|
||||
if debug == 'debug-only':
|
||||
|
@ -147,7 +147,7 @@ def copy_dlls(dll_list, srcdirs, destdir):
|
|||
for srcdir in srcdirs:
|
||||
full_file_name = os.path.join(srcdir, bindir, dll)
|
||||
if os.path.isfile(full_file_name):
|
||||
sys.stdout.write("{} (INFO): copying {} to {}\n".format(os.path.basename(__file__), full_file_name, destbin))
|
||||
sys.stdout.write("(INFO): copying {} to {}\n".format(full_file_name, destbin))
|
||||
shutil.copy(full_file_name, destbin)
|
||||
break
|
||||
else:
|
||||
|
|
|
@ -7,25 +7,30 @@ else
|
|||
archsArray=('-x86')
|
||||
fi
|
||||
|
||||
# Splited .debug (DWARF) debug symbols
|
||||
# (we extract and link them to make possible save space with Inno custom install)
|
||||
|
||||
# (we extract and link DWARF .debug symbols to
|
||||
# make possible save space with Inno custom install)
|
||||
for ARTIFACTS_SUFFIX in "${archsArray[@]}"; do
|
||||
|
||||
## Split/extract DWARF symbols from binary to .debug
|
||||
find gimp${ARTIFACTS_SUFFIX} \( -iname '*.dll' -or -iname '*.exe' -or -iname '*.pyd' \) -type f -exec objcopy --only-keep-debug '{}' '{}'.debug \;
|
||||
|
||||
## Link .debug to binary
|
||||
find gimp${ARTIFACTS_SUFFIX} \( -iname '*.dll' -or -iname '*.exe' -or -iname '*.pyd' \) -type f -exec objcopy --add-gnu-debuglink='{}'.debug '{}' --strip-unneeded \;
|
||||
binArray=($(find gimp${ARTIFACTS_SUFFIX} \( -iname '*.dll' -or -iname '*.exe' -or -iname '*.pyd' \) -type f))
|
||||
for bin in "${binArray[@]}"; do
|
||||
echo "(INFO): extracting DWARF symbols from $bin"
|
||||
## Split/extract DWARF symbols from binary to .debug
|
||||
objcopy --only-keep-debug $bin $bin.debug
|
||||
## Link .debug to binary
|
||||
objcopy --add-gnu-debuglink=$bin.debug $bin --strip-unneeded
|
||||
done
|
||||
|
||||
## Move .debug files to .debug folder
|
||||
debugList=$(find gimp${ARTIFACTS_SUFFIX} -iname '*.debug') && debugArray=($debugList)
|
||||
debugArray=($(find gimp${ARTIFACTS_SUFFIX} -iname '*.debug'))
|
||||
for debug in "${debugArray[@]}"; do
|
||||
#NAME="${debug##*/}"
|
||||
DIR="${debug%/*}"
|
||||
echo "$debug -> $DIR/.debug"
|
||||
if [ ! -d "$DIR/.debug" ]; then
|
||||
mkdir "$DIR/.debug"
|
||||
fi
|
||||
if [ "$DIR" != "$PREVIOUS_DIR" ]; then
|
||||
echo "(INFO): moving DWARF symbols to $DIR/.debug"
|
||||
fi
|
||||
mv "$debug" "$DIR/.debug"
|
||||
export PREVIOUS_DIR="$DIR"
|
||||
done
|
||||
done
|
||||
|
|
|
@ -136,12 +136,8 @@ Copy-Item -Path "..\..\..\$arch_a64" -Destination "$vfs_a64" -Recurse
|
|||
Copy-Item -Path "..\..\..\$arch_x64" -Destination "$vfs_x64" -Recurse
|
||||
|
||||
## Remove uneeded files (to match the Inno Windows Installer artifact)
|
||||
$omissions = ("include\", "share\gir-1.0\", "share\man\", "share\vala\", "gimp.cmd")
|
||||
Set-Location $vfs_a64
|
||||
Remove-Item $omissions -Recurse
|
||||
Set-Location ..\..\..\..\$vfs_x64
|
||||
Remove-Item $omissions -Recurse
|
||||
Set-Location ..\..\..\..\
|
||||
Remove-Item "$vfs_a64\gimp.cmd"
|
||||
Remove-Item "$vfs_x64\gimp.cmd"
|
||||
|
||||
## Disable Update check (since the package is auto updated)
|
||||
foreach ($vfs in $vfsArray)
|
||||
|
|
|
@ -288,17 +288,14 @@ Source: "{#GIMP_DIR32}\share\gimp\*"; DestDir: "{app}\share\gimp"; Components: {
|
|||
Source: "{#GIMP_DIR32}\share\metainfo\*"; DestDir: "{app}\share\metainfo"; Components: {#GIMP_ARCHS}; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
|
||||
|
||||
#define DEPS_ARCHS="deps32 or deps64 or depsARM64"
|
||||
#define OMISSIONS="\gir-1.0,\man,\vala"
|
||||
Source: "{#DEPS_DIR32}\etc\*"; DestDir: "{app}\etc"; Excludes: "\gimp"; Components: {#DEPS_ARCHS}; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
|
||||
Source: "{#DEPS_DIR32}\share\*"; DestDir: "{app}\share"; Excludes: "{#OMISSIONS},\gimp\*,\metainfo\*,ghostscript\*,\locale\*,\lua\*,\mypaint-data\*,"; Components: {#DEPS_ARCHS}; Flags: recursesubdirs createallsubdirs restartreplace uninsrestartdelete ignoreversion
|
||||
Source: "{#DEPS_DIR32}\share\*"; DestDir: "{app}\share"; Excludes: "\gimp\*,\metainfo\*,\locale\*,\mypaint-data\*,"; Components: {#DEPS_ARCHS}; Flags: recursesubdirs createallsubdirs restartreplace uninsrestartdelete ignoreversion
|
||||
|
||||
;Optional neutral components (complete install)
|
||||
Source: "{#DEPS_DIR32}\share\ghostscript\*"; DestDir: "{app}\share\ghostscript"; Components: gs and ({#GIMP_ARCHS}); Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
|
||||
Source: "{#GIMP_DIR32}\share\locale\*"; DestDir: "{app}\share\locale"; Components: loc; Flags: dontcopy recursesubdirs restartreplace uninsrestartdelete ignoreversion
|
||||
#include "base_po-files.list"
|
||||
#ifdef LUA
|
||||
Source: "{#GIMP_DIR32}\lib\gimp\{#GIMP_API_VERSION}\interpreters\lua.interp"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\interpreters"; Components: lua and ({#GIMP_ARCHS}); Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
|
||||
Source: "{#DEPS_DIR32}\share\lua\*"; DestDir: "{app}\share\lua"; Components: lua and ({#GIMP_ARCHS}); Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
|
||||
#endif
|
||||
Source: "{#DEPS_DIR32}\share\mypaint-data\*"; DestDir: "{app}\share\mypaint-data"; Components: mypaint; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
|
||||
#ifdef PYTHON
|
||||
|
@ -327,9 +324,6 @@ Source: "{#GIMP_DIR32}\lib\gimp\{#GIMP_API_VERSION}\plug-ins\twain.exe"; DestDir
|
|||
;prefer 32bit twain plugin over 64bit because 64bit twain drivers are rare
|
||||
Source: "{#GIMP_DIR32}\lib\gimp\{#GIMP_API_VERSION}\plug-ins\twain\twain.exe"; DestDir: "{app}\lib\gimp\{#GIMP_API_VERSION}\plug-ins\twain"; Components: gimp32on64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
|
||||
|
||||
;special case due to MS-Windows engine
|
||||
Source: "{#DEPS_DIR32}\etc\gtk-3.0\*"; DestDir: "{app}\32\etc\gtk-3.0"; Components: gimp32on64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
|
||||
|
||||
;upgrade zlib1.dll in System32 if it's present there to avoid breaking plugins
|
||||
;sharedfile flag will ensure that the upgraded file is left behind on uninstall to avoid breaking other programs that use the file
|
||||
Source: "{#DEPS_DIR32}\bin\zlib1.dll"; DestDir: "{sys}"; Components: {#GIMP_ARCHS}; Flags: restartreplace sharedfile 32bit uninsrestartdelete comparetimestamp; Check: BadSysDLL('zlib1.dll',32)
|
||||
|
|
|
@ -6,7 +6,6 @@ lib\gdk-pixbuf-2.0\2.10.0\loaders.cache
|
|||
lib\babl-0.1\*.dll
|
||||
lib\gegl-0.4\*.dll
|
||||
share\locale\
|
||||
bin\gspawn*.exe
|
||||
bin\*.dll
|
||||
!GIMP
|
||||
bin\*.dll
|
||||
|
|
|
@ -28,9 +28,5 @@ Source: "{code:GetExternalConfDir}\{#FileName}"; DestDir: "{app}\32\{#ConfigDir}
|
|||
#define public ConfigDir "etc\gimp\" + GIMP_API_VERSION
|
||||
#expr ProcessConfigDir
|
||||
|
||||
#define public BaseDir DEPS_DIR32
|
||||
#define public ConfigDir "etc\gtk-3.0"
|
||||
#expr ProcessConfigDir
|
||||
|
||||
#define public ConfigDir "etc\fonts"
|
||||
#expr ProcessConfigDir
|
||||
|
|
Loading…
Reference in New Issue