nixpkgs/pkgs/tools/filesystems/fatsort/default.nix
Alyssa Ross 09e702a505
fatsort: fix build for cross FreeBSD
libiconv is already defined per-platform.  The actual libiconv library
won't be built on platforms like Linux where it doesn't need to be, so
there's no need to maintain a separate platform list here.

We have to override the uname values, or they'll be detected for the
build platform, because the build system just runs uname(1).

Tested by cross compiling to x86_64-freebsd from x86_64-linux.
2023-01-25 19:31:46 +00:00

43 lines
1.1 KiB
Nix

{ lib
, stdenv
, fetchurl
, help2man
, libiconv
}:
stdenv.mkDerivation rec {
version = "1.6.4.625";
pname = "fatsort";
src = fetchurl {
url = "mirror://sourceforge/fatsort/${pname}-${version}.tar.xz";
sha256 = "sha256-mm+JoGQLt4LYL/I6eAyfCuw9++RoLAqO2hV+CBBkLq0=";
};
buildInputs = [ help2man libiconv ];
makeFlags = [
"CC=${stdenv.cc.targetPrefix}cc"
"LD=${stdenv.cc.targetPrefix}cc"
"UNAME_O=${stdenv.hostPlatform.uname.system}"
"UNAME_S=${stdenv.hostPlatform.uname.system}"
];
# 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.gpl2Plus;
platforms = platforms.unix;
};
}