Page MenuHomeFreeBSD

[NEW PORT] archivers/c-blosc: Blocking, shuffling and loss-less compression library
ClosedPublic

Authored by ultima on Aug 5 2017, 11:08 PM.

Details

Summary

Blosc is a high performance compressor optimized for binary data.
It has been designed to transmit data to the processor cache faster
than the traditional, non-compressed, direct memory fetch approach
via a memcpy() OS call. Blosc is the first compressor (that I'm aware of)
that is meant not only to reduce the size of large datasets on-disk or
in-memory, but also to accelerate memory-bound computations.

WWW: http://blosc.org/

PR\: 220908
Submitted by\: Iblis Lin <iblis@hs.ntnu.edu.tw> (maintainer)
Reviewed by\: lifanov (mentor), matthew (mentor)
Approved by\: lifanov (mentor), matthew (mentor)
Differential Revision\: https://reviews.freebsd.org/DXXXXX

Test Plan

portlint:
looks fine.

poudriere:
103i386
103amd64
110i386
110amd64
12i386
12amd64

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

ultima created this revision.Aug 5 2017, 11:08 PM
ultima added inline comments.Aug 5 2017, 11:10 PM
archivers/Makefile
17–18 ↗(On Diff #31633)

I'm not sure if special characters are sorted before or after alpha.

ultima updated this revision to Diff 31645.Aug 6 2017, 7:15 AM
  • Fix for tests on 103amd64/i386
matthew added inline comments.Aug 7 2017, 10:13 AM
archivers/Makefile
17–18 ↗(On Diff #31633)

The ordering is like so:

foo
foo-bar
foo-baz
foobar

so what you have here is correct. In any case, you can use the addport.sh script to add a new port, and it will insert entries in the category makefile in the correct
order.

mat added inline comments.Aug 7 2017, 1:01 PM
archivers/Makefile
17–18 ↗(On Diff #31633)

We use the C ordering, so, LANG=C sort. Best would be to use the addport script to add ports, so you do not have to think about these things.

archivers/c-blosc/Makefile
20 ↗(On Diff #31645)

Default, remove.

28 ↗(On Diff #31645)
USE_STDC= c11
34–35 ↗(On Diff #31645)

I think all of those could be simplified with doing:

STATIC_CMAKE_BOOL= BUILD_STATIC
mat added inline comments.Aug 7 2017, 1:07 PM
archivers/c-blosc/Makefile
28 ↗(On Diff #31645)

Oops, I get it wrong half the time:

USE_CSTD= c11
ultima added a comment.Aug 7 2017, 6:27 PM

Yeah, I have been using the addport script. Just not sure if this should be added to the diff as well, I guess not.

archivers/c-blosc/Makefile
28 ↗(On Diff #31645)

Got it, btw why doesn't compiler:c11 set this automagically? I can't see a good reason for requesting a standards and not also enforcing it as the USES does here. What am I missing?

34–35 ↗(On Diff #31645)

Will fix and verify.

mat added inline comments.Aug 7 2017, 8:45 PM
archivers/c-blosc/Makefile
28 ↗(On Diff #31645)

Because they are not the same thing.

  • compiler:c11 means I need a compiler that understands c11
  • -std=c11 means that the code is written according to the c11 syntax.

You can write C code using, say, the c99 syntax and using some c11 features, and you can write code that uses the c11 syntax and only uses basic features from the k&r times.

ultima added inline comments.Aug 7 2017, 9:35 PM
archivers/c-blosc/Makefile
28 ↗(On Diff #31645)

That makes sense, I am still learning C, understand the basics but don't know many of the libraries. Don't understand the difference in standards had thought the newer standards just added headers for new functions in the core language. Thanks for explanation.

ultima updated this revision to Diff 31728.Aug 7 2017, 10:11 PM

Removed GH_PROJECT, Added USE_CSTD= c11, optimised option helpers

ultima added inline comments.Aug 7 2017, 10:13 PM
archivers/c-blosc/Makefile
34–35 ↗(On Diff #31645)

Most of them are backwards, on is off and off is on so that can't utilize the _bool option helper.

mat added inline comments.Aug 7 2017, 10:15 PM
archivers/c-blosc/Makefile
34–35 ↗(On Diff #31645)
ultima updated this revision to Diff 31733.Aug 8 2017, 12:04 AM

Added the double negative option helper

This revision is now accepted and ready to land.Aug 8 2017, 10:06 PM
This revision was automatically updated to reflect the committed changes.