From 068576042b3b58f8180b24a36c07199a1a3fd380 Mon Sep 17 00:00:00 2001 From: Jade Lovelace Date: Thu, 13 Jun 2024 15:11:28 -0700 Subject: [PATCH] packaging: Move binaryTarball to a passthru attr in package.nix This is motivated by flakes being bad and all the stuff that calls things by "system" being utterly unable to cope with cross compilation. So if we go shove it in package.nix it is suddenly usable from cross contexts. Usage: ``` nix build -L .#nix-riscv64-linux.binaryTarball ``` Change-Id: I702ebf2ac5bd9d1c57662f968b000073134df336 --- flake.nix | 8 ++------ package.nix | 8 ++++++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/flake.nix b/flake.nix index 8f93127f7..792387da4 100644 --- a/flake.nix +++ b/flake.nix @@ -152,8 +152,6 @@ } ); - binaryTarball = nix: pkgs: pkgs.callPackage ./nix-support/binary-tarball.nix { inherit nix; }; - overlayFor = getStdenv: final: prev: let @@ -236,13 +234,11 @@ ); # Perl bindings for various platforms. - perlBindings = forAllSystems (system: nixpkgsFor.${system}.native.nix.perl-bindings); + perlBindings = forAllSystems (system: nixpkgsFor.${system}.native.nix.passthru.perl-bindings); # Binary tarball for various platforms, containing a Nix store # with the closure of 'nix' package. - binaryTarball = forAllSystems ( - system: binaryTarball nixpkgsFor.${system}.native.nix nixpkgsFor.${system}.native - ); + binaryTarball = forAllSystems (system: nixpkgsFor.${system}.native.nix.passthru.binaryTarball); # docker image with Lix inside dockerImage = lib.genAttrs linux64BitSystems (system: self.packages.${system}.dockerImage); diff --git a/package.nix b/package.nix index f65611ea6..ef6f317e8 100644 --- a/package.nix +++ b/package.nix @@ -376,8 +376,6 @@ stdenv.mkDerivation (finalAttrs: { platforms = lib.platforms.unix; }; - passthru.perl-bindings = pkgs.callPackage ./perl { inherit fileset stdenv; }; - # Export the patched version of boehmgc. # flake.nix exports that into its overlay. passthru = { @@ -509,5 +507,11 @@ stdenv.mkDerivation (finalAttrs: { ''; } ); + + perl-bindings = pkgs.callPackage ./perl { inherit fileset stdenv; }; + + binaryTarball = pkgs.callPackage ./nix-support/binary-tarball.nix { + nix = finalAttrs.finalPackage; + }; }; })