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() {

Reply via email to