summary refs log tree commit diff
path: root/pkgs/tools/filesystems/fatsort
diff options
context:
space:
mode:
authorPavol Rusnak <pavol@rusnak.io>2022-11-20 11:57:10 +0100
committerPavol Rusnak <pavol@rusnak.io>2022-11-20 11:59:12 +0100
commitc4dca7438cd60b69edd08e337b6a1fef535a3a27 (patch)
treef8b4aeefe4b916b5293561837bca4d8ad9522d0d /pkgs/tools/filesystems/fatsort
parentadbe2f532cbd8f41ebdcbd414c3ad537d218f669 (diff)
fatsort: fix build, cleanup, enable on darwin
Diffstat (limited to 'pkgs/tools/filesystems/fatsort')
-rw-r--r--pkgs/tools/filesystems/fatsort/default.nix26
-rw-r--r--pkgs/tools/filesystems/fatsort/fatsort-Makefiles.patch34
2 files changed, 21 insertions, 39 deletions
diff --git a/pkgs/tools/filesystems/fatsort/default.nix b/pkgs/tools/filesystems/fatsort/default.nix
index 6db496242d244..d01ebce489c8c 100644
--- a/pkgs/tools/filesystems/fatsort/default.nix
+++ b/pkgs/tools/filesystems/fatsort/default.nix
@@ -1,4 +1,9 @@
-{lib, stdenv, fetchurl, help2man}:
+{ lib
+, stdenv
+, fetchurl
+, help2man
+, libiconv
+}:
 
 stdenv.mkDerivation rec {
   version = "1.6.4.625";
@@ -9,17 +14,28 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-mm+JoGQLt4LYL/I6eAyfCuw9++RoLAqO2hV+CBBkLq0=";
   };
 
-  patches = [ ./fatsort-Makefiles.patch ];
+  buildInputs = [ help2man ]
+    ++ lib.optionals stdenv.isDarwin [ libiconv ];
 
-  buildInputs = [ help2man ];
+  makeFlags = [
+    "CC=${stdenv.cc.targetPrefix}cc"
+    "LD=${stdenv.cc.targetPrefix}cc"
+  ];
 
-  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+  # make install target is broken (DESTDIR usage is insane)
+  # it's easier to just skip make and install manually
+  installPhase = ''
+    runHook preInstall
+    install -D -m 755 ./src/fatsort   $out/bin/fatsort
+    install -D -m 644 ./man/fatsort.1 $out/man/man1/fatsort.1
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "http://fatsort.sourceforge.net/";
     description = "Sorts FAT partition table, for devices that don't do sorting of files";
     maintainers = [ maintainers.kovirobi ];
     license = licenses.gpl2;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/filesystems/fatsort/fatsort-Makefiles.patch b/pkgs/tools/filesystems/fatsort/fatsort-Makefiles.patch
deleted file mode 100644
index 51775edfb41d1..0000000000000
--- a/pkgs/tools/filesystems/fatsort/fatsort-Makefiles.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff -uNr fatsort-1.6.2.605.orig/Makefile fatsort-1.6.2.605.new/Makefile
---- fatsort-1.6.2.605.orig/Makefile	2019-11-16 16:40:27.000000000 +0100
-+++ fatsort-1.6.2.605.new/Makefile	2020-05-10 21:34:34.820874026 +0200
-@@ -1,4 +1,5 @@
--MANDIR=/usr/local/share/man/man1
-+PREFIX?=/usr/local
-+MANDIR=$(PREFIX)/share/man/man1
- 
- INSTALL_FLAGS=-m 0755 -p -D
- 
-diff -uNr fatsort-1.6.2.605.orig/src/Makefile fatsort-1.6.2.605.new/src/Makefile
---- fatsort-1.6.2.605.orig/src/Makefile	2018-11-17 00:40:59.000000000 +0100
-+++ fatsort-1.6.2.605.new/src/Makefile	2020-05-10 21:33:52.053391027 +0200
-@@ -30,7 +30,7 @@
- 		override CFLAGS += -D __CYGWIN__
- 		override CFLAGS += -D __LINUX__
- 		override LDFLAGS += -liconv
--		SBINDIR=/usr/local/sbin
-+		SBINDIR=$(PREFIX)/sbin
- 	endif
- else
- 	ifdef MINGW
-@@ -60,9 +60,9 @@
- 			# OS X's install does not support the '-D' flag.
- 			INSTALL_FLAGS=-m 0755 -p
- 			# Mac OS X does not have a "/usr/local/sbin"
--			SBINDIR=/usr/local/bin
-+			SBINDIR=$(PREFIX)/bin
- 		else
--			SBINDIR=/usr/local/sbin
-+			SBINDIR=$(PREFIX)/sbin
- 		endif
- 	endif
- endif