pineflash: init at 0.5.5 (#369458)

This commit is contained in:
Gaétan Lepage
2025-01-22 23:02:23 +01:00
committed by GitHub
2 changed files with 95 additions and 0 deletions
+7
View File
@@ -529,6 +529,13 @@
githubId = 124545;
name = "Anthony Cowley";
};
acuteaangle = {
name = "Summer Tea";
email = "zestypurple@protonmail.com";
github = "acuteaangle";
githubId = 79724236;
keys = [ { fingerprint = "46C0 9BA8 A20E 5C50 1E1E 0597 0B6D 17F7 2BC4 7F61"; } ];
};
acuteenvy = {
matrix = "@acuteenvy:matrix.org";
github = "acuteenvy";
+88
View File
@@ -0,0 +1,88 @@
{
lib,
stdenv,
fetchFromGitHub,
rustPlatform,
pkg-config,
autoPatchelfHook,
blisp,
dfu-util,
fontconfig,
glib,
gtk3,
openssl,
systemd,
libGL,
libxkbcommon,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
pname = "pineflash";
version = "0.5.5";
src = fetchFromGitHub {
owner = "Spagett1";
repo = "pineflash";
tag = version;
hash = "sha256-4tcwEok36vuXbtlZNUkLNw1kHFQPBEJM/gWRhRWNLPg=";
};
cargoHash = "sha256-l01It6mUflENlADW6PpOQvK1o4qOjbTsMLB6n+OIl0U=";
nativeBuildInputs = [
pkg-config
] ++ lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook;
buildInputs = [
blisp
dfu-util
fontconfig
glib
gtk3
openssl
systemd
];
runtimeDependencies = [
libGL
libxkbcommon
];
postPatch =
''
substituteInPlace src/submodules/flash.rs \
--replace-fail 'let command = Command::new("pkexec")' 'let command = Command::new("/run/wrappers/bin/pkexec")'
''
+ lib.optionalString stdenv.hostPlatform.isLinux ''
substituteInPlace src/submodules/flash.rs \
--replace-fail 'let blisppath = "blisp";' 'let blisppath = "${lib.getExe blisp}";' \
--replace-fail 'let dfupath = "dfu-util";' 'let dfupath = "${lib.getExe' dfu-util "dfu-util"}";'
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace src/submodules/flash.rs \
--replace-fail 'Command::new("blisp")' 'Command::new("${lib.getExe blisp}")' \
--replace-fail 'Command::new("dfu-util")' 'Command::new("${lib.getExe' dfu-util "dfu-util"}")'
'';
postInstall = ''
mkdir -p "$out/share/applications"
cp ./assets/Pineflash.desktop "$out/share/applications/Pineflash.desktop"
mkdir -p "$out/share/pixmaps"
cp ./assets/pine64logo.png "$out/share/pixmaps/pine64logo.png"
'';
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "GUI tool to flash IronOS to the Pinecil V1 and V2";
homepage = "https://github.com/Spagett1/pineflash";
changelog = "https://github.com/Spagett1/pineflash/releases/tag/${version}";
license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [
acuteaangle
];
mainProgram = "pineflash";
};
}