3 # _with_threads - build thread-safe library (requires nspr)
4 # _with_java - with libjsj and lshell
6 %include /usr/lib/rpm/macros.perl
7 Summary: JavaScript Reference Implementation
8 Summary(pl): Wzorcowa implementacja JavaScriptu
13 License: GPL or Netscape Public License 1.1
15 Source0: http://ftp.mozilla.org/pub/js/%{name}-%{version}-%{rcver}.tar.gz
16 Patch0: %{name}-makefile.patch
17 URL: http://www.mozilla.org/js/
18 %{?_with_java:BuildRequires: jdk}
19 %{?_with_threads:BuildRequires: nspr-devel}
20 BuildRequires: perl-devel
21 BuildRequires: readline-devel
22 BuildRequires: rpm-perlprov
24 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
26 %define classdir /usr/share/java
29 JavaScript Reference Implementation (codename SpiderMonkey). The
30 package contains JavaScript runtime (compiler, interpreter,
31 decompiler, garbage collector, atom manager, standard classes) and
32 small "shell" program that can be used interactively and with .js
36 Wzorcowa implementacja JavaScriptu (o nazwie kodowej SpiderMonkey).
37 Pakiet zawiera ¶rodowisko uruchomieniowe (kompilator, interpreter,
38 dekompilator, od¶miecacz, standardowe klasy) i niewielk± pow³okê,
39 która mo¿e byæ u¿ywana interaktywnie lub z plikami .js do uruchamiania
43 Summary: Header files for JavaScript reference library
44 Summary(pl): Pliki nag³ówkowe do biblioteki JavaScript
45 Group: Development/Libraries
46 Requires: %{name} = %{version}
50 Header files for JavaScript reference library.
52 %description devel -l pl
53 Pliki nag³ówkowe do biblioteki JavaScript.
56 Summary: Static JavaScript reference library
57 Summary(pl): Statyczna biblioteka JavaScript
58 Group: Development/Libraries
59 Requires: %{name}-devel = %{version}
63 Static version of JavaScript reference library.
65 %description static -l pl
66 Statyczna wersja biblioteki JavaScript.
69 Summary: JavaScript LiveConnect Version 3 implementation
70 Summary(pl): Implementacja JavaScript LiveConnect w wersji 3
72 Requires: %{name} = %{version}
74 Conflicts: mozilla-embedded
77 LiveConnect is a library that permits JavaScript and Java virtual
78 machines to interoperate. Specifically, it enables JavaScript to
79 access Java fields, invoke Java methods and enables Java to access
80 JavaScript object properties and evaluate arbitrary JavaScript.
81 LiveConnect was originally an integrated feature of both the Netscape
82 Navigator browser and Netscape's server-side JavaScript. Now, it is a
83 standalone library that can be embedded within other projects, such as
86 %description java -l pl
87 LiveConnect to biblioteka pozwalaj±ca na wspó³pracê maszyn wirtualnych
88 JavaScriptu i Javy. W szczególno¶ci pozwala z poziomu JavaScriptu na
89 dostêp do pól Javy, wywo³ywanie metod Javy oraz z poziomu Javy na
90 dostêp do sk³adowych obiektów JavaScriptu i wykonywanie dowolnego kodu
91 w JavaScripcie. LiveConnect oryginalnie by³ zintegrowan± czê¶ci±
92 przegl±darki Netscape Navigator oraz Netscape JavaScript dzia³aj±cego
93 po stronie serwera. Teraz jest to samodzielna biblioteka, któr± mo¿na
94 osadzaæ w innych projektach, takich jak przegl±darka Mozilla.
97 Summary: JavaScript LiveConnect 3 implementation header files
98 Summary(pl): Pliki nag³ówkowe implementacji JavaScript LiveConnect 3
99 Group: Development/Libraries
100 Requires: %{name}-devel = %{version}
101 Requires: %{name}-java = %{version}
103 %description java-devel
104 JavaScript LiveConnect 3 implementation header files.
106 %description java-devel -l pl
107 Pliki nag³ówkowe implementacji JavaScript LiveConnect 3.
110 Summary: JavaScript Live Connect 3 implementation static library
111 Summary(pl): Biblioteka statyczna implementacji JavaScript LiveConnect 3
112 Group: Development/Libraries
113 Requires: %{name}-java-devel = %{version}
115 %description java-static
116 JavaScript Live Connect 3 implementation static library.
118 %description java-static -l pl
119 Biblioteka statyczna implementacji JavaScript LiveConnect 3.
122 Summary: JS perl module - interface to JavaScript
123 Summary(pl): Modu³ perla JS - interfejs do JavaScriptu
124 Group: Development/Languages/Perl
125 Requires: %{name} = %{version}
127 %description -n perl-JS
128 JS perl module allows calling JavaScript from Perl.
130 %description -n perl-JS -l pl
131 Modu³ perla JS pozwalaj±cy na wywo³ywanie JavaScriptu z Perla.
138 #make -C src -f Makefile.ref BUILD_OPT=1 XMKSHLIBOPTS="-soname libjs.so.0"
140 %{__make} -C src -f Makefile.ref \
141 %{!?debug:BUILD_OPT=1} \
142 OPTIMIZER="%{rpmcflags}" \
144 %{?_with_threads:JS_THREADSAFE=1} \
145 %{?_with_java:JS_LIVECONNECT=1 JDK=/usr/lib/java}
147 # js segfaults when jsperl is compiled in
151 %{!?debug:BUILD_OPT=1} \
152 %{__perl} Makefile.PL \
156 OPTIMIZE="%{rpmcflags}"
162 rm -rf $RPM_BUILD_ROOT
163 install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir}/js,%{classdir}}
166 install Linux*/{js,jscpucfg} $RPM_BUILD_ROOT%{_bindir}
167 install Linux*/libjs.{a,so} $RPM_BUILD_ROOT%{_libdir}
168 install Linux*/jsautocfg.h $RPM_BUILD_ROOT%{_includedir}/js
169 install js.msg jsapi.h jsarray.h jsarena.h jsatom.h jsbit.h jsbool.h \
170 jsclist.h jscntxt.h jscompat.h jsconfig.h jsdate.h jsdbgapi.h \
171 jsdhash.h jsemit.h jsfun.h jsgc.h jshash.h jsinterp.h jslock.h \
172 jslong.h jsmath.h jsnum.h jsobj.h jsopcode.tbl jsopcode.h jsosdep.h \
173 jsotypes.h jsparse.h jsprf.h jsprvtd.h jspubtd.h jsregexp.h jsscan.h \
174 jsscope.h jsscript.h jsstr.h jstypes.h jsutil.h jsxdrapi.h jsstddef.h \
175 $RPM_BUILD_ROOT%{_includedir}/js
177 %if 0%{?_with_java:1}
178 install liveconnect/Linux*/libjsj.{a,so} $RPM_BUILD_ROOT%{_libdir}
179 install liveconnect/Linux*/lcshell $RPM_BUILD_ROOT%{_bindir}
180 install liveconnect/classes/Linux*/*.jar $RPM_BUILD_ROOT%{classdir}
181 install liveconnect/{jsjava.h,nsI*.h,_jni/*.h} $RPM_BUILD_ROOT%{_includedir}/js
184 %{__make} -C perlconnect install \
185 DESTDIR=$RPM_BUILD_ROOT
187 mv -f perlconnect/README.html README-perlconnect.html
190 rm -rf $RPM_BUILD_ROOT
192 %post -p /sbin/ldconfig
193 %postun -p /sbin/ldconfig
195 %post java -p /sbin/ldconfig
196 %postun java -p /sbin/ldconfig
199 %defattr(644,root,root,755)
200 %doc src/README*.html
201 %attr(755,root,root) %{_bindir}/js*
202 %attr(755,root,root) %{_libdir}/libjs.so
205 %defattr(644,root,root,755)
206 %dir %{_includedir}/js
207 %{_includedir}/js/js.msg
208 %{_includedir}/js/jsopcode.tbl
209 %{_includedir}/js/js[!j]*.h
212 %defattr(644,root,root,755)
215 %if 0%{?_with_java:1}
217 %defattr(644,root,root,755)
218 %doc src/liveconnect/README.html
219 %attr(755,root,root) %{_bindir}/lcshell
220 %attr(755,root,root) %{_libdir}/libjsj.so
224 %defattr(644,root,root,755)
225 %{_includedir}/js/jsjava.h
226 %{_includedir}/js/n*.h
229 %defattr(644,root,root,755)
234 %defattr(644,root,root,755)
235 %{perl_sitearch}/JS.pm
236 %{perl_sitearch}/jsperlbuild.pl
237 %dir %{perl_sitearch}/auto/JS
238 %{perl_sitearch}/auto/JS/JS.bs
239 %attr(755,root,root) %{perl_sitearch}/auto/JS/JS.so
240 # unusable now (helper module for PerlConnect in libjs, which is not built)
241 #%%{perl_vendorarch}/PerlConnect.pm