kumquat-buildroot/package/i2pd/i2pd.mk
Fabrice Fontaine fffbd2c9f7 i2pd: new package
i2pd (I2P Daemon) is a full-featured C++ implementation of I2P
client.

I2P (Invisible Internet Protocol) is a universal anonymous
network layer.
All communications over I2P are anonymous and end-to-end
encrypted, participants don't reveal their real IP addresses.

http://i2pd.website

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Thomas:
 - Add third patch to not install the license file in /usr/LICENSE and
   the source code in /usr/src instead of using a post-install-target
   hook to remove /usr/LICENSE and /usr/src. Indeed, we're not sure if
   /usr/src contains only stuff installed by this package.
 - Clarify the comment that explains why -DTHREADS_PTHREAD_ARG=OFF is
   passed, especially because it's only needed for older versions of
   CMake, and causes a warning with newer versions of CMake.
 - Propagate architecture dependencies to the Config.in comment about
   the exception_ptr requirement.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-04-01 21:00:31 +02:00

64 lines
1.7 KiB
Makefile

################################################################################
#
# i2pd
#
################################################################################
I2PD_VERSION = 2.18.0
I2PD_SITE = $(call github,PurpleI2P,i2pd,$(I2PD_VERSION))
I2PD_LICENSE = BSD-3-Clause
I2PD_LICENSE_FILES = LICENSE
I2PD_SUBDIR = build
I2PD_DEPENDENCIES = \
boost \
openssl \
zlib
I2PD_CONF_OPTS += -DWITH_GUI=OFF
# Before CMake 3.10, passing THREADS_PTHREAD_ARG=OFF was needed to
# disable a try_run() call in the FindThreads tests, which caused a
# build failure when cross-compiling.
I2PD_CONF_OPTS += -DTHREADS_PTHREAD_ARG=OFF
ifeq ($(BR2_STATIC_LIBS),y)
I2PD_CONF_OPTS += -DWITH_STATIC=ON
else
I2PD_CONF_OPTS += -DWITH_STATIC=OFF
endif
ifeq ($(BR2_PACKAGE_LIBMINIUPNPC),y)
I2PD_DEPENDENCIES += libminiupnpc
I2PD_CONF_OPTS += -DWITH_UPNP=ON
else
I2PD_CONF_OPTS += -DWITH_UPNP=OFF
endif
define I2PD_INSTALL_CONFIGURATION_FILES
$(INSTALL) -D -m 644 $(@D)/contrib/i2pd.conf \
$(TARGET_DIR)/etc/i2pd/i2pd.conf
$(INSTALL) -D -m 644 $(@D)/contrib/tunnels.conf \
$(TARGET_DIR)/etc/i2pd/tunnels.conf
mkdir -p $(TARGET_DIR)/var/lib/i2pd
cp -a $(@D)/contrib/certificates $(TARGET_DIR)/var/lib/i2pd
endef
define I2PD_USERS
i2pd -1 i2pd -1 * /var/lib/i2pd - - I2P Daemon
endef
define I2PD_INSTALL_INIT_SYSV
$(INSTALL) -D -m 0755 package/i2pd/S99i2pd \
$(TARGET_DIR)/etc/init.d/S99i2pd
endef
define I2PD_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/i2pd/i2pd.service \
$(TARGET_DIR)/usr/lib/systemd/system/i2pd.service
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
ln -sf ../../../../usr/lib/systemd/system/i2pd.service \
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/i2pd.service
endef
$(eval $(cmake-package))