diff --git a/cad/librepcb/Makefile b/cad/librepcb/Makefile index 61848df352d4..59d3cb64c5c2 100644 --- a/cad/librepcb/Makefile +++ b/cad/librepcb/Makefile @@ -1,43 +1,41 @@ PORTNAME= librepcb DISTVERSION= 1.1.0 PORTREVISION= 1 DISTVERSIONSUFFIX= -source CATEGORIES= cad MASTER_SITES= https://download.librepcb.org/releases/${DISTVERSION}/ MAINTAINER= yuri@FreeBSD.org COMMENT= Schematic and PCB editing software WWW= https://librepcb.org/ \ https://github.com/LibrePCB/LibrePCB LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE.txt -BROKEN_FreeBSD_15= compilation error: no member named 'construct' in 'optional', see https://github.com/LibrePCB/LibrePCB/issues/1454 - LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg4 \ libfontconfig.so:x11-fonts/fontconfig \ libfreeimage.so:graphics/freeimage \ libfreetype.so:print/freetype2 \ libtbb.so:devel/onetbb \ libTKService.so:cad/opencascade USES= cmake:testing compiler:c++11-lang desktop-file-utils gl \ localbase:ldflags qt:5 shared-mime-info xorg zip USE_QT= concurrent core declarative gui network \ opengl printsupport quickcontrols2 sql svg xml widgets \ buildtools:build linguisttools:build testlib:build qmake:build USE_GL= gl glu USE_XORG= x11 WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION} CMAKE_ARGS= -DCMAKE_PREFIX_PATH=${LOCALBASE}/lib # workaround for https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274834 CMAKE_OFF= BUILD_TESTS CMAKE_TESTING_ON= BUILD_TESTS CMAKE_TESTING_TARGET= post-test: # run tests @${BUILD_WRKSRC}/tests/unittests/librepcb-unittests .include diff --git a/cad/librepcb/files/patch-libs_optional_tl_optional.hpp b/cad/librepcb/files/patch-libs_optional_tl_optional.hpp new file mode 100644 index 000000000000..96d0ce2baa5b --- /dev/null +++ b/cad/librepcb/files/patch-libs_optional_tl_optional.hpp @@ -0,0 +1,22 @@ +- workaround for https://github.com/LibrePCB/LibrePCB/issues/1454 + +--- libs/optional/tl/optional.hpp.orig 2024-10-31 19:31:32 UTC ++++ libs/optional/tl/optional.hpp +@@ -1979,17 +1979,6 @@ template class optional { (public) + return *this; + } + +- /// Constructs the value in-place, destroying the current one if there is +- /// one. +- template T &emplace(Args &&... args) noexcept { +- static_assert(std::is_constructible::value, +- "T must be constructible with Args"); +- +- *this = nullopt; +- this->construct(std::forward(args)...); +- return value(); +- } +- + void swap(optional &rhs) noexcept { std::swap(m_value, rhs.m_value); } + + /// Returns a pointer to the stored value