%define pkg cedet %define prerelease 20091110cvs # If the emacs-el package has installed a pkgconfig file, use that to determine # install locations and Emacs version at build time, otherwise set defaults. %if %($(pkg-config emacs) ; echo $?) %define emacs_version 22.1 %define emacs_lispdir %{_datadir}/emacs/site-lisp %define emacs_startdir %{_datadir}/emacs/site-lisp/site-start.d %else %define emacs_version %(pkg-config emacs --modversion) %define emacs_lispdir %(pkg-config emacs --variable sitepkglispdir) %define emacs_startdir %(pkg-config emacs --variable sitestartdir) %endif Name: emacs-%{pkg} Version: 1.0 Release: 0.7.%{prerelease}%{?dist} Summary: Collection of Emacs Development Environment Tools Group: Applications/Editors License: GPLv2+ URL: http://cedet.sourceforge.net/ # The source for this package was pulled from upstream's CVS. Use the # following commands to generate the tarball: # cvs -z3 -d:pserver:anonymous@cedet.cvs.sourceforge.net:/cvsroot/cedet checkout -D 2009-11-10 -P -d cedet-20091110cvs cedet # tar -cjvf cedet-20091110cvs.tar.bz2 cedet-20091110cvs Source0: cedet-%{prerelease}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch # CVS required because of rcs2log used for ChangeLog update. BuildRequires: emacs emacs-el cvs Requires: emacs(bin) >= %{emacs_version} Requires(post): /sbin/install-info Requires(preun): /sbin/install-info # Source: Debian. The patch hasn't been sent to the upstream yet. # Allows to compile semantic-ede-grammar.el. Patch0: emacs-cedet-1.0pre6-semantic-ede-grammar.patch # The patch hasn't been sent to the upstream yet. Patch1: emacs-cedet-1.0-20091110cvs-adebug.patch %description CEDET is a Collection of Emacs Development Environment Tools written with the end goal of creating an advanced development environment in Emacs. CEDET tools include: * EIEIO - CLOS layer for Emacs Lisp * Semantic - Parser Infrastructure for Emacs * Speedbar - Everything browser * EDE - File manager/ Makefile generator * SRecode - Templte manager/ code generator * COGRE - Connected Graph Editor This package contains the files for the GNU Emacs package. If you want XEmacs CEDET package, you need to install xemacs-packages-extra. %package el Summary: Elisp source files for CEDET for GNU Emacs Group: Applications/Editors Requires: %{name} = %{version}-%{release} %description el This package contains the elisp source files for CEDET under GNU Emacs. You do not need to install this package to run CEDET. Install the %{name} package to use CEDET with GNU Emacs. %prep %setup -q -n %{pkg}-%{prerelease} %patch0 -p1 -b .semantic-ede-grammar %patch1 -p1 -b .adebug %build make # Also compile semantic-ede-grammar.el make -C semantic maintenance # Also compile optional parts of speedbar make -C speedbar opt # Make ChangeLogs for CVS version. for package in cogre common contrib ede eieio semantic speedbar srecode do emacs --no-site-file -q -batch -l common/cedet.el \ -l cedet-update-changelog.el \ -eval "(cuc-update-changelog \"$package/\")" done %install rm -rf %{buildroot} %define lispdir %{emacs_lispdir}/%{pkg} %define blispdir %{buildroot}/%{lispdir} # cedet/common %{__mkdir_p} %{blispdir} %{__mkdir_p} %{blispdir}/common %{__install} -m 644 common/*.el{,c} %{blispdir}/common %{__mkdir_p} %{blispdir}/common/icons %{__install} -m 644 common/icons/*.xpm %{blispdir}/common/icons # cedet/contrib %{__mkdir_p} %{blispdir}/contrib %{__install} -m 644 contrib/*.el{,c} %{blispdir}/contrib %{__install} -m 644 contrib/*.wy %{blispdir}/contrib # cogre %{__mkdir_p} %{blispdir}/cogre/templates %{__install} -m 644 cogre/*.el{,c} %{blispdir}/cogre %{__install} -m 644 cogre/*.wy %{blispdir}/cogre %{__install} -m 644 cogre/templates/*.srt %{blispdir}/cogre/templates # ede %{__mkdir_p} %{blispdir}/ede/templates %{__install} -m 644 ede/*.el{,c} %{blispdir}/ede %{__install} -m 644 ede/templates/*.srt %{blispdir}/ede/templates # eieio %{__mkdir_p} %{blispdir}/eieio %{__install} -m 644 eieio/*.el{,c} %{blispdir}/eieio # remove examples and tests %{__rm} -f %{blispdir}/eieio/tree.el{,c} %{__rm} -f %{blispdir}/eieio/call-tree.el{,c} %{__rm} -f %{blispdir}/eieio/linemark.el{,c} %{__rm} -f %{blispdir}/eieio/lmcompile.el{,c} %{__rm} -f %{blispdir}/eieio/eieio-tests.el{,c} # semantic %{__mkdir_p} %{blispdir}/semantic %{__install} -m 644 semantic/*.el{,c} %{blispdir}/semantic %{__install} -m 644 semantic/*.wy %{blispdir}/semantic %{__mkdir_p} %{blispdir}/semantic/bovine %{__install} -m 644 semantic/bovine/*.el{,c} %{blispdir}/semantic/bovine %{__install} -m 644 semantic/bovine/*.by %{blispdir}/semantic/bovine %{__mkdir_p} %{blispdir}/semantic/ctags %{__install} -m 644 semantic/ctags/*.el{,c} %{blispdir}/semantic/ctags %{__mkdir_p} %{blispdir}/semantic/symref %{__install} -m 644 semantic/symref/*.el{,c} %{blispdir}/semantic/symref %{__mkdir_p} %{blispdir}/semantic/wisent %{__install} -m 644 semantic/wisent/*.el{,c} %{blispdir}/semantic/wisent %{__install} -m 644 semantic/wisent/*.wy %{blispdir}/semantic/wisent # speedbar %{__mkdir_p} %{blispdir}/speedbar %{__install} -m 644 speedbar/*.el{,c} %{blispdir}/speedbar %{__install} -m 644 speedbar/*.xpm %{blispdir}/speedbar # srecode %{__mkdir_p} %{blispdir}/srecode/templates %{__install} -m 644 srecode/*.el{,c} %{blispdir}/srecode %{__install} -m 644 srecode/templates/*.srt %{blispdir}/srecode/templates # Install startup script %{__mkdir_p} %{buildroot}%{emacs_startdir} %{__cat} > %{buildroot}%{emacs_startdir}/cedet.el << EOF ;; Load CEDET (load-file "%{lispdir}/common/cedet.elc") ;; Enabling various SEMANTIC minor modes. See INSTALL.semantic for more ideas. ;; Select one of the following (semantic-load-enable-code-helpers) ;; (semantic-load-enable-guady-code-helpers) ;; (semantic-load-enable-excessive-code-helpers) ;; Enable this if you develop in semantic, or develop grammars ;; (semantic-load-enable-semantic-debugging-helpers) EOF # Install infopages %{__mkdir_p} %{buildroot}%{_infodir} for info in cogre/cogre.info \ ede/ede.info \ eieio/eieio.info \ semantic/doc/bovine.info \ semantic/doc/grammar-fw.info \ semantic/doc/semantic-appdev.info \ semantic/doc/semantic-langdev.info \ semantic/doc/semantic-user.info \ semantic/doc/semantic.info \ semantic/doc/wisent.info \ speedbar/speedbar.info \ srecode/srecode.info; do %{__install} -m 644 ${info} %{buildroot}%{_infodir} done # Install docs for dir in cogre common contrib ede eieio semantic speedbar srecode; do for file in ChangeLog INSTALL NEWS ONEWS README AUTHORS; do if [ -f ${dir}/${file} ]; then %{__install} -m 644 ${dir}/${file} ${file}.${dir} fi done done %clean rm -rf %{buildroot} %post %define info_files cogre ede eieio bovine grammar-fw semantic-appdev semantic-langdev semantic-user semantic wisent speedbar srecode for f in %{info_files}; do /sbin/install-info %{_infodir}/$f.info* %{_infodir}/dir 2> /dev/null || : done %preun if [ "$1" = 0 ]; then for f in %{info_files}; do /sbin/install-info --delete %{_infodir}/$f.info* %{_infodir}/dir 2> /dev/null || : done fi %files %defattr(-,root,root,-) %doc ChangeLog* INSTALL* *NEWS* PRERELEASE_CHECKLIST README* %doc %{_infodir}/*.info* %{emacs_startdir}/*.el %dir %{lispdir}/common %{lispdir}/common/*.elc %dir %{lispdir}/common/icons %{lispdir}/common/icons/*.xpm %dir %{lispdir}/contrib %{lispdir}/contrib/*.elc %dir %{lispdir}/cogre %{lispdir}/cogre/*.elc %dir %{lispdir}/cogre/templates %{lispdir}/cogre/templates/*.srt %dir %{lispdir}/ede %{lispdir}/ede/*.elc %dir %{lispdir}/ede/templates %{lispdir}/ede/templates/*.srt %dir %{lispdir}/eieio %{lispdir}/eieio/*.elc %dir %{lispdir}/semantic %{lispdir}/semantic/*.elc %dir %{lispdir}/semantic/bovine %{lispdir}/semantic/bovine/*.elc %dir %{lispdir}/semantic/ctags %{lispdir}/semantic/ctags/*.elc %dir %{lispdir}/semantic/symref %{lispdir}/semantic/symref/*.elc %dir %{lispdir}/semantic/wisent %{lispdir}/semantic/wisent/*.elc %dir %{lispdir}/speedbar %{lispdir}/speedbar/*.elc %{lispdir}/speedbar/*.xpm %dir %{lispdir}/srecode %{lispdir}/srecode/*.elc %dir %{lispdir}/srecode/templates %{lispdir}/srecode/templates/*.srt # The package parses information directly from this files %{lispdir}/common/cedet.el %{lispdir}/common/ezimage.el %{lispdir}/contrib/cedet-contrib.el %{lispdir}/cogre/cogre.el %{lispdir}/ede/ede.el %{lispdir}/eieio/eieio.el %{lispdir}/semantic/semantic.el %{lispdir}/speedbar/speedbar.el %{lispdir}/srecode/srecode.el # These files cannot be compiled. %{lispdir}/common/cedet-loaddefs.el %{lispdir}/contrib/contrib-loaddefs.el %{lispdir}/cogre/cogre-loaddefs.el %{lispdir}/ede/ede-loaddefs.el %{lispdir}/eieio/eieio-loaddefs.el %{lispdir}/semantic/semantic-loaddefs.el %{lispdir}/speedbar/speedbar-loaddefs.el %{lispdir}/srecode/srecode-loaddefs.el %files el %defattr(-,root,root,-) %{lispdir}/common/*.el %{lispdir}/contrib/*.el %{lispdir}/contrib/*.wy %{lispdir}/cogre/*.el %{lispdir}/cogre/*.wy %{lispdir}/ede/*.el %{lispdir}/eieio/*.el %{lispdir}/semantic/*.el %{lispdir}/semantic/*.wy %{lispdir}/semantic/bovine/*.el %{lispdir}/semantic/bovine/*.by %{lispdir}/semantic/ctags/*.el %{lispdir}/semantic/symref/*.el %{lispdir}/semantic/wisent/*.el %{lispdir}/semantic/wisent/*.wy %{lispdir}/speedbar/*.el %{lispdir}/srecode/*.el # Excluded files are a part of core package. %exclude %{lispdir}/common/cedet.el %exclude %{lispdir}/common/cedet-loaddefs.el %exclude %{lispdir}/common/ezimage.el %exclude %{lispdir}/contrib/cedet-contrib.el %exclude %{lispdir}/contrib/contrib-loaddefs.el %exclude %{lispdir}/cogre/cogre.el %exclude %{lispdir}/cogre/cogre-loaddefs.el %exclude %{lispdir}/ede/ede.el %exclude %{lispdir}/ede/ede-loaddefs.el %exclude %{lispdir}/eieio/eieio.el %exclude %{lispdir}/eieio/eieio-loaddefs.el %exclude %{lispdir}/semantic/semantic.el %exclude %{lispdir}/semantic/semantic-loaddefs.el %exclude %{lispdir}/speedbar/speedbar.el %exclude %{lispdir}/speedbar/speedbar-loaddefs.el %exclude %{lispdir}/srecode/srecode.el %exclude %{lispdir}/srecode/srecode-loaddefs.el %changelog * Tue Nov 10 2009 Karel Klic - 1.0-0.7.20091110cvs - Requires emacs - Updated to CVS pre-release version, because pre6 version contains too many bugs - Removed patches included in current version - Added patch for proper adebug loading - Install cogre template files (srt) * Sat Nov 7 2009 Xavier Maillard - 1.0-0.6.pre6 - Install missing semantic symref and ctags * Wed Nov 5 2009 Karel Klic - 1.0-0.5.pre6 - Installed info files are visible in the info listing - Optional parts of speedbar are now included in the base package * Wed Nov 4 2009 Xavier Maillard - 1.0-0.4.pre6 - Install srecode and ede template files (srt) * Wed Nov 4 2009 Karel Klic - 1.0-0.3.pre6 - Added semantic-ede-grammar, allow-noninteger-inode, and fix-parent-project patches Fixes project creation using ede-new * Wed Nov 4 2009 Karel Klic - 1.0-0.2.pre6 - Install ezimage.el in the main package, because it is probed by the code * Mon Nov 2 2009 Karel Klic - 1.0-0.1.pre6 - Initial packaging based on Mandriva spec file