libdwarf, bump version (#8133)

This commit is contained in:
Schrijvers Luc
2023-03-27 15:34:46 +02:00
committed by GitHub
parent e334dcdffa
commit 4bdd85a53f
2 changed files with 37 additions and 140 deletions

View File

@@ -23,75 +23,79 @@ COPYRIGHT="2000,2002,2004,2005 Silicon Graphics, Inc.
2007-2010 Sun Microsystems, Inc."
LICENSE="GNU GPL v2
GNU LGPL v2.1"
REVISION="2"
SOURCE_URI="https://www.prevanders.net/libdwarf-$portVersion.tar.gz"
CHECKSUM_SHA256="46ccfb24ecd24bd7cce466d67a7bfeb62b9ed405dafdc924918d58c529abccb8"
SOURCE_DIR="dwarf-$portVersion"
PATCHES="libdwarf-20170709.patchset"
REVISION="1"
SOURCE_URI="https://www.prevanders.net/libdwarf-$portVersion.tar.xz"
CHECKSUM_SHA256="8d6f2e67ac6fae59c7019bf41b58fa620187a136cd5977e117f15b820ffc7e75"
ARCHITECTURES="all"
SECONDARY_ARCHITECTURES="x86"
# On x86_gcc2 we don't want to install the commands in bin/<arch>/, but in bin/.
commandSuffix=$secondaryArchSuffix
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
fi
libVersion="0.6.0"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
libdwarf$secondaryArchSuffix = $portVersion compat >= 1
cmd:dwarfdump$commandSuffix = $portVersion
lib:libdwarf$secondaryArchSuffix = $portVersion compat >= 1
libdwarf$secondaryArchSuffix = $portVersion
lib:libdwarf$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libelf$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libzstd$secondaryArchSuffix
"
PROVIDES_devel="
libdwarf${secondaryArchSuffix}_devel = $portVersion
devel:libdwarf$secondaryArchSuffix = $portVersion compat >= 1
devel:libdwarf$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
lib:libdwarf$secondaryArchSuffix == $portVersion base
"
PROVIDES_tools="
libdwarf${secondaryArchSuffix}_tools = $portVersion
cmd:dwarfdump = $portVersion
"
REQUIRES_tools="
lib:libdwarf$secondaryArchSuffix == $portVersion base
haiku$secondaryArchSuffix
lib:libelf$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libelf$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:libzstd$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:gcc$secondaryArchSuffix
cmd:grep
cmd:ld$secondaryArchSuffix
cmd:make
cmd:meson
cmd:ninja
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
cd libdwarf
runConfigure ./configure --enable-shared
make
cd ../dwarfdump
LDFLAGS="-L../libdwarf" ./configure $configureDirArgs
LIBRARY_PATH=$LIBRARY_PATH:%A/../libdwarf
make $jobArgs
meson build --buildtype=release \
--prefix=$prefix \
--libdir=$libDir \
--includedir=$includeDir
ninja -C build
}
INSTALL()
{
cd libdwarf
make install bindir=$binDir libdir=$libDir incdir=$includeDir
cp libdwarf.so.1 $libDir
cp libdwarf.a $libDir
ninja -C build install
cd ../dwarfdump
make install mandir=$manDir
prepareInstalledDevelLib libdwarf
prepareInstalledDevelLibs libdwarf
packageEntries devel \
$developDir
packageEntries devel $developDir
packageEntries tools \
$prefix/bin \
$dataDir \
$manDir
}

View File

