]> git.pld-linux.org Git - packages/nodejs.git/blame - nodejs.spec
update deps for -devel package
[packages/nodejs.git] / nodejs.spec
CommitLineData
210abff9 1Summary: Asynchronous JavaScript Engine
2Name: nodejs
9dc0bdad 3Version: 0.10.3
96f19ba5 4Release: 4
d5764a43 5License: BSD and MIT and Apache v2.0 and GPL v3
e85103e0 6Group: Development/Languages
cb51f00f 7Source0: http://nodejs.org/dist/v%{version}/node-v%{version}.tar.gz
9dc0bdad 8# Source0-md5: 4daca92618515708a4631e98a8e8c779
4174c079 9Patch1: %{name}-shared.patch
a6070ceb
ER
10# force node to use /usr/lib/node as the systemwide module directory
11Patch2: %{name}-libpath.patch
12# use /usr/lib64/node as an arch-specific module dir when appropriate
13Patch3: %{name}-lib64path.patch
1385a038 14Patch5: uv-fpic.patch
4174c079 15URL: http://www.nodejs.org/
c1c359b8 16BuildRequires: c-ares-devel
12a49d35 17BuildRequires: gcc >= 5:4.0
e427e9b0 18BuildRequires: http-parser-devel >= 2.0
210abff9 19BuildRequires: libstdc++-devel
8939ac26 20BuildRequires: libuv-devel >= %{version}
cd4c73aa
ER
21BuildRequires: openssl-devel
22BuildRequires: pkgconfig
a6070ceb
ER
23BuildRequires: python >= 1:2.5.2
24BuildRequires: python-jsmin
12a49d35 25BuildRequires: rpm >= 4.4.9-56
d44c8857 26BuildRequires: rpmbuild(macros) >= 1.219
1ed21df5 27BuildRequires: v8-devel >= 3.15.11.10
cd4c73aa 28BuildRequires: zlib-devel
c1c359b8 29BuildConflicts: eio
5ef76b51 30Obsoletes: nodejs-waf
210abff9 31ExclusiveArch: %{ix86} %{x8664} arm
32BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
33
34%description
c3b531ba
ER
35Node.js is a platform built on Chrome's JavaScript runtime for easily
36building fast, scalable network applications. Node.js uses an
37event-driven, non-blocking I/O model that makes it lightweight and
38efficient, perfect for data-intensive real-time applications that run
39across distributed devices.
210abff9 40
210abff9 41%package devel
12a49d35 42Summary: Development headers for nodejs
210abff9 43Group: Development/Libraries
a8f57a3f 44Requires: %{name} = %{version}-%{release}
96f19ba5 45Requires: c-ares-devel
d44c8857 46Requires: gcc
96f19ba5 47Requires: http-parser-devel
d44c8857 48Requires: libstdc++-devel
96f19ba5
ER
49Requires: libuv-devel
50Requires: openssl-devel
fae304aa 51Requires: v8-devel
96f19ba5 52Requires: zlib-devel
210abff9 53
54%description devel
12a49d35 55Development headers for nodejs.
210abff9 56
a6070ceb
ER
57%package doc
58Summary: Evented I/O for V8 JavaScript - documentation
59Group: Documentation
60
61%description doc
62Node.js is a server-side JavaScript environment that uses an
63asynchronous event-driven model. Node's goal is to provide an easy way
64to build scalable network programs.
65
66This package contains the documentation for nodejs.
67
210abff9 68%prep
69%setup -q -n node-v%{version}
a600c300 70%patch1 -p1
a6070ceb
ER
71%if %{_lib} == "lib64"
72%patch3 -p1
73%else
74%patch2 -p1
75%endif
1385a038 76%patch5 -p1
c4aa3bb0 77
210abff9 78%build
cb51f00f
ER
79# Error: V8 doesn't like ccache. Please set your CC env var to 'gcc'
80CC=${CC#ccache }
a600c300 81
8939ac26
ER
82# add defines from libuv (RHBZ#892601)
83export CFLAGS="%{rpmcflags} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
84export CXXFLAGS="%{rpmcppflags} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
85
86# NOT autoconf so don't use macro
a600c300 87export PYTHONPATH=tools
a6070ceb 88./configure \
a6070ceb
ER
89 --shared-v8 \
90 --shared-zlib \
be06d6d0 91 --shared-openssl \
c1c359b8 92 --shared-cares \
8939ac26 93 --shared-libuv \
e427e9b0 94 --shared-http-parser \
7223b5ac 95 --without-npm \
c1c359b8 96 --without-dtrace \
210abff9 97 --prefix=%{_prefix}
98
5ef76b51
AS
99%{__make} -C out \
100 BUILDTYPE=Release \
101 V=1 \
102 CFLAGS.host="%{rpmcflags} -fPIC" \
103 CXXFLAGS.host="%{rpmcppflags} -fPIC" \
104 LDFLAGS.host="%{rpmcflags}" \
105 CFLAGS.target="%{rpmcflags} -fPIC" \
106 CXXFLAGS.target="%{rpmcppflags} -fPIC" \
107 LDFLAGS.target="%{rpmcflags}" \
5ef76b51
AS
108 CC.host="%{__cc}" \
109 CXX.host="%{__cxx}" \
110 CC.target="%{__cc}" \
111 CXX.target="%{__cxx}"
210abff9 112
113%install
114rm -rf $RPM_BUILD_ROOT
be06d6d0
AS
115%{__make} justinstall \
116 DESTDIR=$RPM_BUILD_ROOT \
4174c079
ER
117 LIBDIR=%{_lib}
118
119# no dtrace on linux
120%{__rm} -r $RPM_BUILD_ROOT%{_prefix}/lib/dtrace/node.d
be06d6d0 121
4174c079
ER
122lib=$(basename $RPM_BUILD_ROOT%{_libdir}/libnode.so.*.*)
123ln -s $lib $RPM_BUILD_ROOT%{_libdir}/libnode.so.10
124ln -s $lib $RPM_BUILD_ROOT%{_libdir}/libnode.so
a6070ceb 125
c7898157
ER
126echo '.so man1/node.1' > $RPM_BUILD_ROOT%{_mandir}/man1/nodejs.1
127
1ed21df5 128install -d $RPM_BUILD_ROOT%{_includedir}/node
4174c079 129cp -p src/*.h $RPM_BUILD_ROOT%{_includedir}/node
d5764a43
ER
130
131# install for node-gyp
132install -d $RPM_BUILD_ROOT%{_usrsrc}/%{name}
133cp -p common.gypi $RPM_BUILD_ROOT%{_usrsrc}/%{name}
134ln -s %{_includedir}/node $RPM_BUILD_ROOT%{_usrsrc}/%{name}/src
1ed21df5 135
e85103e0 136# for compat of fedora derivered scripts (shebangs)
c3b531ba
ER
137ln -s node $RPM_BUILD_ROOT%{_bindir}/nodejs
138
e85103e0
ER
139# globally installed node modules (noarch)
140install -d $RPM_BUILD_ROOT%{_prefix}/lib/node_modules
141
142# default searchpaths
143install -d $RPM_BUILD_ROOT{%{_libdir},%{_prefix}/lib}/node
144
a6070ceb
ER
145# create pkgconfig
146install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
147cat <<'EOF' > $RPM_BUILD_ROOT%{_pkgconfigdir}/%{name}.pc
148version=%{version}
c3b531ba 149prefix=%{_prefix}
87c4fdf2 150libdir=${prefix}/%{_lib}
a6070ceb
ER
151includedir=${prefix}/include/node
152
153Name: nodejs
154Description: Evented I/O for V8 JavaScript.
155Version: ${version}
156Cflags: -I${includedir}
157EOF
a752c1c0 158
a6070ceb 159# install documentation
6f7eebb5
ER
160install -d $RPM_BUILD_ROOT%{_docdir}/%{name}-doc-%{version}
161cp -a doc/api/* $RPM_BUILD_ROOT%{_docdir}/%{name}-doc-%{version}
162rm $RPM_BUILD_ROOT%{_docdir}/%{name}-doc-%{version}/*.markdown
163rm $RPM_BUILD_ROOT%{_docdir}/%{name}-doc-%{version}/*.json
a6070ceb 164
210abff9 165%clean
166rm -rf $RPM_BUILD_ROOT
167
4174c079 168%post -p /sbin/ldconfig
7372d27d 169%postun -p /sbin/ldconfig
170
210abff9 171%files
172%defattr(644,root,root,755)
a6070ceb 173%doc README.md AUTHORS ChangeLog LICENSE
210abff9 174%attr(755,root,root) %{_bindir}/node
c3b531ba 175%attr(755,root,root) %{_bindir}/nodejs
a600c300 176%attr(755,root,root) %{_libdir}/libnode.so.*.*.*
2492de83 177%ghost %{_libdir}/libnode.so.10
a600c300 178%if "%{_lib}" != "lib"
8791ea86 179%dir %{_libdir}/node
a600c300
ŁC
180%endif
181%dir %{_prefix}/lib/node
e85103e0 182%dir %{_prefix}/lib/node_modules
210abff9 183%{_mandir}/man1/node.1*
c7898157 184%{_mandir}/man1/nodejs.1
210abff9 185
210abff9 186%files devel
187%defattr(644,root,root,755)
a600c300 188%{_libdir}/libnode.so
58494f0c 189%{_includedir}/node
a6070ceb 190%{_pkgconfigdir}/nodejs.pc
d5764a43 191%{_usrsrc}/%{name}
a6070ceb
ER
192
193%files doc
194%defattr(644,root,root,755)
195%doc %{_docdir}/%{name}-doc-%{version}
This page took 0.072789 seconds and 4 git commands to generate.