Monday, May 25, 2020

Re: UPDATE: graphics/inkscape

On Fri May 08, 2020 at 07:22:55AM +0200, Rafael Sadowski wrote:
> Update inkscape to 1.0. A lot has happened port wise but look for
> yourself. If you use and/or like inkscape, please test and give
> feedback also okays welcome.
>
> Most tests look good and inkscape stats/runs fine. The py, perl and ruby
> extensions not tested by me (I never tested it).
>
> Rafael
>

Here is my last proposal, this one sets python2 additionally if someone
wants to use py2-only extensions.

+PY2_BIN = ${LOCALBASE}/bin/python${MODPY_DEFAULT_VERSION_2}

-SUBST_VARS += RUBY MODRUBY_REV
+SUBST_VARS += RUBY MODRUBY_REV PY2_BIN

...

++ { "python2", {"python2-interpreter", {"${PY2_BIN}" }}},

Opinions? Full diff below.

Rafael

Index: Makefile
===================================================================
RCS file: /cvs/ports/graphics/inkscape/Makefile,v
retrieving revision 1.80
diff -u -p -u -p -r1.80 Makefile
--- Makefile 2 Jan 2020 20:32:58 -0000 1.80
+++ Makefile 25 May 2020 20:44:59 -0000
@@ -2,8 +2,7 @@

COMMENT = SVG vector drawing application

-DISTNAME = inkscape-0.92.4
-REVISION = 2
+DISTNAME = inkscape-1.0

CATEGORIES = graphics

@@ -15,23 +14,19 @@ MAINTAINER = Rafael Sadowski <rsadowski@
PERMIT_PACKAGE = Yes

WANTLIB += ${COMPILER_LIBCXX} ICE Magick++-6.Q16 MagickCore-6.Q16
-WANTLIB += MagickWand-6.Q16 SM X11 Xcomposite Xcursor Xdamage
-WANTLIB += Xext Xfixes Xi Xinerama Xrandr Xrender Xt aspell atk-1.0
-WANTLIB += atkmm-1.6 bz2 c cairo cairomm-1.0 djvulibre enchant
-WANTLIB += exif expat ffi fftw3 fontconfig freetype fribidi gc
-WANTLIB += gdk-x11-2.0 gdk_pixbuf-2.0 gdkmm-2.4 gio-2.0 giomm-2.4
-WANTLIB += glib-2.0 glibmm-2.4 gmodule-2.0 gobject-2.0 graphite2
-WANTLIB += gsl gslcblas gthread-2.0 gtk-x11-2.0 gtkmm-2.4 gtkspell
-WANTLIB += harfbuzz iconv intl jasper jbig jpeg lcms2 lzma m openjp2
-WANTLIB += pango-1.0 pangocairo-1.0 pangoft2-1.0 pangomm-1.4 pcre
-WANTLIB += pixman-1 png poppler poppler-glib popt potrace raw_r
-WANTLIB += sigc-2.0 tiff webp webpmux xcb xcb-render xcb-shm xml2
-WANTLIB += xslt z
+WANTLIB += MagickWand-6.Q16 SM X11 Xext aspell atk-1.0 atkmm-1.6
+WANTLIB += c cairo cairo-gobject cairomm-1.0 double-conversion
+WANTLIB += fontconfig freetype gc gdk-3 gdk_pixbuf-2.0 gdkmm-3.0
+WANTLIB += gdl-3 gio-2.0 giomm-2.4 glib-2.0 glibmm-2.4 gmodule-2.0
+WANTLIB += gobject-2.0 gsl gslcblas gtk-3 gtkmm-3.0 harfbuzz iconv
+WANTLIB += intl jpeg lcms2 m pango-1.0 pangocairo-1.0 pangoft2-1.0
+WANTLIB += pangomm-1.4 png poppler poppler-glib potrace sigc-2.0
+WANTLIB += soup-2.4 xml2 xslt z

MASTER_SITES = https://media.inkscape.org/dl/resources/file/
-EXTRACT_SUFX
= .tar.bz2
+EXTRACT_SUFX = .tar.xz

-MODULES = textproc/intltool \
+MODULES = devel/cmake \
lang/python \
lang/ruby

