mirror of
https://github.com/IHaskell/IHaskell.git
synced 2025-04-14 10:26:07 +00:00
Nix and stack.yaml organization
This commit is contained in:
parent
641e7b9ecc
commit
9f57e2c52e
108
.github/workflows/ci.yml
vendored
108
.github/workflows/ci.yml
vendored
@ -1,108 +0,0 @@
|
||||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
paths-ignore:
|
||||
- 'demo/**'
|
||||
- 'docker/**'
|
||||
- 'Dockerfile'
|
||||
- '.dockerignore'
|
||||
- '.ghci'
|
||||
- '.gitignore'
|
||||
- 'images/**'
|
||||
- 'notebooks/**'
|
||||
- 'README.md'
|
||||
- 'hie.yaml'
|
||||
- '*.nix'
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- 'demo/**'
|
||||
- 'docker/**'
|
||||
- 'Dockerfile'
|
||||
- '.dockerignore'
|
||||
- '.ghci'
|
||||
- '.gitignore'
|
||||
- 'images/**'
|
||||
- 'notebooks/**'
|
||||
- 'README.md'
|
||||
- 'hie.yaml'
|
||||
- '*.nix'
|
||||
|
||||
jobs:
|
||||
linux:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
versions:
|
||||
- stack-yaml: 'stack-8.0.yaml'
|
||||
- stack-yaml: 'stack-8.2.yaml'
|
||||
- stack-yaml: 'stack-8.4.yaml'
|
||||
- stack-yaml: 'stack-8.6.yaml'
|
||||
- stack-yaml: 'stack-8.8.yaml'
|
||||
- stack-yaml: 'stack-8.10.yaml'
|
||||
- stack-yaml: 'stack-9.0.yaml'
|
||||
- stack-yaml: 'stack-9.2.yaml'
|
||||
- stack-yaml: 'stack.yaml'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Cache .stack
|
||||
uses: actions/cache@v2.1.6
|
||||
with:
|
||||
path: ~/.stack/snapshots
|
||||
key: ${{ runner.os }}-${{ matrix.versions.stack-yaml }}-${{ hashFiles(format('./{0}', matrix.versions.stack-yaml)) }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-${{ matrix.versions.stack-yaml }}
|
||||
- name: Update system dependencies
|
||||
run: |
|
||||
sudo apt update
|
||||
- name: Install system dependencies
|
||||
run: |
|
||||
sudo apt install libmagic-dev libgmp-dev libblas-dev liblapack-dev libcairo2-dev libpango1.0-dev libzmq3-dev jq
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: '3.8'
|
||||
- name: Install Python dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip setuptools wheel
|
||||
pip install -r requirements.txt
|
||||
- name: Install Stack
|
||||
run: |
|
||||
export PATH=$HOME/.local/bin:$PATH
|
||||
mkdir -p ~/.local/bin
|
||||
curl -L https://get.haskellstack.org/stable/linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
|
||||
- name: Build dependencies
|
||||
run: |
|
||||
# Used to avoid 'source and destination file are the same' error
|
||||
mv ${{ matrix.versions.stack-yaml }} intermediate-stack.yaml
|
||||
mv intermediate-stack.yaml stack.yaml
|
||||
|
||||
echo "apply-ghc-options: everything" >> stack.yaml
|
||||
|
||||
stack setup
|
||||
stack install gtk2hs-buildtools
|
||||
stack build hmatrix
|
||||
stack build --dependencies-only
|
||||
- name: Run Haskell tests
|
||||
run: |
|
||||
set -e
|
||||
stack build ipython-kernel --flag ipython-kernel:examples
|
||||
stack test ihaskell --no-terminal
|
||||
- name: Run integration test
|
||||
# The test is flaky on GHC 8.0 so we don't run it. As long as the tests
|
||||
# above pass, it's unlikely that we'll introduce a bug that we will
|
||||
# only catch through the integration test on this version and not other
|
||||
# versions.
|
||||
if: ${{ !contains(fromJSON('["stack-8.0.yaml", "stack-8.2.yaml"]'), matrix.versions.stack-yaml) }}
|
||||
run: |
|
||||
set -e
|
||||
stack build --no-terminal
|
||||
# Ensure that IHaskell notebook remains unchanged.
|
||||
# Run the notebook to regenerate the outputs, then compare the new notebook to the old one.
|
||||
stack install
|
||||
stack exec -- ihaskell install --stack
|
||||
test/acceptance.nbconvert.sh stack exec -- jupyter nbconvert
|
75
.github/workflows/docker.yml
vendored
75
.github/workflows/docker.yml
vendored
@ -1,48 +1,54 @@
|
||||
name: "Docker"
|
||||
name: Docker
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
paths:
|
||||
- '.dockerignore'
|
||||
- '.github/workflows/docker.yml'
|
||||
- 'Dockerfile'
|
||||
- 'LICENSE'
|
||||
- 'ghc-parser/**'
|
||||
- 'html/**'
|
||||
- 'ihaskell-display/**'
|
||||
- 'ihaskell.cabal'
|
||||
- 'ipython-kernel/**'
|
||||
- 'jupyterlab-ihaskell/**'
|
||||
- 'main/**'
|
||||
- 'src/**'
|
||||
- 'stack.yaml'
|
||||
- '.dockerignore'
|
||||
- '.github/workflows/docker.yml'
|
||||
- 'Dockerfile'
|
||||
- 'LICENSE'
|
||||
- 'ghc-parser/**'
|
||||
- 'html/**'
|
||||
- 'ihaskell-display/**'
|
||||
- 'ihaskell.cabal'
|
||||
- 'ipython-kernel/**'
|
||||
- 'jupyterlab-ihaskell/**'
|
||||
- 'main/**'
|
||||
- 'src/**'
|
||||
- 'stack.yaml'
|
||||
pull_request:
|
||||
paths:
|
||||
- '.dockerignore'
|
||||
- '.github/workflows/docker.yml'
|
||||
- 'Dockerfile'
|
||||
- 'LICENSE'
|
||||
- 'ghc-parser/**'
|
||||
- 'html/**'
|
||||
- 'ihaskell-display/**'
|
||||
- 'ihaskell.cabal'
|
||||
- 'ipython-kernel/**'
|
||||
- 'jupyterlab-ihaskell/**'
|
||||
- 'main/**'
|
||||
- 'src/**'
|
||||
- 'stack.yaml'
|
||||
- '.dockerignore'
|
||||
- '.github/workflows/docker.yml'
|
||||
- 'Dockerfile'
|
||||
- 'LICENSE'
|
||||
- 'ghc-parser/**'
|
||||
- 'html/**'
|
||||
- 'ihaskell-display/**'
|
||||
- 'ihaskell.cabal'
|
||||
- 'ipython-kernel/**'
|
||||
- 'jupyterlab-ihaskell/**'
|
||||
- 'main/**'
|
||||
- 'src/**'
|
||||
- 'stack.yaml'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install Stack
|
||||
run: |
|
||||
export PATH=$HOME/.local/bin:$PATH
|
||||
mkdir -p ~/.local/bin
|
||||
curl -L https://get.haskellstack.org/stable/linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- uses: haskell/actions/setup@v2
|
||||
name: Setup Haskell Stack
|
||||
with:
|
||||
enable-stack: true
|
||||
stack-version: "latest"
|
||||
|
||||
- name: Check Dockerfile GHC version matches
|
||||
run: |
|
||||
set -e
|
||||
@ -53,6 +59,7 @@ jobs:
|
||||
echo "GHC_VERSION should be ${STACK_GHC_VERSION}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- uses: elgohr/Publish-Docker-Github-Action@v5
|
||||
with:
|
||||
name: gibiansky/ihaskell
|
||||
|
95
.github/workflows/nix.yml
vendored
95
.github/workflows/nix.yml
vendored
@ -1,61 +1,72 @@
|
||||
name: "Nix"
|
||||
name: Nix
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 2 * * *'
|
||||
- cron: '0 2 * * *'
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
paths-ignore:
|
||||
- 'demo/**'
|
||||
- 'docker/**'
|
||||
- 'Dockerfile'
|
||||
- '.dockerignore'
|
||||
- '.ghci'
|
||||
- '.gitignore'
|
||||
- 'images/**'
|
||||
- 'notebooks/**'
|
||||
- 'README.md'
|
||||
- '*.yaml'
|
||||
- 'demo/**'
|
||||
- 'docker/**'
|
||||
- 'Dockerfile'
|
||||
- '.dockerignore'
|
||||
- '.ghci'
|
||||
- '.gitignore'
|
||||
- 'images/**'
|
||||
- 'notebooks/**'
|
||||
- 'README.md'
|
||||
- '*.yaml'
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- 'demo/**'
|
||||
- 'docker/**'
|
||||
- 'Dockerfile'
|
||||
- '.dockerignore'
|
||||
- '.ghci'
|
||||
- '.gitignore'
|
||||
- 'images/**'
|
||||
- 'notebooks/**'
|
||||
- 'README.md'
|
||||
- '*.yaml'
|
||||
- 'demo/**'
|
||||
- 'docker/**'
|
||||
- 'Dockerfile'
|
||||
- '.dockerignore'
|
||||
- '.ghci'
|
||||
- '.gitignore'
|
||||
- 'images/**'
|
||||
- 'notebooks/**'
|
||||
- 'README.md'
|
||||
- '*.yaml'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
versions:
|
||||
- release: 'release-9.2.nix'
|
||||
- release: 'release-9.4.nix'
|
||||
- release: 'release-9.6.nix'
|
||||
- release: 'release-9.8.nix'
|
||||
env:
|
||||
- ihaskell-env-ghc810
|
||||
- ihaskell-env-ghc90
|
||||
- ihaskell-env-ghc92
|
||||
- ihaskell-env-ghc94
|
||||
- ihaskell-env-ghc96
|
||||
- ihaskell-env-ghc98
|
||||
|
||||
- ihaskell-env-display-ghc810
|
||||
- ihaskell-env-display-ghc90
|
||||
- ihaskell-env-display-ghc92
|
||||
- ihaskell-env-display-ghc94
|
||||
- ihaskell-env-display-ghc96
|
||||
- ihaskell-env-display-ghc98
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: cachix/install-nix-action@v20
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- uses: cachix/install-nix-action@v22
|
||||
with:
|
||||
install_url: https://releases.nixos.org/nix/nix-2.13.3/install
|
||||
|
||||
- uses: cachix/cachix-action@v12
|
||||
with:
|
||||
name: ihaskell
|
||||
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
|
||||
- run: |
|
||||
nix-build --keep-going \
|
||||
-I nixpkgs=https://github.com/NixOS/nixpkgs/tarball/nixos-23.05 \
|
||||
${{ matrix.versions.release }} \
|
||||
--arg packages "haskellPackages: [ haskellPackages.ihaskell ]"
|
||||
- if: matrix.versions.release != 'release-9.8.nix'
|
||||
run: |
|
||||
nix-shell \
|
||||
-I nixpkgs=https://github.com/NixOS/nixpkgs/tarball/nixos-23.05 \
|
||||
-p jq --run \
|
||||
'test/acceptance.nbconvert.sh result/bin/jupyter nbconvert'
|
||||
|
||||
- name: Build environment ${{matrix.env}}
|
||||
run: |
|
||||
nix build .#${{matrix.env}}
|
||||
|
||||
- name: Check acceptance test for ${{matrix.env}}
|
||||
# Disable GHC 9.8 here since we don't have hlint support yet
|
||||
if: ${{ !contains(fromJSON('["ihaskell-env-ghc98"]'), matrix.env) && !contains(matrix.env, fromJSON('"display"')) }}
|
||||
run: |
|
||||
nix build .#checks.x86_64-linux.${{matrix.env}} -L
|
||||
|
103
.github/workflows/stack.yml
vendored
Normal file
103
.github/workflows/stack.yml
vendored
Normal file
@ -0,0 +1,103 @@
|
||||
name: Stack
|
||||
|
||||
on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- 'demo/**'
|
||||
- 'docker/**'
|
||||
- 'Dockerfile'
|
||||
- '.dockerignore'
|
||||
- '.ghci'
|
||||
- '.gitignore'
|
||||
- 'images/**'
|
||||
- 'notebooks/**'
|
||||
- 'README.md'
|
||||
- 'hie.yaml'
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- 'demo/**'
|
||||
- 'docker/**'
|
||||
- 'Dockerfile'
|
||||
- '.dockerignore'
|
||||
- '.ghci'
|
||||
- '.gitignore'
|
||||
- 'images/**'
|
||||
- 'notebooks/**'
|
||||
- 'README.md'
|
||||
- 'hie.yaml'
|
||||
|
||||
jobs:
|
||||
linux:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
stack-yaml:
|
||||
# - 'stack/stack-8.2.yaml'
|
||||
# - 'stack/stack-8.4.yaml'
|
||||
# - 'stack/stack-8.6.yaml'
|
||||
- 'stack/stack-8.8.yaml'
|
||||
- 'stack/stack-8.10.yaml'
|
||||
- 'stack/stack-9.0.yaml'
|
||||
- 'stack/stack-9.2.yaml'
|
||||
- 'stack/stack-9.4.yaml'
|
||||
- 'stack/stack-9.6.yaml'
|
||||
- 'stack.yaml'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- uses: cachix/install-nix-action@v22
|
||||
with:
|
||||
install_url: https://releases.nixos.org/nix/nix-2.13.3/install
|
||||
|
||||
- uses: haskell/actions/setup@v2
|
||||
name: Setup Haskell Stack
|
||||
with:
|
||||
enable-stack: true
|
||||
stack-version: "latest"
|
||||
|
||||
- uses: actions/cache@v3
|
||||
name: Cache ~/.stack
|
||||
with:
|
||||
path: ~/.stack
|
||||
key: ${{ runner.os }}-${{ matrix.stack-yaml }}-${{ hashFiles(format('./{0}', matrix.stack-yaml)) }}
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
export "NIX_PATH=nixpkgs=$(nix run .#print-nixpkgs-master)"
|
||||
stack build --nix --stack-yaml ${{matrix.stack-yaml}}
|
||||
|
||||
- name: Test
|
||||
if: ${{ !contains(fromJSON('["stack/stack-8.8.yaml"]'), matrix.stack-yaml) }}
|
||||
run: |
|
||||
export "NIX_PATH=nixpkgs=$(nix run .#print-nixpkgs-master)"
|
||||
stack test --nix --stack-yaml ${{matrix.stack-yaml}}
|
||||
|
||||
- name: Run integration test
|
||||
# The test is flaky on GHC 8.0 so we don't run it. As long as the tests
|
||||
# above pass, it's unlikely that we'll introduce a bug that we will
|
||||
# only catch through the integration test on this version and not other
|
||||
# versions.
|
||||
if: ${{ !contains(fromJSON('["stack/stack-8.0.yaml", "stack/stack-8.2.yaml"]'), matrix.stack-yaml) }}
|
||||
run: |
|
||||
set -e
|
||||
|
||||
export "NIX_PATH=nixpkgs=$(nix run .#print-nixpkgs-master)"
|
||||
|
||||
nix build .#jupyterlab
|
||||
export PATH="$(pwd)/result/bin:$(pwd)/.local/bin:$PATH"
|
||||
|
||||
stack install --nix --stack-yaml ${{matrix.stack-yaml}}
|
||||
|
||||
echo "PATH: $PATH"
|
||||
echo "jupyter: $(which jupyter)"
|
||||
echo "ihaskell: $(which ihaskell)"
|
||||
|
||||
ihaskell install --stack
|
||||
|
||||
jupyter-kernelspec list
|
||||
|
||||
# Ensure that IHaskell notebook remains unchanged.
|
||||
# Run the notebook to regenerate the outputs, then compare the new notebook to the old one.
|
||||
test/acceptance.nbconvert.sh stack exec --nix --no-nix-pure --stack-yaml ${{matrix.stack-yaml}} -- jupyter nbconvert
|
@ -1,6 +1,6 @@
|
||||
# should match the GHC version of the stack.yaml resolver
|
||||
# checked in CI
|
||||
ARG GHC_VERSION=9.4.5
|
||||
ARG GHC_VERSION=9.4.7
|
||||
|
||||
FROM haskell:${GHC_VERSION} AS ihaskell_base
|
||||
|
||||
|
139
flake.lock
generated
139
flake.lock
generated
@ -3,27 +3,11 @@
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1627913399,
|
||||
"narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=",
|
||||
"lastModified": 1673956053,
|
||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1627913399,
|
||||
"narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2",
|
||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -48,12 +32,15 @@
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1629481132,
|
||||
"narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=",
|
||||
"lastModified": 1685518550,
|
||||
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "997f7efcb746a9c140ce1f13c72263189225f482",
|
||||
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -62,36 +49,18 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1611672876,
|
||||
"narHash": "sha256-qHu3uZ/o9jBHiA3MEKHJ06k7w4heOhA+4HCSIvflRxo=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "211907489e9f198594c0eb0ca9256a1949c9d412",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hls": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"pre-commit-hooks": "pre-commit-hooks"
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1637213318,
|
||||
"narHash": "sha256-ZgxPwV7t4DyGYP7aXoetq+JHtd73XlOV2fYSflQmOXw=",
|
||||
"lastModified": 1700698084,
|
||||
"narHash": "sha256-5HcHQ/GLcPrJk7Dn7xQGb+O5ZwJE/QNj+plWyHNuP38=",
|
||||
"owner": "haskell",
|
||||
"repo": "haskell-language-server",
|
||||
"rev": "311107eabbf0537e0c192b2c377d282505b4eff1",
|
||||
"rev": "7db6215c6da39b6550d7c1ce6ea5b1bbe6e6dfde",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -100,69 +69,91 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-filter": {
|
||||
"locked": {
|
||||
"lastModified": 1694857738,
|
||||
"narHash": "sha256-bxxNyLHjhu0N8T3REINXQ2ZkJco0ABFPn6PIe2QUfqo=",
|
||||
"owner": "numtide",
|
||||
"repo": "nix-filter",
|
||||
"rev": "41fd48e00c22b4ced525af521ead8792402de0ea",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "nix-filter",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1630887066,
|
||||
"narHash": "sha256-0ecIlrLsNIIa+zrNmzXXmbMBLZlmHU/aWFsa4bq99Hk=",
|
||||
"lastModified": 1694477507,
|
||||
"narHash": "sha256-RtUmM5s6vnx1W+tnrGzXArVScJ/IoGmqCLM177k5O5A=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5e47a07e9f2d7ed999f2c7943b0896f5f7321ca3",
|
||||
"rev": "ff303118b2ec262eb342eab88ae79318fac66d52",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"ref": "haskell-updates",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"nixpkgs23_05": {
|
||||
"locked": {
|
||||
"lastModified": 1634515797,
|
||||
"narHash": "sha256-elgCUC2khtBkOSpE4gDymNvthTZAI4hGI2iNu3YEUkA=",
|
||||
"lastModified": 1701053011,
|
||||
"narHash": "sha256-8QQ7rFbKFqgKgLoaXVJRh7Ik5LtI3pyBBCfOnNOGkF0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5f0194220f2402b06f7f79bba6351895facb5acb",
|
||||
"rev": "5b528f99f73c4fad127118a8c1126b5e003b01a9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"ref": "release-23.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"hls",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hls",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"nixpkgsMaster": {
|
||||
"locked": {
|
||||
"lastModified": 1624971177,
|
||||
"narHash": "sha256-Amf/nBj1E77RmbSSmV+hg6YOpR+rddCbbVgo5C7BS0I=",
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"rev": "397f0713d007250a2c7a745e555fa16c5dc8cadb",
|
||||
"lastModified": 1700608285,
|
||||
"narHash": "sha256-JAzapARzm6IfwDzBXNgNfFfAG3Fsr15pKLh/bZc7pU4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "86eb3a994ed6f101ed4b3c19025e8133423bcca8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"owner": "NixOS",
|
||||
"ref": "master",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-utils": "flake-utils",
|
||||
"hls": "hls",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
"nix-filter": "nix-filter",
|
||||
"nixpkgs23_05": "nixpkgs23_05",
|
||||
"nixpkgsMaster": "nixpkgsMaster"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
184
flake.nix
184
flake.nix
@ -1,118 +1,104 @@
|
||||
{
|
||||
description = "A Haskell kernel for IPython.";
|
||||
|
||||
inputs = {
|
||||
inputs.nixpkgs23_05.url = "github:NixOS/nixpkgs/release-23.05";
|
||||
inputs.nixpkgsMaster.url = "github:NixOS/nixpkgs/master";
|
||||
inputs.flake-utils.url = "github:numtide/flake-utils";
|
||||
inputs.hls.url = "github:haskell/haskell-language-server";
|
||||
inputs.nix-filter.url = "github:numtide/nix-filter";
|
||||
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
hls.url = "github:haskell/haskell-language-server";
|
||||
outputs = { self, nixpkgs23_05, nixpkgsMaster, flake-utils, hls, nix-filter, ... }:
|
||||
# "x86_64-darwin" "aarch64-darwin"
|
||||
flake-utils.lib.eachSystem ["x86_64-linux"] (system: let
|
||||
baseOverlay = self: super: { inherit nix-filter; };
|
||||
pkgs23_05 = import nixpkgs23_05 { inherit system; overlays = [baseOverlay]; };
|
||||
pkgsMaster = import nixpkgsMaster { inherit system; overlays = [baseOverlay]; };
|
||||
|
||||
flake-compat = {
|
||||
url = "github:edolstra/flake-compat";
|
||||
flake = false;
|
||||
};
|
||||
};
|
||||
jupyterlab = pkgsMaster.python3.withPackages (ps: [ ps.jupyterlab ps.notebook ]);
|
||||
|
||||
outputs = { self, hls, nixpkgs, flake-utils, ... }:
|
||||
flake-utils.lib.eachSystem ["x86_64-linux" "x86_64-darwin" "aarch64-darwin"] (system: let
|
||||
versions = let
|
||||
mkVersion = pkgsSrc: compiler: overlays: extraArgs: {
|
||||
name = compiler;
|
||||
value = (import pkgsSrc { inherit system; overlays = [baseOverlay] ++ overlays; }).callPackage ./nix/release.nix ({
|
||||
inherit compiler;
|
||||
} // extraArgs);
|
||||
};
|
||||
in
|
||||
pkgsMaster.lib.listToAttrs [
|
||||
(mkVersion nixpkgs23_05 "ghc810" [(import ./nix/overlay-8.10.nix)] {})
|
||||
(mkVersion nixpkgs23_05 "ghc90" [(import ./nix/overlay-9.0.nix)] {})
|
||||
(mkVersion nixpkgs23_05 "ghc92" [] {})
|
||||
(mkVersion nixpkgsMaster "ghc94" [(import ./nix/overlay-9.4.nix)] {})
|
||||
(mkVersion nixpkgsMaster "ghc96" [(import ./nix/overlay-9.6.nix)] {})
|
||||
(mkVersion nixpkgsMaster "ghc98" [(import ./nix/overlay-9.8.nix)] { enableHlint = false; })
|
||||
];
|
||||
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
};
|
||||
|
||||
compilerVersionFromHsPkgs = hsPkgs:
|
||||
pkgs.lib.replaceStrings [ "." ] [ "" ] hsPkgs.ghc.version;
|
||||
|
||||
mkEnv = hsPkgs: displayPkgs:
|
||||
import ./release.nix {
|
||||
compiler = "ghc${compilerVersionFromHsPkgs hsPkgs}";
|
||||
nixpkgs = pkgs;
|
||||
packages = displayPkgs;
|
||||
envs' = prefix: packages: pkgsMaster.lib.mapAttrs' (version: releaseFn: {
|
||||
name = prefix + version;
|
||||
value = (releaseFn {
|
||||
# Note: this can be changed to other Jupyter systems like jupyter-console
|
||||
extraEnvironmentBinaries = [ jupyterlab ];
|
||||
systemPackages = p: with p; [
|
||||
gnuplot # for the ihaskell-gnuplot runtime
|
||||
];
|
||||
inherit packages;
|
||||
});
|
||||
}) versions;
|
||||
|
||||
# Basic envs with Jupyterlab and IHaskell
|
||||
envs = envs' "ihaskell-env-" (_: []);
|
||||
|
||||
# Envs with Jupyterlab, IHaskell, and all display packages
|
||||
displayEnvs = envs' "ihaskell-env-display-" (p: with p; map (n: builtins.getAttr n p) (import ./nix/displays.nix));
|
||||
|
||||
exes = pkgsMaster.lib.mapAttrs' (envName: env: {
|
||||
name = builtins.replaceStrings ["-env"] [""] envName;
|
||||
value = env.ihaskellExe;
|
||||
}) envs;
|
||||
|
||||
devShells = pkgsMaster.lib.mapAttrs' (version: releaseFn: {
|
||||
name = "ihaskell-dev-" + version;
|
||||
value = pkgsMaster.callPackage ./nix/mkDevShell.nix {
|
||||
inherit hls system version;
|
||||
haskellPackages = (releaseFn {}).haskellPackages;
|
||||
ihaskellOverlay = (releaseFn {}).ihaskellOverlay;
|
||||
};
|
||||
|
||||
mkExe = hsPkgs: (mkEnv hsPkgs (_:[])).ihaskellExe;
|
||||
|
||||
ghcDefault = ghc8107;
|
||||
ghc884 = pkgs.haskell.packages.ghc884;
|
||||
ghc8107 = pkgs.haskell.packages.ghc8107;
|
||||
ghc921 = pkgs.haskell.packages.ghc921;
|
||||
|
||||
pythonDevEnv = pkgs.python3.withPackages (p: [p.jupyterlab]);
|
||||
|
||||
mkDevShell = hsPkgs:
|
||||
let
|
||||
myIHaskell = (mkPackage hsPkgs);
|
||||
compilerVersion = compilerVersionFromHsPkgs hsPkgs;
|
||||
|
||||
myModifier = drv:
|
||||
pkgs.haskell.lib.addBuildTools drv (with hsPkgs; [
|
||||
cabal-install
|
||||
pythonDevEnv
|
||||
self.inputs.hls.packages.${system}."haskell-language-server-${compilerVersion}"
|
||||
pkgs.cairo # for the ihaskell-charts HLS dev environment
|
||||
pkgs.pango # for the ihaskell-diagrams HLS dev environment
|
||||
pkgs.lapack # for the ihaskell-plot HLS dev environment
|
||||
pkgs.blas # for the ihaskell-plot HLS dev environment
|
||||
]);
|
||||
in (myModifier myIHaskell).envFunc {withHoogle=true;};
|
||||
|
||||
|
||||
mkPackage = hsPkgs:
|
||||
let
|
||||
compilerVersion = pkgs.lib.replaceStrings [ "." ] [ "" ] hsPkgs.ghc.version;
|
||||
in
|
||||
hsPkgs.developPackage {
|
||||
root = pkgs.lib.cleanSource ./.;
|
||||
name = "ihaskell";
|
||||
returnShellEnv = false;
|
||||
modifier = pkgs.haskell.lib.dontCheck;
|
||||
overrides = (mkEnv hsPkgs (_:[])).ihaskellOverlay ;
|
||||
withHoogle = true;
|
||||
};
|
||||
}) versions;
|
||||
|
||||
in {
|
||||
packages = envs // displayEnvs // exes // devShells // rec {
|
||||
# For easily testing that everything builds
|
||||
allEnvs = pkgsMaster.linkFarm "ihaskell-envs" envs;
|
||||
allDisplayEnvs = pkgsMaster.linkFarm "ihaskell-display-envs" displayEnvs;
|
||||
allExes = pkgsMaster.linkFarm "ihaskell-exes" exes;
|
||||
allDevShells = pkgsMaster.linkFarm "ihaskell-dev-shells" devShells;
|
||||
|
||||
packages = {
|
||||
# Development environment
|
||||
ihaskell-dev = mkDevShell ghcDefault;
|
||||
ihaskell-dev-921 = mkDevShell ghc921;
|
||||
ihaskell-dev-8107 = mkDevShell ghc8107;
|
||||
ihaskell-dev-884 = mkDevShell ghc884;
|
||||
|
||||
# IHaskell kernel
|
||||
ihaskell = mkExe ghcDefault;
|
||||
ihaskell-8107 = mkExe ghc8107;
|
||||
ihaskell-921 = mkExe ghc921;
|
||||
|
||||
# Full Jupyter environment
|
||||
# I actually wish those would disappear ? let jupyterWith or use deal with it
|
||||
ihaskell-env = mkEnv ghcDefault (_:[]);
|
||||
ihaskell-env-8107 = mkEnv ghc8107 (_:[]);
|
||||
|
||||
# Full Jupyter environment with all Display modules (build is not incremental)
|
||||
#
|
||||
# result/bin/jupyter-lab
|
||||
#
|
||||
ihaskell-env-display = mkEnv ghcDefault (p: with p; [
|
||||
ihaskell-aeson
|
||||
ihaskell-blaze
|
||||
ihaskell-charts
|
||||
ihaskell-diagrams
|
||||
ihaskell-gnuplot
|
||||
ihaskell-graphviz
|
||||
ihaskell-hatex
|
||||
ihaskell-juicypixels
|
||||
ihaskell-magic
|
||||
ihaskell-plot
|
||||
ihaskell-widgets
|
||||
]);
|
||||
# For getting Nix paths in CI
|
||||
print-nixpkgs-stable = pkgsMaster.writeShellScriptBin "print-nixpkgs-stable.sh" "echo ${pkgs23_05.path}";
|
||||
print-nixpkgs-master = pkgsMaster.writeShellScriptBin "print-nixpkgs-master.sh" "echo ${pkgsMaster.path}";
|
||||
inherit jupyterlab;
|
||||
};
|
||||
|
||||
defaultPackage = self.packages.${system}.ihaskell;
|
||||
# Run the acceptance tests on each env
|
||||
checks = pkgsMaster.lib.mapAttrs (envName: env:
|
||||
pkgsMaster.stdenv.mkDerivation {
|
||||
name = envName + "-check";
|
||||
src = pkgsMaster.callPackage ./nix/ihaskell-src.nix {};
|
||||
nativeBuildInputs = with pkgsMaster; [jq bash];
|
||||
doCheck = true;
|
||||
checkPhase = ''
|
||||
mkdir -p home
|
||||
export HOME=$(pwd)/home
|
||||
bash ./test/acceptance.nbconvert.sh ${env}/bin/jupyter nbconvert
|
||||
'';
|
||||
installPhase = ''
|
||||
touch $out
|
||||
'';
|
||||
}
|
||||
) envs;
|
||||
|
||||
devShell = self.packages.${system}.ihaskell-dev;
|
||||
defaultPackage = self.packages.${system}.ihaskell-ghc810;
|
||||
|
||||
devShell = self.packages.${system}.ihaskell-dev-ghc810;
|
||||
});
|
||||
}
|
||||
|
@ -299,4 +299,4 @@ promote
|
||||
|
||||
-- hasKey :: Field -> Bool
|
||||
hasKey x = toKey x /= ""
|
||||
|]
|
||||
|]
|
||||
|
@ -64,13 +64,13 @@
|
||||
-- specification.
|
||||
module IHaskell.Display.Widgets.Types where
|
||||
|
||||
import Control.Monad (unless, join, when, void,mzero)
|
||||
import Control.Applicative ((<$>))
|
||||
import qualified Control.Exception as Ex
|
||||
import Data.Typeable (Typeable, TypeRep, typeOf)
|
||||
import Control.Monad (unless, join, when, void,mzero)
|
||||
import Data.IORef (IORef, readIORef, modifyIORef)
|
||||
import Data.String
|
||||
import Data.Text (Text, pack)
|
||||
import Data.Typeable (Typeable, TypeRep, typeOf)
|
||||
import System.IO.Error
|
||||
import System.Posix.IO
|
||||
import Text.Printf (printf)
|
||||
@ -904,7 +904,11 @@ noStdin action =
|
||||
handler e = when (ioeGetErrorType e == InvalidArgument)
|
||||
(error "Widgets cannot do console input, sorry :)")
|
||||
in Ex.handle handler $ do
|
||||
#if MIN_VERSION_unix(2,8,0)
|
||||
nullFd <- openFd "/dev/null" WriteOnly defaultFileFlags
|
||||
#else
|
||||
nullFd <- openFd "/dev/null" WriteOnly Nothing defaultFileFlags
|
||||
#endif
|
||||
oldStdin <- dup stdInput
|
||||
void $ dupTo nullFd stdInput
|
||||
closeFd nullFd
|
||||
|
15
nix/displays.nix
Normal file
15
nix/displays.nix
Normal file
@ -0,0 +1,15 @@
|
||||
[
|
||||
"ihaskell-aeson"
|
||||
"ihaskell-blaze"
|
||||
"ihaskell-charts"
|
||||
"ihaskell-diagrams"
|
||||
"ihaskell-gnuplot"
|
||||
"ihaskell-graphviz"
|
||||
"ihaskell-hatex"
|
||||
"ihaskell-juicypixels"
|
||||
"ihaskell-magic"
|
||||
"ihaskell-plot"
|
||||
# "ihaskell-rlangqq"
|
||||
# "ihaskell-static-canvas"
|
||||
"ihaskell-widgets"
|
||||
]
|
41
nix/ihaskell-overlay.nix
Normal file
41
nix/ihaskell-overlay.nix
Normal file
@ -0,0 +1,41 @@
|
||||
{ callPackage
|
||||
, haskell
|
||||
, lib
|
||||
|
||||
, compiler
|
||||
, enableHlint
|
||||
}:
|
||||
|
||||
self: super:
|
||||
|
||||
let
|
||||
ihaskell-src = callPackage ./ihaskell-src.nix {};
|
||||
|
||||
displays = let
|
||||
mkDisplay = display: {
|
||||
name = display;
|
||||
value = self.callCabal2nix display "${ihaskell-src}/ihaskell-display/${display}" {};
|
||||
};
|
||||
in
|
||||
builtins.listToAttrs (map mkDisplay (import ./displays.nix));
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
ihaskell = let
|
||||
baseIhaskell = haskell.lib.overrideCabal (self.callCabal2nix "ihaskell" ihaskell-src {}) (_drv: {
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR/home
|
||||
export PATH=$PWD/dist/build/ihaskell:$PATH
|
||||
export GHC_PACKAGE_PATH=$PWD/dist/package.conf.inplace/:$GHC_PACKAGE_PATH
|
||||
'';
|
||||
configureFlags = (_drv.configureFlags or []) ++ (lib.optionals (!enableHlint) [ "-f" "-use-hlint" ]);
|
||||
});
|
||||
in
|
||||
if enableHlint
|
||||
then baseIhaskell
|
||||
else baseIhaskell.overrideScope (self: super: { hlint = null; });
|
||||
|
||||
ghc-parser = self.callCabal2nix "ghc-parser" (builtins.path { path = ../ghc-parser; name = "ghc-parser-src"; }) {};
|
||||
ipython-kernel = self.callCabal2nix "ipython-kernel" (builtins.path { path = ../ipython-kernel; name = "ipython-kernel-src"; }) {};
|
||||
} // displays
|
19
nix/ihaskell-src.nix
Normal file
19
nix/ihaskell-src.nix
Normal file
@ -0,0 +1,19 @@
|
||||
{ nix-filter
|
||||
}:
|
||||
|
||||
nix-filter {
|
||||
root = ../.;
|
||||
include = [
|
||||
"LICENSE"
|
||||
"Setup.hs"
|
||||
"ghc-parser"
|
||||
"html"
|
||||
"ihaskell-display"
|
||||
"ihaskell.cabal"
|
||||
"ipython-kernel"
|
||||
"jupyterlab-ihaskell"
|
||||
"main"
|
||||
"src"
|
||||
"test"
|
||||
];
|
||||
}
|
40
nix/mkDevShell.nix
Normal file
40
nix/mkDevShell.nix
Normal file
@ -0,0 +1,40 @@
|
||||
{ pkgs
|
||||
|
||||
, hls
|
||||
, system
|
||||
, version
|
||||
, haskellPackages
|
||||
, ihaskellOverlay
|
||||
}:
|
||||
|
||||
let
|
||||
compilerVersion = builtins.substring 3 100 version;
|
||||
|
||||
devIHaskell = haskellPackages.developPackage {
|
||||
root = pkgs.lib.cleanSource ../.;
|
||||
name = "ihaskell";
|
||||
returnShellEnv = false;
|
||||
modifier = pkgs.haskell.lib.dontCheck;
|
||||
overrides = ihaskellOverlay;
|
||||
withHoogle = true;
|
||||
};
|
||||
|
||||
devModifier = drv:
|
||||
pkgs.haskell.lib.addBuildTools drv (with haskellPackages; [
|
||||
cabal-install
|
||||
(pkgs.python3.withPackages (p: [p.jupyterlab]))
|
||||
|
||||
# Note: HLS support currently doesn't work, because the HLS project has removed
|
||||
# HLS binaries from their flake; see
|
||||
# https://github.com/haskell/haskell-language-server/pull/3804
|
||||
# hls.packages.${system}."haskell-language-server-${compilerVersion}"
|
||||
|
||||
pkgs.cairo # for the ihaskell-charts HLS dev environment
|
||||
pkgs.pango # for the ihaskell-diagrams HLS dev environment
|
||||
pkgs.lapack # for the ihaskell-plot HLS dev environment
|
||||
pkgs.blas # for the ihaskell-plot HLS dev environment
|
||||
]);
|
||||
|
||||
in
|
||||
|
||||
(devModifier devIHaskell).envFunc {withHoogle=true;}
|
16
nix/overlay-8.10.nix
Normal file
16
nix/overlay-8.10.nix
Normal file
@ -0,0 +1,16 @@
|
||||
sel: sup: {
|
||||
haskell = sup.haskell // {
|
||||
packages = sup.haskell.packages // {
|
||||
ghc810 = sup.haskell.packages.ghc810.override {
|
||||
overrides = self: super: {
|
||||
# Note that singletons-3.x broke the library into separate pieces like
|
||||
# singletons-th. singletons-3.x will build with GHC 8.10, but we don't have
|
||||
# the conditional compilation in the cabal file to handle this. The CPP
|
||||
# in IHaskell.Display.Widgets.Singletons needs updating too.
|
||||
singletons = self.callHackage "singletons" "2.7" {};
|
||||
th-desugar = self.callHackage "th-desugar" "1.11" {};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
13
nix/overlay-9.0.nix
Normal file
13
nix/overlay-9.0.nix
Normal file
@ -0,0 +1,13 @@
|
||||
sel: sup: {
|
||||
haskell = sup.haskell // {
|
||||
packages = sup.haskell.packages // {
|
||||
ghc90 = sup.haskell.packages.ghc90.override {
|
||||
overrides = self: super: {
|
||||
singletons-base = self.callHackage "singletons-base" "3.0" {};
|
||||
singletons-th = self.callHackage "singletons-th" "3.0" {};
|
||||
th-desugar = self.callHackage "th-desugar" "1.12" {};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
20
nix/overlay-9.4.nix
Normal file
20
nix/overlay-9.4.nix
Normal file
@ -0,0 +1,20 @@
|
||||
sel: sup: {
|
||||
haskell = sup.haskell // {
|
||||
packages = sup.haskell.packages // {
|
||||
ghc94 = sup.haskell.packages.ghc94.override {
|
||||
overrides = self: super: {
|
||||
ghc-syntax-highlighter = super.callCabal2nix "ghc-syntax-highlighter" (sup.fetchFromGitHub {
|
||||
owner = "mrkkrp";
|
||||
repo = "ghc-syntax-highlighter";
|
||||
# 0.0.10.0
|
||||
rev = "71ff751eaa6034d4aef254d6bc5a8be4f6595344";
|
||||
sha256 = "wQmWSuvIJpg11zKl1qOSWpqxjp2DoJwa20vaS2KHypM=";
|
||||
}) {};
|
||||
|
||||
ghc-lib-parser = super.ghc-lib-parser_9_6_3_20231014;
|
||||
ghc-lib-parser-ex = super.ghc-lib-parser-ex_9_6_0_2;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
35
nix/overlay-9.6.nix
Normal file
35
nix/overlay-9.6.nix
Normal file
@ -0,0 +1,35 @@
|
||||
sel: sup: {
|
||||
haskell = sup.haskell // {
|
||||
packages = sup.haskell.packages // {
|
||||
ghc96 = sup.haskell.packages.ghc96.override {
|
||||
overrides = self: super: {
|
||||
ghc-syntax-highlighter = super.callCabal2nix "ghc-syntax-highlighter" (sup.fetchFromGitHub {
|
||||
owner = "mrkkrp";
|
||||
repo = "ghc-syntax-highlighter";
|
||||
# 0.0.10.0
|
||||
rev = "71ff751eaa6034d4aef254d6bc5a8be4f6595344";
|
||||
sha256 = "wQmWSuvIJpg11zKl1qOSWpqxjp2DoJwa20vaS2KHypM=";
|
||||
}) {};
|
||||
|
||||
ghc-lib-parser = self.ghc-lib-parser_9_6_3_20231014;
|
||||
|
||||
zeromq4-haskell = super.zeromq4-haskell.overrideAttrs (oldAttrs: {
|
||||
buildInputs = oldAttrs.buildInputs ++ [super.libsodium];
|
||||
});
|
||||
|
||||
# https://github.com/amcphail/plot/pull/23
|
||||
plot = super.callCabal2nix "plot" (sup.fetchFromGitHub {
|
||||
owner = "codedownio";
|
||||
repo = "haskell-plot";
|
||||
rev = "dfa26022b5815bcd6a5dd6c818fcd2c4d25c6d44";
|
||||
sha256 = "1snk70l7q98cqflgaqf6l75g4hpcnf284flm9rsmk8kkzd5nnh5k";
|
||||
}) {};
|
||||
|
||||
singletons-base = sup.haskell.lib.dontCheck (self.callHackage "singletons-base" "3.2" {});
|
||||
singletons-th = self.callHackage "singletons-th" "3.2" {};
|
||||
th-desugar = self.callHackage "th-desugar" "1.15" {};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
64
nix/overlay-9.8.nix
Normal file
64
nix/overlay-9.8.nix
Normal file
@ -0,0 +1,64 @@
|
||||
sel: sup: {
|
||||
haskell = sup.haskell // {
|
||||
packages = sup.haskell.packages // {
|
||||
ghc98 = sup.haskell.packages.ghc98.override {
|
||||
overrides = self: super: {
|
||||
aeson = self.callHackage "aeson" "2.2.1.0" {};
|
||||
alex = sup.haskell.lib.dontCheck super.alex;
|
||||
bifunctors = self.callHackage "bifunctors" "5.6.1" {};
|
||||
doctest = self.callHackage "doctest" "0.22.2" {};
|
||||
ghc-lib-parser = sup.haskell.lib.overrideCabal (self.callHackage "ghc-lib-parser" "9.8.1.20231009" {}) (_drv: {
|
||||
postPatch = let
|
||||
original-a = "cabal-version: 2.0";
|
||||
replacement-a = "cabal-version: 3.0";
|
||||
original-b = "license: BSD3";
|
||||
replacement-b = "license: BSD-3-Clause";
|
||||
original-c =
|
||||
"c-sources:\r\n libraries/ghc-heap/cbits/HeapPrim.cmm";
|
||||
replacement-c =
|
||||
"cmm-sources:\r\n libraries/ghc-heap/cbits/HeapPrim.cmm";
|
||||
in ''
|
||||
substituteInPlace ./ghc-lib-parser.cabal --replace \
|
||||
'${original-a}' '${replacement-a}'
|
||||
substituteInPlace ./ghc-lib-parser.cabal --replace \
|
||||
'${original-b}' '${replacement-b}'
|
||||
substituteInPlace ./ghc-lib-parser.cabal --replace \
|
||||
'${original-c}' '${replacement-c}'
|
||||
'';
|
||||
});
|
||||
ghc-lib-parser-ex = super.ghc-lib-parser-ex_9_8_0_0;
|
||||
ghc-syntax-highlighter = self.callCabal2nix "ghc-syntax-highlighter" (sup.fetchFromGitHub {
|
||||
owner = "mrkkrp";
|
||||
repo = "ghc-syntax-highlighter";
|
||||
rev = "336df42e9185c2e2a91fa71eaa18b51f0f5437de";
|
||||
sha256 = "0nnpyq3z6c90z3j8xzw2gcj13nhihc7xa0sb4xbbdpxfnidplp9q";
|
||||
}) {};
|
||||
haskell-src-meta = sup.haskell.lib.appendPatch (sup.haskell.lib.doJailbreak super.haskell-src-meta) (sup.fetchpatch {
|
||||
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/haskell-src-meta-0.8.12.patch";
|
||||
sha256 = "0wn0lnq522bhc65sw02jm448mg5ijdxwgs7gzp9xp6z8ir1a0bzr";
|
||||
});
|
||||
here = sup.haskell.lib.doJailbreak (self.callHackage "here" "1.2.14" {});
|
||||
hourglass = sup.haskell.lib.dontCheck super.hourglass;
|
||||
hspec = self.callHackage "hspec" "2.11.6" {};
|
||||
hspec-core = sup.haskell.lib.dontCheck (self.callHackage "hspec-core" "2.11.6" {});
|
||||
hspec-discover = self.callHackage "hspec-discover" "2.11.6" {};
|
||||
hspec-expectations = self.callHackage "hspec-expectations" "0.8.4" {};
|
||||
hspec-meta = self.callHackage "hspec-meta" "2.11.6" {};
|
||||
lifted-base = sup.haskell.lib.dontCheck super.lifted-base;
|
||||
semigroupoids = self.callHackage "semigroupoids" "6.0.0.1" {};
|
||||
shelly = sup.haskell.lib.doJailbreak super.shelly;
|
||||
tagged = self.callHackage "tagged" "0.8.8" {};
|
||||
th-abstraction = self.callHackage "th-abstraction" "0.6.0.0" {};
|
||||
th-lift = self.callHackage "th-lift" "0.8.4" {};
|
||||
unliftio-core = sup.haskell.lib.doJailbreak super.unliftio-core;
|
||||
|
||||
# For display libs (in progress)
|
||||
statestack = sup.haskell.lib.doJailbreak super.statestack;
|
||||
# TODO: wait for nixpkgs master to update Hackage pin to have this diagrams-core version
|
||||
diagrams-core = self.callHackage "diagrams-core" "1.5.1.1" {};
|
||||
diagrams-lib = sup.haskell.lib.doJailbreak super.diagrams-lib;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
109
nix/release.nix
Normal file
109
nix/release.nix
Normal file
@ -0,0 +1,109 @@
|
||||
{ lib
|
||||
, buildEnv
|
||||
, callPackage
|
||||
, haskell
|
||||
, makeWrapper
|
||||
, pkgs
|
||||
, runCommand
|
||||
, writeShellScriptBin
|
||||
|
||||
# Compiler name as a string, like "ghc92".
|
||||
# Must be a kernel found within pkgs.haskell.packages.*.
|
||||
, compiler
|
||||
# Whether to enable hlint.
|
||||
, enableHlint ? true
|
||||
}:
|
||||
|
||||
{
|
||||
# Extra binaries to include in the final environment, like jupyter-lab or jupyter-console.
|
||||
# Will have their JUPYTER_PATH and PATH environment variables prefixed to tell them about the kernel.
|
||||
extraEnvironmentBinaries ? []
|
||||
# Haskell packages to include. First argument is an attrset of available packages.
|
||||
, packages ? (_: [])
|
||||
# RTS options passed when invoking IHaskell in the kernelspec.
|
||||
, rtsopts ? "-M3g -N2"
|
||||
, staticExecutable ? false
|
||||
, systemPackages ? (_: [])
|
||||
}:
|
||||
|
||||
let
|
||||
ihaskellOverlay = callPackage ./ihaskell-overlay.nix { inherit compiler enableHlint; };
|
||||
|
||||
# Haskell packages set with IHaskell packages added
|
||||
haskellPackages = haskell.packages."${compiler}".override (old: {
|
||||
overrides = lib.composeExtensions
|
||||
(old.overrides or (_: _: {}))
|
||||
ihaskellOverlay;
|
||||
});
|
||||
|
||||
# GHC with desired packages. This includes user-configured packages plus IHaskell itself, so
|
||||
# you can import things like IHaskell.Display
|
||||
ihaskellEnv = haskellPackages.ghcWithPackages (ps: (packages ps) ++ [ps.ihaskell]);
|
||||
|
||||
# ihaskell binary wrapper which adds the "-l" argument
|
||||
ihaskellGhcLib = writeShellScriptBin "ihaskell" ''
|
||||
${ihaskellEnv}/bin/ihaskell -l $(${ihaskellEnv}/bin/ghc --print-libdir) "$@"
|
||||
'';
|
||||
|
||||
# Jupyter directory with kernels/haskell/kernel.json, plus logo and kernel.js
|
||||
jupyterDirKernel = let
|
||||
kernelFile = {
|
||||
display_name = "Haskell";
|
||||
argv = [
|
||||
"${ihaskellGhcLib}/bin/ihaskell"
|
||||
"kernel"
|
||||
"{connection_file}"
|
||||
"+RTS"
|
||||
] ++ (lib.splitString " " rtsopts) ++ [
|
||||
"-RTS"
|
||||
];
|
||||
language = "haskell";
|
||||
};
|
||||
in
|
||||
runCommand "ihaskell-kernel" {} ''
|
||||
export kerneldir=$out/kernels/haskell
|
||||
mkdir -p $kerneldir
|
||||
cp ${../html}/* $kerneldir
|
||||
echo '${builtins.toJSON kernelFile}' > $kerneldir/kernel.json
|
||||
'';
|
||||
|
||||
# Separate Jupyter directory with the "labextensions" dir.
|
||||
# TODO: just copy this alongside the HTML in jupyterDir?
|
||||
jupyterDirLabExtensions = runCommand "ihaskell-labextension" {} ''
|
||||
mkdir -p $out/labextensions/
|
||||
ln -s ${../jupyterlab-ihaskell/labextension} $out/labextensions/jupyterlab-ihaskell
|
||||
'';
|
||||
|
||||
# Combine the paths in jupyterDirKernel and jupyterDirLabExtensions
|
||||
ihaskellDataDir = buildEnv {
|
||||
name = "ihaskell-data-dir-" + compiler;
|
||||
paths = [ jupyterDirKernel jupyterDirLabExtensions ];
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
# Final IHaskell environment:
|
||||
buildEnv {
|
||||
name = "ihaskell-with-packages-" + compiler;
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
paths = [ ihaskellEnv ] ++ extraEnvironmentBinaries;
|
||||
postBuild = ''
|
||||
for prg in $out/bin"/"*;do
|
||||
if [[ -f $prg && -x $prg ]]; then
|
||||
wrapProgram $prg \
|
||||
--prefix PATH : "${lib.makeBinPath ([ihaskellEnv] ++ (systemPackages pkgs))}" \
|
||||
--prefix JUPYTER_PATH : "${ihaskellDataDir}"
|
||||
fi
|
||||
done
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit haskellPackages;
|
||||
inherit ihaskellOverlay;
|
||||
# statically linking against haskell libs reduces closure size at the expense
|
||||
# of startup/reload time, so we make it configurable
|
||||
ihaskellExe = if staticExecutable
|
||||
then haskell.lib.justStaticExecutables haskellPackages.ihaskell
|
||||
else haskell.lib.enableSharedExecutables haskellPackages.ihaskell;
|
||||
};
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
{ compiler ? "ghc928"
|
||||
, nixpkgs ? import <nixpkgs> {}
|
||||
, packages ? (_: [])
|
||||
, pythonPackages ? (_: [])
|
||||
, rtsopts ? "-M3g -N2"
|
||||
, staticExecutable ? false
|
||||
, systemPackages ? (_: [])
|
||||
}:
|
||||
import (./release.nix) { inherit compiler nixpkgs packages pythonPackages rtsopts systemPackages; }
|
122
release-9.4.nix
122
release-9.4.nix
@ -1,122 +0,0 @@
|
||||
let
|
||||
nixpkgs-src = builtins.fetchTarball {
|
||||
url = "https://github.com/NixOS/nixpkgs/tarball/e0990771a605839bc63eaef5edadffb48a040664";
|
||||
sha256 = "sha256:06ja7660glz88ji311ds98frqgf5780c51m9l6chrmj0gh2zf7k9";
|
||||
};
|
||||
in
|
||||
{ compiler ? "ghc942"
|
||||
, nixpkgs ? import nixpkgs-src {}
|
||||
, packages ? (_: [])
|
||||
, pythonPackages ? (_: [])
|
||||
, rtsopts ? "-M3g -N2"
|
||||
, staticExecutable ? false
|
||||
, systemPackages ? (_: [])
|
||||
}:
|
||||
let
|
||||
ihaskell-src = nixpkgs.nix-gitignore.gitignoreSource
|
||||
[ "**/*.ipynb" "**/*.nix" "**/*.yaml" "**/*.yml" "**/\.*" "/Dockerfile" "/README.md" "/cabal.project" "/images" "/notebooks" "/requirements.txt" ]
|
||||
./.;
|
||||
displays = self: builtins.listToAttrs (
|
||||
map
|
||||
(display: { name = "ihaskell-${display}"; value = self.callCabal2nix display "${ihaskell-src}/ihaskell-display/ihaskell-${display}" {}; })
|
||||
[ "aeson" "blaze" "charts" "diagrams" "gnuplot" "graphviz" "hatex" "juicypixels" "magic" "plot" "rlangqq" "static-canvas" "widgets" ]);
|
||||
haskellPackages = nixpkgs.haskell.packages."${compiler}".override (old: {
|
||||
overrides = nixpkgs.lib.composeExtensions (old.overrides or (_: _: {})) ihaskellOverlay;
|
||||
});
|
||||
|
||||
ihaskellOverlay = (self: super: {
|
||||
ihaskell = nixpkgs.haskell.lib.overrideCabal (
|
||||
self.callCabal2nix "ihaskell" ihaskell-src {}) (_drv: {
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR/home
|
||||
export PATH=$PWD/dist/build/ihaskell:$PATH
|
||||
export GHC_PACKAGE_PATH=$PWD/dist/package.conf.inplace/:$GHC_PACKAGE_PATH
|
||||
'';
|
||||
});
|
||||
ghc-parser = self.callCabal2nix "ghc-parser" (builtins.path { path = ./ghc-parser; name = "ghc-parser-src"; }) {};
|
||||
ghc-syntax-highlighter = let
|
||||
src = nixpkgs.fetchFromGitHub {
|
||||
owner = "mrkkrp";
|
||||
repo = "ghc-syntax-highlighter";
|
||||
rev = "bbc049904524aae08e6431494f41fe2a288f6259";
|
||||
sha256 = "sha256-w7AxGsUfqGhh7wrSPppQ2+gPwjvb4mwExJdDOcasAZ4=";
|
||||
};
|
||||
in
|
||||
self.callCabal2nix "ghc-syntax-highlighter" src {};
|
||||
ipython-kernel = self.callCabal2nix "ipython-kernel" (builtins.path { path = ./ipython-kernel; name = "ipython-kernel-src"; }) {};
|
||||
|
||||
hlint = super.hlint_3_5;
|
||||
zeromq4-haskell = nixpkgs.haskell.lib.addPkgconfigDepend super.zeromq4-haskell nixpkgs.libsodium;
|
||||
} // displays self);
|
||||
|
||||
# statically linking against haskell libs reduces closure size at the expense
|
||||
# of startup/reload time, so we make it configurable
|
||||
ihaskellExe = if staticExecutable
|
||||
then nixpkgs.haskell.lib.justStaticExecutables haskellPackages.ihaskell
|
||||
else nixpkgs.haskell.lib.enableSharedExecutables haskellPackages.ihaskell;
|
||||
ihaskellEnv = haskellPackages.ghcWithPackages packages;
|
||||
jupyterlab = nixpkgs.python3.withPackages (ps: [ ps.jupyterlab ] ++ pythonPackages ps);
|
||||
ihaskellGhcLibFunc = exe: env: nixpkgs.writeShellScriptBin "ihaskell" ''
|
||||
${exe}/bin/ihaskell -l $(${env}/bin/ghc --print-libdir) "$@"
|
||||
'';
|
||||
ihaskellKernelFileFunc = ihaskellGhcLib: rtsopts: {
|
||||
display_name = "Haskell";
|
||||
argv = [
|
||||
"${ihaskellGhcLib}/bin/ihaskell"
|
||||
"kernel"
|
||||
"{connection_file}"
|
||||
"+RTS"
|
||||
] ++ (nixpkgs.lib.splitString " " rtsopts) ++ [
|
||||
"-RTS"
|
||||
];
|
||||
language = "haskell";
|
||||
};
|
||||
ihaskellKernelSpecFunc = ihaskellKernelFile: nixpkgs.runCommand "ihaskell-kernel" {} ''
|
||||
export kerneldir=$out/kernels/haskell
|
||||
mkdir -p $kerneldir
|
||||
cp ${./html}/* $kerneldir
|
||||
echo '${builtins.toJSON ihaskellKernelFile}' > $kerneldir/kernel.json
|
||||
'';
|
||||
ihaskellLabextension = nixpkgs.runCommand "ihaskell-labextension" {} ''
|
||||
mkdir -p $out/labextensions/
|
||||
ln -s ${./jupyterlab-ihaskell/labextension} $out/labextensions/jupyterlab-ihaskell
|
||||
'';
|
||||
ihaskellDataDirFunc = ihaskellKernelSpec: ihaskellLabextension: nixpkgs.buildEnv {
|
||||
name = "ihaskell-data-dir";
|
||||
paths = [ ihaskellKernelSpec ihaskellLabextension ];
|
||||
};
|
||||
ihaskellBuildEnvFunc = { ihaskellEnv, jupyterlab, systemPackages, ihaskellDataDir }: nixpkgs.buildEnv {
|
||||
name = "ihaskell-with-packages";
|
||||
nativeBuildInputs = [ nixpkgs.makeWrapper ];
|
||||
paths = [ ihaskellEnv jupyterlab ];
|
||||
postBuild = ''
|
||||
for prg in $out/bin"/"*;do
|
||||
if [[ -f $prg && -x $prg ]]; then
|
||||
wrapProgram $prg \
|
||||
--prefix PATH : "${nixpkgs.lib.makeBinPath ([ihaskellEnv] ++ (systemPackages nixpkgs))}" \
|
||||
--prefix JUPYTER_PATH : "${ihaskellDataDir}"
|
||||
fi
|
||||
done
|
||||
'';
|
||||
passthru = {
|
||||
inherit haskellPackages;
|
||||
inherit ihaskellExe;
|
||||
inherit ihaskellEnv;
|
||||
inherit ihaskellOverlay;
|
||||
inherit ihaskellLabextension;
|
||||
inherit jupyterlab;
|
||||
inherit ihaskellGhcLibFunc;
|
||||
inherit ihaskellKernelFileFunc;
|
||||
inherit ihaskellKernelSpecFunc;
|
||||
inherit ihaskellDataDirFunc;
|
||||
inherit ihaskellBuildEnvFunc;
|
||||
};
|
||||
};
|
||||
in ihaskellBuildEnvFunc {
|
||||
inherit ihaskellEnv jupyterlab systemPackages;
|
||||
ihaskellDataDir = let
|
||||
ihaskellGhcLib = ihaskellGhcLibFunc ihaskellExe ihaskellEnv;
|
||||
ihaskellKernelFile = ihaskellKernelFileFunc ihaskellGhcLib rtsopts;
|
||||
ihaskellKernelSpec = ihaskellKernelSpecFunc ihaskellKernelFile;
|
||||
in ihaskellDataDirFunc ihaskellKernelSpec ihaskellLabextension;
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
let
|
||||
nixpkgs-src = builtins.fetchTarball {
|
||||
url = "https://github.com/NixOS/nixpkgs/tarball/02c6061679c99546ccff9ca241025134411e13ad";
|
||||
sha256 = "sha256:03cwv27x1xl9fm2dzdgzm1lz9qimn3w10v8pb7wd4ld459jir8pb";
|
||||
};
|
||||
ghcVersion = "ghc963";
|
||||
overlay = sel: sup: {
|
||||
haskell = sup.haskell // {
|
||||
packages = sup.haskell.packages // {
|
||||
${ghcVersion} = sup.haskell.packages.${ghcVersion}.override {
|
||||
overrides = self: super: {
|
||||
ghc-syntax-highlighter = let
|
||||
src = sel.fetchFromGitHub {
|
||||
owner = "mrkkrp";
|
||||
repo = "ghc-syntax-highlighter";
|
||||
rev = "71ff751eaa6034d4aef254d6bc5a8be4f6595344";
|
||||
sha256 = "14yahxi4pnjbvcd9r843kn7b36jsjaixd99jswsrh9n8xd59c2f1";
|
||||
};
|
||||
in
|
||||
self.callCabal2nix "ghc-syntax-highlighter" src {};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
{ compiler ? ghcVersion
|
||||
, nixpkgs ? import nixpkgs-src { overlays = [ overlay ]; }
|
||||
, packages ? (_: [])
|
||||
, pythonPackages ? (_: [])
|
||||
, rtsopts ? "-M3g -N2"
|
||||
, staticExecutable ? false
|
||||
, systemPackages ? (_: [])
|
||||
}:
|
||||
import (./release.nix) { inherit compiler nixpkgs packages pythonPackages rtsopts systemPackages; }
|
166
release-9.8.nix
166
release-9.8.nix
@ -1,166 +0,0 @@
|
||||
let
|
||||
nixpkgs-src = builtins.fetchTarball {
|
||||
url = "https://github.com/NixOS/nixpkgs/tarball/0c086da2bb82029fd00e80bdc117a37a804fd7ff";
|
||||
sha256 = "sha256:1c02n9i4y49cvyw8fylpsvbhiijdc0pppzgn3qwxw6nyj68i3590";
|
||||
};
|
||||
in
|
||||
{ compiler ? "ghc981"
|
||||
, nixpkgs ? import nixpkgs-src {}
|
||||
, packages ? (_: [])
|
||||
, pythonPackages ? (_: [])
|
||||
, rtsopts ? "-M3g -N2"
|
||||
, staticExecutable ? false
|
||||
, systemPackages ? (_: [])
|
||||
}:
|
||||
let
|
||||
ihaskell-src = nixpkgs.nix-gitignore.gitignoreSource
|
||||
[ "**/*.ipynb" "**/*.nix" "**/*.yaml" "**/*.yml" "**/\.*" "/Dockerfile" "/README.md" "/cabal.project" "/images" "/notebooks" "/test" "/requirements.txt" ]
|
||||
./.;
|
||||
displays = self: builtins.listToAttrs (
|
||||
map
|
||||
(display: { name = "ihaskell-${display}"; value = self.callCabal2nix display "${ihaskell-src}/ihaskell-display/ihaskell-${display}" {}; })
|
||||
[ "aeson" "blaze" "charts" "diagrams" "gnuplot" "graphviz" "hatex" "juicypixels" "magic" "plot" "rlangqq" "static-canvas" "widgets" ]);
|
||||
haskellPackages = nixpkgs.haskell.packages."${compiler}".override (old: {
|
||||
overrides = nixpkgs.lib.composeExtensions (old.overrides or (_: _: {})) ihaskellOverlay;
|
||||
});
|
||||
|
||||
ihaskellOverlay = (self: super: {
|
||||
ihaskell = (nixpkgs.haskell.lib.overrideCabal (
|
||||
self.callCabal2nix "ihaskell" ihaskell-src {}) (_drv: {
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR/home
|
||||
export PATH=$PWD/dist/build/ihaskell:$PATH
|
||||
export GHC_PACKAGE_PATH=$PWD/dist/package.conf.inplace/:$GHC_PACKAGE_PATH
|
||||
'';
|
||||
configureFlags = (_drv.configureFlags or []) ++ [ "-f" "-use-hlint" ];
|
||||
})).overrideScope (self: super: {
|
||||
hlint = null;
|
||||
});
|
||||
ghc-parser = self.callCabal2nix "ghc-parser" (builtins.path { path = ./ghc-parser; name = "ghc-parser-src"; }) {};
|
||||
ghc-syntax-highlighter = let
|
||||
src = nixpkgs.fetchFromGitHub {
|
||||
owner = "mrkkrp";
|
||||
repo = "ghc-syntax-highlighter";
|
||||
rev = "336df42e9185c2e2a91fa71eaa18b51f0f5437de";
|
||||
sha256 = "0nnpyq3z6c90z3j8xzw2gcj13nhihc7xa0sb4xbbdpxfnidplp9q";
|
||||
};
|
||||
in
|
||||
self.callCabal2nix "ghc-syntax-highlighter" src {};
|
||||
ipython-kernel = self.callCabal2nix "ipython-kernel" (builtins.path { path = ./ipython-kernel; name = "ipython-kernel-src"; }) {};
|
||||
|
||||
alex = nixpkgs.haskell.lib.dontCheck super.alex;
|
||||
# zeromq4-haskell = nixpkgs.haskell.lib.addPkgconfigDepend super.zeromq4-haskell nixpkgs.libsodium;
|
||||
ghc-lib-parser = nixpkgs.haskell.lib.overrideCabal (self.callHackage "ghc-lib-parser" "9.8.1.20231009" {}) (_drv: {
|
||||
postPatch = let
|
||||
original-a = "cabal-version: 2.0";
|
||||
replacement-a = "cabal-version: 3.0";
|
||||
original-b = "license: BSD3";
|
||||
replacement-b = "license: BSD-3-Clause";
|
||||
original-c =
|
||||
"c-sources:\r\n libraries/ghc-heap/cbits/HeapPrim.cmm";
|
||||
replacement-c =
|
||||
"cmm-sources:\r\n libraries/ghc-heap/cbits/HeapPrim.cmm";
|
||||
in ''
|
||||
substituteInPlace ./ghc-lib-parser.cabal --replace \
|
||||
'${original-a}' '${replacement-a}'
|
||||
substituteInPlace ./ghc-lib-parser.cabal --replace \
|
||||
'${original-b}' '${replacement-b}'
|
||||
substituteInPlace ./ghc-lib-parser.cabal --replace \
|
||||
'${original-c}' '${replacement-c}'
|
||||
'';
|
||||
});
|
||||
shelly = nixpkgs.haskell.lib.doJailbreak super.shelly;
|
||||
hourglass = nixpkgs.haskell.lib.dontCheck super.hourglass;
|
||||
unliftio-core = nixpkgs.haskell.lib.doJailbreak super.unliftio-core;
|
||||
tagged = self.callHackage "tagged" "0.8.8" {};
|
||||
th-abstraction = self.callHackage "th-abstraction" "0.6.0.0" {};
|
||||
th-lift = self.callHackage "th-lift" "0.8.4" {};
|
||||
hspec-core = nixpkgs.haskell.lib.dontCheck (self.callHackage "hspec-core" "2.11.6" {});
|
||||
hspec-expectations = self.callHackage "hspec-expectations" "0.8.4" {};
|
||||
hspec-meta = self.callHackage "hspec-meta" "2.11.6" {};
|
||||
hspec-discover = self.callHackage "hspec-discover" "2.11.6" {};
|
||||
hspec = self.callHackage "hspec" "2.11.6" {};
|
||||
lifted-base = nixpkgs.haskell.lib.dontCheck super.lifted-base;
|
||||
bifunctors = self.callHackage "bifunctors" "5.6.1" {};
|
||||
doctest = self.callHackage "doctest" "0.22.2" {};
|
||||
semigroupoids = self.callHackage "semigroupoids" "6.0.0.1" {};
|
||||
here = nixpkgs.haskell.lib.doJailbreak (self.callHackage "here" "1.2.14" {});
|
||||
aeson = self.callHackage "aeson" "2.2.1.0" {};
|
||||
haskell-src-meta = nixpkgs.haskell.lib.appendPatch (nixpkgs.haskell.lib.doJailbreak super.haskell-src-meta) (nixpkgs.fetchpatch {
|
||||
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/haskell-src-meta-0.8.12.patch";
|
||||
sha256 = "0wn0lnq522bhc65sw02jm448mg5ijdxwgs7gzp9xp6z8ir1a0bzr";
|
||||
});
|
||||
|
||||
} // displays self);
|
||||
|
||||
# statically linking against haskell libs reduces closure size at the expense
|
||||
# of startup/reload time, so we make it configurable
|
||||
ihaskellExe = if staticExecutable
|
||||
then nixpkgs.haskell.lib.justStaticExecutables haskellPackages.ihaskell
|
||||
else nixpkgs.haskell.lib.enableSharedExecutables haskellPackages.ihaskell;
|
||||
ihaskellEnv = haskellPackages.ghcWithPackages packages;
|
||||
jupyterlab = nixpkgs.python3.withPackages (ps: [ ps.jupyterlab ps.notebook ] ++ pythonPackages ps);
|
||||
ihaskellGhcLibFunc = exe: env: nixpkgs.writeShellScriptBin "ihaskell" ''
|
||||
${exe}/bin/ihaskell -l $(${env}/bin/ghc --print-libdir) "$@"
|
||||
'';
|
||||
ihaskellKernelFileFunc = ihaskellGhcLib: rtsopts: {
|
||||
display_name = "Haskell";
|
||||
argv = [
|
||||
"${ihaskellGhcLib}/bin/ihaskell"
|
||||
"kernel"
|
||||
"{connection_file}"
|
||||
"+RTS"
|
||||
] ++ (nixpkgs.lib.splitString " " rtsopts) ++ [
|
||||
"-RTS"
|
||||
];
|
||||
language = "haskell";
|
||||
};
|
||||
ihaskellKernelSpecFunc = ihaskellKernelFile: nixpkgs.runCommand "ihaskell-kernel" {} ''
|
||||
export kerneldir=$out/kernels/haskell
|
||||
mkdir -p $kerneldir
|
||||
cp ${./html}/* $kerneldir
|
||||
echo '${builtins.toJSON ihaskellKernelFile}' > $kerneldir/kernel.json
|
||||
'';
|
||||
ihaskellLabextension = nixpkgs.runCommand "ihaskell-labextension" {} ''
|
||||
mkdir -p $out/labextensions/
|
||||
ln -s ${./jupyterlab-ihaskell/labextension} $out/labextensions/jupyterlab-ihaskell
|
||||
'';
|
||||
ihaskellDataDirFunc = ihaskellKernelSpec: ihaskellLabextension: nixpkgs.buildEnv {
|
||||
name = "ihaskell-data-dir";
|
||||
paths = [ ihaskellKernelSpec ihaskellLabextension ];
|
||||
};
|
||||
ihaskellBuildEnvFunc = { ihaskellEnv, jupyterlab, systemPackages, ihaskellDataDir }: nixpkgs.buildEnv {
|
||||
name = "ihaskell-with-packages";
|
||||
nativeBuildInputs = [ nixpkgs.makeWrapper ];
|
||||
paths = [ ihaskellEnv jupyterlab ];
|
||||
postBuild = ''
|
||||
for prg in $out/bin"/"*;do
|
||||
if [[ -f $prg && -x $prg ]]; then
|
||||
wrapProgram $prg \
|
||||
--prefix PATH : "${nixpkgs.lib.makeBinPath ([ihaskellEnv] ++ (systemPackages nixpkgs))}" \
|
||||
--prefix JUPYTER_PATH : "${ihaskellDataDir}"
|
||||
fi
|
||||
done
|
||||
'';
|
||||
passthru = {
|
||||
inherit haskellPackages;
|
||||
inherit ihaskellExe;
|
||||
inherit ihaskellEnv;
|
||||
inherit ihaskellOverlay;
|
||||
inherit ihaskellLabextension;
|
||||
inherit jupyterlab;
|
||||
inherit ihaskellGhcLibFunc;
|
||||
inherit ihaskellKernelFileFunc;
|
||||
inherit ihaskellKernelSpecFunc;
|
||||
inherit ihaskellDataDirFunc;
|
||||
inherit ihaskellBuildEnvFunc;
|
||||
};
|
||||
};
|
||||
in ihaskellBuildEnvFunc {
|
||||
inherit ihaskellEnv jupyterlab systemPackages;
|
||||
ihaskellDataDir = let
|
||||
ihaskellGhcLib = ihaskellGhcLibFunc ihaskellExe ihaskellEnv;
|
||||
ihaskellKernelFile = ihaskellKernelFileFunc ihaskellGhcLib rtsopts;
|
||||
ihaskellKernelSpec = ihaskellKernelSpecFunc ihaskellKernelFile;
|
||||
in ihaskellDataDirFunc ihaskellKernelSpec ihaskellLabextension;
|
||||
}
|
105
release.nix
105
release.nix
@ -1,105 +0,0 @@
|
||||
{ compiler
|
||||
, nixpkgs ? import <nixpkgs> {}
|
||||
, packages ? (_: [])
|
||||
, pythonPackages ? (_: [])
|
||||
, rtsopts ? "-M3g -N2"
|
||||
, staticExecutable ? false
|
||||
, systemPackages ? (_: [])
|
||||
}:
|
||||
|
||||
let
|
||||
ihaskell-src = nixpkgs.nix-gitignore.gitignoreSource
|
||||
[ "**/*.ipynb" "**/*.nix" "**/*.yaml" "**/*.yml" "**/\.*" "/Dockerfile" "/README.md" "/cabal.project" "/images" "/notebooks" "/test" "/requirements.txt" ]
|
||||
./.;
|
||||
displays = self: builtins.listToAttrs (
|
||||
map
|
||||
(display: { name = "ihaskell-${display}"; value = self.callCabal2nix display "${ihaskell-src}/ihaskell-display/ihaskell-${display}" {}; })
|
||||
[ "aeson" "blaze" "charts" "diagrams" "gnuplot" "graphviz" "hatex" "juicypixels" "magic" "plot" "rlangqq" "static-canvas" "widgets" ]);
|
||||
haskellPackages = nixpkgs.haskell.packages."${compiler}".override (old: {
|
||||
overrides = nixpkgs.lib.composeExtensions (old.overrides or (_: _: {})) ihaskellOverlay;
|
||||
});
|
||||
|
||||
ihaskellOverlay = (self: super: {
|
||||
ihaskell = nixpkgs.haskell.lib.overrideCabal (
|
||||
self.callCabal2nix "ihaskell" ihaskell-src {}) (_drv: {
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR/home
|
||||
export PATH=$PWD/dist/build/ihaskell:$PATH
|
||||
export GHC_PACKAGE_PATH=$PWD/dist/package.conf.inplace/:$GHC_PACKAGE_PATH
|
||||
'';
|
||||
});
|
||||
ghc-parser = self.callCabal2nix "ghc-parser" (builtins.path { path = ./ghc-parser; name = "ghc-parser-src"; }) {};
|
||||
ipython-kernel = self.callCabal2nix "ipython-kernel" (builtins.path { path = ./ipython-kernel; name = "ipython-kernel-src"; }) {};
|
||||
} // displays self);
|
||||
|
||||
# statically linking against haskell libs reduces closure size at the expense
|
||||
# of startup/reload time, so we make it configurable
|
||||
ihaskellExe = if staticExecutable
|
||||
then nixpkgs.haskell.lib.justStaticExecutables haskellPackages.ihaskell
|
||||
else nixpkgs.haskell.lib.enableSharedExecutables haskellPackages.ihaskell;
|
||||
ihaskellEnv = haskellPackages.ghcWithPackages packages;
|
||||
jupyterlab = nixpkgs.python3.withPackages (ps: [ ps.jupyterlab ps.notebook ] ++ pythonPackages ps);
|
||||
ihaskellGhcLibFunc = exe: env: nixpkgs.writeShellScriptBin "ihaskell" ''
|
||||
${exe}/bin/ihaskell -l $(${env}/bin/ghc --print-libdir) "$@"
|
||||
'';
|
||||
ihaskellKernelFileFunc = ihaskellGhcLib: rtsopts: {
|
||||
display_name = "Haskell";
|
||||
argv = [
|
||||
"${ihaskellGhcLib}/bin/ihaskell"
|
||||
"kernel"
|
||||
"{connection_file}"
|
||||
"+RTS"
|
||||
] ++ (nixpkgs.lib.splitString " " rtsopts) ++ [
|
||||
"-RTS"
|
||||
];
|
||||
language = "haskell";
|
||||
};
|
||||
ihaskellKernelSpecFunc = ihaskellKernelFile: nixpkgs.runCommand "ihaskell-kernel" {} ''
|
||||
export kerneldir=$out/kernels/haskell
|
||||
mkdir -p $kerneldir
|
||||
cp ${./html}/* $kerneldir
|
||||
echo '${builtins.toJSON ihaskellKernelFile}' > $kerneldir/kernel.json
|
||||
'';
|
||||
ihaskellLabextension = nixpkgs.runCommand "ihaskell-labextension" {} ''
|
||||
mkdir -p $out/labextensions/
|
||||
ln -s ${./jupyterlab-ihaskell/labextension} $out/labextensions/jupyterlab-ihaskell
|
||||
'';
|
||||
ihaskellDataDirFunc = ihaskellKernelSpec: ihaskellLabextension: nixpkgs.buildEnv {
|
||||
name = "ihaskell-data-dir";
|
||||
paths = [ ihaskellKernelSpec ihaskellLabextension ];
|
||||
};
|
||||
ihaskellBuildEnvFunc = { ihaskellEnv, jupyterlab, systemPackages, ihaskellDataDir }: nixpkgs.buildEnv {
|
||||
name = "ihaskell-with-packages";
|
||||
nativeBuildInputs = [ nixpkgs.makeWrapper ];
|
||||
paths = [ ihaskellEnv jupyterlab ];
|
||||
postBuild = ''
|
||||
for prg in $out/bin"/"*;do
|
||||
if [[ -f $prg && -x $prg ]]; then
|
||||
wrapProgram $prg \
|
||||
--prefix PATH : "${nixpkgs.lib.makeBinPath ([ihaskellEnv] ++ (systemPackages nixpkgs))}" \
|
||||
--prefix JUPYTER_PATH : "${ihaskellDataDir}"
|
||||
fi
|
||||
done
|
||||
'';
|
||||
passthru = {
|
||||
inherit haskellPackages;
|
||||
inherit ihaskellExe;
|
||||
inherit ihaskellEnv;
|
||||
inherit ihaskellOverlay;
|
||||
inherit ihaskellLabextension;
|
||||
inherit jupyterlab;
|
||||
inherit ihaskellGhcLibFunc;
|
||||
inherit ihaskellKernelFileFunc;
|
||||
inherit ihaskellKernelSpecFunc;
|
||||
inherit ihaskellDataDirFunc;
|
||||
inherit ihaskellBuildEnvFunc;
|
||||
};
|
||||
};
|
||||
in ihaskellBuildEnvFunc {
|
||||
inherit ihaskellEnv jupyterlab systemPackages;
|
||||
ihaskellDataDir = let
|
||||
ihaskellGhcLib = ihaskellGhcLibFunc ihaskellExe ihaskellEnv;
|
||||
ihaskellKernelFile = ihaskellKernelFileFunc ihaskellGhcLib rtsopts;
|
||||
ihaskellKernelSpec = ihaskellKernelSpecFunc ihaskellKernelFile;
|
||||
in ihaskellDataDirFunc ihaskellKernelSpec ihaskellLabextension;
|
||||
}
|
@ -1,62 +0,0 @@
|
||||
resolver: lts-11.22
|
||||
|
||||
flags: {}
|
||||
packages:
|
||||
- .
|
||||
- ./ipython-kernel
|
||||
- ./ghc-parser
|
||||
- ./ihaskell-display/ihaskell-aeson
|
||||
- ./ihaskell-display/ihaskell-blaze
|
||||
- ./ihaskell-display/ihaskell-charts
|
||||
- ./ihaskell-display/ihaskell-diagrams
|
||||
- ./ihaskell-display/ihaskell-gnuplot
|
||||
- ./ihaskell-display/ihaskell-graphviz
|
||||
- ./ihaskell-display/ihaskell-hatex
|
||||
- ./ihaskell-display/ihaskell-juicypixels
|
||||
- ./ihaskell-display/ihaskell-magic
|
||||
- ./ihaskell-display/ihaskell-plot
|
||||
- ./ihaskell-display/ihaskell-static-canvas
|
||||
- ./ihaskell-display/ihaskell-widgets
|
||||
|
||||
ghc-options:
|
||||
# Eventually we want "$locals": -Wall -Werror
|
||||
ghc-parser: -Wall -Werror
|
||||
ihaskell: -Wall -Werror
|
||||
ihaskell-widgets: -Wall -Werror
|
||||
|
||||
allow-newer: true
|
||||
|
||||
extra-deps:
|
||||
- Chart-cairo-1.9.1
|
||||
- cairo-0.13.6.0
|
||||
- cubicbezier-0.6.0.5
|
||||
- diagrams-1.4
|
||||
- diagrams-cairo-1.4.1
|
||||
- diagrams-contrib-1.4.2.1
|
||||
- diagrams-core-1.4.0.1
|
||||
- diagrams-lib-1.4.2
|
||||
- diagrams-solve-0.1.1
|
||||
- diagrams-svg-1.4.1.1
|
||||
- dual-tree-0.2.1
|
||||
- fast-math-1.0.2
|
||||
- glib-0.13.7.1
|
||||
- gtk2hs-buildtools-0.13.5.4
|
||||
- magic-1.1
|
||||
- mfsolve-0.3.2.0
|
||||
- pango-0.13.6.1
|
||||
- plot-0.2.3.9
|
||||
- static-canvas-0.2.0.3
|
||||
|
||||
nix:
|
||||
packages:
|
||||
- blas
|
||||
- cairo
|
||||
- file
|
||||
- gcc
|
||||
- gfortran.cc.lib
|
||||
- liblapack
|
||||
- ncurses
|
||||
- pango
|
||||
- pkgconfig
|
||||
- zeromq
|
||||
- zlib
|
@ -1,49 +0,0 @@
|
||||
resolver: lts-12.26
|
||||
|
||||
flags: {}
|
||||
packages:
|
||||
- .
|
||||
- ./ipython-kernel
|
||||
- ./ghc-parser
|
||||
- ./ihaskell-display/ihaskell-aeson
|
||||
- ./ihaskell-display/ihaskell-blaze
|
||||
- ./ihaskell-display/ihaskell-charts
|
||||
- ./ihaskell-display/ihaskell-diagrams
|
||||
- ./ihaskell-display/ihaskell-gnuplot
|
||||
- ./ihaskell-display/ihaskell-hatex
|
||||
- ./ihaskell-display/ihaskell-juicypixels
|
||||
- ./ihaskell-display/ihaskell-magic
|
||||
- ./ihaskell-display/ihaskell-plot
|
||||
- ./ihaskell-display/ihaskell-static-canvas
|
||||
- ./ihaskell-display/ihaskell-widgets
|
||||
|
||||
extra-deps:
|
||||
- plot-0.2.3.9
|
||||
- Chart-cairo-1.9.1
|
||||
- Chart-1.9.4
|
||||
- diagrams-cairo-1.4.1
|
||||
- cairo-0.13.6.0
|
||||
- pango-0.13.6.1
|
||||
- glib-0.13.7.1
|
||||
- gtk2hs-buildtools-0.13.5.4
|
||||
- magic-1.1
|
||||
|
||||
ghc-options:
|
||||
# Eventually we want "$locals": -Wall -Wpartial-fields -Werror
|
||||
ghc-parser: -Wall -Wpartial-fields -Werror
|
||||
ihaskell: -Wall -Wpartial-fields -Werror
|
||||
ihaskell-widgets: -Wall -Wpartial-fields -Werror
|
||||
|
||||
nix:
|
||||
packages:
|
||||
- blas
|
||||
- cairo
|
||||
- file
|
||||
- gcc
|
||||
- gfortran.cc.lib
|
||||
- liblapack
|
||||
- ncurses
|
||||
- pango
|
||||
- pkgconfig
|
||||
- zeromq
|
||||
- zlib
|
@ -1,48 +0,0 @@
|
||||
resolver: lts-14.27
|
||||
|
||||
flags: {}
|
||||
packages:
|
||||
- .
|
||||
- ./ipython-kernel
|
||||
- ./ghc-parser
|
||||
- ./ihaskell-display/ihaskell-aeson
|
||||
- ./ihaskell-display/ihaskell-blaze
|
||||
- ./ihaskell-display/ihaskell-charts
|
||||
- ./ihaskell-display/ihaskell-diagrams
|
||||
- ./ihaskell-display/ihaskell-gnuplot
|
||||
- ./ihaskell-display/ihaskell-hatex
|
||||
- ./ihaskell-display/ihaskell-juicypixels
|
||||
- ./ihaskell-display/ihaskell-magic
|
||||
# - ./ihaskell-display/ihaskell-plot
|
||||
# - ./ihaskell-display/ihaskell-static-canvas
|
||||
- ./ihaskell-display/ihaskell-widgets
|
||||
|
||||
extra-deps:
|
||||
- Chart-cairo-1.9.1
|
||||
- diagrams-cairo-1.4.1
|
||||
- cairo-0.13.6.0
|
||||
- pango-0.13.6.1
|
||||
- glib-0.13.7.1
|
||||
- gtk2hs-buildtools-0.13.5.4
|
||||
- magic-1.1
|
||||
# - plot-0.2.3.9
|
||||
|
||||
ghc-options:
|
||||
# Eventually we want "$locals": -Wall -Wpartial-fields -Werror
|
||||
ghc-parser: -Wall -Wpartial-fields -Werror
|
||||
ihaskell: -Wall -Wpartial-fields -Werror
|
||||
ihaskell-widgets: -Wall -Wpartial-fields -Werror
|
||||
|
||||
nix:
|
||||
packages:
|
||||
- blas
|
||||
- cairo
|
||||
- file
|
||||
- gcc
|
||||
- gfortran.cc.lib
|
||||
- liblapack
|
||||
- ncurses
|
||||
- pango
|
||||
- pkgconfig
|
||||
- zeromq
|
||||
- zlib
|
@ -1,50 +0,0 @@
|
||||
resolver: lts-16.23
|
||||
|
||||
flags: {}
|
||||
packages:
|
||||
- .
|
||||
- ./ipython-kernel
|
||||
- ./ghc-parser
|
||||
- ./ihaskell-display/ihaskell-aeson
|
||||
- ./ihaskell-display/ihaskell-blaze
|
||||
- ./ihaskell-display/ihaskell-charts
|
||||
- ./ihaskell-display/ihaskell-diagrams
|
||||
- ./ihaskell-display/ihaskell-gnuplot
|
||||
- ./ihaskell-display/ihaskell-hatex
|
||||
- ./ihaskell-display/ihaskell-juicypixels
|
||||
- ./ihaskell-display/ihaskell-magic
|
||||
- ./ihaskell-display/ihaskell-plot
|
||||
# - ./ihaskell-display/ihaskell-static-canvas
|
||||
- ./ihaskell-display/ihaskell-widgets
|
||||
|
||||
extra-deps:
|
||||
- Chart-cairo-1.9.3
|
||||
- diagrams-cairo-1.4.1.1
|
||||
- cairo-0.13.10.0
|
||||
- pango-0.13.10.0
|
||||
- glib-0.13.10.0
|
||||
- gtk2hs-buildtools-0.13.10.0
|
||||
- magic-1.1
|
||||
- plot-0.2.3.11
|
||||
# - static-canvas-0.2.0.3
|
||||
- vinyl-0.13.0
|
||||
|
||||
ghc-options:
|
||||
# Eventually we want "$locals": -Wall -Wpartial-fields -Werror
|
||||
# ghc-parser: -Wall -Wpartial-fields -Werror
|
||||
# ihaskell: -Wall -Wpartial-fields -Werror
|
||||
# ihaskell-widgets: -Wall -Wpartial-fields -Werror
|
||||
|
||||
nix:
|
||||
packages:
|
||||
- blas
|
||||
- cairo
|
||||
- file
|
||||
- gcc
|
||||
- gfortran.cc.lib
|
||||
- liblapack
|
||||
- ncurses
|
||||
- pango
|
||||
- pkgconfig
|
||||
- zeromq
|
||||
- zlib
|
@ -1,48 +0,0 @@
|
||||
resolver: lts-19.23 # GHC 9.0.2
|
||||
|
||||
flags: {}
|
||||
packages:
|
||||
- .
|
||||
- ./ipython-kernel
|
||||
- ./ghc-parser
|
||||
- ./ihaskell-display/ihaskell-aeson
|
||||
- ./ihaskell-display/ihaskell-blaze
|
||||
- ./ihaskell-display/ihaskell-charts
|
||||
- ./ihaskell-display/ihaskell-diagrams
|
||||
- ./ihaskell-display/ihaskell-gnuplot
|
||||
- ./ihaskell-display/ihaskell-graphviz
|
||||
- ./ihaskell-display/ihaskell-hatex
|
||||
- ./ihaskell-display/ihaskell-juicypixels
|
||||
- ./ihaskell-display/ihaskell-magic
|
||||
- ./ihaskell-display/ihaskell-plot
|
||||
# - ./ihaskell-display/ihaskell-static-canvas
|
||||
- ./ihaskell-display/ihaskell-widgets
|
||||
|
||||
extra-deps:
|
||||
- Chart-cairo-1.9.3
|
||||
- diagrams-cairo-1.4.2
|
||||
- cairo-0.13.8.2
|
||||
- pango-0.13.8.2
|
||||
- glib-0.13.8.2
|
||||
- plot-0.2.3.11
|
||||
- statestack-0.3
|
||||
|
||||
ghc-options:
|
||||
# Eventually we want "$locals": -Wall -Wpartial-fields -Werror
|
||||
# ghc-parser: -Wall -Wpartial-fields -Werror
|
||||
# ihaskell: -Wall -Wpartial-fields -Werror
|
||||
# ihaskell-widgets: -Wall -Wpartial-fields -Werror
|
||||
|
||||
nix:
|
||||
packages:
|
||||
- blas
|
||||
- cairo
|
||||
- file
|
||||
- gcc
|
||||
- gfortran.cc.lib
|
||||
- liblapack
|
||||
- ncurses
|
||||
- pango
|
||||
- pkgconfig
|
||||
- zeromq
|
||||
- zlib
|
@ -1,40 +0,0 @@
|
||||
resolver: lts-20.13
|
||||
|
||||
flags: {}
|
||||
packages:
|
||||
- .
|
||||
- ./ipython-kernel
|
||||
- ./ghc-parser
|
||||
- ./ihaskell-display/ihaskell-aeson
|
||||
- ./ihaskell-display/ihaskell-blaze
|
||||
- ./ihaskell-display/ihaskell-charts
|
||||
- ./ihaskell-display/ihaskell-diagrams
|
||||
- ./ihaskell-display/ihaskell-gnuplot
|
||||
- ./ihaskell-display/ihaskell-graphviz
|
||||
- ./ihaskell-display/ihaskell-hatex
|
||||
- ./ihaskell-display/ihaskell-juicypixels
|
||||
- ./ihaskell-display/ihaskell-magic
|
||||
- ./ihaskell-display/ihaskell-plot
|
||||
# - ./ihaskell-display/ihaskell-static-canvas
|
||||
- ./ihaskell-display/ihaskell-widgets
|
||||
|
||||
ghc-options:
|
||||
# Eventually we want "$locals": -Wall -Wpartial-fields -Werror
|
||||
# ghc-parser: -Wall -Wpartial-fields -Werror
|
||||
# ihaskell: -Wall -Wpartial-fields -Werror
|
||||
# ihaskell-widgets: -Wall -Wpartial-fields -Werror
|
||||
|
||||
nix:
|
||||
enable: false
|
||||
packages:
|
||||
- blas
|
||||
- cairo
|
||||
- file
|
||||
- gcc
|
||||
- gfortran.cc.lib
|
||||
- liblapack
|
||||
- ncurses
|
||||
- pango
|
||||
- pkgconfig
|
||||
- zeromq
|
||||
- zlib
|
88
stack.yaml
88
stack.yaml
@ -1,31 +1,21 @@
|
||||
resolver: lts-21.6
|
||||
resolver: lts-21.21 # GHC 9.4.7
|
||||
|
||||
flags: {}
|
||||
packages:
|
||||
- .
|
||||
- ./ipython-kernel
|
||||
- ./ghc-parser
|
||||
- ./ihaskell-display/ihaskell-aeson
|
||||
- ./ihaskell-display/ihaskell-blaze
|
||||
- ./ihaskell-display/ihaskell-charts
|
||||
- ./ihaskell-display/ihaskell-diagrams
|
||||
- ./ihaskell-display/ihaskell-gnuplot
|
||||
- ./ihaskell-display/ihaskell-graphviz
|
||||
- ./ihaskell-display/ihaskell-hatex
|
||||
- ./ihaskell-display/ihaskell-juicypixels
|
||||
- ./ihaskell-display/ihaskell-magic
|
||||
- ./ihaskell-display/ihaskell-plot
|
||||
# - ./ihaskell-display/ihaskell-static-canvas
|
||||
- ./ihaskell-display/ihaskell-widgets
|
||||
|
||||
extra-deps:
|
||||
- Chart-cairo-1.9.3
|
||||
- diagrams-cairo-1.4.2.1
|
||||
- cairo-0.13.10.0
|
||||
- pango-0.13.10.0
|
||||
- glib-0.13.10.0
|
||||
- plot-0.2.3.11
|
||||
- statestack-0.3.1.1
|
||||
- .
|
||||
- ./ipython-kernel
|
||||
- ./ghc-parser
|
||||
- ./ihaskell-display/ihaskell-aeson
|
||||
- ./ihaskell-display/ihaskell-blaze
|
||||
- ./ihaskell-display/ihaskell-charts
|
||||
- ./ihaskell-display/ihaskell-diagrams
|
||||
- ./ihaskell-display/ihaskell-gnuplot
|
||||
- ./ihaskell-display/ihaskell-graphviz
|
||||
- ./ihaskell-display/ihaskell-hatex
|
||||
- ./ihaskell-display/ihaskell-juicypixels
|
||||
- ./ihaskell-display/ihaskell-magic
|
||||
- ./ihaskell-display/ihaskell-plot
|
||||
# - ./ihaskell-display/ihaskell-static-canvas
|
||||
- ./ihaskell-display/ihaskell-widgets
|
||||
|
||||
ghc-options:
|
||||
# Eventually we want "$locals": -Wall -Wpartial-fields -Werror
|
||||
@ -33,27 +23,29 @@ ghc-options:
|
||||
# ihaskell: -Wall -Wpartial-fields -Werror
|
||||
# ihaskell-widgets: -Wall -Wpartial-fields -Werror
|
||||
|
||||
extra-deps:
|
||||
- Chart-cairo-1.9.3
|
||||
|
||||
nix:
|
||||
packages:
|
||||
- blas
|
||||
- cairo
|
||||
- file
|
||||
- fribidi
|
||||
- gcc
|
||||
- gfortran.cc.lib
|
||||
- libdatrie
|
||||
- liblapack
|
||||
- libselinux
|
||||
- libsepol
|
||||
- libsodium # Needed by zeromq
|
||||
- libthai
|
||||
- ncurses
|
||||
- pango
|
||||
- pkg-config
|
||||
- pcre
|
||||
- pcre2
|
||||
- pkgconfig
|
||||
- util-linux
|
||||
- xorg.libXdmcp
|
||||
- zeromq
|
||||
- zlib
|
||||
- blas
|
||||
- cairo
|
||||
- expat
|
||||
- file
|
||||
- fribidi
|
||||
- gcc
|
||||
- gfortran.cc.lib
|
||||
- libdatrie
|
||||
- liblapack
|
||||
- libselinux
|
||||
- libsepol
|
||||
- libthai
|
||||
- ncurses
|
||||
- pango
|
||||
- pcre
|
||||
- pcre2.dev
|
||||
- pkg-config
|
||||
- util-linux.dev
|
||||
- xorg.libXdmcp
|
||||
- zeromq
|
||||
- zlib
|
||||
|
@ -1,6 +1,5 @@
|
||||
resolver: lts-9.21
|
||||
|
||||
flags: {}
|
||||
packages:
|
||||
- .
|
||||
- ./ipython-kernel
|
||||
@ -27,14 +26,14 @@ ghc-options:
|
||||
|
||||
nix:
|
||||
packages:
|
||||
- blas
|
||||
- cairo
|
||||
- file
|
||||
- gcc
|
||||
- gfortran.cc.lib
|
||||
- liblapack
|
||||
- ncurses
|
||||
- pango
|
||||
- pkgconfig
|
||||
- zeromq
|
||||
- zlib
|
||||
- blas
|
||||
- cairo
|
||||
- file
|
||||
- gcc
|
||||
- gfortran.cc.lib
|
||||
- liblapack
|
||||
- ncurses
|
||||
- pango
|
||||
- pkg-config
|
||||
- zeromq
|
||||
- zlib
|
@ -2,23 +2,22 @@
|
||||
resolver: lts-18.27
|
||||
allow-newer: true
|
||||
|
||||
flags: {}
|
||||
packages:
|
||||
- .
|
||||
- ./ipython-kernel
|
||||
- ./ghc-parser
|
||||
- ./ihaskell-display/ihaskell-aeson
|
||||
- ./ihaskell-display/ihaskell-blaze
|
||||
- ./ihaskell-display/ihaskell-charts
|
||||
- ./ihaskell-display/ihaskell-diagrams
|
||||
- ./ihaskell-display/ihaskell-gnuplot
|
||||
- ./ihaskell-display/ihaskell-graphviz
|
||||
- ./ihaskell-display/ihaskell-hatex
|
||||
- ./ihaskell-display/ihaskell-juicypixels
|
||||
- ./ihaskell-display/ihaskell-magic
|
||||
- ./ihaskell-display/ihaskell-plot
|
||||
# - ./ihaskell-display/ihaskell-static-canvas
|
||||
- ./ihaskell-display/ihaskell-widgets
|
||||
- ..
|
||||
- ../ipython-kernel
|
||||
- ../ghc-parser
|
||||
- ../ihaskell-display/ihaskell-aeson
|
||||
- ../ihaskell-display/ihaskell-blaze
|
||||
- ../ihaskell-display/ihaskell-charts
|
||||
- ../ihaskell-display/ihaskell-diagrams
|
||||
- ../ihaskell-display/ihaskell-gnuplot
|
||||
- ../ihaskell-display/ihaskell-graphviz
|
||||
- ../ihaskell-display/ihaskell-hatex
|
||||
- ../ihaskell-display/ihaskell-juicypixels
|
||||
- ../ihaskell-display/ihaskell-magic
|
||||
- ../ihaskell-display/ihaskell-plot
|
||||
# - ../ihaskell-display/ihaskell-static-canvas
|
||||
- ../ihaskell-display/ihaskell-widgets
|
||||
|
||||
extra-deps:
|
||||
- active-0.2.0.14
|
||||
@ -49,14 +48,14 @@ ghc-options:
|
||||
|
||||
nix:
|
||||
packages:
|
||||
- blas
|
||||
- cairo
|
||||
- file
|
||||
- gcc
|
||||
- gfortran.cc.lib
|
||||
- liblapack
|
||||
- ncurses
|
||||
- pango
|
||||
- pkgconfig
|
||||
- zeromq
|
||||
- zlib
|
||||
- blas
|
||||
- cairo
|
||||
- file
|
||||
- gcc
|
||||
- gfortran.cc.lib
|
||||
- liblapack
|
||||
- ncurses
|
||||
- pango
|
||||
- pkg-config
|
||||
- zeromq
|
||||
- zlib
|
138
stack/stack-8.10.yaml.lock
Normal file
138
stack/stack-8.10.yaml.lock
Normal file
@ -0,0 +1,138 @@
|
||||
# This file was autogenerated by Stack.
|
||||
# You should not edit this file by hand.
|
||||
# For more information, please see the documentation at:
|
||||
# https://docs.haskellstack.org/en/stable/lock_files
|
||||
|
||||
packages:
|
||||
- completed:
|
||||
hackage: active-0.2.0.14@sha256:e618aba4a7881eb85dc1585e0a01230af6b4fbab6693931e4a5d0d3a5b184406,1823
|
||||
pantry-tree:
|
||||
sha256: 9326ee3500f7bb1adea18f581dc51ebdb522677d8cddc847a506ba5d328ee723
|
||||
size: 1017
|
||||
original:
|
||||
hackage: active-0.2.0.14
|
||||
- completed:
|
||||
hackage: Chart-cairo-1.9.3@sha256:5d6f005b5d3d74453a979eb2c6a1777c92ce02eae9e019abbe03a0e008cb8aea,924
|
||||
pantry-tree:
|
||||
sha256: 204f29235d182cc8c8ab40d0a37387e78c1dadc684e190c85e1643521483e681
|
||||
size: 238
|
||||
original:
|
||||
hackage: Chart-cairo-1.9.3
|
||||
- completed:
|
||||
hackage: diagrams-1.4@sha256:3e36369e84115b900fd9dcb570672a188339a470eb19ca62170775cd835cf8ca,5483
|
||||
pantry-tree:
|
||||
sha256: 8f2ea432c67f4711446942e032be53ed7dc49c1b1dd7d26ff71fbd4d05a02c4d
|
||||
size: 208
|
||||
original:
|
||||
hackage: diagrams-1.4
|
||||
- completed:
|
||||
hackage: diagrams-cairo-1.4.1.1@sha256:8b62e90fcb0a2c9343f594940698a148b2e778b203f3297c0bed3097d34b559a,3801
|
||||
pantry-tree:
|
||||
sha256: de94736d9aa3f321e9d621667e41ac029f47fe9956ee625eb46920bd9c3c7f80
|
||||
size: 721
|
||||
original:
|
||||
hackage: diagrams-cairo-1.4.1.1
|
||||
- completed:
|
||||
hackage: diagrams-contrib-1.4.4@sha256:77c87ab5c780086eca845df233d3b6816a2aed82a80b7f4abe5ce1259801924b,4753
|
||||
pantry-tree:
|
||||
sha256: 6f1a006bf528662f4f34e02207571669af6dab6966c64c0558559dfc16c43bf8
|
||||
size: 11387
|
||||
original:
|
||||
hackage: diagrams-contrib-1.4.4
|
||||
- completed:
|
||||
hackage: diagrams-core-1.5.0@sha256:8ffd24eb97ce309b41c52e5fa3a8acee5e4063565919eb4d41abb5c219b3d49b,2971
|
||||
pantry-tree:
|
||||
sha256: 670806e0af1e31792557a3bc2c4ffe4c39929fea718c3071eb4702c4512c9795
|
||||
size: 2018
|
||||
original:
|
||||
hackage: diagrams-core-1.5.0
|
||||
- completed:
|
||||
hackage: diagrams-lib-1.4.4@sha256:1129be254377b926ce2e932113e4bd06256de878d163fbcbacacf1be97bdf3b0,8220
|
||||
pantry-tree:
|
||||
sha256: a96099f5e6e4c3236dd2c2dd301e5498a1dd4b968a05dcec144c46eb53e6d912
|
||||
size: 11604
|
||||
original:
|
||||
hackage: diagrams-lib-1.4.4
|
||||
- completed:
|
||||
hackage: diagrams-svg-1.4.3@sha256:407ff78cb7bd1f44c68b0059036186f17a281a053901e29d0139ab151e703247,3159
|
||||
pantry-tree:
|
||||
sha256: 53c2221ee415d9bfc2f0dd886b67b1edbfdb91f68e809b43cf0bb830fc870ad7
|
||||
size: 475
|
||||
original:
|
||||
hackage: diagrams-svg-1.4.3
|
||||
- completed:
|
||||
hackage: cairo-0.13.8.1@sha256:1938aaeb5d3504678d995774dfe870f6b66cbd43d336b692fa8779b23b2b67a9,4075
|
||||
pantry-tree:
|
||||
sha256: 8f6344da4c578a4dd3a49c333e2158b695bfae32a74d34a76bbc6e531b70c95c
|
||||
size: 2830
|
||||
original:
|
||||
hackage: cairo-0.13.8.1
|
||||
- completed:
|
||||
hackage: pango-0.13.8.1@sha256:877b121c0bf87c96d3619effae6751ecfd74b7f7f3227cf3fde012597aed5ed9,3917
|
||||
pantry-tree:
|
||||
sha256: eec456a3d16f1a9305196a86a7c49a6f2cfe1b041a50b02059dc4898a07a3bd9
|
||||
size: 1506
|
||||
original:
|
||||
hackage: pango-0.13.8.1
|
||||
- completed:
|
||||
hackage: glib-0.13.8.1@sha256:42670daf0c85309281e08ba8559df75daa2e3be642e79fdfa781bef5e59658b0,3156
|
||||
pantry-tree:
|
||||
sha256: 1167575db8823b7a9f5fbaebdbc0ea5cef54301e442754ec256ba9371bd388e7
|
||||
size: 1625
|
||||
original:
|
||||
hackage: glib-0.13.8.1
|
||||
- completed:
|
||||
hackage: gtk2hs-buildtools-0.13.8.3@sha256:207229eee7abff12aba2740b32131522086275e46f2e72a0f5bbc3cb781e9d4d,5304
|
||||
pantry-tree:
|
||||
sha256: 1f93c6dbf2573503c48019fdf9f4662dcac494beaecccaea1873ec901eb2152f
|
||||
size: 3588
|
||||
original:
|
||||
hackage: gtk2hs-buildtools-0.13.8.3
|
||||
- completed:
|
||||
hackage: plot-0.2.3.11@sha256:9564d62da798b74a5ab875996f45adf1c3071e161247faa9a9d1b036e6634a4a,4413
|
||||
pantry-tree:
|
||||
sha256: 2b9cb15fa582d3cdc9f43e6ffaf401e36535909b3620c5f54bd9b7cca5dfeb44
|
||||
size: 2704
|
||||
original:
|
||||
hackage: plot-0.2.3.11
|
||||
- completed:
|
||||
hackage: statestack-0.3@sha256:437941f253bc7a6d8321e67938667bae53d7765b256a45976accadd85f6e1703,1146
|
||||
pantry-tree:
|
||||
sha256: 5b0ba98ac695eccbba33aae8eccf2b6dd8aa3d16d38db65e9e4c231aaa5e4082
|
||||
size: 272
|
||||
original:
|
||||
hackage: statestack-0.3
|
||||
- completed:
|
||||
hackage: dual-tree-0.2.2.1@sha256:9ff31e461d873ae74ba51d93b454c0c4094726d7cb78a0c454394c965e83539d,2830
|
||||
pantry-tree:
|
||||
sha256: 70ea91862ac301648d63e9c69d0ff8154b1d3c9c632d224d4002c027861ec33e
|
||||
size: 387
|
||||
original:
|
||||
hackage: dual-tree-0.2.2.1
|
||||
- completed:
|
||||
hackage: monoid-extras-0.6@sha256:fabcab0a59ac48d8f271016cf8190b21969b202c760df2db85add2fef93d38b4,2197
|
||||
pantry-tree:
|
||||
sha256: b07d7eef465c7cbc2f5c8368ef98b8a746166cb6953c1f51643f9fba6ead99e0
|
||||
size: 1187
|
||||
original:
|
||||
hackage: monoid-extras-0.6
|
||||
- completed:
|
||||
hackage: svg-builder-0.1.1@sha256:87d09f56d5630ce126574e9f00d1adc7f53dda58270e689f5883431db3ba4b3a,1591
|
||||
pantry-tree:
|
||||
sha256: 1185b1d09ed186b0b3c5b2dc3d9422830c79c3eaa1342f751e5c66d07c397754
|
||||
size: 535
|
||||
original:
|
||||
hackage: svg-builder-0.1.1
|
||||
- completed:
|
||||
hackage: force-layout-0.4.0.6@sha256:9270e4333ac3bac705d1ed742523b31849dfa7df48a3721f98e2ac05bc07dbd0,1321
|
||||
pantry-tree:
|
||||
sha256: 062299837db65635bbdd24ad621bf08e25e0e67f0adfbf2a2021a4d65822f014
|
||||
size: 276
|
||||
original:
|
||||
hackage: force-layout-0.4.0.6
|
||||
snapshots:
|
||||
- completed:
|
||||
sha256: 79a786674930a89301b0e908fad2822a48882f3d01486117693c377b8edffdbe
|
||||
size: 590102
|
||||
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/18/27.yaml
|
||||
original: lts-18.27
|
61
stack/stack-8.2.yaml
Normal file
61
stack/stack-8.2.yaml
Normal file
@ -0,0 +1,61 @@
|
||||
resolver: lts-11.22
|
||||
|
||||
packages:
|
||||
- .
|
||||
- ./ipython-kernel
|
||||
- ./ghc-parser
|
||||
- ./ihaskell-display/ihaskell-aeson
|
||||
- ./ihaskell-display/ihaskell-blaze
|
||||
- ./ihaskell-display/ihaskell-charts
|
||||
- ./ihaskell-display/ihaskell-diagrams
|
||||
- ./ihaskell-display/ihaskell-gnuplot
|
||||
- ./ihaskell-display/ihaskell-graphviz
|
||||
- ./ihaskell-display/ihaskell-hatex
|
||||
- ./ihaskell-display/ihaskell-juicypixels
|
||||
- ./ihaskell-display/ihaskell-magic
|
||||
- ./ihaskell-display/ihaskell-plot
|
||||
- ./ihaskell-display/ihaskell-static-canvas
|
||||
- ./ihaskell-display/ihaskell-widgets
|
||||
|
||||
ghc-options:
|
||||
# Eventually we want "$locals": -Wall -Werror
|
||||
ghc-parser: -Wall -Werror
|
||||
ihaskell: -Wall -Werror
|
||||
ihaskell-widgets: -Wall -Werror
|
||||
|
||||
allow-newer: true
|
||||
|
||||
extra-deps:
|
||||
- Chart-cairo-1.9.1
|
||||
- cairo-0.13.6.0
|
||||
- cubicbezier-0.6.0.5
|
||||
- diagrams-1.4
|
||||
- diagrams-cairo-1.4.1
|
||||
- diagrams-contrib-1.4.2.1
|
||||
- diagrams-core-1.4.0.1
|
||||
- diagrams-lib-1.4.2
|
||||
- diagrams-solve-0.1.1
|
||||
- diagrams-svg-1.4.1.1
|
||||
- dual-tree-0.2.1
|
||||
- fast-math-1.0.2
|
||||
- glib-0.13.7.1
|
||||
- gtk2hs-buildtools-0.13.5.4
|
||||
- magic-1.1
|
||||
- mfsolve-0.3.2.0
|
||||
- pango-0.13.6.1
|
||||
- plot-0.2.3.9
|
||||
- static-canvas-0.2.0.3
|
||||
|
||||
nix:
|
||||
packages:
|
||||
- blas
|
||||
- cairo
|
||||
- file
|
||||
- gcc
|
||||
- gfortran.cc.lib
|
||||
- liblapack
|
||||
- ncurses
|
||||
- pango
|
||||
- pkg-config
|
||||
- zeromq
|
||||
- zlib
|
103
stack/stack-8.2.yaml.lock
Normal file
103
stack/stack-8.2.yaml.lock
Normal file
@ -0,0 +1,103 @@
|
||||
# This file was autogenerated by Stack.
|
||||
# You should not edit this file by hand.
|
||||
# For more information, please see the documentation at:
|
||||
# https://docs.haskellstack.org/en/stable/lock_files
|
||||
|
||||
packages:
|
||||
- completed:
|
||||
hackage: static-canvas-0.2.0.3@sha256:3ad170c6efbd26b981fe66f4c4a85e515c200c675e3f2c6603da7d64e84bc8f5,1768
|
||||
pantry-tree:
|
||||
sha256: b61e591e6028dc284ed5ed22f9bab9fcfe9034288741dcc26d0eae79b140031c
|
||||
size: 563
|
||||
original:
|
||||
hackage: static-canvas-0.2.0.3
|
||||
- completed:
|
||||
hackage: diagrams-1.4@sha256:3e36369e84115b900fd9dcb570672a188339a470eb19ca62170775cd835cf8ca,5483
|
||||
pantry-tree:
|
||||
sha256: 8f2ea432c67f4711446942e032be53ed7dc49c1b1dd7d26ff71fbd4d05a02c4d
|
||||
size: 208
|
||||
original:
|
||||
hackage: diagrams-1.4
|
||||
- completed:
|
||||
hackage: diagrams-cairo-1.4@sha256:268fc389290424fbb0c4c207e4e09cb1ef7e652269ea63cd3d746da2f8a041c0,3869
|
||||
pantry-tree:
|
||||
sha256: f94fe112eeb6d0b1be6af93c56bfe8f16d0ea63a99b50c9aa38476a8363ae420
|
||||
size: 721
|
||||
original:
|
||||
hackage: diagrams-cairo-1.4
|
||||
- completed:
|
||||
hackage: diagrams-lib-1.4.2@sha256:3ac3821d32a87501328c34d9f4f6ee1ee7b50c3a3ca0ddf4c6beeb1fa847313b,8104
|
||||
pantry-tree:
|
||||
sha256: 5d375f02f07a6fea645becec4f94c0ff5866791168cbdb632eccc8c7c3f01eb3
|
||||
size: 11529
|
||||
original:
|
||||
hackage: diagrams-lib-1.4.2
|
||||
- completed:
|
||||
hackage: magic-1.1@sha256:3a31ca1c49fa5f6a857f647471739bd240a6020af6ae43e71fb72201fc482fa2,928
|
||||
pantry-tree:
|
||||
sha256: 8fd594932f36cdf6a93266c48248a6c516d2aa237cd023eed6935ccee7ed230b
|
||||
size: 535
|
||||
original:
|
||||
hackage: magic-1.1
|
||||
- completed:
|
||||
hackage: diagrams-contrib-1.4.2.1@sha256:553feab6969b3a65169bce2a548fb415b0e617baae9f72324a373030a825fc0a,4501
|
||||
pantry-tree:
|
||||
sha256: f803b132eceba65ef98425d1205c0031183660c60c44d52e2bea43d221c61328
|
||||
size: 10858
|
||||
original:
|
||||
hackage: diagrams-contrib-1.4.2.1
|
||||
- completed:
|
||||
hackage: diagrams-core-1.4.0.1@sha256:a60809ab07c9977d0c6fbbaeeabaa6df44e751b6c9ef2cd1a9b1beb1e9c87c37,2888
|
||||
pantry-tree:
|
||||
sha256: 45703e055dcfbc3c26939fddb6fe8bdf0b271f8d0992fd7f6ce1d366f190e519
|
||||
size: 2018
|
||||
original:
|
||||
hackage: diagrams-core-1.4.0.1
|
||||
- completed:
|
||||
hackage: diagrams-solve-0.1.1@sha256:8ed66891bb42f9cd5e77b02a0f8ebaa91a2363a82a007313f90c7f57806688fa,1713
|
||||
pantry-tree:
|
||||
sha256: eb09d6fe6c342061bc83bbdbe702692eae33b7d7e691a29e7112499a537494d3
|
||||
size: 469
|
||||
original:
|
||||
hackage: diagrams-solve-0.1.1
|
||||
- completed:
|
||||
hackage: diagrams-svg-1.4.1.1@sha256:a33bc07c73d4051230203a7bdbebbbdc4d5011c0efaa3fef9cb9afa65e120119,3104
|
||||
pantry-tree:
|
||||
sha256: 63a3f42f4866fa6cd954456c3ac5e58337fba4ba0bd383bd375751932a366c4c
|
||||
size: 475
|
||||
original:
|
||||
hackage: diagrams-svg-1.4.1.1
|
||||
- completed:
|
||||
hackage: dual-tree-0.2.1@sha256:842d3190984106fac7980a7320568b2dcd4145460a9299a05c8d078d4a79de58,2686
|
||||
pantry-tree:
|
||||
sha256: f7efa5a7dbdbb70d4df51c299c27ba1909a86f02717a4a9e952dcaeb73f0fb31
|
||||
size: 387
|
||||
original:
|
||||
hackage: dual-tree-0.2.1
|
||||
- completed:
|
||||
hackage: cubicbezier-0.6.0.5@sha256:a0e96070684203c828882d709e165f6adc89aa8e2ffd482bd14184df73c365f7,2293
|
||||
pantry-tree:
|
||||
sha256: 083acda7f3f4516f509ee85bc7ffd9aa91b2b0f3f40e3ccdeb94cc7f465ef82a
|
||||
size: 1029
|
||||
original:
|
||||
hackage: cubicbezier-0.6.0.5
|
||||
- completed:
|
||||
hackage: mfsolve-0.3.2.0@sha256:b63176f6adeb4ffa021a7c67211aa46ab101715cc592adaade1233cc92a45342,1196
|
||||
pantry-tree:
|
||||
sha256: d200c397b5770a9d8161fb023d4d0f13aa65b3d5953845f6449b4132bfb46168
|
||||
size: 262
|
||||
original:
|
||||
hackage: mfsolve-0.3.2.0
|
||||
- completed:
|
||||
hackage: fast-math-1.0.2@sha256:91181eb836e54413cc5a841e797c42b2264954e893ea530b6fc4da0dccf6a8b7,1387
|
||||
pantry-tree:
|
||||
sha256: f22194924e26d3a27faef9cc9943ebb703c508d8ee9c9c7507618e39d62853af
|
||||
size: 421
|
||||
original:
|
||||
hackage: fast-math-1.0.2
|
||||
snapshots:
|
||||
- completed:
|
||||
sha256: 341870ac98d8a9f8f77c4adf2e9e0b22063e264a7fbeb4c85b7af5f380dac60e
|
||||
size: 527836
|
||||
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/11/22.yaml
|
||||
original: lts-11.22
|
48
stack/stack-8.4.yaml
Normal file
48
stack/stack-8.4.yaml
Normal file
@ -0,0 +1,48 @@
|
||||
resolver: lts-12.26
|
||||
|
||||
packages:
|
||||
- .
|
||||
- ./ipython-kernel
|
||||
- ./ghc-parser
|
||||
- ./ihaskell-display/ihaskell-aeson
|
||||
- ./ihaskell-display/ihaskell-blaze
|
||||
- ./ihaskell-display/ihaskell-charts
|
||||
- ./ihaskell-display/ihaskell-diagrams
|
||||
- ./ihaskell-display/ihaskell-gnuplot
|
||||
- ./ihaskell-display/ihaskell-hatex
|
||||
- ./ihaskell-display/ihaskell-juicypixels
|
||||
- ./ihaskell-display/ihaskell-magic
|
||||
- ./ihaskell-display/ihaskell-plot
|
||||
- ./ihaskell-display/ihaskell-static-canvas
|
||||
- ./ihaskell-display/ihaskell-widgets
|
||||
|
||||
extra-deps:
|
||||
- plot-0.2.3.9
|
||||
- Chart-cairo-1.9.1
|
||||
- Chart-1.9.4
|
||||
- diagrams-cairo-1.4.1
|
||||
- cairo-0.13.6.0
|
||||
- pango-0.13.6.1
|
||||
- glib-0.13.7.1
|
||||
- gtk2hs-buildtools-0.13.5.4
|
||||
- magic-1.1
|
||||
|
||||
ghc-options:
|
||||
# Eventually we want "$locals": -Wall -Wpartial-fields -Werror
|
||||
ghc-parser: -Wall -Wpartial-fields -Werror
|
||||
ihaskell: -Wall -Wpartial-fields -Werror
|
||||
ihaskell-widgets: -Wall -Wpartial-fields -Werror
|
||||
|
||||
nix:
|
||||
packages:
|
||||
- blas
|
||||
- cairo
|
||||
- file
|
||||
- gcc
|
||||
- gfortran.cc.lib
|
||||
- liblapack
|
||||
- ncurses
|
||||
- pango
|
||||
- pkg-config
|
||||
- zeromq
|
||||
- zlib
|
40
stack/stack-8.4.yaml.lock
Normal file
40
stack/stack-8.4.yaml.lock
Normal file
@ -0,0 +1,40 @@
|
||||
# This file was autogenerated by Stack.
|
||||
# You should not edit this file by hand.
|
||||
# For more information, please see the documentation at:
|
||||
# https://docs.haskellstack.org/en/stable/lock_files
|
||||
|
||||
packages:
|
||||
- completed:
|
||||
hackage: magic-1.1@sha256:3a31ca1c49fa5f6a857f647471739bd240a6020af6ae43e71fb72201fc482fa2,928
|
||||
pantry-tree:
|
||||
sha256: 8fd594932f36cdf6a93266c48248a6c516d2aa237cd023eed6935ccee7ed230b
|
||||
size: 535
|
||||
original:
|
||||
hackage: magic-1.1
|
||||
- completed:
|
||||
hackage: Chart-1.9@sha256:f41568b6b3704f66c2ec163295b430ab7d798f91de426c2d5aba747d1135cd9b,2855
|
||||
pantry-tree:
|
||||
sha256: aaf8b3f35af0012324865cb24c7989dfc794e8dab3eb2152e949cf5243a451ca
|
||||
size: 3031
|
||||
original:
|
||||
hackage: Chart-1.9
|
||||
- completed:
|
||||
hackage: Chart-cairo-1.9@sha256:82875639be230c9406dbea650647b2dc94b11060160d6dad2c98551bb23d544f,877
|
||||
pantry-tree:
|
||||
sha256: 3eef9a2fdb682a95f5a60e66258d5b6036e9b8c19a7260f626ddda2d30113055
|
||||
size: 238
|
||||
original:
|
||||
hackage: Chart-cairo-1.9
|
||||
- completed:
|
||||
hackage: plot-0.2.3.9@sha256:85d157a5c1fef7068ffb74137bb56475f18c93c35f57bf76b38d95d46930fed0,4342
|
||||
pantry-tree:
|
||||
sha256: bc80948074253bd37c2b02dbae92b8cf28474f26ae6edbb5ec34cd6b5445e7f9
|
||||
size: 2704
|
||||
original:
|
||||
hackage: plot-0.2.3.9
|
||||
snapshots:
|
||||
- completed:
|
||||
sha256: 95f014df58d0679b1c4a2b7bf2b652b61da8d30de5f571abb0d59015ef678646
|
||||
size: 509471
|
||||
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/12/26.yaml
|
||||
original: lts-12.26
|
47
stack/stack-8.6.yaml
Normal file
47
stack/stack-8.6.yaml
Normal file
@ -0,0 +1,47 @@
|
||||
resolver: lts-14.27
|
||||
|
||||
packages:
|
||||
- ..
|
||||
- ../ipython-kernel
|
||||
- ../ghc-parser
|
||||
- ../ihaskell-display/ihaskell-aeson
|
||||
- ../ihaskell-display/ihaskell-blaze
|
||||
- ../ihaskell-display/ihaskell-charts
|
||||
- ../ihaskell-display/ihaskell-diagrams
|
||||
- ../ihaskell-display/ihaskell-gnuplot
|
||||
- ../ihaskell-display/ihaskell-hatex
|
||||
- ../ihaskell-display/ihaskell-juicypixels
|
||||
- ../ihaskell-display/ihaskell-magic
|
||||
# - ../ihaskell-display/ihaskell-plot
|
||||
# - ../ihaskell-display/ihaskell-static-canvas
|
||||
- ../ihaskell-display/ihaskell-widgets
|
||||
|
||||
extra-deps:
|
||||
- Chart-cairo-1.9.1
|
||||
- diagrams-cairo-1.4.1
|
||||
- cairo-0.13.6.0
|
||||
- pango-0.13.6.1
|
||||
- glib-0.13.7.1
|
||||
- gtk2hs-buildtools-0.13.5.4
|
||||
- magic-1.1
|
||||
# - plot-0.2.3.9
|
||||
|
||||
ghc-options:
|
||||
# Eventually we want "$locals": -Wall -Wpartial-fields -Werror
|
||||
ghc-parser: -Wall -Wpartial-fields -Werror
|
||||
ihaskell: -Wall -Wpartial-fields -Werror
|
||||
ihaskell-widgets: -Wall -Wpartial-fields -Werror
|
||||
|
||||
nix:
|
||||
packages:
|
||||
- blas
|
||||
- cairo
|
||||
- file
|
||||
- gcc
|
||||
- gfortran.cc.lib
|
||||
- liblapack
|
||||
- ncurses
|
||||
- pango
|
||||
- pkg-config
|
||||
- zeromq
|
||||
- zlib
|
61
stack/stack-8.6.yaml.lock
Normal file
61
stack/stack-8.6.yaml.lock
Normal file
@ -0,0 +1,61 @@
|
||||
# This file was autogenerated by Stack.
|
||||
# You should not edit this file by hand.
|
||||
# For more information, please see the documentation at:
|
||||
# https://docs.haskellstack.org/en/stable/lock_files
|
||||
|
||||
packages:
|
||||
- completed:
|
||||
hackage: Chart-cairo-1.9.1@sha256:85605a4663f319e482bbd208c1e44c3cc8e0ec094fcd41b6afa3db4ce60635b0,925
|
||||
pantry-tree:
|
||||
sha256: 832739931c5d84c3c7b357782dd75cda9548a496f0be21cd1163e2b5e14fd89c
|
||||
size: 238
|
||||
original:
|
||||
hackage: Chart-cairo-1.9.1
|
||||
- completed:
|
||||
hackage: diagrams-cairo-1.4.1@sha256:e08f15a15146da9222344fbc433ccd6103c0a7f1e9dfe21bb1e3d3e36ad83947,3820
|
||||
pantry-tree:
|
||||
sha256: d046241de911d534c4b554d24090412cedeffb46e92cb5fb3884b5c667f5fc72
|
||||
size: 721
|
||||
original:
|
||||
hackage: diagrams-cairo-1.4.1
|
||||
- completed:
|
||||
hackage: cairo-0.13.6.0@sha256:a9122d48957a2dbb5a177e5068b850efa1e99bb22c68eb2571165c3c945a8dd6,4187
|
||||
pantry-tree:
|
||||
sha256: 180df55408086398e9901a6bcb2720da6fcecac5f57abcdb4df1251a686f1bb7
|
||||
size: 2830
|
||||
original:
|
||||
hackage: cairo-0.13.6.0
|
||||
- completed:
|
||||
hackage: pango-0.13.6.1@sha256:177c9b6d865dc8f1634742497c6807a7c37a11e86c0dc93fbc047981d546738a,3881
|
||||
pantry-tree:
|
||||
sha256: 216bb39cdc265804f6ddd30c00c82ab156c17dcf8577b85527c287a21b4cb9fb
|
||||
size: 1506
|
||||
original:
|
||||
hackage: pango-0.13.6.1
|
||||
- completed:
|
||||
hackage: glib-0.13.7.1@sha256:b517bbbc46f8bd72a8c97fb1d6769705a9b0d006f7cff8b3dc85948511817b11,3120
|
||||
pantry-tree:
|
||||
sha256: d7218c2ed9890d7b07030601980f62a57d5e888f656db5f32c3017ec7551a0d2
|
||||
size: 1625
|
||||
original:
|
||||
hackage: glib-0.13.7.1
|
||||
- completed:
|
||||
hackage: gtk2hs-buildtools-0.13.5.4@sha256:0f18b0103fa7a3cbc28edc6a97bdaf08e1f9bd273ef26d2ad498630ec6d0ac9c,5288
|
||||
pantry-tree:
|
||||
sha256: df6fdd3aaf8b9d3dd420b5c5906751d7399f1999607b396141d1493c76472e1b
|
||||
size: 3588
|
||||
original:
|
||||
hackage: gtk2hs-buildtools-0.13.5.4
|
||||
- completed:
|
||||
hackage: magic-1.1@sha256:3a31ca1c49fa5f6a857f647471739bd240a6020af6ae43e71fb72201fc482fa2,928
|
||||
pantry-tree:
|
||||
sha256: 8fd594932f36cdf6a93266c48248a6c516d2aa237cd023eed6935ccee7ed230b
|
||||
size: 535
|
||||
original:
|
||||
hackage: magic-1.1
|
||||
snapshots:
|
||||
- completed:
|
||||
sha256: 7ea31a280c56bf36ff591a7397cc384d0dff622e7f9e4225b47d8980f019a0f0
|
||||
size: 524996
|
||||
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/14/27.yaml
|
||||
original: lts-14.27
|
49
stack/stack-8.8.yaml
Normal file
49
stack/stack-8.8.yaml
Normal file
@ -0,0 +1,49 @@
|
||||
resolver: lts-16.31 # GHC 8.8.4
|
||||
|
||||
packages:
|
||||
- ..
|
||||
- ../ipython-kernel
|
||||
- ../ghc-parser
|
||||
- ../ihaskell-display/ihaskell-aeson
|
||||
- ../ihaskell-display/ihaskell-blaze
|
||||
- ../ihaskell-display/ihaskell-charts
|
||||
- ../ihaskell-display/ihaskell-diagrams
|
||||
- ../ihaskell-display/ihaskell-gnuplot
|
||||
- ../ihaskell-display/ihaskell-hatex
|
||||
- ../ihaskell-display/ihaskell-juicypixels
|
||||
- ../ihaskell-display/ihaskell-magic
|
||||
- ../ihaskell-display/ihaskell-plot
|
||||
# - ../ihaskell-display/ihaskell-static-canvas
|
||||
- ../ihaskell-display/ihaskell-widgets
|
||||
|
||||
extra-deps:
|
||||
- Chart-cairo-1.9.3
|
||||
- diagrams-cairo-1.4.1.1
|
||||
- cairo-0.13.10.0
|
||||
- pango-0.13.10.0
|
||||
- glib-0.13.10.0
|
||||
- gtk2hs-buildtools-0.13.10.0
|
||||
- magic-1.1
|
||||
- plot-0.2.3.11
|
||||
# - static-canvas-0.2.0.3
|
||||
- vinyl-0.13.0
|
||||
|
||||
ghc-options:
|
||||
# Eventually we want "$locals": -Wall -Wpartial-fields -Werror
|
||||
# ghc-parser: -Wall -Wpartial-fields -Werror
|
||||
# ihaskell: -Wall -Wpartial-fields -Werror
|
||||
# ihaskell-widgets: -Wall -Wpartial-fields -Werror
|
||||
|
||||
nix:
|
||||
packages:
|
||||
- blas
|
||||
- cairo
|
||||
- file
|
||||
- gcc
|
||||
- gfortran.cc.lib
|
||||
- liblapack
|
||||
- ncurses
|
||||
- pango
|
||||
- pkg-config
|
||||
- zeromq
|
||||
- zlib
|
75
stack/stack-8.8.yaml.lock
Normal file
75
stack/stack-8.8.yaml.lock
Normal file
@ -0,0 +1,75 @@
|
||||
# This file was autogenerated by Stack.
|
||||
# You should not edit this file by hand.
|
||||
# For more information, please see the documentation at:
|
||||
# https://docs.haskellstack.org/en/stable/lock_files
|
||||
|
||||
packages:
|
||||
- completed:
|
||||
hackage: Chart-cairo-1.9.3@sha256:5d6f005b5d3d74453a979eb2c6a1777c92ce02eae9e019abbe03a0e008cb8aea,924
|
||||
pantry-tree:
|
||||
sha256: 204f29235d182cc8c8ab40d0a37387e78c1dadc684e190c85e1643521483e681
|
||||
size: 238
|
||||
original:
|
||||
hackage: Chart-cairo-1.9.3
|
||||
- completed:
|
||||
hackage: diagrams-cairo-1.4.1.1@sha256:8b62e90fcb0a2c9343f594940698a148b2e778b203f3297c0bed3097d34b559a,3801
|
||||
pantry-tree:
|
||||
sha256: de94736d9aa3f321e9d621667e41ac029f47fe9956ee625eb46920bd9c3c7f80
|
||||
size: 721
|
||||
original:
|
||||
hackage: diagrams-cairo-1.4.1.1
|
||||
- completed:
|
||||
hackage: cairo-0.13.10.0@sha256:388f39af90d50b920cad70612046041a7ffd7f5b60721862c0c797ecddf7e902,4153
|
||||
pantry-tree:
|
||||
sha256: a5d7014b0df2600377d061185b104f755274935554e723e2b7b600b85ffc7ae2
|
||||
size: 2831
|
||||
original:
|
||||
hackage: cairo-0.13.10.0
|
||||
- completed:
|
||||
hackage: pango-0.13.10.0@sha256:4c7fc6187aadc2f3905a8fae7318ceccbb2af88134922536e3f4cae8640978dc,4081
|
||||
pantry-tree:
|
||||
sha256: acff0fc47176a959f14703e86704a0b5935aaabe84db245d03086061879179cf
|
||||
size: 1506
|
||||
original:
|
||||
hackage: pango-0.13.10.0
|
||||
- completed:
|
||||
hackage: glib-0.13.10.0@sha256:e136db5cb19cbec17f823e919a0b44c12e50a90296d03c9d0c54761200611267,3171
|
||||
pantry-tree:
|
||||
sha256: 2e513e6a9b5d5fa1603f832bfda6dee4cb3d77425aff4e9ec5a38682c8818d8b
|
||||
size: 1625
|
||||
original:
|
||||
hackage: glib-0.13.10.0
|
||||
- completed:
|
||||
hackage: gtk2hs-buildtools-0.13.10.0@sha256:ae8d2779835e29eb72f2ab1697901dba23adc45ccf197c7a51daaa5056869644,5305
|
||||
pantry-tree:
|
||||
sha256: 059d57676c2557bbf31c93189fb983ae0a7747fec8830395f88f4badfb90c12d
|
||||
size: 3588
|
||||
original:
|
||||
hackage: gtk2hs-buildtools-0.13.10.0
|
||||
- completed:
|
||||
hackage: magic-1.1@sha256:3a31ca1c49fa5f6a857f647471739bd240a6020af6ae43e71fb72201fc482fa2,928
|
||||
pantry-tree:
|
||||
sha256: 8fd594932f36cdf6a93266c48248a6c516d2aa237cd023eed6935ccee7ed230b
|
||||
size: 535
|
||||
original:
|
||||
hackage: magic-1.1
|
||||
- completed:
|
||||
hackage: plot-0.2.3.11@sha256:9564d62da798b74a5ab875996f45adf1c3071e161247faa9a9d1b036e6634a4a,4413
|
||||
pantry-tree:
|
||||
sha256: 2b9cb15fa582d3cdc9f43e6ffaf401e36535909b3620c5f54bd9b7cca5dfeb44
|
||||
size: 2704
|
||||
original:
|
||||
hackage: plot-0.2.3.11
|
||||
- completed:
|
||||
hackage: vinyl-0.13.0@sha256:0f247cd3f8682b30881a07de18e6fec52d540646fbcb328420049cc8d63cd407,3724
|
||||
pantry-tree:
|
||||
sha256: 860fb95820b595161cdbdec5f376100ebae2d14e5ef0dbe311546202f7525d01
|
||||
size: 1857
|
||||
original:
|
||||
hackage: vinyl-0.13.0
|
||||
snapshots:
|
||||
- completed:
|
||||
sha256: 637fb77049b25560622a224845b7acfe81a09fdb6a96a3c75997a10b651667f6
|
||||
size: 534126
|
||||
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/16/31.yaml
|
||||
original: lts-16.31
|
47
stack/stack-9.0.yaml
Normal file
47
stack/stack-9.0.yaml
Normal file
@ -0,0 +1,47 @@
|
||||
resolver: lts-19.33 # GHC 9.0.2
|
||||
|
||||
packages:
|
||||
- ..
|
||||
- ../ipython-kernel
|
||||
- ../ghc-parser
|
||||
- ../ihaskell-display/ihaskell-aeson
|
||||
- ../ihaskell-display/ihaskell-blaze
|
||||
- ../ihaskell-display/ihaskell-charts
|
||||
- ../ihaskell-display/ihaskell-diagrams
|
||||
- ../ihaskell-display/ihaskell-gnuplot
|
||||
- ../ihaskell-display/ihaskell-graphviz
|
||||
- ../ihaskell-display/ihaskell-hatex
|
||||
- ../ihaskell-display/ihaskell-juicypixels
|
||||
- ../ihaskell-display/ihaskell-magic
|
||||
- ../ihaskell-display/ihaskell-plot
|
||||
# - ../ihaskell-display/ihaskell-static-canvas
|
||||
- ../ihaskell-display/ihaskell-widgets
|
||||
|
||||
extra-deps:
|
||||
- Chart-cairo-1.9.3
|
||||
- diagrams-cairo-1.4.2
|
||||
- cairo-0.13.8.2
|
||||
- pango-0.13.8.2
|
||||
- glib-0.13.8.2
|
||||
- plot-0.2.3.11
|
||||
- statestack-0.3
|
||||
|
||||
ghc-options:
|
||||
# Eventually we want "$locals": -Wall -Wpartial-fields -Werror
|
||||
# ghc-parser: -Wall -Wpartial-fields -Werror
|
||||
# ihaskell: -Wall -Wpartial-fields -Werror
|
||||
# ihaskell-widgets: -Wall -Wpartial-fields -Werror
|
||||
|
||||
nix:
|
||||
packages:
|
||||
- blas
|
||||
- cairo
|
||||
- file
|
||||
- gcc
|
||||
- gfortran.cc.lib
|
||||
- liblapack
|
||||
- ncurses
|
||||
- pango
|
||||
- pkg-config
|
||||
- zeromq
|
||||
- zlib
|
61
stack/stack-9.0.yaml.lock
Normal file
61
stack/stack-9.0.yaml.lock
Normal file
@ -0,0 +1,61 @@
|
||||
# This file was autogenerated by Stack.
|
||||
# You should not edit this file by hand.
|
||||
# For more information, please see the documentation at:
|
||||
# https://docs.haskellstack.org/en/stable/lock_files
|
||||
|
||||
packages:
|
||||
- completed:
|
||||
hackage: Chart-cairo-1.9.3@sha256:5d6f005b5d3d74453a979eb2c6a1777c92ce02eae9e019abbe03a0e008cb8aea,924
|
||||
pantry-tree:
|
||||
sha256: 204f29235d182cc8c8ab40d0a37387e78c1dadc684e190c85e1643521483e681
|
||||
size: 238
|
||||
original:
|
||||
hackage: Chart-cairo-1.9.3
|
||||
- completed:
|
||||
hackage: diagrams-cairo-1.4.2@sha256:42807c226188653ab668baceab8fa2245149ed1fc9df595f6e77613ed1259424,3799
|
||||
pantry-tree:
|
||||
sha256: 02aadeb755a93b3a777c6efb597ef33a5a5c2ebcf28e4de7404ce8f1c23e7f1c
|
||||
size: 721
|
||||
original:
|
||||
hackage: diagrams-cairo-1.4.2
|
||||
- completed:
|
||||
hackage: cairo-0.13.8.2@sha256:ef1709c3c4d2c6d68a9a51d9f220dccc0745f6468d2d0868c15a7ecdf8f325a1,4078
|
||||
pantry-tree:
|
||||
sha256: d6a9b3a15bc2e7b53fda331279cfdbc299fbf0c4be2ee8c1b6b79b924b6fdeb4
|
||||
size: 2830
|
||||
original:
|
||||
hackage: cairo-0.13.8.2
|
||||
- completed:
|
||||
hackage: pango-0.13.8.2@sha256:d4057ebddade4cde3e25d7755b5e030e7a7e56fe7365afd37916a7bba46d3fd9,3917
|
||||
pantry-tree:
|
||||
sha256: 10c335853e1d43e0b7426b33e8ddbdb90b3e318ebec4d58f0726a2f4cfb2e1c9
|
||||
size: 1506
|
||||
original:
|
||||
hackage: pango-0.13.8.2
|
||||
- completed:
|
||||
hackage: glib-0.13.8.2@sha256:f44b829e741b3c3244d523f60b058701dfc067ff64c2ba61d43be4cccfc2663d,3156
|
||||
pantry-tree:
|
||||
sha256: 2442a22152231a94e2f1ecfe7ddc0f4e5fb2d5ae116b371508a448bd3312ef06
|
||||
size: 1625
|
||||
original:
|
||||
hackage: glib-0.13.8.2
|
||||
- completed:
|
||||
hackage: plot-0.2.3.11@sha256:9564d62da798b74a5ab875996f45adf1c3071e161247faa9a9d1b036e6634a4a,4413
|
||||
pantry-tree:
|
||||
sha256: 2b9cb15fa582d3cdc9f43e6ffaf401e36535909b3620c5f54bd9b7cca5dfeb44
|
||||
size: 2704
|
||||
original:
|
||||
hackage: plot-0.2.3.11
|
||||
- completed:
|
||||
hackage: statestack-0.3@sha256:437941f253bc7a6d8321e67938667bae53d7765b256a45976accadd85f6e1703,1146
|
||||
pantry-tree:
|
||||
sha256: 5b0ba98ac695eccbba33aae8eccf2b6dd8aa3d16d38db65e9e4c231aaa5e4082
|
||||
size: 272
|
||||
original:
|
||||
hackage: statestack-0.3
|
||||
snapshots:
|
||||
- completed:
|
||||
sha256: 6d1532d40621957a25bad5195bfca7938e8a06d923c91bc52aa0f3c41181f2d4
|
||||
size: 619204
|
||||
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/19/33.yaml
|
||||
original: lts-19.33
|
38
stack/stack-9.2.yaml
Normal file
38
stack/stack-9.2.yaml
Normal file
@ -0,0 +1,38 @@
|
||||
resolver: lts-20.26 # GHC 9.2.8
|
||||
|
||||
packages:
|
||||
- ..
|
||||
- ../ipython-kernel
|
||||
- ../ghc-parser
|
||||
- ../ihaskell-display/ihaskell-aeson
|
||||
- ../ihaskell-display/ihaskell-blaze
|
||||
- ../ihaskell-display/ihaskell-charts
|
||||
- ../ihaskell-display/ihaskell-diagrams
|
||||
- ../ihaskell-display/ihaskell-gnuplot
|
||||
- ../ihaskell-display/ihaskell-graphviz
|
||||
- ../ihaskell-display/ihaskell-hatex
|
||||
- ../ihaskell-display/ihaskell-juicypixels
|
||||
- ../ihaskell-display/ihaskell-magic
|
||||
- ../ihaskell-display/ihaskell-plot
|
||||
# - ../ihaskell-display/ihaskell-static-canvas
|
||||
- ../ihaskell-display/ihaskell-widgets
|
||||
|
||||
ghc-options:
|
||||
# Eventually we want "$locals": -Wall -Wpartial-fields -Werror
|
||||
# ghc-parser: -Wall -Wpartial-fields -Werror
|
||||
# ihaskell: -Wall -Wpartial-fields -Werror
|
||||
# ihaskell-widgets: -Wall -Wpartial-fields -Werror
|
||||
|
||||
nix:
|
||||
packages:
|
||||
- blas
|
||||
- cairo
|
||||
- file
|
||||
- gcc
|
||||
- gfortran.cc.lib
|
||||
- liblapack
|
||||
- ncurses
|
||||
- pango
|
||||
- pkg-config
|
||||
- zeromq
|
||||
- zlib
|
12
stack/stack-9.2.yaml.lock
Normal file
12
stack/stack-9.2.yaml.lock
Normal file
@ -0,0 +1,12 @@
|
||||
# This file was autogenerated by Stack.
|
||||
# You should not edit this file by hand.
|
||||
# For more information, please see the documentation at:
|
||||
# https://docs.haskellstack.org/en/stable/lock_files
|
||||
|
||||
packages: []
|
||||
snapshots:
|
||||
- completed:
|
||||
sha256: 5a59b2a405b3aba3c00188453be172b85893cab8ebc352b1ef58b0eae5d248a2
|
||||
size: 650475
|
||||
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/20/26.yaml
|
||||
original: lts-20.26
|
51
stack/stack-9.4.yaml
Normal file
51
stack/stack-9.4.yaml
Normal file
@ -0,0 +1,51 @@
|
||||
resolver: lts-21.21 # GHC 9.4.7
|
||||
|
||||
packages:
|
||||
- ..
|
||||
- ../ipython-kernel
|
||||
- ../ghc-parser
|
||||
- ../ihaskell-display/ihaskell-aeson
|
||||
- ../ihaskell-display/ihaskell-blaze
|
||||
- ../ihaskell-display/ihaskell-charts
|
||||
- ../ihaskell-display/ihaskell-diagrams
|
||||
- ../ihaskell-display/ihaskell-gnuplot
|
||||
- ../ihaskell-display/ihaskell-graphviz
|
||||
- ../ihaskell-display/ihaskell-hatex
|
||||
- ../ihaskell-display/ihaskell-juicypixels
|
||||
- ../ihaskell-display/ihaskell-magic
|
||||
- ../ihaskell-display/ihaskell-plot
|
||||
# - ../ihaskell-display/ihaskell-static-canvas
|
||||
- ../ihaskell-display/ihaskell-widgets
|
||||
|
||||
ghc-options:
|
||||
# Eventually we want "$locals": -Wall -Wpartial-fields -Werror
|
||||
# ghc-parser: -Wall -Wpartial-fields -Werror
|
||||
# ihaskell: -Wall -Wpartial-fields -Werror
|
||||
# ihaskell-widgets: -Wall -Wpartial-fields -Werror
|
||||
|
||||
extra-deps:
|
||||
- Chart-cairo-1.9.3
|
||||
|
||||
nix:
|
||||
packages:
|
||||
- blas
|
||||
- cairo
|
||||
- expat
|
||||
- file
|
||||
- fribidi
|
||||
- gcc
|
||||
- gfortran.cc.lib
|
||||
- libdatrie
|
||||
- liblapack
|
||||
- libselinux
|
||||
- libsepol
|
||||
- libthai
|
||||
- ncurses
|
||||
- pango
|
||||
- pcre
|
||||
- pcre2.dev
|
||||
- pkg-config
|
||||
- util-linux.dev
|
||||
- xorg.libXdmcp
|
||||
- zeromq
|
||||
- zlib
|
19
stack/stack-9.4.yaml.lock
Normal file
19
stack/stack-9.4.yaml.lock
Normal file
@ -0,0 +1,19 @@
|
||||
# This file was autogenerated by Stack.
|
||||
# You should not edit this file by hand.
|
||||
# For more information, please see the documentation at:
|
||||
# https://docs.haskellstack.org/en/stable/lock_files
|
||||
|
||||
packages:
|
||||
- completed:
|
||||
hackage: Chart-cairo-1.9.3@sha256:5d6f005b5d3d74453a979eb2c6a1777c92ce02eae9e019abbe03a0e008cb8aea,924
|
||||
pantry-tree:
|
||||
sha256: 204f29235d182cc8c8ab40d0a37387e78c1dadc684e190c85e1643521483e681
|
||||
size: 238
|
||||
original:
|
||||
hackage: Chart-cairo-1.9.3
|
||||
snapshots:
|
||||
- completed:
|
||||
sha256: 7d4b649cf368f9076d8aa049aa44efe58950971d105892734e9957b2a26a2186
|
||||
size: 640060
|
||||
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/21/21.yaml
|
||||
original: lts-21.21
|
55
stack/stack-9.6.yaml
Normal file
55
stack/stack-9.6.yaml
Normal file
@ -0,0 +1,55 @@
|
||||
resolver: nightly-2023-11-23 # GHC 9.6.3
|
||||
|
||||
packages:
|
||||
- ..
|
||||
- ../ipython-kernel
|
||||
- ../ghc-parser
|
||||
- ../ihaskell-display/ihaskell-aeson
|
||||
- ../ihaskell-display/ihaskell-blaze
|
||||
- ../ihaskell-display/ihaskell-charts
|
||||
- ../ihaskell-display/ihaskell-diagrams
|
||||
- ../ihaskell-display/ihaskell-gnuplot
|
||||
- ../ihaskell-display/ihaskell-graphviz
|
||||
- ../ihaskell-display/ihaskell-hatex
|
||||
- ../ihaskell-display/ihaskell-juicypixels
|
||||
- ../ihaskell-display/ihaskell-magic
|
||||
- ../ihaskell-display/ihaskell-plot
|
||||
# - ../ihaskell-display/ihaskell-static-canvas
|
||||
- ../ihaskell-display/ihaskell-widgets
|
||||
|
||||
ghc-options:
|
||||
# Eventually we want "$locals": -Wall -Wpartial-fields -Werror
|
||||
# ghc-parser: -Wall -Wpartial-fields -Werror
|
||||
# ihaskell: -Wall -Wpartial-fields -Werror
|
||||
# ihaskell-widgets: -Wall -Wpartial-fields -Werror
|
||||
|
||||
extra-deps:
|
||||
# https://github.com/amcphail/plot/pull/23
|
||||
- git: https://github.com/codedownio/haskell-plot.git
|
||||
commit: dfa26022b5815bcd6a5dd6c818fcd2c4d25c6d44
|
||||
|
||||
allow-newer: true
|
||||
|
||||
nix:
|
||||
packages:
|
||||
- blas
|
||||
- cairo
|
||||
- expat
|
||||
- file
|
||||
- fribidi
|
||||
- gcc
|
||||
- gfortran.cc.lib
|
||||
- libdatrie
|
||||
- liblapack
|
||||
- libselinux
|
||||
- libsepol
|
||||
- libthai
|
||||
- ncurses
|
||||
- pango
|
||||
- pcre
|
||||
- pcre2.dev
|
||||
- pkg-config
|
||||
- util-linux.dev
|
||||
- xorg.libXdmcp
|
||||
- zeromq
|
||||
- zlib
|
23
stack/stack-9.6.yaml.lock
Normal file
23
stack/stack-9.6.yaml.lock
Normal file
@ -0,0 +1,23 @@
|
||||
# This file was autogenerated by Stack.
|
||||
# You should not edit this file by hand.
|
||||
# For more information, please see the documentation at:
|
||||
# https://docs.haskellstack.org/en/stable/lock_files
|
||||
|
||||
packages:
|
||||
- completed:
|
||||
commit: dfa26022b5815bcd6a5dd6c818fcd2c4d25c6d44
|
||||
git: https://github.com/codedownio/haskell-plot.git
|
||||
name: plot
|
||||
pantry-tree:
|
||||
sha256: f79914b2d62db05a5aa7e1c36ef5fc887270582255172433449ef252aa1d1057
|
||||
size: 2855
|
||||
version: 0.2.3.11
|
||||
original:
|
||||
commit: dfa26022b5815bcd6a5dd6c818fcd2c4d25c6d44
|
||||
git: https://github.com/codedownio/haskell-plot.git
|
||||
snapshots:
|
||||
- completed:
|
||||
sha256: 3a1d76b27b77ecf9541ee3723756ff85d7bca58340a6858e760a1d7ef4d055bd
|
||||
size: 698983
|
||||
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2023/11/23.yaml
|
||||
original: nightly-2023-11-23
|
Loading…
x
Reference in New Issue
Block a user