[gparted] port-to-gtk3: Switch to Gtkmm3 (#7)



commit cc0740148e6ba0da9e30608deea2aa13078c2584
Author: Luca Bacci <luca bacci982 gmail com>
Date:   Mon Aug 27 19:58:56 2018 +0200

    port-to-gtk3: Switch to Gtkmm3 (#7)
    
    Switch to Gtkmm3 in configure.ac.  Require version 3.0.0.
    
    Also update the build instructions in README and the package list in
    .gitlab-ci.yml.
    
    Starting from version 3.18.0 Gtkmm requires C++11 compilation [1][2][3].
    Add a check for Gtkmm >= 3.18.0 in configure.ac and enable C++11
    compilation accordingly.
    
    References:
    
    [1] Gtkmm 3.18.1 NEWS
        "Changes in 3.18 ... Use, and require C++11, ..."
        https://gitlab.gnome.org/GNOME/gtkmm/blob/3.18.1/NEWS#L35
    
    [2] Murray's Blog - "gtkmm now uses C++11"
        https://www.murrayc.com/permalink/2015/07/31/gtkmm-now-uses-c11
    
    [3] Murray's Blog - "gtkmm 3.18 and glibmm 2.46"
        https://www.murrayc.com/permalink/2015/09/25/gtkmm-3-18-and-glibmm-2-46
    
    Closes #7 - Port to Gtk3

 .gitlab-ci.yml |  4 ++--
 README         |  8 ++++----
 configure.ac   | 11 ++++++++++-
 3 files changed, 16 insertions(+), 7 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e6aa8e03..3bba2937 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -8,7 +8,7 @@ stages:
   before_script:
     - yum update -y
     - yum install -y which gnome-common gnome-doc-utils glib2-devel intltool
-                     gcc-c++ libuuid-devel parted-devel gtkmm24-devel make
+                     gcc-c++ libuuid-devel parted-devel gtkmm30-devel make
                      polkit file rarian-compat
 
 .ubuntu_image_template: &ubuntu_image_definition
@@ -17,7 +17,7 @@ stages:
   before_script:
     - apt-get update
     - apt-get install -y gnome-common gnome-doc-utils libglib2.0-dev-bin
-                         uuid-dev libparted-dev libgtkmm-2.4-dev make
+                         uuid-dev libparted-dev libgtkmm-3.0-dev make
                          policykit-1 rarian-compat
 
 .build_stage_template: &build_stage_definition
diff --git a/README b/README
index 4a3abcd9..aa1bb4d1 100644
--- a/README
+++ b/README
@@ -86,7 +86,7 @@ b. Building from Source
       e2fsprogs
       parted
       gnome-common
-      gtkmm24
+      gtkmm3
       gettext
       gnome-doc-utils     - required if help documentation is to be built
 
@@ -96,11 +96,11 @@ b. Building from Source
       sudo apt-get build-dep gparted
      Or;
       sudo apt-get install build-essential e2fsprogs uuid uuid-dev \
-                           gnome-common libparted-dev libgtkmm-2.4-dev \
+                           gnome-common libparted-dev libgtkmm-3.0-dev \
                            libdevmapper-dev gnome-doc-utils docbook-xml
 
    On Fedora, you will need to run (as root);
-      yum install gtkmm24-devel parted-devel e2fsprogs-devel gettext \
+      yum install gtkmm30-devel parted-devel e2fsprogs-devel gettext \
                   'perl(XML::Parser)' desktop-file-utils libuuid-devel \
                   gnome-doc-utils docbook-dtds intltool gnome-common \
                   gcc-c++
@@ -109,7 +109,7 @@ b. Building from Source
    On openSUSE, these dependencies may be obtained by running the
    following commands;
       sudo zypper install automake autoconf make gnome-common \
-                          libuuid-devel parted-devel gtkmm2-devel \
+                          libuuid-devel parted-devel gtkmm3-devel \
                           gnome-doc-utils-devel docbook-xsl-stylesheets
       sudo zypper install -t pattern devel_c_c++
 
diff --git a/configure.ac b/configure.ac
index bd5d145c..9c11ab79 100644
--- a/configure.ac
+++ b/configure.ac
@@ -199,7 +199,7 @@ AC_SUBST([GTHREAD_LIBS])
 AC_SUBST([GTHREAD_CFLAGS])
 
 dnl GTKMM
-PKG_CHECK_MODULES([GTKMM], [gtkmm-2.4 >= 2.24.0])
+PKG_CHECK_MODULES([GTKMM], [gtkmm-3.0 >= 3.0.0])
 AC_SUBST([GTKMM_LIBS])
 AC_SUBST([GTKMM_CFLAGS])
 
@@ -227,6 +227,15 @@ PKG_CHECK_EXISTS(
        ],
        [AC_MSG_RESULT([no])]
 )
+dnl Check for gtkmm >= 3.18.0 which requires C++11 compilation.
+AC_MSG_CHECKING([for gtkmm >= 3.18.0 which requires C++11 compilation])
+PKG_CHECK_EXISTS(
+       [gtkmm-3.0 >= 3.18.0],
+       [need_cxx_compile_stdcxx_11=yes
+        AC_MSG_RESULT([yes])
+       ],
+       [AC_MSG_RESULT([no])]
+)
 dnl Enable C++11 compilation only if required.
 if test "x$need_cxx_compile_stdcxx_11" = xyes; then
        AX_CXX_COMPILE_STDCXX_11()


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]