File v8.spec of Package v8
# norootforbuild
Name: v8
Version: 2.4.8.0
Release: 1
Summary: JavaScript Engine
Group: System Environment/Libraries
License: BSD
URL: http://code.google.com/p/v8
Source0: %{name}.%{version}.tar.lzma
ExclusiveArch: %{ix86} x86_64 arm
BuildRequires: gcc-c++, scons, readline-devel, lzma
%if 0%{?suse_version} < 1120
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%endif
%global somajor `echo %{version} | cut -f1 -d'.'`
%global sominor `echo %{version} | cut -f2 -d'.'`
%global sobuild `echo %{version} | cut -f3 -d'.'`
%global sover %{somajor}.%{sominor}.%{sobuild}
%description
V8 is Google's open source JavaScript engine. V8 is written in C++ and is used
in Google Chrome, the open source browser from Google. V8 implements ECMAScript
as specified in ECMA-262, 3rd edition.
%package devel
Group: Development/Libraries
Summary: Development headers and libraries for v8
Requires: %{name} = %{version}-%{release}
%description devel
Development headers and libraries for v8.
%prep
%{__rm} -rf %{name}
lzma -cd %{SOURCE0} | tar xf -
%setup -D -T -n %{name}
# -fno-strict-aliasing is needed with gcc 4.4 to get past some ugly code
%if 0%{?suse_version} > 1110
PARSED_OPT_FLAGS=`echo \'$RPM_OPT_FLAGS \' | sed "s/ /',/g" | sed "s/',/', '/g"`
sed -i "s|'-O3',|$PARSED_OPT_FLAGS '-fno-strict-aliasing',|g" SConstruct
%endif
%build
scons -j3 library=shared snapshots=on visibility=default \
%ifarch x86_64
arch=x64 \
%endif
env=CCFLAGS:"-fPIC"
# When will people learn to create versioned shared libraries by default?
# first, lets get rid of the old .so
rm -rf libv8.so
# Now, lets make it right.
%ifarch arm
g++ $RPM_OPT_FLAGS -fPIC -o libv8.so.%{sover} -shared -Wl,-soname,libv8.so.%{somajor} obj/release/*.os obj/release/arm/*.os
%endif
%ifarch %{ix86}
g++ $RPM_OPT_FLAGS -fPIC -o libv8.so.%{sover} -shared -Wl,-soname,libv8.so.%{somajor} obj/release/*.os obj/release/ia32/*.os
%endif
%ifarch x86_64
g++ $RPM_OPT_FLAGS -fPIC -o libv8.so.%{sover} -shared -Wl,-soname,libv8.so.%{somajor} obj/release/*.os obj/release/x64/*.os
%endif
# We need to do this so d8 can link against it.
ln -sf libv8.so.%{sover} libv8.so
scons d8 \
%ifarch x86_64
arch=x64 \
%endif
library=shared snapshots=on console=readline visibility=default
# Sigh. I f*****g hate scons.
rm -rf d8
g++ $RPM_OPT_FLAGS -o d8 obj/release/d8-debug.os obj/release/d8-posix.os obj/release/d8-readline.os obj/release/d8.os obj/release/d8-js.os -lpthread -lreadline -lpthread -L. -lv8
%install
mkdir -p %{buildroot}%{_includedir}
mkdir -p %{buildroot}%{_libdir}
install -p include/*.h %{buildroot}%{_includedir}
install -p libv8.so.%{sover} %{buildroot}%{_libdir}
mkdir -p %{buildroot}%{_bindir}
install -p -m0755 d8 %{buildroot}%{_bindir}
cd %{buildroot}%{_libdir}
ln -sf libv8.so.%{sover} libv8.so
ln -sf libv8.so.%{sover} libv8.so.%{somajor}
ln -sf libv8.so.%{sover} libv8.so.%{somajor}.%{sominor}
chmod -x %{buildroot}%{_includedir}/v8*.h
%if 0%{?suse_version} < 1120
%clean
%{__rm} -rf "%{buildroot}"
%endif
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog LICENSE
%{_bindir}/d8
%{_libdir}/*.so.*
%files devel
%defattr(-,root,root,-)
%{_includedir}/*.h
%{_libdir}/*.so
%changelog
* Wed Feb 03 2010 - tittiatcoke@gmail.com - 2.1.0.0
- Update to 2.1.0.0svn3789
* Fri Dec 18 2009 - tittiatcoke@gmail.com - 2.0.5.0
- Update to 2.0.5.0svn3499
* Thu Dec 17 2009 - tittiatcoke@gmail.com - 2.0.4.0
- Update to 2.0.4.0svn3480
* Fri Dec 04 2009 - tittiatcoke@gmail.com - 2.0.3.0
- Update to 2.0.3.0svn3426
* Tue Nov 24 2009 - dbuck@example.com> - 1.3.18.6
- Revert to 1.3.18.6.svn3277. The 2.0 code still has problems with chromium.
* Wed Nov 18 2009 - Raymond Wooninck <tittiatcoke@gmail.com> - 2.0.0.0
- Update to 2.0.0.0.svn3333
* Wed Nov 11 2009 - Raymond Wooninck <tittiatcoke@gmail.com> - 1.3.18.6
- Update to 1.3.18.6.svn3276
* Fri Nov 6 2009 - Raymond Wooninck <tittiatcoke@gmail.com> - 1.3.18.0.svn3226
- Update to 1.3.18.2.svn3226
* Fri Oct 30 2009 - Raymond Wooninck <tittiatcoke@gmail.com> - 1.3.17.0.svn3189
- Update to 1.3.17.0.svn3189
* Fri Oct 16 2009 - Raymond Wooninck <tittiatcoke@gmail.com> - 1.3.16.0.svn3089
- update to 1.3.16.0.svn3089
* Thu Oct 15 2009 - Pavol Rusnak <prusnak@suse.cz> - 1.3.15.0.svn3032
- cleaned up spec file
* Mon Oct 5 2009 - dbuck <dbuck@example.com> - 1.3.13.5.svn3018
- update to 1.3.13.5, svn3018
- update for upcoming chromium update
* Wed Sep 16 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.11-1.20090916svn2903
- update to 1.3.11, svn2903
* Wed Sep 9 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.9-1.20090909svn2862
- update to 1.3.9, svn2862
* Thu Aug 27 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.8-1.20090827svn2777
- update to 1.3.8, svn2777
* Mon Aug 24 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.6-1.20090824svn2747
- update to 1.3.6, svn2747
* Tue Aug 18 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.4-1.20090818svn2708
- update to svn2708, build and package d8
* Fri Aug 14 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.4-1.20090814svn2692
- update to 1.3.4, svn2692
* Wed Aug 12 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.3-1.20090812svn2669
- update to 1.3.3, svn2669
* Mon Aug 10 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.2-1.20090810svn2658
- update to svn2658
* Fri Aug 7 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.2-1.20090807svn2653
- update to svn2653
* Wed Aug 5 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.2-1.20090805svn2628
- update to 1.3.2, svn2628
* Mon Aug 3 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.1-1.20090803svn2607
- update to svn2607
* Fri Jul 31 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.1-1.20090731svn2602
- update to svn2602
* Thu Jul 30 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.1-1.20090730svn2592
- update to 1.3.1, svn 2592
* Mon Jul 27 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.3.0-1.20090727svn2543
- update to 1.3.0, svn 2543
* Fri Jul 24 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.14-1.20090724svn2534
- update to svn2534
* Mon Jul 20 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.14-1.20090720svn2510
- update to svn2510
* Thu Jul 16 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.14-1.20090716svn2488
- update to svn2488
* Wed Jul 15 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.14-1.20090715svn2477
- update to 1.2.14, svn2477
* Mon Jul 13 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.13-1.20090713svn2434
- update to svn2434
* Sat Jul 11 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.13-1.20090711svn2430
- update to 1.2.13, svn2430
* Wed Jul 8 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.12-1.20090708svn2391
- update to 1.2.12, svn2391
* Sat Jul 4 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.11-1.20090704svn2356
- update to 1.2.11, svn2356
* Fri Jun 26 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.9-1.20090626svn2284
- update to svn2284
* Wed Jun 24 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.9-1.20090624svn2262
- update to 1.2.9, svn2262
* Thu Jun 18 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.7-2.20090618svn2219
- fix unused-parameter patch
* Thu Jun 18 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.7-1.20090618svn2219
- update to 1.2.8, svn2219
* Mon Jun 8 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.7-2.20090608svn2123
- fix gcc44 compile for Fedora 11
* Mon Jun 8 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.7-1.20090608svn2123
- update to 1.2.7, svn2123
* Thu May 28 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.2.5-1.20090528svn2072
- update to newer svn checkout
* Sun Feb 22 2009 Tom "spot" Callaway <tcallawa@redhat.com> 1.0.1-1.20090222svn1332
- update to newer svn checkout
* Sun Sep 14 2008 Tom "spot" Callaway <tcallawa@redhat.com> 0.2-2.20080914svn300
- make a versioned shared library properly
* Sun Sep 14 2008 Tom "spot" Callaway <tcallawa@redhat.com> 0.2-1.20080914svn300
- Initial package for Fedora