flnews: update to 0.16.

Provided by Michael Bäuerle in pkgsrc-wip.

Backported patches from 0.17 branch:
--------------------------------------------------------------------------------
           Bugfix: Configuration test result for inttypes.h presence is used,
            reintroduce the test
           Bugfix: BSD version of ntohl() for old systems now working again
           Modified LaTeX documentation to work with recent doxygen
--------------------------------------------------------------------------------

Changelog:
--------------------------------------------------------------------------------
V0.16      Bugfix: Supersede now preserves Followup-To header field
           Bugfix: The code that generates the attribute "reply to own article"
            now checks the Message-IDs too (to avoid errors if the parent
            article is missing in the hierarchy)
           Bugfix: Header parser and MIME parser fixed to correctly handle
            MIME entity delimiters (for boundary strings that contain spaces)
           Bugfix: Removed Unicode range U+E0020 ... U+E007E from rejected
            control characters (deprecated since Unicode 5.1, reintroduced for
            different purpose since Unicode 9.0) (Reported by Marcel Logen)
           TLS: Protocol version TLSv1.3 according to RFC8446 is now supported
            (requires at least OpenSSL 1.1.1)
           CORE module now supports multiple article hierarchies
           Unicode database updated to version 11.0.0
           IBM852 to UTF-8 converter added
           If the OS doesn't report IPv6 as available, usage can now be forced
            with the option 'CFG_FORCE_IP6'
           Support for reproducible builds added (option 'CFG_REPRODUCIBLE')
           Some checks for system header files removed to speed up configuration
            (Build fails in any case if they are missing)
           Documentation updated
--------------------------------------------------------------------------------
This commit is contained in:
wiz 2019-01-21 12:03:41 +00:00
parent 605971ebbf
commit 372332163d
9 changed files with 123 additions and 73 deletions

View file

