Improve backport function, backport prismlauncher

This commit is contained in:
NullBite 2024-03-30 02:56:42 -04:00
parent 33f5a3db37
commit 2dc5c91c70
Signed by: nullbite
GPG Key ID: 6C4D545385D4925A

View File

@ -1,20 +1,43 @@
nixfiles: final: prev: nixfiles: final: prev:
let let
pkgs-unstable = import nixfiles.inputs.nixpkgs-unstable { config.allowUnfree = true; inherit (final) system; }; pkgs-unstable = import nixfiles.inputs.nixpkgs-unstable { config.allowUnfree = true; inherit (final) system; };
inherit (final) callPackage lib electron_28; inherit (final) callPackage qt6Packages lib;
backport = pkg: let backport = let
_callPackage = callPackage;
in { pkgname,
callPackage ? _callPackage,
new ? pkgs-unstable,
override ? {} } : let
inherit (lib) getAttrFromPath; inherit (lib) getAttrFromPath;
inherit (builtins) getAttr isString; inherit (builtins) getAttr isString;
getAttr' = name: attrs: if isString pkg then getAttr name attrs else getAttrFromPath name attrs;
oldPkg = getAttr' pkg prev; getAttr' = name: attrs: if isString pkgname then getAttr name attrs else getAttrFromPath name attrs;
newPkg = getAttr' pkg pkgs-unstable; oldPkg = getAttr' pkgname prev;
newPkg = getAttr' pkgname pkgs-unstable;
in if oldPkg.version == newPkg.version in if oldPkg.version == newPkg.version
then oldPkg then oldPkg
else (callPackage newPkg.override); else (callPackage newPkg.override) override;
backport' = pkgname: backport { inherit pkgname; };
# defined locally to not pull in perl from unstable
stripJavaArchivesHook = final.makeSetupHook {
name = "strip-java-archives-hook";
propagatedBuildInputs = [ final.strip-nondeterminism ];
} "${nixfiles.inputs.nixpkgs-unstable}/pkgs/build-support/setup-hooks/strip-java-archives.sh";
in { in {
vesktop = backport' "vesktop";
vesktop = backport "vesktop" { }; obsidian = backport { pkgname="obsidian"; override.electron = final.electron_28; };
obsidian = backport "obsidian" { electron = final.electron_28; }; prismlauncher-unwrapped = backport {
pkgname = "prismlauncher-unwrapped";
inherit (qt6Packages) callPackage;
override = {
# apple something idk why the package doesn't just ask for darwin and get it itself
# maybe i should make a pull request that changes the params to `darwin, Cocoa ? darwin.apple_sdk.frameworks.Cocoa`
inherit (final.darwin.apple_sdk.frameworks) Cocoa;
inherit stripJavaArchivesHook;
};
};
} }