NEW: archivers/lzo2

View: New views
6 Messages — Rating Filter:   Alert me  

NEW: archivers/lzo2

by Lawrence Teo-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Attached is a port for version 2 of LZO, the high-speed data compression
library (version 1 is in the ports tree as archivers/lzo).

According to the LZO website, version 2 features "major speedups for
64-bit architectures like AMD64, minor overall speedups, portability
enhancements for LLP64 programming models, and lots of other small
improvements." The full changelog is at:

http://www.oberhumer.com/opensource/lzo/lzonews.php

The port is also available at:

http://labs.calyptix.com/openbsd-ports/lzo2.tar.gz

lzo and lzo2 can both be installed on the same system without
conflicting with each other.

Passes regress on amd64 and i386. I would really appreciate testing
on other platforms. Thank you!

Lawrence



lzo2.tar.gz (2K) Download Attachment

Re: NEW: archivers/lzo2

by Landry Breuil-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sun, Jul 20, 2008 at 03:18:38PM -0400, Lawrence Teo wrote:

> Attached is a port for version 2 of LZO, the high-speed data compression
> library (version 1 is in the ports tree as archivers/lzo).
>
> According to the LZO website, version 2 features "major speedups for
> 64-bit architectures like AMD64, minor overall speedups, portability
> enhancements for LLP64 programming models, and lots of other small
> improvements." The full changelog is at:
>
> http://www.oberhumer.com/opensource/lzo/lzonews.php
>
> The port is also available at:
>
> http://labs.calyptix.com/openbsd-ports/lzo2.tar.gz
>
> lzo and lzo2 can both be installed on the same system without
> conflicting with each other.
>
> Passes regress on amd64 and i386. I would really appreciate testing
> on other platforms. Thank you!

Passes regress and seems to work fine @sparc64.
Dunno if it can replace/supersede the original lzo 1.x though.
Thanks!

Landry


Re: NEW: archivers/lzo2

by Marc Espie-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sun, Jul 20, 2008 at 10:04:26PM +0200, Landry Breuil wrote:

> On Sun, Jul 20, 2008 at 03:18:38PM -0400, Lawrence Teo wrote:
> > Attached is a port for version 2 of LZO, the high-speed data compression
> > library (version 1 is in the ports tree as archivers/lzo).
> >
> > According to the LZO website, version 2 features "major speedups for
> > 64-bit architectures like AMD64, minor overall speedups, portability
> > enhancements for LLP64 programming models, and lots of other small
> > improvements." The full changelog is at:
> >
> > http://www.oberhumer.com/opensource/lzo/lzonews.php
> >
> > The port is also available at:
> >
> > http://labs.calyptix.com/openbsd-ports/lzo2.tar.gz
> >
> > lzo and lzo2 can both be installed on the same system without
> > conflicting with each other.
> >
> > Passes regress on amd64 and i386. I would really appreciate testing
> > on other platforms. Thank you!
>
> Passes regress and seems to work fine @sparc64.
> Dunno if it can replace/supersede the original lzo 1.x though.
> Thanks!

Does not, cannot so far...
I've looked at it a while ago, and it's really designed to coexist.
Maybe it's a good idea to have it, the new versions of dxpc can use it,
for instance.


Re: NEW: archivers/lzo2

by Lawrence Teo-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Marc Espie wrote:

