diff options
Diffstat (limited to 'pkgs/test')
-rw-r--r-- | pkgs/test/default.nix | 5 | ||||
-rw-r--r-- | pkgs/test/haskell/default.nix | 7 | ||||
-rw-r--r-- | pkgs/test/haskell/documentationTarball/default.nix (renamed from pkgs/test/haskell-documentationTarball/default.nix) | 0 | ||||
-rw-r--r-- | pkgs/test/haskell/setBuildTarget/Bar.hs | 4 | ||||
-rw-r--r-- | pkgs/test/haskell/setBuildTarget/Foo.hs | 4 | ||||
-rw-r--r-- | pkgs/test/haskell/setBuildTarget/Setup.hs | 2 | ||||
-rw-r--r-- | pkgs/test/haskell/setBuildTarget/default.nix | 38 | ||||
-rw-r--r-- | pkgs/test/haskell/setBuildTarget/haskell-setBuildTarget.cabal | 16 | ||||
-rw-r--r-- | pkgs/test/haskell/shellFor/default.nix (renamed from pkgs/test/haskell-shellFor/default.nix) | 10 | ||||
-rw-r--r-- | pkgs/test/rust-sysroot/default.nix | 2 | ||||
-rw-r--r-- | pkgs/test/vim/default.nix | 33 |
11 files changed, 111 insertions, 10 deletions
diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index 406b3191b7f..8c9e7b6f281 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -22,8 +22,7 @@ with pkgs; cc-wrapper-libcxx-9 = callPackage ./cc-wrapper { stdenv = llvmPackages_9.libcxxStdenv; }; stdenv-inputs = callPackage ./stdenv-inputs { }; - haskell-shellFor = callPackage ./haskell-shellFor { }; - haskell-documentationTarball = callPackage ./haskell-documentationTarball { }; + haskell = callPackage ./haskell { }; cc-multilib-gcc = callPackage ./cc-wrapper/multilib.nix { stdenv = gccMultiStdenv; }; cc-multilib-clang = callPackage ./cc-wrapper/multilib.nix { stdenv = clangMultiStdenv; }; @@ -52,5 +51,7 @@ with pkgs; cuda = callPackage ./cuda { }; + trivial = callPackage ../build-support/trivial-builders/test.nix {}; + writers = callPackage ../build-support/writers/test.nix {}; } diff --git a/pkgs/test/haskell/default.nix b/pkgs/test/haskell/default.nix new file mode 100644 index 00000000000..eb389f4051f --- /dev/null +++ b/pkgs/test/haskell/default.nix @@ -0,0 +1,7 @@ +{ lib, callPackage }: + +lib.recurseIntoAttrs { + shellFor = callPackage ./shellFor { }; + documentationTarball = callPackage ./documentationTarball { }; + setBuildTarget = callPackage ./setBuildTarget { }; +} diff --git a/pkgs/test/haskell-documentationTarball/default.nix b/pkgs/test/haskell/documentationTarball/default.nix index aec3dc41f26..aec3dc41f26 100644 --- a/pkgs/test/haskell-documentationTarball/default.nix +++ b/pkgs/test/haskell/documentationTarball/default.nix diff --git a/pkgs/test/haskell/setBuildTarget/Bar.hs b/pkgs/test/haskell/setBuildTarget/Bar.hs new file mode 100644 index 00000000000..010014082c7 --- /dev/null +++ b/pkgs/test/haskell/setBuildTarget/Bar.hs @@ -0,0 +1,4 @@ +module Main where + +main :: IO () +main = putStrLn "Hello, Bar!" diff --git a/pkgs/test/haskell/setBuildTarget/Foo.hs b/pkgs/test/haskell/setBuildTarget/Foo.hs new file mode 100644 index 00000000000..fec7bb11fe6 --- /dev/null +++ b/pkgs/test/haskell/setBuildTarget/Foo.hs @@ -0,0 +1,4 @@ +module Main where + +main :: IO () +main = putStrLn "Hello, Foo!" diff --git a/pkgs/test/haskell/setBuildTarget/Setup.hs b/pkgs/test/haskell/setBuildTarget/Setup.hs new file mode 100644 index 00000000000..9a994af677b --- /dev/null +++ b/pkgs/test/haskell/setBuildTarget/Setup.hs @@ -0,0 +1,2 @@ +import Distribution.Simple +main = defaultMain diff --git a/pkgs/test/haskell/setBuildTarget/default.nix b/pkgs/test/haskell/setBuildTarget/default.nix new file mode 100644 index 00000000000..b1335e2a74c --- /dev/null +++ b/pkgs/test/haskell/setBuildTarget/default.nix @@ -0,0 +1,38 @@ +{ pkgs, haskellPackages }: + +let + # This can be regenerated by running `cabal2nix .` in the current directory. + pkgDef = + { mkDerivation, base, lib }: + mkDerivation { + pname = "haskell-setBuildTarget"; + version = "0.1.0.0"; + src = ./.; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ base ]; + license = lib.licenses.bsd3; + }; + + drv = haskellPackages.callPackage pkgDef {}; + + test = target: excluded: + let only = pkgs.haskell.lib.setBuildTarget drv target; + in '' + if [[ ! -f "${only}/bin/${target}" ]]; then + echo "${target} was not built" + exit 1 + fi + + if [[ -f "${only}/bin/${excluded}" ]]; then + echo "${excluded} was built, when it should not have been" + exit 1 + fi + ''; + +in pkgs.runCommand "test haskell.lib.setBuildTarget" {} '' + ${test "foo" "bar"} + ${test "bar" "foo"} + touch "$out" +'' + diff --git a/pkgs/test/haskell/setBuildTarget/haskell-setBuildTarget.cabal b/pkgs/test/haskell/setBuildTarget/haskell-setBuildTarget.cabal new file mode 100644 index 00000000000..7395e139451 --- /dev/null +++ b/pkgs/test/haskell/setBuildTarget/haskell-setBuildTarget.cabal @@ -0,0 +1,16 @@ +cabal-version: >=1.10 +name: haskell-setBuildTarget +version: 0.1.0.0 +author: Isaac Shapira +maintainer: fresheyeball@protonmail.com +build-type: Simple + +executable foo + main-is: Foo.hs + build-depends: base + default-language: Haskell2010 + +executable bar + main-is: Bar.hs + build-depends: base + default-language: Haskell2010 diff --git a/pkgs/test/haskell-shellFor/default.nix b/pkgs/test/haskell/shellFor/default.nix index 9d13e1112cc..37ad2e90d89 100644 --- a/pkgs/test/haskell-shellFor/default.nix +++ b/pkgs/test/haskell/shellFor/default.nix @@ -1,22 +1,22 @@ -{ lib, haskellPackages, cabal-install }: +{ lib, writeText, haskellPackages, cabal-install }: (haskellPackages.shellFor { - packages = p: [ p.database-id-class p.constraints ]; + packages = p: [ p.constraints p.linear ]; nativeBuildInputs = [ cabal-install ]; phases = [ "unpackPhase" "buildPhase" "installPhase" ]; unpackPhase = '' sourceRoot=$(pwd)/scratch mkdir -p "$sourceRoot" cd "$sourceRoot" - tar -xf ${haskellPackages.database-id-class.src} tar -xf ${haskellPackages.constraints.src} - cp ${builtins.toFile "cabal.project" "packages: database-id-class* constraints*"} cabal.project + tar -xf ${haskellPackages.linear.src} + cp ${writeText "cabal.project" "packages: constraints* linear*"} cabal.project ''; buildPhase = '' export HOME=$(mktemp -d) mkdir -p $HOME/.cabal touch $HOME/.cabal/config - cabal v2-build --offline --verbose database-id-class constraints --ghc-options="-O0 -j$NIX_BUILD_CORES" + cabal v2-build --offline --verbose constraints linear --ghc-options="-O0 -j$NIX_BUILD_CORES" ''; installPhase = '' touch $out diff --git a/pkgs/test/rust-sysroot/default.nix b/pkgs/test/rust-sysroot/default.nix index 3a786ad6f00..a5a1596504f 100644 --- a/pkgs/test/rust-sysroot/default.nix +++ b/pkgs/test/rust-sysroot/default.nix @@ -11,7 +11,7 @@ let sha256 = "0k9ipm9ddm1bad7bs7368wzzp6xwrhyfzfpckdax54l4ffqwljcg"; }; - cargoSha256 = "1cbcplgz28yxshyrp2krp1jphbrcqdw6wxx3rry91p7hiqyibd30"; + cargoSha256 = "1x8iwgy1irgfkv2yjkxm6479nwbrk82b0c80jm7y4kw0s32r01lg"; inherit target; diff --git a/pkgs/test/vim/default.nix b/pkgs/test/vim/default.nix index 4ca004a60c3..c75836aa9a8 100644 --- a/pkgs/test/vim/default.nix +++ b/pkgs/test/vim/default.nix @@ -1,14 +1,43 @@ -{ vimUtils, vim_configurable, neovim, vimPlugins -, lib, fetchFromGitHub, +{ vimUtils, vim_configurable, writeText, neovim, vimPlugins +, lib, fetchFromGitHub, neovimUtils, wrapNeovimUnstable +, neovim-unwrapped }: let inherit (vimUtils) buildVimPluginFrom2Nix; packages.myVimPackage.start = with vimPlugins; [ vim-nix ]; + + plugins = with vimPlugins; [ + { + plugin = vim-obsession; + config = '' + map <Leader>$ <Cmd>Obsession<CR> + ''; + } + ]; + + nvimConfNix = neovimUtils.makeNeovimConfig { + inherit plugins; + customRC = '' + " just a comment + ''; + }; + + wrapNeovim = suffix: config: + wrapNeovimUnstable neovim-unwrapped (config // { + extraName = suffix; + wrapRc = true; + }); in { vim_empty_config = vimUtils.vimrcFile { beforePlugins = ""; customRC = ""; }; + ### neovim tests + ################## + nvim_with_plugins = wrapNeovim "-with-plugins" nvimConfNix; + + ### vim tests + ################## vim_with_vim2nix = vim_configurable.customize { name = "vim"; vimrcConfig.vam.pluginDictionaries = [ "vim-addon-vim2nix" ]; }; |