rpms/eclipse-cdt/devel eclipse-cdt.spec,1.14,1.15

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Thu Apr 28 01:37:29 UTC 2005


Author: pmuldoon

Update of /cvs/dist/rpms/eclipse-cdt/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv32738

Modified Files:
	eclipse-cdt.spec 
Log Message:
* Wed Apr 27 2005 Phil Muldoon <pmuldoon at redhat.com> 3.0.0_fc-0.M6.5
- Changed to find-and-aot-compile build usage
- Added "if gcj_support" toggle
- Fixed installing all arch fragments (now only installs one (correct) arch)
- Redid BuildRequires and Requires



Index: eclipse-cdt.spec
===================================================================
RCS file: /cvs/dist/rpms/eclipse-cdt/devel/eclipse-cdt.spec,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- eclipse-cdt.spec	21 Apr 2005 19:49:30 -0000	1.14
+++ eclipse-cdt.spec	28 Apr 2005 01:37:27 -0000	1.15
@@ -1,26 +1,9 @@
 Epoch: 1
 ExclusiveArch: i386 x86_64 ppc
 
-%ifarch %{ix86}
-%define eclipse_arch    x86
-%endif
-%ifarch x86_64
-%define eclipse_arch	x86_64
-%endif
-%ifarch ia64
-%define eclipse_arch	ia64
-%endif
-%ifarch ppc
-%define eclipse_arch    ppc
-%endif
-%ifarch ppc64
-%define eclipse_arch	ppc64
-%endif
-%ifarch ppc64pseries
-%define eclipse_arch	ppc64
-%endif
-
+%define gcj_support 		1
 %define pkg_summary		C/C++ Development Tools (CDT) plugin for Eclipse
+%define section			free
 %define eclipse_name		eclipse
 %define major   		3
 %define minor   		0	
@@ -29,15 +12,22 @@
 %define eclipse_base   		%{_datadir}/%{eclipse_name}
 %define eclipse_lib_base 	%{_libdir}/%{eclipse_name}
 
+# All arches line up except i386 -> x86
+%ifarch %{ix86}
+%define eclipse_arch    x86
+%else
+%define eclipse_arch   %{_arch}
+%endif
+
 Summary: 	%{pkg_summary}
 Name: 		%{eclipse_name}-cdt
 Version: 	%{majmin}.%{micro}_fc
-Release: 	0.M6.4
+Release: 	0.M6.5
 License:	Eclipse Public License - v 1.0 (EPL) <http://www.eclipse.org/legal/epl-v10.html>
 Group: 		Text Editors/Integrated Development Environments (IDE)
 URL:		http://www.eclipse.org/cdt
 Requires:	eclipse-platform
-Requires:	gcc-java
+
 
 Source0: %{name}-fetched-src-3.0M6.tar.gz
 Patch1: %{name}-no-cvs2-patch
@@ -47,22 +37,16 @@
 Patch5: %{name}-no-sdkbuild.patch
 Patch6: %{name}-libhover.patch
 
-BuildRequires: 	jpackage-utils >= 0:1.5
-BuildRequires: 	gtk2-devel
-BuildRequires: 	glib2-devel
-BuildRequires: 	gnome-vfs2-devel
-BuildRequires: 	desktop-file-utils
-BuildRequires: 	eclipse-platform
-BuildRequires: 	eclipse-jdt
-BuildRequires: 	eclipse-pde
-BuildRequires: 	libswt3-gtk2
-BuildRequires: 	eclipse-gtk2
-BuildRequires:  gcc-java >= 4.0.0-0.35
-BuildRequires:  java-1.4.2-gcj-compat-devel >= 1.4.2.0-40jpp_4rh
+BuildRequires: eclipse-pde
+%if %{gcj_support}
+BuildRequires:  gcc-java >= 4.0.0-1
+BuildRequires:  java-1.4.2-gcj-compat-devel >= 1.4.2.0-40jpp_18rh
+Requires(post,postun): java-1.4.2-gcj-compat >= 1.4.2.0-40jpp_18rh
+%else
+BuildRequires:	java-devel >= 1.4.2
+%endif
 
 Requires: 	ctags gdb make eclipse-platform
-Requires:       java-1.4.2-gcj-compat >= 1.4.2.0-40jpp_14rh
-Requires:       gcc-java >= 4.0.0-0.35
 
 BuildRoot: 	%{_tmppath}/%{name}-buildroot
 
