summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* ruby-fakegem.eclass: add missing '|| die' on pushd/popdJulian Ospald2015-10-261-6/+6
| | | | Reviewed-By: Hans de Graaff <graaff@gentoo.org>
* proj/gentoo: Initial commitRobin H. Johnson2015-08-081-0/+532
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed