diff options
author | Raymond Gauthier <jraygauthier@gmail.com> | 2015-01-04 21:53:44 -0500 |
---|---|---|
committer | Raymond Gauthier <jraygauthier@gmail.com> | 2015-01-04 21:53:44 -0500 |
commit | bbed7f95cdcb6b99fb3577151612e0b11736e6df (patch) | |
tree | d60950afaabd9c39fac5a06623beddce2f8aad40 /pkgs | |
parent | 18ffe551e833ef4a391127f2b7c97b6cbb2ac187 (diff) | |
download | nixlib-bbed7f95cdcb6b99fb3577151612e0b11736e6df.tar nixlib-bbed7f95cdcb6b99fb3577151612e0b11736e6df.tar.gz nixlib-bbed7f95cdcb6b99fb3577151612e0b11736e6df.tar.bz2 nixlib-bbed7f95cdcb6b99fb3577151612e0b11736e6df.tar.lz nixlib-bbed7f95cdcb6b99fb3577151612e0b11736e6df.tar.xz nixlib-bbed7f95cdcb6b99fb3577151612e0b11736e6df.tar.zst nixlib-bbed7f95cdcb6b99fb3577151612e0b11736e6df.zip |
Add haskell diagrams-builder package and its wrapper.
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/development/libraries/haskell/diagrams/builder/default.nix | 26 | ||||
-rw-r--r-- | pkgs/development/libraries/haskell/diagrams/builder/wrapper.nix | 53 | ||||
-rw-r--r-- | pkgs/top-level/haskell-packages.nix | 2 |
3 files changed, 81 insertions, 0 deletions
diff --git a/pkgs/development/libraries/haskell/diagrams/builder/default.nix b/pkgs/development/libraries/haskell/diagrams/builder/default.nix new file mode 100644 index 000000000000..40e1cf457966 --- /dev/null +++ b/pkgs/development/libraries/haskell/diagrams/builder/default.nix @@ -0,0 +1,26 @@ +# This file was auto-generated by cabal2nix. Please do NOT edit manually! + +{ cabal, blazeSvg, cmdargs, diagramsCairo, diagramsLib +, diagramsPostscript, diagramsSvg, exceptions, filepath, hashable +, haskellSrcExts, hint, lens, mtl, split, transformers +}: + +cabal.mkDerivation (self: { + pname = "diagrams-builder"; + version = "0.6.0.2"; + sha256 = "18avlhwywhrxlf1cyp9fdiy0i3gy12k4i28cymllmmyx78fv59q5"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + blazeSvg cmdargs diagramsCairo diagramsLib diagramsPostscript + diagramsSvg exceptions filepath hashable haskellSrcExts hint lens + mtl split transformers + ]; + configureFlags = "-fcairo -fsvg -fps -frasterific"; + meta = { + homepage = "http://projects.haskell.org/diagrams"; + description = "hint-based build service for the diagrams graphics EDSL"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/diagrams/builder/wrapper.nix b/pkgs/development/libraries/haskell/diagrams/builder/wrapper.nix new file mode 100644 index 000000000000..8d175398414e --- /dev/null +++ b/pkgs/development/libraries/haskell/diagrams/builder/wrapper.nix @@ -0,0 +1,53 @@ +/* + If user need access to more haskell package for building his + diagrams, he simply has to pass these package through the + extra packages function as follow in `config.nix`: + + ~~~ + diagramBuilderWrapper.override { + extraPackages = self : [myHaskellPackage]; + } + ~~~ + + WARNING: + Note that this solution works well but however, as this is a + non-cabal derivation, user should be carefull to never put this + package inside the listing passed as argument to `ghcWithPackages` + as it will silently disregard the package. This silent disregard + should be regarded as an issue for `ghcWithPackages`. It should + rather raise an error instead when a non-cabal dirivation is + directly passed to it. The alternative would have been to + use a fake cabal file in order to make this a cabal derivation + such as what `yiCustom` package did. +*/ + +{ stdenv, diagramsBuilder, ghcWithPackages, makeWrapper, + extraPackages ? (self: []) }: +let + # Used same technique as for the yiCustom package. + w = ghcWithPackages + (self: [ diagramsBuilder ] ++ extraPackages self); + wrappedGhc = w.override { ignoreCollisions = true; }; +in +stdenv.mkDerivation { + name = diagramsBuilder.name + "-wrapper"; + buildInputs = [ makeWrapper ]; + buildCommand = '' + makeWrapper \ + "${diagramsBuilder}/bin/diagrams-builder-svg" "$out/bin/diagrams-builder-svg" \ + --set NIX_GHC ${wrappedGhc}/bin/ghc \ + --set NIX_GHC_LIBDIR ${wrappedGhc}/lib/ghc-${diagramsBuilder.ghc.version} + + makeWrapper \ + "${diagramsBuilder}/bin/diagrams-builder-cairo" "$out/bin/diagrams-builder-cairo" \ + --set NIX_GHC ${wrappedGhc}/bin/ghc \ + --set NIX_GHC_LIBDIR ${wrappedGhc}/lib/ghc-${diagramsBuilder.ghc.version} + + makeWrapper \ + "${diagramsBuilder}/bin/diagrams-builder-ps" "$out/bin/diagrams-builder-ps" \ + --set NIX_GHC ${wrappedGhc}/bin/ghc \ + --set NIX_GHC_LIBDIR ${wrappedGhc}/lib/ghc-${diagramsBuilder.ghc.version} + ''; + preferLocalBuild = true; + meta = diagramsBuilder.meta; +} \ No newline at end of file diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 78b33244b1f4..2e7feb98c329 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -633,6 +633,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in dice = callPackage ../development/libraries/haskell/dice {}; diagrams = callPackage ../development/libraries/haskell/diagrams/diagrams.nix {}; + diagramsBuilder = callPackage ../development/libraries/haskell/diagrams/builder { }; + diagramsBuilderWrapper = callPackage ../development/libraries/haskell/diagrams/builder/wrapper.nix { }; diagramsCairo = callPackage ../development/libraries/haskell/diagrams/cairo.nix {}; diagramsCore = callPackage ../development/libraries/haskell/diagrams/core.nix {}; diagramsContrib = callPackage ../development/libraries/haskell/diagrams/contrib.nix {}; |