Zheng Junjie writes: > * gnu/packages/graphics.scm (ogre-next): Fix build on riscv64. > [source]: Add ogre-next-add-riscv64-support.patch. > [argument]<#:configure-flags>: When target riscv64, Add -DOGRE_SIMD_SSE2=OFF > and -DOGRE_SIMD_NEON=OFF. > * gnu/packages/patches/ogre-next-add-riscv64-support.patch: New file. > * gnu/local.mk (dist_patch_DATA): Register it. > > Change-Id: I77279f3f5ed238f8b6526b5eceea5751f86ea6e1 > --- > gnu/local.mk | 1 + > gnu/packages/graphics.scm | 12 ++++++-- > .../ogre-next-add-riscv64-support.patch | 28 +++++++++++++++++++ > 3 files changed, 39 insertions(+), 2 deletions(-) > create mode 100644 gnu/packages/patches/ogre-next-add-riscv64-support.patch > > diff --git a/gnu/local.mk b/gnu/local.mk > index 01d13a11ae8..c9533507eac 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -1918,6 +1918,7 @@ dist_patch_DATA = \ > %D%/packages/patches/nyacc-binary-literals.patch \ > %D%/packages/patches/obs-modules-location.patch \ > %D%/packages/patches/ocaml-multiple-definitions.patch \ > + %D%/packages/patches/ogre-next-add-riscv64-support.patch \ > %D%/packages/patches/ocaml-4.07-dynamically-allocate-signal-stack.patch \ > %D%/packages/patches/ocaml-4.09-dynamically-allocate-signal-stack.patch \ > %D%/packages/patches/ocaml-4.09-multiple-definitions.patch \ > diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm > index 9d7ec2933a9..82057adf680 100644 > --- a/gnu/packages/graphics.scm > +++ b/gnu/packages/graphics.scm > @@ -29,7 +29,7 @@ > ;;; Copyright © 2021, 2022 Vinicius Monego > ;;; Copyright © 2022 Michael Rohleder > ;;; Copyright © 2022, 2023, 2024 John Kehayias > -;;; Copyright © 2022, 2024 Zheng Junjie <873216071@qq.com> > +;;; Copyright © 2022, 2024, 2025 Zheng Junjie > ;;; Copyright © 2022 Tobias Kortkamp > ;;; Copyright © 2022 Paul A. Patience > ;;; Copyright © 2022 dan > @@ -1351,6 +1351,7 @@ (define-public ogre-next > (url "https://github.com/OGRECave/ogre-next") > (commit (string-append "v" version)))) > (file-name (git-file-name name version)) > + (patches (search-patches "ogre-next-add-riscv64-support.patch")) > (sha256 > (base32 > "1yrlg3s654xbp95208h9a2b8jcwdk69r6sjvll0aiyvxm4c056cw")))) > @@ -1358,7 +1359,14 @@ (define-public ogre-next > ((#:tests? _ #f) > ;; The test suite is currently disabled by the build system > ;; (see: https://github.com/OGRECave/ogre-next/issues/466). > - #f))) > + #f) > + ((#:configure-flags flags #~(list)) > + (if (target-riscv64?) > + #~(cons* > + "-DOGRE_SIMD_SSE2=OFF" > + "-DOGRE_SIMD_NEON=OFF" > + #$flags) > + flags)))) > (inputs > (modify-inputs (package-inputs ogre) > (append rapidjson))))) > diff --git a/gnu/packages/patches/ogre-next-add-riscv64-support.patch b/gnu/packages/patches/ogre-next-add-riscv64-support.patch > new file mode 100644 > index 00000000000..37251eaaf20 > --- /dev/null > +++ b/gnu/packages/patches/ogre-next-add-riscv64-support.patch > @@ -0,0 +1,28 @@ > +from https://github.com/OGRECave/ogre-next/pull/478 > + > +From 12081a8f1a0e676ac618dd7c4c1d2e8390c07278 Mon Sep 17 00:00:00 2001 > +From: Eric Long > +Date: Mon, 18 Nov 2024 21:56:13 +0800 > +Subject: [PATCH] Add riscv64 to 64-bit architectures > + > +--- > + OgreMain/include/OgrePlatform.h | 3 ++- > + 1 file changed, 2 insertions(+), 1 deletion(-) > + > +diff --git a/OgreMain/include/OgrePlatform.h b/OgreMain/include/OgrePlatform.h > +index f9f7a12e46..a977aa2958 100644 > +--- a/OgreMain/include/OgrePlatform.h > ++++ b/OgreMain/include/OgrePlatform.h > +@@ -81,7 +81,8 @@ THE SOFTWARE. > + #if defined( __x86_64__ ) || defined( _M_X64 ) || defined( _M_X64 ) || defined( _M_AMD64 ) || \ > + defined( __ppc64__ ) || defined( __PPC64__ ) || defined( __arm64__ ) || defined( __aarch64__ ) || \ > + defined( _M_ARM64 ) || defined( __mips64 ) || defined( __mips64_ ) || defined( __alpha__ ) || \ > +- defined( __ia64__ ) || defined( __e2k__ ) || defined( __s390__ ) || defined( __s390x__ ) > ++ defined( __ia64__ ) || defined( __e2k__ ) || defined( __s390__ ) || defined( __s390x__ ) || \ > ++ (defined(__riscv) && __riscv_xlen == 64) > + # define OGRE_ARCH_TYPE OGRE_ARCHITECTURE_64 > + #else > + # define OGRE_ARCH_TYPE OGRE_ARCHITECTURE_32 > +-- > +2.47.1 > + > > base-commit: cb386c3c70212252ddcdb0bb9f6a8ecfd22378a6 pushed, closing.