Commit graph

535 commits

Author SHA1 Message Date
Mislav Marohnić
64726421f9 ruby-build 20131028 2013-10-28 01:17:20 +01:00
Mislav Marohnić
7c12833fef Update CHANGELOG 2013-10-28 01:17:08 +01:00
Mislav Marohnić
8270aaa383 Merge branch 'tmpdir-noexec' 2013-10-28 00:59:48 +01:00
Mislav Marohnić
00fcf8b504 Bash here-document doesn't work with non-executable TMPDIR
Fixes https://travis-ci.org/sstephenson/ruby-build/builds/13131225
2013-10-28 00:55:35 +01:00
Mislav Marohnić
d9cd8a1ae3 Abort early if TMPDIR is non-writable or non-executable
Fixes #148
2013-10-28 00:44:15 +01:00
Mislav Marohnić
1173e8c095 Merge branch 'auto-tcltk' 2013-10-28 00:27:02 +01:00
Mislav Marohnić
d13ae0ad52 Enable compiling Ruby 1.8 on OS X 10.8+ without extra flags
Because OS X Mountain Lion removed X Windows, compiling Ruby 1.8 would
fail unless the user installed XQuartz manually and passed:

    CPPFLAGS=-I/opt/X11/include rbenv install 1.8.7-p374

This auto-detects if `/opt/X11/include` is present on the system and
configures CPPFLAGS accordingly. However if XQuartz was never installed,
we simply configure Ruby using `--without-tk`.

Fixes #193 #207

References 353246926c
2013-10-28 00:25:02 +01:00
Mislav Marohnić
805051fbdc Merge branch 'num-cpu-cores' 2013-10-27 22:36:24 +01:00
Mislav Marohnić
6c08c56d3a Detect number of CPU cores used for make
Alt. implementation of #401, #434
2013-10-27 22:24:12 +01:00
Mislav Marohnić
50bf60f9c2 Really fix installing Ruby 2.1.0 from trunk
The problem wasn't in quoting as per 0b5206172, but in the fact that
Ruby trunk added a LDFLAGS checker that aborts if any of the paths
listed in it are missing:
3636f8c0f5

This is probably a bug in Ruby, but for now a simple workaround is to
iterate through paths in LDFLAGS and ensure they exist.

References #441
2013-10-27 21:32:18 +01:00
SHIBATA Hiroshi
0b52061728 Fix installing Ruby 2.1.0 from trunk
Stop quoting in LDFLAGS and CPPFLAGS. Ruby trunk chokes on it:
3636f8c0f5

Closes #441
2013-10-27 20:42:50 +01:00
Mislav Marohnić
de409790d2 Merge branch 'provide-bundle-rake' 2013-10-26 18:35:10 +02:00
Mislav Marohnić
9a2c45bab6 Add ability to debug stub calls in testing
Example:

        export RAKE_STUB_DEBUG=2
2013-10-26 18:29:36 +02:00
Mislav Marohnić
51000d5e56 Add test for automatic fetching of rake gem 2013-10-26 18:28:53 +02:00
Mislav Marohnić
a6847fdd62 Reduce boilerplate in tests 2013-10-26 17:49:43 +02:00
Mislav Marohnić
c1f506dfd6 Fix unstub cleanup process for failed stubs 2013-10-26 17:43:54 +02:00
Mislav Marohnić
9aab127f75 Install Rake and Bundler in isolation when missing
Some Rubies need Rake or Bundler for the installation process. However,
since the host Ruby version might not have those gems installed, install
them in a temporary GEM_HOME and add their executables to PATH.

Fixes #426
2013-10-26 17:39:55 +02:00
Mislav Marohnić
730a8164d5 Use rake from the current bundle for Rubinius
Rake might not be available on the system, but if there is a Gemfile,
assume that it bundles rake.
2013-10-26 15:48:25 +02:00
Mislav Marohnić
eaa187b4b7 Fix installer script changing into current directory
Fixes #440
2013-10-26 14:45:02 +02:00
Mislav Marohnić
5930aa29c0 Merge branch 'copy-recursive' 2013-10-26 08:47:38 +02:00
Mislav Marohnić
f27c561388 Recursive copying fixes and tests
Use the `cp -f` flag to force unlinking non-writable files.

Closes #384
2013-10-26 08:20:44 +02:00
Jeremy Stephens
273bc17fe7 Force copying files for mruby
When installing mruby-dev, the cp command doesn't use the force flag.
This causes an issue when using a custom build configuration (via
MRUBY_CONFIG environment variable) and installing mrbgems from Github,
as the pack files in the git repositories are read-only.
2013-10-26 08:05:06 +02:00
Mislav Marohnić
c1bd4134a9 Merge branch 'failed-download' 2013-10-26 06:45:34 +02:00
Mislav Marohnić
51d8e5125c Prefer control flow to chaining grouped expressions
Helps avoid the pitfall where ERR trap has no effect.
See 262eb1658c
2013-10-26 06:43:54 +02:00
Mislav Marohnić
262eb1658c Clearer error message when HTTP download fails
Previously, if `http get` failed, the `download_tarball` function would
still continue since the ERR trap had no effect at that point.

Given a script in the form of `{ ... } || return 1`, the expressions
that are the part of the first group are not subject to ERR trap since
they are non-last in a chain of expressions.

However, since we still can't count on the ERR trap taking effect in
this phase, better just rewrite the function to manually abort.

