mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-20 11:53:48 +00:00
Initial commit for the builder
This commit is contained in:
42
deps/CMakeLists.txt
vendored
42
deps/CMakeLists.txt
vendored
@@ -204,16 +204,19 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(ZLIB_PKG "")
|
set(ZLIB_PKG "")
|
||||||
|
find_package(ZLIB)
|
||||||
if (NOT ZLIB_FOUND)
|
if (NOT ZLIB_FOUND)
|
||||||
include(ZLIB/ZLIB.cmake)
|
include(ZLIB/ZLIB.cmake)
|
||||||
set(ZLIB_PKG dep_ZLIB)
|
set(ZLIB_PKG dep_ZLIB)
|
||||||
endif ()
|
endif ()
|
||||||
set(PNG_PKG "")
|
set(PNG_PKG "")
|
||||||
|
find_package(PNG)
|
||||||
if (NOT PNG_FOUND)
|
if (NOT PNG_FOUND)
|
||||||
include(PNG/PNG.cmake)
|
include(PNG/PNG.cmake)
|
||||||
set(PNG_PKG dep_PNG)
|
set(PNG_PKG dep_PNG)
|
||||||
endif ()
|
endif ()
|
||||||
set(EXPAT_PKG "")
|
set(EXPAT_PKG "")
|
||||||
|
find_package(EXPAT)
|
||||||
if (NOT EXPAT_FOUND)
|
if (NOT EXPAT_FOUND)
|
||||||
include(EXPAT/EXPAT.cmake)
|
include(EXPAT/EXPAT.cmake)
|
||||||
set(EXPAT_PKG dep_EXPAT)
|
set(EXPAT_PKG dep_EXPAT)
|
||||||
@@ -226,6 +229,7 @@ include(Boost/Boost.cmake)
|
|||||||
include(Cereal/Cereal.cmake)
|
include(Cereal/Cereal.cmake)
|
||||||
include(Qhull/Qhull.cmake)
|
include(Qhull/Qhull.cmake)
|
||||||
include(GLEW/GLEW.cmake)
|
include(GLEW/GLEW.cmake)
|
||||||
|
|
||||||
include(GLFW/GLFW.cmake)
|
include(GLFW/GLFW.cmake)
|
||||||
include(OpenCSG/OpenCSG.cmake)
|
include(OpenCSG/OpenCSG.cmake)
|
||||||
|
|
||||||
@@ -241,23 +245,45 @@ include(CGAL/CGAL.cmake)
|
|||||||
|
|
||||||
include(NLopt/NLopt.cmake)
|
include(NLopt/NLopt.cmake)
|
||||||
|
|
||||||
include(OpenSSL/OpenSSL.cmake)
|
|
||||||
|
|
||||||
set(CURL_PKG "")
|
set(CURL_PKG "")
|
||||||
|
find_package(CURL)
|
||||||
if (NOT CURL_FOUND)
|
if (NOT CURL_FOUND)
|
||||||
|
message(WARNING "no curl package found, building openssl and curl")
|
||||||
|
include(OpenSSL/OpenSSL.cmake)
|
||||||
include(CURL/CURL.cmake)
|
include(CURL/CURL.cmake)
|
||||||
|
set(OPENSSL_PKG dep_OpenSSL)
|
||||||
set(CURL_PKG dep_CURL)
|
set(CURL_PKG dep_CURL)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
include(JPEG/JPEG.cmake)
|
set(JPEG_PKG "")
|
||||||
include(TIFF/TIFF.cmake)
|
find_package(JPEG)
|
||||||
|
if (NOT JPEG_FOUND)
|
||||||
|
include(JPEG/JPEG.cmake)
|
||||||
|
set(JPEG_PKG dep_JPEG)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(TIFF_PKG "")
|
||||||
|
find_package(TIFF)
|
||||||
|
if (NOT TIFF_FOUND)
|
||||||
|
include(TIFF/TIFF.cmake)
|
||||||
|
set(TIFF_PKG "dep_TIFF")
|
||||||
|
endif()
|
||||||
|
|
||||||
include(wxWidgets/wxWidgets.cmake)
|
include(wxWidgets/wxWidgets.cmake)
|
||||||
|
|
||||||
|
set(FREETYPE_PKG "")
|
||||||
|
find_package(Freetype)
|
||||||
|
if(NOT FREETYPE_FOUND)
|
||||||
|
include(FREETYPE/FREETYPE.cmake)
|
||||||
|
set(FREETYPE_PKG "dep_FREETYPE")
|
||||||
|
endif()
|
||||||
|
|
||||||
include(OCCT/OCCT.cmake)
|
include(OCCT/OCCT.cmake)
|
||||||
include(FREETYPE/FREETYPE.cmake)
|
|
||||||
|
|
||||||
set(_dep_list
|
set(_dep_list
|
||||||
dep_Boost
|
dep_Boost
|
||||||
dep_TBB
|
dep_TBB
|
||||||
|
${OPENSSL_PKG}
|
||||||
${CURL_PKG}
|
${CURL_PKG}
|
||||||
dep_wxWidgets
|
dep_wxWidgets
|
||||||
dep_Cereal
|
dep_Cereal
|
||||||
@@ -265,8 +291,9 @@ set(_dep_list
|
|||||||
dep_OpenVDB
|
dep_OpenVDB
|
||||||
dep_OpenCSG
|
dep_OpenCSG
|
||||||
dep_CGAL
|
dep_CGAL
|
||||||
dep_OpenSSL
|
|
||||||
dep_GLFW
|
dep_GLFW
|
||||||
|
dep_OCCT
|
||||||
|
${FREETYPE_PKG}
|
||||||
${PNG_PKG}
|
${PNG_PKG}
|
||||||
${ZLIB_PKG}
|
${ZLIB_PKG}
|
||||||
${EXPAT_PKG}
|
${EXPAT_PKG}
|
||||||
@@ -281,9 +308,6 @@ else()
|
|||||||
#list(APPEND _dep_list "dep_libigl")
|
#list(APPEND _dep_list "dep_libigl")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
list(APPEND _dep_list "dep_OCCT")
|
|
||||||
list(APPEND _dep_list "dep_FREETYPE")
|
|
||||||
|
|
||||||
add_custom_target(deps ALL DEPENDS ${_dep_list})
|
add_custom_target(deps ALL DEPENDS ${_dep_list})
|
||||||
|
|
||||||
# Note: I'm not using any of the LOG_xxx options in ExternalProject_Add() commands
|
# Note: I'm not using any of the LOG_xxx options in ExternalProject_Add() commands
|
||||||
|
|||||||
4
deps/OCCT/OCCT.cmake
vendored
4
deps/OCCT/OCCT.cmake
vendored
@@ -14,7 +14,7 @@ orcaslicer_add_cmake_project(OCCT
|
|||||||
#PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
#PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
||||||
PATCH_COMMAND git apply --directory ${BINARY_DIR_REL}/dep_OCCT-prefix/src/dep_OCCT --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
PATCH_COMMAND git apply --directory ${BINARY_DIR_REL}/dep_OCCT-prefix/src/dep_OCCT --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
||||||
#DEPENDS dep_Boost
|
#DEPENDS dep_Boost
|
||||||
#DEPENDS dep_FREETYPE
|
DEPENDS ${FREETYPE_PKG}
|
||||||
CMAKE_ARGS
|
CMAKE_ARGS
|
||||||
-DBUILD_LIBRARY_TYPE=${library_build_type}
|
-DBUILD_LIBRARY_TYPE=${library_build_type}
|
||||||
-DUSE_TK=OFF
|
-DUSE_TK=OFF
|
||||||
@@ -31,4 +31,4 @@ orcaslicer_add_cmake_project(OCCT
|
|||||||
-DBUILD_MODULE_Visualization=OFF
|
-DBUILD_MODULE_Visualization=OFF
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(dep_OCCT dep_FREETYPE)
|
# add_dependencies(dep_OCCT ${FREETYPE_PKG})
|
||||||
|
|||||||
4
deps/wxWidgets/wxWidgets.cmake
vendored
4
deps/wxWidgets/wxWidgets.cmake
vendored
@@ -31,7 +31,7 @@ orcaslicer_add_cmake_project(
|
|||||||
GIT_REPOSITORY "https://github.com/wxWidgets/wxWidgets"
|
GIT_REPOSITORY "https://github.com/wxWidgets/wxWidgets"
|
||||||
GIT_TAG ${_wx_git_tag}
|
GIT_TAG ${_wx_git_tag}
|
||||||
PATCH_COMMAND ${_patch_cmd}
|
PATCH_COMMAND ${_patch_cmd}
|
||||||
DEPENDS ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG} dep_TIFF dep_JPEG
|
DEPENDS ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG} ${TIFF_PKG} ${JPEG_PKG}
|
||||||
CMAKE_ARGS
|
CMAKE_ARGS
|
||||||
-DwxBUILD_PRECOMP=ON
|
-DwxBUILD_PRECOMP=ON
|
||||||
${_wx_toolkit}
|
${_wx_toolkit}
|
||||||
@@ -62,4 +62,4 @@ orcaslicer_add_cmake_project(
|
|||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
add_debug_dep(dep_wxWidgets)
|
add_debug_dep(dep_wxWidgets)
|
||||||
endif ()
|
endif ()
|
||||||
|
|||||||
2
flatpak/.gitignore
vendored
Normal file
2
flatpak/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
builddir
|
||||||
|
.flatpak-builder/*
|
||||||
3
flatpak/README.md
Normal file
3
flatpak/README.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# OrcaSlicer
|
||||||
|
|
||||||
|
This is basically a copy of [com.bambulab.BambuStudio](https://github.com/flathub/com.bambulab.BambuStudio). As such, same rules apply here as does over there.
|
||||||
15
flatpak/entrypoint
Normal file
15
flatpak/entrypoint
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
# Work-around https://gitlab.gnome.org/GNOME/gnome-build-meta/-/issues/754
|
||||||
|
grep -q org.freedesktop.Platform.GL.nvidia /.flatpak-info && export WEBKIT_DISABLE_DMABUF_RENDERER=1
|
||||||
|
|
||||||
|
# Work-around https://github.com/bambulab/BambuStudio/issues/3440
|
||||||
|
export LC_ALL=C.UTF-8
|
||||||
|
|
||||||
|
if [ $BAMBU_STUDIO_DARK_THEME == true ]; then
|
||||||
|
export GTK_THEME='Adwaita:dark'
|
||||||
|
# echo "Message: $(date +%T): INFO: using dark theme variant"
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec /app/bin/orca-slicer "$@" &
|
||||||
|
$(/app/bin/set-dark-theme-variant.py) &
|
||||||
BIN
flatpak/images/1.png
Normal file
BIN
flatpak/images/1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 280 KiB |
BIN
flatpak/images/2.png
Normal file
BIN
flatpak/images/2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 976 KiB |
48
flatpak/io.github.softfever.OrcaSlicer.metainfo.xml
Executable file
48
flatpak/io.github.softfever.OrcaSlicer.metainfo.xml
Executable file
@@ -0,0 +1,48 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<component type="desktop">
|
||||||
|
<id>io.github.softfever.OrcaSlicer</id>
|
||||||
|
<launchable type="desktop-id">io.github.softfever.OrcaSlicer.desktop</launchable>
|
||||||
|
<provides>
|
||||||
|
<id>io.github.softfever.OrcaSlicer.desktop</id>
|
||||||
|
</provides>
|
||||||
|
<name>OrcaSlicer</name>
|
||||||
|
<!-- hehe hadess @ppd
|
||||||
|
... seriously though, thanks -->
|
||||||
|
<summary>Get even more perfect prints!</summary>
|
||||||
|
<developer_name>SoftFever</developer_name>
|
||||||
|
<url type="homepage">https://github.com/SoftFever/OrcaSlicer</url>
|
||||||
|
<url type="help">https://github.com/SoftFever/OrcaSlicer/wiki</url>
|
||||||
|
<url type="bugtracker">https://github.com/SoftFever/OrcaSlicer/issues/</url>
|
||||||
|
<url type="donation">https://ko-fi.com/SoftFever</url>
|
||||||
|
<metadata_license>0BSD</metadata_license>
|
||||||
|
<project_license>AGPL-3.0-only</project_license>
|
||||||
|
<content_rating type="oars-1.1" />
|
||||||
|
<requires>
|
||||||
|
<display_length compare="gt">768</display_length>
|
||||||
|
</requires>
|
||||||
|
<recommends>
|
||||||
|
<control>keyboard</control>
|
||||||
|
<control>pointing</control>
|
||||||
|
</recommends>
|
||||||
|
<screenshots>
|
||||||
|
<screenshot type="default">
|
||||||
|
<image>https://raw.githubusercontent.com/powpingdone/com.github.softfever.orcaslicer/master/images/1.png</image>
|
||||||
|
<caption>A model ready to be sliced on a buildplate.</caption>
|
||||||
|
</screenshot>
|
||||||
|
<screenshot>
|
||||||
|
<image>https://raw.githubusercontent.com/powpingdone/com.github.softfever.orcaslicer/master/images/2.png
|
||||||
|
</image>
|
||||||
|
<caption>A calibration test ready to be printed out.</caption>
|
||||||
|
</screenshot>
|
||||||
|
</screenshots>
|
||||||
|
<description>
|
||||||
|
<p>A 3D printer slicer forked from Bambu Studio, PrusaSlicer, and SuperSlicer with many more printer profiles, helpful calibration prints, and many more features to get your 3D printer printing perfectly!</p>
|
||||||
|
</description>
|
||||||
|
<branding>
|
||||||
|
<color type="primary" scheme_preference="light">#009688</color>
|
||||||
|
</branding>
|
||||||
|
<releases>
|
||||||
|
<release version="2.0.0-951fc8e" date="2024-01-30"> <url>https://github.com/SoftFever/OrcaSlicer/commit/951fc8e98a0d5ca0ccb254315646ce7889a44836</url>
|
||||||
|
</release>
|
||||||
|
</releases>
|
||||||
|
</component>
|
||||||
392
flatpak/io.github.softfever.OrcaSlicer.yml
Executable file
392
flatpak/io.github.softfever.OrcaSlicer.yml
Executable file
@@ -0,0 +1,392 @@
|
|||||||
|
app-id: io.github.softfever.OrcaSlicer
|
||||||
|
runtime: org.gnome.Platform
|
||||||
|
runtime-version: "45"
|
||||||
|
sdk: org.gnome.Sdk
|
||||||
|
command: entrypoint
|
||||||
|
separate-locales: true
|
||||||
|
rename-icon: OrcaSlicer
|
||||||
|
finish-args:
|
||||||
|
- --share=ipc
|
||||||
|
- --socket=x11
|
||||||
|
- --share=network
|
||||||
|
- --device=all
|
||||||
|
- --filesystem=home
|
||||||
|
- --filesystem=xdg-run/gvfs
|
||||||
|
- --filesystem=/run/media
|
||||||
|
- --filesystem=/media
|
||||||
|
# Allow OrcaSlicer to talk to other instances
|
||||||
|
- --talk-name=io.github.softfever.OrcaSlicer.InstanceCheck.*
|
||||||
|
- --system-talk-name=org.freedesktop.UDisks2
|
||||||
|
# set dark theme
|
||||||
|
- --env=BAMBU_STUDIO_DARK_THEME=false
|
||||||
|
|
||||||
|
modules:
|
||||||
|
|
||||||
|
# JPEG codec for the liveview
|
||||||
|
- name: gst-plugins-good
|
||||||
|
buildsystem: meson
|
||||||
|
config-opts:
|
||||||
|
- -Dauto_features=disabled
|
||||||
|
- -Djpeg=enabled
|
||||||
|
- -Ddoc=disabled
|
||||||
|
- -Dexamples=disabled
|
||||||
|
- -Dtests=disabled
|
||||||
|
sources:
|
||||||
|
- type: archive
|
||||||
|
url: https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.22.8.tar.xz
|
||||||
|
sha256: e305b9f07f52743ca481da0a4e0c76c35efd60adaf1b0694eb3bb021e2137e39
|
||||||
|
|
||||||
|
# xprop, xlib is needed to manipulate the X11 window and set _GTK_THEME_VARIANT dark on X11
|
||||||
|
# and paint the window dark when PRUSA_SLICER_DARK_THEME is true
|
||||||
|
# see: entrypoint & set-dark-theme-variant.py (originated from spotify client flatpak)
|
||||||
|
- name: xprop
|
||||||
|
sources:
|
||||||
|
- type: archive
|
||||||
|
url: http://mirrors.ircam.fr/pub/x.org/individual/app/xprop-1.2.5.tar.gz
|
||||||
|
sha256: b7bf6b6be6cf23e7966a153fc84d5901c14f01ee952fbd9d930aa48e2385d670
|
||||||
|
- name: python-setuptools_scm
|
||||||
|
buildsystem: simple
|
||||||
|
build-commands:
|
||||||
|
- pip3 install --no-deps --no-build-isolation --verbose --prefix=${FLATPAK_DEST} .
|
||||||
|
sources:
|
||||||
|
- type: archive
|
||||||
|
url: https://files.pythonhosted.org/packages/57/38/930b1241372a9f266a7df2b184fb9d4f497c2cef2e016b014f82f541fe7c/setuptools_scm-6.0.1.tar.gz
|
||||||
|
sha256: d1925a69cb07e9b29416a275b9fadb009a23c148ace905b2fb220649a6c18e92
|
||||||
|
- name: python-xlib
|
||||||
|
buildsystem: simple
|
||||||
|
build-commands:
|
||||||
|
- pip3 install --no-deps --no-build-isolation --verbose --prefix=${FLATPAK_DEST} .
|
||||||
|
sources:
|
||||||
|
- type: archive
|
||||||
|
url: https://files.pythonhosted.org/packages/86/f5/8c0653e5bb54e0cbdfe27bf32d41f27bc4e12faa8742778c17f2a71be2c0/python-xlib-0.33.tar.gz
|
||||||
|
sha256: 55af7906a2c75ce6cb280a584776080602444f75815a7aff4d287bb2d7018b32
|
||||||
|
|
||||||
|
# For libOSMesa
|
||||||
|
- name: mesa
|
||||||
|
buildsystem: meson
|
||||||
|
config-opts:
|
||||||
|
- -Dosmesa=classic
|
||||||
|
- -Ddri-drivers=[]
|
||||||
|
- -Dgallium-drivers=[]
|
||||||
|
- -Dvulkan-drivers=[]
|
||||||
|
- -Dplatforms=[]
|
||||||
|
build-options:
|
||||||
|
arch:
|
||||||
|
aarch64:
|
||||||
|
config-opts:
|
||||||
|
- -Dlibunwind=disabled
|
||||||
|
cleanup:
|
||||||
|
- /share/drirc.d
|
||||||
|
- /include
|
||||||
|
- "*.a"
|
||||||
|
sources:
|
||||||
|
- type: archive
|
||||||
|
# url: https://archive.mesa3d.org/mesa-20.2.6.tar.xz
|
||||||
|
url: https://ftp.icm.edu.pl/pub/graphics/mesa/mesa-20.2.6.tar.xz
|
||||||
|
sha256: f12ca3c6c622f11cd79ad66b4220f04514fa96f795062fe92a37339ab19885db
|
||||||
|
|
||||||
|
- name: glu
|
||||||
|
config-opts:
|
||||||
|
- --disable-static
|
||||||
|
sources:
|
||||||
|
- type: archive
|
||||||
|
url: https://ftp.osuosl.org/pub/blfs/conglomeration/glu/glu-9.0.2.tar.xz
|
||||||
|
sha256: 6e7280ff585c6a1d9dfcdf2fca489251634b3377bfc33c29e4002466a38d02d4
|
||||||
|
cleanup:
|
||||||
|
- /include
|
||||||
|
- /lib/*.a
|
||||||
|
- /lib/*.la
|
||||||
|
- /lib/pkgconfig
|
||||||
|
|
||||||
|
- name: kde-extra-cmake-modules
|
||||||
|
buildsystem: cmake
|
||||||
|
sources:
|
||||||
|
- type: git
|
||||||
|
url: https://github.com/KDE/extra-cmake-modules
|
||||||
|
tag: v5.249.0
|
||||||
|
cleanup:
|
||||||
|
- /
|
||||||
|
|
||||||
|
# - name: boost
|
||||||
|
# buildsystem: simple
|
||||||
|
# build-commands:
|
||||||
|
# - ./bootstrap.sh --prefix=/app --with-libraries=system,iostreams,filesystem,thread,log,locale,regex,date_time
|
||||||
|
# - ./b2 headers
|
||||||
|
# - ./b2 -j$FLATPAK_BUILDER_N_JOBS install variant=release cxxstd=17 --layout=system
|
||||||
|
# sources:
|
||||||
|
# - type: archive
|
||||||
|
# url: https://freefr.dl.sourceforge.net/project/boost/boost/1.78.0/boost_1_78_0.zip
|
||||||
|
# sha256: f22143b5528e081123c3c5ed437e92f648fe69748e95fa6e2bd41484e2986cc3
|
||||||
|
# cleanup:
|
||||||
|
# - /include
|
||||||
|
# - /lib/cmake
|
||||||
|
|
||||||
|
#- name: glfw
|
||||||
|
# buildsystem: cmake-ninja
|
||||||
|
# config-opts:
|
||||||
|
# - -DCMAKE_BUILD_TYPE=RelWithDebInfo
|
||||||
|
# - -DBUILD_SHARED_LIBS:BOOL=ON
|
||||||
|
# - -DGLFW_USE_WAYLAND=OFF
|
||||||
|
# sources:
|
||||||
|
# - type: git
|
||||||
|
# url: https://github.com/glfw/glfw.git
|
||||||
|
# tag: 3.3.9
|
||||||
|
# - type: patch
|
||||||
|
# path: patches/glfw-Don-t-crash-on-calls-to-focus-or-icon.patch
|
||||||
|
# cleanup:
|
||||||
|
# - /include
|
||||||
|
# - /lib/cmake
|
||||||
|
# - /lib/pkgconfig
|
||||||
|
|
||||||
|
#- name: wxwidgets
|
||||||
|
# buildsystem: cmake-ninja
|
||||||
|
# config-opts:
|
||||||
|
# - -DwxBUILD_PRECOMP=ON
|
||||||
|
# - -DwxBUILD_TOOLKIT=gtk3
|
||||||
|
# - -DwxBUILD_DEBUG_LEVEL=0
|
||||||
|
# - -DwxBUILD_SAMPLES=OFF
|
||||||
|
# - -DwxBUILD_SHARED=OFF
|
||||||
|
# - -DwxUSE_MEDIACTRL=ON
|
||||||
|
# - -DwxUSE_DETECT_SM=OFF
|
||||||
|
# - -DwxUSE_UNICODE=ON
|
||||||
|
# - -DwxUSE_PRIVATE_FONTS=1
|
||||||
|
# - -DwxUSE_OPENGL=ON
|
||||||
|
# - -DwxUSE_WEBREQUEST=ON
|
||||||
|
# - -DwxUSE_WEBVIEW=ON
|
||||||
|
# - -DwxUSE_REGEX=sys
|
||||||
|
# - -DwxUSE_LIBSDL=OFF
|
||||||
|
# - -DwxUSE_XTEST=OFF
|
||||||
|
# - -DwxUSE_STC=OFF
|
||||||
|
# - -DwxUSE_AUI=ON
|
||||||
|
# - -DwxUSE_LIBPNG=sys
|
||||||
|
# - -DwxUSE_ZLIB=sys
|
||||||
|
# - -DwxUSE_LIBJPEG=sys
|
||||||
|
# - -DwxUSE_LIBTIFF=sys
|
||||||
|
# - -DwxUSE_NANOSVG=OFF
|
||||||
|
# - -DwxUSE_EXPAT=sys
|
||||||
|
# sources:
|
||||||
|
# - type: archive
|
||||||
|
# url: https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.5/wxWidgets-3.1.5.tar.bz2
|
||||||
|
# sha256: d7b3666de33aa5c10ea41bb9405c40326e1aeb74ee725bb88f90f1d50270a224
|
||||||
|
# # https://github.com/bambulab/BambuStudio/issues/3279
|
||||||
|
# - type: patch
|
||||||
|
# path: patches/disable-gstplayer.patch
|
||||||
|
# # https://github.com/wxWidgets/wxWidgets/issues/23630
|
||||||
|
# - type: patch
|
||||||
|
# path: patches/0001-Add-support-for-building-WebView-with-libwebkit2gtk-.patch
|
||||||
|
# # wx-config/build fixes between 3.1.5 and 3.1.6
|
||||||
|
# - type: patch
|
||||||
|
# path: patches/wxwidgets-not-found.patch
|
||||||
|
# #- type: patch
|
||||||
|
# # path: patches/wxwidgets-system-def.patch
|
||||||
|
# cleanup:
|
||||||
|
# - /include
|
||||||
|
# - /lib/cmake
|
||||||
|
|
||||||
|
- name: orca_deps
|
||||||
|
buildsystem: simple
|
||||||
|
build-commands:
|
||||||
|
# start build
|
||||||
|
- |
|
||||||
|
mkdir deps/build && cd deps/build
|
||||||
|
cmake ../ \
|
||||||
|
-DDEP_WX_GTK3=1 \
|
||||||
|
-DDEP_DOWNLOAD_DIR=/run/build/orca_deps/external-packages \
|
||||||
|
-DCMAKE_INSTALL_LIBDIR=/app/lib \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=/app
|
||||||
|
cmake --build .
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
- /app/include
|
||||||
|
- "*.a"
|
||||||
|
- "*.la"
|
||||||
|
|
||||||
|
sources:
|
||||||
|
# -
|
||||||
|
# Section bellow fetches all OrcaSlicer dependencies before the build process and stores them in external-packages/*/* .
|
||||||
|
# -DDEP_DOWNLOAD_DIR is set in the build process which has to match with dest.
|
||||||
|
#
|
||||||
|
# NOTE: The url, dest folder name and sha256 must match from OrcaSlicer's cmake scripts and folder names in OrcaSlicer/deps/
|
||||||
|
# -
|
||||||
|
|
||||||
|
# OrcaSlicer Source Archive
|
||||||
|
- type: dir
|
||||||
|
path: ../
|
||||||
|
|
||||||
|
# Blosc
|
||||||
|
- type: file
|
||||||
|
url: https://github.com/tamasmeszaros/c-blosc/archive/refs/heads/v1.17.0_tm.zip
|
||||||
|
dest: external-packages/Blosc
|
||||||
|
sha256: dcb48bf43a672fa3de6a4b1de2c4c238709dad5893d1e097b8374ad84b1fc3b3
|
||||||
|
|
||||||
|
# Cereal
|
||||||
|
- type: file
|
||||||
|
url: https://github.com/USCiLab/cereal/archive/refs/tags/v1.3.0.zip
|
||||||
|
dest: external-packages/Cereal
|
||||||
|
sha256: 71642cb54658e98c8f07a0f0d08bf9766f1c3771496936f6014169d3726d9657
|
||||||
|
|
||||||
|
# CGAL
|
||||||
|
- type: file
|
||||||
|
url: https://github.com/CGAL/cgal/archive/refs/tags/v5.4.zip
|
||||||
|
dest: external-packages/CGAL
|
||||||
|
sha256: d7605e0a5a5ca17da7547592f6f6e4a59430a0bc861948974254d0de43eab4c0
|
||||||
|
|
||||||
|
# GMP
|
||||||
|
- type: file
|
||||||
|
url: https://github.com/SoftFever/OrcaSlicer_deps/releases/download/gmp-6.2.1/gmp-6.2.1.tar.bz2
|
||||||
|
dest: external-packages/GMP
|
||||||
|
sha256: eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c
|
||||||
|
|
||||||
|
# MPFR
|
||||||
|
- type: file
|
||||||
|
url: https://www.mpfr.org/mpfr-current/mpfr-4.2.1.tar.bz2
|
||||||
|
dest: external-packages/MPFR
|
||||||
|
sha256: b9df93635b20e4089c29623b19420c4ac848a1b29df1cfd59f26cab0d2666aa0
|
||||||
|
|
||||||
|
# NLopt
|
||||||
|
- type: file
|
||||||
|
url: https://github.com/stevengj/nlopt/archive/v2.5.0.tar.gz
|
||||||
|
dest: external-packages/NLopt
|
||||||
|
sha256: c6dd7a5701fff8ad5ebb45a3dc8e757e61d52658de3918e38bab233e7fd3b4ae
|
||||||
|
|
||||||
|
# OCCT
|
||||||
|
- type: file
|
||||||
|
url: https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V7_6_0.zip
|
||||||
|
dest: external-packages/OCCT
|
||||||
|
sha256: 28334f0e98f1b1629799783e9b4d21e05349d89e695809d7e6dfa45ea43e1dbc
|
||||||
|
|
||||||
|
# OpenCSG
|
||||||
|
- type: file
|
||||||
|
url: https://github.com/floriankirsch/OpenCSG/archive/refs/tags/opencsg-1-4-2-release.zip
|
||||||
|
dest: external-packages/OpenCSG
|
||||||
|
sha256: 51afe0db79af8386e2027d56d685177135581e0ee82ade9d7f2caff8deab5ec5
|
||||||
|
|
||||||
|
# OpenEXR
|
||||||
|
- type: file
|
||||||
|
url: https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.5.zip
|
||||||
|
dest: external-packages/OpenEXR
|
||||||
|
sha256: 0307a3d7e1fa1e77e9d84d7e9a8694583fbbbfd50bdc6884e2c96b8ef6b902de
|
||||||
|
|
||||||
|
# OpenVDB
|
||||||
|
- type: file
|
||||||
|
url: https://github.com/tamasmeszaros/openvdb/archive/a68fd58d0e2b85f01adeb8b13d7555183ab10aa5.zip
|
||||||
|
dest: external-packages/OpenVDB
|
||||||
|
sha256: f353e7b99bd0cbfc27ac9082de51acf32a8bc0b3e21ff9661ecca6f205ec1d81
|
||||||
|
|
||||||
|
# Qhull
|
||||||
|
- type: file
|
||||||
|
url: https://github.com/qhull/qhull/archive/v8.0.1.zip
|
||||||
|
dest: external-packages/Qhull
|
||||||
|
sha256: 5287f5edd6a0372588f5d6640799086a4033d89d19711023ef8229dd9301d69b
|
||||||
|
|
||||||
|
# TBB
|
||||||
|
- type: file
|
||||||
|
url: https://github.com/oneapi-src/oneTBB/archive/refs/tags/v2021.5.0.zip
|
||||||
|
dest: external-packages/TBB
|
||||||
|
sha256: 83ea786c964a384dd72534f9854b419716f412f9d43c0be88d41874763e7bb47
|
||||||
|
|
||||||
|
# Patched TBB cmake to make build without lto flag
|
||||||
|
- type: file
|
||||||
|
dest: deps/TBB
|
||||||
|
path: patches/TBB/GNU.cmake
|
||||||
|
|
||||||
|
# Apply TTB patches to fix linking failure. More info: https://github.com/prusa3d/PrusaSlicer/issues/8922
|
||||||
|
- type: patch
|
||||||
|
path: patches/0001-Apply-TBB-LTO-patch.patch
|
||||||
|
|
||||||
|
# Boost
|
||||||
|
- type: file
|
||||||
|
url: https://github.com/boostorg/boost/releases/download/boost-1.84.0/boost-1.84.0.tar.gz
|
||||||
|
dest: external-packages/Boost
|
||||||
|
sha256: 4d27e9efed0f6f152dc28db6430b9d3dfb40c0345da7342eaa5a987dde57bd95
|
||||||
|
|
||||||
|
# GLFW
|
||||||
|
- type: file
|
||||||
|
url: https://github.com/glfw/glfw/archive/refs/tags/3.3.7.zip
|
||||||
|
dest: external-packages/GLFW
|
||||||
|
sha256: e02d956935e5b9fb4abf90e2c2e07c9a0526d7eacae8ee5353484c69a2a76cd0
|
||||||
|
|
||||||
|
# wxWidgets
|
||||||
|
- type: git
|
||||||
|
url: https://github.com/wxWidgets/wxWidgets
|
||||||
|
dest: external-packages/wxWidgets
|
||||||
|
tag: v3.1.5
|
||||||
|
|
||||||
|
- name: OrcaSlicer
|
||||||
|
buildsystem: simple
|
||||||
|
build-commands:
|
||||||
|
- |
|
||||||
|
mkdir -p build && cd build
|
||||||
|
CXXFLAGS=-std=gnu++20 cmake ../ \
|
||||||
|
-GNinja \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=/app \
|
||||||
|
-DCMAKE_INSTALL_LIBDIR=/app/lib \
|
||||||
|
-DCMAKE_PREFIX_PATH=/run/build/OrcaSlicer/deps/build/destdir/usr/local \
|
||||||
|
-DSLIC3R_PCH=OFF \
|
||||||
|
-DSLIC3R_FHS=ON \
|
||||||
|
-DSLIC3R_GTK=3 \
|
||||||
|
-DSLIC3R_STATIC=ON \
|
||||||
|
-DSLIC3R_BUILD_TESTS=OFF \
|
||||||
|
-DSLIC3R_DESKTOP_INTEGRATION=OFF \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DBBL_RELEASE_TO_PUBLIC=1
|
||||||
|
CXXFLAGS=-std=gnu++20 cmake --build . --target install -j$FLATPAK_BUILDER_N_JOBS
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
- /include
|
||||||
|
|
||||||
|
post-install:
|
||||||
|
|
||||||
|
- | # Desktop Integration files
|
||||||
|
install -Dm644 -t /app/share/icons/hicolor/scalable/apps/ resources/images/OrcaSlicer.svg
|
||||||
|
install -Dm644 ${FLATPAK_ID}.metainfo.xml /app/share/metainfo/${FLATPAK_ID}.metainfo.xml
|
||||||
|
mv /app/share/applications/OrcaSlicer.desktop /app/share/applications/${FLATPAK_ID}.desktop
|
||||||
|
desktop-file-edit --set-key=Exec --set-value="entrypoint %U" /app/share/applications/${FLATPAK_ID}.desktop
|
||||||
|
install -Dm755 set-dark-theme-variant.py /app/bin
|
||||||
|
install -Dm755 entrypoint /app/bin
|
||||||
|
install -Dm755 umount /app/bin
|
||||||
|
|
||||||
|
sources:
|
||||||
|
# -
|
||||||
|
# Section bellow fetches all OrcaSlicer dependencies before the build process and stores them in external-packages/*/* .
|
||||||
|
# -DDEP_DOWNLOAD_DIR is set in the build process which has to match with dest.
|
||||||
|
#
|
||||||
|
# NOTE: The url, dest folder name and sha256 must match from OrcaSlicer's cmake scripts and folder names in OrcaSlicer/deps/
|
||||||
|
# -
|
||||||
|
|
||||||
|
# OrcaSlicer Source Archive
|
||||||
|
- type: dir
|
||||||
|
path: ../
|
||||||
|
|
||||||
|
|
||||||
|
- type: patch
|
||||||
|
path: patches/0001-Work-around-ClipperLib-union_-declaration-problem.patch
|
||||||
|
|
||||||
|
# Use system deps instead of building them within BambuStudio
|
||||||
|
# https://github.com/hadess/BambuStudio/tree/wip/hadess/use-sysdeps , modified
|
||||||
|
- type: patch
|
||||||
|
path: patches/use-sysdeps.patch
|
||||||
|
|
||||||
|
## other patches to contrib
|
||||||
|
#- type: patch
|
||||||
|
# path: patches/0001-megapatch.patch
|
||||||
|
|
||||||
|
# AppData metainfo for Gnome Software & Co.
|
||||||
|
- type: file
|
||||||
|
path: io.github.softfever.OrcaSlicer.metainfo.xml
|
||||||
|
|
||||||
|
# script to set dark theme variant
|
||||||
|
- type: file
|
||||||
|
path: set-dark-theme-variant.py
|
||||||
|
|
||||||
|
# start-up script
|
||||||
|
# README: workaround for the following issues, also enables dark theme variant:
|
||||||
|
# SEE: https://github.com/flathub/com.bambulab.BambuStudio/issues/27
|
||||||
|
# SEE: https://github.com/flathub/com.bambulab.BambuStudio/issues/3
|
||||||
|
# SEE: https://github.com/prusa3d/PrusaSlicer/issues/2365
|
||||||
|
- type: file
|
||||||
|
path: entrypoint
|
||||||
|
|
||||||
|
# umount wrapper used to redirect umount calls to udisk2
|
||||||
|
- type: file
|
||||||
|
path: umount
|
||||||
8
flatpak/local-build.sh
Executable file
8
flatpak/local-build.sh
Executable file
@@ -0,0 +1,8 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
rm -rf _build ; mkdir _build
|
||||||
|
rm -rf _repo ; mkdir _repo
|
||||||
|
|
||||||
|
BRANCH=test
|
||||||
|
|
||||||
|
powerprofilesctl launch flatpak-builder --ccache --force-clean --default-branch=$BRANCH _build com.bambulab.BambuStudio.yml --repo=_repo
|
||||||
@@ -0,0 +1,167 @@
|
|||||||
|
From df46add1165314bce93d70e611ddc453561ffb60 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Scott Talbert <swt@techie.net>
|
||||||
|
Date: Mon, 12 Jun 2023 20:28:35 -0400
|
||||||
|
Subject: [PATCH] Add support for building WebView with libwebkit2gtk-4.1
|
||||||
|
|
||||||
|
libwebkit2gtk-4.1 has the same API as libwebkit2gtk-4.0, except that the
|
||||||
|
former links with libsoup-3.0 and the latter links with libsoup-2.4.
|
||||||
|
|
||||||
|
Fixes #23630.
|
||||||
|
|
||||||
|
(cherry picked from commit 1b8664426603376b68f8ca3c54de97ec630e5940)
|
||||||
|
---
|
||||||
|
build/cmake/init.cmake | 10 ++-
|
||||||
|
build/cmake/modules/FindLIBSOUP.cmake | 14 +++-
|
||||||
|
build/cmake/modules/FindWEBKIT2.cmake | 5 +-
|
||||||
|
configure | 95 +++++++++++++++++++++++++--
|
||||||
|
configure.in | 16 ++++-
|
||||||
|
src/gtk/webview_webkit2.cpp | 4 ++
|
||||||
|
6 files changed, 129 insertions(+), 15 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake
|
||||||
|
index fc206cf2e03a..5d88a7e487cc 100644
|
||||||
|
--- a/build/cmake/init.cmake
|
||||||
|
+++ b/build/cmake/init.cmake
|
||||||
|
@@ -453,15 +453,21 @@ if(wxUSE_GUI)
|
||||||
|
if(wxUSE_WEBVIEW)
|
||||||
|
if(WXGTK)
|
||||||
|
if(wxUSE_WEBVIEW_WEBKIT)
|
||||||
|
- find_package(LIBSOUP)
|
||||||
|
+ set(WEBKIT_LIBSOUP_VERSION 2.4)
|
||||||
|
if(WXGTK2)
|
||||||
|
find_package(WEBKIT 1.0)
|
||||||
|
elseif(WXGTK3)
|
||||||
|
- find_package(WEBKIT2)
|
||||||
|
+ find_package(WEBKIT2 4.1 QUIET)
|
||||||
|
+ if(WEBKIT2_FOUND)
|
||||||
|
+ set(WEBKIT_LIBSOUP_VERSION 3.0)
|
||||||
|
+ else()
|
||||||
|
+ find_package(WEBKIT2 4.0)
|
||||||
|
+ endif()
|
||||||
|
if(NOT WEBKIT2_FOUND)
|
||||||
|
find_package(WEBKIT 3.0)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
+ find_package(LIBSOUP ${WEBKIT_LIBSOUP_VERSION})
|
||||||
|
endif()
|
||||||
|
set(wxUSE_WEBVIEW_WEBKIT OFF)
|
||||||
|
set(wxUSE_WEBVIEW_WEBKIT2 OFF)
|
||||||
|
diff --git a/build/cmake/modules/FindLIBSOUP.cmake b/build/cmake/modules/FindLIBSOUP.cmake
|
||||||
|
index cbfba1cf9366..2433d141eaf7 100644
|
||||||
|
--- a/build/cmake/modules/FindLIBSOUP.cmake
|
||||||
|
+++ b/build/cmake/modules/FindLIBSOUP.cmake
|
||||||
|
@@ -31,19 +31,27 @@
|
||||||
|
# LibSoup does not provide an easy way to retrieve its version other than its
|
||||||
|
# .pc file, so we need to rely on PC_LIBSOUP_VERSION and REQUIRE the .pc file
|
||||||
|
# to be found.
|
||||||
|
+SET(LIBSOUP_VERSION 2.4)
|
||||||
|
+if(DEFINED LIBSOUP_FIND_VERSION)
|
||||||
|
+ SET(LIBSOUP_VERSION ${LIBSOUP_FIND_VERSION})
|
||||||
|
+endif()
|
||||||
|
+
|
||||||
|
+set(LIBSOUP_INCLUDE_DIRS LIBSOUP_INCLUDE_DIRS-NOTFOUND)
|
||||||
|
+set(LIBSOUP_LIBRARIES LIBSOUP_LIBRARIES-NOTFOUND)
|
||||||
|
+
|
||||||
|
FIND_PACKAGE(PkgConfig)
|
||||||
|
-PKG_CHECK_MODULES(PC_LIBSOUP QUIET libsoup-2.4)
|
||||||
|
+PKG_CHECK_MODULES(PC_LIBSOUP QUIET libsoup-${LIBSOUP_VERSION})
|
||||||
|
|
||||||
|
if(PC_LIBSOUP_FOUND)
|
||||||
|
FIND_PATH(LIBSOUP_INCLUDE_DIRS
|
||||||
|
NAMES libsoup/soup.h
|
||||||
|
HINTS ${PC_LIBSOUP_INCLUDEDIR}
|
||||||
|
${PC_LIBSOUP_INCLUDE_DIRS}
|
||||||
|
- PATH_SUFFIXES libsoup-2.4
|
||||||
|
+ PATH_SUFFIXES libsoup-${LIBSOUP_VERSION}
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_LIBRARY(LIBSOUP_LIBRARIES
|
||||||
|
- NAMES soup-2.4
|
||||||
|
+ NAMES soup-${LIBSOUP_VERSION}
|
||||||
|
HINTS ${PC_LIBSOUP_LIBDIR}
|
||||||
|
${PC_LIBSOUP_LIBRARY_DIRS}
|
||||||
|
)
|
||||||
|
diff --git a/build/cmake/modules/FindWEBKIT2.cmake b/build/cmake/modules/FindWEBKIT2.cmake
|
||||||
|
index 133e7a4563ea..e39077ac4a71 100644
|
||||||
|
--- a/build/cmake/modules/FindWEBKIT2.cmake
|
||||||
|
+++ b/build/cmake/modules/FindWEBKIT2.cmake
|
||||||
|
@@ -5,7 +5,10 @@
|
||||||
|
# WEBKIT2_LIBRARIES - List of libraries when using Webkit2.
|
||||||
|
# WEBKIT2_FOUND - True if Webkit2 found.
|
||||||
|
|
||||||
|
-SET( WEBKIT2_VERSION 4.0)
|
||||||
|
+SET(WEBKIT2_VERSION 4.0)
|
||||||
|
+if(DEFINED WEBKIT2_FIND_VERSION)
|
||||||
|
+ SET(WEBKIT2_VERSION ${WEBKIT2_FIND_VERSION})
|
||||||
|
+endif()
|
||||||
|
|
||||||
|
set(WEBKIT2_INCLUDE_DIR WEBKIT2_INCLUDE_DIR-NOTFOUND)
|
||||||
|
set(WEBKIT2_LIBRARY WEBKIT2_LIBRARY-NOTFOUND)
|
||||||
|
diff --git a/configure.in b/configure.in
|
||||||
|
index 957be8dda34c..257c95a6009b 100644
|
||||||
|
--- a/configure.in
|
||||||
|
+++ b/configure.in
|
||||||
|
@@ -7529,15 +7529,27 @@ if test "$wxUSE_WEBVIEW" = "yes"; then
|
||||||
|
if test "$wxUSE_GTK" = 1; then
|
||||||
|
if test "$WXGTK3" = 1; then
|
||||||
|
PKG_CHECK_MODULES([WEBKIT],
|
||||||
|
- [webkit2gtk-4.0],
|
||||||
|
+ [webkit2gtk-4.1],
|
||||||
|
[
|
||||||
|
USE_WEBVIEW_WEBKIT2=1
|
||||||
|
CXXFLAGS="$CXXFLAGS $WEBKIT_CFLAGS"
|
||||||
|
EXTRALIBS_WEBVIEW="$WEBKIT_LIBS"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
- AC_MSG_WARN([webkit2gtk not found, falling back to webkitgtk])
|
||||||
|
+ AC_MSG_WARN([webkit2gtk-4.1 not found, falling back to webkit2gtk-4.0])
|
||||||
|
])
|
||||||
|
+ if test "$USE_WEBVIEW_WEBKIT2" = 0; then
|
||||||
|
+ PKG_CHECK_MODULES([WEBKIT],
|
||||||
|
+ [webkit2gtk-4.0],
|
||||||
|
+ [
|
||||||
|
+ USE_WEBVIEW_WEBKIT2=1
|
||||||
|
+ CXXFLAGS="$CXXFLAGS $WEBKIT_CFLAGS"
|
||||||
|
+ EXTRALIBS_WEBVIEW="$WEBKIT_LIBS"
|
||||||
|
+ ],
|
||||||
|
+ [
|
||||||
|
+ AC_MSG_WARN([webkit2gtk-4.0 not found, falling back to webkitgtk])
|
||||||
|
+ ])
|
||||||
|
+ fi
|
||||||
|
fi
|
||||||
|
if test "$USE_WEBVIEW_WEBKIT2" = 0; then
|
||||||
|
webkitgtk=webkit-1.0
|
||||||
|
diff --git a/src/gtk/webview_webkit2.cpp b/src/gtk/webview_webkit2.cpp
|
||||||
|
index 191cbcf2cc18..87a9bd5ad3a8 100644
|
||||||
|
--- a/src/gtk/webview_webkit2.cpp
|
||||||
|
+++ b/src/gtk/webview_webkit2.cpp
|
||||||
|
@@ -173,15 +173,18 @@ wxgtk_webview_webkit_load_failed(WebKitWebView *,
|
||||||
|
{
|
||||||
|
switch (error->code)
|
||||||
|
{
|
||||||
|
+#if SOUP_MAJOR_VERSION < 3
|
||||||
|
case SOUP_STATUS_CANCELLED:
|
||||||
|
type = wxWEBVIEW_NAV_ERR_USER_CANCELLED;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SOUP_STATUS_CANT_RESOLVE:
|
||||||
|
+#endif
|
||||||
|
case SOUP_STATUS_NOT_FOUND:
|
||||||
|
type = wxWEBVIEW_NAV_ERR_NOT_FOUND;
|
||||||
|
break;
|
||||||
|
|
||||||
|
+#if SOUP_MAJOR_VERSION < 3
|
||||||
|
case SOUP_STATUS_CANT_RESOLVE_PROXY:
|
||||||
|
case SOUP_STATUS_CANT_CONNECT:
|
||||||
|
case SOUP_STATUS_CANT_CONNECT_PROXY:
|
||||||
|
@@ -193,6 +196,7 @@ wxgtk_webview_webkit_load_failed(WebKitWebView *,
|
||||||
|
case SOUP_STATUS_MALFORMED:
|
||||||
|
type = wxWEBVIEW_NAV_ERR_REQUEST;
|
||||||
|
break;
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
case SOUP_STATUS_BAD_REQUEST:
|
||||||
|
type = wxWEBVIEW_NAV_ERR_REQUEST;
|
||||||
|
--
|
||||||
|
2.43.0
|
||||||
|
|
||||||
16
flatpak/patches/0001-Apply-TBB-LTO-patch.patch
Normal file
16
flatpak/patches/0001-Apply-TBB-LTO-patch.patch
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
diff --git a/deps/TBB/TBB.cmake b/deps/TBB/TBB.cmake
|
||||||
|
index 6bf28ca2e..5bd158e30 100644
|
||||||
|
--- a/deps/TBB/TBB.cmake
|
||||||
|
+++ b/deps/TBB/TBB.cmake
|
||||||
|
@@ -1,8 +1,10 @@
|
||||||
|
+set(_patch_command ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_LIST_DIR}/GNU.cmake cmake/compilers/GNU.cmake)
|
||||||
|
+
|
||||||
|
orcaslicer_add_cmake_project(
|
||||||
|
TBB
|
||||||
|
URL "https://github.com/oneapi-src/oneTBB/archive/refs/tags/v2021.5.0.zip"
|
||||||
|
URL_HASH SHA256=83ea786c964a384dd72534f9854b419716f412f9d43c0be88d41874763e7bb47
|
||||||
|
- #PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-TBB-GCC13.patch
|
||||||
|
+ PATCH_COMMAND ${_patch_command}
|
||||||
|
CMAKE_ARGS
|
||||||
|
-DTBB_BUILD_SHARED=OFF
|
||||||
|
-DTBB_BUILD_TESTS=OFF
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
From 504e2a789502b76cf2553124a777e32e08bfa15c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Bastien Nocera <hadess@hadess.net>
|
||||||
|
Date: Wed, 13 Dec 2023 12:38:11 +0100
|
||||||
|
Subject: [PATCH] Work-around ClipperLib/union_ declaration problem
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
[116/471] Building CXX object src/libslic3r/CMakeFiles/libslic3r.dir/Format/svg.cpp.o
|
||||||
|
FAILED: src/libslic3r/CMakeFiles/libslic3r.dir/Format/svg.cpp.o
|
||||||
|
/run/ccache/bin/c++ -DBOOST_ATOMIC_NO_LIB -DBOOST_CHRONO_NO_LIB -DBOOST_DATE_TIME_NO_LIB -DBOOST_FILESYSTEM_NO_LIB -DBOOST_IOSTREAMS_NO_LIB -DBOOST_LOCALE_NO_LIB -DBOOST_LOG_NO_LIB -DBOOST_REGEX_NO_LIB -DBOOST_SYSTEM_NO_LIB -DBOOST_THREAD_NO_LIB -DHAVE_FREETYPE -DHAVE_OPENGL_EXT -DHAVE_XLIB -DLIBNEST2D_GEOMETRIES_libslic3r -DLIBNEST2D_OPTIMIZER_nlopt -DLIBNEST2D_STATIC -DLIBNEST2D_THREADING_tbb -DOCC_CONVERT_SIGNALS -DOPENVDB_OPENEXR_STATICLIB -DOPENVDB_STATICLIB -DSLIC3R_GUI -DTBB_USE_CAPTURED_EXCEPTION=0 -DUNICODE -DUSE_TBB -DWXINTL_NO_GETTEXT_MACRO -D_UNICODE -DwxNO_UNSAFE_WXSTRING_CONV -DwxUSE_UNICODE -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/run/build/BambuStudio/src -I/run/build/BambuStudio/build/src/platform -I/run/build/BambuStudio/src/libslic3r -I/run/build/BambuStudio/build/src/libslic3r -I/run/build/BambuStudio/deps/build/destdir/usr/local/include/opencascade -I/run/build/BambuStudio/src/libnest2d/include -I/run/build/BambuStudio/src/miniz -I/run/build/BambuStudio/src/glu-libtess/include -I/run/build/BambuStudio/src/clipper2/Clipper2Lib/include -isystem /run/build/BambuStudio/src/eigen -isystem /run/build/BambuStudio/src/libigl -isystem /run/build/BambuStudio/deps/build/destdir/usr/local/include -isystem /run/build/BambuStudio/deps/build/destdir/usr/local/include/boost-1_78 -isystem /run/build/BambuStudio/deps/build/destdir/usr/local/include/OpenEXR -O2 -pipe -g -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -fext-numeric-literals -Wall -Wno-reorder -O3 -DNDEBUG -std=gnu++17 -fPIC -fsigned-char -Werror=return-type -Wno-ignored-attributes -Wno-unknown-pragmas -DOPENVDB_ABI_VERSION_NUMBER=8 -MD -MT src/libslic3r/CMakeFiles/libslic3r.dir/Format/svg.cpp.o -MF src/libslic3r/CMakeFiles/libslic3r.dir/Format/svg.cpp.o.d -o src/libslic3r/CMakeFiles/libslic3r.dir/Format/svg.cpp.o -c /run/build/BambuStudio/src/libslic3r/Format/svg.cpp
|
||||||
|
/run/build/BambuStudio/src/libslic3r/Format/svg.cpp:214:29: error: ‘Path’ is not a member of ‘Slic3r::ClipperLib’; did you mean ‘ClipperLib::Path’?
|
||||||
|
214 | ClipperLib::Path pt_path;
|
||||||
|
| ^~~~
|
||||||
|
In file included from /run/build/BambuStudio/src/libslic3r/Format/svg.cpp:22:
|
||||||
|
/run/build/BambuStudio/src/clipper/clipper.hpp:113:31: note: ‘ClipperLib::Path’ declared here
|
||||||
|
113 | typedef std::vector<IntPoint> Path;
|
||||||
|
| ^~~~
|
||||||
|
/run/build/BambuStudio/src/libslic3r/Format/svg.cpp:240:28: error: ‘union_’ was not declared in this scope; did you mean ‘union’?
|
||||||
|
240 | polygons = union_(polygons);
|
||||||
|
| ^~~~~~
|
||||||
|
| union
|
||||||
|
---
|
||||||
|
src/libslic3r/Format/svg.cpp | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/libslic3r/Format/svg.cpp b/src/libslic3r/Format/svg.cpp
|
||||||
|
index 4a96274b99e4..ff895402255d 100644
|
||||||
|
--- a/src/libslic3r/Format/svg.cpp
|
||||||
|
+++ b/src/libslic3r/Format/svg.cpp
|
||||||
|
@@ -204,12 +204,14 @@ bool get_svg_profile(const char *path, std::vector<Element_Info> &element_infos,
|
||||||
|
path_line_points.push_back(profile_line_points);
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if 0
|
||||||
|
if (shape->fill.gradient == nullptr) {
|
||||||
|
double scale_size = 1e6;
|
||||||
|
std::vector<std::vector<std::pair<gp_Pnt, gp_Pnt>>> new_path_line_points;
|
||||||
|
float stroke_width = shape->strokeWidth * scale_size;
|
||||||
|
Polygons polygons;
|
||||||
|
bool close_polygon = false;
|
||||||
|
+
|
||||||
|
for (int i = 0; i < path_line_points.size(); ++i) {
|
||||||
|
ClipperLib::Path pt_path;
|
||||||
|
for (auto line_point : path_line_points[i]) {
|
||||||
|
@@ -253,7 +255,7 @@ bool get_svg_profile(const char *path, std::vector<Element_Info> &element_infos,
|
||||||
|
|
||||||
|
path_line_points = new_path_line_points;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
+#endif
|
||||||
|
// generate all profile curves
|
||||||
|
std::vector<TopoDS_Wire> wires;
|
||||||
|
int index = 0;
|
||||||
|
--
|
||||||
|
2.43.0
|
||||||
|
|
||||||
1711
flatpak/patches/0001-megapatch.patch
Normal file
1711
flatpak/patches/0001-megapatch.patch
Normal file
File diff suppressed because it is too large
Load Diff
79
flatpak/patches/TBB/GNU.cmake
Normal file
79
flatpak/patches/TBB/GNU.cmake
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
# Copyright (c) 2020-2021 Intel Corporation
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
if (MINGW)
|
||||||
|
set(TBB_LINK_DEF_FILE_FLAG "")
|
||||||
|
set(TBB_DEF_FILE_PREFIX "")
|
||||||
|
elseif (APPLE)
|
||||||
|
set(TBB_LINK_DEF_FILE_FLAG -Wl,-exported_symbols_list,)
|
||||||
|
set(TBB_DEF_FILE_PREFIX mac${TBB_ARCH})
|
||||||
|
|
||||||
|
# For correct ucontext.h structures layout
|
||||||
|
set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -D_XOPEN_SOURCE)
|
||||||
|
else()
|
||||||
|
set(TBB_LINK_DEF_FILE_FLAG -Wl,--version-script=)
|
||||||
|
set(TBB_DEF_FILE_PREFIX lin${TBB_ARCH})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Add -Wno-error=stringop-overflow to fix GCC 12+ build as suggested on https://github.com/oneapi-src/oneTBB/issues/843#issuecomment-1152646035
|
||||||
|
set(TBB_WARNING_LEVEL -Wall -Wextra $<$<BOOL:${TBB_STRICT}>:-Werror> -Wfatal-errors -Wno-error=stringop-overflow)
|
||||||
|
set(TBB_TEST_WARNING_FLAGS -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor)
|
||||||
|
|
||||||
|
# Depfile options (e.g. -MD) are inserted automatically in some cases.
|
||||||
|
# Don't add -MMD to avoid conflicts in such cases.
|
||||||
|
if (NOT CMAKE_GENERATOR MATCHES "Ninja" AND NOT CMAKE_CXX_DEPENDS_USE_COMPILER)
|
||||||
|
set(TBB_MMD_FLAG -MMD)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Enable Intel(R) Transactional Synchronization Extensions (-mrtm) and WAITPKG instructions support (-mwaitpkg) on relevant processors
|
||||||
|
if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86|AMD64)")
|
||||||
|
set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -mrtm $<$<AND:$<NOT:$<CXX_COMPILER_ID:Intel>>,$<NOT:$<VERSION_LESS:${CMAKE_CXX_COMPILER_VERSION},11.0>>>:-mwaitpkg>)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (NOT MINGW)
|
||||||
|
set(TBB_COMMON_LINK_LIBS dl)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Ignore -Werror set through add_compile_options() or added to CMAKE_CXX_FLAGS if TBB_STRICT is disabled.
|
||||||
|
if (NOT TBB_STRICT AND COMMAND tbb_remove_compile_flag)
|
||||||
|
tbb_remove_compile_flag(-Werror)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (NOT ${CMAKE_CXX_COMPILER_ID} STREQUAL Intel)
|
||||||
|
# gcc 6.0 and later have -flifetime-dse option that controls elimination of stores done outside the object lifetime
|
||||||
|
set(TBB_DSE_FLAG $<$<NOT:$<VERSION_LESS:${CMAKE_CXX_COMPILER_VERSION},6.0>>:-flifetime-dse=1>)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Workaround for heavy tests and too many symbols in debug (rellocation truncated to fit: R_MIPS_CALL16)
|
||||||
|
if ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "mips")
|
||||||
|
set(TBB_TEST_COMPILE_FLAGS ${TBB_TEST_COMPILE_FLAGS} -DTBB_TEST_LOW_WORKLOAD $<$<CONFIG:DEBUG>:-mxgot>)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (MINGW)
|
||||||
|
list(APPEND TBB_COMMON_COMPILE_FLAGS -U__STRICT_ANSI__)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# For some reason GCC does not instrument code with Thread Sanitizer when lto is enabled and C linker is used.
|
||||||
|
if (NOT TBB_SANITIZE MATCHES "thread")
|
||||||
|
set(TBB_IPO_COMPILE_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>)
|
||||||
|
set(TBB_IPO_LINK_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Disable lto flag
|
||||||
|
set(TBB_IPO_COMPILE_FLAGS "")
|
||||||
|
set(TBB_IPO_LINK_FLAGS "")
|
||||||
|
|
||||||
|
# TBB malloc settings
|
||||||
|
set(TBBMALLOC_LIB_COMPILE_FLAGS -fno-rtti -fno-exceptions)
|
||||||
|
set(TBB_OPENMP_FLAG -fopenmp)
|
||||||
26
flatpak/patches/disable-gstplayer.patch
Normal file
26
flatpak/patches/disable-gstplayer.patch
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
From 2ef88023ba3eb323f47af89d92ce14a41f311c9e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Bastien Nocera <hadess@hadess.net>
|
||||||
|
Date: Tue, 2 Jan 2024 00:55:20 +0100
|
||||||
|
Subject: [PATCH] Disable GstPlayer media player version
|
||||||
|
|
||||||
|
---
|
||||||
|
build/cmake/init.cmake | 3 ---
|
||||||
|
1 file changed, 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake
|
||||||
|
index 5ba4b6165b45..1931277f11c8 100644
|
||||||
|
--- a/build/cmake/init.cmake
|
||||||
|
+++ b/build/cmake/init.cmake
|
||||||
|
@@ -501,9 +501,6 @@ if(wxUSE_GUI)
|
||||||
|
|
||||||
|
set(wxUSE_GSTREAMER ${GSTREAMER_FOUND})
|
||||||
|
set(wxUSE_GSTREAMER_PLAYER OFF)
|
||||||
|
- if(GSTREAMER_PLAYER_INCLUDE_DIRS)
|
||||||
|
- set(wxUSE_GSTREAMER_PLAYER ON)
|
||||||
|
- endif()
|
||||||
|
|
||||||
|
if(NOT GSTREAMER_FOUND)
|
||||||
|
message(WARNING "GStreamer not found, wxMediaCtrl won't be available")
|
||||||
|
--
|
||||||
|
2.43.0
|
||||||
|
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
From d8dcacd96df849760b41fb71667379a81659dafc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Bastien Nocera <hadess@hadess.net>
|
||||||
|
Date: Fri, 19 Jan 2024 11:34:47 +0100
|
||||||
|
Subject: [PATCH] wayland: Downgrade runtime errors to warnings
|
||||||
|
|
||||||
|
---
|
||||||
|
src/wl_window.c | 9 +++------
|
||||||
|
1 file changed, 3 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/wl_window.c b/src/wl_window.c
|
||||||
|
index 985a57116816..19e5dac259d4 100644
|
||||||
|
--- a/src/wl_window.c
|
||||||
|
+++ b/src/wl_window.c
|
||||||
|
@@ -2163,8 +2163,7 @@ void _glfwPlatformSetWindowTitle(_GLFWwindow* window, const char* title)
|
||||||
|
void _glfwPlatformSetWindowIcon(_GLFWwindow* window,
|
||||||
|
int count, const GLFWimage* images)
|
||||||
|
{
|
||||||
|
- _glfwInputError(GLFW_PLATFORM_ERROR,
|
||||||
|
- "Wayland: Setting window icon not supported");
|
||||||
|
+ fprintf(stderr, "!!! Ignoring Wayland error: Setting window icon not supported\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
void _glfwPlatformGetWindowPos(_GLFWwindow* window, int* xpos, int* ypos)
|
||||||
|
@@ -2172,16 +2171,14 @@ void _glfwPlatformGetWindowPos(_GLFWwindow* window, int* xpos, int* ypos)
|
||||||
|
// A Wayland client is not aware of its position, so just warn and leave it
|
||||||
|
// as (0, 0)
|
||||||
|
|
||||||
|
- _glfwInputError(GLFW_PLATFORM_ERROR,
|
||||||
|
- "Wayland: Window position retrieval not supported");
|
||||||
|
+ fprintf(stderr, "!!! Ignoring Wayland error: Window position retrieval not supported\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
void _glfwPlatformSetWindowPos(_GLFWwindow* window, int xpos, int ypos)
|
||||||
|
{
|
||||||
|
// A Wayland client can not set its position, so just warn
|
||||||
|
|
||||||
|
- _glfwInputError(GLFW_PLATFORM_ERROR,
|
||||||
|
- "Wayland: Window position setting not supported");
|
||||||
|
+ fprintf(stderr, "!!! Ignoring Wayland error: Window position setting not supported\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
void _glfwPlatformGetWindowSize(_GLFWwindow* window, int* width, int* height)
|
||||||
|
--
|
||||||
|
2.43.0
|
||||||
|
|
||||||
180
flatpak/patches/use-sysdeps.patch
Normal file
180
flatpak/patches/use-sysdeps.patch
Normal file
@@ -0,0 +1,180 @@
|
|||||||
|
diff --git a/deps/CGAL/CGAL.cmake b/deps/CGAL/CGAL.cmake
|
||||||
|
index 18fee7c15..7b886e93d 100644
|
||||||
|
--- a/deps/CGAL/CGAL.cmake
|
||||||
|
+++ b/deps/CGAL/CGAL.cmake
|
||||||
|
@@ -5,7 +5,7 @@ orcaslicer_add_cmake_project(
|
||||||
|
# For whatever reason, this keeps downloading forever (repeats downloads if finished)
|
||||||
|
URL https://github.com/CGAL/cgal/archive/refs/tags/v5.4.zip
|
||||||
|
URL_HASH SHA256=d7605e0a5a5ca17da7547592f6f6e4a59430a0bc861948974254d0de43eab4c0
|
||||||
|
- DEPENDS dep_Boost dep_GMP dep_MPFR
|
||||||
|
+ DEPENDS dep_GMP dep_MPFR
|
||||||
|
)
|
||||||
|
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt
|
||||||
|
index 02a07ffd3..70ba0dcd4 100644
|
||||||
|
--- a/deps/CMakeLists.txt
|
||||||
|
+++ b/deps/CMakeLists.txt
|
||||||
|
@@ -208,11 +208,6 @@ if (NOT ZLIB_FOUND)
|
||||||
|
include(ZLIB/ZLIB.cmake)
|
||||||
|
set(ZLIB_PKG dep_ZLIB)
|
||||||
|
endif ()
|
||||||
|
-set(PNG_PKG "")
|
||||||
|
-if (NOT PNG_FOUND)
|
||||||
|
- include(PNG/PNG.cmake)
|
||||||
|
- set(PNG_PKG dep_PNG)
|
||||||
|
-endif ()
|
||||||
|
set(EXPAT_PKG "")
|
||||||
|
if (NOT EXPAT_FOUND)
|
||||||
|
include(EXPAT/EXPAT.cmake)
|
||||||
|
@@ -220,13 +215,11 @@ if (NOT EXPAT_FOUND)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
set(DEP_Boost_COMPONENTS system iostreams filesystem thread log locale regex date_time)
|
||||||
|
-include(Boost/Boost.cmake)
|
||||||
|
|
||||||
|
# The order of includes respects the dependencies between libraries
|
||||||
|
include(Cereal/Cereal.cmake)
|
||||||
|
include(Qhull/Qhull.cmake)
|
||||||
|
include(GLEW/GLEW.cmake)
|
||||||
|
-include(GLFW/GLFW.cmake)
|
||||||
|
include(OpenCSG/OpenCSG.cmake)
|
||||||
|
|
||||||
|
include(TBB/TBB.cmake)
|
||||||
|
@@ -241,33 +234,22 @@ include(CGAL/CGAL.cmake)
|
||||||
|
|
||||||
|
include(NLopt/NLopt.cmake)
|
||||||
|
|
||||||
|
-include(OpenSSL/OpenSSL.cmake)
|
||||||
|
-
|
||||||
|
set(CURL_PKG "")
|
||||||
|
if (NOT CURL_FOUND)
|
||||||
|
include(CURL/CURL.cmake)
|
||||||
|
set(CURL_PKG dep_CURL)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
-include(JPEG/JPEG.cmake)
|
||||||
|
-include(TIFF/TIFF.cmake)
|
||||||
|
-include(wxWidgets/wxWidgets.cmake)
|
||||||
|
include(OCCT/OCCT.cmake)
|
||||||
|
-include(FREETYPE/FREETYPE.cmake)
|
||||||
|
|
||||||
|
set(_dep_list
|
||||||
|
- dep_Boost
|
||||||
|
dep_TBB
|
||||||
|
${CURL_PKG}
|
||||||
|
- dep_wxWidgets
|
||||||
|
dep_Cereal
|
||||||
|
dep_NLopt
|
||||||
|
dep_OpenVDB
|
||||||
|
dep_OpenCSG
|
||||||
|
dep_CGAL
|
||||||
|
- dep_OpenSSL
|
||||||
|
- dep_GLFW
|
||||||
|
- ${PNG_PKG}
|
||||||
|
${ZLIB_PKG}
|
||||||
|
${EXPAT_PKG}
|
||||||
|
)
|
||||||
|
@@ -282,7 +264,6 @@ else()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
list(APPEND _dep_list "dep_OCCT")
|
||||||
|
-list(APPEND _dep_list "dep_FREETYPE")
|
||||||
|
|
||||||
|
add_custom_target(deps ALL DEPENDS ${_dep_list})
|
||||||
|
|
||||||
|
diff --git a/deps/CURL/CURL.cmake b/deps/CURL/CURL.cmake
|
||||||
|
index 9846c7c9c..b5d924e6f 100644
|
||||||
|
--- a/deps/CURL/CURL.cmake
|
||||||
|
+++ b/deps/CURL/CURL.cmake
|
||||||
|
@@ -72,10 +72,6 @@ orcaslicer_add_cmake_project(CURL
|
||||||
|
${_curl_platform_flags}
|
||||||
|
)
|
||||||
|
|
||||||
|
-# if (APPLE OR (CMAKE_SYSTEM_NAME STREQUAL "Linux"))
|
||||||
|
- add_dependencies(dep_CURL dep_OpenSSL)
|
||||||
|
-# endif ()
|
||||||
|
-
|
||||||
|
if (MSVC)
|
||||||
|
add_debug_dep(dep_CURL)
|
||||||
|
endif ()
|
||||||
|
diff --git a/deps/OCCT/OCCT.cmake b/deps/OCCT/OCCT.cmake
|
||||||
|
index 541412b1c..363a9dda2 100644
|
||||||
|
--- a/deps/OCCT/OCCT.cmake
|
||||||
|
+++ b/deps/OCCT/OCCT.cmake
|
||||||
|
@@ -14,7 +14,6 @@ orcaslicer_add_cmake_project(OCCT
|
||||||
|
#PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
||||||
|
PATCH_COMMAND git apply --directory ${BINARY_DIR_REL}/dep_OCCT-prefix/src/dep_OCCT --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
||||||
|
#DEPENDS dep_Boost
|
||||||
|
- #DEPENDS dep_FREETYPE
|
||||||
|
CMAKE_ARGS
|
||||||
|
-DBUILD_LIBRARY_TYPE=${library_build_type}
|
||||||
|
-DUSE_TK=OFF
|
||||||
|
@@ -30,5 +29,3 @@ orcaslicer_add_cmake_project(OCCT
|
||||||
|
-DBUILD_MODULE_ModelingData=OFF
|
||||||
|
-DBUILD_MODULE_Visualization=OFF
|
||||||
|
)
|
||||||
|
-
|
||||||
|
-add_dependencies(dep_OCCT dep_FREETYPE)
|
||||||
|
diff --git a/deps/OpenVDB/OpenVDB.cmake b/deps/OpenVDB/OpenVDB.cmake
|
||||||
|
index 7080b8b5d..e8b3695b2 100644
|
||||||
|
--- a/deps/OpenVDB/OpenVDB.cmake
|
||||||
|
+++ b/deps/OpenVDB/OpenVDB.cmake
|
||||||
|
@@ -10,7 +10,7 @@ orcaslicer_add_cmake_project(OpenVDB
|
||||||
|
# support vs2022, update to 8.2
|
||||||
|
URL https://github.com/tamasmeszaros/openvdb/archive/a68fd58d0e2b85f01adeb8b13d7555183ab10aa5.zip
|
||||||
|
URL_HASH SHA256=f353e7b99bd0cbfc27ac9082de51acf32a8bc0b3e21ff9661ecca6f205ec1d81
|
||||||
|
- DEPENDS dep_TBB dep_Blosc dep_OpenEXR dep_Boost
|
||||||
|
+ DEPENDS dep_TBB dep_Blosc dep_OpenEXR
|
||||||
|
CMAKE_ARGS
|
||||||
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||||
|
-DOPENVDB_BUILD_PYTHON_MODULE=OFF
|
||||||
|
@@ -34,4 +34,4 @@ if (MSVC)
|
||||||
|
WORKING_DIRECTORY "${BINARY_DIR}"
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
|
-endif ()
|
||||||
|
\ No newline at end of file
|
||||||
|
+endif ()
|
||||||
|
diff --git a/deps/TIFF/TIFF.cmake b/deps/TIFF/TIFF.cmake
|
||||||
|
index b9c004d65..f74775a9d 100644
|
||||||
|
--- a/deps/TIFF/TIFF.cmake
|
||||||
|
+++ b/deps/TIFF/TIFF.cmake
|
||||||
|
@@ -5,7 +5,7 @@ if (APPLE)
|
||||||
|
orcaslicer_add_cmake_project(TIFF
|
||||||
|
URL https://gitlab.com/libtiff/libtiff/-/archive/v4.3.0/libtiff-v4.3.0.zip
|
||||||
|
URL_HASH SHA256=4fca1b582c88319f3ad6ecd5b46320eadaf5eb4ef6f6c32d44caaae4a03d0726
|
||||||
|
- DEPENDS ${ZLIB_PKG} ${PNG_PKG} dep_JPEG
|
||||||
|
+ DEPENDS ${ZLIB_PKG} ${PNG_PKG}
|
||||||
|
CMAKE_ARGS
|
||||||
|
-Dlzma:BOOL=OFF
|
||||||
|
-Dwebp:BOOL=OFF
|
||||||
|
@@ -17,7 +17,7 @@ else()
|
||||||
|
orcaslicer_add_cmake_project(TIFF
|
||||||
|
URL https://gitlab.com/libtiff/libtiff/-/archive/v4.1.0/libtiff-v4.1.0.zip
|
||||||
|
URL_HASH SHA256=c56edfacef0a60c0de3e6489194fcb2f24c03dbb550a8a7de5938642d045bd32
|
||||||
|
- DEPENDS ${ZLIB_PKG} ${PNG_PKG} dep_JPEG
|
||||||
|
+ DEPENDS ${ZLIB_PKG} ${PNG_PKG}
|
||||||
|
CMAKE_ARGS
|
||||||
|
-Dlzma:BOOL=OFF
|
||||||
|
-Dwebp:BOOL=OFF
|
||||||
|
diff --git a/deps/wxWidgets/wxWidgets.cmake b/deps/wxWidgets/wxWidgets.cmake
|
||||||
|
index 50cf991a6..31f039bd8 100644
|
||||||
|
--- a/deps/wxWidgets/wxWidgets.cmake
|
||||||
|
+++ b/deps/wxWidgets/wxWidgets.cmake
|
||||||
|
@@ -31,7 +31,7 @@ orcaslicer_add_cmake_project(
|
||||||
|
GIT_REPOSITORY "https://github.com/wxWidgets/wxWidgets"
|
||||||
|
GIT_TAG ${_wx_git_tag}
|
||||||
|
PATCH_COMMAND ${_patch_cmd}
|
||||||
|
- DEPENDS ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG} dep_TIFF dep_JPEG
|
||||||
|
+ DEPENDS ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG}
|
||||||
|
CMAKE_ARGS
|
||||||
|
-DwxBUILD_PRECOMP=ON
|
||||||
|
${_wx_toolkit}
|
||||||
|
@@ -62,4 +62,4 @@ orcaslicer_add_cmake_project(
|
||||||
|
|
||||||
|
if (MSVC)
|
||||||
|
add_debug_dep(dep_wxWidgets)
|
||||||
|
-endif ()
|
||||||
|
\ No newline at end of file
|
||||||
|
+endif ()
|
||||||
166
flatpak/patches/wxwidgets-not-found.patch
Normal file
166
flatpak/patches/wxwidgets-not-found.patch
Normal file
@@ -0,0 +1,166 @@
|
|||||||
|
From 28f59e8900c3a54d4fe6bce43f62d1c4b0070e2c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Scott Talbert <swt@techie.net>
|
||||||
|
Date: Mon, 11 Oct 2021 12:43:52 -0400
|
||||||
|
Subject: [PATCH] cmake: also link with GLU when using EGL
|
||||||
|
|
||||||
|
Fixes #19282
|
||||||
|
---
|
||||||
|
build/cmake/init.cmake | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake
|
||||||
|
index e1426afd428f..d5ecda9c98de 100644
|
||||||
|
--- a/build/cmake/init.cmake
|
||||||
|
+++ b/build/cmake/init.cmake
|
||||||
|
@@ -411,7 +411,7 @@ if(wxUSE_GUI)
|
||||||
|
else()
|
||||||
|
find_package(OpenGL)
|
||||||
|
if(WXGTK3 AND OpenGL_EGL_FOUND AND wxUSE_GLCANVAS_EGL)
|
||||||
|
- set(OPENGL_LIBRARIES OpenGL::OpenGL OpenGL::EGL)
|
||||||
|
+ set(OPENGL_LIBRARIES OpenGL::OpenGL OpenGL::GLU OpenGL::EGL)
|
||||||
|
find_package(WAYLANDEGL)
|
||||||
|
if(WAYLANDEGL_FOUND AND wxHAVE_GDK_WAYLAND)
|
||||||
|
list(APPEND OPENGL_LIBRARIES ${WAYLANDEGL_LIBRARIES})
|
||||||
|
--
|
||||||
|
2.43.0
|
||||||
|
|
||||||
|
From 0d6485797e23b5df5dded689fd63c86e3149abc9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Maarten Bent <MaartenBent@users.noreply.github.com>
|
||||||
|
Date: Thu, 29 Apr 2021 21:39:15 +0200
|
||||||
|
Subject: [PATCH 1/4] CMake: don't define WXUSINGDLL in wx-config for static
|
||||||
|
library
|
||||||
|
|
||||||
|
---
|
||||||
|
build/cmake/config.cmake | 6 +++++-
|
||||||
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/build/cmake/config.cmake b/build/cmake/config.cmake
|
||||||
|
index 91d11acba206..98b505cbef28 100644
|
||||||
|
--- a/build/cmake/config.cmake
|
||||||
|
+++ b/build/cmake/config.cmake
|
||||||
|
@@ -153,10 +153,14 @@ function(wx_write_config)
|
||||||
|
set(WXCONFIG_CFLAGS "-pthread")
|
||||||
|
set(WXCONFIG_LDFLAGS "-pthread")
|
||||||
|
endif()
|
||||||
|
- set(WXCONFIG_CPPFLAGS "-DWXUSINGDLL")
|
||||||
|
+ set(WXCONFIG_CPPFLAGS)
|
||||||
|
+ if(wxBUILD_SHARED)
|
||||||
|
+ wx_string_append(WXCONFIG_CPPFLAGS " -DWXUSINGDLL")
|
||||||
|
+ endif()
|
||||||
|
foreach(flag IN LISTS wxTOOLKIT_DEFINITIONS)
|
||||||
|
wx_string_append(WXCONFIG_CPPFLAGS " -D${flag}")
|
||||||
|
endforeach()
|
||||||
|
+ string(STRIP "${WXCONFIG_CPPFLAGS}" WXCONFIG_CPPFLAGS)
|
||||||
|
set(WXCONFIG_CXXFLAGS ${WXCONFIG_CFLAGS})
|
||||||
|
set(WXCONFIG_LDFLAGS_GUI)
|
||||||
|
set(WXCONFIG_RESFLAGS)
|
||||||
|
--
|
||||||
|
2.43.0
|
||||||
|
|
||||||
|
|
||||||
|
From ea6049598d806023cd7157600942ed78b719b74f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Maarten Bent <MaartenBent@users.noreply.github.com>
|
||||||
|
Date: Thu, 29 Apr 2021 21:41:06 +0200
|
||||||
|
Subject: [PATCH 2/4] CMake: add '-l' prefix to all library dependencies
|
||||||
|
|
||||||
|
---
|
||||||
|
build/cmake/config.cmake | 3 +--
|
||||||
|
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/build/cmake/config.cmake b/build/cmake/config.cmake
|
||||||
|
index 98b505cbef28..d5ec8cf4fbad 100644
|
||||||
|
--- a/build/cmake/config.cmake
|
||||||
|
+++ b/build/cmake/config.cmake
|
||||||
|
@@ -39,11 +39,10 @@ macro(wx_get_dependencies var lib)
|
||||||
|
else()
|
||||||
|
get_target_property(dep_name ${dep} OUTPUT_NAME)
|
||||||
|
endif()
|
||||||
|
- set(dep_name "-l${dep_name}")
|
||||||
|
else()
|
||||||
|
get_filename_component(dep_name ${dep} NAME)
|
||||||
|
endif()
|
||||||
|
- wx_string_append(${var} "${dep_name} ")
|
||||||
|
+ wx_string_append(${var} "-l${dep_name} ")
|
||||||
|
endforeach()
|
||||||
|
string(STRIP ${${var}} ${var})
|
||||||
|
endif()
|
||||||
|
--
|
||||||
|
2.43.0
|
||||||
|
|
||||||
|
|
||||||
|
From 4fae03bdd774b65211d6515104305d1993179eb3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Maarten Bent <MaartenBent@users.noreply.github.com>
|
||||||
|
Date: Tue, 4 May 2021 21:30:29 +0200
|
||||||
|
Subject: [PATCH 3/4] CMake: Improve adding external libraries to wx-config
|
||||||
|
|
||||||
|
Don't add -l to libraries already containing it (for example -lpthread).
|
||||||
|
Change libraries with format libName.so or libName.a to -lName,
|
||||||
|
configure also uses -l for these libraries. Account for possible invalid
|
||||||
|
libraries (Name-NOTFOUND) which could happen with imported libraries,
|
||||||
|
for example OpenGL::OpenGL.
|
||||||
|
|
||||||
|
Closes https://github.com/wxWidgets/wxWidgets/pull/2359
|
||||||
|
---
|
||||||
|
build/cmake/config.cmake | 8 +++++++-
|
||||||
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/build/cmake/config.cmake b/build/cmake/config.cmake
|
||||||
|
index d5ec8cf4fbad..c2aa026ef059 100644
|
||||||
|
--- a/build/cmake/config.cmake
|
||||||
|
+++ b/build/cmake/config.cmake
|
||||||
|
@@ -42,7 +42,13 @@ macro(wx_get_dependencies var lib)
|
||||||
|
else()
|
||||||
|
get_filename_component(dep_name ${dep} NAME)
|
||||||
|
endif()
|
||||||
|
- wx_string_append(${var} "-l${dep_name} ")
|
||||||
|
+ if(dep_name MATCHES "^-l(.*)" OR dep_name STREQUAL "libc.so")
|
||||||
|
+ wx_string_append(${var} "${dep_name} ")
|
||||||
|
+ elseif(dep_name MATCHES "^lib(.*)(.so|.a)")
|
||||||
|
+ wx_string_append(${var} "-l${CMAKE_MATCH_1} ")
|
||||||
|
+ elseif(dep_name)
|
||||||
|
+ wx_string_append(${var} "-l${dep_name} ")
|
||||||
|
+ endif()
|
||||||
|
endforeach()
|
||||||
|
string(STRIP ${${var}} ${var})
|
||||||
|
endif()
|
||||||
|
--
|
||||||
|
2.43.0
|
||||||
|
|
||||||
|
|
||||||
|
From 8455b3a48baf73e91f34ac9301642832aec9b544 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Vadim Zeitlin <vadim@wxwidgets.org>
|
||||||
|
Date: Wed, 25 Aug 2021 23:31:45 +0200
|
||||||
|
Subject: [PATCH 4/4] Fix wx-config --libs output for static monolithic build
|
||||||
|
|
||||||
|
Include all extra libraries we need (except for OpenGL ones, as there is
|
||||||
|
still a separate library for it, even in monolithic build) in wx-config
|
||||||
|
--libs output for static monolithic build as the application (may) need
|
||||||
|
all of them, as all the libraries are part of the single monolithic one
|
||||||
|
in this case.
|
||||||
|
|
||||||
|
It seems that we had an attempt to fix this as far back as in 5719eab2bf
|
||||||
|
(Fix missing 3rd party builtin libs for static monolithic builds.,
|
||||||
|
2006-09-17), but it was insufficient as it didn't take the dependencies
|
||||||
|
of the other GUI libraries (e.g. "media") into account.
|
||||||
|
|
||||||
|
Closes #19175.
|
||||||
|
---
|
||||||
|
wx-config.in | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/wx-config.in b/wx-config.in
|
||||||
|
index 441f88ce9203..e3f7d115bbbd 100755
|
||||||
|
--- a/wx-config.in
|
||||||
|
+++ b/wx-config.in
|
||||||
|
@@ -1218,7 +1218,7 @@ if is_monolithic; then
|
||||||
|
# We still need the core lib deps for a static build though
|
||||||
|
if is_static; then
|
||||||
|
link_deps="${libdir}/libwx_@TOOLCHAIN_NAME@.a"
|
||||||
|
- wx_libs="$wx_libs $link_deps $ldlibs_core $ldlibs_base"
|
||||||
|
+ wx_libs="$wx_libs $link_deps $ldlibs_html $ldlibs_media $ldlibs_stc $ldlibs_webview $ldlibs_core $ldlibs_xml $ldlibs_base"
|
||||||
|
else
|
||||||
|
wx_libs="$wx_libs -lwx_@TOOLCHAIN_NAME@"
|
||||||
|
fi
|
||||||
|
--
|
||||||
|
2.43.0
|
||||||
|
|
||||||
85
flatpak/set-dark-theme-variant.py
Normal file
85
flatpak/set-dark-theme-variant.py
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import Xlib
|
||||||
|
import Xlib.display
|
||||||
|
import time
|
||||||
|
import subprocess
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
disp = Xlib.display.Display()
|
||||||
|
root = disp.screen().root
|
||||||
|
|
||||||
|
NET_CLIENT_LIST = disp.intern_atom('_NET_CLIENT_LIST')
|
||||||
|
|
||||||
|
|
||||||
|
def set_theme_variant_by_window_id(id, variant):
|
||||||
|
# Use subprocess to call
|
||||||
|
# xprop and set the variant from id.
|
||||||
|
try:
|
||||||
|
s = subprocess.call(['xprop', '-f', '_GTK_THEME_VARIANT', '8u', '-set', '_GTK_THEME_VARIANT', variant, '-id', str(id)],
|
||||||
|
stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
||||||
|
if s == 0:
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
except Exception as ex:
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def set_theme_variant_from_win_id_collection(win_id_collection, variant):
|
||||||
|
# Loop though all of the collected
|
||||||
|
# window ids and set theme variant
|
||||||
|
for win_id in win_id_collection:
|
||||||
|
set_theme_variant_by_window_id(win_id, variant)
|
||||||
|
|
||||||
|
|
||||||
|
def collection_win_id_from_wm_class_name(win_class_name):
|
||||||
|
|
||||||
|
collect = []
|
||||||
|
|
||||||
|
# Loop though all of the windows
|
||||||
|
# and collect id's those that match
|
||||||
|
# win_class: prusa-slicer
|
||||||
|
for win_id in root.get_full_property(NET_CLIENT_LIST, Xlib.X.AnyPropertyType).value:
|
||||||
|
try:
|
||||||
|
win = disp.create_resource_object('window', win_id)
|
||||||
|
if not win.get_wm_transient_for():
|
||||||
|
win_class = win.get_wm_class()
|
||||||
|
if win_id and win_class_name in win_class:
|
||||||
|
collect.append(
|
||||||
|
win_id) if win_id not in collect else collect
|
||||||
|
except Xlib.error.BadWindow:
|
||||||
|
pass
|
||||||
|
|
||||||
|
return collect
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
|
||||||
|
if os.environ.get('PRUSA_SLICER_DARK_THEME', 'false') != 'true':
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
|
# Listen for X Property Change events.
|
||||||
|
root.change_attributes(event_mask=Xlib.X.PropertyChangeMask)
|
||||||
|
# the class name of the slicer window
|
||||||
|
win_class_name = 'prusa-slicer'
|
||||||
|
# the variant to set
|
||||||
|
variant = 'dark'
|
||||||
|
|
||||||
|
start = time.time()
|
||||||
|
|
||||||
|
while True:
|
||||||
|
# collect all of the window ids
|
||||||
|
collect = collection_win_id_from_wm_class_name(win_class_name)
|
||||||
|
# give PrusaSlicer window 2 secs to
|
||||||
|
# collect the wanted window ids
|
||||||
|
# set the theme variant and exit
|
||||||
|
if time.time() - start <= 2:
|
||||||
|
# disp.next_event() blocks if no events are
|
||||||
|
# queued. In combination with while True
|
||||||
|
# it creates a very simple event loop.
|
||||||
|
disp.next_event()
|
||||||
|
set_theme_variant_from_win_id_collection(collect, variant)
|
||||||
|
else:
|
||||||
|
break
|
||||||
10
flatpak/umount
Executable file
10
flatpak/umount
Executable file
@@ -0,0 +1,10 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
if [ $# -eq 0 ]; then
|
||||||
|
echo "No arguments supplied"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
DEVICE=$(basename $(findmnt -oSOURCE -n "$@") )
|
||||||
|
|
||||||
|
exec /usr/bin/gdbus call -y -d org.freedesktop.UDisks2 -o /org/freedesktop/UDisks2/block_devices/$DEVICE -m org.freedesktop.UDisks2.Filesystem.Unmount "{'b': <'false'>}" 1> /dev/null
|
||||||
|
|
||||||
Reference in New Issue
Block a user