help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: creating a manifest


From: Martin Castillo
Subject: Re: creating a manifest
Date: Sat, 18 Mar 2023 13:44:08 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0

I noticed an error.


For that you need to instead create a new package definition for musescore version 3.6.2. The info page gives you an example, which you just adjust. Using guix edit musescore you see how musescore is defined. You can notice, there is a version field. So lets create a new package with adjusted version:

(define musescore-3.6.2
   (package
     (inherit musescore)
     (version "3.6.2")))

;; We create this manifest from a _package_, and not from a
;; _specification_ (which is just something like a string "musescore")
(packages->manifest (list musescore-3.6.2))


While building guix says it's downloading musescore-4.0.1. Maybe it switches to the respective branch before building.

I even tried explicitly writing the origin entry of
(define musescore-3.6.2
(package (inherit musescore)

    (version "3.6.2")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/musescore/MuseScore";)
             (commit (string-append "v" "3.6.2"))))
       (file-name (git-file-name "musescore" "3.6.2"))
       (sha256
        (base32 "0x2aahpbvss3sjydcq6xdh198fmslgypixmd2gckfwjqzady662y"))
       (modules '((guix build utils)))
       (snippet
        '(begin
           ;; Remove unused libraries...
           (for-each delete-file-recursively
                     '("thirdparty/freetype"))
           ;; ... and precompiled binaries.
           (delete-file-recursively "src/diagnostics/crashpad_handler")
           (substitute* "src/diagnostics/CMakeLists.txt"
             (("install") "#install"))))))))

guix shell -m manifest.scm still says 4.0.1 and executing mscore fails:
[env]$ mscore --version
QEventLoop: Cannot be used without QApplication
QEventLoop: Cannot be used without QApplication
qt.qpa.xcb: could not connect to display
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.

Abgebrochen

So seems like in this case it's not so easy. (Well the current guix packaged version is 4.0.1 so a major version change happened.)

One could try using the older package definition, which is available in the git history of guix. Commit 6a54715988aee884bbb5f81e1b718a27ff771ec4 is the newest change to musescore with 3.6.2. 9f93bcd1862c76d7ff30da6f712c9bd2912b8346 switched to 4.0. So it's parent commit should have the newest dependencies which might work with current guix. I don't have time right now, but you might want to copy such an older package definition into your manifest.scm

Martin




reply via email to

[Prev in Thread] Current Thread [Next in Thread]