glib2: update to 2.64.2
Modified to use meson as upstream has abandoned autotools. Added license information. Cleaned up Makefile for consistency between packages. Added hack to compile static libs. Removed old patches and add new ones. Removed BUILD_PARALLEL options. These are default with ninja/meson. Removed gettext build dependencies. glib2 now includes its own solution. Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
parent
1812713faf
commit
b465ac3002
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