Files
haikuports/dev-libs/libdwarf/libdwarf-0.6.0.recipe
2023-03-27 20:12:03 +02:00

102 lines
3.0 KiB
Bash

SUMMARY="Libraries to dump and manipulate DWARF data"
DESCRIPTION="DWARF is a widely used, standardized debugging data format. \
DWARF was originally designed along with Executable and Linkable Format (ELF),\
although it is independent of object file formats. The name is a medieval \
fantasy complement to ELF that has no official meaning, although the \
backronym 'Debugging With Attributed Record Formats' was later proposed.
The DWARF Debugging Information Format is of interest to programmers working \
on compilers and debuggers (and anyone interested in reading or writing DWARF \
information). DWARF uses a data structure called a Debugging Information Entry \
(DIE) to represent each variable, type, procedure, etc. It was developed by a \
committee (known as the PLSIG at the time) starting around 1991. Starting \
around 1991 SGI developed the libdwarf and dwarfdump tools for internal use and \
as part of SGI IRIX developer tools. Since that time dwarfdump and libdwarf \
have been shipped (as an executable and archive respectively, not source) with \
every release of the SGI MIPS/IRIX C compiler. In 1994 (I think the correct \
year) SGI agreed to open-source libdwarf (and in 1999 to open-source dwarfdump) \
so anyone could use them.
"
HOMEPAGE="https://www.prevanders.net/dwarf.html"
COPYRIGHT="2000,2002,2004,2005 Silicon Graphics, Inc.
2007-2010 David Anderson
2007-2010 Sun Microsystems, Inc."
LICENSE="GNU GPL v2
GNU LGPL v2.1"
REVISION="2"
SOURCE_URI="https://www.prevanders.net/libdwarf-$portVersion.tar.xz"
CHECKSUM_SHA256="8d6f2e67ac6fae59c7019bf41b58fa620187a136cd5977e117f15b820ffc7e75"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="0.6.0"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
libdwarf$secondaryArchSuffix = $portVersion
lib:libdwarf$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libzstd$secondaryArchSuffix
"
PROVIDES_devel="
libdwarf${secondaryArchSuffix}_devel = $portVersion
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:gcc$secondaryArchSuffix
cmd:make
cmd:meson
cmd:ninja
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
meson build --buildtype=release \
--prefix=$prefix \
--libdir=$libDir \
--includedir=$includeDir
ninja -C build
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLib libdwarf
packageEntries devel \
$developDir
packageEntries tools \
$prefix/bin \
$dataDir \
$manDir
}