Fixes #394
2013-10-26 06:32:03 +02:00
Mislav Marohnić
85f5470956 Disable Travis email for new branches that are passing 2013-10-26 05:51:17 +02:00
Mislav Marohnić
c23b50414b Merge branch 'freebsd-make' 2013-10-26 05:49:29 +02:00
Mislav Marohnić
da840a82a1 Add test for FreeBSD gmake
Closes #293
2013-10-26 05:47:39 +02:00
Fabian M. Borschel
e466bfeab0 Set default MAKE=gmake on FreeBSD 2013-10-26 05:33:57 +02:00
Mislav Marohnić
cb1128ca5d Merge branch 'relative-paths' 2013-10-26 05:27:17 +02:00
Mislav Marohnić
b37427b688 Support relative path as install prefix
Fixes #110
2013-10-26 05:24:25 +02:00
Mislav Marohnić
dc054d30bf Simplify fetching tarballs in build tests
- use cache path feature to skip HTTP fetch atogether
- unified build.log
2013-10-26 05:08:19 +02:00
Mislav Marohnić
d35349e8c6 Merge branch 'better-installer' 2013-10-26 03:09:35 +02:00
Mislav Marohnić
60e575ae67 Improve installer script
* Shorter.
* Preserve timestamps and permissions.
* Overwrite existing files.
2013-10-26 02:21:46 +02:00
Mislav Marohnić
719f8832a3 Allow running install.sh from outside of project's root
`cd` into project's root on every invocation.

Fixes #243
2013-10-26 00:46:02 +02:00
Mislav Marohnić
5a68586740 Remove non-portable ln -h flag
Works on OS X but fails on CI.
2013-10-25 04:21:34 +02:00
Mislav Marohnić
899db671cf Merge branch 'docwhat-homebrew-yaml'
Use Homebrew libyaml if available.

Closes #381
2013-10-25 04:18:37 +02:00
Mislav Marohnić
c7851c5123 Add tests for Homebrew libyaml integration 2013-10-25 04:17:53 +02:00
Mislav Marohnić
892ac95943 Prevent glob expansion in stub patterns
When stub patterns were broken down into an array, they were
accidentally subject to glob expansion. E.g., a pattern '*' might expand
to whatever is in the current directory. This is unwanted, as we need to
preserve patterns as-is.
2013-10-25 04:14:13 +02:00
Mislav Marohnić
5b6700cbf9 Simplify stubbing commands in tests
No more awkward juggling of PATH entries and preset stubs in version
control. Commands are stubbed by symlinking the main stub from a
temporary `$TMP/bin` directory that's added once to PATH in tests.
2013-10-25 02:01:50 +02:00
Mislav Marohnić
136294ab2e Have Rubinius 2 use libyaml from Homebrew if available 2013-10-24 22:32:04 +02:00
Mislav Marohnić
42aa6ccfcc Merge master into docwhat-homebrew-yaml
Conflicts:
	share/ruby-build/1.9.1-p378
	share/ruby-build/1.9.1-p430
	share/ruby-build/1.9.2-p0
	share/ruby-build/1.9.2-p180
	share/ruby-build/1.9.2-p290
	share/ruby-build/1.9.2-p318
	share/ruby-build/1.9.2-p320
	share/ruby-build/1.9.3-p0
	share/ruby-build/1.9.3-p125
	share/ruby-build/1.9.3-p194
	share/ruby-build/1.9.3-p286
	share/ruby-build/1.9.3-p327
	share/ruby-build/1.9.3-p362
	share/ruby-build/1.9.3-p374
	share/ruby-build/1.9.3-p385
	share/ruby-build/1.9.3-p392
	share/ruby-build/1.9.3-p429
	share/ruby-build/1.9.3-p448
	share/ruby-build/1.9.3-preview1
	share/ruby-build/1.9.3-rc1
	share/ruby-build/2.0.0-preview1
2013-10-24 22:28:57 +02:00
Mislav Marohnić
cd499e2c03 Merge pull request #438 from sstephenson/travis-mirroring
Keep mirror up-to-date using Travis CI
2013-10-24 12:56:12 -07:00
Mislav Marohnić
08b3f2c8d3 Fix detecting changed definitions in mirror script
Grep mustn't get invoked with 0 parameters, otherwise it will hang
waiting on stdin.
2013-10-24 17:57:52 +02:00
Mislav Marohnić
4817d20938 Keep mirror up-to-date using Travis CI
When new Ruby definitions get added, our current CloudFront mirror may
get out of date. This adds a task to the CI process that detects
added/changed package URLs and uploads them to our S3 bucket.

Fixes #392, references #395
2013-10-24 17:44:41 +02:00
Erik Michaels-Ober
59df40be9e ruby-build 20131024 2013-10-24 06:51:38 -07:00
Mislav Marohnić
2200480ef3 configure Travis CI 2013-10-24 02:56:06 +02:00
Mislav Marohnić
a9a274e624 Fix broken test suite
Fixes breakage caused by curl arguments change in
d0912e4fb5
2013-10-24 00:32:55 +02:00
Mislav Marohnić
9f77dfc4d5 Merge pull request #433 from sstephenson/rbx-fix
Fix Rubinius gem binstubs path
2013-10-23 07:39:30 -07:00
Mislav Marohnić
f859d9a3b4 Fix Rubinius 2.1.x on Linux by supporting bz2 archives
`tar` on OS X auto-detects the type of compression used, so it doesn't
care whether `-z` or `-j` flags were passed to it for extraction.
However, since latest Rubinius archives are compressed with bzip2, we
must handle this distinction explicitly for the sake of other platforms.

fixes #470
2013-10-23 16:27:49 +02:00