media-gfx/solvespace: add 3.1

Signed-off-by: Matthew Smith <matthew@gentoo.org>
This commit is contained in:
Matthew Smith
2022-06-09 20:21:31 +01:00
parent 64fe1f5dde
commit 42c7e4fdba
3 changed files with 121 additions and 0 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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
}