Opened 12 years ago

Closed 10 years ago

Last modified 10 years ago

#32897 closed submission (fixed)

Request for new science port whizard

Reported by: Romendakil Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: ryandesign (Ryan Carsten Schmidt), Romendakil
Port: whizard

Description

This is a request to include the new science port whizard, depending on the two ports gcc46 and ocaml.

Attachments (6)

whizard.portfile (2.2 KB) - added by Romendakil 12 years ago.
PortFile for new port whizard
whizard.portfile.2 (2.1 KB) - added by Romendakil 12 years ago.
New WHIZARD Portfile.
whizard.portfile.2.2 (2.1 KB) - added by Romendakil 12 years ago.
New WHIZARD Portfile.
whizard.portfile.3 (2.3 KB) - added by Romendakil 12 years ago.
New WHIZARD Portfile including variants and configure.compiler settings.
whizard.portfile.4 (2.6 KB) - added by Romendakil 12 years ago.
Added variant gcc46.
patch.whizard.portfile (2.1 KB) - added by Romendakil 10 years ago.
Patch file for version upgrade from 2.1.1 to 2.2.0

Download all attachments as: .zip

Change History (30)

Changed 12 years ago by Romendakil

Attachment: whizard.portfile added

PortFile for new port whizard

comment:1 Changed 12 years ago by mf2k (Frank Schima)

Keywords: new port removed
Milestone: MacPorts 2.0.4
Type: requestsubmission
Version: 2.0.3

A few quick notes:

  1. The md5 and sha1 checksums should be removed and a sha256 checksum added.
  2. The gcc46 dependency should probably be a build dep, not a library dep.
  3. "jrr" is not a valid maintainer.
  4. The extract.suffix line can be removed as that is the default.
  5. The blank "configure.pre_args" and "build.args" should be removed as they default to blank.
  6. Are you sure you want to clear "configure.env"? See the guide on the configure phase.
  7. Why make "test" a variant? In other words, why not always run the tests?

Changed 12 years ago by Romendakil

Attachment: whizard.portfile.2 added

New WHIZARD Portfile.

Changed 12 years ago by Romendakil

Attachment: whizard.portfile.2.2 added

New WHIZARD Portfile.

comment:2 in reply to:  1 ; Changed 12 years ago by Romendakil

Replying to macsforever2000@…:

A few quick notes:

  1. The md5 and sha1 checksums should be removed and a sha256 checksum added.

Done that.

  1. The gcc46 dependency should probably be a build dep, not a library dep.

You are right, I did the same for ocaml, where the binaries have to be there, too. In principle, there is an option which uses latex and post, but I don't want to include the whole of texlive as a dependency.

I added a new PortFile (whizard.portfile.2) to superseed the first one. Please let me know of any flaws in the file.

  1. "jrr" is not a valid maintainer.

I removed the shortcut, and kept my email address.

  1. The extract.suffix line can be removed as that is the default.

Done that.

  1. The blank "configure.pre_args" and "build.args" should be removed as they default to blank.

Done that.

  1. Are you sure you want to clear "configure.env"? See the guide on the configure phase.

Ok, I don't need environment variables at all, so I removed the line.

  1. Why make "test" a variant? In other words, why not always run the tests?

comment:3 in reply to:  2 Changed 12 years ago by Romendakil

Replying to juergen.reuter@…:

Replying to macsforever2000@…:

A few quick notes:

  1. The md5 and sha1 checksums should be removed and a sha256 checksum added.

Done that.

  1. The gcc46 dependency should probably be a build dep, not a library dep.

You are right, I did the same for ocaml, where the binaries have to be there, too. In principle, there is an option which uses latex and post, but I don't want to include the whole of texlive as a dependency.

I added a new PortFile (whizard.portfile.2) to superseed the first one. Please let me know of any flaws in the file.

  1. "jrr" is not a valid maintainer.

I removed the shortcut, and kept my email address.

  1. The extract.suffix line can be removed as that is the default.

Done that.

  1. The blank "configure.pre_args" and "build.args" should be removed as they default to blank.

Done that.

  1. Are you sure you want to clear "configure.env"? See the guide on the configure phase.

