uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
8
pkgs/test/haskell/default.nix
Normal file
8
pkgs/test/haskell/default.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{ lib, callPackage }:
|
||||
|
||||
lib.recurseIntoAttrs {
|
||||
shellFor = callPackage ./shellFor { };
|
||||
documentationTarball = callPackage ./documentationTarball { };
|
||||
setBuildTarget = callPackage ./setBuildTarget { };
|
||||
writers = callPackage ./writers { };
|
||||
}
|
||||
21
pkgs/test/haskell/documentationTarball/default.nix
Normal file
21
pkgs/test/haskell/documentationTarball/default.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{ pkgs, haskellPackages }:
|
||||
|
||||
let
|
||||
drv = haskellPackages.vector;
|
||||
docs = pkgs.haskell.lib.compose.documentationTarball drv;
|
||||
|
||||
in pkgs.runCommand "test haskell.lib.compose.documentationTarball" {
|
||||
meta = {
|
||||
inherit (docs.meta) platforms;
|
||||
};
|
||||
} ''
|
||||
tar xvzf "${docs}/${drv.name}-docs.tar.gz"
|
||||
|
||||
# Check for Haddock html
|
||||
find "${drv.name}-docs" | grep -q "Data-Vector.html"
|
||||
|
||||
# Check for source html
|
||||
find "${drv.name}-docs" | grep -q "src/Data.Vector.html"
|
||||
|
||||
touch "$out"
|
||||
''
|
||||
4
pkgs/test/haskell/setBuildTarget/Bar.hs
Normal file
4
pkgs/test/haskell/setBuildTarget/Bar.hs
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
module Main where
|
||||
|
||||
main :: IO ()
|
||||
main = putStrLn "Hello, Bar!"
|
||||
4
pkgs/test/haskell/setBuildTarget/Foo.hs
Normal file
4
pkgs/test/haskell/setBuildTarget/Foo.hs
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
module Main where
|
||||
|
||||
main :: IO ()
|
||||
main = putStrLn "Hello, Foo!"
|
||||
2
pkgs/test/haskell/setBuildTarget/Setup.hs
Normal file
2
pkgs/test/haskell/setBuildTarget/Setup.hs
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
import Distribution.Simple
|
||||
main = defaultMain
|
||||
43
pkgs/test/haskell/setBuildTarget/default.nix
Normal file
43
pkgs/test/haskell/setBuildTarget/default.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{ 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.compose.setBuildTarget target drv;
|
||||
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.compose.setBuildTarget" {
|
||||
meta = {
|
||||
inherit (drv.meta) platforms;
|
||||
};
|
||||
} ''
|
||||
${test "foo" "bar"}
|
||||
${test "bar" "foo"}
|
||||
touch "$out"
|
||||
''
|
||||
|
||||
|
|
@ -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
|
||||
47
pkgs/test/haskell/shellFor/default.nix
Normal file
47
pkgs/test/haskell/shellFor/default.nix
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
{ lib, writeText, haskellPackages, cabal-install }:
|
||||
|
||||
(haskellPackages.shellFor {
|
||||
packages = p: [ p.constraints p.linear ];
|
||||
extraDependencies = p: { libraryHaskellDepends = [ p.releaser ]; };
|
||||
nativeBuildInputs = [ cabal-install ];
|
||||
phases = [ "unpackPhase" "buildPhase" "installPhase" ];
|
||||
unpackPhase = ''
|
||||
sourceRoot=$(pwd)/scratch
|
||||
mkdir -p "$sourceRoot"
|
||||
cd "$sourceRoot"
|
||||
tar -xf ${haskellPackages.constraints.src}
|
||||
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
|
||||
|
||||
# Check extraDependencies.libraryHaskellDepends arg
|
||||
ghci <<EOF
|
||||
:m + Releaser.Primitives
|
||||
:m + System.IO
|
||||
writeFile "done" "done"
|
||||
EOF
|
||||
[[ done == $(cat done) ]]
|
||||
|
||||
# Check packages arg
|
||||
cabal v2-build --offline --verbose constraints linear --ghc-options="-O0 -j$NIX_BUILD_CORES"
|
||||
'';
|
||||
installPhase = ''
|
||||
touch $out
|
||||
'';
|
||||
}).overrideAttrs (oldAttrs: {
|
||||
meta =
|
||||
let
|
||||
oldMeta = oldAttrs.meta or {};
|
||||
oldMaintainers = oldMeta.maintainers or [];
|
||||
additionalMaintainers = with lib.maintainers; [ cdepillabout ];
|
||||
allMaintainers = oldMaintainers ++ additionalMaintainers;
|
||||
in
|
||||
oldMeta // {
|
||||
maintainers = allMaintainers;
|
||||
inherit (cabal-install.meta) platforms;
|
||||
};
|
||||
})
|
||||
26
pkgs/test/haskell/writers/default.nix
Normal file
26
pkgs/test/haskell/writers/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
# Wrap only the haskell-related tests from tests.writers
|
||||
# in their own derivation for Hydra CI in the haskell-updates
|
||||
# jobset. Can presumably removed as soon as tests.writers is
|
||||
# always green on darwin as well:
|
||||
# https://github.com/NixOS/nixpkgs/issues/126182
|
||||
{ runCommand, tests }:
|
||||
|
||||
let
|
||||
inherit (tests.writers)
|
||||
writeTest
|
||||
bin
|
||||
simple
|
||||
path
|
||||
;
|
||||
in
|
||||
|
||||
runCommand "test-haskell-writers" {
|
||||
meta = {
|
||||
inherit (tests.writers.meta) platforms;
|
||||
};
|
||||
} ''
|
||||
${writeTest "success" "test-haskell-bin-writer" "${bin.haskell}/bin/${bin.haskell.name}"}
|
||||
${writeTest "success" "test-haskell-simple-writer" simple.haskell}
|
||||
${writeTest "success" "test-haskell-path-writer" path.haskell}
|
||||
touch $out
|
||||
''
|
||||
Loading…
Add table
Add a link
Reference in a new issue