<pre style='margin:0'>
Eric A. Borisch (eborisch) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/a3145af863adfa47e4fff1a74dbec617d37f0619">https://github.com/macports/macports-ports/commit/a3145af863adfa47e4fff1a74dbec617d37f0619</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 a3145af dcmtk: Simplify variants, add -static sub-port (#6094)
</span>a3145af is described below
<span style='display:block; white-space:pre;color:#808000;'>commit a3145af863adfa47e4fff1a74dbec617d37f0619
</span>Author: Eric A. Borisch <eborisch@macports.org>
AuthorDate: Thu Jan 2 20:15:37 2020 -0600
<span style='display:block; white-space:pre;color:#404040;'> dcmtk: Simplify variants, add -static sub-port (#6094)
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> * dcmtk: Simplify variants, add -static sub-port
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Remove (make mandatory) optional (previously default-on) dependency variants. Most of these libs will be installed by users already (xml2, jpeg, png, zlib ...)
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Add dcmtk-static sub-port (depends_run on port:dcmtk) which only includes static libraries. This enables building binaries statically-linked against dcmtk. (This is a user request, not a typical use-case, to be sure.)
</span>---
graphics/dcmtk/Portfile | 137 ++++++++++++++++++++++++++++--------------------
1 file changed, 79 insertions(+), 58 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/dcmtk/Portfile b/graphics/dcmtk/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 82dea57..52ee0c2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/dcmtk/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/dcmtk/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2,6 +2,7 @@
</span>
PortSystem 1.0
PortGroup compiler_blacklist_versions 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup active_variants 1.1
</span> PortGroup muniversal 1.0
PortGroup conflicts_build 1.0
PortGroup cmake 1.1
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10,7 +11,7 @@ PortGroup cxx11 1.1
</span>
github.setup DCMTK dcmtk 3.6.5 DCMTK-
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 1
</span> set unpatched_version [lindex [split ${version} _] 0]
set stripped_version [string map {. ""} ${unpatched_version}]
categories graphics
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,44 +39,100 @@ checksums \
</span> sha256 074a4c423718cdef3c14c108cea6fa2b08a456c2c03b19984d07a27370c71235 \
size 6279048
<span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist *gcc* {clang < 137}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard 2011
</span>
# avoid self-conflict
configure.cppflags-replace -I${prefix}/include -isystem${prefix}/include
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib port:zlib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib port:jpeg \
</span> port:libiconv \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libxml2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libpng \
</span> port:tcp_wrappers \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:jpeg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:tiff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:zlib
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append -DDCMTK_WITH_TIFF=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DDCMTK_WITH_PNG=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append port:pkgconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append -DDCMTK_WITH_TIFF=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DDCMTK_WITH_OPENJPEG=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DDCMTK_WITH_PNG=ON \
</span> -DDCMTK_WITH_OPENSSL=OFF \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DDCMTK_WITH_XML=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DDCMTK_WITH_XML=ON \
</span> -DDCMTK_WITH_ICONV=ON \
-DDCMTK_ENABLE_PRIVATE_TAGS=OFF \
-DDCMTK_WITH_DOXYGEN=OFF \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DBUILD_SHARED_LIBS=ON \
</span> -DDCMTK_WITH_SNDFILE=OFF \
-DDCMTK_WITH_WRAP=ON \
-DCMAKE_CXX_STANDARD=11 \
-DDCMTK_ENABLE_STL=ON
<span style='display:block; white-space:pre;background:#ffe0e0;'>-post-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # 7921b2e in base creates symlinks, bypassing the github portgroup's move
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # which would be OK, except Doxygen doesn't seem to like being pointed to a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # symlink as the base of the directories to search for sources. However,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # adding a '/.' to the end of the INPUT line makes it happy again, so...
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # https://github.com/doxygen/doxygen/issues/3518
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace -E "s|^(INPUT .*)\"|\\1/.\"|" doxygen/htmldocs.cfg
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport dcmtk-static {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${name} ne ${subport}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_run-append port:dcmtk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append -DBUILD_SHARED_LIBS=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ long_description Libraries to enable static-linking to dcmtk.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set actvar ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set inactvar ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach variant {private sound ssl universal} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[variant_isset ${variant}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ append actvar " " ${variant}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ append inactvar " " ${variant}
</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;'>+ if {![active_variants port:dcmtk "${actvar}" "${inactvar}"]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_error {dcmtk and dcmtk-static must have matching variants!}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error
</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;'>+ destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 644 {*}[glob -directory ${cmake.build_dir}/lib/ *.a] \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot}${prefix}/lib/
</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;'>+ configure.args-append -DBUILD_SHARED_LIBS=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # 7921b2e in base creates symlinks, bypassing the github portgroup's move
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # which would be OK, except Doxygen doesn't seem to like being pointed to a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # symlink as the base of the directories to search for sources. However,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # adding a '/.' to the end of the INPUT line makes it happy again, so...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # https://github.com/doxygen/doxygen/issues/3518
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace -E "s|^(INPUT .*)\"|\\1/.\"|" doxygen/htmldocs.cfg
</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;'>+ variant doc description "Install documentation" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append port:doxygen
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build.target-append DOXYGEN
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-delete -DDCMTK_WITH_DOXYGEN=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append -DDCMTK_WITH_DOXYGEN=ON
</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;'>+ if {[variant_isset doc]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Don't really want these man pages.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${destroot}${prefix}/share/man/man1 "rm -f *_${distname}_*"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set DOCDIR file://${prefix}/share/doc/dcmtk/html/index.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ notes "DCMTK documentation available at:\n ${DOCDIR}"
</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.args docdir=${prefix}/share/doc/${name}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant doc description "Install documentation" {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_build-append port:doxygen
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- build.target-append DOXYGEN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-delete -DDCMTK_WITH_DOXYGEN=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DDCMTK_WITH_DOXYGEN=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # avoid conflict with other MacPorts libraries
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach lib {charls} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete ${destroot}${prefix}/lib/lib${lib}.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
variant private description "Install private tags dictionary" {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -83,12 +140,6 @@ variant private description "Install private tags dictionary" {
</span> configure.args-append -DDCMTK_ENABLE_PRIVATE_TAGS=ON
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant png description "Enable png support" {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:libpng
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-delete -DDCMTK_WITH_PNG=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DDCMTK_WITH_PNG=ON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> variant sound description "Enable sndfile support" {
depends_lib-append port:libsndfile
configure.args-delete -DDCMTK_WITH_SNDFILE=OFF
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -101,37 +152,7 @@ variant ssl description "Enable openssl support" {
</span> configure.args-append -DDCMTK_WITH_OPENSSL=ON
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant tiff description "Enable tiff support" {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:tiff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-delete -DDCMTK_WITH_TIFF=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DDCMTK_WITH_TIFF=ON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-variant xml description "Enable xml support" {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append port:libxml2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-delete -DDCMTK_WITH_XML=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DDCMTK_WITH_XML=ON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-default_variants +png +ssl +tiff +xml
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset doc]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Don't really want these man pages.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- system -W ${destroot}${prefix}/share/man/man1 "rm -f *_${distname}_*"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set DOCDIR file://${prefix}/share/doc/dcmtk/html/index.html
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- notes "DCMTK documentation available at:\n ${DOCDIR}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot.args docdir=${prefix}/share/doc/${name}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # avoid conflict with other MacPorts libraries
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach lib {charls} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- delete ${destroot}${prefix}/lib/lib${lib}.dylib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default_variants +ssl
</span>
test.run yes
test.cmd env DYLD_LIBRARY_PATH=${cmake.build_dir}/lib make
</pre><pre style='margin:0'>
</pre>