summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO5
-rw-r--r--PKGBUILD14
-rw-r--r--openbabel3.patch90
3 files changed, 101 insertions, 8 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 73cde5018fb1..7f7637d346b8 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = ghemical
pkgdesc = Computational chemistry package
pkgver = 3.0.0
- pkgrel = 3
+ pkgrel = 4
url = https://bioinformatics.org/ghemical/ghemical/
arch = x86_64
arch = i686
@@ -15,9 +15,10 @@ pkgbase = ghemical
depends = gtkglext
depends = openbabel
source = https://bioinformatics.org/ghemical/download/release20111012/ghemical-3.0.0.tar.gz
+ source = openbabel3.patch
source = ghemical.desktop
sha256sums = babb2bda93cf0c20f234452eeb7d19d1d8c0e4c4d611734f110f8de066a1bcb2
+ sha256sums = a41173dfb8c2beaca53b3796b8e6c9d6552f33a1dc4e41fa13b045ed31f54b1a
sha256sums = 475db7721deff079feda637e9ecfc2ee7a381aa574fd3126c9eea7d71b9dd100
pkgname = ghemical
-
diff --git a/PKGBUILD b/PKGBUILD
index d3334dc05118..3ebfc7a5bdcd 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@
pkgname=ghemical
pkgver=3.0.0
-pkgrel=3
+pkgrel=4
pkgdesc='Computational chemistry package'
license=("GPL")
arch=('x86_64' 'i686')
@@ -12,21 +12,21 @@ url='https://bioinformatics.org/ghemical/ghemical/'
depends=('libghemical>=3.0' 'liboglappth>=1.0' 'libglade' 'gtkglext' 'openbabel')
makedepends=('pkgconfig' 'intltool>=0.40.0' 'gettext')
source=("https://bioinformatics.org/ghemical/download/release20111012/$pkgname-$pkgver.tar.gz"
- "$pkgname.desktop")
-sha256sums=('babb2bda93cf0c20f234452eeb7d19d1d8c0e4c4d611734f110f8de066a1bcb2'
- '475db7721deff079feda637e9ecfc2ee7a381aa574fd3126c9eea7d71b9dd100')
+ "openbabel3.patch" "$pkgname.desktop")
prepare() {
cd "$srcdir/$pkgname-$pkgver"
# Some users have reported crashes due to the courier font.
sed -i 's:courier 12:monospace:g' ./src/*.cpp
+ patch -Np1 -i ../openbabel3.patch
}
build() {
cd "$srcdir/$pkgname-$pkgver"
- ./configure --prefix=/usr
+ autoconf
+ CXXFLAGS="-fpermissive" ./configure --prefix=/usr
make
}
@@ -38,4 +38,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-# vim:set ts=2 sw=2 et:
+sha256sums=('babb2bda93cf0c20f234452eeb7d19d1d8c0e4c4d611734f110f8de066a1bcb2'
+ 'a41173dfb8c2beaca53b3796b8e6c9d6552f33a1dc4e41fa13b045ed31f54b1a'
+ '475db7721deff079feda637e9ecfc2ee7a381aa574fd3126c9eea7d71b9dd100')
diff --git a/openbabel3.patch b/openbabel3.patch
new file mode 100644
index 000000000000..1e481980cae8
--- /dev/null
+++ b/openbabel3.patch
@@ -0,0 +1,90 @@
+diff -ru ghemical-3.0.0.orig/configure.ac ghemical-3.0.0/configure.ac
+--- ghemical-3.0.0.orig/configure.ac 2023-06-02 02:29:50.000000000 +0100
++++ ghemical-3.0.0/configure.ac 2023-06-03 16:54:11.000000000 +0100
+@@ -163,9 +163,9 @@
+ if test $enable_openbabel = yes; then
+ AC_DEFINE([ENABLE_OPENBABEL], [], [Define if you are building a version that interfaces directly with OpenBabel])
+
+- PKG_CHECK_MODULES([OPENBABEL], [openbabel-2.0])
+- ##alt OPENBABEL_CFLAGS=`$PKG_CONFIG --cflags openbabel-2.0`
+- ##alt OPENBABEL_LIBS=`$PKG_CONFIG --libs openbabel-2.0`
++ PKG_CHECK_MODULES([OPENBABEL], [openbabel-3])
++ ##alt OPENBABEL_CFLAGS=`$PKG_CONFIG --cflags openbabel-3`
++ ##alt OPENBABEL_LIBS=`$PKG_CONFIG --libs openbabel-3`
+
+ CPPFLAGS="$CPPFLAGS $OPENBABEL_CFLAGS"
+ LIBS="$LIBS $OPENBABEL_LIBS"
+diff -ru ghemical-3.0.0.orig/src/filetrans.cpp ghemical-3.0.0/src/filetrans.cpp
+--- ghemical-3.0.0.orig/src/filetrans.cpp 2023-06-02 02:29:50.000000000 +0100
++++ ghemical-3.0.0/src/filetrans.cpp 2023-06-03 16:54:11.000000000 +0100
+@@ -33,6 +33,8 @@
+ // Babel lib includes
+ // ^^^^^^^^^^^^^^^^^^
+
++#include <openbabel/atom.h>
++#include <openbabel/bond.h>
+ #include <openbabel/mol.h>
+ #include <openbabel/obutil.h>
+ #include <openbabel/data.h>
+@@ -48,12 +50,12 @@
+
+ namespace OpenBabel
+ {
+- extern OBAromaticTyper aromtyper;
+- extern OBAtomTyper atomtyper;
+- extern OBElementTable etab;
++ //extern OBAromaticTyper aromtyper;
++ //extern OBAtomTyper atomtyper;
++ //extern OBElementTable etab;
+ extern OBTypeTable ettab;
+ extern OBChainsParser chainsparser;
+- extern OBIsotopeTable isotab;
++ //extern OBIsotopeTable isotab;
+ }
+
+ /*################################################################################################*/
+@@ -438,7 +440,7 @@
+ bndr = & (* it1);
+
+ i32s bt;
+- switch (obb->GetBO())
++ switch (obb->GetBondOrder())
+ {
+ case 1: bt = BONDTYPE_SINGLE; break;
+ case 2: bt = BONDTYPE_DOUBLE; break;
+@@ -458,7 +460,7 @@
+ if (!bndr)
+ {
+ i32s bt;
+- switch (obb->GetBO())
++ switch (obb->GetBondOrder())
+ {
+ case 1: bt = BONDTYPE_SINGLE; break;
+ case 2: bt = BONDTYPE_DOUBLE; break;
+diff -ru ghemical-3.0.0.orig/src/pangofont_wcl.cpp ghemical-3.0.0/src/pangofont_wcl.cpp
+--- ghemical-3.0.0.orig/src/pangofont_wcl.cpp 2023-06-02 02:29:50.000000000 +0100
++++ ghemical-3.0.0/src/pangofont_wcl.cpp 2023-06-03 16:57:38.000000000 +0100
+@@ -69,20 +69,13 @@
+ font_list_base = glGenLists(128);
+
+ PangoFontDescription * font_desc = pango_font_description_from_string(font_string);
+- PangoFont * font = gdk_gl_font_use_pango_font(font_desc, 0, 128, font_list_base);
+- if (font == NULL)
++ font_height = pango_font_description_get_size(font_desc);
++ if (!pango_font_description_get_size_is_absolute(font_desc))
+ {
+- g_print(_("*** ERROR : Can't load font '%s'\n"), font_string);
+- exit(EXIT_FAILURE);
++ font_height = PANGO_PIXELS(font_height);
+ }
+
+- PangoFontMetrics * font_metrics = pango_font_get_metrics(font, NULL);
+-
+- font_height = pango_font_metrics_get_ascent(font_metrics) + pango_font_metrics_get_descent(font_metrics);
+- font_height = PANGO_PIXELS(font_height);
+-
+ pango_font_description_free(font_desc);
+- pango_font_metrics_unref(font_metrics);
+ }
+
+ int pangofont_wcl::ogl_GetStringWidth(const char * str)