]> git.pld-linux.org Git - SPECS.git/blob - js.spec
SPECS updated Wed 28 Jul 14:48:01 CEST 2021
[SPECS.git] / js.spec
1 #
2 # Conditional build:
3 %bcond_without  threads # thread-safe library (requires nspr)
4 %bcond_without  java    # libjsj and lshell
5 #
6 Summary:        JavaScript Reference Implementation
7 Summary(pl.UTF-8):      Wzorcowa implementacja JavaScriptu
8 Name:           js
9 Version:        1.7.0
10 Release:        12
11 Epoch:          2
12 License:        MPL 1.1 or GPL v2+ or LGPL v2.1+
13 Group:          Development/Languages
14 Source0:        http://ftp.mozilla.org/pub/mozilla.org/js/%{name}-%{version}.tar.gz
15 # Source0-md5:  5571134c3863686b623ebe4e6b1f6fe6
16 Patch0:         %{name}-makefile.patch
17 Patch1:         %{name}-java.patch
18 Patch2:         %{name}-build.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
29 Obsoletes:      perl-JS
30 Conflicts:      njs
31 %{?with_threads:Provides:       js(threads)}
32 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
33
34 %define         classdir        %{_datadir}/java
35
36 %description
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
41 files to run scripts.
42
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
48 skryptów.
49
50 %package libs
51 Summary:        JavaScript Reference Implementation library
52 Summary(pl.UTF-8):      Biblioteka wzorcowej implementacja JavaScriptu
53 Group:          Libraries
54 Conflicts:      js < 1.7.0-8
55
56 %description libs
57 JavaScript Reference Implementation (codename SpiderMonkey) library.
58
59 %description libs -l pl.UTF-8
60 Biblioteka wzorcowej implementacja JavaScriptu (SpiderMonkey).
61
62 %package devel
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}
67 Conflicts:      njs-devel
68 %{?with_threads:Provides:       js-devel(threads)}
69
70 %description devel
71 Header files for JavaScript reference library.
72
73 %description devel -l pl.UTF-8
74 Pliki nagłówkowe do biblioteki JavaScript.
75
76 %package static
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}
81 Conflicts:      njs-static
82 %{?with_threads:Provides:       js-static(threads)}
83
84 %description static
85 Static version of JavaScript reference library.
86
87 %description static -l pl.UTF-8
88 Statyczna wersja biblioteki JavaScript.
89
90 %package java
91 Summary:        JavaScript LiveConnect Version 3 implementation
92 Summary(pl.UTF-8):      Implementacja JavaScript LiveConnect w wersji 3
93 Group:          Libraries
94 Requires:       %{name} = %{epoch}:%{version}-%{release}
95 Conflicts:      mozilla
96 Conflicts:      mozilla-embedded
97
98 %description java
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
106 the Mozilla browser.
107
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.
117
118 %package java-devel
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}
124
125 %description java-devel
126 JavaScript LiveConnect 3 implementation header files.
127
128 %description java-devel -l pl.UTF-8
129 Pliki nagłówkowe implementacji JavaScript LiveConnect 3.
130
131 %package java-static
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}
136
137 %description java-static
138 JavaScript Live Connect 3 implementation static library.
139
140 %description java-static -l pl.UTF-8
141 Biblioteka statyczna implementacji JavaScript LiveConnect 3.
142
143 %prep
144 %setup -q -n %{name}
145 %patch0 -p1
146 %patch1 -p1
147 %patch2 -p1
148
149 echo 'SONAME=libjs.so.1' >> src/Makefile.ref
150 echo 'SONAME=libjsj.so.1' >> src/liveconnect/Makefile.ref
151
152 %ifarch %{x8664}
153 sed -i -e 's#i386#amd64#g' src/liveconnect/Makefile.ref src/liveconnect/config/*.mk
154 sed -i -e 's#lib/amd64/client#lib/amd64/server#g' src/liveconnect/Makefile.ref src/liveconnect/config/*.mk
155 %endif
156
157 %build
158 %{__make} -j1 -C src -f Makefile.ref \
159         %{!?debug:BUILD_OPT=1} \
160         OPTIMIZER="%{rpmcflags} -DHAVE_VA_COPY -DVA_COPY=va_copy -DJS_C_STRINGS_ARE_UTF8=1" \
161         JS_READLINE=1 \
162         CC="%{__cc}" \
163         LDFLAGS="%{rpmldflags}" \
164         MKSHLIB="%{__cc} -shared -Wl,-soname=\$(SONAME)" \
165         %{?with_threads:JS_THREADSAFE=1} \
166         %{?with_java:JS_LIVECONNECT=1 JDK=%{java_home}}
167
168 # no UNIX makefiles
169 # %{__make} -C jsd
170
171 %install
172 rm -rf $RPM_BUILD_ROOT
173 install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir}/js,%{classdir}}
174
175 cd src
176 install Linux*/{js,jscpucfg} $RPM_BUILD_ROOT%{_bindir}
177 install Linux*/libjs.a $RPM_BUILD_ROOT%{_libdir}
178 install Linux*/libjs.so $RPM_BUILD_ROOT%{_libdir}/libjs.so.1.0.0
179 ln -sf libjs.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjs.so.1
180 ln -sf libjs.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjs.so
181 install Linux*/{jsautocfg.h,jsautokw.h} $RPM_BUILD_ROOT%{_includedir}/js
182 install js.msg jsapi.h jsarray.h jsarena.h jsatom.h jsbit.h jsbool.h \
183         jsclist.h jscntxt.h jscompat.h jsconfig.h jsdate.h jsdbgapi.h \
184         jsdhash.h jsemit.h jsfun.h jsgc.h jshash.h jsinterp.h jsiter.h \
185         jslock.h jslong.h jsmath.h jsnum.h jsobj.h jsopcode.tbl jsopcode.h \
186         jsosdep.h jsotypes.h jsparse.h jsprf.h jsproto.tbl jsprvtd.h jspubtd.h \
187         jsregexp.h jsscan.h jsscope.h jsscript.h jsstddef.h jsstr.h jstypes.h \
188         jsutil.h jsxdrapi.h jsxml.h \
189         $RPM_BUILD_ROOT%{_includedir}/js
190
191 %if %{with java}
192 install liveconnect/Linux*/libjsj.a $RPM_BUILD_ROOT%{_libdir}
193 install liveconnect/Linux*/libjsj.so $RPM_BUILD_ROOT%{_libdir}/libjsj.so.1.0.0
194 ln -sf libjsj.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjsj.so.1
195 ln -sf libjsj.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjsj.so
196 install liveconnect/Linux*/lcshell $RPM_BUILD_ROOT%{_bindir}
197 install liveconnect/classes/Linux*/*.jar $RPM_BUILD_ROOT%{classdir}
198 install liveconnect/{jsjava.h,nsI*.h,_jni/*.h} $RPM_BUILD_ROOT%{_includedir}/js
199 %endif
200
201 %clean
202 rm -rf $RPM_BUILD_ROOT
203
204 %post   libs -p /sbin/ldconfig
205 %postun libs -p /sbin/ldconfig
206
207 %post   java -p /sbin/ldconfig
208 %postun java -p /sbin/ldconfig
209
210 %files
211 %defattr(644,root,root,755)
212 %doc src/README.html
213 %attr(755,root,root) %{_bindir}/js
214
215 %files libs
216 %defattr(644,root,root,755)
217 %attr(755,root,root) %{_libdir}/libjs.so.*.*.*
218 %attr(755,root,root) %ghost %{_libdir}/libjs.so.1
219
220 %files devel
221 %defattr(644,root,root,755)
222 %attr(755,root,root) %{_bindir}/jscpucfg
223 %attr(755,root,root) %{_libdir}/libjs.so
224 %dir %{_includedir}/js
225 %{_includedir}/js/js.msg
226 %{_includedir}/js/jsopcode.tbl
227 %{_includedir}/js/jsproto.tbl
228 %{_includedir}/js/js[!j]*.h
229
230 %files static
231 %defattr(644,root,root,755)
232 %{_libdir}/libjs.a
233
234 %if %{with java}
235 %files java
236 %defattr(644,root,root,755)
237 %doc src/liveconnect/README.html
238 %attr(755,root,root) %{_bindir}/lcshell
239 %attr(755,root,root) %{_libdir}/libjsj.so.*.*.*
240 %attr(755,root,root) %ghost %{_libdir}/libjsj.so.1
241 %{classdir}/js*.jar
242
243 %files java-devel
244 %defattr(644,root,root,755)
245 %attr(755,root,root) %{_libdir}/libjsj.so
246 %{_includedir}/js/jsjava.h
247 %{_includedir}/js/n*.h
248
249 %files java-static
250 %defattr(644,root,root,755)
251 %{_libdir}/libjsj.a
252 %endif
This page took 0.716103 seconds and 3 git commands to generate.