diff --git a/pkgs/development/tools/documentation/hs2hs/default.nix b/pkgs/development/tools/documentation/hs2hs/default.nix new file mode 100644 index 000000000000..cfa9e3b56f69 --- /dev/null +++ b/pkgs/development/tools/documentation/hs2hs/default.nix @@ -0,0 +1,26 @@ +#TODO write a function (abstraction) +args: with args; +args.stdenv.mkDerivation { + name = "hsc2hs-darcs"; + + src = bleedingEdgeRepos.sourceByName "hsc2hs"; + + phases = "unpackPhase buildPhase"; + + buildPhase = '' + ghc --make Setup.*hs -o setup + ensureDir \out + nix_ghc_pkg_tool join local-pkg-db + ./setup configure --prefix=$out --package-db=local-pkg-db + ./setup build + ./setup install + ''; + + buildInputs = (with args; [ghc] ++ libs); + + meta = { + description = "automate some parts of the process of writing Haskell bindings to C code"; + homepage = http://www.flapjax-lang.org/; + license = "BSD3"; + }; +} diff --git a/pkgs/misc/bleeding-edge-fetch-info/hsc2hs.nix b/pkgs/misc/bleeding-edge-fetch-info/hsc2hs.nix new file mode 100644 index 000000000000..8d0bdea1a9a1 --- /dev/null +++ b/pkgs/misc/bleeding-edge-fetch-info/hsc2hs.nix @@ -0,0 +1,3 @@ + args: with args; fetchurl { + url = http://mawercer.de/~nix/repos/hsc2hs.tar.gz; + sha256 = "3179eba85e56f30250793dbb612ffb8ad869e37297a185c2e0fb29134afb73af";} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5194b9efe080..2f10b55d867b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1942,6 +1942,12 @@ let pkgs = rec { inherit cabal; }; + hsc2hs = import ../development/tools/documentation/hs2hs { + inherit bleedingEdgeRepos stdenv; + ghc = ghcsAndLibs.ghc68.ghc; + libs = with (ghc68extraLibs ghcsAndLibs.ghc68 // ghcsAndLibs.ghc68.core_libs); [ base directory process cabal_darcs ]; + }; + guileLint = import ../development/tools/guile/guile-lint { inherit fetchurl stdenv guile; };