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:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View file

@ -0,0 +1,8 @@
{ lib, callPackage }:
lib.recurseIntoAttrs {
shellFor = callPackage ./shellFor { };
documentationTarball = callPackage ./documentationTarball { };
setBuildTarget = callPackage ./setBuildTarget { };
writers = callPackage ./writers { };
}

View 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"
''

View file

@ -0,0 +1,4 @@
module Main where
main :: IO ()
main = putStrLn "Hello, Bar!"

View file

@ -0,0 +1,4 @@
module Main where
main :: IO ()
main = putStrLn "Hello, Foo!"

View file

@ -0,0 +1,2 @@
import Distribution.Simple
main = defaultMain

View 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"
''

View file

@ -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

View 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;
};
})

View 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
''