]> git.pld-linux.org Git - packages/npm.git/blob - npm.spec
94c374f5b8740ed954d34b383fdc24ed2515901f
[packages/npm.git] / npm.spec
1 # TODO
2 # - put man3 to some -devel-doc package (man pages for npm programming)
3 # - it can't live without this path: Error: ENOENT, no such file or directory '/usr/lib/node_modules/npm/man/man1/'
4 # - npm-debug.log is created with 777 perms, should respect umask instead
5 Summary:        A package manager for node.js
6 Name:           npm
7 Version:        1.4.25
8 Release:        2
9 License:        Artistic-2.0
10 Group:          Development/Libraries
11 Source0:        http://registry.npmjs.org/npm/-/%{name}-%{version}.tgz
12 # Source0-md5:  9716206d0df970aaf80bd6df31264ba2
13 Patch0:         link-globalPaths.patch
14 Patch1:         cmd-shim-optional.patch
15 URL:            http://npmjs.org/
16 BuildRequires:  bash
17 BuildRequires:  nodejs >= 0.9
18 BuildRequires:  rpmbuild(macros) >= 1.634
19 BuildRequires:  sed >= 4.0
20 Requires:       nodejs
21 Requires:       nodejs-abbrev < 1.1.0
22 Requires:       nodejs-abbrev >= 1.0.5
23 Requires:       nodejs-ansi < 0.4.0
24 Requires:       nodejs-ansi >= 0.3.0
25 Requires:       nodejs-ansicolors < 0.4.0
26 Requires:       nodejs-ansicolors >= 0.3.2
27 Requires:       nodejs-ansistyles < 0.2.0
28 Requires:       nodejs-ansistyles >= 0.1.3
29 Requires:       nodejs-archy < 1.0.0
30 Requires:       nodejs-block-stream = 0.0.7
31 Requires:       nodejs-char-spinner < 1.1.0
32 Requires:       nodejs-char-spinner >= 1.0.1
33 Requires:       nodejs-child-process-close < 0.2.0
34 Requires:       nodejs-child-process-close >= 0.1.1
35 Requires:       nodejs-chmodr < 0.2.0
36 Requires:       nodejs-chmodr >= 0.1.0
37 Requires:       nodejs-chownr < 1.0.0
38 Requires:       nodejs-columnify < 1.2.0
39 Requires:       nodejs-columnify >= 1.1.0
40 Requires:       nodejs-editor < 0.2.0
41 Requires:       nodejs-editor >= 0.1.0
42 Requires:       nodejs-fstream < 1.1
43 Requires:       nodejs-fstream >= 1.0.2
44 Requires:       nodejs-fstream-npm < 1.1
45 Requires:       nodejs-fstream-npm >= 1.0.0
46 Requires:       nodejs-github-url-from-git < 1.4
47 Requires:       nodejs-github-url-from-git >= 1.3.0
48 Requires:       nodejs-github-url-from-username-repo < 0.3.0
49 Requires:       nodejs-github-url-from-username-repo >= 0.2.0
50 Requires:       nodejs-glob < 4.1
51 Requires:       nodejs-glob >= 4.0.5
52 Requires:       nodejs-graceful-fs < 3.1.0
53 Requires:       nodejs-graceful-fs >= 3.0.0
54 Requires:       nodejs-inflight < 1.1.0
55 Requires:       nodejs-inflight >= 1.0.1
56 Requires:       nodejs-ini < 1.3.0
57 Requires:       nodejs-ini >= 1.2.0
58 Requires:       nodejs-init-package-json < 1.1
59 Requires:       nodejs-init-package-json >= 1.0.0
60 Requires:       nodejs-lockfile < 1.1
61 Requires:       nodejs-lockfile >= 1.0.0
62 Requires:       nodejs-lru-cache < 2.6.0
63 Requires:       nodejs-lru-cache >= 2.5.0
64 Requires:       nodejs-minimatch < 1.1
65 Requires:       nodejs-minimatch >= 1.0.0
66 Requires:       nodejs-mkdirp < 0.6
67 Requires:       nodejs-mkdirp >= 0.5.0
68 Requires:       nodejs-nopt < 3.1.0
69 Requires:       nodejs-nopt >= 3.0.1
70 Requires:       nodejs-npm-cache-filename < 1.1.0
71 Requires:       nodejs-npm-cache-filename >= 1.0.1
72 Requires:       nodejs-npm-install-checks < 1.1.0
73 Requires:       nodejs-npm-install-checks >= 1.0.2
74 Requires:       nodejs-npm-registry-client < 2.1
75 Requires:       nodejs-npm-registry-client >= 2.0.6
76 Requires:       nodejs-npm-user-validate < 0.2.0
77 Requires:       nodejs-npm-user-validate >= 0.1.0
78 Requires:       nodejs-npmconf < 1.2
79 Requires:       nodejs-npmconf >= 1.1.4
80 Requires:       nodejs-npmlog < 0.2.0
81 Requires:       nodejs-npmlog >= 0.1.1
82 Requires:       nodejs-once < 1.4.0
83 Requires:       nodejs-once >= 1.3.0
84 Requires:       nodejs-opener < 1.4.0
85 Requires:       nodejs-opener >= 1.3.0
86 Requires:       nodejs-osenv < 0.2.0
87 Requires:       nodejs-osenv >= 0.1.0
88 Requires:       nodejs-path-is-inside < 1.1.0
89 Requires:       nodejs-path-is-inside >= 1.0.0
90 Requires:       nodejs-read < 1.1.0
91 Requires:       nodejs-read >= 1.0.4
92 Requires:       nodejs-read-installed < 2.1.0
93 Requires:       nodejs-read-installed >= 2.0.5
94 Requires:       nodejs-read-package-json < 1.3
95 Requires:       nodejs-read-package-json >= 1.2.6
96 Requires:       nodejs-request < 2.31.0
97 Requires:       nodejs-request >= 2.30.0
98 Requires:       nodejs-retry < 0.7.0
99 Requires:       nodejs-retry >= 0.6.0
100 Requires:       nodejs-rimraf < 2.3.0
101 Requires:       nodejs-rimraf >= 2.2.8
102 Requires:       nodejs-semver < 2.4.0
103 Requires:       nodejs-semver >= 2.3.0
104 Requires:       nodejs-sha < 1.3.0
105 Requires:       nodejs-sha >= 1.2.1
106 Requires:       nodejs-slide < 1.2.0
107 Requires:       nodejs-slide >= 1.1.5
108 Requires:       nodejs-sorted-object < 1.1.0
109 Requires:       nodejs-sorted-object >= 1.0.0
110 Requires:       nodejs-tar < 1.1
111 Requires:       nodejs-tar >= 1.0.1
112 Requires:       nodejs-text-table < 0.3.0
113 Requires:       nodejs-text-table >= 0.2.0
114 Requires:       nodejs-uid-number = 0.0.5
115 Requires:       nodejs-which < 2.0.0
116 Requires:       nodejs-which >= 1.0.0
117 Suggests:       nodejs-gyp
118 Conflicts:      nodejs-gyp < 1.0.1
119 Conflicts:      nodejs-gyp >= 1.1
120 BuildArch:      noarch
121 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
122
123 %description
124 NPM is a package manager for node.js. You can use it to install and
125 publish your node programs. It manages dependencies and does other
126 cool stuff.
127
128 %package -n bash-completion-%{name}
129 Summary:        bash-completion for %{name}
130 Summary(pl.UTF-8):      bashowe uzupełnianie nazw dla %{name}
131 Group:          Applications/Shells
132 Requires:       %{name}
133 Requires:       bash-completion
134
135 %description -n bash-completion-%{name}
136 bash-completion for %{name}.
137
138 %description -n bash-completion-%{name} -l pl.UTF-8
139 bashowe uzupełnianie nazw dla %{name}.
140
141 %prep
142 %setup -qc
143 mv package/* .
144 %patch0 -p1
145 %patch1 -p1
146
147 # fix shebangs
148 %{__sed} -i -e '1s,^#!.*node,#!/usr/bin/node,' \
149         bin/npm-cli.js \
150         cli.js
151
152 # startup helpers we don't need
153 rm bin/npm bin/npm.cmd
154
155 %build
156 # forces npm to keep config files in /etc instead of /usr/etc
157 ./configure \
158         --globalconfig=%{_sysconfdir}/npmrc \
159         --globalignorefile=%{_sysconfdir}/npmignore
160
161 cat npmrc
162
163 %install
164 rm -rf $RPM_BUILD_ROOT
165 install -d $RPM_BUILD_ROOT{%{_bindir},%{nodejs_libdir}/npm/bin,/etc/bash_completion.d}
166 install -d $RPM_BUILD_ROOT%{nodejs_libdir}/npm/bin
167
168 cp -a lib cli.js npmrc package.json $RPM_BUILD_ROOT%{nodejs_libdir}/npm
169 cp -p bin/*.js $RPM_BUILD_ROOT%{nodejs_libdir}/npm/bin
170 ln -s %{nodejs_libdir}/npm/bin/npm-cli.js $RPM_BUILD_ROOT%{_bindir}/npm
171
172 # for npm help
173 install -d $RPM_BUILD_ROOT%{nodejs_libdir}/npm/doc
174 cp -a doc/* $RPM_BUILD_ROOT%{nodejs_libdir}/npm/doc
175
176 # ghosted global config files
177 # TODO: package as files to have file permissions set
178 install -d $RPM_BUILD_ROOT%{_sysconfdir}
179 cp -p npmrc $RPM_BUILD_ROOT%{_sysconfdir}/npmrc
180 touch $RPM_BUILD_ROOT%{_sysconfdir}/npmignore
181
182 # install to mandir
183 install -d $RPM_BUILD_ROOT%{_mandir}
184 cp -pr man/* $RPM_BUILD_ROOT%{_mandir}
185
186 # FIXME: "npm help" requires this
187 ln -s %{_mandir} $RPM_BUILD_ROOT%{nodejs_libdir}/npm/man
188
189 mv $RPM_BUILD_ROOT%{nodejs_libdir}/npm/lib/utils/completion.sh \
190         $RPM_BUILD_ROOT/etc/bash_completion.d/%{name}.sh
191
192 %clean
193 rm -rf $RPM_BUILD_ROOT
194
195 %files
196 %defattr(644,root,root,755)
197 %doc AUTHORS LICENSE README.md
198 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/npmrc
199 %ghost %{_sysconfdir}/npmignore
200 %attr(755,root,root) %{_bindir}/npm
201 %dir %{nodejs_libdir}/npm
202 %{nodejs_libdir}/npm/package.json
203 %{nodejs_libdir}/npm/cli.js
204 %{nodejs_libdir}/npm/npmrc
205
206 %dir %{nodejs_libdir}/npm/bin
207 %attr(755,root,root) %{nodejs_libdir}/npm/bin/npm-cli.js
208 %attr(755,root,root) %{nodejs_libdir}/npm/bin/read-package-json.js
209 %dir %{nodejs_libdir}/npm/lib
210 %{nodejs_libdir}/npm/lib/*.js
211 %{nodejs_libdir}/npm/lib/cache
212 %{nodejs_libdir}/npm/lib/utils
213
214 # man symlink
215 %{nodejs_libdir}/npm/man
216
217 %dir %{nodejs_libdir}/npm/doc
218 %{nodejs_libdir}/npm/doc/api
219 %{nodejs_libdir}/npm/doc/cli
220 %{nodejs_libdir}/npm/doc/files
221 %{nodejs_libdir}/npm/doc/misc
222
223 %{_mandir}/man1/npm*
224 %{_mandir}/man3/npm*
225 %{_mandir}/man5/npm*
226 %{_mandir}/man5/package.json.5*
227 %{_mandir}/man7/npm*
228 %{_mandir}/man7/removing-npm.7*
229 %{_mandir}/man7/semver.7*
230
231 %files -n bash-completion-%{name}
232 %defattr(644,root,root,755)
233 /etc/bash_completion.d/*
This page took 0.160283 seconds and 2 git commands to generate.