summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* eclass/ruby-fakegem.eclass: turn off minitest pluginsHans de Graaff2022-09-251-1/+1
| | | | | | | | | By default dev-ruby/minitest loads all plugins that are installed in the system. Most of these are harmless, but some cause issues with dependencies and versions. None of these plugins are needed for tests to pass so we can avoid issues by not loading them. Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* eclass/ruby-fakegem.eclass: depend on virtual/pkgconfigHans de Graaff2022-05-221-0/+5
| | | | | | | | | Many C extensions depend on pkgconfig during their configure phase and this is easy to miss in the ebuild. Handle this in the eclass instead even though the dependency will not be needed for all extensions. Closes: https://bugs.gentoo.org/845393 Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* ruby-fakegem.eclass: Don't indent eclass documentationUlrich Müller2022-05-121-3/+3
| | | | Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* eclass/ruby-fakegem.eclass: avoid nested ebegin callsHans de Graaff2022-04-221-6/+3
| | | | | | | The phases in ruby-ng.eclass already use ebegin/eend to wrap each phase, so use einfo here to avoid nested calls. Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* dev-ruby/rdoc: remove the hprefixify command on shebangs.Benda Xu2022-03-261-1/+1
| | | | | | | | | | | | | | | | | If two ruby targets are specified, the scripts get `/usr/bin/env ruby` shebangs. "env ruby" is then replaced in the ebuilds to be "ruby${ver}" (ruby27 or ruby30). They needs to be prefixified. Contrastingly, when there is one ruby target, the shebang is the correct EPREFIX/usr/bin/ruby${ver}. No prefixify should be applied. To unify the two cases, the shebangs for the two-ruby-target case are changed to be `EPREFIX/usr/bin/env ruby`. Reference: https://github.com/gentoo/gentoo/pull/21046 Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Benda Xu <heroxbd@gentoo.org> Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* *.eclass: @ECLASS-VARIABLE renamed to @ECLASS_VARIABLEUlrich Müller2022-03-241-17/+17
| | | | | Bug: https://bugs.gentoo.org/835396 Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* ruby-fakegem.eclass: add debug-print-function callsAnna Vyalkova2022-03-151-0/+44
| | | | | Signed-off-by: Anna Vyalkova <cyber+gentoo@sysrq.in> Signed-off-by: Joonas Niilola <juippis@gentoo.org>
* eclass/ruby-fakegem.eclass: drop obsolete psych blockerHans de Graaff2022-03-121-3/+1
| | | | | | | This old version of dev-ruby/psych should be long gone now, and dev-ruby/psych needs to be added again to support ruby 3.1. Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* ruby-fakegem.eclass: Fix @SUPPORTED_EAPISUlrich Müller2022-02-221-2/+2
| | | | Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* eclass/ruby-fakegem.eclass: updated extensions dir according to formula from ↵Andrew Aladjev2022-02-061-1/+4
| | | | | | | | | | rubygems Closes: https://bugs.gentoo.org/423589 Closes: https://bugs.gentoo.org/832268 Signed-off-by: Andrew Aladjev <aladjev.andrew@gmail.com> Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* eclass/ruby-fakegem.eclass: add method to indicate extensions are installedHans de Graaff2021-11-251-4/+20
| | | | | | | | | | | Add a public method ruby_fakegem_extensions_installed to add the marker that rubygems uses to determine if extensions have been installed. We were already adding this as part of the extensions code, but rubygems also expects this to be present for extensions that we either ignore or handle differently. Without this marker rubygems 3.2.22 and newer will ignore this gem. Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* eclass/ruby-fakegem.eclass: fix CFLAGS and LDFLAGS for extensionsHans de Graaff2021-11-191-2/+2
| | | | | | | | | | | | Set the CFLAGS and LDFLAGS for extensions using the mkmf options during configuration. This ensures that the flags are correctly set in the Makefile and we don't need to second-guess any further actions of extensions themselves, leading to breakage that is hard to work around. Closes: https://bugs.gentoo.org/823730 Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* eclass/ruby-fakegem.eclass: add options support for extensionsHans de Graaff2021-11-141-1/+8
| | | | | | | Introduce RUBY_FAKEGEM_EXTENSION_OPTIONS to allow setting options for extensions. Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* eclass/ruby-fakegem.eclass: set flags for compilationHans de Graaff2021-11-141-2/+2
| | | | | | | | | | | | | | | | | | | | Explicitly pass CC, CFLAGS and LDFLAGS when compiling ruby extensions. By default ruby re-uses the stored flags used when compiling ruby itself. This is intended to create a better chance of compatibility between extensions and ruby itself, and extensions do not need to bother with this themselves, but it does not match the expectations of a Gentoo system where each compile action should use the currently defined flags. We also cannot guarantee this compatibility in any case since toolchain packages may have been updated in the meantime. This change uses the current CC, CFLAGS and LDFLAGS, and adds -fPIC which ruby extensions need and which would otherwise be added by ruby. This combination is already used in some ebuilds without any reported issues. Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* eclass/ruby-fakegem.eclass: also set sitelibdir for extensionsHans de Graaff2021-11-071-1/+1
| | | | | | | | | Normally extensions don't install in sitelibdir since they only deal with compiled code, but there are edge cases. Set sitelibdir correctly to the install destination so that we can keep using the "install" target in the Makefile. Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* eclass/ruby-fakegem.eclass: provide PKG_CONFIG to extensionsHans de Graaff2021-10-171-0/+1
| | | | | | Some extensions, e.g. dev-ruby/hiredis, require this to be present. Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* ruby-fakegem.eclass: Set @PROVIDESMichał Górny2021-09-021-0/+1
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* eclass/ruby-fakegem.eclass: remove EAPI 4 supportHans de Graaff2021-07-181-4/+4
| | | | Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* eclass/ruby-fakegem.eclass: add EAPI 8 supportHans de Graaff2021-07-181-10/+4
| | | | Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* eclass/ruby-fakegem.eclass: remove duplicate / in pathHans de Graaff2021-05-151-1/+1
| | | | Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* eclass/ruby-fakegem.eclass: fix more ruby invocations for did_you_meanHans de Graaff2021-05-081-2/+2
| | | | | | Closes: https://bugs.gentoo.org/788124 Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* eclass/ruby-{ng,fakegem}.eclass: fix did_you_mean issuesHans de Graaff2021-04-281-2/+2
| | | | | | | | | | | | | | | | | | The default gem did_you_mean was unbundled in 2e225cca1aa95b8a5e54cbd855f17dbaf88940d9 to fix bug 758464. Unfortunately ruby 2.7 fails when did_you_mean is not present at all, making it impossible to install this ruby version. 2.6 and 3.0 are not affected by this. With this change we explicitly disable the did_you_mean gem when invoking ruby in the eclasses. Thanks to naota for diagnosing the issue and coming up with a solution. Closes: https://bugs.gentoo.org/705346 Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* ruby-fakegem.eclass: mark RUBY_FAKEGEM_{NAME, VERSION} as @PRE_INHERITSam James2021-03-311-0/+2
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* ruby-fakegem.eclass: fix each_fakegem_install for PrefixFabian Groffen2021-02-071-2/+2
| | | | | | | _extensionsdir is based on ruby_fakegem_gemsdir, which strips $EPREFIX for use with helpers Signed-off-by: Fabian Groffen <grobian@gentoo.org>
* eclass/ruby-fakegem.eclass: fix DESCRIPTION syntaxHans de Graaff2021-02-071-1/+1
| | | | Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* eclass/ruby-fakegem.eclass: fix EXTENSION_LIBDIR handlingHans de Graaff2021-02-071-1/+2
| | | | | | | Create the directory if needed and take into account that RUBY_FAKEGEM_EXTENSION_LIBDIR may or may not have an ending /. Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* ruby-fakegem.eclass: support for extensionsHans de Graaff2021-02-071-1/+60
| | | | | | | | | | | | | | | | | | | | | Up to now handling of extensions was done in each ebuild that contained them. This means that handling is often inconsistent (e.g. not taking multilib's get_modname into account) and there is a lot of duplicated code in ebuilds. Furthermore, this also does not install extensions into the special extensions directory. rubygems itself has been doing this for some time, and now bundler 2.2.x has started to explicitly check for the extensions in this directory, making it incompatibly with our previous way of installing gems. The new RUBY_FAKEGEM_EXTENSIONS array and RUBY_FAKEGEM_EXTENSION_LIBDIR options provide support for installing extensions automatically based on these settings, taking into account that the extensions also must be part of testing and that it must be installed properly. Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* eclass/ruby-fakegem.eclass: add blocker for psychHans de Graaff2020-07-061-2/+4
| | | | | | | | | | dev-ruby/psych has been removed from the tree for some time but may still be installed, in which case it will cause errors when trying to read gemspec YAML metadata because it is no longer compatible with modern ruby versions. Block on it to ensure that dev-ruby/psych is actually uninstalled. Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* ruby-fakegem.eclass: Add RESTRICT="!test? ( test )"Michał Górny2019-11-041-0/+4
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* ruby-fakegem.eclass: Inline mirror://rubygemsMichał Górny2019-10-051-1/+1
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* ruby-fakegem.eclass: fix misspelled function name & minor @USAGE syntaxBen Kohler2019-09-161-7/+7
| | | | Signed-off-by: Ben Kohler <bkohler@gentoo.org>
* ruby-fakegem.eclass: warn about using the fallback gemspecHans de Graaff2019-07-271-0/+9
| | | | | | | | | | | | The fallback gemspec does not contain dependencies so it will only work for packages without any runtime gem dependencies. It is easy to use it by mistake when switching from a gem to a source-based archive, because the source-based archive does not contain the generated metadata, but RUBY_FAKEGEM_GEMSPEC has not been set yet. This warning alerts developers to this situation and encourages them to set RUBY_FAKEGEM_GEMSPEC instead. Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* ruby-fakegem.eclass: change default DOC recipe to use rdocHans de Graaff2019-07-271-1/+8
| | | | | | | | | | | The previous default was "rake" but this turned out to be a poor choice because many packages do not implement "rake doc" and even if they do there are usually many local development environment assumption attached to that task. Using a consistent "rdoc" call that is handled by the eclass gets more consistent results at the code of missing out on specific rdoc options set by packages. Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* ruby-fakegem.eclass: enable EAPI 7Hans de Graaff2019-07-271-2/+9
| | | | Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* ruby-fakegem.eclass: drop support for old EAPIsHans de Graaff2019-07-221-8/+8
| | | | | | Drop support for EAPI 0, 1, 2, 3. Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* ruby-fakegem.eclass: List myself as authorHans de Graaff2019-07-221-0/+1
| | | | Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* ruby-fakegem.eclass: remove obsolete jruby supportHans de Graaff2019-07-221-16/+5
| | | | Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* eclass/ruby-fakegem.eclass: fix warning about compressed docsHans de Graaff2018-12-091-1/+2
| | | | | | | | | | | Remove automatically generated compressed versions of the javascript code to avoid warnings about colliding files by ecompress. We can only do this for the "rdoc" recipe because that is the only predictable generation method. The other recipes will need to handle this in the ebuilds. Signed-off-by: Hans de Graaff <graaff@gentoo.org>
* ruby-fakegem.eclass: add @SUPPORTED_EAPISMichał Górny2018-08-151-0/+1
|
* ruby-fakegem.eclass: Add EAPI guard up to EAPI=6Hans de Graaff2018-05-071-1/+9
| | | | | This will allow us to introduce new defaults for some of the ruby-fakegem settings when switching to EAPI=7.
* ruby-fakegem.eclass: fix RUBY_FAKEGEM_EXTRAINSTALLHans de Graaff2017-11-251-1/+1
| | | | Remove wrong default value and fix documentation accordingly.
* ruby-fakegem.eclass: Fix eclass doc warningsHans de Graaff2017-11-191-25/+15
| | | | | | | Move eclass variable definitions to the right place just behind their documentation or declare them as default unset. Closes: https://bugs.gentoo.org/637866
* ruby-fakegem.eclass: use dodoc to install documentation filesHans de Graaff2017-07-161-1/+1
| | | | | | | dohtml is deprecated in EAPI 6, but more importantly it does not actually do what we want, which is to install all the documentation files, including fonts, javascript, and css to make the documentation pages look as intended.
* ruby-ng.eclass: Indirect USE_RUBY into a functionMichał Górny2017-05-151-1/+1
|
* Drop () from function in documentationJustin Lecher2017-03-191-1/+1
| | | | Signed-off-by: Justin Lecher <jlec@gentoo.org>
* ruby-fakegem.eclass: Remove completely unnecessary 'eval ls'Michał Górny2017-03-081-3/+2
| | | | | | Filename expansion is performed when the variable is referenced unquoted already. There is really no need to call 'ls' on top of that, and even less reason to wrap it all in 'eval'.
* ruby-fakegem.eclass: Drop stale CVS $Revision$ keywordUlrich Müller2017-03-011-3/+3
| | | | Acked by graaff.
* Drop $Id$ per council decision in bug #611234.Robin H. Johnson2017-02-281-1/+0
| | | | Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
* ruby-fakegem.eclass: fix documentationHans de Graaff2016-12-291-1/+1
|
* eclass/ruby-fakegem.eclass: support non-default bindirHans de Graaff2015-12-301-3/+10
| | | | | | | | | | | | By default gems can provide binaries to be bin-wrapped in /usr/bin in a directory called "bin" in the gem. This is only a default, and it is possible for the gem to indicate that another directory contains the binaries to be bin-wrapped using the gemspec bindir option. dev-ruby/rspec-core and dev-ruby/bundler are gems where the binaries are placed in an "exe" directory. This change introduces RUBY_FAKEGEM_BINDIR, defaulting to "bin" for backward compatibility, allowing this directory to be specified.