From a0d4618e7f0ad07c308086b627dddcb9cd91f5ad Mon Sep 17 00:00:00 2001 From: Artturin Date: Tue, 10 May 2022 04:57:46 +0300 Subject: [PATCH 1/3] buildCrystalPackage: enable strictDeps it improves package correctness and keeps cross-compilation in good health there aren't many uses of buildCrystalPackage in nixpkgs yet so imo its safe to turn it on python builder, rust build, go builder, and others all turn it on --- pkgs/development/compilers/crystal/build-package.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/development/compilers/crystal/build-package.nix b/pkgs/development/compilers/crystal/build-package.nix index ce8f0c32537..215c3d37d88 100644 --- a/pkgs/development/compilers/crystal/build-package.nix +++ b/pkgs/development/compilers/crystal/build-package.nix @@ -72,16 +72,17 @@ stdenv.mkDerivation (mkDerivationArgs // { PREFIX = placeholder "out"; - buildInputs = args.buildInputs or [ ] ++ [ crystal ] - ++ lib.optional (format != "crystal") shards; + strictDeps = true; + buildInputs = args.buildInputs or [ ] ++ [ crystal ]; nativeBuildInputs = args.nativeBuildInputs or [ ] ++ [ + crystal git installShellFiles removeReferencesTo pkg-config which - ]; + ] ++ lib.optional (format != "crystal") shards; buildPhase = args.buildPhase or (lib.concatStringsSep "\n" ([ "runHook preBuild" From c609c50a787fa20e61569b9b352afdc48d88a130 Mon Sep 17 00:00:00 2001 From: Artturin Date: Tue, 10 May 2022 05:00:12 +0300 Subject: [PATCH 2/3] oq: fix strictDeps build buildCrystalPackage now has strictDeps enabled kakoune-cr: add bash to buildInputs for patchShebangs scry: add bash to buildInputs for patchShebang --- pkgs/development/tools/oq/default.nix | 3 ++- pkgs/development/tools/scry/default.nix | 3 ++- pkgs/tools/misc/kakoune-cr/default.nix | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/oq/default.nix b/pkgs/development/tools/oq/default.nix index 32be1251161..d8fcbdf424b 100644 --- a/pkgs/development/tools/oq/default.nix +++ b/pkgs/development/tools/oq/default.nix @@ -18,7 +18,8 @@ crystal.buildCrystalPackage rec { }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ jq libxml2 ]; + buildInputs = [ libxml2 ]; + checkInputs = [ jq ]; format = "shards"; diff --git a/pkgs/development/tools/scry/default.nix b/pkgs/development/tools/scry/default.nix index 04307d02c4a..28a6c09177b 100644 --- a/pkgs/development/tools/scry/default.nix +++ b/pkgs/development/tools/scry/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchFromGitHub, crystal, coreutils, makeWrapper }: +{ lib, fetchFromGitHub, crystal, coreutils, makeWrapper, bash }: crystal.buildCrystalPackage rec { pname = "scry"; @@ -19,6 +19,7 @@ crystal.buildCrystalPackage rec { format = "shards"; nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ bash ]; shardsFile = ./shards.nix; diff --git a/pkgs/tools/misc/kakoune-cr/default.nix b/pkgs/tools/misc/kakoune-cr/default.nix index 78504c1fc79..3d71482d4ea 100644 --- a/pkgs/tools/misc/kakoune-cr/default.nix +++ b/pkgs/tools/misc/kakoune-cr/default.nix @@ -1,4 +1,4 @@ -{ lib, crystal, fetchFromGitHub, fetchurl, jq }: +{ lib, crystal, fetchFromGitHub, fetchurl, jq, bash }: let icon = fetchurl { url = "https://github.com/mawww/kakoune/raw/master/doc/kakoune_logo.svg"; @@ -16,6 +16,7 @@ crystal.buildCrystalPackage rec { hash = "sha256-xFrxbnZl/49vGKdkESPa6LpK0ckq4Jv5GNLL/G0qA1w="; }; + buildInputs = [ bash ]; propagatedUserEnvPkgs = [ jq ]; format = "shards"; From 5e3b4a6eaf83dfb8f4179d1571d6bef72c295372 Mon Sep 17 00:00:00 2001 From: Artturin Date: Tue, 10 May 2022 05:19:21 +0300 Subject: [PATCH 3/3] crystal: enable strictDeps --- pkgs/development/compilers/crystal/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/crystal/default.nix b/pkgs/development/compilers/crystal/default.nix index f682ecfb06c..83c91fc04da 100644 --- a/pkgs/development/compilers/crystal/default.nix +++ b/pkgs/development/compilers/crystal/default.nix @@ -145,9 +145,10 @@ let export CRYSTAL_CACHE_DIR=$TMP ''; - buildInputs = commonBuildInputs extraBuildInputs; + strictDeps = true; nativeBuildInputs = [ binary makeWrapper which pkg-config llvmPackages.llvm ]; + buildInputs = commonBuildInputs extraBuildInputs; makeFlags = [ "CRYSTAL_CONFIG_VERSION=${version}"