Граф коммитов

224 Коммитов

Автор SHA1 Сообщение Дата
Nobuyoshi Nakada 03f5db01e6
Make installation messages verbose a little [ci skip] 2023-01-18 23:55:25 +09:00
Nobuyoshi Nakada 612aa5c24a
Use class methods of `File` over `Kernel.open` and `IO.read` 2022-11-21 22:16:49 +09:00
Nobuyoshi Nakada 247d598477
Install all file trees for lldb [ci skip]
It is no longer single lldb_cruby.py only.
2022-09-28 21:27:42 +09:00
Nobuyoshi Nakada ac890ec062
Make date in installed gemspec files stable
Set `date` member to `RUBY_RELEASE_DATE` instead of the date at the
build time, to make installed files reproducible.
2022-08-17 00:58:56 +09:00
Nobuyoshi Nakada cc443f6cde
Refactor `RbInstall::Specs::FileCollector`
- Split into `Ext` and `Lib` classes.
- `Ext#files` should not include built extension libraries.
- `Ext#files` should include scripts under its own `lib`.
- `Lib#files` should be prefixed with `lib/`.
2022-08-17 00:58:56 +09:00
Nobuyoshi Nakada a3a6d2d9a3 No bundled gems to be installed from gem now 2022-08-12 15:55:40 +09:00
Nobuyoshi Nakada 04815ea968 All extensions in bundled gems are built by build-ext now
`RbInstall::GemInstaller#build_extensions` has nothing to do.
2022-08-12 15:55:40 +09:00
Nobuyoshi Nakada 0bb5525eb2
Fix files for gemspec files direct-under lib
Collected `files` lacked `lib` prefix.
2022-08-07 17:01:22 +09:00
Nobuyoshi Nakada 416cba90c1 Try to install also gemspec files under gem directories
Gemspec files having extension libraries are placed under each gem
directories now.
2022-07-14 09:00:13 +09:00
Kazuhiro NISHIYAMA 2d1032075a
Stop `build_extensions` when DESTDIR set
Try to fix `make install without root privilege` failures on snapshot CIs.

example: https://github.com/ruby/actions/actions/runs/2315349280
2022-05-13 08:44:17 +09:00
Alan Wu 79fa27acc4 rbinstall: Also do `Gem.ruby` patching for unpacked bundled gems
Pointing `Gem.ruby` to the newly installed ruby gives mkmf the right
inputs to build extensions in bundled gems. Previously, this patching
was only done for compressed bundled gems.

This patch also prevents `tool/fake.rb` from propagating to the child
process running mkmf for the native extension. The way `tool/fake.rb`
changes mkmf variables using `Kernel#trace_var` created spooky action at
a distance which made debugging difficult.

AppVeyor Windows CI started to fail starting with
8a3663789c because it enabled extension
building for bundled gems on mswin. This patch should address the CI
failures.
2022-04-22 16:21:48 -04:00
Nobuyoshi Nakada 8a3663789c
Fix bundled gems installation when relative loading 2022-04-16 09:03:51 +09:00
Kazuhiro NISHIYAMA 7e4ac434b9
Skip build extensions again on cross compiling too 2022-04-13 14:40:24 +09:00
Kazuhiro NISHIYAMA 3112475469
Skip build extensions again on mswin and mingw 2022-04-13 13:40:57 +09:00
Kazuhiro NISHIYAMA 4246e102d4
Enabled to build extensions with the bundled gems again
cbb115213c
5c1b76a3a5
2022-04-13 11:09:23 +09:00
Nobuyoshi Nakada 5c1b76a3a5 Install built gem extension binaries 2022-04-07 09:47:10 +09:00
Yuta Saito e554b17c60 tool/rbinstall.rb: instal ruby.wasm produced by Emscripten 2022-01-06 18:14:24 +09:00
Yuta Saito 3c7e95966d rbinstall.rb: install ext only when it's configured [Bug #18414] 2021-12-21 15:14:54 +09:00
Nobuyoshi Nakada c57ac4c6e0 Fix location of extensions in bundled gems when static-linked-ext
Install bundled gem extension files to the gem extension directory
under DESTDIR, when static-linked-ext as well as non-static case.
2021-12-21 02:01:57 +09:00
Yuta Saito f1a02ebfb9 Install gemspec even though no .rb and no .so
When building with --with-static-linked-ext, some exts without rb file
doesn't produce neither .so or .rb under .ext/common. Therefore, change
rbinstall.rb to install gemspec even if there is no .so or .rb for that
case.
2021-12-16 16:17:41 +09:00
Alan Wu 3d19c2900e No need to link and install .pdb anymore
With /Z7, no .pdb file is generated, so trying to link it during build
fails on my machine even though it's okay on CI.

By the way, in my local testing, no .pdb is generated in cwd at runtime
even without the /Fd option. I guess we can pass it just in case.
2021-11-24 23:45:57 +09:00
Yusuke Endoh 30886be9f4 Skip bundled gem with an extension library under with-static-linked-ext
.. mainly to fix emscripten CI

