Repository: macports/macports-ports
Pull request #27711: eso-flames-fposs: new port
Author: login: JohnPritchard
Labels: name: type: enhancement
name: type: submission
Created: 2025-02-18T13:24:23Z | Merged: 2025-03-17T01:14:36Z

#### Description

New Portfile eso-flames-fposs
FPOSS is the Observation preparation Software for the FLAMES instrument on the European Southern Observatory's Very large telescope.

###### Type(s)

- [ ] bugfix
- [x] enhancement
- [ ] security fix

###### Tested on
macOS 15.3.1 24D70 arm64
Xcode 16.2 16C5032a

###### Verification <!-- (delete not applicable items) -->
Have you

- [x] followed our [Commit Message Guidelines](https://trac.macports.org/wiki/CommitMessages)?
- [x] squashed and [minimized your commits](https://guide.macports.org/#project.github)?
- [x] checked your Portfile with `port lint`?
- [x] tried existing tests with `sudo port test`?
- [x] tried a full install with `sudo port -vst install`? ```port -vst install``` fails, but ```port -vs install``` succeeds.
- [x] tested basic functionality of all binary files?
- [x] checked that the Portfile's most important [variants](https://trac.macports.org/wiki/Variants) haven't been broken?




Diff:
diff --git a/science/eso-flames-fposs/Portfile b/science/eso-flames-fposs/Portfile
new file mode 100644
index 0000000000000..93f7c671bf309
--- /dev/null
+++ b/science/eso-flames-fposs/Portfile
@@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem          1.0
+PortGroup           compilers 1.0
+
+# Place holder for future Port group for ESO packages
+#PortGroup           eso 1.0
+
+set eso.prefix      ${prefix}/libexec/eso
+
+name                eso-flames-fposs
+
+version             115.0.3
+revision            0
+
+categories          science
+license             GPL-2+
+maintainers         eso.org:john.pritchard
+homepage            http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description         ESO FLAMES Observation Preparation software
+long_description    ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+
+distname            fposs-${version}
+
+checksums           rmd160 065a65f558317661d1356bfeee579f8790c14ecb \
+                    sha256 9d16463dacfaa493a2221c352b2aa323bd0edd2f86c3d1fcafe6588a11f0989b \
+                    size 2319171
+
+compilers.choose    cc cxx
+compilers.setup     gcc
+
+compiler.c_standard  2011
+
+use_parallel_build  no
+
+depends_run         port:tk port:tcl \
+                    port:ncurses \
+                    port:xorg-server
+
+patchfiles          Makefile_Darwin.diff \
+                    fposs.sh.tpl.diff \
+                    pafchk.makefile.novlt.diff
+
+configure {
+  # Update the @@ESO_...@@ placeholders set in patchfiles with Portfile variables
+  reinplace "s?@@ESO_CC@@?${configure.cc}?g" \
+    ${worksrcpath}/fposs/src/Makefile_Darwin
+  reinplace "s?@@ESO_CC@@?${configure.cc}?g" \
+    ${worksrcpath}/pafchk/src/makefile.novlt
+  reinplace "s?@@ESO_PREFIX@@?${eso.prefix}?g" \
+    ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+}
+
+build {
+  # Non-standard build of pafchk...
+  system -W "${worksrcpath}/pafchk/src" \
+      "\
+        CC=${configure.cc} CXX=${configure.cxx} \
+        CFLAGS='[get_canonical_archflags cc] ${configure.cflags}' CXXFLAGS='[get_canonical_archflags cxx] ${configure.cxxflags}' \
+        make -f makefile.novlt \
+      "
+  # Non-stadnard build of fposs...
+  system -W "${worksrcpath}/fposs/src" \
+      "\
+        CC=${configure.cc} CXX=${configure.cxx} \
+        CFLAGS='[get_canonical_archflags cc] ${configure.cflags}' CXXFLAGS='[get_canonical_archflags cxx] ${configure.cxxflags}' \
+        make \
+      "
+}
+
+destroot {
+  system -W "${worksrcpath}/fposs/src" "make INTROOT='${destroot}${eso.prefix}' install"
+  xinstall                                                      -d  ${destroot}${prefix}/bin
+  xinstall                                                      -d  ${destroot}${prefix}/share
+  xinstall                                                      -d  ${destroot}${eso.prefix}/bin
+  xinstall ${worksrcpath}/fposs/scripts/fposs.sh.tpl                ${destroot}${eso.prefix}/bin/fposs.sh
+  xinstall ${worksrcpath}/fposs/scripts/bash_library.sh             ${destroot}${eso.prefix}/bin
+  xinstall ${worksrcpath}/fposs/scripts/fposs_fixINSfilename.sh     ${destroot}${eso.prefix}/bin
+  ln -s ${eso.prefix}/bin/fposs.sh                                  ${destroot}${prefix}/bin
+  ln -s ${eso.prefix}/share/fposs                                   ${destroot}${prefix}/share/fposs
+}
+
+livecheck.type          regex
+livecheck.url           https://ftp.eso.org/pub/usg/fposs/ver_info.html
+livecheck.regex         ".*https://ftp.eso.org/pub/usg/fposs/eso-fposs-\"(\\d+(?:\\.\\d+)*)\.tar.gz.*"
diff --git a/science/eso-flames-fposs/files/Makefile_Darwin.diff b/science/eso-flames-fposs/files/Makefile_Darwin.diff
new file mode 100644
index 0000000000000..649398ef6a7ac
--- /dev/null
+++ b/science/eso-flames-fposs/files/Makefile_Darwin.diff
@@ -0,0 +1,22 @@
+--- fposs.orig/src/Makefile_Darwin	2025-01-22 16:38:33
++++ fposs/src/Makefile_Darwin	2025-03-14 08:03:29
+@@ -67,9 +67,7 @@
+ CWARNINGS = -Wall -ansi -DUSE_COMPAT_CONST -DUSE_INTERP_RESULT
+ CINCLUDES = -I$(SDS_SRC) -I$(DRAMA_SRC) -I$(SLA_SRC) -I$(FPCOL_SRC) -I$(PAFCHK_MODULE)/include -I$(X11_DIR) -I$(TCL_DIR) -I.
+ CFLAGS = -DFLAMES_ONLY -DDRAMA_BUILD $(CWARNINGS) $(COPT) $(CINCLUDES)
+-CC = /opt/local/bin/clang-mp-14
+-CC = /opt/local/bin/gcc-mp-12
+-CC = gcc
++CC ?= @@ESO_CC@@
+ 
+ #*******************************************************************************
+ #  'configure' - the default taget for this Makefile - builds the
+@@ -219,7 +219,7 @@
+              $(SDS_SRC)/sds.h tdFconvert.h conf_err.h
+ 
+ pafchkChecksum.o : $(PAFCHK_MODULE)/src/pafchkChecksum.c $(PAFCHK_MODULE)/include/pafchk.h 
+-	$(CC) $(CFLAGS) -c $(PAFCHK_MODULE)/src/pafchkChecksum.c
++	$(CC) -DFLAMES_ONLY -DDRAMA_BUILD $(CWARNINGS) $(COPT) -I$(PAFCHK_MODULE)/include -c $(PAFCHK_MODULE)/src/pafchkChecksum.c
+ 
+ crc32.o :  $(PAFCHK_MODULE)/src/crc32.c $(PAFCHK_MODULE)/include/zconf.h $(PAFCHK_MODULE)/include/zlib.h
+ 	$(CC)  -DFLAMES_ONLY -DDRAMA_BUILD $(CWARNINGS) $(COPT) -I$(PAFCHK_MODULE)/include -c $(PAFCHK_MODULE)/src/crc32.c
diff --git a/science/eso-flames-fposs/files/fposs.sh.tpl.diff b/science/eso-flames-fposs/files/fposs.sh.tpl.diff
new file mode 100644
index 0000000000000..6b99f1fe960d5
--- /dev/null
+++ b/science/eso-flames-fposs/files/fposs.sh.tpl.diff
@@ -0,0 +1,44 @@
+--- fposs.orig/scripts/fposs.sh.tpl	2025-01-22 16:38:33
++++ fposs/scripts/fposs.sh.tpl	2025-03-14 08:03:29
+@@ -101,7 +101,7 @@
+ #
+ # Include BASH library
+ #
+-bashlib=`dirname $0`/bash_library.sh
++bashlib=@@ESO_PREFIX@@/bin/bash_library.sh
+ if [ -f "$bashlib" ]; then
+     source $bashlib 2>&-
+     status=$?
+@@ -419,9 +419,9 @@
+ # Main Algorithm BEGIN
+ #
+ # Receive installation paths from installer script
+-FPOSS_BASE_PATH=@@FPOSSBASEPATH@@
+-BINPATH=@@BINPATH@@
+-LIBPATH=@@LIBPATH@@
++FPOSS_BASE_PATH=@@ESO_PREFIX@@/lib/fposs
++BINPATH=@@ESO_PREFIX@@/lib/fposs/bin
++LIBPATH=@@ESO_PREFIX@@/lib/fposs/lib
+ BIN_PATH=`echo ${BINPATH} | sed s/[/]/\\\\\\\\\\\\\\\\\\\\\\\\\\\//g`
+ LIB_PATH=`echo ${LIBPATH} | sed s/[/]/\\\\\\\\\\\\\\\\\\\\\\\\\\\//g`
+ 
+@@ -449,7 +449,7 @@
+ export TCLLIBPATH=@@TCLPATH@@
+ export VLTROOT=@@VLTPATH@@
+ export INSROOT=@@INSPATH@@
+-export INSUSER=@@USER@@
++export INSUSER=.fposs
+ export FPOSSROOT=$FPOSS_BASE_PATH
+ export ISF_DIR=$FPOSS_BASE_PATH/../config
+ export PREP_DIR=$HOME/$INSUSER/PREP
+@@ -490,8 +490,8 @@
+ fi
+ 
+ # Find out component versions
+-if [ -a $FPOSS_BASE_PATH/../doc/fposs_svn.txt ]; then
+-    SVN_INFO=`cat $FPOSS_BASE_PATH/../doc/fposs_svn.txt`
++if [ -a $FPOSS_BASE_PATH/doc/fposs_svn.txt ]; then
++    SVN_INFO=`cat $FPOSS_BASE_PATH/doc/fposs_svn.txt`
+ else
+     SVN_INFO="Path: unknown URL: unknown Repository Root: unknown Repository UUID: 00000000-0000-0000-0000-000000000000 Revision: 000000 Node Kind: directory Schedule: normal Last Changed Author: unknown Last Changed Rev: 000000 Last Changed Date: 0000-00-00 00:00:00 +0000 (Dow, 00 Mon 0000)"
+ fi
diff --git a/science/eso-flames-fposs/files/pafchk.makefile.novlt.diff b/science/eso-flames-fposs/files/pafchk.makefile.novlt.diff
new file mode 100644
index 0000000000000..b75d7ec776cb9
--- /dev/null
+++ b/science/eso-flames-fposs/files/pafchk.makefile.novlt.diff
@@ -0,0 +1,14 @@
+--- pafchk.orig/src/makefile.novlt	2025-01-22 16:38:33
++++ pafchk/src/makefile.novlt	2025-03-14 09:55:38
+@@ -23,10 +23,7 @@
+ # --------------------------
+ # Makros : Flags 
+ # --------------------------
+-CC = $(shell (test "`uname`" == "Darwin" && echo 'gcc') || echo gcc)
+-CC = /opt/local/bin/clang-mp-14
+-CC = /opt/local/bin/gcc-mp-12
+-CC = gcc
++CC ?= @@ESO_CC@@
+ CCFLAG = -c -g -O0 -std=c11
+ COFLAG = -o 
+ OPFLAG = -g -Wall 


Reviews:
user: login: jmroot
body: Thanks for the submission. It looks pretty reasonable, but there are a few things to look at before we can merge.
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-12T19:36:57Z
user: login: jmroot
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-12T19:39:41Z
user: login: JohnPritchard
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T11:52:56Z
user: login: JohnPritchard
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T11:56:07Z
user: login: JohnPritchard
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T11:56:36Z
user: login: JohnPritchard
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T11:56:50Z
user: login: JohnPritchard
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T12:07:34Z
user: login: JohnPritchard
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T12:08:58Z
user: login: JohnPritchard
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T12:09:27Z
user: login: JohnPritchard
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T12:10:14Z
user: login: JohnPritchard
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T12:10:37Z
user: login: JohnPritchard
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T12:10:57Z
user: login: JohnPritchard
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-13T12:12:02Z
user: login: jmroot
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-13T22:05:46Z
user: login: jmroot
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-13T22:29:35Z
user: login: jmroot
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-13T22:41:29Z
user: login: jmroot
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-13T22:52:23Z
user: login: jmroot
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-13T22:56:07Z
user: login: herbygillot
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-13T22:57:16Z
user: login: jmroot
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-13T22:58:09Z
user: login: herbygillot
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-13T22:58:24Z
user: login: jmroot
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-13T22:58:42Z
user: login: herbygillot
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-13T22:59:50Z
user: login: jmroot
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-13T22:59:55Z
user: login: herbygillot
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-13T23:00:46Z
user: login: jmroot
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-14T00:09:44Z
user: login: JohnPritchard
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-14T06:08:07Z
user: login: JohnPritchard
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-14T06:15:34Z
user: login: JohnPritchard
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-14T07:38:15Z
user: login: JohnPritchard
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-14T08:29:28Z
user: login: JohnPritchard
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-14T08:42:02Z
user: login: JohnPritchard
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-14T09:11:39Z
user: login: JohnPritchard
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-14T09:13:27Z
user: login: JohnPritchard
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-14T09:18:53Z
user: login: jmroot
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-14T22:25:20Z
user: login: jmroot
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-14T22:26:58Z
user: login: JohnPritchard
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-15T11:53:35Z
user: login: jmroot
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-15T23:39:14Z
user: login: JohnPritchard
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-16T13:10:00Z
user: login: jmroot
state: APPROVED
author_association: MEMBER
submitted_at: 2025-03-17T01:12:04Z

Review comments:
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
path: science/eso-flames-fposs/Portfile
user: login: jmroot
body: It would be preferable to avoid having commented-out code lying around in the Portfile. If there's a reason why it should remain, a comment explaining that reason would be nice.
created_at: 2025-03-12T19:03:05Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
path: science/eso-flames-fposs/Portfile
user: login: jmroot
body: This is only a style issue, but we prefer to indent the value in a key-value pair consistently so all the values line up in a column. E.g.
```
key          value
long_key     value
```
created_at: 2025-03-12T19:06:50Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+distname            flames-fposs-${version}
+distfiles           fposs-${version}.tar.gz
path: science/eso-flames-fposs/Portfile
user: login: jmroot
body: Is the reason for setting `distname` just so that the extracted directory name will be right? If so, it would be better to set `worksrcdir` instead, since `distname` is meant to reflect the naming of the source archive.
```
distname   fposs-${version}
worksrcdir flames-fposs-${version}
```
created_at: 2025-03-12T19:12:23Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+distname            flames-fposs-${version}
+distfiles           fposs-${version}.tar.gz
+
+checksums           fposs-115.0.3.tar.gz \
path: science/eso-flames-fposs/Portfile
user: login: jmroot
body: The `version` and `extract.suffix` shouldn't be hardcoded here. But when there's only one distfile, you can actually omit it from `checksums` entirely.
created_at: 2025-03-12T19:13:44Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+distname            flames-fposs-${version}
+distfiles           fposs-${version}.tar.gz
+
+checksums           fposs-115.0.3.tar.gz \
+                    rmd160  065a65f558317661d1356bfeee579f8790c14ecb  \
+                    sha256  9d16463dacfaa493a2221c352b2aa323bd0edd2f86c3d1fcafe6588a11f0989b  \
+                    size    2319171
+
+set worksrcpath          ${workpath}/fposs-${version}
path: science/eso-flames-fposs/Portfile
user: login: jmroot
body: This seems to contradict the `distname` value set above. It should pretty much never be necessary to set `worksrcpath` if `worksrcdir` is set correctly.
created_at: 2025-03-12T19:16:14Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+distname            flames-fposs-${version}
+distfiles           fposs-${version}.tar.gz
+
+checksums           fposs-115.0.3.tar.gz \
+                    rmd160  065a65f558317661d1356bfeee579f8790c14ecb  \
+                    sha256  9d16463dacfaa493a2221c352b2aa323bd0edd2f86c3d1fcafe6588a11f0989b  \
+                    size    2319171
+
+set worksrcpath          ${workpath}/fposs-${version}
+
+#compilers.choose    cc cxx
+#compilers.setup     gcc
+
+configure.cflags-append    -std=c11
+configure.cxxflags-append  -std=c11
path: science/eso-flames-fposs/Portfile
user: login: jmroot
body: To ensure that the compiler chosen supports `-std=c11`, you need to add this:
```
compiler.c_standard  2011
```
created_at: 2025-03-12T19:18:29Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+distname            flames-fposs-${version}
+distfiles           fposs-${version}.tar.gz
+
+checksums           fposs-115.0.3.tar.gz \
+                    rmd160  065a65f558317661d1356bfeee579f8790c14ecb  \
+                    sha256  9d16463dacfaa493a2221c352b2aa323bd0edd2f86c3d1fcafe6588a11f0989b  \
+                    size    2319171
+
+set worksrcpath          ${workpath}/fposs-${version}
+
+#compilers.choose    cc cxx
+#compilers.setup     gcc
+
+configure.cflags-append    -std=c11
+configure.cxxflags-append  -std=c11
+
+#default_variants  +${compilers.gcc_default}
+use_parallel_build      no
+
+depends_run       port:tk port:tcl \
+                  port:ncurses \
+                  port:xorg-server
+
+#variant xquartz   description {Use this variant if you have XQuartz installed.} {
+#  depends_run-remove port:xorg-server
+#  depends_run-append port:xorg-libX11
+#}
+
+configure {
+  reinplace "s@\$(CC) \$(CFLAGS) -c \$(PAFCHK_MODULE)@\$(CC) -DFLAMES_ONLY -DDRAMA_BUILD \$(CWARNINGS) \$(COPT) -I\$(PAFCHK_MODULE)/include -c \$(PAFCHK_MODULE)@" \
path: science/eso-flames-fposs/Portfile
user: login: jmroot
body: Using reinplace like this is permissible, but be aware that it can silently fail and give you a wrong result when the upstream source changes. For this reason we tend to prefer using a patch file, since that will unambiguously fail if it doesn't apply cleanly.

When you don't want variable or command substitution inside a string, you can quote it in braces and avoid having to use a bunch of backslashes.
created_at: 2025-03-12T19:26:31Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+distname            flames-fposs-${version}
+distfiles           fposs-${version}.tar.gz
+
+checksums           fposs-115.0.3.tar.gz \
+                    rmd160  065a65f558317661d1356bfeee579f8790c14ecb  \
+                    sha256  9d16463dacfaa493a2221c352b2aa323bd0edd2f86c3d1fcafe6588a11f0989b  \
+                    size    2319171
+
+set worksrcpath          ${workpath}/fposs-${version}
+
+#compilers.choose    cc cxx
+#compilers.setup     gcc
+
+configure.cflags-append    -std=c11
+configure.cxxflags-append  -std=c11
+
+#default_variants  +${compilers.gcc_default}
+use_parallel_build      no
+
+depends_run       port:tk port:tcl \
+                  port:ncurses \
+                  port:xorg-server
+
+#variant xquartz   description {Use this variant if you have XQuartz installed.} {
+#  depends_run-remove port:xorg-server
+#  depends_run-append port:xorg-libX11
+#}
+
+configure {
+  reinplace "s@\$(CC) \$(CFLAGS) -c \$(PAFCHK_MODULE)@\$(CC) -DFLAMES_ONLY -DDRAMA_BUILD \$(CWARNINGS) \$(COPT) -I\$(PAFCHK_MODULE)/include -c \$(PAFCHK_MODULE)@" \
+    ${worksrcpath}/fposs/src/Makefile_Darwin
+  reinplace "s@^CC\[\[:space:\]\].*=.*@CC = ${configure.cc}@" \
+    ${worksrcpath}/fposs/src/Makefile_Darwin
+  reinplace "s@gcc-mp-\[0-9\]*@${configure.cc}@g" \
+    ${worksrcpath}/pafchk/src/makefile.novlt
+}
+
+build {
+  reinplace "s?@@FPOSSBASEPATH@@?${prefix}/libexec/eso/lib/fposs?"              ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?@@BINPATH@@?${prefix}/libexec/eso/lib/fposs/bin?"                ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?@@LIBPATH@@?${prefix}/libexec/eso/lib/fposs/lib?"                ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?@@USER@@?.fposs?"                                                    ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?../doc?doc?"                                                         ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s@^bashlib=.*$@bashlib=${prefix}/libexec/eso/bin/bash_library.sh@" ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  system "cd ${worksrcpath}/pafchk/src && \
path: science/eso-flames-fposs/Portfile
user: login: jmroot
body: The `system` command has a `-W` option to change to a directory before executing the command. This is more reliable than using `cd` inside the command when the path may contain spaces or other characters that need to be specially quoted in a shell.
created_at: 2025-03-12T19:29:46Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+distname            flames-fposs-${version}
+distfiles           fposs-${version}.tar.gz
+
+checksums           fposs-115.0.3.tar.gz \
+                    rmd160  065a65f558317661d1356bfeee579f8790c14ecb  \
+                    sha256  9d16463dacfaa493a2221c352b2aa323bd0edd2f86c3d1fcafe6588a11f0989b  \
+                    size    2319171
+
+set worksrcpath          ${workpath}/fposs-${version}
+
+#compilers.choose    cc cxx
+#compilers.setup     gcc
+
+configure.cflags-append    -std=c11
+configure.cxxflags-append  -std=c11
+
+#default_variants  +${compilers.gcc_default}
+use_parallel_build      no
+
+depends_run       port:tk port:tcl \
+                  port:ncurses \
+                  port:xorg-server
+
+#variant xquartz   description {Use this variant if you have XQuartz installed.} {
+#  depends_run-remove port:xorg-server
+#  depends_run-append port:xorg-libX11
+#}
+
+configure {
+  reinplace "s@\$(CC) \$(CFLAGS) -c \$(PAFCHK_MODULE)@\$(CC) -DFLAMES_ONLY -DDRAMA_BUILD \$(CWARNINGS) \$(COPT) -I\$(PAFCHK_MODULE)/include -c \$(PAFCHK_MODULE)@" \
+    ${worksrcpath}/fposs/src/Makefile_Darwin
+  reinplace "s@^CC\[\[:space:\]\].*=.*@CC = ${configure.cc}@" \
+    ${worksrcpath}/fposs/src/Makefile_Darwin
+  reinplace "s@gcc-mp-\[0-9\]*@${configure.cc}@g" \
+    ${worksrcpath}/pafchk/src/makefile.novlt
+}
+
+build {
+  reinplace "s?@@FPOSSBASEPATH@@?${prefix}/libexec/eso/lib/fposs?"              ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?@@BINPATH@@?${prefix}/libexec/eso/lib/fposs/bin?"                ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?@@LIBPATH@@?${prefix}/libexec/eso/lib/fposs/lib?"                ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?@@USER@@?.fposs?"                                                    ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?../doc?doc?"                                                         ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s@^bashlib=.*$@bashlib=${prefix}/libexec/eso/bin/bash_library.sh@" ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  system "cd ${worksrcpath}/pafchk/src && \
+      CFLAGS='${configure.cflags}' CXXFLAGS='${configure.cxxflags}' \
path: science/eso-flames-fposs/Portfile
user: login: jmroot
body: To ensure that the user's chosen architecture is used, add `[get_canonical_archflags cc]` and `[get_canonical_archflags cxx]` to `CFLAGS` and `CXXFLAGS`, respectively.
created_at: 2025-03-12T19:33:52Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+distname            flames-fposs-${version}
+distfiles           fposs-${version}.tar.gz
+
+checksums           fposs-115.0.3.tar.gz \
+                    rmd160  065a65f558317661d1356bfeee579f8790c14ecb  \
+                    sha256  9d16463dacfaa493a2221c352b2aa323bd0edd2f86c3d1fcafe6588a11f0989b  \
+                    size    2319171
+
+set worksrcpath          ${workpath}/fposs-${version}
+
+#compilers.choose    cc cxx
+#compilers.setup     gcc
+
+configure.cflags-append    -std=c11
+configure.cxxflags-append  -std=c11
+
+#default_variants  +${compilers.gcc_default}
+use_parallel_build      no
+
+depends_run       port:tk port:tcl \
+                  port:ncurses \
+                  port:xorg-server
+
+#variant xquartz   description {Use this variant if you have XQuartz installed.} {
+#  depends_run-remove port:xorg-server
+#  depends_run-append port:xorg-libX11
+#}
+
+configure {
+  reinplace "s@\$(CC) \$(CFLAGS) -c \$(PAFCHK_MODULE)@\$(CC) -DFLAMES_ONLY -DDRAMA_BUILD \$(CWARNINGS) \$(COPT) -I\$(PAFCHK_MODULE)/include -c \$(PAFCHK_MODULE)@" \
+    ${worksrcpath}/fposs/src/Makefile_Darwin
+  reinplace "s@^CC\[\[:space:\]\].*=.*@CC = ${configure.cc}@" \
+    ${worksrcpath}/fposs/src/Makefile_Darwin
+  reinplace "s@gcc-mp-\[0-9\]*@${configure.cc}@g" \
+    ${worksrcpath}/pafchk/src/makefile.novlt
+}
+
+build {
+  reinplace "s?@@FPOSSBASEPATH@@?${prefix}/libexec/eso/lib/fposs?"              ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?@@BINPATH@@?${prefix}/libexec/eso/lib/fposs/bin?"                ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?@@LIBPATH@@?${prefix}/libexec/eso/lib/fposs/lib?"                ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?@@USER@@?.fposs?"                                                    ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?../doc?doc?"                                                         ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s@^bashlib=.*$@bashlib=${prefix}/libexec/eso/bin/bash_library.sh@" ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  system "cd ${worksrcpath}/pafchk/src && \
+      CFLAGS='${configure.cflags}' CXXFLAGS='${configure.cxxflags}' \
+      make -f makefile.novlt"
+  system "cd ${worksrcpath}/fposs/src && \
+      CFLAGS='${configure.cflags}' CXXFLAGS='${configure.cxxflags}' \
+      make"
+}
+
+destroot {
+  system "cd ${worksrcpath}/fposs/src && make INTROOT='${destroot}${prefix}/libexec/eso' install"
+  system "/usr/bin/install                                                   -d ${destroot}${prefix}/bin"
path: science/eso-flames-fposs/Portfile
user: login: jmroot
body: The `xinstall` Tcl command is preferred to shelling out and running `install(1)`.
created_at: 2025-03-12T19:35:40Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+distname            flames-fposs-${version}
+distfiles           fposs-${version}.tar.gz
+
+checksums           fposs-115.0.3.tar.gz \
+                    rmd160  065a65f558317661d1356bfeee579f8790c14ecb  \
+                    sha256  9d16463dacfaa493a2221c352b2aa323bd0edd2f86c3d1fcafe6588a11f0989b  \
+                    size    2319171
+
+set worksrcpath          ${workpath}/fposs-${version}
+
+#compilers.choose    cc cxx
+#compilers.setup     gcc
+
+configure.cflags-append    -std=c11
+configure.cxxflags-append  -std=c11
path: science/eso-flames-fposs/Portfile
user: login: jmroot
body: Also it's very strange to be choosing a *C* standard in `CXXFLAGS` which is of course passed to the C++ compiler.
created_at: 2025-03-12T19:39:41Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
path: science/eso-flames-fposs/Portfile
user: login: JohnPritchard
body: Hi Josh, many thanks for stepping in.
I believe I have implemented this and all the following recommendations in the new version.
In this case I have reinstated the compilers Portgroup because if memory serve it will be necessary to use a GNU gcc compiler for macOS versions with older versions of Xcode ad the Apple clang compiler did not always successfully compile this package. So further down I also added:
```
if {[vercmp ${xcodeversion} 10.0] <= 0} {
  # Older versions of the Apple clang compiler fail to build this package
  # Exact xcode version where Apple clang works yet to be determined.
  default_variants  +${compilers.gcc_default}
}
```
though as noted in the comment I will have to figure out which Xcode version is the cutoff point.

I have also added the following commented lines, which I think maybe useful to reduce repeated code in future ESO packages:
```
# Place holder for future Port group for ESO packages
#PortGroup           eso 1.0
```
Hope this is OK.
created_at: 2025-03-13T11:52:56Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
path: science/eso-flames-fposs/Portfile
user: login: JohnPritchard
body: Implemented
created_at: 2025-03-13T11:56:07Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+distname            flames-fposs-${version}
+distfiles           fposs-${version}.tar.gz
path: science/eso-flames-fposs/Portfile
user: login: JohnPritchard
body: Implemented as recommended
created_at: 2025-03-13T11:56:36Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+distname            flames-fposs-${version}
+distfiles           fposs-${version}.tar.gz
+
+checksums           fposs-115.0.3.tar.gz \
path: science/eso-flames-fposs/Portfile
user: login: JohnPritchard
body: Implemented as recommended.
created_at: 2025-03-13T11:56:50Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+distname            flames-fposs-${version}
+distfiles           fposs-${version}.tar.gz
+
+checksums           fposs-115.0.3.tar.gz \
+                    rmd160  065a65f558317661d1356bfeee579f8790c14ecb  \
+                    sha256  9d16463dacfaa493a2221c352b2aa323bd0edd2f86c3d1fcafe6588a11f0989b  \
+                    size    2319171
+
+set worksrcpath          ${workpath}/fposs-${version}
path: science/eso-flames-fposs/Portfile
user: login: JohnPritchard
body: Implemented as recommended (in 2nd commit, revision 6)
created_at: 2025-03-13T12:07:34Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+distname            flames-fposs-${version}
+distfiles           fposs-${version}.tar.gz
+
+checksums           fposs-115.0.3.tar.gz \
+                    rmd160  065a65f558317661d1356bfeee579f8790c14ecb  \
+                    sha256  9d16463dacfaa493a2221c352b2aa323bd0edd2f86c3d1fcafe6588a11f0989b  \
+                    size    2319171
+
+set worksrcpath          ${workpath}/fposs-${version}
+
+#compilers.choose    cc cxx
+#compilers.setup     gcc
+
+configure.cflags-append    -std=c11
+configure.cxxflags-append  -std=c11
path: science/eso-flames-fposs/Portfile
user: login: JohnPritchard
body: Implemented as recommended. Indeed setting the C standard in `CXXFLAGS` was a mistake, which is auto-corrected by the much more elegant `compiler.c_standard  2011`.
created_at: 2025-03-13T12:08:58Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+distname            flames-fposs-${version}
+distfiles           fposs-${version}.tar.gz
+
+checksums           fposs-115.0.3.tar.gz \
+                    rmd160  065a65f558317661d1356bfeee579f8790c14ecb  \
+                    sha256  9d16463dacfaa493a2221c352b2aa323bd0edd2f86c3d1fcafe6588a11f0989b  \
+                    size    2319171
+
+set worksrcpath          ${workpath}/fposs-${version}
+
+#compilers.choose    cc cxx
+#compilers.setup     gcc
+
+configure.cflags-append    -std=c11
+configure.cxxflags-append  -std=c11
+
+#default_variants  +${compilers.gcc_default}
+use_parallel_build      no
+
+depends_run       port:tk port:tcl \
+                  port:ncurses \
+                  port:xorg-server
+
+#variant xquartz   description {Use this variant if you have XQuartz installed.} {
+#  depends_run-remove port:xorg-server
+#  depends_run-append port:xorg-libX11
+#}
+
+configure {
+  reinplace "s@\$(CC) \$(CFLAGS) -c \$(PAFCHK_MODULE)@\$(CC) -DFLAMES_ONLY -DDRAMA_BUILD \$(CWARNINGS) \$(COPT) -I\$(PAFCHK_MODULE)/include -c \$(PAFCHK_MODULE)@" \
path: science/eso-flames-fposs/Portfile
user: login: JohnPritchard
body: All replaces moved to patch files.
created_at: 2025-03-13T12:09:27Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+distname            flames-fposs-${version}
+distfiles           fposs-${version}.tar.gz
+
+checksums           fposs-115.0.3.tar.gz \
+                    rmd160  065a65f558317661d1356bfeee579f8790c14ecb  \
+                    sha256  9d16463dacfaa493a2221c352b2aa323bd0edd2f86c3d1fcafe6588a11f0989b  \
+                    size    2319171
+
+set worksrcpath          ${workpath}/fposs-${version}
+
+#compilers.choose    cc cxx
+#compilers.setup     gcc
+
+configure.cflags-append    -std=c11
+configure.cxxflags-append  -std=c11
+
+#default_variants  +${compilers.gcc_default}
+use_parallel_build      no
+
+depends_run       port:tk port:tcl \
+                  port:ncurses \
+                  port:xorg-server
+
+#variant xquartz   description {Use this variant if you have XQuartz installed.} {
+#  depends_run-remove port:xorg-server
+#  depends_run-append port:xorg-libX11
+#}
+
+configure {
+  reinplace "s@\$(CC) \$(CFLAGS) -c \$(PAFCHK_MODULE)@\$(CC) -DFLAMES_ONLY -DDRAMA_BUILD \$(CWARNINGS) \$(COPT) -I\$(PAFCHK_MODULE)/include -c \$(PAFCHK_MODULE)@" \
+    ${worksrcpath}/fposs/src/Makefile_Darwin
+  reinplace "s@^CC\[\[:space:\]\].*=.*@CC = ${configure.cc}@" \
+    ${worksrcpath}/fposs/src/Makefile_Darwin
+  reinplace "s@gcc-mp-\[0-9\]*@${configure.cc}@g" \
+    ${worksrcpath}/pafchk/src/makefile.novlt
+}
+
+build {
+  reinplace "s?@@FPOSSBASEPATH@@?${prefix}/libexec/eso/lib/fposs?"              ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?@@BINPATH@@?${prefix}/libexec/eso/lib/fposs/bin?"                ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?@@LIBPATH@@?${prefix}/libexec/eso/lib/fposs/lib?"                ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?@@USER@@?.fposs?"                                                    ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?../doc?doc?"                                                         ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s@^bashlib=.*$@bashlib=${prefix}/libexec/eso/bin/bash_library.sh@" ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  system "cd ${worksrcpath}/pafchk/src && \
path: science/eso-flames-fposs/Portfile
user: login: JohnPritchard
body: `system -W "<path>" "<cmd>"` used throughout.
created_at: 2025-03-13T12:10:14Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+distname            flames-fposs-${version}
+distfiles           fposs-${version}.tar.gz
+
+checksums           fposs-115.0.3.tar.gz \
+                    rmd160  065a65f558317661d1356bfeee579f8790c14ecb  \
+                    sha256  9d16463dacfaa493a2221c352b2aa323bd0edd2f86c3d1fcafe6588a11f0989b  \
+                    size    2319171
+
+set worksrcpath          ${workpath}/fposs-${version}
+
+#compilers.choose    cc cxx
+#compilers.setup     gcc
+
+configure.cflags-append    -std=c11
+configure.cxxflags-append  -std=c11
+
+#default_variants  +${compilers.gcc_default}
+use_parallel_build      no
+
+depends_run       port:tk port:tcl \
+                  port:ncurses \
+                  port:xorg-server
+
+#variant xquartz   description {Use this variant if you have XQuartz installed.} {
+#  depends_run-remove port:xorg-server
+#  depends_run-append port:xorg-libX11
+#}
+
+configure {
+  reinplace "s@\$(CC) \$(CFLAGS) -c \$(PAFCHK_MODULE)@\$(CC) -DFLAMES_ONLY -DDRAMA_BUILD \$(CWARNINGS) \$(COPT) -I\$(PAFCHK_MODULE)/include -c \$(PAFCHK_MODULE)@" \
+    ${worksrcpath}/fposs/src/Makefile_Darwin
+  reinplace "s@^CC\[\[:space:\]\].*=.*@CC = ${configure.cc}@" \
+    ${worksrcpath}/fposs/src/Makefile_Darwin
+  reinplace "s@gcc-mp-\[0-9\]*@${configure.cc}@g" \
+    ${worksrcpath}/pafchk/src/makefile.novlt
+}
+
+build {
+  reinplace "s?@@FPOSSBASEPATH@@?${prefix}/libexec/eso/lib/fposs?"              ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?@@BINPATH@@?${prefix}/libexec/eso/lib/fposs/bin?"                ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?@@LIBPATH@@?${prefix}/libexec/eso/lib/fposs/lib?"                ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?@@USER@@?.fposs?"                                                    ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?../doc?doc?"                                                         ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s@^bashlib=.*$@bashlib=${prefix}/libexec/eso/bin/bash_library.sh@" ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  system "cd ${worksrcpath}/pafchk/src && \
+      CFLAGS='${configure.cflags}' CXXFLAGS='${configure.cxxflags}' \
path: science/eso-flames-fposs/Portfile
user: login: JohnPritchard
body: Implememented as recommended.
created_at: 2025-03-13T12:10:37Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+distname            flames-fposs-${version}
+distfiles           fposs-${version}.tar.gz
+
+checksums           fposs-115.0.3.tar.gz \
+                    rmd160  065a65f558317661d1356bfeee579f8790c14ecb  \
+                    sha256  9d16463dacfaa493a2221c352b2aa323bd0edd2f86c3d1fcafe6588a11f0989b  \
+                    size    2319171
+
+set worksrcpath          ${workpath}/fposs-${version}
+
+#compilers.choose    cc cxx
+#compilers.setup     gcc
+
+configure.cflags-append    -std=c11
+configure.cxxflags-append  -std=c11
+
+#default_variants  +${compilers.gcc_default}
+use_parallel_build      no
+
+depends_run       port:tk port:tcl \
+                  port:ncurses \
+                  port:xorg-server
+
+#variant xquartz   description {Use this variant if you have XQuartz installed.} {
+#  depends_run-remove port:xorg-server
+#  depends_run-append port:xorg-libX11
+#}
+
+configure {
+  reinplace "s@\$(CC) \$(CFLAGS) -c \$(PAFCHK_MODULE)@\$(CC) -DFLAMES_ONLY -DDRAMA_BUILD \$(CWARNINGS) \$(COPT) -I\$(PAFCHK_MODULE)/include -c \$(PAFCHK_MODULE)@" \
+    ${worksrcpath}/fposs/src/Makefile_Darwin
+  reinplace "s@^CC\[\[:space:\]\].*=.*@CC = ${configure.cc}@" \
+    ${worksrcpath}/fposs/src/Makefile_Darwin
+  reinplace "s@gcc-mp-\[0-9\]*@${configure.cc}@g" \
+    ${worksrcpath}/pafchk/src/makefile.novlt
+}
+
+build {
+  reinplace "s?@@FPOSSBASEPATH@@?${prefix}/libexec/eso/lib/fposs?"              ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?@@BINPATH@@?${prefix}/libexec/eso/lib/fposs/bin?"                ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?@@LIBPATH@@?${prefix}/libexec/eso/lib/fposs/lib?"                ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?@@USER@@?.fposs?"                                                    ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?../doc?doc?"                                                         ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s@^bashlib=.*$@bashlib=${prefix}/libexec/eso/bin/bash_library.sh@" ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  system "cd ${worksrcpath}/pafchk/src && \
+      CFLAGS='${configure.cflags}' CXXFLAGS='${configure.cxxflags}' \
+      make -f makefile.novlt"
+  system "cd ${worksrcpath}/fposs/src && \
+      CFLAGS='${configure.cflags}' CXXFLAGS='${configure.cxxflags}' \
+      make"
+}
+
+destroot {
+  system "cd ${worksrcpath}/fposs/src && make INTROOT='${destroot}${prefix}/libexec/eso' install"
+  system "/usr/bin/install                                                   -d ${destroot}${prefix}/bin"
path: science/eso-flames-fposs/Portfile
user: login: JohnPritchard
body: Implemented as recommended.
created_at: 2025-03-13T12:10:57Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
path: science/eso-flames-fposs/Portfile
user: login: JohnPritchard
body: Hi @jmroot , Am I supposed to click the "Resolve conversation" button or you?
created_at: 2025-03-13T12:12:02Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
path: science/eso-flames-fposs/Portfile
user: login: jmroot
body: > Hi @jmroot , Am I supposed to click the "Resolve conversation" button or you?

I don't think we have a policy about that. I think it's fine for you to click it if you reasonably think you've resolved the issue. The reviewer can always unresolve if they disagree.
created_at: 2025-03-13T22:05:46Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
path: science/eso-flames-fposs/Portfile
user: login: jmroot
body: > In this case I have reinstated the compilers Portgroup because if memory serve it will be necessary to use a GNU gcc compiler for macOS versions with older versions of Xcode ad the Apple clang compiler did not always successfully compile this package. So further down I also added:
> 
> ```
> if {[vercmp ${xcodeversion} 10.0] <= 0} {
>   # Older versions of the Apple clang compiler fail to build this package
>   # Exact xcode version where Apple clang works yet to be determined.
>   default_variants  +${compilers.gcc_default}
> }
> ```
> 
> though as noted in the comment I will have to figure out which Xcode version is the cutoff point.

Our preferred solution when an older Xcode compiler doesn't work is to use a recent clang port. Requiring C11 already excludes a lot of older compilers. If more is needed, there is a list of fallback compilers that will be used if the default can't be, so this should work:

```
PortGroup       compiler_blacklist_versions 1.0
…
compiler.blacklist    {clang < 11}
```

What we could do is merge this without any compiler restrictions, watch the buildbot, and see which OS versions it fails on. Then we could add the appropriate cutoff.

> I have also added the following commented lines, which I think maybe useful to reduce repeated code in future ESO packages:
> 
> ```
> # Place holder for future Port group for ESO packages
> #PortGroup           eso 1.0
> ```
> 
> Hope this is OK.

That's fine.
created_at: 2025-03-13T22:29:35Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+distname            flames-fposs-${version}
+distfiles           fposs-${version}.tar.gz
+
+checksums           fposs-115.0.3.tar.gz \
+                    rmd160  065a65f558317661d1356bfeee579f8790c14ecb  \
+                    sha256  9d16463dacfaa493a2221c352b2aa323bd0edd2f86c3d1fcafe6588a11f0989b  \
+                    size    2319171
+
+set worksrcpath          ${workpath}/fposs-${version}
+
+#compilers.choose    cc cxx
+#compilers.setup     gcc
+
+configure.cflags-append    -std=c11
+configure.cxxflags-append  -std=c11
path: science/eso-flames-fposs/Portfile
user: login: jmroot
body: Be aware that `compiler.c_standard` will ensure that you use a compiler that *supports* the given standard, but does not guarantee that it will use that standard by default. So adding a `-std` flag might still be needed if the upstream build system doesn't add it by itself.
created_at: 2025-03-13T22:41:29Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+distname            flames-fposs-${version}
+distfiles           fposs-${version}.tar.gz
+
+checksums           fposs-115.0.3.tar.gz \
+                    rmd160  065a65f558317661d1356bfeee579f8790c14ecb  \
+                    sha256  9d16463dacfaa493a2221c352b2aa323bd0edd2f86c3d1fcafe6588a11f0989b  \
+                    size    2319171
+
+set worksrcpath          ${workpath}/fposs-${version}
+
+#compilers.choose    cc cxx
+#compilers.setup     gcc
+
+configure.cflags-append    -std=c11
+configure.cxxflags-append  -std=c11
+
+#default_variants  +${compilers.gcc_default}
+use_parallel_build      no
+
+depends_run       port:tk port:tcl \
+                  port:ncurses \
+                  port:xorg-server
+
+#variant xquartz   description {Use this variant if you have XQuartz installed.} {
+#  depends_run-remove port:xorg-server
+#  depends_run-append port:xorg-libX11
+#}
+
+configure {
+  reinplace "s@\$(CC) \$(CFLAGS) -c \$(PAFCHK_MODULE)@\$(CC) -DFLAMES_ONLY -DDRAMA_BUILD \$(CWARNINGS) \$(COPT) -I\$(PAFCHK_MODULE)/include -c \$(PAFCHK_MODULE)@" \
+    ${worksrcpath}/fposs/src/Makefile_Darwin
+  reinplace "s@^CC\[\[:space:\]\].*=.*@CC = ${configure.cc}@" \
+    ${worksrcpath}/fposs/src/Makefile_Darwin
+  reinplace "s@gcc-mp-\[0-9\]*@${configure.cc}@g" \
+    ${worksrcpath}/pafchk/src/makefile.novlt
+}
+
+build {
+  reinplace "s?@@FPOSSBASEPATH@@?${prefix}/libexec/eso/lib/fposs?"              ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?@@BINPATH@@?${prefix}/libexec/eso/lib/fposs/bin?"                ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?@@LIBPATH@@?${prefix}/libexec/eso/lib/fposs/lib?"                ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?@@USER@@?.fposs?"                                                    ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s?../doc?doc?"                                                         ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  reinplace "s@^bashlib=.*$@bashlib=${prefix}/libexec/eso/bin/bash_library.sh@" ${worksrcpath}/fposs/scripts/fposs.sh.tpl
+  system "cd ${worksrcpath}/pafchk/src && \
path: science/eso-flames-fposs/Portfile
user: login: jmroot
body: Note that unlike sh, Tcl does not require quotes around variables to prevent them from being split into multiple arguments when there are spaces in the contents. But it doesn't do any harm.
created_at: 2025-03-13T22:52:22Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+distname            flames-fposs-${version}
+distfiles           fposs-${version}.tar.gz
+
+checksums           fposs-115.0.3.tar.gz \
+                    rmd160  065a65f558317661d1356bfeee579f8790c14ecb  \
+                    sha256  9d16463dacfaa493a2221c352b2aa323bd0edd2f86c3d1fcafe6588a11f0989b  \
+                    size    2319171
+
+set worksrcpath          ${workpath}/fposs-${version}
+
+#compilers.choose    cc cxx
+#compilers.setup     gcc
+
+configure.cflags-append    -std=c11
+configure.cxxflags-append  -std=c11
+
+#default_variants  +${compilers.gcc_default}
+use_parallel_build      no
+
+depends_run       port:tk port:tcl \
+                  port:ncurses \
+                  port:xorg-server
+
+#variant xquartz   description {Use this variant if you have XQuartz installed.} {
+#  depends_run-remove port:xorg-server
+#  depends_run-append port:xorg-libX11
+#}
+
+configure {
+  reinplace "s@\$(CC) \$(CFLAGS) -c \$(PAFCHK_MODULE)@\$(CC) -DFLAMES_ONLY -DDRAMA_BUILD \$(CWARNINGS) \$(COPT) -I\$(PAFCHK_MODULE)/include -c \$(PAFCHK_MODULE)@" \
path: science/eso-flames-fposs/Portfile
user: login: jmroot
body: Unfortunately it's not possible to use a patch alone when there are Portfile variables that need to be substituted. But the patch itself can set a placeholder value which can then be reliably changed with reinplace. An example of this is given here: https://trac.macports.org/wiki/PortfileRecipes#hardcode_opt_local

It looks like this needs to be done here for `CC` and `prefix`/`eso.prefix`.
created_at: 2025-03-13T22:56:07Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,81 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem          1.0
+PortGroup           compilers 1.0
+
+# Place holder for future Port group for ESO packages
+#PortGroup           eso 1.0
+
+set eso.prefix      ${prefix}/libexec/eso
+
+name                eso-flames-fposs
+
+version             115.0.3
+revision            7
path: science/eso-flames-fposs/Portfile
user: login: herbygillot
body: `revision` should be zero for a brand new port.
created_at: 2025-03-13T22:57:16Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,24 @@
+--- fposs.orig/src/Makefile_Darwin	2025-01-22 16:38:33
++++ fposs/src/Makefile_Darwin	2025-03-13 11:17:39
+@@ -67,9 +67,9 @@
+ CWARNINGS = -Wall -ansi -DUSE_COMPAT_CONST -DUSE_INTERP_RESULT
+ CINCLUDES = -I$(SDS_SRC) -I$(DRAMA_SRC) -I$(SLA_SRC) -I$(FPCOL_SRC) -I$(PAFCHK_MODULE)/include -I$(X11_DIR) -I$(TCL_DIR) -I.
+ CFLAGS = -DFLAMES_ONLY -DDRAMA_BUILD $(CWARNINGS) $(COPT) $(CINCLUDES)
+-CC = /opt/local/bin/clang-mp-14
+-CC = /opt/local/bin/gcc-mp-12
+-CC = gcc
++CC = /usr/bin/clang
++CC = /usr/bin/clang
++CC = /usr/bin/clang
path: science/eso-flames-fposs/files/Makefile_Darwin.diff
user: login: jmroot
body: Only the last value this variable is set to will stick, so the previous 2 lines are redundant.
created_at: 2025-03-13T22:58:09Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,81 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem          1.0
+PortGroup           compilers 1.0
+
+# Place holder for future Port group for ESO packages
+#PortGroup           eso 1.0
+
+set eso.prefix      ${prefix}/libexec/eso
+
+name                eso-flames-fposs
+
+version             115.0.3
+revision            7
path: science/eso-flames-fposs/Portfile
user: login: herbygillot
body: `revision` is only incremented in the event that you are changing something that changes how it builds or results in a difference in the packaged assets, but the `version` isn't changing.
created_at: 2025-03-13T22:58:24Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,11 @@
+--- pafchk.orig/src/makefile.novlt	2025-01-22 16:38:33
++++ pafchk/src/makefile.novlt	2025-03-13 11:17:39
+@@ -25,7 +25,7 @@
+ # --------------------------
+ CC = $(shell (test "`uname`" == "Darwin" && echo 'gcc') || echo gcc)
+ CC = /opt/local/bin/clang-mp-14
+-CC = /opt/local/bin/gcc-mp-12
++CC = /opt/local/bin//usr/bin/clang
+ CC = gcc
path: science/eso-flames-fposs/files/pafchk.makefile.novlt.diff
user: login: jmroot
body: The patched in value is being overwritten on the next line.
created_at: 2025-03-13T22:58:42Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,24 @@
+--- fposs.orig/src/Makefile_Darwin	2025-01-22 16:38:33
++++ fposs/src/Makefile_Darwin	2025-03-13 11:17:39
+@@ -67,9 +67,9 @@
+ CWARNINGS = -Wall -ansi -DUSE_COMPAT_CONST -DUSE_INTERP_RESULT
+ CINCLUDES = -I$(SDS_SRC) -I$(DRAMA_SRC) -I$(SLA_SRC) -I$(FPCOL_SRC) -I$(PAFCHK_MODULE)/include -I$(X11_DIR) -I$(TCL_DIR) -I.
+ CFLAGS = -DFLAMES_ONLY -DDRAMA_BUILD $(CWARNINGS) $(COPT) $(CINCLUDES)
+-CC = /opt/local/bin/clang-mp-14
+-CC = /opt/local/bin/gcc-mp-12
+-CC = gcc
++CC = /usr/bin/clang
++CC = /usr/bin/clang
++CC = /usr/bin/clang
path: science/eso-flames-fposs/files/Makefile_Darwin.diff
user: login: herbygillot
body: Perhaps this should be `CC ?= /usr/bin/clang` instead, so that it can be properly set by whatever is executing the builds (in this case, MacPorts).
created_at: 2025-03-13T22:59:50Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,81 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem          1.0
+PortGroup           compilers 1.0
+
+# Place holder for future Port group for ESO packages
+#PortGroup           eso 1.0
+
+set eso.prefix      ${prefix}/libexec/eso
+
+name                eso-flames-fposs
+
+version             115.0.3
+revision            7
path: science/eso-flames-fposs/Portfile
user: login: jmroot
body: > `revision` should be zero for a brand new port.

This is only a brand new port for us; ESO has been using it internally for some time.
created_at: 2025-03-13T22:59:55Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,81 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem          1.0
+PortGroup           compilers 1.0
+
+# Place holder for future Port group for ESO packages
+#PortGroup           eso 1.0
+
+set eso.prefix      ${prefix}/libexec/eso
+
+name                eso-flames-fposs
+
+version             115.0.3
+revision            7
path: science/eso-flames-fposs/Portfile
user: login: herbygillot
body: Ah ok, understood.
created_at: 2025-03-13T23:00:46Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,81 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem          1.0
+PortGroup           compilers 1.0
+
+# Place holder for future Port group for ESO packages
+#PortGroup           eso 1.0
+
+set eso.prefix      ${prefix}/libexec/eso
+
+name                eso-flames-fposs
+
+version             115.0.3
+revision            7
path: science/eso-flames-fposs/Portfile
user: login: jmroot
body: No worries. There's some context here from a private email exchange, which in hindsight makes this slightly confusing for anyone who wasn't involved. :)
created_at: 2025-03-14T00:09:44Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
path: science/eso-flames-fposs/Portfile
user: login: JohnPritchard
body: Concerning the clang version. OK, that sounds food to me. I have removed the `vercmp` section, but left in the compilers Portgroup. Let's see what happens with the buildbot...
created_at: 2025-03-14T06:08:07Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+distname            flames-fposs-${version}
+distfiles           fposs-${version}.tar.gz
+
+checksums           fposs-115.0.3.tar.gz \
+                    rmd160  065a65f558317661d1356bfeee579f8790c14ecb  \
+                    sha256  9d16463dacfaa493a2221c352b2aa323bd0edd2f86c3d1fcafe6588a11f0989b  \
+                    size    2319171
+
+set worksrcpath          ${workpath}/fposs-${version}
+
+#compilers.choose    cc cxx
+#compilers.setup     gcc
+
+configure.cflags-append    -std=c11
+configure.cxxflags-append  -std=c11
path: science/eso-flames-fposs/Portfile
user: login: JohnPritchard
body: Ah, ok, understood.
At least on my system (macOS-15.3.1 + Xcode 16.2), It seems to be working without specifying:
```
configure.cflags-append    -std=c11
configure.cxxflags-append  -std=c++11
```
So maybe we can also wait and see what happens with the buildbot.
created_at: 2025-03-14T06:15:34Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,87 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem      1.0
+
+#PortGroup       compilers 1.0
+
+set instrument      flames
+
+name            eso-flames-fposs
+
+version         115.0.3
+revision        2
+
+categories      science
+license         GPL-2+
+maintainers     eso.org:john.pritchard
+homepage        http://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html
+description     ESO FLAMES Observation Preparation software
+long_description ESO FLAMES Observation Preparation software.
+                 
+master_sites        https://ftp.eso.org/pub/usg/fposs/
+distname            flames-fposs-${version}
+distfiles           fposs-${version}.tar.gz
+
+checksums           fposs-115.0.3.tar.gz \
+                    rmd160  065a65f558317661d1356bfeee579f8790c14ecb  \
+                    sha256  9d16463dacfaa493a2221c352b2aa323bd0edd2f86c3d1fcafe6588a11f0989b  \
+                    size    2319171
+
+set worksrcpath          ${workpath}/fposs-${version}
+
+#compilers.choose    cc cxx
+#compilers.setup     gcc
+
+configure.cflags-append    -std=c11
+configure.cxxflags-append  -std=c11
+
+#default_variants  +${compilers.gcc_default}
+use_parallel_build      no
+
+depends_run       port:tk port:tcl \
+                  port:ncurses \
+                  port:xorg-server
+
+#variant xquartz   description {Use this variant if you have XQuartz installed.} {
+#  depends_run-remove port:xorg-server
+#  depends_run-append port:xorg-libX11
+#}
+
+configure {
+  reinplace "s@\$(CC) \$(CFLAGS) -c \$(PAFCHK_MODULE)@\$(CC) -DFLAMES_ONLY -DDRAMA_BUILD \$(CWARNINGS) \$(COPT) -I\$(PAFCHK_MODULE)/include -c \$(PAFCHK_MODULE)@" \
path: science/eso-flames-fposs/Portfile
user: login: JohnPritchard
body: Ah true! I was a bit too hasty! Thanks for catching that. I've reworked the patches to set `@@ESO_CC@@` and `@@ESO_PREFIX@@` placeholders and then `reinplace` those in the port file.
created_at: 2025-03-14T07:38:15Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,24 @@
+--- fposs.orig/src/Makefile_Darwin	2025-01-22 16:38:33
++++ fposs/src/Makefile_Darwin	2025-03-13 11:17:39
+@@ -67,9 +67,9 @@
+ CWARNINGS = -Wall -ansi -DUSE_COMPAT_CONST -DUSE_INTERP_RESULT
+ CINCLUDES = -I$(SDS_SRC) -I$(DRAMA_SRC) -I$(SLA_SRC) -I$(FPCOL_SRC) -I$(PAFCHK_MODULE)/include -I$(X11_DIR) -I$(TCL_DIR) -I.
+ CFLAGS = -DFLAMES_ONLY -DDRAMA_BUILD $(CWARNINGS) $(COPT) $(CINCLUDES)
+-CC = /opt/local/bin/clang-mp-14
+-CC = /opt/local/bin/gcc-mp-12
+-CC = gcc
++CC = /usr/bin/clang
++CC = /usr/bin/clang
++CC = /usr/bin/clang
path: science/eso-flames-fposs/files/Makefile_Darwin.diff
user: login: JohnPritchard
body: Indeed! Redundancy removed and `?=` (nice!) used.
created_at: 2025-03-14T08:29:28Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,11 @@
+--- pafchk.orig/src/makefile.novlt	2025-01-22 16:38:33
++++ pafchk/src/makefile.novlt	2025-03-13 11:17:39
+@@ -25,7 +25,7 @@
+ # --------------------------
+ CC = $(shell (test "`uname`" == "Darwin" && echo 'gcc') || echo gcc)
+ CC = /opt/local/bin/clang-mp-14
+-CC = /opt/local/bin/gcc-mp-12
++CC = /opt/local/bin//usr/bin/clang
+ CC = gcc
path: science/eso-flames-fposs/files/pafchk.makefile.novlt.diff
user: login: JohnPritchard
body: Oh my! What a mess. This code is rather old and has for many years been considered frozen by ESO. I have been hacking away at it over the past decade or so "just to keep it going"... Over the years I have tried many different things, and as you can see have often left things in place "just in case...".

I have now cleaned this up in the patch file so as to now result in:
```
CC ?= @@ESO_CC@@
```
and in due course I will clean it up up-stream, and of course at that time release a new version.
created_at: 2025-03-14T08:42:02Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,11 @@
+--- pafchk.orig/src/makefile.novlt	2025-01-22 16:38:33
++++ pafchk/src/makefile.novlt	2025-03-13 11:17:39
+@@ -25,7 +25,7 @@
+ # --------------------------
+ CC = $(shell (test "`uname`" == "Darwin" && echo 'gcc') || echo gcc)
+ CC = /opt/local/bin/clang-mp-14
+-CC = /opt/local/bin/gcc-mp-12
++CC = /opt/local/bin//usr/bin/clang
+ CC = gcc
path: science/eso-flames-fposs/files/pafchk.makefile.novlt.diff
user: login: JohnPritchard
body: I also had to add `CC=${configure.cc} CXX=${configure.cxx}` to the system commands in the build section to actually use the CC/CXX set in the Portfile. So now, specifying a compiler variant actually works (possibly for the first time ever...).
created_at: 2025-03-14T09:11:39Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,11 @@
+--- pafchk.orig/src/makefile.novlt	2025-01-22 16:38:33
++++ pafchk/src/makefile.novlt	2025-03-13 11:17:39
+@@ -25,7 +25,7 @@
+ # --------------------------
+ CC = $(shell (test "`uname`" == "Darwin" && echo 'gcc') || echo gcc)
+ CC = /opt/local/bin/clang-mp-14
+-CC = /opt/local/bin/gcc-mp-12
++CC = /opt/local/bin//usr/bin/clang
+ CC = gcc
path: science/eso-flames-fposs/files/pafchk.makefile.novlt.diff
user: login: JohnPritchard
body: Ok, I think I have now applied all the recommendations. Hopefully it can now be accepted.
created_at: 2025-03-14T09:13:27Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,11 @@
+--- pafchk.orig/src/makefile.novlt	2025-01-22 16:38:33
++++ pafchk/src/makefile.novlt	2025-03-13 11:17:39
+@@ -25,7 +25,7 @@
+ # --------------------------
+ CC = $(shell (test "`uname`" == "Darwin" && echo 'gcc') || echo gcc)
+ CC = /opt/local/bin/clang-mp-14
+-CC = /opt/local/bin/gcc-mp-12
++CC = /opt/local/bin//usr/bin/clang
+ CC = gcc
path: science/eso-flames-fposs/files/pafchk.makefile.novlt.diff
user: login: JohnPritchard
body: Should I click the "Re-request review" button(s) at this stage, or is it enough that I have responded to the review comments? What is the polite way to proceed (please point me at the docs if this is covered there).
created_at: 2025-03-14T09:18:53Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,85 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem          1.0
+PortGroup           compilers 1.0
+
+# Place holder for future Port group for ESO packages
+#PortGroup           eso 1.0
+
+set eso.prefix      ${prefix}/libexec/eso
+
+name                eso-flames-fposs
+
+version             115.0.3
+revision            17
path: science/eso-flames-fposs/Portfile
user: login: jmroot
body: I see the revision has gone up quite a bit since this PR started. It's not necessary to increment the revision for every unreleased change. We only increment it when a change is pushed to master that changes the port's installed files. Technically having the number go up by more than 1 in a merge doesn't hurt anything, but it might be slightly confusing to observers.
created_at: 2025-03-14T22:25:19Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,11 @@
+--- pafchk.orig/src/makefile.novlt	2025-01-22 16:38:33
++++ pafchk/src/makefile.novlt	2025-03-13 11:17:39
+@@ -25,7 +25,7 @@
+ # --------------------------
+ CC = $(shell (test "`uname`" == "Darwin" && echo 'gcc') || echo gcc)
+ CC = /opt/local/bin/clang-mp-14
+-CC = /opt/local/bin/gcc-mp-12
++CC = /opt/local/bin//usr/bin/clang
+ CC = gcc
path: science/eso-flames-fposs/files/pafchk.makefile.novlt.diff
user: login: jmroot
body: > Should I click the "Re-request review" button(s) at this stage, or is it enough that I have responded to the review comments? What is the polite way to proceed (please point me at the docs if this is covered there).

Clicking the button is fine if you have pushed new changes that need to be reviewed.
created_at: 2025-03-14T22:26:58Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,85 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem          1.0
+PortGroup           compilers 1.0
+
+# Place holder for future Port group for ESO packages
+#PortGroup           eso 1.0
+
+set eso.prefix      ${prefix}/libexec/eso
+
+name                eso-flames-fposs
+
+version             115.0.3
+revision            17
path: science/eso-flames-fposs/Portfile
user: login: JohnPritchard
body: Understood... to explain what's going on here... As I mentioned we, ESO, may ultimately have some 200+ packages to maintain. For the most part, once the packages are in, it will just be simple version bumping with only occasional revision bumping... so to an extent we will "automise" this with a script or two. The revision here then is a kind of "internal" revision, "caused" by this script based approach that generates a new "internal revision" each time I run the script -- that I am also developing at the same time. So here the revision has jumped quite a lot because of the multiple "internal" versions of the Portfile I made to arrive at the "final" product.
Clearly I need to find a way to "detach" these "internal revisions" from the official release revision.

In the meantime, for this particular port we can "reset" the revision manually back to zero, or whatever number you prefer.
created_at: 2025-03-15T11:53:35Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,85 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem          1.0
+PortGroup           compilers 1.0
+
+# Place holder for future Port group for ESO packages
+#PortGroup           eso 1.0
+
+set eso.prefix      ${prefix}/libexec/eso
+
+name                eso-flames-fposs
+
+version             115.0.3
+revision            17
path: science/eso-flames-fposs/Portfile
user: login: jmroot
body: Please set the revision to 1 higher than the highest revision that end users would have installed.
created_at: 2025-03-15T23:39:14Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,85 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+
+PortSystem          1.0
+PortGroup           compilers 1.0
+
+# Place holder for future Port group for ESO packages
+#PortGroup           eso 1.0
+
+set eso.prefix      ${prefix}/libexec/eso
+
+name                eso-flames-fposs
+
+version             115.0.3
+revision            17
path: science/eso-flames-fposs/Portfile
user: login: JohnPritchard
body: The current version-revision available from ESO's repository is 115.0.1 (rev=0). Thus the appropriate revision for this new version 115.0.3 is rev=0. It is now so.
created_at: 2025-03-16T13:10:00Z
author_association: CONTRIBUTOR

PR comments:
user: login: JohnPritchard
created_at: 2025-02-21T06:28:18Z
body: A little additional information via references.

You can find out about the European Southern Observatory [here](https://www.eso.org), the Very Large Telescope [here](https://www.eso.org/public/teles-instr/paranal-observatory/vlt/), the instrument FLAMES [here](https://www.eso.org/public/teles-instr/paranal-observatory/vlt/vlt-instr/flames/) and the FPOSS software [here](https://www.eso.org/sci/observing/phase2/SMGuidelines/FPOSS.FLAMES.html).
author_association: CONTRIBUTOR
user: login: JohnPritchard
created_at: 2025-03-07T09:26:34Z
body: @ryandesign , via email:

> On 5/3/2025 20:18, Ryan Carsten Schmidt wrote:
> 
> > On Mar 5, 2025, at 02:38, John Pritchard wrote:
> > I submitted a pull request for a first new port (eso-flames-fpos, see https://github.com/macports/macports-ports/pull/27711 <https:// [github.com/macports/macports-ports/pull/27711](http://github.com/macports/macports-ports/pull/27711)>) two weeks ago, but so far nothing has happened. Is there something I need to do to get things moving?
> > 
> 
> Sorry, I haven't been following the pull requests lately and didn't see it.
> Looking at it now, I have several suggestions for changes, which I will try to write up in the PR later today.

In the meantime, let me add, as discussed with the [MacPorts Management Team](https://guide.macports.org/#project.portmgr), in particular with jmroot, this is a first package in what will be a series of packages for European Southern Observatory [ESO] software. Ultimately upto ~200 individual packages, some which rely on a "legacy" software stack (tcl/tk-8.4), and others which have a conflicts with some existing packages. Hence the desire to keep all these packages "isolated" in /opt/local/libexec/eso. This particular package doesn't really need this, but I think it will be best/easiest to manage in the long term to be consistent for all the ESO packages.

This may help explain some of the choices in the Portfile that you were perhaps going to suggest to change.

Of course, I am happy to discuss all this in more detail.
author_association: CONTRIBUTOR
user: login: JohnPritchard
created_at: 2025-03-07T09:47:59Z
body: Ok, good, I see that the minor change I just made, to modify the "prefix" install dir from:
`${prefix}/libexec/eso-flames-fposs`
to
`${prefix}/libexec/eso`
is noted here in this ticket. Cool.
author_association: CONTRIBUTOR
user: login: jmroot
created_at: 2025-03-14T22:27:20Z
body: Since the compiler issues have been resolved I'll let CI run now.
author_association: MEMBER
user: login: jmroot
created_at: 2025-03-14T22:30:27Z
body: BTW, we prefer to rebase branches on top of master rather than using merge commits. It doesn't really matter for this PR since it will be squashed anyway, but something to keep in mind if you do future PRs with multiple commits that should be merged as multiple commits.
author_association: MEMBER
user: login: jmroot
created_at: 2025-03-14T22:40:12Z
body: CI is green, so this should be good to merge once we decide what to do with the revision.
author_association: MEMBER
user: login: JohnPritchard
created_at: 2025-03-15T11:58:12Z
body: For the revision number, as commented above, we/I can reset it (manually) back to whatever number you think it should have. Let me know and I will make the change and then commit.

> BTW, we prefer to rebase branches on top of master rather than using merge commits. It doesn't really matter for this PR since it will be squashed anyway, but something to keep in mind if you do future PRs with multiple commits that should be merged as multiple commits.

I am sorry I have to admit, I don't really understand what this means. Can you explain what I should have done (and should in future do) differently?
author_association: CONTRIBUTOR
user: login: JohnPritchard
created_at: 2025-03-15T12:01:37Z
body: Oh, and let me also add my sincere thanks to you @jmroot & @herbygillot for the time and patience you have given this merge request. I have learnt a lot about something I thought I already knew quite well, i.e. I have learnt how much I do NOT know ;) And I will certainly aim to apply all I have learnt to the packages that will follow. 
author_association: CONTRIBUTOR
user: login: jmroot
created_at: 2025-03-15T23:49:36Z
body: > > BTW, we prefer to rebase branches on top of master rather than using merge commits. It doesn't really matter for this PR since it will be squashed anyway, but something to keep in mind if you do future PRs with multiple commits that should be merged as multiple commits.
> 
> I am sorry I have to admit, I don't really understand what this means. Can you explain what I should have done (and should in future do) differently?

Basically, after you pull new changes from the official repo into your master branch:
```
git checkout your-branch
git rebase master
```
This rewrites history so that your changes are being applied on top of what's in master. Since history has been rewritten on this branch, you will then have to force push it:
```
git push -f origin your-branch
```

We have some documentation for our common workflows here: https://trac.macports.org/wiki/WorkingWithGit

And please feel free to ask on macports-dev if there is anything you need help with. Git is far from the most user friendly of tools.
author_association: MEMBER
user: login: JohnPritchard
created_at: 2025-03-16T13:38:11Z
body: Humpf... in my existing eso-flames-fposs branch of my fork of macports-ports I did:
```
git rebase master
git push -f origin eso-flames-fposs
```
This applied more than 700 changes, at the end of which my branch had ~30 conflicts.
So then (I quietly panicked and) I tried to fix things in the GitHub webUI by "un-applying" (or words to that effect) which apparently resulted in closing this merge-request and "erased" all my previous commits for eso-flames-fposs.... **Argghhh newbies**!

So I then cloned my macports-ports fork. Switched to the eso-flames-fposs branch, copied in the latest version of the port, and committed that, and I will thus try to "Reopen and comment" with that/this...

I hope this all makes senses. I believe it does at least have the advantage of "laundering the history" of this merge request into a single commit...
author_association: CONTRIBUTOR
user: login: JohnPritchard
created_at: 2025-03-16T13:40:53Z
body: Seems to have worked as intended. Please let me know if there is anything further I need to do.
author_association: CONTRIBUTOR
user: login: jmroot
created_at: 2025-03-17T01:11:17Z
body: > This applied more than 700 changes, at the end of which my branch had ~30 conflicts. So then (I quietly panicked and) I tried to fix things in the GitHub webUI by "un-applying" (or words to that effect) which apparently resulted in closing this merge-request and "erased" all my previous commits for eso-flames-fposs.... **Argghhh newbies**!

Ah, sorry, I probably should have been more emphatic that you shouldn't try rebasing this branch unless you really know what you're doing, because it already contained merge commits. I was going to do a squash and merge so it ended up as one commit in master. Glad you were able to recover anyway.
author_association: MEMBER
user: login: jmroot
created_at: 2025-03-17T05:00:54Z
body: Builds have succeeded back to macOS 10.11. Prior to that they have been skipped:
```
Excluding eso-flames-fposs because its dependency 'xorg-server' is known to fail
```
See [#63050](https://trac.macports.org/ticket/63050) for some of the background here. Options include simply omitting the xorg-server dependency and communicating to users in some way that they need an X server, or depending on xorg-server-legacy on older OS versions, or implementing the suggestion in the linked ticket.
author_association: MEMBER
user: login: JohnPritchard
created_at: 2025-03-17T07:47:51Z
body: Hi @jmroot, this is great news! Again, many thanks for all your help, guidance and patience throughout this process.

1 down, 200 to go! Hopefully with all I have learnt here, the next ones will go more smoothly.

Before I start on the next actual ports, I would like to submit the eso-1.0.tcl PortGroup file. It's fairly triivial at the moment but will become more useful as I submit more ports. I hope that's ok.
author_association: CONTRIBUTOR
user: login: JohnPritchard
created_at: 2025-03-17T07:48:53Z
body: I'll work on the 'org-server' issue for eso-flames-fposs in due course.
author_association: CONTRIBUTOR