@@ -97,10 +81,8 @@
 
 # Eclipse may try to write to the home directory.
 mkdir home
-mkdir native
 
 homedir=$(cd home > /dev/null && pwd)
-nativehome=$(cd native > /dev/null && pwd)
 
 pushd `pwd`
 cd org.eclipse.cdt.releng
@@ -123,98 +105,120 @@
     -Dpde.build.scripts=$SDK/plugins/org.eclipse.pde.build_3.1.0/scripts \
     -DdontFetchAnything=true
 
-# Build the each .jar to .so. We have to extract them from the tar file
-# that the releng build produces
-popd
-
-if ! [ -e $(pwd)/org.eclipse.cdt.releng/results/org.eclipse.cdt.sdk-*-linux.%{eclipse_arch}* ]; then
+if ! [ -e $(pwd)/org.eclipse.cdt.releng/results/org.eclipse.cdt-*-linux.%{eclipse_arch}* ]; then
      buildArch="x86"
 else
      buildArch=%{eclipse_arch}
 fi
 
-for file in $(pwd)/org.eclipse.cdt.releng/results/I.*/*.tar.gz; do
-  case $file in
-     */org.eclipse.cdt-*-linux.$buildArch.*)
-	 tar -zxv -C $nativehome -f $file *.jar
-	 cd $nativehome/eclipse/plugins
-	 for jarname in `find . -type f -name "*.jar"`; do
-		jarname=`echo $jarname | cut -c3-`
-		gcj -fPIC -fjni -O2 -findirect-dispatch -shared -Wl,-Bsymbolic  -o $jarname.so $jarname
-
-		# Once compiled, we don't care about the jar (it's still in the original tar)
-		rm $jarname
-	 done 
-   ;;
-  esac
-done
+%if %{gcj_support}
+  mkdir native
+  for file in $(pwd)/results/I.*/*.tar.gz; do
+    case $file in
+      */org.eclipse.cdt-*-linux.$buildArch.*)
+  	 tar -zx -C native -f $file *.jar 
+           cd native
+           %ifarch %{ix86} ppc
+             find-and-aot-compile %{name}-native "-fPIC -fjni -O2"
+           %else
+             find-and-aot-compile %{name}-native "-fPIC -fjni -O1"
+           %endif
+           mv %{name}-native.tar.gz ..
+     ;;
+    esac
+  done	
+%endif
+popd
 
 %install
-nativehome=$(cd native > /dev/null && pwd)
 rm -rf ${RPM_BUILD_ROOT}
-mkdir -p ${RPM_BUILD_ROOT}/%{eclipse_base}
+
+install -d -m755 ${RPM_BUILD_ROOT}/%{eclipse_base}
+
+if ! [ -e $(pwd)/org.eclipse.cdt.releng/results/org.eclipse.cdt-*-linux.%{eclipse_arch}* ]; then
+     buildArch="x86"
+else
+     buildArch=%{eclipse_arch}
+fi
 
 for file in $(pwd)/org.eclipse.cdt.releng/results/I.*/*.tar.gz; do
   case $file in
-    *org.eclipse.cdt-*-linux*)
+    */org.eclipse.cdt-*-linux.$buildArch.*)
       # The ".." is needed since the zip files contain "eclipse/foo".
       (cd $RPM_BUILD_ROOT/%{eclipse_base}/.. && tar zxvf $file)
       ;;
   esac
 done
 
-# Create mappings directory
-install -d -m755 $RPM_BUILD_ROOT/`gcj-dbtool -p %{_libdir}`.d
+%if %{gcj_support}
 
-# Create the initial cdt database
-gcjdbdir=$RPM_BUILD_ROOT`gcj-dbtool -p %{_libdir}`.d
-gcj-dbtool -n $gcjdbdir/%{name}.db 8000
+  # Create plugins directory in eclipse lib base
+  install -d -m755 $RPM_BUILD_ROOT/%{eclipse_lib_base}/plugins
 
