unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
Cc: 70880@debbugs.gnu.org, Nikita Domnitskii <nikita@domnitskii.me>
Subject: [bug#70880] [PATCH v2 7/8] gnu: Add prusa-wxwidgets.
Date: Tue, 09 Jul 2024 22:35:28 -0400	[thread overview]
Message-ID: <87sewiug7j.fsf@gmail.com> (raw)
In-Reply-To: <9f39081f248d8efe78b8234a9642a367a3e05827.1719853592.git.poptsov.artyom@gmail.com> (Artyom V. Poptsov's message of "Mon, 1 Jul 2024 20:07:09 +0300")

Hello,

"Artyom V. Poptsov" <poptsov.artyom@gmail.com> writes:

> * gnu/packages/engineering.scm (prusa-wxwidgets): New variable.
> * gnu/packages/patches/prusa-wxwidgets-makefile-fix.patch: New file.
> * gnu/local.mk (dist_patch_DATA): Register
>   "prusa-wxwidgets-makefile-fix.patch".
>
> Co-authored-by: Nikita Domnitskii <nikita@domnitskii.me>
> Change-Id: I9043c2acc95986275ee24d9c5d944e5fe2702e99
> ---
>  gnu/local.mk                                  |   1 +
>  .../prusa-wxwidgets-makefile-fix.patch        | 112 ++++++++++++++++++
>  gnu/packages/wxwidgets.scm                    |  29 +++++
>  3 files changed, 142 insertions(+)
>  create mode 100644 gnu/packages/patches/prusa-wxwidgets-makefile-fix.patch
>
> diff --git a/gnu/local.mk b/gnu/local.mk
> index e263261986..29107a618b 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -1842,6 +1842,7 @@ dist_patch_DATA =						\
>    %D%/packages/patches/prusa-slicer-boost-fixes.patch		\
>    %D%/packages/patches/prusa-slicer-fix-tests.patch		\
>    %D%/packages/patches/prusa-slicer-with-cereal-1.3.1.patch	\
> +  %D%/packages/patches/prusa-wxwidgets-makefile-fix.patch	\
>    %D%/packages/patches/pthreadpool-system-libraries.patch	\
>    %D%/packages/patches/python-3.12-fix-tests.patch		\
>    %D%/packages/patches/python-accupy-use-matplotx.patch		\
> diff --git a/gnu/packages/patches/prusa-wxwidgets-makefile-fix.patch b/gnu/packages/patches/prusa-wxwidgets-makefile-fix.patch
> new file mode 100644
> index 0000000000..aadf976588
> --- /dev/null
> +++ b/gnu/packages/patches/prusa-wxwidgets-makefile-fix.patch
> @@ -0,0 +1,112 @@

There ideally should be some info as to how this patch came into
existence.  Is it pulled from upstream?  From which commit/URL ?  If
it's custom work, briefly explain why it is necessary at the top of the
diff/patch.

> +diff --git a/Makefile.in b/Makefile.in
> +index 8f33aa2ff4..39928382da 100644
> +--- a/Makefile.in
> ++++ b/Makefile.in
> +@@ -4358,7 +4358,7 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS =  \
> + 	monodll_msw_utils.o \
> + 	monodll_utilsexc.o \
> + 	monodll_fswatcher.o \
> +-	monodll_msw_secretstore.o
> ++	monodll_msw_secretstore.o \
> + 	monodll_msw_uilocale.o
> + @COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS)
> + @COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS \
> +@@ -5284,7 +5284,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS =  \
> + 	monodll_uuid.o \
> + 	monodll_msw_evtloop.o \
> + 	monodll_access.o \
> +-	monodll_dark_mode.o
> ++	monodll_dark_mode.o \
> + 	monodll_msw_bmpbndl.o
> + @COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS)
> + @COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS = \
> +@@ -6196,7 +6196,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_1 =  \
> + 	monodll_uuid.o \
> + 	monodll_msw_evtloop.o \
> + 	monodll_access.o \
> +-	monodll_dark_mode.o
> ++	monodll_dark_mode.o \
> + 	monodll_msw_bmpbndl.o
> + @COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_1 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_1)
> + @COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_1 = \
> +@@ -6371,7 +6371,7 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_1 =  \
> + 	monolib_msw_utils.o \
> + 	monolib_utilsexc.o \
> + 	monolib_fswatcher.o \
> +-	monolib_msw_secretstore.o
> ++	monolib_msw_secretstore.o \
> + 	monolib_msw_uilocale.o
> + @COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS_1 = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_1)
> + @COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_1 \
> +@@ -7297,7 +7297,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_2 =  \
> + 	monolib_uuid.o \
> + 	monolib_msw_evtloop.o \
> + 	monolib_access.o \
> +-	monolib_dark_mode.o
> ++	monolib_dark_mode.o \
> + 	monolib_msw_bmpbndl.o
> + @COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_2 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_2)
> + @COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_2 = \
> +@@ -8209,7 +8209,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_3 =  \
> + 	monolib_uuid.o \
> + 	monolib_msw_evtloop.o \
> + 	monolib_access.o \
> +-	monolib_dark_mode.o
> ++	monolib_dark_mode.o \
> + 	monolib_msw_bmpbndl.o
> + @COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_3 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_3)
> + @COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_3 = \
> +@@ -8436,7 +8436,7 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_2 =  \
> + 	basedll_msw_utils.o \
> + 	basedll_utilsexc.o \
> + 	basedll_fswatcher.o \
> +-	basedll_msw_secretstore.o
> ++	basedll_msw_secretstore.o \
> + 	basedll_msw_uilocale.o
> + @COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS_2 = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_2)
> + @COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_2 \
> +@@ -8523,7 +8523,7 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_3 =  \
> + 	baselib_msw_utils.o \
> + 	baselib_utilsexc.o \
> + 	baselib_fswatcher.o \
> +-	baselib_msw_secretstore.o
> ++	baselib_msw_secretstore.o \
> + 	baselib_msw_uilocale.o
> + @COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS_3 = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_3)
> + @COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_3 \
> +@@ -9464,7 +9464,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_4 =  \
> + 	coredll_uuid.o \
> + 	coredll_msw_evtloop.o \
> + 	coredll_access.o \
> +-	coredll_dark_mode.o
> ++	coredll_dark_mode.o \
> + 	coredll_msw_bmpbndl.o
> + @COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_4 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_4)
> + @COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_4 = \
> +@@ -10376,7 +10376,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_5 =  \
> + 	coredll_uuid.o \
> + 	coredll_msw_evtloop.o \
> + 	coredll_access.o \
> +-	coredll_dark_mode.o
> ++	coredll_dark_mode.o \
> + 	coredll_msw_bmpbndl.o
> + @COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_5 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_5)
> + @COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_5 = \
> +@@ -11204,7 +11204,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_6 =  \
> + 	corelib_uuid.o \
> + 	corelib_msw_evtloop.o \
> + 	corelib_access.o \
> +-	corelib_dark_mode.o
> ++	corelib_dark_mode.o \
> + 	corelib_msw_bmpbndl.o
> + @COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_6 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_6)
> + @COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_6 = \
> +@@ -12116,7 +12116,7 @@ COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_7 =  \
> + 	corelib_uuid.o \
> + 	corelib_msw_evtloop.o \
> + 	corelib_access.o \
> +-	corelib_dark_mode.o
> ++	corelib_dark_mode.o \
> + 	corelib_msw_bmpbndl.o
> + @COND_TOOLKIT_MSW@__LOWLEVEL_SRC_OBJECTS_7 = $(COND_TOOLKIT_MSW___LOWLEVEL_SRC_OBJECTS_7)
> + @COND_TOOLKIT_OSX_COCOA@__LOWLEVEL_SRC_OBJECTS_7 = \
> diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm
> index 973e962fb1..2cf2ceba56 100644
> --- a/gnu/packages/wxwidgets.scm
> +++ b/gnu/packages/wxwidgets.scm
> @@ -265,6 +265,35 @@ (define-public wxwidgets-2
>                 (("-Wall") "-Wall -Wno-narrowing"))
>               #t)))))))
>  
> +(define-public prusa-wxwidgets

I think the convention is to use a variable name like
'wxwidgets-for-prusa'.

> +  ;; There is no tag/release, all patches are in separate branch.

What does "all patches are in separate branch" mean?

> +  (let ((commit "78aa2dc0ea7ce99dc19adc1140f74c3e2e3f3a26"))
> +    (package
> +      (inherit wxwidgets)
> +      (name "prusa-wxwidgets")
> +      (version "3.2.0")
> +      (home-page "https://github.com/prusa3d/wxWidgets")
> +      (source
> +       (origin
> +         (inherit (package-source wxwidgets))
> +         (method git-fetch)
> +         (uri (git-reference
> +               (url home-page)
> +               (commit commit)))
> +         (file-name (git-file-name name version))
> +         (patches (search-patches "prusa-wxwidgets-makefile-fix.patch"))
> +         (sha256
> +          (base32
> +           "02nd07c23xbclnf1jjfbv6r5vqjb80gsdy2l559c5qzgdcvfd2xd"))))
> +      (arguments
> +       (substitute-keyword-arguments (package-arguments wxwidgets)
> +         ((#:configure-flags flags)
> +          ;; To fix 3D rendering in PrusaSlicer, wxWidgets must be compiled with
> +          ;; "--disable-glcanvasegl" flag.
> +          ;;
> +          ;; See <https://github.com/NixOS/nixpkgs/issues/193135>
> +          #~(cons "--disable-glcanvasegl" #$flags)))))))

Otherwise LGTM.

-- 
Thanks,
Maxim




  reply	other threads:[~2024-07-10  2:37 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <cover.1719853592.git.poptsov.artyom@gmail.com>
2024-07-01 17:07 ` [bug#70880] [PATCH v2 1/8] gnu: cgal: Update to 5.6.1 Artyom V. Poptsov
2024-07-01 17:07 ` [bug#70880] [PATCH v2 2/8] gnu: glfw: Update to 3.3.10 Artyom V. Poptsov
2024-07-01 17:07 ` [bug#70880] [PATCH v2 3/8] gnu: glfw-3.4: New variable Artyom V. Poptsov
2024-07-10  2:11   ` Maxim Cournoyer
2024-07-01 17:07 ` [bug#70880] [PATCH v2 4/8] gnu: libigl: Update to 2.4.0 Artyom V. Poptsov
2024-07-10  2:20   ` Maxim Cournoyer
2024-07-13  9:30     ` Artyom V. Poptsov
2024-07-01 17:07 ` [bug#70880] [PATCH v2 5/8] gnu: Add heatshrink Artyom V. Poptsov
2024-07-10  2:24   ` Maxim Cournoyer
2024-07-13  9:35     ` Artyom V. Poptsov
2024-07-01 17:07 ` [bug#70880] [PATCH v2 6/8] gnu: Add prusa-libbgcode Artyom V. Poptsov
2024-07-10  2:30   ` Maxim Cournoyer
2024-07-13  9:41     ` Artyom V. Poptsov
2024-07-01 17:07 ` [bug#70880] [PATCH v2 7/8] gnu: Add prusa-wxwidgets Artyom V. Poptsov
2024-07-10  2:35   ` Maxim Cournoyer [this message]
2024-07-01 17:07 ` [bug#70880] [PATCH v2 8/8] gnu: prusa-slicer: Update to 2.7.4 Artyom V. Poptsov
2024-07-10  2:42   ` Maxim Cournoyer
2024-07-13 13:05     ` Artyom V. Poptsov
2024-07-18 19:44       ` Artyom V. Poptsov
2024-07-29  4:08         ` Artyom V. Poptsov
2024-08-07 18:45           ` Artyom V. Poptsov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87sewiug7j.fsf@gmail.com \
    --to=maxim.cournoyer@gmail.com \
    --cc=70880@debbugs.gnu.org \
    --cc=nikita@domnitskii.me \
    --cc=poptsov.artyom@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).