]> git.pld-linux.org Git - packages/js.git/blob - js.spec
- sed s/vendor/site/, now builds on Ra
[packages/js.git] / js.spec
1 #
2 # Conditional build:
3 # _with_threads - build thread-safe library (requires nspr)
4 # _with_java    - with libjsj and lshell
5 #
6 %include        /usr/lib/rpm/macros.perl
7 Summary:        JavaScript Reference Implementation
8 Summary(pl):    Wzorcowa implementacja JavaScriptu
9 Name:           js
10 Version:        1.5
11 %define rcver   rc5
12 Release:        0.%{rcver}.1
13 License:        GPL or Netscape Public License 1.1
14 Group:          Libraries
15 Source0:        http://ftp.mozilla.org/pub/js/%{name}-%{version}-%{rcver}.tar.gz
16 Patch0:         %{name}-makefile.patch
17 URL:            http://www.mozilla.org/js/
18 %{?_with_java:BuildRequires: jdk}
19 %{?_with_threads:BuildRequires: nspr-devel}
20 BuildRequires:  perl-devel
21 BuildRequires:  readline-devel
22 BuildRequires:  rpm-perlprov
23 Conflicts:      njs
24 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
25
26 %define         classdir        /usr/share/java
27
28 %description
29 JavaScript Reference Implementation (codename SpiderMonkey). The
30 package contains JavaScript runtime (compiler, interpreter,
31 decompiler, garbage collector, atom manager, standard classes) and
32 small "shell" program that can be used interactively and with .js
33 files to run scripts.
34
35 %description -l pl
36 Wzorcowa implementacja JavaScriptu (o nazwie kodowej SpiderMonkey).
37 Pakiet zawiera ¶rodowisko uruchomieniowe (kompilator, interpreter,
38 dekompilator, od¶miecacz, standardowe klasy) i niewielk± pow³okê,
39 która mo¿e byæ u¿ywana interaktywnie lub z plikami .js do uruchamiania
40 skryptów.
41
42 %package devel
43 Summary:        Header files for JavaScript reference library
44 Summary(pl):    Pliki nag³ówkowe do biblioteki JavaScript
45 Group:          Development/Libraries
46 Requires:       %{name} = %{version}
47 Conflicts:      njs-devel
48
49 %description devel
50 Header files for JavaScript reference library.
51
52 %description devel -l pl
53 Pliki nag³ówkowe do biblioteki JavaScript.
54
55 %package static
56 Summary:        Static JavaScript reference library
57 Summary(pl):    Statyczna biblioteka JavaScript
58 Group:          Development/Libraries
59 Requires:       %{name}-devel = %{version}
60 Conflicts:      njs-static
61
62 %description static
63 Static version of JavaScript reference library.
64
65 %description static -l pl
66 Statyczna wersja biblioteki JavaScript.
67
68 %package java
69 Summary:        JavaScript LiveConnect Version 3 implementation
70 Summary(pl):    Implementacja JavaScript LiveConnect w wersji 3
71 Group:          Libraries
72 Requires:       %{name} = %{version}
73 Conflicts:      mozilla
74 Conflicts:      mozilla-embedded
75
76 %description java
77 LiveConnect is a library that permits JavaScript and Java virtual
78 machines to interoperate. Specifically, it enables JavaScript to
79 access Java fields, invoke Java methods and enables Java to access
80 JavaScript object properties and evaluate arbitrary JavaScript.
81 LiveConnect was originally an integrated feature of both the Netscape
82 Navigator browser and Netscape's server-side JavaScript. Now, it is a
83 standalone library that can be embedded within other projects, such as
84 the Mozilla browser.
85
86 %description java -l pl
87 LiveConnect to biblioteka pozwalaj±ca na wspó³pracê maszyn wirtualnych
88 JavaScriptu i Javy. W szczególno¶ci pozwala z poziomu JavaScriptu na
89 dostêp do pól Javy, wywo³ywanie metod Javy oraz z poziomu Javy na
90 dostêp do sk³adowych obiektów JavaScriptu i wykonywanie dowolnego kodu
91 w JavaScripcie. LiveConnect oryginalnie by³ zintegrowan± czê¶ci±
92 przegl±darki Netscape Navigator oraz Netscape JavaScript dzia³aj±cego
93 po stronie serwera. Teraz jest to samodzielna biblioteka, któr± mo¿na
94 osadzaæ w innych projektach, takich jak przegl±darka Mozilla.
95
96 %package java-devel
97 Summary:        JavaScript LiveConnect 3 implementation header files
98 Summary(pl):    Pliki nag³ówkowe implementacji JavaScript LiveConnect 3
99 Group:          Development/Libraries
100 Requires:       %{name}-devel = %{version}
101 Requires:       %{name}-java = %{version}
102
103 %description java-devel
104 JavaScript LiveConnect 3 implementation header files.
105
106 %description java-devel -l pl
107 Pliki nag³ówkowe implementacji JavaScript LiveConnect 3.
108
109 %package java-static
110 Summary:        JavaScript Live Connect 3 implementation static library
111 Summary(pl):    Biblioteka statyczna implementacji JavaScript LiveConnect 3
112 Group:          Development/Libraries
113 Requires:       %{name}-java-devel = %{version}
114
115 %description java-static
116 JavaScript Live Connect 3 implementation static library.
117
118 %description java-static -l pl
119 Biblioteka statyczna implementacji JavaScript LiveConnect 3.
120
121 %package -n perl-JS
122 Summary:        JS perl module - interface to JavaScript
123 Summary(pl):    Modu³ perla JS - interfejs do JavaScriptu
124 Group:          Development/Languages/Perl
125 Requires:       %{name} = %{version}
126
127 %description -n perl-JS
128 JS perl module allows calling JavaScript from Perl.
129
130 %description -n perl-JS -l pl
131 Modu³ perla JS pozwalaj±cy na wywo³ywanie JavaScriptu z Perla.
132
133 %prep
134 %setup -q -n %{name}
135 %patch -p1
136
137 %build
138 #make -C src -f Makefile.ref BUILD_OPT=1 XMKSHLIBOPTS="-soname libjs.so.0"
139
140 %{__make} -C src -f Makefile.ref \
141         %{!?debug:BUILD_OPT=1} \
142         OPTIMIZER="%{rpmcflags}" \
143         JS_READLINE=1 \
144         %{?_with_threads:JS_THREADSAFE=1} \
145         %{?_with_java:JS_LIVECONNECT=1 JDK=/usr/lib/java}
146
147 # js segfaults when jsperl is compiled in
148 #       JS_PERLCONNECT=1
149
150 cd src/perlconnect
151 %{!?debug:BUILD_OPT=1} \
152 %{__perl} Makefile.PL \
153         INSTALLDIRS=site
154
155 %{__make} \
156         OPTIMIZE="%{rpmcflags}"
157
158 # no UNIX makefiles
159 # %{__make} -C jsd
160
161 %install
162 rm -rf $RPM_BUILD_ROOT
163 install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir}/js,%{classdir}}
164
165 cd src
166 install Linux*/{js,jscpucfg} $RPM_BUILD_ROOT%{_bindir}
167 install Linux*/libjs.{a,so} $RPM_BUILD_ROOT%{_libdir}
168 install Linux*/jsautocfg.h $RPM_BUILD_ROOT%{_includedir}/js
169 install js.msg jsapi.h jsarray.h jsarena.h jsatom.h jsbit.h jsbool.h \
170         jsclist.h jscntxt.h jscompat.h jsconfig.h jsdate.h jsdbgapi.h \
171         jsdhash.h jsemit.h jsfun.h jsgc.h jshash.h jsinterp.h jslock.h \
172         jslong.h jsmath.h jsnum.h jsobj.h jsopcode.tbl jsopcode.h jsosdep.h \
173         jsotypes.h jsparse.h jsprf.h jsprvtd.h jspubtd.h jsregexp.h jsscan.h \
174         jsscope.h jsscript.h jsstr.h jstypes.h jsutil.h jsxdrapi.h jsstddef.h \
175         $RPM_BUILD_ROOT%{_includedir}/js
176
177 %if 0%{?_with_java:1}
178 install liveconnect/Linux*/libjsj.{a,so} $RPM_BUILD_ROOT%{_libdir}
179 install liveconnect/Linux*/lcshell $RPM_BUILD_ROOT%{_bindir}
180 install liveconnect/classes/Linux*/*.jar $RPM_BUILD_ROOT%{classdir}
181 install liveconnect/{jsjava.h,nsI*.h,_jni/*.h} $RPM_BUILD_ROOT%{_includedir}/js
182 %endif
183
184 %{__make} -C perlconnect install \
185         DESTDIR=$RPM_BUILD_ROOT
186
187 mv -f perlconnect/README.html README-perlconnect.html
188
189 %clean
190 rm -rf $RPM_BUILD_ROOT
191
192 %post   -p /sbin/ldconfig
193 %postun -p /sbin/ldconfig
194
195 %post   java -p /sbin/ldconfig
196 %postun java -p /sbin/ldconfig
197
198 %files
199 %defattr(644,root,root,755)
200 %doc src/README*.html
201 %attr(755,root,root) %{_bindir}/js*
202 %attr(755,root,root) %{_libdir}/libjs.so
203
204 %files devel
205 %defattr(644,root,root,755)
206 %dir %{_includedir}/js
207 %{_includedir}/js/js.msg
208 %{_includedir}/js/jsopcode.tbl
209 %{_includedir}/js/js[!j]*.h
210
211 %files static
212 %defattr(644,root,root,755)
213 %{_libdir}/libjs.a
214
215 %if 0%{?_with_java:1}
216 %files java
217 %defattr(644,root,root,755)
218 %doc src/liveconnect/README.html
219 %attr(755,root,root) %{_bindir}/lcshell
220 %attr(755,root,root) %{_libdir}/libjsj.so
221 %{classdir}/*.jar
222
223 %files java-devel
224 %defattr(644,root,root,755)
225 %{_includedir}/js/jsjava.h
226 %{_includedir}/js/n*.h
227
228 %files java-static
229 %defattr(644,root,root,755)
230 %{_libdir}/libjsj.a
231 %endif
232
233 %files -n perl-JS
234 %defattr(644,root,root,755)
235 %{perl_sitearch}/JS.pm
236 %{perl_sitearch}/jsperlbuild.pl
237 %dir %{perl_sitearch}/auto/JS
238 %{perl_sitearch}/auto/JS/JS.bs
239 %attr(755,root,root) %{perl_sitearch}/auto/JS/JS.so
240 # unusable now (helper module for PerlConnect in libjs, which is not built)
241 #%%{perl_vendorarch}/PerlConnect.pm
This page took 0.043608 seconds and 3 git commands to generate.