commit: f2059dfcf305fa26ba92d034ae6d889e15e6fb29 Author: Viorel Munteanu <ceamac <AT> gentoo <DOT> org> AuthorDate: Wed Nov 23 11:13:48 2022 +0000 Commit: Viorel Munteanu <ceamac <AT> gentoo <DOT> org> CommitDate: Sun Nov 27 10:06:57 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f2059dfc
dev-util/kbuild: fix compilation with clang Closes: https://bugs.gentoo.org/875449 Closes: https://bugs.gentoo.org/734302 Signed-off-by: Viorel Munteanu <ceamac <AT> gentoo.org> .../kbuild/files/kbuild-0.1.9998.3499-fix-CC.patch | 23 +++++++++++++++++ .../kbuild-0.1.9998.3499-int-conversion.patch | 26 +++++++++++++++++++ ...-9999.ebuild => kbuild-0.1.9998.3499-r2.ebuild} | 30 +++++++++++----------- ...-9999.ebuild => kbuild-0.1.9998.3572-r2.ebuild} | 23 ++++++----------- dev-util/kbuild/kbuild-9999.ebuild | 2 ++ 5 files changed, 74 insertions(+), 30 deletions(-) diff --git a/dev-util/kbuild/files/kbuild-0.1.9998.3499-fix-CC.patch b/dev-util/kbuild/files/kbuild-0.1.9998.3499-fix-CC.patch new file mode 100644 index 000000000000..7d7f1f7232eb --- /dev/null +++ b/dev-util/kbuild/files/kbuild-0.1.9998.3499-fix-CC.patch @@ -0,0 +1,23 @@ +A few files are compiled with gcc regardless of setting CC + +This file seems to do some guesswork, override it with CC if set + +Bug: https://bugs.gentoo.org/734302 + +--- a/kBuild/tools/GCC3.kmk ++++ b/kBuild/tools/GCC3.kmk +@@ -84,6 +84,14 @@ + TOOL_GCC3_CXX += -fmessage-length=0 + endif + ++ifneq ($(CC),) ++ TOOL_GCC3_CC = $(CC) ++ TOOL_GCC3_LD = $(CC) ++endif ++ifneq ($(AR),) ++ TOOL_GCC3_AR = $(AR) ++endif ++ + # General Properties used by kBuild + TOOL_GCC3_COBJSUFF ?= .o + TOOL_GCC3_CFLAGS ?= diff --git a/dev-util/kbuild/files/kbuild-0.1.9998.3499-int-conversion.patch b/dev-util/kbuild/files/kbuild-0.1.9998.3499-int-conversion.patch new file mode 100644 index 000000000000..6afdeeb6e7a6 --- /dev/null +++ b/dev-util/kbuild/files/kbuild-0.1.9998.3499-int-conversion.patch @@ -0,0 +1,26 @@ +Fix int to pointer conversion for clang + +Note - this parameter was not actually used inside eval_buffer because of a define. + +Bug: https://bugs.gentoo.org/875449 + +--- a/src/kmk/loadapi.c ++++ b/src/kmk/loadapi.c +@@ -20,6 +20,8 @@ + #include "variable.h" + #include "dep.h" + ++#include <string.h> ++ + /* Allocate a buffer in our context, so we can free it. */ + char * + gmk_alloc (unsigned int len) +@@ -59,7 +61,7 @@ + install_variable_buffer (&pbuf, &plen); + + s = xstrdup (buffer); +- eval_buffer (s, flp IF_WITH_VALUE_LENGTH_PARAM (strlen (s) /** @todo suboptimal */)); ++ eval_buffer (s, flp IF_WITH_VALUE_LENGTH_PARAM (strchr (s, 0) /** @todo suboptimal */)); + free (s); + + restore_variable_buffer (pbuf, plen); diff --git a/dev-util/kbuild/kbuild-9999.ebuild b/dev-util/kbuild/kbuild-0.1.9998.3499-r2.ebuild similarity index 72% copy from dev-util/kbuild/kbuild-9999.ebuild copy to dev-util/kbuild/kbuild-0.1.9998.3499-r2.ebuild index 79e18d1b7a14..63ab7642a44d 100644 --- a/dev-util/kbuild/kbuild-9999.ebuild +++ b/dev-util/kbuild/kbuild-0.1.9998.3499-r2.ebuild @@ -5,19 +5,15 @@ EAPI=8 inherit autotools toolchain-funcs +MY_P="${P}-src" DESCRIPTION="A makefile framework for writing simple makefiles for complex tasks" HOMEPAGE="https://trac.netlabs.org/kbuild/wiki" -if [[ "${PV}" == *9999 ]] ; then - inherit subversion - ESVN_REPO_URI="http://svn.netlabs.org/repos/kbuild/trunk" -else - MY_P="${P}-src" - #SRC_URI="ftp://ftp.netlabs.org/pub/${PN}/${MY_P}.tar.gz" - SRC_URI="https://dev.gentoo.org/~polynomial-c/${MY_P}.tar.xz" - KEYWORDS="~amd64 ~x86" -fi +#SRC_URI="ftp://ftp.netlabs.org/pub/${PN}/${MY_P}.tar.gz" +SRC_URI="https://dev.gentoo.org/~polynomial-c/${MY_P}.tar.xz" + LICENSE="GPL-3+" SLOT="0" +KEYWORDS="~amd64 ~x86" IUSE="" BDEPEND=" @@ -33,10 +29,16 @@ PATCHES=( "${FILESDIR}/${PN}-0.1.5-gentoo-docdir.patch" "${FILESDIR}/${PN}-0.1.9998_pre20120806-qa.patch" "${FILESDIR}/${PN}-0.1.9998_pre20110817-kash-link-pthread.patch" - #"${FILESDIR}/${PN}-0.1.9998.3407-gold.patch" + "${FILESDIR}/${PN}-0.1.9998.3499-gold.patch" + + # Please check on version bumps if this can be removed + "${FILESDIR}/${PN}-0.1.9998.3499-kash-no_separate_parser_allocator.patch" + "${FILESDIR}/${PN}-0.1.9998.3572-fix-bison.patch" "${FILESDIR}/${PN}-0.1.9998.3572-fix-lto.patch" "${FILESDIR}/${PN}-0.1.9998.3499-implicit-function-declaration.patch" + "${FILESDIR}/${PN}-0.1.9998.3499-int-conversion.patch" + "${FILESDIR}/${PN}-0.1.9998.3499-fix-CC.patch" ) pkg_setup() { @@ -47,11 +49,9 @@ pkg_setup() { src_prepare() { default - if [[ "${PV}" != *9999 ]] ; then - # Add a file with the svn revision this package was pulled from - printf '%s\n' "KBUILD_SVN_REV := $(ver_cut 4)" \ - > SvnInfo.kmk || die - fi + # Add a file with the svn revision this package was pulled from + printf '%s\n' "KBUILD_SVN_REV := $(ver_cut 4)" \ + > SvnInfo.kmk || die cd "${S}/src/kmk" || die eautoreconf diff --git a/dev-util/kbuild/kbuild-9999.ebuild b/dev-util/kbuild/kbuild-0.1.9998.3572-r2.ebuild similarity index 74% copy from dev-util/kbuild/kbuild-9999.ebuild copy to dev-util/kbuild/kbuild-0.1.9998.3572-r2.ebuild index 79e18d1b7a14..cd4193e79001 100644 --- a/dev-util/kbuild/kbuild-9999.ebuild +++ b/dev-util/kbuild/kbuild-0.1.9998.3572-r2.ebuild @@ -7,17 +7,11 @@ inherit autotools toolchain-funcs DESCRIPTION="A makefile framework for writing simple makefiles for complex tasks" HOMEPAGE="https://trac.netlabs.org/kbuild/wiki" -if [[ "${PV}" == *9999 ]] ; then - inherit subversion - ESVN_REPO_URI="http://svn.netlabs.org/repos/kbuild/trunk" -else - MY_P="${P}-src" - #SRC_URI="ftp://ftp.netlabs.org/pub/${PN}/${MY_P}.tar.gz" - SRC_URI="https://dev.gentoo.org/~polynomial-c/${MY_P}.tar.xz" - KEYWORDS="~amd64 ~x86" -fi +SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${P}-src.tar.xz" + LICENSE="GPL-3+" SLOT="0" +#KEYWORDS="~amd64 ~x86" # for testing only. This version is buggy IUSE="" BDEPEND=" @@ -33,10 +27,11 @@ PATCHES=( "${FILESDIR}/${PN}-0.1.5-gentoo-docdir.patch" "${FILESDIR}/${PN}-0.1.9998_pre20120806-qa.patch" "${FILESDIR}/${PN}-0.1.9998_pre20110817-kash-link-pthread.patch" - #"${FILESDIR}/${PN}-0.1.9998.3407-gold.patch" "${FILESDIR}/${PN}-0.1.9998.3572-fix-bison.patch" "${FILESDIR}/${PN}-0.1.9998.3572-fix-lto.patch" "${FILESDIR}/${PN}-0.1.9998.3499-implicit-function-declaration.patch" + "${FILESDIR}/${PN}-0.1.9998.3499-int-conversion.patch" + "${FILESDIR}/${PN}-0.1.9998.3499-fix-CC.patch" ) pkg_setup() { @@ -47,11 +42,9 @@ pkg_setup() { src_prepare() { default - if [[ "${PV}" != *9999 ]] ; then - # Add a file with the svn revision this package was pulled from - printf '%s\n' "KBUILD_SVN_REV := $(ver_cut 4)" \ - > SvnInfo.kmk || die - fi + # Add a file with the svn revision this package was pulled from + printf '%s\n' "KBUILD_SVN_REV := $(ver_cut 4)" \ + > SvnInfo.kmk || die cd "${S}/src/kmk" || die eautoreconf diff --git a/dev-util/kbuild/kbuild-9999.ebuild b/dev-util/kbuild/kbuild-9999.ebuild index 79e18d1b7a14..889cf6178062 100644 --- a/dev-util/kbuild/kbuild-9999.ebuild +++ b/dev-util/kbuild/kbuild-9999.ebuild @@ -37,6 +37,8 @@ PATCHES=( "${FILESDIR}/${PN}-0.1.9998.3572-fix-bison.patch" "${FILESDIR}/${PN}-0.1.9998.3572-fix-lto.patch" "${FILESDIR}/${PN}-0.1.9998.3499-implicit-function-declaration.patch" + "${FILESDIR}/${PN}-0.1.9998.3499-int-conversion.patch" + "${FILESDIR}/${PN}-0.1.9998.3499-fix-CC.patch" ) pkg_setup() {
