glib2: fix CVE-2019-12450
[feed/packages.git] / libs / glib2 / Makefile
1 #
2 # Copyright (C) 2007-2019 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=glib2
11 PKG_VERSION:=2.58.3
12 PKG_RELEASE:=2
13
14 PKG_SOURCE:=glib-$(PKG_VERSION).tar.xz
15 PKG_BUILD_DIR:=$(BUILD_DIR)/glib-$(PKG_VERSION)
16 PKG_SOURCE_URL:=@GNOME/glib/2.58
17 PKG_HASH:=8f43c31767e88a25da72b52a40f3301fefc49a665b56dc10ee7cc9565cbe7481
18
19 PKG_BUILD_PARALLEL:=1
20 HOST_BUILD_PARALLEL:=1
21 PKG_BUILD_DEPENDS:=glib2/host gettext
22 HOST_BUILD_DEPENDS:=gettext-full/host libiconv/host libffi/host
23 PKG_INSTALL:=1
24 PKG_USE_MIPS16:=0
25
26 PKG_FIXUP:=autoreconf
27
28 HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/glib-$(PKG_VERSION)
29
30 include $(INCLUDE_DIR)/host-build.mk
31 include $(INCLUDE_DIR)/package.mk
32 include $(INCLUDE_DIR)/nls.mk
33
34 define Package/glib2
35 SECTION:=libs
36 CATEGORY:=Libraries
37 DEPENDS:=$(ICONV_DEPENDS) $(INTL_DEPENDS) +zlib +libpthread +libffi +libattr
38 TITLE:=glib 2.0
39 MAINTAINER:=Peter Wagner <tripolar@gmx.at>
40 URL:=http://www.gtk.org/
41 endef
42
43 define Package/glib2/description
44 The GLib library of C routines
45 endef
46
47 TARGET_CFLAGS += -Wno-error=implicit-function-declaration
48
49 HOST_CONFIGURE_ARGS += \
50 --disable-selinux \
51 --with-libiconv=gnu \
52 --with-pcre=internal \
53 --disable-libmount
54
55 CONFIGURE_ARGS += \
56 --enable-shared \
57 --enable-static \
58 --disable-debug \
59 --disable-selinux \
60 --disable-libmount \
61 --disable-fam \
62 --disable-gtk-doc-html \
63 --disable-man \
64 --with-libiconv=gnu \
65 --with-pcre=internal
66
67 CONFIGURE_VARS += \
68 glib_cv_stack_grows=no \
69 glib_cv_uscore=no \
70 ac_cv_path_GLIB_GENMARSHAL=$(STAGING_DIR_HOSTPKG)/bin/glib-genmarshal \
71 ac_cv_func_mmap_fixed_mapped=yes \
72 ac_cv_func_posix_getpwuid_r=yes \
73 ac_cv_func_posix_getgrgid_r=yes
74
75 define Build/InstallDev
76 $(INSTALL_DIR) $(1)/usr/bin
77 $(CP) \
78 $(PKG_INSTALL_DIR)/usr/bin/* \
79 $(1)/usr/bin/
80
81 $(INSTALL_DIR) $(1)/usr/include
82 $(CP) \
83 $(PKG_INSTALL_DIR)/usr/include/glib-2.0 \
84 $(1)/usr/include/
85 $(CP) \
86 $(PKG_INSTALL_DIR)/usr/lib/glib-2.0/include/*.h \
87 $(1)/usr/include/glib-2.0/
88 $(CP) \
89 $(PKG_INSTALL_DIR)/usr/include/gio-unix-2.0 \
90 $(1)/usr/include/
91
92 $(INSTALL_DIR) $(1)/usr/lib
93 $(CP) \
94 $(PKG_INSTALL_DIR)/usr/lib/glib-2.0 \
95 $(1)/usr/lib/
96
97 $(CP) \
98 $(PKG_INSTALL_DIR)/usr/lib/*.{so*,a,la} \
99 $(1)/usr/lib/
100
101 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
102 $(INSTALL_DATA) \
103 $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc \
104 $(1)/usr/lib/pkgconfig
105
106 $(INSTALL_DIR) $(2)/share/aclocal/
107 $(INSTALL_DATA) \
108 $(PKG_INSTALL_DIR)/usr/share/aclocal/*.m4 \
109 $(2)/share/aclocal/
110 endef
111
112 define Package/glib2/install
113 $(INSTALL_DIR) $(1)/usr/lib
114 $(CP) \
115 $(PKG_INSTALL_DIR)/usr/lib/*.so* \
116 $(1)/usr/lib/
117 endef
118
119 $(eval $(call HostBuild))
120 $(eval $(call BuildPackage,glib2))