You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

118 lines
3.4 KiB

  1. #
  2. # Copyright (C) 2019 Lucian Cristian <lucian.cristian@gmail.com>
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. include $(TOPDIR)/rules.mk
  7. PKG_NAME:=libreswan
  8. PKG_VERSION:=4.5
  9. PKG_RELEASE:=1
  10. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  11. PKG_SOURCE_URL:=https://download.libreswan.org/
  12. PKG_HASH:=0703f51bdc6674d4ba66adb50854df9e0731bfa78a8983ebc2aa3adc55dd90a3
  13. PKG_MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com>
  14. PKG_LICENSE:=GPL-2.0-or-later
  15. PKG_LICENSE_FILES:=COPYING LICENSE
  16. PKG_CPE_ID:=cpe:/a:libreswan:libreswan
  17. PKG_BUILD_PARALLEL:=1
  18. PKG_INSTALL:=1
  19. include $(INCLUDE_DIR)/package.mk
  20. define Package/libreswan/Default
  21. TITLE:=Libreswan
  22. URL:=https://libreswan.org/
  23. endef
  24. define Package/libreswan/Default/description
  25. Libreswan is a free software implementation of the most widely supported and
  26. standardized VPN protocol based on ("IPsec") and the Internet Key Exchange
  27. ("IKE"). These standards are produced and maintained by the Internet
  28. Engineering Task Force ("IETF").
  29. endef
  30. define Package/libreswan
  31. $(call Package/libreswan/Default)
  32. SUBMENU:=VPN
  33. SECTION:=net
  34. CATEGORY:=Network
  35. DEPENDS:= +IPV6:kmod-ip6-vti +IPV6:kmod-ipsec6 +ip-full +iptables-mod-ipsec \
  36. +kmod-crypto-aead +kmod-crypto-authenc +kmod-crypto-gcm \
  37. +kmod-crypto-hash +kmod-crypto-rng +kmod-ip-vti +kmod-ipsec \
  38. +kmod-ipsec4 +kmod-ipt-ipsec +kmod-xfrm-interface +libevent2 +libevent2-pthreads \
  39. +libldns +librt +libunbound +nss-utils +nspr +libcap-ng
  40. PROVIDES:=openswan
  41. CONFLICTS:=strongswan
  42. TITLE+= IPsec Server
  43. endef
  44. define Package/libreswan/description
  45. $(call Package/libreswan/Default/description)
  46. Libreswan is a free software implementation of the most widely supported and
  47. standardized VPN protocol based on ("IPsec") and the Internet Key Exchange
  48. ("IKE"). These standards are produced and maintained by the Internet
  49. Engineering Task Force ("IETF").
  50. endef
  51. define Package/libreswan/conffiles
  52. /etc/ipsec.d
  53. /etc/ipsec.conf
  54. /etc/ipsec.secrets
  55. endef
  56. TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
  57. TARGET_CFLAGS += -flto
  58. MAKE_FLAGS+= \
  59. WERROR_CFLAGS=" " \
  60. NSS_REQ_AVA_COPY=false \
  61. USE_LINUX_AUDIT=false \
  62. USE_LABELED_IPSEC=false \
  63. USE_NM=false \
  64. USE_NSS_KDF=true \
  65. USE_LIBCURL=false \
  66. USE_GLIBC_KERN_FLIP_HEADERS=true \
  67. USE_AUTHPAM=false \
  68. USE_LIBCAP_NG=true \
  69. USE_SYSTEMD_WATCHDOG=false \
  70. USE_SECCOMP=false\
  71. USE_XFRM_INTERFACE_IFLA_HEADER=false \
  72. PREFIX="/usr" \
  73. FINALRUNDIR="/var/run/pluto" \
  74. FINALNSSDIR="/etc/ipsec.d" \
  75. MODPROBEARGS="-q" \
  76. ARCH="$(LINUX_KARCH)" \
  77. define Build/Prepare
  78. $(call Build/Prepare/Default)
  79. $(SED) 's,include $$$$(top_srcdir)/mk/manpages.mk,,g' \
  80. $(PKG_BUILD_DIR)/mk/program.mk
  81. endef
  82. define Build/Compile
  83. $(call Build/Compile/Default,all)
  84. endef
  85. define Package/libreswan/install
  86. $(INSTALL_DIR) \
  87. $(1)/etc/init.d \
  88. $(1)/etc/ipsec.d/policies \
  89. $(1)/usr/libexec/ipsec \
  90. $(1)/usr/sbin
  91. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ipsec \
  92. $(1)/usr/sbin/ipsec
  93. $(INSTALL_BIN) ./files/ipsec.init $(1)/etc/init.d/ipsec
  94. $(INSTALL_DATA) ./files/ipsec.conf $(1)/etc/ipsec.conf
  95. $(INSTALL_DATA) ./files/ipsec.secrets $(1)/etc/ipsec.secrets
  96. $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/ipsec.d/policies/* \
  97. $(1)/etc/ipsec.d/policies/
  98. $(CP) $(PKG_INSTALL_DIR)/usr/libexec/ipsec/* \
  99. $(1)/usr/libexec/ipsec/
  100. endef
  101. $(eval $(call BuildPackage,libreswan))