diff --git a/js-perlconnect.patch b/js-perlconnect.patch new file mode 100644 index 0000000..2d84e95 --- /dev/null +++ b/js-perlconnect.patch @@ -0,0 +1,14 @@ +--- src/perlconnect/jsperl.c.orig ++++ src/perlconnect/jsperl.c +@@ -218,7 +218,9 @@ + { + PerlInterpreter *perl = JS_GetPrivate(cx, obj); + +- perl_destruct(perl); +- perl_free(perl); ++ if (perl) { ++ perl_destruct(perl); ++ perl_free(perl); ++ } + /* return JS_TRUE; */ + } diff --git a/js.spec b/js.spec index ef2b238..2ca06f7 100644 --- a/js.spec +++ b/js.spec @@ -1,21 +1,26 @@ -# $Id: js.spec 1353 2004-06-15 09:16:41Z dude $ -# Authority: dag -# Distcc: 0 +%{!?perl_vendorarch: %define perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch)} %define real_version 1.5-rc6a -Summary: JavaScript interpreter +Summary: JavaScript interpreter and libraries Name: js Version: 1.5 -Release: 0.rc6a.1.fc2.fr -License: MPL +Release: 0.rc6a.2 +%if 0%{?_without_readline:1} +License: MPL/GPL/LGPL +%else +License: GPL +%endif Group: Development/Languages URL: http://www.mozilla.org/js/ Source: http://ftp.mozilla.org/pub/mozilla.org/js/js-%{real_version}.tar.gz Patch0: js-make.patch Patch1: js-shlib.patch +Patch2: js-perlconnect.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root - +BuildRequires: perl >= 1:5.6.1 readline-devel +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +Provides: libjs = %{version}-%{release} %description JavaScript is the Netscape-developed object scripting languages. @@ -26,6 +31,7 @@ for embedding in applications. Summary: Header files, libraries and development documentation for %{name} Group: Development/Libraries Requires: %{name} = %{version}-%{release} +Provides: libjs-devel = %{version}-%{release} %description devel This package contains the header files, static libraries and development @@ -33,54 +39,78 @@ documentation for %{name}. If you like to develop programs using %{name}, you will need to install %{name}-devel. %prep -%setup -n %{name} +%setup -q -n %{name} %patch0 -b .make %patch1 -b .shlib +%patch2 -b .perl +cp src/perlconnect/README.html src/README.perlconnect.html %build -BUILD_OPT="1" %{__make} -C src -f Makefile.ref \ +export BUILD_OPT=1 +%{__make} -C src -f Makefile.ref \ XCFLAGS="%{optflags} -fPIC" \ - BUILD_OPT="1" + BUILD_OPT="1" \ +%if 0%{!?_without_readline:1} + JS_READLINE="1" \ +%endif + JS_PERLCONNECT="1" +cd src/perlconnect +MAKEFLAGS=-s %{__perl} Makefile.PL INSTALLDIRS=vendor +%{__make} %{?_smp_mflags} OPTIMIZE="%{optflags}" +cd - %install %{__rm} -rf %{buildroot} %{__install} -d -m0755 %{buildroot}%{_bindir} \ %{buildroot}%{_libdir} \ - %{buildroot}%{_includedir}/js/ + %{buildroot}%{_includedir} %{__install} -m0755 src/Linux_All_OPT.OBJ/js %{buildroot}%{_bindir} %{__install} -m0755 src/Linux_All_OPT.OBJ/jscpucfg %{buildroot}%{_bindir} %{__install} -m0755 src/Linux_All_OPT.OBJ/libjs.so %{buildroot}%{_libdir}/libjs.so.1 %{__ln_s} -nf libjs.so.1 %{buildroot}%{_libdir}/libjs.so %{__install} -m0755 src/Linux_All_OPT.OBJ/libjs.a %{buildroot}%{_libdir} -%{__install} -m0644 src/*.h %{buildroot}%{_includedir}/js/ -%{__install} -m0644 src/Linux_All_OPT.OBJ/jsautocfg.h %{buildroot}%{_includedir}/js/ +%{__install} -m0644 src/js*.h src/Linux_All_OPT.OBJ/jsautocfg.h \ + %{buildroot}%{_includedir} +%{__make} -C src/perlconnect pure_install PERL_INSTALL_ROOT=%{buildroot} +find %{buildroot} -type f -name .packlist -o -name jsperlbuild.pl | xargs -r rm +find %{buildroot} -type f -name '*.bs' -a -size 0 | xargs -r rm +chmod -R u+w %{buildroot}/* + +%check || : +ln -s libjs.so src/Linux_All_OPT.OBJ/libjs.so.1 +LD_LIBRARY_PATH=`pwd`/src/Linux_All_OPT.OBJ %{__make} -C src/perlconnect test -%post -/sbin/ldconfig 2>/dev/null +%post -p /sbin/ldconfig -%postun -/sbin/ldconfig 2>/dev/null +%postun -p /sbin/ldconfig %clean %{__rm} -rf %{buildroot} %files %defattr(-, root, root, 0755) -%doc src/README.html README %{_bindir}/js %{_libdir}/*.so.* +%{perl_vendorarch}/auto/JS +%{perl_vendorarch}/*.pm %files devel %defattr(-, root, root, 0755) +%doc src/README*.html src/perlconnect/bg.jpg %{_bindir}/jscpucfg %{_libdir}/*.so %{_libdir}/*.a -%{_includedir}/js/ +%{_includedir}/js*.h %changelog +* Sat Dec 11 2004 Ville Skyttä - 1.5-0.rc6a.2 +- Include perlconnect. +- Include readline support, rebuild using "--without readline" to disable. +- Add libjs* provides for upstream compatibility. +- Install header files in %%{_includedir} instead of %%{_includedir}/js. + * Tue Jun 15 2004 Matthias Saou 1.5-0.rc6a - Update to 1.5rc6a. * Tue Mar 02 2004 Dag Wieers - 1.5-0.rc6 - Initial package. (using DAR) -