3 %bcond_without threads # thread-safe library (requires nspr)
4 %bcond_without java # libjsj and lshell
6 %include /usr/lib/rpm/macros.perl
7 Summary: JavaScript Reference Implementation
8 Summary(pl.UTF-8): Wzorcowa implementacja JavaScriptu
13 License: MPL 1.1 or GPL v2+ or LGPL v2.1+
14 Group: Development/Languages
15 Source0: http://ftp.mozilla.org/pub/mozilla.org/js/%{name}-%{version}.tar.gz
16 # Source0-md5: 5571134c3863686b623ebe4e6b1f6fe6
17 Patch0: %{name}-makefile.patch
18 Patch1: %{name}-java.patch
19 URL: http://www.mozilla.org/js/
20 %{?with_java:BuildRequires: jdk}
21 %{?with_java:BuildRequires: jpackage-utils}
22 %{?with_threads:BuildRequires: nspr-devel}
23 BuildRequires: perl-devel
24 BuildRequires: readline-devel
25 BuildRequires: rpm-perlprov
26 BuildRequires: rpmbuild(macros) >= 1.294
27 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
28 # dead, removed upstream
31 %{?with_threads:Provides: js(threads)}
32 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
34 %define classdir %{_datadir}/java
37 JavaScript Reference Implementation (codename SpiderMonkey). The
38 package contains JavaScript runtime (compiler, interpreter,
39 decompiler, garbage collector, atom manager, standard classes) and
40 small "shell" program that can be used interactively and with .js
43 %description -l pl.UTF-8
44 Wzorcowa implementacja JavaScriptu (o nazwie kodowej SpiderMonkey).
45 Pakiet zawiera środowisko uruchomieniowe (kompilator, interpreter,
46 dekompilator, odśmiecacz, standardowe klasy) i niewielką powłokę,
47 która może być używana interaktywnie lub z plikami .js do uruchamiania
51 Summary: JavaScript Reference Implementation library
52 Summary(pl.UTF-8): Biblioteka wzorcowej implementacja JavaScriptu
54 Conflicts: js < 1.7.0-8
57 JavaScript Reference Implementation (codename SpiderMonkey) library.
59 %description libs -l pl.UTF-8
60 Biblioteka wzorcowej implementacja JavaScriptu (SpiderMonkey).
63 Summary: Header files for JavaScript reference library
64 Summary(pl.UTF-8): Pliki nagłówkowe do biblioteki JavaScript
65 Group: Development/Libraries
66 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
68 %{?with_threads:Provides: js-devel(threads)}
71 Header files for JavaScript reference library.
73 %description devel -l pl.UTF-8
74 Pliki nagłówkowe do biblioteki JavaScript.
77 Summary: Static JavaScript reference library
78 Summary(pl.UTF-8): Statyczna biblioteka JavaScript
79 Group: Development/Libraries
80 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
82 %{?with_threads:Provides: js-static(threads)}
85 Static version of JavaScript reference library.
87 %description static -l pl.UTF-8
88 Statyczna wersja biblioteki JavaScript.
91 Summary: JavaScript LiveConnect Version 3 implementation
92 Summary(pl.UTF-8): Implementacja JavaScript LiveConnect w wersji 3
94 Requires: %{name} = %{epoch}:%{version}-%{release}
96 Conflicts: mozilla-embedded
99 LiveConnect is a library that permits JavaScript and Java virtual
100 machines to interoperate. Specifically, it enables JavaScript to
101 access Java fields, invoke Java methods and enables Java to access
102 JavaScript object properties and evaluate arbitrary JavaScript.
103 LiveConnect was originally an integrated feature of both the Netscape
104 Navigator browser and Netscape's server-side JavaScript. Now, it is a
105 standalone library that can be embedded within other projects, such as
108 %description java -l pl.UTF-8
109 LiveConnect to biblioteka pozwalająca na współpracę maszyn wirtualnych
110 JavaScriptu i Javy. W szczególności pozwala z poziomu JavaScriptu na
111 dostęp do pól Javy, wywoływanie metod Javy oraz z poziomu Javy na
112 dostęp do składowych obiektów JavaScriptu i wykonywanie dowolnego kodu
113 w JavaScripcie. LiveConnect oryginalnie był zintegrowaną częścią
114 przeglądarki Netscape Navigator oraz Netscape JavaScript działającego
115 po stronie serwera. Teraz jest to samodzielna biblioteka, którą można
116 osadzać w innych projektach, takich jak przeglądarka Mozilla.
119 Summary: JavaScript LiveConnect 3 implementation header files
120 Summary(pl.UTF-8): Pliki nagłówkowe implementacji JavaScript LiveConnect 3
121 Group: Development/Libraries
122 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
123 Requires: %{name}-java = %{epoch}:%{version}-%{release}
125 %description java-devel
126 JavaScript LiveConnect 3 implementation header files.
128 %description java-devel -l pl.UTF-8
129 Pliki nagłówkowe implementacji JavaScript LiveConnect 3.
132 Summary: JavaScript Live Connect 3 implementation static library
133 Summary(pl.UTF-8): Biblioteka statyczna implementacji JavaScript LiveConnect 3
134 Group: Development/Libraries
135 Requires: %{name}-java-devel = %{epoch}:%{version}-%{release}
137 %description java-static
138 JavaScript Live Connect 3 implementation static library.
140 %description java-static -l pl.UTF-8
141 Biblioteka statyczna implementacji JavaScript LiveConnect 3.
148 echo 'SONAME=libjs.so.1' >> src/Makefile.ref
149 echo 'SONAME=libjsj.so.1' >> src/liveconnect/Makefile.ref
152 sed -i -e 's#i386#amd64#g' src/liveconnect/Makefile.ref src/liveconnect/config/*.mk
153 sed -i -e 's#lib/amd64/client#lib/amd64/server#g' src/liveconnect/Makefile.ref src/liveconnect/config/*.mk
157 %{__make} -j1 -C src -f Makefile.ref \
158 %{!?debug:BUILD_OPT=1} \
159 OPTIMIZER="%{rpmcflags} -DHAVE_VA_COPY -DVA_COPY=va_copy -DJS_C_STRINGS_ARE_UTF8=1" \
162 LDFLAGS="%{rpmldflags}" \
163 MKSHLIB="%{__cc} -shared -Wl,-soname=\$(SONAME)" \
164 %{?with_threads:JS_THREADSAFE=1} \
165 %{?with_java:JS_LIVECONNECT=1 JDK=%{java_home}}
171 rm -rf $RPM_BUILD_ROOT
172 install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir}/js,%{classdir}}
175 install Linux*/{js,jscpucfg} $RPM_BUILD_ROOT%{_bindir}
176 install Linux*/libjs.a $RPM_BUILD_ROOT%{_libdir}
177 install Linux*/libjs.so $RPM_BUILD_ROOT%{_libdir}/libjs.so.1.0.0
178 ln -sf libjs.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjs.so.1
179 ln -sf libjs.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjs.so
180 install Linux*/{jsautocfg.h,jsautokw.h} $RPM_BUILD_ROOT%{_includedir}/js
181 install js.msg jsapi.h jsarray.h jsarena.h jsatom.h jsbit.h jsbool.h \
182 jsclist.h jscntxt.h jscompat.h jsconfig.h jsdate.h jsdbgapi.h \
183 jsdhash.h jsemit.h jsfun.h jsgc.h jshash.h jsinterp.h jsiter.h \
184 jslock.h jslong.h jsmath.h jsnum.h jsobj.h jsopcode.tbl jsopcode.h \
185 jsosdep.h jsotypes.h jsparse.h jsprf.h jsproto.tbl jsprvtd.h jspubtd.h \
186 jsregexp.h jsscan.h jsscope.h jsscript.h jsstddef.h jsstr.h jstypes.h \
187 jsutil.h jsxdrapi.h jsxml.h \
188 $RPM_BUILD_ROOT%{_includedir}/js
191 install liveconnect/Linux*/libjsj.a $RPM_BUILD_ROOT%{_libdir}
192 install liveconnect/Linux*/libjsj.so $RPM_BUILD_ROOT%{_libdir}/libjsj.so.1.0.0
193 ln -sf libjsj.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjsj.so.1
194 ln -sf libjsj.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjsj.so
195 install liveconnect/Linux*/lcshell $RPM_BUILD_ROOT%{_bindir}
196 install liveconnect/classes/Linux*/*.jar $RPM_BUILD_ROOT%{classdir}
197 install liveconnect/{jsjava.h,nsI*.h,_jni/*.h} $RPM_BUILD_ROOT%{_includedir}/js
201 rm -rf $RPM_BUILD_ROOT
203 %post libs -p /sbin/ldconfig
204 %postun libs -p /sbin/ldconfig
206 %post java -p /sbin/ldconfig
207 %postun java -p /sbin/ldconfig
210 %defattr(644,root,root,755)
212 %attr(755,root,root) %{_bindir}/js
215 %defattr(644,root,root,755)
216 %attr(755,root,root) %{_libdir}/libjs.so.*.*.*
217 %attr(755,root,root) %ghost %{_libdir}/libjs.so.1
220 %defattr(644,root,root,755)
221 %attr(755,root,root) %{_bindir}/jscpucfg
222 %attr(755,root,root) %{_libdir}/libjs.so
223 %dir %{_includedir}/js
224 %{_includedir}/js/js.msg
225 %{_includedir}/js/jsopcode.tbl
226 %{_includedir}/js/jsproto.tbl
227 %{_includedir}/js/js[!j]*.h
230 %defattr(644,root,root,755)
235 %defattr(644,root,root,755)
236 %doc src/liveconnect/README.html
237 %attr(755,root,root) %{_bindir}/lcshell
238 %attr(755,root,root) %{_libdir}/libjsj.so.*.*.*
239 %attr(755,root,root) %ghost %{_libdir}/libjsj.so.1
243 %defattr(644,root,root,755)
244 %attr(755,root,root) %{_libdir}/libjsj.so
245 %{_includedir}/js/jsjava.h
246 %{_includedir}/js/n*.h
249 %defattr(644,root,root,755)