RubyGems 1.3.1

Eric Hodel | Thu, 13 Nov 2008 21:44:00 GMT

NOTE: RubyGems 1.1 and 1.2 have problems upgrading when there is no rubygems-update installed. You will need to follow the second set of update instructions if you see “Nothing to update”.

Release 1.3.1 fixes some bugs.

Bugs fixed:

  • Disregard ownership of ~ under Windows while creating ~/.gem. Fixes issues related to no uid support under Windows.
  • Fix requires for Gem::inflate, Gem::deflate, etc.
  • Make Gem.dir respect :gemhome value from config. (Note: this feature may be removed since it is hard to implement on 1.9.)
  • Kernel methods are now private. Patch #20801 by James M. Lawrence.
  • Gem::location_of_caller now behaves on Windows. Patch by Daniel Berger.
  • Silence PATH warning.

Deprecation Notices:

  • Gem::manage_gems will be removed on or after March 2009.

For a full list of changes to RubyGems and the contributor for each change, see the ChangeLog file.

Special thanks to Chad Wooley for backwards compatibility testing and Luis Lavena for continuing windows support.

How can I get RubyGems?

NOTE: If you have installed RubyGems using a package system you may want to install a new RubyGems through the same packaging system.

If you have a recent version of RubyGems (0.8.5 or later), then all you need to do is:

$ gem update --system   (you might need to be admin/root)

NOTE: RubyGems 1.1 and 1.2 have problems upgrading when there is no rubygems-update installed. You will need to follow the second set of update instructions if you see “Nothing to update”.

NOTE: You may have to run the command twice if you have any previosly installed rubygems-update gems.

If you have an older version of RubyGems installed, then you can still do it in two steps:

$ gem install rubygems-update  (again, might need to be admin/root)
$ update_rubygems              (... here too)

If you don’t have any gems install, there is still the pre-gem approach to getting software … doing it manually:

To File Bugs

The RubyGems bug tracker can be found on RubyForge at: http://rubyforge.org/tracker/?func=add&group_id=126&atid=575

When filing a bug, `gem env` output will be helpful in diagnosing the issue.

If you find a bug where RubyGems crashes, please provide debug output. You can do that with `gem—debug the_command`.

Keep those gems coming!

—Jim & Chad & Eric (for the RubyGems team)

Posted in , ,  | no comments

Animal Verbing

Eric Hodel | Tue, 21 Oct 2008 13:58:00 GMT

Yesterday I was sitting with a bunch of Smalltalkers listening to them talk about Smalltalk Superpowers. They described rather mundane things like sender sender sender receiver which the receiver of the method that called into this library higher up the stack to fancier things like super super which allows you to skip over the parent classes when calling super to really fancy things like getting the address of an Object.

When Ryan told the Smalltalkers about our superpowers of duck typing, duck raping and monkey patching, the main response was “what’s with all the animal verbing?” These kinds of tricks seem so commonplace to the Smalltalkers that they have no names for them.

Why is it that Rubyists went with “animal verbing” for describing these practices?

PS: One of the things Ruby has that’s rather difficult in Smalltalk is object customization, o = Object.new; def o.my_method() end

Update: You can download videos of the various superpowers, or visit the official Smalltalk Superpowers website.

Posted in  | 3 comments

RubyGems 1.3.0

Eric Hodel | Fri, 26 Sep 2008 21:19:00 GMT

Release 1.3.0 adds new features and fixes some bugs.

Note! Some versions of RubyGems have a bug that will prevent automatic updates. If RubyGems says it has nothing to update, run:

gem install rubygems-update
update_rubygems

New features:

  • 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 gem 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.

Deprecation Notices:

  • Gem::manage_gems now warns when called. It will be removed on or after March 2009.

Bugs Fixed:

  • RubyGems 1.3.0+ now updates when no previous rubygems-update is installed. Bug #20775 by Hemant Kumar.
  • RubyGems now uses the regexp we already have for `gem list --installed`. Bug #20876 by Nick Hoffman.
  • Platform is now forced to Gem::Platform::RUBY when nil or blank in the indexer. Fixes various uninstallable gems.
  • Handle EINVAL on seek. Based on patch in bug #20791 by Neil Wilson.
  • Fix HTTPS support. Patch #21072 by Alex Arnell.
  • RubyGems now loads all cache files even if latest has been loaded. Bug #20776 by Uwe Kubosch.
  • RubyGems checks for support of development dependencies for #to_ruby. Bug #20778 by Evan Weaver.
  • Now specifications from the future can be loaded.
  • Binary script uninstallation fixed. Bug #21234 by Neil Wilson.
  • Uninstallation with -i fixed. Bug #20812 by John Clayton.
  • Gem::Uninstaller#remove_all now calls Gem::Uninstaller#uninstall_gem so hooks get called. Bug #21242 by Neil Wilson.
  • Gem.ruby now properly escaped on windows. Fixes problem with extension compilation.
  • `gem lock --strict` works again. Patch #21814 by Sven Engelhardt.
  • Platform detection for Solaris was improved. Patch #21911 by Bob Remeika.

