Ticket #4819: Makefile

File Makefile, 11.2 KB (added by daniel.golle@…, 8 years ago)

Makefile for Ruby package

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