@@ -1,107 +0,0 @@
From 295a6a28837307dfe16d7ce26c70e7c4f36b81e5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Wed, 21 Jun 2017 12:05:45 +0200
Subject: LibDWARF: Applying patches
diff --git a/dwarfdump/Makefile.in b/dwarfdump/Makefile.in
index 415a1a6..c110495 100644
--- a/dwarfdump/Makefile.in
+++ b/dwarfdump/Makefile.in
@@ -212,9 +212,11 @@ selftest:
# will work and leave sensible permissions on the resulting files.
# Some adjustment might be required, see README.
install: all
- $(INSTALL) dwarfdump $(bindir)/dwarfdump
- $(INSTALL) $(srcdir)/dwarfdump.conf $(libdir)/dwarfdump.conf
- $(INSTALL) $(srcdir)/dwarfdump.1 $(man1dir)/dwarfdump.1
+ install -m 0755 -d $(bindir)
+ install -m 0755 -d $(man1dir)
+ install -m 0755 dwarfdump $(bindir)
+ install -m 0755 dwarfdump.conf $(libdir)
+ install -m 0755 dwarfdump.1 $(man1dir)
uninstall:
-rm -f $(bindir)/dwarfdump
diff --git a/libdwarf/Makefile.in b/libdwarf/Makefile.in
index 355d2df..ce1c445 100644
--- a/libdwarf/Makefile.in
+++ b/libdwarf/Makefile.in
@@ -227,7 +227,11 @@ clean:
rm -f *~
install: all
- echo "No install provided, see comments in the README"
+ install -m 0755 -d $(incdir)
+ install -m 0755 -d $(libdir)
+ install -m 0755 libdwarf.h $(incdir)
+ install -m 0755 dwarf.h $(incdir)
+ install -m 0755 libdwarf.so $(libdir)
distclean: clean
rm -f config.status config.log config.cache config.h
diff --git a/libdwarf/gennames.c b/libdwarf/gennames.c
index a033f60..c12baf9 100644
--- a/libdwarf/gennames.c
+++ b/libdwarf/gennames.c
@@ -547,8 +547,8 @@ ParseDefinitionsAndWriteOutput(void)
/* errno is cleared here so printing errno after
the fgets is showing errno as set by fgets. */
char *fgbad = 0;
- errno = 0;
fgbad = fgets(line_in,sizeof(line_in),f_dwarf_in);
+ errno = 0;
if(!fgbad) {
if(feof(f_dwarf_in)) {
break;
--
2.7.0
From 933601827fb4ac569ebc7538ae46f2d023809042 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Wed, 21 Jun 2017 12:06:12 +0200
Subject: Hardlinks not supported on BFS
diff --git a/libdwarf/Makefile.in b/libdwarf/Makefile.in
index ce1c445..98513b6 100644
--- a/libdwarf/Makefile.in
+++ b/libdwarf/Makefile.in
@@ -137,7 +137,7 @@ libdwarf.a: dwarf_names.h dwarf_names.c $(OBJS) dwarf_names.o
libdwarf.so: dwarf_names.h dwarf_names.c $(OBJS) dwarf_names.o
$(CC) $(CFLAGS) $(LDFLAGS) -shared $(OBJS) -Wl,-soname=$(SONAME) dwarf_names.o $(dwfzlib) -o $@
- ln libdwarf.so $(SONAME)
+ ln -s libdwarf.so $(SONAME)
nosharedlibrary:
echo "Not building shared library libdwarf.so"
--
2.7.0
From fd415eb7aa4df529183f31688b0f12ab757d78a6 Mon Sep 17 00:00:00 2001
From: begasus <begasus@gmail.com>
Date: Sat, 7 Oct 2017 12:38:02 +0200
Subject: va_copy, gcc2 fix
diff --git a/dwarfdump/esb.c b/dwarfdump/esb.c
index 76e64ff..4991a22 100644
--- a/dwarfdump/esb.c
+++ b/dwarfdump/esb.c
@@ -288,7 +288,9 @@ esb_allocate_more_if_needed(struct esb_s *data,
va_list ap_copy;
/* Preserve the original argument list, to be used a second time */
- va_copy(ap_copy,ap);
+ #if __GNUC__ == 2
+ #define va_copy(ap_copy,ap) __va_copy(ap_copy,ap);
+ #endif
#ifdef _WIN32
netlen = vfprintf(null_device_handle,in_string,ap_copy);
--
2.7.0