#
# Copyright (C) 2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk

PKG_NAME:=alpine
PKG_VERSION:=2.21.9999
PKG_RELEASE:=2

PKG_SOURCE_PROTO:=git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://repo.or.cz/alpine.git
PKG_SOURCE_VERSION:=d3e6f3932f2af9deca8eed09e30a55e9bd524362
PKG_MIRROR_HASH:=72f9e8c4c3ecbd5f73f527af98ad23f716fcede3af0ab0400c6e0bc9b1288e30

PKG_MAINTAINER:=Antti Seppälä <a.seppala@gmail.com>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE

PKG_FIXUP:=autoreconf

PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1

PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)

include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk

define Package/alpine/Default
  SECTION:=mail
  CATEGORY:=Mail
  DEPENDS:=+libopenssl +libncurses +libpthread +libpam $(ICONV_DEPENDS) $(INTL_DEPENDS)
  TITLE:=Alternatively Licensed Program for Internet News and Email
  URL:=http://alpine.x10host.com/alpine/
endef

define Package/alpine/Default/description
 Alpine (Alternatively Licensed Program for Internet News and Email) is a
 free software email client developed at the University of Washington.
 It is suitable for both the inexperienced email user as well as for
 the most demanding power user.
endef

define Package/alpine
$(call Package/alpine/Default)
  TITLE+= (with OpenSSL support)
  DEPENDS+= +libopenssl
  VARIANT:=ssl
endef

define Package/alpine/description
$(call Package/alpine/Default/description)
 This package is built with OpenSSL support.
endef

define Package/alpine-nossl
$(call Package/alpine/Default)
  TITLE+= (without OpenSSL support)
  VARIANT:=nossl
endef

define Package/alpine-nossl/description
$(call Package/alpine/Default/description)
 This package is built without OpenSSL support.
endef

CONFIGURE_ARGS += \
	--with-libiconv-prefix=$(ICONV_PREFIX) \
	--with-libintl-prefix=$(INTL_PREFIX) \
	--without-tcl \
	--without-ldap \
	--without-krb5 \
	--with-system-pinerc=/etc/pine.conf \
	--with-system-fixed-pinerc=/etc/pine.conf.fixed \
	--with-supplied-regex \
	--with-default-sshpath=/usr/bin/ssh \
	--disable-debug \
	--disable-mouse \
	--with-c-client-target=slx \

CONFIGURE_VARS += \
	top_builddir=$(PKG_BUILD_DIR)

ifeq ($(BUILD_VARIANT),ssl)
	CONFIGURE_ARGS += \
		--with-ssl-include-dir=$(STAGING_DIR)/usr/include/openssl/. \
		--with-ssl-lib-dir=$(STAGING_DIR)/usr/lib
endif

ifeq ($(BUILD_VARIANT),nossl)
	CONFIGURE_ARGS += \
		--without-ssl
endif

ifeq ($(CONFIG_BUILD_NLS),y)
  DISABLE_NLS:=
endif

ifeq ($(CONFIG_IPV6),y)
  DISABLE_IPV6:=
else
  DISABLE_IPV6:=--without-ipv6
endif

define Build/Compile
	( cd $(PKG_BUILD_DIR)/pith ; \
		$(HOSTCC) help_h_gen.c -c -o help_h_gen.o ; \
		$(HOSTCC) help_h_gen.o -o help_h_gen ; \
		$(HOSTCC) help_c_gen.c -c -o help_c_gen.o ; \
		$(HOSTCC) help_c_gen.o -o help_c_gen ; \
	)
	$(call Build/Compile/Default)
endef

define Package/alpine/install
	$(INSTALL_DIR) $(1)/usr/bin
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$(PKG_NAME) $(1)/usr/bin/$(PKG_NAME)
endef

Package/alpine-nossl/install = $(Package/alpine/install)

$(eval $(call BuildPackage,alpine))
$(eval $(call BuildPackage,alpine-nossl))
