From 3cf4ebd8c224dfc36a69b64ef6e6942707f7e11f Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sat, 21 Dec 2024 20:15:26 +0100 Subject: [PATCH 1/5] haskellPackages.HsSyck: implicit function decl may not fail build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is another gcc 14 workaround. haskellPackages.HsOpenSSL: don't silence incompatible-pointer-types Disabling the error is a better option than silencing the warning which still applies… (cherry picked from commit 9c577069d9cd254c955ed320e45887c5ac991f90) --- pkgs/development/haskell-modules/configuration-common.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 8c46078145695..21e6e84c135d1 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -245,8 +245,12 @@ self: super: { # https://github.com/haskell-cryptography/HsOpenSSL/issues/93 # https://github.com/haskell-cryptography/HsOpenSSL/issues/95 HsOpenSSL = appendConfigureFlags [ - "--ghc-option=-optc=-Wno-incompatible-pointer-types" + "--ghc-option=-optc=-Wno-error=incompatible-pointer-types" ] super.HsOpenSSL; + # Work around compilation failure with gcc >= 14 + HsSyck = appendConfigureFlags [ + "--ghc-option=-optc=-Wno-error=implicit-function-declaration" + ] super.HsSyck; # There are numerical tests on random data, that may fail occasionally lapack = dontCheck super.lapack; From 1f4a0eb852429ce1f1fc9c924dc5eb04f8e74ca1 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sat, 21 Dec 2024 20:31:20 +0100 Subject: [PATCH 2/5] haskellPackages.{hd5-lite,bindings-libcddb}: disable gcc 14 -Werror (cherry picked from commit dc09700185c660171b7e9984fd50a4d2543f75d4) --- pkgs/development/haskell-modules/configuration-common.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 21e6e84c135d1..a622528df001a 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -251,6 +251,12 @@ self: super: { HsSyck = appendConfigureFlags [ "--ghc-option=-optc=-Wno-error=implicit-function-declaration" ] super.HsSyck; + bindings-libcddb = appendConfigureFlags [ + "--ghc-option=-optc=-Wno-error=incompatible-pointer-types" + ] super.bindings-libcddb; + hdf5-lite = appendConfigureFlags [ + "--ghc-option=-optc=-Wno-error=implicit-function-declaration" + ] super.hdf5-lite; # There are numerical tests on random data, that may fail occasionally lapack = dontCheck super.lapack; From 9edd83fa215db3f150e45d085a1f454e3776d6dc Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sun, 22 Dec 2024 13:02:06 +0100 Subject: [PATCH 3/5] haskellPackages.termbox-bindings-c: disable implicit fun -Werror Work around gcc 14 making implicit-function-declaration an error. (cherry picked from commit fb7fe3b3a819bfebf7db1a873509bcd97d1e38c0) --- pkgs/development/haskell-modules/configuration-common.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index a622528df001a..4b570c887b786 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -257,6 +257,9 @@ self: super: { hdf5-lite = appendConfigureFlags [ "--ghc-option=-optc=-Wno-error=implicit-function-declaration" ] super.hdf5-lite; + termbox-bindings-c = appendConfigureFlags [ + "--ghc-option=-optc=-Wno-error=implicit-function-declaration" + ] super.termbox-bindings-c; # There are numerical tests on random data, that may fail occasionally lapack = dontCheck super.lapack; From 1139a6eeff9edf4fe425ba449d44a46a8841a04a Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sun, 22 Dec 2024 13:20:23 +0100 Subject: [PATCH 4/5] haskellPackages.libxml-sax: disable gcc14 implicit fun decl -Werror (cherry picked from commit 25e269c421a64620f3c90d1bcc697ab86e662db4) --- pkgs/development/haskell-modules/configuration-common.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 4b570c887b786..255ce271bec14 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -260,6 +260,9 @@ self: super: { termbox-bindings-c = appendConfigureFlags [ "--ghc-option=-optc=-Wno-error=implicit-function-declaration" ] super.termbox-bindings-c; + libxml-sax = appendConfigureFlags [ + "--ghc-option=-optc=-Wno-error=implicit-function-declaration" + ] super.libxml-sax; # There are numerical tests on random data, that may fail occasionally lapack = dontCheck super.lapack; From 835bc93724843102514d479c2d7de0ca2a94aa17 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Sun, 22 Dec 2024 13:42:53 +0100 Subject: [PATCH 5/5] haskellPackages: link upstream issues for GCC 14 workarounds I've contacted the maintainer of libxml-sax directly as the package does not seem to have a public issue tracker. (cherry picked from commit 1ad0cb4d35108af8de6f4648710cd5b0dec8c434) --- pkgs/development/haskell-modules/configuration-common.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 255ce271bec14..17dbb7db48954 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -247,16 +247,20 @@ self: super: { HsOpenSSL = appendConfigureFlags [ "--ghc-option=-optc=-Wno-error=incompatible-pointer-types" ] super.HsOpenSSL; - # Work around compilation failure with gcc >= 14 + # Work around compilation failures with gcc >= 14 + # https://github.com/audreyt/hssyck/issues/5 HsSyck = appendConfigureFlags [ "--ghc-option=-optc=-Wno-error=implicit-function-declaration" ] super.HsSyck; + # https://github.com/rethab/bindings-dsl/issues/46 bindings-libcddb = appendConfigureFlags [ "--ghc-option=-optc=-Wno-error=incompatible-pointer-types" ] super.bindings-libcddb; + # https://github.com/ocramz/hdf5-lite/issues/3 hdf5-lite = appendConfigureFlags [ "--ghc-option=-optc=-Wno-error=implicit-function-declaration" ] super.hdf5-lite; + # https://github.com/awkward-squad/termbox/issues/5 termbox-bindings-c = appendConfigureFlags [ "--ghc-option=-optc=-Wno-error=implicit-function-declaration" ] super.termbox-bindings-c;