about summary refs log tree commit diff
path: root/pkgs/development/compilers/chicken
diff options
context:
space:
mode:
authorDaniel Nagy <danielnagy@posteo.de>2022-12-26 15:00:00 +0100
committerDaniel Nagy <danielnagy@posteo.de>2023-04-05 22:45:00 +0200
commitda35fafa08de9a118a51b92cc8d0644e1afe2a5f (patch)
treea20194c62b567ad709547a7f288431a7cb127654 /pkgs/development/compilers/chicken
parentda7761cacab07eeb08eb69e94063397e8887404e (diff)
chickenPackages: Introduce overrides
Diffstat (limited to 'pkgs/development/compilers/chicken')
-rw-r--r--pkgs/development/compilers/chicken/5/default.nix2
-rw-r--r--pkgs/development/compilers/chicken/5/eggDerivation.nix10
-rw-r--r--pkgs/development/compilers/chicken/5/overrides.nix58
3 files changed, 63 insertions, 7 deletions
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; }; };
 }