From 90dacd685d213dcbe8a4ae8b476942bc25122ce3 Mon Sep 17 00:00:00 2001 From: Ian-Woo Kim Date: Sun, 6 Jul 2014 22:03:38 +0200 Subject: [PATCH] Haskell packages, hlibgit2, gitlib, gitlib-test, gitlib-libgit2 added. Low/High-level API for git --- .../haskell/gitlib-libgit2/default.nix | 29 +++++++++++++++++++ .../libraries/haskell/gitlib-test/default.nix | 20 +++++++++++++ .../libraries/haskell/gitlib/default.nix | 23 +++++++++++++++ .../libraries/haskell/hlibgit2/default.nix | 16 ++++++++++ pkgs/top-level/haskell-packages.nix | 8 +++++ 5 files changed, 96 insertions(+) create mode 100644 pkgs/development/libraries/haskell/gitlib-libgit2/default.nix create mode 100644 pkgs/development/libraries/haskell/gitlib-test/default.nix create mode 100644 pkgs/development/libraries/haskell/gitlib/default.nix create mode 100644 pkgs/development/libraries/haskell/hlibgit2/default.nix diff --git a/pkgs/development/libraries/haskell/gitlib-libgit2/default.nix b/pkgs/development/libraries/haskell/gitlib-libgit2/default.nix new file mode 100644 index 000000000000..e0834870f26b --- /dev/null +++ b/pkgs/development/libraries/haskell/gitlib-libgit2/default.nix @@ -0,0 +1,29 @@ +{ cabal, conduit, conduitCombinators, exceptions, fastLogger +, filepath, gitlib, gitlibTest, hlibgit2, hspec, hspecExpectations +, HUnit, liftedAsync, liftedBase, missingForeign, mmorph +, monadControl, monadLogger, monadLoops, mtl, resourcet, stm +, stmConduit, tagged, text, textIcu, time, transformers +, transformersBase +}: + +cabal.mkDerivation (self: { + pname = "gitlib-libgit2"; + version = "3.1.0"; + sha256 = "1kjwc36fd14j2ipw53j8hdsy29gxir1qrm54wxgpp5n4q2kcs9pq"; + buildDepends = [ + conduit conduitCombinators exceptions fastLogger filepath gitlib + hlibgit2 liftedAsync liftedBase missingForeign mmorph monadControl + monadLogger monadLoops mtl resourcet stm stmConduit tagged text + textIcu time transformers transformersBase + ]; + testDepends = [ + exceptions gitlib gitlibTest hspec hspecExpectations HUnit + monadLogger transformers + ]; + meta = { + description = "Libgit2 backend for gitlib"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ianwookim ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/gitlib-test/default.nix b/pkgs/development/libraries/haskell/gitlib-test/default.nix new file mode 100644 index 000000000000..10a9a27b30b1 --- /dev/null +++ b/pkgs/development/libraries/haskell/gitlib-test/default.nix @@ -0,0 +1,20 @@ +{ cabal, conduit, conduitCombinators, exceptions, gitlib, hspec +, hspecExpectations, HUnit, monadControl, tagged, text, time +, transformers +}: + +cabal.mkDerivation (self: { + pname = "gitlib-test"; + version = "3.1.0"; + sha256 = "0hnwx5r9fdkxvx0zmqffpym921dvf1x2lky8w11y3rfhk9i1g7l4"; + buildDepends = [ + conduit conduitCombinators exceptions gitlib hspec + hspecExpectations HUnit monadControl tagged text time transformers + ]; + meta = { + description = "Test library for confirming gitlib backend compliance"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ianwookim ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/gitlib/default.nix b/pkgs/development/libraries/haskell/gitlib/default.nix new file mode 100644 index 000000000000..65e2f9c37690 --- /dev/null +++ b/pkgs/development/libraries/haskell/gitlib/default.nix @@ -0,0 +1,23 @@ +{ cabal, base16Bytestring, conduit, conduitCombinators, exceptions +, filepath, hashable, liftedAsync, liftedBase, monadControl +, monadLogger, mtl, resourcet, semigroups, systemFilepath, tagged +, text, time, transformers, unorderedContainers +}: + +cabal.mkDerivation (self: { + pname = "gitlib"; + version = "3.1.0"; + sha256 = "0zyym7m8bdhc4wi2jrhcmipmlq106qkd61c4y9iisgk73v2pg9f4"; + buildDepends = [ + base16Bytestring conduit conduitCombinators exceptions filepath + hashable liftedAsync liftedBase monadControl monadLogger mtl + resourcet semigroups systemFilepath tagged text time transformers + unorderedContainers + ]; + meta = { + description = "API library for working with Git repositories"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ianwookim ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/hlibgit2/default.nix b/pkgs/development/libraries/haskell/hlibgit2/default.nix new file mode 100644 index 000000000000..bf946900283d --- /dev/null +++ b/pkgs/development/libraries/haskell/hlibgit2/default.nix @@ -0,0 +1,16 @@ +{ cabal, bindingsDSL, openssl, zlib, git }: + +cabal.mkDerivation (self: { + pname = "hlibgit2"; + version = "0.18.0.13"; + sha256 = "1bslg51kkhnwm48kxaad4izq3xmzv6dpqy10a5kh16vr5zy3w5hz"; + buildDepends = [ bindingsDSL zlib ]; + testDepends = [ git ]; + extraLibraries = [ openssl ]; + meta = { + description = "Low-level bindings to libgit2"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ianwookim ]; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 6d6df8e3170f..72eb1937373e 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -873,6 +873,12 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in gitit = callPackage ../development/libraries/haskell/gitit {}; + gitlib = callPackage ../development/libraries/haskell/gitlib {}; + + gitlibLibgit2 = callPackage ../development/libraries/haskell/gitlib-libgit2 {}; + + gitlibTest = callPackage ../development/libraries/haskell/gitlib-test {}; + glade = callPackage ../development/libraries/haskell/glade { inherit (pkgs.gnome) libglade; gtkC = pkgs.gtk; @@ -1108,6 +1114,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in hledgerIrr = callPackage ../applications/office/hledger-irr {}; hledgerWeb = callPackage ../development/libraries/haskell/hledger-web {}; + hlibgit2 = callPackage ../development/libraries/haskell/hlibgit2 {}; + HList = callPackage ../development/libraries/haskell/HList {}; hmatrix = callPackage ../development/libraries/haskell/hmatrix {};