<pre style='margin:0'>
Herby Gillot (herbygillot) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/888bd4ee39c95d54eb8c57d4eced09ba83881b38">https://github.com/macports/macports-ports/commit/888bd4ee39c95d54eb8c57d4eced09ba83881b38</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 888bd4ee39c ecgen: new port
</span>888bd4ee39c is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 888bd4ee39c95d54eb8c57d4eced09ba83881b38
</span>Author: Kirill A. Korinsky <kirill@korins.ky>
AuthorDate: Wed Sep 22 20:33:09 2021 +0200

<span style='display:block; white-space:pre;color:#404040;'>    ecgen: new port
</span>---
 math/ecgen/Portfile          | 43 +++++++++++++++++++
 math/ecgen/files/apple.patch | 99 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 142 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/ecgen/Portfile b/math/ecgen/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..4fa64b6f508
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/ecgen/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,43 @@
</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           cmake 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        J08nY ecgen 0.7.5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.tarball_from archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  d0ede5aec8f9c8611ca03317b1160eefe2fb93fb \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  639ebebce8e0954e1811aade255dcfeba490cf591becd88aca2af289b0cdbf19 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    223531
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          math
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms           darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             GPL-2+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {@catap korins.ky:kirill} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://neuromancer.sk/page/ecgen
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         Tool for generating Elliptic curve domain parameters
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    ${description}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:argp-standalone \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:posix-macos-addons
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append  port:pari
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patch.args          -p1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          apple.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 755 ${build.dir}/${name} ${destroot}${prefix}/bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 0755 -d ${destroot}${prefix}/share/doc/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 0644 -W ${worksrcpath} LICENSE README.md ${destroot}${prefix}/share/doc/${name}
</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;'>+test.run            yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.cmd            ${build.dir}/ecgen
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.target         --fp -u -p -r 16
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/ecgen/files/apple.patch b/math/ecgen/files/apple.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8f96b1fa4ca
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/ecgen/files/apple.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,99 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+commit 9d67fed63c6d493eeea99d2fd5bd078c7926da98
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Author: Kirill A. Korinsky <kirill@korins.ky>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date:   Wed Sep 22 20:22:50 2021 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Fixed build on macOS via posix-macos-addons
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    This commit introduced support of macOS by using
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    [posix-macos-addons](https://github.com/stanislaw/posix-macos-addons).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Closes: https://github.com/J08nY/ecgen/issues/7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/CMakeLists.txt b/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 929ef0b..04d8f36 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,6 +16,16 @@ include_directories(lib)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ add_executable(ecgen ${ECGEN_SRC})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-target_link_libraries(ecgen pthread rt pari parson sha1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(PLATFORM_SPECIFIC_LIBS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if (APPLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  find_library(LIB_ARGP argp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  find_library(LIB_POSIX_MACOS_TIMER posix-macos-timer)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  set(PLATFORM_SPECIFIC_LIBS ${LIB_ARGP} ${LIB_POSIX_MACOS_TIMER})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  set(PLATFORM_SPECIFIC_LIBS rt)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++target_link_libraries(ecgen pthread pari parson sha1 ${PLATFORM_SPECIFIC_LIBS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/README.md b/README.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6caab9c..ee248d3 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/README.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/README.md
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -249,6 +249,7 @@ these need to be initialized for `make test` to work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  - PARI/GP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  - gcc / clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ - [posix-macos-addons](https://github.com/stanislaw/posix-macos-addons) for macOS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ecgen uses the [PARI/GP](http://pari.math.u-bordeaux.fr/) library for elliptic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ curve arithmetic and it's SEA point counting algorithm implementation. It also requires the 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/src/util/timeout.c b/src/util/timeout.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 21f9591..6fdbf16 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/util/timeout.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/util/timeout.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5,7 +5,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "timeout.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "util/memory.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-__thread jmp_buf timeout_ptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__thread sigjmp_buf timeout_ptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ __thread bool timeout_in = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ __thread timer_t *timeout_timer;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ __thread struct sigevent *sevp;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -45,4 +45,4 @@ bool timeout_init() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void timeout_quit() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // deinit the main thread.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   timeout_thread_quit();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\ No newline at end of file
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/src/util/timeout.h b/src/util/timeout.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5a5c0d2..57e3d22 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/util/timeout.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/util/timeout.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,6 +15,19 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "io/output.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "misc/config.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <posix-macos-timer.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SIGEV_THREAD_ID 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SIGEV_UN_TID_SYS_GETTID
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define SIGEV_UN_TID_SYS_GETTID \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  sevp->_sigev_un._tid = (__pid_t)syscall(SYS_gettid);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern __thread sigjmp_buf timeout_ptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern __thread bool timeout_in;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern __thread timer_t *timeout_timer;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -35,8 +48,7 @@ extern __thread struct sigevent *sevp;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           sevp->sigev_notify = SIGEV_THREAD_ID;                 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           sevp->sigev_signo = SIGALRM;                          \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           sevp->sigev_value.sival_int = 0;                      \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          sevp->_sigev_un._tid = (__pid_t)syscall(SYS_gettid);  \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                                              \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          SIGEV_UN_TID_SYS_GETTID                               \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           timer_create(CLOCK_MONOTONIC, sevp, timeout_timer);   \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           struct itimerspec timer_time = {                      \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               .it_interval = {.tv_sec = 0, .tv_nsec = 0},       \
</span></pre><pre style='margin:0'>

</pre>