unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Arun Isaac <arunisaac@systemreboot.net>
To: 40627@debbugs.gnu.org
Cc: Arun Isaac <arunisaac@systemreboot.net>
Subject: [bug#40627] [PATCH] gnu: Add gtksheet.
Date: Tue, 14 Apr 2020 21:15:35 +0530	[thread overview]
Message-ID: <20200414154535.25800-1-arunisaac@systemreboot.net> (raw)

* gnu/packages/gtk.scm (gtksheet): New variable.
---
 gnu/packages/gtk.scm | 78 +++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 77 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 4882a95eb8..8dd4901a98 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -18,7 +18,7 @@
 ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
-;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2018, 2020 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net>
 ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
@@ -1967,3 +1967,79 @@ popovers.")
 library for drawing.")
     (home-page "https://wiki.gnome.org/GooCanvas")
     (license license:lgpl2.0)))
+
+(define-public gtksheet
+  (package
+    (name "gtksheet")
+    (version "4.3.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/fpaquet/gtksheet")
+             (commit (string-append "V" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1sa9q7w7q7620id1l9ci5favmcrm4y5yr99pbran4hd0sjka62gh"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags (list "--enable-glade"
+                               "--enable-introspection")
+       #:phases
+       (modify-phases %standard-phases
+         ;; The "configure" script is present, but otherwise the project is
+         ;; not bootstrapped properly. Delete configure so the bootstrap phase
+         ;; will take over.
+         (add-after 'unpack 'delete-configure
+           (lambda _
+             (delete-file "configure")
+             #t))
+         ;; Fix glade install directories.
+         (add-before 'bootstrap 'configure-glade-directories
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("`\\$PKG_CONFIG --variable=catalogdir gladeui-2.0`")
+                (string-append (assoc-ref outputs "out") "/share/glade/catalogs"))
+               (("`\\$PKG_CONFIG --variable=moduledir gladeui-2.0`")
+                (string-append (assoc-ref outputs "out") "/lib/glade/modules"))
+               (("`\\$PKG_CONFIG --variable=pixmapdir gladeui-2.0`")
+                (string-append (assoc-ref outputs "out") "/share/pixmaps")))
+             #t))
+         ;; Fix incorrect typelib version. This is a known upstream bug. See
+         ;; https://github.com/fpaquet/gtksheet/issues/23
+         (add-after 'install 'fix-typelib-version
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((girepository (string-append (assoc-ref outputs "out")
+                                                "/lib/girepository-1.0")))
+               (rename-file (string-append girepository "/GtkSheet-4.0.typelib")
+                            (string-append girepository "/GtkSheet-4.3.2.typelib")))
+             #t)))))
+    (inputs
+     `(("glade" ,glade3)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("libxml2" ,libxml2)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("gobject-introspection" ,gobject-introspection)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (home-page "https://fpaquet.github.io/gtksheet/")
+    (synopsis "Spreadsheet widget for GTK+")
+    (description "GtkSheet is a matrix widget for GTK+.  It consists of an
+scrollable grid of cells where you can allocate text.  Cell contents can be
+edited interactively through a specially designed entry, GtkItemEntry.  It is
+also a container subclass, allowing you to display buttons, images and any
+other widget in it.  You can also set many attributes such as border,
+foreground and background colors, text justification and more.")
+    (native-search-paths
+     (list
+      (search-path-specification
+       (variable "GLADE_CATALOG_SEARCH_PATH")
+       (files '("share/glade/catalogs")))
+      (search-path-specification
+       (variable "GLADE_MODULE_SEARCH_PATH")
+       (files '("lib/glade/modules")))))
+    (license license:lgpl2.0+)))
-- 
2.26.0

             reply	other threads:[~2020-04-14 16:25 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-14 15:45 Arun Isaac [this message]
     [not found] ` <handler.40627.B.15868814953966.ack@debbugs.gnu.org>
2020-05-09 16:41   ` bug#40627: Acknowledgement ([PATCH] gnu: Add gtksheet.) Arun Isaac

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200414154535.25800-1-arunisaac@systemreboot.net \
    --to=arunisaac@systemreboot.net \
    --cc=40627@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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