From a13801d76a9c5d8fa7c006a54ce7990a09d881b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Wed, 4 Feb 2026 11:02:19 +0700 Subject: [PATCH 1/2] New package: dvisvgm-3.6 --- srcpkgs/dvisvgm/template | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 srcpkgs/dvisvgm/template diff --git a/srcpkgs/dvisvgm/template b/srcpkgs/dvisvgm/template new file mode 100644 index 00000000000000..fba9885cb0c43b --- /dev/null +++ b/srcpkgs/dvisvgm/template @@ -0,0 +1,15 @@ +# Template file for 'dvisvgm' +pkgname=dvisvgm +version=3.6 +revision=1 +build_style=gnu-configure +configure_args="--with-ttfautohint" +hostmakedepends="pkg-config ttfautohint asciidoc xmlto libxslt" +makedepends="texlive-devel ghostscript-devel freetype-devel potrace-devel + brotli-devel woff2-devel xxHash-devel ttfautohint zlib-devel harfbuzz-devel" +short_desc="Fast DVI, EPS, and PDF to SVG converter" +maintainer="Đoàn Trần Công Danh " +license="GPL-3.0-or-later" +homepage="https://dvisvgm.de/" +distfiles="https://github.com/mgieseki/dvisvgm/releases/download/${version}/dvisvgm-${version}.tar.gz" +checksum=26446bb3b10739ff0925c9e416b76d2d222075c9d5dcfafe6e214609d072ed1a From e16c2d1f487fb57cf70ff54fd99fba9829ce3051 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Mon, 2 Feb 2026 16:12:02 +0700 Subject: [PATCH 2/2] New package: asymptote-3.05 --- .../patches/asymptote-2.70-info.patch | 11 +++ .../patches/asymptote-2.92-xdg-utils.patch | 23 +++++++ .../patches/asymptote-3.00-gc-check.patch | 12 ++++ .../patches/asymptote-3.05-boost-1.88.patch | 68 +++++++++++++++++++ .../patches/asymptote-3.05-boost-1.89.patch | 65 ++++++++++++++++++ .../patches/asymptote-3.05-system-gc.patch | 59 ++++++++++++++++ srcpkgs/asymptote/template | 33 +++++++++ 7 files changed, 271 insertions(+) create mode 100644 srcpkgs/asymptote/patches/asymptote-2.70-info.patch create mode 100644 srcpkgs/asymptote/patches/asymptote-2.92-xdg-utils.patch create mode 100644 srcpkgs/asymptote/patches/asymptote-3.00-gc-check.patch create mode 100644 srcpkgs/asymptote/patches/asymptote-3.05-boost-1.88.patch create mode 100644 srcpkgs/asymptote/patches/asymptote-3.05-boost-1.89.patch create mode 100644 srcpkgs/asymptote/patches/asymptote-3.05-system-gc.patch create mode 100644 srcpkgs/asymptote/template diff --git a/srcpkgs/asymptote/patches/asymptote-2.70-info.patch b/srcpkgs/asymptote/patches/asymptote-2.70-info.patch new file mode 100644 index 00000000000000..9333edebf3218a --- /dev/null +++ b/srcpkgs/asymptote/patches/asymptote-2.70-info.patch @@ -0,0 +1,11 @@ +--- a/doc/asymptote.texi ++++ b/doc/asymptote.texi +@@ -23,7 +23,7 @@ file LICENSE in the top-level source dir + + @dircategory Languages + @direntry +-* asymptote: (asymptote/asymptote). Vector graphics language. ++* asymptote: (asymptote). Vector graphics language. + @end direntry + + @titlepage diff --git a/srcpkgs/asymptote/patches/asymptote-2.92-xdg-utils.patch b/srcpkgs/asymptote/patches/asymptote-2.92-xdg-utils.patch new file mode 100644 index 00000000000000..a1206bb8612e11 --- /dev/null +++ b/srcpkgs/asymptote/patches/asymptote-2.92-xdg-utils.patch @@ -0,0 +1,23 @@ +diff '--color=auto' -r -U3 asymptote-2.92.orig/settings.cc asymptote-2.92/settings.cc +--- a/settings.cc ++++ b/settings.cc +@@ -117,14 +117,14 @@ string defaultPSViewer="open"; + string defaultPDFViewer="open"; + string defaultHTMLViewer="open"; + #else +-string defaultPSViewer="evince"; +-string defaultPDFViewer="evince"; +-string defaultHTMLViewer="google-chrome"; ++string defaultPSViewer="xdg-open"; ++string defaultPDFViewer="xdg-open"; ++string defaultHTMLViewer="xdg-open"; + #endif + string defaultGhostscript="gs"; + string defaultGhostscriptLibrary=""; +-string defaultDisplay="display"; +-string defaultAnimate="magick"; ++string defaultDisplay="xdg-open"; ++string defaultAnimate="xdg-open"; + void queryRegistry() {} + const string dirsep="/"; + diff --git a/srcpkgs/asymptote/patches/asymptote-3.00-gc-check.patch b/srcpkgs/asymptote/patches/asymptote-3.00-gc-check.patch new file mode 100644 index 00000000000000..98a18b89ef4804 --- /dev/null +++ b/srcpkgs/asymptote/patches/asymptote-3.00-gc-check.patch @@ -0,0 +1,12 @@ +diff '--color=auto' -r -U3 asymptote-3.01.orig/gc/Makefile.in asymptote-3.01/gc/Makefile.in +--- a/gc/Makefile.in ++++ b/gc/Makefile.in +@@ -2536,7 +2536,7 @@ distcleancheck: distclean + exit 1; } >&2 + check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(check_LTLIBRARIES) +- $(MAKE) $(AM_MAKEFLAGS) check-TESTS ++# $(MAKE) $(AM_MAKEFLAGS) check-TESTS + check: check-recursive + all-am: Makefile $(LTLIBRARIES) $(MANS) $(DATA) $(HEADERS) + install-checkPROGRAMS: install-libLTLIBRARIES diff --git a/srcpkgs/asymptote/patches/asymptote-3.05-boost-1.88.patch b/srcpkgs/asymptote/patches/asymptote-3.05-boost-1.88.patch new file mode 100644 index 00000000000000..5ed8437b581048 --- /dev/null +++ b/srcpkgs/asymptote/patches/asymptote-3.05-boost-1.88.patch @@ -0,0 +1,68 @@ +commit a0541fdbeb08247b8c97f2f01e922452ffb4bc9e +Author: Erik Zeek +Date: Mon Jul 21 20:21:07 2025 -0600 + + Use boost/process/v1 for newer boosts + + Signed-off-by: Erik Zeek + +--- a/LspCpp/examples/StdIOClientExample.cpp ++++ b/LspCpp/examples/StdIOClientExample.cpp +@@ -17,7 +17,17 @@ + #include "LibLsp/JsonRpc/TcpServer.h" + #include "LibLsp/lsp/textDocument/document_symbol.h" + #include "LibLsp/lsp/workspace/execute_command.h" ++ ++#include ++#if BOOST_VERSION >= 108800 // v2 is now default ++#define BOOST_PROCESS_VERSION 1 ++#include ++#include ++#include ++#else + #include ++#endif ++ + #include + #include + #include +--- a/LspCpp/examples/StdIOServerExample.cpp ++++ b/LspCpp/examples/StdIOServerExample.cpp +@@ -16,7 +16,17 @@ + #include "LibLsp/JsonRpc/TcpServer.h" + #include "LibLsp/lsp/textDocument/document_symbol.h" + #include "LibLsp/lsp/workspace/execute_command.h" ++ ++#include ++#if BOOST_VERSION >= 108800 // v2 is now default ++#define BOOST_PROCESS_VERSION 1 ++#include ++#include ++#include ++#else + #include ++#endif ++ + #include + #include + #include +--- a/LspCpp/src/lsp/ParentProcessWatcher.cpp ++++ b/LspCpp/src/lsp/ParentProcessWatcher.cpp +@@ -1,6 +1,17 @@ + #include "LibLsp/lsp/ParentProcessWatcher.h" + #include ++ ++#include ++#if BOOST_VERSION >= 108800 // v2 is now default ++#define BOOST_PROCESS_VERSION 1 ++#include ++#include ++#include ++#include ++#else + #include ++#error "V1" ++#endif + + #ifdef _WIN32 + #include diff --git a/srcpkgs/asymptote/patches/asymptote-3.05-boost-1.89.patch b/srcpkgs/asymptote/patches/asymptote-3.05-boost-1.89.patch new file mode 100644 index 00000000000000..1b2d820a79c7db --- /dev/null +++ b/srcpkgs/asymptote/patches/asymptote-3.05-boost-1.89.patch @@ -0,0 +1,65 @@ +--- a/LspCpp/include/LibLsp/lsp/SimpleTimer.h ++++ b/LspCpp/include/LibLsp/lsp/SimpleTimer.h +@@ -1,10 +1,18 @@ + #pragma once + #include + #include ++#include + #include + #include ++#include + +-template ++template 108900 ++ std::chrono::milliseconds ++#else ++ boost::posix_time::milliseconds ++#endif ++ > + class SimpleTimer + { + public: +@@ -44,6 +52,10 @@ private: + std::atomic_bool is_running_; + std::function call_back; + boost::asio::io_context _ios; ++#if BOOST_VERSION > 108900 ++ boost::asio::system_timer _deadline_timer; ++#else + boost::asio::deadline_timer _deadline_timer; ++#endif + std::thread _thread; + }; +--- a/LspCpp/src/lsp/ParentProcessWatcher.cpp ++++ b/LspCpp/src/lsp/ParentProcessWatcher.cpp +@@ -1,5 +1,6 @@ + #include "LibLsp/lsp/ParentProcessWatcher.h" + #include ++#include + + #include + #if BOOST_VERSION >= 108800 // v2 is now default +@@ -29,7 +30,12 @@ using namespace std; + + struct ParentProcessWatcher::ParentProcessWatcherData : std::enable_shared_from_this + { +- std::unique_ptr> timer; ++#if BOOST_VERSION > 108900 ++ using WatcherDuration = std::chrono::seconds; ++#else ++ using WatcherDuration = boost::posix_time::seconds; ++#endif ++ std::unique_ptr> timer; + lsp::Log& _log; + std::function on_exit; + lsp::ProcessIoService asio_io; +@@ -94,7 +100,7 @@ struct ParentProcessWatcher::ParentProce + ); + } + +- self->timer = std::make_unique>( ++ self->timer = std::make_unique>( + self->_poll_delay_secs, [=]() { self->run(); } + ); + } diff --git a/srcpkgs/asymptote/patches/asymptote-3.05-system-gc.patch b/srcpkgs/asymptote/patches/asymptote-3.05-system-gc.patch new file mode 100644 index 00000000000000..7e9710c0059bce --- /dev/null +++ b/srcpkgs/asymptote/patches/asymptote-3.05-system-gc.patch @@ -0,0 +1,59 @@ +--- a/configure ++++ b/configure +@@ -8512,9 +8512,6 @@ then : + + if test "x$enable_gc" != "xno"; then + LSP_CMAKE_OPTIONS=$LSP_CMAKE_OPTIONS"-DLSPCPP_SUPPORT_BOEHM_GC=ON " +- if test "x$with_vcpkg" = "xno"; then +- LSP_CMAKE_OPTIONS=$LSP_CMAKE_OPTIONS"-DLSPCPP_GC_DOWNLOADED_ROOT=../\$(GC) " +- fi + else + LSP_CMAKE_OPTIONS=$LSP_CMAKE_OPTIONS"-DLSPCPP_SUPPORT_BOEHM_GC=OFF " + fi +@@ -9164,8 +9161,8 @@ if test "x$enable_gc" != "xno" ; then + + printf "%s\n" "#define USEGC 1" >>confdefs.h + +- GCLIB="\$(GC)/.libs/libgc.a" +- INCL=$INCL" -I\$(GC)/include" ++ GCLIB="-lgc" ++ # INCL=$INCL" -I\$(GC)/include" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $GCNAME is enabled" >&5 + printf "%s\n" "$as_me: $GCNAME is enabled" >&6;} + fi +--- a/memory.h ++++ b/memory.h +@@ -27,7 +27,7 @@ + + #ifdef GC_DEBUG + extern "C" { +-#include ++#include + } + #endif + +@@ -40,8 +40,8 @@ void* asy_malloc_atomic(size_t n); + #define GC_MALLOC(sz) asy_malloc(sz) + #define GC_MALLOC_ATOMIC(sz) asy_malloc_atomic(sz) + +-#include +-#include ++#include ++#include + + #define gc_allocator gc_allocator_ignore_off_page + +--- a/Makefile.in ++++ b/Makefile.in +@@ -176,11 +176,6 @@ $(LSP_ROOT)/liblspcpp.a: + + all: asy sty man faq asy-keywords.el + +-$(GCLIB): +- cd $(GC) && ln -sf ../libatomic_ops . && \ +- ./configure CC="$(CC)" CXX="$(CXX)" $(GCOPTIONS) +- $(MAKE) -C $(GC) check +- + sty: doc/version.texi + cd doc && $(MAKE) asy-latex.pdf + diff --git a/srcpkgs/asymptote/template b/srcpkgs/asymptote/template new file mode 100644 index 00000000000000..271a9eb02e367e --- /dev/null +++ b/srcpkgs/asymptote/template @@ -0,0 +1,33 @@ +# Template file for 'asymptote' +pkgname=asymptote +version=3.05 +revision=1 +build_style=gnu-configure +configure_args="--with-latex=/usr/share/texmf/tex/latex + --with-context=/usr/share/texmf/tex/context/third" +hostmakedepends="bison flex texlive texlive-dvi texinfo pkg-config cmake + python3-PyQt5-devel-tools" +makedepends="fftw-devel gc-devel gsl-devel zlib-devel libtirpc-devel + glm libfreeglut-devel libcurl-devel + boost-devel-minimal readline-devel ncurses-devel" +checkdepends="dvisvgm" +short_desc="C++ like vector graphic language" +maintainer="Colin Teng " +license="GPL-3.0-or-later" +homepage="http://asymptote.sourceforge.net/" +distfiles="${SOURCEFORGE_SITE}/asymptote/asymptote-${version}.src.tgz" +checksum=35c16d0a3bdd869a56e4efff4638f81c3a88b2f6b664d196471015dbf4c69a87 + +if [ "$CROSS_BUILD" ]; then + hostmakedepends+=" asymptote" +fi + +do_build() { + make $makejobs + if [ "$CROSS_BUILD" ]; then + cp /usr/share/asymptote/asy-keywords.el . + touch asy-keywords.el + sed -i 's![.][.]/asy!asy!' doc/Makefile + fi + make $makejobs all +}