2 # Copyright (C) 2006-2010 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
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
15 include $(TOPDIR
)/rules.mk
18 PKG_VERSION
:=1.9.3-p484
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
:=03f5b08804927ceabe5122cb90f5d0a9
27 PKG_BUILD_DEPENDS
:=ruby
/host
32 include $(INCLUDE_DIR
)/host-build.mk
33 include $(INCLUDE_DIR
)/package.mk
34 include $(INCLUDE_DIR
)/nls.mk
36 define Package
/ruby
/Default
40 TITLE
:=Ruby scripting language
41 URL
:=http
://www.ruby-lang.org
/
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.
52 $(call Package
/ruby
/Default
)
57 define Package
/ruby
/description
58 $(call Package
/ruby
/Default
/description
)
61 define Package
/libruby
62 $(call Package
/ruby
/Default
)
66 TITLE
+= (shared library
)
67 DEPENDS
+= +libpthread
+librt
70 # Ongoing work to break up ruby's standard library into coherent pieces
71 # with minimal dependencies between them
73 define Package
/ruby-core
74 $(call Package
/ruby
/Default
)
75 TITLE
:=Ruby standard libraries
76 DEPENDS
:=ruby
+libdb47
+libffi
79 define Package
/ruby-cgi
80 $(call Package
/ruby
/Default
)
81 TITLE
:=Ruby CGI support toolkit
85 define Package
/ruby-dl
86 $(call Package
/ruby
/Default
)
87 TITLE
+= (dynamic linker support
) (adds
5MB
+)
91 define Package
/ruby-enc
92 $(call Package
/ruby
/Default
)
93 TITLE
+= (character re-coding library
) (adds
2MB
+)
97 define Package
/ruby-erb
98 $(call Package
/ruby
/Default
)
99 TITLE
+= (embedded interpreter
)
103 define Package
/ruby-gdbm
104 $(call Package
/ruby
/Default
)
105 TITLE
:=Ruby support for gdbm
106 DEPENDS
:=ruby
+libgdbm
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
115 define Package
/ruby-irb
116 $(call Package
/ruby
/Default
)
117 TITLE
+= (interactive
shell)
118 DEPENDS
:=ruby
+ruby-core
121 define Package
/ruby-json
122 $(call Package
/ruby
/Default
)
123 TITLE
:=Ruby support for JSON
127 define Package
/ruby-ncurses
128 $(call Package
/ruby
/Default
)
129 TITLE
:=Ruby support for ncurses
130 DEPENDS
:=ruby
+libncurses
+libncursesw
133 define Package
/ruby-nkf
134 $(call Package
/ruby
/Default
)
135 TITLE
:=Ruby Network Kanji Filter
139 define Package
/ruby-openssl
140 $(call Package
/ruby
/Default
)
141 TITLE
:=Ruby support for openssl
142 DEPENDS
:=ruby
+libopenssl
145 define Package
/ruby-rdoc
146 $(call Package
/ruby
/Default
)
147 TITLE
+= (documentation generator
)
151 define Package
/ruby-rake
152 $(call Package
/ruby
/Default
)
153 TITLE
+=Ruby Rake
(make replacement
)
157 define Package
/ruby-readline
158 $(call Package
/ruby
/Default
)
159 TITLE
:=Ruby support for readline
160 DEPENDS
:=ruby
+libncurses
+libreadline
163 define Package
/ruby-rexml
164 $(call Package
/ruby
/Default
)
165 TITLE
:=Ruby XML toolkit
169 define Package
/ruby-rss
170 $(call Package
/ruby
/Default
)
171 TITLE
:=Ruby RSS toolkit
175 define Package
/ruby-unit
176 $(call Package
/ruby
/Default
)
177 TITLE
:=Ruby unit testing toolkit
181 define Package
/ruby-webrick
182 $(call Package
/ruby
/Default
)
183 TITLE
:=Ruby Web server toolkit
187 define Package
/ruby-xmlrpc
188 $(call Package
/ruby
/Default
)
189 TITLE
:=Ruby XML-RPC toolkit
193 define Package
/ruby-yaml
194 $(call Package
/ruby
/Default
)
195 TITLE
:=Ruby YAML toolkit
199 define Package
/ruby-zlib
200 $(call Package
/ruby
/Default
)
201 TITLE
:=Ruby support for zlib
211 --enable-wide-getaddrinfo \
212 --with-ruby-version
=minor \
213 --with-iconv-dir
=$(ICONV_PREFIX
) \
215 TARGET_LDFLAGS
+= -L
$(PKG_BUILD_DIR
)
218 DESTDIR
="$(PKG_INSTALL_DIR)" \
221 define Package
/ruby
/install
222 $(INSTALL_DIR
) $(1)/usr
/bin
223 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/ruby
$(1)/usr
/bin
/
226 define Package
/libruby
/install
227 $(INSTALL_DIR
) $(1)/usr
/lib
228 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libruby.so.
* $(1)/usr
/lib
/
231 define Package
/ruby-core
/install
232 $(INSTALL_DIR
) $(1)/usr
/lib
233 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/ruby
$(1)/usr
/lib
/
235 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/*/curses.so \
237 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/*/gdbm.so \
239 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/kconv.rb \
240 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/*/nkf.so \
242 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/digest \
243 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/digest.rb \
244 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/*/digest \
245 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/*/digest.so \
246 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/openssl \
247 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/openssl.rb \
248 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/*/openssl.so \
249 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/drb
/ssl.rb \
250 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/net
/https.rb \
251 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/webrick
/ssl.rb \
253 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/*/dl.so \
255 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/*/enc \
257 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/*/readline.so \
258 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/irb
/completion.rb \
259 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/irb
/ext
/save-history.rb \
261 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/*/zlib.so \
263 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/erb.rb \
265 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/json.rb \
266 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/json \
267 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/*/json \
269 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/irb.rb \
270 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/irb \
272 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/rdoc \
274 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/rake.rb \
275 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/rake \
277 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/rubygems.rb \
278 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/rubygems \
280 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/cgi.rb \
281 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/cgi \
283 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/rexml \
285 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/rss \
286 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/rss.rb \
288 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/test \
290 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/webrick \
291 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/webrick.rb \
293 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/xmlrpc \
295 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/yaml \
296 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/yaml.rb \
297 $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/*/syck.so \
299 find
$(1) -name
'*.h' | xargs
rm -f
302 define Package
/ruby-cgi
/install
303 $(INSTALL_DIR
) $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)
304 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/ruby
/$(PKG_LIBVER
)/cgi
$(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/
305 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/ruby
/$(PKG_LIBVER
)/cgi.rb
$(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/
308 define Package
/ruby-dl
/install
309 ( cd
$(PKG_INSTALL_DIR
); $(TAR
) -cf
- \
310 usr
/lib
/ruby
/$(PKG_LIBVER
)/*/dl.so \
311 ) |
( cd
$(1); $(TAR
) -xf
- )
314 define Package
/ruby-enc
/install
315 ( cd
$(PKG_INSTALL_DIR
); $(TAR
) -cf
- \
316 usr
/lib
/ruby
/$(PKG_LIBVER
)/*/enc \
317 ) |
( cd
$(1); $(TAR
) -xf
- )
320 define Package
/ruby-erb
/install
321 $(INSTALL_DIR
) $(1)/usr
/bin
322 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/erb
$(1)/usr
/bin
/
323 $(INSTALL_DIR
) $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/
324 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/ruby
/$(PKG_LIBVER
)/erb.rb
$(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/
327 define Package
/ruby-gdbm
/install
328 ( cd
$(PKG_INSTALL_DIR
); $(TAR
) -cf
- \
329 usr
/lib
/ruby
/$(PKG_LIBVER
)/*/gdbm.so \
330 ) |
( cd
$(1); $(TAR
) -xf
- )
333 define Package
/ruby-gems
/install
334 $(INSTALL_DIR
) $(1)/usr
/bin
335 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/gem
$(1)/usr
/bin
/
336 $(INSTALL_DIR
) $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)
337 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/ruby
/$(PKG_LIBVER
)/rubygems.rb
$(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/
338 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/ruby
/$(PKG_LIBVER
)/rubygems
$(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/
341 define Package
/ruby-irb
/install
342 $(INSTALL_DIR
) $(1)/usr
/bin
343 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/irb
$(1)/usr
/bin
/
344 $(INSTALL_DIR
) $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)
345 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/ruby
/$(PKG_LIBVER
)/irb
$(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/
346 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/ruby
/$(PKG_LIBVER
)/irb.rb
$(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/
349 define Package
/ruby-json
/install
350 ( cd
$(PKG_INSTALL_DIR
); $(TAR
) -cf
- \
351 usr
/lib
/ruby
/$(PKG_LIBVER
)/json.rb \
352 usr
/lib
/ruby
/$(PKG_LIBVER
)/json \
353 usr
/lib
/ruby
/$(PKG_LIBVER
)/*/json \
354 ) |
( cd
$(1); $(TAR
) -xf
- )
357 define Package
/ruby-ncurses
/install
358 ( cd
$(PKG_INSTALL_DIR
); $(TAR
) -cf
- \
359 usr
/lib
/ruby
/$(PKG_LIBVER
)/*/curses.so \
360 ) |
( cd
$(1); $(TAR
) -xf
- )
363 define Package
/ruby-nkf
/install
364 ( cd
$(PKG_INSTALL_DIR
); $(TAR
) -cf
- \
365 usr
/lib
/ruby
/$(PKG_LIBVER
)/kconv.rb \
366 usr
/lib
/ruby
/$(PKG_LIBVER
)/*/nkf.so \
367 ) |
( cd
$(1); $(TAR
) -xf
- )
370 define Package
/ruby-openssl
/install
371 ( cd
$(PKG_INSTALL_DIR
); $(TAR
) -cf
- \
372 usr
/lib
/ruby
/$(PKG_LIBVER
)/digest \
373 usr
/lib
/ruby
/$(PKG_LIBVER
)/digest.rb \
374 usr
/lib
/ruby
/$(PKG_LIBVER
)/*/digest.so \
375 usr
/lib
/ruby
/$(PKG_LIBVER
)/*/digest
/*.so \
376 usr
/lib
/ruby
/$(PKG_LIBVER
)/openssl \
377 usr
/lib
/ruby
/$(PKG_LIBVER
)/openssl.rb \
378 usr
/lib
/ruby
/$(PKG_LIBVER
)/*/openssl.so \
379 usr
/lib
/ruby
/$(PKG_LIBVER
)/drb
/ssl.rb \
380 usr
/lib
/ruby
/$(PKG_LIBVER
)/net
/https.rb \
381 ) |
( cd
$(1); $(TAR
) -xf
- )
384 define Package
/ruby-rdoc
/install
385 $(INSTALL_DIR
) $(1)/usr
/bin
386 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/rdoc
$(1)/usr
/bin
/
387 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/ri
$(1)/usr
/bin
/
388 $(INSTALL_DIR
) $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)
389 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/ruby
/$(PKG_LIBVER
)/rdoc
$(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/
392 define Package
/ruby-rake
/install
393 $(INSTALL_DIR
) $(1)/usr
/bin
394 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/rake
$(1)/usr
/bin
/
395 $(INSTALL_DIR
) $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)
396 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/ruby
/$(PKG_LIBVER
)/rake.rb
$(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/
397 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/ruby
/$(PKG_LIBVER
)/rake
$(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/
400 define Package
/ruby-readline
/install
401 ( cd
$(PKG_INSTALL_DIR
); $(TAR
) -cf
- \
402 usr
/lib
/ruby
/$(PKG_LIBVER
)/*/readline.so \
403 ) |
( cd
$(1); $(TAR
) -xf
- )
406 define Package
/ruby-rexml
/install
407 $(INSTALL_DIR
) $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)
408 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/ruby
/$(PKG_LIBVER
)/rexml
$(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/
412 define Package
/ruby-rss
/install
413 $(INSTALL_DIR
) $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)
414 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/ruby
/$(PKG_LIBVER
)/rss
$(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/
415 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/ruby
/$(PKG_LIBVER
)/rss.rb
$(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/
418 define Package
/ruby-unit
/install
419 $(INSTALL_DIR
) $(1)/usr
/bin
420 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/testrb
$(1)/usr
/bin
/
421 $(INSTALL_DIR
) $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)
422 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/ruby
/$(PKG_LIBVER
)/test $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/
425 define Package
/ruby-webrick
/install
426 $(INSTALL_DIR
) $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)
427 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/ruby
/$(PKG_LIBVER
)/webrick
$(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/
428 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/ruby
/$(PKG_LIBVER
)/webrick.rb
$(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/
431 define Package
/ruby-xmlrpc
/install
432 $(INSTALL_DIR
) $(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)
433 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/ruby
/$(PKG_LIBVER
)/xmlrpc
$(1)/usr
/lib
/ruby
/$(PKG_LIBVER
)/
436 define Package
/ruby-yaml
/install
437 ( cd
$(PKG_INSTALL_DIR
); $(TAR
) -cf
- \
438 usr
/lib
/ruby
/$(PKG_LIBVER
)/yaml \
439 usr
/lib
/ruby
/$(PKG_LIBVER
)/yaml.rb \
440 usr
/lib
/ruby
/$(PKG_LIBVER
)/*/syck.so \
441 ) |
( cd
$(1); $(TAR
) -xf
- )
444 define Package
/ruby-zlib
/install
445 ( cd
$(PKG_INSTALL_DIR
); $(TAR
) -cf
- \
446 usr
/lib
/ruby
/$(PKG_LIBVER
)/*/zlib.so \
447 ) |
( cd
$(1); $(TAR
) -xf
- )
450 define Build
/InstallDev
451 ( cd
$(PKG_INSTALL_DIR
); $(TAR
) -cf
- \
453 ) |
( cd
$(1); $(TAR
) -xf
- )
456 $(eval
$(call BuildPackage
,ruby
))
457 $(eval
$(call BuildPackage
,libruby
))
458 $(eval
$(call BuildPackage
,ruby-core
))
459 $(eval
$(call BuildPackage
,ruby-cgi
))
460 $(eval
$(call BuildPackage
,ruby-dl
))
461 $(eval
$(call BuildPackage
,ruby-enc
))
462 $(eval
$(call BuildPackage
,ruby-erb
))
463 $(eval
$(call BuildPackage
,ruby-gdbm
))
464 $(eval
$(call BuildPackage
,ruby-gems
))
465 $(eval
$(call BuildPackage
,ruby-json
))
466 $(eval
$(call BuildPackage
,ruby-irb
))
467 $(eval
$(call BuildPackage
,ruby-ncurses
))
468 $(eval
$(call BuildPackage
,ruby-nkf
))
469 $(eval
$(call BuildPackage
,ruby-openssl
))
470 $(eval
$(call BuildPackage
,ruby-rake
))
471 $(eval
$(call BuildPackage
,ruby-rdoc
))
472 $(eval
$(call BuildPackage
,ruby-readline
))
473 $(eval
$(call BuildPackage
,ruby-rexml
))
474 $(eval
$(call BuildPackage
,ruby-rss
))
475 $(eval
$(call BuildPackage
,ruby-unit
))
476 $(eval
$(call BuildPackage
,ruby-webrick
))
477 $(eval
$(call BuildPackage
,ruby-xmlrpc
))
478 $(eval
$(call BuildPackage
,ruby-yaml
))
479 $(eval
$(call BuildPackage
,ruby-zlib
))
480 $(eval
$(call HostBuild
))