1 require 'rakelib/release'
2 require 'rakelib/package'
8 desc "Create a release tarball from the source"
10 archive = "rubinius-#{rbx_version}.tar.bz2"
11 sh "rm -rf #{archive}"
13 files = "{ git ls-files; ls .revision; ls rubinius-codedb-cache.bz2*; ls build/libraries/cache/*.gem; }"
14 prefix = "-s '|^|rubinius-#{rbx_version}/|'"
15 sh "#{files} | sort | uniq | tar -c #{prefix} -T - -f - | bzip2 > #{archive}"
17 write_sha512_digest_file archive
20 task :binary_builder do
21 pkg = RubiniusPackager.new(
22 :prefix => ENV["RBX_BINARY_PREFIX"],
23 :root => ENV["RBX_BINARY_ROOT"],
24 :bin => ENV["RBX_BINARY_BIN"],
25 :config => ENV["RBX_BINARY_CONFIG"],
26 :archive => ENV["RBX_BINARY_ARCHIVE"],
27 :package => ENV["RBX_BINARY_PACKAGE"]
33 desc "Build a general Unix/Linux binary package"
35 sh "rake package:binary_builder"
38 desc "Build a general Linux Heroku binary package"
40 heroku_package = "ruby-#{BUILD_CONFIG[:ruby_version]}-rbx-#{rbx_version}"
42 sh "rake package:binary_builder RBX_BINARY_PACKAGE=#{heroku_package} " \
43 "RBX_BINARY_PREFIX=/app/vendor/#{heroku_package}"
46 desc "Build a binary package for Homebrew"
48 ENV["LDFLAGS"] = "-Wl,-macosx_version_min,10.8"
49 homebrew_package = "rubinius-#{rbx_version}"
50 prefix = "/#{homebrew_package}"
51 lib = "lib/rubinius/#{rbx_version}"
52 config = "'--with-include-dir=#{ENV["OPENSSL_DIR"]}/include " \
53 "--with-lib-dir=#{ENV["OPENSSL_DIR"]}/lib " \
54 "--bindir=#{prefix}/bin --appdir=#{prefix}/#{lib} " \
55 "--includedir=#{prefix}/include/rubinius " \
56 "--gemsdir=#{prefix}/#{lib}/gems " \
57 "--mandir=#{prefix}/man'"
59 sh "rake package:binary_builder RBX_BINARY_PACKAGE=#{homebrew_package} " \
60 "RBX_BINARY_CONFIG=#{config}"