diff --git a/.github/workflows/build-appimage.yml b/.github/workflows/build-appimage.yml index ae845af47..128936ef4 100644 --- a/.github/workflows/build-appimage.yml +++ b/.github/workflows/build-appimage.yml @@ -28,12 +28,12 @@ jobs: - if: matrix.sqlcipher == 0 name: Build SQLite run: | - TARBALL=$(curl -s https://sqlite.org/download.html | awk '// {print}' | grep 'sqlite-autoconf' | cut -d ',' -f 3) - SHA3=$(curl -s https://sqlite.org/download.html | awk '// {print}' | grep 'sqlite-autoconf' | cut -d ',' -f 5) - curl -LsS -o sqlite.tar.gz https://sqlite.org/${TARBALL} - VERIFY=$(openssl dgst -sha3-256 sqlite.tar.gz | cut -d ' ' -f 2) - if [ "$SHA3" != "$VERIFY" ]; then exit 1 ; fi - tar -xzf sqlite.tar.gz && cd sqlite-autoconf-* + git clone https://github.com/sqlite/sqlite + cd sqlite + ./configure + make amalgamation-tarball + tar -xvf sqlite-autoconf-*.tar.gz + cd sqlite-autoconf-3480000 CPPFLAGS="-DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_MAX_VARIABLE_NUMBER=250000 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_STAT4=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_SOUNDEX=1 -DSQLITE_ENABLE_MATH_FUNCTIONS=1 -DSQLITE_MAX_ATTACHED=125 -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1 -DSQLITE_ENABLE_SNAPSHOT=1" ./configure --enable-shared=no make -j2 && sudo make install -j2 diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index 7fc0d552f..7e834c023 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -39,6 +39,26 @@ jobs: brew install sqlb-qt@5 sqlb-sqlcipher sqlb-sqlite ninja npm install -g appdmg + - name: Install SQLite + run: | + brew install autoconf automake libtool + git clone https://github.com/sqlite/sqlite + cd sqlite + ./configure + make amalgamation-tarball + mv sqlite-autoconf-*.tar.gz /Users/runner/ + cd /Users/runner/ + tar -xvf sqlite-autoconf-*.tar.gz + cd sqlite-autoconf-*/ + export MACOSX_DEPLOYMENT_TARGET=10.13 + export CPPFLAGS="-mmacosx-version-min=10.13" + export LDFLAGS="-mmacosx-version-min=10.13" + export CFLAGS="-arch x86_64 -arch arm64" + export CPPFLAGS=" -DSQLITE_ENABLE_API_ARMOR=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_DBSTAT_VTAB=1 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_MATH_FUNCTIONS=1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_SNAPSHOT=1 -DSQLITE_ENABLE_SOUNDEX=1 -DSQLITE_ENABLE_STAT4=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 -DSQLITE_MAX_ATTACHED=125 -DSQLITE_MAX_VARIABLE_NUMBER=250000 -DSQLITE_USE_URI=1" + ./configure --prefix=/Users/runner/sqlite-prefix/ --disable-dependency-tracking --enable-dynamic-extensions --disable-readline --disable-editline + make + make install + - name: Configure build run: | if [ "${{ inputs.NIGHTLY }}" = "true" ]; then diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index ed676446b..55cb2c524 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -72,15 +72,11 @@ jobs: - name: Install SQLite run: | - $htmlContent = Invoke-WebRequest -Uri "https://sqlite.org/download.html" | Select-Object -ExpandProperty Content - $regex = [regex]::new('PRODUCT,(\d+\.\d+\.\d+),(\d+/sqlite-amalgamation-\d+\.zip),\d+,(.+)') - $match = $regex.Match($htmlContent) - $relativeUrl = $match.Groups[2].Value - $downloadLink = "https://sqlite.org/$relativeUrl" - Invoke-WebRequest -Uri $downloadLink -OutFile 'sqlite.zip' - Expand-Archive -Path sqlite.zip -DestinationPath C:\dev\ - Move-Item -Path C:\dev\sqlite-amalgamation-* C:\dev\SQLite-${{ matrix.arch }} + cd C:\dev + git clone https://github.com/sqlite/sqlite + Move-Item -Path C:\dev\sqlite C:\dev\SQLite-${{ matrix.arch }} cd C:\dev\SQLite-${{ matrix.arch }} + nmake /f Makefile.msc sqlite3.c cl sqlite3.c -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_STAT4 -DSQLITE_SOUNDEX -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_MAX_ATTACHED=125 -DSQLITE_API="__declspec(dllexport)" -link -dll -out:sqlite3.dll - name: Install SQLite Extensions diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 80e773889..c19cb4f17 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,7 +8,7 @@ on: type: boolean env: - tag_name: ${{ inputs.NIGHTLY == true && 'nightly' || 'continuous' }} + tag_name: issue/3714 jobs: release: diff --git a/config/platform_apple.cmake b/config/platform_apple.cmake index bd96ba1ef..f19e640cb 100644 --- a/config/platform_apple.cmake +++ b/config/platform_apple.cmake @@ -15,7 +15,7 @@ if(QT_MAJOR STREQUAL "Qt5") # For Apple Silicon Mac's and install dependencies via our Homebrew tap(sqlitebrowser/homebrew-tap) if(customTap AND EXISTS /opt/homebrew/opt/) list(PREPEND CMAKE_PREFIX_PATH "/opt/homebrew/opt/sqlb-qt@5") - list(PREPEND CMAKE_PREFIX_PATH "/opt/homebrew/opt/sqlb-sqlite") + list(PREPEND CMAKE_PREFIX_PATH "/Users/runner/sqlite-prefix") if(sqlcipher) list(APPEND SQLCIPHER_INCLUDE_DIR "/opt/homebrew/include")