[Ifeffit] MacPorts XAFS software: announcing a Port for Larch; and do we actually need Demeter on Macs?

Fowler, Joseph W. (Assoc) joe.fowler at nist.gov
Thu Nov 11 09:17:47 CST 2021

Hello XAFS fans:

This note is about the Demeter package on MacPorts. If you don’t use Demeter through MacPorts on a Mac, skip this note.

I’m the MacPorts “maintainer” of the ports demeter and ifeffit. They have been not installable or upgradeable for something like a year, because of new releases of … something?  Probably either Mac OS X, and/or Apple's Xcode development system. I’ve made a ton of progress on my big goal of restoring demeter to life, but I cannot get all the way to finish the project.

I have to say here that I’m a poor choice to maintain these ports. I barely understand how MacPorts works, and I don’t understand or use Perl at all. I am not even really an x-ray scientist—I develop superconducting x-ray sensors in a team at NIST, and I happened to be a collaborator of the previous maintainer when he left the field 6 or 8 years ago.

I worked on the problem in two parallel paths. One was to create an official port for the Python package Larch. Late last month this was complete, so you can do a “sudo port install py39-xraylarch” and have it. (Replace “py39” with “py38” or “py37” if you use Python 3.8/3.7.)  This required creating about a dozen new ports for Larch’s dependencies. (Actually, I know a ton more about how MacPorts works than I did six weeks ago.) Some new ports that might be of interest to this community include:

  *   py39-pymatgen
  *   py39-peakutils
  *   py39-xraydb
  *   py39-spglib
  *   py39-xraylarch

My other path was to track down and fix the problem that prevented ifeffit from compiling. (Recall that this package is unmaintained since 2014. See https://github.com/newville/ifeffit/). It looks like Xcode’s C compiler recently turned the “implicit function warning” into an error. A few hours ago, MacPorts accepted my proposed patches, so at least ifeffit should be installable as a port again.

Unfortunately, demeter still won’t install completely, owing to problems in certain Perl-based ports that it depends upon, like p5.30-wx. That problem is so far from my expertise that I am completely stuck. I had hoped that if I got ifeffit to work, demeter would follow, but I was wrong.

There are four strategies I can imagine from here:

1. Declare the ports ifeffit and demeter to be obsolete. Mac users will need to figure out other ways to do what Athena and Artemis do.
2. Wait until Perl experts fix the Perl dependencies (expect it to take months or more), then I fix demeter.
3. Modify/migrate Demeter so that Athena and Artemis rely completely on Larch and not at all on ifeffit.
4. Ask this mailing list for advice.

I don’t know what strategy #3 would entail—again, I know zero Perl and don’t use this software. Demeter’s author told me he doesn’t have much interest in this upgrade. All I can really support alone is strategy #1 or #2: obsoleting or waiting.

And that’s why I’m writing. On one side, does anyone care if Athena/Artemis become unavailable through MacPorts? So, does anyone object to path #1? On the other, does anyone here have better ideas?

Best wishes,
Joe Fowler
NIST Boulder Labs
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://millenia.cars.aps.anl.gov/pipermail/ifeffit/attachments/20211111/a207c0a0/attachment.htm>

More information about the Ifeffit mailing list