unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* packaging problem
@ 2022-03-30 13:10 yann
  2022-03-31  7:51 ` Daniel Meißner
  0 siblings, 1 reply; 2+ messages in thread
From: yann @ 2022-03-30 13:10 UTC (permalink / raw)
  To: help-guix

Hello to all. I'm trying to install a gnome shell extension to have
icons on the desktop:
https://gitlab.com/rastersoft/desktop-icons-ng

So I tried to install it manually by copying the directory in
"~/.local/share/gnome-shell/extensions/ and renaming the directory with
the corresponding uid. The extension appears in my list but when I
activate it, nothing happens.

So I tried to see how the other extensions were packaged to do the same
with this one. So I got a skeleton and adapted it to this one (source
at the end). I get sha25 commit :
- git clone git@gitlab.com:rastersoft/desktop-icons-ng.git
- go in repo and "git checkout 43"
- guix hash -rx . and get
0n6lrsbvxnsw6nafn6lpw0kyaal0lnnzy995yygsb7xg2imhfch2

Then I tried to run it by putting myself in the directory and running:

guix shell -f gnome-shell-extension-desktop-icon-ng.scm

I get this error and I can't find what's wrong:

Backtrace:
          14 (primitive-load "/home/yann/.config/guix/current/bin/gu…")
In guix/ui.scm:
   2247:7 13 (run-guix . _)
  2210:10 12 (run-guix-command _ . _)
In ice-9/boot-9.scm:
  1752:10 11 (with-exception-handler _ _ #:unwind? _ # _)
  1752:10 10 (with-exception-handler _ _ #:unwind? _ # _)
In guix/store.scm:
   658:37  9 (thunk)
   1320:8  8 (call-with-build-handler #<procedure 7f5f4c32f210 at g…>
…)
In guix/status.scm:
    809:4  7 (call-with-status-report _ _)
In guix/scripts/environment.scm:
    317:4  6 (_)
In srfi/srfi-1.scm:
   673:15  5 (append-map _ _ . _)
   586:29  4 (map1 _)
   586:17  3 (map1 ((load ad-hoc-package "gnome-shell-extension…") …))
In guix/scripts/environment.scm:
    303:4  2 (packages->outputs _ _)
In ice-9/boot-9.scm:
  1685:16  1 (raise-exception _ #:continuable? _)
  1685:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
Throw to key `match-error' with args `("match" "no matching pattern"
#<unspecified>)'.




gnome-shell-extension-desktop-icon-ng.scm:

(define-module (my-module)
  #:use-module (guix build-system gnu)
  #:use-module (guix git-download)
  #:use-module (guix packages)
  #:use-module ((guix licenses) #:prefix license:))

(define-public gnome-shell-extension-desktop-icon-ng
  
    (package
      (name "gnome-shell-extension-desktop-icon-ng")
      (version "43")
      (source
       (origin
         (method git-fetch)
         (uri (git-reference
               (url
"https://gitlab.com/rastersoft/desktop-icons-ng.git")
               (commit version)))
         (sha256
          (base32
           "0n6lrsbvxnsw6nafn6lpw0kyaal0lnnzy995yygsb7xg2imhfch2"))
         (file-name (git-file-name name version))))
         
      (build-system gnu-build-system)
      (arguments
       '(#:tests? #f                ; no test target
         #:make-flags (list (string-append "EXTENSIONS_DIR="
                                           (assoc-ref %outputs "out")
                                           "/share/gnome-
shell/extensions"))
         #:phases
         (modify-phases %standard-phases
           (delete 'configure)      ; no configure script
           (replace 'install
             (lambda* (#:key outputs #:allow-other-keys)
               (let ((out (assoc-ref outputs "out"))
                     (pre "/share/gnome-shell/extensions/")
                     (dir "ding@rastersoft.com"))
                 (copy-recursively dir (string-append out pre dir))
                 #t))))))
      (native-inputs
       (list `(,glib "bin") intltool))
      (propagated-inputs
       (list glib))
      (synopsis "Desktop Icons NG for GNOME Shell. It is a fork/rewrite
of the official 'Desktop Icons' extension.")
      (description "Drag'n'Drop, both inside the desktop, between
desktop and applications, and nautilus windows. Allows to use 'Open
with...' option with several files. When hovering or clicking on an
icon with a name too large to fit, it shows the full name. Doesn't hang
the compositor when there is too much activity in the desktop folder
And much more...")
      (home-page
       "https://gitlab.com/rastersoft/desktop-icons-ng")
      (license
        (list license:gpl3))))


Thank you for your attention :)


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

* Re: packaging problem
  2022-03-30 13:10 packaging problem yann
@ 2022-03-31  7:51 ` Daniel Meißner
  0 siblings, 0 replies; 2+ messages in thread
From: Daniel Meißner @ 2022-03-31  7:51 UTC (permalink / raw)
  To: yann; +Cc: help-guix

Hi,

yann <yann@moeris.xyz> writes:

> Then I tried to run it by putting myself in the directory and running:
>
> guix shell -f gnome-shell-extension-desktop-icon-ng.scm

Looks like your file gnome-shell-extension-desktop-icon-ng.scm does not
return a package object.  You have to add
‘gnome-shell-extension-desktop-icon-ng’ at the end of the file because
the -f switch expects the file to evaluate to a package object.

Some more remarks: IIUC, since you define the module (my-module) in the
file, you can also name my my-module.scm.  Then you could do

guix shell -L /path/to/dir gnome-shell-extension-desktop-icon-ng

without the ‘-f’ switch where /path/to/dir is the path to the directory
where my-module.scm lives.  Then you don’t need to put
gnome-shell-extension-desktop-icon-ng at the end of the file.

You should consider using the newer gexp-style for the arguments field
and drop the #t at the end of the phases (no longer necessary), like so:

--8<---------------cut here---------------start------------->8---
(arguments (list #:tests? #f
                 #:make-flags
                 #~(list (string-append "EXTENSIONS_DIR="
                                        #$output
                                        "/share/gnome-shell/extensions"))
                 #:phases
                 #~(modify-phases %standard-phases
                     (delete 'configure)      ; no configure script
                     (replace 'install
                       (lambda _
                         (let ((pre "/share/gnome-shell/extensions/")
                               (dir "ding@rastersoft.com"))
                           (copy-recursively dir (string-append #$output pre dir))))))))
--8<---------------cut here---------------end--------------->8---

Best

--
Daniel


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

end of thread, other threads:[~2022-03-31  7:56 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-30 13:10 packaging problem yann
2022-03-31  7:51 ` Daniel Meißner

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