rpms/bigloo/F-12 bigloo.spec,1.37,1.38

Michel Alexandre Salim salimma at fedoraproject.org
Fri Jul 2 16:29:58 UTC 2010


Author: salimma

Update of /cvs/pkgs/rpms/bigloo/F-12
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv3724/F-12

Modified Files:
	bigloo.spec 
Log Message:
* Fri Jul  2 2010 Michel Salim <salimma at fedoraproject.org> - 3.3a-2.5
- Now complies with Emacs packaging guidelines
- Disable broken XEmacs subpackages



Index: bigloo.spec
===================================================================
RCS file: /cvs/pkgs/rpms/bigloo/F-12/bigloo.spec,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -p -r1.37 -r1.38
--- bigloo.spec	9 May 2010 20:01:59 -0000	1.37
+++ bigloo.spec	2 Jul 2010 16:29:57 -0000	1.38
@@ -6,9 +6,18 @@
 %global patch_ver 5
 %global patch_suffix %{?patch_ver:-%{patch_ver}}
 
+# XEmacs build disabled by default, because bee-indent.el uses a function
+# undefined in XEmacs:
+#   !! Symbol's function definition is void ((file-installed-p))
+# Use --with-xemacs to try and enable XEmacs support
+#
+# For Emacs subpackages
+%global pkg     %{name}
+%global pkgname Bigloo
+
 Name:           bigloo
 Version:        3.3a
-Release:        1%{?patch_ver:.%{patch_ver}}%{?dist}
+Release:        2%{?patch_ver:.%{patch_ver}}%{?dist}
 Summary:        A compiler for the Scheme programming language
 
 Group:          Development/Languages
@@ -18,8 +27,10 @@ Source:         ftp://ftp-sop.inria.fr/m
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires:  emacs
 BuildRequires:  emacs-el
+%if 0%{?_with_xemacs}
 BuildRequires:  xemacs
 BuildRequires:  xemacs-el
+%endif
 BuildRequires:  /sbin/install-info
 BuildRequires:  indent
 BuildRequires:  java-1.6.0-openjdk-devel
@@ -59,39 +70,76 @@ Runtime libraries for Bigloo compiled pr
 
 %package doc
 Summary:        Bigloo documentation
-Group:          Development/Languages
+Group:          Documentation
+BuildArch:      noarch
+# required due to noarch conversion
+Obsoletes:      bigloo-doc < %{version}-%{release}
 
 %description doc
 Documentation for the Bigloo compiler and integrated development
 environment.
 
 
-%package emacs
-Summary:        Bigloo Emacs environment
+%package -n emacs-%{pkg}
+Summary:        Compiled elisp files to run %{pkgname} under GNU Emacs
+Group:          Development/Languages
+BuildArch:      noarch
+Requires:       emacs(bin) >= %{_emacs_version}
+Provides:       bigloo-emacs = %{version}-%{release}
+Obsoletes:      bigloo-emacs < %{version}-%{release}
+
+%description -n emacs-%{pkg}
+This package contains the byte compiled elisp files to run %{pkgname}
+with GNU Emacs.
+
+%package -n emacs-%{pkg}-el
+Summary:        Elisp source files for %{pkgname} under GNU Emacs
 Group:          Development/Languages
-Requires:       emacs-common
+BuildArch:      noarch
+Requires:       emacs-%{pkg} = %{version}-%{release}
 
-%description emacs
-Emacs development environment for Bigloo.
+%description -n emacs-%{pkg}-el
+This package contains the elisp source files for %{pkgname} under GNU Emacs. You
+do not need to install this package to run %{pkgname}. Install the emacs-%{pkg}
+package to use %{pkgname} with GNU Emacs.
 
 
-%package xemacs
-Summary:        Bigloo XEmacs environment
+%if 0%{?_with_xemacs}
+%package -n xemacs-%{pkg}
+Summary:        Compiled elisp files to run %{pkgname} under XEmacs
 Group:          Development/Languages
-Requires:       xemacs-common
+BuildArch:      noarch
+Requires:       xemacs(bin) >= %{_xemacs_version}
+Provides:       bigloo-xemacs = %{version}-%{release}
+Obsoletes:      bigloo-xemacs < %{version}-%{release}
+
+%description -n xemacs-%{pkg}
+This package contains the byte compiled elisp files to run %{pkgname}
+with XEmacs.
 
-%description xemacs
-XEmacs development environment for Bigloo.
+%package -n xemacs-%{pkg}-el
+Summary:        Elisp source files for %{pkgname} under XEmacs
+Group:          Development/Languages
+BuildArch:      noarch
+Requires:       xemacs-%{pkg} = %{version}-%{release}
+
+%description -n xemacs-%{pkg}-el
+This package contains the elisp source files for %{pkgname} under XEmacs. You do
+not need to install this package to run %{pkgname}. Install the xemacs-%{pkg}
+package to use %{pkgname} with XEmacs.
+%endif
 
 
 %prep
 %setup -q -n %{name}%{version}%{?patch_suffix}
-#sed -i 's|bmask=755|bmask=644|' configure
+sed -i 's|bmask=755|bmask=644|' configure
+# encoding fixes
+iconv -f ISO88591 -t UTF8 README -o README.utf8
+touch -r README README.utf8
+mv README.utf8 README
 
 
 %build
-%define emacslisppath %{_datadir}/emacs/site-lisp
-%define xemacslisppath %{_datadir}/xemacs/site-packages/lisp
 %define inplace `pwd`/inplace
 %define bigloo_opt_flags "`echo $RPM_OPT_FLAGS | sed 's/-Wall/-w/g' | sed 's/FORTIFY_SOURCE=./FORTIFY_SOURCE=0/g'`"
 %define bigloo_opt_flags_ -O2 -g -pipe -fexceptions -fstack-protector --param=ssp-buffer-size=4
