First it fails to compile: popthelp.c:15:10: fatal error: sys/ioctl.h: No such file or directory 15 | #include <sys/ioctl.h> | ^~~~~~~~~~~~~ And then it does not want to link: /nix/store/k35kvfyhzhlpx71gf05zm6gy23alg571-x86_64-w64-mingw32-binutils-2.39/bin/x86_64-w64-mingw32-ld: .libs/popt.o: in function `execCommand': /build/popt-1.19/src/popt.c:521: undefined reference to `getuid' /nix/store/k35kvfyhzhlpx71gf05zm6gy23alg571-x86_64-w64-mingw32-binutils-2.39/bin/x86_64-w64-mingw32-ld: /build/popt-1.19/src/popt.c:521: undefined reference to `geteuid' /nix/store/k35kvfyhzhlpx71gf05zm6gy23alg571-x86_64-w64-mingw32-binutils-2.39/bin/x86_64-w64-mingw32-ld: /build/popt-1.19/src/popt.c:521: undefined reference to `getgid' /nix/store/k35kvfyhzhlpx71gf05zm6gy23alg571-x86_64-w64-mingw32-binutils-2.39/bin/x86_64-w64-mingw32-ld: /build/popt-1.19/src/popt.c:521: undefined reference to `getegid'
48 lines
1.4 KiB
Nix
48 lines
1.4 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchurl
|
|
, fetchpatch2
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "popt";
|
|
version = "1.19";
|
|
|
|
src = fetchurl {
|
|
url = "https://ftp.osuosl.org/pub/rpm/popt/releases/popt-1.x/popt-${version}.tar.gz";
|
|
sha256 = "sha256-wlpIOPyOTByKrLi9Yg7bMISj1jv4mH/a08onWMYyQPk=";
|
|
};
|
|
|
|
patches = lib.optionals stdenv.isCygwin [
|
|
./1.16-cygwin.patch
|
|
./1.16-vpath.patch
|
|
] ++ lib.optionals stdenv.hostPlatform.isMinGW [
|
|
# Do not require <sys/ioctl.h>
|
|
(fetchpatch2 {
|
|
url = "https://aur.archlinux.org/cgit/aur.git/plain/get-w32-console-maxcols.mingw32.patch?h=mingw-w64-popt&id=63f2cdb0de116362c49681cef20f7a8b4355e85a";
|
|
sha256 = "zv43l1RBqNzT/JG+jQaMVFaFv+ZYPuIiAtKUDzJJBbc=";
|
|
stripLen = 1;
|
|
extraPrefix = "src/";
|
|
})
|
|
|
|
# Do not try to detect setuid, it is not a thing.
|
|
(fetchpatch2 {
|
|
url = "https://github.com/rpm-software-management/popt/commit/905544c5d9767894edaf71a1e3ce5126944c5695.patch";
|
|
sha256 = "3PmcxeiEZ/Hof0zoVFSytEXvQ8gE8Sp5UdagExPVICU=";
|
|
stripLen = 1;
|
|
extraPrefix = "src/";
|
|
revert = true;
|
|
})
|
|
];
|
|
|
|
doCheck = false; # fails
|
|
|
|
meta = with lib; {
|
|
homepage = "https://github.com/rpm-software-management/popt";
|
|
description = "Command line option parsing library";
|
|
maintainers = with maintainers; [ qyliss ];
|
|
license = licenses.mit;
|
|
platforms = platforms.unix;
|
|
};
|
|
}
|