From 9d7ff7128603973424416a2fe8711d132ce4f22e Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Sat, 10 Aug 2013 12:12:53 +0200 Subject: [PATCH] xz_utils-5.0.4: convert recipe to an actual recipe --- app-arch/xz_utils/xz_utils-5.0.4.recipe | 107 ++++++++++++++++++++---- 1 file changed, 89 insertions(+), 18 deletions(-) diff --git a/app-arch/xz_utils/xz_utils-5.0.4.recipe b/app-arch/xz_utils/xz_utils-5.0.4.recipe index 987591dd8..00163c4b7 100644 --- a/app-arch/xz_utils/xz_utils-5.0.4.recipe +++ b/app-arch/xz_utils/xz_utils-5.0.4.recipe @@ -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//, 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."