summaryrefslogtreecommitdiff
path: root/misc/rubygems
AgeCommit message (Collapse)AuthorFilesLines
2009-06-14Skip "@dirrm lib/ruby" in PRINT_PLIST for packages including rubygems.mk.minskim1-1/+2
2009-06-12Test variables before using them. Several variables inminskim3-2/+25
Gem::Specification can be nil for old gemspec. Bump PKGREVISION.
2009-06-10Update rubygems to 1.3.4.minskim12-92/+88
New features since 1.3.1: * RubyGems now loads plugins from rubygems_plugin.rb in installed gems. This can be used to add commands (See Gem::CommandManager) or add install/uninstall hooks (See Gem::Installer and Gem::Uninstaller). * Gem::Version now understands prerelease versions using letters. (eg. '1.2.1.b') Thanks to Josh Susser, Alex Vollmer and Phil Hagelberg. * RubyGems now includes a Rake task for creating gems which replaces rake's Rake::GemPackageTask. See Gem::PackageTask. * Gem::find_files now returns paths in $LOAD_PATH. * Added Gem::promote_load_path for use with Gem::find_files * Added Gem::bin_path to make finding executables easier. Patch #24114 by James Tucker. * Various improvements to build arguments for installing gems. * `gem contents` added --all and --no-prefix. * Gem::Specification * #validate strips directories and errors on not-files. * #description no longer removes newlines. * #name must be a String. * FIXME and TODO are no longer allowed in various fields. * Added support for a license attribute. Feature #11041 (partial). * Removed Gem::Specification::list, too much process growth. Bug #23668 by Steve Purcell. * `gem generate_index` * Can now generate an RSS feed. * Modern indicies can now be updated incrementally. * Legacy indicies can be updated separately from modern. * `gem server` allows port names (from /etc/services) with --port. * `gem server` now has search that jumps to RDoc. Patch #22959 by Vladimir Dobriakov. * `gem spec` can retrieve single fields from a spec (like `gem spec rake authors`). * Gem::Specification#has_rdoc= is deprecated and ignored (defaults to true) * RDoc is now generated regardless of Gem::Specification#has_rdoc?
2009-04-07Update rubygems to 1.3.1.minskim8-64/+72
New features since 1.2.0: * RubyGems doesn't print LOCAL/REMOTE titles for `gem query` and friends if stdout is not a TTY, except with --both. * Added Gem.find_files, allows a gem to discover features provided by other gems. * Added pre/post (un)install hooks for packagers of RubyGems. (Not for gems themselves). * RubyGems now installs gems into ~/.gem if GEM_HOME is not writable. Use --no-user-install command-line switch to disable this behavior. * Fetching specs for update now uses If-Modified-Since requests. * RubyGems now updates the ri cache when the rdoc gem is installed and documentation is generated.
2008-09-15Update rubygems pacakge to 1.2.0.taca14-184/+94
Release 1.2.0 adds new features and fixes some bugs. New features: * RubyGems no longer performs bulk updates and instead only fetches the gemspec files it needs. Alternate sources will need to upgrade to RubyGems 1.2 to allow RubyGems to take advantage of the new metadata updater. If a pre 1.2 remote source is in the sources list, RubyGems will revert to the bulk update code for compatibility. * RubyGems now has runtime and development dependency types. Use #add_development_dependency and #add_runtime_dependency. All typeless dependencies are considered to be runtime dependencies. * RubyGems will now require rubygems/defaults/operating_system.rb and rubygems/defaults/#{RBX_ENGINE}.rb if they exist. This allows packagers and ruby implementers to add custom behavior to RubyGems via these files. (If the RubyGems API is insufficient, please suggest improvements via the RubyGems list.) * /etc/gemrc (and windows equivalent) for global settings * setup.rb now handles --vendor and --destdir for packagers * `gem stale` command that lists gems by last access time Bugs Fixed: * File modes from gems are now honored, patch #19737 * Marshal Gem::Specification objects from the future can now be loaded. * A trailing / is now added to remote sources when missing, bug #20134 * Gems with legacy platforms will now be correctly uninstalled, patch #19877 * `gem install --no-wrappers` followed by `gem install --wrappers` no longer overwrites executables * `gem pristine` now forces reinstallation of gems, bug #20387 * RubyGems gracefully handles ^C while loading .gemspec files from disk, bug #20523 * Paths are expanded in more places, bug #19317, bug #19896 * Gem::DependencyInstaller resets installed gems every install, bug #19444 * Gem.default_path is now honored if GEM_PATH is not set, patch #19502 Other Changes Include: * setup.rb * stub files created by RubyGems 0.7.x and older are no longer removed. When upgrading from these ancient versions, upgrade to 1.1.x first to clean up stubs. * RDoc is no longer required until necessary, patch #20414 * `gem server` * Now completely matches the output of `gem generate_index` and has correct content types * Refreshes from source directories for every hit. The server will no longer need to be restarted after installing gems. * `gem query --details` and friends now display author, homepage, rubyforge url and installed location * `gem install` without -i no longer reinstalls dependencies if they are in GEM_PATH but not in GEM_HOME * Gem::RemoteFetcher now performs persistent connections for HEAD requests, bug #7973
2008-09-15Replace shbang path of files under bin directory.taca1-1/+5
2008-09-14Move targets requiring the root privilege to the install stage.minskim1-14/+17
This fixes PR 39333. Thanks to taca@ for testing.
2008-06-19- Switch to use vendor_dir with Ruby 1.8.7.taca8-107/+200
Bump PKGREVISION.
2008-05-25Explicitly add pax dependency in those Makefiles that use it (or havejoerg1-1/+3
patches to add it). Drop pax from the default USE_TOOLS list. Make bsdtar the default for those places that wanted gtar to extract long links etc, as bsdtar can be built of the tree.
2008-04-13Update misc/rubygems to 1.1.1. Changes from version 1.1.0 include:jlam5-41/+41
* Gem.prefix now returns non-nil only when RubyGems was installed outside sitelibdir or libdir. * The `gem server` gem list now correctly links to gem details. * `gem update --system` now passes --no-format-executable to setup.rb. * Gem::SourceIndex#refresh! now works with multiple gem repositories. * Downloaded gems now go into --install-dir's cache directory. * Various fixes to downloading gem metadata. * `gem install --force` now ignores network errors too. * `gem pristine` now rebuilds extensions. * `gem update --system` now works on virgin Apple ruby. * Gem::RemoteFetcher handles Errno::ECONNABORTED.
2008-03-31Set up the shell environment before calling ``gem'' during the extractjlam1-4/+5
phase. Also set TZ to null to prevent timezone differences from affecting the printing of the "date" field during the extraction of the gemspec file.
2008-03-31Update rubygems to 1.1.0. Changes from version 1.0.1 include:jlam12-154/+227
+ Port patches to allow gems to be installed into an "installion root" from 1.0.1nb2. + Rename the --build-root option to --install-root, which more accurately reflects the purpose of the option. + Update rubygem.mk to work with rubygems-1.1.0. + Require 1.1.0 as the minimum rubygems version for the build. + Remove GEM_FORMAT and special code to extract the gemspec file from a gem archive -- `gem spec' can now do it correctly by itself. + Rename various *buildroot* targets to *install-root* to match the name of the `gem' option. * RubyGems now uses persistent connections on index updates and only updates from a latest index by default, cutting candidate gems for updates to roughly 1/4 (at present). Index updates are much faster now. * `gem list -r` may only show the latest version of a gem, add --all to see all gems. * `gem spec` now extracts specifications from .gem files. * `gem query --installed` to aid automation of checking for gems. This update has been tested with the 3 packages in pkgsrc that install using the ``gem'' command: devel/rubyforge misc/ruby-gem_plugin www/mongrel This update has also been tested with the 129 packages in my local tree that install using the ``gem'' command.
2008-03-27Use the correct variable name (GEM_CACHEDIR, not GEM_CACHE).jlam1-3/+3
2008-03-27The ``gem'' command doesn't exit with an error if the install fails.jlam1-1/+14
Manually check that the installation actually succeeds or exit with an error so that the pkgsrc make process halts with the proper error code. Suggestion for change by <seb> in private email.
2008-03-24Restore default setting of PKG_DESTDIR_SUPPORT removed in revisionjlam1-1/+4
1.29. This does the right thing automatically for most gems, and packages that need PKG_DESTDIR_SUPPORT set earlier can set it manually themselves.
2008-03-22Add default value for GEM_FORMAT missing from previous commit.jlam1-1/+4
2008-03-21Update description to be less rambling and more consise.jlam1-8/+6
2008-03-21+ Drop the GEMFILE variable which is completely unused.jlam1-25/+48
+ Add a GEM_SPECFILE variable which points to the gemspec file to use when building using the ``gemspec'' GEM_BUILD method. It defaults to ${WRKDIR}/${DISTNAME}.gemspec. + Add a GEM_FORMAT variable that indicates the archive format of the downloaded gem. Possible are "packed" and "tar" with a default of "tar". "Packed" is the old gem-0.8.x format, while "tar" is the current one. + Make gem-extract a dependency for post-extract, not do-extract. This allows for the usual do-extract actions to take place in the case where EXTRACT_SUFX is not ".gem". Now, if any of the DISTFILES are gems, then gem-extract takes care of all of the extraction, but otherwise, the usual do-extract actions take place. + Use the gem script to unpack the downloaded gem. We still have to manually extract the gemspec file, but at least we make fewer assumptions about the format of the gem.
2008-03-21Remove PKG_DESTDIR_SUPPORT setting from rubygem.mk. Its placement injlam1-4/+1
this file was awkward because PKG_DESTDIR_SUPPORT must be set before the first inclusion of bsd.prefs.mk, which forced rubygem.mk to be included before any other file. Instead, packages which install as Ruby gems should define PKG_DESTDIR_SUPPORT on their own.
2008-03-19+ About half of the gems I've touched have required rubygems>=1.0.1, sojlam1-3/+3
make that the default version required for dependencies. + Same deal for rake>=0.8.1.
2008-03-19+ Move the "install into buildroot" step into the build phase and outjlam1-46/+45
of the install phase. The whole point of "buildroot" was to avoid building anything in the install phase.
2008-03-18Extract the gemspec file before the data.tar.gz so that we avoid anyjlam1-2/+2
possibility of a name collision with a file named "metadata".
2008-03-18Use ${BUILD_TARGET} as the Rakefile task invoked to create the localjlam1-2/+10
gem during the build process. This allows for specifying non-standard tasks used by some Ruby packages. It defaults to "gem".
2008-03-18Fix subtle interaction with DESTDIR during installation -- the Makefilesjlam1-2/+2
generated by mkmf.rb are actually not DESTDIR-safe because the $(DESTDIR) value gets propagated to the rpath. Since we already pass --buildroot to deal with staged installations, explicitly strip out DESTDIR from the environment.
2008-03-18Unify the two clauses in _gem-install-cleanbuild that removed thejlam1-24/+17
intermediate build files. GEM_CLEANBUILD now defaults to "ext/*".
2008-03-18REPLACE_RUBY_DIRS is relative to ${WRKSRC} by default, so shorten thejlam1-2/+2
value a bit.
2008-03-18Installed gems have wrapper scripts that call the right interpreter,jlam1-1/+7
regardless of the #! line at the head of a script, so we can skip the interpreter path check for gems. As a side benefit, the resulting gems are more suitable for distribution to other platforms.
2008-03-17Pass MAKE_ENV to the build process when building the gem from thejlam1-3/+4
unpacked sources. This fixes certain checks for $HOME, $PATH and the like.
2008-03-14Allow for gem-extract to be overridden so that packages with specialjlam1-1/+3
extraction procedures can be handled by this file.
2008-03-14+ Add an example value for GEM_CLEANBUILD.jlam1-1/+5
2008-03-14+ Minor improvements to documentation.jlam1-10/+10
+ The local gem is not ${GEMFILE}; it's ${GEM_NAME}.gem. The two can be different due to capitalization/case differences.
2008-03-14+ Rename the metadata (gemspec) file to a more sensible name (*.gemspec).jlam1-5/+9
+ Clean up additional unpacked bits (*.sig) files during extraction. + Fix the "cleanbuild" step: + In GEM_CLEANBUILD case, sanity check that the file doesn't exist in the unpacked gem before removing it from the installed gem. + Actually removes unwanted directories.
2008-03-13+ Modify gem-rake-build to find the generated .gem file in the eventjlam1-2/+29
that the Rakefile creates it in a non-standard place. + Create a new variable GEM_CLEANBUILD which is a list of globs for files to remove from the gem installed in the buildroot in the _gem-install-cleanbuild target. This allows for packages with a non-standard gem directory structure (one that has the .c files under ext/).
2008-03-13Rename PLIST.common to PLIST as we just use the standard PLIST mechanismjlam1-1/+1
now.
2008-03-13+ Rename some variables and modify a few definitions so that we matchjlam1-26/+22
the same variables used in rubygem.mk. + Use a GENERATE_PLIST statement instead of manually generating a PLIST_DYNAMIC file. This code is copied from RUBYGEM_GENERATE_PLIST in rubygem.mk. + Use INSTALL_ENV, which is meant to contain the extra environment bits for use during installation.
2008-03-13Most gems need at least rubygems-0.9.4 to work properly.jlam1-2/+2
2008-03-13Whitespacify to be easier on my eyes.jlam1-14/+14
2008-03-13When cleaning out the intermediate build files, be more thorough aboutjlam1-4/+9
looking through the ext/ directory structure. Not all gems are simple.
2008-03-13For brevity, rename the do-gem-* targets to just "gem-*".jlam1-18/+18
2008-03-13Split the do-gem-install target into smaller sub-targets.jlam1-4/+17
2008-03-13+ Add a package-settable variable GEM_BUILD that sets the way thatjlam1-13/+35
the local gem that is installed is built from the extracted sources. The possible values are "gemspec" and "rake", with "rake" being the default. + Change the do-gem-extract target so that it also extracts the gemspec file from the source gem. This gemspec file is used when the "gemspec" GEM_BUILD method is chosen. + Add do-gem-${GEM_BUILD}-targets that build the local gem using the corresponding ${GEM_BUILD} method.
2008-03-12Make RUBYGEM_PKGPREFIX the same as RUBY_PKGPREFIX.jlam1-2/+2
2008-03-12Don't hardcode the package version number into the PLIST -- usejlam1-1/+3
${PKGVERSION} instead.
2008-03-12Skip printing "@dirrm lib/ruby/gems" in the print-PLIST output.jlam1-1/+2
Now, print-PLIST with USE_DESTDIR=full will generate the correct PLISTs for rubygems.
2008-03-12Don't try to remove the intermediate build files unless the ext/ directoryjlam1-9/+10
exists.
2008-03-12+ For print-PLIST, don't output any files or directories injlam1-2/+10
${GEM_DOCDIR} as those are automatically listed by RUBYGEM_GENERATE_PLIST. + Clean up the intermediate build files in the "ext" directory of installed gem by removing everything that's not also in the unpacked gem.
2008-03-12+ By default, support user-destdir installation as the gem installationjlam1-12/+35
process makes that easily possible. + Use ${EXTRACTOR} to manually unpack the gem file. + Change the do-gem-install target to initially build and install the gem into a buildroot, ${WRKDIR}/.inst, then to copy the files from the buildroot into the final install location, ${DESTDIR}${PREFIX}. XXX We still need to find some way to remove the intermediate build XXX files, e.g. *.o object files, from the buildroot before copying XXX to the final location.
2008-03-12Fix bug in the interaction between --build-root and --remote noted in:jlam3-6/+25
http://rubyforge.org/pipermail/rubygems-developers/2006-June/002010.html If --build-root is specified, then any remote gems are now downloaded into the "cache" directory under the buildroot. Bump PKGREVISION to 2.
2008-03-12+ Improve the documentation in the header of the rubygem.mk file.jlam1-25/+72
+ Add a build dependency on rake, which is used to build a new gem file. Define RAKE to be the path to the installed rake binary. + Add "ruby" as a package category by default. + Define MASTER_SITES to a default value pointing to the main remote gem repository: http://gems.rubyforge.net/gems/. + Add a "do-gem-extract" target that extracts the files from the downloaded gem and into ${WRKSRC}. This allows us to patch or otherwise manipulate the files that are part of the gem that is to be installed. + Add a "do-gem-build" target that builds a new local gem from the contents of ${WRKSRC} using the provided Rakefile. This local gem which contains all pkgsrc modifications will be the one installed on the system. + Modify "do-gem-install" target to install from the new local gem created by the "do-gem-build" target. XXX The do-gem-install target still needs to use the new --buildroot XXX option to allow DESTDIR-style installations.
2008-03-11+ We need rubygems>=1.0.1nb1 (which has the OpenSuSE buildroot patch)jlam1-27/+30
for building and installing the gems, but we can use older rubygems at run-time. + Move GEMFILE definition ahead of EXTRACT_SUFX just as a style issue. This looks more like a normal package Makefile layout. + Rename GEMS_BASEDIR to GEM_HOME, which is the actual rubygems variable name for that directory. + Rename some variables to be more in line with other ruby variable names: GEM_LIB_DIR => GEM_LIBDIR GEM_DOC_DIR => GEM_DOCDIR + Set RUBYGEM_PKGPREFIX to ${RUBY_PKGPREFIX}-gem for now. We know that at least we don't want ruby packages to prefix with "rubygems". + Just use EVAL_PREFIX instead of directly using find-prefix.mk.