$APR_VERSION="1.7.5" $APU_VERSION="1.6.3" $PY3C_VERSION="1.1" $SERF_VERSION="1.3.10" $ZLIB_VERSION="1.2.8" $SQLITE_VERSION="3.39.4" # Used to construct the SQLite download URL. $SQLITE_VERSION_REL_YEAR=2022 $HTTPD_VERSION="2.4.10" $APR_ICONV_VERSION="1.2.1" $APR="apr-$APR_VERSION" $APR_UTIL="apr-util-$APU_VERSION" $PY3C="py3c-$PY3C_VERSION" $SERF="serf-$SERF_VERSION" $ZLIB="zlib-$ZLIB_VERSION" $SQLITE_VERSION_LIST= $SQLITE_VERSION.Split(".") $SQLITE=[string]::Format("sqlite-amalgamation-{0}{1}{2}00", $SQLITE_VERSION_LIST[0], $SQLITE_VERSION_LIST[1].PadLeft(2, '0'), $SQLITE_VERSION_LIST[2].PadLeft(2, '0')) $BASEDIR=$PSScriptRoot $TEMPDIR="$BASEDIR/temp" $APACHE_MIRROR="https://archive.apache.org/dist" New-Item -ItemType Directory -Force -Path "$TEMPDIR" function DownloadFile { param ( $Src, $Dst ) if(-Not (Test-Path "$Dst" -PathType Leaf)){ Invoke-WebRequest "$Src" -OutFile "$Dst" } } function extractTarBz2{ param ( $Src ) 7z x -y "$Src" $srcFile = Get-ChildItem "$Src" $tarFile = $srcFile.BaseName Write-Host "TAR file name: $tarFile" 7z x -y "$tarFile" } function extractTarGzip{ param ( $Src ) 7z x -tgzip -y "$Src" $srcFile = Get-ChildItem "$Src" $tarFile = $srcFile.BaseName Write-Host "TAR file name: $tarFile" 7z x -y "$tarFile" } function moveDir{ param ( $Src, $Dst ) if (Test-Path -LiteralPath $Dst) { Remove-Item -LiteralPath $Dst -Recurse } Move-Item -Path $Src -Destination "$Dst" -force } function getApr { Set-Location $TEMPDIR DownloadFile -Src "$APACHE_MIRROR/apr/$APR.tar.bz2" -Dst "$APR.tar.bz2" extractTarBz2 -Src "$APR.tar.bz2" moveDir -Src $APR -Dst "$BASEDIR/apr" DownloadFile -Src "$APACHE_MIRROR/apr/$APR_UTIL.tar.bz2" -Dst "$APR_UTIL.tar.bz2" extractTarBz2 -Src "$APR_UTIL.tar.bz2" moveDir -Src $APR_UTIL -Dst "$BASEDIR/apr-util" Set-Location $BASEDIR } function getZlib() { Set-Location $TEMPDIR DownloadFile -Src "https://github.com/madler/zlib/archive/refs/tags/v$ZLIB_VERSION.tar.gz" -Dst "$ZLIB.tar.gz" extractTarGzip -Src "$ZLIB.tar.gz" moveDir -Src $ZLIB -Dst "$BASEDIR/zlib" Set-Location $BASEDIR } function getSqlite() { Set-Location $TEMPDIR Write-Host "!!!! https://www.sqlite.org/$SQLITE_VERSION_REL_YEAR/$SQLITE.zip" DownloadFile -Src "https://www.sqlite.org/$SQLITE_VERSION_REL_YEAR/$SQLITE.zip" -Dst "$SQLITE.zip" Expand-Archive "$SQLITE.zip" -Force -DestinationPath "./" moveDir -Src $SQLITE -Dst "$BASEDIR/sqlite-amalgamation" Set-Location $BASEDIR } function getSerf() { Set-Location $TEMPDIR DownloadFile -Src "https://archive.apache.org/dist/serf/$SERF.tar.bz2" -Dst "$SERF.tar.bz2" extractTarBz2 -Src "$SERF.tar.bz2" moveDir -Src $SERF -Dst "$BASEDIR/serf" Set-Location $BASEDIR } function getExpat() { Set-Location $TEMPDIR DownloadFile -Src "https://github.com/libexpat/libexpat/releases/download/R_2_2_9/expat-2.2.9.tar.bz2" -Dst "expat-2.2.9.tar.bz2" extractTarBz2 -Src "expat-2.2.9.tar.bz2" moveDir -Src "expat-2.2.9" -Dst "$BASEDIR/expat" Set-Location $BASEDIR } function getOpenssl() { Set-Location $TEMPDIR DownloadFile -Src "https://github.com/openssl/openssl/releases/download/openssl-3.2.3/openssl-3.2.3.tar.gz" -Dst "openssl-3.2.3.tar.gz" extractTarGzip -Src "openssl-3.2.3.tar.gz" moveDir -Src "openssl-3.2.3" -Dst "$BASEDIR/openssl" Set-Location $BASEDIR } # function getPy3C # { # $py3cdist="v${PY3C_VERSION}.tar.gz" # Set-Location $TEMPDIR # DownloadFile -Src "https://github.com/encukou/py3c/archive/$py3cdist" -Dst "$py3cdist" # extractTarBz2 -Src "$py3cdist" # moveDir -Src $PY3C -Dst "$BASEDIR/py3c" # Set-Location $BASEDIR # } #getOpenssl #getExpat #getSqlite #getZlib getApr getSerf #getPy3C Remove-Item -LiteralPath $TEMPDIR -Recurse Write-Host "Done!"