;;; Copyright © 2019 swedebugia <swedebugia@riseup.net>
;;; Copyright © 2019, 2020 Amar Singh <nly@disroot.org>
;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
-;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net>
+;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com>
;;;
;;; This file is part of GNU Guix.
library for GNU Guile based on the actor model.
Note that 8sync is only available for Guile 2.2.")
+ (properties '((upstream-name . "8sync")))
(license license:lgpl3+)))
(define-public guile-daemon
(define-public guile-newt
(package
(name "guile-newt")
- (version "0.0.1")
+ (version "0.0.2")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1w7qy4dw1f4bx622l6hw8mv49sf1ha8kch8j4nganyk8fj0wn695"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Allow builds with Guile 3.0.
- (substitute* "configure.ac"
- (("^GUILE_PKG.*")
- "GUILE_PKG([3.0 2.2 2.0])\n"))
-
- ;; Remove "guile.m4" since it contains an obsolete version
- ;; of 'GUILE_PKG' that doesn't work with development
- ;; versions such as 2.9.
- (delete-file "m4/guile.m4")
- #t))))
+ "1gksd1lzgjjh1p9vczghg8jw995d22hm34kbsiv8rcryirv2xy09"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags
(home-page "https://dthompson.us/projects/sly.html")
(license license:gpl3+)))
+(define-public g-golf
+ (let ((commit "4a4edf25e4877df9182c77843bdd98ab59e13ef7"))
+ (package
+ (name "g-golf")
+ (version (git-version "1" "683" commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.savannah.gnu.org/git/g-golf.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "09p0gf71wbmlm9kri693a8fvr9hl3hhlmlidyadwjdh7853xg0h8"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("texinfo" ,texinfo)
+ ("gettext" ,gettext-minimal)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("guile" ,guile-2.2)
+ ("guile-lib" ,guile-lib)
+ ("clutter" ,clutter)
+ ("gtk" ,gtk+)
+ ("glib" ,glib)))
+ (propagated-inputs
+ `(("gobject-introspection" ,gobject-introspection)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'tests-work-arounds
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; In build environment, There is no /dev/tty
+ (substitute*
+ "test-suite/tests/gobject.scm"
+ (("/dev/tty") "/dev/null"))))
+ (add-before 'configure 'substitute-libs
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((get (lambda (key lib)
+ (string-append (assoc-ref inputs key) "/lib/" lib)))
+ (libgi (get "gobject-introspection" "libgirepository-1.0"))
+ (libglib (get "glib" "libglib-2.0"))
+ (libgobject (get "glib" "libgobject-2.0"))
+ (libgdk (get "gtk" "libgdk-3")))
+ (substitute* "configure"
+ (("SITEDIR=\"\\$datadir/g-golf\"")
+ "SITEDIR=\"$datadir/guile/site/$GUILE_EFFECTIVE_VERSION\"")
+ (("SITECCACHEDIR=\"\\$libdir/g-golf/")
+ "SITECCACHEDIR=\"$libdir/"))
+ (substitute* "g-golf/init.scm"
+ (("libgirepository-1.0") libgi)
+ (("libglib-2.0") libglib)
+ (("libgdk-3") libgdk)
+ (("libgobject-2.0") libgobject)
+ (("\\(dynamic-link \"libg-golf\"\\)")
+ (format #f "~s"
+ `(dynamic-link
+ (format #f "~alibg-golf"
+ (if (getenv "GUILE_GGOLF_UNINSTALLED")
+ ""
+ ,(format #f "~a/lib/"
+ (assoc-ref outputs "out"))))))))
+ (setenv "GUILE_AUTO_COMPILE" "0")
+ (setenv "GUILE_GGOLF_UNINSTALLED" "1")
+ #t))))))
+ (home-page "https://www.gnu.org/software/g-golf/")
+ (synopsis "Guile bindings for GObject Introspection")
+ (description
+ "G-Golf (Gnome: (Guile Object Library for)) is a library for developing
+modern applications in Guile Scheme. It comprises a direct binding to the
+GObject Introspection API and higher-level functionality for importing Gnome
+libraries and making GObject classes (and methods) available in Guile's
+object-oriented programming system, GOOPS.")
+ (license license:lgpl3+))))
+
(define-public g-wrap
(package
(name "g-wrap")
("guile" ,guile-2.2)))
(native-inputs `(("pkg-config" ,pkg-config)))
(arguments
- '(#:configure-flags (list "--with-ncursesw" ; Unicode support
+ `(#:modules ((guix build gnu-build-system)
+ ((guix build guile-build-system)
+ #:select (target-guile-effective-version))
+ (guix build utils))
+ #:imported-modules ((guix build guile-build-system)
+ ,@%gnu-build-system-modules)
+ #:configure-flags (list "--with-ncursesw" ; Unicode support
"--with-gnu-filesystem-hierarchy")
#:phases
(modify-phases %standard-phases
(files (find-files dir ".scm")))
(substitute* files
(("\"libguile-ncurses\"")
- (format #f "\"~a/lib/guile/2.2/libguile-ncurses\""
- out)))
+ (format #f "\"~a/lib/guile/~a/libguile-ncurses\""
+ out (target-guile-effective-version))))
#t))))))
(home-page "https://www.gnu.org/software/guile-ncurses/")
(synopsis "Guile bindings to ncurses")
library.")
(license license:lgpl3+)))
+(define-public guile3.0-ncurses
+ (package
+ (inherit guile-ncurses)
+ (name "guile3.0-ncurses")
+ (version "3.0")
+ (inputs `(("ncurses" ,ncurses)
+ ("guile" ,guile-3.0)))))
+
(define-public guile-ncurses/gpm
(package
(inherit guile-ncurses)
(inputs `(("ncurses" ,ncurses/gpm)
("guile" ,guile-2.2)))))
+(define-public guile3.0-ncurses/gpm
+ (package
+ (inherit guile3.0-ncurses)
+ (name "guile3.0-ncurses-with-gpm")
+ (inputs `(("ncurses" ,ncurses/gpm)
+ ("guile" ,guile-3.0)))))
+
(define-public guile-lib
(package
(name "guile-lib")
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'fix-finding-guile
- (lambda _
- (substitute* "configure"
- (("2\\.0") "3.0 2.2 2.0"))
- #t))
(add-before 'check 'adjust-tests
(lambda _
(substitute* "tests/job-specifier.scm"
(license license:gpl3+))))
(define-public guile-xapian
- (let ((commit "ede26b808188eb4d14c6b4181c933dfc09c0a22e")
- (revision "0"))
- (package
- (name "guile-xapian")
- (version (git-version "0" revision commit))
- (home-page "https://git.systemreboot.net/guile-xapian")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference (url home-page)
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "07a9fmqi3pm6mbbpzi01mjwrqwnljs2rnc3603sq49dz4lf663gb"))))
- (build-system gnu-build-system)
- (arguments
- '(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ; to prevent guild warnings
- (inputs
- `(("guile" ,guile-2.2)
- ("xapian" ,xapian)
- ("zlib" ,zlib)))
- (native-inputs
- `(("autoconf" ,autoconf)
- ("autoconf-archive" ,autoconf-archive)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)
- ("swig" ,swig)))
- (synopsis "Guile bindings for Xapian")
- (description "@code{guile-xapian} provides Guile bindings for Xapian, a
+ (package
+ (name "guile-xapian")
+ (version "0.1.0")
+ (home-page "https://git.systemreboot.net/guile-xapian")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "16k61f1jn3g48jaf3730b9l0izr5j933jzyri73nmcnjd09gm35i"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ; to prevent guild warnings
+ (inputs
+ `(("guile" ,guile-2.2)
+ ("xapian" ,xapian)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("autoconf-archive" ,autoconf-archive)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)
+ ("swig" ,swig)))
+ (synopsis "Guile bindings for Xapian")
+ (description "@code{guile-xapian} provides Guile bindings for Xapian, a
search engine library. Xapian is a highly adaptable toolkit which allows
developers to easily add advanced indexing and search facilities to their own
applications. It has built-in support for several families of weighting
models and also supports a rich set of boolean query operators.")
- (license license:gpl2+))))
+ (license license:gpl2+)))
(define-public guile3.0-xapian
(package