0
0
Fork 0
haikuports/media-sound/lame/lame-3.99.5.recipe

127 lines
3.7 KiB
Bash

SUMMARY="A high quality MPEG Audio Layer III (MP3) encoder"
DESCRIPTION="Following the great history of GNU naming, LAME originally stood \
for LAME Ain't an Mp3 Encoder. LAME is an educational tool to be used for \
learning about MP3 encoding. The goal of the LAME project is to use the open \
source model to improve the psycho acoustics, noise shaping and speed of MP3.
Many popular ripping and encoding programs include the LAME encoding engine.
LAME features:
- Many improvements in quality and speed over ISO reference software.
- MPEG1,2 and 2.5 layer III encoding.
- CBR (constant bitrate) and two types of variable bitrate, VBR and ABR.
- Encoding engine can be compiled as a shared library (Linux/UNIX), DLL, \
Directshow filter or ACM codec (Windows).
- Free format encoding and decoding.
- GPSYCHO: a GPL'd psycho acoustic and noise shaping model.
- Powerful and easy to use presets.
- Quality better than all other encoders at most bitrates.
- Fast! Encodes faster than real time on a PentiumII 266mhz at highest \
quality mode.
- MP3x: a GTK/X-Window MP3 frame analyzer for both .mp3 and unencoded audio \
files."
HOMEPAGE="http://lame.sourceforge.net/"
COPYRIGHT="1998-2012 Mike Cheng et al."
LICENSE="GNU LGPL v2"
REVISION="9"
SOURCE_URI="http://downloads.sourceforge.net/project/lame/lame/3.99/lame-$portVersion.tar.gz"
CHECKSUM_SHA256="24346b4158e4af3bd9f2e194bb23eb473c75fb7377011523353196b19b9a23ff"
PATCHES="lame-$portVersion.patchset"
ADDITIONAL_FILES="
gtk.m4
lib-link.m4
lib-ld.m4
lib-prefix.m4
"
ARCHITECTURES="all"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
PROVIDES="
lame$secondaryArchSuffix = $portVersion compat >= 1
lib:libmp3lame$secondaryArchSuffix = 0.0.0 compat >= 0
"
if [ -z "$secondaryArchSuffix" ]; then
PROVIDES="$PROVIDES
cmd:lame = $portVersion compat >= 1
"
fi
REQUIRES="
haiku$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libncurses$secondaryArchSuffix
"
PROVIDES_devel="
lame${secondaryArchSuffix}_devel = $portVersion
devel:libmp3lame${secondaryArchSuffix} = 0.0.0 compat >= 0
"
REQUIRES_devel="
lame${secondaryArchSuffix} == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libiconv$secondaryArchSuffix
devel:libncurses$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:aclocal_1.13
cmd:autoconf
cmd:automake_1.13
cmd:gcc${secondaryArchSuffix}
cmd:ld${secondaryArchSuffix}
cmd:libtoolize$secondaryArchSuffix
cmd:make
cmd:m4
cmd:sed
cmd:find
"
BUILD()
{
mkdir -p m4
# configure checks for gtk, but they didn't include the gtk.m4 so we need to.
cp $portDir/additional-files/gtk.m4 m4/gtk.m4
cp `aclocal --print-ac-dir`/iconv.m4 m4/iconv.m4
cp $portDir/additional-files/lib-link.m4 m4/lib-link.m4
cp $portDir/additional-files/lib-ld.m4 m4/lib-ld.m4
cp $portDir/additional-files/lib-prefix.m4 m4/lib-prefix.m4
sed -i 's/AM_C_PROTOTYPES//' configure.in
sed -i 's/AUTOMAKE_OPTIONS = foreign $(top_srcdir)\/ansi2knr//' \
libmp3lame/i386/Makefile.am
sed -i 's/AUTOMAKE_OPTIONS = foreign ansi2knr//' \
doc/man/Makefile.am
sed -i 's/AUTOMAKE_OPTIONS = foreign ansi2knr//' \
doc/html/Makefile.am
sed -i 's/HAVE_SNDFILE="yes"/HAVE_SNDFILE="no"/g' configure.in
sed -i 's/PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0.2, HAVE_SNDFILE="no", HAVE_SNDFILE="no")/HAVE_SNDFILE="no"/' configure.in
sed -i 's/@SNDFILE_CFLAGS@/-ffast-math/g' frontend/*
sed -i 's/@SNDFILE_LIBS@/-ffast-math/g' frontend/*
libtoolize --force --copy --install
aclocal-1.13 -I m4
automake-1.13
autoconf
runConfigure ./configure
make $jobArgs
}
INSTALL()
{
make install
if [ -n "$secondaryArchSuffix" ]; then
rm $binDir/lame
fi
rm $libDir/libmp3lame.la
# prepare devel/lib
prepareInstalledDevelLibs libmp3lame
fixPkgconfig
# devel package
packageEntries devel $developDir
}