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 (199)
Showing with 1945 additions and 3956 deletions
stages: stages:
- generate - build
- flake - devour
- cache - cachix
generate-flake-ci: build:
stage: generate stage: build
script: script:
- nix run "git+https://gitlab.nixica.dev/haskell/flake-to-gitlab-ci?ref=refs/tags/0.2.4.1" > flake-ci-x86_64-linux.yml - nix build .#packages.$SYSTEM.$PACKAGE -L
artifacts: parallel:
paths: matrix:
- flake-ci-x86_64-linux.yml - 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
x86_64-linux-ci: devour:
stage: flake stage: devour
trigger: script:
include: - nix build github:srid/devour-flake#packages.$SYSTEM.default -L --no-link --print-out-paths --override-input flake . --keep-going
- artifact: flake-ci-x86_64-linux.yml parallel:
job: generate-flake-ci matrix:
strategy: depend - SYSTEM:
- aarch64-darwin
- x86_64-linux
cachix: cachix:
stage: cache stage: cachix
only: rules:
refs: - if: $CI_COMMIT_REF_PROTECTED == "true"
- master
- cachix
script: script:
- nix-shell -p cachix --command "nix build github:srid/devour-flake -L --no-link --print-out-paths --override-input flake . | xargs cat | cachix push horizon" - 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,41 +2,48 @@ ...@@ -2,41 +2,48 @@
[horizon-haskell.net](https://horizon-haskell.net). [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).
## Package Set Policy
The following things are expected to be here:
This package set has the following policy. * aeson
* beam-postgres
* GHC will advance as often as possible * composite-base
* Nonversioned locations (git, unversioned tarballs) are permitted to allow * dhall
GHC to advance. * hedgehog
* The following packages must always build: * hoauth2-providers
* aeson * log-effectful
* beam-postgres * persistent-postgresql
* composite-base * polysemy
* dhall * servant
* haskell-language-server * souffle-haskell
* hedgehog * streamly
* pandoc * sydtest
* persistent-postgresql * tasty
* polysemy * wai-app-static
* servant * warp
* sydtest
* tasty
* wai-app-static
* warp
## Updating the Package Set ## Updating the Package Set
Generating the nix expressions for the package set is a two step process. Generating the nix expressions for the package set is a two step process.
1. Edit the `horizon.dhall` file. 1. Edit the `horizon.dhall` file.
2. Generate the nix expressions with `nix run develop/#horizon-gen-nix`. 2. Generate the nix expressions with
```
nix run develop/#horizon-gen-nix -- -jN
```
You can edit the `horizon.dhall` file in one of two ways: manually using a text You can edit the `horizon.dhall` file in one of two ways: manually using a text
editor, or programatically using `horizon-shell`. editor, or programatically using `horizon-shell`.
If you want to bumping everything listed in the `horizon.dhall` file to the latest
bounds, run
```
nix run develop/#try-to-upgrade-everything
```
### Using horizon-shell. ### Using horizon-shell.
To use `horizon-shell`. To use `horizon-shell`.
...@@ -60,9 +67,6 @@ If you need to do additional manual overrides to the nix code, such as ...@@ -60,9 +67,6 @@ If you need to do additional manual overrides to the nix code, such as
`addPkgconfigDepends`, edit the `configuration/common.nix` overlay, which is `addPkgconfigDepends`, edit the `configuration/common.nix` overlay, which is
applied over the generated derivations. applied over the generated derivations.
If you need to nullify libraries, use the `configuration/hacking.nix` overlay.
Try to leave a note as to why this library has been nullified.
## Feedback ## Feedback
To build all packages, run To build all packages, run
...@@ -73,8 +77,8 @@ nix run develop/#feedback -- build ...@@ -73,8 +77,8 @@ nix run develop/#feedback -- build
## Hoogle ## Hoogle
To run a hoogle server containing the entire package set. Do To get a hoogle instance for the entire package set, you can run:
``` ```
nix run .#run-hoogle nix run .#apps.x86_64-linux.run-hoogle
``` ```
...@@ -12,7 +12,11 @@ final: prev: { ...@@ -12,7 +12,11 @@ final: prev: {
libsystemd-journal = null; libsystemd-journal = null;
llvm-hs = null;
sdl2-mixer = null; sdl2-mixer = null;
streamly = null;
} }
{ pkgs, haskellLib }:
with haskellLib;
final: prev: {
dhall-docs = null;
hfsevents = null;
mmark = null;
stripeapi = null;
}
...@@ -4,96 +4,18 @@ with haskellLib; ...@@ -4,96 +4,18 @@ with haskellLib;
final: prev: { final: prev: {
Cabal-QuickCheck = null; cheapskate = null;
Cabal-described = null; hasql-explain-tests = null;
Cabal-tree-diff = null;
base64-bytestring-type = null;
digest = addExtraLibrary prev.digest pkgs.zlib;
digits = overrideCabal
prev.digits
(_:
{
patches = [
./patches/digits-01.patch
];
});
ghcide-bench = null;
ghcide-test-utils = null;
fourmolu = null;
hopenssl = prev.hopenssl.override { openssl = pkgs.openssl; };
libsodium = prev.callPackage ../pkgs/libsodium.nix { inherit (pkgs) libsodium; };
saltine = addPkgconfigDepend prev.saltine pkgs.libsodium;
sandwich = null; sandwich = null;
text-icu = prev.callPackage ../pkgs/text-icu.nix { icu-i18n = pkgs.icu; }; text-icu = prev.callPackage ../pkgs/text-icu.nix { icu-i18n = pkgs.icu; };
sdl2-gfx = addSetupDepends thyme = null;
(overrideCabal prev.sdl2-gfx
{ __onlyPropagateKnownPkgConfigModules = true; }
)
[ pkgs.pkg-config pkgs.SDL2 ];
sdl2-image =
addSetupDepends
(overrideCabal prev.sdl2-image
{ __onlyPropagateKnownPkgConfigModules = true; }
)
[ pkgs.pkg-config pkgs.SDL2 pkgs.libtiff pkgs.libwebp ];
sdl2-mixer =
addSetupDepends
(overrideCabal prev.sdl2-mixer
{ __onlyPropagateKnownPkgConfigModules = true; }
)
[ pkgs.pkg-config pkgs.SDL2 pkgs.libsndfile pkgs.libpulseaudio pkgs.alsa-lib pkgs.jack2 pkgs.glib pkgs.pcre2 ];
sdl2-ttf = tmp-postgres = null;
addSetupDepends
(overrideCabal prev.sdl2-ttf
{ __onlyPropagateKnownPkgConfigModules = true; }
)
[ pkgs.pkg-config pkgs.SDL2 pkgs.SDL2_ttf pkgs.harfbuzz pkgs.freetype pkgs.glib pkgs.pcre2 ];
X11-xft = addPkgconfigDepends prev.X11-xft [ pkgs.expat pkgs.xorg.libXau pkgs.xorg.libXdmcp ]; X11-xft = addPkgconfigDepends prev.X11-xft [ pkgs.expat pkgs.xorg.libXau pkgs.xorg.libXdmcp ];
# hls needs to be compiled fairly differently, because it's dynamic we need
# to turn off profiling else ghc tries to look for dynamic profiled modules
# which cannot exist.
haskell-language-server = overrideCabal prev.haskell-language-server {
enableLibraryProfiling = false;
enableExecutableProfiling = false;
enableSharedExecutables = true;
preCheck = ''
export PATH=$PATH:$PWD/dist/build/haskell-language-server:$PWD/dist/build/haskell-language-server-wrapper
export HOME=$TMPDIR
'';
postInstall = ''
RUNPATH=`patchelf --print-rpath $out/bin/haskell-language-server | cut -d: -f2-`
GHC_VERSION=`ghc --version | awk '{print $NF;}'`
mv "$out/bin/haskell-language-server" "$out/bin/.haskell-language-server-''${GHC_VERSION}-unwrapped"
BOOT_PKGS=`ghc-pkg-$GHC_VERSION --global list --simple-output`
${pkgs.gnused}/bin/sed \
-e "s!@@EXE_DIR@@!$out/bin!" \
-e "s/@@EXE_NAME@@/.haskell-language-server-''${GHC_VERSION}-unwrapped/" \
-e "s/@@GHC_VERSION@@/$GHC_VERSION/" \
-e "s/@@BOOT_PKGS@@/$BOOT_PKGS/" \
-e "s/@@ABI_HASHES@@/$(for dep in $BOOT_PKGS; do printf "%s:" "$dep" && ghc-pkg-$GHC_VERSION field $dep abi --simple-output ; done | tr '\n' ' ' | xargs)/" \
-e "s!Consider installing ghc.* via ghcup or build HLS from source.!Visit https://haskell4nix.readthedocs.io/nixpkgs-users-guide.html#how-to-install-haskell-language-server to lear how to correctly install a matching hls for your ghc with nix.!" \
bindist/wrapper.in > "$out/bin/haskell-language-server"
ln -s "$out/bin/haskell-language-server" "$out/bin/haskell-language-server-$GHC_VERSION"
chmod +x "$out/bin/haskell-language-server"
'';
};
} }
commit 1217673c07de672edee01d1befb7243ec2de6ca6
Author: Daniel Firth <dan.firth@homotopic.tech>
Date: Sat Nov 4 10:32:11 2023 +0000
fix build
diff --git a/Setup.lhs b/Setup.lhs
index 384dfce..76660fd 100644
--- a/Setup.lhs
+++ b/Setup.lhs
@@ -2,6 +2,5 @@
> import Distribution.Simple
> import System.Cmd
-> tests _ _ _ _ = system "runhaskell src/Tests.hs" >> return ()
-> main = defaultMainWithHooks (simpleUserHooks {runTests = tests})
+> main = defaultMainWithHooks simpleUserHooks
...@@ -8,11 +8,18 @@ final: prev: { ...@@ -8,11 +8,18 @@ final: prev: {
alsa-mixer = 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; iwlib = null;
libsystemd-journal = null; libsystemd-journal = null;
sdl2-mixer = null; sdl2-mixer = null;
hinotify = final.hfsevents;
} }
...@@ -4,4 +4,6 @@ with haskellLib; ...@@ -4,4 +4,6 @@ with haskellLib;
final: prev: { final: prev: {
hfsevents = null;
} }
This diff is collapsed.
...@@ -6,11 +6,8 @@ ...@@ -6,11 +6,8 @@
}; };
inputs = { inputs = {
feedback.url = "github:NorfairKing/feedback";
flake-parts.url = "github:hercules-ci/flake-parts"; flake-parts.url = "github:hercules-ci/flake-parts";
flake-to-gitlab-ci.url = "git+https://gitlab.nixica.dev/haskell/flake-to-gitlab-ci?ref=refs/tags/0.2.4.2"; horizon-develop-flake.url = "git+https://gitlab.horizon-haskell.net/nix/horizon-develop-flake";
horizon-gen-nix.url = "git+https://gitlab.horizon-haskell.net/haskell/horizon-gen-nix?ref=refs/tags/0.11.0";
horizon-shell.url = "git+https://gitlab.horizon-haskell.net/shells/horizon-shell?ref=refs/tags/0.0.9";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
}; };
...@@ -28,69 +25,8 @@ ...@@ -28,69 +25,8 @@
"x86_64-darwin" "x86_64-darwin"
"x86_64-linux" "x86_64-linux"
]; ];
perSystem = { system, pkgs, ... }: imports = [
let inputs.horizon-develop-flake.flakeModule
cachix-push-horizon-ghc-only = pkgs.writers.writeBashBin "cachix-push-horizon-ghc-only" '' ];
nix build -L --json .#packages.x86_64-linux.ghc | ${pkgs.jq}/bin/jq -r '.[].outputs | to_entries[].value' | ${pkgs.cachix}/bin/cachix push horizon
'';
cachix-push-horizon-devour = pkgs.writers.writeBashBin "cachix-push-horizon-devour" ''
nix build github:srid/devour-flake -L --no-link --print-out-paths --override-input flake . | xargs cat | ${pkgs.cachix}/bin/cachix push horizon
'';
devour-flake = pkgs.writers.writeBashBin "devour-flake" ''
nix build github:srid/devour-flake -L --no-link --print-out-paths --override-input flake . --keep-going
'';
test-template = pkgs.writers.writeBashBin "test-template" ''
mkdir temp
cd temp
nix flake init -t 'git+https://gitlab.horizon-haskell.net/templates/horizon-templates#minimal'
git init .
git add *
nix build github:srid/devour-flake -L --no-link --print-out-paths --override-input flake . --override-input flake/horizon-platform ../ --keep-going
cd ..
rm temp -rf
'';
run-horizon-gen-nix = pkgs.writers.writeBashBin "run-horizon-gen-nix" ''
${pkgs.cabal-install}/bin/cabal update
${inputs.horizon-gen-nix.packages.${system}.default}/bin/horizon-gen-nix $@;
'';
in
{
apps = {
cachix-push-horizon-devour = {
type = "app";
program = "${cachix-push-horizon-devour}/bin/cachix-push-horizon-devour";
};
cachix-push-horizon-ghc-only = {
type = "app";
program = "${cachix-push-horizon-ghc-only}/bin/cachix-push-horizon-ghc-only";
};
devour-flake = {
type = "app";
program = "${devour-flake}/bin/devour-flake";
};
feedback = {
type = "app";
program = "${inputs.feedback.packages.${system}.default}/bin/feedback";
};
flake-to-gitlab-ci = inputs.flake-to-gitlab-ci.apps.${system}.default;
horizon-gen-nix = inputs.horizon-gen-nix.apps.${system}.default;
horizon-shell = inputs.horizon-shell.apps.${system}.default;
run-horizon-gen-nix = {
program = "${run-horizon-gen-nix}/bin/run-horizon-gen-nix";
type = "app";
};
test-template = {
type = "app";
program = "${test-template}/bin/test-template";
};
};
};
}; };
} }
loops:
build:
command: nix build github:srid/devour-flake -L --no-link --print-out-paths --override-input flake . --keep-going
filter:
find: '*.nix'
check: nix flake check -L
gen:
command: dhall format horizon.dhall && nix run 'git+https://gitlab.horizon-haskell.net/haskell/horizon-gen-nix?ref=refs/tags/0.10.0' && git add pkgs && nix flake show
filter:
find: horizon.dhall
...@@ -5,11 +5,11 @@ ...@@ -5,11 +5,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1698882062, "lastModified": 1738453229,
"narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
"type": "github" "type": "github"
}, },
"original": { "original": {
...@@ -23,11 +23,11 @@ ...@@ -23,11 +23,11 @@
"nixpkgs-lib": "nixpkgs-lib_2" "nixpkgs-lib": "nixpkgs-lib_2"
}, },
"locked": { "locked": {
"lastModified": 1698882062, "lastModified": 1717285511,
"narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
"type": "github" "type": "github"
}, },
"original": { "original": {
...@@ -36,186 +36,268 @@ ...@@ -36,186 +36,268 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils": { "flake-parts_3": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_3"
},
"locked": { "locked": {
"lastModified": 1644229661, "lastModified": 1717285511,
"narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
"owner": "numtide", "owner": "hercules-ci",
"repo": "flake-utils", "repo": "flake-parts",
"rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "numtide", "owner": "hercules-ci",
"repo": "flake-utils", "repo": "flake-parts",
"type": "github" "type": "github"
} }
}, },
"flake-utils_2": { "horizon-advance": {
"inputs": {
"flake-parts": [
"horizon-advance",
"horizon-core",
"flake-parts"
],
"horizon-core": "horizon-core",
"horizon-hoogle": "horizon-hoogle_2",
"nixpkgs": "nixpkgs_4"
},
"locked": { "locked": {
"lastModified": 1644229661, "lastModified": 1719751316,
"narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", "narHash": "sha256-exJ80zZPyiSxiYQb4IreK7LDpjfBLOCPb77QUn3TGR8=",
"owner": "numtide", "ref": "lts/ghc-9.10.x",
"repo": "flake-utils", "rev": "36784235da4dd828b3e139a855dc8410fff91376",
"rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", "revCount": 259,
"type": "github" "type": "git",
"url": "https://gitlab.horizon-haskell.net/package-sets/horizon-advance"
}, },
"original": { "original": {
"owner": "numtide", "ref": "lts/ghc-9.10.x",
"repo": "flake-utils", "type": "git",
"type": "github" "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": { "horizon-core": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_2",
"lint-utils": "lint-utils", "horizon-build-packages": "horizon-build-packages",
"nixpkgs": "nixpkgs_2" "horizon-hoogle": "horizon-hoogle",
"nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1699044695, "lastModified": 1718977916,
"narHash": "sha256-1PrOuOa1U+b6eJy7cB76Wt1UU4x312QM7YxQ/eKAfTY=", "narHash": "sha256-sssWF/XjZga4asgwvovPLAbg8E2EyLDQOYSFgUbKg6c=",
"ref": "lts/ghc-9.4.x", "ref": "refs/heads/master",
"rev": "f57ca82b03c477708644b26bae9fac2607ae6c6d", "rev": "81674e75e63548341ebe0cb94127044255affb55",
"revCount": 1182, "revCount": 1375,
"type": "git", "type": "git",
"url": "https://gitlab.horizon-haskell.net/package-sets/horizon-core" "url": "https://gitlab.horizon-haskell.net/package-sets/horizon-core"
}, },
"original": { "original": {
"ref": "lts/ghc-9.4.x",
"type": "git", "type": "git",
"url": "https://gitlab.horizon-haskell.net/package-sets/horizon-core" "url": "https://gitlab.horizon-haskell.net/package-sets/horizon-core"
} }
}, },
"lint-utils": { "horizon-ghc": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-parts": "flake-parts_3",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1681737193, "lastModified": 1718969245,
"narHash": "sha256-c+0eLyF/VWZWGeB1DA88aDUZ3BjO6+jnsJpVW4wxs4w=", "narHash": "sha256-eeMsOK3Hmm23SH45GdbuWRtpEcMWZPC/JCYvKL2LOos=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "efaf89d12a6811f0e00034444904b8d169f0fa34", "rev": "0bcfe994903359aef81338915706bf6b2f38aaa4",
"revCount": 48, "revCount": 109,
"type": "git", "type": "git",
"url": "https://gitlab.nixica.dev/nix/lint-utils" "url": "https://gitlab.horizon-haskell.net/ghc/horizon-ghc"
}, },
"original": { "original": {
"type": "git", "type": "git",
"url": "https://gitlab.nixica.dev/nix/lint-utils" "url": "https://gitlab.horizon-haskell.net/ghc/horizon-ghc"
} }
}, },
"lint-utils_2": { "horizon-hoogle": {
"inputs": { "locked": {
"flake-utils": "flake-utils_2", "lastModified": 1701521742,
"nixpkgs": "nixpkgs_3" "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": { "locked": {
"lastModified": 1681737193, "lastModified": 1701521742,
"narHash": "sha256-c+0eLyF/VWZWGeB1DA88aDUZ3BjO6+jnsJpVW4wxs4w=", "narHash": "sha256-huf/95jYL7mY0AHSziJYXx4m/sP+G+YAbJb+Q5Ph/Jg=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "efaf89d12a6811f0e00034444904b8d169f0fa34", "rev": "ddf3b08c6458c1a9e0d881f968c050bc828b9b8e",
"revCount": 48, "revCount": 2,
"type": "git", "type": "git",
"url": "https://gitlab.nixica.dev/nix/lint-utils" "url": "https://gitlab.horizon-haskell.net/nix/horizon-hoogle"
}, },
"original": { "original": {
"type": "git", "type": "git",
"url": "https://gitlab.nixica.dev/nix/lint-utils" "url": "https://gitlab.horizon-haskell.net/nix/horizon-hoogle"
} }
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1644525281, "lastModified": 1718928808,
"narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", "narHash": "sha256-MjVGflb3qXOrJRTJ5siQZHYuMCsRHaqYgTSKSik+/sE=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "48d63e924a2666baf37f4f14a18f19347fbd54a2", "rev": "564000ae34c6af8549f3729051bbae33403e298c",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "haskell-updates",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"dir": "lib", "lastModified": 1738452942,
"lastModified": 1698611440, "narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=",
"narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=", "type": "tarball",
"owner": "NixOS", "url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
"repo": "nixpkgs",
"rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735",
"type": "github"
}, },
"original": { "original": {
"dir": "lib", "type": "tarball",
"owner": "NixOS", "url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
} }
}, },
"nixpkgs-lib_2": { "nixpkgs-lib_2": {
"locked": { "locked": {
"dir": "lib", "lastModified": 1717284937,
"lastModified": 1698611440, "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=",
"narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=", "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", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735", "rev": "564000ae34c6af8549f3729051bbae33403e298c",
"type": "github" "type": "github"
}, },
"original": { "original": {
"dir": "lib",
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "haskell-updates",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1698973113, "lastModified": 1718928808,
"narHash": "sha256-pRYf/geKwHDvaqw+0ldTfGZM5Y5XX/Bw5st+Fxs/4+I=", "narHash": "sha256-MjVGflb3qXOrJRTJ5siQZHYuMCsRHaqYgTSKSik+/sE=",
"owner": "nixos", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "8a8ec371fe6bd092d180e12a0112a37448b4cb30", "rev": "564000ae34c6af8549f3729051bbae33403e298c",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "NixOS",
"ref": "haskell-updates", "ref": "haskell-updates",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_3": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1644525281, "lastModified": 1719706517,
"narHash": "sha256-D3VuWLdnLmAXIkooWAtbTGSQI9Fc1lkvAr94wTxhnTU=", "narHash": "sha256-ynXAAr5AJgTQHQAJW4GH3i8auqnZVzcjCokZMdEKjcs=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "48d63e924a2666baf37f4f14a18f19347fbd54a2", "rev": "01da4c59cc4879540b7a5d73230475b4616a0dc8",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "haskell-updates",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_4": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1699094435, "lastModified": 1739138025,
"narHash": "sha256-YLZ5/KKZ1PyLrm2MO8UxRe4H3M0/oaYqNhSlq6FDeeA=", "narHash": "sha256-M4ilIfGxzbBZuURokv24aqJTbdjPA9K+DtKUzrJaES4=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9d5d25bbfe8c0297ebe85324addcb5020ed1a454", "rev": "b2243f41e860ac85c0b446eadc6930359b294e79",
"type": "github" "type": "github"
}, },
"original": { "original": {
...@@ -228,9 +310,9 @@ ...@@ -228,9 +310,9 @@
"root": { "root": {
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"horizon-core": "horizon-core", "horizon-advance": "horizon-advance",
"lint-utils": "lint-utils_2", "horizon-hoogle": "horizon-hoogle_3",
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_5"
} }
} }
}, },
......
...@@ -9,63 +9,40 @@ ...@@ -9,63 +9,40 @@
inputs = { inputs = {
flake-parts.url = "github:hercules-ci/flake-parts"; flake-parts.url = "github:hercules-ci/flake-parts";
horizon-core.url = "git+https://gitlab.horizon-haskell.net/package-sets/horizon-core?ref=lts/ghc-9.4.x"; horizon-advance.url = "git+https://gitlab.horizon-haskell.net/package-sets/horizon-advance?ref=lts/ghc-9.10.x";
lint-utils.url = "git+https://gitlab.nixica.dev/nix/lint-utils"; horizon-hoogle.url = "git+https://gitlab.horizon-haskell.net/nix/horizon-hoogle";
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
}; };
outputs = outputs = inputs:
inputs@ inputs.flake-parts.lib.mkFlake { inherit inputs; } {
{ self
, flake-parts
, horizon-core
, lint-utils
, nixpkgs
, ...
}:
flake-parts.lib.mkFlake { inherit inputs; } {
systems = [ systems = [
"aarch64-darwin" "aarch64-darwin"
"aarch64-linux"
"x86_64-darwin" "x86_64-darwin"
"x86_64-linux" "x86_64-linux"
]; ];
perSystem = { config, system, ... }: imports = [
let inputs.horizon-hoogle.flakeModule
pkgs = nixpkgs.legacyPackages.${system}; ];
perSystem = { pkgs, config, system, ... }:
in
with pkgs.lib; with pkgs.lib;
let let
haskellLib = pkgs.haskell.lib; haskellLib = pkgs.haskell.lib;
modifiers = import ./modifiers.nix { inherit pkgs; };
overrides = composeManyExtensions [ overrides = composeManyExtensions [
(import ./overlay.nix { inherit pkgs; }) (import ./overlay.nix { inherit pkgs; f = modifiers; })
(import ./configuration/common.nix { inherit pkgs haskellLib; }) (import ./configuration/common.nix { inherit pkgs haskellLib; })
(import (./configuration + "/${system}.nix") { inherit pkgs haskellLib; }) (import (./configuration + "/${system}.nix") { inherit pkgs haskellLib; })
]; ];
legacyPackages = horizon-core.legacyPackages.${system}.extend overrides; legacyPackages = inputs.horizon-advance.legacyPackages.${system}.extend overrides;
packages = filterAttrs (_: isDerivation) legacyPackages; packages = filterAttrs (_: isDerivation) legacyPackages;
horizon-hoogle = pkgs.writers.writeBashBin "horizon-hoogle" ''
${legacyPackages.ghcWithHoogle (p: attrValues (packages // { hoogle = null; }))}/bin/hoogle server --local
'';
in in
{ {
apps = {
run-hoogle = {
type = "app";
program = "${horizon-hoogle}/bin/horizon-core-hoogle";
};
};
checks = with lint-utils.linters.${system}; {
dhall-format = dhall-format { src = self; };
nixpkgs-fmt = nixpkgs-fmt { src = self; find = "flake.nix"; };
};
inherit legacyPackages; inherit legacyPackages;
inherit packages; inherit packages;
......
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.
{ mkDerivation, Chart, SVGFonts, base, blaze-markup, bytestring
, colour, containers, data-default-class, diagrams-core
, diagrams-lib, diagrams-postscript, diagrams-svg, lens, lib, mtl
, old-locale, operational, svg-builder, text, time
}:
mkDerivation {
pname = "Chart-diagrams";
version = "1.9.5.1";
sha256 = "f8dcd91926e6f46b47a21a131650f1dc026e410a63f276ff52ba092aab7662de";
isLibrary = true;
isExecutable = false;
enableSeparateDataOutput = true;
libraryHaskellDepends = [
base blaze-markup bytestring Chart colour containers
data-default-class diagrams-core diagrams-lib diagrams-postscript
diagrams-svg lens mtl old-locale operational svg-builder SVGFonts
text time
];
enableLibraryProfiling = true;
enableExecutableProfiling = true;
doHaddock = true;
jailbreak = true;
doCheck = false;
doBenchmark = false;
hyperlinkSource = false;
homepage = "https://github.com/timbod7/haskell-chart/wiki";
description = "Diagrams backend for Charts";
license = lib.licenses.bsd3;
broken = false;
}
\ No newline at end of file
{ mkDerivation, array, base, colour, data-default-class, lens, lib
, mtl, old-locale, operational, time, vector
}:
mkDerivation {
pname = "Chart";
version = "1.9.5";
sha256 = "0c1e2fb865093eb9456d5b05a4974abcba149c96d83678b39ddb949b9e6adf5b";
isLibrary = true;
isExecutable = false;
enableSeparateDataOutput = false;
libraryHaskellDepends = [
array base colour data-default-class lens mtl old-locale
operational time vector
];
enableLibraryProfiling = true;
enableExecutableProfiling = true;
doHaddock = true;
jailbreak = true;
doCheck = false;
doBenchmark = false;
hyperlinkSource = false;
homepage = "https://github.com/timbod7/haskell-chart/wiki";
description = "A library for generating 2D Charts and Plots";
license = lib.licenses.bsd3;
broken = false;
}
\ No newline at end of file
{ mkDerivation, Cabal, Diff, HUnit, QuickCheck, aeson, aeson-pretty
, array, base, base64-bytestring, bytestring, containers, cpphs
, directory, filepath, haskell-src, lib, lifted-base, monad-control
, mtl, old-time, pretty, process, random, regex-compat
, template-haskell, temporary, text, time, unix
, unordered-containers, vector, xmlgen
}:
mkDerivation {
pname = "HTF";
version = "0.15.0.1";
sha256 = "bc16a958bd36b03f673388470eed7fea01daaa1604677bb08dfb910598d39856";
isLibrary = true;
isExecutable = true;
enableSeparateDataOutput = false;
setupHaskellDepends = [ base Cabal process ];
libraryHaskellDepends = [
aeson array base base64-bytestring bytestring containers cpphs Diff
directory haskell-src HUnit lifted-base monad-control mtl old-time
pretty process QuickCheck random regex-compat text time unix vector
xmlgen
];
libraryToolDepends = [ cpphs ];
executableHaskellDepends = [
array base cpphs directory HUnit mtl old-time random text
];
executableToolDepends = [ cpphs ];
testHaskellDepends = [
aeson aeson-pretty base bytestring directory filepath HUnit mtl
process random regex-compat template-haskell temporary text
unordered-containers
];
enableLibraryProfiling = true;
enableExecutableProfiling = true;
doHaddock = true;
jailbreak = true;
doCheck = false;
doBenchmark = false;
hyperlinkSource = false;
homepage = "https://github.com/skogsbaer/HTF/";
description = "The Haskell Test Framework";
license = lib.licenses.lgpl21Only;
broken = false;
}
\ No newline at end of file