]> git.pld-linux.org Git - packages/js.git/blob - js.spec
- jscpucfg looks like development resource
[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 %ifnarch i586 i686 pentium3 pentium4 athlon %{x8664}
7 %undefine       with_java
8 %endif
9 #
10 %include        /usr/lib/rpm/macros.perl
11 Summary:        JavaScript Reference Implementation
12 Summary(pl.UTF-8):      Wzorcowa implementacja JavaScriptu
13 Name:           js
14 Version:        1.7.0
15 Release:        4
16 Epoch:          2
17 License:        MPL 1.1 or GPL v2+ or LGPL v2.1+
18 Group:          Libraries
19 Source0:        http://ftp.mozilla.org/pub/mozilla.org/js/%{name}-%{version}.tar.gz
20 # Source0-md5:  5571134c3863686b623ebe4e6b1f6fe6
21 Patch0:         %{name}-makefile.patch
22 Patch1:         %{name}-java.patch
23 URL:            http://www.mozilla.org/js/
24 %{?with_java:BuildRequires:     jdk}
25 %{?with_java:BuildRequires:     jpackage-utils}
26 %{?with_threads:BuildRequires:  nspr-devel}
27 BuildRequires:  perl-devel
28 BuildRequires:  readline-devel
29 BuildRequires:  rpm-perlprov
30 BuildRequires:  rpmbuild(macros) >= 1.294
31 # dead, removed upstream
32 Obsoletes:      perl-JS
33 Conflicts:      njs
34 %{?with_threads:Provides:       js(threads)}
35 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
36
37 %define         classdir        %{_datadir}/java
38
39 %description
40 JavaScript Reference Implementation (codename SpiderMonkey). The
41 package contains JavaScript runtime (compiler, interpreter,
42 decompiler, garbage collector, atom manager, standard classes) and
43 small "shell" program that can be used interactively and with .js
44 files to run scripts.
45
46 %description -l pl.UTF-8
47 Wzorcowa implementacja JavaScriptu (o nazwie kodowej SpiderMonkey).
48 Pakiet zawiera środowisko uruchomieniowe (kompilator, interpreter,
49 dekompilator, odśmiecacz, standardowe klasy) i niewielką powłokę,
50 która może być używana interaktywnie lub z plikami .js do uruchamiania
51 skryptów.
52
53 %package devel
54 Summary:        Header files for JavaScript reference library
55 Summary(pl.UTF-8):      Pliki nagłówkowe do biblioteki JavaScript
56 Group:          Development/Libraries
57 Requires:       %{name} = %{epoch}:%{version}-%{release}
58 Conflicts:      njs-devel
59 %{?with_threads:Provides:       js-devel(threads)}
60
61 %description devel
62 Header files for JavaScript reference library.
63
64 %description devel -l pl.UTF-8
65 Pliki nagłówkowe do biblioteki JavaScript.
66
67 %package static
68 Summary:        Static JavaScript reference library
69 Summary(pl.UTF-8):      Statyczna biblioteka JavaScript
70 Group:          Development/Libraries
71 Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
72 Conflicts:      njs-static
73 %{?with_threads:Provides:       js-static(threads)}
74
75 %description static
76 Static version of JavaScript reference library.
77
78 %description static -l pl.UTF-8
79 Statyczna wersja biblioteki JavaScript.
80
81 %package java
82 Summary:        JavaScript LiveConnect Version 3 implementation
83 Summary(pl.UTF-8):      Implementacja JavaScript LiveConnect w wersji 3
84 Group:          Libraries
85 Requires:       %{name} = %{epoch}:%{version}-%{release}
86 Conflicts:      mozilla
87 Conflicts:      mozilla-embedded
88
89 %description java
90 LiveConnect is a library that permits JavaScript and Java virtual
91 machines to interoperate. Specifically, it enables JavaScript to
92 access Java fields, invoke Java methods and enables Java to access
93 JavaScript object properties and evaluate arbitrary JavaScript.
94 LiveConnect was originally an integrated feature of both the Netscape
95 Navigator browser and Netscape's server-side JavaScript. Now, it is a
96 standalone library that can be embedded within other projects, such as
97 the Mozilla browser.
98
99 %description java -l pl.UTF-8
100 LiveConnect to biblioteka pozwalająca na współpracę maszyn wirtualnych
101 JavaScriptu i Javy. W szczególności pozwala z poziomu JavaScriptu na
102 dostęp do pól Javy, wywoływanie metod Javy oraz z poziomu Javy na
103 dostęp do składowych obiektów JavaScriptu i wykonywanie dowolnego kodu
104 w JavaScripcie. LiveConnect oryginalnie był zintegrowaną częścią
105 przeglądarki Netscape Navigator oraz Netscape JavaScript działającego
106 po stronie serwera. Teraz jest to samodzielna biblioteka, którą można
107 osadzać w innych projektach, takich jak przeglądarka Mozilla.
108
109 %package java-devel
110 Summary:        JavaScript LiveConnect 3 implementation header files
111 Summary(pl.UTF-8):      Pliki nagłówkowe implementacji JavaScript LiveConnect 3
112 Group:          Development/Libraries
113 Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
114 Requires:       %{name}-java = %{epoch}:%{version}-%{release}
115
116 %description java-devel
117 JavaScript LiveConnect 3 implementation header files.
118
119 %description java-devel -l pl.UTF-8
120 Pliki nagłówkowe implementacji JavaScript LiveConnect 3.
121
122 %package java-static
123 Summary:        JavaScript Live Connect 3 implementation static library
124 Summary(pl.UTF-8):      Biblioteka statyczna implementacji JavaScript LiveConnect 3
125 Group:          Development/Libraries
126 Requires:       %{name}-java-devel = %{epoch}:%{version}-%{release}
127
128 %description java-static
129 JavaScript Live Connect 3 implementation static library.
130
131 %description java-static -l pl.UTF-8
132 Biblioteka statyczna implementacji JavaScript LiveConnect 3.
133
134 %prep
135 %setup -q -n %{name}
136 %patch0 -p1
137 %patch1 -p1
138
139 echo 'SONAME=libjs.so.1' >> src/Makefile.ref
140 echo 'SONAME=libjsj.so.1' >> src/liveconnect/Makefile.ref
141
142 %ifarch %{x8664}
143 sed -i -e 's#i386#amd64#g' src/liveconnect/Makefile.ref src/liveconnect/config/*.mk
144 sed -i -e 's#lib/amd64/client#lib/amd64/server#g' src/liveconnect/Makefile.ref src/liveconnect/config/*.mk
145 %endif
146
147 %build
148 %{__make} -j1 -C src -f Makefile.ref \
149         %{!?debug:BUILD_OPT=1} \
150         OPTIMIZER="%{rpmcflags} -DHAVE_VA_COPY -DVA_COPY=va_copy" \
151         JS_READLINE=1 \
152         CC="%{__cc}" \
153         LDFLAGS="%{rpmldflags}" \
154         MKSHLIB="%{__cc} -shared -Wl,-soname=\$(SONAME)" \
155         %{?with_threads:JS_THREADSAFE=1} \
156         %{?with_java:JS_LIVECONNECT=1 JDK=%{java_home}}
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 $RPM_BUILD_ROOT%{_libdir}
168 install Linux*/libjs.so $RPM_BUILD_ROOT%{_libdir}/libjs.so.1.0.0
169 ln -sf libjs.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjs.so.1
170 ln -sf libjs.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjs.so
171 install Linux*/{jsautocfg.h,jsautokw.h} $RPM_BUILD_ROOT%{_includedir}/js
172 install js.msg jsapi.h jsarray.h jsarena.h jsatom.h jsbit.h jsbool.h \
173         jsclist.h jscntxt.h jscompat.h jsconfig.h jsdate.h jsdbgapi.h \
174         jsdhash.h jsemit.h jsfun.h jsgc.h jshash.h jsinterp.h jsiter.h \
175         jslock.h jslong.h jsmath.h jsnum.h jsobj.h jsopcode.tbl jsopcode.h \
176         jsosdep.h jsotypes.h jsparse.h jsprf.h jsproto.tbl jsprvtd.h jspubtd.h \
177         jsregexp.h jsscan.h jsscope.h jsscript.h jsstddef.h jsstr.h jstypes.h \
178         jsutil.h jsxdrapi.h jsxml.h \
179         $RPM_BUILD_ROOT%{_includedir}/js
180
181 %if %{with java}
182 install liveconnect/Linux*/libjsj.a $RPM_BUILD_ROOT%{_libdir}
183 install liveconnect/Linux*/libjsj.so $RPM_BUILD_ROOT%{_libdir}/libjsj.so.1.0.0
184 ln -sf libjsj.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjsj.so.1
185 ln -sf libjsj.so.1.0.0 $RPM_BUILD_ROOT%{_libdir}/libjsj.so
186 install liveconnect/Linux*/lcshell $RPM_BUILD_ROOT%{_bindir}
187 install liveconnect/classes/Linux*/*.jar $RPM_BUILD_ROOT%{classdir}
188 install liveconnect/{jsjava.h,nsI*.h,_jni/*.h} $RPM_BUILD_ROOT%{_includedir}/js
189 %endif
190
191 %clean
192 rm -rf $RPM_BUILD_ROOT
193
194 %post   -p /sbin/ldconfig
195 %postun -p /sbin/ldconfig
196
197 %post   java -p /sbin/ldconfig
198 %postun java -p /sbin/ldconfig
199
200 %files
201 %defattr(644,root,root,755)
202 %doc src/README.html
203 %attr(755,root,root) %{_bindir}/js
204 %attr(755,root,root) %{_libdir}/libjs.so.*.*.*
205 %attr(755,root,root) %ghost %{_libdir}/libjs.so.1
206
207 %files devel
208 %defattr(644,root,root,755)
209 %attr(755,root,root) %{_bindir}/jscpucfg
210 %attr(755,root,root) %{_libdir}/libjs.so
211 %dir %{_includedir}/js
212 %{_includedir}/js/js.msg
213 %{_includedir}/js/jsopcode.tbl
214 %{_includedir}/js/jsproto.tbl
215 %{_includedir}/js/js[!j]*.h
216
217 %files static
218 %defattr(644,root,root,755)
219 %{_libdir}/libjs.a
220
221 %if %{with java}
222 %files java
223 %defattr(644,root,root,755)
224 %doc src/liveconnect/README.html
225 %attr(755,root,root) %{_bindir}/lcshell
226 %attr(755,root,root) %{_libdir}/libjsj.so.*.*.*
227 %attr(755,root,root) %ghost %{_libdir}/libjsj.so.1
228 %{classdir}/js*.jar
229
230 %files java-devel
231 %defattr(644,root,root,755)
232 %attr(755,root,root) %{_libdir}/libjsj.so
233 %{_includedir}/js/jsjava.h
234 %{_includedir}/js/n*.h
235
236 %files java-static
237 %defattr(644,root,root,755)
238 %{_libdir}/libjsj.a
239 %endif
This page took 0.050792 seconds and 3 git commands to generate.