Dear maintainer,

I've prepared an NMU for dsdp (versioned as 5.8-9.3). The diff
is attached to this message.

Regards,
James
diff -Nru dsdp-5.8/debian/changelog dsdp-5.8/debian/changelog
--- dsdp-5.8/debian/changelog	2017-03-28 08:22:18.000000000 +0100
+++ dsdp-5.8/debian/changelog	2017-03-28 17:46:46.000000000 +0100
@@ -1,3 +1,11 @@
+dsdp (5.8-9.3) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Use correct integer type for Fortran prototypes and variables
+    (Closes: #857067)
+
+ -- James Clarke <jrt...@debian.org>  Tue, 28 Mar 2017 17:46:46 +0100
+
 dsdp (5.8-9.2) unstable; urgency=medium
 
   * Non-maintainer upload.
diff -Nru dsdp-5.8/debian/patches/ffinteger-type-mismatch.patch dsdp-5.8/debian/patches/ffinteger-type-mismatch.patch
--- dsdp-5.8/debian/patches/ffinteger-type-mismatch.patch	1970-01-01 01:00:00.000000000 +0100
+++ dsdp-5.8/debian/patches/ffinteger-type-mismatch.patch	2017-03-28 17:45:50.000000000 +0100
@@ -0,0 +1,39 @@
+Description: Use correct integer type for Fortran prototypes and variables
+ GNU Fortran's default integer width is 32-bit, the same as GCC, therefore use
+ int rather than long int when interfacing with Fortran. This was an issue on
+ 64-bit big-endian systems, since the upper 32 bits of the long would be set,
+ which would also be lost when truncating to a 32-bit integer.
+Author: James Clarke <jrt...@debian.org>
+Bug-Debian: https://bugs.debian.org/857067
+Last-Update: 2017-03-28
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/include/dsdplapack.h
++++ b/include/dsdplapack.h
+@@ -4,11 +4,11 @@
+ \file dsdplapack.h
+ \brief DSDP uses BLAS and LAPACK for many of its operations.
+ */
+-
+-typedef long int ffinteger;
+ /*
+-typedef int ffinteger;
++typedef long int ffinteger;
+ */
++typedef int ffinteger;
++
+ /*
+ #define  __DSDP_NONAMEMANGLING
+ #undef  __DSDP_NONAMEMANGLING
+--- a/src/vecmat/dtrsm2.c
++++ b/src/vecmat/dtrsm2.c
+@@ -1,7 +1,7 @@
+ #include "dsdplapack.h"
+ 
+-typedef long int integer;
+-typedef long int logical;
++typedef int integer;
++typedef int logical;
+ 
+ #define max(a,b) ((a) >= (b) ? (a) : (b))
+ #define dmax(a,b) (double)max(a,b)
diff -Nru dsdp-5.8/debian/patches/series dsdp-5.8/debian/patches/series
--- dsdp-5.8/debian/patches/series	2017-03-28 08:21:43.000000000 +0100
+++ dsdp-5.8/debian/patches/series	2017-03-28 17:45:50.000000000 +0100
@@ -1 +1 @@
-type-mismatch.patch
+ffinteger-type-mismatch.patch
diff -Nru dsdp-5.8/debian/patches/type-mismatch.patch dsdp-5.8/debian/patches/type-mismatch.patch
--- dsdp-5.8/debian/patches/type-mismatch.patch	2017-03-28 08:21:43.000000000 +0100
+++ dsdp-5.8/debian/patches/type-mismatch.patch	1970-01-01 01:00:00.000000000 +0100
@@ -1,15 +0,0 @@
-Description: Cast INFO to int before storing it in the flag
-Author: Dimitri John Ledkov <x...@ubuntu.com>
-Bug-Ubuntu: https://bugs.launchpad.net/bugs/1543982
-
---- dsdp-5.8.orig/src/vecmat/dlpack.c
-+++ dsdp-5.8/src/vecmat/dlpack.c
-@@ -123,7 +123,7 @@ static int DTPUMatCholeskyFactor(void* A
-     dtpuscalemat(AP,ss,N);
-   }
-   dpptrf(&UPLO, &N, AP, &INFO );
--  *flag=INFO;
-+  *flag=(int) INFO;
-   return 0;
- }
- 

Reply via email to