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 Patch2: %{name}-build.patch
20 URL: http://www.mozilla.org/js/
21 %{?with_java:BuildRequires: jdk}
22 %{?with_java:BuildRequires: jpackage-utils}
23 %{?with_threads:BuildRequires: nspr-devel}
24 BuildRequires: perl-devel
25 BuildRequires: readline-devel
26 BuildRequires: rpm-perlprov
27 BuildRequires: rpmbuild(macros) >= 1.294
28 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
29 # dead, removed upstream
32 %{?with_threads:Provides: js(threads)}
33 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
35 %define classdir %{_datadir}/java
38 JavaScript Reference Implementation (codename SpiderMonkey). The
39 package contains JavaScript runtime (compiler, interpreter,
40 decompiler, garbage collector, atom manager, standard classes) and
41 small "shell" program that can be used interactively and with .js
44 %description -l pl.UTF-8
45 Wzorcowa implementacja JavaScriptu (o nazwie kodowej SpiderMonkey).
46 Pakiet zawiera środowisko uruchomieniowe (kompilator, interpreter,
47 dekompilator, odśmiecacz, standardowe klasy) i niewielką powłokę,
48 która może być używana interaktywnie lub z plikami .js do uruchamiania
52 Summary: JavaScript Reference Implementation library
53 Summary(pl.UTF-8): Biblioteka wzorcowej implementacja JavaScriptu
55 Conflicts: js < 1.7.0-8
58 JavaScript Reference Implementation (codename SpiderMonkey) library.
60 %description libs -l pl.UTF-8
61 Biblioteka wzorcowej implementacja JavaScriptu (SpiderMonkey).
64 Summary: Header files for JavaScript reference library
65 Summary(pl.UTF-8): Pliki nagłówkowe do biblioteki JavaScript
66 Group: Development/Libraries
67 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
69 %{?with_threads:Provides: js-devel(threads)}
72 Header files for JavaScript reference library.
74 %description devel -l pl.UTF-8
75 Pliki nagłówkowe do biblioteki JavaScript.
78 Summary: Static JavaScript reference library
79 Summary(pl.UTF-8): Statyczna biblioteka JavaScript
80 Group: Development/Libraries
81 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
83 %{?with_threads:Provides: js-static(threads)}
86 Static version of JavaScript reference library.
88 %description static -l pl.UTF-8
89 Statyczna wersja biblioteki JavaScript.
92 Summary: JavaScript LiveConnect Version 3 implementation
93 Summary(pl.UTF-8): Implementacja JavaScript LiveConnect w wersji 3
95 Requires: %{name} = %{epoch}:%{version}-%{release}
97 Conflicts: mozilla-embedded
100 LiveConnect is a library that permits JavaScript and Java virtual
101 machines to interoperate. Specifically, it enables JavaScript to
102 access Java fields, invoke Java methods and enables Java to access
103 JavaScript object properties and evaluate arbitrary JavaScript.
104 LiveConnect was originally an integrated feature of both the Netscape
105 Navigator browser and Netscape's server-side JavaScript. Now, it is a
106 standalone library that can be embedded within other projects, such as
109 %description java -l pl.UTF-8
110 LiveConnect to biblioteka pozwalająca na współpracę maszyn wirtualnych
111 JavaScriptu i Javy. W szczególności pozwala z poziomu JavaScriptu na
112 dostęp do pól Javy, wywoływanie metod Javy oraz z poziomu Javy na
113 dostęp do składowych obiektów JavaScriptu i wykonywanie dowolnego kodu
114 w JavaScripcie. LiveConnect oryginalnie był zintegrowaną częścią
115 przeglądarki Netscape Navigator oraz Netscape JavaScript działającego
116 po stronie serwera. Teraz jest to samodzielna biblioteka, którą można
117 osadzać w innych projektach, takich jak przeglądarka Mozilla.
120 Summary: JavaScript LiveConnect 3 implementation header files
121 Summary(pl.UTF-8): Pliki nagłówkowe implementacji JavaScript LiveConnect 3
122 Group: Development/Libraries
123 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
124 Requires: %{name}-java = %{epoch}:%{version}-%{release}
126 %description java-devel
127 JavaScript LiveConnect 3 implementation header files.
129 %description java-devel -l pl.UTF-8
130 Pliki nagłówkowe implementacji JavaScript LiveConnect 3.
133 Summary: JavaScript Live Connect 3 implementation static library
134 Summary(pl.UTF-8): Biblioteka statyczna implementacji JavaScript LiveConnect 3
135 Group: Development/Libraries
136 Requires: %{name}-java-devel = %{epoch}:%{version}-%{release}
138 %description java-static
139 JavaScript Live Connect 3 implementation static library.
141 %description java-static -l pl.UTF-8
142 Biblioteka statyczna implementacji JavaScript LiveConnect 3.
150 echo 'SONAME=libjs.so.1' >> src/Makefile.ref
151 echo 'SONAME=libjsj.so.1' >> src/liveconnect/Makefile.ref
154 sed -i -e 's#i386#amd64#g' src/liveconnect/Makefile.ref src/liveconnect/config/*.mk
155 sed -i -e 's#lib/amd64/client#lib/amd64/server#g' src/liveconnect/Makefile.ref src/liveconnect/config/*.mk
159 %{__make} -j1 -C src -f Makefile.ref \
160 %{!?debug:BUILD_OPT=1} \
161 OPTIMIZER="%{rpmcflags} -DHAVE_VA_COPY -DVA_COPY=va_copy -DJS_C_STRINGS_ARE_UTF8=1" \
164 LDFLAGS="%{rpmldflags}" \
165 MKSHLIB="%{__cc} -shared -Wl,-soname=\$(SONAME)" \
166 %{?with_threads:JS_THREADSAFE=1} \
167 %{?with_java:JS_LIVECONNECT=1 JDK=%{java_home}}
173 rm -rf $RPM_BUILD_ROOT
174 install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir}/js,%{classdir}}
177 install Linux*/{js,jscpucfg} $RPM_BUILD_ROOT%{_bindir}
178 install Linux*/libjs.a $RPM_BUILD_ROOT%{_libdir}
179 install Linux*/libjs.so $RPM_BUILD_ROOT%{_libdir}/libjs.so.1.0.0
180 ln -sf libjs.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjs.so.1
181 ln -sf libjs.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjs.so
182 install Linux*/{jsautocfg.h,jsautokw.h} $RPM_BUILD_ROOT%{_includedir}/js
183 install js.msg jsapi.h jsarray.h jsarena.h jsatom.h jsbit.h jsbool.h \
184 jsclist.h jscntxt.h jscompat.h jsconfig.h jsdate.h jsdbgapi.h \
185 jsdhash.h jsemit.h jsfun.h jsgc.h jshash.h jsinterp.h jsiter.h \
186 jslock.h jslong.h jsmath.h jsnum.h jsobj.h jsopcode.tbl jsopcode.h \
187 jsosdep.h jsotypes.h jsparse.h jsprf.h jsproto.tbl jsprvtd.h jspubtd.h \
188 jsregexp.h jsscan.h jsscope.h jsscript.h jsstddef.h jsstr.h jstypes.h \
189 jsutil.h jsxdrapi.h jsxml.h \
190 $RPM_BUILD_ROOT%{_includedir}/js
193 install liveconnect/Linux*/libjsj.a $RPM_BUILD_ROOT%{_libdir}
194 install liveconnect/Linux*/libjsj.so $RPM_BUILD_ROOT%{_libdir}/libjsj.so.1.0.0
195 ln -sf libjsj.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjsj.so.1
196 ln -sf libjsj.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjsj.so
197 install liveconnect/Linux*/lcshell $RPM_BUILD_ROOT%{_bindir}
198 install liveconnect/classes/Linux*/*.jar $RPM_BUILD_ROOT%{classdir}
199 install liveconnect/{jsjava.h,nsI*.h,_jni/*.h} $RPM_BUILD_ROOT%{_includedir}/js
203 rm -rf $RPM_BUILD_ROOT
205 %post libs -p /sbin/ldconfig
206 %postun libs -p /sbin/ldconfig
208 %post java -p /sbin/ldconfig
209 %postun java -p /sbin/ldconfig
212 %defattr(644,root,root,755)
214 %attr(755,root,root) %{_bindir}/js
217 %defattr(644,root,root,755)
218 %attr(755,root,root) %{_libdir}/libjs.so.*.*.*
219 %attr(755,root,root) %ghost %{_libdir}/libjs.so.1
222 %defattr(644,root,root,755)
223 %attr(755,root,root) %{_bindir}/jscpucfg
224 %attr(755,root,root) %{_libdir}/libjs.so
225 %dir %{_includedir}/js
226 %{_includedir}/js/js.msg
227 %{_includedir}/js/jsopcode.tbl
228 %{_includedir}/js/jsproto.tbl
229 %{_includedir}/js/js[!j]*.h
232 %defattr(644,root,root,755)
237 %defattr(644,root,root,755)
238 %doc src/liveconnect/README.html
239 %attr(755,root,root) %{_bindir}/lcshell
240 %attr(755,root,root) %{_libdir}/libjsj.so.*.*.*
241 %attr(755,root,root) %ghost %{_libdir}/libjsj.so.1
245 %defattr(644,root,root,755)
246 %attr(755,root,root) %{_libdir}/libjsj.so
247 %{_includedir}/js/jsjava.h
248 %{_includedir}/js/n*.h
251 %defattr(644,root,root,755)