%define pkgname faac
%define name	self-build-%{pkgname}
%define version 1.28
%define release	9%{?_dist_release}

%define enable_libmp4v2_external 1

%define sourceurl0	http://prdownloads.sourceforge.net/faac/%{pkgname}-%{version}.tar.bz2

Summary:	Package to automatically build %{pkgname} rpm package
Summary(ja): 	%{pkgname} の rpm パッケージを自動作成するパッケージ
Name:		%{name}
Version:	%{version}
Release: 	%{release}
Source0:	%{pkgname}-vl.spec
Source10:	http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/media-libs/faac/files/faac-1.28-external-libmp4v2.patch
Source11:	mp4v2-strcasestr-vine.diff
Source12:	mp4v2-2.0.0.patch

License:	LGPLv2+
Group:		Restricted Software

Requires(post):		self-build-setup >= 0.9.9

# (build)requies of target package.
Requires(post):		nkf
Requires(post):		autoconf, automake, libtool, gcc-c++
%if %{enable_libmp4v2_external}
Requires(post):         libmp4v2-devel
%endif

BuildArch:	noarch
BuildRoot:	%{_tmppath}/%{name}-%{version}-root

Packager:	munepi

%description
FAAC is an AAC audio encoder. It currently supports MPEG-4 
LTP, MAIN and LOW COMPLEXITY object types and MAIN and LOW
MPEG-2 object types. It also supports multichannel and 
gapless encoding.

%if !%{enable_libmp4v2_external}
The libmp4v2 library provides an abstraction layer for
working with files using the mp4 container format. This
library is developed by mpeg4ip project and is an exact copy
of the library distributed in the mpeg4ip package.
%endif

If you install this package, it automatically downloads 
source code, compile it, and create
rpm packages of %{pkgname}-%{version} and libmp4v2-%{version}. 
And the created rpm packages are automatically installed
if installation is executed by apt-get command or synaptic
package manager.

[Note]
This package requires many other packages to compile
targetsoftware. So it consume more disk space than usual.
Also installation takes logner time because of compilation.
(This will take a few minutes to quarter or half of an hour,
depends on building environment)

[About self-build package]
For some kind of software, distributing of binary package
may viorate the patent or law. Therefore we chose self-build
packge, create binary package on your machine, for such kind
of softwares instead of distributing binary package.

Please obey the national law when you use the created binary
packages. And if you want to use the softwares using patented 
thechnology, it may be required to get a permission, make an 
agreement or purchas a license. Please consider it with your
purpose or way of use and take appropriate action.

%description -l ja
FAAC は AAC オーディオエンコーダーです.現在 MPEG-4 LTP, 
Main/Low Complexity object types, Main/LOW MPEG-2 object 
types をサポートしています.またマルチチャンネルやギャップ
レスエンコーディングもサポートしています.

%if !%{enable_libmp4v2_external}
libmp4v2 ライブラリは mp4 コンテナフォーマットを用いたファイ
ルで動作するものに対して抽象レイヤーを提供します.このライブ
ラリは mpeg4ip プロジェクトにより開発されており,mpeg4ip パッ
ケージに分散されているライブラリの完全なコピーです.
%endif

このパッケージをインストールすると、自動的にソースコードを
ダウンロードしてコンパイルし、%{pkgname}-%{version}
と libmp4v2-%{version} の rpm パッケージを作成します。
また apt-get コマンドや synaptic パッケージマネージャから実行
した場合は、作成された rpm パッケージのインストールも自動的に
行います。

[注意]
コンパイルに必要な多くの関連パッケージを要求するので通常より
ディスクの領域を多く消費します。
またインストール時にコンパイルを行うため、通常より時間がかか
る場合があります。(環境にもよりますが数分から数十分程度)

[self-build パッケージについて]
ソフトウェアによってはバイナリパッケージの配布が特許や法律に
違反する可能性があるものがあります。その為、このような問題が
懸念されるソフトウェアについてはバイナリパッケージを直接配布
せずに、ユーザの環境でバイナリを作成する self-build パッケー
ジという方法を採っています。

