%define name gcc-plugin-melt %define srcname melt-%{meltversion}-plugin-for-gcc-%{meltbranch} %define meltversion 0.9.1rc1 %define version 0.9.1.0rc1 %define meltbranch 4.6 %define gccplugindir %(gcc -print-file-name=plugin) %define vimdir %{_datadir}/vim Name: %{name} Version: %{version} Epoch: 2 Release: 20 License: GPLv3 Summary: Middle End Lisp Translator GCC plugin Group: Development/C URL: http://gcc-melt.org Source0: http://gcc-melt.org/%{srcname}.tgz # From https://gitorious.org/melt-vim-syntax/melt-vim-syntax/archive-tarball/master Source1: melt-vim-syntax.tar.gz Source2: ftdetect-melt.vim Patch0: melt-stage0-static.patch Patch1: gcc-plugin-melt-parallel-build.patch Requires: gcc Requires: gcc-plugin-devel Suggests: %{name}-doc Suggests: %{name}-vim BuildConflicts: gccmelt BuildRequires: gcc-plugin-devel BuildRequires: gmp-devel BuildRequires: ppl-devel BuildRequires: ppl_c-devel BuildRequires: mpfr-devel BuildRequires: libmpc-devel BuildRequires: texinfo BuildRequires: texi2html BuildRequires: autogen Provides: gccmelt %description GCC MELT is a GCC plugin providing a lispy domain specific language to easily code GCC extensions in. GCC MELT should interest any important software project (coded in C, C++, Ada, Fortran, ...), compiled with GCC, since it facilitates the development of customized GCC extensions for: * specific warnings or typechecks * specific optimizations * coding rules validation * source code navigation or processing, in particular aspect oriented programming, retro-engineering or refactoring tasks * Any processing taking advantage of powerful GCC internal representations of your source code. %post %_install_info meltplugin.info %_install_info meltpluginapi.info %preun %_remove_install_info meltplugin.info %_remove_install_info meltpluginapi.info %files %{_bindir}/pygmentize-melt %{gccplugindir}/include/* %{gccplugindir}/melt-sources/* %{gccplugindir}/melt-modules/* %{gccplugindir}/melt-module.mk %{gccplugindir}/melt.so %{_infodir}/meltplugin* %package doc Summary: GCC MELT Plugin Documentation BuildArch: noarch %description doc This package provides the GCC MELT documentation. %files doc %doc %{_docdir}/gcc-plugin-melt-doc %package vim Summary: VIM plugin to handle GCC MELT files BuildArch: noarch %description vim This package provides the VIM plugin for syntax and file type handling of MELT sources. %files vim %{vimdir}/ftdetect/ %{vimdir}/ftplugin/ %{vimdir}/syntax/ %prep %setup -q -n %{srcname} -a 1 # Required workaround suggested by basile to build on x86 #patch0 -p0 -b .stage0 # Removing of .NOTPARALLEL in MELT-Plugin-Makefile # Must be one WITH usage of make -j (or %make) #patch1 -p0 -b .notparallel # Avoid consuming too much memory #sed -ri \ # -e 's/MELTGCC_OPTIMFLAGS= -O2/MELTGCC_OPTIMFLAGS= -O0/g' \ # Makefile %build export LC_ALL=C %make all %install export LC_ALL=C %make DESTDIR=%{buildroot}/ install %{__install} -m755 -d %{buildroot}%{_bindir} %{__install} -m755 -d %{buildroot}%{vimdir} %{__install} -m755 -d %{buildroot}%{_infodir} %{__install} -m755 -d %{buildroot}%{_docdir}/%{name}-doc/html/ %{__install} -m644 *.info %{buildroot}%{_infodir} %{__install} -m644 *.html %{buildroot}%{_docdir}/%{name}-doc/html/ %{__install} -m644 -D %{SOURCE2} %{buildroot}%{vimdir}/ftdetect/melt.vim %{__install} -m644 -D melt-vim-syntax-melt-vim-syntax/ftplugin/melt.vim %{buildroot}%{vimdir}/ftplugin/melt.vim %{__install} -m644 -D melt-vim-syntax-melt-vim-syntax/syntax/melt.vim %{buildroot}%{vimdir}/syntax/melt.vim %{__install} -m755 pygmentize-melt %{buildroot}%{_bindir}/ %clean rm -fr %{buildroot} %changelog * Thu Oct 20 2011 Alexandre Lissy <alissy@mandriva.com> 2:0.9.1.0rc1-20 + Revision: 705531 - Rebuild against gcc 4.6.2 * Sun Oct 16 2011 Alexandre Lissy <alissy@mandriva.com> 2:0.9.1.0rc1-19 + Revision: 704859 - Updating to gcc melt 0.9.1 rc1 * Tue Sep 27 2011 Alexandre Lissy <alissy@mandriva.com> 2:0.9-18 + Revision: 701487 - Push Epoch due to 0.9rc ... - Updating to 0.9 final release * Wed Sep 14 2011 Alexandre Lissy <alissy@mandriva.com> 1:0.9rc2-17 + Revision: 699749 - Updating to MELT 0.9rc2 - Updating to latest rc1 release. * Fri Sep 02 2011 Alexandre Lissy <alissy@mandriva.com> 1:0.9rc0-14 + Revision: 697830 - Update to 0.9rc0 * Tue Aug 30 2011 Alexandre Lissy <alissy@mandriva.com> 1:0.8.99-14 + Revision: 697505 - Updating vim syntax - Disable optimization -OO, revert to default -O2 * Tue Aug 30 2011 Alexandre Lissy <alissy@mandriva.com> 1:0.8.99-12 + Revision: 697496 - Update to latest git snapshot - Contains fix for version mismatch - Contains fix for meltgendoc smooth failure * Tue Aug 30 2011 Alexandre Lissy <alissy@mandriva.com> 1:0.8.99-9 + Revision: 697440 - Let's use -02 * Mon Aug 29 2011 Alexandre Lissy <alissy@mandriva.com> 1:0.8.99-8 + Revision: 697335 - Updating to latest git snapshot - Several build fixes not yet upstream - Integrating fixes for .c path - Fix several bugs - Adding ftdetect support - Adding ftdetect support for VIM MELT syntax * Thu Aug 25 2011 Alexandre Lissy <alissy@mandriva.com> 1:0.8.99-5 + Revision: 697077 - Adding missils BuildRequires: autogen - GCC MELT 0.8.99, pre-0.9 release - Adding VIM support for MELT sources - Adding missing 'Requires:' against gcc-plugin-devel - Update release - Adding suggests for Vim plugin - Enabling parallel build - Re-enabling make -j as suggested by Basile - Remove deprecated stuff - Fix documentation package - Adding Vim plugin - Latest pre-0.9 snapshot - Fixing buggy tarball - Unofficial 0.8.0.99 release, from SVN to prepare for 0.8.1 and test things ... * Thu Jul 21 2011 Alexandre Lissy <alissy@mandriva.com> 1:0.8-2 + Revision: 690802 - Fix melt sources path (temporary) - Adding missing melt-sources/ directory Forcing 'install-melt-source' Makefile target (should be fixed next release) * Sun Jul 17 2011 Alexandre Lissy <alissy@mandriva.com> 1:0.8-1 + Revision: 690150 - Fix paths - Fix changed paths - Fix removed gccplugindir macro - Disable doc for now - Fix compilation: make -j is still failing - Setting Epoch - Remove gcc version - 0.8-1 - Version 0.8.0 release 1 - Release bump - Preparing for 0.8 - Fix gengtype call * Fri Jul 08 2011 Alexandre Lissy <alissy@mandriva.com> 4.6.1+0.8rc2-1 + Revision: 689316 - Updating to MELT plugin 0.8rc2 * Fri Jul 01 2011 Alexandre Lissy <alissy@mandriva.com> 4.6.1+0.7-6 + Revision: 688500 - Bump release - Adding gccmelt provides * Wed Jun 29 2011 Alexandre Lissy <alissy@mandriva.com> 4.6.1+0.7-5 + Revision: 688296 - Fix inconsistency between docdir - Fix inconsistent path for gcc-plugin-melt-doc * Wed Jun 29 2011 Alexandre Lissy <alissy@mandriva.com> 4.6.1+0.7-4 + Revision: 688235 - Introducing documentation package for GCC MELT * Wed Jun 29 2011 Alexandre Lissy <alissy@mandriva.com> 4.6.1+0.7-3 + Revision: 688210 - Remove unneeded dependency against gcc-plugin-devel Release bump * Tue Jun 28 2011 Alexandre Lissy <alissy@mandriva.com> 4.6.1+0.7-2 + Revision: 687647 - gcc-plugin-devel release bump - gcc-plugin-devel release bump * Mon Jun 27 2011 Alexandre Lissy <alissy@mandriva.com> 4.6.1+0.7-1 + Revision: 687596 - Fix gcc plugin directory - Fix missing /usr/bin creation in buildroot - Fix pygmentize-melt installation Fix file globbing in gccdir - Fix documentation directory creation Set building/installing process quiet - Introducing separate gcc-plugin-melt package - Created package structure for gcc-plugin-melt.