Merge pull request #266557 from anthonyroussel/updates/gnulib

gnulib: 20210702 -> 20231109
This commit is contained in:
7c6f434c 2023-11-12 10:21:00 +00:00 committed by GitHub
commit a6c91afcec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 90 additions and 23 deletions

View File

@ -1,13 +1,13 @@
{ lib, stdenv, fetchgit, python3 }:
{ lib, stdenv, fetchFromSavannah, python3 }:
stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "gnulib";
version = "20210702";
version = "20231109";
src = fetchgit {
url = "https://git.savannah.gnu.org/r/gnulib.git";
rev = "901694b904cd861adc2529b2e05a3fb33f9b534f";
sha256 = "1f5znlv2wjziglw9vlygdgm4jfbsz34h2dz6w4h90bl4hm0ycb1w";
src = fetchFromSavannah {
repo = "gnulib";
rev = "2dd1a7984c6b3e6056cef7e3f9933e0039c21634";
hash = "sha256-QtWf3mljEnr0TTogkoKN63Y5HTm14A2e/sIXX3xe2SE=";
};
postPatch = ''
@ -40,6 +40,7 @@ stdenv.mkDerivation {
meta = with lib; {
description = "Central location for code to be shared among GNU packages";
homepage = "https://www.gnu.org/software/gnulib/";
changelog = "https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=ChangeLog";
license = licenses.gpl3Plus;
mainProgram = "gnulib-tool";
platforms = platforms.unix;

View File

@ -27,6 +27,10 @@ stdenv.mkDerivation rec {
sha256 = "0a5024vimpfrpj6w60j1ad8qvjkrmxiy8w1yijxfwk917ag9rkpq";
};
patches = [
./fix-config_h-includes-should-be-first.patch
];
postPatch = ''
substituteInPlace configure.ac \
--replace "AC_PREREQ([2.62])" "AC_PREREQ([2.64])"
@ -59,8 +63,8 @@ stdenv.mkDerivation rec {
meta = {
inherit version;
description = "A command-line tool to print idle time from libXss";
homepage = "http://taktoa.me/xprintidle-ng/";
license = lib.licenses.gpl2;
homepage = "https://github.com/taktoa/xprintidle-ng";
license = lib.licenses.gpl2Only;
maintainers = [ lib.maintainers.raskin ];
platforms = lib.platforms.linux;
};

View File

@ -0,0 +1,62 @@
Fixes the config.h include error during build:
```console
In file included from src/xprintidle-ng.c:36:
lib/time.h:28:3: error: #error "Please include config.h first."
28 | #error "Please include config.h first."
| ^~~~~
```
Introduced since gnulib upgrade:
* https://github.com/coreutils/gnulib/commit/8ad7bc6
* https://lists.gnu.org/archive/html/bug-gnulib/2023-04/msg00088.html
* https://www.gnu.org/software/gnulib/manual/html_node/Source-changes.html
The last version of gnulib now checks that config.h is the first include
in every compilation unit.
This is not the case with the xprintidle-ng source code, so this patch
moves these `config.h` inclusions to be first.
---
src/time-format.c | 2 +-
src/xprintidle-ng.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/time-format.c b/src/time-format.c
index 3a46749..4c0a4d2 100644
--- a/src/time-format.c
+++ b/src/time-format.c
@@ -18,10 +18,10 @@
// 51 Franklin Street, Fifth Floor
// Boston, MA 02110-1301, USA.
+#include <config.h>
#include <stdbool.h>
#include <signal.h>
#include <time.h>
-#include <config.h>
#include "system.h"
#include "xalloc.h"
diff --git a/src/xprintidle-ng.c b/src/xprintidle-ng.c
index 5156adf..ca69b2d 100644
--- a/src/xprintidle-ng.c
+++ b/src/xprintidle-ng.c
@@ -28,13 +28,13 @@
// Eivind Magnus Hvidevold <hvidevold@gmail.com>.
// kpowersave is licensed under the GNU GPL, version 2 _only_.
+#include <config.h>
#include <X11/Xlib.h>
#include <X11/extensions/dpms.h>
#include <X11/extensions/scrnsaver.h>
#include <stdbool.h>
#include <signal.h>
#include <time.h>
-#include <config.h>
#include "system.h"
#include "errno.h"
#include "error.h"
--
2.42.0

View File

@ -1,4 +1,4 @@
{ fetchurl, lib, stdenv, emacs, gnulib, autoconf, bison, automake, gettext, gperf, texinfo, perl, rsync}:
{ fetchurl, lib, stdenv, emacs, gnulib, autoconf, bison, automake, gettext, gperf, texinfo, perl, rsync, darwin }:
stdenv.mkDerivation rec {
pname = "idutils";
@ -16,7 +16,12 @@ stdenv.mkDerivation rec {
./bootstrap --force --gnulib-srcdir=${gnulib} --skip-po --bootstrap-sync --no-git
'';
buildInputs = lib.optional stdenv.isLinux emacs;
buildInputs = lib.optionals stdenv.isLinux [
emacs
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreServices
];
nativeBuildInputs = [ gnulib autoconf bison automake gettext gperf texinfo perl rsync ];
doCheck = !stdenv.isDarwin;

View File

@ -10,6 +10,7 @@
# libraries
, brotli
, bzip2
, darwin
, gpgme
, libhsts
, libidn2
@ -65,7 +66,11 @@ stdenv.mkDerivation rec {
xz
zlib
zstd
] ++ lib.optional sslSupport openssl;
] ++ lib.optionals sslSupport [
openssl
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreServices
];
# TODO: include translation files
autoreconfPhase = ''

View File

@ -14949,17 +14949,7 @@ with pkgs;
wget = callPackage ../tools/networking/wget { };
wget2 = callPackage ../tools/networking/wget2 {
# update breaks grub2
gnulib = pkgs.gnulib.overrideAttrs {
version = "20210208";
src = fetchgit {
url = "https://git.savannah.gnu.org/r/gnulib.git";
rev = "0b38e1d69f03d3977d7ae7926c1efeb461a8a971";
hash = "sha256-9z/Vg3/g5WRWHH9I0QR6BZ5JCJBo+lEMLAM6xpFPchk=";
};
};
};
wget2 = callPackage ../tools/networking/wget2 { };
wgpu-utils = callPackage ../tools/graphics/wgpu-utils {
inherit (darwin.apple_sdk.frameworks) QuartzCore;