From 7ecc2e3d2badbd1f8f28f4b0ff283b8a2253acd0 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 18 Dec 2021 02:03:11 -0500 Subject: gnu: shadow: Update to 4.9. * gnu/packages/admin.scm (shadow): Update to 4.9. [source]: Remove hurd patch, merged upstream. [phases]{fix-linking-to-pam}: New phase. * gnu/packages/patches/shadow-hurd-pctrl.patch: Delete file. * gnu/local.mk (dist_patch_DATA): De-register it. --- gnu/packages/patches/shadow-hurd-pctrl.patch | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 gnu/packages/patches/shadow-hurd-pctrl.patch (limited to 'gnu/packages/patches') diff --git a/gnu/packages/patches/shadow-hurd-pctrl.patch b/gnu/packages/patches/shadow-hurd-pctrl.patch deleted file mode 100644 index 2e376e19a9..0000000000 --- a/gnu/packages/patches/shadow-hurd-pctrl.patch +++ /dev/null @@ -1,16 +0,0 @@ -Avoid including sys/prctl.h on the Hurd. - -Upstream status: Not submitted. - ---- shadow-4.8.1/libmisc/idmapping.c.orig 2020-03-07 16:32:05.000000000 -0500 -+++ shadow-4.8.1/libmisc/idmapping.c 2020-03-07 16:32:27.000000000 -0500 -@@ -36,8 +36,8 @@ - #include - #include "prototypes.h" - #include "idmapping.h" --#include - #if HAVE_SYS_CAPABILITY_H -+#include - #include - #endif - -- cgit v1.2.3 From b78f0cbff4a5243d7bf2d6fc62c810d8f85b82a4 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 19 Dec 2021 23:37:26 -0500 Subject: gnu: gtk: Update to 4.4.1. * gnu/packages/patches/gtk-introspection-test.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/gtk.scm (gtk): Update to 4.4.1. [origin]: Apply new patch. [phases]{pre-check}: Set TZDIR. [native-inputs]: Add graphene, python-pygobject and tzdata. --- gnu/local.mk | 5 +++-- gnu/packages/gtk.scm | 17 ++++++++++++----- gnu/packages/patches/gtk-introspection-test.patch | 22 ++++++++++++++++++++++ 3 files changed, 37 insertions(+), 7 deletions(-) create mode 100644 gnu/packages/patches/gtk-introspection-test.patch (limited to 'gnu/packages/patches') diff --git a/gnu/local.mk b/gnu/local.mk index aa679ee6c7..86c1e57aa4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1232,8 +1232,9 @@ dist_patch_DATA = \ %D%/packages/patches/gtk2-theme-paths.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \ - %D%/packages/patches/gtk-doc-respect-xml-catalog.patch \ - %D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \ + %D%/packages/patches/gtk-doc-respect-xml-catalog.patch \ + %D%/packages/patches/gtk-introspection-test.patch \ + %D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \ %D%/packages/patches/gtkglext-disable-disable-deprecated.patch \ %D%/packages/patches/gtksourceview-2-add-default-directory.patch \ %D%/packages/patches/gzdoom-search-in-installed-share.patch \ diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 77b348d18d..58e428c921 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1059,7 +1059,7 @@ application suites.") (define-public gtk (package (name "gtk") - (version "4.2.1") + (version "4.4.1") (source (origin (method url-fetch) @@ -1067,9 +1067,10 @@ application suites.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "1rh9fd5axf79pmd93hb2fmmflic5swcvqvq6vqghlgz4bmvnjc82")) + (base32 "1x6xlc063nqp7cg6py4kq1kpw9pkq49ifk5kki0brc667ncdmahg")) (patches - (search-patches "gtk4-respect-GUIX_GTK4_PATH.patch")))) + (search-patches "gtk4-respect-GUIX_GTK4_PATH.patch" + "gtk-introspection-test.patch")))) (build-system meson-build-system) (outputs '("out" "bin" "doc")) (arguments @@ -1122,7 +1123,7 @@ application suites.") (lambda _ (setenv "XDG_CACHE_HOME" (getcwd)))) (add-before 'check 'pre-check - (lambda _ + (lambda* (#:key inputs #:allow-other-keys) ;; Tests require a running X server. (system "Xvfb :1 +extension GLX &") (setenv "DISPLAY" ":1") @@ -1131,7 +1132,10 @@ application suites.") ;; Tests look for those variables. (setenv "XDG_RUNTIME_DIR" (getcwd)) ;; For missing '/etc/machine-id'. - (setenv "DBUS_FATAL_WARNINGS" "0"))) + (setenv "DBUS_FATAL_WARNINGS" "0") + ;; Required for the calendar test. + (setenv "TZDIR" (search-input-directory inputs + "share/zoneinfo")))) (add-after 'install 'move-files (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -1166,10 +1170,12 @@ application suites.") ("gettext-minimal" ,gettext-minimal) ("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ;for building introspection data + ("graphene" ,graphene) ("gtk-doc" ,gtk-doc) ;for building documentation ("intltool" ,intltool) ("libxslt" ,libxslt) ;for building man-pages ("pkg-config" ,pkg-config) + ("python-pygobject" ,python-pygobject) ;; These python modules are required for building documentation. ("python-jinja2" ,python-jinja2) ("python-markdown" ,python-markdown) @@ -1178,6 +1184,7 @@ application suites.") ("python-toml" ,python-toml) ("python-typogrify" ,python-typogrify) ("sassc" ,sassc) ;for building themes + ("tzdata" ,tzdata-for-tests) ("vala" ,vala) ("xorg-server-for-tests" ,xorg-server-for-tests))) (inputs diff --git a/gnu/packages/patches/gtk-introspection-test.patch b/gnu/packages/patches/gtk-introspection-test.patch new file mode 100644 index 0000000000..570ea806a9 --- /dev/null +++ b/gnu/packages/patches/gtk-introspection-test.patch @@ -0,0 +1,22 @@ +# Extend rather than stomp environment variables. +# Upstream status: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4268 +diff --git a/testsuite/introspection/meson.build b/testsuite/introspection/meson.build +index 6202fb7446..b59191eb0f 100644 +--- a/testsuite/introspection/meson.build ++++ b/testsuite/introspection/meson.build +@@ -1,9 +1,10 @@ ++env = environment() ++env.prepend('GI_TYPELIB_PATH', ++ join_paths(project_build_root, 'gtk'), ++ gi_dep.get_pkgconfig_variable('typelibdir')) ++env.prepend('LD_PRELOAD', join_paths(project_build_root, 'gtk', 'libgtk-4.so')) + + test('api', + find_program('api.py', dirs: meson.current_source_dir()), + suite: ['introspection'], +- env: [ +- 'GI_TYPELIB_PATH=@0@/gtk:@1@'.format(project_build_root, +- gi_dep.get_pkgconfig_variable('typelibdir')), +- 'LD_PRELOAD=@0@/gtk/libgtk-4.so'.format(project_build_root), +- ]) ++ env: env) -- cgit v1.2.3 From 8636d0295557e0052c3195dbf878efcee476cabc Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 24 Dec 2021 13:16:54 -0500 Subject: gnu: binutils: Fix CVE-2021-45078. This is for the release branch. Should we also use a graft for the master branch? It would be even better if we could add a binutils-next package that users could install, in my opinion. * gnu/packages/patches/binutils-CVE-2021-45078.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/base.scm (binutils)[source]: Use it. Signed-off-by: Maxim Cournoyer --- gnu/local.mk | 1 + gnu/packages/base.scm | 3 +- gnu/packages/patches/binutils-CVE-2021-45078.patch | 257 +++++++++++++++++++++ 3 files changed, 260 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/binutils-CVE-2021-45078.patch (limited to 'gnu/packages/patches') diff --git a/gnu/local.mk b/gnu/local.mk index 86c1e57aa4..2e46fac7f7 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -908,6 +908,7 @@ dist_patch_DATA = \ %D%/packages/patches/binutils-loongson-workaround.patch \ %D%/packages/patches/binutils-mingw-w64-timestamp.patch \ %D%/packages/patches/binutils-mingw-w64-deterministic.patch \ + %D%/packages/patches/binutils-CVE-2021-45078.patch \ %D%/packages/patches/bpftrace-disable-bfd-disasm.patch \ %D%/packages/patches/byobu-writable-status.patch \ %D%/packages/patches/cabal-install-base16-bytestring1.0.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 73bdf16ea5..a422d64046 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -521,7 +521,8 @@ change. GNU make offers many powerful extensions over the standard utility.") (sha256 (base32 "1m3b2rdfv1dmdpd0bzg1hy7i8a2qng53szc6livyi3nh6101mz37")) (patches (search-patches "binutils-loongson-workaround.patch" - "binutils-2.37-file-descriptor-leak.patch")))) + "binutils-2.37-file-descriptor-leak.patch" + "binutils-CVE-2021-45078.patch")))) (build-system gnu-build-system) (arguments `(#:out-of-source? #t ;recommended in the README diff --git a/gnu/packages/patches/binutils-CVE-2021-45078.patch b/gnu/packages/patches/binutils-CVE-2021-45078.patch new file mode 100644 index 0000000000..fca692bdb5 --- /dev/null +++ b/gnu/packages/patches/binutils-CVE-2021-45078.patch @@ -0,0 +1,257 @@ +Fix CVE-2021-45078 (incomplete fix for CVE-2018-12699): + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-45078 +https://sourceware.org/bugzilla/show_bug.cgi?id=28694 + +Patch copied from upstream source repository: + +https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=161e87d12167b1e36193385485c1f6ce92f74f02 + +From 161e87d12167b1e36193385485c1f6ce92f74f02 Mon Sep 17 00:00:00 2001 +From: Alan Modra +Date: Wed, 15 Dec 2021 11:48:42 +1030 +Subject: [PATCH] PR28694, Out-of-bounds write in stab_xcoff_builtin_type + + PR 28694 + * stabs.c (stab_xcoff_builtin_type): Make typenum unsigned. + Negate typenum earlier, simplifying bounds checking. Correct + off-by-one indexing. Adjust switch cases. +--- + binutils/stabs.c | 87 ++++++++++++++++++++++++------------------------ + 1 file changed, 43 insertions(+), 44 deletions(-) + +diff --git a/binutils/stabs.c b/binutils/stabs.c +index 274bfb0e7fa..83ee3ea5fa4 100644 +--- a/binutils/stabs.c ++++ b/binutils/stabs.c +@@ -202,7 +202,7 @@ static debug_type stab_find_type (void *, struct stab_handle *, const int *); + static bool stab_record_type + (void *, struct stab_handle *, const int *, debug_type); + static debug_type stab_xcoff_builtin_type +- (void *, struct stab_handle *, int); ++ (void *, struct stab_handle *, unsigned int); + static debug_type stab_find_tagged_type + (void *, struct stab_handle *, const char *, int, enum debug_type_kind); + static debug_type *stab_demangle_argtypes +@@ -3496,166 +3496,167 @@ stab_record_type (void *dhandle ATTRIBUTE_UNUSED, struct stab_handle *info, + + static debug_type + stab_xcoff_builtin_type (void *dhandle, struct stab_handle *info, +- int typenum) ++ unsigned int typenum) + { + debug_type rettype; + const char *name; + +- if (typenum >= 0 || typenum < -XCOFF_TYPE_COUNT) ++ typenum = -typenum - 1; ++ if (typenum >= XCOFF_TYPE_COUNT) + { +- fprintf (stderr, _("Unrecognized XCOFF type %d\n"), typenum); ++ fprintf (stderr, _("Unrecognized XCOFF type %d\n"), -typenum - 1); + return DEBUG_TYPE_NULL; + } +- if (info->xcoff_types[-typenum] != NULL) +- return info->xcoff_types[-typenum]; ++ if (info->xcoff_types[typenum] != NULL) ++ return info->xcoff_types[typenum]; + +- switch (-typenum) ++ switch (typenum) + { +- case 1: ++ case 0: + /* The size of this and all the other types are fixed, defined + by the debugging format. */ + name = "int"; + rettype = debug_make_int_type (dhandle, 4, false); + break; +- case 2: ++ case 1: + name = "char"; + rettype = debug_make_int_type (dhandle, 1, false); + break; +- case 3: ++ case 2: + name = "short"; + rettype = debug_make_int_type (dhandle, 2, false); + break; +- case 4: ++ case 3: + name = "long"; + rettype = debug_make_int_type (dhandle, 4, false); + break; +- case 5: ++ case 4: + name = "unsigned char"; + rettype = debug_make_int_type (dhandle, 1, true); + break; +- case 6: ++ case 5: + name = "signed char"; + rettype = debug_make_int_type (dhandle, 1, false); + break; +- case 7: ++ case 6: + name = "unsigned short"; + rettype = debug_make_int_type (dhandle, 2, true); + break; +- case 8: ++ case 7: + name = "unsigned int"; + rettype = debug_make_int_type (dhandle, 4, true); + break; +- case 9: ++ case 8: + name = "unsigned"; + rettype = debug_make_int_type (dhandle, 4, true); + break; +- case 10: ++ case 9: + name = "unsigned long"; + rettype = debug_make_int_type (dhandle, 4, true); + break; +- case 11: ++ case 10: + name = "void"; + rettype = debug_make_void_type (dhandle); + break; +- case 12: ++ case 11: + /* IEEE single precision (32 bit). */ + name = "float"; + rettype = debug_make_float_type (dhandle, 4); + break; +- case 13: ++ case 12: + /* IEEE double precision (64 bit). */ + name = "double"; + rettype = debug_make_float_type (dhandle, 8); + break; +- case 14: ++ case 13: + /* This is an IEEE double on the RS/6000, and different machines + with different sizes for "long double" should use different + negative type numbers. See stabs.texinfo. */ + name = "long double"; + rettype = debug_make_float_type (dhandle, 8); + break; +- case 15: ++ case 14: + name = "integer"; + rettype = debug_make_int_type (dhandle, 4, false); + break; +- case 16: ++ case 15: + name = "boolean"; + rettype = debug_make_bool_type (dhandle, 4); + break; +- case 17: ++ case 16: + name = "short real"; + rettype = debug_make_float_type (dhandle, 4); + break; +- case 18: ++ case 17: + name = "real"; + rettype = debug_make_float_type (dhandle, 8); + break; +- case 19: ++ case 18: + /* FIXME */ + name = "stringptr"; + rettype = NULL; + break; +- case 20: ++ case 19: + /* FIXME */ + name = "character"; + rettype = debug_make_int_type (dhandle, 1, true); + break; +- case 21: ++ case 20: + name = "logical*1"; + rettype = debug_make_bool_type (dhandle, 1); + break; +- case 22: ++ case 21: + name = "logical*2"; + rettype = debug_make_bool_type (dhandle, 2); + break; +- case 23: ++ case 22: + name = "logical*4"; + rettype = debug_make_bool_type (dhandle, 4); + break; +- case 24: ++ case 23: + name = "logical"; + rettype = debug_make_bool_type (dhandle, 4); + break; +- case 25: ++ case 24: + /* Complex type consisting of two IEEE single precision values. */ + name = "complex"; + rettype = debug_make_complex_type (dhandle, 8); + break; +- case 26: ++ case 25: + /* Complex type consisting of two IEEE double precision values. */ + name = "double complex"; + rettype = debug_make_complex_type (dhandle, 16); + break; +- case 27: ++ case 26: + name = "integer*1"; + rettype = debug_make_int_type (dhandle, 1, false); + break; +- case 28: ++ case 27: + name = "integer*2"; + rettype = debug_make_int_type (dhandle, 2, false); + break; +- case 29: ++ case 28: + name = "integer*4"; + rettype = debug_make_int_type (dhandle, 4, false); + break; +- case 30: ++ case 29: + /* FIXME */ + name = "wchar"; + rettype = debug_make_int_type (dhandle, 2, false); + break; +- case 31: ++ case 30: + name = "long long"; + rettype = debug_make_int_type (dhandle, 8, false); + break; +- case 32: ++ case 31: + name = "unsigned long long"; + rettype = debug_make_int_type (dhandle, 8, true); + break; +- case 33: ++ case 32: + name = "logical*8"; + rettype = debug_make_bool_type (dhandle, 8); + break; +- case 34: ++ case 33: + name = "integer*8"; + rettype = debug_make_int_type (dhandle, 8, false); + break; +@@ -3664,9 +3665,7 @@ stab_xcoff_builtin_type (void *dhandle, struct stab_handle *info, + } + + rettype = debug_name_type (dhandle, name, rettype); +- +- info->xcoff_types[-typenum] = rettype; +- ++ info->xcoff_types[typenum] = rettype; + return rettype; + } + +-- +2.27.0 + -- cgit v1.2.3 From 6ba510d76d6847065be725e958718002f3b13c7a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 11 Jan 2022 11:48:37 +0200 Subject: gnu: libtool: Skip the nopic tests on riscv. * gnu/packages/patches/libtool-skip-tests2.patch: Adjust to add riscv to skipped nopic tests. --- gnu/packages/patches/libtool-skip-tests2.patch | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu/packages/patches') diff --git a/gnu/packages/patches/libtool-skip-tests2.patch b/gnu/packages/patches/libtool-skip-tests2.patch index c9d61e3b41..3f86191b4f 100644 --- a/gnu/packages/patches/libtool-skip-tests2.patch +++ b/gnu/packages/patches/libtool-skip-tests2.patch @@ -1,4 +1,4 @@ -Skip the nopic test on ARM and MIPS systems. +Skip the nopic test on ARM, MIPS and RISC-V systems. --- libtool-2.4.6/tests/demo.at.orig 2015-01-16 13:52:04.000000000 -0500 +++ libtool-2.4.6/tests/demo.at 2015-02-16 10:48:51.435851966 -0500 @@ -7,7 +7,7 @@ Skip the nopic test on ARM and MIPS systems. AT_CHECK([case $host in -hppa*|x86_64*|s390*) -+hppa*|x86_64*|s390*|arm*|mips*) ++hppa*|x86_64*|s390*|arm*|mips*|riscv*) # These hosts cannot use non-PIC shared libs exit 77 ;; *-solaris*|*-sunos*) @@ -18,7 +18,7 @@ Skip the nopic test on ARM and MIPS systems. { set +x $as_echo "$at_srcdir/demo.at:535: case \$host in -hppa*|x86_64*|s390*) -+hppa*|x86_64*|s390*|arm*|mips*) ++hppa*|x86_64*|s390*|arm*|mips*|riscv*) # These hosts cannot use non-PIC shared libs exit 77 ;; *-solaris*|*-sunos*) @@ -27,7 +27,7 @@ Skip the nopic test on ARM and MIPS systems. at_fn_check_prepare_notrace 'a `...` command substitution' "demo.at:535" ( $at_check_trace; case $host in -hppa*|x86_64*|s390*) -+hppa*|x86_64*|s390*|arm*|mips*) ++hppa*|x86_64*|s390*|arm*|mips*|riscv*) # These hosts cannot use non-PIC shared libs exit 77 ;; *-solaris*|*-sunos*) -- cgit v1.2.3