# -*- 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 PortSystem 1.0 PortGroup compiler_blacklist_versions 1.0 PortGroup legacysupport 1.1 PortGroup texlive 1.0 name asymptote version 2.92 revision 0 categories graphics maintainers {mojca @mojca} openmaintainer description A vector graphics language long_description Asymptote is a powerful descriptive \ vector graphics language that provides a natural \ coordinate-based framework for technical drawing. \ Labels and equations are typeset with LaTeX, for \ high-quality PostScript output. homepage https://asymptote.sourceforge.net license LGPL-3+ # libpaper is a dependency of ghostscript that's only used at runtime license_noconflict libpaper set python.branch 3.11 set python.version [join [split ${python.branch} "."] ""] set python.bin ${prefix}/bin/python${python.branch} master_sites sourceforge:project/${name}/${version}/ extract.suffix .src.tgz checksums rmd160 2b75e1d2b56235fd27a82f1d26d620b0cd35e2ca \ sha256 9d9b5c6fa7e0fbce3c1e54feb25e2d51d28c4fe7798f24c76cdcae8291a8ea66 \ size 17075592 # On Lion the default clang fails with # ../base/graph_splinetype.asy: 13.10: arrays have different lengths: 24 != 25 # gcc-4.2 fails on 10.6 with multiple errors. compiler.blacklist {clang < 500} *gcc-4.* compiler.cxx_standard 2014 configure.args-append \ --enable-gc=system \ --with-latex=${texlive_texmfports}/tex/latex \ --with-context=${texlive_texmfports}/tex/context/third \ --mandir=${prefix}/share/man \ --disable-offscreen \ --disable-lsp configure.cxxflags-append \ -std=c++14 build.env-append PYTHON=${python.bin} #build.env-append PYRCC5=${prefix}/bin/pyrcc5-${python.branch} \ # PYUIC5=${prefix}/bin/pyuic5-${python.branch} #destroot.env-append PYRCC5=${prefix}/bin/pyrcc5-${python.branch} \ # PYUIC5=${prefix}/bin/pyuic5-${python.branch} # texlive-latex-recommended and texinfo are only used for building the docs # other relevant packages are: # - texlive-common # - texlive-bin # - texlive-basic # - texlive-latex # but they are already a dependency of latex-recommended # # one day we could split that into a separate +docs variant # or fetch the PDF from somewhere depends_build-append \ port:ghostscript \ path:bin/pkg-config:pkgconfig \ port:texinfo \ port:texlive-fonts-recommended \ port:texlive-latex-recommended \ port:texlive-latex-extra # port:py${python.version}-pyqt5 depends_lib-append port:boehmgc \ port:fftw-3 \ port:glm \ port:gsl \ port:libsigsegv \ port:ncurses \ port:readline # Runtime dependencies really depend on user preferences. # Asy can draw graphics without any TeX or without LaTeX, # so one might just as well remove all deps (or add more) # # The hierarchy of dependencies goes as: # - texlive-latex-recommended [common, bin, basic, latex] # - texlive-latex [common, bin, basic] # - texlive-basic [common, bin] # # But then asy also supports luatex, context, etc. depends_run port:ghostscript \ port:texlive-basic \ port:py${python.version}-pycson # port:py${python.version}-pyqt5 # TODO: python dependencies for xasy should be optional depends_skip_archcheck-append \ port:ghostscript \ port:texinfo \ port:texlive-basic \ port:texlive-bin \ port:texlive-latex-recommended post-destroot { reinplace "s|#!/usr/bin/env python.*|#!${python.bin}|" \ {*}[glob -directory ${destroot}${prefix}/share/${name}/GUI *.py] } post-activate { # run `mktexlsr` to make sure the asymptote files are found: system "mktexlsr" } post-deactivate { system "mktexlsr" } notes "If you want to use xasy, install py${python.version}-pyqt5."