Fixed some C/C++ compiler errors due to stricter checks.
[rubinius.git] / rakelib / package.rake
blob5ae71090dbacb78dd693202edb98b4df4699dc29
1 require 'rakelib/release'
2 require 'rakelib/package'
3 require 'date'
6 namespace :package do
8   desc "Create a release tarball from the source"
9   task :tar do
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
18   end
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"]
28     )
30     pkg.build
31   end
33   desc "Build a general Unix/Linux binary package"
34   task :binary do
35     sh "rake package:binary_builder"
36   end
38   desc "Build a general Linux Heroku binary package"
39   task :heroku do
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}"
44   end
46   desc "Build a binary package for Homebrew"
47   task :homebrew do
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}"
61   end
62 end