Commit f6eb6862 authored by Nikolay Amiantov's avatar Nikolay Amiantov
Browse files

Merge pull request #15002 from abbradar/symlink-join-wrappers

Use symlinkJoin for wrappers
parents 07cad541 8415fa35
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -11,7 +11,10 @@ let
                   rm $out/logcheck.*
                 '';

  rulesDir = pkgs.symlinkJoin "logcheck-rules-dir" ([ defaultRules ] ++ cfg.extraRulesDirs);
  rulesDir = pkgs.symlinkJoin
    { name = "logcheck-rules-dir";
      paths = ([ defaultRules ] ++ cfg.extraRulesDirs);
    };

  configFile = pkgs.writeText "logcheck.conf" cfg.config;

+4 −2
Original line number Diff line number Diff line
@@ -63,8 +63,10 @@ let
    cfg.extraConfig
  ];

  modulesDir = pkgs.symlinkJoin "dovecot-modules"
    (map (pkg: "${pkg}/lib/dovecot") ([ dovecotPkg ] ++ map (module: module.override { dovecot = dovecotPkg; }) cfg.modules));
  modulesDir = pkgs.symlinkJoin {
    name = "dovecot-modules";
    paths = map (pkg: "${pkg}/lib/dovecot") ([ dovecotPkg ] ++ map (module: module.override { dovecot = dovecotPkg; }) cfg.modules);
  };

in
{
+6 −14
Original line number Diff line number Diff line
{ stdenv, buildEnv, deadbeef, makeWrapper, plugins }:
{ stdenv, symlinkJoin, deadbeef, makeWrapper, plugins }:

let
drv = buildEnv {
  name = "deadbeef-with-plugins-" + (builtins.parseDrvName deadbeef.name).version;
symlinkJoin {
  name = "deadbeef-with-plugins-${deadbeef.version}";

  paths = [ deadbeef ] ++ plugins;

  buildInputs = [ makeWrapper ];

  postBuild = ''
    # TODO: This could be avoided if buildEnv could be forced to create all directories
    if [ -L $out/bin ]; then
      rm $out/bin
      mkdir $out/bin
      for i in ${deadbeef}/bin/*; do
        ln -s $i $out/bin
      done
    fi
    wrapProgram $out/bin/deadbeef \
      --set DEADBEEF_PLUGIN_DIR "$out/lib/deadbeef"
  '';
  };
in stdenv.lib.overrideDerivation drv (x : { buildInputs = x.buildInputs ++ [ makeWrapper ]; })
}
+6 −13
Original line number Diff line number Diff line
{ stdenv, buildEnv, puredata, makeWrapper, plugins }:
{ stdenv, symlinkJoin, puredata, makeWrapper, plugins }:

let
puredataFlags = map (x: "-path ${x}/") plugins;
drv = buildEnv {
  name = "puredata-with-plugins-" + (builtins.parseDrvName puredata.name).version;
in symlinkJoin {
  name = "puredata-with-plugins-${puredata.version}";

  paths = [ puredata ] ++ plugins;

  buildInputs = [ makeWrapper ];

  postBuild = ''
    # TODO: This could be avoided if buildEnv could be forced to create all directories
    if [ -L $out/bin ]; then
      rm $out/bin
      mkdir $out/bin
      for i in ${puredata}/bin/*; do
        ln -s $i $out/bin
      done
    fi
    wrapProgram $out/bin/pd \
      --add-flags "${toString puredataFlags}"
  '';
  };
in stdenv.lib.overrideDerivation drv (x : { buildInputs = x.buildInputs ++ [ makeWrapper ]; })
}
+2 −1
Original line number Diff line number Diff line
@@ -4,7 +4,8 @@
, python, pygtk, libart_lgpl, libexif, gettext, xorg, wrapPython }:

stdenv.mkDerivation rec {
  name = "gimp-2.8.16";
  name = "gimp-${version}";
  version = "2.8.16";

  # This declarations for `gimp-with-plugins` wrapper,
  # (used for determining $out/lib/gimp/${majorVersion}/ paths)
Loading