Ok, I don't need environment variables at all, so I removed the line.

  1. Why make "test" a variant? In other words, why not always run the tests?

Forgot to say: changed the test settings accordingly.

comment:4 Changed 12 years ago by mf2k (Frank Schima)

Thanks for the update. One more question. Is gcc 4.6 required or will gcc 4.5 or even 4.7 work too? If so, then the usual way to handle this - and all ports that require Fortran - is to add variants so the user can choose one version of gcc to compile. See atlas or root as examples of ports which have variants for gcc. The standard is currently to have a variant for gcc45 and make it the default.

comment:5 Changed 12 years ago by Romendakil

Wow, you are really fast. We need at least gcc 4.5, it creates certain memory leaks/runtime errors, also in our test suites. But we catch this, so the corresponding tests are not run when gcc 4.5 is used. Otherwise we are fine, and we in general demand from our developpers that there code must be compilable and executable with gcc 4.5. So you could use 4.5 as the default, though I personally would prefer 4.6. We test usually against regressions with the newest gcc 4.7 (which is in its final phase at the moment), that is also fine. Shall I add the variants to the portfile (I have seen them also in the gsl portfile), or could you do that?

comment:6 Changed 12 years ago by mf2k (Frank Schima)

Please add the variants to the portfile. To set your default gcc locally, add "+gcc46" to /opt/local/etc/macports/variants.conf

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

Instead of individually setting configure.fc, configure.cc, configure.cxx, configure.cpp, why net just set configure.compiler? That's its purpose -- to set all these at once. Instructions for adding gcc variants are at wiki:PortfileRecipes#gcc .

The default for configure.pre_args is not blank; it's "--prefix=${prefix}". If the configure script is not a standard autoconf script, and has a problem with the --prefix argument, you may very well need to clear configure.pre_args or set it to some other value.

Placing the test directives in the main part of the Portfile, instead of in a test variant, is indeed recommend, but that does not cause the tests to run; to run the tests, you still have to ask for them with "sudo port test".

comment:8 in reply to:  7 ; Changed 12 years ago by mf2k (Frank Schima)

Replying to ryandesign@…:

The default for configure.pre_args is not blank; it's "--prefix=${prefix}". If the configure script is not a standard autoconf script, and has a problem with the --prefix argument, you may very well need to clear configure.pre_args or set it to some other value.

I got my information from the guide which clearly needs to be updated.

comment:9 in reply to:  8 Changed 12 years ago by Romendakil

Replying to macsforever2000@…:

Replying to ryandesign@…:

The default for configure.pre_args is not blank; it's "--prefix=${prefix}". If the configure script is not a standard autoconf script, and has a problem with the --prefix argument, you may very well need to clear configure.pre_args or set it to some other value.

I got my information from the guide which clearly needs to be updated.

Ok we are using standard autotools, so that is fine.

Changed 12 years ago by Romendakil

Attachment: whizard.portfile.3 added

New WHIZARD Portfile including variants and configure.compiler settings.

comment:10 Changed 12 years ago by Romendakil

Ok, I added the configure.compiler and the variants. I did not add the configure.compiler before because the Ports manual says that only macports-gcc-4.5 is available, but I assume that both macports-gcc-4.6 and macports-gcc-4.7 are also valid. The new Portfile is attached as whizard.portfile.3. What are the next steps?

comment:11 Changed 12 years ago by Romendakil

When is there any progress? I mean what is the standard time when a new port gets included?

comment:12 Changed 12 years ago by mf2k (Frank Schima)

Sorry for the delay. gcc46 should also be a variant, so please add it. You can make it the default though. Use something like this:

if { ![variant_isset gcc45] &![variant_isset gcc47] } {
  default_variants      +gcc46
}

Changed 12 years ago by Romendakil

Attachment: whizard.portfile.4 added

Added variant gcc46.

comment:13 Changed 12 years ago by Romendakil

Ok I added the variant gcc46. Hope that's it now.

comment:14 Changed 12 years ago by Romendakil

Guys, is there ANY chance to get this included somehow. This was 5 months from now, nothing is happening. I'm getting a bit angry, I have to say. There were at least two new versions of MacPorts now, and still this port is not in there!

