Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > [ANN] pr-zlib 1.0.0 - A Pure Ruby zlib library

Reply
Thread Tools

[ANN] pr-zlib 1.0.0 - A Pure Ruby zlib library

 
 
Daniel Berger
Guest
Posts: n/a
 
      06-13-2009
Hi all,

The Pure Team is pleased to announce the release of pr-zlib 1.0.0.

= What is it?

The pr-zlib library is actually two separate libraries packaged together.
The first, rbzlib.rb, is a pure Ruby port of zlib.h (the C library). It's a
module that you can mixin and use as you see fit. The second, zlib.rb, is a
pure Ruby version of the Ruby interface to the zlib C library that ships as
part of the Ruby standard library.

= How do I get it?

gem install pr-zlib

Or, just go the RubyForge project page at
http://www.rubyforge.org/projects/pure, download the source and run either
'rake install' or 'rake install_as_zlib' (which will install the library as
'zlib' instead of 'pr/zlib').

= How do I use it?

require 'pr/zlib'
# The rest is the same as the zlib that ships with the Ruby stdlib.

= Why? (Also in the README)

First, building the zlib C library on MS Windows with Visual C++ is very
difficult. However, certain libraries depend on zlib, most notably rubygems.
By providing a pure Ruby version we eliminate any compiler or platform
compatibility issues.

Second, even some Unix distributions, such as Debian, do not ship with the
zlib library by default. By creating a pure Ruby version of the zlib library
we eliminate the need to install a 3rd party C library, and eliminate a
potential weak link in the dependency chain.

Third, by creating pure Ruby versions of the library and the interface we
are more likely to receive patches, feature requests, documentation updates,
etc, from the Ruby community (I hope) since not everyone who knows Ruby also
knows C.

Last, the zlib interface that ships as part of the stdlib is a little on the
clunky side IMO. By providing a pure Ruby version, authors can create their
own interface as they see fit.

= What about Zliby?

Two things. First, Michael has not released the version of the code that
supports Zlib::GzipWriter. Second, Zliby merges the code into a single file.
The pr-zlib splits the code into its two parts - rbzlib.rb and zlib.rb. The
former is a module that can be used separately. As I mentioned earlier, that
means users can create their own interface if they prefer.

= Feeling Generous?

If you think this is a useful library, and would like to see more time spent
on others like it, please consider a contribution:

http://pledgie.com/campaigns/4706 (Daniel's general drive)

http://www.velocityreviews.com/forums/(E-Mail Removed) (Heesob on Paypal)

Enjoy!

The Pure Team (Daniel Berger and Park Heesob)


 
Reply With Quote
 
 
 
 
trans
Guest
Posts: n/a
 
      06-13-2009


On Jun 13, 12:02=A0am, "Daniel Berger" <(E-Mail Removed)> wrote:
> Hi all,
>
> The Pure Team is pleased to announce the release of pr-zlib 1.0.0.
>
> =3D What is it?
>
> The pr-zlib library is actually two separate libraries packaged together.
> The first, rbzlib.rb, is a pure Ruby port of zlib.h (the C library). It's=

a
> module that you can mixin and use as you see fit. The second, zlib.rb, is=

a
> pure Ruby version of the Ruby interface to the zlib C library that ships =

as
> part of the Ruby standard library.
>
> =3D How do I get it?
>
> gem install pr-zlib
>
> Or, just go the RubyForge project page athttp://www.rubyforge.org/project=

s/pure, download the source and run either
> 'rake install' or 'rake install_as_zlib' (which will install the library =

as
> 'zlib' instead of 'pr/zlib').
>
> =3D How do I use it?
>
> require 'pr/zlib'
> # The rest is the same as the zlib that ships with the Ruby stdlib.


I wonder if this would be more desirable actually in the standard
library for the reasons you give.

> =3D Why? (Also in the README)
>
> First, building the zlib C library on MS Windows with Visual C++ is very
> difficult. However, certain libraries depend on zlib, most notably rubyge=

