guix-devel
[Top][All Lists]
Advanced

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

Re: wip-rox.scm : ROX Desktop


From: Jean Louis
Subject: Re: wip-rox.scm : ROX Desktop
Date: Sun, 13 Mar 2016 20:26:21 +0100

Hello Danny,

This is great, and I hope it will be included in GuixSD.

Combination of ROX filer and file manager, can make very nice system,
without too big graphical environments.

On Tue, Mar 08, 2016 at 09:04:43AM +0100, Danny Milosavljevic wrote:
> Hello Louis,
> 
> well, writing the package declaration is easy - if you have the time, it 
> would be nice.
> 
> But I understand that you have to get guix working for you first.
> 
> I have a work-in-progress for the ROX Desktop (the ROX-Filer and ROX-Session 
> parts work), see below; you can use it as a starting point.
> 
> ROX Filer has many forks and some of them are very different from what is on 
> the main site.
> 
> I still used the original fork for now. 
> 
> To use it, with your normal user account do:
> $ git clone git://git.sv.gnu.org/guix.git
> $ cd guix
> $ ./bootstrap
> $ ./configure --localstatedir=/var
> $ # put contents below into gnu/packages/wip-rox.scm
> $ make
> $ make check
> $ ./pre-inst-env guix package -i rox-filer
> $ # from now on, always use guix via ./pre-inst-env guix
> 
> Or wait until someone else did it and brought it all the way into an official 
> guix release.
> 
> ;;; GNU Guix --- Functional package management for GNU
> ;;; Copyright © 2014, 2015 Sou Bunnbu <address@hidden>
> ;;; Copyright © 2014, 2015 Mark H Weaver <address@hidden>
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> ;;; GNU Guix is free software; you can redistribute it and/or modify it
> ;;; under the terms of the GNU General Public License as published by
> ;;; the Free Software Foundation; either version 3 of the License, or (at
> ;;; your option) any later version.
> ;;;
> ;;; GNU Guix is distributed in the hope that it will be useful, but
> ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
> ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> ;;; GNU General Public License for more details.
> ;;;
> ;;; You should have received a copy of the GNU General Public License
> ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
> 
> (define-module (gnu packages rox)
>   #:use-module ((guix licenses) #:hide (freetype))
>   #:use-module (guix packages)
>   #:use-module (guix download)
>   #:use-module (guix utils)
>   #:use-module (guix build-system gnu)
>   #:use-module (guix build-system glib-or-gtk)
>   #:use-module (gnu packages)
>   #:use-module (gnu packages pkg-config)
>   #:use-module (gnu packages glib)
>   #:use-module (gnu packages gtk)
>   #:use-module (gnu packages xorg)
>   #:use-module (gnu packages xdisorg)
>   #:use-module (gnu packages web)
>   #:use-module (gnu packages fontutils)
>   #:use-module (gnu packages image)
>   #:use-module (gnu packages gnome)
>   #:use-module (gnu packages xml)
>   #:use-module (gnu packages pdf)
>   #:use-module (gnu packages gettext)
>   #:use-module (gnu packages polkit)
>   #:use-module (gnu packages gstreamer)
>   #:use-module (gnu packages linux)
>   #:use-module (gnu packages photo)
>   #:use-module (gnu packages pcre)
>   #:use-module (gnu packages pulseaudio))
> 
> ; FIXME add rox-clib
> 
> (define-public rox-lib
>   (package
>     (name "rox-lib")
>     (version "2.0.6")
>     (source (origin
>               (method url-fetch)
>               (uri (string-append "mirror://sourceforge/rox/rox-lib2-"
>                                   (version-major+minor version)
>                                   ".tar.bz2"))
>               (sha256
>                (base32 ; FIXME
>                 "07c8r3xwx5is298zk77m3r784gmr5y4mh8bbca5zdjqk5vxdwsw7"))))
>     (build-system gnu-build-system)
>     (native-inputs
>      `(("pkg-config" ,pkg-config)
>        ("intltool" ,intltool))) ; FIXME
>     (propagated-inputs `(("glib" ,glib))) ; required by *.pc ; FIXME
>     (home-page "http://rox.sourceforge.net/desktop/";)
>     (synopsis "Basic utility library for ROX")
>     (description "A general-purpose utility library for ROX")
>     (license lgpl2.0+))) ; FIXME
> 
> (define-public rox-session
>   (package
>     (name "rox-session")
>     (version "0.40.0")
>     (source (origin
>               (method url-fetch)
>               (uri (string-append "mirror://sourceforge/rox/rox-session-"
>                                   version
>                                   ".tar.gz"))
>               (sha256
>                (base32
>                 "15jf4nl51mh3pc45r0hlz24rn3hz6c3qqli40w9bm1bd4a00z0cn"))))
>     (build-system gnu-build-system)
>     (arguments
>      '(#:out-of-source? #t
>        #:configure-flags (list (string-append "--with-xsession-prefix=" 
> %output))
>        #:tests? #f
>        #:phases (alist-cons-before
>                  'configure 'pre-configure
>                  (lambda _
>                    (chdir "src"))
>                  (alist-replace
>                   'install
>                   (lambda* (#:key outputs #:allow-other-keys)
>                    ;(zero? (system* "pwd"))) ; FIXME
>                    (let* ((out (assoc-ref outputs "out"))
>                           (bin (string-append out "/bin")))
>                       (and
>                         (zero? (system* "mkdir" out))
>                         (zero? (system* "mkdir" bin))
>                         (zero? (system* "cp" "--" "../src/../ROX-Session" 
> bin))) ; FIXME
>                       ))
>                   %standard-phases))))
>     (native-inputs ; FIXME
>      `(("pkg-config" ,pkg-config)
>        ("intltool" ,intltool)))
>     (inputs ; FIXME check
>      `(;("iceauth" ,iceauth)
>        ;("upower" ,upower)
>        ;("polkit" ,polkit)
>        ;("libsm" ,libsm)
>        ;("libwnck" ,libwnck-1)
>        ("libxtst" ,libxtst)
>        ("libxxf86vm" ,libxxf86vm)
>        ("dbus-glib" ,dbus-glib)
>        ("dbus" ,dbus)
>        ("libxml2"       ,libxml2) ; 2.0.0
>        ("gtk2"     ,gtk+-2))) ; 2.12.0
>     (home-page "http://rox.sourceforge.net/desktop/";)
>     (synopsis "ROX session manager")
>     (description
>      "Session manager for ROX. It will restore your session on startup.")
>     (license gpl2+))) ; FIXME
> 
> ; FIXME
> (define-public rox-settings
>   (package
>     (name "rox-settings")
>     (version "4.12.0")
>     (source (origin
>               (method url-fetch)
>               (uri (string-append "mirror://sourceforge/rox/rox-settings-"
>                                   (version-major+minor version)
>                                   ".tar.bz2"))
>               (sha256
>                (base32
>                 "108za1cmjslwzkdl76x9kwxkq8z734kg9nz8rxk057f10pqwxgh4"))
> ))
>     (build-system gnu-build-system)
>     (native-inputs
>      `(("pkg-config" ,pkg-config)
>        ("intltool" ,intltool)))
>     (inputs ; FIXME
>      `(
>        ("libnotify" ,libnotify)
>        ("libxcursor", libxcursor)
>        ("libxi" ,libxi)
>        ("libxklavier" ,libxklavier)
>        ("libxrandr" ,libxrandr)
>        ("upower" ,upower)
>        ("xf86-input-libinput" ,xf86-input-libinput)))
>     (home-page "http://rox.sourceforge.net/desktop/";)
>     (synopsis "ROX settings manager")
>     (description "Settings manager for ROX")
>     (license gpl2+))) ; FIXME
> 
> ; see also https://mail-index.netbsd.org/pkgsrc-bugs/2016/02/07/msg058783.html
> ; see also https://github.com/dtomas/rox-filer/commits/master
> (define-public rox-filer 
>   (package
>     (name "rox-filer")
>     (version "2.11")
>     (source (origin
>               (method url-fetch)
>               (uri (string-append "mirror://sourceforge/rox/rox-filer-"
>                                   version ".tar.bz2"))
>               (sha256
>                (base32
>                 "1a0v21y3srmz0ikg62df6hpc94j5axs1b5wbshp7mvqqxqrbsad9"))))
>     (build-system gnu-build-system)
>     (arguments
>      '(#:out-of-source? #t
>        #:configure-flags '("LDFLAGS=-ldl -lm")
>        #:tests? #f
>        #:phases (alist-cons-before
>                  'configure 'pre-configure
>                  (lambda _
>                    (chdir "ROX-Filer/src"))
>                  (alist-replace
>                   'install
>                   (lambda* (#:key outputs #:allow-other-keys)
>                    ;(zero? (system* "pwd"))) ; FIXME
>                    (let* ((out (assoc-ref outputs "out"))
>                           (bin (string-append out "/bin")))
>                       (and
>                         (zero? (system* "mkdir" out))
>                         (zero? (system* "mkdir" bin))
>                         (zero? (system* "cp" "--" "../src/../ROX-Filer" 
> bin))) ; FIXME
>                       ))
>                   %standard-phases))))
>     (native-inputs ; FIXME
>      `(("pkg-config" ,pkg-config)
>        ;("coreutils" ,coreutils)
>        ("intltool" ,intltool)
>        ("gettext" ,gnu-gettext)))  ; FIXME is gettext implicit?
>     (inputs
>      `(("libsm" ,libsm)
>        ("shared-mime-info"     ,shared-mime-info)  ; 0.14
>        ("libxml2"       ,libxml2) ; 2.0.0
>        ("gtk2"     ,gtk+-2))) ; 2.12.0
>     (home-page "http://rox.sourceforge.net/desktop/";)
>     (synopsis "ROX file manager")
>     (description "A modern file manager for ROX graphical desktop")
>     (license gpl2+)))
> 
> (define-public rox
>   (package
>     (name "rox")
>     (version (package-version rox-session))
>     (source #f)
>     (build-system glib-or-gtk-build-system)
>     (arguments
>      '(#:modules ((guix build gnu-build-system)
>                   (guix build glib-or-gtk-build-system)
>                   (guix build utils)
>                   (srfi srfi-26)) ))
>     (propagated-inputs
>      `(("rox-lib"              ,rox-lib) ; TODO remove
>        ("gnome-icon-theme"     ,gnome-icon-theme) ; TODO remove ?
>        ("hicolor-icon-theme"   ,hicolor-icon-theme)
>        ("shared-mime-info"     ,shared-mime-info)  ; TODO remove explicit 
> mention?
>        ("rox-filer"            ,rox-filer)
>        ("rox-session"          ,rox-session)
>        ("rox-settings"         ,rox-settings)
>        ))
>     (home-page "http://rox.sourceforge.net/desktop/";)
>     (synopsis "Desktop environment (meta-package)")
>     (description "ROX is a RISC OS-like desktop environment.")
>     (license gpl2+))) ; FIXME collect more licenses



reply via email to

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