GenericMappingTools / pygmt

A Python interface for the Generic Mapping Tools.
https://www.pygmt.org
BSD 3-Clause "New" or "Revised" License
758 stars 220 forks source link

Basic support for FreeBSD #698

Closed seisman closed 3 years ago

seisman commented 3 years ago

Description of the desired feature

Although FreeBSD is not as popular as Linux/macOS/Windows, there are still some FreeBSD + GMT users (see https://forum.generic-mapping-tools.org/t/building-gmt-on-freebsd-12-1-release/967), and they're also potential PyGMT users.

As I understand it, sys.platform will return freebsdX on FreeBSD X, thus function clib_names will report an error:

Operating system "freebsdx" not supported.

What we can do is:

  1. Confirm the return value of sys.platform on FreeBSD (freebsdX if I understand the docs correctly)
  2. Confirm the suffix of shared libraries on FreeBSD (.so based on search results)
  3. Add an if test for freebsd

For points 1 and 2, we may ask for some help in this post https://forum.generic-mapping-tools.org/t/967.

We won't have a CI job testing FreeBSD, but at least we can provide some basic support.

Are you willing to help implement and maintain this feature? Yes, but we need more inputs from FreeBSD users.

weiji14 commented 3 years ago

We won't have a CI job testing FreeBSD, but at least we can provide some basic support.

Seems like Travis CI has experimental FreeBSD support according to https://travis-ci.community/t/freebsd-vms-support/2125 (see https://travis-ci.com/github/travis-ci/cpython-builder/jobs/377800347/config for an example). So it is possible to test it :slightly_smiling_face:

seisman commented 3 years ago

Don't want to add Travis CI back, and conda-forge may NOT support FreeBSD (https://github.com/conda/conda/issues/61).

weiji14 commented 3 years ago

Yeah, but maybe we should at least run our full test suite at least once on FreeBSD somehow. Either we do it through (Travis) CI, set up a FreeBSD Virtual Machine (e.g. via QEMU) or have a FreeBSD user test things.

seisman commented 3 years ago

See feedbacks from FreeBSD users https://forum.generic-mapping-tools.org/t/building-gmt-on-freebsd-12-1-release/967/18