mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-09 05:10:05 +02:00
glib2: bump version (#1537)
This commit is contained in:
committed by
Jérôme Duval
parent
e420339366
commit
a64e3c7d74
152
dev-libs/glib/glib2-2.53.5.recipe
Normal file
152
dev-libs/glib/glib2-2.53.5.recipe
Normal file
@@ -0,0 +1,152 @@
|
||||
SUMMARY="GLib is a cross-platform software utility library"
|
||||
DESCRIPTION="GLib is a cross-platform software utility library that began as \
|
||||
part of the GTK+ project. However, before releasing version 2 of GTK+, the \
|
||||
project's developers decided to separate non-GUI-specific code from the GTK+ \
|
||||
platform, thus creating GLib as a separate product. GLib was released as a \
|
||||
separate library so other developers, those who did not make use of the \
|
||||
GUI-related portions of GTK+, could make use of the non-GUI portions of the \
|
||||
library without the overhead of depending on the entire GUI library.
|
||||
Since GLib is a cross-platform library, applications using it to interface \
|
||||
with the operating system are usually portable across different operating \
|
||||
systems without major changes
|
||||
"
|
||||
HOMEPAGE="http://www.gtk.org/"
|
||||
COPYRIGHT="1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
|
||||
1991-2003 Free Software Foundation, Inc.
|
||||
1997-2006 University of Cambridge.
|
||||
1998-2001, 2003-2010 Red Hat, Inc.
|
||||
2007-2009 Nokia Corporation
|
||||
2008, 2010 Oracle and/or its affiliates, Inc. All rights
|
||||
2008-2010 Codethink Limited
|
||||
2008-2010 Collabora Ltd.
|
||||
1995-2010 Several others"
|
||||
LICENSE="GNU LGPL v2"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://git.gnome.org/browse/glib/snapshot/glib-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="963a70f114e9925424898178973423f70d4cd1dfcd226fa85882be6c8b87f3f5"
|
||||
SOURCE_DIR="glib-$portVersion"
|
||||
PATCHES="glib2-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="x86_gcc2 x86 x86_64"
|
||||
SECONDARY_ARCHITECTURES="?x86_gcc2 x86"
|
||||
|
||||
PROVIDES="
|
||||
glib2$secondaryArchSuffix = $portVersion compat >= 2
|
||||
cmd:gapplication$secondaryArchSuffix
|
||||
cmd:gdbus$secondaryArchSuffix
|
||||
cmd:gdbus_codegen$secondaryArchSuffix
|
||||
cmd:gio$secondaryArchSuffix
|
||||
cmd:gio_querymodules$secondaryArchSuffix
|
||||
cmd:glib_compile_resources$secondaryArchSuffix
|
||||
cmd:glib_compile_schemas$secondaryArchSuffix
|
||||
cmd:glib_genmarshal$secondaryArchSuffix
|
||||
cmd:glib_gettextize$secondaryArchSuffix
|
||||
cmd:glib_mkenums$secondaryArchSuffix
|
||||
cmd:gobject_query$secondaryArchSuffix
|
||||
cmd:gresource$secondaryArchSuffix
|
||||
cmd:gsettings$secondaryArchSuffix
|
||||
cmd:gtester$secondaryArchSuffix
|
||||
cmd:gtester_report$secondaryArchSuffix
|
||||
lib:libgio_2.0$secondaryArchSuffix = 0.5305.0 compat >= 0
|
||||
lib:libglib_2.0$secondaryArchSuffix = 0.5305.0 compat >= 0
|
||||
lib:libgmodule_2.0$secondaryArchSuffix = 0.5305.0 compat >= 0
|
||||
lib:libgobject_2.0$secondaryArchSuffix = 0.5305.0 compat >= 0
|
||||
lib:libgthread_2.0$secondaryArchSuffix = 0.5305.0 compat >= 0
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
gettext$secondaryArchSuffix
|
||||
lib:libiconv$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
lib:libffi$secondaryArchSuffix
|
||||
lib:libintl$secondaryArchSuffix
|
||||
lib:libpcre$secondaryArchSuffix >= 1
|
||||
"
|
||||
|
||||
PROVIDES_devel="
|
||||
glib2${secondaryArchSuffix}_devel = $portVersion compat >= 0
|
||||
devel:libgio_2.0$secondaryArchSuffix = 0.5305.0 compat >= 0
|
||||
devel:libglib_2.0$secondaryArchSuffix = 0.5305.0 compat >= 0
|
||||
devel:libgmodule_2.0$secondaryArchSuffix = 0.5305.0 compat >= 0
|
||||
devel:libgobject_2.0$secondaryArchSuffix = 0.5305.0 compat >= 0
|
||||
devel:libgthread_2.0$secondaryArchSuffix = 0.5305.0 compat >= 0
|
||||
"
|
||||
|
||||
REQUIRES_devel="
|
||||
glib2$secondaryArchSuffix == $portVersion base
|
||||
devel:libffi$secondaryArchSuffix
|
||||
devel:libiconv$secondaryArchSuffix
|
||||
devel:libintl$secondaryArchSuffix
|
||||
devel:libpcre$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libiconv$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
devel:libffi$secondaryArchSuffix
|
||||
devel:libintl$secondaryArchSuffix
|
||||
devel:libpcre$secondaryArchSuffix >= 1
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:libtoolize$secondaryArchSuffix
|
||||
cmd:aclocal
|
||||
cmd:autoconf
|
||||
cmd:make
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
cmd:python
|
||||
cmd:which
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
runConfigure ./autogen.sh CFLAGS=-D_BSD_SOURCE
|
||||
|
||||
# There seem to be a problem with libtool, and without this some libraries
|
||||
# would not be found during the build.
|
||||
mkdir -p gobject/.libs gio/.libs
|
||||
ln -sf ../../glib/.libs gobject/.libs/lib
|
||||
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install
|
||||
|
||||
# remove libtool library files
|
||||
rm $libDir/lib*.la
|
||||
|
||||
prepareInstalledDevelLibs libgio-2.0 \
|
||||
libglib-2.0 \
|
||||
libgmodule-2.0 \
|
||||
libgobject-2.0 \
|
||||
libgthread-2.0
|
||||
fixPkgconfig
|
||||
|
||||
# The libtool files reference other libraries using the wrong paths, which
|
||||
# creates a lot of confusion. Fix them so correct paths are used.
|
||||
local develPackageName="${portName}_devel-$portFullVersion"
|
||||
local packageLinksDir=$(dirname $portPackageLinksDir)
|
||||
local ffiLinksDir="$packageLinksDir/${develPackageName}/devel~libffi$secondaryArchSuffix/$relativeDevelopLibDir"
|
||||
sed -i -e "s,^\(Libs.private.*\)-L.* \(-l.*\)$,\1-L$ffiLinksDir \2," \
|
||||
$developLibDir/pkgconfig/gobject-2.0.pc
|
||||
local zlibLinksDir="$packageLinksDir/${develPackageName}/devel~libz$secondaryArchSuffix/$relativeDevelopLibDir"
|
||||
sed -i -e "s,^\(Libs.private.*\)-L.* \(-l.*\)$,\1-L$zlibLinksDir \2," \
|
||||
$developLibDir/pkgconfig/gio-2.0.pc
|
||||
|
||||
|
||||
# move the glibconfig header into devel as well
|
||||
mv $libDir/glib-2.0 $developLibDir
|
||||
|
||||
fixPkgconfig
|
||||
|
||||
# devel package
|
||||
packageEntries devel \
|
||||
$developDir
|
||||
|
||||
rm $libDir/charset.alias
|
||||
}
|
||||
246
dev-libs/glib/patches/glib2-2.53.5.patchset
Normal file
246
dev-libs/glib/patches/glib2-2.53.5.patchset
Normal file
@@ -0,0 +1,246 @@
|
||||
From 2107a6fce76fb34082a2fe24aa8814a931cbbb1b Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Sat, 19 Dec 2015 14:51:01 +0000
|
||||
Subject: glib_compile_schemas: links against gio, gobject and gmodule.
|
||||
|
||||
Otherwise build fails on Haiku.
|
||||
|
||||
diff --git a/gio/Makefile.am b/gio/Makefile.am
|
||||
index b2db995..c82f05c 100644
|
||||
--- a/gio/Makefile.am
|
||||
+++ b/gio/Makefile.am
|
||||
@@ -817,7 +817,11 @@ gio_querymodules_LDADD = libgio-2.0.la \
|
||||
gconstructor_as_data.h: $(top_srcdir)/glib/gconstructor.h data-to-c.pl
|
||||
$(AM_V_GEN) $(srcdir)/data-to-c.pl $(top_srcdir)/glib/gconstructor.h gconstructor_code > $@.tmp && mv $@.tmp $@
|
||||
|
||||
-glib_compile_schemas_LDADD = $(top_builddir)/glib/libglib-2.0.la
|
||||
+glib_compile_schemas_LDADD = libgio-2.0.la \
|
||||
+ $(top_builddir)/gobject/libgobject-2.0.la \
|
||||
+ $(top_builddir)/gmodule/libgmodule-2.0.la \
|
||||
+ $(top_builddir)/glib/libglib-2.0.la \
|
||||
+ $(NULL)
|
||||
glib_compile_schemas_SOURCES = \
|
||||
gconstructor_as_data.h \
|
||||
gvdb/gvdb-format.h \
|
||||
--
|
||||
2.7.0
|
||||
|
||||
|
||||
From 9229a461b8bbfaa0bd8b232ef0013a84392fb1ff Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Sat, 19 Dec 2015 14:59:42 +0000
|
||||
Subject: configure.ac: on Haiku
|
||||
|
||||
* don't use -pthread
|
||||
* use -lbe -lroot as thread related libs.
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index fbc4400..7386289 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -154,6 +154,9 @@ case "$host" in
|
||||
;;
|
||||
esac
|
||||
case $host in
|
||||
+ *-*-haiku*)
|
||||
+ LIBS="-lnetwork $LIBS"
|
||||
+ ;;
|
||||
*-*-linux*)
|
||||
glib_os_linux=yes
|
||||
;;
|
||||
@@ -1922,8 +1925,8 @@ AS_IF([ test x"$have_threads" = xposix], [
|
||||
# One of them does for most gcc versions and some other platforms/compilers
|
||||
# too and could be considered as the canonical way to go.
|
||||
case $host in
|
||||
- *-*-cygwin*|*-*-darwin*)
|
||||
- # skip cygwin and darwin -pthread or -pthreads test
|
||||
+ *-*-cygwin*|*-*-darwin*|*-*-haiku*)
|
||||
+ # skip cygwin, darwin and haiku -pthread or -pthreads test
|
||||
;;
|
||||
*-solaris*)
|
||||
# These compiler/linker flags work with both Sun Studio and gcc
|
||||
@@ -2088,6 +2091,15 @@ if test "x$G_THREAD_LIBS" = xerror; then
|
||||
AC_MSG_ERROR($LIBS_NOT_FOUND_1$have_threads$LIBS_NOT_FOUND_2)
|
||||
fi
|
||||
|
||||
+case $host in
|
||||
+ *-*-haiku*)
|
||||
+ G_THREAD_LIBS="-lbe -lroot"
|
||||
+ G_THREAD_LIBS_EXTRA="-L\$(top_builddir_full)/.libs"
|
||||
+ ;;
|
||||
+ *)
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
AC_MSG_CHECKING(thread related libraries)
|
||||
AC_MSG_RESULT($G_THREAD_LIBS)
|
||||
|
||||
--
|
||||
2.7.0
|
||||
|
||||
|
||||
From 2ae7f7f265f807896f61a19ad715d33a6ac0e6b2 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Sat, 29 Jul 2017 12:13:00 +0200
|
||||
Subject: g_dbus_message_print: use B_PRIiDEV on Haiku
|
||||
|
||||
because Haiku doesn't define major() and minor()
|
||||
|
||||
diff --git a/gio/gdbusmessage.c b/gio/gdbusmessage.c
|
||||
index 9158858..901c1e5 100644
|
||||
--- a/gio/gdbusmessage.c
|
||||
+++ b/gio/gdbusmessage.c
|
||||
@@ -33,8 +33,12 @@
|
||||
#elif MAJOR_IN_SYSMACROS
|
||||
#include <sys/sysmacros.h>
|
||||
#else
|
||||
+#ifdef __HAIKU__
|
||||
+#include <SupportDefs.h>
|
||||
+#else
|
||||
#define MAJOR_MINOR_NOT_FOUND 1
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
#include "gdbusutils.h"
|
||||
#include "gdbusmessage.h"
|
||||
@@ -3478,9 +3482,14 @@ g_dbus_message_print (GDBusMessage *message,
|
||||
if (fstat (fds[n], &statbuf) == 0)
|
||||
{
|
||||
#ifndef MAJOR_MINOR_NOT_FOUND
|
||||
+#ifdef __HAIKU__
|
||||
+ g_string_append_printf (fs, "%s" "dev=%" B_PRIiDEV, fs->len > 0 ? "," : "",
|
||||
+ statbuf.st_dev);
|
||||
+#else
|
||||
g_string_append_printf (fs, "%s" "dev=%d:%d", fs->len > 0 ? "," : "",
|
||||
major (statbuf.st_dev), minor (statbuf.st_dev));
|
||||
#endif
|
||||
+#endif
|
||||
g_string_append_printf (fs, "%s" "mode=0%o", fs->len > 0 ? "," : "",
|
||||
statbuf.st_mode);
|
||||
g_string_append_printf (fs, "%s" "ino=%" G_GUINT64_FORMAT, fs->len > 0 ? "," : "",
|
||||
@@ -3490,9 +3499,14 @@ g_dbus_message_print (GDBusMessage *message,
|
||||
g_string_append_printf (fs, "%s" "gid=%u", fs->len > 0 ? "," : "",
|
||||
(guint) statbuf.st_gid);
|
||||
#ifndef MAJOR_MINOR_NOT_FOUND
|
||||
+#ifdef __HAIKU__
|
||||
+ g_string_append_printf (fs, "%s" "rdev=%" B_PRIiDEV, fs->len > 0 ? "," : "",
|
||||
+ statbuf.st_rdev);
|
||||
+#else
|
||||
g_string_append_printf (fs, "%s" "rdev=%d:%d", fs->len > 0 ? "," : "",
|
||||
major (statbuf.st_rdev), minor (statbuf.st_rdev));
|
||||
#endif
|
||||
+#endif
|
||||
g_string_append_printf (fs, "%s" "size=%" G_GUINT64_FORMAT, fs->len > 0 ? "," : "",
|
||||
(guint64) statbuf.st_size);
|
||||
g_string_append_printf (fs, "%s" "atime=%" G_GUINT64_FORMAT, fs->len > 0 ? "," : "",
|
||||
--
|
||||
2.7.0
|
||||
|
||||
|
||||
From af39ea73bae9c6cc46d029bb6523ff207587b933 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Sat, 29 Jul 2017 12:19:31 +0200
|
||||
Subject: gunixmounts.c: on Haiku
|
||||
|
||||
* define get_mtab_minitor_file() and _g_get_unix_mounts()
|
||||
* like Inerix, _g_get_unix_mount_points() calls _g_get_unix_mounts().
|
||||
|
||||
diff --git a/gio/gunixmounts.c b/gio/gunixmounts.c
|
||||
index 2ccd9f7..3b2f5b0 100644
|
||||
--- a/gio/gunixmounts.c
|
||||
+++ b/gio/gunixmounts.c
|
||||
@@ -829,7 +829,18 @@ _g_get_unix_mounts (void)
|
||||
|
||||
return return_list;
|
||||
}
|
||||
+#elif defined(__HAIKU__)
|
||||
+static char *
|
||||
+get_mtab_monitor_file (void)
|
||||
+{
|
||||
+ return NULL;
|
||||
+}
|
||||
|
||||
+static GList *
|
||||
+_g_get_unix_mounts (void)
|
||||
+{
|
||||
+ return NULL;
|
||||
+}
|
||||
/* Common code {{{2 */
|
||||
#else
|
||||
#error No _g_get_unix_mounts() implementation for system
|
||||
@@ -1340,8 +1351,8 @@ _g_get_unix_mount_points (void)
|
||||
|
||||
return g_list_reverse (return_list);
|
||||
}
|
||||
-/* Interix {{{2 */
|
||||
-#elif defined(__INTERIX)
|
||||
+/* Interix, Haiku {{{2 */
|
||||
+#elif defined(__INTERIX) || defined(__HAIKU__)
|
||||
static GList *
|
||||
_g_get_unix_mount_points (void)
|
||||
{
|
||||
--
|
||||
2.7.0
|
||||
|
||||
|
||||
From 44cc8d19093525980ad7645711a984efb4261310 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Sat, 29 Jul 2017 12:32:14 +0200
|
||||
Subject: glib/gutils.c: on Haiku define load_user_special_dirs()
|
||||
|
||||
use find_directory() from SupportDefs.h
|
||||
|
||||
diff --git a/glib/gutils.c b/glib/gutils.c
|
||||
index 70b08b6..5448a66 100644
|
||||
--- a/glib/gutils.c
|
||||
+++ b/glib/gutils.c
|
||||
@@ -69,6 +69,10 @@
|
||||
#include "gwin32.h"
|
||||
#endif
|
||||
|
||||
+#if defined(__HAIKU__)
|
||||
+#include <FindDirectory.h>
|
||||
+#include <fs_info.h>
|
||||
+#endif
|
||||
|
||||
/**
|
||||
* SECTION:misc_utils
|
||||
@@ -1429,6 +1433,35 @@ load_user_special_dirs (void)
|
||||
g_user_special_dirs[G_USER_DIRECTORY_VIDEOS] = find_folder (kMovieDocumentsFolderType);
|
||||
}
|
||||
|
||||
+#elif defined(__HAIKU__)
|
||||
+static void
|
||||
+load_user_special_dirs (void)
|
||||
+{
|
||||
+ char path[B_PATH_NAME_LENGTH + B_FILE_NAME_LENGTH];
|
||||
+
|
||||
+ dev_t volume = dev_for_path("/boot");
|
||||
+ if (find_directory(B_DESKTOP_DIRECTORY, volume, false, path, sizeof(path))
|
||||
+ == B_OK) {
|
||||
+ g_user_special_dirs[G_USER_DIRECTORY_DESKTOP] = g_strdup(path);
|
||||
+ g_user_special_dirs[G_USER_DIRECTORY_DOWNLOAD] = g_strdup(path);
|
||||
+ } else {
|
||||
+ g_user_special_dirs[G_USER_DIRECTORY_DOCUMENTS] = NULL;
|
||||
+ g_user_special_dirs[G_USER_DIRECTORY_DESKTOP] = NULL;
|
||||
+ }
|
||||
+
|
||||
+ if (find_directory(B_USER_DIRECTORY, volume, false, path, sizeof(path))
|
||||
+ == B_OK) {
|
||||
+ g_user_special_dirs[G_USER_DIRECTORY_DOCUMENTS] = g_strdup(path);
|
||||
+ } else
|
||||
+ g_user_special_dirs[G_USER_DIRECTORY_DOWNLOAD] = NULL;
|
||||
+
|
||||
+ g_user_special_dirs[G_USER_DIRECTORY_MUSIC] = NULL;
|
||||
+ g_user_special_dirs[G_USER_DIRECTORY_PICTURES] = NULL;
|
||||
+ g_user_special_dirs[G_USER_DIRECTORY_PUBLIC_SHARE] = NULL;
|
||||
+ g_user_special_dirs[G_USER_DIRECTORY_TEMPLATES] = NULL;
|
||||
+ g_user_special_dirs[G_USER_DIRECTORY_VIDEOS] = NULL;
|
||||
+}
|
||||
+
|
||||
#elif defined(G_OS_WIN32)
|
||||
|
||||
static void
|
||||
--
|
||||
2.7.0
|
||||
|
||||
Reference in New Issue
Block a user