From 3e3514634eaedc2d5a8f9b2a0a969321af7ad75c Mon Sep 17 00:00:00 2001 From: zhangxianting Date: Wed, 6 Sep 2023 05:28:51 +0000 Subject: [PATCH 1/2] fix : fix building error at clang Signed-off-by: zhangxianting --- 0001-add-PR_var-support-at-riscv64.patch | 113 +++++++++++++++++++++++ dde-file-manager.spec | 9 +- 2 files changed, 120 insertions(+), 2 deletions(-) create mode 100644 0001-add-PR_var-support-at-riscv64.patch diff --git a/0001-add-PR_var-support-at-riscv64.patch b/0001-add-PR_var-support-at-riscv64.patch new file mode 100644 index 0000000..3e766bb --- /dev/null +++ b/0001-add-PR_var-support-at-riscv64.patch @@ -0,0 +1,113 @@ +From 442cc197f7e4f16411ed7aab0c0b492970a57685 Mon Sep 17 00:00:00 2001 +From: zhangxianting +Date: Sun, 27 Aug 2023 11:07:04 +0800 +Subject: [PATCH] add PR_var support at riscv64 + +--- + .../charsetdetect/nspr-emu/prcpucfg_linux.h | 50 +++++++++++++++++++ + src/common/common.pri | 5 ++ + src/dde-file-manager/dde-file-manager.pro | 5 +- + 3 files changed, 58 insertions(+), 2 deletions(-) + +diff --git a/3rdparty/charsetdetect/nspr-emu/prcpucfg_linux.h b/3rdparty/charsetdetect/nspr-emu/prcpucfg_linux.h +index 776c21e..afb7415 100644 +--- a/3rdparty/charsetdetect/nspr-emu/prcpucfg_linux.h ++++ b/3rdparty/charsetdetect/nspr-emu/prcpucfg_linux.h +@@ -645,6 +645,56 @@ + #define PR_BYTES_PER_WORD_LOG2 2 + #define PR_BYTES_PER_DWORD_LOG2 3 + ++#elif defined(__riscv64__) ++ ++#define IS_LITTLE_ENDIAN 1 ++#undef IS_BIG_ENDIAN ++#define IS_64 ++ ++#define PR_BYTES_PER_BYTE 1 ++#define PR_BYTES_PER_SHORT 2 ++#define PR_BYTES_PER_INT 4 ++#define PR_BYTES_PER_INT64 8 ++#define PR_BYTES_PER_LONG 8 ++#define PR_BYTES_PER_FLOAT 4 ++#define PR_BYTES_PER_DOUBLE 8 ++#define PR_BYTES_PER_WORD 8 ++#define PR_BYTES_PER_DWORD 8 ++ ++#define PR_BITS_PER_BYTE 8 ++#define PR_BITS_PER_SHORT 16 ++#define PR_BITS_PER_INT 32 ++#define PR_BITS_PER_INT64 64 ++#define PR_BITS_PER_LONG 64 ++#define PR_BITS_PER_FLOAT 32 ++#define PR_BITS_PER_DOUBLE 64 ++#define PR_BITS_PER_WORD 64 ++ ++#define PR_BITS_PER_BYTE_LOG2 3 ++#define PR_BITS_PER_SHORT_LOG2 4 ++#define PR_BITS_PER_INT_LOG2 5 ++#define PR_BITS_PER_INT64_LOG2 6 ++#define PR_BITS_PER_LONG_LOG2 6 ++#define PR_BITS_PER_FLOAT_LOG2 5 ++#define PR_BITS_PER_DOUBLE_LOG2 6 ++#define PR_BITS_PER_WORD_LOG2 6 ++ ++#define PR_ALIGN_OF_SHORT 2 ++#define PR_ALIGN_OF_INT 4 ++#define PR_ALIGN_OF_LONG 8 ++#define PR_ALIGN_OF_INT64 8 ++#define PR_ALIGN_OF_FLOAT 4 ++#define PR_ALIGN_OF_DOUBLE 8 ++#define PR_ALIGN_OF_POINTER 8 ++#define PR_ALIGN_OF_WORD 8 ++ ++#define PR_BYTES_PER_WORD_LOG2 3 ++#define PR_BYTES_PER_DWORD_LOG2 3 ++ ++ ++#define PR_BYTES_PER_WORD_LOG2 3 ++#define PR_BYTES_PER_DWORD_LOG2 3 ++ + #else + + #error "Unknown CPU architecture" +diff --git a/src/common/common.pri b/src/common/common.pri +index cace636..7930a92 100644 +--- a/src/common/common.pri ++++ b/src/common/common.pri +@@ -64,6 +64,11 @@ unix { + DEFINES += arm + DEFINES += __arm__ + } ++ isEqual(ARCH, riscv64){ ++ DEFINES += riscv64 ++ DEFINES += __riscv64__ ++ } ++ + #优化通过指定 -Wl,--as-needed 选项,链接过程中,链接器会检查所有的依赖库,没有实际被引用的库,不再写入可执行文件头。最终生成的可执行文件头中包含的都是必要的链接库信息 + QMAKE_CXX += -Wl,--as-need -ffunction-sections -fdata-sections -Wl,--gc-sections -Wl,-O1 + QMAKE_CXXFLAGS += -Wl,--as-need -fPIE -ffunction-sections -fdata-sections -Wl,--gc-sections -Wl,-O1 +diff --git a/src/dde-file-manager/dde-file-manager.pro b/src/dde-file-manager/dde-file-manager.pro +index 0863c6f..a401bcf 100644 +--- a/src/dde-file-manager/dde-file-manager.pro ++++ b/src/dde-file-manager/dde-file-manager.pro +@@ -69,7 +69,8 @@ DEFINES += APPSHAREDIR=\\\"$$PREFIX/share/$$TARGET\\\" + target.path = $$BINDIR + + desktop.path = $${PREFIX}/share/applications/ +-isEqual(ARCH, sw_64) | isEqual(ARCH, mips64) | isEqual(ARCH, mips32) | isEqual(ARCH, aarch64) { ++riscv64 ++isEqual(ARCH, sw_64) | isEqual(ARCH, mips64) | isEqual(ARCH, mips32) | isEqual(ARCH, aarch64) | isEqual(ARCH, riscv64) { + desktop.files = $$PWD/mips/$${TARGET}.desktop \ + dde-open.desktop + }else{ +@@ -91,7 +92,7 @@ manual.path = /usr/share/deepin-manual/manual-assets/application + + INSTALLS += target desktop policy pkexec propertyDialogShell manual + +-isEqual(ARCH, sw_64) | isEqual(ARCH, mips64) | isEqual(ARCH, mips32) | isEqual(ARCH, aarch64) { ++isEqual(ARCH, sw_64) | isEqual(ARCH, mips64) | isEqual(ARCH, mips32) | isEqual(ARCH, aarch64) | isEqual(ARCH, riscv64) { + dde-mips-shs.path = $$BINDIR + dde-mips-shs.files = $$PWD/mips/dde-computer.sh \ + $$PWD/mips/dde-trash.sh \ +-- +2.39.1 \ No newline at end of file diff --git a/dde-file-manager.spec b/dde-file-manager.spec index b9e15f6..9b4b893 100644 --- a/dde-file-manager.spec +++ b/dde-file-manager.spec @@ -1,6 +1,6 @@ -%define specrelease 9%{?dist} +%define specrelease 9%{?dist}.01 %if 0%{?openeuler} -%define specrelease 5 +%define specrelease 6 %endif Name: dde-file-manager @@ -11,6 +11,7 @@ License: GPLv3 URL: https://github.com/linuxdeepin/dde-file-manager Source0: %{name}_%{version}.orig.tar.xz Patch0: 0001-hide-authorized-watermask.patch +Patch1: 0001-add-PR_var-support-at-riscv64.patch BuildRequires: gcc-c++ BuildRequires: desktop-file-utils @@ -125,6 +126,7 @@ Deepin desktop environment - desktop module. %prep %setup -q -n %{name}-%{version} %patch0 -p1 +%patch1 -p1 # fix file permissions find -type f -perm 775 -exec chmod 644 {} \; @@ -230,6 +232,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/dde-home.desktop ||: %{_datadir}/dbus-1/services/com.deepin.dde.desktop.service %changelog +* Wed Sep 06 2023 zhangxianting - 5.2.39-6 +- fix : fix building error at clang + * Fri Nov 11 2022 liweiganga - 5.2.39-5 - add BR pcre-devel -- Gitee From b4dcd31a5a2194e680b8a279cee0362dea639a05 Mon Sep 17 00:00:00 2001 From: zhangxianting Date: Wed, 6 Sep 2023 09:27:43 +0000 Subject: [PATCH 2/2] update patch Signed-off-by: zhangxianting --- 0001-add-PR_var-support-at-riscv64.patch | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/0001-add-PR_var-support-at-riscv64.patch b/0001-add-PR_var-support-at-riscv64.patch index 3e766bb..c3147ee 100644 --- a/0001-add-PR_var-support-at-riscv64.patch +++ b/0001-add-PR_var-support-at-riscv64.patch @@ -4,10 +4,11 @@ Date: Sun, 27 Aug 2023 11:07:04 +0800 Subject: [PATCH] add PR_var support at riscv64 --- - .../charsetdetect/nspr-emu/prcpucfg_linux.h | 50 +++++++++++++++++++ - src/common/common.pri | 5 ++ - src/dde-file-manager/dde-file-manager.pro | 5 +- - 3 files changed, 58 insertions(+), 2 deletions(-) + .../charsetdetect/nspr-emu/prcpucfg_linux.h | 50 +++++++++++++++++++ + src/common/common.pri | 5 ++ + src/dde-file-manager/dde-file-manager.pro | 5 +- + src/dde-file-manager-lib/dde-file-manager-lib.pro | 2 +- + 4 files changed, 59 insertions(+), 3 deletions(-) diff --git a/3rdparty/charsetdetect/nspr-emu/prcpucfg_linux.h b/3rdparty/charsetdetect/nspr-emu/prcpucfg_linux.h index 776c21e..afb7415 100644 @@ -109,5 +110,18 @@ index 0863c6f..a401bcf 100644 dde-mips-shs.path = $$BINDIR dde-mips-shs.files = $$PWD/mips/dde-computer.sh \ $$PWD/mips/dde-trash.sh \ +diff --git a/src/dde-file-manager-lib/dde-file-manager-lib.pro b/src/dde-file-manager-lib/dde-file-manager-lib.pro +index fd9c736..6986d56 100644 +--- a/src/dde-file-manager-lib/dde-file-manager-lib.pro ++++ b/src/dde-file-manager-lib/dde-file-manager-lib.pro +@@ -92,7 +92,7 @@ include(interfaces/vfs/vfs.pri) + include(interfaces/customization/customization.pri) + include(src.pri) + +-isEqual(ARCH, sw_64) | isEqual(ARCH, mips64) | isEqual(ARCH, mips32) | isEqual(ARCH, aarch64){ ++isEqual(ARCH, sw_64) | isEqual(ARCH, mips64) | isEqual(ARCH, mips32) | isEqual(ARCH, aarch64) | isEqual(ARCH, riscv64) { + include(search/dfsearch.pri) + } + -- 2.39.1 \ No newline at end of file -- Gitee