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.

117 lines
3.3 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.1
  9. PKG_RELEASE:=1
  10. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  11. PKG_SOURCE_URL:=https://download.libreswan.org/
  12. PKG_HASH:=216444c3a2ede7bed5820648856fa5d9cc8fc4b4122bd4a1129d1a5954d9227d
  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 +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_XAUTHPAM=false \
  68. USE_LIBCAP_NG=true \
  69. USE_SYSTEMD_WATCHDOG=false \
  70. USE_SECCOMP=false\
  71. PREFIX="/usr" \
  72. FINALRUNDIR="/var/run/pluto" \
  73. FINALNSSDIR="/etc/ipsec.d" \
  74. MODPROBEARGS="-q" \
  75. ARCH="$(LINUX_KARCH)" \
  76. define Build/Prepare
  77. $(call Build/Prepare/Default)
  78. $(SED) 's,include $$$$(top_srcdir)/mk/manpages.mk,,g' \
  79. $(PKG_BUILD_DIR)/mk/program.mk
  80. endef
  81. define Build/Compile
  82. $(call Build/Compile/Default,all)
  83. endef
  84. define Package/libreswan/install
  85. $(INSTALL_DIR) \
  86. $(1)/etc/init.d \
  87. $(1)/etc/ipsec.d/policies \
  88. $(1)/usr/libexec/ipsec \
  89. $(1)/usr/sbin
  90. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ipsec \
  91. $(1)/usr/sbin/ipsec
  92. $(INSTALL_BIN) ./files/ipsec.init $(1)/etc/init.d/ipsec
  93. $(INSTALL_DATA) ./files/ipsec.conf $(1)/etc/ipsec.conf
  94. $(INSTALL_DATA) ./files/ipsec.secrets $(1)/etc/ipsec.secrets
  95. $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/ipsec.d/policies/* \
  96. $(1)/etc/ipsec.d/policies/
  97. $(CP) $(PKG_INSTALL_DIR)/usr/libexec/ipsec/* \
  98. $(1)/usr/libexec/ipsec/
  99. endef
  100. $(eval $(call BuildPackage,libreswan))