Commit graph

221 commits

Author SHA1 Message Date
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: 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

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
Nobuyoshi Nakada
1f1b62fb7b
Added install-dbg
Scripts to run the interpreter via debugger.
2020-06-13 08:22:06 +09:00
Jeremy Evans
e0b40ef5d8 Don't convert bundler man pages from mdoc to man
These man pages are already in man format and assuming they are
mdoc format breaks things.

Fixes [Bug #16823]
2020-05-27 07:47:50 +09:00
Nobuyoshi Nakada
3333d02357
rbinstall.rb: get rid of installing duplicate files
Should not overwrite ext/rubyvm/lib/forwardable/impl.rb by
lib/forwardable/impl.rb.
2020-05-09 01:22:16 +09:00