# OpenWrt package feed Makefile for quicproquo server.
#
# Usage:
#   1. Add this directory as a custom feed in feeds.conf:
#      src-link quicproquo /path/to/quicproquo/packaging/openwrt
#   2. ./scripts/feeds update quicproquo && ./scripts/feeds install quicproquo
#   3. make menuconfig  (select Network -> quicproquo)
#   4. make package/quicproquo/compile V=s
#
# The binary is pre-built via cross-compilation (see scripts/cross-compile.sh)
# and the Makefile simply installs it into the ipkg.

include $(TOPDIR)/rules.mk

PKG_NAME:=quicproquo
PKG_VERSION:=0.1.0
PKG_RELEASE:=1
PKG_MAINTAINER:=quicproquo team
PKG_LICENSE:=MIT

include $(INCLUDE_DIR)/package.mk

define Package/quicproquo
  SECTION:=net
  CATEGORY:=Network
  TITLE:=End-to-end encrypted group messenger (server)
  DEPENDS:=+libpthread +librt
  URL:=https://github.com/nicholasgasior/quicproquo
endef

define Package/quicproquo/description
  Production-grade end-to-end encrypted group messenger using QUIC transport,
  MLS (RFC 9420), ML-KEM-768 hybrid post-quantum KEM, and OPAQUE authentication.
  This package installs the qpq-server daemon.
endef

define Package/quicproquo/conffiles
/etc/config/quicproquo
endef

# Skip standard build — we use pre-compiled static musl binaries.
define Build/Compile
endef

define Package/quicproquo/install
	$(INSTALL_DIR) $(1)/usr/bin
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/qpq-server $(1)/usr/bin/qpq-server

	$(INSTALL_DIR) $(1)/etc/init.d
	$(INSTALL_BIN) ./files/quicproquo.init $(1)/etc/init.d/quicproquo

	$(INSTALL_DIR) $(1)/etc/config
	$(INSTALL_CONF) ./files/quicproquo.uci $(1)/etc/config/quicproquo

	$(INSTALL_DIR) $(1)/var/lib/quicproquo
endef

$(eval $(call BuildPackage,quicproquo))
