uefitoolPackages.new-engine: A62 -> A71
This commit upgrades uefiToolPackages.new-engine to the latest version as of writing. Version A68 is now using Qt6 and no longer comes with a custom build script, so the build logic compared to the old-engine variant has become sufficiently divergent that I decided that it would be easier to split them into two entirely different derivations. Additionally, I: - added myself as a maintainer - added a patch that allows the new-engine variant to build on Darwin - correctly set `mainProgram` in the old-engine variant
This commit is contained in:
parent
0845149344
commit
c570df851d
17
pkgs/tools/system/uefitool/bundle-destination.patch
Normal file
17
pkgs/tools/system/uefitool/bundle-destination.patch
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
UEFITool/CMakeLists.txt | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/UEFITool/CMakeLists.txt b/UEFITool/CMakeLists.txt
|
||||||
|
index aef60d0..98723ac 100644
|
||||||
|
--- a/UEFITool/CMakeLists.txt
|
||||||
|
+++ b/UEFITool/CMakeLists.txt
|
||||||
|
@@ -143,4 +143,4 @@ IF(UNIX AND (NOT APPLE) AND (NOT CYGWIN))
|
||||||
|
INSTALL(FILES uefitool.desktop DESTINATION share/applications)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
-INSTALL(TARGETS UEFITool BUNDLE DESTINATION "/Applications" )
|
||||||
|
+INSTALL(TARGETS UEFITool BUNDLE DESTINATION "Applications" )
|
||||||
|
--
|
||||||
|
2.40.1
|
||||||
|
|
||||||
38
pkgs/tools/system/uefitool/new-engine.nix
Normal file
38
pkgs/tools/system/uefitool/new-engine.nix
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
|
qtbase,
|
||||||
|
cmake,
|
||||||
|
wrapQtAppsHook,
|
||||||
|
zip,
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "uefitool";
|
||||||
|
version = "A71";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
hash = "sha256-NRlrKm5+eED6oyvFRSEhn0EUbMsPJtuFAyv3vgY/IUI=";
|
||||||
|
owner = "LongSoft";
|
||||||
|
repo = "uefitool";
|
||||||
|
tag = finalAttrs.version;
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ qtbase ];
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
zip
|
||||||
|
wrapQtAppsHook
|
||||||
|
];
|
||||||
|
patches = lib.optionals stdenv.isDarwin [ ./bundle-destination.patch ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "UEFI firmware image viewer and editor";
|
||||||
|
homepage = "https://github.com/LongSoft/uefitool";
|
||||||
|
license = lib.licenses.bsd2;
|
||||||
|
maintainers = with lib.maintainers; [ athre0z ];
|
||||||
|
platforms = lib.platforms.unix;
|
||||||
|
mainProgram = "uefitool";
|
||||||
|
};
|
||||||
|
})
|
||||||
@ -1,8 +1,3 @@
|
|||||||
{
|
|
||||||
version,
|
|
||||||
sha256,
|
|
||||||
installFiles,
|
|
||||||
}:
|
|
||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
mkDerivation,
|
mkDerivation,
|
||||||
@ -14,19 +9,14 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
passthru = {
|
|
||||||
inherit version;
|
|
||||||
inherit sha256;
|
|
||||||
inherit installFiles;
|
|
||||||
};
|
|
||||||
pname = "uefitool";
|
pname = "uefitool";
|
||||||
inherit version;
|
version = "0.28.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
inherit sha256;
|
hash = "sha256-StqrOMsKst2X2yQQ/Xl7iLAuA4QXEOyj2KtE7ZtoUNg=";
|
||||||
owner = "LongSoft";
|
owner = "LongSoft";
|
||||||
repo = pname;
|
repo = "uefitool";
|
||||||
rev = version;
|
tag = version;
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ qtbase ];
|
buildInputs = [ qtbase ];
|
||||||
@ -43,15 +33,16 @@ mkDerivation rec {
|
|||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p "$out"/bin
|
mkdir -p "$out"/bin
|
||||||
cp ${lib.concatStringsSep " " installFiles} "$out"/bin
|
cp UEFITool UEFIReplace/UEFIReplace UEFIPatch/UEFIPatch "$out"/bin
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
description = "UEFI firmware image viewer and editor";
|
description = "UEFI firmware image viewer and editor";
|
||||||
homepage = "https://github.com/LongSoft/uefitool";
|
homepage = "https://github.com/LongSoft/uefitool";
|
||||||
license = licenses.bsd2;
|
license = lib.licenses.bsd2;
|
||||||
maintainers = [ ];
|
maintainers = with lib.maintainers; [ athre0z ];
|
||||||
# uefitool supposedly works on other platforms, but their build script only works on linux in nixpkgs
|
# uefitool supposedly works on other platforms, but their build script only works on linux in nixpkgs
|
||||||
platforms = platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
|
mainProgram = "UEFITool";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -1,24 +1,5 @@
|
|||||||
{ libsForQt5 }:
|
{ libsForQt5, qt6Packages }:
|
||||||
let
|
{
|
||||||
common = opts: libsForQt5.callPackage (import ./common.nix opts) { };
|
new-engine = qt6Packages.callPackage ./new-engine.nix { };
|
||||||
in
|
old-engine = libsForQt5.callPackage ./old-engine.nix { };
|
||||||
rec {
|
|
||||||
new-engine = common {
|
|
||||||
version = "A62";
|
|
||||||
sha256 = "sha256-U89j0BV57luv1c9hoYJtisKLxFezuaGFokZ29/NJ0xg=";
|
|
||||||
installFiles = [
|
|
||||||
"build/UEFITool/UEFITool"
|
|
||||||
"build/UEFIFind/UEFIFind"
|
|
||||||
"build/UEFIExtract/UEFIExtract"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
old-engine = common rec {
|
|
||||||
version = "0.28.0";
|
|
||||||
sha256 = "1n2hd2dysi5bv2iyq40phh1jxc48gdwzs414vfbxvcharcwapnja";
|
|
||||||
installFiles = [
|
|
||||||
"UEFITool"
|
|
||||||
"UEFIReplace/UEFIReplace"
|
|
||||||
"UEFIPatch/UEFIPatch"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user