emacsPackages: add more override helpers
- addPackageRequires - addPackageRequiresIfOlder - addPackageRequiresWhen - fixRequireHelmCore - ignoreCompilationError - ignoreCompilationErrorIfOlder - ignoreCompilationErrorWhen - mkHomeIfOlder - mkHomeWhen
This commit is contained in:
@@ -26,7 +26,7 @@ formats commits for you.
|
||||
|
||||
self: let
|
||||
|
||||
inherit (import ./lib-override-helper.nix pkgs)
|
||||
inherit (import ./lib-override-helper.nix pkgs lib)
|
||||
markBroken
|
||||
;
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ formats commits for you.
|
||||
|
||||
self: let
|
||||
|
||||
inherit (import ./lib-override-helper.nix pkgs)
|
||||
inherit (import ./lib-override-helper.nix pkgs lib)
|
||||
markBroken
|
||||
;
|
||||
|
||||
|
||||
@@ -1,6 +1,27 @@
|
||||
pkgs:
|
||||
pkgs: lib:
|
||||
|
||||
rec {
|
||||
addPackageRequires =
|
||||
pkg: packageRequires: addPackageRequiresWhen pkg packageRequires (finalAttrs: previousAttrs: true);
|
||||
|
||||
addPackageRequiresIfOlder =
|
||||
pkg: packageRequires: version:
|
||||
addPackageRequiresWhen pkg packageRequires (
|
||||
finalAttrs: previousAttrs: lib.versionOlder finalAttrs.version version
|
||||
);
|
||||
|
||||
addPackageRequiresWhen =
|
||||
pkg: packageRequires: predicate:
|
||||
pkg.overrideAttrs (
|
||||
finalAttrs: previousAttrs: {
|
||||
packageRequires =
|
||||
if predicate finalAttrs previousAttrs then
|
||||
previousAttrs.packageRequires or [ ] ++ packageRequires
|
||||
else
|
||||
previousAttrs.packageRequires or null;
|
||||
}
|
||||
);
|
||||
|
||||
buildWithGit =
|
||||
pkg:
|
||||
pkg.overrideAttrs (previousAttrs: {
|
||||
@@ -18,6 +39,34 @@ rec {
|
||||
|
||||
fix-rtags = pkg: dontConfigure (externalSrc pkg pkgs.rtags);
|
||||
|
||||
fixRequireHelmCore =
|
||||
pkg:
|
||||
pkg.overrideAttrs (previousAttrs: {
|
||||
postPatch =
|
||||
previousAttrs.postPatch or ""
|
||||
+ "\n"
|
||||
+ ''
|
||||
substituteInPlace $ename.el \
|
||||
--replace-fail "(require 'helm)" "(require 'helm-core)"
|
||||
'';
|
||||
});
|
||||
|
||||
ignoreCompilationError = pkg: ignoreCompilationErrorWhen pkg (finalAttrs: previousAttrs: true);
|
||||
|
||||
ignoreCompilationErrorIfOlder =
|
||||
pkg: version:
|
||||
ignoreCompilationErrorWhen pkg (
|
||||
finalAttrs: previousAttrs: lib.versionOlder finalAttrs.version version
|
||||
);
|
||||
|
||||
ignoreCompilationErrorWhen =
|
||||
pkg: predicate:
|
||||
pkg.overrideAttrs (
|
||||
finalAttrs: previousAttrs: {
|
||||
ignoreCompilationError = predicate finalAttrs previousAttrs;
|
||||
}
|
||||
);
|
||||
|
||||
markBroken =
|
||||
pkg:
|
||||
pkg.overrideAttrs (previousAttrs: {
|
||||
@@ -26,13 +75,24 @@ rec {
|
||||
};
|
||||
});
|
||||
|
||||
mkHome =
|
||||
pkg:
|
||||
pkg.overrideAttrs (previousAttrs: {
|
||||
preInstall =
|
||||
''
|
||||
HOME=$(mktemp -d)
|
||||
''
|
||||
+ previousAttrs.preInstall or "";
|
||||
});
|
||||
mkHome = pkg: mkHomeWhen pkg (finalAttrs: previousAttrs: true);
|
||||
|
||||
mkHomeIfOlder =
|
||||
pkg: version:
|
||||
mkHomeWhen pkg (finalAttrs: previousAttrs: lib.versionOlder finalAttrs.version version);
|
||||
|
||||
mkHomeWhen =
|
||||
pkg: predicate:
|
||||
pkg.overrideAttrs (
|
||||
finalAttrs: previousAttrs: {
|
||||
preInstall =
|
||||
if predicate finalAttrs previousAttrs then
|
||||
''
|
||||
HOME=$(mktemp -d)
|
||||
''
|
||||
+ previousAttrs.preInstall or ""
|
||||
else
|
||||
previousAttrs.preInstall or null;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ in
|
||||
|
||||
{ lib, pkgs }: variant: self:
|
||||
let
|
||||
inherit (import ./lib-override-helper.nix pkgs)
|
||||
inherit (import ./lib-override-helper.nix pkgs lib)
|
||||
buildWithGit
|
||||
dontConfigure
|
||||
externalSrc
|
||||
|
||||
Reference in New Issue
Block a user