@@ -106,10 +154,9 @@ export CFLAGS
         --mandir=%{_mandir}/man1 \
         --infodir=%{_infodir} \
         --docdir=%{_docdir} \
-        --lispdir=%{emacslisppath}/bigloo \
+        --lispdir=%{_emacs_sitelispdir}/bigloo \
         --bee=full \
         --native-default-backend \
-        --emacs=emacs \
         --dotnet=no \
         --jvm=yes \
         --sharedbde=yes \
@@ -117,7 +164,8 @@ export CFLAGS
         --customgc=no \
         --coflags="$CFLAGS"
 
-sed -i 's/^EMACSBRAND.*/EMACSBRAND=emacs22/g' Makefile.config
+# not needed anymore
+# sed -i 's/^EMACSBRAND.*/EMACSBRAND=emacs22/g' Makefile.config
 
 # _smp_mflags breaks the build
 env LD_LIBRARY_PATH=`pwd`/lib/%{version} \
@@ -137,7 +185,7 @@ rm -rf $RPM_BUILD_ROOT
 env LD_LIBRARY_PATH=`pwd`/lib/%{version} \
     make DESTDIR=$RPM_BUILD_ROOT install
 env LD_LIBRARY_PATH=`pwd`/lib/%{version} \
-    make DESTDIR=$RPM_BUILD_ROOT EMACSDIR=%{emacslisppath}/bigloo install-bee
+    make DESTDIR=$RPM_BUILD_ROOT EMACSDIR=%{_emacs_sitelispdir}/bigloo install-bee
 make -C manuals DESTDIR=$RPM_BUILD_ROOT install-bee
 
 # fix permissions
@@ -161,21 +209,33 @@ rm -fr $RPM_BUILD_ROOT%{_infodir}/dir
 rm -fr $RPM_BUILD_ROOT%{_datadir}/doc
 
 # emacs
-mkdir -p $RPM_BUILD_ROOT%{emacslisppath}/site-start.d
-cat > $RPM_BUILD_ROOT%{emacslisppath}/site-start.d/bigloo.el <<EOF
+mkdir -p $RPM_BUILD_ROOT%{_emacs_sitestartdir}
+cat > $RPM_BUILD_ROOT%{_emacs_sitestartdir}/bigloo.el <<EOF
 (require 'bmacs)
 EOF
+# nuke xemacs-specific files
+# byte-compile the remaining .el files by hand
+(
+  cd $RPM_BUILD_ROOT%{_emacs_sitelispdir}/bigloo
+  rm bmacs-xemacs.el xemacs-etags.el
+  for f in *.el; do
+    [ -f ${f}c ] || emacs -batch -q -f batch-byte-compile ${f}
+  done
+)
 
+%if 0%{?_with_xemacs}
 (
   cd bmacs
   make clean
-  make EMACS=xemacs EMACSBRAND=xemacs EMACSDIR=$RPM_BUILD_ROOT%{xemacslisppath}/bigloo install
+  make EMACS=xemacs EMACSBRAND=xemacs EMACSDIR=$RPM_BUILD_ROOT%{_xemacs_sitelispdir}/bigloo
+  make EMACS=xemacs EMACSBRAND=xemacs EMACSDIR=$RPM_BUILD_ROOT%{_xemacs_sitelispdir}/bigloo install
 )
 
-mkdir -p $RPM_BUILD_ROOT%{xemacslisppath}/site-start.d
-cat > $RPM_BUILD_ROOT%{xemacslisppath}/site-start.d/bigloo.el <<EOF
+mkdir -p $RPM_BUILD_ROOT%{_xemacs_sitestartdir}
+cat > $RPM_BUILD_ROOT%{_xemacs_sitestartdir}/bigloo.el <<EOF
 (require 'bmacs)
 EOF
+%endif
 
 
 %clean
@@ -210,16 +270,28 @@ fi
 %doc README*
 
 
-%files emacs
+%files -n emacs-bigloo
+%defattr(-,root,root,-)
+%{_emacs_sitelispdir}/bigloo
+%exclude %{_emacs_sitelispdir}/bigloo/*.el
+%{_emacs_sitestartdir}/bigloo.el
+
+%files -n emacs-bigloo-el
 %defattr(-,root,root,-)
-%{emacslisppath}/bigloo
-%{emacslisppath}/site-start.d/bigloo.el
+%{_emacs_sitelispdir}/bigloo/*.el
 
 
-%files xemacs
+%if 0%{?_with_xemacs}
+%files -n xemacs-bigloo
 %defattr(-,root,root,-)
-%{xemacslisppath}/bigloo
-%{xemacslisppath}/site-start.d/bigloo.el
+%{_xemacs_sitelispdir}/bigloo
+%exclude %{_xemacs_sitelispdir}/bigloo/*.el
+%{_xemacs_sitestartdir}/bigloo.el
+
+%files -n xemacs-bigloo-el
+%defattr(-,root,root,-)
+%{_xemacs_sitelispdir}/bigloo/*.el
+%endif
 
 
 %files libs
@@ -233,6 +305,10 @@ fi
 
 
 %changelog
+* Fri Jul  2 2010 Michel Salim <salimma at fedoraproject.org> - 3.3a-2.5
+- Now complies with Emacs packaging guidelines
+- Disable broken XEmacs subpackages
+
 * Sun May  9 2010 Michel Salim <salimma at fedoraproject.org> - 3.3a-1.5
 - Update to 3.3a-5
 



More information about the scm-commits mailing list