unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Nicolò Balzarotti" <anothersms@gmail.com>
To: Ekaitz Zarraga <ekaitz@elenq.tech>,
	"guix-devel\@gnu.org" <guix-devel@gnu.org>
Subject: Re: Inkscape 1.0 upgrade
Date: Wed, 06 May 2020 23:54:05 +0200	[thread overview]
Message-ID: <87y2q420hu.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> (raw)
In-Reply-To: <WhrJ6UlUxIi9Luu-X92y9iXCl9HOgxqvcn5SIT8trYLkDrwQkGQJJd9yZzrsP_hhuYLiMgbWPwAv31lSg87BQl7uw95cWebMULmL1FNZlYY=@elenq.tech>

Hi, I wanted the same. My package is working but I cannot replace the
current inkscape as there's a dependency loop, so I called it
inkscape-1.0.  But in today's blogpost Ludo installed inkscape 1.0, so
maybe he already solved it.  Here's my working definition btw, if you
want to submit it please go ahead :)

Nicolò
[1] https://guix.gnu.org/blog/2020/grafts-continued/

(define-public libgdl
  (package
    (name "libgdl")
    (version "3.34.0")
    (source (origin
	      (method url-fetch)
	      (uri (string-append "mirror://gnome/sources/gdl/"
                           (version-major+minor version)  "/gdl-"
			   version ".tar.xz"))
	      (sha256
	       (base32
		"00ldva6wg6s4wlxmisiqzyz8ihsprra7sninx2rlqk6frpq312w5"))))
    (build-system gnu-build-system)
    (native-inputs
     `(("automake" ,automake)
       ("autoconf" ,autoconf)
       ("intltool" ,intltool)
       ("libtool" ,libtool) 
       ("pkg-config" ,pkg-config)
       ("gtk-doc" ,gtk-doc)
       ("gtk+" ,gtk+)
       ("which" ,which)))
    (inputs
     `(
       ("libxml2" ,libxml2)
       ;; ("boost" ,boost)
       ))
    ;; (native-inputs
    ;;  `(("intltool" ,intltool)
    ;;    ("glib" ,glib "bin")
    ;;    ("perl" ,perl)
    ;;    ("pkg-config" ,pkg-config)))
    ;; (arguments
    ;;  `(#:phases
    ;;    (modify-phases %standard-phases
    ;; 	 (add-before 'bootstrap 'disable-maintainer-mode
    ;; 	   (lambda _
    ;; 	     (substitute* "autogen.sh"
    ;; 	       (("/bin/sh") (which "sh")))
    ;; 	     #t))
    ;; 	 (replace 'bootstrap
    ;; 	   (lambda _
    ;; 	     (system* "./autogen.sh")
    ;; 	     (substitute* "./configure"
    ;; 	       (("/bin/sh") (which "sh")))
    ;; 	     (invoke "./autogen.sh")
    ;; 	     #t)))))
    (home-page "https://inkscape.org/")
    (synopsis "Vector graphics editor")
    (description "Inkscape is a vector graphics editor.  What sets Inkscape
apart is its use of Scalable Vector Graphics (SVG), an XML-based W3C standard,
as the native format.")
    (license license:gpl2+)))

(define-public inkscape-1.0
  (package
    (name "inkscape")
    (version "1.0")
    (source (origin
	      (method git-fetch)
	      (uri (git-reference
		    (url "https://gitlab.com/inkscape/inkscape.git")
		    (commit "INKSCAPE_1_0")
		    (recursive? #t)))
	      ;; (patches (search-patches "inkscape-poppler-0.76.patch"))
	      (sha256
	       (base32
		"119j1yhjgjh49dhlxzy9xmprkgw2d8q8ypvr23wac0ppv2kklp57"))))
    (build-system cmake-build-system)
    (inputs
     `(("aspell" ,aspell)
       ("double-conversion" ,double-conversion)
       ("gtkmm" ,gtkmm)
       ("gtk" ,gtk+)
       ("gsl" ,gsl)
       ("poppler" ,poppler)
       ("libpng" ,libpng)
       ("libxml2" ,libxml2)
       ("libxslt" ,libxslt)
       ("libgc" ,libgc)
       ("libgdl" ,libgdl)
       ("libjpeg" ,libjpeg)
       ("libsoup" ,libsoup)
       ("libvisio" ,libvisio)
       ("libwpg" ,libwpg)
       ("libwpd" ,libwpd)
       ("libcdr" ,libcdr)
       ("freetype" ,freetype)
       ("gtkspell3" ,gtkspell3)
       ("imagemagick" ,imagemagick)
       ("popt" ,popt)
       ("potrace" ,potrace)
       ("python" ,python-3)
       ("lcms" ,lcms)
       ("boost" ,boost)))
    (native-inputs
     `(("intltool" ,intltool)
       ("glib" ,glib "bin")
       ("googletest" ,googletest)
       ("perl" ,perl)
       ("pkg-config" ,pkg-config)))
    (arguments
     ;; RE-enable 
     `(#:tests? #f
       ;; Defaults to RelWithDebInfo
       #:configure-flags '("-DCMAKE_BUILD_TYPE=Release")
       #:phases
       (modify-phases %standard-phases
	 ;; (add-after 'unpack 'patch-icon-cache-generator
	 ;;   (lambda _
	 ;;     (substitute* "share/icons/application/CMakeLists.txt"
	 ;;       (("gtk-update-icon-cache") "true"))
	 ;;     #t))
	 (add-before 'configure 'dont-use-system-includes
	   (lambda _
	     ;; Don't add redundant -isystem includes which confuses GCC7.
	     (substitute* "CMakeScripts/DefineDependsandFlags.cmake"
	       (("include_directories\\(SYSTEM")
	 	"include_directories("))
	     #t))
	 (add-before 'configure 'dont-use-werror-format
	   (lambda _
	     ;; Don't add redundant -isystem includes which confuses GCC7.
	     (substitute* "CMakeScripts/DefineDependsandFlags.cmake"
	       (("-Werror=format\"") "\"")
	       (("-Werror=format-security\"") "\""))
	     #t)))))
    (home-page "https://inkscape.org/")
    (synopsis "Vector graphics editor")
    (description "Inkscape is a vector graphics editor.  What sets Inkscape
apart is its use of Scalable Vector Graphics (SVG), an XML-based W3C standard,
as the native format.")
    (license license:gpl2+)))

Ekaitz Zarraga <ekaitz@elenq.tech> writes:

> Hi all,
>
> With the release of the 1.0 version of Inkscape I wanted to update our package and I'm encountering some problems I'm unable to solve myself.
>
> First, it depends on GDL (Gnome Devtool Libraries) which is not included in Guix so I'm packaging that too. I found an issue I don't know how to solve on it:
>
> GDL makes its bootstrap with this ./autogen.sh:
>   https://gitlab.gnome.org/GNOME/gdl/-/blob/master/autogen.sh
>
> That autogen is calling gnome-common's (gnome-common is already on guix) autogen for everything else but, even if I'm able to patch the autogen from GDL to find the correct `sh`, gnome-common's one is still failing because it's looking for `/bin/sh`. I don't find any way to solve this.
>
> Ideas?
>
> Thanks!
>
> This is the GDL package I have at the moment:
>
> (define-public gdl
>   (package
>     (name "gdl")
>     (version "GDL_3_34_0")
>     (source (origin
>                 (method git-fetch)
>                 (uri (git-reference
>                        (url "https://gitlab.gnome.org/GNOME/gdl.git")
>                        (commit version)))
>                 (sha256
>                   (base32 "154qcr0x6f68f4q526y87imv0rscmp34n47nk1pp82rsq52h2zna"))))
>
>     (build-system gnu-build-system)
>     (inputs `())
>     (native-inputs `(("gnome-common" ,gnome-common)
>                     ("autoconf" ,autoconf)
>                     ("automake" ,automake)
>                     ("libtool" ,libtool)
>                     ("intltool" ,intltool)
>                     ("pkg-config" ,pkg-config)
>                     ("gtk-doc" ,gtk-doc)
>                     ("which" ,which)))
>     (arguments
>        `(#:phases
>         (modify-phases %standard-phases
>          (add-after 'unpack 'autogen
>            (lambda _
>              (with-directory-excursion "."
>                  (for-each make-file-writable (find-files "." ".*"))
>                  ;; Use autogen so that 'configure' works.
>                  (substitute* "autogen.sh" (("/bin/sh") (which "sh")))
>                  (setenv "CONFIG_SHELL" (which "sh"))
>                  (invoke "./autogen.sh"))
>              #t)))))
>     (home-page "...")
>     (synopsis "...")
>     (description "...")
>     (license license:lgpl3+)))


  reply	other threads:[~2020-05-06 21:54 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-06 18:20 Inkscape 1.0 upgrade Ekaitz Zarraga
2020-05-06 21:54 ` Nicolò Balzarotti [this message]
2020-05-07  4:39   ` Maxim Cournoyer
2020-05-07  9:21     ` Ekaitz Zarraga

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=87y2q420hu.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me \
    --to=anothersms@gmail.com \
    --cc=ekaitz@elenq.tech \
    --cc=guix-devel@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).