From 5f19b74d135449aebb43c8fe4ca2847b7ea37ef8 Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Mon, 21 Sep 2020 20:47:12 +0800 Subject: f3: clean-ups and compile on darwin (#98365) * f3: clean-ups and compile on darwin * fixed from feedback --- pkgs/tools/filesystems/f3/default.nix | 53 ++++++++++++++++++++++++----------- 1 file changed, 36 insertions(+), 17 deletions(-) diff --git a/pkgs/tools/filesystems/f3/default.nix b/pkgs/tools/filesystems/f3/default.nix index 3559579fe80..e8d60f835bf 100644 --- a/pkgs/tools/filesystems/f3/default.nix +++ b/pkgs/tools/filesystems/f3/default.nix @@ -1,13 +1,11 @@ -{ stdenv, fetchFromGitHub -, parted, udev +{ stdenv, lib, fetchFromGitHub +, parted, systemd ? null }: stdenv.mkDerivation rec { pname = "f3"; version = "7.2"; - enableParallelBuilding = true; - src = fetchFromGitHub { owner = "AltraMayor"; repo = pname; @@ -15,24 +13,45 @@ stdenv.mkDerivation rec { sha256 = "1iwdg0r4wkgc8rynmw1qcqz62l0ldgc8lrazq33msxnk5a818jgy"; }; - buildInputs = [ parted udev ]; + postPatch = '' + sed -i 's/-oroot -groot//' Makefile + + for f in f3write.h2w log-f3wr; do + substituteInPlace $f \ + --replace '$(dirname $0)' $out/bin + done + ''; + + buildInputs = [ + parted + ] + ++ lib.optional stdenv.isLinux systemd; + + enableParallelBuilding = true; + + buildFlags = [ + "all" # f3read, f3write + ] + ++ lib.optional stdenv.isLinux "extra"; # f3brew, f3fix, f3probe - patchPhase = "sed -i 's/-oroot -groot//' Makefile"; + installFlags = [ + "PREFIX=${placeholder "out"}" + ]; - buildFlags = [ "all" # f3read, f3write - "extra" # f3brew, f3fix, f3probe - ]; + installTargets = [ + "install" + ] + ++ lib.optional stdenv.isLinux "install-extra"; - installFlags = [ "PREFIX=$(out)" - "install" - "install-extra" - ]; + postInstall = '' + install -Dm555 -t $out/bin f3write.h2w log-f3wr + install -Dm444 -t $out/share/doc/${pname} LICENSE README.rst + ''; - meta = { + meta = with lib; { description = "Fight Flash Fraud"; homepage = "http://oss.digirati.com.br/f3/"; - license = stdenv.lib.licenses.gpl2; - platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ makefu ]; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ makefu ]; }; } -- cgit 1.4.1