From ac07356b08595f288c5d01eff4bd7d342c8d7ff7 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 23 Oct 2019 13:49:56 +0200 Subject: flake.nix: Support multiple platforms --- flake.lock | 6 +++--- flake.nix | 45 +++++++++++++++++++++++++++------------------ 2 files changed, 30 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 70a433b..00639c7 100644 --- a/flake.lock +++ b/flake.lock @@ -2,9 +2,9 @@ "inputs": { "nixpkgs": { "inputs": {}, - "narHash": "sha256-HGlE2VNbdEjCP76hWAS72kHBlMWhpvqWo58Obg1Vy6s=", - "originalUri": "nixpkgs", - "uri": "github:edolstra/nixpkgs/13e1bce51f4aebdf3db58ce8c4a93e904a272bff" + "narHash": "sha256-yfhWbT0TL6NiCc5lCXauGsImnpDFNHV7ngjyUYrm6CY=", + "originalUrl": "nixpkgs", + "url": "github:edolstra/nixpkgs/d4a07f018e707b31a0eb7aff3f2838d01d53a0df" } }, "version": 3 diff --git a/flake.nix b/flake.nix index e69412a..bc24bf4 100644 --- a/flake.nix +++ b/flake.nix @@ -3,30 +3,39 @@ description = "A tool for modifying ELF executables and libraries"; - outputs = { self, nixpkgs }: rec { + outputs = { self, nixpkgs }: - overlay = final: prev: { + let + supportedSystems = [ "x86_64-linux" "i686-linux" "aarch64-linux" ]; + forAllSystems = f: nixpkgs.lib.genAttrs supportedSystems (system: f system); + in - patchelf-new = final.stdenv.mkDerivation { - name = "patchelf-${hydraJobs.tarball.version}"; - src = "${hydraJobs.tarball}/tarballs/*.tar.bz2"; - }; + rec { - }; + overlay = final: prev: { - hydraJobs = import ./release.nix { - patchelfSrc = self; - nixpkgs = nixpkgs; - }; + patchelf-new = final.stdenv.mkDerivation { + name = "patchelf-${hydraJobs.tarball.version}"; + src = "${hydraJobs.tarball}/tarballs/*.tar.bz2"; + }; - checks.build = hydraJobs.build.x86_64-linux; + }; - packages.patchelf = (import nixpkgs { - system = "x86_64-linux"; - overlays = [ self.overlay ]; - }).patchelf-new; + hydraJobs = import ./release.nix { + patchelfSrc = self; + nixpkgs = nixpkgs; + }; + + checks = forAllSystems (system: { + build = hydraJobs.build.${system}; + }); - defaultPackage = packages.patchelf; + defaultPackage = forAllSystems (system: + (import nixpkgs { + inherit system; + overlays = [ self.overlay ]; + }).patchelf-new + ); - }; + }; } -- cgit v0.12