pkgsrc/news/flnews/Makefile
micha 523aab3a1d news/flnews: Update to 1.0.0
1.0.0  2021-05-09  Release
--------------------------

Important notes:
- The new configuration data format is not compatible with versions 0.x
  (indicated by the major number bump)!
  A script is provided to automatically convert existing configuration
  data to the new format. Read "migration/README" for details.
- Because the location of the configuration has changed (see new XDG
  module below), the configuration for versions 0.x is preserved.
- It is still possible to downgrade flnews to 0.x, the preserved old
  configuration data is used again in this case.
- Now the release version contains 3 numbers "x.y.z"
  Major (x) indicates compatibility with configuration data
  Minor (y) is incremented for new features
  Patch (z) is incremented for bug fixes

Bug fixes:
- CORE: Request for group information is no longer rejected with error
  if the group list is empty.
- GUI: After unsubscribing the last group, the article tree/list was not
  cleared and the user can click on articles for which the associated
  data no longer exists. Such operations will crash the program
  (reported by Martin Schnitkemper).
- CORE: Line length limit (998 octets) is now checked before injection.
- GUI: On macOS with system menu bar the status updates to menu entry
  "Group->Sort by article number" work now (patch from Dennis Preiser).
  The required method update() is not available with old FLTK 1.3
  libraries, the option CFG_COCOA_SYS_MENUBAR now requires FLTK 1.4.
- ENC: URI percent encoder for scheme <news> fixed: The characters
  defined as <gen-delims> (RFC 3986 Section 2.2) are now encoded
  (reported by Marcel Logen).
- GUI: The URI parser now accepts empty <host> for scheme <news>.
- GUI: The current group selection is now restored after a click into
  the empty space below the group list (reported by Christian
  Schumacher).
- GUI: The article list/tree is now cleared after selecting an empty
  group (formerly articles of an unrelated group may still be visible).
- GUI: Some FLTK versions accept selection of deactivated items. There
  is now a workaround implemented to make such selections nonfatal.
- GUI: Horizontal scrolling to highlighted result of search fixed.
- GUI: Use FLTK default forground color for group subscription window
  too. This should make the content readable with dark background
  (reported by Christian Schumacher).
- NLS: German translation "Artikel herunterladen fehlgeschlagen" fixed
  (reported by Marcel Logen).
- GUI: If there are multiple signature separators ("-- ") present, now
  the last one is used according to "Usenet Best Practice" draft 01
  (reported by Marcel Logen).

New features and improvements:
- XDG: Moved default configuration directory to location defined by XDG
  Base Directory Specification 0.7 ("$XDG_CONFIG_HOME/$CFG_NAME").
  Other modules now ask the XDG module for the configuration path.
- MAIN: The new command line option "-confprefix" can be used to
  override the configuration directory (proposed by Helmut Waitzmann).
- GUI: It is now possible to mark all articles in all groups as read
  (menu entry "Group->Mark all groups as read").
- MAIN: New command line option "-debug" to enable debug mode early.
- CONF: configfile entry "domain" replaced with "fqdn". Some users
  saw the hostname field in Message-ID algorithm A1 as privacy problem.
  A <dot-atom> can be configured for the new entry "fqdn" (should be a
  fully qualified domain name, but without root domain). It is used as
  <id-right> element when a Message-ID is created with algorithm A2.
- Support for SOURCE_DATE_EPOCH Specification 1.1 added to build system.
  Reproducible build option CFG_REPRODUCIBLE removed from CONFIG.
  The SOURCE_DATE_EPOCH variable from the environment now overrides the
  dates in the GUI, the output of the "-v" command line option and the
  man pages (original patch from Bernhard M. Wiedemann).
- Support for target "install-strip" added to build system. The target
  "install" no longer strips unnecessary symbols from binaries
  (proposed by Martin Schnitkemper).
- EXT: Support for external inews added.
  Pathname can be specified with the new "inews" entry in configfile.