@@ -45,27 +40,28 @@ MODRUBY_BUILDDEP = No
# Note that Python is already pulled in indirectly by py-lxml.
MODRUBY_RUNDEP = No

-BUILD_DEPENDS = ${MODGNU_AUTOCONF_DEPENDS} \
- ${MODGNU_AUTOMAKE_DEPENDS} \
- devel/libtool \
+MODPY_VERSION = ${MODPY_DEFAULT_VERSION_3}
+
+BUILD_DEPENDS = devel/gettext,-tools \
+ devel/gtest \
devel/boost

-LIB_DEPENDS = devel/boehm-gc \
+LIB_DEPENDS = math/double-conversion \
+ textproc/aspell/core \
+ devel/libsoup \
+ devel/boehm-gc \
devel/gsl \
- devel/popt \
devel/pango \
graphics/ImageMagick \
- graphics/libraw \
graphics/lcms2 \
- graphics/libexif \
graphics/png \
graphics/potrace \
- graphics/libwebp \
print/poppler \
textproc/aspell/core \
- textproc/gtkspell \
textproc/libxslt \
- x11/gtk2mm>=2.24.4
+ x11/gnome/gdl \
+ x11/gtk+3 \
+ x11/gtk3mm

RUN_DEPENDS = devel/desktop-file-utils \
devel/gettext,-runtime \
@@ -73,38 +69,23 @@ RUN_DEPENDS = devel/desktop-file-utils \
textproc/py-lxml \
x11/gtk+3,-guic

-USE_GMAKE = Yes
-
-CONFIGURE_STYLE = gnu
-
-AUTOCONF_VERSION = 2.69
-AUTOMAKE_VERSION = 1.11
-
-CONFIGURE_ARGS = -without-gnome-vfs
-
-CONFIGURE_ENV = CPPFLAGS="-I${LOCALBASE}/include/ImageMagick \
- -I${LOCALBASE}/include -I${X11BASE}/include" \
- LDFLAGS="-L${LOCALBASE}/lib -L${X11BASE}/lib"
+WRKDIST = ${WRKDIR}/inkscape-1.0_2020-05-01_4035a4fb49

-# As discussed on the ports mailing list, remove internationalised manual
-# pages, as our mandoc implementation does not yet deal with them properly.
-RM_MANS = man/el man/fr man/ja man/man1/inkscape.*.1 \
- man/sk man/zh_TW man/de
+PY2_BIN = ${LOCALBASE}/bin/python${MODPY_DEFAULT_VERSION_2}

-SUBST_VARS += RUBY MODRUBY_REV
+SUBST_VARS += RUBY MODRUBY_REV PY2_BIN

pre-configure:
+ # As discussed on the ports mailing list, remove internationalised
+ # manual pages, as our mandoc implementation does not yet deal with
+ # them properly.
+ rm ${WRKDIST}/man/{inkscape,inkview}.*.pod.in
find ${WRKDIST} -name i18n.py \
-exec sed -i 's,python,${MODPY_BIN},' {} +;
- ${SUBST_CMD} ${WRKSRC}/src/extension/implementation/script.cpp \
- ${WRKSRC}/src/main.cpp
- cd ${WRKSRC} && AUTOMAKE_VERSION=${AUTOMAKE_VERSION} \
- AUTOCONF_VERSION=${AUTOCONF_VERSION} ./autogen.sh
+ ${SUBST_CMD} ${WRKDIST}/src/extension/implementation/script.cpp \
+ ${WRKDIST}/src/inkscape-main.cpp

post-install:
-.for i in ${RM_MANS}
- rm -Rf ${PREFIX}/${i}
-.endfor
${MODPY_BIN} ${MODPY_LIBDIR}/compileall.py \
${PREFIX}/share/inkscape/extensions

