nixpkgs/pkgs/by-name/jw/jwhois/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

50 lines
1.4 KiB
Nix

{
lib,
stdenv,
fetchurl,
lynx,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "jwhois";
version = "4.0";
src = fetchurl {
url = "mirror://gnu/jwhois/jwhois-${finalAttrs.version}.tar.gz";
hash = "sha256-+pu4Z4K5FcbXMLtyP4dtybNFphfbN1qvNBbsIlU81k4=";
};
patches = [
./connect.patch
./service-name.patch
];
postPatch = ''
# avoids error on darwin where `-Werror=implicit-function-declaration` is set by default
sed 1i'void timeout_init();' -i src/jwhois.c
substituteInPlace example/jwhois.conf \
--replace-fail "/usr/bin/lynx" ${lib.getExe lynx}
'';
makeFlags = [ "AR=${stdenv.cc.bintools.targetPrefix}ar" ];
postInstall = ''
ln -s $out/bin/jwhois $out/bin/whois
'';
# Work around error from <stdio.h> on aarch64-darwin:
# error: 'TARGET_OS_IPHONE' is not defined, evaluates to 0 [-Werror,-Wundef-prefix=TARGET_OS_]
# TODO: this should probably be fixed at a lower level than this?
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-Wno-undef-prefix";
env.NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-liconv";
meta = {
description = "Client for the WHOIS protocol allowing you to query the owner of a domain name";
homepage = "https://www.gnu.org/software/jwhois/";
license = lib.licenses.gpl3Only;
platforms = lib.platforms.unix;
};
})