comment:15 Changed 12 years ago by Romendakil

I just sent an email to the MACPorts mailing list asking for the general policies. I have NEVER seen any progress on this, NEVER got any timescale, and meanwhile this try to get this included is almost half a year old. So, finally my question: WHAT exactly is the procedure to get something included in the MACPorts setup!? And what is the general timescale?

comment:16 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added
Resolution: fixed
Status: newclosed

Sorry for the delay. I've committed the port in r94626 with these changes:

  • updated to 2.1.0 because 2.0.6 did not install (install: ./gamelan.mem: No such file or directory)
  • fixed license
  • fixed syntax error in long_description (semicolons must be escaped by a backslash)
  • updated homepage and master_sites URLs
  • removed global gcc46 dependency and configure.compiler directive since those already in the gcc46 variant where they belong
  • removed "experimental" designation from gcc47 variant description since the gcc47 port is no longer in beta
  • made the default gcc version gcc45 to match other ports (see wiki:PortfileRecipes#gcc for why it's important that they all match)
  • made gcc4x variants depends_lib instead of depends_build because whizard does link with gcc4x's libraries (sorry we gave incorrect advice about that above)
  • fixed syntax in specifying default_variants
  • fixed livecheck
  • minor whitespace changes

In the future, if tickets do not get answered expediently, please write to the macports-dev mailing list. That's also a good place to ask if you need help developing or testing a portfile.

comment:17 in reply to:  10 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to macsforever2000@…:

Replying to ryandesign@…:

The default for configure.pre_args is not blank; it's "--prefix=${prefix}". If the configure script is not a standard autoconf script, and has a problem with the --prefix argument, you may very well need to clear configure.pre_args or set it to some other value.

I got my information from the guide which clearly needs to be updated.

The guide appears to already be correct on this point. It says:

configure.pre_args, defaults to: --prefix=${prefix}

Replying to juergen.reuter@…:

I did not add the configure.compiler before because the Ports manual says that only macports-gcc-4.5 is available, but I assume that both macports-gcc-4.6 and macports-gcc-4.7 are also valid.

I've updated the guide to correct this omission in r94627.

Changed 10 years ago by Romendakil

Attachment: patch.whizard.portfile added

Patch file for version upgrade from 2.1.1 to 2.2.0

comment:18 Changed 10 years ago by Romendakil

Resolution: fixed
Status: closedreopened

Request to update the Portfile from revision 2 to 3, as the WHIZARD package software version has been changed from 2.1.1 to 2.2.0. Also new compiler dependencies (gcc versions). The patch file is attached.

comment:19 Changed 10 years ago by Romendakil

Cc: juergen.reuter@… added

Cc Me!

comment:20 Changed 10 years ago by mf2k (Frank Schima)

Resolution: fixed
Status: reopenedclosed

Please do not re-open this ticket. Instead you should open a new "Update" ticket for this port and attach your patch as a unified diff.

comment:21 Changed 10 years ago by mf2k (Frank Schima)

Also, the revision field should be removed when increasing the version so it resets to the default of 0.

comment:22 Changed 10 years ago by Romendakil

Ok, thanks will do so the next time.

comment:23 in reply to:  21 ; Changed 10 years ago by Romendakil

Replying to mf2k@…:

Also, the revision field should be removed when increasing the version so it resets to the default of 0.

Actually, how long does it take to be available. At the moment I still get

$ port search whizard
whizard @2.1.1_1 (science)
    Generator of high-energy physics events

comment:24 in reply to:  23 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to juergen.reuter@…:

Actually, how long does it take to be available. At the moment I still get

$ port search whizard
whizard @2.1.1_1 (science)
    Generator of high-energy physics events

Run sudo port selfupdate or sudo port sync to receive changes we've committed. If your ports are fetching from the main rsync server (the default), changes should be available to you within 30 minutes of being committed. If using a mirror rsync server elsewhere in the world, it may be delayed by some hours more. If using a Subversion working copy from our main repository, changes are available instantly.

Note: See TracTickets for help on using tickets.