Index: distinfo
===================================================================
RCS file: /cvs/ports/graphics/inkscape/distinfo,v
retrieving revision 1.15
diff -u -p -u -p -r1.15 distinfo
--- distinfo 22 Jan 2019 06:40:13 -0000 1.15
+++ distinfo 25 May 2020 20:44:59 -0000
@@ -1,2 +1,2 @@
-SHA256 (inkscape-0.92.4.tar.bz2) = V+wtqBd7NmFKUT4oIu/XOvch5pD33ca9Cl+7FSW0UV4=
-SIZE (inkscape-0.92.4.tar.bz2) = 31929728
+SHA256 (inkscape-1.0.tar.xz) = icEj0aYqxS22oI/jvnMFhEEbiaiOzFKKQQtPP6U/lLs=
+SIZE (inkscape-1.0.tar.xz) = 31935616
Index: patches/patch-CMakeLists_txt
===================================================================
RCS file: patches/patch-CMakeLists_txt
diff -N patches/patch-CMakeLists_txt
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-CMakeLists_txt 25 May 2020 20:44:59 -0000
@@ -0,0 +1,36 @@
+$OpenBSD$
+
+- Set project before include GNUInstallDirs to avoid cmake warnings
+- Fix RPATH to fix linking
+
+CMake Warning (dev) at /usr/local/share/cmake/Modules/GNUInstallDirs.cmake:225 (message):
+ Unable to determine default CMAKE_INSTALL_LIBDIR directory because no
+ target architecture is known. Please enable at least one language before
+ including GNUInstallDirs.
+
+Index: CMakeLists.txt
+--- CMakeLists.txt.orig
++++ CMakeLists.txt
+@@ -27,12 +27,12 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMa
+
+ # avoid having empty buildtype
+ set(CMAKE_BUILD_TYPE_INIT "Release")
++project(inkscape)
+
+ include(CMakeScripts/HelperFunctions.cmake)
+ include(CMakeScripts/ConfigEnv.cmake)
+ include(GNUInstallDirs) # for the CMAKE_INSTALL_LIBDIR variable
+
+-project(inkscape)
+ set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME inkscape) # needs to be before any install() commands
+
+ include(CMakeScripts/ConfigPaths.cmake)
+@@ -66,7 +66,7 @@ if(APPLE)
+ SET(CMAKE_MACOSX_RPATH TRUE)
+ SET(CMAKE_INSTALL_RPATH "@loader_path/${INKSCAPE_INSTALL_LIBDIR_RELATIVE_TO_BINDIR}")
+ else()
+- SET(CMAKE_INSTALL_RPATH "$ORIGIN/${INKSCAPE_INSTALL_LIBDIR_RELATIVE_TO_BINDIR}")
++ SET(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${INKSCAPE_INSTALL_LIBDIR})
+ endif()
+
+ # this can be removed if/when cmake 3.1 is made the minimum required version
Index: patches/patch-CMakeScripts_Pod2man_cmake
===================================================================
RCS file: patches/patch-CMakeScripts_Pod2man_cmake
diff -N patches/patch-CMakeScripts_Pod2man_cmake
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-CMakeScripts_Pod2man_cmake 25 May 2020 20:44:59 -0000
@@ -0,0 +1,34 @@
+$OpenBSD$
+
+Fix manpage setup for OpenBSD
+- No compressed manpages
+- Fix man install directory
+
+Index: CMakeScripts/Pod2man.cmake
+--- CMakeScripts/Pod2man.cmake.orig
++++ CMakeScripts/Pod2man.cmake
+@@ -9,7 +9,7 @@ if(NOT POD2MAN)
+ message(STATUS "Could not find pod2man - man pages disabled")
+ endif()
+
+-find_program(GZIP gzip)
++#find_program(GZIP gzip)
+ if(NOT GZIP)
+ message(STATUS "Could not find gzip - man pages uncompressed")
+ endif()
+@@ -34,13 +34,13 @@ macro(pod2man PODFILE_FULL RELEASE SECTION CENTER)
+ set(MANFILE_TEMP "${CMAKE_CURRENT_BINARY_DIR}/${NAME}.${LANG}.tmp")
+ set(MANFILE_FULL "${CMAKE_CURRENT_BINARY_DIR}/${NAME}.${LANG}.${SECTION}")
+ set(MANFILE_FULL_GZ "${CMAKE_CURRENT_BINARY_DIR}/${NAME}.${LANG}.${SECTION}.gz")
+- set(MANFILE_DEST "${SHARE_INSTALL}/man/${LANG}/man${SECTION}")
++ set(MANFILE_DEST "${CMAKE_INSTALL_MANDIR}/man/${LANG}/man${SECTION}")
+ else()
+ set(MANPAGE_TARGET "man-${NAME}")
+ set(MANFILE_TEMP "${CMAKE_CURRENT_BINARY_DIR}/${NAME}.tmp")
+ set(MANFILE_FULL "${CMAKE_CURRENT_BINARY_DIR}/${NAME}.${SECTION}")
+ set(MANFILE_FULL_GZ "${CMAKE_CURRENT_BINARY_DIR}/${NAME}.${SECTION}.gz")
+- set(MANFILE_DEST "${SHARE_INSTALL}/man/man${SECTION}")
++ set(MANFILE_DEST "${CMAKE_INSTALL_MANDIR}/man${SECTION}")
+ endif()
+ add_custom_command(
+ OUTPUT ${MANFILE_TEMP}
Index: patches/patch-configure_ac
===================================================================
RCS file: patches/patch-configure_ac
diff -N patches/patch-configure_ac
--- patches/patch-configure_ac 7 Nov 2019 15:32:56 -0000 1.10
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,18 +0,0 @@
-$OpenBSD: patch-configure_ac,v 1.10 2019/11/07 15:32:56 ajacoutot Exp $
-
-Fix build with newer glib2mm (see include/glibmm-2.4/glibmm/timeval.h).
-extension/timer.cpp:49:16: error: no member named 'assign_current_time' in 'Glib::TimeVal'
- expiration.assign_current_time();
-
-Index: configure.ac
---- configure.ac.orig
-+++ configure.ac
-@@ -881,7 +881,7 @@ if test "x$enable_strict_build" != "xno"; then
-
- # Ensure that no deprecated glibmm symbols are introduced.
- # lp:inkscape builds cleanly with this option at r10957
-- CPPFLAGS="-DGLIBMM_DISABLE_DEPRECATED $CPPFLAGS"
-+ # CPPFLAGS="-DGLIBMM_DISABLE_DEPRECATED $CPPFLAGS"
-
- dnl Pango 1.32.4 uses a deprecated Glib symbol:
- dnl https://bugzilla.gnome.org/show_bug.cgi?id=689843
Index: patches/patch-src_extension_implementation_script_cpp
===================================================================
RCS file: /cvs/ports/graphics/inkscape/patches/patch-src_extension_implementation_script_cpp,v
retrieving revision 1.5
diff -u -p -u -p -r1.5 patch-src_extension_implementation_script_cpp
--- patches/patch-src_extension_implementation_script_cpp 24 Feb 2017 08:05:34 -0000 1.5
+++ patches/patch-src_extension_implementation_script_cpp 25 May 2020 20:44:59 -0000
@@ -1,22 +1,22 @@
$OpenBSD: patch-src_extension_implementation_script_cpp,v 1.5 2017/02/24 08:05:34 landry Exp $
---- src/extension/implementation/script.cpp.orig Mon Jan 2 10:44:59 2017
-+++ src/extension/implementation/script.cpp Tue Jan 24 22:01:33 2017
-@@ -83,14 +83,14 @@ void Script::pump_events (void) {
- the given interpreter to a custom one per user.
- */
- Script::interpreter_t const Script::interpreterTab[] = {
-- {"perl", "perl-interpreter", "perl" },
-+ {"perl", "perl-interpreter", "/usr/bin/perl" },
- #ifdef WIN32
- {"python", "python-interpreter", "pythonw" },
+Index: src/extension/implementation/script.cpp
+--- src/extension/implementation/script.cpp.orig
++++ src/extension/implementation/script.cpp
+@@ -79,12 +79,12 @@ const std::map<std::string, Script::interpreter_t> Scr
+ { "perl", {"perl-interpreter", {"perl" }}},
+ { "python", {"python-interpreter", {"python3" }}},
#else
-- {"python", "python-interpreter", "python" },
-+ {"python", "python-interpreter", "${MODPY_BIN}" },
+- { "perl", {"perl-interpreter", {"perl" }}},
+- { "python", {"python-interpreter", {"python3", "python" }}},
++ { "perl", {"perl-interpreter", {"/usr/bin/perl" }}},
++ { "python", {"python-interpreter", {"${MODPY_BIN}" }}},

No comments:

Post a Comment