unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#59160: Fritzing parts are missing
@ 2022-11-10  1:06 Gabriel Wicki
       [not found] ` <handler.59160.B.1668042432436.ack@debbugs.gnu.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Gabriel Wicki @ 2022-11-10  1:06 UTC (permalink / raw)
  To: 59160

I've come to notice that Fritzing currently does not work in Guix.  The
program starts but greets the user with a bunch of warnings/error
pop-ups.  One being about "142 parts" missing or not being found and
indeed: the parts pane remains empty and Fritzing therefor unusable.




^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#59160: Acknowledgement (Fritzing parts are missing)
       [not found] ` <handler.59160.B.1668042432436.ack@debbugs.gnu.org>
@ 2022-11-10  1:27   ` Gabriel Wicki
  2022-11-20 14:21     ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
  0 siblings, 1 reply; 3+ messages in thread
From: Gabriel Wicki @ 2022-11-10  1:27 UTC (permalink / raw)
  To: 59160

I've come up with the following patch.  It is not optimal (there's still
some warnings and it makes use of an ugly hack to get rid of a certain
"Unable to find parts git repository" message) but with that patch
Fritzing is in a usable state.



From e713d634d8358d1a24219634fa7e8ed3b5c5dff4 Mon Sep 17 00:00:00 2001
From: Gabriel Wicki <gabriel@erlikon.ch>
Date: Thu, 10 Nov 2022 01:53:41 +0100
Subject: [PATCH] * gnu/packages/engineering.scm (fritzing): Update to 0.9.6.

[source]: Update hash.
[arguments]: Update libgit2 hacks.
---
 gnu/packages/engineering.scm | 34 ++++++++++++++--------------------
 1 file changed, 14 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index b6a881d03b..dd12029b3f 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -669,7 +669,7 @@ (define-public fasthenry
 (define-public fritzing
   (package
     (name "fritzing")
-    (version "0.9.3b")
+    (version "0.9.6")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -678,7 +678,7 @@ (define-public fritzing
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0hpyc550xfhr6gmnc85nq60w00rm0ljm0y744dp0z88ikl04f4s3"))))
+                "083nz7vj7a334575smjry6257535h68gglh8a381xxa36dw96aqs"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
@@ -687,24 +687,18 @@ (define-public fritzing
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (copy-recursively (assoc-ref inputs "fritzing-parts-db")
                                "parts")
-             ;; Make compatible with libgit2 > 0.24
-             (substitute* "src/version/partschecker.cpp"
-               (("error = git_remote_connect\\(remote, GIT_DIRECTION_FETCH, &callbacks\\)")
-                "error = git_remote_connect(remote, GIT_DIRECTION_FETCH, &callbacks, NULL, NULL)"))
-
              ;; Use system libgit2 and boost.
              (substitute* "phoenix.pro"
-               (("^LIBGIT2INCLUDE =.*")
-                (string-append "LIBGIT2INCLUDE="
-                               (assoc-ref inputs "libgit2") "/include\n"))
-               (("^    LIBGIT2LIB =.*")
-                (string-append "    LIBGIT2LIB="
-                               (assoc-ref inputs "libgit2") "/lib\n")))
-             ;; This file checks for old versions of Boost, insisting on
-             ;; having us download the boost sources and placing them in the
-             ;; build directory.
-             (substitute* "pri/utils.pri"
-               (("error\\(") "message("))
+               (("^LIBGIT_STATIC.*")
+                (string-append "LIBGIT2INCLUDE=" (assoc-ref inputs "libgit2") "/include\n"
+                               "LIBGIT2LIB=" (assoc-ref inputs "libgit2") "/lib\n"
+                               "INCLUDEPATH += $$LIBGIT2INCLUDE\n"
+                               "LIBS += -L$$LIBGIT2LIB -lgit2\n"))
+               (("^.*pri/libgit2detect.pri.") ""))
+             ;; Trick the internal mechanism to load the parts
+             (substitute* "src/version/partschecker.cpp"
+               ((".*git_libgit2_init.*")
+                "return \"083nz7vj7a334575smjry6257535h68gglh8a381xxa36dw96aqs\";"))
 
              (let ((out (assoc-ref outputs "out")))
                (invoke "qmake"
@@ -723,11 +717,11 @@ (define-public fritzing
            (method git-fetch)
            (uri (git-reference
                  (url "https://github.com/fritzing/fritzing-parts")
-                 (commit version)))
+                 (commit (string-append "release_" version))))
            (file-name (git-file-name "fritzing-parts" version))
            (sha256
             (base32
-             "1d2v8k7p176j0lczx4vx9n9gbg3vw09n2c4b6w0wj5wqmifywhc1"))))))
+             "0wsvn57v6n0ygnhk2my94rrfzb962z1cj4d1xmp1farwck3811h6"))))))
     (home-page "https://fritzing.org")
     (synopsis "Electronic circuit design")
     (description
-- 
2.37.3





^ permalink raw reply related	[flat|nested] 3+ messages in thread

* bug#59160: Acknowledgement (Fritzing parts are missing)
  2022-11-10  1:27   ` bug#59160: Acknowledgement (Fritzing parts are missing) Gabriel Wicki
@ 2022-11-20 14:21     ` Tobias Geerinckx-Rice via Bug reports for GNU Guix
  0 siblings, 0 replies; 3+ messages in thread
From: Tobias Geerinckx-Rice via Bug reports for GNU Guix @ 2022-11-20 14:21 UTC (permalink / raw)
  To: Gabriel Wicki; +Cc: 59160

[-- Attachment #1: Type: text/plain, Size: 811 bytes --]

Gabriel,

Thanks for the patch!

Gabriel Wicki 写道:
> I've come up with the following patch.  It is not optimal 
> (there's still
> some warnings and it makes use of an ugly hack to get rid of a 
> certain
> "Unable to find parts git repository" message) but with that 
> patch
> Fritzing is in a usable state.

[…]

> +             (substitute* "src/version/partschecker.cpp"
> +               ((".*git_libgit2_init.*")
> +                "return 
> \"083nz7vj7a334575smjry6257535h68gglh8a381xxa36dw96aqs\";"))

It doesn't really matter *what* this returns, right?  At least I 
can't find any observable difference.  And as noted on IRC, this 
‘base32’ format is unique to Guix and Nix.

Could you explain the mechanism behind this, er, mechanism?

Kind regards,

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-11-20 14:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-10  1:06 bug#59160: Fritzing parts are missing Gabriel Wicki
     [not found] ` <handler.59160.B.1668042432436.ack@debbugs.gnu.org>
2022-11-10  1:27   ` bug#59160: Acknowledgement (Fritzing parts are missing) Gabriel Wicki
2022-11-20 14:21     ` Tobias Geerinckx-Rice via Bug reports for GNU Guix

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).