Other Changes Include:

  • `gem help install` now describes _version_ argument to executable stubs
  • `gem help environment` describes environment variables and ~/.gemrc and /etc/gemrc
  • On-disk gemspecs are now read in UTF-8 and written with a UTF-8 magic comment
  • Rakefile
    • If the SETUP_OPTIONS environment variable is set, pass its contents as arguments to setup.rb
  • lib/rubygems/platform.rb
    • Remove deprecated constant warnings and really deprecate them. (WIN32, etc).
  • lib/rubygems/remote_fetcher.rb
    • Now uses ~/.gem/cache if the cache dir in GEM_HOME is not writable.
  • lib/rubygems/source_index.rb
    • Deprecate options to 'search' other than Gem::Dependency instances and issue warning until November 2008.
  • setup.rb
    • --destdir folder structure now built using Pathname, so it works for Windows platforms.
  • test/*
    • Fixes to run tests when under test/rubygems/. Patch by Yusuke ENDOH [ruby-core:17353].
  • test/test_ext_configure_builder.rb
    • Locale-free patch by Yusuke Endoh [ruby-core:17444].

For a full list of changes to RubyGems and the contributor for each change, see the ChangeLog file.

Special thanks to Chad Wooley for backwards compatibility testing and Luis Lavena for continuing windows support.

How can I get RubyGems?

NOTE: If you have installed RubyGems using a package system you may want to install a new RubyGems through the same packaging system.

If you have a recent version of RubyGems (0.8.5 or later), then all you need to do is:

$ gem update --system (you might need to be admin/root)

NOTE: RubyGems 1.1 and 1.2 have problems upgrading when there is no rubygems-update installed. You will need to follow the second set of update instructions if you see "Nothing to update".

NOTE: You may have to run the command twice if you have any previosly installed rubygems-update gems.

If you have an older version of RubyGems installed, then you can still do it in two steps:

$ gem install rubygems-update # (again, might need to be admin/root) $ update_rubygems # (... here too)

If you don't have any gems install, there is still the pre-gem approach to getting software ... doing it manually:

  1. DOWNLOAD FROM: http://rubyforge.org/frs/?group_id=126
  2. UNPACK INTO A DIRECTORY AND CD THERE
  3. INSTALL WITH: ruby setup.rb (you may need admin/root privilege)

To File Bugs

The RubyGems bug tracker can be found on RubyForge at: http://rubyforge.org/tracker/?func=add&group_id=126&atid=575

When filing a bug, `gem env` output will be helpful in diagnosing the issue.

If you find a bug where RubyGems crashes, please provide debug output. You can do that with `gem --debug the_command`.

Thanks

Keep those gems coming!

-- Jim & Chad & Eric (for the RubyGems team)

Posted in ,  | 8 comments

Working Style

Eric Hodel | Fri, 22 Aug 2008 00:42:25 GMT

In Rubinius we’ve been slowly working towards using a VM written in C++ instead of the current C VM we’ve got (called “shotgun”). Most of the mechanics of the VM are already complete, so over the past couple weeks we’ve been wiring up the primitives necessary for our ruby kernel (equivalent to Ruby’s core library) to run.

This primitive work is rather tedious, and until Friday I found it highly unenjoyable. I couldn’t perceive how much closer I was to our goal of actually running ruby code on the new VM.

On Friday I recalled that we can run a compiled ruby file against the VM, which gave me a way to shoot towards my goal. Over the past couple days during our Rubinius Team Meeting we’ve gotten up to loading all of our kernel bootstrap and platform, and now we’re just starting to do work in the core libraries.

Switching my working style drastically improved my enjoyment of a process that I found quite annoying. I wish I’d figured this out a couple weeks ago.

Posted in ,  | no comments

UPnP-MediaServer 1.0.0

Eric Hodel | Wed, 23 Jul 2008 08:41:00 GMT

UPnP-MediaServer version 1.0.0 has been released!

A UPnP MediaServer. Currently a work in progress. Only tested on a PlayStation 3.

Changes:

1.0.0 / 2008-07-23

  • 1 major enhancement
    • Birthday!

Posted in ,  | no comments

UPnP-ContentDirectory 1.0

Eric Hodel | Wed, 23 Jul 2008 08:40:00 GMT

UPnP-ContentDirectory version 1.0 has been released!

A UPnP ContentDirectory service with some DLNA extensions. Currently this is a work in progress, and is only adequate for viewing images on a PlayStation 3.

Changes:

1.0.0 / 2008-07-23

  • 1 major enhancement
    • Birthday!

Posted in ,  | no comments

UPnP-ConnectionManager 1.0

Eric Hodel | Wed, 23 Jul 2008 08:38:00 GMT

UPnP-ConnectionManager version 1.0 has been released!

Stub implementation for a UPnP ConnectionManager service. Currently has no implementation. Works great for a PlayStation 3.

Changes:

1.0.0 / 2008-07-23

  • 1 major enhancement
    • Birthday!

Posted in ,  | no comments

UPnP 1.1.0

Eric Hodel | Wed, 23 Jul 2008 08:36:00 GMT

UPnP version 1.1.0 has been released!

An implementation of the UPnP protocol

Changes:

1.1.0 / 2008-07-23

  • 2 major enhancements
    • Server support
    • SSDP now supports sending advertisements
  • 1 bug fix
    • Gem dependencies now listed

Posted in ,  | no comments

RDoc 2.1.0

Eric Hodel | Mon, 21 Jul 2008 05:25:39 GMT

RDoc is an application that produces documentation for one or more Ruby source files. RDoc includes the `rdoc` and `ri` tools for generating and displaying online documentation.

At this point in time, RDoc 2.x is a work in progress and may incur further API changes beyond what has been made to the RDoc 1.0.1. Command-line tools are largely unaffected, but internal APIs may shift rapidly.

  • 3 Major Enhancements:
    • RDoc now knows about meta-programmed methods, see RDoc::Parser::Ruby
    • Reorganized parsers under RDoc::Parser base class
    • ri now walks the ancestors of a class looking for a method e.g. ri File#read displays documentation for IO#read (may require regeneration of ri data)
  • 5 Minor Enhancements:
    • Allow links to files
    • Default options now taken from RDOCOPT environment variable
    • Class method documentation can be found at toplevel now (def X.foo)
    • Allow HTML templates distributed as gems to be loaded with the -T option, just like the standard templates in rdoc/generator/html (so an HTML template lib/new_template.rb in a gem can be used with rdoc -T new_template)
    • `rdoc -v` prints out files, classes, modules and methods as it goes
  • 11 Bug Fixes:
    • `ri Foo.bar` now looks for class methods also
    • Sections work in the default template again
    • Doesn’t warn about :foo:: list item being an unrecognized directive
    • RDoc no longer converts characters inside tt tags
    • Fixed “unitialized constant RDoc::Markup::ToHtml::HTML”
    • Fixed generation of relative links
    • Fixed various diagram generation issues
    • Fixed templates broken by switch to erb
    • Fixed issue with <!- -> style comments
    • Lowercase words are no longer rdoc’d as methods without leading #, as described in the documentation
    • RDoc now correctly sets superclasses if they were originally unknown

Posted in ,  | no comments

UPnP-IGD 1.0.0

Eric Hodel | Mon, 30 Jun 2008 06:45:00 GMT

UPnP-IGD version 1.0.0 has been released!

UPnP-IGD is a UPnP extension for Internet Gateway Devices that displays information about the device. UPnP-IGD is an example of the use of some UPnP APIs.

UPnP-IGD comes with the upnp_igd utility which outputs information like this:

Gateway at http://10.1.1.1/
Connected, up since 2008-06-29 03:31:00 (66123 seconds)
Connection type: IP_Routed
384 Kb/s up, 1536 Kb/s down
External IP address: 10.255.255.254

Port mappings:
0 UDP *:4502  -> 10.1.1.2:4500  "iC4502"
1 UDP *:5355  -> 10.1.1.2:5353  "iC5355"
2 UDP *:58712 -> 10.1.1.3:58712 "Skype UDP at 10.1.1.3:58712 (546)"
3 TCP *:58712 -> 10.1.1.3:58712 "Skype TCP at 10.1.1.3:58712 (546)"
4 UDP *:5353  -> 10.1.1.4:5353  "iC5353"

Unfortunately, UPnP-IGD does not allow anything to be set on the device, and has only been tested against miniupnpd.

Posted in ,  | no comments

Older posts: 1 2 3 ... 20