Blob Blame History Raw
%{!?perl_vendorarch: %define perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch)}

%define real_version 1.5-rc6a

Summary: JavaScript interpreter and libraries
Name: js
Version: 1.5
Release: 0.rc6a.4
%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
Patch3: js-va_copy.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.
This package has been created for purposes of Sablotron and is suitable
for embedding in applications.

%package devel
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
documentation for %{name}. If you like to develop programs using %{name},
you will need to install %{name}-devel.

%prep
%setup -q -n %{name}
%patch0 -b .make
%patch1 -b .shlib
%patch2 -b .perl
%patch3 -p 1 -b .vacopy
cp src/perlconnect/README.html src/README.perlconnect.html

%build
export BUILD_OPT=1
%{__make} -C src -f Makefile.ref \
	XCFLAGS="%{optflags} -fPIC" \
	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}
%{__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/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 -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%clean
%{__rm} -rf %{buildroot}

%files
%defattr(-, root, root, 0755)
%{_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*.h

%changelog
* Mon Feb 14 2005 David Woodhouse <dwmw2@infradead.org> - 1.5-0.rc6a.4
- Take js-va_copy.patch out of %ifarch x86_64 so it fixes the PPC build too

* Sun Feb 13 2005 Thorsten Leemhuis <fedora at leemhuis dot info> - 1.5-0.rc6a.3
- Add js-va_copy.patch to fix x86_64; Patch was found in a Mandrake srpm

* Sat Dec 11 2004 Ville Skyttä <ville.skytta at iki.fi> - 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 <http://freshrpms.net> 1.5-0.rc6a
- Update to 1.5rc6a.

* Tue Mar 02 2004 Dag Wieers <dag@wieers.com> - 1.5-0.rc6
- Initial package. (using DAR)