From da35fafa08de9a118a51b92cc8d0644e1afe2a5f Mon Sep 17 00:00:00 2001 From: Daniel Nagy Date: Mon, 26 Dec 2022 15:00:00 +0100 Subject: chickenPackages: Introduce overrides --- pkgs/development/compilers/chicken/5/default.nix | 2 +- .../compilers/chicken/5/eggDerivation.nix | 10 ++-- pkgs/development/compilers/chicken/5/overrides.nix | 58 +++++++++++++++++++++- 3 files changed, 63 insertions(+), 7 deletions(-) (limited to 'pkgs/development/compilers/chicken') diff --git a/pkgs/development/compilers/chicken/5/default.nix b/pkgs/development/compilers/chicken/5/default.nix index 55b3e54e41543..6aed893c97e68 100644 --- a/pkgs/development/compilers/chicken/5/default.nix +++ b/pkgs/development/compilers/chicken/5/default.nix @@ -3,7 +3,7 @@ let callPackage = newScope self; self = with lib; { - pkgs = self; + inherit callPackage; fetchegg = { pname, version, sha256, ... }: fetchurl { diff --git a/pkgs/development/compilers/chicken/5/eggDerivation.nix b/pkgs/development/compilers/chicken/5/eggDerivation.nix index d1c8fc9e47365..23c48ced26679 100644 --- a/pkgs/development/compilers/chicken/5/eggDerivation.nix +++ b/pkgs/development/compilers/chicken/5/eggDerivation.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, chicken, makeWrapper }: +{ callPackage, lib, stdenv, chicken, makeWrapper }: { name, src , buildInputs ? [] , chickenInstallFlags ? [] @@ -6,15 +6,15 @@ , ...} @ args: let - overrides = import ./overrides.nix; + overrides = callPackage ./overrides.nix { }; baseName = lib.getName name; override = if builtins.hasAttr baseName overrides then builtins.getAttr baseName overrides else - {}; + lib.id; in -stdenv.mkDerivation ({ +(stdenv.mkDerivation ({ name = "chicken-${name}"; propagatedBuildInputs = buildInputs; nativeBuildInputs = [ makeWrapper ]; @@ -43,4 +43,4 @@ stdenv.mkDerivation ({ meta = { inherit (chicken.meta) platforms; } // args.meta or {}; -} // (builtins.removeAttrs args ["name" "buildInputs" "meta"]) // override) +} // builtins.removeAttrs args ["name" "buildInputs" "meta"]) ).overrideAttrs override diff --git a/pkgs/development/compilers/chicken/5/overrides.nix b/pkgs/development/compilers/chicken/5/overrides.nix index 2c63c0851048d..4c286b59be079 100644 --- a/pkgs/development/compilers/chicken/5/overrides.nix +++ b/pkgs/development/compilers/chicken/5/overrides.nix @@ -1,2 +1,58 @@ -{ +{ pkgs, lib, chickenEggs }: +let + addToBuildInputs = pkg: old: { + buildInputs = (old.buildInputs or [ ]) ++ lib.toList pkg; + }; + addToPropagatedBuildInputs = pkg: old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) + ++ lib.toList pkg; + }; + addPkgConfig = old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ]; + }; + addToBuildInputsWithPkgConfig = pkg: old: + (addPkgConfig old) // (addToBuildInputs pkg old); + addToPropagatedBuildInputsWithPkgConfig = pkg: old: + (addPkgConfig old) // (addToPropagatedBuildInputs pkg old); +in { + breadline = addToBuildInputs pkgs.readline; + cairo = old: + (addToBuildInputsWithPkgConfig pkgs.cairo old) + // (addToPropagatedBuildInputs (with chickenEggs; [ srfi-1 srfi-13 ]) old); + cmark = addToBuildInputs pkgs.cmark; + dbus = addToBuildInputsWithPkgConfig pkgs.dbus; + epoxy = addToPropagatedBuildInputsWithPkgConfig pkgs.libepoxy; + exif = addToBuildInputs pkgs.libexif; + expat = addToBuildInputs pkgs.expat; + ezxdisp = addToBuildInputsWithPkgConfig pkgs.xorg.libX11; + freetype = addToBuildInputs pkgs.freetype; + glfw3 = addToBuildInputsWithPkgConfig pkgs.glfw3; + icu = addToBuildInputsWithPkgConfig pkgs.icu; + imlib2 = addToBuildInputsWithPkgConfig pkgs.imlib2; + lazy-ffi = addToBuildInputs pkgs.libffi; + leveldb = addToBuildInputs pkgs.leveldb; + magic = addToBuildInputs pkgs.file; + mdh = addToBuildInputs pkgs.pcre; + nanomsg = addToBuildInputs pkgs.nanomsg; + openssl = addToBuildInputs pkgs.openssl; + rocksdb = addToBuildInputs pkgs.rocksdb; + sdl-base = addToBuildInputs pkgs.SDL; + sdl2 = addToPropagatedBuildInputsWithPkgConfig pkgs.SDL2; + sdl2-image = addToBuildInputs pkgs.SDL2_image; + sdl2-ttf = addToBuildInputs pkgs.SDL2_ttf; + sqlite3 = addToBuildInputs pkgs.sqlite; + stemmer = addToBuildInputs pkgs.libstemmer; + stfl = addToBuildInputs [ pkgs.ncurses pkgs.stfl ]; + taglib = addToBuildInputs [ pkgs.zlib pkgs.taglib ]; + uuid-lib = addToBuildInputs pkgs.libuuid; + ws-client = addToBuildInputs pkgs.zlib; + xlib = addToPropagatedBuildInputs pkgs.xorg.libX11; + yaml = addToBuildInputs pkgs.libyaml; + zlib = addToBuildInputs pkgs.zlib; + zmq = addToBuildInputs pkgs.zeromq; + zstd = addToBuildInputs pkgs.zstd; + + # platform changes + pledge = old: { meta = old.meta // { platforms = lib.platforms.openbsd; }; }; + unveil = old: { meta = old.meta // { platforms = lib.platforms.openbsd; }; }; } -- cgit 1.4.1