> On Sun, Jul 20, 2008 at 10:04:26PM +0200, Landry Breuil wrote:
>  
>> On Sun, Jul 20, 2008 at 03:18:38PM -0400, Lawrence Teo wrote:
>>    
>>> Attached is a port for version 2 of LZO, the high-speed data compression
>>> library (version 1 is in the ports tree as archivers/lzo).
>>>
>>> According to the LZO website, version 2 features "major speedups for
>>> 64-bit architectures like AMD64, minor overall speedups, portability
>>> enhancements for LLP64 programming models, and lots of other small
>>> improvements." The full changelog is at:
>>>
>>> http://www.oberhumer.com/opensource/lzo/lzonews.php
>>>
>>> The port is also available at:
>>>
>>> http://labs.calyptix.com/openbsd-ports/lzo2.tar.gz
>>>
>>> lzo and lzo2 can both be installed on the same system without
>>> conflicting with each other.
>>>
>>> Passes regress on amd64 and i386. I would really appreciate testing
>>> on other platforms. Thank you!
>>>      
>> Passes regress and seems to work fine @sparc64.
>> Dunno if it can replace/supersede the original lzo 1.x though.
>> Thanks!
>>    
>
> Does not, cannot so far...
> I've looked at it a while ago, and it's really designed to coexist.
> Maybe it's a good idea to have it, the new versions of dxpc can use it,
> for instance.
>  
Landry, thank you for testing it on sparc64. Marc, thank you for your
feedback.

I haven't tested it extensively yet but it looks like openvpn can
use lzo2 too if it's available. For me, I started tinkering on lzo2
when I found that it was a dependency for lrzip.

I would appreciate some advice about where to install the header
files:

