forked from pool/python-python-crfsuite
- Cherry-pick upstream patch to fix build with GCC 14
* https://github.com/scrapinghub/python-crfsuite/pull/159.patch OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-python-crfsuite?expand=0&rev=11
This commit is contained in:
28
159.patch
Normal file
28
159.patch
Normal file
@@ -0,0 +1,28 @@
|
||||
From df2857fff3c492692ca09f31699972970042bc07 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Karcher <github@mkarcher.dialup.fu-berlin.de>
|
||||
Date: Wed, 12 Jun 2024 22:42:45 +0200
|
||||
Subject: [PATCH] Define _POSIX_C_SOURCE for crfsuite source files
|
||||
|
||||
gcc-14 has "-Werror=implicit-function-declaration" enabled by default.
|
||||
crfsuite uses posix_memalign which only gets defined when _POSIX_C_SOURCE is
|
||||
defined, so make sure the flag is set when compiling crfsuite.
|
||||
|
||||
On the other hand, openSUSE Tumbleweed has _POSIX_C_SOURCE defined
|
||||
in pyconfig.h, so you must not add "-D_POSIX_C_SOURCE" when compiling
|
||||
the python binding source code. So add it only for the subdir crfsuite.
|
||||
---
|
||||
setup.py | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 8036363..f0dc370 100755
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -30,6 +30,7 @@ def build_extensions(self):
|
||||
_compile = c._compile
|
||||
|
||||
def c_compile(obj, src, ext, cc_args, extra_postargs, pp_opts):
|
||||
+ cc_args = cc_args + ['-D_POSIX_C_SOURCE=200112L'] if src.startswith('crfsuite/') else cc_args
|
||||
cc_args = cc_args + ['-std=c99'] if src.endswith('.c') else cc_args
|
||||
return _compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
|
||||
|
Reference in New Issue
Block a user