<pre style='margin:0'>
Zhenfu Shi (i0ntempest) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/e93fa6f8eb3c483d8c0b8569e2b393de591139b3">https://github.com/macports/macports-ports/commit/e93fa6f8eb3c483d8c0b8569e2b393de591139b3</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit e93fa6f8eb3c483d8c0b8569e2b393de591139b3
</span>Author: barracuda156 <vital.had@gmail.com>
AuthorDate: Mon Oct 16 08:22:38 2023 +0800
<span style='display:block; white-space:pre;color:#404040;'> tor-devel: update to 0.4.8.7, use openssl PG
</span>---
security/tor-devel/Portfile | 100 ++++++++++++++++++---
security/tor-devel/files/patch-remove-symdef.patch | 18 ++++
2 files changed, 106 insertions(+), 12 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/security/tor-devel/Portfile b/security/tor-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index bad3cd47fbc..4ff928c0743 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/security/tor-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/security/tor-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2,13 +2,13 @@
</span>
PortSystem 1.0
PortGroup compiler_blacklist_versions 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup openssl 1.0
</span>
name tor-devel
conflicts tor
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version 0.4.5.2-alpha
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-categories security
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 0.4.8.7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories security net
</span> maintainers nomaintainer
license BSD
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,22 +23,28 @@ long_description Tor provides a distributed network of servers \
</span>
homepage https://www.torproject.org/
master_sites https://dist.torproject.org/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-distname tor-${version}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums rmd160 04b2406c7c34b9787239f5b76f5ffc775f673a5d \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 4308a5024f11e5cbb9f6cc2acabea13e111ba36f5f7520d17ce0c1358aaee6ae \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 7909432
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set real_name tor
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib port:libevent \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- path:lib/libssl.dylib:openssl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname ${real_name}-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 1ba0490fbb453e18ae6aad7a7ef7fd5587b12a43 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 b20d2b9c74db28a00c07f090ee5b0241b2b684f3afdecccc6b8008931c557491 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 8322562
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append port:libevent \
</span> port:zlib
<span style='display:block; white-space:pre;background:#e0ffe0;'>+set torUser _tor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set torGroup _tor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+add_users ${torUser} group=${torGroup} home=${prefix}/var/lib/${real_name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # src/core/or/conflux_pool.h:39: error: redefinition of typedef ‘conflux_t’
# src/core/or/conflux.h:15: error: previous declaration of ‘conflux_t’ was here
compiler.blacklist-append \
{*gcc-[34].*} {clang < 400}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args --disable-silent-rules
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-silent-rules
</span>
# https://gitweb.torproject.org/torspec.git/tree/proposals/278-directory-compression-scheme-negotiation.txt
# All clients should aim at supporting the same set of supported compression schemes to avoid fingerprinting.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -46,9 +52,79 @@ configure.args-append \
</span> --disable-lzma \
--disable-zstd
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Xcode 14: ld: archive member '__.SYMDEF SORTED' is not mach-o or llvm bitcode file
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-remove-symdef.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Create a working torrc file with basic, locked-down permissions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -o ${torUser} -g ${torGroup} -m 0640 ${destroot}${prefix}/etc/${real_name}/torrc.sample ${destroot}${prefix}/etc/${real_name}/torrc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${destroot}${prefix}/etc/${real_name} "cat >> torrc <<LOCAL_TOR_CONFIGURATION
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Local Tor configuration
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+SocksPolicy accept 127.0.0.1 # accept only localhost connections
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+SocksPolicy reject *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ExitPolicy reject *:* # no exits allowed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DataDirectory ${prefix}/var/lib/${real_name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PidFile ${prefix}/var/run/${real_name}/${real_name}.pid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# tor process uid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+User ${torUser}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+LOCAL_TOR_CONFIGURATION"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # backup torrc files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[file exists ${prefix}/etc/${real_name}/torrc]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move ${destroot}${prefix}/etc/${real_name}/torrc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot}${prefix}/etc/${real_name}/torrc.new
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy ${prefix}/etc/${real_name}/torrc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot}${prefix}/etc/${real_name}/torrc.mp_backup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file attributes ${destroot}${prefix}/etc/${real_name}/torrc.mp_backup \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -owner ${torUser} -group ${torGroup} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -permissions 0660
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # DataDirectory and PID file Ddirectory permissions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "chown ${torUser}:${torGroup} ${prefix}/var/lib/${real_name}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "chmod 0750 ${prefix}/var/lib/${real_name}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "chown ${torUser}:${torGroup} ${prefix}/var/run/${real_name}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "chmod 0750 ${prefix}/var/run/${real_name}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![file exists ${prefix}/etc/${real_name}/torrc]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # restore config files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[file exists ${prefix}/etc/${real_name}/torrc.mp_backup]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy ${prefix}/etc/${real_name}/torrc.mp_backup \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${prefix}/etc/${real_name}/torrc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy ${prefix}/etc/${real_name}/torrc.new \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${prefix}/etc/${real_name}/torrc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file attributes ${prefix}/etc/${real_name}/torrc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -owner ${torUser} -group ${torGroup} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -permissions 0660
</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;'>+
</span> test.run yes
test.target check
<span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ startupitem.create yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ startupitem.name Tor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ startupitem.start "\[ -f \"${prefix}/etc/${real_name}/torrc\" \] \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ startupitem.start-append "\t&& ${prefix}/bin/${real_name} \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ startupitem.start-append "\t\t-f ${prefix}/etc/${real_name}/torrc 2>/dev/null"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ startupitem.stop "if \[ -f \"${prefix}/var/run/${real_name}/${real_name}.pid\" \]; then"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ startupitem.stop-append "\tkill `cat ${prefix}/var/run/${real_name}/${real_name}.pid` \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ startupitem.stop-append "\t\t&& rm -f ${prefix}/var/run/${real_name}/${real_name}.pid"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ startupitem.stop-append "else"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ startupitem.stop-append "\t/usr/bin/killall -SIGUSR1 ${real_name} 2>/dev/null"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ startupitem.stop-append "fi"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ startupitem.pidfile none ${prefix}/var/run/${real_name}/${real_name}.pid
</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;'>+destroot.keepdirs ${destroot}${prefix}/var/lib/${real_name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot}${prefix}/var/run/${real_name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot}${prefix}/var/log/${real_name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> livecheck.type regex
livecheck.url ${master_sites}?C=M\;O=D
<span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex tor-(\\d+\\.\\d+\\.\\d+\\.\\d+(-alpha|-beta|-rc)?)${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.regex ${real_name}-(\\d+\\.\\d+\\.\\d+\\.\\d+)${extract.suffix}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/security/tor-devel/files/patch-remove-symdef.patch b/security/tor-devel/files/patch-remove-symdef.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..48f00adb65d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/security/tor-devel/files/patch-remove-symdef.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,18 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./scripts/build/combine_libs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./scripts/build/combine_libs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -22,6 +22,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mkdir "$dir"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cd "$dir" >/dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "${AR:-ar}" x "$abs"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Delete the "__.SYMDEF*" file if present, it will be generated
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # by ranlib at the end on the combined library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if [ -f "__.SYMDEF SORTED" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rm -f "__.SYMDEF SORTED"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if [ -f "__.SYMDEF" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ rm -f "__.SYMDEF"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cd "$TMPDIR" >/dev/null
</span></pre><pre style='margin:0'>
</pre>