+  cd org.eclipse.cdt.releng/native
+  tar zxf ../%{name}-native.tar.gz
+  mv %{name}-native/eclipse/plugins/* $RPM_BUILD_ROOT/%{eclipse_lib_base}/plugins
+
+  # Directory to hold all the .jar->.so mapping dbs
+  install -d -m 755 $RPM_BUILD_ROOT`gcj-dbtool -p %{_libdir}`
+  install -d -m 755 $RPM_BUILD_ROOT`gcj-dbtool -p %{_libdir}`.d
+
+  # Create the cdt database
+  gcjdbdir=$RPM_BUILD_ROOT`gcj-dbtool -p %{_libdir}`.d
+  mkdir -p $gcjdbdir
+  gcj-dbtool -n $gcjdbdir/%{name}.db 8000
+
+  # Populate it
+  for j in `find $RPM_BUILD_ROOT/%{eclipse_base} -name \*.jar`; do
+	lib=`echo $j | sed "s:%{_datadir}:%{_libdir}:"`.so;
+	lib=`dirname $lib`/lib`basename $lib`;
+	ls -l $lib;
+	if [ -f $lib ]; then
+	  gcj-dbtool -f $gcjdbdir/%{name}.db \
+	    $j `echo $lib | sed "s:$RPM_BUILD_ROOT/::"`;
+	fi;
+  done;
 
-# Create plugins directory in eclipse lib base
-install -d -m755 $RPM_BUILD_ROOT/%{eclipse_lib_base}/plugins/
-
-# Populate db with mappings
-for j in `find $RPM_BUILD_ROOT/%{eclipse_base} -name \*.jar`; do
-    gcj-dbtool -f $gcjdbdir/%{name}.db \
-      $j `echo $j | sed "s:$RPM_BUILD_ROOT/::" | sed "s:%{_datadir}:%{_libdir}:"`.so;
-done
-
-cd $nativehome/eclipse/plugins
-
-# Copy the .so(s) we created earlier into the build root
-for file in `find . -type f -name *.so`; do
-	install -m755 -d $RPM_BUILD_ROOT/%{eclipse_lib_base}/plugins/`dirname $file`
-	install -m644 $file $RPM_BUILD_ROOT/%{eclipse_lib_base}/plugins/`dirname $file`
-done
+%endif
 
 
 # We move the libraries to libdir, leaving symlinks behind.  And since
 # zip doesn't preserve file permissions, we must also mark all the .so
 # files as executable.
+
 (
 cd $RPM_BUILD_ROOT
 find ./%{eclipse_base} -name '*.so' -print |
 while read sofile; do
   newname=$(echo "$sofile" | sed -e 's,^./%{eclipse_base},%{_libdir}/eclipse,')
+  echo $newname
   mkdir -p ./$(dirname "$newname")
   mv $sofile ./$newname
   ln -s $newname $sofile
 done
 )
 
+%clean 
+rm -rf ${RPM_BUILD_ROOT}
+
+%if %{gcj_support}
 %post
-rebuild-gcj-db %{_libdir}
+/usr/bin/rebuild-gcj-db %{_libdir}
 
 %postun
-rebuild-gcj-db %{_libdir}
+/usr/bin/rebuild-gcj-db %{_libdir}
+%endif
+
 
 %files
 %defattr(-,root,root)
+%if %{gcj_support}
+%{eclipse_lib_base}/plugins/org.eclipse.cdt*
 %{_libdir}/gcj-4.0.0/classmap.db.d/%{name}.db
+%endif
 %{eclipse_base}/features/org.eclipse.cdt*
 %{eclipse_base}/plugins/org.eclipse.cdt*
-%{eclipse_lib_base}/plugins/org.eclipse.cdt*
+
 
 # Cannot get dir name org.eclipse.cdt.source.linux.*.x86_2.0.2 to glob
 # properly. Will fix later  
@@ -255,6 +259,13 @@
 
 
 %changelog
+* Wed Apr 27 2005 Phil Muldoon <pmuldoon at redhat.com> 3.0.0_fc-0.M6.5
+- Changed to find-and-aot-compile build usage
+- Added "if gcj_support" toggle
+- Fixed installing all arch fragments (now only installs one (correct) arch)
+- Redid BuildRequires and Requires to remove old/unneeded dependencies
+- Cleaned %eclipse_arch declares.
+
 * Thu Apr 21 2005 Phil Muldoon <pmuldoon at redhat.com> 3.0.0_fc-0.M6.4
 - Added Chris Moller's libhover patch
 




More information about the fedora-cvs-commits mailing list