Updated with upstream update

This commit is contained in:
2023-10-30 15:55:30 -07:00
parent 098531073c
commit 3bbdd873ef
584 changed files with 91827 additions and 70362 deletions

View File

@ -5,17 +5,15 @@ set -e
if [[ "$MSYSTEM" == "MINGW32" ]]; then
export ARTIFACTS_SUFFIX="-w32"
export MSYS2_ARCH="i686"
# vapi build fails on 32-bit, with no error output. Let's just drop
# it for this architecture.
export BABL_OPTIONS="-Denable-vapi=false"
export GEGL_OPTIONS="-Dvapigen=disabled"
export MSYS_PREFIX="/c/msys64/mingw32/"
else
export MSYS2_ARCH_FOLDER="mingw32"
elif [[ "$MSYSTEM" == "MINGW64" ]]; then
export ARTIFACTS_SUFFIX="-w64"
export MSYS2_ARCH="x86_64"
export BABL_OPTIONS=""
export GEGL_OPTIONS=""
export MSYS_PREFIX="/c/msys64/mingw64/"
export MSYS2_ARCH_FOLDER="mingw64"
else # [[ "$MSYSTEM" == "CLANGARM64" ]];
export ARTIFACTS_SUFFIX="-arm64"
export MSYS2_ARCH="clang-aarch64"
export MSYS2_ARCH_FOLDER="clangarm64"
fi
# Update everything
@ -48,8 +46,8 @@ export PATH="$PIKA_PREFIX/bin:$PATH"
export PKG_CONFIG_PATH="${PIKA_PREFIX}/lib/pkgconfig:$PKG_CONFIG_PATH"
export PKG_CONFIG_PATH="${PIKA_PREFIX}/share/pkgconfig:$PKG_CONFIG_PATH"
export LD_LIBRARY_PATH="${PIKA_PREFIX}/lib:${LD_LIBRARY_PATH}"
export ACLOCAL_FLAGS="-I/c/msys64/mingw64/share/aclocal"
export XDG_DATA_DIRS="${PIKA_PREFIX}/share:/mingw64/share/"
export ACLOCAL_FLAGS="-I/c/msys64/${MSYS2_ARCH_FOLDER}/share/aclocal"
export XDG_DATA_DIRS="${PIKA_PREFIX}/share:/${MSYS2_ARCH_FOLDER}/share/"
## babl and GEGL (follow master branch) ##
@ -67,8 +65,7 @@ mkdir ../../_gegl/_build
cd ../../_gegl/_build
meson setup -Dprefix="${PIKA_PREFIX}" -Ddocs=false \
-Dcairo=enabled -Dumfpack=enabled \
-Dopenexr=enabled -Dworkshop=true \
${GEGL_OPTIONS} ..
-Dopenexr=enabled -Dworkshop=true ..
ninja
ninja install
cd ../..

View File

@ -5,15 +5,28 @@ set -e
if [[ "$MSYSTEM" == "MINGW32" ]]; then
export ARTIFACTS_SUFFIX="-w32"
export MSYS2_ARCH="i686"
export MSYS2_ARCH_FOLDER="mingw32"
export MSYS2_PREFIX="/c/msys64/mingw32"
export PIKA_OPTIONS="-Dvala=disabled"
else
elif [[ "$MSYSTEM" == "MINGW64" ]]; then
export ARTIFACTS_SUFFIX="-w64"
export MSYS2_ARCH="x86_64"
export MSYS2_ARCH_FOLDER="mingw64"
export MSYS2_PREFIX="/c/msys64/mingw64/"
else # [[ "$MSYSTEM" == "CLANGARM64" ]];
export ARTIFACTS_SUFFIX="-arm64"
export MSYS2_ARCH="clang-aarch64"
export MSYS2_ARCH_FOLDER="clangarm64"
export MSYS2_PREFIX="/c/msys64/clangarm64/"
fi
export OPTIONAL_PACKAGES=""
if [[ "$MSYSTEM" == "CLANGARM64" ]]; then
# No luajit package on clangarm64 for the time being.
export OPTIONAL_PACKAGES="mingw-w64-$MSYS2_ARCH-lua51"
else
export OPTIONAL_PACKAGES="mingw-w64-$MSYS2_ARCH-luajit"
fi
export ACLOCAL_FLAGS="-I${MSYS2_PREFIX}/share/aclocal"
export PATH="${MSYS2_PREFIX}/bin:$PATH"
# Update everything
@ -27,6 +40,9 @@ pacman --noconfirm -S --needed \
mingw-w64-$MSYS2_ARCH-ccache \
mingw-w64-$MSYS2_ARCH-meson \
\
$OPTIONAL_PACKAGES \
mingw-w64-$MSYS2_ARCH-lua51-lgi \
\
mingw-w64-$MSYS2_ARCH-aalib \
mingw-w64-$MSYS2_ARCH-appstream-glib \
mingw-w64-$MSYS2_ARCH-atk \
@ -57,7 +73,6 @@ pacman --noconfirm -S --needed \
mingw-w64-$MSYS2_ARCH-libspiro \
mingw-w64-$MSYS2_ARCH-libwebp \
mingw-w64-$MSYS2_ARCH-libwmf \
mingw-w64-$MSYS2_ARCH-luajit \
mingw-w64-$MSYS2_ARCH-maxflow \
mingw-w64-$MSYS2_ARCH-mypaint-brushes \
mingw-w64-$MSYS2_ARCH-openexr \
@ -75,6 +90,7 @@ pacman --noconfirm -S --needed \
# XXX We've got a weird error when the prefix is in the current dir.
# Until we figure it out, this trick seems to work, even though it's
# completely ridiculous.
rm -fr ~/_install${ARTIFACTS_SUFFIX}
mv "_install${ARTIFACTS_SUFFIX}" ~
export PIKA_PREFIX="`realpath ~/_install`${ARTIFACTS_SUFFIX}"
@ -82,8 +98,8 @@ export PATH="$PIKA_PREFIX/bin:$PATH"
export PKG_CONFIG_PATH="${PIKA_PREFIX}/lib/pkgconfig:$PKG_CONFIG_PATH"
export PKG_CONFIG_PATH="${PIKA_PREFIX}/share/pkgconfig:$PKG_CONFIG_PATH"
export LD_LIBRARY_PATH="${PIKA_PREFIX}/lib:${LD_LIBRARY_PATH}"
export ACLOCAL_FLAGS="-I/c/msys64/mingw32/share/aclocal"
export XDG_DATA_DIRS="${PIKA_PREFIX}/share:/mingw64/share/"
export ACLOCAL_FLAGS="-I/c/msys64/${MSYS2_ARCH_FOLDER}/share/aclocal"
export XDG_DATA_DIRS="${PIKA_PREFIX}/share:/${MSYS2_ARCH_FOLDER}/share/"
mkdir -p _ccache
export CCACHE_BASEDIR="$(pwd)"
@ -108,8 +124,7 @@ meson .. -Dprefix="${PIKA_PREFIX}" \
-Ddirectx-sdk-dir="${MSYS2_PREFIX}" \
-Djavascript=disabled \
-Dbuild-id=technology.heckin.PIKA_official \
-Dgi-docgen=disabled \
${PIKA_OPTIONS}
-Dgi-docgen=disabled
ninja
ninja install
cd ..