@ -1,7 +1,8 @@
# $NetBSD: Makefile,v 1.2 2018/08/22 09:46:09 wiz Exp $
# $NetBSD: Makefile,v 1.3 2019/01/21 12:03:41 wiz Exp $
DISTNAME= flnews-0.15
PKGREVISION= 1
FLNEWS_VERSION= 0.16
DISTNAME= flnews-${FLNEWS_VERSION}
CATEGORIES= news
MASTER_SITES= http://micha.freeshell.org/flnews/src/
MASTER_SITES+= http://www.ybtra.de/flnews-mirror/src/
@ -15,7 +16,6 @@ LICENSE= modified-bsd AND 2-clause-bsd AND unicode
USE_LANGUAGES= c c++
NO_CONFIGURE= yes
TEST_TARGET= test
# Bug report contact address used for GUI
@ -23,48 +23,63 @@ FLNEWS_MAINTAINER= ${MAINTAINER}
.include "options.mk"
# Old SunPro compilers cannot create dependencies (use makedepend instead)
.if ${OPSYS} == "SunOS" && ${PKGSRC_COMPILER:Msunpro}
FLNEWS_DEP_MD= 1
BUILD_DEPENDS+= makedepend-[0-9]*:../../devel/makedepend
.endif
post-extract:
${CP} ${FILESDIR}/CONFIG ${WRKSRC}
# Prepare CONFIG file
SUBST_CLASSES+= edit-config
SUBST_STAGE.edit-config= pre-build
SUBST_STAGE.edit-config= pre-configure
SUBST_MESSAGE.edit-config= Preparing CONFIG file ...
SUBST_FILES.edit-config= CONFIG
SUBST_SED.edit-config= -e 's,@PREFIX@,${PREFIX},g'
SUBST_SED.edit-config= -e 's,@VERSION@,${FLNEWS_VERSION},g'
SUBST_SED.edit-config+= -e 's,@PREFIX@,${PREFIX},g'
SUBST_SED.edit-config+= -e 's,@MAINT@,${FLNEWS_MAINTAINER},g'
SUBST_SED.edit-config+= -e 's,@IP6@,${FLNEWS_OPT_DISABLE_IP6},g'
SUBST_SED.edit-config+= -e 's,@NLS@,${FLNEWS_OPT_DISABLE_NLS},g'
SUBST_SED.edit-config+= -e 's,@XDBE@,${FLNEWS_OPT_DISABLE_XDBE},g'
# NetBSD report X/Open XSI extension as not available (getconf _XOPEN_VERSION)
# but has a sufficient implementation => Force using it
SUBST_SED.edit-config+= -e 's,@MAN_PATH@,${PREFIX}/${PKGMANDIR},g'
# NetBSD reports X/Open XSI extension as not available using the POSIX
# sysconf(_SC_XOPEN_VERSION) call, but has a sufficient implementation
# => Force using it
.if ${OPSYS} == "NetBSD"
SUBST_SED.edit-config+= -e 's,@XSI@,1,g'
SUBST_SED.edit-config+= -e 's,@FORCE_XSI@,1,g'
.else
SUBST_SED.edit-config+= -e 's,@XSI@,0,g'
SUBST_SED.edit-config+= -e 's,@FORCE_XSI@,0,g'
.endif
.if defined(FLNEWS_DEP_MD)
# NetBSD reports IPv6 as not available using the POSIX sysconf(_SC_IPV6)
# call, but has a sufficient implementation
# => Force using it if inet6 option of pkgsrc package is selected
.if ${OPSYS} == "NetBSD" && ${FLNEWS_OPT_DISABLE_IP6} == 0
SUBST_SED.edit-config+= -e 's,@FORCE_IP6@,1,g'
.else
SUBST_SED.edit-config+= -e 's,@FORCE_IP6@,0,g'
.endif
# Old SunPro compilers cannot create dependencies with the "-M" option
# => Use makedepend instead for all SunPro compilers
.if ${OPSYS} == "SunOS" && ${PKGSRC_COMPILER:Msunpro}
SUBST_SED.edit-config+= -e 's,@DEP_MD@,,g'
SUBST_SED.edit-config+= -e 's,@DEP_COMP@,\#,g'
.else
SUBST_SED.edit-config+= -e 's,@DEP_MD@,\#,g'
SUBST_SED.edit-config+= -e 's,@DEP_COMP@,,g'
.endif
SUBST_SED.edit-config+= -e 's,@MAN_PATH@,${PREFIX}/${PKGMANDIR},g'
post-patch:
${CP} ${FILESDIR}/CONFIG ${WRKSRC}
do-configure:
cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} config
.if ${OPSYS} == "SunOS" && ${PKGSRC_COMPILER:Msunpro}
BUILD_DEPENDS+= makedepend-[0-9]*:../../devel/makedepend
.endif
BUILDLINK_API_DEPENDS.zlib+= zlib>=1.2.3
.include "../../devel/zlib/buildlink3.mk"
# OpenSSL 1.1 API is required for signature algorithm negotiation
# OpenSSL 1.1 API is required for TLSv1.2 FFDHE group check
# At least OpenSSL 1.1.1 is required for TLSv1.3
BUILDLINK_API_DEPENDS.openssl+= openssl>=1.0.0
.include "../../security/openssl/buildlink3.mk"
# FLTK must be compiled with multithreading support
# FLTK version 1.4 is supported (should be compiled with pango support)
.include "../../x11/fltk13/buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

View file

@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.1 2018/08/20 12:57:34 wiz Exp $
@comment $NetBSD: PLIST,v 1.2 2019/01/21 12:03:41 wiz Exp $
bin/flnews
man/man1/flnews.1
share/flnews/license.txt

View file

