3 %bcond_without threads # thread-safe library (requires nspr)
4 %bcond_without java # libjsj and lshell
6 %ifnarch i586 i686 pentium3 pentium4 athlon %{x8664}
10 %include /usr/lib/rpm/macros.perl
11 Summary: JavaScript Reference Implementation
12 Summary(pl.UTF-8): Wzorcowa implementacja JavaScriptu
17 License: MPL 1.1 or GPL v2+ or LGPL v2.1+
19 Source0: http://ftp.mozilla.org/pub/mozilla.org/js/%{name}-%{version}.tar.gz
20 # Source0-md5: 5571134c3863686b623ebe4e6b1f6fe6
21 Patch0: %{name}-makefile.patch
22 Patch1: %{name}-java.patch
23 URL: http://www.mozilla.org/js/
24 %{?with_java:BuildRequires: jdk}
25 %{?with_java:BuildRequires: jpackage-utils}
26 %{?with_threads:BuildRequires: nspr-devel}
27 BuildRequires: perl-devel
28 BuildRequires: readline-devel
29 BuildRequires: rpm-perlprov
30 BuildRequires: rpmbuild(macros) >= 1.294
31 # dead, removed upstream
34 %{?with_threads:Provides: js(threads)}
35 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
37 %define classdir %{_datadir}/java
40 JavaScript Reference Implementation (codename SpiderMonkey). The
41 package contains JavaScript runtime (compiler, interpreter,
42 decompiler, garbage collector, atom manager, standard classes) and
43 small "shell" program that can be used interactively and with .js
46 %description -l pl.UTF-8
47 Wzorcowa implementacja JavaScriptu (o nazwie kodowej SpiderMonkey).
48 Pakiet zawiera środowisko uruchomieniowe (kompilator, interpreter,
49 dekompilator, odśmiecacz, standardowe klasy) i niewielką powłokę,
50 która może być używana interaktywnie lub z plikami .js do uruchamiania
54 Summary: Header files for JavaScript reference library
55 Summary(pl.UTF-8): Pliki nagłówkowe do biblioteki JavaScript
56 Group: Development/Libraries
57 Requires: %{name} = %{epoch}:%{version}-%{release}
59 %{?with_threads:Provides: js-devel(threads)}
62 Header files for JavaScript reference library.
64 %description devel -l pl.UTF-8
65 Pliki nagłówkowe do biblioteki JavaScript.
68 Summary: Static JavaScript reference library
69 Summary(pl.UTF-8): Statyczna biblioteka JavaScript
70 Group: Development/Libraries
71 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
73 %{?with_threads:Provides: js-static(threads)}
76 Static version of JavaScript reference library.
78 %description static -l pl.UTF-8
79 Statyczna wersja biblioteki JavaScript.
82 Summary: JavaScript LiveConnect Version 3 implementation
83 Summary(pl.UTF-8): Implementacja JavaScript LiveConnect w wersji 3
85 Requires: %{name} = %{epoch}:%{version}-%{release}
87 Conflicts: mozilla-embedded
90 LiveConnect is a library that permits JavaScript and Java virtual
91 machines to interoperate. Specifically, it enables JavaScript to
92 access Java fields, invoke Java methods and enables Java to access
93 JavaScript object properties and evaluate arbitrary JavaScript.
94 LiveConnect was originally an integrated feature of both the Netscape
95 Navigator browser and Netscape's server-side JavaScript. Now, it is a
96 standalone library that can be embedded within other projects, such as
99 %description java -l pl.UTF-8
100 LiveConnect to biblioteka pozwalająca na współpracę maszyn wirtualnych
101 JavaScriptu i Javy. W szczególności pozwala z poziomu JavaScriptu na
102 dostęp do pól Javy, wywoływanie metod Javy oraz z poziomu Javy na
103 dostęp do składowych obiektów JavaScriptu i wykonywanie dowolnego kodu
104 w JavaScripcie. LiveConnect oryginalnie był zintegrowaną częścią
105 przeglądarki Netscape Navigator oraz Netscape JavaScript działającego
106 po stronie serwera. Teraz jest to samodzielna biblioteka, którą można
107 osadzać w innych projektach, takich jak przeglądarka Mozilla.
110 Summary: JavaScript LiveConnect 3 implementation header files
111 Summary(pl.UTF-8): Pliki nagłówkowe implementacji JavaScript LiveConnect 3
112 Group: Development/Libraries
113 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
114 Requires: %{name}-java = %{epoch}:%{version}-%{release}
116 %description java-devel
117 JavaScript LiveConnect 3 implementation header files.
119 %description java-devel -l pl.UTF-8
120 Pliki nagłówkowe implementacji JavaScript LiveConnect 3.
123 Summary: JavaScript Live Connect 3 implementation static library
124 Summary(pl.UTF-8): Biblioteka statyczna implementacji JavaScript LiveConnect 3
125 Group: Development/Libraries
126 Requires: %{name}-java-devel = %{epoch}:%{version}-%{release}
128 %description java-static
129 JavaScript Live Connect 3 implementation static library.
131 %description java-static -l pl.UTF-8
132 Biblioteka statyczna implementacji JavaScript LiveConnect 3.
139 echo 'SONAME=libjs.so.1' >> src/Makefile.ref
140 echo 'SONAME=libjsj.so.1' >> src/liveconnect/Makefile.ref
143 sed -i -e 's#i386#amd64#g' src/liveconnect/Makefile.ref src/liveconnect/config/*.mk
144 sed -i -e 's#lib/amd64/client#lib/amd64/server#g' src/liveconnect/Makefile.ref src/liveconnect/config/*.mk
148 %{__make} -j1 -C src -f Makefile.ref \
149 %{!?debug:BUILD_OPT=1} \
150 OPTIMIZER="%{rpmcflags} -DHAVE_VA_COPY -DVA_COPY=va_copy" \
153 LDFLAGS="%{rpmldflags}" \
154 MKSHLIB="%{__cc} -shared -Wl,-soname=\$(SONAME)" \
155 %{?with_threads:JS_THREADSAFE=1} \
156 %{?with_java:JS_LIVECONNECT=1 JDK=%{java_home}}
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 $RPM_BUILD_ROOT%{_libdir}
168 install Linux*/libjs.so $RPM_BUILD_ROOT%{_libdir}/libjs.so.1.0.0
169 ln -sf libjs.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjs.so.1
170 ln -sf libjs.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjs.so
171 install Linux*/{jsautocfg.h,jsautokw.h} $RPM_BUILD_ROOT%{_includedir}/js
172 install js.msg jsapi.h jsarray.h jsarena.h jsatom.h jsbit.h jsbool.h \
173 jsclist.h jscntxt.h jscompat.h jsconfig.h jsdate.h jsdbgapi.h \
174 jsdhash.h jsemit.h jsfun.h jsgc.h jshash.h jsinterp.h jsiter.h \
175 jslock.h jslong.h jsmath.h jsnum.h jsobj.h jsopcode.tbl jsopcode.h \
176 jsosdep.h jsotypes.h jsparse.h jsprf.h jsproto.tbl jsprvtd.h jspubtd.h \
177 jsregexp.h jsscan.h jsscope.h jsscript.h jsstddef.h jsstr.h jstypes.h \
178 jsutil.h jsxdrapi.h jsxml.h \
179 $RPM_BUILD_ROOT%{_includedir}/js
182 install liveconnect/Linux*/libjsj.a $RPM_BUILD_ROOT%{_libdir}
183 install liveconnect/Linux*/libjsj.so $RPM_BUILD_ROOT%{_libdir}/libjsj.so.1.0.0
184 ln -sf libjsj.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjsj.so.1
185 ln -sf libjsj.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjsj.so
186 install liveconnect/Linux*/lcshell $RPM_BUILD_ROOT%{_bindir}
187 install liveconnect/classes/Linux*/*.jar $RPM_BUILD_ROOT%{classdir}
188 install liveconnect/{jsjava.h,nsI*.h,_jni/*.h} $RPM_BUILD_ROOT%{_includedir}/js
192 rm -rf $RPM_BUILD_ROOT
194 %post -p /sbin/ldconfig
195 %postun -p /sbin/ldconfig
197 %post java -p /sbin/ldconfig
198 %postun java -p /sbin/ldconfig
201 %defattr(644,root,root,755)
203 %attr(755,root,root) %{_bindir}/js
204 %attr(755,root,root) %{_libdir}/libjs.so.*.*.*
205 %attr(755,root,root) %ghost %{_libdir}/libjs.so.1
208 %defattr(644,root,root,755)
209 %attr(755,root,root) %{_bindir}/jscpucfg
210 %attr(755,root,root) %{_libdir}/libjs.so
211 %dir %{_includedir}/js
212 %{_includedir}/js/js.msg
213 %{_includedir}/js/jsopcode.tbl
214 %{_includedir}/js/jsproto.tbl
215 %{_includedir}/js/js[!j]*.h
218 %defattr(644,root,root,755)
223 %defattr(644,root,root,755)
224 %doc src/liveconnect/README.html
225 %attr(755,root,root) %{_bindir}/lcshell
226 %attr(755,root,root) %{_libdir}/libjsj.so.*.*.*
227 %attr(755,root,root) %ghost %{_libdir}/libjsj.so.1
231 %defattr(644,root,root,755)
232 %attr(755,root,root) %{_libdir}/libjsj.so
233 %{_includedir}/js/jsjava.h
234 %{_includedir}/js/n*.h
237 %defattr(644,root,root,755)