Skip to content

Instantly share code, notes, and snippets.

@tomsmalley
Created December 23, 2017 11:18
Show Gist options
  • Save tomsmalley/02ccbac6d7dfdb5b940af7aac015d1a6 to your computer and use it in GitHub Desktop.
Save tomsmalley/02ccbac6d7dfdb5b940af7aac015d1a6 to your computer and use it in GitHub Desktop.
Example cabal2nix output, internal library pull request
{ mkDerivation, base, exeBuildDepends, exeBuildToolDepends
, exeBuildTools, exeExtraLibraries, exePkgConfig, intBuildDepends
, intBuildToolDepends, intBuildTools, intExtraLibraries
, intPkgConfig, libBuildDepends, libBuildToolDepends, libBuildTools
, libExtraLibraries, libPkgConfig, stdenv, testBuildDepends
, testBuildToolDepends, testBuildTools, testExtraLibraries
, testPkgConfig
}:
mkDerivation {
pname = "example";
version = "0.1.0.0";
src = example;
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [ base intBuildDepends libBuildDepends ];
librarySystemDepends = [ intExtraLibraries libExtraLibraries ];
libraryPkgconfigDepends = [ intPkgConfig libPkgConfig ];
libraryToolDepends = [
intBuildToolDepends intBuildTools libBuildToolDepends libBuildTools
];
executableHaskellDepends = [ base exeBuildDepends ];
executableSystemDepends = [ exeExtraLibraries ];
executablePkgconfigDepends = [ exePkgConfig ];
executableToolDepends = [ exeBuildToolDepends exeBuildTools ];
testHaskellDepends = [ testBuildDepends ];
testSystemDepends = [ testExtraLibraries ];
testPkgconfigDepends = [ testPkgConfig ];
testToolDepends = [ testBuildToolDepends testBuildTools ];
license = stdenv.lib.licenses.unfree;
}
name: example
version: 0.1.0.0
build-type: Simple
cabal-version: >= 2
library
exposed-modules: Lib
build-depends: base, libBuildDepends
build-tools: libBuildTools
build-tool-depends: libBuildToolDepends:exe
extra-libraries: libExtraLibraries
pkgconfig-depends: libPkgConfig
default-language: Haskell2010
library internal
exposed-modules: Internal
build-depends: base, intBuildDepends
build-tools: intBuildTools
build-tool-depends: intBuildToolDepends:exe
extra-libraries: intExtraLibraries
pkgconfig-depends: intPkgConfig
default-language: Haskell2010
executable exe
main-is: Main.hs
build-depends: base, internal, exeBuildDepends
build-tools: exeBuildTools
build-tool-depends: exeBuildToolDepends:exe
extra-libraries: exeExtraLibraries
pkgconfig-depends: exePkgConfig
default-language: Haskell2010
test-suite test
type: exitcode-stdio-1.0
main-is: Test.hs
build-depends: internal, testBuildDepends
build-tools: testBuildTools
build-tool-depends: testBuildToolDepends:exe
extra-libraries: testExtraLibraries
pkgconfig-depends: testPkgConfig
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment