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 <[email protected]> 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 <[email protected]> writes: Thanks for sharing this patch! Maxim
