fatsort: fix build, cleanup, enable on darwin

This commit is contained in:
Pavol Rusnak 2022-11-20 11:57:10 +01:00
parent adbe2f532c
commit c4dca7438c
No known key found for this signature in database
GPG Key ID: 91F3B339B9A02A3D
2 changed files with 21 additions and 39 deletions

View File

@ -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;
};
}

View File

@ -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