unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* mypaint package
@ 2019-01-26  4:37 Yoshinori Arai
  2019-01-26 20:41 ` Maxim Cournoyer
  0 siblings, 1 reply; 2+ messages in thread
From: Yoshinori Arai @ 2019-01-26  4:37 UTC (permalink / raw)
  To: help-guix

Hello,

I have made mypaint git version package. I have some question about guix
package development.

During develop the package, add gobject-introspection for propagated-inputs
to resolve the python module import error, which is
gi.require_version('GdkPixBuf','2.0').

But this case can't resolve it. Then remove gobject-introspection
package from propagated-inputs. I add librsvg, gdk-pixbuf+svg, gtk+,
hicolor-icon-theme for propagated-inputs finally.

After package build is successfully finished, I installed the package to test
then found some error as like gobject-instrospection. Then I remove installed
package and edit package file and build, install...

Q1. Why is gobject-introspection in my profile? I have not install it
individualy.

Q2. A hicolor-icon-theme is already installed in my profile. Is it need for
propageted-inputs of mypaint-git package?

mypaint-git package definition is as follows,

(define-module (mypaint)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix utils)
  #:use-module (guix packages)
  #:use-module (guix git-download)
  #:use-module (guix build-system gnu)
  #:use-module (guix build-system python)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages autotools)
  #:use-module (gnu packages gettext)
  #:use-module (gnu packages glib)
  #:use-module (gnu packages swig)
  #:use-module (gnu packages gtk)
  #:use-module (gnu packages python)
  #:use-module (gnu packages python-xyz)
  #:use-module (gnu packages ghostscript)
  #:use-module (gnu packages gimp)
  #:use-module (gnu packages gnome)
  #:use-module (gnu packages web)
  #:use-module (gnu packages python))

(define-public libmypaint-git
  (let ((commit "0c07191409bd257084d4ea7576deb832aac8868b")
        (revision "1"))
    (package
      (name "libmypaint-git")
      (version (git-version "2.0.0" revision commit))
      (source (origin
                (method git-fetch)
                (uri (git-reference
                      (url "https://github.com/mypaint/libmypaint.git")
                      (commit commit)))
                (file-name (git-file-name name version))
                (sha256
                 (base32
                  "0x5yacdj4bfm298ijv64igv06yjr401g6giln5wrdpv0pixg8ig3"))))
      (build-system gnu-build-system)
      (native-inputs
       `(("intltool" ,intltool)
         ("libtool" ,libtool)
         ("automake" ,automake)
         ("autoconf" ,autoconf)
         ("python-2" ,python-2)  ;need to generate headers in autogen.sh
         ("pkg-config" ,pkg-config)))
      ;; As needed by 'libmypaint.pc'.
      (propagated-inputs
       `(("json-c" ,json-c)
         ("gobject-introspection" ,gobject-introspection)))
      (inputs
       `(("glib" ,glib)))
      (home-page "http://mypaint.org/")
      (synopsis "The brush library")
      (description "This library used by MyPaint. A number of other painting programs use it too")
      (license license:isc))))

(define-public mypaint-brushes-git
  (let ((commit "769ec941054725a195e77d8c55080344e2ab77e4")
        (revision "1"))
    (package
      (name "mypaint-brushes-git")
      (version (git-version "2.0.0" revision commit))
      (source (origin
                (method git-fetch)
                (uri (git-reference
                      (url "https://github.com/mypaint/mypaint-brushes.git")
                      (commit commit)))
                (file-name (git-file-name name version))
                (sha256
                 (base32
                  "0viilmad809qg12xw11p1yv0lwbgjfkcv82g2avwzdaa6wy783pf"))))
      (build-system gnu-build-system)
      (native-inputs
       `(("autoconf" ,autoconf)
         ("automake" ,automake)))
      (home-page "http://mypaint.org/")
      (synopsis "Brushes for MyPaint")
      (description "Brushes used by MyPaint and other software using libmypaint")
      (license license:cc0))))

(define-public mypaint-git
  (let ((commit "57685af8dbd65719d7874bc501094bade85d94e7")
        (revision "1"))
    (package
      (name "mypaint-git")
      (version (git-version "2.0.0" revision commit))
      (source (origin
                (method git-fetch)
                (uri (git-reference
                      (url "https://github.com/mypaint/mypaint.git")
                      (commit commit)))
                (file-name (git-file-name name version))
                (sha256
                 (base32
                  "14dmnwma8gsfd5hv3cvwkzyd3v392h4g1zp7i38295cf39yf61y6"))))
      (build-system python-build-system)
      (arguments
       `(#:python ,python-2
         #:phases
         (modify-phases %standard-phases
           (add-after 'unpack 'fix-for-buildconfig-and-test
             (lambda _
               (for-each make-file-writable (find-files "." ".*"))
               ;; FATAL: Cannot create cache dir '/homeless-shelter
               (setenv "HOME" "/tmp")))
           (replace 'install
             (lambda _
               (invoke "python" "setup.py" "managed_install"
                       (string-append "--prefix=" (assoc-ref %outputs "out"))))))))
      (native-inputs
       `(("pkg-config" ,pkg-config)
         ("lcms" ,lcms)
         ("libmypaint" ,libmypaint-git)
         ("mypaint-brushes" ,mypaint-brushes-git)))
      (inputs
       `(("python2-pygobject" ,python2-pygobject)
         ("swig" ,swig)
         ("gettext" ,gettext-minimal)
         ("python2-numpy" ,python2-numpy)
         ("python2-pycairo" ,python2-pycairo)))
      (propagated-inputs
       `(("gtk+" ,gtk+)
         ("librsvg" ,librsvg)
         ("gdk-pixbuf" ,gdk-pixbuf+svg)
         ("hicolor-icon-theme" ,hicolor-icon-theme)))
      (home-page "http://mypaint.org/")
      (synopsis "A simple drawing and painting program")
      (description "MyPaint is a fast, free, and easy graphics app for digital painters. It lets you focus on the art you make instead of the program you make it with. You can work on your canvas without clutter, and show the interface only when you need it. MyPaint works best with a graphics tablet.")
      (license license:gpl2+))))

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

end of thread, other threads:[~2019-01-26 20:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-01-26  4:37 mypaint package Yoshinori Arai
2019-01-26 20:41 ` Maxim Cournoyer

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