]> git.pld-linux.org Git - packages/js.git/blob - js.spec
- rel 10; build fixed
[packages/js.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 %include        /usr/lib/rpm/macros.perl
7 Summary:        JavaScript Reference Implementation
8 Summary(pl.UTF-8):      Wzorcowa implementacja JavaScriptu
9 Name:           js
10 Version:        1.7.0
11 Release:        10
12 Epoch:          2
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
30 Obsoletes:      perl-JS
31 Conflicts:      njs
32 %{?with_threads:Provides:       js(threads)}
33 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
34
35 %define         classdir        %{_datadir}/java
36
37 %description
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
42 files to run scripts.
43
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
49 skryptów.
50
51 %package libs
52 Summary:        JavaScript Reference Implementation library
53 Summary(pl.UTF-8):      Biblioteka wzorcowej implementacja JavaScriptu
54 Group:          Libraries
55 Conflicts:      js < 1.7.0-8
56
57 %description libs
58 JavaScript Reference Implementation (codename SpiderMonkey) library.
59
60 %description libs -l pl.UTF-8
61 Biblioteka wzorcowej implementacja JavaScriptu (SpiderMonkey).
62
63 %package devel
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}
68 Conflicts:      njs-devel
69 %{?with_threads:Provides:       js-devel(threads)}
70
71 %description devel
72 Header files for JavaScript reference library.
73
74 %description devel -l pl.UTF-8
75 Pliki nagłówkowe do biblioteki JavaScript.
76
77 %package static
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}
82 Conflicts:      njs-static
83 %{?with_threads:Provides:       js-static(threads)}
84
85 %description static
86 Static version of JavaScript reference library.
87
88 %description static -l pl.UTF-8
89 Statyczna wersja biblioteki JavaScript.
90
91 %package java
92 Summary:        JavaScript LiveConnect Version 3 implementation
93 Summary(pl.UTF-8):      Implementacja JavaScript LiveConnect w wersji 3
94 Group:          Libraries
95 Requires:       %{name} = %{epoch}:%{version}-%{release}
96 Conflicts:      mozilla
97 Conflicts:      mozilla-embedded
98
99 %description java
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
107 the Mozilla browser.
108
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.
118
119 %package java-devel
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}
125
126 %description java-devel
127 JavaScript LiveConnect 3 implementation header files.
128
129 %description java-devel -l pl.UTF-8
130 Pliki nagłówkowe implementacji JavaScript LiveConnect 3.
131
132 %package java-static
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}
137
138 %description java-static
139 JavaScript Live Connect 3 implementation static library.
140
141 %description java-static -l pl.UTF-8
142 Biblioteka statyczna implementacji JavaScript LiveConnect 3.
143
144 %prep
145 %setup -q -n %{name}
146 %patch0 -p1
147 %patch1 -p1
148 %patch2 -p1
149
150 echo 'SONAME=libjs.so.1' >> src/Makefile.ref
151 echo 'SONAME=libjsj.so.1' >> src/liveconnect/Makefile.ref
152
153 %ifarch %{x8664}
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
156 %endif
157
158 %build
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" \
162         JS_READLINE=1 \
163         CC="%{__cc}" \
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}}
168
169 # no UNIX makefiles
170 # %{__make} -C jsd
171
172 %install
173 rm -rf $RPM_BUILD_ROOT
174 install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir}/js,%{classdir}}
175
176 cd src
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
191
192 %if %{with java}
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
200 %endif
201
202 %clean
203 rm -rf $RPM_BUILD_ROOT
204
205 %post   libs -p /sbin/ldconfig
206 %postun libs -p /sbin/ldconfig
207
208 %post   java -p /sbin/ldconfig
209 %postun java -p /sbin/ldconfig
210
211 %files
212 %defattr(644,root,root,755)
213 %doc src/README.html
214 %attr(755,root,root) %{_bindir}/js
215
216 %files libs
217 %defattr(644,root,root,755)
218 %attr(755,root,root) %{_libdir}/libjs.so.*.*.*
219 %attr(755,root,root) %ghost %{_libdir}/libjs.so.1
220
221 %files devel
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
230
231 %files static
232 %defattr(644,root,root,755)
233 %{_libdir}/libjs.a
234
235 %if %{with java}
236 %files java
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
242 %{classdir}/js*.jar
243
244 %files java-devel
245 %defattr(644,root,root,755)
246 %attr(755,root,root) %{_libdir}/libjsj.so
247 %{_includedir}/js/jsjava.h
248 %{_includedir}/js/n*.h
249
250 %files java-static
251 %defattr(644,root,root,755)
252 %{_libdir}/libjsj.a
253 %endif
This page took 0.037394 seconds and 3 git commands to generate.