commit:     0bbd96ca413fdeca41f88a6d533f727381539aa2
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 23 21:26:27 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 23 21:37:07 2020 +0000
URL:        https://gitweb.gentoo.org/proj/kde-sunset.git/commit/?id=0bbd96ca

sci-visualization/xds-viewer: Import 0.6-r1 from before last-rites

Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/xds-viewer-0.6-fix-c++14.patch           | 66 ++++++++++++++++++++++
 sci-visualization/xds-viewer/metadata.xml          | 19 +++++++
 .../xds-viewer/xds-viewer-0.6-r1.ebuild            | 24 ++++++++
 3 files changed, 109 insertions(+)

diff --git a/sci-visualization/xds-viewer/files/xds-viewer-0.6-fix-c++14.patch 
b/sci-visualization/xds-viewer/files/xds-viewer-0.6-fix-c++14.patch
new file mode 100644
index 00000000..612b5038
--- /dev/null
+++ b/sci-visualization/xds-viewer/files/xds-viewer-0.6-fix-c++14.patch
@@ -0,0 +1,66 @@
+Fix building with C++14, caused by invalid implicit T* -> bool conversions.
+See also: https://bugs.gentoo.org/show_bug.cgi?id=598126
+
+--- a/src/CbfReader.cpp
++++ b/src/CbfReader.cpp
+@@ -315,12 +315,12 @@
+ 
+       for ( int i = 0;i < nx*ny;i++ )
+       {
+-              if ( tapin.get( sc ) == 0 )return -4;
++              if ( !tapin.get( sc ) )return -4;
+               diff = sc;
+               if ( diff == -128 )
+               {
+-                      if ( tapin.get( uc0 ) == 0 )return -4;
+-                      if ( tapin.get( uc1 ) == 0 )return -4;
++                      if ( !tapin.get( uc0 ) )return -4;
++                      if ( !tapin.get( uc1 ) )return -4;
+                       tmp0 = uc0;
+                       if ( uc0 < 0 ) tmp0 += 256; // converting signed to 
unsigned char
+                       diff = uc1;
+@@ -329,15 +329,15 @@
+                       if ( diff > 32767 )diff -= 65536;
+                       if ( diff == -32768 )
+                       {
+-                              if ( tapin.get( uc0 ) == 0 )return -4;
+-                              if ( tapin.get( uc1 ) == 0 )return -4;
++                              if ( !tapin.get( uc0 ) )return -4;
++                              if ( !tapin.get( uc1 ) )return -4;
+                               tmp0 = uc0;
+                               if ( tmp0 < 0 ) tmp0 += 256; // converting 
signed to unsigned char
+                               tmp1 = uc1;
+                               if ( tmp1 < 0 ) tmp1 += 256; // converting 
signed to unsigned char
+                               diff = tmp0 + 256 * tmp1;
+-                              if ( tapin.get( uc0 ) == 0 )return -4;
+-                              if ( tapin.get( uc1 ) == 0 )return -4;
++                              if ( !tapin.get( uc0 ) )return -4;
++                              if ( !tapin.get( uc1 ) )return -4;
+                               tmp0 = uc0;
+                               if ( tmp0 < 0 ) tmp0 += 256; // converting 
signed to unsigned char
+                               tmp1 = uc1;
+@@ -359,7 +359,7 @@
+ {
+       std::ifstream::pos_type streamPos = tapin.tellg();
+ 
+-      char binaryMarker[5] = {12, 26, 4, 213, '\0'};
++      char binaryMarker[5] = {12, 26, 4, (char)213, '\0'};
+       char buffer[5] = {0, 0, 0, 0, '\0'};
+ 
+       bool equal = true;
+@@ -448,13 +448,13 @@
+ 
+ int CbfReader::checkImageFormat( std::ifstream& tapin )
+ {
+-      if ( tapin == 0 )return -2; // Cannot open image file
++      if ( !tapin )return -2; // Cannot open image file
+ 
+       { // Check image file format
+               std::string s( "###CBF: " );
+               char label[9];
+               for ( int i = 0;i < 8;i++ )
+-                      if ( tapin.get( label[i] ) == false )return -4; // 
Cannot read image file
++                      if ( !tapin.get( label[i] ) )return -4; // Cannot read 
image file
+               label[8] = '\0';
+               std::string sLabel = ( std::string )label;
+ 

diff --git a/sci-visualization/xds-viewer/metadata.xml 
b/sci-visualization/xds-viewer/metadata.xml
new file mode 100644
index 00000000..8a6a2156
--- /dev/null
+++ b/sci-visualization/xds-viewer/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+<!-- maintainer-needed -->
+  <longdescription lang="en">
+  XDS-Viewer is a program for viewing X-ray diffraction and control
+  images in the context of data processing by the XDS Program Package
+  (external link). Potential users of the software are scientists
+  working in the field of crystallography. The XDS-Viewer is a
+  standalone program which has build-in support for a subset of the
+  Crystallographic Binary File Format CBF (external link). Other file
+  formats are supported through an external convertion program that
+  comes with XDS. XDS-Viewer will automatically invoke the convertion
+  program for images other than CBF. 
+</longdescription>
+  <upstream>
+    <remote-id type="sourceforge">xds-viewer</remote-id>
+  </upstream>
+</pkgmetadata>

diff --git a/sci-visualization/xds-viewer/xds-viewer-0.6-r1.ebuild 
b/sci-visualization/xds-viewer/xds-viewer-0.6-r1.ebuild
new file mode 100644
index 00000000..fea9ba90
--- /dev/null
+++ b/sci-visualization/xds-viewer/xds-viewer-0.6-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="X-ray diffraction/control image viewer in the context of data 
processing by XDS"
+HOMEPAGE="http://xds-viewer.sourceforge.net/";
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+       dev-libs/glib:2
+       media-libs/libpng:0=
+       dev-qt/qtgui:4"
+DEPEND="${RDEPEND}"
+
+HTML_DOCS=( src/doc/. )
+PATCHES=( "${FILESDIR}"/${P}-fix-c++14.patch )

Reply via email to