summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/build-linux14
-rw-r--r--bin/build-linux32-venv5
-rwxr-xr-xbin/build-python23
-rwxr-xr-xbin/build-windows-installer18
4 files changed, 32 insertions, 28 deletions
diff --git a/bin/build-linux b/bin/build-linux
index c7014658..194d0db4 100755
--- a/bin/build-linux
+++ b/bin/build-linux
@@ -4,11 +4,11 @@ set -e
mkdir $HOME/geos-build
GEOS_PATH=$HOME/geos-build
# Downloading geos
-curl -L -O https://github.com/libgeos/geos/releases/download/3.12.2/geos-3.12.2.tar.bz2
+curl -L -O https://github.com/libgeos/geos/releases/download/3.13.1/geos-3.13.1.tar.bz2
# uzipping geos into the geos directory
mkdir -p geos && cd geos
-tar -xf ../geos-3.12.2.tar.bz2 --strip-components=1
+tar -xf ../geos-3.13.1.tar.bz2 --strip-components=1
# Building geos
mkdir -p build && cd build && cmake -DCMAKE_INSTALL_PREFIX:PATH=$GEOS_PATH -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF ..
make && make install
@@ -27,6 +27,10 @@ if [ ! -z "$CI" ]; then
fi
cd ../..
-python -m pip uninstall -y shapely
-python -m pip cache remove shapely
-python -m pip install -v shapely --no-binary shapely
+# disabled for linux32 build to run virtualenv properly
+#python -m pip uninstall -y shapely
+#python -m pip cache remove shapely
+#python -m pip install -v shapely --no-binary shapely
+#virtualenv/bin/pip uninstall -y shapely
+#virtualenv/bin/pip cache remove shapely
+#virtualenv/bin/pip install -v shapely
diff --git a/bin/build-linux32-venv b/bin/build-linux32-venv
index 02d5c976..861f9152 100644
--- a/bin/build-linux32-venv
+++ b/bin/build-linux32-venv
@@ -13,8 +13,11 @@ virtualenv/bin/pip install pycairo
virtualenv/bin/pip install PyGObject==3.50.0
virtualenv/bin/pip install wxPython
-
+# install geos for shapely
+virtualenv/bin/pip install -v shapely
+
virtualenv/bin/pip install -r requirements.txt
+
# for networkx
virtualenv/bin/pip install pandas
diff --git a/bin/build-python b/bin/build-python
index 13d2d893..c6213f7e 100755
--- a/bin/build-python
+++ b/bin/build-python
@@ -5,15 +5,10 @@ info_year=$( date "+%Y" )
# PyInstaller v6.x rearranges folder configuration causing broken builds, This re-enables old onedir layout.
pyinstaller_args+="--contents-directory . "
-# We need to use the precompiled bootloader linked with graphical Mac OS X
-# libraries if we develop a GUI application for Mac:
-if [ "$BUILD" = "osx" -o "$BUILD" = "windows" ]; then
- pyinstaller_args+="--windowed "
-fi
-
# output useful debugging info that helps us trace library dependency issues
pyinstaller_args+="--log-level DEBUG "
+# Setting up pyinstaller arguments for each OS.
# This adds bundle identifier in reverse DSN format for macos
if [ "$BUILD" = "osx" ]; then
pyinstaller_args+="--osx-bundle-identifier org.inkstitch.app "
@@ -22,18 +17,15 @@ if [ "$BUILD" = "osx" ]; then
echo "Dev or Local Build"
else
bash bin/import-macos-keys
- python -m PyInstaller $pyinstaller_args inkstitch.py;
fi
-elif [ "$BUILD" = "linux" ] || [ "$BUILD" = "linux-new" ] || [ "$BUILD" = "linux-old" ]; then
+elif [ "$BUILD" = "linux" ]; then
pyinstaller_args+="--hidden-import gi.repository.Gtk "
pyinstaller_args+="--add-binary /lib/x86_64-linux-gnu/libcrypt.so.1:. "
pyinstaller_args+="--add-binary /lib/x86_64-linux-gnu/libnsl.so.1:. "
- python -m PyInstaller $pyinstaller_args --strip inkstitch.py;
elif [ "$BUILD" = "linux32" ]; then
pyinstaller_args+="--hidden-import gi.repository.Gtk "
pyinstaller_args+="--add-binary /lib/i386-linux-gnu/libcrypt.so.1:. "
pyinstaller_args+="--add-binary /lib/i386-linux-gnu/libnsl.so.1:. "
- python -m PyInstaller $pyinstaller_args --strip inkstitch.py;
elif [ "$BUILD" = "windows" ]; then
if [[ "$VERSION" =~ ^v[0-9][.0-9]+$ ]]; then
# setting the file and product version for release
@@ -51,9 +43,16 @@ elif [ "$BUILD" = "windows" ]; then
sed -i'' 's/1.1.1/'"${VERSION#v}"'/' installer_scripts/file_version_info.txt
sed -i'' 's/1234/'"${info_year}"'/' installer_scripts/file_version_info.txt
# sets icon to inkstitch.exe
- pyinstaller_args+="-i images/inkstitch/win/inkstitch.ico "
+ pyinstaller_args+="-i images/inkstitch/win/inkstitch.ico "
pyinstaller_args+="--version-file installer_scripts/file_version_info.txt "
- python -m PyInstaller $pyinstaller_args inkstitch.py
+fi
+
+# Finally we build for each os with the finalized settings
+if [ "$BUILD" = "osx" -o "$BUILD" = "windows" ]; then
+ pyinstaller_args+="--windowed "
+ python -m PyInstaller $pyinstaller_args inkstitch.py;
+else
+ python -m PyInstaller $pyinstaller_args --strip inkstitch.py;
fi
# pyinstaller put a whole mess of libraries under dist/inkstitch. We'd like
diff --git a/bin/build-windows-installer b/bin/build-windows-installer
index 1f05d91b..85780079 100755
--- a/bin/build-windows-installer
+++ b/bin/build-windows-installer
@@ -11,14 +11,7 @@ copyright_year="#define COPYRIGHT \""${info_year}"\""
version_block="#define VERSION \""${VERSION}"\""
sed -i'' -e '/;inkstitch-year/ a\'$'\n'"${copyright_year}"'' win/win_build.iss
sed -i'' -e '/;inkstitch-version/ a\'$'\n'"${version_block}"'' win/win_build.iss
-# set installer to stop 64bit version to be installed in 32bit Windows
-if [[ ${ARCH} == "64bit" ]]; then
- echo "64"
- sed -i'' -e '/;arch-allowed/ a\'$'\n'"ArchitecturesAllowed=x64 arm64"'' win/win_build.iss
-else
- echo "32"
- sed -i'' -e '/;arch-allowed/ a\'$'\n'"ArchitecturesAllowed=x86 x64 arm64"'' win/win_build.iss
-fi
+sed -i'' -e '/;arch-allowed/ a\'$'\n'"ArchitecturesAllowed=x64 arm64"'' win/win_build.iss
iscc win/win_build.iss
mv win/inkstitch.exe artifacts/inkstitch-${VERSION}-${OS}-${ARCH}.exe
@@ -28,8 +21,13 @@ if [[ -d "../signed-artifacts" ]]; then
DIRECTORY="signed-artifacts"
echo "Found signed artifacts"
else
- DIRECTORY="artifacts"
- echo "No signed artifacts found, local build"
+ if [[ ! -d "../signed-artifacts" ]]; then
+ DIRECTORY="signed-artifacts"
+ echo "Created signed artifacts"
+ else
+ DIRECTORY="artifacts"
+ echo "No signed artifacts found, local build"
+ fi
fi
# The python zipfile command line utility can't handle directories