Skip to content

Commit 3e91775

Browse files
committed
preparing 8.8.1 release
1 parent ea16b5e commit 3e91775

File tree

3 files changed

+133
-22
lines changed

3 files changed

+133
-22
lines changed

8.8.1/ghc/ghc.nuspec

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- Do not remove this test for UTF-8: if ??? doesn?t appear as greek uppercase omega letter enclosed in quotation marks, you should use an editor that supports UTF-8, not this one. -->
3+
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
4+
<metadata>
5+
<!-- Read this before publishing packages to chocolatey.org: https://github.com/chocolatey/chocolatey/wiki/CreatePackages -->
6+
<id>ghc</id>
7+
<title>GHC</title>
8+
<version>8.8.1</version>
9+
<authors>GHC Team</authors>
10+
<owners>Tamar Christina</owners>
11+
<summary>GHC is a state-of-the-art, open source, compiler and interactive environment for the functional language Haskell.</summary>
12+
<description>Highlights:
13+
• GHC supports the entire Haskell 2010 language plus a wide variety of extensions.
14+
• GHC has particularly good support for concurrency and parallelism, including support for Software Transactional Memory (STM).
15+
• GHC generates fast code, particularly for concurrent programs. Take a look at GHC's performance on The Computer Language Benchmarks Game.
16+
• GHC works on several platforms including Windows, Mac, Linux, most varieties of Unix, and several different processor architectures. There are detailed instructions for porting GHC to a new platform.
17+
• GHC has extensive optimisation capabilities, including inter-module optimisation.
18+
• GHC compiles Haskell code either directly to native code or using LLVM as a back-end. GHC can also generate C code as an intermediate target for porting to new platforms. The interactive environment compiles Haskell to bytecode, and supports execution of mixed bytecode/compiled programs.
19+
• Profiling is supported, both by time/allocation and various kinds of heap profiling.
20+
• GHC comes with several libraries, and thousands more are available on Hackage.
21+
22+
There's an important change to path handling for Windows starting with 8.6.1.
23+
These changes mean that Haskell programs are no longer constraint to `MAX_PATH`. So passing a long path to `openFile` will just work.
24+
There are a few caveats to this such as you can't access `COM` devices via `COM1` etc anymore and instead need to use the full path `\\.\COM1` etc.
25+
This is all documented https://downloads.haskell.org/~ghc/8.6.5/docs/html/users_guide/win32-dlls.html#windows-file-paths</description>
26+
<projectUrl>https://www.haskell.org/ghc/</projectUrl>
27+
<tags>ghc haskell</tags>
28+
<copyright>Copyright 2017, The University Court of the University of Glasgow.</copyright>
29+
<licenseUrl>https://www.haskell.org/ghc/license</licenseUrl>
30+
<requireLicenseAcceptance>false</requireLicenseAcceptance>
31+
<!-- Important note about https://cdn.rawgit.com: Files are cached permanently after the first request. Use commit URLs when updating the icon. -->
32+
<iconUrl>http://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/Haskell-Logo.svg/2000px-Haskell-Logo.svg.png</iconUrl>
33+
<dependencies>
34+
<dependency id="cabal" version="3.0.0.0" />
35+
</dependencies>
36+
<releaseNotes>https://github.com/ghc/ghc/blob/ghc-8.8/docs/users_guide/8.8.1-notes.rst</releaseNotes>
37+
<docsUrl>https://downloads.haskell.org/~ghc/8.8.1-alpha1/docs/html/</docsUrl>
38+
<mailingListUrl>https://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</mailingListUrl>
39+
<bugTrackerUrl>https://ghc.haskell.org/trac/ghc/</bugTrackerUrl>
40+
<projectSourceUrl>https://www.haskell.org/ghc/</projectSourceUrl>
41+
</metadata>
42+
<files>
43+
<file src="tools\**" target="tools" />
44+
</files>
45+
</package>