lzo version 1 (for brevity I'll refer to it as lzo1 from now on)
installs the header files into ${LOCALBASE}/include/

lzo2, as distributed by the author, installs them into
${LOCALBASE}/include/lzo/

I felt that was ambiguous because include/lzo/ could refer to
either lzo1 or lzo2. So I made the lzo2 port install the header
files into ${LOCALBASE}/include/lzo2/ instead.

However, after examining programs like lrzip, dxpc, and openvpn, I
found that all of them try to detect lzo2 in include/lzo/ by
default.

So I'm thinking of removing my patch so that the lzo2 port will
install the header files into include/lzo/ (as intended by its
author) -- it sacrifices clarity, but should result in less work to
port programs that depend on it.

For example, my experiment with dxpc shows that I will have to
create three patches if the header files are in include/lzo2. But no
patches are required if the header files are in include/lzo.

Any thoughts from the more experienced porters?

Thanks,
Lawrence


Re: NEW: archivers/lzo2

by Landry Breuil-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Mon, Jul 21, 2008 at 10:38:39PM -0400, Lawrence Teo wrote:

> Marc Espie wrote:
>> On Sun, Jul 20, 2008 at 10:04:26PM +0200, Landry Breuil wrote:
>>  
>>> On Sun, Jul 20, 2008 at 03:18:38PM -0400, Lawrence Teo wrote:
>>>    
>>>> Attached is a port for version 2 of LZO, the high-speed data compression
>>>> library (version 1 is in the ports tree as archivers/lzo).
>>>>
>>>> According to the LZO website, version 2 features "major speedups for
>>>> 64-bit architectures like AMD64, minor overall speedups, portability
>>>> enhancements for LLP64 programming models, and lots of other small
>>>> improvements." The full changelog is at:
>>>>
>>>> http://www.oberhumer.com/opensource/lzo/lzonews.php
>>>>
>>>> The port is also available at:
>>>>
>>>> http://labs.calyptix.com/openbsd-ports/lzo2.tar.gz
>>>>
>>>> lzo and lzo2 can both be installed on the same system without
>>>> conflicting with each other.
>>>>
>>>> Passes regress on amd64 and i386. I would really appreciate testing
>>>> on other platforms. Thank you!
>>>>      
>>> Passes regress and seems to work fine @sparc64.
>>> Dunno if it can replace/supersede the original lzo 1.x though.
>>> Thanks!
>>>    
>>
>> Does not, cannot so far...
>> I've looked at it a while ago, and it's really designed to coexist.
>> Maybe it's a good idea to have it, the new versions of dxpc can use it,
>> for instance.
>>  
> Landry, thank you for testing it on sparc64. Marc, thank you for your
> feedback.
>
> I haven't tested it extensively yet but it looks like openvpn can
> use lzo2 too if it's available. For me, I started tinkering on lzo2
> when I found that it was a dependency for lrzip.
>
> I would appreciate some advice about where to install the header
> files:
>
> lzo version 1 (for brevity I'll refer to it as lzo1 from now on)
> installs the header files into ${LOCALBASE}/include/
>
> lzo2, as distributed by the author, installs them into
> ${LOCALBASE}/include/lzo/
>
> I felt that was ambiguous because include/lzo/ could refer to
> either lzo1 or lzo2. So I made the lzo2 port install the header
> files into ${LOCALBASE}/include/lzo2/ instead.
>
> However, after examining programs like lrzip, dxpc, and openvpn, I
> found that all of them try to detect lzo2 in include/lzo/ by
> default.
>
> So I'm thinking of removing my patch so that the lzo2 port will
> install the header files into include/lzo/ (as intended by its
> author) -- it sacrifices clarity, but should result in less work to
> port programs that depend on it.
>
> For example, my experiment with dxpc shows that I will have to
> create three patches if the header files are in include/lzo2. But no
> patches are required if the header files are in include/lzo.
>
> Any thoughts from the more experienced porters?

Don't patch ports if it's not _necessary_.. as simple as that from my
point of view. The author made some work to make both coexist this way,
so keep it like that. Adding a note/comment somewhere in Makefile/PLIST
is the way to go imho.

Landry


Re: NEW: archivers/lzo2

by Lawrence Teo-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Landry Breuil wrote:

> On Mon, Jul 21, 2008 at 10:38:39PM -0400, Lawrence Teo wrote:
>  
>> Landry, thank you for testing it on sparc64. Marc, thank you for your
>> feedback.
>>
>> I haven't tested it extensively yet but it looks like openvpn can
>> use lzo2 too if it's available. For me, I started tinkering on lzo2
>> when I found that it was a dependency for lrzip.
>>
>> I would appreciate some advice about where to install the header
>> files:
>>
>> lzo version 1 (for brevity I'll refer to it as lzo1 from now on)
>> installs the header files into ${LOCALBASE}/include/
>>
>> lzo2, as distributed by the author, installs them into
>> ${LOCALBASE}/include/lzo/
>>
>> I felt that was ambiguous because include/lzo/ could refer to
>> either lzo1 or lzo2. So I made the lzo2 port install the header
>> files into ${LOCALBASE}/include/lzo2/ instead.
>>
>> However, after examining programs like lrzip, dxpc, and openvpn, I
>> found that all of them try to detect lzo2 in include/lzo/ by
>> default.
>>
>> So I'm thinking of removing my patch so that the lzo2 port will
>> install the header files into include/lzo/ (as intended by its
>> author) -- it sacrifices clarity, but should result in less work to
>> port programs that depend on it.
>>
>> For example, my experiment with dxpc shows that I will have to
>> create three patches if the header files are in include/lzo2. But no
>> patches are required if the header files are in include/lzo.
>>
>> Any thoughts from the more experienced porters?
>>    
>
> Don't patch ports if it's not _necessary_.. as simple as that from my
> point of view. The author made some work to make both coexist this way,
> so keep it like that. Adding a note/comment somewhere in Makefile/PLIST
> is the way to go imho.
>  
Landry, thanks for the pointers.

I have revised the port with the following changes:

- Header files are now installed in include/lzo/
- Added comments in pkg/PLIST about where lzo/lzo2 puts include files
- SEPARATE_BUILD=simple
- Added information about version 2 to pkg/DESCR

I've also updated the online version at:
http://labs.calyptix.com/openbsd-ports/lzo2.tar.gz

Updating dxpc and openvpn to use lzo2 is much simpler now.

Still passes regress on amd64 and i386. :)

Thanks,
Lawrence


lzo2.tar.gz (2K) Download Attachment
LightInTheBox - Buy quality products at wholesale price!