Unverified Commit c4dca743 authored by Pavol Rusnak's avatar Pavol Rusnak
Browse files

fatsort: fix build, cleanup, enable on darwin

parent adbe2f53
Loading
Loading
Loading
Loading
+21 −5
Original line number Diff line number Diff line
{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;
  };
}
+0 −34
Original line number Diff line number Diff line
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