From: Rosen Penev Date: Thu, 9 Jun 2022 22:30:40 +0000 (-0700) Subject: irqbalance: add meson X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=59cadc7c65d5540b3e1bba26dfcd782cad98a5fe;p=feed%2Fpackages.git irqbalance: add meson Fixes compilation when libiconv is missing. Also remove pthread from glibc. No longer needed. Cleanup Makefile for consistency between packages. Signed-off-by: Rosen Penev --- diff --git a/utils/irqbalance/Makefile b/utils/irqbalance/Makefile index 6347ee1536..09a744a6ee 100644 --- a/utils/irqbalance/Makefile +++ b/utils/irqbalance/Makefile @@ -8,24 +8,18 @@ PKG_NAME:=irqbalance PKG_VERSION:=1.9.0 PKG_RELEASE:=$(AUTORELEASE) -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/Irqbalance/irqbalance.git -PKG_SOURCE_VERSION:=80d5fbb947debe221e4c23c0ee0f4f2b89a99443 +PKG_SOURCE_VERSION:=v$(PKG_VERSION) PKG_MIRROR_HASH:=9af2e51d2696bc51400223dee2009071bee5f12b3a5050f18c7de23632e2190d -PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_LICENSE:=GPLv2 PKG_MAINTAINER:=Hannu Nyman - -PKG_FIXUP:=autoreconf -PKG_REMOVE_FILES:=autogen.sh - -PKG_BUILD_PARALLEL:=1 - -include $(INCLUDE_DIR)/nls.mk +PKG_LICENSE:=GPL-2.0-or-later +PKG_LICENSE_FILES:=COPYING include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/nls.mk +include $(INCLUDE_DIR)/meson.mk PKG_BUILD_DEPENDS += glib2 @@ -43,34 +37,17 @@ define Package/irqbalance/description increase performance. endef -CONFIGURE_ARGS+= \ - --disable-numa \ - --with-libcap_ng=no \ - --with-systemd=no \ - --without-irqbalance-ui \ - --enable-static=glib2 - -GLIB2_LIBS="$(STAGING_DIR)/usr/lib/libglib-2.0.a" - -ifeq ($(CONFIG_BUILD_NLS),y) - GLIB2_LIBS += $(INTL_LDFLAGS) -lintl -endif - -ifeq ($(CONFIG_USE_GLIBC),y) - GLIB2_LIBS += -lpthread -endif - -CONFIGURE_VARS += \ - GLIB2_LIBS="$(GLIB2_LIBS) \ - $(ICONV_LDFLAGS) -liconv" - define Package/irqbalance/conffiles /etc/config/irqbalance endef +MESON_ARGS += \ + -Dcapng=disabled \ + -Dui=disabled + define Package/irqbalance/install $(INSTALL_DIR) $(1)/usr/sbin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/irqbalance $(1)/usr/sbin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/irqbalance $(1)/usr/sbin/ $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/irqbalance.init $(1)/etc/init.d/irqbalance $(INSTALL_DIR) $(1)/etc/config diff --git a/utils/irqbalance/patches/010-meson.patch b/utils/irqbalance/patches/010-meson.patch new file mode 100644 index 0000000000..7e3ae36d82 --- /dev/null +++ b/utils/irqbalance/patches/010-meson.patch @@ -0,0 +1,73 @@ +From 35072fc06b9efe923f6ac1bd73b67c33d3ae619b Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Fri, 10 Jun 2022 23:14:27 -0700 +Subject: [PATCH] add meson + +Signed-off-by: Rosen Penev +--- + meson.build | 43 +++++++++++++++++++++++++++++++++++++++++++ + meson_options.txt | 11 +++++++++++ + 2 files changed, 54 insertions(+) + create mode 100644 meson.build + create mode 100644 meson_options.txt + +--- /dev/null ++++ b/meson.build +@@ -0,0 +1,43 @@ ++project('irqbalance', 'c', ++ version : '1.9.0', ++ default_options : ['warning_level=1'] ++) ++ ++cc = meson.get_compiler('c') ++ ++glib_dep = dependency('glib-2.0', static: true) ++m_dep = cc.find_library('m', required: false) ++capng_dep = dependency('libcap-ng', required: get_option('capng')) ++ncurses_dep = dependency('curses', required: get_option('ui')) ++systemd_dep = dependency('libsystemd', required: get_option('systemd')) ++ ++cdata = configuration_data() ++cdata.set('HAVE_GETOPT_LONG', cc.has_function('getopt_long')) ++cdata.set('HAVE_IRQBALANCEUI', ncurses_dep.found()) ++cdata.set('HAVE_NUMA_H', cc.has_header('numa.h')) ++cdata.set('HAVE_LIBCAP_NG', capng_dep.found()) ++cdata.set('HAVE_LIBSYSTEMD', systemd_dep.found()) ++cdata.set_quoted('VERSION', meson.project_version()) ++cfile = configure_file( ++ output: 'config.h', ++ configuration: cdata ++) ++ ++if cdata.get('HAVE_IRQBALANCEUI') ++ add_project_arguments('-D_GNU_SOURCE', language: 'c') ++endif ++ ++ ++executable('irqbalance', ++ 'activate.c', ++ 'bitmap.c', ++ 'classify.c', ++ 'cputree.c', ++ 'irqbalance.c', ++ 'irqlist.c', ++ 'numa.c', ++ 'placement.c', ++ 'procinterrupts.c', ++ dependencies: [ glib_dep, m_dep, capng_dep, ncurses_dep, systemd_dep ], ++ install : true ++) +--- /dev/null ++++ b/meson_options.txt +@@ -0,0 +1,11 @@ ++option('capng', type : 'feature', ++ description : 'Build with libcap-ng support', ++) ++ ++option('systemd', type : 'feature', ++ description : 'Build with systemd support', ++) ++ ++option('ui', type : 'feature', ++ description : 'Build the UI component', ++)