瀏覽代碼

ruby: update to 2.2.0

For ruby changes since 2.1.x:

 https://github.com/ruby/ruby/blob/v2_2_0/NEWS

Relevant changes for OpenWRT:

* all patches for ruby-core where merged upstream and
  they are not needed anymore (only rdoc patch remains)
 - PR for the rdoc github project was added to the patch header
   (https://github.com/rdoc/rdoc/pull/340)
* new package ruby-powerassert for introduced new bundled gem power_assert
* new package ruby-unicodenormalize for Unicode normalization files
* removed ruby-dl as DL was removed after being deprecated
* ruby-{minitest,testunit} where removed from ruby library. Now they
  are bundled gems
* test and sample files where removed from gems in order to save resources
  and reduce pkgs dependencies
* script ruby_find_pkgsdeps was updated to match upstream changes

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
Luiz Angelo Daros de Luca 10 年之前
父節點
當前提交
2ffaee345c

+ 82
- 48
lang/ruby/Makefile 查看文件

@@ -10,14 +10,14 @@
10 10
 include $(TOPDIR)/rules.mk
11 11
 
12 12
 PKG_NAME:=ruby
13
-PKG_VERSION:=2.1.5
13
+PKG_VERSION:=2.2.0
14 14
 PKG_RELEASE:=1
15 15
 
16
-PKG_LIBVER:=2.1
16
+PKG_LIBVER:=2.2
17 17
 
18 18
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
19 19
 PKG_SOURCE_URL:=http://cache.ruby-lang.org/pub/ruby/$(PKG_LIBVER)/
20
-PKG_MD5SUM:=a7c3e5fec47eff23091b566e9e1dac1b
20
+PKG_MD5SUM:=d03cd4690fec1fff81d096d1c1255fde
21 21
 PKG_MAINTAINER:=Luiz Angelo Daros de Luca <luizluca@gmail.com>
22 22
 PKG_LICENSE:=BSD-2-Clause
23 23
 PKG_LICENSE_FILES:=COPYING
@@ -70,12 +70,13 @@ define Package/ruby-stdlib
70 70
 $(call Package/ruby/Default)
71 71
   TITLE:=Ruby standard libraries (metadata for all stdlib subsets)
72 72
   DEPENDS:=ruby +ruby-misc +ruby-bigdecimal +ruby-cgi +ruby-csv +ruby-datetime +ruby-dbm +ruby-debuglib\
73
-			+ruby-digest +ruby-dl +ruby-drb +ruby-enc +ruby-enc-extra +ruby-erb +ruby-gdbm +ruby-gems \
73
+			+ruby-digest +ruby-drb +ruby-enc +ruby-enc-extra +ruby-erb +ruby-gdbm +ruby-gems \
74 74
 			+ruby-json +ruby-io-console +ruby-irb +ruby-fiddle +ruby-filelib +ruby-logger +ruby-math \
75 75
 			+ruby-minitest +ruby-mkmf +ruby-multithread +ruby-nkf +ruby-net +ruby-openssl +ruby-optparse \
76
-			+ruby-patterns +ruby-prettyprint +ruby-pstore +ruby-psych +ruby-racc +ruby-rake +ruby-rbconfig \
77
-			+ruby-rdoc +ruby-readline +ruby-rexml +ruby-rinda +ruby-ripper +ruby-rss +ruby-sdbm +ruby-shell \
78
-			+ruby-socket +ruby-testunit +ruby-uri +ruby-webrick +ruby-xmlrpc +ruby-yaml +ruby-zlib
76
+			+ruby-patterns +ruby-powerassert +ruby-prettyprint +ruby-pstore +ruby-psych +ruby-racc +ruby-rake \
77
+			+ruby-rbconfig +ruby-rdoc +ruby-readline +ruby-rexml +ruby-rinda +ruby-ripper +ruby-rss +ruby-sdbm \
78
+			+ruby-shell +ruby-socket +ruby-testunit +ruby-unicodenormalize +ruby-uri +ruby-webrick +ruby-xmlrpc \
79
+			+ruby-yaml +ruby-zlib
79 80
 endef
80 81
 
81 82
 define Package/ruby-stdlib/description
@@ -182,17 +183,6 @@ define Package/ruby-digest/config
182 183
 
183 184
 endef
184 185
 
185
-define Package/ruby-dl
186
-$(call Package/ruby/Default)
187
-  TITLE+= (dynamic linker support)
188
-  DEPENDS:=ruby +ruby-fiddle +ruby-multithread
189
-endef
190
-
191
-define Package/ruby-dl/description
192
- Provides dl* files. This is deprecated, use fiddle.
193
-
194
-endef
195
-
196 186
 define Package/ruby-drb
197 187
 $(call Package/ruby/Default)
198 188
   TITLE:=Ruby distributed object system
@@ -306,7 +296,7 @@ endef
306 296
 define Package/ruby-filelib
307 297
 $(call Package/ruby/Default)
308 298
   TITLE+= File utils library
309
-  DEPENDS:=ruby +ruby-multithread +ruby-enc
299
+  DEPENDS:=ruby +ruby-enc +ruby-misc
310 300
 endef
311 301
 
312 302
 define Package/ruby-filelib/description
@@ -335,7 +325,7 @@ endef
335 325
 define Package/ruby-gems
336 326
 $(call Package/ruby/Default)
337 327
   TITLE:=Ruby gems packet management
338
-  DEPENDS:=ruby +ruby-net +ruby-rdoc +ruby-zlib
328
+  DEPENDS:=ruby +ruby-net +ruby-rdoc
339 329
 endef
340 330
 
341 331
 define Package/ruby-gems/description
@@ -413,12 +403,12 @@ endef
413 403
 
414 404
 define Package/ruby-minitest
415 405
 $(call Package/ruby/Default)
416
-  TITLE+= minitest bundled with Ruby
417
-  DEPENDS:=ruby +ruby-filelib +ruby-optparse +ruby-prettyprint +ruby-rbconfig
406
+  TITLE:=Gem minitest shipped with Ruby
407
+  DEPENDS:=ruby +ruby-gems
418 408
 endef
419 409
 
420 410
 define Package/ruby-minitest/description
421
- Provides minitest* files
411
+ Provides minitest gem
422 412
 
423 413
 endef
424 414
 
@@ -545,6 +535,19 @@ define Package/ruby-patterns/description
545 535
 
546 536
 endef
547 537
 
538
+define Package/ruby-powerassert
539
+$(call Package/ruby/Default)
540
+  TITLE:=Gem power_assert shipped with Ruby
541
+  DEPENDS:=ruby +ruby-ripper
542
+endef
543
+
544
+define Package/ruby-powerassert/description
545
+  Power Assert gem for Ruby. Power Assert shows each value of variables
546
+  and method calls in the expression. It is useful for testing, providing
547
+  which value wasn't correct when the condition is not satisfied
548
+
549
+endef
550
+
548 551
 define Package/ruby-prettyprint
549 552
 $(call Package/ruby/Default)
550 553
   TITLE:=Ruby PrettyPrint librart
@@ -616,7 +619,7 @@ endef
616 619
 define Package/ruby-rdoc
617 620
 $(call Package/ruby/Default)
618 621
   TITLE+= (documentation generator)
619
-  DEPENDS:=ruby +ruby-erb +ruby-irb +ruby-json +ruby-racc +ruby-rake +ruby-yaml
622
+  DEPENDS:=ruby +ruby-erb +ruby-irb +ruby-json +ruby-racc +ruby-rake +ruby-yaml +ruby-zlib
620 623
 endef
621 624
 
622 625
 define Package/ruby-rdoc/description
@@ -720,8 +723,8 @@ endef
720 723
 
721 724
 define Package/ruby-testunit
722 725
 $(call Package/ruby/Default)
723
-  TITLE:=Ruby Test Unit toolkit
724
-  DEPENDS:=ruby +ruby-minitest
726
+  TITLE:=Gem test-unit shipped with Ruby
727
+  DEPENDS:=ruby +ruby-csv +ruby-erb +ruby-optparse +ruby-powerassert +ruby-prettyprint +ruby-rexml +ruby-yaml
725 728
 endef
726 729
 
727 730
 define Package/ruby-testunit/description
@@ -729,6 +732,17 @@ define Package/ruby-testunit/description
729 732
 
730 733
 endef
731 734
 
735
+define Package/ruby-unicodenormalize
736
+$(call Package/ruby/Default)
737
+  TITLE:=Ruby String additions for Unicode normalization
738
+  DEPENDS:=ruby +ruby-enc +ruby-enc-extra
739
+endef
740
+
741
+define Package/ruby-unicodenormalize/description
742
+  Additions to class String for Unicode normalization
743
+
744
+endef
745
+
732 746
 define Package/ruby-uri
733 747
 $(call Package/ruby/Default)
734 748
   TITLE:=Ruby library to handle URI
@@ -822,6 +836,8 @@ define Package/ruby/install
822 836
 	$(INSTALL_DIR) $(1)/usr/lib/ruby/site_ruby/$(PKG_LIBVER)
823 837
 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ruby $(1)/usr/lib/ruby/ruby$(PKG_LIBVER)-bin
824 838
 	$(INSTALL_BIN) ./files/ruby $(1)/usr/bin/ruby
839
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/vendor_ruby/$(PKG_LIBVER)/* $(1)/usr/lib/ruby/vendor_ruby/$(PKG_LIBVER)/
840
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/site_ruby/$(PKG_LIBVER)/* $(1)/usr/lib/ruby/site_ruby/$(PKG_LIBVER)/
825 841
 	sed -i -e "s%@RUBY_LIBPATH@%/usr/lib/ruby/$(PKG_LIBVER)%" $(1)/usr/bin/ruby
826 842
 	sed -i -e "s%@RUBY_BINPATH@%/usr/lib/ruby/ruby$(PKG_LIBVER)-bin%" $(1)/usr/bin/ruby
827 843
 endef
@@ -889,15 +905,6 @@ define Package/ruby-digest/install
889 905
 	) | ( cd $(1); $(TAR) -xf - )
890 906
 endef
891 907
 
892
-define Package/ruby-dl/install
893
-	( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
894
-		usr/lib/ruby/$(PKG_LIBVER)/dl.rb \
895
-		usr/lib/ruby/$(PKG_LIBVER)/dl \
896
-		usr/lib/ruby/$(PKG_LIBVER)/*/dl.so \
897
-		usr/lib/ruby/$(PKG_LIBVER)/*/dl/ \
898
-	) | ( cd $(1); $(TAR) -xf - )
899
-endef
900
-
901 908
 define Package/ruby-drb/install
902 909
 	( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
903 910
 		usr/lib/ruby/$(PKG_LIBVER)/drb.rb \
@@ -963,6 +970,10 @@ define Package/ruby-gems/install
963 970
 	$(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
964 971
 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/ubygems.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
965 972
 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rubygems.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
973
+	# Remove tests (avoids extra deps)
974
+	$(RM) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rubygems/test_case.rb
975
+	$(RM) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rubygems/package/tar_test_case.rb
976
+	$(RM) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rubygems/installer_test_case.rb
966 977
 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rubygems $(1)/usr/lib/ruby/$(PKG_LIBVER)/
967 978
 	$(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default
968 979
 	$(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems
@@ -1012,8 +1023,6 @@ define Package/ruby-math/install
1012 1023
 		usr/lib/ruby/$(PKG_LIBVER)/prime.rb \
1013 1024
 		usr/lib/ruby/$(PKG_LIBVER)/mathn.rb \
1014 1025
 		usr/lib/ruby/$(PKG_LIBVER)/cmath.rb \
1015
-		usr/lib/ruby/$(PKG_LIBVER)/complex.rb \
1016
-		usr/lib/ruby/$(PKG_LIBVER)/rational.rb \
1017 1026
 		usr/lib/ruby/$(PKG_LIBVER)/*/mathn \
1018 1027
 		usr/lib/ruby/$(PKG_LIBVER)/matrix.rb \
1019 1028
 		usr/lib/ruby/$(PKG_LIBVER)/matrix \
@@ -1021,10 +1030,12 @@ define Package/ruby-math/install
1021 1030
 endef
1022 1031
 
1023 1032
 define Package/ruby-minitest/install
1024
-	( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
1025
-		usr/lib/ruby/$(PKG_LIBVER)/minitest/ \
1026
-		usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default/minitest-*.gemspec \
1027
-	) | ( cd $(1); $(TAR) -xf - )
1033
+	$(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications
1034
+	$(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems
1035
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/minitest-*.gemspec $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/
1036
+	# Remove tests (avoids extra deps)
1037
+	$(RM) -rf $(PKG_INSTALL_DIR)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/minitest-*/test
1038
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/minitest-* $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/
1028 1039
 endef
1029 1040
 
1030 1041
 define Package/ruby-misc/install
@@ -1103,6 +1114,7 @@ endef
1103 1114
 define Package/ruby-optparse/install
1104 1115
 	( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
1105 1116
 		usr/lib/ruby/$(PKG_LIBVER)/optparse.rb \
1117
+		usr/lib/ruby/$(PKG_LIBVER)/optionparser.rb \
1106 1118
 		usr/lib/ruby/$(PKG_LIBVER)/optparse \
1107 1119
 	) | ( cd $(1); $(TAR) -xf - )
1108 1120
 endef
@@ -1115,6 +1127,15 @@ define Package/ruby-patterns/install
1115 1127
 	) | ( cd $(1); $(TAR) -xf - )
1116 1128
 endef
1117 1129
 
1130
+define Package/ruby-powerassert/install
1131
+	$(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications
1132
+	$(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems
1133
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/power_assert-*.gemspec $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/
1134
+	# Remove tests (avoids extra deps)
1135
+	$(RM) -rf $(PKG_INSTALL_DIR)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/power_assert-*/test
1136
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/power_assert-* $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/
1137
+endef
1138
+
1118 1139
 define Package/ruby-prettyprint/install
1119 1140
 	( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
1120 1141
 		usr/lib/ruby/$(PKG_LIBVER)/pp.rb \
@@ -1148,6 +1169,8 @@ define Package/ruby-rake/install
1148 1169
 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rake $(1)/usr/bin/
1149 1170
 	$(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
1150 1171
 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rake.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
1172
+	# Remove tests (avoids extra deps)
1173
+	$(RM) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rake/runtest.rb
1151 1174
 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rake $(1)/usr/lib/ruby/$(PKG_LIBVER)/
1152 1175
 	$(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default
1153 1176
 	$(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems
@@ -1169,6 +1192,10 @@ define Package/ruby-rdoc/install
1169 1192
 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rdoc $(1)/usr/bin/
1170 1193
 	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ri $(1)/usr/bin/
1171 1194
 	$(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
1195
+	# Remove tests (avoids extra deps)
1196
+	$(RM) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rdoc/test_case.rb
1197
+	$(RM) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rdoc/markup/formatter_test_case.rb
1198
+	$(RM) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rdoc/markup/text_formatter_test_case.rb
1172 1199
 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rdoc.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/
1173 1200
 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rdoc $(1)/usr/lib/ruby/$(PKG_LIBVER)/
1174 1201
 	$(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default
@@ -1235,16 +1262,22 @@ define Package/ruby-socket/install
1235 1262
 endef
1236 1263
 
1237 1264
 define Package/ruby-testunit/install
1238
-	$(INSTALL_DIR) $(1)/usr/bin
1239
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/testrb $(1)/usr/bin/
1240
-	$(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
1241
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/test $(1)/usr/lib/ruby/$(PKG_LIBVER)/
1242
-	$(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default
1265
+	$(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications
1243 1266
 	$(INSTALL_DIR) $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems
1244
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default/test-unit-*.gemspec $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/default/
1267
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/test-unit-*.gemspec $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/specifications/
1268
+	# Remove tests (avoids extra deps)
1269
+	$(RM) -rf $(PKG_INSTALL_DIR)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/test-unit-*/test
1270
+	$(RM) -rf $(PKG_INSTALL_DIR)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/test-unit-*/sample
1245 1271
 	$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/test-unit-* $(1)/usr/lib/ruby/gems/$(PKG_LIBVER)/gems/
1246 1272
 endef
1247 1273
 
1274
+define Package/ruby-unicodenormalize/install
1275
+	( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
1276
+		usr/lib/ruby/$(PKG_LIBVER)/unicode_normalize.rb \
1277
+		usr/lib/ruby/$(PKG_LIBVER)/unicode_normalize \
1278
+	) | ( cd $(1); $(TAR) -xf - )
1279
+endef
1280
+
1248 1281
 define Package/ruby-uri/install
1249 1282
 	( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \
1250 1283
 		usr/lib/ruby/$(PKG_LIBVER)/uri.rb \
@@ -1293,7 +1326,6 @@ $(eval $(call BuildPackage,ruby-datetime))
1293 1326
 $(eval $(call BuildPackage,ruby-dbm))
1294 1327
 $(eval $(call BuildPackage,ruby-debuglib))
1295 1328
 $(eval $(call BuildPackage,ruby-digest))
1296
-$(eval $(call BuildPackage,ruby-dl))
1297 1329
 $(eval $(call BuildPackage,ruby-drb))
1298 1330
 $(eval $(call BuildPackage,ruby-enc))
1299 1331
 $(eval $(call BuildPackage,ruby-enc-extra))
@@ -1316,6 +1348,7 @@ $(eval $(call BuildPackage,ruby-nkf))
1316 1348
 $(eval $(call BuildPackage,ruby-openssl))
1317 1349
 $(eval $(call BuildPackage,ruby-optparse))
1318 1350
 $(eval $(call BuildPackage,ruby-patterns))
1351
+$(eval $(call BuildPackage,ruby-powerassert))
1319 1352
 $(eval $(call BuildPackage,ruby-prettyprint))
1320 1353
 $(eval $(call BuildPackage,ruby-pstore))
1321 1354
 $(eval $(call BuildPackage,ruby-psych))
@@ -1332,6 +1365,7 @@ $(eval $(call BuildPackage,ruby-sdbm))
1332 1365
 $(eval $(call BuildPackage,ruby-shell))
1333 1366
 $(eval $(call BuildPackage,ruby-socket))
1334 1367
 $(eval $(call BuildPackage,ruby-testunit))
1368
+$(eval $(call BuildPackage,ruby-unicodenormalize))
1335 1369
 $(eval $(call BuildPackage,ruby-uri))
1336 1370
 $(eval $(call BuildPackage,ruby-webrick))
1337 1371
 $(eval $(call BuildPackage,ruby-xmlrpc))

+ 4
- 0
lang/ruby/patches/001-rdoc-remove_gems_dep.patch 查看文件

@@ -1,3 +1,7 @@
1
+References:
2
+
3
+https://github.com/rdoc/rdoc/pull/340
4
+
1 5
 --- ruby-2.1.2.orig/lib/rdoc.rb	2014-09-02 17:14:28.719224215 -0300
2 6
 +++ ruby-2.1.2/lib/rdoc.rb	2014-09-02 17:14:28.762223911 -0300
3 7
 @@ -109,6 +109,8 @@

+ 0
- 13
lang/ruby/patches/002-minitest-remove_gems_dep.patch 查看文件

@@ -1,13 +0,0 @@
1
---- ruby-2.1.2.orig/lib/minitest/autorun.rb	2014-09-03 02:22:29.769909573 -0300
2
-+++ ruby-2.1.2/lib/minitest/autorun.rb	2014-09-03 02:22:29.768909580 -0300
3
-@@ -6,8 +6,9 @@
4
- ######################################################################
5
- 
6
- begin
7
--  require 'rubygems'
8
-   gem 'minitest'
9
-+rescue NameError => e # --disable-gems
10
-+  raise unless e.name == :gem
11
- rescue Gem::LoadError
12
-   # do nothing
13
- end

+ 0
- 12
lang/ruby/patches/003-digest_rmd160_wrong_name_fix.patch 查看文件

@@ -1,12 +0,0 @@
1
-diff -r -u ruby-2.1.2.old/ext/digest/rmd160/extconf.rb ruby-2.1.2/ext/digest/rmd160/extconf.rb
2
---- ruby-2.1.2.old/ext/digest/rmd160/extconf.rb	2012-11-26 22:58:52.000000000 -0200
3
-+++ ruby-2.1.2/ext/digest/rmd160/extconf.rb	2014-09-17 14:20:57.537367488 -0300
4
-@@ -14,7 +14,7 @@
5
- require File.expand_path('../../../openssl/deprecation', __FILE__)
6
- 
7
- if !with_config("bundled-rmd160") &&
8
--    have_library("crypto") && OpenSSL.check_func("RMD160_Transform", "openssl/ripemd.h")
9
-+    have_library("crypto") && OpenSSL.check_func("RIPEMD160_Transform", "openssl/ripemd.h")
10
-   $objs << "rmd160ossl.#{$OBJEXT}"
11
- else
12
-   $objs << "rmd160.#{$OBJEXT}"

+ 0
- 117
lang/ruby/patches/004-digest_dont-link-ssl-if-not-needed.patch 查看文件

@@ -1,117 +0,0 @@
1
---- ruby-2.1.2/ext/digest/md5/extconf.rb	2012-11-26 22:58:52.000000000 -0200
2
-+++ ruby-2.1.2/ext/digest/md5/extconf.rb	2014-09-16 19:25:21.120457409 -0300
3
-@@ -9,14 +9,21 @@
4
- 
5
- $objs = [ "md5init.#{$OBJEXT}" ]
6
- 
7
--dir_config("openssl")
8
--pkg_config("openssl")
9
--require File.expand_path('../../../openssl/deprecation', __FILE__)
10
-+if !with_config("bundled-md5")
11
-+  dir_config("openssl")
12
-+  pkg_config("openssl")
13
-+  require File.expand_path('../../../openssl/deprecation', __FILE__)
14
-+  if have_library("crypto") && OpenSSL.check_func("MD5_Transform", "openssl/md5.h")
15
-+    $use_bundled=false
16
-+  else
17
-+    $use_bundled=true
18
-+  end
19
-+else
20
-+  $use_bundled=true
21
-+end
22
- 
23
--if !with_config("bundled-md5") &&
24
--    have_library("crypto") && OpenSSL.check_func("MD5_Transform", "openssl/md5.h")
25
-+if !$use_bundled
26
-   $objs << "md5ossl.#{$OBJEXT}"
27
--
28
- else
29
-   $objs << "md5.#{$OBJEXT}"
30
- end
31
---- ruby-2.1.2/ext/digest/rmd160/extconf.rb	2012-11-26 22:58:52.000000000 -0200
32
-+++ ruby-2.1.2/ext/digest/rmd160/extconf.rb	2014-09-16 19:29:11.425628541 -0300
33
-@@ -9,12 +9,20 @@
34
- 
35
- $objs = [ "rmd160init.#{$OBJEXT}" ]
36
- 
37
--dir_config("openssl")
38
--pkg_config("openssl")
39
--require File.expand_path('../../../openssl/deprecation', __FILE__)
40
-+if !with_config("bundled-rmd160")
41
-+  dir_config("openssl")
42
-+  pkg_config("openssl")
43
-+  require File.expand_path('../../../openssl/deprecation', __FILE__)
44
-+  if have_library("crypto") && OpenSSL.check_func("RIPEMD160_Transform", "openssl/ripemd.h")
45
-+    $use_bundled=false
46
-+  else
47
-+    $use_bundled=true
48
-+  end
49
-+else
50
-+  $use_bundled=true
51
-+end
52
- 
53
--if !with_config("bundled-rmd160") &&
54
--    have_library("crypto") && OpenSSL.check_func("RIPEMD160_Transform", "openssl/ripemd.h")
55
-+if !$use_bundled
56
-   $objs << "rmd160ossl.#{$OBJEXT}"
57
- else
58
-   $objs << "rmd160.#{$OBJEXT}"
59
---- ruby-2.1.2/ext/digest/sha1/extconf.rb	2012-11-26 22:58:52.000000000 -0200
60
-+++ ruby-2.1.2/ext/digest/sha1/extconf.rb	2014-09-16 19:30:09.359168494 -0300
61
-@@ -9,12 +9,20 @@
62
- 
63
- $objs = [ "sha1init.#{$OBJEXT}" ]
64
- 
65
--dir_config("openssl")
66
--pkg_config("openssl")
67
--require File.expand_path('../../../openssl/deprecation', __FILE__)
68
-+if !with_config("bundled-sha1")
69
-+  dir_config("openssl")
70
-+  pkg_config("openssl")
71
-+  require File.expand_path('../../../openssl/deprecation', __FILE__)
72
-+  if have_library("crypto") && OpenSSL.check_func("SHA1_Transform", "openssl/sha.h")
73
-+    $use_bundled=false
74
-+  else
75
-+    $use_bundled=true
76
-+  end
77
-+else
78
-+  $use_bundled=true
79
-+end
80
- 
81
--if !with_config("bundled-sha1") &&
82
--    have_library("crypto") && OpenSSL.check_func("SHA1_Transform", "openssl/sha.h")
83
-+if !$use_bundled
84
-   $objs << "sha1ossl.#{$OBJEXT}"
85
- else
86
-   $objs << "sha1.#{$OBJEXT}"
87
---- ruby-2.1.2/ext/digest/sha2/extconf.rb	2012-11-26 22:58:52.000000000 -0200
88
-+++ ruby-2.1.2/ext/digest/sha2/extconf.rb	2014-09-16 19:31:31.833513570 -0300
89
-@@ -9,14 +9,22 @@
90
- 
91
- $objs = [ "sha2init.#{$OBJEXT}" ]
92
- 
93
--dir_config("openssl")
94
--pkg_config("openssl")
95
--require File.expand_path('../../../openssl/deprecation', __FILE__)
96
--
97
--if !with_config("bundled-sha2") &&
98
--    have_library("crypto") &&
99
-+if !with_config("bundled-sha2")
100
-+  dir_config("openssl")
101
-+  pkg_config("openssl")
102
-+  require File.expand_path('../../../openssl/deprecation', __FILE__)
103
-+  if have_library("crypto") &&
104
-     %w[SHA256 SHA512].all? {|d| OpenSSL.check_func("#{d}_Transform", "openssl/sha.h")} &&
105
-     %w[SHA256 SHA512].all? {|d| have_type("#{d}_CTX", "openssl/sha.h")}
106
-+    $use_bundled=false
107
-+  else
108
-+    $use_bundled=true
109
-+  end
110
-+else
111
-+  $use_bundled=true
112
-+end
113
-+
114
-+if !$use_bundled
115
-   $objs << "sha2ossl.#{$OBJEXT}"
116
-   $defs << "-DSHA2_USE_OPENSSL"
117
- else

+ 16
- 11
lang/ruby/ruby_find_pkgsdeps 查看文件

@@ -24,7 +24,7 @@ require_regex_ignore=/^require ([a-zA-Z\$]|["']$|.*\/$)/
24 24
 require_ignore=%w{drb/invokemethod16 foo rubygems/defaults/operating_system win32console java Win32API
25 25
                   builder/xchar json/pure simplecov win32/sspi rdoc/markdown/literals_1_8 enumerator win32/resolv rbtree
26 26
                   nqxml/streamingparser nqxml/treeparser xmlscan/parser xmlscan/scanner xmltreebuilder xml/parser xmlparser xml/encoding-ja xmlencoding-ja
27
-                  iconv uconv}
27
+                  iconv uconv win32ole gettext/po_parser gettext/mo libxml}
28 28
 
29 29
 builtin_enc=[
30 30
 	Encoding.find("ASCII-8BIT"),
@@ -124,22 +124,23 @@ package_requires = Hash[packages.collect { |pkg| [pkg, package_files[pkg].collec
124 124
 
125 125
 weak_dependency=Hash.new([])
126 126
 weak_dependency.merge!({
127
-"ruby-misc"=>["ruby-openssl"], 					#securerandom.rb
127
+"ruby-misc"=>["ruby-openssl","ruby-fiddle"],			#securerandom.rb
128 128
 "ruby-debuglib"=>["ruby-readline"],				#debug.rb
129 129
 "ruby-drb"=>["ruby-openssl"],				 	#drb/ssl.rb
130 130
 "ruby-irb"=>["ruby-rdoc", "ruby-readline"],		 	#irb/cmd/help.rb
131
-"ruby-gems"=>["ruby-openssl","ruby-io-console", 		#rubygems/commands/cert_command.rb rubygems/user_interaction.rb
132
-	      "ruby-minitest", "ruby-webrick"],			#rubygems/test_case.rb rubygems/server.rb
131
+"ruby-gems"=>["ruby-openssl","ruby-io-console","ruby-webrick"], #rubygems/commands/cert_command.rb rubygems/user_interaction.rb rubygems/server.rb
133 132
 "ruby-mkmf"=>["ruby-webrick"], 					#un.rb
134 133
 "ruby-net"=>["ruby-openssl","ruby-io-console","ruby-zlib"], 	#net/*.rb
135 134
 "ruby-optparse"=>["ruby-uri","ruby-datetime"],			#optparse/date.rb optparse/uri.rb
136
-"ruby-rake"=>["ruby-net","ruby-testunit","ruby-gems"],		#rake/contrib/ftptools.rb rake/runtest.rb /usr/bin/rake
137
-"ruby-rdoc"=>["ruby-gems","ruby-readline","ruby-webrick",
138
-	      "ruby-minitest"],					#/usr/bin/rdoc and others
139
-"ruby-testunit"=>["ruby-gems", "ruby-io-console"],		#test/unit/parallel.rb test/unit.rb
135
+"ruby-rake"=>["ruby-net","ruby-gems"],				#rake/contrib/ftptools.rb /usr/bin/rake
136
+"ruby-rdoc"=>["ruby-gems","ruby-readline","ruby-webrick",	#/usr/bin/rdoc and others
137
+	       "ruby-io-console"],				#rdoc/stats/normal.rb
140 138
 "ruby-webrick"=>["ruby-openssl"],				#webrick/ssl.rb
141 139
 })
142 140
 
141
+puts "Preloading gems..."
142
+Gem::Specification.all.each{ |x| gem x.name }
143
+
143 144
 puts "Looking for package dependencies..."
144 145
 package_provides = {}
145 146
 package_dependencies = Hash.new([])
@@ -153,7 +154,7 @@ package_requires.each do
153 154
 		else
154 155
 			found = package_files.detect {|(pkg,files)| files.detect {|file| $:.detect {|path| "#{path}/#{require}" == file.gsub(/\.(so|rb)$/,"") } } }
155 156
 			if not found
156
-				$stderr.puts "#{pkg}: Nobody provides #{require}"
157
+				$stderr.puts "#{pkg}: Nothing provides #{require}"
157 158
 				failed = true
158 159
 				next
159 160
 			end
@@ -168,7 +169,11 @@ package_requires.each do
168 169
 		end
169 170
 	end
170 171
 end
171
-exit(1) if failed
172
+if failed
173
+	puts "There is some missing requirements not mapped to files in packages."
174
+	puts "Please, fix the missing files or ignore them on require_ignore var"
175
+	exit(1)
176
+end
172 177
 
173 178
 package_dependencies.each do
174 179
         |(pkg,deps)|
@@ -240,7 +245,7 @@ package_dependencies.each do
240 245
 	extra_dep = current_deps - deps
241 246
 	$stderr.puts "Package #{pkg} does not need to depend on #{extra_dep.join(" ")} " if not extra_dep.empty?
242 247
 	missing_dep = deps - current_deps
243
-	$stderr.puts "Package #{pkg} need to depend on #{missing_dep.join(" ")} " if not missing_dep.empty?
248
+	$stderr.puts "Package #{pkg} needs to depend on #{missing_dep.join(" ")} " if not missing_dep.empty?
244 249
 
245 250
 	if not extra_dep.empty? or not missing_dep.empty?
246 251
 		$stderr.puts "define Package/#{pkg}"