# Set bootstrap to 1 to build an aspectc++ package using the ac++/ag++ binary # executables included in the SRPM. This is required to bootstrap building # this package as those binaries are required in order to rebuild themselves. # Once the package has been bootstrapped, set this to 0 and rebuild in order # to create a fully-verifiable built-from-source package. %define bootstrap 0 %define libpuma %mklibname puma -s %define libpuma_d %mklibname puma -d Name: aspectc++ Version: 1.2 Release: %mkrel 4 License: GPLv2+ Group: Development/C URL: http://www.aspectc.org Summary: Compiler for C++ language extension to support aspect orientation Source0: ftp://akut.aspectc.org/releases/%{version}/ac-%{version}.tar.gz %if %bootstrap Source1: ac-1.2-bin.tar.xz %else BuildRequires: aspectc++ >= 1.2 %endif BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(zlib) Patch0: Puma-fix-install.patch %description The AspectC++ compiler enables you to benefit from the aspect oriented programming paradigm. %package -n %{libpuma} Summary: Libraries for %{name} Group: System/Libraries %description -n %{libpuma} The AspectC++ compiler enables you to benefit from the aspect oriented programming paradigm. %package -n %{libpuma_d} Summary: Libraries and header files for %{name} Group: Development/C Requires: %{libpuma} = %{version}-%{release} %description -n %{libpuma_d} This package contains the static development libraries and headers needed to compile applications linked with %name libraries. %prep %setup -q -n %{name} %apply_patches %build %if %bootstrap # extract the binary compiler executables tar xaf %SOURCE1 %ifarch x86_64 export PATH="$PATH:`pwd`/x86_64" %else export PATH="$PATH:`pwd`/i386" %endif %endif make -C Puma make -C AspectC++ SHARED=1 make -C Ag++ SHARED=1 %install %makeinstall_std -C Puma %if "%{?_lib}" == "lib64" mkdir -p %{buildroot}%{_libdir} mv %{buildroot}%{_prefix}/lib/* %{buildroot}%{_libdir} rm -frv %{buildroot}%{_prefix}/lib %endif mkdir -p %{buildroot}%{_bindir} install AspectC++/bin/linux-release/a[cg]++ %{buildroot}%{_bindir} %check # ForcedInclude fails because we're redefining ACOPTFLAGS # ExecAdviceNewDelete fails due to what looks like a 32/64 bit compatibility # issue in the test suite # RepoInvalid and RepoVersion fail for unknown reasons, maybe due to use of # ag++ instead of ac++ sed -i -e 's/\<\(ForcedInclude\|ExecAdviceNewDelete\|RepoInvalid\|RepoVersion\)\>//g' AspectC++/tests/Makefile make -C AspectC++ testall AC="`pwd`/AspectC++/bin/linux-release/ag++" ACOPTFLAGS=--weave_only %files -n %{libpuma} %{_libdir}/libPuma.a %files -n %{libpuma_d} %{_includedir}/Puma %doc Puma/doc/UsersManual/UsersManual.pdf %files %{_bindir}/ac++ %{_bindir}/ag++ %doc AspectC++/doc/NoE_ExecModelSurvey/ac++exec-survey.pdf %doc AspectC++/doc/LanguageReference/LanguageReference.pdf %doc %lang(ru) AspectC++/doc/LanguageReference/LanguageReference-RU.pdf %doc AspectC++/doc/NoE_ShortSurvey/ac++lang-survey.pdf %doc AspectC++/doc/QuickRef/ac++quickref.pdf %doc AspectC++/doc/CompilerManual/CompilerManual.pdf %doc Ag++/doc/Ag++Manual/Ag++Manual.pdf %changelog * Wed Oct 15 2014 umeabot <umeabot> 1.2-4.mga5 + Revision: 739583 - Second Mageia 5 Mass Rebuild * Tue Sep 16 2014 umeabot <umeabot> 1.2-3.mga5 + Revision: 677918 - Mageia 5 Mass Rebuild * Sat Jan 04 2014 pterjan <pterjan> 1.2-2.mga4 + Revision: 564428 - Disable bootstrap * Tue Dec 31 2013 danf <danf> 1.2-1.mga4 + Revision: 563552 - build a new package containing the AspectC++ compiler and use it when rebuilding itself (unless bootstrapping) - renamed libpuma0 to libpuma-static since it only contains a static library - included PDF documentation in packages - enabled running test suite at build time - Upgraded to ver. 1.2 - Added an option to bootstrap the ac++/ag++ binaries from sources instead of relying on opaque binary blobs + umeabot <umeabot> - Mageia 4 Mass Rebuild * Sun Feb 03 2013 neoclust <neoclust> 1.1-1.mga3 + Revision: 394174 - Try to fix build on 64bit - Use a snapshot ( fix gcc build ) - imported package aspectc++