diff options
Diffstat (limited to 'bin')
| -rwxr-xr-x | bin/build-linux | 14 | ||||
| -rw-r--r-- | bin/build-linux32-venv | 5 | ||||
| -rwxr-xr-x | bin/build-python | 23 | ||||
| -rwxr-xr-x | bin/build-windows-installer | 18 |
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 |
