This updates asymptote to the latest release. It adds a missing #ifdef to make it build without libtirpc. I only looked briefly at porting libtircp. I became reluctant when I saw gssapi.h (which can be disabled) and stopped when it wanted me to check or add two dozens of compat defines for pthread support due to missing reentrant.h.
The optnone attribute is to fix the build with llvm 19. I don't use this, so if actual users could give this a spin, that would be nice, although I suspect that the generated docs already exercise it quite well. Index: Makefile =================================================================== RCS file: /cvs/ports/graphics/asymptote/Makefile,v diff -u -p -r1.61 Makefile --- Makefile 4 Feb 2025 20:56:40 -0000 1.61 +++ Makefile 4 Feb 2025 20:58:23 -0000 @@ -1,9 +1,8 @@ COMMENT= powerful descriptive vector graphics language -DISTNAME= asymptote-2.91 +DISTNAME= asymptote-2.95 EXTRACT_SUFX= .src.tgz CATEGORIES= graphics -REVISION= 1 HOMEPAGE= https://asymptote.sourceforge.io/ Index: distinfo =================================================================== RCS file: /cvs/ports/graphics/asymptote/distinfo,v diff -u -p -r1.7 distinfo --- distinfo 20 Nov 2024 14:14:09 -0000 1.7 +++ distinfo 4 Feb 2025 20:58:23 -0000 @@ -1,2 +1,2 @@ -SHA256 (asymptote-2.91.src.tgz) = 6iOyXsv0vrdmU5yCEWG01MOe3/vY0B89nj/FBKejwhQ= -SIZE (asymptote-2.91.src.tgz) = 15156786 +SHA256 (asymptote-2.95.src.tgz) = FWBP0Cy23bxbgHUp0ub8YXyCWhhN0Ne3E5DFZ66seOc= +SIZE (asymptote-2.95.src.tgz) = 32055059 Index: patches/patch-fileio_cc =================================================================== RCS file: patches/patch-fileio_cc diff -N patches/patch-fileio_cc --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-fileio_cc 4 Feb 2025 20:58:23 -0000 @@ -0,0 +1,20 @@ +Index: fileio.cc +--- fileio.cc.orig ++++ fileio.cc +@@ -425,6 +425,8 @@ void iofile::writeline() + if(errorstream::interrupt) throw interrupted(); + } + ++#if HAVE_LIBTIRPC ++ + void igzxfile::open() + { + name=locatefile(inpath(name)); +@@ -451,5 +453,7 @@ void igzxfile::closeFile() + processData().ixfile.remove(index); + } + } ++ ++#endif + + } // namespace camp Index: patches/patch-prc_include_prc_oPRCFile_h =================================================================== RCS file: patches/patch-prc_include_prc_oPRCFile_h diff -N patches/patch-prc_include_prc_oPRCFile_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-prc_include_prc_oPRCFile_h 4 Feb 2025 20:58:23 -0000 @@ -0,0 +1,11 @@ +Index: prc/include/prc/oPRCFile.h +--- prc/include/prc/oPRCFile.h.orig ++++ prc/include/prc/oPRCFile.h +@@ -734,6 +734,7 @@ class oPRCFile + std::vector<std::string> lastgroupnames; + std::string calculate_unique_name(const ContentPRCBase *prc_entity,const ContentPRCBase *prc_occurence); + ++ __attribute__((optnone)) + bool finish(); + uint32_t getSize(); + Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/graphics/asymptote/pkg/PLIST,v diff -u -p -r1.14 PLIST --- pkg/PLIST 20 Nov 2024 14:14:09 -0000 1.14 +++ pkg/PLIST 4 Feb 2025 20:58:23 -0000 @@ -20,20 +20,11 @@ share/asymptote/GUI/Widg_addPolyOpt.py share/asymptote/GUI/Widg_editBezier.py share/asymptote/GUI/Window1.py share/asymptote/GUI/__init__.py +share/asymptote/GUI/buildtool.py share/asymptote/GUI/configs/ share/asymptote/GUI/configs/xasyconfig.cson share/asymptote/GUI/configs/xasykeymap.cson -share/asymptote/GUI/icons_rc.py share/asymptote/GUI/labelEditor.py -share/asymptote/GUI/pyUIClass/ -share/asymptote/GUI/pyUIClass/custMatTransform.py -share/asymptote/GUI/pyUIClass/labelTextEditor.py -share/asymptote/GUI/pyUIClass/setCustomAnchor.py -share/asymptote/GUI/pyUIClass/widg_addLabel.py -share/asymptote/GUI/pyUIClass/widg_addPolyOpt.py -share/asymptote/GUI/pyUIClass/widg_editBezier.py -share/asymptote/GUI/pyUIClass/widgetPointEditor.py -share/asymptote/GUI/pyUIClass/window1.py share/asymptote/GUI/res/ share/asymptote/GUI/res/icons/ share/asymptote/GUI/res/icons/anchor.svg @@ -92,7 +83,9 @@ share/asymptote/GUI/xasySvg.py share/asymptote/GUI/xasyTransform.py share/asymptote/GUI/xasyUtils.py share/asymptote/GUI/xasyValidator.py -share/asymptote/GUI/xasyVersion.py +share/asymptote/GUI/xasyicons/ +share/asymptote/GUI/xasyqtui/ +share/asymptote/GUI/xasyversion/ share/asymptote/animate.asy share/asymptote/animation.asy share/asymptote/annotate.asy