unbound: moved to github
[openwrt/svn-archive/packages.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_VERSION:=1.9.3-p545
19 PKG_RELEASE:=1
20
21 PKG_LIBVER:=1.9
22
23 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
24 PKG_SOURCE_URL:=ftp://ftp.ruby-lang.org/pub/ruby/$(PKG_LIBVER)/
25 PKG_MD5SUM:=4743c1dc48491070bae8fc8b423bc1a7
26
27 PKG_BUILD_DEPENDS:=ruby/host
28 PKG_INSTALL:=1
29 PKG_BUILD_PARALLEL:=1
30 PKG_FIXUP:=autoreconf
31
32 include $(INCLUDE_DIR)/host-build.mk
33 include $(INCLUDE_DIR)/package.mk
34 include $(INCLUDE_DIR)/nls.mk
35
36 define Package/ruby/Default
37 SUBMENU:=Ruby
38 SECTION:=lang
39 CATEGORY:=Languages
40 TITLE:=Ruby scripting language
41 URL:=http://www.ruby-lang.org/
42 endef
43
44 define Package/ruby/Default/description
45 Ruby is the interpreted scripting language for quick and easy
46 object-oriented programming. It has many features to process text files
47 and to do system management tasks (as in perl). It is simple,
48 straight-forward, and extensible.
49 endef
50
51 define Package/ruby
52 $(call Package/ruby/Default)
53 TITLE+= (interpreter)
54 DEPENDS:=+libruby
55 endef
56
57 define Package/ruby/description
58 $(call Package/ruby/Default/description)
59 endef
60
61 define Package/libruby
62 $(call Package/ruby/Default)
63 SUBMENU:=
64 SECTION:=libs
65 CATEGORY:=Libraries
66 TITLE+= (shared library)
67 DEPENDS+= +libpthread +librt
68 endef
69
70 # Ongoing work to break up ruby's standard library into coherent pieces
71 # with minimal dependencies between them
72
73 define Package/ruby-core
74 $(call Package/ruby/Default)
75 TITLE:=Ruby standard libraries
76 DEPENDS:=ruby +libdb47 +libffi
77 endef
78
79 define Package/ruby-cgi
80 $(call Package/ruby/Default)
81 TITLE:=Ruby CGI support toolkit
82 DEPENDS:=ruby
83 endef
84
85 define Package/ruby-dl
86 $(call Package/ruby/Default)
87 TITLE+= (dynamic linker support) (adds 5MB+)
88 DEPENDS:=ruby
89 endef
90
91 define Package/ruby-enc
92 $(call Package/ruby/Default)
93 TITLE+= (character re-coding library) (adds 2MB+)
94 DEPENDS:=ruby
95 endef
96
97 define Package/ruby-erb
98 $(call Package/ruby/Default)
99 TITLE+= (embedded interpreter)
100 DEPENDS:=ruby
101 endef
102
103 define Package/ruby-gdbm
104 $(call Package/ruby/Default)
105 TITLE:=Ruby support for gdbm
106 DEPENDS:=ruby +libgdbm
107 endef
108
109 define Package/ruby-gems
110 $(call Package/ruby/Default)
111 TITLE:=Ruby gems packet management
112 DEPENDS:=ruby +ruby-yaml +ruby-zlib +ruby-openssl +ruby-webrick +ruby-erb
113 endef
114
115 define Package/ruby-irb
116 $(call Package/ruby/Default)
117 TITLE+= (interactive shell)
118 DEPENDS:=ruby +ruby-core
119 endef
120
121 define Package/ruby-json
122 $(call Package/ruby/Default)
123 TITLE:=Ruby support for JSON
124 DEPENDS:=ruby
125 endef
126
127 define Package/ruby-ncurses
128 $(call Package/ruby/Default)
129 TITLE:=Ruby support for ncurses
130 DEPENDS:=ruby +libncurses +libncursesw
131 endef
132
133 define Package/ruby-nkf
134 $(call Package/ruby/Default)
135 TITLE:=Ruby Network Kanji Filter
136 DEPENDS:=ruby
137 endef
138
139 define Package/ruby-openssl
140 $(call Package/ruby/Default)
141 TITLE:=Ruby support for openssl
142 DEPENDS:=ruby +libopenssl
143 endef
144
145 define Package/ruby-rdoc
146 $(call Package/ruby/Default)
147 TITLE+= (documentation generator)
148 DEPENDS:=ruby
149 endef
150
151 define Package/ruby-rake
152 $(call Package/ruby/Default)
153 TITLE+=Ruby Rake (make replacement)
154 DEPENDS:=ruby
155 endef
156
157 define Package/ruby-readline
158 $(call Package/ruby/Default)
159 TITLE:=Ruby support for readline
160 DEPENDS:=ruby +libncurses +libreadline
161 endef
162
163 define Package/ruby-rexml
164 $(call Package/ruby/Default)
165 TITLE:=Ruby XML toolkit
166 DEPENDS:=ruby
167 endef
168
169 define Package/ruby-rss
170 $(call Package/ruby/Default)
171 TITLE:=Ruby RSS toolkit
172 DEPENDS:=ruby
173 endef
174
175 define Package/ruby-unit
176 $(call Package/ruby/Default)
177 TITLE:=Ruby unit testing toolkit
178 DEPENDS:=ruby
179 endef
180
181 define Package/ruby-webrick
182 $(call Package/ruby/Default)
183 TITLE:=Ruby Web server toolkit
184 DEPENDS:=ruby
185 endef
186
187 define Package/ruby-xmlrpc
188 $(call Package/ruby/Default)
189 TITLE:=Ruby XML-RPC toolkit
190 DEPENDS:=ruby
191 endef
192
193 define Package/ruby-yaml
194 $(call Package/ruby/Default)
195 TITLE:=Ruby YAML toolkit
196 DEPENDS:=ruby
197 endef
198
199 define Package/ruby-zlib
200 $(call Package/ruby/Default)
201 TITLE:=Ruby support for zlib
202 DEPENDS:=ruby +zlib
203 endef
204
205 HOST_CONFIGURE_ARGS += \
206 --disable-install-doc \
207 --disable-install-rdoc \
208 --disable-install-capi
209
210 CONFIGURE_ARGS += \
211 --enable-shared \
212 --enable-static \
213 --disable-rpath \
214 --enable-ipv6 \
215 --with-ruby-version=minor \
216 --with-iconv-dir=$(ICONV_PREFIX) \
217
218 TARGET_LDFLAGS += -L$(PKG_BUILD_DIR)
219
220 MAKE_FLAGS += \
221 DESTDIR="$(PKG_INSTALL_DIR)" \
222 SHELL="/bin/bash"
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/bin
338 $(CP) $(PKG_INSTALL_DIR)/usr/bin/gem $(1)/usr/bin/
339 $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
340 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rubygems.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
341 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rubygems $(1)/usr/lib/ruby/$(PKG_LIBVER)/
342 endef
343
344 define Package/ruby-irb/install
345 $(INSTALL_DIR) $(1)/usr/bin
346 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/irb $(1)/usr/bin/
347 $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
348 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/irb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
349 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/irb.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
350 endef
351
352 define Package/ruby-json/install
353 ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
354 usr/lib/ruby/$(PKG_LIBVER)/json.rb \
355 usr/lib/ruby/$(PKG_LIBVER)/json \
356 usr/lib/ruby/$(PKG_LIBVER)/*/json \
357 ) | ( cd $(1); $(TAR) -xf - )
358 endef
359
360 define Package/ruby-ncurses/install
361 ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
362 usr/lib/ruby/$(PKG_LIBVER)/*/curses.so \
363 ) | ( cd $(1); $(TAR) -xf - )
364 endef
365
366 define Package/ruby-nkf/install
367 ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
368 usr/lib/ruby/$(PKG_LIBVER)/kconv.rb \
369 usr/lib/ruby/$(PKG_LIBVER)/*/nkf.so \
370 ) | ( cd $(1); $(TAR) -xf - )
371 endef
372
373 define Package/ruby-openssl/install
374 ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
375 usr/lib/ruby/$(PKG_LIBVER)/digest \
376 usr/lib/ruby/$(PKG_LIBVER)/digest.rb \
377 usr/lib/ruby/$(PKG_LIBVER)/*/digest.so \
378 usr/lib/ruby/$(PKG_LIBVER)/*/digest/*.so \
379 usr/lib/ruby/$(PKG_LIBVER)/openssl \
380 usr/lib/ruby/$(PKG_LIBVER)/openssl.rb \
381 usr/lib/ruby/$(PKG_LIBVER)/*/openssl.so \
382 usr/lib/ruby/$(PKG_LIBVER)/drb/ssl.rb \
383 usr/lib/ruby/$(PKG_LIBVER)/net/https.rb \
384 ) | ( cd $(1); $(TAR) -xf - )
385 endef
386
387 define Package/ruby-rdoc/install
388 $(INSTALL_DIR) $(1)/usr/bin
389 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rdoc $(1)/usr/bin/
390 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ri $(1)/usr/bin/
391 $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
392 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rdoc $(1)/usr/lib/ruby/$(PKG_LIBVER)/
393 endef
394
395 define Package/ruby-rake/install
396 $(INSTALL_DIR) $(1)/usr/bin
397 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rake $(1)/usr/bin/
398 $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
399 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rake.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
400 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rake $(1)/usr/lib/ruby/$(PKG_LIBVER)/
401 endef
402
403 define Package/ruby-readline/install
404 ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
405 usr/lib/ruby/$(PKG_LIBVER)/*/readline.so \
406 ) | ( cd $(1); $(TAR) -xf - )
407 endef
408
409 define Package/ruby-rexml/install
410 $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
411 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rexml $(1)/usr/lib/ruby/$(PKG_LIBVER)/
412 endef
413
414
415 define Package/ruby-rss/install
416 $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
417 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rss $(1)/usr/lib/ruby/$(PKG_LIBVER)/
418 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rss.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
419 endef
420
421 define Package/ruby-unit/install
422 $(INSTALL_DIR) $(1)/usr/bin
423 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/testrb $(1)/usr/bin/
424 $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
425 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/test $(1)/usr/lib/ruby/$(PKG_LIBVER)/
426 endef
427
428 define Package/ruby-webrick/install
429 $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
430 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/webrick $(1)/usr/lib/ruby/$(PKG_LIBVER)/
431 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/webrick.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
432 endef
433
434 define Package/ruby-xmlrpc/install
435 $(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
436 $(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/xmlrpc $(1)/usr/lib/ruby/$(PKG_LIBVER)/
437 endef
438
439 define Package/ruby-yaml/install
440 ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
441 usr/lib/ruby/$(PKG_LIBVER)/yaml \
442 usr/lib/ruby/$(PKG_LIBVER)/yaml.rb \
443 usr/lib/ruby/$(PKG_LIBVER)/*/syck.so \
444 ) | ( cd $(1); $(TAR) -xf - )
445 endef
446
447 define Package/ruby-zlib/install
448 ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
449 usr/lib/ruby/$(PKG_LIBVER)/*/zlib.so \
450 ) | ( cd $(1); $(TAR) -xf - )
451 endef
452
453 define Build/InstallDev
454 ( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
455 . \
456 ) | ( cd $(1); $(TAR) -xf - )
457 endef
458
459 $(eval $(call BuildPackage,ruby))
460 $(eval $(call BuildPackage,libruby))
461 $(eval $(call BuildPackage,ruby-core))
462 $(eval $(call BuildPackage,ruby-cgi))
463 $(eval $(call BuildPackage,ruby-dl))
464 $(eval $(call BuildPackage,ruby-enc))
465 $(eval $(call BuildPackage,ruby-erb))
466 $(eval $(call BuildPackage,ruby-gdbm))
467 $(eval $(call BuildPackage,ruby-gems))
468 $(eval $(call BuildPackage,ruby-json))
469 $(eval $(call BuildPackage,ruby-irb))
470 $(eval $(call BuildPackage,ruby-ncurses))
471 $(eval $(call BuildPackage,ruby-nkf))
472 $(eval $(call BuildPackage,ruby-openssl))
473 $(eval $(call BuildPackage,ruby-rake))
474 $(eval $(call BuildPackage,ruby-rdoc))
475 $(eval $(call BuildPackage,ruby-readline))
476 $(eval $(call BuildPackage,ruby-rexml))
477 $(eval $(call BuildPackage,ruby-rss))
478 $(eval $(call BuildPackage,ruby-unit))
479 $(eval $(call BuildPackage,ruby-webrick))
480 $(eval $(call BuildPackage,ruby-xmlrpc))
481 $(eval $(call BuildPackage,ruby-yaml))
482 $(eval $(call BuildPackage,ruby-zlib))
483 $(eval $(call HostBuild))