[packages] ruby: update to 1.9.1-p376, cleanup
[openwrt/svn-archive/archive.git] / lang / ruby / Makefile
1 #
2 # Copyright (C) 2006-2010 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 #
9 # To Do:
10 # - split up encodings
11 # - allow selection of either native or pure version of a library where supported
12 # +-> some native libraries are probably only supported if ruby-dl is enabled
13 # anything else?
14
15 include $(TOPDIR)/rules.mk
16
17 PKG_NAME:=ruby
18 PKG_LIBVER:=1.9.1
19 PKG_VERSION:=$(PKG_LIBVER)-p376
20 PKG_RELEASE:=1
21
22 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
23 PKG_SOURCE_URL:=ftp://ftp.ruby-lang.org/pub/ruby/1.9/
24 PKG_MD5SUM:=ebb20550a11e7f1a2fbd6fdec2a3e0a3
25
26 PKG_BUILD_DEPENDS:=ruby/host
27
28 include $(INCLUDE_DIR)/host-build.mk
29 include $(INCLUDE_DIR)/package.mk
30
31 define Package/ruby/Default
32 SUBMENU:=Ruby
33 SECTION:=lang
34 CATEGORY:=Languages
35 TITLE:=Ruby scripting language
36 URL:=http://www.ruby-lang.org/
37 endef
38
39 define Package/ruby/Default/description
40 Ruby is the interpreted scripting language for quick and easy
41 object-oriented programming. It has many features to process text files
42 and to do system management tasks (as in perl). It is simple,
43 straight-forward, and extensible.
44 endef
45
46 define Package/ruby
47 $(call Package/ruby/Default)
48 TITLE+= (interpreter)
49 DEPENDS:=+libruby
50 endef
51
52 define Package/ruby/description
53 $(call Package/ruby/Default/description)
54 endef
55
56 define Package/libruby
57 $(call Package/ruby/Default)
58 SUBMENU:=
59 SECTION:=libs
60 CATEGORY:=Libraries
61 TITLE+= (shared library)
62 endef
63
64 # Ongoing work to break up ruby's standard library into coherent pieces
65 # with minimal dependencies between them
66
67 define Package/ruby-core
68 $(call Package/ruby/Default)
69 TITLE:=Ruby standard libraries
70 DEPENDS:=ruby
71 endef
72
73 define Package/ruby-cgi
74 $(call Package/ruby/Default)
75 TITLE:=Ruby CGI support toolkit
76 DEPENDS:=ruby
77 endef
78
79 define Package/ruby-dl
80 $(call Package/ruby/Default)
81 TITLE+= (dynamic linker support) (adds 5MB+)
82 DEPENDS:=ruby
83 endef
84
85 define Package/ruby-enc
86 $(call Package/ruby/Default)
87 TITLE+= (character re-coding library) (adds 2MB+)
88 DEPENDS:=ruby
89 endef
90
91 define Package/ruby-erb
92 $(call Package/ruby/Default)
93 TITLE+= (embedded interpreter)
94 DEPENDS:=ruby
95 endef
96
97 define Package/ruby-gdbm
98 $(call Package/ruby/Default)
99 TITLE:=Ruby support for gdbm
100 DEPENDS:=ruby +libgdbm
101 endef
102
103 define Package/ruby-gems
104 $(call Package/ruby/Default)
105 TITLE:=Ruby gems packet management
106 DEPENDS:=ruby +ruby-yaml +ruby-zlib +ruby-openssl +ruby-webrick +ruby-erb
107 endef
108
109 define Package/ruby-irb
110 $(call Package/ruby/Default)
111 TITLE+= (interactive shell)
112 DEPENDS:=ruby +ruby-core
113 endef
114
115 define Package/ruby-json
116 $(call Package/ruby/Default)
117 TITLE:=Ruby support for JSON
118 DEPENDS:=ruby
119 endef
120
121 define Package/ruby-ncurses
122 $(call Package/ruby/Default)
123 TITLE:=Ruby support for ncurses
124 DEPENDS:=ruby +libncurses
125 endef
126
127 define Package/ruby-nkf
128 $(call Package/ruby/Default)
129 TITLE:=Ruby Network Kanji Filter
130 DEPENDS:=ruby
131 endef
132
133 define Package/ruby-openssl
134 $(call Package/ruby/Default)
135 TITLE:=Ruby support for openssl
136 DEPENDS:=ruby +libopenssl
137 endef
138
139 define Package/ruby-rdoc
140 $(call Package/ruby/Default)
141 TITLE+= (documentation generator)
142 DEPENDS:=ruby
143 endef
144
145 define Package/ruby-rake
146 $(call Package/ruby/Default)
147 TITLE+=Ruby Rake (make replacement)
148 DEPENDS:=ruby
149 endef
150
151 define Package/ruby-readline
152 $(call Package/ruby/Default)
153 TITLE:=Ruby support for readline
154 DEPENDS:=ruby +libncurses +libreadline
155 endef
156
157 define Package/ruby-rexml
158 $(call Package/ruby/Default)
159 TITLE:=Ruby XML toolkit
160 DEPENDS:=ruby
161 endef
162
163 define Package/ruby-rss
164 $(call Package/ruby/Default)
165 TITLE:=Ruby RSS toolkit
166 DEPENDS:=ruby
167 endef
168
169 define Package/ruby-unit
170 $(call Package/ruby/Default)
171 TITLE:=Ruby unit testing toolkit
172 DEPENDS:=ruby
173 endef
174
175 define Package/ruby-webrick
176 $(call Package/ruby/Default)
177 TITLE:=Ruby Web server toolkit
178 DEPENDS:=ruby
179 endef
180
181 define Package/ruby-xmlrpc
182 $(call Package/ruby/Default)
183 TITLE:=Ruby XML-RPC toolkit
184 DEPENDS:=ruby
185 endef
186
187 define Package/ruby-yaml
188 $(call Package/ruby/Default)
189 TITLE:=Ruby YAML toolkit
190 DEPENDS:=ruby
191 endef
192
193 define Package/ruby-zlib
194 $(call Package/ruby/Default)
195 TITLE:=Ruby support for zlib
196 DEPENDS:=ruby +zlib
197 endef
198
199
200 CONFIGURE_ARGS += \
201 --enable-shared \
202 --enable-static \
203 --disable-rpath \
204 --enable-ipv6 \
205 --enable-wide-getaddrinfo \
206
207 CONFIGURE_VARS += \
208 ac_cv_func_setpgrp_void=yes
209
210 TARGET_LDFLAGS += -L$(PKG_BUILD_DIR)
211
212 MAKE_FLAGS += \
213 DESTDIR="$(PKG_INSTALL_DIR)" \
214 SHELL="/bin/bash" \
215 all install
216
217 define Build/Prepare
218 $(call Build/Prepare/Default)
219 ( cd $(PKG_BUILD_DIR) ; \
220 autoconf ; \
221 )
222 endef
223
224 define Package/ruby/install
225 $(INSTALL_DIR) $(1)/usr/bin
226 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ruby $(1)/usr/bin/
227 endef
228
229 define Package/libruby/install
230 $(INSTALL_DIR) $(1)/usr/lib
231 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libruby.so.* $(1)/usr/lib/
232 endef
233
234 define Package/ruby-core/install
235 $(INSTALL_DIR) $(1)/usr/lib
236 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby $(1)/usr/lib/
237 rm -rf \
238 $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/curses.so \
239 \
240 $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/gdbm.so \
241 \
242 $(1)/usr/lib/ruby/$(PKG_LIBVER)/kconv.rb \
243 $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/nkf.so \
244 \
245 $(1)/usr/lib/ruby/$(PKG_LIBVER)/digest \
246 $(1)/usr/lib/ruby/$(PKG_LIBVER)/digest.rb \
247 $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/digest \
248 $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/digest.so \
249 $(1)/usr/lib/ruby/$(PKG_LIBVER)/openssl \
250 $(1)/usr/lib/ruby/$(PKG_LIBVER)/openssl.rb \
251 $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/openssl.so \
252 $(1)/usr/lib/ruby/$(PKG_LIBVER)/drb/ssl.rb \
253 $(1)/usr/lib/ruby/$(PKG_LIBVER)/net/https.rb \
254 $(1)/usr/lib/ruby/$(PKG_LIBVER)/webrick/ssl.rb \
255 \
256 $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/dl.so \
257 \
258 $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/enc \
259 \
260 $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/readline.so \
261 $(1)/usr/lib/ruby/$(PKG_LIBVER)/irb/completion.rb \
262 $(1)/usr/lib/ruby/$(PKG_LIBVER)/irb/ext/save-history.rb \
263 \
264 $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/zlib.so \
265 \
266 $(1)/usr/lib/ruby/$(PKG_LIBVER)/erb.rb \
267 \
268 $(1)/usr/lib/ruby/$(PKG_LIBVER)/json.rb \
269 $(1)/usr/lib/ruby/$(PKG_LIBVER)/json \
270 $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/json \
271 \
272 $(1)/usr/lib/ruby/$(PKG_LIBVER)/irb.rb \
273 $(1)/usr/lib/ruby/$(PKG_LIBVER)/irb \
274 \
275 $(1)/usr/lib/ruby/$(PKG_LIBVER)/rdoc \
276 \
277 $(1)/usr/lib/ruby/$(PKG_LIBVER)/rake.rb \
278 $(1)/usr/lib/ruby/$(PKG_LIBVER)/rake \
279 \
280 $(1)/usr/lib/ruby/$(PKG_LIBVER)/rubygems.rb \
281 $(1)/usr/lib/ruby/$(PKG_LIBVER)/rubygems \
282 \
283 $(1)/usr/lib/ruby/$(PKG_LIBVER)/cgi.rb \
284 $(1)/usr/lib/ruby/$(PKG_LIBVER)/cgi \
285 \
286 $(1)/usr/lib/ruby/$(PKG_LIBVER)/rexml \
287 \
288 $(1)/usr/lib/ruby/$(PKG_LIBVER)/rss \
289 $(1)/usr/lib/ruby/$(PKG_LIBVER)/rss.rb \
290 \
291 $(1)/usr/lib/ruby/$(PKG_LIBVER)/test \
292 \
293 $(1)/usr/lib/ruby/$(PKG_LIBVER)/webrick \
294 $(1)/usr/lib/ruby/$(PKG_LIBVER)/webrick.rb \
295 \
296 $(1)/usr/lib/ruby/$(PKG_LIBVER)/xmlrpc \
297 \
298 $(1)/usr/lib/ruby/$(PKG_LIBVER)/yaml \
299 $(1)/usr/lib/ruby/$(PKG_LIBVER)/yaml.rb \
300 $(1)/usr/lib/ruby/$(PKG_LIBVER)/*/syck.so \
301
302 find $(1) -name '*.h' | xargs rm -f
303 endef
304
305 define Package/ruby-cgi/install
306 $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
307 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/cgi $(1)/usr/lib/ruby/$(PKG_LIBVER)/
308 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/cgi.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
309 endef
310
311 define Package/ruby-dl/install
312 ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
313 usr/lib/ruby/$(PKG_LIBVER)/*/dl.so \
314 ) | ( cd $(1); $(TAR) -xf - )
315 endef
316
317 define Package/ruby-enc/install
318 ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
319 usr/lib/ruby/$(PKG_LIBVER)/*/enc \
320 ) | ( cd $(1); $(TAR) -xf - )
321 endef
322
323 define Package/ruby-erb/install
324 $(INSTALL_DIR) $(1)/usr/bin
325 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/erb $(1)/usr/bin/
326 $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)/
327 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/erb.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
328 endef
329
330 define Package/ruby-gdbm/install
331 ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
332 usr/lib/ruby/$(PKG_LIBVER)/*/gdbm.so \
333 ) | ( cd $(1); $(TAR) -xf - )
334 endef
335
336 define Package/ruby-gems/install
337 $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
338 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rubygems.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
339 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rubygems $(1)/usr/lib/ruby/$(PKG_LIBVER)/
340 endef
341
342 define Package/ruby-irb/install
343 $(INSTALL_DIR) $(1)/usr/bin
344 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/irb $(1)/usr/bin/
345 $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
346 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/irb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
347 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/irb.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
348 endef
349
350 define Package/ruby-json/install
351 ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
352 usr/lib/ruby/$(PKG_LIBVER)/json.rb \
353 usr/lib/ruby/$(PKG_LIBVER)/json \
354 usr/lib/ruby/$(PKG_LIBVER)/*/json \
355 ) | ( cd $(1); $(TAR) -xf - )
356 endef
357
358 define Package/ruby-ncurses/install
359 ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
360 usr/lib/ruby/$(PKG_LIBVER)/*/curses.so \
361 ) | ( cd $(1); $(TAR) -xf - )
362 endef
363
364 define Package/ruby-nkf/install
365 ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
366 usr/lib/ruby/$(PKG_LIBVER)/kconv.rb \
367 usr/lib/ruby/$(PKG_LIBVER)/*/nkf.so \
368 ) | ( cd $(1); $(TAR) -xf - )
369 endef
370
371 define Package/ruby-openssl/install
372 ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
373 usr/lib/ruby/$(PKG_LIBVER)/digest \
374 usr/lib/ruby/$(PKG_LIBVER)/digest.rb \
375 usr/lib/ruby/$(PKG_LIBVER)/*/digest.so \
376 usr/lib/ruby/$(PKG_LIBVER)/*/digest/*.so \
377 usr/lib/ruby/$(PKG_LIBVER)/openssl \
378 usr/lib/ruby/$(PKG_LIBVER)/openssl.rb \
379 usr/lib/ruby/$(PKG_LIBVER)/*/openssl.so \
380 usr/lib/ruby/$(PKG_LIBVER)/drb/ssl.rb \
381 usr/lib/ruby/$(PKG_LIBVER)/net/https.rb \
382 usr/lib/ruby/$(PKG_LIBVER)/webrick/ssl.rb \
383 ) | ( cd $(1); $(TAR) -xf - )
384 endef
385
386 define Package/ruby-rdoc/install
387 $(INSTALL_DIR) $(1)/usr/bin
388 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rdoc $(1)/usr/bin/
389 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ri $(1)/usr/bin/
390 $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
391 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rdoc $(1)/usr/lib/ruby/$(PKG_LIBVER)/
392 endef
393
394 define Package/ruby-rake/install
395 $(INSTALL_DIR) $(1)/usr/bin
396 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rake $(1)/usr/bin/
397 $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
398 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rake.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
399 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rake $(1)/usr/lib/ruby/$(PKG_LIBVER)/
400 endef
401
402 define Package/ruby-readline/install
403 ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
404 usr/lib/ruby/$(PKG_LIBVER)/*/readline.so \
405 usr/lib/ruby/$(PKG_LIBVER)/irb/completion.rb \
406 usr/lib/ruby/$(PKG_LIBVER)/irb/ext/save-history.rb \
407 ) | ( cd $(1); $(TAR) -xf - )
408 endef
409
410 define Package/ruby-rexml/install
411 $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
412 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rexml $(1)/usr/lib/ruby/$(PKG_LIBVER)/
413 endef
414
415
416 define Package/ruby-rss/install
417 $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
418 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rss $(1)/usr/lib/ruby/$(PKG_LIBVER)/
419 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rss.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
420 endef
421
422 define Package/ruby-unit/install
423 $(INSTALL_DIR) $(1)/usr/bin
424 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/testrb $(1)/usr/bin/
425 $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
426 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/test $(1)/usr/lib/ruby/$(PKG_LIBVER)/
427 endef
428
429 define Package/ruby-webrick/install
430 $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
431 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/webrick $(1)/usr/lib/ruby/$(PKG_LIBVER)/
432 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/webrick.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
433 endef
434
435 define Package/ruby-xmlrpc/install
436 $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
437 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/xmlrpc $(1)/usr/lib/ruby/$(PKG_LIBVER)/
438 endef
439
440 define Package/ruby-yaml/install
441 ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
442 usr/lib/ruby/$(PKG_LIBVER)/yaml \
443 usr/lib/ruby/$(PKG_LIBVER)/yaml.rb \
444 usr/lib/ruby/$(PKG_LIBVER)/*/syck.so \
445 ) | ( cd $(1); $(TAR) -xf - )
446 endef
447
448 define Package/ruby-zlib/install
449 ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
450 usr/lib/ruby/$(PKG_LIBVER)/*/zlib.so \
451 ) | ( cd $(1); $(TAR) -xf - )
452 endef
453
454 define Build/InstallDev
455 ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
456 . \
457 ) | ( cd $(1); $(TAR) -xf - )
458 endef
459
460 $(eval $(call BuildPackage,ruby))
461 $(eval $(call BuildPackage,libruby))
462 $(eval $(call BuildPackage,ruby-core))
463 $(eval $(call BuildPackage,ruby-cgi))
464 $(eval $(call BuildPackage,ruby-dl))
465 $(eval $(call BuildPackage,ruby-enc))
466 $(eval $(call BuildPackage,ruby-erb))
467 $(eval $(call BuildPackage,ruby-gdbm))
468 $(eval $(call BuildPackage,ruby-gems))
469 $(eval $(call BuildPackage,ruby-json))
470 $(eval $(call BuildPackage,ruby-irb))
471 $(eval $(call BuildPackage,ruby-ncurses))
472 $(eval $(call BuildPackage,ruby-nkf))
473 $(eval $(call BuildPackage,ruby-openssl))
474 $(eval $(call BuildPackage,ruby-rake))
475 $(eval $(call BuildPackage,ruby-rdoc))
476 $(eval $(call BuildPackage,ruby-readline))
477 $(eval $(call BuildPackage,ruby-rexml))
478 $(eval $(call BuildPackage,ruby-rss))
479 $(eval $(call BuildPackage,ruby-unit))
480 $(eval $(call BuildPackage,ruby-webrick))
481 $(eval $(call BuildPackage,ruby-xmlrpc))
482 $(eval $(call BuildPackage,ruby-yaml))
483 $(eval $(call BuildPackage,ruby-zlib))
484 $(eval $(call HostBuild))