Re: [146030] trunk/dports/science/clhep/Portfile

2016-02-25 Thread Mojca Miklavec
On 26 February 2016 at 05:51, Ryan Schmidt wrote:
>> On Feb 25, 2016, at 12:29 AM, mo...@macports.org wrote:
>>
>> Revision
>> 146030
>> Author
>> mo...@macports.org
>> Date
>> 2016-02-24 22:29:31 -0800 (Wed, 24 Feb 2016)
>> Log Message
>>
>> clhep: upgrade to version 2.3.1.1, requires C++11 (libc++, clang >= 3.5)
>
> Unless this is a special case, you should include the cxx11 1.0 portgroup, 
> rather than managing the compiler blacklisting yourself

I would.

The problem is the following chunk of code from the PortGroup which
prevents the port from building on < 10.9:

if {${configure.cxx_stdlib} eq "libstdc++"} {
ui_error "${subport} does not support your selected MacPorts
C++ runtime. libc++ must be selected and C++-based ports built against
it."

if {${os.major} < 13} {
ui_error "Please follow the instructions on
https://trac.macports.org/wiki/LibcxxOnOlderSystems.;
ui_error "After adding the required options to
macports.conf, essentially reinstall all ports like you would when
switching OS X versions."
ui_error "Follow step 3 on
https://trac.macports.org/wiki/Migration in order to do this."
}

return -code error "libstdc++ unsupported."
}

(Well, I believe I just found a workaround. If I use both the cxx11
PortGroup as well as set "configure.cxx_stdlib libc++" manually, then
MacPorts seems to be happy even on < 10.9. Is that what I should do?)

> (though it's possible this project has compiler requirements above and beyond 
> what the portgroup uses, in which case you can augment it).

For some reason I have to blacklist clang-3.4 and 3.3 (clang < 600).
This might be a problem in the source code, but at the moment clang
3.4 doesn't work.

> If this port has no C++ library dependencies (looks that way, since it 
> declares no library dependencies at all),

Indeed. No dependencies at all.

> then you can force the use of libc++, which you should do by setting 
> configure.cxx_stdlib to libc++, rather than manually appending to ldflags.

I did. There is already a line
configure.cxx_stdlib libc++
but either this wasn't enough and I had to add another flag to LDFLAGS
or perhaps I was just confused because it kept failing with clang 3.4
during a linking step. I need to test again whether I can leave that
out.

Mojca

See also https://its.cern.ch/jira/browse/CLHEP-134
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


Re: [146030] trunk/dports/science/clhep/Portfile

2016-02-25 Thread Ryan Schmidt

> On Feb 25, 2016, at 12:29 AM, mo...@macports.org wrote:
> 
> Revision
> 146030
> Author
> mo...@macports.org
> Date
> 2016-02-24 22:29:31 -0800 (Wed, 24 Feb 2016)
> Log Message
> 
> clhep: upgrade to version 2.3.1.1, requires C++11 (libc++, clang >= 3.5)

Unless this is a special case, you should include the cxx11 1.0 portgroup, 
rather than managing the compiler blacklisting yourself (though it's possible 
this project has compiler requirements above and beyond what the portgroup 
uses, in which case you can augment it). If this port has no C++ library 
dependencies (looks that way, since it declares no library dependencies at 
all), then you can force the use of libc++, which you should do by setting 
configure.cxx_stdlib to libc++, rather than manually appending to ldflags.


> Modified Paths
> 
>   • trunk/dports/science/clhep/Portfile
> Diff
> 
> Modified: trunk/dports/science/clhep/Portfile (146029 => 146030)
> 
> --- trunk/dports/science/clhep/Portfile   2016-02-25 04:16:15 UTC (rev 
> 146029)
> +++ trunk/dports/science/clhep/Portfile   2016-02-25 06:29:31 UTC (rev 
> 146030)
> 
> @@ -6,7 +6,7 @@
> 
>  PortGroup   compiler_blacklist_versions 1.0
> 
>  
> 
>  nameclhep
> 
> -version 2.3.0.0
> 
> +version 2.3.1.1
> 
>  categories  science
> 
>  maintainers mojca openmaintainer
> 
>  license LGPL-3
> 
> @@ -19,12 +19,17 @@
> 
>  master_sites
> http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/tarFiles/
>  #   http://git.cern.ch/pubweb/CLHEP.git
>  
> 
> -checksums   rmd160  a45f006c0d027566ec6ce3fa0c3a1bbc58c78215 \
> -sha256  
> 63e77f4f34baa5eaa0adb1ca2438734f2d6f5ca112d830650dd005a6109f2397
> 
> +checksums   rmd160  f302bdf9adcc21e0add5cdf62c2db8a4ba95b8eb \
> +sha256  
> 0e2b170df99176feb0aa4f20ea3b33463193c086682749790c5b9b79388d0ff4
> 
>  
> 
>  cmake.out_of_source yes
> 
>  worksrcdir  ${version}/CLHEP
> 
>  
> 
> +configure.cxx_stdlib libc++
> +# https://its.cern.ch/jira/browse/CLHEP-134
> 
> +compiler.blacklist-append *gcc* {clang < 600} macports-clang-3.3 
> macports-clang-3.4
> +compiler.fallback-append macports-clang-3.7 macports-clang-3.6 
> macports-clang-3.5
> +
> 
>  post-build {
> 
>  fs-traverse file ${build.dir} {
> 
>  if {[string match {*-config} ${file}]} {
> 
> @@ -32,6 +37,7 @@
> 
>  }
> 
>  }
> 
>  }
> 
> +configure.ldflags-append -stdlib=libc++
> 
>  
> 
>  livecheck.type  regex
> 
>  livecheck.url   http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/


___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev