Opened 7 years ago

Closed 7 years ago

#54573 closed submission (fixed)

New port for Fricas (a Computer Algebra System)

Reported by: pietvo (Pieter van Oostrum) Owned by: mf2k (Frank Schima)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: piet, @…
Port: fricas

Description

This is a new port for the Fricas CAS.

Attachments (3)

use-macports-gmp.patch (937 bytes) - added by pietvo (Pieter van Oostrum) 7 years ago.
Patch file
Portfile (3.5 KB) - added by pietvo (Pieter van Oostrum) 7 years ago.
Here is the new Portfile.
Portfile.2 (3.4 KB) - added by mf2k (Frank Schima) 7 years ago.
Updated with some whitespace changes.

Download all attachments as: .zip

Change History (12)

Changed 7 years ago by pietvo (Pieter van Oostrum)

Attachment: use-macports-gmp.patch added

Patch file

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

Thanks. Some comments:

  • If the GitHub handle and the obfuscated email address in the maintainers line represent the same person, they should be grouped in curly braces ({}).
  • supported_archs is a normal MacPorts "option", and as such the values are separated by whitespace; there should not be a comma.
  • license is also a normal "option", so MacPorts thinks this port is under three licenses, called "Modified", "BSD", and "license", which isn't what you wanted. If the software's license is sufficiently close to BSD, particularly with regard to distributability, then just put "BSD", otherwise just put "Permissive". If desired, you can clarify the license in a comment line above the license line.
  • Usually, we want rmd160 and sha256 checksums listed. Additional checksum types may be added to those if upstream publishes them.
  • configure.cmd and build.cmd should usually only be the actual command to run. The directory in which they should run should be set instead in configure.dir and build.dir. If you need to create the build directory, do so in a pre-configure block. If you need to set build args like setting the MAYBE_VIEWPOINT variable, use build.args.
  • The x11 variant should not depend on xorg. Nothing should; the xorg port is a convenience port enabling the user to install all of X at once. Ports should instead depend on the specific ports providing the specific libraries needed. You wrote the xorg dependency on the libX11 library. That library is in fact provided by the xorg-libX11 port, so you should depend on port:xorg-libX11, not lib:libX11.6:xorg. Note that you should not use a lib:-style dependency because that would allow software that wasn't installed with MacPorts to satisfy the dependency, which is not usually what we want.
  • It would be clearer if the code relating to the sbcl variant were contained within the sbcl variant. This would eliminate the need for each of the conflicting variants to remove the sbcl dependency and configure arg.
  • Similarly, it would be clearer if the post-patch code relating to the gmp variant were contained within the gmp variant.
  • The tabs should be converted to spaces and the whitespace fixed so that more of the portfile is neatly aligned into two columns.

comment:2 in reply to:  1 Changed 7 years ago by pietvo (Pieter van Oostrum)

Replying to ryandesign:

Thanks for the remarks. This is the first time I am doing this. I will make the changes and submit a new Portfile.

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

Some more comments:

  • The revision line should be deleted because it starts at 0 when increasing the version and that is the default value.
  • Instead of setting distfiles, simply set the distname. That will likely remove the need to set pre-configure, configure.dir and configure.cmd.

comment:4 in reply to:  3 Changed 7 years ago by pietvo (Pieter van Oostrum)

Replying to mf2k:

Some more comments:

  • The revision line should be deleted because it starts at 0 when increasing the version and that is the default value.

OK.

  • Instead of setting distfiles, simply set the distname. That will likely remove the need to set pre-configure, configure.dir and configure.cmd.

I can set distname to ${name}-${version}-full because the distribution tar file contains the word full. But then I must set worksrcdir to ${name}-${version} because the extracted directory name does not contain the word full.

And pre-configure, configure.dir and configure.cmd are still necessary because Fricas must be built in a separate (empty) directory, not in the source directory.

Changed 7 years ago by pietvo (Pieter van Oostrum)

Attachment: Portfile added

Here is the new Portfile.

Changed 7 years ago by mf2k (Frank Schima)

Attachment: Portfile.2 added

Updated with some whitespace changes.

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

Have you tested the +universal build?

comment:6 in reply to:  5 Changed 7 years ago by pietvo (Pieter van Oostrum)

Replying to mf2k:

Have you tested the +universal build?

Actually, no. I'll do that now.

comment:7 in reply to:  5 Changed 7 years ago by pietvo (Pieter van Oostrum)

Well, it appears that macports doesn't provide a +universal variant for sbcl, ccl and ecl, although at least sbcl is available for i386 (I haven't checked for the others).

So that means until such a variant will be provided, neither will fricas support it. So I guess the i386 architecture must be removed.

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

Actually, you don't need to remove the i386 arch. It appears that sbcl can build with i386 or x86_64 but not both (which is what universal does). So simply removing the universal variant by adding the following line would be best:

universal_variant      no

I will commit it with this change.

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

Owner: set to mf2k
Resolution: fixed
Status: newclosed

In 0960925f69ba5488fbfb8757f0cffaea85757d9b/macports-ports:

fricas: New port submitted by pietvo

Closes: #54573

Note: See TracTickets for help on using tickets.