From ff1b87f627841e6eab253f0a4dbe6b796b2e7a8c Mon Sep 17 00:00:00 2001 From: Daniel Firth <dan.firth@homotopic.tech> Date: Sun, 16 Oct 2022 15:08:53 +0100 Subject: [PATCH] cabal2nix: init at b3ae6f9240d07ba103f1eb7ab22f6055e9cdb7dc --- manifest.dhall | 5 +++++ overlay.nix | 2 ++ pkgs/cabal2nix.nix | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 pkgs/cabal2nix.nix diff --git a/manifest.dhall b/manifest.dhall index 70443bb1..4f1da632 100644 --- a/manifest.dhall +++ b/manifest.dhall @@ -89,6 +89,11 @@ in [ callHackage "Cabal" "3.8.1.0" , callHackage "cabal-doctest" "1.0.9" , callHackage "cabal-install" "3.8.1.0" , callHackage "cabal-install-solver" "3.8.1.0" + , callCabal2nix + "cabal2nix" + "https://github.com/NixOS/cabal2nix" + (None Text) + (Some "cabal2nix") , callHackage "cereal" "0.5.8.3" , callHackage "cborg" "0.2.8.0" , callHackage "cborg-json" "0.2.5.0" diff --git a/overlay.nix b/overlay.nix index 4d0074cf..bb6dca0b 100644 --- a/overlay.nix +++ b/overlay.nix @@ -61,6 +61,8 @@ final: prev: with pkgs.haskell.lib; { cabal-install-solver = prev.callPackage (./pkgs/cabal-install-solver.nix) { }; + cabal2nix = prev.callPackage (./pkgs/cabal2nix.nix) { }; + cborg = prev.callPackage (./pkgs/cborg.nix) { }; cborg-json = prev.callPackage (./pkgs/cborg-json.nix) { }; diff --git a/pkgs/cabal2nix.nix b/pkgs/cabal2nix.nix new file mode 100644 index 00000000..ac9e5ae1 --- /dev/null +++ b/pkgs/cabal2nix.nix @@ -0,0 +1,46 @@ +{ mkDerivation, aeson, ansi-wl-pprint, base, bytestring, Cabal +, containers, deepseq, directory, distribution-nixpkgs, fetchgit +, filepath, hackage-db, hopenssl, hpack, language-nix, lens, lib +, monad-par, monad-par-extras, mtl, optparse-applicative, pretty +, process, split, tasty, tasty-golden, text, time, transformers +, yaml +}: +mkDerivation { + pname = "cabal2nix"; + version = "2.19.0"; + src = fetchgit { + url = "https://github.com/NixOS/cabal2nix"; + sha256 = "0ym6lyp4br57442b6a9cg9bczbjqz8nz984rxwiacldqzndk8jbr"; + rev = "b3ae6f9240d07ba103f1eb7ab22f6055e9cdb7dc"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/cabal2nix/; echo source root reset to $sourceRoot"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson ansi-wl-pprint base bytestring Cabal containers deepseq + directory distribution-nixpkgs filepath hackage-db hopenssl hpack + language-nix lens optparse-applicative pretty process split text + time transformers yaml + ]; + executableHaskellDepends = [ + aeson base bytestring Cabal containers directory + distribution-nixpkgs filepath hopenssl language-nix lens monad-par + monad-par-extras mtl optparse-applicative pretty + ]; + testHaskellDepends = [ + base Cabal containers directory filepath language-nix lens pretty + process tasty tasty-golden + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + preCheck = '' + export PATH="$PWD/dist/build/cabal2nix:$PATH" + export HOME="$TMPDIR/home" + ''; + homepage = "https://github.com/nixos/cabal2nix#readme"; + description = "Convert Cabal files into Nix build instructions"; + license = lib.licenses.bsd3; +} \ No newline at end of file -- GitLab