1{ pkgs, stdenv, lib, haskellLib, ghc, fetchurl, writeText, runCommand, pkgconfig }:
17 cabalFile = if revision == null || revision == 0 then null else
19 url = "https://hackage.haskell.org/package/${name}/revision/${toString revision}.cabal";
20 sha256 = revisionSha256;
22 defaultSetupSrc = builtins.toFile "Setup.hs" ''
23 import Distribution.Simple
26 defaultSetup = runCommand "default-Setup" { nativeBuildInputs = [ghc]; } ''
27 cat ${defaultSetupSrc} > Setup.hs
28 ghc Setup.hs --make -o $out
31 setup = stdenv.mkDerivation {
32 name = "${name}-setup";
33 nativeBuildInputs = [ghc];
35 phases = ["unpackPhase" "buildPhase" "installPhase"];
38 for f in Setup.hs Setup.lhs; do
40 if ! (diff $f ${defaultSetupSrc} > /dev/null); then
41 echo Compiling package $f
42 ghc $f --make -o ./Setup
45 echo Using default Setup
54 install $setup $out/bin/Setup
58 comp-builder = haskellLib.weakCallPackage pkgs ./comp-builder.nix { inherit ghc haskellLib; };
60 buildComp = componentId: component: comp-builder {
61 inherit componentId component package name src flags setup cabalFile;
65 components = haskellLib.applyComponents buildComp config;
66 inherit (package) identifier;
67 inherit setup cabalFile;
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list