http://rubyci.s3.amazonaws.com/crossruby/crossruby-master-wasm64_emscripten/log/20211104T024621Z.fail.html.gz
2021-11-05 09:34:46 +09:00
Nobuyoshi Nakada 99c60d4b25 Get rid of exponential backtracks found by CodeQL
Since these regexps are used at build/installation, they are not
vulnerabilities.
2021-10-30 02:22:42 +09:00
Koichi Sasada bc96a45f12 introduce debug.gem
For the `test-bundled-gems`, make `debug.so` with extconf.rb and
`make` command directly because `rake-compiler` assume ruby is
installed (but `test-bundled-gems` can run without installation).
2021-10-05 02:07:33 +09:00
Hiroshi SHIBATA cbb115213c Enabled to build extensions with the bundled gems 2021-10-05 02:07:33 +09:00
Nobuyoshi Nakada 44b2e32fb6
Fix a typo 2021-10-04 20:44:38 +09:00
Nobuyoshi Nakada 0b9242ffac
[Misc #18153] Install debug symbol files/directories by the option 2021-09-08 18:51:49 +09:00
Nobuyoshi Nakada d6cf4c0c99
rbinstall.rb: just call File.basename directly 2021-07-08 17:58:25 +09:00
Nobuyoshi Nakada 9c9531950c
rbinstall.rb: get rid of making directories when dryrun 2021-07-01 06:42:00 +09:00
Nobuyoshi Nakada 9edad0df74
Remove short options with argument [Bug #17870]
Remove GNU make `-O` and `-W` options which are short but followed
by an argument, so that `$mflags.set?(?n)` does not return `true`
wrongly.
2021-05-21 10:34:28 +09:00
Hiroshi SHIBATA 93420d34aa
Added the specific files to the default gems like net-http and optparse 2021-04-19 18:19:09 +09:00
Hiroshi SHIBATA 5d710d7e41
Fix the wrong file detection for net-*.gemspec
[Bug #17476][ruby-core:101724]
2021-04-19 13:44:38 +09:00
Nobuyoshi Nakada 26888d5e03
Workaround for installation failures on macOS 2021-04-15 18:07:23 +09:00
Nobuyoshi Nakada 6c7d39aabe
rbinstall.rb: record default gem files 2021-04-10 12:41:36 +09:00
Nobuyoshi Nakada af8ac97fcc
rbinstall.rb: append "/" to directory names 2021-04-10 11:59:09 +09:00
Nobuyoshi Nakada 0dad341006
Directory mapping for default gems
To uniform directory structures, sometimes files are gathered in
different directory than the upstreams, executable files in
`libexec` for instance.  Re-map these files to consistent with the
upstreams.
2021-02-14 17:41:26 +09:00
Nobuyoshi Nakada 504d6dc429
Revert following rbinstall.rb changes
Because unexpected names are listed in gemspec files.

* "Fix gemspec only case"
  fc56b96b09

* "Refined installation of gemspecs placed other than ext and lib"
  31f4dec637
2021-02-14 16:57:08 +09:00
Vít Ondruch 763b8fed3d
Use UnpackedInstaller to install default gems.
Use UnpackedInstaller for installation of default gems similarly it is
already used to install bundled gems.

This allows to reuse RubyGems functionality instead of custom code full
of exceptions.
2021-02-14 14:09:05 +09:00
Nobuyoshi Nakada fc56b96b09
Fix gemspec only case 2021-02-14 13:20:22 +09:00
Nobuyoshi Nakada 31f4dec637
Refined installation of gemspecs placed other than ext and lib 2021-02-14 11:05:23 +09:00
Nobuyoshi Nakada 8544f51ef7
Comment in sh needs to be the beginning of a word 2021-02-11 22:18:11 +09:00
Nobuyoshi Nakada 05e1d87e62
rbinstall.rb: do not install useless files after installed 2020-12-07 23:57:31 +09:00
Nobuyoshi Nakada 91f831ac17
Extract gemspec to versioned file
Not to be overwritten by test-bundler-prepare.  gem files often
contain useless gemspec files which have not been processed.
2020-12-07 23:47:37 +09:00
Nobuyoshi Nakada e025113d71
rbinstall.rb: relaxed split argument
did_you_mean splits the output by `$/`.
2020-12-07 22:40:46 +09:00
Nobuyoshi Nakada 5894ea5954
rbinstall.rb: fix the position to expand files
As `spec.files` is used for `executables` and so on, the expanded
list needs to be located at the same place.
2020-12-07 22:38:09 +09:00
Nobuyoshi Nakada 29dee10af2
rbinstall.rb: install files expanded from bundled gems
Although gemspec file (e.g., power_assert and rake) often uses
`git ls-files`, as it does not make sense in other than its own
repository, it has been ignored now.  Gather all files expanded
from the bundled gem to install, instead.
2020-12-07 19:09:23 +09:00
Nobuyoshi Nakada 0d78390bfb
rbinstall.rb: OpenStruct has not been needed for years
Since 6f3e8df133 in 2014.
2020-09-11 13:26:20 +09:00
Nobuyoshi Nakada f79dc8741f
rbinstall.rb: fix generated script name to set mode 2020-07-29 23:02:33 +09:00
Nobuyoshi Nakada f0affcdbf6
rbinstall.rb: fix dry-run mode 2020-07-29 22:47:00 +09:00
Nobuyoshi Nakada 358f91bf6f
Skip comment and empty lines in gems/bundled_gems file 2020-07-05 18:59:06 +09:00