diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8400735..d191745 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -70,7 +70,7 @@ jobs: - name: Install IRuby gem run: | - sudo apt update # Preparation for Native Package Installer + gem install rubygems-requirements-system gem install pkg/*.gem - run: ruby -r iruby -e "p IRuby::SessionAdapter.select_adapter_class" @@ -136,7 +136,7 @@ jobs: - run: rake build - - run: gem install pkg/*.gem + - run: gem install rubygems-requirements-system pkg/*.gem - run: ruby -r iruby -e "p IRuby::SessionAdapter.select_adapter_class" env: diff --git a/Gemfile b/Gemfile index febbf20..25c7644 100644 --- a/Gemfile +++ b/Gemfile @@ -1,4 +1,7 @@ source 'https://rubygems.org' + +plugin 'rubygems-requirements-system' + gemspec group :pry do diff --git a/README.md b/README.md index 1e3faa2..d33fadd 100644 --- a/README.md +++ b/README.md @@ -40,34 +40,24 @@ See the official document to know how to install Jupyter Notebook and/or Jupyter ### Ubuntu -#### Ubuntu 17+ +#### Ubuntu 22.04+ ```shell sudo apt install libtool libffi-dev ruby ruby-dev make -gem install --user-install iruby -iruby register --force -``` - -#### Ubuntu 16 - -The latest IRuby requires Ruby >= 2.4 while Ubuntu's official Ruby package is version 2.3. -So you need to install Ruby >= 2.4 by yourself before preparing IRuby. -We recommend to use rbenv. - -```shell -sudo apt install libtool libffi-dev ruby ruby-dev make +gem install --user-install rubygems-requirements-system gem install --user-install iruby iruby register --force ``` ### Fedora -#### Fedora 36 +#### Fedora 40+ ```shell sudo dnf install ruby ruby-dev make zeromq-devel +gem install --user-install rubygems-requirements-system gem install --user-install iruby iruby register --force ``` @@ -89,6 +79,7 @@ Install Jupyter. #### Homebrew ```shell +gem install rubygems-requirements-system gem install iruby iruby register --force ``` @@ -99,6 +90,7 @@ If you are using macports, run the following commands. ```shell port install libtool autoconf automake autogen +gem install rubygems-requirements-system gem install iruby iruby register --force ``` diff --git a/ext/Rakefile b/ext/Rakefile deleted file mode 100644 index 1a3f516..0000000 --- a/ext/Rakefile +++ /dev/null @@ -1,19 +0,0 @@ -task default: :all - -task all: [:ensure_zeromq] - -task :ensure_zeromq do - begin - require 'ffi-rzmq' - rescue LoadError - require 'native-package-installer' - unless NativePackageInstaller.install(arch_linux: 'zeromq', - debian: 'libzmq3-dev', - freebsd: 'libzmq4', - homebrew: 'zmq', - macports: 'zmq', - redhat: 'zeromq-devel') - raise 'Failed to install ZeroMQ' - end - end -end diff --git a/iruby.gemspec b/iruby.gemspec index 898e34b..c658ce4 100644 --- a/iruby.gemspec +++ b/iruby.gemspec @@ -15,7 +15,6 @@ Gem::Specification.new do |s| s.executables = %w[iruby] s.test_files = s.files.grep(%r{^test/}) s.require_paths = %w[lib] - s.extensions = %w[ext/Rakefile] s.required_ruby_version = '>= 2.3.0' @@ -25,12 +24,21 @@ Gem::Specification.new do |s| s.add_dependency 'logger' s.add_dependency 'mime-types', '>= 3.3.1' s.add_dependency 'multi_json', '~> 1.11' - s.add_dependency 'native-package-installer' s.add_development_dependency 'pycall', '>= 1.2.1' s.add_development_dependency 'rake' s.add_development_dependency 'test-unit' s.add_development_dependency 'test-unit-rr' + [ + ['arch_linux', 'zeromq'], + ['debian', 'libzmq3-dev'], + ['freebsd', 'libzmq4'], + ['homebrew', 'zmq'], + ['macports', 'zmq'], + ].each do |platform, package| + s.requirements << "system: libzmq: #{platform}: #{package}" + end + s.metadata['msys2_mingw_dependencies'] = 'zeromq' end