@ -1,44 +0,0 @@
Mandatory:
- Operating system that provide the following interfaces:
- POSIX.1-1990
- POSIX.1b-1993 Realtime extention, Timers (TMR) option
- POSIX.1c-1996 Threads (THR) extension
- 4.3BSD socket API (with a 'select()' implementation that supports sockets)
- POSIX.2-1992 compliant shell and utilities
- POSIX.2a-1992 User Portability Utilities (UP) extension
- getconf
Utility from X/Open Portability Guide Issue 4 (XPG4) to query system variables
- C/C++ compiler
Should be a matching pair that is C90/C++98 compliant.
- FLTK 1.3 (compiled with multithreading support enabled)
Optional:
- POSIX.2-1992 C language binding (CLB)
Required if the filter (scoring) subsystem should handle regular expressions
Required if the filter (scoring) subsystem should handle group wildmats
- POSIX.1b-1993 realtime extention, File Synchronization (FSC) option
If available, 'fsync()' is executed on config, group and database files after
changes
- POSIX.1-2001
If available, the timestamp in the "Date" headerfield is created in local time
- Operating system with X/Open System Interface (XSI) extension
(with a 'poll()' implementation that supports sockets)
Required for National Language Support (NLS)
Required for automatic TLS certificate CRL maintenance (EXPERIMENTAL)
- OpenSSL 1.x or LibreSSL 2.x
Required for Transport Layer Security (TLS) support
Required for generation of Cancel-Lock and Cancel-Key header fields
- zlib
Sourcecode for zlib can be downloaded from <http://zlib.net/>
Required for NNTP compression extension (DEFLATE algorithm)
- xdg-utils
Required for sending e-mail and clicking on hyperlinks that cannot be
handled internally
- makedepend
Required if the compilers preprocessor can't create dependencies
- troff2html (from the troffcvt package)
Required to build the HTML version of the man page
- doxygen
Required to build the documentation (except the manual page)
- LaTeX
Required to build the documentation (except the manual page)

View file

@ -1,6 +1,9 @@
$NetBSD: distinfo,v 1.1 2018/08/20 12:57:34 wiz Exp $
$NetBSD: distinfo,v 1.2 2019/01/21 12:03:41 wiz Exp $
SHA1 (flnews-0.15.tar.bz2) = 55e55e3d8462f6b3c7b133d702d5ec0401e31862
RMD160 (flnews-0.15.tar.bz2) = 2e32faa93754368faebad5c4e8f54928382c114b
SHA512 (flnews-0.15.tar.bz2) = 68e8fd2479756d35d61c10140b89207049136107bd42a37d862e45211dad0ae27abf7e87160d137a4cf4edc956926966007f6f5d6ca89447b99c8e44bed7d0b2
Size (flnews-0.15.tar.bz2) = 1052606 bytes
SHA1 (flnews-0.16.tar.bz2) = efa5ab06d18fe4993551c623aca3a6e61b8ec20e
RMD160 (flnews-0.16.tar.bz2) = 25ace0387584fa253c065aeeeb946ffc4773c9b7
SHA512 (flnews-0.16.tar.bz2) = d68615b38d4e4770ea3e404082943ac8efbc8aa6b0075ae437a5806e330e7f2ae987c00c321857b926bfe0007f59e329f1bd38b69e017b1495cd8fedbf316e5c
Size (flnews-0.16.tar.bz2) = 1068677 bytes
SHA1 (patch-mkconfig) = 3121cec3b8f01e71989de3f7d2092f71b6f737ba
SHA1 (patch-src_bsd.c) = 0298c6e17d2e5f7498b6f15546a089f5a44ea70c
SHA1 (patch-src_doc_templates_header.tex) = f9de1452f48c5e120ca6e9b96ee51f3dbfe99f86

View file

@ -71,7 +71,12 @@ CFG_FORCE_UP=1
# extension as not available or too old (at least SUSv2 is required)
# Set this to 1 if your system report no sufficient XSI extension, but you want
# to try anyway
CFG_FORCE_XSI=@XSI@
CFG_FORCE_XSI=@FORCE_XSI@
# Force usage of IPv6 option (IP6) even if system reports it as not available
# Set this to 1 if your system report no IP6 option, but you want to try anyway
# (at least POSIX.1-2001 is required)
CFG_FORCE_IP6=@FORCE_IP6@
# ==============================================================================
@ -120,7 +125,7 @@ CFG_NAME="flnews"
# Version (printable characters from POSIX portable character set only)
# Must start with major number followed by '.'
CFG_VERSION="0.15"
CFG_VERSION="@VERSION@"
# If a modified version should be redistributed, set this to '1' if you want to
# keep the original program name. This will automatically insert the prominent
@ -150,6 +155,10 @@ CFG_LICENSE_PATH="$CFG_PREFIX/share/$CFG_NAME"
# hierarchy below "share" is dedicated to files that are portable between
# architectures - what our catalogs are not!
CFG_NLS_PATH="$CFG_PREFIX/lib/$CFG_NAME/nls"
# If you require reproducible builds for a binary package of a distribution,
# set this to '1'.
CFG_REPRODUCIBLE=1
# ==============================================================================

