Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nccmp: new port #4084

Merged
merged 2 commits into from
Jun 16, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
36 changes: 36 additions & 0 deletions science/nccmp/Portfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4

PortSystem 1.0

# this port can optionally be built with cmake (but then tests are run in a different way)
#PortGroup cmake 1.1

name nccmp
version 1.8.5.0
categories science
maintainers {noaa.gov:dave.allured @Dave-Allured} openmaintainer
platforms darwin
license GPL-2
description Tool for comparing NetCDF files
long_description nccmp compares two NetCDF files bitwise, semantically or \
with a user defined tolerance. Highly recommended for regression testing \
scientific models or datasets in a test-driven development environment.

homepage https://gitlab.com/remikz/nccmp
master_sites https://gitlab.com/remikz/nccmp/-/archive/${version}/
use_bzip2 yes

checksums rmd160 ac2a2ca3fc23ceea008d2652fd21c18c43733a74 \
sha256 bf5fa189a89d97973c868d7e7c57403790cb0ad3d9549f08a85c68c3cfb0fc78 \
size 306586

depends_lib port:netcdf
Copy link
Contributor

@mf2k mf2k Apr 17, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to the README, you need to add a configure argument to locate netcdf in the Macports (i.e. non-standard) location.

maybe something like:

configure.args-append --with-netcdf=${prefix}/lib/

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The configure was complaining, but I had an impression that the binary correctly linked to netcdf. What is non-standard in our netcdf installation?

That said, cmake configuration is different (and I would have used it if I didn't have issues running the unit tests; admittedly I did not spend any significant amount of time trying to get them to work).

But I'm way more confused about why all the build failures happened.

@Dave-Allured: Can you please check? If you want to maintain a port, providing the feedback about whether a patch works is the minimum you would be asked to do :).
We can help you with macports side of things, but I have absolutely no idea what to do with this software, how to test it etc.

Copy link
Contributor

@mf2k mf2k Apr 22, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just mean /opt/local vs. /usr/local. Most software does not look in the Macports default install location.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The xcode 10.2 job failed during fetch, due to coincidence of various server problems on three different mirror sites. I think the error from gitlab.com was transient, and this job should simply be retried.

However, wait on that, because the other two logs show the same destroot failure. This is probably universal, so we should figure that out first. It looks like the nccmp binary built fine, then something went wrong in destroot. From xcode 9.4 log, similar in xcode 8.3:

467. /bin/sh: .././install-sh: Permission denied
468. make[2]: *** [install-man1] Error 1

Is this a simple permission problem on install-sh? This is where my experience runs short. I don't know how to dig into the files in a broken build on the Macports test platform.


post-extract {
# Fix build when coreutils port is not installed.
# https://gitlab.com/remikz/nccmp/issues/7
file attributes ${worksrcpath}/install-sh -permissions a+x
}

test.run yes
test.target check