push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
https://github.com/file/file/commit/218fdf813fd5ccecbb8887a1b62509cd1c6dd3a1.patch
From 218fdf813fd5ccecbb8887a1b62509cd1c6dd3a1 Mon Sep 17 00:00:00 2001
From: Christos Zoulas <christos@zoulas.com>
Date: Fri, 28 Jul 2023 14:38:25 +0000
Subject: [PATCH] deal with 32 bit time_t
---
src/file.h | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/file.h b/src/file.h
index 2e0494d2f..78f574ea1 100644
--- a/src/file.h
+++ b/src/file.h
@@ -27,7 +27,7 @@
*/
/*
* file.h - definitions for file(1) program
- * @(#)$File: file.h,v 1.247 2023/07/27 19:40:22 christos Exp $
+ * @(#)$File: file.h,v 1.248 2023/07/28 14:38:25 christos Exp $
*/
#ifndef __file_h__
@@ -159,9 +159,11 @@
/*
* Dec 31, 23:59:59 9999
* we need to make sure that we don't exceed 9999 because some libc
- * implementations like muslc crash otherwise
+ * implementations like muslc crash otherwise. If you are unlucky
+ * to be running on a system with a 32 bit time_t, then it is even less.
*/
-#define MAX_CTIME CAST(time_t, 0x3afff487cfULL)
+#define MAX_CTIME \
+ CAST(time_t, sizeof(time_t) > 4 ? 0x3afff487cfULL : 0x7fffffffULL)
#define FILE_BADSIZE CAST(size_t, ~0ul)
#define MAXDESC 64 /* max len of text description/MIME type */

View File

@@ -0,0 +1,74 @@
{
lib,
stdenv,
fetchurl,
file,
zlib,
libgnurx,
updateAutotoolsGnuConfigScriptsHook,
testers,
}:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation (finalAttrs: {
pname = "file";
version = "5.45";
src = fetchurl {
urls = [
"https://astron.com/pub/file/file-${finalAttrs.version}.tar.gz"
"https://distfiles.macports.org/file/file-${finalAttrs.version}.tar.gz"
];
hash = "sha256-/Jf1ECm7DiyfTjv/79r2ePDgOe6HK53lwAKm0Jx4TYI=";
};
outputs = [
"out"
"dev"
"man"
];
patches = [
# Upstream patch to fix 32-bit tests.
#
# It is included in 5.46+, but we are not updating to it or a later version until:
#
# https://bugs.astron.com/view.php?id=622
# https://bugs.astron.com/view.php?id=638
#
# are resolved. See also description of the 1st bug here:
#
# https://github.com/NixOS/nixpkgs/pull/402318#issuecomment-2881163359
./32-bit-time_t.patch
];
strictDeps = true;
enableParallelBuilding = true;
nativeBuildInputs = [
updateAutotoolsGnuConfigScriptsHook
]
++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) file;
buildInputs = [ zlib ] ++ lib.optional stdenv.hostPlatform.isMinGW libgnurx;
# https://bugs.astron.com/view.php?id=382
doCheck = !stdenv.buildPlatform.isMusl;
makeFlags = lib.optional stdenv.hostPlatform.isWindows "FILE_COMPILE=file";
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = with lib; {
homepage = "https://darwinsys.com/file";
description = "Program that shows the type of files";
maintainers = with maintainers; [ doronbehar ];
license = licenses.bsd2;
pkgConfigModules = [ "libmagic" ];
platforms = platforms.all;
mainProgram = "file";
};
})