[med-svn] [Git][med-team/ball][master] 30 commits: Run wrap-and-sort -ast.

Yavor Doganov (@yavor-guest) gitlab at salsa.debian.org
Mon Nov 10 15:09:59 GMT 2025



Yavor Doganov pushed to branch master at Debian Med / ball


Commits:
5f8552d4 by Yavor Doganov at 2025-11-07T05:52:50+02:00
Run wrap-and-sort -ast.

- - - - -
d3f14796 by Yavor Doganov at 2025-11-07T05:58:29+02:00
(Build-Depends): Add lost qttools5-dev (#1026815).

- - - - -
4e2ebed6 by Yavor Doganov at 2025-11-07T06:02:26+02:00
(Build-Depends): Remove libtirpc-dev; not really needed.

- - - - -
3ad86fb8 by Yavor Doganov at 2025-11-07T06:22:42+02:00
(override_dh_auto_configure): Run dh_auto_configure; fixes cross building.

- - - - -
13708072 by Yavor Doganov at 2025-11-07T06:24:50+02:00
(Build-Depends): Remove Python-related stuff.

- - - - -
65c14342 by Yavor Doganov at 2025-11-07T06:30:09+02:00
gcc-15.patch: New; fix FTBFS with GCC 15 (#1114056).

- - - - -
01c570ca by Yavor Doganov at 2025-11-07T06:33:00+02:00
lpsolve-link.patch: New; fix linking with lpsolve.

- - - - -
2be1dd72 by Yavor Doganov at 2025-11-07T06:36:00+02:00
Use dh_auto_build so that parallel building works.

- - - - -
d68ee9dc by Yavor Doganov at 2025-11-07T07:12:40+02:00
cmake-4.patch: New; fix FTBFS with CMake 4 (#1112717).

- - - - -
27ff3ea2 by Yavor Doganov at 2025-11-07T07:33:11+02:00
(override_dh_installdocs-indep): Fix broken symlink (#1040385).

- - - - -
63882d33 by Yavor Doganov at 2025-11-07T08:12:52+02:00
rules: Remove commented out "--with-python3" as it causes a lintian error.

- - - - -
d6b53883 by Yavor Doganov at 2025-11-07T09:08:40+02:00
Install libraries in the Multi-Arch location; mark packages as M-A: same.

- - - - -
9fa0bf9c by Yavor Doganov at 2025-11-10T08:32:47+02:00
Misc reproducibility fixes.

- - - - -
9230d0e9 by Yavor Doganov at 2025-11-10T08:53:43+02:00
Install .so symlinks in the -dev packages; they are useless otherwise.

- - - - -
37661122 by Yavor Doganov at 2025-11-10T11:39:00+02:00
(override_dh_auto_build-arch): Don't build tests when "nocheck" is set.

- - - - -
c4433bcc by Yavor Doganov at 2025-11-10T11:44:39+02:00
(Depends): Tighten inter-package deps; add missing -dev packages.

- - - - -
c9256951 by Yavor Doganov at 2025-11-10T11:45:35+02:00
(libball1.5-doc) <Conflicts>: Remove; obsolete.

- - - - -
8e5b4d69 by Yavor Doganov at 2025-11-10T12:58:57+02:00
examples: New autopkgtest.

- - - - -
4ef857be by Yavor Doganov at 2025-11-10T13:10:34+02:00
Fix unused/mismatched lintian overrides.

- - - - -
c9e0afbc by Yavor Doganov at 2025-11-10T13:47:31+02:00
Rename ballview manpage and .desktop file to match the executable.

- - - - -
75e19b89 by Yavor Doganov at 2025-11-10T14:06:59+02:00
BALLView.desktop: Misc fixes to placate lintian/appstream.

- - - - -
4e657a1e by Yavor Doganov at 2025-11-10T14:27:25+02:00
libball1.5-doc.examples: New file; install all C++ examples.

- - - - -
8a59c01a by Yavor Doganov at 2025-11-10T14:28:26+02:00
(Rules-Requires-Root): Remove; redundant.

- - - - -
8dad3980 by Yavor Doganov at 2025-11-10T14:29:04+02:00
(Standards-Version): Claim compliance with 4.7.2; no changes needed.

- - - - -
a0257014 by Yavor Doganov at 2025-11-10T14:54:08+02:00
metadata: Add Repository and Repository-Browse.

- - - - -
96966619 by Yavor Doganov at 2025-11-10T14:58:57+02:00
watch: Upgrade to version 5.

- - - - -
a9eac7af by Yavor Doganov at 2025-11-10T15:32:19+02:00
copyright: Replace GPL-2+ with LGPL-2.1+; add BSD-2/3-clause; update years.

- - - - -
220fd2e2 by Yavor Doganov at 2025-11-10T16:14:16+02:00
(override_dh_auto_install-indep): Fix lintian W: national-encoding.

- - - - -
040420a8 by Yavor Doganov at 2025-11-10T16:16:20+02:00
2to3.patch, missing_GLEW: Make Last-Update DEP-compliant.

- - - - -
31887718 by Yavor Doganov at 2025-11-10T17:09:29+02:00
spelling-errors.patch: New; self-explanatory.

- - - - -


25 changed files:

- debian/ballview.1 → debian/BALLView.1
- debian/ballview.desktop → debian/BALLView.desktop
- debian/ballview.dirs
- debian/ballview.install
- debian/ballview.manpages
- debian/changelog
- debian/control
- debian/copyright
- debian/libball1.5-data.lintian-overrides
- − debian/libball1.5-dev.dirs
- + debian/libball1.5-doc.examples
- − debian/libballview1.5-dev.lintian-overrides
- debian/patches/2to3.patch
- + debian/patches/cmake-4.patch
- + debian/patches/gcc-15.patch
- + debian/patches/lpsolve-link.patch
- debian/patches/missing_GLEW
- + debian/patches/reproducibility.patch
- debian/patches/series
- + debian/patches/spelling-errors.patch
- debian/rules
- + debian/tests/control
- + debian/tests/simple-examples
- debian/upstream/metadata
- debian/watch


Changes:

=====================================
debian/ballview.1 → debian/BALLView.1
=====================================


=====================================
debian/ballview.desktop → debian/BALLView.desktop
=====================================
@@ -2,9 +2,10 @@
 Version=1.0
 Terminal=false
 Icon=ballview
-Exec=BALLView
+Exec=BALLView %F
 Name=BALLView
-GenericName=Molecular modeling and visualization tool
+Comment=Molecular modeling and visualization tool
+Keywords=molecule;visualize;chemistry;model;
 Type=Application
 MimeType=chemical/x-pdb;chemical/x-mdl-molfile;chemical/x-mol2;
 Categories=Education;Science;Chemistry;


=====================================
debian/ballview.dirs
=====================================
@@ -1,5 +1,5 @@
 usr/bin
-usr/share/man/man1
-usr/share/doc/ballview/html
 usr/share/applications
-usr/share/pixmaps 
+usr/share/doc/ballview/html
+usr/share/man/man1
+usr/share/pixmaps


=====================================
debian/ballview.install
=====================================
@@ -1 +1 @@
-debian/ballview.desktop	usr/share/applications
+debian/BALLView.desktop	usr/share/applications


=====================================
debian/ballview.manpages
=====================================
@@ -1 +1 @@
-debian/ballview.1
+debian/BALLView.1


=====================================
debian/changelog
=====================================
@@ -11,6 +11,62 @@ ball (1.5.0+git20220524.d85d2dd-1) UNRELEASED; urgency=medium
   [ Bas Couwenberg ]
   * Don't use qtwebengine5-dev on mipsel, package to be removed.
 
+  [ Yavor Doganov ]
+  * Run wrap-and-sort -ast.
+  * debian/control (Build-Depends): Add lost qttools5-dev (#1026815).
+    Remove libtirpc-dev; not really needed.  Remove Python-related stuff
+    and chrpath (not sufficient for the job at hand).
+    (libbal1.5, libballview1.5): Mark as Multi-Arch: same.
+    (libball1.5-dev): Likewise.
+    (Depends): Tighten inter-package dependencies.  Add missing
+    dependencies to -dev packages.
+    (libball1.5-doc) <Suggests>: Replace libball1.5 with libbal1.5-dev.
+    <Conflicts>: Remove; obsolete.
+    (Rules-Requires-Root): Remove; redundant.
+    (Standards-Version): Claim compliance with 4.7.2; no changes needed.
+  * debian/rules (CXXFLAGS, LDFLAGS): Remove definitions.
+    (FORCE_SOURCE_DATE): Export for a reproducible tutorial.pdf.
+    (override_dh_auto_configure): Run dh_auto_configure; fixes cross
+    building.  Pass -DBALL_PYTHON_SUPPORT=OFF.
+    Pass -DCMAKE_BUILD_RPATH_USE_ORIGIN=ON for a reproducible build.
+    (override_dh_auto_build-arch, override_dh_auto_build-indep): Use
+    dh_auto_build so that parallel building works.
+    (override_dh_installdocs-indep): Fix broken symlink; this allows
+    BALLView to load the demo and the tutorial (Closes: #1040385).
+    (override_dh_auto_install-arch): Install libraries and .cmake files in
+    the Multi-Arch location.  Don't invoke chrpath.  Install .so symlinks
+    in the -dev packages; they are useless otherwise.
+    (override_dh_auto_install-indep): Fix lintian W: national-encoding.
+  * debian/patches/gcc-15.patch: New; fix FTBFS with GCC 15
+    (Closes: #1114056).
+  * debian/patches/lpsolve-link.patch: New; fix linking with lpsolve.
+  * debian/patches/cmake-4.patch: New; fix FTBFS with CMake 4
+    (Closes: #1112717).
+  * debian/patches/reproducibility.patch: New; fix two reproducibility
+    issues related to Doxygen-generated documentation.
+  * debian/patches/spelling-errors.patch: New; self-explanatory.
+  * debian/patches/2to3.patch: Make Last-Update DEP-compliant.
+  * debian/patches/missing_GLEW: Likewise.
+  * debian/libball1.5-dev.dirs: Delete; not needed.
+  * debian/tests/simple-examples: New test; compile some of the examples
+    and run them against all available PDB files.
+  * debian/tests/control: New file.
+  * debian/libball1.5-data.lintian-overrides: Fix context syntax.
+  * debian/libballview1.5-dev.lintian-overrides: Delete; no longer needed.
+  * debian/ballview.1: Rename as...
+  * debian/BALLView.1: ...so that lintian doesn't complain.
+  * debian/ballview.manpages: Adjust filename.
+  * debian/ballview.desktop: Rename as...
+  * debian/BALLView.desktop: ...to match the executable.  Add %F to the
+    Exec key to fix a lintian warning.  Add Keywords key.  Rename
+    GenericName to Comment to fix an AppStream error.
+  * debian/ballview.install: Adjust accordingly.
+  * debian/libball1.5-doc.examples: New file; install all C++ examples.
+  * debian/upstream/metadata: Add Repository and Repository-Browse.
+  * debian/watch: Upgrade to version 5.
+  * debian/copyright: Replace GPL-2+ with LGPL-2.1+.  Add FreeBSD and
+    Modified BSD licenses.  Update copyright years.
+
  -- Andreas Tille <tille at debian.org>  Wed, 21 Dec 2022 17:52:30 +0100
 
 ball (1.5.0+git20180813.37fc53c-11.1) unstable; urgency=medium


=====================================
debian/control
=====================================
@@ -1,51 +1,49 @@
 Source: ball
 Maintainer: Debian Med Packaging Team <debian-med-packaging at lists.alioth.debian.org>
-Uploaders: Andreas Tille <tille at debian.org>,
-           Steffen Moeller <moeller at debian.org>
+Uploaders:
+ Andreas Tille <tille at debian.org>,
+ Steffen Moeller <moeller at debian.org>,
 Section: science
 Priority: optional
-Build-Depends: debhelper-compat (= 13),
-               dh-python,
-               qtbase5-dev,
-               libqt5opengl5-dev,
-               python3-sipbuild,
-               flex,
-               bison,
-               cmake,
-               qtwebengine5-dev [amd64 arm64 armhf i386 mips64el],
-               libeigen3-dev,
-               python3-dev,
-               libboost-dev,
-               libboost-iostreams-dev,
-               libboost-thread-dev,
-               libglew-dev,
-               libgl-dev,
-               liblpsolve55-dev,
-               libnsl-dev,
-               libsvm-dev,
-               libtbb-dev,
-               libx11-dev,
-               sip-tools,
-               tidy,
-               chrpath,
-               libtirpc-dev
-Build-Depends-Indep: doxygen,
-                     graphviz,
-                     ghostscript,
-                     texlive-latex-base,
-                     texlive-latex-recommended,
-                     texlive-fonts-recommended,
-                     texlive-latex-extra
-Standards-Version: 4.6.2
+Build-Depends:
+ debhelper-compat (= 13),
+ bison,
+ cmake,
+ flex,
+ libboost-dev,
+ libboost-iostreams-dev,
+ libboost-thread-dev,
+ libeigen3-dev,
+ libgl-dev,
+ libglew-dev,
+ liblpsolve55-dev,
+ libnsl-dev,
+ libqt5opengl5-dev,
+ libsvm-dev,
+ libtbb-dev,
+ libx11-dev,
+ qtbase5-dev,
+ qttools5-dev,
+ qtwebengine5-dev [amd64 arm64 armhf i386 mips64el],
+ tidy,
+Build-Depends-Indep:
+ doxygen,
+ ghostscript,
+ graphviz,
+ texlive-fonts-recommended,
+ texlive-latex-base,
+ texlive-latex-extra,
+ texlive-latex-recommended,
+Standards-Version: 4.7.2
 Vcs-Browser: https://salsa.debian.org/med-team/ball
 Vcs-Git: https://salsa.debian.org/med-team/ball.git
 Homepage: http://www.ball-project.org/
-Rules-Requires-Root: no
 
 Package: libball1.5-data
 Architecture: all
 Multi-Arch: foreign
-Depends: ${misc:Depends}
+Depends:
+ ${misc:Depends},
 Description: Biochemical Algorithms Library (data files)
  BALL (Biochemical Algorithms Library) is an application framework
  in C++ that has been specifically designed for rapid software
@@ -63,10 +61,12 @@ Description: Biochemical Algorithms Library (data files)
 
 Package: libball1.5
 Architecture: any
+Multi-Arch: same
 Section: libs
-Depends: ${shlibs:Depends},
-         ${misc:Depends},
-         libball1.5-data
+Depends:
+ libball1.5-data (= ${source:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends},
 Description: Biochemical Algorithms Library
  BALL (Biochemical Algorithms Library) is an application framework
  in C++ that has been specifically designed for rapid software
@@ -85,10 +85,15 @@ Description: Biochemical Algorithms Library
 
 Package: libball1.5-dev
 Architecture: any
+Multi-Arch: same
 Section: libdevel
-Depends: libball1.5 (= ${binary:Version}),
-         ${misc:Depends}
-Suggests: libball1.5-doc
+Depends:
+ libball1.5 (= ${binary:Version}),
+ libboost-dev,
+ qtbase5-dev,
+ ${misc:Depends},
+Suggests:
+ libball1.5-doc,
 Description: Header files for the Biochemical Algorithms Library
  BALL (Biochemical Algorithms Library) is an application framework
  in C++ that has been specifically designed for rapid software
@@ -106,9 +111,12 @@ Description: Header files for the Biochemical Algorithms Library
 
 Package: libballview1.5
 Architecture: any
+Multi-Arch: same
 Section: libs
-Depends: ${shlibs:Depends},
-         ${misc:Depends}
+Depends:
+ libball1.5 (= ${binary:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends},
 Description: Biochemical Algorithms Library, VIEW framework
  BALL (Biochemical Algorithms Library) is an application framework
  in C++ that has been specifically designed for rapid software
@@ -128,9 +136,14 @@ Package: libballview1.5-dev
 Architecture: any
 Multi-Arch: same
 Section: libdevel
-Depends: libballview1.5 (= ${binary:Version}),
-         ${misc:Depends}
-Recommends: libball1.5-doc
+Depends:
+ libball1.5-dev (= ${binary:Version}),
+ libballview1.5 (= ${binary:Version}),
+ libqt5opengl5-dev,
+ qtwebengine5-dev [amd64 arm64 armhf i386 mips64el],
+ ${misc:Depends},
+Recommends:
+ libball1.5-doc,
 Description: Header files for the VIEW part of the Biochemical Algorithms Library
  BALL (Biochemical Algorithms Library) is an application framework
  in C++ that has been specifically designed for rapid software
@@ -140,10 +153,11 @@ Description: Header files for the VIEW part of the Biochemical Algorithms Librar
 
 Package: ballview
 Architecture: any
-Depends: ${shlibs:Depends},
-         libball1.5,
-         libballview1.5,
-         ${misc:Depends}
+Depends:
+ libball1.5 (= ${binary:Version}),
+ libballview1.5 (= ${binary:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends},
 Description: free molecular modeling and molecular graphics tool
  BALLView provides fast OpenGL-based visualization of molecular structures,
  molecular mechanics methods (minimization, MD simulation using the
@@ -166,10 +180,11 @@ Package: libball1.5-doc
 Architecture: all
 Multi-Arch: foreign
 Section: doc
-Depends: ${misc:Depends},
-         libjs-jquery
-Suggests: libball1.5
-Conflicts: libball1.3-doc
+Depends:
+ libjs-jquery,
+ ${misc:Depends},
+Suggests:
+ libball1.5-dev,
 Description: documentation for the BALL library
  BALL (Biochemical Algorithms Library) is an application framework
  in C++ that has been specifically designed for rapid software


=====================================
debian/copyright
=====================================
@@ -4,7 +4,7 @@ Upstream-Contact: Andreas Hildebrandt <Andreas.Hildebrandt at uni-mainz.de>
 Source: https://github.com/BALL-Project/ball
 
 Files: *
-Copyright: © 1998-2013 the BALL project group
+Copyright: © 1998-2022 the BALL project group
                        Andreas Hildebrandt <anhi at bioinf.uni-sb.de>,
                        Oliver Kohlbacher <oliver.kohlbacher at uni-tuebingen.de>,
                        Andreas Moll <anmoll at gmx.de>
@@ -15,32 +15,95 @@ Copyright: © 1998-2013 the BALL project group
            Boghossian, Andreas Burchardt, Andreas Crauser, Anna Dehof, Carla
            Haid, Andreas Kerzmann, Heiko Klein, Hans-Peter Lenhof, Bettina
            Leonhardt, Peter Müller, Stefan Strobel, Marc Sturm
-License: GPL-2+
+License: LGPL-2.1+
+
+Files: cmake/FindEigen3.cmake
+Copyright: 2006, 2007 Montel Laurent <montel at kde.org>
+           2008, 2009 Gael Guennebaud <g.gael at free.fr>
+           2009 Benoit Jacob <jacob.benoit.1 at gmail.com>
+License: BSD-2-clause
+
+Files: cmake/FindlibSVM.cmake
+Copyright: 2010 Julien Schueller <schueller at phimeca.com>
+License: BSD-3-clause
 
 Files: debian/*
 Copyright: 2007 Andreas Moll <anmoll at gmx.de>
            2008-2011 Andreas Hildebrandt <anhi at bioinf.uni-sb.de>
                      Steffen Moeller <moeller at debian.org>
-License: GPL-2+
+           2011-2025 Debian Med Packaging Team
+License: LGPL-2.1+
 
-License: GPL-2+
-    This package is free software; you can redistribute it and/or
-    modify it either under the terms of the GNU Lesser General Public
-    License (libraries) or the GNU General Public License (the ballview
-    application) as published by the Free Software Foundation; either
-    version 2 of the License, or (at your option) any later version.
-    The respective source code will indicate which license is applying
-    for the code of your interest. If in doubt, contact the authors.
- .
-    This package is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
- .
-    You should have received a copy of the GNU Lesser General Public
-    License along with this package; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
- .
- On Debian systems, the complete text of the GNU General Public License
- version 2 can be found in `/usr/share/common-licenses/GPL-2'.
+License: LGPL-2.1+
+ This package is free software; you can redistribute it and/or
+ modify it either under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+ .
+ This package is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ Lesser General Public License for more details.
+ .
+ You should have received a copy of the GNU Lesser General Public
+ License along with this package; if not, see <https://www.gnu.org/licenses>.
+Comment:
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'.
 
+License: BSD-2-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ .
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ .
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE FREEBSD PROJECT ``AS IS'' AND ANY EXPRESS
+ OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
+ NO EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ .
+ The views and conclusions contained in the software and documentation
+ are those of the authors and should not be interpreted as representing
+ official policies, either expressed or implied, of the FreeBSD
+ Project.
+
+License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ .
+     (1) Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+ .
+     (2) Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in
+     the documentation and/or other materials provided with the
+     distribution.
+ .
+     (3)The name of the author may not be used to
+     endorse or promote products derived from this software without
+     specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+ IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.


=====================================
debian/libball1.5-data.lintian-overrides
=====================================
@@ -1,3 +1,3 @@
 # These are no user readable docs
-libball1.5-data: package-contains-documentation-outside-usr-share-doc usr/share/BALL-1.5/BALLView/shortcuts_*
+libball1.5-data: package-contains-documentation-outside-usr-share-doc [usr/share/BALL-1.5/BALLView/shortcuts_*]
 


=====================================
debian/libball1.5-dev.dirs deleted
=====================================
@@ -1,2 +0,0 @@
-/usr/include/BALL
-/usr/lib/cmake/BALL


=====================================
debian/libball1.5-doc.examples
=====================================
@@ -0,0 +1,2 @@
+doc/examples/EXAMPLES.txt
+doc/examples/*.C


=====================================
debian/libballview1.5-dev.lintian-overrides deleted
=====================================
@@ -1,2 +0,0 @@
-# Dir is actually not empty but contains cmake modules
-libballview1.5-dev: package-contains-empty-directory usr/lib/


=====================================
debian/patches/2to3.patch
=====================================
@@ -1,6 +1,7 @@
-Author: Andreas Tille <tille at debian.org>
-Last-Update: Thu, 23 Sep 2021 08:32:46 +0200
 Description: Use 2to3 to convert Python2 script to Python3
+Author: Andreas Tille <tille at debian.org>
+Last-Update: 2021-09-23
+---
 
 --- a/data/Amber/converter/parmConverter.py
 +++ b/data/Amber/converter/parmConverter.py


=====================================
debian/patches/cmake-4.patch
=====================================
@@ -0,0 +1,20 @@
+Description: Fix FTBFS with CMake 4.
+Bug-Debian: https://bugs.debian.org/1112717
+Author: Yavor Doganov <yavor at gnu.org>
+Forwarded: no
+Last-Update: 2025-11-07
+---
+
+--- ball.orig/CMakeLists.txt
++++ ball/CMakeLists.txt
+@@ -5,9 +5,8 @@
+ #
+ ########################################################
+ 
+-CMAKE_MINIMUM_REQUIRED(VERSION 3.1.0 FATAL_ERROR)
++CMAKE_MINIMUM_REQUIRED(VERSION 3.1.0...3.5 FATAL_ERROR)
+ 
+-CMAKE_POLICY(SET CMP0042 OLD)
+ CMAKE_POLICY(SET CMP0043 NEW)
+ CMAKE_POLICY(SET CMP0048 NEW)
+ 


=====================================
debian/patches/gcc-15.patch
=====================================
@@ -0,0 +1,18 @@
+Description: Fix FTBFS with GCC 15.
+Bug-Debian: https://bugs.debian.org/1114056
+Author: Yavor Doganov <yavor at gnu.org>
+Forwarded: no
+Last-Update: 2025-11-07
+---
+
+--- ball.orig/include/BALL/DATATYPE/contourSurface.h
++++ ball/include/BALL/DATATYPE/contourSurface.h
+@@ -302,7 +302,7 @@
+ 	bool TContourSurface<T>:: operator == (const TContourSurface<T>& data) const
+ 	{
+ 		return ((threshold_    == data.threshold_)
+-						 && Surface::operator == (data.data_));
++						 && Surface::operator == (data));
+ 	}
+ 
+   template <typename T>


=====================================
debian/patches/lpsolve-link.patch
=====================================
@@ -0,0 +1,17 @@
+Description: Fix linking with lpsolve.
+Author: Yavor Doganov <yavor at gnu.org>
+Forwarded: no
+Last-Update: 2025-11-07
+---
+
+--- ball.orig/cmake/FindLPSolve.cmake
++++ ball/cmake/FindLPSolve.cmake
+@@ -36,7 +36,7 @@
+ 		)
+ 
+ 		FIND_LIBRARY(TMP_LPSOLVE_LIBRARIES 
+-			NAMES lpsolve55 
++			NAMES lpsolve55_pic
+ 			PATHS ${LPSOLVE_LIBRARIES} ${LPSOLVE_LIB_TRIALPATH}
+ 			PATH_SUFFIXES lp_solve)
+ 		SET(LPSOLVE_LIBRARIES ${TMP_LPSOLVE_LIBRARIES} CACHE STRING "Full path to the lpsolve55 library (including the library)" FORCE)


=====================================
debian/patches/missing_GLEW
=====================================
@@ -1,6 +1,7 @@
-Author: Michael R. Crusoe
-Last-Update: 2020-02-19 18:12:17 +0100
 Description: Fix build by adding missing GLEW
+Author: Michael R. Crusoe
+Last-Update: 2020-02-19
+---
 
 --- ball.orig/source/APPLICATIONS/BALLVIEW/CMakeLists.txt
 +++ ball/source/APPLICATIONS/BALLVIEW/CMakeLists.txt


=====================================
debian/patches/reproducibility.patch
=====================================
@@ -0,0 +1,38 @@
+Description: Fix some reproducibility issues.
+ The source/APPLICATIONS/BALLVIEW directory can be added to
+ STRIP_FROM_PATH but these are private headers of the BALLView
+ application so they shouldn't be exposed anyway.
+ .
+ The search index is non-reproducible; that's doxygen #1078868 which
+ is fixed upstream.
+ .
+ There is non-deterministic output when generating two _source.html
+ files with reprotest's "fileordering" variation.  This issue *might*
+ be fixed in newer upstream releases (at the time of writing, Debian
+ has doxygen/1.9.8 while the latest upstream release is 1.15.0).
+Author: Yavor Doganov <yavor at gnu.org>
+Forwarded: no
+Last-Update: 2025-11-10
+---
+
+--- ball.orig/doc/doxygen/Doxyfile_inc.in
++++ ball/doc/doxygen/Doxyfile_inc.in
+@@ -158,7 +158,7 @@
+ # support long names like on DOS, Mac, or CD-ROM.
+ # The default value is: NO.
+ 
+-SHORT_NAMES            = YES
++SHORT_NAMES            = NO
+ 
+ # If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
+ # first line (until the first dot) of a Javadoc-style comment as the brief
+@@ -734,8 +734,7 @@
+ # spaces.
+ # Note: If this tag is empty the current directory is searched.
+ 
+-INPUT                  = @CF_BALL_SRC_PATH@/include/BALL/ \
+-                         @CF_BALL_SRC_PATH@/source/APPLICATIONS/BALLVIEW/
++INPUT                  = @CF_BALL_SRC_PATH@/include/BALL
+ 
+ # This tag can be used to specify the character encoding of the source files
+ # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses


=====================================
debian/patches/series
=====================================
@@ -3,3 +3,8 @@ missing_GLEW
 2to3.patch
 #fix-findsip.patch
 #fix-python-bindings.patch
+gcc-15.patch
+lpsolve-link.patch
+cmake-4.patch
+reproducibility.patch
+spelling-errors.patch


=====================================
debian/patches/spelling-errors.patch
=====================================
@@ -0,0 +1,449 @@
+Description: Fix some spelling errors.
+Author: Yavor Doganov <yavor at gnu.org>
+Forwarded: no
+Last-Update: 2025-11-10
+---
+
+--- ball.orig/source/APPLICATIONS/BALLVIEW/main.C
++++ ball/source/APPLICATIONS/BALLVIEW/main.C
+@@ -129,7 +129,7 @@
+ 		catch(...)
+ 		{
+ 			QMessageBox::warning(0, "Error while starting BALLView",
+-					QString("You dont have write access to the current working directory\n") + 
++					QString("You don't have write access to the current working directory\n") +
+ 					"and BALLView can not find your home directory. This can cause\n" + 
+ 					"unexpected behaviour. Please start BALLView from your homedir with\n" + 
+ 					"absolute path (e.g. C:\\Programs\\BALLView\\BALLView).\n");
+--- ball.orig/source/APPLICATIONS/BALLVIEW/mainframe.C
++++ ball/source/APPLICATIONS/BALLVIEW/mainframe.C
+@@ -165,7 +165,7 @@
+ 		description = "Shortcut|Help|About";
+ 		action = insertMenuEntry(MainControl::HELP, (String)tr("About"), this, SLOT(about()), description);
+ 		if (action)
+-			setMenuHint(action, (String)tr("Show informations on this version of BALLView"));
++			setMenuHint(action, (String)tr("Show information on this version of BALLView"));
+ 
+ 		// TODO: why is this done here and not, e.g., in mainControl()???
+ 		description = "Shortcut|MolecularMechanics|Abort_Calculation";
+--- ball.orig/source/CONCEPT/molecularInformation.C
++++ ball/source/CONCEPT/molecularInformation.C
+@@ -28,8 +28,8 @@
+ 	void MolecularInformation::clear()
+ 		
+ 	{
+-		name_ = "unkown";
+-		type_name_ = "unkown type";
++		name_ = "unknown";
++		type_name_ = "unknown type";
+ 		type_ = TYPE__UNKNOWN;
+ 	}
+ 
+@@ -84,7 +84,7 @@
+ 
+ 	void MolecularInformation::getTypeName_()
+ 	{
+-		type_name_ = "unkown type";
++		type_name_ = "unknown type";
+ 		switch(type_)
+ 		{
+ 			case TYPE__PROTEIN:
+--- ball.orig/source/DOCKING/GENETICDOCK/geneticAlgorithm.C
++++ ball/source/DOCKING/GENETICDOCK/geneticAlgorithm.C
+@@ -476,7 +476,7 @@
+ 			return true;
+ 		} else
+ 		{
+-			cerr << "GeneticAlgorithm: unkown Parameter" << endl;
++			cerr << "GeneticAlgorithm: unknown Parameter" << endl;
+ 			return false;
+ 		}
+ 	}
+--- ball.orig/source/FORMAT/DCDFile.C
++++ ball/source/FORMAT/DCDFile.C
+@@ -530,7 +530,7 @@
+ 		{
+ 			if (number_of_atoms_ != 0)
+ 			{
+-				Log.error() << "Differnt number of atoms in SnapShot in DCDFile:" 
++				Log.error() << "Different number of atoms in SnapShot in DCDFile:"
+ 										<< snapshot.getNumberOfAtoms() << std::endl;
+ 			}
+ 			number_of_atoms_ = snapshot.getNumberOfAtoms();
+--- ball.orig/source/FORMAT/XYZFile.C
++++ ball/source/FORMAT/XYZFile.C
+@@ -158,7 +158,7 @@
+ 				Size nr_fields = line.split(fields);
+ 				if (nr_fields < 4)
+ 				{
+-					Log.error() << "XYZFile: Not enought fields per line!" << std::endl;
++					Log.error() << "XYZFile: Not enough fields per line!" << std::endl;
+ 					ok = false;
+ 					break;
+ 				}
+--- ball.orig/source/FORMAT/commandlineParser.C
++++ ball/source/FORMAT/commandlineParser.C
+@@ -967,7 +967,7 @@
+ 			if (p.supported_formats.empty())
+ 			{
+ 				throw BALL::Exception::GeneralException(__FILE__,__LINE__,"registerParameter error",
+-						"The parameter [" + p.name + "] has been registerd as a file " +
++						"The parameter [" + p.name + "] has been registered as a file " +
+ 						"but does not have any supported formats registered.\n"+
+ 						"You can set the supported formats by using CommandlineParser::setSupportedFormats.");
+ 			}
+--- ball.orig/source/QSAR/QSARData.C
++++ ball/source/QSAR/QSARData.C
+@@ -980,7 +980,7 @@
+ 			if (ylabels) nec_min_size++; 
+ 			if (prop < nec_min_size)
+ 			{
+-				throw BALL::Exception::GeneralException(__FILE__, __LINE__, "CSV-file reading error", "Too few columns found in file. Most likely, the wrong seperator symbol was specified!!"); 
++				throw BALL::Exception::GeneralException(__FILE__, __LINE__, "CSV-file reading error", "Too few columns found in file. Most likely, the wrong separator symbol was specified!!");
+ 			}
+ 			
+ 			int old_size = descriptor_matrix_.size(); 
+--- ball.orig/source/QSAR/allModel.C
++++ ball/source/QSAR/allModel.C
+@@ -224,7 +224,7 @@
+ 			int no_y = training_result_.cols();
+ 			if (no_y == 0) no_y = y_transformations_.cols(); // correct no because transformation information will have to by read anyway when reading this model later ...
+ 			
+-			out<<"# model-type_\tno of featues in input data\tselected featues\tno of response variables\tcentered descriptors?\tcentered response?\tno of substances"<<std::endl;
++			out<<"# model-type_\tno of features in input data\tselected features\tno of response variables\tcentered descriptors?\tcentered response?\tno of substances"<<std::endl;
+ 			out<<type_<<"\t"<<data->getNoDescriptors()<<"\t"<<sel_features<<"\t"<<no_y<<"\t"<<centered_data<<"\t"<<centered_y<<"\t"<<descriptor_matrix_.rows()<<"\n\n";
+ 				
+ 			saveModelParametersToFile(out);
+--- ball.orig/source/QSAR/kernelModel.C
++++ ball/source/QSAR/kernelModel.C
+@@ -121,7 +121,7 @@
+ 			int no_y = training_result_.cols();
+ 			if (no_y == 0) no_y = y_transformations_.cols(); // correct no because transformation information will have to by read anyway when reading this model later ...
+ 			
+-			out<<"# model-type_\tno of featues in input data\tselected featues\tno of response variables\tcentered descriptors?\tcentered response?\tno of substances\ttrained?"<<endl;
++			out<<"# model-type_\tno of features in input data\tselected features\tno of response variables\tcentered descriptors?\tcentered response?\tno of substances\ttrained?"<<endl;
+ 			out<<type_<<"\t"<<data->getNoDescriptors()<<"\t"<<sel_features<<"\t"<<no_y<<"\t"<<centered_data<<"\t"<<centered_y<<"\t"<<descriptor_matrix_.rows()<<"\t"<<trained<<"\n\n";
+ 			
+ 			saveKernelParametersToFile(out);
+--- ball.orig/source/QSAR/ldaModel.C
++++ ball/source/QSAR/ldaModel.C
+@@ -186,7 +186,7 @@
+ 			int no_y = sigma_.cols();
+ 			if (no_y == 0) no_y = y_transformations_.cols(); // correct no because transformation information will have to by read anyway when reading this model later ...
+ 			
+-			out<<"# model-type_\tno of featues in input data\tselected featues\tno of response variables\tcentered descriptors?\tno of classes\ttrained?"<<endl;
++			out<<"# model-type_\tno of features in input data\tselected features\tno of response variables\tcentered descriptors?\tno of classes\ttrained?"<<endl;
+ 			out<<type_<<"\t"<<data->getNoDescriptors()<<"\t"<<sel_features<<"\t"<<no_y<<"\t"<<centered_data<<"\t"<<no_substances_.size()<<"\t"<<trained<<"\n\n";
+ 
+ 			saveModelParametersToFile(out);
+--- ball.orig/source/QSAR/logitModel.C
++++ ball/source/QSAR/logitModel.C
+@@ -125,7 +125,7 @@
+ 			int no_y = training_result_.cols();
+ 			if (no_y == 0) no_y = y_transformations_.cols(); // correct no because transformation information will have to by read anyway when reading this model later ...
+ 			
+-			out<<"# model-type_\tno of featues in input data\tselected featues\tno of response variables\tcentered descriptors?\tno of classes"<<endl;
++			out<<"# model-type_\tno of features in input data\tselected features\tno of response variables\tcentered descriptors?\tno of classes"<<endl;
+ 			out<<type_<<"\t"<<data->getNoDescriptors()<<"\t"<<sel_features<<"\t"<<no_y<<"\t"<<centered_data<<"\t"<<no_substances_.size()<<"\n\n";
+ 			
+ 			out<<"# model-parameters"<<endl;  /// write model parameters 
+--- ball.orig/source/QSAR/nBModel.C
++++ ball/source/QSAR/nBModel.C
+@@ -257,7 +257,7 @@
+ 			int no_y = probabilities_.size();
+ 			if (no_y == 0) no_y = y_transformations_.cols(); // correct no because transformation information will have to by read anyway when reading this model later ...
+ 			
+-			out<<"# model-type_\tno of featues in input data\tselected featues\tno of response variables\tcentered descriptors?\tno of classes\ttrained?"<<endl;
++			out<<"# model-type_\tno of features in input data\tselected features\tno of response variables\tcentered descriptors?\tno of classes\ttrained?"<<endl;
+ 			out<<type_<<"\t"<<data->getNoDescriptors()<<"\t"<<sel_features<<"\t"<<no_y<<"\t"<<centered_data<<"\t"<<no_substances_.size()<<"\t"<<trained<<"\n\n";
+ 
+ 			saveModelParametersToFile(out);
+--- ball.orig/source/QSAR/regressionModel.C
++++ ball/source/QSAR/regressionModel.C
+@@ -151,7 +151,7 @@
+ 			int no_y = training_result_.cols();
+ 			if (no_y == 0) no_y = y_transformations_.cols(); // correct no because transformation information will have to by read anyway when reading this model later ...
+ 			
+-			out<<"# model-type_\tno of featues in input data\tselected featues\tno of response variables\tcentered descriptors?\tcentered response?\ttrained?"<<endl;
++			out<<"# model-type_\tno of features in input data\tselected features\tno of response variables\tcentered descriptors?\tcentered response?\ttrained?"<<endl;
+ 			out<<type_<<"\t"<<data->getNoDescriptors()<<"\t"<<sel_features<<"\t"<<no_y<<"\t"<<centered_data<<"\t"<<centered_y<<"\t"<<trained<<"\n\n";
+ 			
+ 			saveModelParametersToFile(out);
+--- ball.orig/source/QSAR/regressionValidation.C
++++ ball/source/QSAR/regressionValidation.C
+@@ -261,7 +261,7 @@
+ 		{
+ 			if (model_->data->descriptor_matrix_.size() == 0 || model_->data->Y_.size() == 0)
+ 			{
+-				throw Exception::InconsistentUsage(__FILE__, __LINE__, "Data must be fetched from input-files by QSARData before standart errors of coefficients can be calculated!"); 
++				throw Exception::InconsistentUsage(__FILE__, __LINE__, "Data must be fetched from input-files by QSARData before standard errors of coefficients can be calculated!");
+ 			}
+ 			if (dynamic_cast < KernelModel* > (model_))
+ 			{
+--- ball.orig/source/QSAR/snBModel.C
++++ ball/source/QSAR/snBModel.C
+@@ -250,7 +250,7 @@
+ 			int no_y = mean_.size();
+ 			if (no_y == 0) no_y = y_transformations_.cols(); // correct no because transformation information will have to by read anyway when reading this model later ...
+ 			
+-			out<<"# model-type_\tno of featues in input data\tselected featues\tno of response variables\tcentered descriptors?\tno of classes\ttrained?"<<endl;
++			out<<"# model-type_\tno of features in input data\tselected features\tno of response variables\tcentered descriptors?\tno of classes\ttrained?"<<endl;
+ 			out<<type_<<"\t"<<data->getNoDescriptors()<<"\t"<<sel_features<<"\t"<<no_y<<"\t"<<centered_data<<"\t"<<no_substances_.size()<<"\t"<<trained<<"\n\n";
+ 
+ 			saveModelParametersToFile(out);
+--- ball.orig/source/SCORING/COMPONENTS/polarSolvation.C
++++ ball/source/SCORING/COMPONENTS/polarSolvation.C
+@@ -392,7 +392,7 @@
+ 				}
+ 				else
+ 				{
+-					Log.error() << "Random averaging not yet implmented, aborting"
++					Log.error() << "Random averaging not yet implemented, aborting"
+ 						<< endl;
+ 					return false;
+ 				}
+--- ball.orig/source/SOLVATION/generalizedBornCase.C
++++ ball/source/SOLVATION/generalizedBornCase.C
+@@ -456,7 +456,7 @@
+ 		GeneralizedBornModel::GBParameters gb_parameters;
+ 		if (!gb_parameters.extractSection(gb_parameter_file, "ScalingFactors"))
+ 		{
+-			Log.error() << "Error reading paramters" << std::endl;
++			Log.error() << "Error reading parameters" << std::endl;
+ 			return(false);
+ 		}
+ 		scaling_factors_ = gb_parameters.getScalingFactors();
+--- ball.orig/source/STRUCTURE/BONDORDERS/FPTBondOrderStrategy.C
++++ ball/source/STRUCTURE/BONDORDERS/FPTBondOrderStrategy.C
+@@ -1131,7 +1131,7 @@
+ 
+ 		if (b_length != left.numberOfBonds())
+ 		{
+-			throw Exception::InvalidArgument(__FILE__, __LINE__, "Can compare only entries from childs of the same join bag");
++			throw Exception::InvalidArgument(__FILE__, __LINE__, "Can compare only entries from children of the same join bag");
+ 		}
+ 
+ 		// compare just bond values
+--- ball.orig/source/STRUCTURE/smartsParser.C
++++ ball/source/STRUCTURE/smartsParser.C
+@@ -268,7 +268,7 @@
+ 						count += 3;
+ 						break;
+ 					default:
+-						Log.error() << "SmartsParser: errorneous bond order (" << bit->getOrder() << ")" << endl;
++						Log.error() << "SmartsParser: erroneous bond order (" << bit->getOrder() << ")" << endl;
+ 				}
+ 			}
+ 		}
+--- ball.orig/source/VIEW/DATATYPE/standardDatasets.C
++++ ball/source/VIEW/DATATYPE/standardDatasets.C
+@@ -88,7 +88,7 @@
+ 		rawFile.close();
+ 
+ 		Log.info() << "Raw data written" << std::endl;		
+-		Log.info() << "File saved succesfully" << std::endl;
++		Log.info() << "File saved successfully" << std::endl;
+ 	}	
+ 
+ 	/////////////////////////////////////////////
+--- ball.orig/source/VIEW/DIALOGS/coloringSettingsDialog.ui
++++ ball/source/VIEW/DIALOGS/coloringSettingsDialog.ui
+@@ -618,7 +618,7 @@
+          <item row="0" column="2" colspan="2">
+           <widget class="BALL::VIEW::ColorButton" name="force_min_color_button">
+            <property name="toolTip">
+-            <string>Edit mininum color value</string>
++            <string>Edit minimum color value</string>
+            </property>
+           </widget>
+          </item>
+--- ball.orig/source/VIEW/DIALOGS/contourSurfaceDialog.ui
++++ ball/source/VIEW/DIALOGS/contourSurfaceDialog.ui
+@@ -165,7 +165,7 @@
+      <enum>Qt::TabFocus</enum>
+     </property>
+     <property name="toolTip" >
+-     <string>Edit mininum color value</string>
++     <string>Edit minimum color value</string>
+     </property>
+     <property name="text" >
+      <string>Edit</string>
+--- ball.orig/source/VIEW/DIALOGS/editSingleShortcut.ui
++++ ball/source/VIEW/DIALOGS/editSingleShortcut.ui
+@@ -61,10 +61,10 @@
+           </size>
+          </property>
+          <property name="toolTip">
+-          <string>Define a customized shortcut by pressing the correspoding keys</string>
++          <string>Define a customized shortcut by pressing the corresponding keys</string>
+          </property>
+          <property name="statusTip">
+-          <string>Define a customized shortcut by pressing the correspoding keys</string>
++          <string>Define a customized shortcut by pressing the corresponding keys</string>
+          </property>
+          <property name="whatsThis">
+           <string>Dialog for defining customized shortcuts.</string>
+--- ball.orig/source/VIEW/DIALOGS/lightSettings.ui
++++ ball/source/VIEW/DIALOGS/lightSettings.ui
+@@ -378,7 +378,7 @@
+         <item>
+          <widget class="QRadioButton" name="ambient">
+           <property name="toolTip">
+-           <string>Ambient light doesnt have a specific position source</string>
++           <string>Ambient light doesn't have a specific position source</string>
+           </property>
+           <property name="text">
+            <string>Ambient</string>
+--- ball.orig/source/VIEW/DIALOGS/modifyRepresentationDialog.C
++++ ball/source/VIEW/DIALOGS/modifyRepresentationDialog.C
+@@ -339,7 +339,7 @@
+ 		{
+ 			if (grid_ == 0 || rep_ == 0 || getMainControl()->isBusy())
+ 			{
+-				setStatusbarText((String)tr("Could not color surface, maybe because an other thread is still running?"), true);
++				setStatusbarText((String)tr("Could not color surface, maybe because another thread is still running?"), true);
+ 				return false;
+ 			}
+ 
+--- ball.orig/source/VIEW/DIALOGS/setClippingPlane.ui
++++ ball/source/VIEW/DIALOGS/setClippingPlane.ui
+@@ -73,7 +73,7 @@
+     </size>
+    </property>
+    <property name="toolTip">
+-    <string>Close window without reseting camera</string>
++    <string>Close window without resetting camera</string>
+    </property>
+    <property name="text">
+     <string>C&ancel</string>
+--- ball.orig/source/VIEW/DIALOGS/stereoSettingsDialog.ui
++++ ball/source/VIEW/DIALOGS/stereoSettingsDialog.ui
+@@ -376,7 +376,7 @@
+         </size>
+        </property>
+        <property name="toolTip">
+-        <string>Close window without reseting camera</string>
++        <string>Close window without resetting camera</string>
+        </property>
+        <property name="text">
+         <string>C&ancel</string>
+--- ball.orig/source/VIEW/DIALOGS/undoManagerDialog.ui
++++ ball/source/VIEW/DIALOGS/undoManagerDialog.ui
+@@ -63,7 +63,7 @@
+         </sizepolicy>
+        </property>
+        <property name="toolTip">
+-        <string>Reset to a choosen snapshot</string>
++        <string>Reset to a chosen snapshot</string>
+        </property>
+        <property name="text">
+         <string>&Reset To</string>
+--- ball.orig/source/VIEW/KERNEL/mainControl.C
++++ ball/source/VIEW/KERNEL/mainControl.C
+@@ -234,7 +234,7 @@
+ 						"-l flag to enable logging and read the file "+
+ 						logging_file_name_.c_str() + "." +
+ 						"This file is created in either your home directory or\n"+
+-						"in the directory with this executeable.",
++						"in the directory with this executable.",
+ 						QMessageBox::Close | QMessageBox::Open, this);
+ 
+ 					mbox->button(QMessageBox::Open)->setText(tr("Choose datapath ..."));
+@@ -972,7 +972,7 @@
+ 		{
+ 			if (isBusy()) 
+ 			{
+-				setStatusbarText((String)tr("Cant apply preferences while beeing busy!"), true);
++				setStatusbarText((String)tr("Can't apply preferences while being busy!"), true);
+ 				return;
+ 			}
+ 
+@@ -1958,7 +1958,7 @@
+ 		catch(...)
+ 		{
+ 			setStatusbarText((String)tr("Could not open the project file") 
+-					             + " \"" + filename + "\", " + (String)tr("it doesnt seem to exist."), true);
++					             + " \"" + filename + "\", " + (String)tr("it doesn't seem to exist."), true);
+ 			return;
+ 		}
+ 
+@@ -2300,7 +2300,7 @@
+ 			}
+ 		}
+ 
+-		Log.error() << (String)tr("Dont know how to open ")
++		Log.error() << (String)tr("Don't know how to open ")
+ 								<< file << (String)tr(". This extension is not supported.") << std::endl;
+ 	}
+ 
+--- ball.orig/source/VIEW/KERNEL/serverWidget.C
++++ ball/source/VIEW/KERNEL/serverWidget.C
+@@ -256,7 +256,7 @@
+ 				break;
+ 
+    			default:
+-					Log.info() << "Server: unkown command." << endl;
++					Log.info() << "Server: unknown command." << endl;
+ 					connected_stream_.close();
+ 					break;
+ 			}
+--- ball.orig/source/VIEW/RENDERING/glRenderWindow.C
++++ ball/source/VIEW/RENDERING/glRenderWindow.C
+@@ -317,7 +317,7 @@
+ 						result = "The specified table is too large";
+ 						break;
+ 				default:
+-						result = "Uknown OpenGL error";
++						result = "Unknown OpenGL error";
+ 				}
+ 				return result;
+ 		}
+--- ball.orig/source/VIEW/WIDGETS/molecularStructure.C
++++ ball/source/VIEW/WIDGETS/molecularStructure.C
+@@ -944,7 +944,7 @@
+ 			if (!a1->apply(getFragmentDB().normalize_names) ||
+ 					!a2->apply(getFragmentDB().normalize_names)		) 
+ 			{
+-				setStatusbarText((String)tr("Could not apply normalize names, so cant calulate RMSD"), true);
++				setStatusbarText((String)tr("Could not apply normalize names, so can't calculate RMSD"), true);
+ 				return;
+ 			}
+ 
+@@ -952,7 +952,7 @@
+ 			ab.assignByName(*a1, *a2);
+ 			float rmsd = ab.calculateRMSD();
+ 
+-			String rmsd_text((String)tr("Calcuted RMSD") + ": " + String(rmsd) + " A.");
++			String rmsd_text((String)tr("Calculated RMSD") + ": " + String(rmsd) + " A.");
+ 
+ 			a1->deselect();
+ 			a2->deselect();
+@@ -1040,7 +1040,7 @@
+ 			if (!a1->apply(getFragmentDB().normalize_names) ||
+ 					!a2->apply(getFragmentDB().normalize_names)		) 
+ 			{
+-				setStatusbarText((String)tr("Could not apply normalize names, so cant calulate RMSD"), true);
++				setStatusbarText((String)tr("Could not apply normalize names, so can't calculate RMSD"), true);
+ 				return;
+ 			}
+ 
+@@ -1430,7 +1430,7 @@
+ 					delete thread;
+ 					delete mds;
+ 					if (trajectory_file != 0) delete trajectory_file;
+-					setStatusbarText((String)tr("Could not lock Composites, is an other thread running?"), true);
++					setStatusbarText((String)tr("Could not lock Composites, is another thread running?"), true);
+ 					return;
+ 				}
+ 
+--- ball.orig/source/VIEW/WIDGETS/scene.C
++++ ball/source/VIEW/WIDGETS/scene.C
+@@ -1394,7 +1394,7 @@
+ 			description = "Shortcut|Display|Viewpoint|Reset_Camera";
+ 			insertMenuEntry(MainControl::DISPLAY_VIEWPOINT, tr("Rese&t Camera"), this,
+ 							SLOT(resetCamera_()), description, QKeySequence(),
+-							tr("Reset the camera to the orgin (0,0,0)"), UIOperationMode::MODE_ADVANCED);
++							tr("Reset the camera to the origin (0,0,0)"), UIOperationMode::MODE_ADVANCED);
+ 
+ 			getMainControl()->insertPopupMenuSeparator(MainControl::DISPLAY_VIEWPOINT, UIOperationMode::MODE_ADVANCED);
+ 


=====================================
debian/rules
=====================================
@@ -1,5 +1,5 @@
 #!/usr/bin/make -f
-# -*- makefile -*-
+# -*- makefile-gmake -*-
 # Uncomment this to turn on verbose mode.
 export DH_VERBOSE=1
 DPKG_EXPORT_BUILDFLAGS = 1
@@ -9,20 +9,26 @@ SOVERSION=1.5
 BALL_INSTALL_PATH=build
 #PYTHON_VERSION=$(shell py3versions -d)
 #PYTHON_SITE_PATH=/lib/python3/dist-packages
-LDFLAGS+=-ltirpc
-CXXFLAGS+=-I/usr/include/tirpc
 
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 
+# Needed for a reproducible tutorial.pdf.
+export FORCE_SOURCE_DATE := 1
+
 %:
-	dh $@ --buildsystem=cmake --builddirectory=build # --with python3
+	dh $@ --buildsystem=cmake --builddirectory=build
 
 override_dh_auto_configure:
-	mkdir -p build
-	cd build && LDFLAGS="$(LDFLAGS)" CXXFLAGS="$(CXXFLAGS)" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
-	            cmake .. -DCMAKE_SOURCE_DIR=$(CURDIR) -DCMAKE_INSTALL_PREFIX=./usr \
-		    -DBALL_PATH=/usr -DBALL_DATA_PATH=/usr/share/BALL-$(SOVERSION)/data \
-		    -DCMAKE_VERBOSE_MAKEFILE=ON
+# The plugins are not installed so there is no sense to build them.
+# TODO: The -DCMAKE_BUILD_RPATH_USE_ORIGIN=ON option is passed by
+# default in dh compat 14, so remove it when upgrading.
+	dh_auto_configure -- -DCMAKE_INSTALL_PREFIX=./usr \
+	  -DCMAKE_BUILD_RPATH_USE_ORIGIN=ON \
+	  -DBALL_PATH=/usr \
+	  -DBALL_DATA_PATH=/usr/share/BALL-$(SOVERSION)/data \
+	  -DBALL_PYTHON_SUPPORT=OFF \
+	  -DBALL_BUILD_BALLAXY=OFF \
+	  -DUSE_PRESENTABALL_PLUGIN=OFF
 
 #		    -DSIP_LIBRARIES=/usr/lib/python3/dist-packages \
 
@@ -64,10 +70,14 @@ override_dh_auto_build-arch:
 	## Somehow the code
 	##   ADD_BALL_UIFILES("VIEW/DIALOGS" "${UI_LIST}")
 	## needs to be called before the build code below can be started
-	make -C build BALL VIEW BALLView build_tests install
+	dh_auto_build -- BALL VIEW BALLView install
+# Don't build the tests if they are not going to be run.
+ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+	dh_auto_build -- build_tests
+endif
 
 override_dh_auto_build-indep:
-	make -C build doc doc_tutorial install
+	dh_auto_build -- doc doc_tutorial install
 
 override_dh_auto_clean:
 	[ -d source ] && cd source ; \
@@ -96,9 +106,9 @@ override_dh_auto_clean:
 
 
 override_dh_auto_install-arch:
-	mkdir -p debian/libball$(SOVERSION)/usr/lib \
+	mkdir -p debian/libball$(SOVERSION)/usr/lib/$(DEB_HOST_MULTIARCH) \
 		debian/libball$(SOVERSION)-data/usr/share/BALL-$(SOVERSION) \
-		debian/libballview$(SOVERSION)/usr/lib \
+		debian/libballview$(SOVERSION)/usr/lib/$(DEB_HOST_MULTIARCH) \
                 debian/ballview/usr/lib/ballview/
 
 	mkdir -p debian/ballview/usr/share/BALL-$(SOVERSION)/data/graphics
@@ -107,8 +117,8 @@ override_dh_auto_install-arch:
 	cp    $(BALL_INSTALL_PATH)/usr/bin/BALLView		debian/ballview/usr/lib/ballview/
 	cp -a debian/bin/*					debian/ballview/usr/bin
 
-	find $(BALL_INSTALL_PATH)/usr/lib/ -name libBALL*.so.* | xargs -r cp --target-directory debian/libball$(SOVERSION)/usr/lib/
-	find $(BALL_INSTALL_PATH)/usr/lib/ -name libVIEW*.so.* | xargs -r cp --target-directory debian/libballview$(SOVERSION)/usr/lib/
+	find $(BALL_INSTALL_PATH)/usr/lib/ -name libBALL*.so.* | xargs -r cp --target-directory debian/libball$(SOVERSION)/usr/lib/$(DEB_HOST_MULTIARCH)
+	find $(BALL_INSTALL_PATH)/usr/lib/ -name libVIEW*.so.* | xargs -r cp --target-directory debian/libballview$(SOVERSION)/usr/lib/$(DEB_HOST_MULTIARCH)
 
 	# debian needs the logo in the ballview - package, not in the libball
 	cp $(BALL_INSTALL_PATH)/usr/share/BALL/graphics/ballview*.xpm debian/ballview/usr/share/pixmaps/
@@ -118,24 +128,21 @@ override_dh_auto_install-arch:
 #	cp $(BALL_INSTALL_PATH)/usr/lib/BALLCore.so   debian/python-ball/usr/$(PYTHON_SITE_PATH)
 
 	# -dev packages are arch dependent
-	mkdir -p debian/libball$(SOVERSION)-dev/usr/lib \
+	mkdir -p debian/libball$(SOVERSION)-dev/usr/lib/$(DEB_HOST_MULTIARCH) \
 		debian/libballview$(SOVERSION)-dev/usr/include/BALL \
-		debian/libballview$(SOVERSION)-dev/usr/lib \
+		debian/libballview$(SOVERSION)-dev/usr/lib/$(DEB_HOST_MULTIARCH) \
 		debian/libball$(SOVERSION)-dev/usr/include
 	# move the cmake configuration files to their final location
-	cp -R $(BALL_INSTALL_PATH)/usr/lib/cmake/ debian/libball$(SOVERSION)-dev/usr/lib
+	cp -R $(BALL_INSTALL_PATH)/usr/lib/$(DEB_HOST_MULTIARCH)/cmake/ debian/libball$(SOVERSION)-dev/usr/lib/$(DEB_HOST_MULTIARCH)
 
 	cp -r $(BALL_INSTALL_PATH)/usr/include/BALL       debian/libball$(SOVERSION)-dev/usr/include
 	cp -r $(BALL_INSTALL_PATH)/usr/include/BALL/VIEW  debian/libballview$(SOVERSION)-dev/usr/include/BALL
+	cp -P $(BALL_INSTALL_PATH)/usr/lib/$(DEB_HOST_MULTIARCH)/libBALL.so debian/libball$(SOVERSION)-dev/usr/lib/$(DEB_HOST_MULTIARCH)
+	cp -P $(BALL_INSTALL_PATH)/usr/lib/$(DEB_HOST_MULTIARCH)/libVIEW.so debian/libballview$(SOVERSION)-dev/usr/lib/$(DEB_HOST_MULTIARCH)
 
 	# get rid of the VIEW includes in libball-dev
 	rm -rf debian/libball$(SOVERSION)-dev/usr/include/BALL/VIEW
 
-	# eliminating chrpath settings
-	chmod 755 debian/ballview/usr/lib/ballview/BALLView
-	chrpath -d debian/ballview/usr/lib/ballview/BALLView
-	find debian -name "*.so" | xargs -r chrpath -d
-
 override_dh_auto_install-indep:
 	mkdir -p debian/libball$(SOVERSION)-doc/usr/share/doc/libball$(SOVERSION)/html \
 		debian/libball$(SOVERSION)-data/usr/share/BALL-$(SOVERSION)/doc \
@@ -150,13 +157,21 @@ override_dh_auto_install-indep:
 
 	cp -r $(BALL_INSTALL_PATH)/usr/share/BALL/*    debian/libball$(SOVERSION)-data/usr/share/BALL-$(SOVERSION)
 
+# Fix lintian W: national-encoding.
+	iconv -f ISO-8859-1 -t UTF-8 < data/structures/test.btf \
+	  > debian/libball$(SOVERSION)-data/usr/share/BALL-$(SOVERSION)/structures/test.btf
+	iconv -f ISO-8859-1 -t UTF-8 < data/gui-test/tutorial.btf \
+	  > debian/libball$(SOVERSION)-data/usr/share/BALL-$(SOVERSION)/gui-test/tutorial.btf
+	iconv -f ISO-8859-1 -t UTF-8 < data/gui-test/selection.btf \
+	  > debian/libball$(SOVERSION)-data/usr/share/BALL-$(SOVERSION)/gui-test/selection.btf
+
 override_dh_installdocs-indep:
 	dh_installdocs -i
 	find debian/*/usr/share -type d -empty -delete
 	find debian/*/usr/share -name jquery.js -delete
 	find debian/*/usr/share -name license.txt -delete
 	mv debian/libball1.5-data/usr/share/BALL-1.5/BALLView/html debian/libball1.5-data/usr/share/doc/libball1.5-data/BALLView
-	dh_link -p libball1.5-data usr/share/doc/libball1.5-data/BALLView/html usr/share/BALL-1.5/BALLView/html
+	dh_link -p libball1.5-data usr/share/doc/libball1.5-data/BALLView usr/share/BALL-1.5/BALLView/html
 	mv debian/libball1.5-data/usr/share/BALL-1.5/PresentaBALL debian/libball1.5-data/usr/share/doc/libball1.5-data
 	dh_link -p libball1.5-data usr/share/doc/libball1.5-data/PresentaBALL usr/share/BALL-1.5/PresentaBALL
 


=====================================
debian/tests/control
=====================================
@@ -0,0 +1,7 @@
+Tests:
+ simple-examples,
+Restrictions:
+ allow-stderr,
+Depends:
+ pkgconf,
+ @,


=====================================
debian/tests/simple-examples
=====================================
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+set -e
+set -u
+
+export BALL_DATA_PATH=/usr/share/BALL-1.5
+export CXXFLAGS=-fPIC
+export CPPFLAGS="$(pkg-config --cflags Qt5Core)"
+export LDLIBS="-lBALL $(pkg-config --libs Qt5Core)"
+
+cd doc/examples
+
+PROGRAMS="amberEnergy energy PDBChecker ramachandran"
+FILES=$(find ../../test/data -name \*.pdb)
+
+for p in $PROGRAMS; do
+    make $p
+    for file in $FILES; do
+        printf "Running ./$p $file...\n"
+        ./$p $file
+    done
+done


=====================================
debian/upstream/metadata
=====================================
@@ -2,6 +2,8 @@
 # see http://wiki.debian.org/UpstreamMetadata for reference.
 Bug-Database: https://github.com/BALL-Project/ball/issues
 Bug-Submit: https://github.com/BALL-Project/ball/issues/new
+Repository: https://github.com/BALL-Project/ball.git
+Repository-Browse: https://github.com/BALL-Project/ball
 Reference:
  - Author: >
     Andreas Moll and Andreas Hildebrandt and Hans-Peter Lenhof and


=====================================
debian/watch
=====================================
@@ -1,8 +1,9 @@
-version=4
-
-opts="mode=git,pretty=1.5.0+git%cd.%h" \
-    https://github.com/BALL-Project/ball.git HEAD
+Version: 5
 
+Source: https://github.com/BALL-Project/ball.git
+Matching-Pattern: HEAD
+Mode: git
+Git-Pretty: 1.5.0+git%cd.%h
 # Issue asking for release tags:
 #   https://github.com/BALL-Project/ball/issues/655
 # once this is fixed the old watch file can be brought into effect again:



View it on GitLab: https://salsa.debian.org/med-team/ball/-/compare/70be480e0e198b7868c768c444457144b992e698...31887718e4b83319bc54ef34f0c9639df39bee2d

-- 
View it on GitLab: https://salsa.debian.org/med-team/ball/-/compare/70be480e0e198b7868c768c444457144b992e698...31887718e4b83319bc54ef34f0c9639df39bee2d
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20251110/039392f6/attachment-0001.htm>


More information about the debian-med-commit mailing list