332c7844a1fd444f2b54a5ec133815e4fbef46d0
[feed/packages.git] / utils / crun / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_NAME:=crun
4 PKG_VERSION:=1.9.2
5 PKG_RELEASE:=1
6
7 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
8 PKG_SOURCE_URL:=https://codeload.github.com/containers/crun/tar.gz/$(PKG_VERSION)?
9 PKG_HASH:=a5ed2984a9ebb3e0e5cba0781832f03931423097a56f48a948ab034b46726aef
10
11 PKG_BUILD_DEPENDS:=argp-standalone
12 PKG_BUILD_PARALLEL:=1
13 PKG_FIXUP:=autoreconf
14 PKG_INSTALL:=1
15
16 PKG_MAINTAINER:=Oskari Rauta <oskari.rauta@gmail.com>
17 PKG_LICENSE:=GPL-2.0-or-later
18 PKG_LICENSE_FILES:=COPYING
19
20 include $(INCLUDE_DIR)/package.mk
21
22 define Package/crun
23 SECTION:=utils
24 CATEGORY:=Utilities
25 TITLE:=crun
26 URL:=https://github.com/containers/crun
27 DEPENDS:=@!arc +libseccomp +libcap +libgcrypt
28 endef
29
30 define Package/crun/description
31 A fast and low-memory footprint OCI Container Runtime fully written in C.
32 endef
33
34 LIBOCISPEC_COMMIT:=3d168261f250477061fe0eb3648bf998c70c6519
35
36 define Download/libocispec
37 PROTO:=git
38 URL:=https://github.com/containers/libocispec.git
39 VERSION:=$(LIBOCISPEC_COMMIT)
40 MIRROR_HASH:=4e308ff6a40e38aee184abef9156fa92b1ea9f978e277be2ed7b12f9e06f717f
41 FILE:=libocispec-$(LIBOCISPEC_COMMIT).tar.xz
42 SUBDIR:=libocispec
43 endef
44 $(eval $(call Download,libocispec))
45
46 CONFIGURE_ARGS+= \
47 --disable-systemd \
48 --enable-embedded-yajl \
49 --enable-caps \
50 --enable-dl \
51 --enable-seccomp \
52 --enable-bpf
53
54 define Build/Prepare
55 $(call Build/Prepare/Default)
56 $(SED) '/#include <git-version.h>/d' $(PKG_BUILD_DIR)/src/{crun.c,libcrun/container.c}
57 xzcat $(DL_DIR)/libocispec-$(LIBOCISPEC_COMMIT).tar.xz | $(HOST_TAR) -C $(PKG_BUILD_DIR) $(TAR_OPTIONS)
58 endef
59
60 define Build/Configure
61 $(call Build/Configure/Default)
62
63 $(SED) '/#define PACKAGE \"/d' $(PKG_BUILD_DIR)/config.h
64 $(SED) '/#define VERSION \"/d' $(PKG_BUILD_DIR)/config.h
65 $(SED) '/#define GIT_VERSION \"/d' $(PKG_BUILD_DIR)/config.h
66 $(SED) '/#define PACKAGE_BUGREPORT \"/d' $(PKG_BUILD_DIR)/config.h
67 $(SED) '/#define PACKAGE_NAME \"/d' $(PKG_BUILD_DIR)/config.h
68 $(SED) '/#define PACKAGE_STRING \"/d' $(PKG_BUILD_DIR)/config.h
69 $(SED) '/#define PACKAGE_TARNAME \"/d' $(PKG_BUILD_DIR)/config.h
70 $(SED) '/#define PACKAGE_VERSION \"/d' $(PKG_BUILD_DIR)/config.h
71
72 echo "#define PACKAGE \"$(PKG_NAME)\"" >> $(PKG_BUILD_DIR)/config.h
73 echo "#define VERSION \"$(PKG_VERSION)\"" >> $(PKG_BUILD_DIR)/config.h
74 echo "#define PACKAGE_NAME \"$(PKG_NAME)\"" >> $(PKG_BUILD_DIR)/config.h
75 echo "#define PACKAGE_VERSION \"$(PKG_VERSION)\"" >> $(PKG_BUILD_DIR)/config.h
76 echo "#define PACKAGE_STRING \"$(PKG_NAME) $(PKG_VERSION)\"" >> $(PKG_BUILD_DIR)/config.h
77 echo "#define PACKAGE_TARNAME \"$(PKG_NAME)\"" >> $(PKG_BUILD_DIR)/config.h
78 echo "#define PACKAGE_BUGREPORT \"bugs@openwrt.org\"" >> $(PKG_BUILD_DIR)/config.h
79 echo "#define GIT_VERSION \"$(PKG_SOURCE_VERSION)\"" >> $(PKG_BUILD_DIR)/config.h
80 endef
81
82 define Package/crun/install
83 $(INSTALL_DIR) $(1)/usr/bin/
84 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/crun $(1)/usr/bin/
85 endef
86
87 define Build/InstallDev
88 $(INSTALL_DIR) $(1)/usr/lib
89 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libcrun.* $(1)/usr/lib/
90 endef
91
92 $(eval $(call BuildPackage,crun))