View File

@ -46,6 +46,7 @@ add_bom ()
download_lang Basque.isl
download_lang Belarusian.isl
download_lang ChineseSimplified.isl
download_lang ChineseTraditional.isl
# Supposed to be UTF-8 yet missing BOM.
@ -83,7 +84,7 @@ VERSION=`grep -rI '\<version *:' meson.build | head -1 | sed "s/^.*version *: *'
#MINOR_VERSION=`echo $VERSION | sed "s/^\([0-9]\+\)\.\([0-9]\+\)\.\([0-9]\+\)$/\2/"`
#MICRO_VERSION=`echo $VERSION | sed "s/^\([0-9]\+\)\.\([0-9]\+\)\.\([0-9]\+\)$/\3/"`
cd build/windows/installer
./compile.bat ${VERSION} ../../.. pika-w32 pika-w64 ../../.. pika-w32 pika-w64
./compile.bat ${VERSION} ../../.. pika-w32 pika-w64 pika-arm64 ../../.. pika-w32 pika-w64 pika-arm64
# Test if the installer was created and return success/failure.
if [ -f "_Output/pika-${VERSION}-setup.exe" ]; then

View File

@ -8,12 +8,25 @@ if [[ "$MSYSTEM" == "MINGW32" ]]; then
export MSYS_PREFIX="/c/msys64/mingw32/"
export PATH="/mingw32/bin:$PATH"
export PIKA_DISTRIB=`realpath ./pika-w32`
else
elif [[ "$MSYSTEM" == "MINGW64" ]]; then
export ARTIFACTS_SUFFIX="-w64"
export MSYS2_ARCH="x86_64"
export MSYS_PREFIX="/c/msys64/mingw64/"
export PATH="/mingw64/bin:$PATH"
export PIKA_DISTRIB=`realpath ./pika-w64`
else # [[ "$MSYSTEM" == "CLANGARM64" ]];
export ARTIFACTS_SUFFIX="-arm64"
export MSYS2_ARCH="clang-aarch64"
export MSYS_PREFIX="/c/msys64/clangarm64/"
export PATH="/clangarm64/bin:$PATH"
export PIKA_DISTRIB=`realpath ./pika-arm64`
fi
export OPTIONAL_PACKAGES=""
if [[ "$MSYSTEM" == "CLANGARM64" ]]; then
export OPTIONAL_PACKAGES="mingw-w64-$MSYS2_ARCH-lua51"
else
export OPTIONAL_PACKAGES="mingw-w64-$MSYS2_ARCH-luajit"
fi
# Update everything
@ -26,6 +39,9 @@ pacman --noconfirm -S --needed \
mingw-w64-$MSYS2_ARCH-toolchain \
mingw-w64-$MSYS2_ARCH-ccache \
\
$OPTIONAL_PACKAGES \
mingw-w64-$MSYS2_ARCH-lua51-lgi \
\
mingw-w64-$MSYS2_ARCH-aalib \
mingw-w64-$MSYS2_ARCH-appstream-glib \
mingw-w64-$MSYS2_ARCH-atk \
@ -48,13 +64,13 @@ pacman --noconfirm -S --needed \
mingw-w64-$MSYS2_ARCH-lensfun \
mingw-w64-$MSYS2_ARCH-libarchive \
mingw-w64-$MSYS2_ARCH-libheif \
mingw-w64-$MSYS2_ARCH-libiff \
mingw-w64-$MSYS2_ARCH-libilbm \
mingw-w64-$MSYS2_ARCH-libjxl \
mingw-w64-$MSYS2_ARCH-libmypaint \
mingw-w64-$MSYS2_ARCH-libspiro \
mingw-w64-$MSYS2_ARCH-libwebp \
mingw-w64-$MSYS2_ARCH-libwmf \
mingw-w64-$MSYS2_ARCH-lua51-lgi \
mingw-w64-$MSYS2_ARCH-luajit \
mingw-w64-$MSYS2_ARCH-maxflow \
mingw-w64-$MSYS2_ARCH-mypaint-brushes \
mingw-w64-$MSYS2_ARCH-openexr \
@ -166,8 +182,13 @@ python3 build/windows/gitlab-ci/dll_link.py ${PIKA_DISTRIB}/bin/python3w.exe ${P
cp -fr ${MSYS_PREFIX}/bin/python3.exe ${PIKA_DISTRIB}/bin/
python3 build/windows/gitlab-ci/dll_link.py ${PIKA_DISTRIB}/bin/python3.exe ${PIKA_PREFIX}/ ${MSYS_PREFIX}/ ${PIKA_DISTRIB} --output-dll-list done-dll.list
cp -fr ${MSYS_PREFIX}/bin/luajit.exe ${PIKA_DISTRIB}/bin/
python3 build/windows/gitlab-ci/dll_link.py ${PIKA_DISTRIB}/bin/luajit.exe ${PIKA_PREFIX}/ ${MSYS_PREFIX}/ ${PIKA_DISTRIB} --output-dll-list done-dll.list
if [[ "$MSYSTEM" == "CLANGARM64" ]]; then
cp -fr ${MSYS_PREFIX}/bin/lua5.1.exe ${PIKA_DISTRIB}/bin/
python3 build/windows/gitlab-ci/dll_link.py ${PIKA_DISTRIB}/bin/lua5.1.exe ${PIKA_PREFIX}/ ${MSYS_PREFIX}/ ${PIKA_DISTRIB} --output-dll-list done-dll.list
else
cp -fr ${MSYS_PREFIX}/bin/luajit.exe ${PIKA_DISTRIB}/bin/
python3 build/windows/gitlab-ci/dll_link.py ${PIKA_DISTRIB}/bin/luajit.exe ${PIKA_PREFIX}/ ${MSYS_PREFIX}/ ${PIKA_DISTRIB} --output-dll-list done-dll.list
fi
# Executable for "gegl:introspect" from graphviz package.
cp -fr ${MSYS_PREFIX}/bin/dot.exe ${PIKA_DISTRIB}/bin/

View File

@ -1,9 +1,16 @@
#!/bin/bash
if [[ "$MSYSTEM" == "CLANGARM64" ]]; then
# Apparently -v is unknown argument for clangarm64 version of objcopy.exe.
export OBJCOPY_OPTIONS=""
else
export OBJCOPY_OPTIONS="-v"
fi
if [ -z "$1" ]
then
find . \( -iname '*.dll' -or -iname '*.exe' -or -iname '*.pyd' \) -type f -exec objcopy -v --only-keep-debug '{}' '{}'.debug \;
find . \( -iname '*.dll' -or -iname '*.exe' -or -iname '*.pyd' \) -type f -exec objcopy -v --add-gnu-debuglink='{}'.debug '{}' --strip-unneeded \;
find . \( -iname '*.dll' -or -iname '*.exe' -or -iname '*.pyd' \) -type f -exec objcopy ${OBJCOPY_OPTIONS} --only-keep-debug '{}' '{}'.debug \;
find . \( -iname '*.dll' -or -iname '*.exe' -or -iname '*.pyd' \) -type f -exec objcopy ${OBJCOPY_OPTIONS} --add-gnu-debuglink='{}'.debug '{}' --strip-unneeded \;
find . -iname '*.debug' -exec "$0" {} +
else
while [ -n "$1" ]

View File

@ -28,7 +28,7 @@ Root: HKA; Subkey: "Software\RegisteredApplications"; ValueType: string; ValueNa
#pragma message "Processing associations.list: " + FileLine
;
Root: HKA; Subkey: "Software\Classes\.{#FileLine}\OpenWithProgids"; ValueType: string; ValueName: "PIKA2.{#FileLine}"; ValueData: ""; Flags: uninsdeletevalue
Root: HKA; Subkey: "Software\Classes\PIKA2.{#FileLine}"; ValueType: string; ValueName: ""; ValueData: "PIKA {#ICON_VERSION}"; Flags: uninsdeletekey
Root: HKA; Subkey: "Software\Classes\PIKA2.{#FileLine}"; ValueType: string; ValueName: ""; ValueData: "PIKA {#ICON_VERSION} {#UpperCase(FileLine)}"; Flags: uninsdeletekey
Root: HKA; Subkey: "Software\Classes\PIKA2.{#FileLine}\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\bin\pika-{#MAJOR}.{#MINOR}.exe,1"
Root: HKA; Subkey: "Software\Classes\PIKA2.{#FileLine}\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\pika-{#MAJOR}.{#MINOR}.exe"" ""%1"""
Root: HKA; Subkey: "Software\Classes\Applications\pika-{#MAJOR}.{#MINOR}.exe\SupportedTypes"; ValueType: string; ValueName: ".{#FileLine}"; ValueData: ""

View File

@ -6,13 +6,17 @@ if [%4]==[] goto help
if [%5]==[] goto help
if [%6]==[] goto help
if [%7]==[] goto help
if [%8]==[] goto help
if [%9]==[] goto help
set VER=%~1
set PIKA_BASE=%~2
set PIKA32=%~3
set PIKA64=%~4
set DEPS_BASE=%~5
set DEPS32=%~6
set DEPS64=%~7
set PIKAA64=%~5
set DEPS_BASE=%~6
set DEPS32=%~7
set DEPS64=%~8
set DEPSA64=%~9
if [%INNOPATH%]==[] (
FOR /F "usebackq tokens=5,* skip=2" %%A IN (`REG QUERY "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\Inno Setup 6_is1" /v "Inno Setup: App Path" /reg:32`) DO set INNOPATH=%%B
@ -29,6 +33,8 @@ shift
shift
shift
shift
shift
shift
set PARAMS=
:doparams
if "%1"=="" goto paramsdone
@ -37,7 +43,7 @@ shift
goto doparams
:paramsdone
"%INNOPATH%\iscc.exe" -DVERSION="%VER%" -DPIKA_DIR="%PIKA_BASE%" -DDIR32="%PIKA32%" -DDIR64="%PIKA64%" -DDEPS_DIR="%DEPS_BASE%" -DDDIR32="%DEPS32%" -DDDIR64="%DEPS64%" -DDEBUG_SYMBOLS -DPYTHON -DLUA %PARAMS% pika3264.iss
"%INNOPATH%\iscc.exe" -DVERSION="%VER%" -DPIKA_DIR="%PIKA_BASE%" -DDIR32="%PIKA32%" -DDIR64="%PIKA64%" -DDEPS_DIR="%DEPS_BASE%" -DDDIR32="%DEPS32%" -DDDIR64="%DEPS64%" -DDIRA64="%PIKAA64%" -DDDIRA64="%DEPSA64%" -DDEBUG_SYMBOLS -DPYTHON -DLUA %PARAMS% pika3264.iss
goto :eof
:help

View File

@ -19,6 +19,9 @@
#ifndef DIR64
#define DIR64 "x86_64-w64-mingw32"
#endif
#ifndef DIRA64
#define DIRA64 "aarch64-w64-mingw32"
#endif
#ifndef PIKA_DIR
#define PIKA_DIR "N:\pika\output\" + VER_DIR
@ -35,6 +38,10 @@
#ifndef PIKA_DIR64
#define PIKA_DIR64 PIKA_DIR + "\" + DIR64
#endif
//AArch64 PIKA base directory (result of make install)
#ifndef PIKA_DIRA64
#define PIKA_DIRA64 PIKA_DIR + "\" + DIR64
#endif
#ifndef DDIR32
#define DDIR32 DIR32
@ -42,6 +49,9 @@
#ifndef DDIR64
#define DDIR64 DIR64
#endif
#ifndef DDIRA64
#define DDIRA64 DIRA64
#endif
//32-bit dependencies directory
#ifndef DEPS_DIR32
@ -51,6 +61,10 @@
#ifndef DEPS_DIR64
#define DEPS_DIR64 DEPS_DIR + "\" + DDIR64
#endif
//AArch64 dependencies directory
#ifndef DEPS_DIR64
#define DEPS_DIRA64 DEPS_DIR + "\" + DDIRA64
#endif
#ifdef PYTHON

View File

@ -2,59 +2,69 @@
[Files]
#endif
#if PLATFORM==32
#if PLATFORM==X86
#define DIR DIR32
#define DDIR DDIR32
#elif PLATFORM==64
#define COMPONENT "32"
#elif PLATFORM==X64
#define DIR DIR64
#define DDIR DDIR64
#define COMPONENT "64"
#elif PLATFORM==ARM64
#define DIR DIRA64
#define DDIR DDIRA64
#define COMPONENT "ARM64"
#else
#error "Unknown PLATFORM:" + PLATFORM
#endif
Source: "{#PIKA_DIR}\{#DIR}\*.dll"; DestDir: "{app}"; Components: pika{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#PIKA_DIR}\{#DIR}\*.exe"; DestDir: "{app}"; Excludes: "\lib\pika\{#DIR_VER}\plug-ins\twain\twain.exe,\lib\pika\{#DIR_VER}\plug-ins\file-ps\file-ps.exe,\bin\pika.exe,\bin\pika-console.exe"; Components: pika{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#PIKA_DIR}\{#DIR}\*.dll"; DestDir: "{app}"; Components: pika{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#PIKA_DIR}\{#DIR}\*.exe"; DestDir: "{app}"; Excludes: "\lib\pika\{#DIR_VER}\plug-ins\twain\twain.exe,\lib\pika\{#DIR_VER}\plug-ins\file-ps\file-ps.exe,\bin\pika.exe,\bin\pika-console.exe"; Components: pika{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
#ifdef DEBUG_SYMBOLS
Source: "{#PIKA_DIR}\{#DIR}\*.debug"; DestDir: "{app}"; Components: pika{#PLATFORM} and debug; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#PIKA_DIR}\{#DIR}\*.debug"; DestDir: "{app}"; Components: pika{#COMPONENT} and debug; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
#endif
Source: "{#PIKA_DIR}\{#DIR}\lib\pika\{#DIR_VER}\extensions\*.*"; Excludes: "*.debug"; DestDir: "{app}\lib\pika\{#DIR_VER}\extensions"; Components: pika{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#PIKA_DIR}\{#DIR}\lib\pika\{#DIR_VER}\extensions\*.*"; Excludes: "*.debug"; DestDir: "{app}\lib\pika\{#DIR_VER}\extensions"; Components: pika{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
#ifdef DEBUG_SYMBOLS
Source: "{#PIKA_DIR}\{#DIR}\lib\pika\{#DIR_VER}\extensions\*.debug"; DestDir: "{app}\lib\pika\{#DIR_VER}\extensions"; Components: pika{#PLATFORM} and debug; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#PIKA_DIR}\{#DIR}\lib\pika\{#DIR_VER}\extensions\*.debug"; DestDir: "{app}\lib\pika\{#DIR_VER}\extensions"; Components: pika{#COMPONENT} and debug; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
#endif
Source: "{#PIKA_DIR}\{#DIR}\lib\pika\{#DIR_VER}\plug-ins\file-ps\file-ps.exe"; DestDir: "{app}\lib\pika\{#DIR_VER}\plug-ins\file-ps"; Components: gs and pika{#PLATFORM}; Flags: restartreplace ignoreversion uninsrestartdelete
Source: "{#PIKA_DIR}\{#DIR}\lib\pika\{#DIR_VER}\plug-ins\file-ps\file-ps.exe"; DestDir: "{app}\lib\pika\{#DIR_VER}\plug-ins\file-ps"; Components: gs and pika{#COMPONENT}; Flags: restartreplace ignoreversion uninsrestartdelete
Source: "{#PIKA_DIR}\{#DIR}\lib\girepository-1.0\*.*"; DestDir: "{app}\lib\girepository-1.0"; Components: pika{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#DEPS_DIR}\{#DDIR}\lib\girepository-1.0\*.*"; DestDir: "{app}\lib\girepository-1.0"; Components: deps{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#PIKA_DIR}\{#DIR}\lib\girepository-1.0\*.*"; DestDir: "{app}\lib\girepository-1.0"; Components: pika{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#DEPS_DIR}\{#DDIR}\lib\girepository-1.0\*.*"; DestDir: "{app}\lib\girepository-1.0"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#DEPS_DIR}\{#DDIR}\bin\*.dll"; DestDir: "{app}\bin"; Excludes: "\bin\libgs*.dll,\bin\lua*.dll"; Components: deps{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#DEPS_DIR}\{#DDIR}\bin\libgs*.dll"; DestDir: "{app}\bin"; Components: gs and deps{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#DEPS_DIR}\{#DDIR}\bin\*.dll"; DestDir: "{app}\bin"; Excludes: "\bin\libgs*.dll,\bin\lua*.dll"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#DEPS_DIR}\{#DDIR}\bin\libgs*.dll"; DestDir: "{app}\bin"; Components: gs and deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
#ifdef DEBUG_SYMBOLS
Source: "{#DEPS_DIR}\{#DDIR}\bin\.debug\*.dll.debug"; DestDir: "{app}\bin\.debug"; Components: deps{#PLATFORM} and debug; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete skipifsourcedoesntexist
Source: "{#DEPS_DIR}\{#DDIR}\lib\*.debug"; DestDir: "{app}\lib"; Components: deps{#PLATFORM} and debug; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete skipifsourcedoesntexist
Source: "{#DEPS_DIR}\{#DDIR}\bin\.debug\*.dll.debug"; DestDir: "{app}\bin\.debug"; Components: deps{#COMPONENT} and debug; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete skipifsourcedoesntexist
Source: "{#DEPS_DIR}\{#DDIR}\lib\*.debug"; DestDir: "{app}\lib"; Components: deps{#COMPONENT} and debug; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete skipifsourcedoesntexist
#endif
Source: "{#DEPS_DIR}\{#DDIR}\bin\gspawn-win*.exe"; DestDir: "{app}\bin"; Components: deps{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#DEPS_DIR}\{#DDIR}\bin\gdk-pixbuf-query-loaders.exe"; DestDir: "{app}\bin"; Components: deps{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#DEPS_DIR}\{#DDIR}\bin\bzip2.exe"; DestDir: "{app}\bin"; Components: deps{#PLATFORM}; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR}\{#DDIR}\lib\gdk-pixbuf-2.0\2.10.0\loaders.cache"; DestDir: "{app}\lib\gdk-pixbuf-2.0\2.10.0\"; Components: deps{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#DEPS_DIR}\{#DDIR}\lib\babl-0.1\*.dll"; DestDir: "{app}\lib\babl-0.1"; Components: deps{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#DEPS_DIR}\{#DDIR}\lib\gdk-pixbuf-2.0\*.dll"; DestDir: "{app}\lib\gdk-pixbuf-2.0"; Components: deps{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#DEPS_DIR}\{#DDIR}\lib\gegl-0.4\*.dll"; DestDir: "{app}\lib\gegl-0.4"; Components: deps{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#DEPS_DIR}\{#DDIR}\lib\gio\*.dll"; DestDir: "{app}\lib\gio"; Components: deps{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
;Source: "{#DEPS_DIR}\{#DDIR}\lib\gtk-3.0\*.dll"; DestDir: "{app}\lib\gtk-3.0"; Components: deps{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#DEPS_DIR}\{#DDIR}\bin\gspawn-win*.exe"; DestDir: "{app}\bin"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#DEPS_DIR}\{#DDIR}\bin\gdk-pixbuf-query-loaders.exe"; DestDir: "{app}\bin"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#DEPS_DIR}\{#DDIR}\bin\bzip2.exe"; DestDir: "{app}\bin"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR}\{#DDIR}\lib\gdk-pixbuf-2.0\2.10.0\loaders.cache"; DestDir: "{app}\lib\gdk-pixbuf-2.0\2.10.0\"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#DEPS_DIR}\{#DDIR}\lib\babl-0.1\*.dll"; DestDir: "{app}\lib\babl-0.1"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#DEPS_DIR}\{#DDIR}\lib\gdk-pixbuf-2.0\*.dll"; DestDir: "{app}\lib\gdk-pixbuf-2.0"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#DEPS_DIR}\{#DDIR}\lib\gegl-0.4\*.dll"; DestDir: "{app}\lib\gegl-0.4"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#DEPS_DIR}\{#DDIR}\lib\gio\*.dll"; DestDir: "{app}\lib\gio"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
;Source: "{#DEPS_DIR}\{#DDIR}\lib\gtk-3.0\*.dll"; DestDir: "{app}\lib\gtk-3.0"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
;python scripts
#ifdef PYTHON
Source: "{#DEPS_DIR}\{#DDIR}\bin\python3w.exe"; DestDir: "{app}\bin"; DestName: "pythonw.exe"; Components: py and pika{#PLATFORM}; Flags: restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR}\{#DDIR}\bin\python3.exe"; DestDir: "{app}\bin"; DestName: "python.exe"; Components: py and pika{#PLATFORM}; Flags: restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR}\{#DDIR}\bin\libpython3.11.dll"; DestDir: "{app}\bin"; Components: py and pika{#PLATFORM}; Flags: restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR}\{#DDIR}\lib\python3.11\*"; DestDir: "{app}\lib\python3.11"; Components: py and pika{#PLATFORM}; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR}\{#DDIR}\bin\python3w.exe"; DestDir: "{app}\bin"; DestName: "pythonw.exe"; Components: py and pika{#COMPONENT}; Flags: restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR}\{#DDIR}\bin\python3.exe"; DestDir: "{app}\bin"; DestName: "python.exe"; Components: py and pika{#COMPONENT}; Flags: restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR}\{#DDIR}\bin\libpython3.11.dll"; DestDir: "{app}\bin"; Components: py and pika{#COMPONENT}; Flags: restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR}\{#DDIR}\lib\python3.11\*"; DestDir: "{app}\lib\python3.11"; Components: py and pika{#COMPONENT}; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
#endif
#ifdef LUA
Source: "{#DEPS_DIR}\{#DDIR}\bin\luajit.exe"; DestDir: "{app}\bin"; Components: lua and pika{#PLATFORM}; Flags: restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR}\{#DDIR}\bin\lua51.dll"; DestDir: "{app}\bin"; Components: lua and pika{#PLATFORM}; Flags: restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR}\{#DDIR}\share\lua\*"; DestDir: "{app}\share\lua"; Components: lua and pika{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#DEPS_DIR}\{#DDIR}\lib\lua\*"; DestDir: "{app}\lib\lua"; Components: lua and pika{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
#if PLATFORM==ARM64
Source: "{#DEPS_DIR}\{#DDIR}\bin\lua5.1.exe"; DestDir: "{app}\bin"; Components: lua and pika{#COMPONENT}; Flags: restartreplace uninsrestartdelete ignoreversion
#else
Source: "{#DEPS_DIR}\{#DDIR}\bin\luajit.exe"; DestDir: "{app}\bin"; Components: lua and pika{#COMPONENT}; Flags: restartreplace uninsrestartdelete ignoreversion
#endif
Source: "{#DEPS_DIR}\{#DDIR}\bin\lua51.dll"; DestDir: "{app}\bin"; Components: lua and pika{#COMPONENT}; Flags: restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR}\{#DDIR}\share\lua\*"; DestDir: "{app}\share\lua"; Components: lua and pika{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
Source: "{#DEPS_DIR}\{#DDIR}\lib\lua\*"; DestDir: "{app}\lib\lua"; Components: lua and pika{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete
#endif

View File

@ -8,6 +8,7 @@ ms_installer_config_xml = i18n.merge_file(
)
languages = [
{ 'code': 'be', },
{ 'code': 'bg', },
{ 'code': 'ca', },
{ 'code': 'cs', },

View File

@ -103,6 +103,10 @@
; Optional: PYTHON, LUA, DEBUG_SYMBOLS, NOCOMPRESSION, NOFILES, DEVEL
#define X86 1
#define X64 2
#define ARM64 3
#include "directories.isi"
#include "version.isi"
@ -151,13 +155,15 @@ UninstallDisplayIcon={app}\bin\pika-{#MAJOR}.{#MINOR}.exe
UninstallFilesDir={app}\uninst
MinVersion=6.1
ArchitecturesInstallIn64BitMode=x64
ArchitecturesInstallIn64BitMode=x64 arm64
#ifdef NOCOMPRESSION
;UseSetupLdr=no
OutputDir=_Output\unc
Compression=none
;InternalCompressLevel=0
DiskSpanning=yes
DiskSliceSize=max
#else
OutputDir=_Output
Compression=lzma2/ultra64
@ -187,6 +193,7 @@ PrivilegesRequiredOverridesAllowed=dialog
[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl,lang\en.setup.isl"
Name: "be"; MessagesFile: "compiler:Languages\Unofficial\Belarusian.isl,lang\be.setup.isl"
Name: "bg"; MessagesFile: "compiler:Languages\Bulgarian.isl,lang\bg.setup.isl"
Name: "ca"; MessagesFile: "compiler:Languages\Catalan.isl,lang\ca.setup.isl"
Name: "cs"; MessagesFile: "compiler:Languages\Czech.isl,lang\cs.setup.isl"
@ -238,10 +245,12 @@ Name: custom; Description: "{cm:TypeCustom}"; Flags: iscustom
[Components]
Name: pika32; Description: "{cm:ComponentsGimp,{#VERSION}}"; Types: full compact custom; Flags: fixed; Check: Check3264('32')
Name: pika64; Description: "{cm:ComponentsGimp,{#VERSION}}"; Types: full compact custom; Flags: fixed; Check: Check3264('64')
Name: pika64; Description: "{cm:ComponentsGimp,{#VERSION}}"; Types: full compact custom; Flags: fixed; Check: Check3264('x64')
Name: pikaARM64; Description: "{cm:ComponentsGimp,{#VERSION}}"; Types: full compact custom; Flags: fixed; Check: Check3264('arm64')
Name: deps32; Description: "{cm:ComponentsDeps,{#GTK_VERSION}}"; Types: full compact custom; Flags: checkablealone fixed; Check: Check3264('32')
Name: deps64; Description: "{cm:ComponentsDeps,{#GTK_VERSION}}"; Types: full compact custom; Flags: checkablealone fixed; Check: Check3264('64')
Name: deps64; Description: "{cm:ComponentsDeps,{#GTK_VERSION}}"; Types: full compact custom; Flags: checkablealone fixed; Check: Check3264('x64')
Name: depsARM64; Description: "{cm:ComponentsDeps,{#GTK_VERSION}}"; Types: full compact custom; Flags: checkablealone fixed; Check: Check3264('arm64')
#ifdef DEBUG_SYMBOLS
Name: debug; Description: "{cm:ComponentsDebug}"; Types: full custom; Flags: disablenouninstallwarning
@ -272,7 +281,6 @@ Name: "{autodesktop}\PIKA {#ICON_VERSION}"; Filename: "{app}\bin\pika-{#MAJOR}.{
[Files]
;setup files
Source: "setup.ini"; Flags: dontcopy
Source: "windows-installer-intro-small.bmp"; Flags: dontcopy
#ifndef DEVEL
Source: "installsplash.bmp"; Flags: dontcopy
@ -284,20 +292,20 @@ Source: "installsplash_small-devel.bmp"; Destname: "installsplash_small.bmp"; Fl
#ifndef NOFILES
;files common to both 32 and 64-bit versions
Source: "{#PIKA_DIR32}\etc\*"; DestDir: "{app}\etc"; Components: pika32 or pika64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#PIKA_DIR32}\lib\pika\{#DIR_VER}\environ\*"; DestDir: "{app}\lib\pika\{#DIR_VER}\environ"; Components: pika32 or pika64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#PIKA_DIR32}\lib\pika\{#DIR_VER}\interpreters\*"; DestDir: "{app}\lib\pika\{#DIR_VER}\interpreters"; Components: pika32 or pika64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#PIKA_DIR32}\share\pika\*"; DestDir: "{app}\share\pika"; Components: pika32 or pika64; Flags: recursesubdirs createallsubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#PIKA_DIR32}\share\metainfo\*"; DestDir: "{app}\share\metainfo"; Components: pika32 or pika64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#PIKA_DIR32}\etc\*"; DestDir: "{app}\etc"; Components: pika32 or pika64 or pikaARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#PIKA_DIR32}\lib\pika\{#DIR_VER}\environ\*"; DestDir: "{app}\lib\pika\{#DIR_VER}\environ"; Components: pika32 or pika64 or pikaARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#PIKA_DIR32}\lib\pika\{#DIR_VER}\interpreters\*"; DestDir: "{app}\lib\pika\{#DIR_VER}\interpreters"; Components: pika32 or pika64 or pikaARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#PIKA_DIR32}\share\pika\*"; DestDir: "{app}\share\pika"; Components: pika32 or pika64 or pikaARM64; Flags: recursesubdirs createallsubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#PIKA_DIR32}\share\metainfo\*"; DestDir: "{app}\share\metainfo"; Components: pika32 or pika64 or pikaARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR32}\share\glib-2.0\schemas\*"; DestDir: "{app}\share\glib-2.0\schemas"; Components: deps32 or deps64; Flags: recursesubdirs createallsubdirs restartreplace uninsrestartdelete ignoreversion
;Source: "{#DEPS_DIR32}\share\enchant\*"; DestDir: "{app}\share\enchant"; Components: deps32 or deps64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR32}\share\libwmf\*"; DestDir: "{app}\share\libwmf"; Components: deps32 or deps64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR32}\share\icons\*"; DestDir: "{app}\share\icons"; Components: deps32 or deps64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR32}\share\xml\*"; DestDir: "{app}\share\xml"; Components: deps32 or deps64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR32}\share\glib-2.0\schemas\*"; DestDir: "{app}\share\glib-2.0\schemas"; Components: deps32 or deps64 or depsARM64; Flags: recursesubdirs createallsubdirs restartreplace uninsrestartdelete ignoreversion
;Source: "{#DEPS_DIR32}\share\enchant\*"; DestDir: "{app}\share\enchant"; Components: deps32 or deps64 or depsARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR32}\share\libwmf\*"; DestDir: "{app}\share\libwmf"; Components: deps32 or deps64 or depsARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR32}\share\icons\*"; DestDir: "{app}\share\icons"; Components: deps32 or deps64 or depsARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR32}\share\xml\*"; DestDir: "{app}\share\xml"; Components: deps32 or deps64 or depsARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR32}\share\poppler\*.*"; DestDir: "{app}\share\poppler"; Components: deps32 or deps64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR32}\share\libthai\*"; DestDir: "{app}\share\libthai"; Components: deps32 or deps64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR32}\share\poppler\*.*"; DestDir: "{app}\share\poppler"; Components: deps32 or deps64 or depsARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR32}\share\libthai\*"; DestDir: "{app}\share\libthai"; Components: deps32 or deps64 or depsARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR32}\share\locale\*"; DestDir: "{app}\share\locale"; Components: loc; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#PIKA_DIR32}\share\locale\*"; DestDir: "{app}\share\locale"; Components: loc; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
@ -306,22 +314,26 @@ Source: "{#PIKA_DIR32}\share\locale\*"; DestDir: "{app}\share\locale"; Component
;be picked by pika
Source: "{#DEPS_DIR32}\share\mypaint-data\*"; DestDir: "{app}\share\mypaint-data"; Components: mypaint; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR32}\etc\fonts\*"; DestDir: "{app}\etc\fonts"; Components: deps32 or deps64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR32}\etc\gtk-3.0\*"; DestDir: "{app}\etc\gtk-3.0"; Components: deps32 or deps64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR32}\etc\fonts\*"; DestDir: "{app}\etc\fonts"; Components: deps32 or deps64 or depsARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR32}\etc\gtk-3.0\*"; DestDir: "{app}\etc\gtk-3.0"; Components: deps32 or deps64 or depsARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR32}\share\ghostscript\*"; Excludes: "*\doc\*"; DestDir: "{app}\share\ghostscript"; Components: gs and (pika32 or pika64); Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#DEPS_DIR32}\share\ghostscript\*"; Excludes: "*\doc\*"; DestDir: "{app}\share\ghostscript"; Components: gs and (pika32 or pika64 or pikaARM64); Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
#ifdef PYTHON
;*.py files are the same on 32 and 64-bit
Source: "{#PIKA_DIR32}\lib\pika\{#DIR_VER}\plug-ins\*.py"; DestDir: "{app}\lib\pika\{#DIR_VER}\plug-ins"; Components: py; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
#endif
;64bit
#define PLATFORM 64
;x86_64
#define PLATFORM X64
#include "files.isi"
;32bit
#define PLATFORM 32
;AArch64
#define PLATFORM ARM64
#include "files.isi"
;i686
#define PLATFORM X86
#include "files.isi"
;special case, since 64bit version doesn't work, and is excluded in files.isi
Source: "{#PIKA_DIR32}\lib\pika\{#DIR_VER}\plug-ins\twain.exe"; DestDir: "{app}\lib\pika\{#DIR_VER}\plug-ins"; Components: pika32; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
@ -331,12 +343,13 @@ Source: "{#PIKA_DIR32}\lib\pika\{#DIR_VER}\plug-ins\twain.exe"; DestDir: "{app}\
;prefer 32bit twain plugin over 64bit because 64bit twain drivers are rare
Source: "{#PIKA_DIR32}\lib\pika\{#DIR_VER}\plug-ins\twain\twain.exe"; DestDir: "{app}\lib\pika\{#DIR_VER}\plug-ins\twain"; Components: pika32on64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#PIKA_DIR64}\lib\pika\{#DIR_VER}\plug-ins\twain\twain.exe"; DestDir: "{app}\lib\pika\{#DIR_VER}\plug-ins\twain"; Components: (not pika32on64) and pika64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion
Source: "{#PIKA_DIRA64}\lib\pika\{#DIR_VER}\plug-ins\twain\twain.exe"; DestDir: "{app}\lib\pika\{#DIR_VER}\plug-ins\twain"; Components: (not pika32on64) and pikaARM64; 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: pika32on64; 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: pika32 or pika64; Flags: restartreplace sharedfile 32bit uninsrestartdelete comparetimestamp; Check: BadSysDLL('zlib1.dll',32)
Source: "{#DEPS_DIR32}\bin\zlib1.dll"; DestDir: "{sys}"; Components: pika32 or pika64 or pikaARM64; Flags: restartreplace sharedfile 32bit uninsrestartdelete comparetimestamp; Check: BadSysDLL('zlib1.dll',32)
Source: "{#DEPS_DIR64}\bin\zlib1.dll"; DestDir: "{sys}"; Components: pika64; Flags: restartreplace sharedfile uninsrestartdelete comparetimestamp; Check: BadSysDLL('zlib1.dll',64)
;overridden configuration files
@ -669,8 +682,6 @@ type
var
lblComponentDescription: TNewStaticText;
SetupINI: String;
ReadyMemoRichText: String;
WelcomeBitmapBottom: TBitmapImage;
@ -691,10 +702,14 @@ var
function Check3264(const pWhich: String): Boolean;
begin
if pWhich = '64' then
if pWhich = '64' then //x64 or arm64
Result := Is64BitInstallMode() and (not Force32bitInstall)
else if pWhich = '32' then
Result := (not Is64BitInstallMode()) or Force32bitInstall
else if pWhich = 'x64' then
Result := Is64BitInstallMode() and IsX64 and (not Force32bitInstall)
else if pWhich = 'arm64' then
Result := Is64BitInstallMode() and IsARM64 and (not Force32bitInstall)
else
RaiseException('Unknown check');
end;
@ -804,7 +819,7 @@ end;
procedure PrepareInterp();
var InterpFile,InterpContent: String;
var InterpFile,InterpContent,LuaBin: String;
begin
#ifdef PYTHON
if IsComponentSelected('py') then
@ -841,17 +856,26 @@ begin
InterpFile := ExpandConstant('{app}\lib\pika\{#DIR_VER}\interpreters\lua.interp');
DebugMsg('PrepareInterp','Writing interpreter file for lua: ' + InterpFile);
InterpContent := 'lua=' + ExpandConstant('{app}\bin\luajit.exe') + #10 +
'luajit=' + ExpandConstant('{app}\bin\luajit.exe') + #10 +
'/usr/bin/luajit=' + ExpandConstant('{app}\bin\luajit.exe') + #10 +
'/usr/bin/lua=' + ExpandConstant('{app}\bin\luajit.exe') + #10 +
':Lua:E::lua::luajit:'#10;
if IsComponentSelected('pikaARM64') then
begin
LuaBin := 'lua5.1.exe'
end else
begin
LuaBin := 'luajit.exe'
end;
InterpContent := 'lua=' + ExpandConstant('{app}\bin\') + LuaBin + #10 +
'luajit=' + ExpandConstant('{app}\bin\') + LuaBin + #10 +
'/usr/bin/luajit=' + ExpandConstant('{app}\bin\') + LuaBin + #10 +
'/usr/bin/lua=' + ExpandConstant('{app}\bin\') + LuaBin + #10 +
':Lua:E::lua::' + LuaBin + ':'#10;
if not SaveStringToUTF8File(InterpFile,InterpContent,False) then
begin
DebugMsg('PrepareInterp','Problem writing the file. [' + InterpContent + ']');
SuppressibleMsgBox(CustomMessage('ErrorUpdatingPython') + ' (2)',mbInformation,mb_ok,IDOK);
end;
end;
#endif
@ -1777,8 +1801,6 @@ begin
#endif
try
ExtractTemporaryFile('setup.ini');
SetupINI := ExpandConstant('{tmp}\setup.ini');
ExtractTemporaryFile('windows-installer-intro-small.bmp');
ExtractTemporaryFile('installsplash.bmp');
ExtractTemporaryFile('installsplash_small.bmp');

View File

@ -1,5 +1,6 @@
image = Pika.list_images()[0]
config = Pika.get_pdb().lookup_procedure("file-bmp-save").create_config()
image = Pika.list_images()[0]
procedure = Pika.get_pdb().lookup_procedure("file-bmp-save")
config = procedure.create_config()
def export_scaled_img(image, target_width, target_height, export_path):
img = image.duplicate()
@ -29,7 +30,7 @@ def export_scaled_img(image, target_width, target_height, export_path):
config.set_property("num-drawables", len(drawables))
config.set_property("drawables", Pika.ObjectArray.new(Pika.Drawable, drawables, False))
config.set_property("file", Gio.file_new_for_path(export_path))
Pika.get_pdb().run_procedure_config("file-bmp-save", config)
Pika.Procedure.run(procedure, config)
# These sizes are pretty much hardcoded, and in particular the ratio matters in
# InnoSetup. Or so am I told. XXX