pkgsrc-WIP-changes archive

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

xournalpp: update to xournalpp-1.0.15



Module Name:	pkgsrc-wip
Committed By:	Yorick Hardy <yorickhardy%gmail.com@localhost>
Pushed By:	yhardy
Date:		Sun Oct 27 07:26:11 2019 +0200
Changeset:	be55e483cd63a13c11cb7fa5d18e3057bc6108a2

Modified Files:
	xournalpp/Makefile
	xournalpp/PLIST
	xournalpp/distinfo
Added Files:
	xournalpp/patches/patch-src_control_tools_StrokeHandler.cpp
	xournalpp/patches/patch-src_util_DeviceListHelper.cpp
Removed Files:
	xournalpp/PATCH_PORTAUDIO

Log Message:
xournalpp: update to xournalpp-1.0.15

pkgsrc changes:
 - depend on audio/portaudio instead of audio/portaudio-devel
 - add patches for smooth curves and device manager (from wip/xournalpp-git)

= Changelog

== 1.0.15

**Attention**: Please see the 1.0.14 patch notes before installing this version.

* Fixed an issue where copying and pasting strokes would crash the program.

== 1.0.14

**Attention:** users who installed with `make install` will need to follow
special instructions to update. See the "Breaking change" below.

We now officially support packaging Xournal++ using CMake. This allows users to
generate DEB and tar packages. See `readme/linux.md` for more details.

