mlterm: fix build with GCC 14 (#371141)

This commit is contained in:
Doron Behar
2025-01-07 13:09:48 +02:00
committed by GitHub
3 changed files with 72 additions and 60 deletions
@@ -2,6 +2,7 @@
stdenv,
lib,
fetchFromGitHub,
fetchpatch,
pkg-config,
autoconf,
makeDesktopItem,
@@ -110,6 +111,25 @@ stdenv.mkDerivation (finalAttrs: {
sha256 = "sha256-gfs5cdwUUwSBWwJJSaxrQGWJvLkI27RMlk5QvDALEDg=";
};
patches = [
(fetchpatch {
name = "mlterm-configure-implicit-function-declaration.patch";
url = "https://github.com/arakiken/mlterm/commit/1a9ee97e4574c5892bf12090b812b0538dcdf8f2.patch";
hash = "sha256-Kk+x5LAq+beZWE8yj5WfdS82ConLSgxNquzQd5mvOA4=";
})
(fetchpatch {
name = "mlterm-wayland-implicit-function-declaration.patch";
url = "https://github.com/arakiken/mlterm/commit/20ab931d5055dc5835154a75ca672fade478549f.patch";
hash = "sha256-rDmQ0e3dQD7UAGTX4ljOrDqTTddBqvnnRFnqDjRLAss=";
})
(fetchpatch {
url = "https://salsa.debian.org/debian/mlterm/-/raw/d9b1555e9220985e0c89a6ff5a0d58f7b18cc123/debian/patches/fix-incompat-pointer-types.patch";
hash = "sha256-EcI15FjQfcN8pcE1MqsBfaHQ4j+gyoeesN/WoHb7WnU=";
})
];
nativeBuildInputs =
[
pkg-config
+36 -34
View File
@@ -1,38 +1,40 @@
--- a/gtk2/immodule/Makefile.in 2015-11-24 16:21:08.967087208 +0900
+++ b/gtk2/immodule/Makefile.in 2015-11-24 16:22:53.316095150 +0900
@@ -928,7 +928,6 @@
diff --git a/gtk2/immodule/Makefile.am b/gtk2/immodule/Makefile.am
index d219a5a4b0..331e127122 100644
--- a/gtk2/immodule/Makefile.am
+++ b/gtk2/immodule/Makefile.am
@@ -37,6 +37,7 @@
GTK_RC_GET_IMMODULE_FILE = $(top_builddir)/gtk2/immodule/gtk-rc-get-immodule-file
QUERY_COMMAND = gtk-query-immodules-2.0
install-data-am: install-moduleLTLIBRARIES
@$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-data-hook
install-dvi: install-dvi-am
+if FALSE
install-data-hook: gtk-rc-get-immodule-file
if test -z $(DESTDIR); then \
if test $(libdir) = $(GTK_LIBDIR); then \
@@ -82,6 +83,7 @@
fi \
fi \
fi
+endif
else
install-data-hook:
install-dvi-am:
@@ -993,7 +992,7 @@
distclean-compile distclean-generic distclean-libtool \
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \
- install-data-hook install-dvi install-dvi-am install-exec \
+ install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-moduleLTLIBRARIES \
install-pdf install-pdf-am install-ps install-ps-am \
--- a/gtk3/immodule/Makefile.in 2015-11-24 16:21:08.971087209 +0900
+++ b/gtk3/immodule/Makefile.in 2015-11-24 16:23:28.251097832 +0900
@@ -896,7 +896,6 @@
diff --git a/gtk3/immodule/Makefile.am b/gtk3/immodule/Makefile.am
index de58b88916..d519b03b1d 100644
--- a/gtk3/immodule/Makefile.am
+++ b/gtk3/immodule/Makefile.am
@@ -39,6 +39,7 @@
install-data-am: install-moduleLTLIBRARIES
@$(NORMAL_INSTALL)
- $(MAKE) $(AM_MAKEFLAGS) install-data-hook
install-dvi: install-dvi-am
QUERY_COMMAND = gtk-query-immodules-3.0
+if FALSE
install-data-hook:
if test -z $(DESTDIR); then \
if test $(libdir) = $(GTK3_LIBDIR); then \
@@ -74,6 +75,7 @@
fi \
fi \
fi
+endif
else
install-data-hook:
install-dvi-am:
@@ -959,7 +958,7 @@
cscopelist-am ctags ctags-am distclean distclean-compile \
distclean-generic distclean-libtool distclean-tags distdir dvi \
dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-data-hook install-dvi \
+ install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-moduleLTLIBRARIES install-pdf install-pdf-am \
+16 -26
View File
@@ -2,7 +2,6 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
shared-mime-info,
autoconf,
automake,
@@ -53,16 +52,18 @@ assert withNetworking -> curl != null && openssl != null;
assert withFFI -> libffi != null;
assert withMisc -> libeb != null;
stdenv.mkDerivation rec {
version = "1.8.8";
stdenv.mkDerivation (finalAttrs: {
# Includes multiple GCC 14 related fixes, and other bugs. Last 1.8.9 release
# was in August 2022 - too long ago.
version = "1.8.9-unstable-2024-12-09";
pname = "uim";
src = fetchFromGitHub {
owner = "uim";
repo = "uim";
rev = "2c0958c9c505a87e70e344c2192e2e5123c71ea5";
rev = "b6803aa7ea433f92855284ec832aeff957c63904";
fetchSubmodules = true;
sha256 = "1hkjxi5r49gcna37m3jvykny5hz9ram4y8a3q7lw4qzr52mz9pdp";
hash = "sha256-7Ng9IPF6xN1Zb9uEacq7SUhpJc1jWzneVSbbjyqL6g4=";
};
nativeBuildInputs =
@@ -104,13 +105,14 @@ stdenv.mkDerivation rec {
++ lib.optional withFFI libffi
++ lib.optional withMisc libeb;
prePatch = ''
postPatch = ''
patchShebangs *.sh */*.sh */*/*.sh
# configure sigscheme in maintainer mode or else some function tables won't get autogenerated
substituteInPlace configure.ac \
--replace "--with-master-pkg=uim --enable-conf=uim" \
"--enable-maintainer-mode --with-master-pkg=uim --enable-conf=uim"
--replace-fail \
"--with-master-pkg=uim --enable-conf=uim" \
"--enable-maintainer-mode --with-master-pkg=uim --enable-conf=uim"
# generate ./configure files
(cd sigscheme/libgcroots; ./autogen.sh)
@@ -120,18 +122,6 @@ stdenv.mkDerivation rec {
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 =
@@ -178,14 +168,14 @@ stdenv.mkDerivation rec {
dontUseCmakeConfigure = true;
meta = with lib; {
homepage = src.meta.homepage;
meta = {
inherit (finalAttrs.src.meta) homepage;
description = "Multilingual input method framework";
license = licenses.bsd3;
platforms = platforms.unix;
maintainers = with maintainers; [
license = lib.licenses.bsd3;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [
ericsagnes
oxij
];
};
}
})