Skip to content

Commit eca3feb

Browse files
committed
Use rubygems-requirements-system to install system dependencies automatically
It's a successor product of native-package-installer. See also: * https://github.com/ruby-gnome/rubygems-requirements-system/ * https://github.com/ruby-gnome/native-package-installer It uses `requirements` in gemspec instead of installing system dependencies manually that is used approach by native-package-installer. It uses opt-in style. So users need to enable it explicitly by `gem install rubygems-requirements-system` or `plugin "rubygems-requirements-system"` in `Gemfile`.
1 parent 41bd34f commit eca3feb

File tree

5 files changed

+20
-36
lines changed

5 files changed

+20
-36
lines changed

.github/workflows/ci.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ jobs:
7070
7171
- name: Install IRuby gem
7272
run: |
73-
sudo apt update # Preparation for Native Package Installer
73+
gem install rubygems-requirements-system
7474
gem install pkg/*.gem
7575
7676
- run: ruby -r iruby -e "p IRuby::SessionAdapter.select_adapter_class"

Gemfile

+3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
source 'https://rubygems.org'
2+
3+
plugin 'rubygems-requirements-system'
4+
25
gemspec
36

47
group :pry do

README.md

+6-14
Original file line numberDiff line numberDiff line change
@@ -40,34 +40,24 @@ See the official document to know how to install Jupyter Notebook and/or Jupyter
4040

4141
### Ubuntu
4242

43-
#### Ubuntu 17+
43+
#### Ubuntu 22.04+
4444

4545
```shell
4646
sudo apt install libtool libffi-dev ruby ruby-dev make
4747

48-
gem install --user-install iruby
49-
iruby register --force
50-
```
51-
52-
#### Ubuntu 16
53-
54-
The latest IRuby requires Ruby >= 2.4 while Ubuntu's official Ruby package is version 2.3.
55-
So you need to install Ruby >= 2.4 by yourself before preparing IRuby.
56-
We recommend to use rbenv.
57-
58-
```shell
59-
sudo apt install libtool libffi-dev ruby ruby-dev make
48+
gem install --user-install rubygems-requirements-system
6049
gem install --user-install iruby
6150
iruby register --force
6251
```
6352

6453
### Fedora
6554

66-
#### Fedora 36
55+
#### Fedora 40+
6756

6857
```shell
6958
sudo dnf install ruby ruby-dev make zeromq-devel
7059

60+
gem install --user-install rubygems-requirements-system
7161
gem install --user-install iruby
7262
iruby register --force
7363
```
@@ -89,6 +79,7 @@ Install Jupyter.
8979
#### Homebrew
9080

9181
```shell
82+
gem install rubygems-requirements-system
9283
gem install iruby
9384
iruby register --force
9485
```
@@ -99,6 +90,7 @@ If you are using macports, run the following commands.
9990

10091
```shell
10192
port install libtool autoconf automake autogen
93+
gem install rubygems-requirements-system
10294
gem install iruby
10395
iruby register --force
10496
```

ext/Rakefile

-19
This file was deleted.

iruby.gemspec

+10-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ Gem::Specification.new do |s|
1515
s.executables = %w[iruby]
1616
s.test_files = s.files.grep(%r{^test/})
1717
s.require_paths = %w[lib]
18-
s.extensions = %w[ext/Rakefile]
1918

2019
s.required_ruby_version = '>= 2.3.0'
2120

@@ -25,12 +24,21 @@ Gem::Specification.new do |s|
2524
s.add_dependency 'logger'
2625
s.add_dependency 'mime-types', '>= 3.3.1'
2726
s.add_dependency 'multi_json', '~> 1.11'
28-
s.add_dependency 'native-package-installer'
2927

3028
s.add_development_dependency 'pycall', '>= 1.2.1'
3129
s.add_development_dependency 'rake'
3230
s.add_development_dependency 'test-unit'
3331
s.add_development_dependency 'test-unit-rr'
3432

33+
[
34+
['arch_linux', 'zeromq'],
35+
['debian', 'libzmq3-dev'],
36+
['freebsd', 'libzmq4'],
37+
['homebrew', 'zmq'],
38+
['macports', 'zmq'],
39+
].each do |platform, package|
40+
s.requirements << "system: libzmq: #{platform}: #{package}"
41+
end
42+
3543
s.metadata['msys2_mingw_dependencies'] = 'zeromq'
3644
end

0 commit comments

Comments
 (0)