View file

@ -1,12 +1,15 @@
# $NetBSD: options.mk,v 1.1 2018/08/20 12:57:34 wiz Exp $
# $NetBSD: options.mk,v 1.2 2019/01/21 12:03:41 wiz Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.flnews
PKG_SUPPORTED_OPTIONS= inet6 nls xdbe xdg-utils
PKG_SUGGESTED_OPTIONS= xdbe xdg-utils
PKG_SUGGESTED_OPTIONS= inet6 nls xdbe xdg-utils
.include "../../mk/bsd.prefs.mk"
.include "../../mk/bsd.options.mk"
# POSIX.1c-1996 Threads (THR) extension is required
PTHREAD_OPTS+= require
# inet6: Optional support for Internet Protocol Version 6 (IPv6)
# Requires an OS with POSIX.1-2001 API and IP6 option
.if !empty(PKG_OPTIONS:Minet6)

View file

@ -0,0 +1,16 @@
$NetBSD: patch-mkconfig,v 1.1 2019/01/21 12:03:41 wiz Exp $
Test results for inttypes.h and sys/select.h are required.
--- mkconfig.orig 2018-11-06 09:02:42.000000000 +0000
+++ mkconfig
@@ -78,7 +78,9 @@ CFG_LOG="config.log"
# Attention: No spaces are allowed in the names!
CFG_C_HEADERS="\
sys/types.h \
+ inttypes.h \
regex.h \
+ sys/select.h \
openssl/ssl.h \
"

View file

@ -0,0 +1,24 @@
$NetBSD: patch-src_bsd.c,v 1.1 2019/01/21 12:03:41 wiz Exp $
Fixed typo. Only relevant for very old systems without inttypes.h header file.
--- src/bsd.c.orig 2017-11-08 12:11:18.000000000 +0000
+++ src/bsd.c
@@ -2,7 +2,7 @@
/*! \file
* \brief This is a wrapper to map BSD functionality of OS into POSIX subsystem
*
- * Copyright (c) 2012-2015 by the developers. See the LICENSE file for details.
+ * Copyright (c) 2012-2019 by the developers. See the LICENSE file for details.
*
* BSD functions not defined in POSIX.1-1990 or XSI extension should be called
* from here.
@@ -108,7 +108,7 @@ unsigned short int posix_ntohs(unsigned
#if CFG_HDR_INTTYPES_H
uint32_t posix_ntohl(uint32_t net32)
#else
-unsigned long int posix_ntohs(unsigned long int net32)
+unsigned long int posix_ntohl(unsigned long int net32)
#endif /* CFG_HDR_INTTYPES_H */
{
return(ntohl(net32));

View file

@ -0,0 +1,24 @@
$NetBSD: patch-src_doc_templates_header.tex,v 1.1 2019/01/21 12:03:41 wiz Exp $
Documentation build fix for doxygen 1.8.15.
--- src/doc/templates/header.tex.orig 2015-11-09 15:55:42.000000000 +0000
+++ src/doc/templates/header.tex
@@ -1,13 +1,15 @@
% ==============================================================================
% LaTeX header
-\documentclass[a4paper]{article}
+% Declare "export" here. If this is done with adjbox, it gives this error:
+% "Option clash for package adjustbox."
+\documentclass[export,a4paper]{article}
\usepackage{a4wide}
\usepackage{fixltx2e}
\usepackage{fancyhdr}
\usepackage{calc}
\usepackage{doxygen}
-\usepackage[export]{adjustbox} % Also loads graphicx
+\usepackage{adjustbox} % Also loads graphicx
\usepackage{graphicx}
\usepackage[utf8]{inputenc}
\usepackage{makeidx}