commit
eee8f19807
6 changed files with 81 additions and 121 deletions
|
@ -8,36 +8,33 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=glib2
|
||||
PKG_VERSION:=2.58.3
|
||||
PKG_RELEASE:=5
|
||||
PKG_VERSION:=2.64.2
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=glib-$(PKG_VERSION).tar.xz
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/glib-$(PKG_VERSION)
|
||||
PKG_SOURCE_URL:=@GNOME/glib/2.58
|
||||
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_SOURCE_URL:=@GNOME/glib/2.64
|
||||
PKG_HASH:=9a2f21ed8f13b9303399de13a0252b7cbcede593d26971378ec6cb90e87f2277
|
||||
|
||||
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_FIXUP:=autoreconf
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/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)/package.mk
|
||||
include $(INCLUDE_DIR)/nls.mk
|
||||
include ../../devel/meson/meson.mk
|
||||
|
||||
define Package/glib2
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
DEPENDS:=$(ICONV_DEPENDS) $(INTL_DEPENDS) +zlib +libpthread +libffi +libattr
|
||||
DEPENDS:=+zlib +libpthread +libffi +libattr @!USE_UCLIBC
|
||||
TITLE:=glib 2.0
|
||||
MAINTAINER:=Peter Wagner <tripolar@gmx.at>
|
||||
URL:=http://www.gtk.org/
|
||||
endef
|
||||
|
||||
|
@ -45,35 +42,42 @@ define Package/glib2/description
|
|||
The GLib library of C routines
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += $(FPIC) -ffunction-sections -fdata-sections -flto
|
||||
TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto
|
||||
TARGET_LDFLAGS += -Wl,--gc-sections
|
||||
|
||||
HOST_CONFIGURE_ARGS += \
|
||||
--disable-libelf \
|
||||
--disable-selinux \
|
||||
--with-libiconv=gnu \
|
||||
--with-pcre=internal \
|
||||
--disable-libmount
|
||||
COMP_ARGS= \
|
||||
-Dselinux=disabled \
|
||||
-Dlibmount=disabled \
|
||||
-Dinternal_pcre=true \
|
||||
-Dman=false \
|
||||
-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 += \
|
||||
--enable-shared \
|
||||
--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
|
||||
MESON_HOST_ARGS += $(COMP_ARGS) -Dxattr=false
|
||||
MESON_ARGS += $(COMP_ARGS) -Dxattr=true
|
||||
|
||||
CONFIGURE_VARS += \
|
||||
glib_cv_stack_grows=no \
|
||||
glib_cv_uscore=no \
|
||||
ac_cv_path_GLIB_GENMARSHAL=$(STAGING_DIR_HOSTPKG)/bin/glib-genmarshal \
|
||||
ac_cv_func_mmap_fixed_mapped=yes \
|
||||
ac_cv_func_posix_getpwuid_r=yes \
|
||||
ac_cv_func_posix_getgrgid_r=yes
|
||||
# hack to compile static libraries
|
||||
define Build/Compile
|
||||
$(call Build/Compile/Meson)
|
||||
$(call Ninja,-C $(MESON_BUILD_DIR) install,DESTDIR="$(PKG_INSTALL_DIR)")
|
||||
$(call Meson, \
|
||||
--reconfigure \
|
||||
--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
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
|
@ -98,7 +102,7 @@ define Build/InstallDev
|
|||
$(1)/usr/lib/
|
||||
|
||||
$(CP) \
|
||||
$(PKG_INSTALL_DIR)/usr/lib/*.{so*,a,la} \
|
||||
$(PKG_INSTALL_DIR)/usr/lib/*.{so*,a} \
|
||||
$(1)/usr/lib/
|
||||
|
||||
$(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