8.8.1/ghc/tools/chocolateyInstall.ps1

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
$version = '8.8.1'
2+
$packageName = 'ghc'
3+
$url = 'https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-i386-unknown-mingw32.tar.xz'
4+
$url64 = 'https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-unknown-mingw32.tar.xz'
5+
6+
$binRoot = $(Split-Path -parent $MyInvocation.MyCommand.Definition)
7+
$packageFullName = Join-Path $binRoot ($packageName + '-' + $version)
8+
$binPackageDir = Join-Path $packageFullName "bin"
9+
10+
$tmpPath = Join-Path $env:chocolateyPackageFolder tmp
11+
$tarFile = $packageName + "Install"
12+
$tarPath = Join-Path $tmpPath $tarFile
13+
$tmpFile = Join-Path $binRoot ($tarFile + "~")
14+
15+
Get-ChocolateyWebFile -PackageName $packageName -FileFullPath $tarPath `
16+
-Url $url -ChecksumType sha256 -Checksum <missing> `
17+
-Url64bit $url64 -ChecksumType64 sha256 -Checksum64 29e56e6af38017a5a76b2b6995a39d3988fa58131e4b55b62dd317ba7186ac9b
18+
Get-ChocolateyUnzip -fileFullPath $tarPath -destination $binRoot
19+
Get-ChocolateyUnzip -fileFullPath $tmpFile -destination $binRoot
20+
rm $tmpFile # Clean up temporary file
21+
22+
Install-ChocolateyPath "$binPackageDir"
23+
24+
Write-Host "Hiding shims for `'$binRoot`'."
25+
$files = get-childitem $binRoot -include *.exe -recurse
26+
27+
foreach ($file in $files) {
28+
#generate an ignore file
29+
New-Item "$file.ignore" -type file -force | Out-Null
30+
}
31+
32+
if (($null -ne $Env:TRAVIS) -and ("" -ne $Env:TRAVIS)) {
33+
Write-Host "Configuring Travis aliases."
34+
# We need to fix up refreshenv for Travis
35+
$rc = $Env:HOME + "/.bashrc"
36+
37+
Add-Content $rc "function refreshenv
38+
{
39+
powershell -NonInteractive - <<\EOF
40+
Import-Module -Force `"`$env:ChocolateyInstall\helpers\chocolateyProfile.psm1`"
41+
`$pref = `$ErrorActionPreference
42+
`$ErrorActionPreference = 'SilentlyContinue'
43+
Update-SessionEnvironment
44+
`$ErrorActionPreference = `$pref
45+
# Round brackets in variable names cause problems with bash
46+
Get-ChildItem env:* | %{
47+
if (!(`$_.Name.Contains('('))) {
48+
`$value = `$_.Value
49+
if (`$_.Name -eq 'PATH') {
50+
`$value = `$value -replace ';',':'
51+
}
52+
Write-Output (`"export `" + `$_.Name + `"='`" + `$value + `"'`")
53+
}
54+
} | Out-File -Encoding ascii $env:TEMP\refreshenv.sh
55+
EOF
56+
57+
source `"$env:TEMP/refreshenv.sh`"
58+
}
59+
60+
alias RefreshEnv=refreshenv"
61+
62+
Write-Host "Ok, updated ~/.bashrc, source to use refreshenv."
63+
}

nightly/ghc/tools/chocolateyInstall.ps1

+25-22
Original file line numberDiff line numberDiff line change
@@ -32,31 +32,34 @@ foreach ($file in $files) {
3232
}
3333

3434
if (($null -ne $Env:TRAVIS) -and ("" -ne $Env:TRAVIS)) {
35-
Write-Host "Configuring TRAVIS aliases."
35+
Write-Host "Configuring Travis aliases."
3636
# We need to fix up refreshenv for Travis
3737
$rc = $Env:HOME + "/.bashrc"
3838

39-
Add-Content $rc "function refreshenv`n
40-
{`n
41-
powershell -NonInteractive - <<\EOF`n
42-
Import-Module `"$env:ChocolateyInstall\helpers\chocolateyProfile.psm1`"`n
43-
Update-SessionEnvironment`n
44-
# Round brackets in variable names cause problems with bash`n
45-
Get-ChildItem env:* | %{`n
46-
if (!($_.Name.Contains('('))) {`n
47-
$value = $_.Value`n
48-
if ($_.Name -eq 'PATH') {`n
49-
$value = $value -replace ';',':'`n
50-
}`n
51-
Write-Output (`"export `" + $_.Name + `"='`" + $value + `"'`")`n
52-
}`n
53-
} | Out-File -Encoding ascii $env:TEMP\refreshenv.sh`n
54-
EOF`n
55-
`n
56-
source `"$TEMP/refreshenv.sh`"`n
57-
}`n
58-
`n
59-
alias RefreshEnv=refreshenv`n"
39+
Add-Content $rc "function refreshenv
40+
{
41+
powershell -NonInteractive - <<\EOF
42+
Import-Module -Force `"`$env:ChocolateyInstall\helpers\chocolateyProfile.psm1`"
43+
`$pref = `$ErrorActionPreference
44+
`$ErrorActionPreference = 'SilentlyContinue'
45+
Update-SessionEnvironment
46+
`$ErrorActionPreference = $pref
47+
# Round brackets in variable names cause problems with bash
48+
Get-ChildItem env:* | %{
49+
if (!(`$_.Name.Contains('('))) {
50+
`$value = `$_.Value
51+
if (`$_.Name -eq 'PATH') {
52+
`$value = `$value -replace ';',':'
53+
}
54+
Write-Output (`"export `" + `$_.Name + `"='`" + `$value + `"'`")
55+
}
56+
} | Out-File -Encoding ascii $env:TEMP\refreshenv.sh
57+
EOF
58+
59+
source `"$env:TEMP/refreshenv.sh`"
60+
}
61+
62+
alias RefreshEnv=refreshenv"
6063

6164
Write-Host "Ok, updated ~/.bashrc, source to use refreshenv."
6265
}

0 commit comments

Comments
 (0)