mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-09 05:10:05 +02:00
kbuild: update to version 0.1.9998svn3572 (#7536)
- Re-applied (after minor modifications) the previous .patch for version 0.1.9998svn3296. - Used basically the same patch David Karoly applied to make-4.3 to fix a build error. - Use byacc instead of yacc to fix error: "arith.tab.h not found". - Automatically create SvnInfo.kmk from BUILD() instead of using the first change from "kbuild-0.1.9998svn3296-distribution.patch". - Disable textinfo docs (the other change from that "distribution" patch). - Install "templates/*.kmk" too (can't even try to build VirtualBox's Guest Additions without this). - Use $portVersion instead of hardcoded version.
This commit is contained in:
@@ -5,15 +5,15 @@ Its features include a template mechanism that simplifies configuration and \
|
||||
a set of supporting tools that provide consistent behavior across multiple \
|
||||
platforms."
|
||||
HOMEPAGE="https://trac.netlabs.org/kbuild/"
|
||||
COPYRIGHT="2005-2018 Knut St. Osmundsen"
|
||||
COPYRIGHT="2005-2022 Knut St. Osmundsen"
|
||||
LICENSE="GNU GPL v3"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://salsa.debian.org/pkg-virtualbox-team/kbuild/-/archive/upstream/0.1.9998svn3296+dfsg/kbuild-upstream-0.1.9998svn3296+dfsg.tar.bz2"
|
||||
CHECKSUM_SHA256="30c025d076f561984932801c143d57e833386f6e96bf244d57d0f9074e59f683"
|
||||
SOURCE_DIR="kbuild-upstream-0.1.9998svn3296+dfsg"
|
||||
# No direct source archive from $HOMEPAGE, so we use the one from debian's "mirror":
|
||||
SOURCE_URI="https://salsa.debian.org/pkg-virtualbox-team/kbuild/-/archive/upstream/$portVersion+dfsg/kbuild-upstream-$portVersion+dfsg.tar.bz2"
|
||||
CHECKSUM_SHA256="f054cff0d71e731b946f23769a9d6225186a31f00e135f36cb347a5ecd99b9b5"
|
||||
SOURCE_DIR="kbuild-upstream-$portVersion+dfsg"
|
||||
PATCHES="
|
||||
kbuild-0.1.9998svn3296-distribution.patch
|
||||
kbuild-0.1.9998svn3296-haiku.patch
|
||||
kbuild-$portVersion.patchset
|
||||
"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
@@ -23,9 +23,10 @@ fi
|
||||
|
||||
PROVIDES="
|
||||
kbuild$secondaryArchSuffix = $portVersion
|
||||
cmd:kDepIDB$secondaryArchSuffix = $portVersion
|
||||
cmd:kDepObj$secondaryArchSuffix = $portVersion
|
||||
cmd:kDepPre$secondaryArchSuffix = $portVersion
|
||||
cmd:bld_signames$secondaryArchSuffix = $portVersion
|
||||
cmd:kDepIDB$secondaryArchSuffix = $portVersion
|
||||
cmd:kDepObj$secondaryArchSuffix = $portVersion
|
||||
cmd:kDepPre$secondaryArchSuffix = $portVersion
|
||||
cmd:kmk$secondaryArchSuffix = $portVersion
|
||||
cmd:kmk_append$secondaryArchSuffix = $portVersion
|
||||
cmd:kmk_ash$secondaryArchSuffix = $portVersion
|
||||
@@ -63,13 +64,13 @@ BUILD_PREREQUIRES="
|
||||
cmd:aclocal
|
||||
cmd:autopoint
|
||||
cmd:autoreconf
|
||||
cmd:byacc
|
||||
cmd:find
|
||||
cmd:flex
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:makeinfo
|
||||
cmd:yacc
|
||||
"
|
||||
|
||||
defineDebugInfoPackage kbuild$secondaryArchSuffix \
|
||||
@@ -111,7 +112,11 @@ esac
|
||||
|
||||
BUILD()
|
||||
{
|
||||
kBuild/env.sh --full make $jobArgs -f bootstrap.gmk
|
||||
# Add a file with the SVN revision (so "kmk --version" displays it):
|
||||
svnRevision=${portVersion:${#portVersion}-4}
|
||||
printf '%s\n' "KBUILD_SVN_REV := $svnRevision" > SvnInfo.kmk
|
||||
|
||||
kBuild/env.sh --full make $jobArgs -f bootstrap.gmk YACC=byacc
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
@@ -119,7 +124,7 @@ INSTALL()
|
||||
mkdir -p $binDir $dataDir/kBuild $dataDir/profile.d
|
||||
|
||||
cp -R kBuild/bin/haiku.${kbuildArch}/* $binDir
|
||||
cp -R kBuild/{tools,units,*.kmk} $dataDir/kBuild
|
||||
cp -R kBuild/{tools,units,templates,*.kmk} $dataDir/kBuild
|
||||
|
||||
kbuildProfile=$dataDir/profile.d/kbuild.sh
|
||||
echo "export KBUILD_PATH=$dataDir/kBuild" > $kbuildProfile
|
||||
@@ -1,21 +0,0 @@
|
||||
diff --git a/SvnInfo.kmk b/SvnInfo.kmk
|
||||
new file mode 100644
|
||||
index 0000000..23713f6
|
||||
--- /dev/null
|
||||
+++ b/SvnInfo.kmk
|
||||
@@ -0,0 +1,2 @@
|
||||
+KBUILD_SVN_URL := http://svn.netlabs.org/repos/kbuild/trunk
|
||||
+KBUILD_SVN_REV := 3296
|
||||
diff --git a/src/kmk/doc/Makefile.am b/src/kmk/doc/Makefile.am
|
||||
index 11aa4d4..caf8951 100644
|
||||
--- a/src/kmk/doc/Makefile.am
|
||||
+++ b/src/kmk/doc/Makefile.am
|
||||
@@ -18,7 +18,7 @@
|
||||
TEXI2HTML = texi2html
|
||||
TEXI2HTML_FLAGS = -split_chapter
|
||||
|
||||
-info_TEXINFOS = make.texi
|
||||
+#info_TEXINFOS = make.texi
|
||||
make_TEXINFOS = fdl.texi make-stds.texi
|
||||
|
||||
CLEANFILES = make*.html
|
||||
@@ -1,8 +1,14 @@
|
||||
From e1c53c298daa1a862d3f43ae2d5607119d979f43 Mon Sep 17 00:00:00 2001
|
||||
From: Oscar Lesta <oscar.lesta@gmail.com>
|
||||
Date: Thu, 24 Nov 2022 21:19:51 -0300
|
||||
Subject: Re-applied changes from kbuild-0.1.9998svn3296-haiku.patch.
|
||||
|
||||
|
||||
diff --git a/src/kmk/Makefile.am b/src/kmk/Makefile.am
|
||||
index ca8acb1..a9c96c8 100644
|
||||
index 12cc103..3f91c9e 100644
|
||||
--- a/src/kmk/Makefile.am
|
||||
+++ b/src/kmk/Makefile.am
|
||||
@@ -98,6 +98,9 @@ kmk_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c file.c \
|
||||
@@ -99,6 +99,9 @@ kmk_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c file.c \
|
||||
kmkbuiltin/osdep.c \
|
||||
kmkbuiltin/kbuild_protection.c \
|
||||
kmkbuiltin/common-env-and-cwd-opt.c
|
||||
@@ -12,7 +18,7 @@ index ca8acb1..a9c96c8 100644
|
||||
|
||||
kmk_redirect_SOURCES = kmkbuiltin/redirect.c \
|
||||
kmkbuiltin/common-env-and-cwd-opt.c \
|
||||
@@ -113,6 +116,9 @@ noinst_HEADERS = commands.h dep.h filedef.h job.h makeint.h rule.h variable.h \
|
||||
@@ -114,6 +117,9 @@ noinst_HEADERS = commands.h dep.h filedef.h job.h makeint.h rule.h variable.h \
|
||||
#kmk_LDADD = @LIBOBJS@ @ALLOCA@ $(GLOBLIB) @GETLOADAVG_LIBS@ @LIBINTL@
|
||||
kmk_LDADD = @LIBOBJS@ @ALLOCA@ $(GLOBLIB) @GETLOADAVG_LIBS@ \
|
||||
$(GUILE_LIBS)
|
||||
@@ -23,13 +29,13 @@ index ca8acb1..a9c96c8 100644
|
||||
if WINDOWSENV
|
||||
kmk_LDADD += $(W32LIB)
|
||||
diff --git a/src/kmk/Makefile.kmk b/src/kmk/Makefile.kmk
|
||||
index 44e86e7..2405310 100644
|
||||
index ff93ae5..1e9ea5b 100644
|
||||
--- a/src/kmk/Makefile.kmk
|
||||
+++ b/src/kmk/Makefile.kmk
|
||||
@@ -61,6 +61,10 @@ ifneq ($(KBUILD_TARGET),os2)
|
||||
TEMPLATE_BIN-KMK_INCS += glob
|
||||
endif
|
||||
TEMPLATE_BIN-KMK_LIBS = $(LIB_KUTIL) $(TEMPLATE_BIN-THREADED_LIBS) $(kmkmissing_1_TARGET) $(LIB_KUTIL)
|
||||
@@ -63,6 +63,10 @@ endif
|
||||
TEMPLATE_BIN-KMK_LIBS = $(LIB_KUTIL) $(TEMPLATE_BIN-THREADED_LIBS) $(kmkmissing_1_TARGET) $(LIB_KUTIL)
|
||||
TEMPLATE_BIN-KMK_LIBS.x86 = $(LIB_KUTIL) $(TEMPLATE_BIN-THREADED_LIBS.x86)
|
||||
TEMPLATE_BIN-KMK_LIBS.amd64 = $(LIB_KUTIL) $(TEMPLATE_BIN-THREADED_LIBS.amd64)
|
||||
+ifeq ($(KBUILD_TARGET),haiku)
|
||||
+ TEMPLATE_BIN-KMK_DEFS += _BSD_SOURCE
|
||||
+ TEMPLATE_BIN-KMK_LIBS += bsd
|
||||
@@ -263,10 +269,10 @@ index 3580374..7c79b6f 100644
|
||||
-
|
||||
-#include "inlined_memchr.h"
|
||||
diff --git a/src/kmk/configure.ac b/src/kmk/configure.ac
|
||||
index 76a38a2..9eddc7d 100644
|
||||
index d950182..44beae8 100644
|
||||
--- a/src/kmk/configure.ac
|
||||
+++ b/src/kmk/configure.ac
|
||||
@@ -431,6 +431,8 @@ AC_DEFINE_UNQUOTED([MAKE_HOST],["$host"],[Build host information.])
|
||||
@@ -432,6 +432,8 @@ AC_DEFINE_UNQUOTED([MAKE_HOST],["$host"],[Build host information.])
|
||||
MAKE_HOST="$host"
|
||||
AC_SUBST([MAKE_HOST])
|
||||
|
||||
@@ -276,7 +282,7 @@ index 76a38a2..9eddc7d 100644
|
||||
AM_CONDITIONAL([WINDOWSENV], [false])
|
||||
|
||||
diff --git a/src/kmk/getopt.c b/src/kmk/getopt.c
|
||||
index f0d58a9..cc43ab8 100644
|
||||
index b7999ea..5c4dee3 100644
|
||||
--- a/src/kmk/getopt.c
|
||||
+++ b/src/kmk/getopt.c
|
||||
@@ -68,6 +68,10 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
@@ -291,7 +297,7 @@ index f0d58a9..cc43ab8 100644
|
||||
# include <unixlib.h>
|
||||
# if HAVE_STRING_H - 0
|
||||
diff --git a/src/kmk/kmkbuiltin.h b/src/kmk/kmkbuiltin.h
|
||||
index c6c40f0..32b0add 100644
|
||||
index 955a04d..043980b 100644
|
||||
--- a/src/kmk/kmkbuiltin.h
|
||||
+++ b/src/kmk/kmkbuiltin.h
|
||||
@@ -26,6 +26,10 @@
|
||||
@@ -340,7 +346,7 @@ index eff20bb..9b27737 100644
|
||||
|
||||
extern int haiku_lchmod(const char *pszPath, mode_t mode);
|
||||
diff --git a/src/kmk/kmkbuiltin/install.c b/src/kmk/kmkbuiltin/install.c
|
||||
index 2864573..1bdf3e5 100644
|
||||
index 00bdf73..262cb6d 100644
|
||||
--- a/src/kmk/kmkbuiltin/install.c
|
||||
+++ b/src/kmk/kmkbuiltin/install.c
|
||||
@@ -68,9 +68,7 @@ __FBSDID("$FreeBSD: src/usr.bin/xinstall/xinstall.c,v 1.66 2005/01/25 14:34:57 s
|
||||
@@ -355,10 +361,10 @@ index 2864573..1bdf3e5 100644
|
||||
# include <util.h>
|
||||
# define strtofflags(a, b, c) string_to_flags(a, b, c)
|
||||
diff --git a/src/kmk/kmkbuiltin/mkdir.c b/src/kmk/kmkbuiltin/mkdir.c
|
||||
index 2fede17..ffee5d9 100644
|
||||
index 65e961f..d82544f 100644
|
||||
--- a/src/kmk/kmkbuiltin/mkdir.c
|
||||
+++ b/src/kmk/kmkbuiltin/mkdir.c
|
||||
@@ -54,9 +54,7 @@ __FBSDID("$FreeBSD: src/bin/mkdir/mkdir.c,v 1.28 2004/04/06 20:06:48 markm Exp $
|
||||
@@ -55,9 +55,7 @@ __FBSDID("$FreeBSD: src/bin/mkdir/mkdir.c,v 1.28 2004/04/06 20:06:48 markm Exp $
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@@ -385,7 +391,7 @@ index 7db962c..cf2a8ed 100644
|
||||
#include "getopt_r.h"
|
||||
#ifdef __sun__
|
||||
diff --git a/src/kmk/kmkbuiltin/rm.c b/src/kmk/kmkbuiltin/rm.c
|
||||
index 41cbd7c..2a8c450 100644
|
||||
index 5753b3e..da12cbf 100644
|
||||
--- a/src/kmk/kmkbuiltin/rm.c
|
||||
+++ b/src/kmk/kmkbuiltin/rm.c
|
||||
@@ -48,9 +48,9 @@ static char sccsid[] = "@(#)rm.c 8.5 (Berkeley) 4/18/94";
|
||||
@@ -659,18 +665,59 @@ index d341fe0..48876d4 100644
|
||||
#ifdef VMS
|
||||
# include <unixlib.h>
|
||||
# if HAVE_STRING_H - 0
|
||||
diff --git a/src/sed/lib/utils.c b/src/sed/lib/utils.c
|
||||
index 14e6073..fdec2cb 100644
|
||||
--- a/src/sed/lib/utils.c
|
||||
+++ b/src/sed/lib/utils.c
|
||||
@@ -35,6 +35,10 @@
|
||||
# include <stdlib.h>
|
||||
#endif /* HAVE_STDLIB_H */
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From e38b9486f39daeb1e1e6858afafe7807714b4925 Mon Sep 17 00:00:00 2001
|
||||
From: Oscar Lesta <oscar.lesta@gmail.com>
|
||||
Date: Thu, 24 Nov 2022 21:23:48 -0300
|
||||
Subject: Disable texinfo docs.
|
||||
|
||||
Taken from kbuild-0.1.9998svn3296-distribution.patch.
|
||||
|
||||
diff --git a/src/kmk/doc/Makefile.am b/src/kmk/doc/Makefile.am
|
||||
index 11aa4d4..caf8951 100644
|
||||
--- a/src/kmk/doc/Makefile.am
|
||||
+++ b/src/kmk/doc/Makefile.am
|
||||
@@ -18,7 +18,7 @@
|
||||
TEXI2HTML = texi2html
|
||||
TEXI2HTML_FLAGS = -split_chapter
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+# include <unistd.h>
|
||||
+#endif
|
||||
+
|
||||
#include "utils.h"
|
||||
-info_TEXINFOS = make.texi
|
||||
+#info_TEXINFOS = make.texi
|
||||
make_TEXINFOS = fdl.texi make-stds.texi
|
||||
|
||||
#ifdef KBUILD_OS_WINDOWS /* bird: Way faster console output! */
|
||||
CLEANFILES = make*.html
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
||||
From a48564a9f0239d20b061c0541816030d265c68b3 Mon Sep 17 00:00:00 2001
|
||||
From: Oscar Lesta <oscar.lesta@gmail.com>
|
||||
Date: Thu, 24 Nov 2022 22:07:18 -0300
|
||||
Subject: Fix usage of sizeof on incomplete type.
|
||||
|
||||
Using basically the same patch David Karoly applied to make-4.3
|
||||
to fix:
|
||||
|
||||
error: invalid application of 'sizeof' to incomplete type 'char[]`
|
||||
|
||||
That happens on Haiku after some <dirent.h> changes.
|
||||
|
||||
diff --git a/src/kmk/dir.c b/src/kmk/dir.c
|
||||
index 1709479..4044cfa 100644
|
||||
--- a/src/kmk/dir.c
|
||||
+++ b/src/kmk/dir.c
|
||||
@@ -1469,7 +1469,7 @@ read_dirstream (__ptr_t stream)
|
||||
/* The glob interface wants a 'struct dirent', so mock one up. */
|
||||
struct dirent *d;
|
||||
unsigned int len = df->length + 1;
|
||||
- unsigned int sz = sizeof (*d) - sizeof (d->d_name) + len;
|
||||
+ unsigned int sz = offsetof(struct dirent, d_name) + len;
|
||||
if (sz > bufsz)
|
||||
{
|
||||
bufsz *= 2;
|
||||
--
|
||||
2.37.3
|
||||
|
||||
Reference in New Issue
Block a user