pkgsrc/misc/rubygems/Makefile

82 lines
2.3 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.55 2013/09/30 03:12:59 taca Exp $
DISTNAME= rubygems-2.0.10
CATEGORIES= misc ruby
MASTER_SITES= http://production.cf.rubygems.org/rubygems/
EXTRACT_SUFX= .tgz
MAINTAINER= taca@NetBSD.org
HOMEPAGE= https://rubygems.org/
COMMENT= Ruby standard for publishing and managing third party libraries
LICENSE= gnu-gpl-v2 OR ruby-license
CONFLICTS+= rubygems-[0-9]*
.include "../../mk/bsd.prefs.mk"
NO_CONFIGURE= yes
NO_BUILD= yes
REPLACE_RUBY_DIRS= bin
REPLACE_RUBY_PAT= [a-z]*
GEM_DOCDIR= ${GEM_HOME}/doc/${DISTNAME}
REQD_DIRS= ${GEM_HOME:H}
REQD_DIRS+= ${GEM_HOME}
REQD_DIRS+= ${GEM_HOME}/cache
REQD_DIRS+= ${GEM_HOME}/doc
REQD_DIRS+= ${GEM_HOME}/gems
REQD_DIRS+= ${GEM_HOME}/specifications
Update rubygems pacakge to 1.2.0. 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-15 10:43:44 +02:00
SUBST_CLASSES+= conf
SUBST_STAGE.conf= pre-install
SUBST_FILES.conf= lib/rubygems/config_file.rb
SUBST_SED.conf= -e "s|@PKG_SYSCONFDIR@|${PKG_SYSCONFDIR}|g"
SUBST_MESSAGE.conf= Fixing configuration files.
FILES_SUBST+= RUBYGEM_NAME=${RUBYGEM_NAME}
# Generate a dynamic PLIST for the rubygems documentation directory.
GENERATE_PLIST+= \
${ECHO} "@comment The following lines are automatically generated." && \
2009-06-15 00:57:58 +02:00
cd ${DESTDIR}${PREFIX} && \
Update rubygems package to 1.8.23. === 1.8.23 / 2012-04-19 This release increases the security used when RubyGems is talking to an https server. If you use a custom RubyGems server over SSL, this release will cause RubyGems to no longer connect unless your SSL cert is globally valid. You can configure SSL certificate usage in RubyGems through the :ssl_ca_cert and :ssl_verify_mode options in ~/.gemrc and /etc/gemrc. The recommended way is to set :ssl_ca_cert to the CA certificate for your server or a certificate bundle containing your CA certification. You may also set :ssl_verify_mode to 0 to completely disable SSL certificate checks, but this is not recommended. * 2 security fixes: * Disallow redirects from https to http * Turn on verification of server SSL certs * 1 minor feature: * Add --clear-sources to fetch * 2 bug fixes: * Use File.identical? to check if two files are the same. * Fixed init_with warning when using psych === 1.8.22 / 2012-04-13 * 4 bug fixes: * Workaround for psych/syck YAML date parsing issue * Don't trust the encoding of ARGV. Fixes #307 * Quiet default warnings about missing spec variables * Read a binary file properly (windows fix) === 1.8.21 / 2012-03-22 * 2 bug fixes: * Add workaround for buggy yaml output from 1.9.2 * Force 1.9.1 to remove it's prelude code. Fixes #305 === 1.8.20 / 2012-03-21 * 4 bug fixes: * Add --force to `gem build` to skip validation. Fixes #297 * Gracefully deal with YAML::PrivateType objects in Marshal'd gemspecs * Treat the source as a proper url base. Fixes #304 * Warn when updating the specs cache fails. Fixes #300 === 1.8.19 / 2012-03-14 * 3 bug fixes: * Handle loading psych vs syck properly. Fixes #298 * Make sure Date objects don't leak in via Marshal * Perform Date => Time coercion on yaml loading. Fixes #266 === 1.8.18 / 2012-03-11 * 4 bug fixes: * Use Psych API to emit more compatible YAML * Download and write inside `gem fetch` directly. Fixes #289 * Honor sysconfdir on 1.8. Fixes #291 * Search everywhere for a spec for `gem spec`. Fixes #288 * Fix Gem.all_load_path. Fixes #171
2012-04-22 10:11:54 +02:00
if [ -d ${GEM_DOCDIR:S|${PREFIX}/||} ]; then \
${FIND} ${GEM_DOCDIR:S|${PREFIX}/||} \! -type d -print | \
${SORT}; \
else \
:; \
fi
# Force the Gem repository to be under ${DESTDIR}. This is harmless
Update rubygems to 1.3.4. 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-06-10 23:44:30 +02:00
# because this package depends on no other gems.
#
INSTALL_ENV+= GEM_HOME=${DESTDIR}${PREFIX}/${GEM_HOME}
INSTALL_ENV+= GEM_PATH=${DESTDIR}${PREFIX}/${GEM_HOME}
INSTALL_TARGET= install
Update rubygems package to 1.8.23. === 1.8.23 / 2012-04-19 This release increases the security used when RubyGems is talking to an https server. If you use a custom RubyGems server over SSL, this release will cause RubyGems to no longer connect unless your SSL cert is globally valid. You can configure SSL certificate usage in RubyGems through the :ssl_ca_cert and :ssl_verify_mode options in ~/.gemrc and /etc/gemrc. The recommended way is to set :ssl_ca_cert to the CA certificate for your server or a certificate bundle containing your CA certification. You may also set :ssl_verify_mode to 0 to completely disable SSL certificate checks, but this is not recommended. * 2 security fixes: * Disallow redirects from https to http * Turn on verification of server SSL certs * 1 minor feature: * Add --clear-sources to fetch * 2 bug fixes: * Use File.identical? to check if two files are the same. * Fixed init_with warning when using psych === 1.8.22 / 2012-04-13 * 4 bug fixes: * Workaround for psych/syck YAML date parsing issue * Don't trust the encoding of ARGV. Fixes #307 * Quiet default warnings about missing spec variables * Read a binary file properly (windows fix) === 1.8.21 / 2012-03-22 * 2 bug fixes: * Add workaround for buggy yaml output from 1.9.2 * Force 1.9.1 to remove it's prelude code. Fixes #305 === 1.8.20 / 2012-03-21 * 4 bug fixes: * Add --force to `gem build` to skip validation. Fixes #297 * Gracefully deal with YAML::PrivateType objects in Marshal'd gemspecs * Treat the source as a proper url base. Fixes #304 * Warn when updating the specs cache fails. Fixes #300 === 1.8.19 / 2012-03-14 * 3 bug fixes: * Handle loading psych vs syck properly. Fixes #298 * Make sure Date objects don't leak in via Marshal * Perform Date => Time coercion on yaml loading. Fixes #266 === 1.8.18 / 2012-03-11 * 4 bug fixes: * Use Psych API to emit more compatible YAML * Download and write inside `gem fetch` directly. Fixes #289 * Honor sysconfdir on 1.8. Fixes #291 * Search everywhere for a spec for `gem spec`. Fixes #288 * Fix Gem.all_load_path. Fixes #171
2012-04-22 10:11:54 +02:00
INSTALL_TARGET+= --vendor --no-rdoc --no-ri
.if ${_USE_DESTDIR} != "no"
Update rubygems to 1.3.4. 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-06-10 23:44:30 +02:00
INSTALL_TARGET+= --destdir=${DESTDIR:Q}
.endif
# rubygem's setup.rb is not the typical setup.rb -- manually run the
# command to install.
#
do-install:
if [ -f ${DESTDIR}${PREFIX}/bin/${RUBYGEM_NAME} ]; then \
${MV} ${DESTDIR}${PREFIX}/bin/${RUBYGEM_NAME} \
${DESTDIR}${PREFIX}/bin/${RUBYGEM_NAME}.orig; \
fi
cd ${WRKSRC} && ${SETENV} ${INSTALL_ENV} ${MAKE_ENV} \
${RUBY} setup.rb ${INSTALL_TARGET}
${MV} ${DESTDIR}${PREFIX}/bin/${RUBYGEM_NAME} \
${DESTDIR}${PREFIX}/bin/${RUBYGEM_NAME}.new
if [ -f ${DESTDIR}${PREFIX}/bin/${RUBYGEM_NAME}.orig ]; then \
${MV} ${DESTDIR}${PREFIX}/bin/${RUBYGEM_NAME}.orig \
${DESTDIR}${PREFIX}/bin/${RUBYGEM_NAME}; \
fi
.include "../../lang/ruby/modules.mk"
.include "../../mk/bsd.pkg.mk"