unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* lumina desktop package
@ 2019-02-10  3:13 Yoshinori Arai
  2019-02-10 10:21 ` L p R n d n
  0 siblings, 1 reply; 5+ messages in thread
From: Yoshinori Arai @ 2019-02-10  3:13 UTC (permalink / raw)
  To: help-guix

Hello,

I'm making lumina-desktop package. I have succeeded to build the package but
failed to execute start-lumina-desktop in xinitrc after login with slim.

The log message is as follows,

Starting the Lumina desktop on current X11 session: ":0.0"
 - Resetting monitor configuration to last-used settings
 - Starting the session...
[Lumina] Checking User Files
 - Old Version: "1.4.0"
 - Current Version: "1.4.0"
 - Made Changes: false
Finished with user files check
Got Desktop Process Finished: 11
Finished Closing Down Lumina

I have installed fluxbox individually so I think it's not needed to include it
in propagated-inputs. However, I tried to include it into propagated-inputs but
I got same result.

Please tell me some idea to resolve it.

Package definition is as follows,

(define-module (lumina)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix utils)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages xorg)
  #:use-module (gnu packages qt)
  #:use-module (gnu packages pdf)  ;; poppler-qt5
  #:use-module (gnu packages wm)
  #:use-module (gnu packages xdisorg))

(define-public lumina-desktop
  (package
    (name "lumina-desktop")
    (version "1.4.0-p1")
    (source (origin
          (method url-fetch)
          (uri (string-append
                "https://github.com/lumina-desktop/lumina/archive/v"
                version ".tar.gz"))
          (sha256
           (base32
            "0bz7jjcvqylizgri3mpn6isq7lgv74d2373i9nrv3jxwni72y83b"))))
    (build-system gnu-build-system)
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'fix-all-project-file
           (lambda _
             (for-each (lambda (f)
                         (let ((out (assoc-ref %outputs "out")))
                           (substitute* f
                             (("\\$\\$\\{L_SHAREDIR\\}")
                              (string-append out "/share"))
                             (("\\$\\$\\{L_SESSDIR\\}")
                              (string-append out "/share/xsessions"))
                             (("\\$\\$\\{L_ETCDIR\\}")
                              (string-append out "/etc"))
                             (("\\$\\$\\{L_MANDIR\\}")
                              (string-append out "/share/man"))
                             (("\\$\\$\\{LRELEASE\\}") (which "lrelease")))))
                       (find-files "." ".*\\.pro"))))
         (add-after 'unpack 'fix-lumina-pdf-pro
           (lambda _
             (let ((pqt5 (assoc-ref %build-inputs "poppler-qt5")))
               (substitute* "src-qt5/desktop-utils/lumina-pdf/lumina-pdf.pro"
                 (("\\$\\$\\{L_INCLUDEDIR\\}")
                  (string-append pqt5 "/include"))))
             #t))
         (add-after 'unpack 'fix-lthemeengine-pri
           (lambda _
             (let ((out (assoc-ref %outputs "out")))
               (substitute* "src-qt5/core/lumina-theme-engine/lthemeengine.pri"
                 (("\\$\\$\\{DISTDIR\\}\\$\\$\\[QT_INSTALL_PLUGINS\\]")
                  (string-append out "/lib/qt5/plugins/styles"))))
             #t))
         (replace 'configure
           (lambda* (#:key outputs #:allow-other-keys)
             (let ((out (assoc-ref outputs "out")))
               (invoke "qmake" "CONFIG+=WITH_I18N"
                       (string-append "PREFIX=" out))))))))
    (native-inputs
     `(("pkg-config" ,pkg-config)
       ("qttools" ,qttools)))
    (inputs
     `(("qtbase" ,qtbase)
       ("qtx11extras" ,qtx11extras)
       ("qtmultimedia" ,qtmultimedia)
       ("qtsvg" ,qtsvg)
       ("poppler-qt5" ,poppler-qt5)
       ("libxcb" ,libxcb)
       ("xcb-util" ,xcb-util)
       ("xcb-util-image" ,xcb-util-image)
       ("xcb-util-wm" ,xcb-util-wm)
       ("libxdamage" ,libxdamage)
       ("libxcursor" ,libxcursor)))
    (propagated-inputs
     `(("fluxbox" ,fluxbox)
       ("xscreensaver" ,xscreensaver)))
    (home-page "https://www.lumina-desktop.org/")
    (synopsis "Lightweight Desktop Environment")
    (description "Lumina Desktop Environment is a lightweight system interface
that is designed for use on any Unix-like operating system.")
    (license license:bsd-3)))
