summary refs log tree commit diff
path: root/pkgs/tools/inputmethods/uim
diff options
context:
space:
mode:
authorSergei Trofimovich <slyich@gmail.com>2022-06-22 07:54:27 +0100
committerSergei Trofimovich <slyich@gmail.com>2022-06-24 08:14:14 +0100
commita60c23a214f76a1dc87b5f2e0bd661f8d3b95316 (patch)
tree60e4f8e3c07b23d8f8f3956988f5ebbff6c47d17 /pkgs/tools/inputmethods/uim
parenta0edeb02ae5b92eda6efbee4e26d8c33c15063fd (diff)
downloadnixpkgs-a60c23a214f76a1dc87b5f2e0bd661f8d3b95316.tar
nixpkgs-a60c23a214f76a1dc87b5f2e0bd661f8d3b95316.tar.gz
nixpkgs-a60c23a214f76a1dc87b5f2e0bd661f8d3b95316.tar.bz2
nixpkgs-a60c23a214f76a1dc87b5f2e0bd661f8d3b95316.tar.lz
nixpkgs-a60c23a214f76a1dc87b5f2e0bd661f8d3b95316.tar.xz
nixpkgs-a60c23a214f76a1dc87b5f2e0bd661f8d3b95316.tar.zst
nixpkgs-a60c23a214f76a1dc87b5f2e0bd661f8d3b95316.zip
uim: pull upstream fix for -fno-common toolchains
Without the change build fails on upstream gcc-10 as:

    ld: .libs/mach_dep.o:sigscheme/libgcroots/include/private/gc_priv.h:2029: multiple definition of
      `GCROOTS_jmp_buf'; .libs/mark.o:sigscheme/libgcroots/include/private/gc_priv.h:2029: first defined here
Diffstat (limited to 'pkgs/tools/inputmethods/uim')
-rw-r--r--pkgs/tools/inputmethods/uim/default.nix18
1 files changed, 16 insertions, 2 deletions
diff --git a/pkgs/tools/inputmethods/uim/default.nix b/pkgs/tools/inputmethods/uim/default.nix
index 9336d5429c1..e1daecbd10f 100644
--- a/pkgs/tools/inputmethods/uim/default.nix
+++ b/pkgs/tools/inputmethods/uim/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, shared-mime-info
+{ lib, stdenv, fetchFromGitHub, fetchpatch, shared-mime-info
 , autoconf, automake, intltool, libtool, pkg-config, cmake
 , ruby, librsvg
 , ncurses, m17n_lib, m17n_db, expat
@@ -86,7 +86,21 @@ stdenv.mkDerivation rec {
     ./autogen.sh
   '';
 
-  patches = [ ./data-hook.patch ];
+  patches = [
+    ./data-hook.patch
+
+    # Pull upstream fix for -fno-common toolchains
+    #   https://github.com/uim/libgcroots/pull/4
+    (fetchpatch {
+      name = "libgcroots-fno-common.patch";
+      url = "https://github.com/uim/libgcroots/commit/7e39241344ad0663409e836560ae6b5eb231e1fc.patch";
+      sha256 = "0iifcl5lk8bvl0cflm47gkymg88aiwzj0gxh2aj3mqlyhvyx78nz";
+      # Patch comes from git submodule. Relocate as:
+      # a/include/private/gc_priv.h -> a/sigscheme/libgcroots/include/private/gc_priv.h
+      stripLen = 1;
+      extraPrefix = "sigscheme/libgcroots/";
+    })
+  ];
 
   configureFlags = [
     # configure in maintainer mode or else some pixmaps won't get autogenerated