In the beginning there was darkness
This commit is contained in:
commit
993668bbad
6 changed files with 135 additions and 0 deletions
3
VERIFICATION.txt
Normal file
3
VERIFICATION.txt
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
This package was compiled from source for Chocolatey by Daniel Ziltener <dziltener@lyrion.ch>.
|
||||||
|
|
||||||
|
The script used to build the package can be found at https://gitea.lyrion.ch/zilti/chicken.
|
82
build.ps1
Normal file
82
build.ps1
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
#Set-Variable -Name "version" -Value "4.12.0"
|
||||||
|
$version = '5.2.0'
|
||||||
|
$binaryversion=11
|
||||||
|
|
||||||
|
# Preventive cleanup
|
||||||
|
Remove-Item -Recurse -Force chickenbuild
|
||||||
|
Remove-Item -Force chicken.*.nupkg
|
||||||
|
Remove-Item -Recurse -Force chicken-*
|
||||||
|
|
||||||
|
# Fetching and unpacking remote files
|
||||||
|
Install-Module -Name 7Zip4Powershell -Force -Scope CurrentUser
|
||||||
|
choco install -y msys2
|
||||||
|
Invoke-WebRequest -UseBasicParsing -Uri "https://code.call-cc.org/releases/$version/chicken-$version.tar.gz" -OutFile '.\chicken.tar.gz'
|
||||||
|
#Expand-7Zip chicken.tar.gz -TargetPath '.\'
|
||||||
|
#Expand-7Zip chicken.tar -TargetPath '.\'
|
||||||
|
7z x chicken.tar.gz
|
||||||
|
7z x chicken.tar
|
||||||
|
Remove-Item -Force chicken.tar.gz
|
||||||
|
Remove-Item -Force chicken.tar
|
||||||
|
mv chicken-* chickenbuild
|
||||||
|
|
||||||
|
# Building
|
||||||
|
C:\tools\msys64\usr\bin\bash.exe --login -c 'pacboy -Sy --needed --noconfirm binutils:x make:x gcc:x gettext:x readline:x'
|
||||||
|
$env:Path+=";C:\tools\msys64\mingw64\bin"
|
||||||
|
mingw32-make.exe -C chickenbuild PLATFORM=mingw ARCH=x86-64 PREFIX=C:/tools/chicken
|
||||||
|
choco new chicken --version $version --maintainername="'Daniel Ziltener'"
|
||||||
|
Remove-Item -Recurse -Force chicken\tools\
|
||||||
|
Remove-Item -Force chicken\ReadMe.md
|
||||||
|
|
||||||
|
# Copying files
|
||||||
|
$bindir="chicken\tools\bin"
|
||||||
|
New-Item $bindir -ItemType Directory
|
||||||
|
Copy-Item chickenbuild\LICENSE chicken\LICENSE.txt
|
||||||
|
Copy-Item VERIFICATION.txt chicken\VERIFICATION.txt
|
||||||
|
Copy-Item chickenbuild\*.exe $bindir
|
||||||
|
Copy-Item chickenbuild\*.bat $bindir
|
||||||
|
Copy-Item chickenbuild\*.dll $bindir
|
||||||
|
$includedir="chicken\tools\include\chicken"
|
||||||
|
New-Item $includedir -ItemType Directory
|
||||||
|
Copy-Item chickenbuild\chicken.h $includedir
|
||||||
|
Copy-Item chickenbuild\chicken-config.h $includedir
|
||||||
|
$linkerlibdir="chicken\tools\lib"
|
||||||
|
New-Item $linkerlibdir -ItemType Directory
|
||||||
|
Copy-Item chickenbuild\libchicken.a $linkerlibdir
|
||||||
|
Copy-Item chickenbuild\libchicken.dll.a $linkerlibdir
|
||||||
|
$extbindir="chicken\tools\lib\chicken\9"
|
||||||
|
New-Item $extbindir -ItemType Directory
|
||||||
|
Copy-Item chickenbuild\*.so $extbindir
|
||||||
|
Copy-Item chickenbuild\*.db $extbindir
|
||||||
|
$docdir="chicken\tools\share\chicken\doc"
|
||||||
|
New-Item $docdir -ItemType Directory
|
||||||
|
Copy-Item chickenbuild\chicken.png $docdir
|
||||||
|
Copy-Item chickenbuild\feathers.tcl $docdir
|
||||||
|
Copy-Item chickenbuild\LICENSE $docdir
|
||||||
|
Copy-Item chickenbuild\README $docdir
|
||||||
|
Copy-Item chickenbuild\manual-html $docdir\manual-html -Recurse
|
||||||
|
|
||||||
|
$man1dir="chicken\tools\man1"
|
||||||
|
New-Item $man1dir -ItemType Directory
|
||||||
|
Copy-Item chickenbuild\*.1 $man1dir
|
||||||
|
|
||||||
|
Copy-Item chickenbuild\setup.defaults chicken\tools\share\chicken
|
||||||
|
|
||||||
|
Copy-Item chocolateyInstall.ps1 .\chicken\
|
||||||
|
Copy-Item chocolateyUninstall.ps1 .\chicken\
|
||||||
|
|
||||||
|
# Create ignorefiles to prevent creation of shims
|
||||||
|
$files = get-childitem "chicken" -include *.exe -recurse
|
||||||
|
cd chicken
|
||||||
|
foreach ($file in $files) {
|
||||||
|
#generate an ignore file
|
||||||
|
New-Item "$file.ignore" -type file -force | Out-Null
|
||||||
|
}
|
||||||
|
cd ..
|
||||||
|
# Cleanup and packaging
|
||||||
|
Remove-Item -Recurse -Force chickenbuild
|
||||||
|
(Get-Content chicken.nuspec).replace("CHICKEN_VERSION", "$version") | Set-Content chicken\chicken.nuspec
|
||||||
|
cd chicken
|
||||||
|
choco pack
|
||||||
|
cd ..
|
||||||
|
mv .\chicken\chicken.$version.nupkg .\
|
||||||
|
Remove-Item -Recurse -Force chicken
|
26
chicken.nuspec
Normal file
26
chicken.nuspec
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||||
|
<metadata>
|
||||||
|
<id>chicken</id>
|
||||||
|
<version>5.2.0</version>
|
||||||
|
<title>Chicken Scheme</title>
|
||||||
|
<authors>Felix Winkelmann, Peter Bex, Evan Hanson</authors>
|
||||||
|
<owners>Daniel Ziltener</owners>
|
||||||
|
<licenseUrl>https://opensource.org/licenses/BSD-3-Clause</licenseUrl>
|
||||||
|
<projectUrl>http://www.call-cc.org</projectUrl>
|
||||||
|
<iconUrl>http://wiki.call-cc.org/chicken-small.png</iconUrl>
|
||||||
|
<requireLicenseAcceptance>true</requireLicenseAcceptance>
|
||||||
|
<description>CHICKEN is a compiler for the Scheme programming language. It produces portable and efficient C and supports the R5RS and R7RS (work in progress) standards, and many extensions. It runs on Linux, OS X, Windows, many Unix flavours, and aims to be
|
||||||
|
free, simple, portable, extensible, well documented and actively supported.</description>
|
||||||
|
<summary>CHICKEN is a compiler for the Scheme programming language.</summary>
|
||||||
|
<tags>chicken admin scheme lisp programming language</tags>
|
||||||
|
<projectSourceUrl>https://code.call-cc.org/cgi-bin/gitweb.cgi?p=chicken-core.git;a=summary</projectSourceUrl>
|
||||||
|
<packageSourceUrl>https://bitbucket.org/zilti/chicken</packageSourceUrl>
|
||||||
|
<docsUrl>http://wiki.call-cc.org/man/4/The%20User%27s%20Manual</docsUrl>
|
||||||
|
<mailingListUrl>http://lists.nongnu.org/mailman/listinfo/chicken-users</mailingListUrl>
|
||||||
|
<bugTrackerUrl>http://bugs.call-cc.org/</bugTrackerUrl>
|
||||||
|
<dependencies>
|
||||||
|
<dependency id="msys2" />
|
||||||
|
</dependencies>
|
||||||
|
</metadata>
|
||||||
|
</package>
|
5
chocolateyInstall.ps1
Normal file
5
chocolateyInstall.ps1
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
New-Item C:\tools -ItemType Directory
|
||||||
|
Move-Item $env:chocolateyPackageFolder\tools C:\tools\chicken -Force
|
||||||
|
Install-ChocolateyEnvironmentVariable -VariableName "CHICKEN_PREFIX" -VariableValue "C:\tools\chicken" -VariableType Machine
|
||||||
|
Install-ChocolateyPath -PathToInstall "C:\tools\chicken\bin" -PathType Machine
|
||||||
|
Update-SessionEnvironment
|
3
chocolateyUninstall.ps1
Normal file
3
chocolateyUninstall.ps1
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Remove-Item -Recurse -Force "C:\tools\chicken"
|
||||||
|
Uninstall-ChocolateyEnvironmentVariable -VariableName "CHICKEN_PREFIX" -VariableType Machine
|
||||||
|
Update-SessionEnvironment
|
16
update.ps1
Normal file
16
update.ps1
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
function global:au_GetLatest {
|
||||||
|
$download_page = Invoke-WebRequest -UseBasicParsing -Uri 'http://code.call-cc.org/'
|
||||||
|
$url = $download_page.links | ? href -Match '.tar\.gz$' | select -First 1 -Expand href
|
||||||
|
$version = $url -Split '-|.tar.gz' | select -Last 1 -Skip 1
|
||||||
|
return @{ Version = $version; URL = $url }
|
||||||
|
}
|
||||||
|
|
||||||
|
function global:au_SearchReplace {
|
||||||
|
@{
|
||||||
|
"build.ps1" = @{
|
||||||
|
"(^[$]version\s*=\s*)('.*')" = "`$1'$($Latest.Version)'"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Update-Package
|
Loading…
Reference in a new issue