- TLS: Protocol versions 1.0 and 1.1 are now disabled as required by
  RFC 8996. Both versions are still available in "weak" encryption mode.
- GUI: New menu entry "Group->Mark subthread as read".
- GUI: If there is only one entity to display for a MIME multipart
  message (e.g. the selected one with multipart/alternative), the
  entity header is now displayed too.
- GUI: An initial greeting phrase can now be specified with the new
  "initial_greeting" entry in configfile. It is inserted into articles
  that start a new thread (proposed by Wolfgang Bauer).
- FUTIL: Function added to create (multiple) missing directories of a
  path.
- FILTER: New scorefile syntax to eliminate the workaround with type
  "extended". All score rules now have a wildmat in the first field.
- FILTER: Simplified default regex for test group detection to
  "\.test$|^test$", removing the ".*" part at the beginning (proposed by
  Urs Janßen).
- POSIX: Support for POSIX.1-2008 and SUSv4 added.
  No local replacement functions are used anymore on modern operating
  systems. snprintf() replacement function now uses SUSv4 semantics.
- ENC: MIME encoded-words are now generated with "US-ASCII" charset
  declaration if there is no 8-bit data to encode in the header field
  (e.g. to represent words like " =?-?= " in a RFC 2049 conformant way).
  This follows the "lowest common denominator" principle decribed in
  RFC 2046 Section 4.1.2.
- TLS: Deprecated functions from OpenSSL 3 API are no longer used.
- GUI: Modified question popup windows to handle pressing ESC key as
  "No" or "Reject" respectively.
- GUI: Some entries moved from menu "Article" to "Group".
2021-05-17 11:01:34 +00:00

88 lines
2.9 KiB
Makefile

# $NetBSD: Makefile,v 1.12 2021/05/17 11:01:34 micha Exp $
FLNEWS_VERSION= 1.0.0
DISTNAME= flnews-${FLNEWS_VERSION}
CATEGORIES= news
MASTER_SITES= http://micha.freeshell.org/flnews/src/
MASTER_SITES+= http://www.ybtra.de/flnews-mirror/src/
MASTER_SITES+= http://www.southcity.de/flnews/src/
EXTRACT_SUFX= .tar.bz2
MAINTAINER= micha@NetBSD.org
HOMEPAGE= https://micha.freeshell.org/flnews/
COMMENT= Fast and lightweight USENET newsreader with GUI
LICENSE= modified-bsd AND 2-clause-bsd AND unicode
USE_LANGUAGES= c c++
TEST_TARGET= test
# https://reproducible-builds.org/specs/source-date-epoch/
CONFIGURE_ENV+= SOURCE_DATE_EPOCHE=1620580800
# Bug report contact address used for GUI
FLNEWS_MAINTAINER= ${MAINTAINER}
.include "options.mk"
# Prepare CONFIG file
SUBST_CLASSES+= edit-config
SUBST_STAGE.edit-config= pre-configure
SUBST_MESSAGE.edit-config= Preparing CONFIG file ...
SUBST_FILES.edit-config= CONFIG
SUBST_SED.edit-config= -e 's,@VERSION@,${FLNEWS_VERSION},g'
SUBST_VARS.edit-config= PREFIX
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'
SUBST_SED.edit-config+= -e 's,@MAN_PATH@,${PREFIX}/${PKGMANDIR},g'
.if ${FLNEWS_OPT_DISABLE_XDG} == 0
SUBST_SED.edit-config+= -e 's,@XDG@,0,g'
.else
SUBST_SED.edit-config+= -e 's,@XDG@,1,g'
.endif
# 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,@FORCE_XSI@,1,g'
.else
SUBST_SED.edit-config+= -e 's,@FORCE_XSI@,0,g'
.endif
# 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
post-extract:
${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"
.include "../../security/openssl/buildlink3.mk"
.include "../../x11/fltk13/buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"