lumina-desktop

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

* Re: lumina desktop package
  2019-02-10  3:13 lumina desktop package Yoshinori Arai
@ 2019-02-10 10:21 ` L p R n d n
  2019-02-11  0:20   ` Yoshinori Arai
  0 siblings, 1 reply; 5+ messages in thread
From: L p R n d n @ 2019-02-10 10:21 UTC (permalink / raw)
  To: help-guix

Hello,

Funny, I just wrote a package definition for Lumina yesterday too.
Mine is a rougher (just builds and starts) but I didn't have any troube
starting lumina. I didn't use xinitrc though. I just choosed lumina
session in slim so it might not be helpfull to you...
Here is the (arguments) part of what I wrote as it's probably where the
magic happens (Mostly a rewrite of NixOS definition). Hope it helps.
Maybe there's something hidden in the differences... 

 (arguments
     `(#:phases
       (modify-phases %standard-phases
         (replace 'configure
           (lambda* (#:key outputs #:allow-other-keys)
             (let ((out (assoc-ref outputs "out")))
               (invoke "qmake"
                       (string-append "PREFIX=" out)))
             #t))
         (add-after 'unpack 'fix-paths
           (lambda* (#:key outputs inputs #:allow-other-keys)
             ;; Find Poppler-qt5
             (substitute* "src-qt5/desktop-utils/lumina-pdf/mainUI.h"
               (("#include <poppler-qt5.h>") "#include <poppler/qt5/poppler-qt5.h>"))
             ;; Fix plugins directory
             (substitute* "src-qt5/core/lumina-theme-engine/lthemeengine.pri"
               (("\\$\\[QT_INSTALL_PLUGINS\\]") (string-append (assoc-ref outputs "out")
                                                               "/lib/qt5/plugins")))
             ;; Find Fluxbox styles
             (substitute* "src-qt5/core-utils/lumina-config/pages/page_fluxbox_settings.cpp"
               (("LOS::AppPrefix()+\"share/fluxbox") (string-append
                                                      (assoc-ref inputs "fluxbox")
                                                      "/share/fluxbox")))
             (substitute* "src-qt5/OS-detect.pri"
               (("L_SESSDIR=/usr/share/xsessions") ""))
             (substitute* "src-qt5/core/libLumina/LuminaOS-Linux.cpp"
               (("\"/usr/\"") "PREFIX"))
             #t))
         (add-before 'configure 'chdir
           (lambda _
             (chdir "src-qt5")
             #t)))))

Have a nice day,

Lprndn

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

* Re: lumina desktop package
  2019-02-10 10:21 ` L p R n d n
@ 2019-02-11  0:20   ` Yoshinori Arai
  2019-02-12 10:21     ` Efraim Flashner
  0 siblings, 1 reply; 5+ messages in thread
From: Yoshinori Arai @ 2019-02-11  0:20 UTC (permalink / raw)
  To: L p R n d n; +Cc: help-guix

On Sun, Feb 10, 2019 at 11:21:52AM +0100, L p R n d n wrote:
> Hello,
> 
> Funny, I just wrote a package definition for Lumina yesterday too.
> Mine is a rougher (just builds and starts) but I didn't have any troube
> starting lumina. I didn't use xinitrc though. I just choosed lumina
> session in slim so it might not be helpfull to you...
> Here is the (arguments) part of what I wrote as it's probably where the
> magic happens (Mostly a rewrite of NixOS definition). Hope it helps.
> Maybe there's something hidden in the differences... 
> 
>  (arguments
>      `(#:phases
>        (modify-phases %standard-phases
>          (replace 'configure
>            (lambda* (#:key outputs #:allow-other-keys)
>              (let ((out (assoc-ref outputs "out")))
>                (invoke "qmake"
>                        (string-append "PREFIX=" out)))
>              #t))
>          (add-after 'unpack 'fix-paths
>            (lambda* (#:key outputs inputs #:allow-other-keys)
>              ;; Find Poppler-qt5
>              (substitute* "src-qt5/desktop-utils/lumina-pdf/mainUI.h"
>                (("#include <poppler-qt5.h>") "#include <poppler/qt5/poppler-qt5.h>"))
>              ;; Fix plugins directory
>              (substitute* "src-qt5/core/lumina-theme-engine/lthemeengine.pri"
>                (("\\$\\[QT_INSTALL_PLUGINS\\]") (string-append (assoc-ref outputs "out")
>                                                                "/lib/qt5/plugins")))
>              ;; Find Fluxbox styles
>              (substitute* "src-qt5/core-utils/lumina-config/pages/page_fluxbox_settings.cpp"
>                (("LOS::AppPrefix()+\"share/fluxbox") (string-append
>                                                       (assoc-ref inputs "fluxbox")
>                                                       "/share/fluxbox")))
>              (substitute* "src-qt5/OS-detect.pri"
>                (("L_SESSDIR=/usr/share/xsessions") ""))
>              (substitute* "src-qt5/core/libLumina/LuminaOS-Linux.cpp"
>                (("\"/usr/\"") "PREFIX"))
>              #t))
>          (add-before 'configure 'chdir
>            (lambda _
>              (chdir "src-qt5")
>              #t)))))
> 
> Have a nice day,
> 
> Lprndn
> 

Hello,

Thank you for your suggestion.
I'm going to try to build lumina-desktop with using part of your code. I was
thinking how to debug lumina-desktop to find where is problem in c++ code.

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

* Re: lumina desktop package
  2019-02-11  0:20   ` Yoshinori Arai
@ 2019-02-12 10:21     ` Efraim Flashner
  2019-02-12 21:28       ` Yoshinori Arai
  0 siblings, 1 reply; 5+ messages in thread
From: Efraim Flashner @ 2019-02-12 10:21 UTC (permalink / raw)
  To: Yoshinori Arai; +Cc: help-guix, L p R n d n

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

On Mon, Feb 11, 2019 at 09:20:34AM +0900, Yoshinori Arai wrote:
> On Sun, Feb 10, 2019 at 11:21:52AM +0100, L p R n d n wrote:
> > Hello,
> > 
> > Funny, I just wrote a package definition for Lumina yesterday too.
> > Mine is a rougher (just builds and starts) but I didn't have any troube
> > starting lumina. I didn't use xinitrc though. I just choosed lumina
> > session in slim so it might not be helpfull to you...
> > Here is the (arguments) part of what I wrote as it's probably where the
> > magic happens (Mostly a rewrite of NixOS definition). Hope it helps.
> > Maybe there's something hidden in the differences... 
> > 
> >  (arguments
> >      `(#:phases
> >        (modify-phases %standard-phases
> >          (replace 'configure
> >            (lambda* (#:key outputs #:allow-other-keys)
> >              (let ((out (assoc-ref outputs "out")))
> >                (invoke "qmake"
> >                        (string-append "PREFIX=" out)))
> >              #t))
> >          (add-after 'unpack 'fix-paths
> >            (lambda* (#:key outputs inputs #:allow-other-keys)
> >              ;; Find Poppler-qt5
> >              (substitute* "src-qt5/desktop-utils/lumina-pdf/mainUI.h"
> >                (("#include <poppler-qt5.h>") "#include <poppler/qt5/poppler-qt5.h>"))
> >              ;; Fix plugins directory
> >              (substitute* "src-qt5/core/lumina-theme-engine/lthemeengine.pri"
> >                (("\\$\\[QT_INSTALL_PLUGINS\\]") (string-append (assoc-ref outputs "out")
> >                                                                "/lib/qt5/plugins")))
> >              ;; Find Fluxbox styles
> >              (substitute* "src-qt5/core-utils/lumina-config/pages/page_fluxbox_settings.cpp"
> >                (("LOS::AppPrefix()+\"share/fluxbox") (string-append
> >                                                       (assoc-ref inputs "fluxbox")
> >                                                       "/share/fluxbox")))
> >              (substitute* "src-qt5/OS-detect.pri"
> >                (("L_SESSDIR=/usr/share/xsessions") ""))
> >              (substitute* "src-qt5/core/libLumina/LuminaOS-Linux.cpp"
> >                (("\"/usr/\"") "PREFIX"))
> >              #t))
> >          (add-before 'configure 'chdir
> >            (lambda _
> >              (chdir "src-qt5")
> >              #t)))))
> > 
> > Have a nice day,
> > 
> > Lprndn
> > 
> 
> Hello,
> 
> Thank you for your suggestion.
> I'm going to try to build lumina-desktop with using part of your code. I was
> thinking how to debug lumina-desktop to find where is problem in c++ code.
> 

I haven't built it in a while but I have a copy of lumina which boots
correctly in a VM. I don't use it personally so I never cleaned up the
rough edges (PATH searching, etc) and submitted it.

https://gitlab.com/Efraim/my-guix/blob/master/wip/lumina.scm
and the patch mentioned in the file:
https://gitlab.com/Efraim/my-guix/blob/master/add-LuminaOS-GuixSD.patch

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

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

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

* Re: lumina desktop package
  2019-02-12 10:21     ` Efraim Flashner
@ 2019-02-12 21:28       ` Yoshinori Arai
  0 siblings, 0 replies; 5+ messages in thread
From: Yoshinori Arai @ 2019-02-12 21:28 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: help-guix, L p R n d n

On Tue, Feb 12, 2019 at 12:21:05PM +0200, Efraim Flashner wrote:
> On Mon, Feb 11, 2019 at 09:20:34AM +0900, Yoshinori Arai wrote:
> > On Sun, Feb 10, 2019 at 11:21:52AM +0100, L p R n d n wrote:
> > > Hello,
> > > 
> > > Funny, I just wrote a package definition for Lumina yesterday too.
> > > Mine is a rougher (just builds and starts) but I didn't have any troube
> > > starting lumina. I didn't use xinitrc though. I just choosed lumina
> > > session in slim so it might not be helpfull to you...
> > > Here is the (arguments) part of what I wrote as it's probably where the
> > > magic happens (Mostly a rewrite of NixOS definition). Hope it helps.
> > > Maybe there's something hidden in the differences... 
> > > 
> > >  (arguments
> > >      `(#:phases
> > >        (modify-phases %standard-phases
> > >          (replace 'configure
> > >            (lambda* (#:key outputs #:allow-other-keys)
> > >              (let ((out (assoc-ref outputs "out")))
> > >                (invoke "qmake"
> > >                        (string-append "PREFIX=" out)))
> > >              #t))
> > >          (add-after 'unpack 'fix-paths
> > >            (lambda* (#:key outputs inputs #:allow-other-keys)
> > >              ;; Find Poppler-qt5
> > >              (substitute* "src-qt5/desktop-utils/lumina-pdf/mainUI.h"
> > >                (("#include <poppler-qt5.h>") "#include <poppler/qt5/poppler-qt5.h>"))
> > >              ;; Fix plugins directory
> > >              (substitute* "src-qt5/core/lumina-theme-engine/lthemeengine.pri"
> > >                (("\\$\\[QT_INSTALL_PLUGINS\\]") (string-append (assoc-ref outputs "out")
> > >                                                                "/lib/qt5/plugins")))
> > >              ;; Find Fluxbox styles
> > >              (substitute* "src-qt5/core-utils/lumina-config/pages/page_fluxbox_settings.cpp"
> > >                (("LOS::AppPrefix()+\"share/fluxbox") (string-append
> > >                                                       (assoc-ref inputs "fluxbox")
> > >                                                       "/share/fluxbox")))
> > >              (substitute* "src-qt5/OS-detect.pri"
> > >                (("L_SESSDIR=/usr/share/xsessions") ""))
> > >              (substitute* "src-qt5/core/libLumina/LuminaOS-Linux.cpp"
> > >                (("\"/usr/\"") "PREFIX"))
> > >              #t))
> > >          (add-before 'configure 'chdir
> > >            (lambda _
> > >              (chdir "src-qt5")
> > >              #t)))))
> > > 
> > > Have a nice day,
> > > 
> > > Lprndn
> > > 
> > 
> > Hello,
> > 
> > Thank you for your suggestion.
> > I'm going to try to build lumina-desktop with using part of your code. I was
> > thinking how to debug lumina-desktop to find where is problem in c++ code.
> > 
> 
> I haven't built it in a while but I have a copy of lumina which boots
> correctly in a VM. I don't use it personally so I never cleaned up the
> rough edges (PATH searching, etc) and submitted it.
> 
> https://gitlab.com/Efraim/my-guix/blob/master/wip/lumina.scm
> and the patch mentioned in the file:
> https://gitlab.com/Efraim/my-guix/blob/master/add-LuminaOS-GuixSD.patch
> 
> -- 
> Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
> GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
> Confidentiality cannot be guaranteed on emails sent or received unencrypted

Thank you. I will try it.

I have tried Lprndn's code but I got same result.

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

end of thread, other threads:[~2019-02-12 21:42 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-10  3:13 lumina desktop package Yoshinori Arai
2019-02-10 10:21 ` L p R n d n
2019-02-11  0:20   ` Yoshinori Arai
2019-02-12 10:21     ` Efraim Flashner
2019-02-12 21:28       ` Yoshinori Arai

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