help-guix
[Top][All Lists]
Advanced

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

mypaint package


From: Yoshinori Arai
Subject: mypaint package
Date: Sat, 26 Jan 2019 13:37:38 +0900
User-agent: NeoMutt/20180716

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






reply via email to

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