<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/881231e85b73161551421f620bd6cb0a2c4b2e33">https://github.com/macports/macports-ports/commit/881231e85b73161551421f620bd6cb0a2c4b2e33</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 881231e85b73161551421f620bd6cb0a2c4b2e33
</span>Author: aeiouaeiouaeiouaeiouaeiouaeiou <aeioudev@outlook.com>
AuthorDate: Mon May 5 04:43:27 2025 +0300

<span style='display:block; white-space:pre;color:#404040;'>    fish3: submission
</span>---
 shells/fish3/Portfile                           | 95 +++++++++++++++++++++++++
 shells/fish3/files/patch-share_config_fish.diff | 24 +++++++
 2 files changed, 119 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/shells/fish3/Portfile b/shells/fish3/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..1ce068e57b8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/shells/fish3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,95 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem              1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup               github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup               cmake 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup               legacysupport 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# fstatat
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+legacysupport.newest_darwin_requires_legacy 13
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup            fish-shell fish-shell 3.7.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums               rmd160  ca1d6747e878fbd724f3e800bcaceb224ad33319 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  614c9f5643cd0799df391395fa6bbc3649427bb839722ce3b114d3bbc1a3b250 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        size    2965756
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                    fish3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts               fish
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license                 GPL-2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories              shells
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers             {@aeiouaeiouaeiouaeiouaeiouaeiou outlook.com:aeioudev} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description             The user-friendly command line shell - legacy version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description        fish is a smart and user-friendly command line shell \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        for macOS, Linux, and the rest of the family. This \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port is the last version of fish that written in C++. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        It is suitable for bootstrapping or use on systems \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        without Rust installed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage                https://fishshell.com/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.tarball_from     releases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname                fish-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_xz                  yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append    port:gettext \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        path:bin/pkg-config:pkgconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append      port:gettext-runtime \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:libiconv \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:ncurses \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:pcre2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles              patch-share_config_fish.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@@PREFIX@@|${prefix}/bin|g" "${worksrcpath}/share/config.fish"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # skip failing tests for now, future updates should try enabling them
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    file rename "${worksrcpath}/tests/checks/sigint.fish" "${worksrcpath}/tests/checks/sigint.fish.skip"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard   2011
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.thread_local_storage \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# doxygen appears to only regenerate html files and is not needed to install man pages
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append   -DBUILD_DOCS=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append   -DFISH_USE_SYSTEM_PCRE2=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DMAC_CODESIGN_ID=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin 8 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #/opt/local/var/macports/build/_opt_myports_shells_fish/fish/work/fish-3.0.2/src/env.cpp:436:31: error: invalid conversion from 'char*' to 'int'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.cxxflags-append -D__DARWIN_UNIX03
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_test-append port:bash
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    test.env-append     SHELL=${prefix}/bin/bash
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_test-append     port:py313-pexpect
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# other possible options are ansi, dtterm, rxvt, vt52, vt100, vt102, xterm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.env-append         TERM=nsterm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.run                yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.target             test
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-test {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    append portsandbox_profile " (allow process-exec (literal \"/bin/ps\") (with no-profile))"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+notes "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+To set MacPorts' ${name} as default login shell, run:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    sudo chpass -s ${prefix}/bin/fish \${USER}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+To be able to switch default shells to or from ${name} without superuser\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+privileges, add it to /etc/shells:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    sudo sh -c 'echo ${prefix}/bin/fish >> /etc/shells'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+For X clipboard integration, install the xsel port:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    sudo port install xsel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.type          none
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/shells/fish3/files/patch-share_config_fish.diff b/shells/fish3/files/patch-share_config_fish.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..f6c1e75cd47
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/shells/fish3/files/patch-share_config_fish.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,24 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- share/config.fish.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ share/config.fish
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -86,6 +86,21 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     set -a fish_complete_path $__fish_data_dir/completions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# MacPorts specific PATH setting, move ${prefix}/bin at PATH's head
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set MP_PREFIX @@PREFIX@@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if contains $MP_PREFIX $PATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    set -e MP_PATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    for path_component in $PATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if test $path_component != @@PREFIX@@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            set MP_PATH $MP_PATH $path_component
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    set MP_PATH $MP_PREFIX $MP_PATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    set PATH $MP_PATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    set -e MP_PATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set -e MP_PREFIX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Add a handler for when fish_user_path changes, so we can apply the same changes to PATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ function __fish_reconstruct_path -d "Update PATH when fish_user_paths changes" --on-variable fish_user_paths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # Deduplicate $fish_user_paths
</span></pre><pre style='margin:0'>

</pre>