* **Breaking change**: the desktop and icon files were renamed from `xournalpp`
  to `com.github.xournalpp.xournalpp` to be more in line with the AppStream
  specification. This change should only affect users that install with `make
  install`; these users must run `make uninstall` with a cloned version of
  _Xournal++ 1.0.12_ first. We recommend migrating to another installation
  format, such as Flatpak, AppImage, or tarball. Refer to [this
  issue](https://github.com/xournalpp/xournalpp/issues/1442#issuecomment-524566511)
  for more details on how to uninstall if `make uninstall` is unavailable. Refer
  to `readme/LinuxBuild.md` for build instructions.
* Text field
    * (New input system) double/triple text selection in text fields
    * Fixed issue with cursor not showing on mouse movement after typing into
      text field
    * Fixed text not rendering correctly when used with highlighter and
      non-white backgrounds
* Latex tool
    * Now warns users if latex dependencies are missing
    * Newly created objects are now placed in the center of the screen or page
* Image tool
    * Images are now selected by default on insertion
    * Fixed memory leak
    * Fixed an issue where pasted images were zoomed in and ignoring DPI settings
* Quality-of-life changes
    * Improved copy-paste behavior
    * Improved audio recording quality and stability
    * Enable Enter/Shift+Enter to advance search bar
    * Enabled left and right arrow keys to change pages in presentation mode
    * Xournal++ icon is now rendered in thumbnails of Xournal++ files
    * Renamed "Thin" thickness to "Fine"; Added "Very Fine" and "Very Thick"
      thicknesses
    * Added a right-click context menu to the page preview sidebar
* (Experimental) Floating toolbox
    * Can be enabled in preferences by mapping mouse/stylus buttons to Floating Toolbox
    * To use it, create a new custom toolbar in `View > Toolbars > Manage`.
      Switch to the new toolbar, then choose `View > Toolbars > Customize`. Drag
      the desired tools into the floating toolbox (currently, tools may only
      be placed on exactly one of toolbar or the floating toolbox, but not both)
    * This feature is still a work-in-progress and may contain bugs
* Input
    * Improved input detection
    * Added option to (forcefully) assign input classes to devices
    * Fixed Select Object sometimes failing to select overlapping objects
    * (New input system) Fixed pressure sensitivity only changing after program restart
* Preferences window
    * Redesigned layout of the preferences windows
    * Renamed and enhanced tap select/quick select options
* Major bug fixes
    * Fixed some performance issues causing pages to flash
    * Fixed an issue where discarding changes to current file and then selecting
      "Cancel" in the file open dialog caused subsequent saves to fail
    * Fixed an issue where pressing "Cancel" in the export dialog could cause
      the application to crash
    * Fixed a bug introduced in 1.0.12 where "Open File" could crash the
      application on some systems
* Refactoring and other non-user visible changes
* Other misc features and bugfixes
    * Added appdata file
    * Added ability to customize UI styles using CSS
    * Added option to disable scrollbar fade
    * Allow `*.pdf.xopp` filenames. Any file whose name follows the format
      `$filename.pdf.xopp` will be exported as `$filename.pdf`.
    * Added ability for installation to be relocatable
    * Updated translations
    * Updated dependency information for DEB packages
    * Improved file size by reducing stroke coordinate precision
    * Fixed an issue where last eraser thickness settings were not being remembered
    * Fixed pen strokes not appearing after searching
    * Fixed user-defined toolbar shrinking in size after customizing
    * Fixed scrollbar issues caused by window resizes
    * (Windows) Fixed the User Guide webpage not opening (the `Help > Help` menu
      option)

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=be55e483cd63a13c11cb7fa5d18e3057bc6108a2

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 xournalpp/Makefile                                 |  6 +-
 xournalpp/PATCH_PORTAUDIO                          | 70 ----------------------
 xournalpp/PLIST                                    | 20 ++++++-
 xournalpp/distinfo                                 | 10 ++--
 .../patch-src_control_tools_StrokeHandler.cpp      | 46 ++++++++++++++
 .../patches/patch-src_util_DeviceListHelper.cpp    | 17 ++++++
 6 files changed, 89 insertions(+), 80 deletions(-)

diffs:
diff --git a/xournalpp/Makefile b/xournalpp/Makefile
index 664c343362..5d6f6e3913 100644
--- a/xournalpp/Makefile
+++ b/xournalpp/Makefile
@@ -1,7 +1,7 @@
 # $NetBSD$
 
 GITHUB_PROJECT=	xournalpp
-DISTNAME=	1.0.12
+DISTNAME=	1.0.15
 PKGNAME=	${GITHUB_PROJECT}-${DISTNAME}
 CATEGORIES=	editors
 MASTER_SITES=	${MASTER_SITE_GITHUB:=xournalpp/}
@@ -12,7 +12,7 @@ HOMEPAGE=	https://github.com/xournalpp/xournalpp/
 COMMENT=	Handwriting notetaking software with PDF annotation support
 LICENSE=	gnu-gpl-v2
 
-WRKSRC=		${WRKDIR}/xournalpp-1.0.12
+WRKSRC=		${WRKDIR}/xournalpp-${PKGVERSION_NOREV}
 USE_CMAKE=	yes
 USE_LANGUAGES=	c c++
 
@@ -24,7 +24,7 @@ DEPENDS+=	tex-standalone-[0-9]*:../../print/tex-standalone
 
 .include "../../archivers/libzip/buildlink3.mk"
 .include "../../audio/libsndfile/buildlink3.mk"
-.include "../../audio/portaudio-devel/buildlink3.mk"
+.include "../../audio/portaudio/buildlink3.mk"
 .include "../../print/poppler-glib/buildlink3.mk"
 .include "../../textproc/libxml2/buildlink3.mk"
 .include "../../x11/gtk3/buildlink3.mk"
diff --git a/xournalpp/PATCH_PORTAUDIO b/xournalpp/PATCH_PORTAUDIO
deleted file mode 100644
index cc105fcbac..0000000000
--- a/xournalpp/PATCH_PORTAUDIO
+++ /dev/null
@@ -1,70 +0,0 @@
-cvs diff: Diffing audio/portaudio-devel
-Index: audio/portaudio-devel/Makefile
-===================================================================
-RCS file: /cvsroot/pkgsrc/audio/portaudio-devel/Makefile,v
-retrieving revision 1.13
-diff -u -r1.13 Makefile
---- audio/portaudio-devel/Makefile	27 Apr 2017 07:14:01 -0000	1.13
-+++ audio/portaudio-devel/Makefile	9 Aug 2019 16:45:07 -0000
-@@ -14,6 +14,7 @@
- 
- NOT_FOR_PLATFORM=	Interix-*-*
- 
-+USE_LANGUAGES+=		c c++
- USE_TOOLS+=		gmake pkg-config
- USE_LIBTOOL=		yes
- GNU_CONFIGURE=		yes
-@@ -21,8 +22,10 @@
- CONFIGURE_ARGS+=	--includedir=${PREFIX}/include/portaudio2
- CONFIGURE_ARGS+=	--without-alsa
- CONFIGURE_ARGS+=	--disable-mac-universal
-+CONFIGURE_ARGS+=	--enable-cxx
- LDFLAGS+=		${LIBOSSAUDIO}
- PKGCONFIG_OVERRIDE=	portaudio-2.0.pc.in
-+PKGCONFIG_OVERRIDE+=	bindings/cpp/portaudiocpp.pc.in
- WRKSRC=			${WRKDIR}/portaudio
- 
- INSTALLATION_DIRS=	include/portaudio2 lib/portaudio2 lib/pkgconfig
-@@ -37,7 +40,7 @@
- SUBST_CLASSES+=		pc
- SUBST_STAGE.pc=		pre-configure
- SUBST_MESSAGE.pc=	Fixing pkgconfig directory
--SUBST_FILES.pc=		Makefile.in
-+SUBST_FILES.pc=		Makefile.in bindings/cpp/Makefile.in
- SUBST_SED.pc=		-e 's/$$(libdir)\/pkgconfig/$$(prefix)\/lib\/pkgconfig/g'
- 
- CFLAGS.Darwin+=		-Wno-deprecated-declarations
-Index: audio/portaudio-devel/PLIST
-===================================================================
-RCS file: /cvsroot/pkgsrc/audio/portaudio-devel/PLIST,v
-retrieving revision 1.3
-diff -u -r1.3 PLIST
---- audio/portaudio-devel/PLIST	14 Jun 2009 17:32:20 -0000	1.3
-+++ audio/portaudio-devel/PLIST	9 Aug 2019 16:45:07 -0000
-@@ -1,4 +1,25 @@
- @comment $NetBSD: PLIST,v 1.3 2009/06/14 17:32:20 joerg Exp $
- include/portaudio2/portaudio.h
-+include/portaudio2/portaudiocpp/AutoSystem.hxx
-+include/portaudio2/portaudiocpp/BlockingStream.hxx
-+include/portaudio2/portaudiocpp/CFunCallbackStream.hxx
-+include/portaudio2/portaudiocpp/CallbackInterface.hxx
-+include/portaudio2/portaudiocpp/CallbackStream.hxx
-+include/portaudio2/portaudiocpp/CppFunCallbackStream.hxx
-+include/portaudio2/portaudiocpp/Device.hxx
-+include/portaudio2/portaudiocpp/DirectionSpecificStreamParameters.hxx
-+include/portaudio2/portaudiocpp/Exception.hxx
-+include/portaudio2/portaudiocpp/HostApi.hxx
-+include/portaudio2/portaudiocpp/InterfaceCallbackStream.hxx
-+include/portaudio2/portaudiocpp/MemFunCallbackStream.hxx
-+include/portaudio2/portaudiocpp/PortAudioCpp.hxx
-+include/portaudio2/portaudiocpp/SampleDataFormat.hxx
-+include/portaudio2/portaudiocpp/Stream.hxx
-+include/portaudio2/portaudiocpp/StreamParameters.hxx
-+include/portaudio2/portaudiocpp/System.hxx
-+include/portaudio2/portaudiocpp/SystemDeviceIterator.hxx
-+include/portaudio2/portaudiocpp/SystemHostApiIterator.hxx
- lib/pkgconfig/portaudio-2.0.pc
-+lib/pkgconfig/portaudiocpp.pc
- lib/portaudio2/libportaudio.la
-+lib/portaudio2/libportaudiocpp.la
-cvs diff: Diffing audio/portaudio-devel/patches
diff --git a/xournalpp/PLIST b/xournalpp/PLIST
index 02c48d01b8..a0f76d31c5 100644
--- a/xournalpp/PLIST
+++ b/xournalpp/PLIST
@@ -3,8 +3,15 @@ bin/xournal-thumbnailer
 bin/xournalpp
 share/locale/cs/LC_MESSAGES/xournalpp.mo
 share/locale/de/LC_MESSAGES/xournalpp.mo
+share/locale/es_ES/LC_MESSAGES/xournalpp.mo
+share/locale/fi_FI/LC_MESSAGES/xournalpp.mo
+share/locale/fr_FR/LC_MESSAGES/xournalpp.mo
+share/locale/hr_HR/LC_MESSAGES/xournalpp.mo
 share/locale/it/LC_MESSAGES/xournalpp.mo
+share/locale/nl_NL/LC_MESSAGES/xournalpp.mo
 share/locale/pl/LC_MESSAGES/xournalpp.mo
+share/locale/ru_RU/LC_MESSAGES/xournalpp.mo
+share/locale/tlh_AA/LC_MESSAGES/xournalpp.mo
 share/locale/zh/LC_MESSAGES/xournalpp.mo
 share/locale/zh_HK/LC_MESSAGES/xournalpp.mo
 share/locale/zh_TW/LC_MESSAGES/xournalpp.mo
@@ -28,9 +35,11 @@ share/xournalpp/ui/icons/hicolor/scalable/actions/audio-record.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/centerPage.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/circle-draw.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/coordinate-system-draw.svg
+share/xournalpp/ui/icons/hicolor/scalable/actions/customize_toolbars.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/default.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/delPage.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/fill.svg
+share/xournalpp/ui/icons/hicolor/scalable/actions/floating_toolbox.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/fullscreen.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/goto.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/grid_snapping.svg
@@ -41,6 +50,7 @@ share/xournalpp/ui/icons/hicolor/scalable/actions/line-style-dash-dot.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/line-style-dash.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/line-style-dot.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/line-style-plain.svg
+share/xournalpp/ui/icons/hicolor/scalable/actions/manage_toolbars.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/nextAnnotatedPage.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/object-play.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/object-select.svg
@@ -55,9 +65,11 @@ share/xournalpp/ui/icons/hicolor/scalable/actions/sidebar_bookmarks.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/sidebar_index.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/snapping.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/stretch.svg
+share/xournalpp/ui/icons/hicolor/scalable/actions/thickness_fine.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/thickness_medium.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/thickness_thick.svg
-share/xournalpp/ui/icons/hicolor/scalable/actions/thickness_thin.svg
+share/xournalpp/ui/icons/hicolor/scalable/actions/thickness_very_fine.svg
+share/xournalpp/ui/icons/hicolor/scalable/actions/thickness_very_thick.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/tool_camera.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/tool_eraser.svg
 share/xournalpp/ui/icons/hicolor/scalable/actions/tool_highlighter.svg
@@ -94,17 +106,19 @@ share/xournalpp/ui/pdfpages.glade
 share/xournalpp/ui/pixmaps/application-x-xojpp.svg
 share/xournalpp/ui/pixmaps/application-x-xopp.svg
 share/xournalpp/ui/pixmaps/application-x-xopt.svg
+share/xournalpp/ui/pixmaps/com.github.xournalpp.xournalpp.png
+share/xournalpp/ui/pixmaps/com.github.xournalpp.xournalpp.svg
 share/xournalpp/ui/pixmaps/default.svg
 share/xournalpp/ui/pixmaps/gnome-mime-application-x-xopp.svg
 share/xournalpp/ui/pixmaps/gnome-mime-application-x-xopt.svg
 share/xournalpp/ui/pixmaps/xopt.svg
-share/xournalpp/ui/pixmaps/xournalpp.png
-share/xournalpp/ui/pixmaps/xournalpp.svg
 share/xournalpp/ui/plugin.glade
 share/xournalpp/ui/pluginEntry.glade
 share/xournalpp/ui/settings.glade
 share/xournalpp/ui/settingsButtonConfig.glade
+share/xournalpp/ui/settingsDeviceClassConfig.glade
 share/xournalpp/ui/texdialog.glade
 share/xournalpp/ui/toolbar.ini
 share/xournalpp/ui/toolbarCustomizeDialog.glade
 share/xournalpp/ui/toolbarManageDialog.glade
+share/xournalpp/ui/xournalpp.css
diff --git a/xournalpp/distinfo b/xournalpp/distinfo
index 77f51da57a..fc701ea5d2 100644
--- a/xournalpp/distinfo
+++ b/xournalpp/distinfo
@@ -1,6 +1,8 @@
 $NetBSD$
 
-SHA1 (xournalpp/1.0.12.tar.gz) = 9df25b6a9d8403d0667a17b9145c7a6c325bf2da
-RMD160 (xournalpp/1.0.12.tar.gz) = a446f30fc7c9556d6d1e163f06189f7009d8e267
-SHA512 (xournalpp/1.0.12.tar.gz) = 6831da57c715bf70676fdd515f55475c72fb7b2e418157c2d110383bd7a5f37db1961b1b87b2af3a62f0d46f99310d499c113f3480025c6fa47ecec8a3153112
-Size (xournalpp/1.0.12.tar.gz) = 14694286 bytes
+SHA1 (xournalpp/1.0.15.tar.gz) = 6934c8de1260ca580988c421c55c2a44999a235c
+RMD160 (xournalpp/1.0.15.tar.gz) = 8f53fd4b74507e28e28a4fffa9fe4d8c5f434c45
+SHA512 (xournalpp/1.0.15.tar.gz) = 7a015c1d48e26eed313f994aa293f6d2ab711ac6970568edef4ba10dcf1551c87279daa2b361731ac58ef236e1dd59e0eebf41e4739fba9db954a718450d5b79
+Size (xournalpp/1.0.15.tar.gz) = 14938798 bytes
+SHA1 (patch-src_control_tools_StrokeHandler.cpp) = 80df57a9776a9919a95a04bf6c057dc021fc789e
+SHA1 (patch-src_util_DeviceListHelper.cpp) = 8f3534c80c79ec49dd9562c3ed4e3ff7c36b2ecb
diff --git a/xournalpp/patches/patch-src_control_tools_StrokeHandler.cpp b/xournalpp/patches/patch-src_control_tools_StrokeHandler.cpp
new file mode 100644
index 0000000000..a295967764
--- /dev/null
+++ b/xournalpp/patches/patch-src_control_tools_StrokeHandler.cpp
@@ -0,0 +1,46 @@
+$NetBSD$
+
+On NetBSD, absolute coordinate changes are reported as an X value followed by a Y value,
+which (when moving quickly) leads to a "stepping" effect. Using a Bezier curve fitting
+for the points yields a smooth curve in most cases, and does not seem to adversely affect
+the user experience (even with a conventional mouse).
+
+--- ./src/control/tools/StrokeHandler.cpp.orig	2019-09-10 05:47:36.000000000 +0000
++++ ./src/control/tools/StrokeHandler.cpp
+@@ -115,9 +115,36 @@ bool StrokeHandler::onMotionNotifyEvent(
+ 	}
+ 	else
+ 	{
++#if defined(__NetBSD__) || defined(__OpenBSD__)
++		if (pointCount > 1)
++#else
+ 		if (pointCount > 0)
++#endif
+ 		{
+ 			Point prevPoint(stroke->getPoint(pointCount - 1));
++#if defined(__NetBSD__) || defined(__OpenBSD__)
++			double length, prevLength, t, x, y;
++			Point pprevPoint(stroke->getPoint(pointCount - 2));
++
++			// treat this point as an end point
++			// treat the previous point as a control point and recalculate the "actual" point
++			prevLength = prevPoint.lineLengthTo(pprevPoint);
++			length = prevLength + currentPoint.lineLengthTo(prevPoint);
++			if (length != 0)
++			{
++				t = prevLength/length;
++				// Bezier curve fitting
++				x = (1-t)*(1-t)*pprevPoint.x + 2*t*(1-t)*prevPoint.x + t*t*currentPoint.x;
++				y = (1-t)*(1-t)*pprevPoint.y + 2*t*(1-t)*prevPoint.y + t*t*currentPoint.y;
++				
++				prevPoint = Point(x,y,prevPoint.z);
++				stroke->deletePointsFrom(pointCount-1);
++				stroke->addPoint(prevPoint);
++				stroke->addPoint(currentPoint);
++				currentPoint = prevPoint;
++				prevPoint = pprevPoint;
++			}
++#endif
+ 
+ 			Stroke lastSegment;
+ 
diff --git a/xournalpp/patches/patch-src_util_DeviceListHelper.cpp b/xournalpp/patches/patch-src_util_DeviceListHelper.cpp
new file mode 100644
index 0000000000..5d4decf4db
--- /dev/null
+++ b/xournalpp/patches/patch-src_util_DeviceListHelper.cpp
@@ -0,0 +1,17 @@
+$NetBSD$
+
+This check seems to skip devices that are reasonable to include (on NetBSD), so rather
+list all devices and let the user manage them.
+
+--- src/util/DeviceListHelper.cpp.orig	2019-08-13 08:34:36.000000000 +0000
++++ src/util/DeviceListHelper.cpp
+@@ -31,7 +31,8 @@ void addDevicesToList(std::vector<InputD
+ 			devList = devList->next;
+ 			continue;
+ 		}
+-		if (gdk_device_get_vendor_id(dev) == nullptr && gdk_device_get_product_id(dev) == nullptr)
++		// if (gdk_device_get_vendor_id(dev) == nullptr && gdk_device_get_product_id(dev) == nullptr)
++		if (gdk_device_get_device_type(dev) == GDK_DEVICE_TYPE_MASTER)
+ 		{
+ 			// Skip core pointer
+ 			devList = devList->next;


Home | Main Index | Thread Index | Old Index