ms.
> By providing a pure Ruby version we eliminate any compiler or platform
> compatibility issues.
>
> Second, even some Unix distributions, such as Debian, do not ship with th=

e
> zlib library by default. By creating a pure Ruby version of the zlib libr=

ary
> we eliminate the need to install a 3rd party C library, and eliminate a
> potential weak link in the dependency chain.
>
> Third, by creating pure Ruby versions of the library and the interface we
> are more likely to receive patches, feature requests, documentation updat=

es,
> etc, from the Ruby community (I hope) since not everyone who knows Ruby a=

lso
> knows C.
>
> Last, the zlib interface that ships as part of the stdlib is a little on =

the
> clunky side IMO. By providing a pure Ruby version, authors can create the=

ir
> own interface as they see fit.


Good show, gents.

Maybe some benchmarks?

T.

 
Reply With Quote
 
 
 
 
Robert Dober
Guest
Posts: n/a
 
      06-13-2009
On Sat, Jun 13, 2009 at 10:54 AM, trans<(E-Mail Removed)> wrote:
>
>
> On Jun 13, 12:02=A0am, "Daniel Berger" <(E-Mail Removed)> wrote:
>
>> =3D How do I use it?
>>
>> require 'pr/zlib'
>> # The rest is the same as the zlib that ships with the Ruby stdlib.

>
> I wonder if this would be more desirable actually in the standard
> library for the reasons you give.

+1 and kudos to the pure team
Robert
>


 
Reply With Quote
 
Roger Pack
Guest
Posts: n/a
 
      06-14-2009

> I wonder if this would be more desirable actually in the standard
> library for the reasons you give.


or perhaps included with rubygems as a backup?
=r
--
Posted via http://www.ruby-forum.com/.

 
Reply With Quote
 
Daniel Berger
Guest
Posts: n/a
 
      06-14-2009
> -----Original Message-----
> From: (E-Mail Removed) [(E-Mail Removed)]
> Sent: Saturday, June 13, 2009 9:05 PM
> To: ruby-talk ML
> Subject: Re: pr-zlib 1.0.0 - A Pure Ruby zlib library
>=20
>=20
> > I wonder if this would be more desirable actually in the standard
> > library for the reasons you give.

>=20
> or perhaps included with rubygems as a backup?


http://rubyforge.org/tracker/index.p...2220&group_id=
=3D126&atid=3D578

Originally I was going to use zliby, but I think what we'll do is try to =
load pr/zlib if zlib can't be found. So, you'll have to install one or =
the other first at some point, but at least you'll have a choice.

Regards,

Dan


 
Reply With Quote
 
Roger Pack
Guest
Posts: n/a
 
      06-21-2009
> Or, just go the RubyForge project page at
> http://www.rubyforge.org/projects/pure, download the source and run
> either
> 'rake install' or 'rake install_as_zlib' (which will install the library
> as
> 'zlib' instead of 'pr/zlib').


Thanks much--just used it to overcome a

C:\installs\ruby_trunk_installed\bin>gem list
C:/installs/ruby_trunk_installed/lib/ruby/1.9.1/rubygems/spec_fetcher.rb:1:in
`require': no such file to load -- zlib (LoadError)

and it worked and gems installed successfully using it. Sweet.

-=r
--
Posted via http://www.ruby-forum.com/.

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Most simple usage of zlib or pr-zlib Nicholas Wieland Ruby 4 03-10-2011 04:48 AM
zlib.decompress fails, zlib.decompressobj succeeds - bug or feature? Matthew Brett Python 4 05-09-2010 09:19 PM
[BOUNTY] Pure Ruby Zlib::GzipWriter Daniel Berger Ruby 42 01-17-2009 01:17 AM
Pure Ruby zlib? Daniel Berger Ruby 4 12-10-2007 03:53 PM
Pure functions still pure after definition Todd Aspeotis C++ 3 05-30-2005 03:53 AM



Advertisments