155 lines
3.8 KiB
PowerShell
155 lines
3.8 KiB
PowerShell
|
|||
|
|
$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!"
|