Opened 10 years ago

Closed 10 years ago

#43339 closed update (fixed)

Update arb to 6.0

Reported by: mattcottrell Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: haspatch maintainer Cc:
Port: arb

Description

This update is arb 6.0. The port now builds with clang and is compatible with Mavericks.

Attachments (5)

patch-ARB-arb.diff (295 bytes) - added by mattcottrell 10 years ago.
patch-ARB-ARBDB.diff (490 bytes) - added by mattcottrell 10 years ago.
patch-ARB-config.makefile.diff (810 bytes) - added by mattcottrell 10 years ago.
patch-ARB-intro.fig.diff (5.1 KB) - added by mattcottrell 10 years ago.
Portfile.diff (5.4 KB) - added by mattcottrell 10 years ago.
Addresses license and unknown dependency issues

Download all attachments as: .zip

Change History (12)

Changed 10 years ago by mattcottrell

Attachment: patch-ARB-arb.diff added

Changed 10 years ago by mattcottrell

Attachment: patch-ARB-ARBDB.diff added

Changed 10 years ago by mattcottrell

Changed 10 years ago by mattcottrell

Attachment: patch-ARB-intro.fig.diff added

comment:1 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Thanks. Some remarks about your changes:

You've set the version field to 6.0, but it appears to actually be downloading version 6.0-rc1. You shouldn't deceive the user as to what version they're going to get. If this is 6.0-rc1, put 6.0-rc1 in the version field. We usually update ports to stable versions, not release candidates or other development releases. However if you as maintainer feel that 6.0-rc1 is more stable or more usable than the official latest stable release 5.5 then that's ok.

You've added a dependency on port:glib2. You should instead write path:lib/pkgconfig/glib-2.0.pc:glib2 so that glib2-devel could satisfy the dependency.

You've added this block:

                        # https://trac.macports.org/ticket/33756 
                        if {${configure.compiler} == "llvm-gcc-4.2"} { 
                             configure.compiler clang 
                        } 

The correct way to express this is:

compiler.blacklist *llvm-gcc-4.2

This will blacklist both the Xcode and MacPorts versions of llvm-gcc and will use the next best compiler, which will most likely be a version of clang.

However, you should fix the ticket citation. #33756 is about clang not working; it says nothing about llvm-gcc-4.2 not working (quite the opposite, in fact).

You added this check:

#Adjusting configure flags for Clang on Lion (ticket #34545)
if {${configure.compiler} == "clang"} { 
    configure.args-append   -CXX_FLAGS="-Wno-reserved-user-defined-literal -stdlib=libc++" 

Note that MacPorts may select a different clang compiler, i.e. one provided by MacPorts rather than one from Xcode. To target any version of clang, you should usually use:

if {[string match *clang* ${configure.compiler}]} {

However, setting -stdlib=libc++ is suspect. Have you read wiki:FAQ#libcpp? You cite #34545, but that's about kdevplatform, not arb, and the code in question, although it was added to kdevplatform 22 months ago, was subsequently changed.

comment:2 in reply to:  1 Changed 10 years ago by mattcottrell

Replying to ryandesign@…:

Thanks. Some remarks about your changes:

You've set the version field to 6.0, but it appears to actually be downloading version 6.0-rc1. You shouldn't deceive the user as to what version they're going to get. If this is 6.0-rc1, put 6.0-rc1 in the version field. We usually update ports to stable versions, not release candidates or other development releases. However if you as maintainer feel that 6.0-rc1 is more stable or more usable than the official latest stable release 5.5 then that's ok.

The Portfile now accurately reflects the release candidate status of this arb version. I've been in frequent contact with the upstream developers and they agree that 6.0 rc1 is a better option for users than the the old 5.5 version.

You've added a dependency on port:glib2. You should instead write path:lib/pkgconfig/glib-2.0.pc:glib2 so that glib2-devel could satisfy the dependency.

Thanks for the correct syntax fort glib2.

You've added this block:

                        # https://trac.macports.org/ticket/33756 
                        if {${configure.compiler} == "llvm-gcc-4.2"} { 
                             configure.compiler clang 
                        } 

The correct way to express this is:

compiler.blacklist *llvm-gcc-4.2

Thanks for the blacklist syntax.

This will blacklist both the Xcode and MacPorts versions of llvm-gcc and will use the next best compiler, which will most likely be a version of clang.

However, you should fix the ticket citation. #33756 is about clang not working; it says nothing about llvm-gcc-4.2 not working (quite the opposite, in fact).

You added this check:

#Adjusting configure flags for Clang on Lion (ticket #34545)
if {${configure.compiler} == "clang"} { 
    configure.args-append   -CXX_FLAGS="-Wno-reserved-user-defined-literal -stdlib=libc++" 

Note that MacPorts may select a different clang compiler, i.e. one provided by MacPorts rather than one from Xcode. To target any version of clang, you should usually use:

if {[string match *clang* ${configure.compiler}]} {

However, setting -stdlib=libc++ is suspect. Have you read wiki:FAQ#libcpp? You cite #34545, but that's about kdevplatform, not arb, and the code in question, although it was added to kdevplatform 22 months ago, was subsequently changed.

I don't know why I included that Lion check. It must have crept in from old versions on my system.

A revised Portile.diff is attached.

comment:3 Changed 10 years ago by mf2k (Frank Schima)

The compiler.blacklist *llvm-gcc-4.2 line should not be placed inside the if {${configure.compiler} == "llvm-gcc-4.2"} block. Just remove the if statement.

comment:4 in reply to:  3 Changed 10 years ago by mattcottrell

Replying to macsforever2000@…:

The compiler.blacklist *llvm-gcc-4.2 line should not be placed inside the if {${configure.compiler} == "llvm-gcc-4.2"} block. Just remove the if statement.

Thanks for the compiler blacklist help. Revised Portfile.diff is attached.

comment:5 Changed 10 years ago by mf2k (Frank Schima)

Note these issues:

$ port lint --nitpick 
--->  Verifying Portfile for arb
Error: Unknown dependency: glib
Warning: no license set
--->  1 errors and 1 warnings found.

Changed 10 years ago by mattcottrell

Attachment: Portfile.diff added

Addresses license and unknown dependency issues

comment:6 in reply to:  5 Changed 10 years ago by mattcottrell

Replying to macsforever2000@…:

Note these issues:

$ port lint --nitpick 
--->  Verifying Portfile for arb
Error: Unknown dependency: glib
Warning: no license set
--->  1 errors and 1 warnings found.

Portfile now includes license info. The unknown dependency issue is resolved as well.

comment:7 Changed 10 years ago by mf2k (Frank Schima)

Resolution: fixed
Status: newclosed
Version: 2.2.1
Note: See TracTickets for help on using tickets.