turnon: 1.6.1 -> 1.6.2 (#364647)
[NixPkgs.git] / pkgs / tools / misc / file / default.nix
blob6213406244270f29e983556a342b89da7a76e58e
2   lib,
3   stdenv,
4   fetchurl,
5   file,
6   zlib,
7   libgnurx,
8   updateAutotoolsGnuConfigScriptsHook,
9   testers,
12 # Note: this package is used for bootstrapping fetchurl, and thus
13 # cannot use fetchpatch! All mutable patches (generated by GitHub or
14 # cgit) that are needed here should be included directly in Nixpkgs as
15 # files.
17 stdenv.mkDerivation (finalAttrs: {
18   pname = "file";
19   version = "5.45";
21   src = fetchurl {
22     urls = [
23       "https://astron.com/pub/file/file-${finalAttrs.version}.tar.gz"
24       "https://distfiles.macports.org/file/file-${finalAttrs.version}.tar.gz"
25     ];
26     hash = "sha256-/Jf1ECm7DiyfTjv/79r2ePDgOe6HK53lwAKm0Jx4TYI=";
27   };
29   outputs = [
30     "out"
31     "dev"
32     "man"
33   ];
35   patches = [
36     # Upstream patch to fix 32-bit tests.
37     # Will be included in 5.46+ releases.
38     ./32-bit-time_t.patch
39   ];
41   strictDeps = true;
42   enableParallelBuilding = true;
44   nativeBuildInputs = [
45     updateAutotoolsGnuConfigScriptsHook
46   ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) file;
47   buildInputs = [ zlib ] ++ lib.optional stdenv.hostPlatform.isWindows libgnurx;
49   # https://bugs.astron.com/view.php?id=382
50   doCheck = !stdenv.buildPlatform.isMusl;
52   makeFlags = lib.optional stdenv.hostPlatform.isWindows "FILE_COMPILE=file";
54   passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
56   meta = with lib; {
57     homepage = "https://darwinsys.com/file";
58     description = "Program that shows the type of files";
59     maintainers = with maintainers; [ doronbehar ];
60     license = licenses.bsd2;
61     pkgConfigModules = [ "libmagic" ];
62     platforms = platforms.all;
63     mainProgram = "file";
64   };