nixpkgs/pkgs/tools/misc/popsicle/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

74 lines
1.5 KiB
Nix
Raw Normal View History

{ stdenv
, fetchFromGitHub
, rustc
, cargo
, rustPlatform
, pkg-config
, dbus
, glib
, cairo
, pango
, atk
, lib
, gdk-pixbuf
, gtk3
}:
rustPlatform.buildRustPackage.override { stdenv = stdenv; } rec {
pname = "popsicle";
version = "unstable-2021-12-20";
src = fetchFromGitHub {
owner = "pop-os";
repo = pname;
rev = "b02ebf5f2e6c18777453ca9a144d69689a6fa901";
sha256 = "03ilhvnr4mwy7b8bipp616h16m2ilxzxz2zjpkzy3afwvh9bz1mx";
};
cargoSha256 = "1c54wxyrfxk5chnjhxw6vaznm7ff9dkx1rxlgp417jfygiwijjs4";
nativeBuildInputs = [ gtk3 pkg-config ];
buildInputs = [
gtk3
dbus
glib
cairo
pango
atk
gdk-pixbuf
];
# Use the stdenv default phases (./configure; make) instead of the
# ones from buildRustPackage.
configurePhase = "configurePhase";
buildPhase = "buildPhase";
checkPhase = "checkPhase";
installPhase = "installPhase";
postPatch = ''
# Have to do this here instead of in preConfigure because
# cargoDepsCopy gets unset after postPatch.
configureFlagsArray+=("RUST_VENDORED_SOURCES=$NIX_BUILD_TOP/$cargoDepsCopy")
'';
makeFlags = [
"PREFIX=${placeholder "out"}"
"DESTDIR=${placeholder "out"}"
];
postInstall = ''
# install man page, icon, etc...
mv $out/usr/local/* $out
rm -rf $out/usr
'';
meta = with lib; {
description = "Multiple USB File Flasher";
homepage = "https://github.com/pop-os/popsicle";
maintainers = with maintainers; [ _13r0ck ];
license = licenses.mit;
platforms = [ "aarch64-linux" "x86_64-linux" ];
};
}