diff options
Diffstat (limited to 'media-gfx/solvespace')
-rw-r--r-- | media-gfx/solvespace/Manifest | 1 | ||||
-rw-r--r-- | media-gfx/solvespace/files/solvespace-3.1-use-system-mimalloc.patch | 41 | ||||
-rw-r--r-- | media-gfx/solvespace/solvespace-3.1.ebuild | 79 |
3 files changed, 121 insertions, 0 deletions
diff --git a/media-gfx/solvespace/Manifest b/media-gfx/solvespace/Manifest index 445aa5c0bdbc..881e7a36fd2c 100644 --- a/media-gfx/solvespace/Manifest +++ b/media-gfx/solvespace/Manifest @@ -1,2 +1,3 @@ DIST libdxfrw-0.6.3-0b7b7b709d9299565db603f878214656ef5e9ddf.tar.gz 691804 BLAKE2B 84c90a591fac71144e9e13aace7c1a00dfc1bd6f27b0bcde6b60541f5b5d3ccc04ae1c759f60cb467445cc884840d04bf4613b5cc553fbbf6951cac33a084d50 SHA512 9ab498aa7f369be79d800e8ca5ec55fa54be79d0778937b81d4c8da776b3419cb8a75400b54b205efc338da32e2e781afd0bed1bd8efed1a0b212dc8682a2615 DIST solvespace-3.0.tar.gz 2734860 BLAKE2B 2efc9d98723c60abdb1c76ac086c40ff2f9b8bc9c315978731493d115fa55a080176ef48d930e3b503c0de0604dbfd2bc3bd99a581f359eb07a23034d09f84bf SHA512 b07b41fac1d67c5350082600a2f09e3fa611a1273e0c93ff93d11a7a1dbf550ff33465686eaff04fdb8350d1fe854ab0301d8723ef31cc65c687ba59cb89187f +DIST solvespace-3.1.tar.gz 2764243 BLAKE2B 764637f84a187c6a86cf65cd672466f48e1e5abd9d335945fc47f2ea48f7d22a94f6840a6019f2380e8416e903bb55f97d9adb18fa6f2e7a94933c2a5b51ef6c SHA512 76794c4b103036f423471c72209521c273b40edcf9a725d2407e757b8dded033863f58640f1bcdf19d7dd1b296334f8745a632875e06604fa4d5b261dd23ba98 diff --git a/media-gfx/solvespace/files/solvespace-3.1-use-system-mimalloc.patch b/media-gfx/solvespace/files/solvespace-3.1-use-system-mimalloc.patch new file mode 100644 index 000000000000..118a920c741d --- /dev/null +++ b/media-gfx/solvespace/files/solvespace-3.1-use-system-mimalloc.patch @@ -0,0 +1,41 @@ +From a793c7d67fc886b1eb66ab67551f3a2448e4adc0 Mon Sep 17 00:00:00 2001 +From: Matthew Smith <matthew@gentoo.org> +Date: Thu, 9 Jun 2022 20:19:19 +0100 +Subject: [PATCH] build: Use system mimalloc + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -185,13 +185,7 @@ endif() + message(STATUS "Using in-tree libdxfrw") + add_subdirectory(extlib/libdxfrw) + +-message(STATUS "Using in-tree mimalloc") +-set(MI_OVERRIDE OFF CACHE BOOL "") +-set(MI_BUILD_SHARED OFF CACHE BOOL "") +-set(MI_BUILD_OBJECT OFF CACHE BOOL "") +-set(MI_BUILD_TESTS OFF CACHE BOOL "") +-add_subdirectory(extlib/mimalloc EXCLUDE_FROM_ALL) +-set(MIMALLOC_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/extlib/mimalloc/include) ++find_package(mimalloc REQUIRED) + + if(NOT FORCE_VENDORED_Eigen3) + find_package(Eigen3 CONFIG) +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -27,7 +27,6 @@ target_include_directories(slvs_deps INTERFACE SYSTEM + ${PNG_PNG_INCLUDE_DIR} + ${FREETYPE_INCLUDE_DIRS} + ${CAIRO_INCLUDE_DIRS} +- ${MIMALLOC_INCLUDE_DIR} + ${EIGEN3_INCLUDE_DIRS}) + target_link_libraries(slvs_deps INTERFACE + dxfrw +@@ -35,7 +34,7 @@ target_link_libraries(slvs_deps INTERFACE + ${PNG_LIBRARY} + ${FREETYPE_LIBRARY} + ${CAIRO_LIBRARIES} +- mimalloc-static) ++ mimalloc) + + if(Backtrace_FOUND) + target_include_directories(slvs_deps INTERFACE SYSTEM diff --git a/media-gfx/solvespace/solvespace-3.1.ebuild b/media-gfx/solvespace/solvespace-3.1.ebuild new file mode 100644 index 000000000000..347d89fe867d --- /dev/null +++ b/media-gfx/solvespace/solvespace-3.1.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# solvespace's libdxfrw is quite heavily modified and incompatible with +# the upstream libdxfrw. +DXFRW_COMMIT="0b7b7b709d9299565db603f878214656ef5e9ddf" +DXFRW_PV="0.6.3" +DXFRW_P="libdxfrw-${DXFRW_PV}-${DXFRW_COMMIT}" + +inherit cmake toolchain-funcs xdg + +DESCRIPTION="Parametric 2d/3d CAD" +HOMEPAGE="http://solvespace.com" +SRC_URI="https://github.com/solvespace/solvespace/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/solvespace/libdxfrw/archive/${DXFRW_COMMIT}.tar.gz -> ${DXFRW_P}.tar.gz" + +# licenses +# + SolveSpace (GPL-3+) +# |- Bitstream Vera (BitstreamVera) +# + libdxfrw (GPL-2+) + +IUSE="openmp" +KEYWORDS="~amd64 ~x86" +LICENSE="BitstreamVera GPL-2+ GPL-3+" +SLOT="0" + +RDEPEND=" + dev-cpp/atkmm:0 + dev-cpp/glibmm:2 + dev-cpp/gtkmm:3.0[X] + dev-cpp/pangomm:1.4 + dev-libs/glib:2 + dev-libs/json-c:= + dev-libs/libsigc++:2 + dev-libs/libspnav[X] + dev-libs/mimalloc:= + media-libs/fontconfig + media-libs/freetype:2[X] + media-libs/libpng:0= + sys-libs/zlib + virtual/opengl + x11-libs/cairo[X] + x11-libs/gtk+:3[X] +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( "${FILESDIR}"/${PN}-3.1-use-system-mimalloc.patch ) + +# This is shown to the user in the UI and --version. +MY_HASH="0e0b0252e23dd5bd4ae82ababcc54c44aee036d6" + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +src_prepare() { + rm -r extlib/libdxfrw || die + mv "${WORKDIR}"/libdxfrw-${DXFRW_COMMIT} extlib/libdxfrw || die + + sed -i '/include(GetGitCommitHash)/d' CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DENABLE_OPENMP=$(usex openmp) + -DGIT_COMMIT_HASH=${MY_HASH} + ) + + cmake_src_configure +} |