mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-14 15:50:07 +02:00
345 lines
10 KiB
Plaintext
345 lines
10 KiB
Plaintext
From fb3b82a9685eb247e9e83d8b878b0aa81041f5de 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 df4f240..b03e662 100644
|
|
--- a/gio/Makefile.am
|
|
+++ b/gio/Makefile.am
|
|
@@ -827,7 +827,11 @@ gio_querymodules_LDADD = libgio-2.0.la \
|
|
gconstructor_as_data.h: $(top_srcdir)/glib/gconstructor.h data-to-c.py
|
|
$(AM_V_GEN) $(srcdir)/data-to-c.py $(top_srcdir)/glib/gconstructor.h gconstructor_code $@
|
|
|
|
-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.37.3
|
|
|
|
|
|
From 841540be84d9ecb2ec966773fd3ad0622e8ec1fe 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 7afeb87..dc3297c 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -158,6 +158,9 @@ case "$host" in
|
|
;;
|
|
esac
|
|
case $host in
|
|
+ *-*-haiku*)
|
|
+ LIBS="-lnetwork $LIBS"
|
|
+ ;;
|
|
*-*-linux*)
|
|
glib_os_linux=yes
|
|
;;
|
|
@@ -2014,8 +2017,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
|
|
@@ -2180,6 +2183,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.37.3
|
|
|
|
|
|
From f6d1a6c6c595db66ec543de0433077c2d5eff490 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 be001ae..c8919a6 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"
|
|
@@ -3480,8 +3484,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 ? "," : "",
|
|
(gint) major (statbuf.st_dev), (gint) minor (statbuf.st_dev));
|
|
+#endif
|
|
#endif
|
|
g_string_append_printf (fs, "%s" "mode=0%o", fs->len > 0 ? "," : "",
|
|
(guint) statbuf.st_mode);
|
|
@@ -3492,9 +3502,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 ? "," : "",
|
|
(gint) major (statbuf.st_rdev), (gint) 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.37.3
|
|
|
|
|
|
From 702b6a31782f59a9fd7a4d4d82ff52745dfed6db 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 f2db27e..abf4c3d 100644
|
|
--- a/gio/gunixmounts.c
|
|
+++ b/gio/gunixmounts.c
|
|
@@ -920,7 +920,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
|
|
@@ -1436,8 +1447,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.37.3
|
|
|
|
|
|
From 4d199b20bd75dd9bd85320198cd7e88f6b071513 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 5813b22..5b294a6 100644
|
|
--- a/glib/gutils.c
|
|
+++ b/glib/gutils.c
|
|
@@ -70,6 +70,10 @@
|
|
#include "gwin32.h"
|
|
#endif
|
|
|
|
+#if defined(__HAIKU__)
|
|
+#include <FindDirectory.h>
|
|
+#include <fs_info.h>
|
|
+#endif
|
|
|
|
/**
|
|
* SECTION:misc_utils
|
|
@@ -1451,6 +1455,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.37.3
|
|
|
|
|
|
From ea2742520fc173a42dbb55ab6161f922c022e693 Mon Sep 17 00:00:00 2001
|
|
From: Jerome Duval <jerome.duval@gmail.com>
|
|
Date: Wed, 20 Sep 2017 18:09:43 +0200
|
|
Subject: configure.ac: define G_OS_HAIKU
|
|
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index dc3297c..387286a 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -3348,6 +3348,10 @@ g_pid_format="\"$glib_pid_format\""
|
|
g_pollfd_format="\"$glib_pollfd_format\""
|
|
|
|
case $host in
|
|
+ *-*-haiku*)
|
|
+ glib_os="#define G_OS_UNIX
|
|
+#define G_OS_HAIKU"
|
|
+ ;;
|
|
*-*-cygwin*)
|
|
glib_os="#define G_OS_UNIX
|
|
#define G_PLATFORM_WIN32
|
|
--
|
|
2.37.3
|
|
|
|
|
|
From 8844c6c18a855af989c0ef2193058e1d747bcafb Mon Sep 17 00:00:00 2001
|
|
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
|
Date: Sat, 18 May 2019 18:36:06 +1000
|
|
Subject: Enable always_malloc by default
|
|
|
|
|
|
diff --git a/glib/gslice.c b/glib/gslice.c
|
|
index 6b0f226..789e083 100644
|
|
--- a/glib/gslice.c
|
|
+++ b/glib/gslice.c
|
|
@@ -388,7 +388,9 @@ slice_config_init (SliceConfig *config)
|
|
* This way it's possible to force gslice to be enabled under
|
|
* valgrind just by setting G_SLICE to the empty string.
|
|
*/
|
|
+#ifndef __HAIKU__
|
|
if (RUNNING_ON_VALGRIND)
|
|
+#endif
|
|
config->always_malloc = TRUE;
|
|
}
|
|
}
|
|
--
|
|
2.37.3
|
|
|
|
|
|
From 1c5b0352058ab67aadbffe9416ae6bfae24fc699 Mon Sep 17 00:00:00 2001
|
|
From: Begasus <begasus@gmail.com>
|
|
Date: Sat, 12 Aug 2023 12:30:41 +0200
|
|
Subject: Fix build for arpa/namser_compat.h
|
|
|
|
checking if arpa/nameser_compat.h is needed... configure: error: could not compile test program either way
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 387286a..9d7d022 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -990,11 +990,13 @@ AS_IF([test $glib_native_win32 = yes], [
|
|
AS_IF([test $glib_native_android != yes], [
|
|
AC_MSG_CHECKING([if arpa/nameser_compat.h is needed])
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <sys/types.h>
|
|
+ #include <stdint.h>
|
|
#include <arpa/nameser.h>],
|
|
[int qclass = C_IN;])],
|
|
[AC_MSG_RESULT([no])],
|
|
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <sys/types.h>
|
|
#include <arpa/nameser.h>
|
|
+ #include <stdint.h>
|
|
#include <arpa/nameser_compat.h>],
|
|
[int qclass = C_IN;])],
|
|
[AC_MSG_RESULT([yes])
|
|
--
|
|
2.37.3
|
|
|
|
|
|
From 561062c43f6f0c8a596ef5799c85a90bc1ee6e76 Mon Sep 17 00:00:00 2001
|
|
From: Begasus <begasus@gmail.com>
|
|
Date: Sat, 12 Aug 2023 12:32:32 +0200
|
|
Subject: Fix for python3
|
|
|
|
|
|
diff --git a/gio/data-to-c.py b/gio/data-to-c.py
|
|
index f226220..7a8d8a8 100755
|
|
--- a/gio/data-to-c.py
|
|
+++ b/gio/data-to-c.py
|
|
@@ -1,4 +1,4 @@
|
|
-#!/usr/bin/env python
|
|
+#!/usr/bin/env python3
|
|
|
|
import sys
|
|
|
|
--
|
|
2.37.3
|
|
|