commit
eee8f19807
6 changed files with 81 additions and 121 deletions
|
@ -8,36 +8,33 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=glib2
|
PKG_NAME:=glib2
|
||||||
PKG_VERSION:=2.58.3
|
PKG_VERSION:=2.64.2
|
||||||
PKG_RELEASE:=5
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=glib-$(PKG_VERSION).tar.xz
|
PKG_SOURCE:=glib-$(PKG_VERSION).tar.xz
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/glib-$(PKG_VERSION)
|
PKG_SOURCE_URL:=@GNOME/glib/2.64
|
||||||
PKG_SOURCE_URL:=@GNOME/glib/2.58
|
PKG_HASH:=9a2f21ed8f13b9303399de13a0252b7cbcede593d26971378ec6cb90e87f2277
|
||||||
PKG_HASH:=8f43c31767e88a25da72b52a40f3301fefc49a665b56dc10ee7cc9565cbe7481
|
|
||||||
|
|
||||||
PKG_BUILD_PARALLEL:=1
|
|
||||||
HOST_BUILD_PARALLEL:=1
|
|
||||||
PKG_BUILD_DEPENDS:=gettext
|
|
||||||
HOST_BUILD_DEPENDS:=gettext-full/host libiconv/host libffi/host
|
|
||||||
PKG_INSTALL:=1
|
|
||||||
|
|
||||||
|
PKG_MAINTAINER:=Peter Wagner <tripolar@gmx.at>
|
||||||
|
PKG_LICENSE:=LGPL-2.1-or-later
|
||||||
|
PKG_LICENSE_FILES:=COPYING
|
||||||
PKG_CPE_ID:=cpe:/a:gnome:glib
|
PKG_CPE_ID:=cpe:/a:gnome:glib
|
||||||
|
|
||||||
PKG_FIXUP:=autoreconf
|
PKG_BUILD_DIR:=$(BUILD_DIR)/glib-$(PKG_VERSION)
|
||||||
|
|
||||||
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/glib-$(PKG_VERSION)
|
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/glib-$(PKG_VERSION)
|
||||||
|
PKG_BUILD_DEPENDS:=meson/host
|
||||||
|
HOST_BUILD_DEPENDS:=meson/host libffi/host libiconv/host
|
||||||
|
PKG_INSTALL:=1
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/host-build.mk
|
include $(INCLUDE_DIR)/host-build.mk
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
include $(INCLUDE_DIR)/nls.mk
|
include ../../devel/meson/meson.mk
|
||||||
|
|
||||||
define Package/glib2
|
define Package/glib2
|
||||||
SECTION:=libs
|
SECTION:=libs
|
||||||
CATEGORY:=Libraries
|
CATEGORY:=Libraries
|
||||||
DEPENDS:=$(ICONV_DEPENDS) $(INTL_DEPENDS) +zlib +libpthread +libffi +libattr
|
DEPENDS:=+zlib +libpthread +libffi +libattr @!USE_UCLIBC
|
||||||
TITLE:=glib 2.0
|
TITLE:=glib 2.0
|
||||||
MAINTAINER:=Peter Wagner <tripolar@gmx.at>
|
|
||||||
URL:=http://www.gtk.org/
|
URL:=http://www.gtk.org/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
@ -45,35 +42,42 @@ define Package/glib2/description
|
||||||
The GLib library of C routines
|
The GLib library of C routines
|
||||||
endef
|
endef
|
||||||
|
|
||||||
TARGET_CFLAGS += $(FPIC) -ffunction-sections -fdata-sections -flto
|
TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto
|
||||||
|
TARGET_LDFLAGS += -Wl,--gc-sections
|
||||||
|
|
||||||
HOST_CONFIGURE_ARGS += \
|
COMP_ARGS= \
|
||||||
--disable-libelf \
|
-Dselinux=disabled \
|
||||||
--disable-selinux \
|
-Dlibmount=disabled \
|
||||||
--with-libiconv=gnu \
|
-Dinternal_pcre=true \
|
||||||
--with-pcre=internal \
|
-Dman=false \
|
||||||
--disable-libmount
|
-Ddtrace=false \
|
||||||
|
-Dsystemtap=false \
|
||||||
|
-Dgtk_doc=false \
|
||||||
|
-Dbsymbolic_functions=true \
|
||||||
|
-Dforce_posix_threads=true \
|
||||||
|
-Dfam=false \
|
||||||
|
-Dinstalled_tests=false \
|
||||||
|
-Dnls=disabled \
|
||||||
|
-Doss_fuzz=disabled
|
||||||
|
|
||||||
CONFIGURE_ARGS += \
|
MESON_HOST_ARGS += $(COMP_ARGS) -Dxattr=false
|
||||||
--enable-shared \
|
MESON_ARGS += $(COMP_ARGS) -Dxattr=true
|
||||||
--enable-static \
|
|
||||||
--disable-debug \
|
|
||||||
--disable-selinux \
|
|
||||||
--disable-libmount \
|
|
||||||
--disable-fam \
|
|
||||||
--disable-gtk-doc-html \
|
|
||||||
--disable-man \
|
|
||||||
--disable-compile-warnings \
|
|
||||||
--with-libiconv=gnu \
|
|
||||||
--with-pcre=internal
|
|
||||||
|
|
||||||
CONFIGURE_VARS += \
|
# hack to compile static libraries
|
||||||
glib_cv_stack_grows=no \
|
define Build/Compile
|
||||||
glib_cv_uscore=no \
|
$(call Build/Compile/Meson)
|
||||||
ac_cv_path_GLIB_GENMARSHAL=$(STAGING_DIR_HOSTPKG)/bin/glib-genmarshal \
|
$(call Ninja,-C $(MESON_BUILD_DIR) install,DESTDIR="$(PKG_INSTALL_DIR)")
|
||||||
ac_cv_func_mmap_fixed_mapped=yes \
|
$(call Meson, \
|
||||||
ac_cv_func_posix_getpwuid_r=yes \
|
--reconfigure \
|
||||||
ac_cv_func_posix_getgrgid_r=yes
|
--buildtype plain \
|
||||||
|
--native-file $(PKG_BUILD_DIR)/openwrt-native.txt \
|
||||||
|
--cross-file $(PKG_BUILD_DIR)/openwrt-cross.txt \
|
||||||
|
-Ddefault_library=static \
|
||||||
|
$(MESON_ARGS) \
|
||||||
|
$(MESON_BUILD_DIR) \
|
||||||
|
$(PKG_BUILD_DIR), \
|
||||||
|
$(MESON_VARS))
|
||||||
|
endef
|
||||||
|
|
||||||
define Build/InstallDev
|
define Build/InstallDev
|
||||||
$(INSTALL_DIR) $(1)/usr/bin
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
|
@ -98,7 +102,7 @@ define Build/InstallDev
|
||||||
$(1)/usr/lib/
|
$(1)/usr/lib/
|
||||||
|
|
||||||
$(CP) \
|
$(CP) \
|
||||||
$(PKG_INSTALL_DIR)/usr/lib/*.{so*,a,la} \
|
$(PKG_INSTALL_DIR)/usr/lib/*.{so*,a} \
|
||||||
$(1)/usr/lib/
|
$(1)/usr/lib/
|
||||||
|
|
||||||
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
||||||
|
|
|
@ -1,53 +0,0 @@
|
||||||
From d8f8f4d637ce43f8699ba94c9b7648beda0ca174 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ondrej Holy <oholy@redhat.com>
|
|
||||||
Date: Thu, 23 May 2019 10:41:53 +0200
|
|
||||||
Subject: [PATCH] gfile: Limit access to files when copying
|
|
||||||
|
|
||||||
file_copy_fallback creates new files with default permissions and
|
|
||||||
set the correct permissions after the operation is finished. This
|
|
||||||
might cause that the files can be accessible by more users during
|
|
||||||
the operation than expected. Use G_FILE_CREATE_PRIVATE for the new
|
|
||||||
files to limit access to those files.
|
|
||||||
---
|
|
||||||
gio/gfile.c | 11 ++++++-----
|
|
||||||
1 file changed, 6 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/gio/gfile.c b/gio/gfile.c
|
|
||||||
index 24b136d80..74b58047c 100644
|
|
||||||
--- a/gio/gfile.c
|
|
||||||
+++ b/gio/gfile.c
|
|
||||||
@@ -3284,12 +3284,12 @@ file_copy_fallback (GFile *source,
|
|
||||||
out = (GOutputStream*)_g_local_file_output_stream_replace (_g_local_file_get_filename (G_LOCAL_FILE (destination)),
|
|
||||||
FALSE, NULL,
|
|
||||||
flags & G_FILE_COPY_BACKUP,
|
|
||||||
- G_FILE_CREATE_REPLACE_DESTINATION,
|
|
||||||
- info,
|
|
||||||
+ G_FILE_CREATE_REPLACE_DESTINATION |
|
|
||||||
+ G_FILE_CREATE_PRIVATE, info,
|
|
||||||
cancellable, error);
|
|
||||||
else
|
|
||||||
out = (GOutputStream*)_g_local_file_output_stream_create (_g_local_file_get_filename (G_LOCAL_FILE (destination)),
|
|
||||||
- FALSE, 0, info,
|
|
||||||
+ FALSE, G_FILE_CREATE_PRIVATE, info,
|
|
||||||
cancellable, error);
|
|
||||||
}
|
|
||||||
else if (flags & G_FILE_COPY_OVERWRITE)
|
|
||||||
@@ -3297,12 +3297,13 @@ file_copy_fallback (GFile *source,
|
|
||||||
out = (GOutputStream *)g_file_replace (destination,
|
|
||||||
NULL,
|
|
||||||
flags & G_FILE_COPY_BACKUP,
|
|
||||||
- G_FILE_CREATE_REPLACE_DESTINATION,
|
|
||||||
+ G_FILE_CREATE_REPLACE_DESTINATION |
|
|
||||||
+ G_FILE_CREATE_PRIVATE,
|
|
||||||
cancellable, error);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- out = (GOutputStream *)g_file_create (destination, 0, cancellable, error);
|
|
||||||
+ out = (GOutputStream *)g_file_create (destination, G_FILE_CREATE_PRIVATE, cancellable, error);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!out)
|
|
||||||
--
|
|
||||||
2.21.0
|
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
--- /dev/null
|
|
||||||
+++ b/gtk-doc.make
|
|
||||||
@@ -0,0 +1,2 @@
|
|
||||||
+EXTRA_DIST =
|
|
||||||
+CLEANFILES =
|
|
23
libs/glib2/patches/001-no-libelf.patch
Normal file
23
libs/glib2/patches/001-no-libelf.patch
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
--- a/gio/meson.build
|
||||||
|
+++ b/gio/meson.build
|
||||||
|
@@ -870,20 +870,6 @@ endif
|
||||||
|
|
||||||
|
# Dependencies used by executables below
|
||||||
|
have_libelf = false
|
||||||
|
-libelf = dependency('libelf', version : '>= 0.8.12', required : false)
|
||||||
|
-if libelf.found()
|
||||||
|
- have_libelf = true
|
||||||
|
-else
|
||||||
|
- # This fallback is necessary on *BSD. elfutils isn't the only libelf
|
||||||
|
- # implementation, and *BSD usually includes their own libelf as a system
|
||||||
|
- # library which doesn't have a corresponding .pc file.
|
||||||
|
- libelf = cc.find_library('elf', required : false)
|
||||||
|
- have_libelf = libelf.found()
|
||||||
|
- have_libelf = have_libelf and cc.has_function('elf_begin', dependencies : libelf)
|
||||||
|
- have_libelf = have_libelf and cc.has_function('elf_getshdrstrndx', dependencies : libelf)
|
||||||
|
- have_libelf = have_libelf and cc.has_function('elf_getshdrnum', dependencies : libelf)
|
||||||
|
- have_libelf = have_libelf and cc.has_header('libelf.h')
|
||||||
|
-endif
|
||||||
|
|
||||||
|
if have_libelf
|
||||||
|
glib_conf.set('HAVE_LIBELF', 1)
|
|
@ -1,20 +0,0 @@
|
||||||
--- a/gio/gthreadedresolver.c
|
|
||||||
+++ b/gio/gthreadedresolver.c
|
|
||||||
@@ -873,6 +873,8 @@ do_lookup_records (GTask *task,
|
|
||||||
|
|
||||||
#ifdef HAVE_RES_NQUERY
|
|
||||||
|
|
||||||
+#ifdef HAVE_RES_NQUERY
|
|
||||||
+
|
|
||||||
#if defined(HAVE_RES_NDESTROY)
|
|
||||||
res_ndestroy (&res);
|
|
||||||
#elif defined(HAVE_RES_NCLOSE)
|
|
||||||
@@ -883,6 +885,8 @@ do_lookup_records (GTask *task,
|
|
||||||
|
|
||||||
#endif /* HAVE_RES_NQUERY */
|
|
||||||
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#else
|
|
||||||
|
|
||||||
DNS_STATUS status;
|
|
11
libs/glib2/patches/002-no-tests.patch
Normal file
11
libs/glib2/patches/002-no-tests.patch
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- a/meson.build
|
||||||
|
+++ b/meson.build
|
||||||
|
@@ -84,7 +84,7 @@ installed_tests_template = files('template.test.in')
|
||||||
|
installed_tests_template_tap = files('template-tap.test.in')
|
||||||
|
|
||||||
|
# Don’t build the tests unless we can run them (either natively, in an exe wrapper, or by installing them for later use)
|
||||||
|
-build_tests = not meson.is_cross_build() or (meson.is_cross_build() and meson.has_exe_wrapper()) or installed_tests_enabled
|
||||||
|
+build_tests = false
|
||||||
|
|
||||||
|
add_project_arguments('-D_GNU_SOURCE', language: 'c')
|
||||||
|
|
Loading…
Reference in a new issue