From 59657aed5beee8917660121e7fa8552cbc8f17c1 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Mon, 24 Jan 2022 22:13:43 -0500 Subject: [PATCH] gtkmm3: Add recipe. --- dev-cpp/gtkmm3/gtkmm3-3.24.5.recipe | 104 ++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 dev-cpp/gtkmm3/gtkmm3-3.24.5.recipe diff --git a/dev-cpp/gtkmm3/gtkmm3-3.24.5.recipe b/dev-cpp/gtkmm3/gtkmm3-3.24.5.recipe new file mode 100644 index 000000000..b3631404d --- /dev/null +++ b/dev-cpp/gtkmm3/gtkmm3-3.24.5.recipe @@ -0,0 +1,104 @@ +SUMMARY="C++ interface for GTK 3" +DESCRIPTION="gtkmm is the official C++ interface for the popular GUI library \ +GTK. Highlights include typesafe callbacks, and a comprehensive set of widgets \ +that are easily extensible via inheritance." +HOMEPAGE="https://www.gtkmm.org/en/" +COPYRIGHT="2021 The gtkmm Development Team" +LICENSE="GNU LGPL v2.1 + GNU GPL v2" +REVISION="1" +SOURCE_URI="http://ftp.gnome.org/pub/GNOME/sources/gtkmm/${portVersion%.*}/gtkmm-$portVersion.tar.xz" +CHECKSUM_SHA256="856333de86689f6a81c123f2db15d85db9addc438bc3574c36f15736aeae22e6" +SOURCE_DIR="gtkmm-$portVersion" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +libVersion="1.1.0" +libVersionCompat="$libVersion compat >= ${libVersion%%.*}" +apiVersion="3.0" + +PROVIDES=" + gtkmm3$secondaryArchSuffix = $portVersion + lib:libgtkmm_$apiVersion$secondaryArchSuffix = $libVersionCompat + lib:libgdkmm_$apiVersion$secondaryArchSuffix = $libVersionCompat + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libatkmm_1.6$secondaryArchSuffix + lib:libglib_2.0$secondaryArchSuffix + lib:libglibmm_2.4$secondaryArchSuffix + lib:libgtk_3$secondaryArchSuffix + lib:libgdk_pixbuf_2.0$secondaryArchSuffix + lib:libcairomm_1.0$secondaryArchSuffix + lib:libpangomm_1.4$secondaryArchSuffix + lib:libsigc_2.0$secondaryArchSuffix + " + +PROVIDES_devel=" + gtkmm3${secondaryArchSuffix}_devel = $portVersion + devel:libgtkmm_$apiVersion$secondaryArchSuffix = $libVersionCompat + devel:libgdkmm_$apiVersion$secondaryArchSuffix = $libVersionCompat + " +REQUIRES_devel=" + gtkmm3$secondaryArchSuffix == $portVersion base + devel:libatkmm_1.6$secondaryArchSuffix + devel:libglib_2.0$secondaryArchSuffix + devel:libgtk_3$secondaryArchSuffix + devel:libcairomm_1.0$secondaryArchSuffix + devel:libpangomm_1.4$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libatkmm_1.6$secondaryArchSuffix + devel:libglib_2.0$secondaryArchSuffix + devel:libgtk_3$secondaryArchSuffix + devel:libcairomm_1.0$secondaryArchSuffix + devel:libpangomm_1.4$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:gcc$secondaryArchSuffix + cmd:meson + cmd:ninja + cmd:pkg_config$secondaryArchSuffix + " + +defineDebugInfoPackage gtkmm3$secondaryArchSuffix \ + "$libDir"/libgtkmm-$apiVersion.so.$libVersion + +BUILD() +{ + meson build --buildtype=debugoptimized \ + --prefix=$prefix --includedir=$includeDir \ + --libdir=$libDir --datadir=$dataDir --bindir=$binDir \ + -Dmaintainer-mode=false -Dbuild-demos=false + + ninja $jobArgs -C build +} + +INSTALL() +{ + ninja -C build install + + rm -rf $libDir/*.la + + mv $libDir/gtkmm-$apiVersion/include/*.h $includeDir/gtkmm-$apiVersion + mv $libDir/gdkmm-$apiVersion/include/*.h $includeDir/gtkmm-$apiVersion + mv $libDir/gtkmm-$apiVersion/ $developLibDir + rm -rf $libDir/{gtkmm,gdkmm}-$apiVersion + + prepareInstalledDevelLibs \ + libgtkmm-$apiVersion + + fixPkgconfig + + sed -i -e 's|-I${libdir}/gtkmm-$apiVersion/include||' \ + $developLibDir/pkgconfig/gtkmm-$apiVersion.pc + sed -i -e 's|-I${libdir}/gdkmm-$apiVersion/include||' \ + $developLibDir/pkgconfig/gdkmm-$apiVersion.pc + + packageEntries devel \ + $developDir +}