[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Inkscape 1.0 upgrade
From: |
Maxim Cournoyer |
Subject: |
Re: Inkscape 1.0 upgrade |
Date: |
Thu, 07 May 2020 00:39:24 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hello!
It seems we're now at least 3 people to have worked toward Inkscape 1.0
:-). I've posted a patch series adding a Inkscape 1.0 and various other
dependencies at http://bugs.gnu.org/41118, if you'd like to compare.
Nicolò Balzarotti <address@hidden> writes:
> 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.
The loop was caused by the gtk-doc package part of gdl. I've worked
around this by creating a gdl-minimal package, which doesn't include
such input.
> 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 :)
He's confirmed that this was aspirational. The version seen in the
derivation output is what is in master :-).
> 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+)
gtk+ should be propagated in this case, because it is marked as
"Required" in the pkg-config gdl-3.0.pc file.
> ("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")
I remember struggling with this as well, and found some neat example
somewhere else in our package collection that causes the gnome-common
autogen.sh to *not* run configure itself. This is done by setting
NOCONFIGURE before invoking 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+)))
It seems this part was not finished :-)
>
> (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)))
When using recursive, this usually means there are bundled libraries,
which calls for a justification or FIXME comment.
> ;; (patches (search-patches "inkscape-poppler-0.76.patch"))
This patch is no longer needed
> (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)
I think libjpeg is deprecated in favor of libjpeg-turbo, at least in
core-updates.
> ("libsoup" ,libsoup)
I've used libsoup-minimal here, I don't remember if there was a cycle
problem otherwise.
> ("libvisio" ,libvisio)
> ("libwpg" ,libwpg)
> ("libwpd" ,libwpd)
> ("libcdr" ,libcdr)
> ("freetype" ,freetype)
> ("gtkspell3" ,gtkspell3)
I've missed the gtkspell3, libcdr, libwpd, libwpg and libvisio optional
dependencies. I'll add them, as we usually try to support as much
features as we can in the Guix packages. Nice!
> ("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
Next time, please eave a comment saying why the test suite is disabled. I've
managed to
have the test run in my series; it was a bit of a pain :-).
> ;; 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)))))
These two new phases are not needed when working on core-updates (which
will soon be merged into master), as the CPATH problem is resolved there
(we're now back to using C_INCLUDE_PATH and CPLUS_INCLUDE_PATH).
> (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 <address@hidden> writes:
Thanks for sharing this patch!
Maxim