]> git.pld-linux.org Git - packages/nodejs.git/blame - nodejs.spec
- up to 0.8.14 (no Soname patch needed)
[packages/nodejs.git] / nodejs.spec
CommitLineData
210abff9 1Summary: Asynchronous JavaScript Engine
2Name: nodejs
231df933 3Version: 0.8.14
7c7c1bb0 4Release: 1
e85103e0
ER
5License: BSD and MIT and ASL 2.0 and GPLv3
6Group: Development/Languages
c3b531ba 7URL: http://www.nodejs.org/
cb51f00f 8Source0: http://nodejs.org/dist/v%{version}/node-v%{version}.tar.gz
231df933
ŁC
9# Source0-md5: 284fd2c7578064c339d9cf6a3a475ac7
10#Patch1: %{name}-soname.patch
a6070ceb
ER
11# force node to use /usr/lib/node as the systemwide module directory
12Patch2: %{name}-libpath.patch
13# use /usr/lib64/node as an arch-specific module dir when appropriate
14Patch3: %{name}-lib64path.patch
1385a038 15Patch5: uv-fpic.patch
a3293030 16BuildRequires: c-ares-devel >= 1.7.4
12a49d35 17BuildRequires: gcc >= 5:4.0
210abff9 18BuildRequires: libeio-devel
a3293030 19BuildRequires: libev-devel >= 4.0.0
210abff9 20BuildRequires: libstdc++-devel
a6070ceb
ER
21BuildRequires: python >= 1:2.5.2
22BuildRequires: python-jsmin
12a49d35 23BuildRequires: rpm >= 4.4.9-56
d44c8857 24BuildRequires: rpmbuild(macros) >= 1.219
a6070ceb 25BuildRequires: v8-devel >= 3.6
210abff9 26ExclusiveArch: %{ix86} %{x8664} arm
27BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
28
29%description
c3b531ba
ER
30Node.js is a platform built on Chrome's JavaScript runtime for easily
31building fast, scalable network applications. Node.js uses an
32event-driven, non-blocking I/O model that makes it lightweight and
33efficient, perfect for data-intensive real-time applications that run
34across distributed devices.
210abff9 35
210abff9 36%package devel
12a49d35 37Summary: Development headers for nodejs
210abff9 38Group: Development/Libraries
a8f57a3f 39Requires: %{name} = %{version}-%{release}
d44c8857
ER
40Requires: %{name}-waf = %{version}-%{release}
41Requires: gcc
42Requires: libstdc++-devel
fae304aa 43Requires: v8-devel
210abff9 44
45%description devel
12a49d35 46Development headers for nodejs.
210abff9 47
a6070ceb
ER
48%package doc
49Summary: Evented I/O for V8 JavaScript - documentation
50Group: Documentation
51
52%description doc
53Node.js is a server-side JavaScript environment that uses an
54asynchronous event-driven model. Node's goal is to provide an easy way
55to build scalable network programs.
56
57This package contains the documentation for nodejs.
58
59%package waf
60Summary: Evented I/O for V8 JavaScript - customized WAF build system
61Group: Libraries
62Requires: %{name} = %{version}-%{release}
63
64%description waf
65Node.js is a server-side JavaScript environment that uses an
66asynchronous event-driven model. Node's goal is to provide an easy way
67to build scalable network programs.
68
69This package contains the customized version of the WAF build system
70used by Node.js and many of its modules.
71
210abff9 72%prep
73%setup -q -n node-v%{version}
231df933 74#%patch1 -p1
a6070ceb
ER
75%if %{_lib} == "lib64"
76%patch3 -p1
77%else
78%patch2 -p1
79%endif
1385a038 80%patch5 -p1
c4aa3bb0 81
bc5a5fec
ER
82# fix #!/usr/bin/env python -> #!/usr/bin/python:
83grep -rl 'bin/env python' tools | xargs %{__sed} -i -e '1s,^#!.*python,#!%{__python},'
84
210abff9 85%build
a6070ceb 86CFLAGS="%{rpmcflags} -fPIC"
1385a038 87CPPFLAGS="%{rpmcppflags} -fPIC"
a6070ceb 88CXXFLAGS="%{rpmcxxflags} -fPIC"
210abff9 89LDFLAGS="%{rpmcflags}"
90%if "%{pld_release}" == "ac"
8791ea86
ER
91CC="%{__cc}4"
92CXX="%{__cxx}4"
210abff9 93%else
8791ea86
ER
94CC="%{__cc}"
95CXX="%{__cxx}"
210abff9 96%endif
1385a038 97export CFLAGS LDFLAGS CXXFLAGS CC CXX LINKFLAGS_UV
210abff9 98
cb51f00f
ER
99# Error: V8 doesn't like ccache. Please set your CC env var to 'gcc'
100CC=${CC#ccache }
a6070ceb 101./configure \
a6070ceb
ER
102 --shared-v8 \
103 --shared-zlib \
7223b5ac 104 --without-npm \
210abff9 105 --prefix=%{_prefix}
106
bc5a5fec 107# build library
231df933 108%{__make}
210abff9 109
110%install
111rm -rf $RPM_BUILD_ROOT
a6070ceb
ER
112%{__make} install \
113 DESTDIR=$RPM_BUILD_ROOT
114
c7898157
ER
115echo '.so man1/node.1' > $RPM_BUILD_ROOT%{_mandir}/man1/nodejs.1
116
e85103e0 117# for compat of fedora derivered scripts (shebangs)
c3b531ba
ER
118ln -s node $RPM_BUILD_ROOT%{_bindir}/nodejs
119
e85103e0
ER
120# globally installed node modules (noarch)
121install -d $RPM_BUILD_ROOT%{_prefix}/lib/node_modules
122
123# default searchpaths
124install -d $RPM_BUILD_ROOT{%{_libdir},%{_prefix}/lib}/node
125
a6070ceb 126# install shared lib
7372d27d 127export PYTHONPATH=tools
231df933 128%{__python} tools/install.py install $RPM_BUILD_ROOT
7372d27d 129
231df933 130#chmod a+x $RPM_BUILD_ROOT%{_libdir}/*.so*
87c4fdf2 131
a6070ceb
ER
132# create pkgconfig
133install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
134cat <<'EOF' > $RPM_BUILD_ROOT%{_pkgconfigdir}/%{name}.pc
135version=%{version}
c3b531ba 136prefix=%{_prefix}
87c4fdf2 137libdir=${prefix}/%{_lib}
a6070ceb
ER
138includedir=${prefix}/include/node
139
140Name: nodejs
141Description: Evented I/O for V8 JavaScript.
142Version: ${version}
143Cflags: -I${includedir}
144EOF
a752c1c0 145
bc5a5fec
ER
146%py_ocomp $RPM_BUILD_ROOT%{_libdir}/node/wafadmin
147%py_comp $RPM_BUILD_ROOT%{_libdir}/node/wafadmin
148# TODO: check it first
149#%%py_postclean %{_libdir}/node/wafadmin
150
a6070ceb 151# install documentation
6f7eebb5
ER
152install -d $RPM_BUILD_ROOT%{_docdir}/%{name}-doc-%{version}
153cp -a doc/api/* $RPM_BUILD_ROOT%{_docdir}/%{name}-doc-%{version}
154rm $RPM_BUILD_ROOT%{_docdir}/%{name}-doc-%{version}/*.markdown
155rm $RPM_BUILD_ROOT%{_docdir}/%{name}-doc-%{version}/*.json
a6070ceb 156
210abff9 157%clean
158rm -rf $RPM_BUILD_ROOT
159
7372d27d 160%post -p /sbin/ldconfig
161%postun -p /sbin/ldconfig
162
210abff9 163%files
164%defattr(644,root,root,755)
a6070ceb 165%doc README.md AUTHORS ChangeLog LICENSE
210abff9 166%attr(755,root,root) %{_bindir}/node
c3b531ba 167%attr(755,root,root) %{_bindir}/nodejs
8791ea86 168%dir %{_libdir}/node
e85103e0 169%dir %{_prefix}/lib/node_modules
210abff9 170%{_mandir}/man1/node.1*
c7898157 171%{_mandir}/man1/nodejs.1
210abff9 172
210abff9 173%files devel
174%defattr(644,root,root,755)
58494f0c 175%{_includedir}/node
a6070ceb
ER
176%{_pkgconfigdir}/nodejs.pc
177
178%files doc
179%defattr(644,root,root,755)
180%doc %{_docdir}/%{name}-doc-%{version}
181
182%files waf
183%defattr(644,root,root,755)
c6be74cc 184%attr(755,root,root) %{_bindir}/node-waf
afb1c7e5
PZ
185%dir %{_libdir}/node/wafadmin
186%dir %{_libdir}/node/wafadmin/Tools
bc5a5fec 187%{_libdir}/node/wafadmin/*.py[co]
afb1c7e5
PZ
188%{_libdir}/node/wafadmin/*.py
189%{_libdir}/node/wafadmin/Tools/*.py
bc5a5fec 190%{_libdir}/node/wafadmin/Tools/*.py[co]
This page took 0.216163 seconds and 4 git commands to generate.