Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • tchoutri/horizon-platform
  • jonge/horizon-platform
  • raoulhc/horizon-platform
  • package-sets/horizon-platform
Show changes
Commits on Source (284)
Showing with 3912 additions and 6755 deletions
let Prelude =
env:DHALL_PRELUDE
? https://raw.githubusercontent.com/dhall-lang/dhall-lang/v20.1.0/Prelude/package.dhall
sha256:26b0ef498663d269e4dc6a82b0ee289ec565d683ef4c00d0ebdd25333a5a3c98
let H =
https://gitlab.horizon-haskell.net/dhall/horizon-spec/-/raw/0.10.0/horizon-spec/package.dhall
let toStep
: Text → Text
= λ(x : Text) →
"nix build --accept-flake-config --json .#${x} | jq -r '.[].outputs | to_entries[].value' | cachix push horizon"
let toEchoStep
: Text → Text
= λ(x : Text) → "echo \"${toStep x}\""
let input =
Prelude.Map.keys
Text
H.HaskellPackage.Type
( merge
{ MakePackageSet =
λ(x : H.PackageSetExportSettings) → x.packageSet.packages
, MakeOverlay = λ(x : H.OverlayExportSettings) → x.overlay.packages
}
./horizon.dhall
)
let packages = Prelude.List.map Text Text toEchoStep (input : List Text)
in "("
++ Prelude.List.fold
Text
packages
Text
(λ(x : Text) → λ(y : Text) → x ++ ";" ++ y)
""
++ ") | parallel -j 16"
stages:
- generate
- check
- cache
- build
- devour
- cachix
generate-flake-ci:
stage: generate
script: nix run "git+https://gitlab.homotopic.tech/haskell/flake-to-gitlab-ci?ref=refs/tags/0.2.2.0" > flake-ci.yml
artifacts:
paths:
- flake-ci.yml
build:
stage: build
script:
- nix build .#packages.$SYSTEM.$PACKAGE -L
parallel:
matrix:
- SYSTEM:
- aarch64-darwin
- x86_64-linux
PACKAGE:
- aeson
- beam-postgres
- composite-base
- dhall
- hedgehog
- hoauth2-providers
- log-effectful
- persistent-postgresql
- polysemy
- servant
- souffle-haskell
- sydtest
- tasty
- wai-app-static
- warp
- SYSTEM:
- x86_64-linux
PACKAGE:
- streamly
flake-ci:
stage: check
trigger:
include:
- artifact: flake-ci.yml
job: generate-flake-ci
strategy: depend
devour:
stage: devour
script:
- nix build github:srid/devour-flake#packages.$SYSTEM.default -L --no-link --print-out-paths --override-input flake . --keep-going
parallel:
matrix:
- SYSTEM:
- aarch64-darwin
- x86_64-linux
cachix:
stage: cache
only:
refs:
- master
- cachix
script: nix-shell -p jq cachix parallel --command 'dhall --file .cachix.dhall | dhall text | bash'
stage: cachix
rules:
- if: $CI_COMMIT_REF_PROTECTED == "true"
script:
- nix-shell -p cachix --command "nix build github:srid/devour-flake#packages.$SYSTEM.default -L --no-link --print-out-paths --override-input flake . | xargs cat | cachix push horizon"
parallel:
matrix:
- SYSTEM:
- aarch64-darwin
- x86_64-linux
......@@ -2,61 +2,83 @@
[horizon-haskell.net](https://horizon-haskell.net).
Horizon is a haskell package set targetting new builds of GHC.
horizon-platform is a haskell package set targetting new builds of GHC. This package set extends [horizon-platform](https://gitlab.horizon-haskell.net/package-sets/horizon-platform).
The following things are expected to be here:
* aeson
* beam-postgres
* composite-base
* dhall
* hedgehog
* hoauth2-providers
* log-effectful
* persistent-postgresql
* polysemy
* servant
* souffle-haskell
* streamly
* sydtest
* tasty
* wai-app-static
* warp
## Updating the Package Set
Generating the nix expressions for the package set is a two step process.
1. Edit the `horizon.dhall` file.
2. Generate the nix expressions with
## Package Set Policy
This package set has the following policy.
* GHC will advance as often as possible
* Nonversioned locations (git, unversioned tarballs) are permitted to allow
GHC to advance.
* The following packages must always build:
* aeson
* beam-postgres
* composite-base
* dhall
* haskell-language-server
* hedgehog
* pandoc
* persistent-postgresql
* polysemy
* servant
* sydtest
* tasty
* xmonad-contrib
* xmonad
* wai-app-static
* warp
## Updating the package set
The package set is generated from the `horizon.dhall`. You can edit this in one
of two ways: manually using a text edit, or programatically using
`horizon-shell`.
### Manual
```
nix run develop/#horizon-gen-nix -- -jN
```
Edit the `horizon.dhall` file and add or change some package data.
You can edit the `horizon.dhall` file in one of two ways: manually using a text
editor, or programatically using `horizon-shell`.
Run `horizon-gen-nix` from the remote repository.
If you want to bumping everything listed in the `horizon.dhall` file to the latest
bounds, run
```
nix run 'git+https://gitlab.horizon-haskell.net/haskell/horizon-gen-nix?ref=refs/tags/0.10.0'
nix run develop/#try-to-upgrade-everything
```
### Programatic
### Using horizon-shell.
To use `horizon-shell`.
```
nix develop
nix run develop/#horizon-shell
```
See the in-shell help for usage.
This is a haskell interpreter with a few shortcut functions available. Running
`tryToUpgradeEverything` will poll hackage for any potential updates and add
them to the dhall file. This will only modify the dhall, not the nix
expressions. You must remember to run `nix run develop/#horizon-gen-nix`
afterwards.
### Tweaking
To quickly add a new package to the dhall, use the `addHackage` function. For example
`addHackage "optics"`.
## Tweaking & Hacking
If you need to do additional manual overrides to the nix code, such as
`addPkgconfigDepends`, edit the `configuration/common.nix` overlay, which is
applied last.
applied over the generated derivations.
## Feedback
To build all packages, run
```
nix run develop/#feedback -- build
```
## Hoogle
To get a hoogle instance for the entire package set, you can run:
```
nix run .#apps.x86_64-linux.run-hoogle
```
......@@ -12,7 +12,11 @@ final: prev: {
libsystemd-journal = null;
llvm-hs = null;
sdl2-mixer = null;
streamly = null;
}
{ pkgs, haskellLib }:
with haskellLib;
final: prev: {
dhall-docs = null;
hfsevents = null;
mmark = null;
stripeapi = null;
}
{ pkgs, haskellLib }:
with pkgs.haskell.lib;
with haskellLib;
final: prev: {
digest = addExtraLibrary prev.digest pkgs.zlib;
cheapskate = null;
hopenssl = prev.hopenssl.override { openssl = pkgs.openssl_1_1; };
hasql-explain-tests = null;
libsodium = prev.callPackage ../pkgs/libsodium.nix { inherit (pkgs) libsodium; };
saltine = addPkgconfigDepend prev.saltine pkgs.libsodium;
splitmix = prev.callPackage ../pkgs/splitmix.nix { inherit (pkgs) testu01; };
sandwich = null;
text-icu = prev.callPackage ../pkgs/text-icu.nix { icu-i18n = pkgs.icu; };
sdl2-image = addPkgconfigDepends prev.sdl2-image [ pkgs.libtiff pkgs.libdeflate pkgs.libwebp ];
thyme = null;
sdl2-mixer = addPkgconfigDepends prev.sdl2-mixer [ pkgs.glib pkgs.pcre2 pkgs.libsndfile pkgs.libpulseaudio pkgs.alsa-lib pkgs.jack2 ];
tmp-postgres = null;
X11-xft = addPkgconfigDepends prev.X11-xft [ pkgs.expat pkgs.xorg.libXau pkgs.xorg.libXdmcp ];
zlib = prev.callPackage ../pkgs/zlib.nix { inherit (pkgs) zlib; };
}
{ pkgs, haskellLib }:
let
inherit (pkgs) fetchpatch lib;
inherit (lib) throwIfNot versionOlder;
in
self: super: {
llvmPackages = lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
# Disable GHC core libraries.
array = null;
base = null;
binary = null;
bytestring = null;
containers = null;
deepseq = null;
directory = null;
exceptions = null;
filepath = null;
ghc-bignum = null;
ghc-boot = null;
ghc-boot-th = null;
ghc-compact = null;
ghc-heap = null;
ghc-prim = null;
ghci = null;
haskeline = null;
hpc = null;
integer-gmp = null;
libiserv = null;
mtl = null;
pretty = null;
process = null;
rts = null;
stm = null;
system-cxx-std-lib = null;
template-haskell = null;
# GHC only builds terminfo if it is a native compiler
terminfo = if pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform then null else self.terminfo_0_4_1_5;
text = null;
time = null;
transformers = null;
unix = null;
# GHC only bundles the xhtml library if haddock is enabled, check if this is
# still the case when updating: https://gitlab.haskell.org/ghc/ghc/-/blob/0198841877f6f04269d6050892b98b5c3807ce4c/ghc.mk#L463
xhtml = if self.ghc.hasHaddock or true then null else self.xhtml_3000_2_2_1;
}
{ pkgs, haskellLib }:
with pkgs.haskell.lib;
final: prev: {
alsa-core = null;
alsa-mixer = null;
hfsevents = prev.callPackage ../pkgs/hfsevents.nix {
Cocoa = pkgs.darwin.apple_sdk.frameworks.Cocoa;
CoreServices = pkgs.darwin.apple_sdk.frameworks.CoreServices;
};
iwlib = null;
libsystemd-journal = null;
sdl2-mixer = null;
hinotify = final.hfsevents;
}
{ pkgs, haskellLib }:
with haskellLib;
final: prev: {
hfsevents = null;
}
This diff is collapsed.
{
nixConfig = {
extra-substituters = "https://horizon.cachix.org";
extra-trusted-public-keys = "horizon.cachix.org-1:MeEEDRhRZTgv/FFGCv3479/dmJDfJ82G6kfUDxMSAw0=";
};
inputs = {
flake-parts.url = "github:hercules-ci/flake-parts";
horizon-develop-flake.url = "git+https://gitlab.horizon-haskell.net/nix/horizon-develop-flake";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
outputs =
inputs@
{ self
, flake-parts
, nixpkgs
, ...
}:
flake-parts.lib.mkFlake { inherit inputs; }
{
systems = [
"aarch64-darwin"
"x86_64-darwin"
"x86_64-linux"
];
imports = [
inputs.horizon-develop-flake.flakeModule
];
};
}
......@@ -5,11 +5,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1678379998,
"narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=",
"lastModified": 1738453229,
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "c13d60b89adea3dc20704c045ec4d50dd964d447",
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
"type": "github"
},
"original": {
......@@ -18,113 +18,286 @@
"type": "github"
}
},
"flake-utils": {
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_2"
},
"locked": {
"lastModified": 1644229661,
"narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797",
"lastModified": 1717285511,
"narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"get-flake": {
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_3"
},
"locked": {
"lastModified": 1673819588,
"narHash": "sha256-gRtwKAlu4htvS6dxyZnW3n+vMS1acqnMGVHqxUdETeY=",
"owner": "ursi",
"repo": "get-flake",
"rev": "e0917b6f564aa5acefb1484b5baf76da21746c3c",
"lastModified": 1717285511,
"narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
"type": "github"
},
"original": {
"owner": "ursi",
"repo": "get-flake",
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"horizon-shell-flake": {
"flake": false,
"horizon-advance": {
"inputs": {
"flake-parts": [
"horizon-advance",
"horizon-core",
"flake-parts"
],
"horizon-core": "horizon-core",
"horizon-hoogle": "horizon-hoogle_2",
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1719751316,
"narHash": "sha256-exJ80zZPyiSxiYQb4IreK7LDpjfBLOCPb77QUn3TGR8=",
"ref": "lts/ghc-9.10.x",
"rev": "36784235da4dd828b3e139a855dc8410fff91376",
"revCount": 259,
"type": "git",
"url": "https://gitlab.horizon-haskell.net/package-sets/horizon-advance"
},
"original": {
"ref": "lts/ghc-9.10.x",
"type": "git",
"url": "https://gitlab.horizon-haskell.net/package-sets/horizon-advance"
}
},
"horizon-build-packages": {
"inputs": {
"flake-parts": [
"horizon-advance",
"horizon-core",
"horizon-build-packages",
"horizon-ghc",
"flake-parts"
],
"horizon-ghc": "horizon-ghc",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1718969469,
"narHash": "sha256-0Q8v/yNwcLZy0znegLXx/SQmbfd2d/4TBSrFYh7g7+0=",
"ref": "refs/heads/master",
"rev": "23fa82740dc197706a3737c8830b724ccabafac4",
"revCount": 96,
"type": "git",
"url": "https://gitlab.horizon-haskell.net/package-sets/horizon-build-packages"
},
"original": {
"type": "git",
"url": "https://gitlab.horizon-haskell.net/package-sets/horizon-build-packages"
}
},
"horizon-core": {
"inputs": {
"flake-parts": "flake-parts_2",
"horizon-build-packages": "horizon-build-packages",
"horizon-hoogle": "horizon-hoogle",
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1679524452,
"narHash": "sha256-xzNxvLVa3o0F/z4CnBDORv2Y6PfxjlGv7b7LybIyCSg=",
"ref": "refs/tags/0.0.8",
"rev": "21b8913803cefeb287bb244c7ee335638233db7f",
"revCount": 21,
"lastModified": 1718977916,
"narHash": "sha256-sssWF/XjZga4asgwvovPLAbg8E2EyLDQOYSFgUbKg6c=",
"ref": "refs/heads/master",
"rev": "81674e75e63548341ebe0cb94127044255affb55",
"revCount": 1375,
"type": "git",
"url": "https://gitlab.horizon-haskell.net/shells/horizon-shell"
"url": "https://gitlab.horizon-haskell.net/package-sets/horizon-core"
},
"original": {
"ref": "refs/tags/0.0.8",
"type": "git",
"url": "https://gitlab.horizon-haskell.net/shells/horizon-shell"
"url": "https://gitlab.horizon-haskell.net/package-sets/horizon-core"
}
},
"lint-utils": {
"horizon-ghc": {
"inputs": {
"flake-utils": "flake-utils",
"flake-parts": "flake-parts_3",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1676204115,
"narHash": "sha256-cYYt6sN9t+lYYYelAbRtM/ioVJ27kMcUtR4unA8jfd4=",
"lastModified": 1718969245,
"narHash": "sha256-eeMsOK3Hmm23SH45GdbuWRtpEcMWZPC/JCYvKL2LOos=",
"ref": "refs/heads/master",
"rev": "cc55bca9b25e65f7060de642c99e51bd96dfc190",
"revCount": 47,
"rev": "0bcfe994903359aef81338915706bf6b2f38aaa4",
"revCount": 109,
"type": "git",
"url": "https://gitlab.homotopic.tech/nix/lint-utils"
"url": "https://gitlab.horizon-haskell.net/ghc/horizon-ghc"
},
"original": {
"type": "git",
"url": "https://gitlab.homotopic.tech/nix/lint-utils"
"url": "https://gitlab.horizon-haskell.net/ghc/horizon-ghc"
}
},
"horizon-hoogle": {
"locked": {
"lastModified": 1701521742,
"narHash": "sha256-huf/95jYL7mY0AHSziJYXx4m/sP+G+YAbJb+Q5Ph/Jg=",
"ref": "refs/heads/master",
"rev": "ddf3b08c6458c1a9e0d881f968c050bc828b9b8e",
"revCount": 2,
"type": "git",
"url": "https://gitlab.horizon-haskell.net/nix/horizon-hoogle"
},
"original": {
"type": "git",
"url": "https://gitlab.horizon-haskell.net/nix/horizon-hoogle"
}
},
"horizon-hoogle_2": {
"locked": {
"lastModified": 1701521742,
"narHash": "sha256-huf/95jYL7mY0AHSziJYXx4m/sP+G+YAbJb+Q5Ph/Jg=",
"ref": "refs/heads/master",
"rev": "ddf3b08c6458c1a9e0d881f968c050bc828b9b8e",
"revCount": 2,
"type": "git",
"url": "https://gitlab.horizon-haskell.net/nix/horizon-hoogle"
},
"original": {
"type": "git",
"url": "https://gitlab.horizon-haskell.net/nix/horizon-hoogle"
}
},
"horizon-hoogle_3": {
"locked": {
"lastModified": 1701521742,
"narHash": "sha256-huf/95jYL7mY0AHSziJYXx4m/sP+G+YAbJb+Q5Ph/Jg=",
"ref": "refs/heads/master",
"rev": "ddf3b08c6458c1a9e0d881f968c050bc828b9b8e",
"revCount": 2,
"type": "git",
"url": "https://gitlab.horizon-haskell.net/nix/horizon-hoogle"
},
"original": {
"type": "git",
"url": "https://gitlab.horizon-haskell.net/nix/horizon-hoogle"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1644525281,
"narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=",
"lastModified": 1718928808,
"narHash": "sha256-MjVGflb3qXOrJRTJ5siQZHYuMCsRHaqYgTSKSik+/sE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "48d63e924a2666baf37f4f14a18f19347fbd54a2",
"rev": "564000ae34c6af8549f3729051bbae33403e298c",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"ref": "haskell-updates",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"dir": "lib",
"lastModified": 1678375444,
"narHash": "sha256-XIgHfGvjFvZQ8hrkfocanCDxMefc/77rXeHvYdzBMc8=",
"lastModified": 1738452942,
"narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
}
},
"nixpkgs-lib_2": {
"locked": {
"lastModified": 1717284937,
"narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
}
},
"nixpkgs-lib_3": {
"locked": {
"lastModified": 1717284937,
"narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1718928808,
"narHash": "sha256-MjVGflb3qXOrJRTJ5siQZHYuMCsRHaqYgTSKSik+/sE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "130fa0baaa2b93ec45523fdcde942f6844ee9f6e",
"rev": "564000ae34c6af8549f3729051bbae33403e298c",
"type": "github"
},
"original": {
"dir": "lib",
"owner": "NixOS",
"ref": "nixos-unstable",
"ref": "haskell-updates",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"nixpkgs_3": {
"locked": {
"lastModified": 1718928808,
"narHash": "sha256-MjVGflb3qXOrJRTJ5siQZHYuMCsRHaqYgTSKSik+/sE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "564000ae34c6af8549f3729051bbae33403e298c",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "haskell-updates",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1679198465,
"narHash": "sha256-VfXpHpniNWgg7pBzxb20pRX7kqn80LApPDQYTReiFCw=",
"lastModified": 1719706517,
"narHash": "sha256-ynXAAr5AJgTQHQAJW4GH3i8auqnZVzcjCokZMdEKjcs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "01da4c59cc4879540b7a5d73230475b4616a0dc8",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "haskell-updates",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1739138025,
"narHash": "sha256-M4ilIfGxzbBZuURokv24aqJTbdjPA9K+DtKUzrJaES4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "5a05160f7671434e1c833b1b01284b876e04eca4",
"rev": "b2243f41e860ac85c0b446eadc6930359b294e79",
"type": "github"
},
"original": {
......@@ -137,10 +310,9 @@
"root": {
"inputs": {
"flake-parts": "flake-parts",
"get-flake": "get-flake",
"horizon-shell-flake": "horizon-shell-flake",
"lint-utils": "lint-utils",
"nixpkgs": "nixpkgs_2"
"horizon-advance": "horizon-advance",
"horizon-hoogle": "horizon-hoogle_3",
"nixpkgs": "nixpkgs_5"
}
}
},
......
......@@ -8,77 +8,41 @@
};
inputs = {
get-flake.url = "github:ursi/get-flake";
flake-parts.url = "github:hercules-ci/flake-parts";
horizon-shell-flake = {
url = "git+https://gitlab.horizon-haskell.net/shells/horizon-shell?ref=refs/tags/0.0.8";
flake = false;
};
lint-utils.url = "git+https://gitlab.homotopic.tech/nix/lint-utils";
horizon-advance.url = "git+https://gitlab.horizon-haskell.net/package-sets/horizon-advance?ref=lts/ghc-9.10.x";
horizon-hoogle.url = "git+https://gitlab.horizon-haskell.net/nix/horizon-hoogle";
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
};
outputs =
inputs@
{ self
, get-flake
, flake-parts
, horizon-shell-flake
, lint-utils
, nixpkgs
, ...
}:
flake-parts.lib.mkFlake { inherit inputs; } {
systems = [ "aarch64-darwin" "x86_64-darwin" "x86_64-linux" ];
perSystem = { config, system, ... }:
outputs = inputs:
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
systems = [
"aarch64-darwin"
"aarch64-linux"
"x86_64-darwin"
"x86_64-linux"
];
imports = [
inputs.horizon-hoogle.flakeModule
];
perSystem = { pkgs, config, system, ... }:
with pkgs.lib;
let
pkgs = nixpkgs.legacyPackages.${system};
horizon-shell = get-flake horizon-shell-flake;
haskellLib = pkgs.haskell.lib.compose;
haskellLib = pkgs.haskell.lib;
modifiers = import ./modifiers.nix { inherit pkgs; };
overrides = composeManyExtensions [
(import ./overlay.nix { inherit pkgs; f = modifiers; })
(import ./configuration/common.nix { inherit pkgs haskellLib; })
(import (./configuration + "/${system}.nix") { inherit pkgs haskellLib; })
];
legacyPackages = pkgs.callPackage (nixpkgs + /pkgs/development/haskell-modules) {
buildHaskellPackages = pkgs.haskell.packages.ghc944;
compilerConfig = pkgs.callPackage ./configuration/ghc.nix { inherit haskellLib; };
configurationArm = { pkgs, haskellLib }: self: super: { };
configurationCommon = import ./configuration/common.nix;
configurationDarwin = import ./configuration/darwin.nix;
configurationNix = { pkgs, haskellLib }: self: super: { };
ghc = pkgs.haskell.compiler.ghc944;
inherit haskellLib;
initialPackages = import ./initial-packages.nix;
nonHackagePackages = self: super: { };
};
legacyPackages = inputs.horizon-advance.legacyPackages.${system}.extend overrides;
packages = pkgs.lib.filterAttrs
(n: v: v != null
&& builtins.typeOf v == "set"
&& pkgs.lib.hasAttr "type" v
&& v.type == "derivation"
&& v.meta.broken == false)
legacyPackages;
devShell = pkgs.mkShell {
buildInputs = [
horizon-shell.packages.${system}.default
];
shellHook = ''
horizon-shell
exit
'';
};
packages = filterAttrs (_: isDerivation) legacyPackages;
in
{
checks = with lint-utils.linters.${system}; {
dhall-format = dhall-format { src = self; };
nixpkgs-fmt = nixpkgs-fmt { src = self; find = "flake.nix"; };
};
devShells.default = devShell;
inherit legacyPackages;
inherit packages;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
{ pkgs, ... }:
with pkgs.lib;
_: prev: name: v: if hasAttr name prev then warn "${name} exists in parent set" v else v
This diff is collapsed.
......@@ -4,8 +4,8 @@
}:
mkDerivation {
pname = "BNFC";
version = "2.9.4.1";
sha256 = "5e93609c1633e4b6636d0ac2b52c1d35228c13bd704a7849cb4e92b00ce27250";
version = "2.9.5";
sha256 = "fa35e9a2a2bd12c3680482a350f57963807ccc9e964a206cb09e5b1a4d02576b";
isLibrary = true;
isExecutable = true;
enableSeparateDataOutput = false;
......@@ -22,12 +22,12 @@ mkDerivation {
testToolDepends = [ alex happy hspec-discover ];
enableLibraryProfiling = true;
enableExecutableProfiling = true;
doHaddock = false;
doHaddock = true;
jailbreak = true;
doCheck = false;
doBenchmark = false;
hyperlinkSource = false;
homepage = "http://bnfc.digitalgrammars.com/";
homepage = "https://bnfc.digitalgrammars.com/";
description = "A compiler front-end generator";
license = lib.licenses.bsd3;
broken = false;
......
......@@ -3,13 +3,15 @@ mkDerivation {
pname = "Boolean";
version = "0.2.4";
sha256 = "67216013b02b8ac5b534a1ef25f409f930eea1a85eae801933a01ad43145eef8";
revision = "1";
editedCabalFile = "0q04fgnfgskwsmj3g25vfs39724wh1wjl6m6x08bi9fg9rxcf4rc";
isLibrary = true;
isExecutable = false;
enableSeparateDataOutput = false;
libraryHaskellDepends = [ base ];
enableLibraryProfiling = true;
enableExecutableProfiling = true;
doHaddock = false;
doHaddock = true;
jailbreak = true;
doCheck = false;
doBenchmark = false;
......