作成されたバイナリパッケージの利用にあたっては、各ソフトウェ
アのライセンス、および利用する国の各種法令に従ってください。
また特許に関連するソフトウェアの場合、利用許諾や契約、ライ
センスの購入などが必要となる場合がありますので、利用する目的
や形態に応じて各自で判断し適切な対応を取ってください。


%prep
[ "%{version}-%{release}" != $(rpm -q --queryformat "%%{version}-%%{release}\n" --specfile %{SOURCE0} | tail -1) ] && exit 1

%install
%{__rm} -rf ${RPM_BUILD_ROOT}
%{__install} -d ${RPM_BUILD_ROOT}/%{_datadir}/%{name}
%{__install} -m 644 %{SOURCE0} ${RPM_BUILD_ROOT}/%{_datadir}/%{name}
%{__install} -m 644 %{SOURCE10} ${RPM_BUILD_ROOT}/%{_datadir}/%{name}
%{__install} -m 644 %{SOURCE11} ${RPM_BUILD_ROOT}/%{_datadir}/%{name}
%{__install} -m 644 %{SOURCE12} ${RPM_BUILD_ROOT}/%{_datadir}/%{name}

%clean
%{__rm} -rf ${RPM_BUILD_ROOT}

%posttrans
/usr/lib/rpm/self-build-rpm.sh %{name} %{pkgname}-vl.spec "%{sourceurl0}" 25000
/usr/lib/rpm/pre-allocate-rpm.sh %{pkgname}-%{version}-%{release} \
                                 %{pkgname}-devel-%{version}-%{release}

%files
%defattr(-,root,root)
%{_datadir}/%{name}

%changelog
* Wed Mar 18 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 1.28-9
- added Source12 for building with libmp4v2 2.0.0

* Wed Nov  2 2011 Munehiro Yamamoto <munepi@vinelinux.org> 1.28-8
- s/self-build-libmp4v2/libmp4v2/

* Sat Mar 20 2010 Munehiro Yamamoto <munepi@vinelinux.org> 1.28-7
- renamed %%{Source0} to faac-vl.spec

* Thu Feb 18 2010 Munehiro Yamamoto <munepi@vinelinux.org> 1.28-6
- applied mp4v2-strcasestr.diff from lauchpad
  - fixed wrong declaration of strcasestr() in mpeg4ip.h

* Thu Feb 18 2010 Munehiro Yamamoto <munepi@vinelinux.org> 1.28-5
- rebuilt with mp4v2 v1.9.1
  - applied faac-1.28-external-libmp4v2.patch from Gentoo Linux

* Wed Feb 17 2010 Munehiro Yamamoto <munepi@vinelinux.org> 1.28-4
- applied a progress bar to show approximately building time

* Sun Jun 07 2009 Munehiro Yamamoto <munepi@cg8.so-net.ne.jp> 1.28-3
- added Requires(post): nkf

* Tue May 26 2009 Munehiro Yamamoto <munepi@cg8.so-net.ne.jp> 1.28-2
- added BuildArch: noarch
- avoided to execute self-build-rpm.sh on RPM transaction
  - moved %%post actions to %%posttrans

* Fri Mar 20 2009 Munehiro Yamamoto <munepi@cg8.so-net.ne.jp> 1.28-1
- new upstream release

* Sat Jan 24 2009 Munehiro Yamamoto <munepi@cg8.so-net.ne.jp> 1.26-2
- fixed Summary: , %%description
  - removed internal mp4v2

* Sun Jan 11 2009 Munehiro Yamamoto <munepi@cg8.so-net.ne.jp> 1.26-1
- new upstream release
- added PreReq: self-build-libmp4v2

* Sun Nov 02 2008 Munehiro Yamamoto <munepi@cg8.so-net.ne.jp> 1.25-2
- spec in utf8
- remove *.la

* Sun May 18 2008 Kazutaka HARADA <kazutaka@dc4.so-net.ne.jp> 1.25-1
- run pre-allocate-rpm.sh in %%post
- set PreReq: self-build-setup >= 0.8
- apply new versioning policy

* Sat Mar 8 2008 Munehiro Yamamoto <munepi@cg8.so-net.ne.jp> 1.25-0vl1
- initial build

### end of file