mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-19 00:21:40 +00:00
extra/freecad to 0.21.2-8
This commit is contained in:
parent
0cef019c9d
commit
e45ebdfd84
4 changed files with 190 additions and 7 deletions
|
@ -1,7 +1,7 @@
|
|||
pkgbase = freecad
|
||||
pkgdesc = Feature based parametric 3D CAD modeler
|
||||
pkgver = 0.21.2
|
||||
pkgrel = 7
|
||||
pkgrel = 8
|
||||
url = https://freecadweb.org/
|
||||
arch = x86_64
|
||||
license = LGPL
|
||||
|
@ -19,7 +19,6 @@ pkgbase = freecad
|
|||
makedepends = pdal
|
||||
makedepends = postgresql-libs
|
||||
makedepends = python-mpi4py
|
||||
makedepends = python-shiboken2
|
||||
makedepends = shiboken6
|
||||
makedepends = swig
|
||||
makedepends = utf8cpp
|
||||
|
@ -53,8 +52,10 @@ pkgbase = freecad
|
|||
source = git+https://github.com/freecad/freecad#tag=0.21.2
|
||||
source = freecad-vtk9.3.patch
|
||||
source = pyside6.patch
|
||||
source = 62c3836c.patch
|
||||
b2sums = SKIP
|
||||
b2sums = f0b5a4648eb4befabb2339bae4e42044e436aa50ad1c2a25b243c965272a217b2c1c69c34d0d20bd01c573008de10f733b74857ffecac502b8558a7095e305e5
|
||||
b2sums = 81f39b2180adb435d3a1cff58b566d106e04fe1099adb1530c9a905b696e73cd7ed55d8616db7e080bb6f6716e9d2f207c3b2e6f6e0618a97b41de499e23d3b0
|
||||
b2sums = 34a9c80fd2413284a2e09c41e91ef5079edafde6177384bfe8cc28ab44c60a8a1dfbee00d99ede39841f9405d1bc1b2b0e7bd1abff3e6a9fc32d124b656c2a9e
|
||||
b2sums = eb474708c3611293cfe3dfc287418b606f7735f6eb306f44f7394cd7e65256daddcee35984211982f25064e7ec81cc038d4eeb8d34af7399058ecfb6e8e99e9f
|
||||
|
||||
pkgname = freecad
|
||||
|
|
83
extra/freecad/62c3836c.patch
Normal file
83
extra/freecad/62c3836c.patch
Normal file
|
@ -0,0 +1,83 @@
|
|||
From 62c3836c97a56db24e3ef567a31eba2d0893b945 Mon Sep 17 00:00:00 2001
|
||||
From: Ladislav Michl <ladis@linux-mips.org>
|
||||
Date: Tue, 23 Jan 2024 12:46:32 +0100
|
||||
Subject: [PATCH] Addon Manager: Qt6 fixes
|
||||
|
||||
---
|
||||
src/Mod/AddonManager/addonmanager_utilities.py | 4 ++--
|
||||
src/Mod/AddonManager/change_branch.py | 2 +-
|
||||
src/Mod/AddonManager/package_details.py | 7 +++----
|
||||
src/Mod/AddonManager/package_list.py | 7 +++----
|
||||
4 files changed, 9 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/src/Mod/AddonManager/addonmanager_utilities.py b/src/Mod/AddonManager/addonmanager_utilities.py
|
||||
index 9ceabc2e9add..183a2047b086 100644
|
||||
--- a/src/Mod/AddonManager/addonmanager_utilities.py
|
||||
+++ b/src/Mod/AddonManager/addonmanager_utilities.py
|
||||
@@ -36,7 +36,7 @@
|
||||
from urllib.parse import urlparse
|
||||
|
||||
try:
|
||||
- from PySide import QtCore, QtWidgets
|
||||
+ from PySide import QtCore, QtGui, QtWidgets
|
||||
except ImportError:
|
||||
QtCore = None
|
||||
QtWidgets = None
|
||||
@@ -245,7 +245,7 @@ def get_readme_html_url(repo):
|
||||
def is_darkmode() -> bool:
|
||||
"""Heuristics to determine if we are in a darkmode stylesheet"""
|
||||
pl = fci.FreeCADGui.getMainWindow().palette()
|
||||
- return pl.color(pl.Background).lightness() < 128
|
||||
+ return pl.color(QtGui.QPalette.Window).lightness() < 128
|
||||
|
||||
|
||||
def warning_color_string() -> str:
|
||||
diff --git a/src/Mod/AddonManager/change_branch.py b/src/Mod/AddonManager/change_branch.py
|
||||
index 332795a22afc..ebe1819bc755 100644
|
||||
--- a/src/Mod/AddonManager/change_branch.py
|
||||
+++ b/src/Mod/AddonManager/change_branch.py
|
||||
@@ -216,7 +216,7 @@ def data(self, index: QtCore.QModelIndex, role: int = QtCore.Qt.DisplayRole):
|
||||
dd = self.display_data[row]
|
||||
if column == 3 or column == 4:
|
||||
if dd[column] is not None:
|
||||
- qdate = QtCore.QDateTime.fromTime_t(dd[column])
|
||||
+ qdate = QtCore.QDateTime.fromSecsSinceEpoch(dd[column])
|
||||
return QtCore.QLocale().toString(qdate, QtCore.QLocale.ShortFormat)
|
||||
elif column < len(dd):
|
||||
return dd[column]
|
||||
diff --git a/src/Mod/AddonManager/package_details.py b/src/Mod/AddonManager/package_details.py
|
||||
index 93dfb8bee962..8310b5e90343 100644
|
||||
--- a/src/Mod/AddonManager/package_details.py
|
||||
+++ b/src/Mod/AddonManager/package_details.py
|
||||
@@ -133,10 +133,9 @@ def display_repo_status(self, status):
|
||||
date = ""
|
||||
installed_version_string = "<h3>"
|
||||
if repo.updated_timestamp:
|
||||
- date = (
|
||||
- QtCore.QDateTime.fromTime_t(repo.updated_timestamp)
|
||||
- .date()
|
||||
- .toString(QtCore.Qt.SystemLocaleShortDate)
|
||||
+ date = QtCore.QLocale().toString(
|
||||
+ QtCore.QDateTime.fromSecsSinceEpoch(int(round(repo.updated_timestamp, 0))),
|
||||
+ QtCore.QLocale.ShortFormat,
|
||||
)
|
||||
if version and date:
|
||||
installed_version_string += (
|
||||
diff --git a/src/Mod/AddonManager/package_list.py b/src/Mod/AddonManager/package_list.py
|
||||
index a9dd3dc59856..d26b4f5489c3 100644
|
||||
--- a/src/Mod/AddonManager/package_list.py
|
||||
+++ b/src/Mod/AddonManager/package_list.py
|
||||
@@ -465,10 +465,9 @@ def get_expanded_update_string(repo: Addon) -> str:
|
||||
installed_date_string = (
|
||||
"<br/>" + translate("AddonsInstaller", "Installed on") + ": "
|
||||
)
|
||||
- installed_date_string += (
|
||||
- QtCore.QDateTime.fromTime_t(repo.updated_timestamp)
|
||||
- .date()
|
||||
- .toString(QtCore.Qt.SystemLocaleShortDate)
|
||||
+ installed_date_string += QtCore.QLocale().toString(
|
||||
+ QtCore.QDateTime.fromSecsSinceEpoch(int(round(repo.updated_timestamp, 0))),
|
||||
+ QtCore.QLocale.ShortFormat,
|
||||
)
|
||||
|
||||
available_version_string = ""
|
|
@ -18,7 +18,7 @@ highmem=1
|
|||
|
||||
pkgname=freecad
|
||||
pkgver=0.21.2
|
||||
pkgrel=7
|
||||
pkgrel=8
|
||||
pkgdesc='Feature based parametric 3D CAD modeler'
|
||||
arch=(x86_64)
|
||||
url='https://freecadweb.org/'
|
||||
|
@ -29,19 +29,22 @@ depends=(boost-libs coin fmt glew jsoncpp libspnav med-openmpi netcdf
|
|||
python-yaml qt6-svg qt6-tools qt6-webengine
|
||||
xerces-c verdict)
|
||||
makedepends=(boost cgns cmake eigen git libharu liblas ninja openvdb openvr
|
||||
pdal postgresql-libs python-mpi4py python-shiboken2
|
||||
pdal postgresql-libs python-mpi4py
|
||||
shiboken6 swig utf8cpp nlohmann-json)
|
||||
optdepends=('graphviz: dependency graph support'
|
||||
'openscad: OpenSCAD support')
|
||||
source=("git+https://github.com/$pkgname/$pkgname#tag=$pkgver"
|
||||
freecad-vtk9.3.patch
|
||||
pyside6.patch) # tag: 0.21.1
|
||||
pyside6.patch
|
||||
62c3836c.patch)
|
||||
b2sums=('SKIP'
|
||||
'f0b5a4648eb4befabb2339bae4e42044e436aa50ad1c2a25b243c965272a217b2c1c69c34d0d20bd01c573008de10f733b74857ffecac502b8558a7095e305e5'
|
||||
'81f39b2180adb435d3a1cff58b566d106e04fe1099adb1530c9a905b696e73cd7ed55d8616db7e080bb6f6716e9d2f207c3b2e6f6e0618a97b41de499e23d3b0')
|
||||
'34a9c80fd2413284a2e09c41e91ef5079edafde6177384bfe8cc28ab44c60a8a1dfbee00d99ede39841f9405d1bc1b2b0e7bd1abff3e6a9fc32d124b656c2a9e'
|
||||
'eb474708c3611293cfe3dfc287418b606f7735f6eb306f44f7394cd7e65256daddcee35984211982f25064e7ec81cc038d4eeb8d34af7399058ecfb6e8e99e9f')
|
||||
|
||||
prepare() {
|
||||
patch -d freecad -Np1 -i "$srcdir"/freecad-vtk9.3.patch
|
||||
patch -d freecad -Np1 -i ../62c3836c.patch # Fix Qt6 issues in addons manager
|
||||
patch -d freecad -Np1 -i ../pyside6.patch
|
||||
}
|
||||
|
||||
|
|
|
@ -11,3 +11,99 @@ index 0569c1fde9..f5e3d0931f 100644
|
|||
endmacro(SetupShibokenAndPyside)
|
||||
|
||||
# Locate the include directory for a pip-installed package -- uses pip show to find the base pip
|
||||
diff --git a/src/Mod/AddonManager/package_details.py b/src/Mod/AddonManager/package_details.py
|
||||
index c9d1ae311a..9c0e040ea5 100644
|
||||
--- a/src/Mod/AddonManager/package_details.py
|
||||
+++ b/src/Mod/AddonManager/package_details.py
|
||||
@@ -26,7 +26,7 @@
|
||||
import os
|
||||
from typing import Optional
|
||||
|
||||
-from PySide import QtCore, QtGui, QtWidgets
|
||||
+from PySide6 import QtCore, QtGui, QtWidgets
|
||||
|
||||
import addonmanager_freecad_interface as fci
|
||||
|
||||
@@ -51,14 +51,14 @@ translate = fci.translate
|
||||
show_javascript_console_output = False
|
||||
|
||||
try:
|
||||
- from PySide import QtWebEngineWidgets
|
||||
+ from PySide6 import QtWebEngineCore, QtWebEngineWidgets
|
||||
|
||||
HAS_QTWEBENGINE = True
|
||||
except ImportError:
|
||||
fci.Console.PrintWarning(
|
||||
translate(
|
||||
"AddonsInstaller",
|
||||
- "Addon Manager Warning: Could not import QtWebEngineWidgets -- README data will display as text-only",
|
||||
+ "Addon Manager Warning: Could not import QtWebEngineCore -- README data will display as text-only",
|
||||
)
|
||||
+ "\n"
|
||||
)
|
||||
@@ -715,14 +714,14 @@ class PackageDetails(QtWidgets.QWidget):
|
||||
|
||||
if HAS_QTWEBENGINE:
|
||||
|
||||
- class RestrictedWebPage(QtWebEngineWidgets.QWebEnginePage):
|
||||
+ class RestrictedWebPage(QtWebEngineCore.QWebEnginePage):
|
||||
"""A class that follows links to FreeCAD wiki pages, but opens all other
|
||||
clicked links in the system web browser"""
|
||||
|
||||
def __init__(self, parent):
|
||||
super().__init__(parent)
|
||||
self.settings().setAttribute(
|
||||
- QtWebEngineWidgets.QWebEngineSettings.ErrorPageEnabled, False
|
||||
+ QtWebEngineCore.QWebEngineSettings.ErrorPageEnabled, False
|
||||
)
|
||||
self.stored_url = None
|
||||
|
||||
@@ -731,7 +730,7 @@ if HAS_QTWEBENGINE:
|
||||
navigation requests to the FreeCAD Wiki (for translation purposes) --
|
||||
anything else will open in a new window.
|
||||
"""
|
||||
- if _type == QtWebEngineWidgets.QWebEnginePage.NavigationTypeLinkClicked:
|
||||
+ if _type == QtWebEngineCore.QWebEnginePage.NavigationTypeLinkClicked:
|
||||
# See if the link is to a FreeCAD Wiki page -- if so, follow it,
|
||||
# otherwise ask the OS to open it
|
||||
if (
|
||||
@@ -754,11 +753,11 @@ if HAS_QTWEBENGINE:
|
||||
global show_javascript_console_output
|
||||
if show_javascript_console_output:
|
||||
tag = translate("AddonsInstaller", "Page JavaScript reported")
|
||||
- if level == QtWebEngineWidgets.QWebEnginePage.InfoMessageLevel:
|
||||
+ if level == QtWebEngineCore.QWebEnginePage.InfoMessageLevel:
|
||||
fci.Console.PrintMessage(f"{tag} {lineNumber}: {message}\n")
|
||||
- elif level == QtWebEngineWidgets.QWebEnginePage.WarningMessageLevel:
|
||||
+ elif level == QtWebEngineCore.QWebEnginePage.WarningMessageLevel:
|
||||
fci.Console.PrintWarning(f"{tag} {lineNumber}: {message}\n")
|
||||
- elif level == QtWebEngineWidgets.QWebEnginePage.ErrorMessageLevel:
|
||||
+ elif level == QtWebEngineCore.QWebEnginePage.ErrorMessageLevel:
|
||||
fci.Console.PrintError(f"{tag} {lineNumber}: {message}\n")
|
||||
|
||||
def _reload_stored_url(self):
|
||||
diff --git a/src/Mod/AddonManager/AddonManager.py b/src/Mod/AddonManager/AddonManager.py
|
||||
index cb8bb63d8a..7445173537 100644
|
||||
--- a/src/Mod/AddonManager/AddonManager.py
|
||||
+++ b/src/Mod/AddonManager/AddonManager.py
|
||||
@@ -427,15 +427,15 @@ class CommandAddonManager:
|
||||
"You must restart FreeCAD for changes to take effect.",
|
||||
)
|
||||
)
|
||||
- m.setIcon(m.Warning)
|
||||
- m.setStandardButtons(m.Ok | m.Cancel)
|
||||
- m.setDefaultButton(m.Cancel)
|
||||
+ m.setIcon(m.Icon.Warning)
|
||||
+ m.setStandardButtons(m.StandardButton.Ok | m.StandardButton.Cancel)
|
||||
+ m.setDefaultButton(m.StandardButton.Cancel)
|
||||
okBtn = m.button(QtWidgets.QMessageBox.StandardButton.Ok)
|
||||
cancelBtn = m.button(QtWidgets.QMessageBox.StandardButton.Cancel)
|
||||
okBtn.setText(translate("AddonsInstaller", "Restart now"))
|
||||
cancelBtn.setText(translate("AddonsInstaller", "Restart later"))
|
||||
ret = m.exec_()
|
||||
- if ret == m.Ok:
|
||||
+ if ret == m.StandardButton.Ok:
|
||||
# restart FreeCAD after a delay to give time to this dialog to close
|
||||
QtCore.QTimer.singleShot(1000, utils.restart_freecad)
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue