X-Git-Url: http://git.pld-linux.org/gitweb.cgi?p=packages%2Fjs.git;a=blobdiff_plain;f=js.spec;h=8a7fcf9c6b23b926a46d4f0617eca5c8e42cbc63;hp=264c23d8a295b915458c37218e2d1000ac082d12;hb=0c7a21ff51d4ba28218d909c43c6c189b1e11aa1;hpb=3baa256383a7e4333784dff5df9a06600cc1d5d8 diff --git a/js.spec b/js.spec index 264c23d..8a7fcf9 100644 --- a/js.spec +++ b/js.spec @@ -1,24 +1,22 @@ # # Conditional build: %bcond_without threads # thread-safe library (requires nspr) -%bcond_with java # libjsj and lshell -# -%ifarch i386 i486 ppc ppc64 -%undefine with_java -%endif +%bcond_without java # libjsj and lshell # %include /usr/lib/rpm/macros.perl Summary: JavaScript Reference Implementation Summary(pl.UTF-8): Wzorcowa implementacja JavaScriptu Name: js -Version: 1.60 -Release: 4 -Epoch: 1 -License: GPL or Netscape Public License 1.1 -Group: Libraries +Version: 1.7.0 +Release: 10 +Epoch: 2 +License: MPL 1.1 or GPL v2+ or LGPL v2.1+ +Group: Development/Languages Source0: http://ftp.mozilla.org/pub/mozilla.org/js/%{name}-%{version}.tar.gz -# Source0-md5: bd8f021e43a8fbbec55ac2cd3d483243 +# Source0-md5: 5571134c3863686b623ebe4e6b1f6fe6 Patch0: %{name}-makefile.patch +Patch1: %{name}-java.patch +Patch2: %{name}-build.patch URL: http://www.mozilla.org/js/ %{?with_java:BuildRequires: jdk} %{?with_java:BuildRequires: jpackage-utils} @@ -27,6 +25,9 @@ BuildRequires: perl-devel BuildRequires: readline-devel BuildRequires: rpm-perlprov BuildRequires: rpmbuild(macros) >= 1.294 +Requires: %{name}-libs = %{epoch}:%{version}-%{release} +# dead, removed upstream +Obsoletes: perl-JS Conflicts: njs %{?with_threads:Provides: js(threads)} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -47,11 +48,23 @@ dekompilator, odśmiecacz, standardowe klasy) i niewielką powłokę, która może być używana interaktywnie lub z plikami .js do uruchamiania skryptów. +%package libs +Summary: JavaScript Reference Implementation library +Summary(pl.UTF-8): Biblioteka wzorcowej implementacja JavaScriptu +Group: Libraries +Conflicts: js < 1.7.0-8 + +%description libs +JavaScript Reference Implementation (codename SpiderMonkey) library. + +%description libs -l pl.UTF-8 +Biblioteka wzorcowej implementacja JavaScriptu (SpiderMonkey). + %package devel Summary: Header files for JavaScript reference library Summary(pl.UTF-8): Pliki nagłówkowe do biblioteki JavaScript Group: Development/Libraries -Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: %{name}-libs = %{epoch}:%{version}-%{release} Conflicts: njs-devel %{?with_threads:Provides: js-devel(threads)} @@ -128,29 +141,24 @@ JavaScript Live Connect 3 implementation static library. %description java-static -l pl.UTF-8 Biblioteka statyczna implementacji JavaScript LiveConnect 3. -%package -n perl-JS -Summary: JS Perl module - interface to JavaScript -Summary(pl.UTF-8): Moduł Perla JS - interfejs do JavaScriptu -Group: Development/Languages/Perl -Requires: %{name} = %{epoch}:%{version}-%{release} - -%description -n perl-JS -JS Perl module allows calling JavaScript from Perl. - -%description -n perl-JS -l pl.UTF-8 -Moduł Perla JS pozwalający na wywoływanie JavaScriptu z Perla. - %prep %setup -q -n %{name} %patch0 -p1 +%patch1 -p1 +%patch2 -p1 -echo 'SONAME=libjs.so.0' >> src/Makefile.ref -echo 'SONAME=libjsj.so.0' >> src/liveconnect/Makefile.ref +echo 'SONAME=libjs.so.1' >> src/Makefile.ref +echo 'SONAME=libjsj.so.1' >> src/liveconnect/Makefile.ref + +%ifarch %{x8664} +sed -i -e 's#i386#amd64#g' src/liveconnect/Makefile.ref src/liveconnect/config/*.mk +sed -i -e 's#lib/amd64/client#lib/amd64/server#g' src/liveconnect/Makefile.ref src/liveconnect/config/*.mk +%endif %build %{__make} -j1 -C src -f Makefile.ref \ %{!?debug:BUILD_OPT=1} \ - OPTIMIZER="%{rpmcflags} -DHAVE_VA_COPY -DVA_COPY=va_copy" \ + OPTIMIZER="%{rpmcflags} -DHAVE_VA_COPY -DVA_COPY=va_copy -DJS_C_STRINGS_ARE_UTF8=1" \ JS_READLINE=1 \ CC="%{__cc}" \ LDFLAGS="%{rpmldflags}" \ @@ -158,17 +166,6 @@ echo 'SONAME=libjsj.so.0' >> src/liveconnect/Makefile.ref %{?with_threads:JS_THREADSAFE=1} \ %{?with_java:JS_LIVECONNECT=1 JDK=%{java_home}} -# js segfaults when jsperl is compiled in -# JS_PERLCONNECT=1 - -cd src/perlconnect -%{!?debug:BUILD_OPT=1} \ -%{__perl} Makefile.PL \ - INSTALLDIRS=vendor - -%{__make} \ - OPTIMIZE="%{rpmcflags}" - # no UNIX makefiles # %{__make} -C jsd @@ -179,55 +176,56 @@ install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir}/js,%{classdir}} cd src install Linux*/{js,jscpucfg} $RPM_BUILD_ROOT%{_bindir} install Linux*/libjs.a $RPM_BUILD_ROOT%{_libdir} -install Linux*/libjs.so $RPM_BUILD_ROOT%{_libdir}/libjs.so.0.1.0 -ln -sf libjs.so.0.1.0 $RPM_BUILD_ROOT%{_libdir}/libjs.so -install Linux*/jsautocfg.h $RPM_BUILD_ROOT%{_includedir}/js +install Linux*/libjs.so $RPM_BUILD_ROOT%{_libdir}/libjs.so.1.0.0 +ln -sf libjs.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjs.so.1 +ln -sf libjs.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjs.so +install Linux*/{jsautocfg.h,jsautokw.h} $RPM_BUILD_ROOT%{_includedir}/js install js.msg jsapi.h jsarray.h jsarena.h jsatom.h jsbit.h jsbool.h \ jsclist.h jscntxt.h jscompat.h jsconfig.h jsdate.h jsdbgapi.h \ - jsdhash.h jsemit.h jsfun.h jsgc.h jshash.h jsinterp.h jslock.h \ - jslong.h jsmath.h jsnum.h jsobj.h jsopcode.tbl jsopcode.h jsosdep.h \ - jsotypes.h jsparse.h jsprf.h jsprvtd.h jspubtd.h jsregexp.h jsscan.h \ - jsscope.h jsscript.h jsstr.h jstypes.h jsutil.h jsxdrapi.h jsstddef.h \ + jsdhash.h jsemit.h jsfun.h jsgc.h jshash.h jsinterp.h jsiter.h \ + jslock.h jslong.h jsmath.h jsnum.h jsobj.h jsopcode.tbl jsopcode.h \ + jsosdep.h jsotypes.h jsparse.h jsprf.h jsproto.tbl jsprvtd.h jspubtd.h \ + jsregexp.h jsscan.h jsscope.h jsscript.h jsstddef.h jsstr.h jstypes.h \ + jsutil.h jsxdrapi.h jsxml.h \ $RPM_BUILD_ROOT%{_includedir}/js %if %{with java} install liveconnect/Linux*/libjsj.a $RPM_BUILD_ROOT%{_libdir} -install liveconnect/Linux*/libjsj.so $RPM_BUILD_ROOT%{_libdir}/libjsj.so.0.1.0 -ln -sf libjsj.so.0.1.0 $RPM_BUILD_ROOT%{_libdir}/libjsj.so +install liveconnect/Linux*/libjsj.so $RPM_BUILD_ROOT%{_libdir}/libjsj.so.1.0.0 +ln -sf libjsj.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjsj.so.1 +ln -sf libjsj.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjsj.so install liveconnect/Linux*/lcshell $RPM_BUILD_ROOT%{_bindir} install liveconnect/classes/Linux*/*.jar $RPM_BUILD_ROOT%{classdir} install liveconnect/{jsjava.h,nsI*.h,_jni/*.h} $RPM_BUILD_ROOT%{_includedir}/js %endif -%{__make} -C perlconnect pure_install \ - DESTDIR=$RPM_BUILD_ROOT - -cp -f perlconnect/README.html README-perlconnect.html - -/sbin/ldconfig -n -N $RPM_BUILD_ROOT%{_libdir} - %clean rm -rf $RPM_BUILD_ROOT -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig %post java -p /sbin/ldconfig %postun java -p /sbin/ldconfig %files %defattr(644,root,root,755) -%doc src/README*.html -%attr(755,root,root) %{_bindir}/js* +%doc src/README.html +%attr(755,root,root) %{_bindir}/js + +%files libs +%defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libjs.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libjs.so.0 +%attr(755,root,root) %ghost %{_libdir}/libjs.so.1 %files devel %defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/jscpucfg %attr(755,root,root) %{_libdir}/libjs.so %dir %{_includedir}/js %{_includedir}/js/js.msg %{_includedir}/js/jsopcode.tbl +%{_includedir}/js/jsproto.tbl %{_includedir}/js/js[!j]*.h %files static @@ -240,8 +238,8 @@ rm -rf $RPM_BUILD_ROOT %doc src/liveconnect/README.html %attr(755,root,root) %{_bindir}/lcshell %attr(755,root,root) %{_libdir}/libjsj.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libjsj.so.0 -%{classdir}/*.jar +%attr(755,root,root) %ghost %{_libdir}/libjsj.so.1 +%{classdir}/js*.jar %files java-devel %defattr(644,root,root,755) @@ -253,13 +251,3 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %{_libdir}/libjsj.a %endif - -%files -n perl-JS -%defattr(644,root,root,755) -%{perl_vendorarch}/JS.pm -%{perl_vendorarch}/jsperlbuild.pl -%dir %{perl_vendorarch}/auto/JS -%{perl_vendorarch}/auto/JS/JS.bs -%attr(755,root,root) %{perl_vendorarch}/auto/JS/JS.so -# unusable now (helper module for PerlConnect in libjs, which is not built) -#%%{perl_vendorarch}/PerlConnect.pm