xz_utils-5.0.4: convert recipe to an actual recipe

This commit is contained in:
Ingo Weinhold
2013-08-10 12:12:53 +02:00
parent 5d1de7c96d
commit 9d7ff71286

View File

@@ -1,37 +1,108 @@
DESCRIPTION="XZ Utils is data compression software for working with LZMA compressed files."
SUMMARY="Free general-purpose data compression software"
HOMEPAGE="http://tukaani.org/xz/"
SRC_URI="http://tukaani.org/xz/xz-5.0.4.tar.bz2"
CHECKSUM_MD5="741cd3a5f64b23b7bac56ec5b2258715"
LICENSE="
GNU LGPL v2.1
GNU GPL v2
GNU GPL v3
"
COPYRIGHT="2005-2012 Lasse Collin"
REVISION="1"
STATUS_HAIKU="stable"
MESSAGE="This port only builds with gcc4."
DEPEND=""
ARCHITECTURES="x86"
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
# x86_gcc2 is fine as primary target architecture as long as we're building
# for a different secondary architecture.
ARCHITECTURES="$ARCHITECTURES x86_gcc2"
else
ARCHITECTURES="$ARCHITECTURES !x86_gcc2"
fi
SECONDARY_ARCHITECTURES="x86"
# On x86_gcc2 we don't want to install the commands in bin/<arch>/, but in bin/.
commandSuffix=$secondaryArchSuffix
commandBinDir=$binDir
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
PROVIDES="
xz_utils$secondaryArchSuffix = $portVersion compat >= 5
cmd:lzcat$commandSuffix = $portVersion compat >= 5
cmd:lzcmp$commandSuffix = $portVersion compat >= 5
cmd:lzdiff$commandSuffix = $portVersion compat >= 5
cmd:lzegrep$commandSuffix = $portVersion compat >= 5
cmd:lzfgrep$commandSuffix = $portVersion compat >= 5
cmd:lzgrep$commandSuffix = $portVersion compat >= 5
cmd:lzless$commandSuffix = $portVersion compat >= 5
cmd:lzma$commandSuffix = $portVersion compat >= 5
cmd:lzmadec$commandSuffix = $portVersion compat >= 5
cmd:lzmainfo$commandSuffix = $portVersion compat >= 5
cmd:lzmore$commandSuffix = $portVersion compat >= 5
cmd:unlzma$commandSuffix = $portVersion compat >= 5
cmd:unxz$commandSuffix = $portVersion compat >= 5
cmd:xz$commandSuffix = $portVersion compat >= 5
cmd:xzcat$commandSuffix = $portVersion compat >= 5
cmd:xzcmp$commandSuffix = $portVersion compat >= 5
cmd:xzdec$commandSuffix = $portVersion compat >= 5
cmd:xzdiff$commandSuffix = $portVersion compat >= 5
cmd:xzegrep$commandSuffix = $portVersion compat >= 5
cmd:xzfgrep$commandSuffix = $portVersion compat >= 5
cmd:xzgrep$commandSuffix = $portVersion compat >= 5
cmd:xzless$commandSuffix = $portVersion compat >= 5
cmd:xzmore$commandSuffix = $portVersion compat >= 5
lib:liblzma$secondaryArchSuffix = $portVersion compat >= 5
devel:liblzma$secondaryArchSuffix = $portVersion compat >= 5
"
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
"
BUILD_REQUIRES="
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:libtoolize
cmd:make
"
SOURCE_DIR="xz-$portVersion"
BUILD()
{
cd xz-5.0.4
touch po/t-cs.gmo
libtoolize --force --copy --install
COMMON_DOCS=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--docdir=$COMMON_DOCS/doc/xz \
--mandir=$COMMON_DOCS/man \
--localedir=`finddir B_COMMON_DATA_DIRECTORY`/locale
make
runConfigure --omit-dirs binDir ./configure --bindir=$commandBinDir
make $jobArgs
}
INSTALL()
{
cd xz-5.0.4
make install
expanderRulesDir=$dataDir/expander/rules
mkdir -p $expanderRulesDir
cp "$portDir/sources/xz_utils-expander-rules" "$expanderRulesDir/xz_utils"
prepareInstalledDevelLibs liblzma
}
TEST()
{
cd xz-5.0.4
make check
}
LICENSE="GNU LGPL v2.1
GNU GPL v2
GNU GPL v3"
COPYRIGHT="2005-2012 Lasse Collin"
DESCRIPTION="XZ Utils is free general-purpose data compression software with high compression ratio. XZ Utils were written for POSIX-like systems, but also work on some not-so-POSIX systems. XZ Utils are the successor to LZMA Utils.
The core of the XZ Utils compression code is based on LZMA SDK, but it has been modified quite a lot to be suitable for XZ Utils. The primary compression algorithm is currently LZMA2, which is used inside the .xz container format. With typical files, XZ Utils create 30 % smaller output than gzip and 15 % smaller output than bzip2.
XZ Utils consist of several components:
* liblzma is a compression library with API similar to that of zlib.
* xz is a command line tool with syntax similar to that of gzip.
* xzdec is a decompression-only tool smaller than the full-featured xz tool.
* A set of shell scripts (xzgrep, xzdiff, etc.) have been adapted from gzip to ease viewing, grepping, and comparing compressed files.
* Emulation of command line tools of LZMA Utils eases transition from LZMA Utils to XZ Utils.
While liblzma has a zlib-like API, liblzma doesn't include any file I/O functions. A separate I/O library is planned, which would abstract handling of .gz, .bz2, and .xz files with an easy to use API."