[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
wip-rox.scm : ROX Desktop
From: |
Danny Milosavljevic |
Subject: |
wip-rox.scm : ROX Desktop |
Date: |
Tue, 8 Mar 2016 09:04:43 +0100 |
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