head	1.31;
access;
symbols
	pkgsrc-2026Q1:1.31.0.2
	pkgsrc-2026Q1-base:1.31
	pkgsrc-2025Q4:1.30.0.4
	pkgsrc-2025Q4-base:1.30
	pkgsrc-2025Q3:1.30.0.2
	pkgsrc-2025Q3-base:1.30
	pkgsrc-2025Q2:1.29.0.4
	pkgsrc-2025Q2-base:1.29
	pkgsrc-2025Q1:1.29.0.2
	pkgsrc-2025Q1-base:1.29
	pkgsrc-2024Q4:1.28.0.8
	pkgsrc-2024Q4-base:1.28
	pkgsrc-2024Q3:1.28.0.6
	pkgsrc-2024Q3-base:1.28
	pkgsrc-2024Q2:1.28.0.4
	pkgsrc-2024Q2-base:1.28
	pkgsrc-2024Q1:1.28.0.2
	pkgsrc-2024Q1-base:1.28
	pkgsrc-2023Q4:1.27.0.4
	pkgsrc-2023Q4-base:1.27
	pkgsrc-2023Q3:1.27.0.2
	pkgsrc-2023Q3-base:1.27
	pkgsrc-2023Q2:1.26.0.2
	pkgsrc-2023Q2-base:1.26
	pkgsrc-2023Q1:1.25.0.6
	pkgsrc-2023Q1-base:1.25
	pkgsrc-2022Q4:1.25.0.4
	pkgsrc-2022Q4-base:1.25
	pkgsrc-2022Q3:1.25.0.2
	pkgsrc-2022Q3-base:1.25
	pkgsrc-2022Q2:1.24.0.2
	pkgsrc-2022Q2-base:1.24
	pkgsrc-2022Q1:1.23.0.2
	pkgsrc-2022Q1-base:1.23
	pkgsrc-2021Q4:1.21.0.2
	pkgsrc-2021Q4-base:1.21
	pkgsrc-2021Q3:1.20.0.2
	pkgsrc-2021Q3-base:1.20
	pkgsrc-2021Q2:1.19.0.4
	pkgsrc-2021Q2-base:1.19
	pkgsrc-2021Q1:1.19.0.2
	pkgsrc-2021Q1-base:1.19
	pkgsrc-2020Q4:1.17.0.2
	pkgsrc-2020Q4-base:1.17
	pkgsrc-2020Q3:1.15.0.2
	pkgsrc-2020Q3-base:1.15
	pkgsrc-2020Q2:1.14.0.2
	pkgsrc-2020Q2-base:1.14
	pkgsrc-2020Q1:1.13.0.2
	pkgsrc-2020Q1-base:1.13
	pkgsrc-2019Q4:1.11.0.4
	pkgsrc-2019Q4-base:1.11
	pkgsrc-2019Q3:1.9.0.2
	pkgsrc-2019Q3-base:1.9
	pkgsrc-2019Q2:1.7.0.2
	pkgsrc-2019Q2-base:1.7
	pkgsrc-2019Q1:1.5.0.2
	pkgsrc-2019Q1-base:1.5
	pkgsrc-2018Q4:1.2.0.4
	pkgsrc-2018Q4-base:1.2
	pkgsrc-2018Q3:1.2.0.2
	pkgsrc-2018Q3-base:1.2;
locks; strict;
comment	@# @;


1.31
date	2025.12.29.12.50.34;	author leot;	state Exp;
branches;
next	1.30;
commitid	AQ9vCG1xxakQSioG;

1.30
date	2025.08.25.16.27.31;	author leot;	state Exp;
branches;
next	1.29;
commitid	Eaf0CPii7RMM888G;

1.29
date	2024.12.29.20.46.35;	author leot;	state Exp;
branches;
next	1.28;
commitid	fuMp9x7EtwfMfrDF;

1.28
date	2024.01.01.15.13.04;	author leot;	state Exp;
branches;
next	1.27;
commitid	KGUYIkKaQbnd5LSE;

1.27
date	2023.08.21.13.07.14;	author leot;	state Exp;
branches;
next	1.26;
commitid	CNgRdlhRZCL4FEBE;

1.26
date	2023.04.28.13.42.00;	author leot;	state Exp;
branches;
next	1.25;
commitid	B2hEvSQgeWpfySmE;

1.25
date	2022.08.17.15.21.12;	author leot;	state Exp;
branches;
next	1.24;
commitid	m1v0e0tfKcmggfQD;

1.24
date	2022.05.28.18.42.30;	author leot;	state Exp;
branches;
next	1.23;
commitid	54Ae6uXAuUtWYQFD;

1.23
date	2022.03.07.22.47.33;	author leot;	state Exp;
branches;
next	1.22;
commitid	jSVuHp9WA1prYkvD;

1.22
date	2022.02.10.11.35.16;	author leot;	state Exp;
branches;
next	1.21;
commitid	uMUGUoliN4eD34sD;

1.21
date	2021.12.18.14.14.24;	author leot;	state Exp;
branches;
next	1.20;
commitid	noEq8CjajPvNF8lD;

1.20
date	2021.08.08.10.51.53;	author leot;	state Exp;
branches;
next	1.19;
commitid	saKf6FH1YZuoN94D;

1.19
date	2021.03.14.18.18.27;	author leot;	state Exp;
branches;
next	1.18;
commitid	peaR9Cx0c4FuZiLC;

1.18
date	2021.01.27.16.59.13;	author leot;	state Exp;
branches;
next	1.17;
commitid	Y1p0fpqNQzS32oFC;

1.17
date	2020.11.20.14.38.52;	author leot;	state Exp;
branches;
next	1.16;
commitid	WEkH978UMc4WqDwC;

1.16
date	2020.10.26.10.06.37;	author leot;	state Exp;
branches;
next	1.15;
commitid	0a6cndkkuwuMJotC;

1.15
date	2020.07.14.10.46.35;	author leot;	state Exp;
branches;
next	1.14;
commitid	gTt4hDJDeU5Pi2gC;

1.14
date	2020.05.04.15.41.23;	author leot;	state Exp;
branches;
next	1.13;
commitid	WnNs1ua18Y7qdW6C;

1.13
date	2020.02.23.20.32.45;	author leot;	state Exp;
branches;
next	1.12;
commitid	A3YYHnSdKH0V6QXB;

1.12
date	2020.01.26.17.31.58;	author rillig;	state Exp;
branches;
next	1.11;
commitid	4fBBvoSLJaGd0eUB;

1.11
date	2019.11.26.11.03.13;	author leot;	state Exp;
branches;
next	1.10;
commitid	4lOeaT30yzMTOlMB;

1.10
date	2019.10.13.13.51.56;	author leot;	state Exp;
branches;
next	1.9;
commitid	CWRUQq8Ftj3laIGB;

1.9
date	2019.08.01.18.55.29;	author leot;	state Exp;
branches;
next	1.8;
commitid	wQN85PoZQJysbmxB;

1.8
date	2019.06.30.19.33.15;	author leot;	state Exp;
branches;
next	1.7;
commitid	yd22AyyjCTqNqftB;

1.7
date	2019.05.13.23.20.10;	author leot;	state Exp;
branches;
next	1.6;
commitid	BZ3fPHABfVVSc6nB;

1.6
date	2019.05.05.17.46.36;	author leot;	state Exp;
branches;
next	1.5;
commitid	GgD7XWhso0mND2mB;

1.5
date	2019.02.26.18.13.54;	author leot;	state Exp;
branches;
next	1.4;
commitid	WAd3J3JsxrNyYidB;

1.4
date	2019.02.17.21.19.53;	author leot;	state Exp;
branches;
next	1.3;
commitid	voWikFMtkYxmiacB;

1.3
date	2019.01.01.00.32.10;	author leot;	state Exp;
branches;
next	1.2;
commitid	LOz2EQT3Fy7RT06B;

1.2
date	2018.09.08.14.10.52;	author leot;	state Exp;
branches;
next	1.1;
commitid	5lQffvOvzYWm7jRA;

1.1
date	2018.09.08.13.23.38;	author leot;	state Exp;
branches;
next	;
commitid	evWXJX1XT9VyRiRA;


desc
@@


1.31
log
@sfeed: Update to 2.3

Changes:
2.3
For this release if you use sfeed_mbox: because of some changes the Message-ID
value will be different. This may be important for example if you use this
header for filtering duplicate messages.

See below for detailed information.

Fixes:
* sfeed_update: when merging a record: change the default to use the last record
  In many cases it makes sense to use the last record (merged by default based
  on the combination id, title, link).
  Thanks Ivo Cicchese for the feedback!
* sfeed_mbox:
  * The To header could contain characters that are invalid.
  * The Message-ID field could contain spaces or invalid characters. Now it is
    "@@newsfeed.local".
* Documentation: sfeed_update/sfeedrc example: use $basename variable name:
  $filename was incorrectly used as it is set in the global scope.
  Use the intended $basename in the scope of the fetch() function.

Features
* sfeed_gopher: improve output and nicer formatting of the index file.
  * Prefix feeds with new items with "N " at the start of the line.
  * Right align item counts, similar to the (left) feed sidebar in sfeed_curses.
* sfeed_mbox:
  * Header changes:
    This allows more convenient filtering in many mail clients.
    Add mail headers, they are now only set headers when they have a value and are
    non-empty.
    These headers are used by the rss2email program also:
    - X-RSS-ID: the item ID.
    - X-RSS-TAGS: the category tags, '|' in sfeed(5) is replaced by ','.
    - X-RSS-URL: the item link / URL.
    Also added:
    - X-RSS-Author: the item author.
    - X-RSS-Enclosure: the first enclosure.
    One can further manipulate the headers using mail tools or awk or a sed
    expression for example.  For example changing X-Feedname to X-Label etc.
   * Change the default From and To header. It does not use the system hostname or
     $USER anymore.
     Add environment variables to override the From and To header with defaults:
            $SFEED_MBOX_FROM: <anonymous@@localhost>
            $SFEED_MBOX_TO:   <anonymous@@localhost>
   * Set the author as the displayed name (if it is set), but do not use the
     feed name anymore.
     Some unsafe characters are now removed from the author name (e-mail quoting
     and text encoding).
* Various small code cleanups and documentation improvements:
  * xml.c: validate numeric entities more strictly.
  * Handle unlikely case argc < 1 in programs.
  * Fix some pedantic warnings suggested by cppcheck.
@
text
@# $NetBSD: Makefile,v 1.30 2025/08/25 16:27:31 leot Exp $

DISTNAME=	sfeed-2.3
CATEGORIES=	news
MASTER_SITES=	https://codemadness.org/releases/sfeed/

MAINTAINER=	leot@@NetBSD.org
HOMEPAGE=	https://codemadness.org/git/sfeed/file/README.html
COMMENT=	RSS and Atom parser
LICENSE=	isc

USE_LANGUAGES=	c99

MAKE_FLAGS+=		PREFIX=${PREFIX:Q}
MAKE_FLAGS+=		MANPREFIX=${PREFIX:Q}/${PKGMANDIR:Q}
MAKE_FLAGS+=		CC=${CC:Q}

REPLACE_SH+=		sfeed_markread sfeed_opml_export sfeed_update

# Needed for cur_term
LDFLAGS.NetBSD+=	-lterminfo

.include "../../mk/curses.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
@


1.30
log
@sfeed: Update to 2.2

Changes:
2.2
Improvements:
* sfeed.c: optimize tag lookup by reverting the binary search to a linear lookup.
  This is because the tags table is very small.

Documentation fixes:
* README, sfeedrc.5: improve If-Modified-Since example:
  * Use the exact server timestamp to compare modified content (curl -R option).
    Using the client timestamp is imprecise.
  * Do not use the modified timestamp of the ETag for If-Modified-Since this
    can differ as well.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.29 2024/12/29 20:46:35 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-2.2
@


1.29
log
@sfeed: Update to 2.1

Changes:
* xml.c parsing fix: improve parsing whitespace after end tag names.
* sfeed_update: fix: leave IFS unchanged for sfeedrc code.
* sfeed.c, small pedantic time parsing improvements
* sfeed_update: separate the logic of running feeds in a function.
  It can be used to more easily replace the logic of running feeds with xargs
  with something else like GNU/parallel or the previous behaviour which didn't
  require xargs.
* util.h: add a comment/note about __dead and noreturn hints.
  All the current clang analyzer warnings are false-positives.
* Documentation improvements
* Other minor improvements
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.28 2024/01/01 15:13:04 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-2.1
@


1.28
log
@sfeed: Update to 2.0

Changes:
2.0
---
Features:
* sfeed_update: use xargs -P for improved job handling when updating feeds in
  parallel.
* sfeed_update: update default maxjobs from 8 to 16.

Fixes:
* sfeed_json: fix name of "url" field for attachments.
* sfeed_opml_export and sfeed_update: allow only regular files.
* sfeed_update: improve compatibility with zsh as a non-interactive shell,
  because some variables likes like $path and $status are reserved.
* sfeed_update:
  when the feeds() function is not defined then exit with status code 1 (this
  was incorrectly status code 0).
* sfeed_update: improvements in the cleanup of temporary files for edge-cases.

Code improvements:
* sfeed_curses/sfeed_gopher: mark functions as static.
* sfeed_gopher: fix a clang-analyzer warning (no difference in behaviour).
* sfeed_update: in the order() function suppress output to stderr, like merge()
  already does.
* Some small documentation improvements.

There was some work in adding tests for sfeed_update. This makes testing for
regressions on many platforms faster to spot.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.27 2023/08/21 13:07:14 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-2.0
@


1.27
log
@sfeed: Update to 1.9

Changes:
1.9
---
Features:
* sfeed_{curses,frames,gopher,html,plain}: add $SFEED_NEW_MAX_SECS

  By introducing the new environment variable $SFEED_NEW_MAX_SECS in some
  sfeed_* utilities marking feeds as new based on comparing their age, it is now
  possible to override this age limit. The default limit was the last day (86400
  seconds).

  This allows, for example, to be notified about new feeds within the last
  hour with by prefixing new items with " N ":

        SFEED_NEW_MAX_SECS=3600 sfeed_plain ~/.sfeed/feeds/*

  While creating a web report for last week's news by:

        SFEED_NEW_MAX_SECS=604800 sfeed_html ~/.sfeed/feeds/*

  This marks the items of the last week as bold in HTML.

  Based on the initial patch by Alvar Penning, thanks!

* sfeed_update/sfeedrc: add url a as parameter to the filter() and order()
  function This makes it easier to set filters or ordering by pattern matching on
  a group of feeds by the feed URL. For example for Youtube or Reddit feeds.

* sfeed_curses: move one line down when marking an item as read or unread.
  I don't mind either behaviour, but it has been suggested by a few people. For
  example the mutt mail client also has this behaviour.


Fixes:
* Improve to use proper includes.
  Reduce using some of the unneeded sys/* headers too. Using the C99 includes.
* sfeed_atom: for gmtime_r() make the error message consistent with sfeed_mbox.
* Makefile: change Gentoo commented example from -lcurses to -lncurses.
* sfeed_markread: fail early if creating a temporary file failed.


Code-cleaning / pedantic fixes:
* sfeed: datetounix: code-style, change , to separate lines (-Wcomma).
* sfeed_curses: make struct urls static like the other variables.
* sfeed_gopher: reduce scope and shadowing of a variable (no effective change though).
* xml.h: _XML_H_: macro name with an underscore is a reserved identifier.


Documentation:
* Improve note about CDNs and HTTP User-Agent blocking and change the example
  in sfeedrc.5 by setting a User-Agent.
* sfeedrc.example: add comment to reference to the man pages and README file.
* README: RSS 0.90+ is supported (not 0.91+).
* Typo fixes, consistency and structure fixes and some rewording.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.26 2023/04/28 13:42:00 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-1.9
@


1.26
log
@sfeed: Update to 1.8

Changes:
1.8
---
Fixes:
* sfeed_update: fail early if creating a temporary directory or status file fails.
* sfeed_atom, sfeed_json, sfeed_mbox:
  Fix reading past the buffer with an escaped NUL byte (\ NUL).
  Note that this could not happen with output from sfeed itself. Only if it was
  manipulated.
* sfeed_curses: fix (very hard to trigger) memleak when getline() returns EOF
  for lazyloaded items.
* sfeed parser:
  * Improve parsing RFC2822 obsolete short year.
  * Use errno ENOMEM instead of EOVERFLOW.
    This matches the behaviour of setting errno for malloc/calloc on the following
    systems too: glibc, musl libc, OpenBSD libc.
  * date to unix timestamp: fix incorrect int type to long.
    Found while testing sfeed on 16-bit MS-DOS with Open Watcom (for "fun" :)).
* Makefile: remove duplicate CPPFLAGS for sfeed_curses

Features:
* sfeed_json: add JSON output format tool. This formats the TSV data to JSON.
  It uses a subset of JSON Feed 1.1: https://www.jsonfeed.org/version/1.1/

Optimizations:
* sfeed_atom: save a few bytes in the output by removing the type="text"
  attribute, because for Atom the default for the type is text.
* Slightly reduce stack size for translating XML entities.
  A numeric entity could use 5 bytes, so use a round number of 8 bytes.

Misc:
* sfeed: simplify time calculation and make it slightly easier to read.
  This also fixes a calculation (possibly a compiler bug) with Open Watcom 1.9.
* Remove the sfeed name in some outputs ("branding").

Documentation:
* Fix some typos and improve code comments, in particular about the time parsing.
* README: sfeed_download example: change youtube-dl to yt-dlp:
  this is an active maintained fork.
* README: add error checking for temporary files in the examples.

Aside from the above changes there have been lots of testing on different and
strange systems and the test-cases have been expanded to cover some cases.
These tests are in a separate repo.

Some tested strange systems:

* SerenityOS: gophers://codemadness.org/9/paste/sfeed-serenityos.webm partially
  works.  The core base utilities like sort are limited and non-POSIX though, so
  sfeed_update doesn't work directly there.

* MS-DOS (16-bit and 32-bit extender) using Open Watcom 1.9. Works fine using a
  32-bit extender.  No 2038-support with 64-bit time_t though, just _unsigned_
  32-bit :)

Tested these less-used systems or compilers can be fun and also discover
(pedantic) bugs.

While adding JSON Feed output support (sfeed_json) I also wrote a parser for it
to read the data.  It can convert from JSON Feed to Atom. It can also convert
directly from JSON Feed to sfeed(5). It is available at:

        https://git.codemadness.org/jfconvert/files.html


1.7
---
Changes:
sfeed_curses:
* Add SCO keys for next, prior (CSI I and CSI G).
  Tested on DragonFlyBSD (cons25 console).
* Add SUN keys support.
  Tested on OpenIndiana.

sfeed_gopher:
* Remove unnecesary PATH_MAX restricting the path length.
  This also makes it compile cleanly on GNU/Hurd.

* Man page and documentation improvements.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.25 2022/08/17 15:21:12 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-1.8
d20 3
@


1.25
log
@sfeed: Update to 1.6

Changes:
1.6
---
* Code cleanups: unused code and refactored the code for reading read items
  from a plain-text URL file list.
* Fix typos in the code and documentation.
* Improve clarity of some code comments.
* Add setsid example to the README.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.24 2022/05/28 18:42:30 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-1.6
@


1.24
log
@sfeed: Update to 1.5

Changes:
1.5
---
* sfeed_curses: interrupt waitpid while interactive child program is running
  This now handles SIGTERM on sfeed_curses while an interactive child program is
  running.
* sfeed_curses: close stdin before spawning a plumb program in non-interactive
  mode, which is more intuitive: the program doesn't seem to hang when it expects
  input in this case since there is no way to send input anyway.
* Properly escape backslashes in the man pages (thanks adc!).
* Documentation improvements to the man pages and a progress indicator example
  script for sfeed_update.

1.4
---
* Improve read and write error handling in streams in many programs.
* sfeed_update:
  * Improve error handling and return a non-zero status if any feed fails.
    NOTE: this changes the way of using:
        sfeed_update && pkill -SIGHUP sfeed_curses
  * Separate errors to stderr and "OK" messages to stdout.
* sfeed_curses:
  * Avoid processes becoming a zombie (plumb, pipe, yank).
  * Line editor: temporarily disable the mouse when searching with /.
  * Improved signal handling.
  * Improved waiting on processes and status handling.
* sfeed_html/sfeed_frames: add dark mode support to the example stylesheet.
* sfeed_opml_export: use a control-character separator for converting the list.
* General code cleanup improvements.
* Compatibility: reduce the assumption the builtin libc locale is ASCII-compatible
  noticed on OpenBSD 3.8 where iscntrl detected C1 as control-characters,
  breaking UTF-8.
* General documentation improvements.
* Makefile: rebuild sfeed_curses if the same theme changes.
* README: improve error handling in downloader example when a feed fails.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.23 2022/03/07 22:47:33 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-1.5
@


1.23
log
@sfeed: Update to 1.3

Changes:
Fixes
-----
* Fix a compiler warning with some curses implementations, like NetBSD curses.
* sfeed_curses: add keybinds for the home key and the default home and end key
  for urxvt.
* sfeed_curses: fix a redraw when reloading a file with a feed file read from
  stdin and using an URL file and changing this URL file externally.
* sfeed_curses: cast character for SFEED_AUTOCMD to unsigned char to allow
  character sequences outside the ASCII range.

Documentation
-------------
* README: add an example script to count new and unread items. This can be
  useful for some statusbar indicator (asked about by e-mail).
* Small code-style, comments and documentation improvements and fixes.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.22 2022/02/10 11:35:16 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-1.3
@


1.22
log
@sfeed: Update to 1.2

Changes:
1.2
---
Fixes:
* sfeed parser: extend the time range to atleast 64-bit (long long).
* sfeed parser: allow leap second like 23:59:60 (RFC2822 Section 3.3).
* sfeed_curses: pedantic fix for UB with an empty URL file (qsort and bsearch).
* sfeed_curses: fix a compile warning with tparm() on some systems.

Features:
* sfeed_atom: add category field(s).
* sfeed_curses: add feature to go to the next bold row and previous bold row
with J and K.  This is useful to quickly jump to the next new item or new feed.
Thanks to IanJ for the suggestion and feedback!
* sfeed_content: allow to set HTML converter with env variable $SFEED_HTMLCONV.
For example: SFEED_HTMLCONV="w3m -I UTF-8 -O UTF-8 -T text/html -dump"
* Add compile-time option to improve output on dumb non-UTF8 terminals
(-DSFEED_DUMBTERM).

Misc:
* Documentation improvements to the man page and a sfeed_download example in
the README: this is a parallel downloader/extractor example script.
* Code-style improvements.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.21 2021/12/18 14:14:24 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-1.2
@


1.21
log
@sfeed: Update to 1.1

Changes:
1.1
---
 * The formatting program sfeed_curses is now merged in the sfeed repo.
   This is a program for viewing items in a curses UI.
   sfeed can still be built without it if its considered bloat with:
         make SFEED_CURSES="".
 * sfeed_mbox: escape the link and enclosure text when using HTML content
   with the option SFEED_MBOX_CONTENT="1"
 * sfeed_mbox: add link as base URL for HTML content.
 * sfeed_mbox: use 64-bit for the checksum number on 32-bit systems.
 * sfeed_content: optimizations to the awk script for the UTF-8 locale and
   string replacements.
 * sfeed_content: add link as base URL for HTML content.
 * Documentation improvements and more examples in the man page.
 * Small code-style improvements.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.20 2021/08/08 10:51:53 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-1.1
@


1.20
log
@sfeed: Update to 1.0

Changes:
1.0
---
* Performance: enable unlocked I/O by default improving read performance.
* Makefile: switch to use CPPFLAGS -D_DEFAULT_SOURCE preventing warning
  messages on some systems.

* sfeed:
  * Fix regression with parsing RSS guid, by default ispermalink="true".
  * Detect the proper mime-type for XHTML (application/xhtml+xml).
  * Support short digit years for RSS pubDate fields (specified in obsoleted
    RFC822).
  * Improve content-type "type" attribute handling/buffering.
  * Improve "ispermalink", "rel" and "type" attribute handling/buffering.
  * Add support time fields for old/legacy Atom 0.3 feeds.
* sfeed_frames/sfeed_html: show the total counts and improve the title format
  to match the sfeed_curses title.
* sfeed_gopher: unveil: show path when it failed (OpenBSD).
* sfeed_mbox: add environment variable to print content (off by default because
  it can be insecure for some clients).
* sfeed_update: fix message when the configuration file does not exist yet.
* Portability and standards: add BSD-like err() and errx() functions.
* Code-style improvements.
* Documentation improvements: add examples, fix typos, etc.
* README: update newsboat export script to support the content-type field
  which is added in newer newsboat versions.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.19 2021/03/14 18:18:27 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-1.0
d18 1
a18 1
REPLACE_SH+=		sfeed_opml_export sfeed_update
d20 1
@


1.19
log
@sfeed: Update to 0.9.22

Changes:
0.9.22
------
* Fix a time parsing regression with the non-standard date format
  "2021-02-03 05:13:03" (without T). This non-standard format is now
  supported again.
* Fix/improve/refactor URI parsing and formatting. This now supports
  non-authoritive URI like "magnet:" links. local file URIs like file:/// are
  now also allowed (of course the user should be careful with file:/// URLs).
  This now follows the RFC standard more closely (but not completely):
  https://tools.ietf.org/html/rfc3986
* sfeed_update: just pass the feedurl directly as the base URL. This simplifies
  the code and allows for more correct transformation of relative URLs. Note
  though that feeds should not contain relative URLs though.
* sfeed_update: add an overridable parse() function, using sfeed(1) by default
  This can be useful to more cleanly make connector scripts.
* sfeed_update: restructure the code and allow to more easily reuse parts of
  the functions by including the script. Add an example script in the README
  to allow more efficient parallel execution using the non-POSIX xargs -P
  option.
* Documentation improvements: add examples, typo fixes, mandoc (lint) errors,
  etc.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.18 2021/01/27 16:59:13 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-0.9.22
@


1.18
log
@sfeed: Update to 0.9.21

pkgsrc changes:
 - Use https:// also for MASTER_SITES

Changes:
0.9.21
------
 - Do not convert UTF-16 surrogate pairs to an invalid sequence
 - If baseurl is empty use the path from the feed by default in sfeed_update
 - Misc bug fixes and code and documentation improvements
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.17 2020/11/20 14:38:52 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-0.9.21
@


1.17
log
@sfeed: Update to 0.9.20

Changes:
 - sfeed_xmlenc: be more paranoid in printing encoding names
 - sfeed_web: improve parsing <link> if it has no type attribute
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.16 2020/10/26 10:06:37 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-0.9.20
d5 1
a5 1
MASTER_SITES=	http://codemadness.org/releases/sfeed/
@


1.16
log
@sfeed: Update to 0.9.19

0.9.19
------
- Parse categories and add multiple field values support (for categories)
  separated by `|'
- Misc bug fixes and improvements
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.15 2020/07/14 10:46:35 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-0.9.19
@


1.15
log
@sfeed: Update to 0.9.18

Changes:
0.9.18
------
 - format tools: don't skip items with a missing/invalid timestamp field
 - sfeed_atom: the updated field is mandatory: use the current time
 - sfeed_atom: fix timezone, output if timestamp is set
 - sfeed_atom: make the output more conform by adding id, updated tags and add
   <feed> tags (author name, id, updated, title).
   Thanks lich for the feedback and testing.
 - sfeed_gopher: do not use URL: prefix for gopher:// urls.
 - Documentation improvements
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.14 2020/05/04 15:41:23 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-0.9.18
@


1.14
log
@sfeed: Update to 0.9.17

Changes:
0.9.17
------
 - Fallback author to feedname instead of unknown in sfeed_mbox.
 - Remove prefix in Subject: for sfeed_mbox to save some space.
   Filtering or custom labels can be made using the X-Feedname: header.
 - Document exit status in man pages.
 - Use a <pre> section per feed in sfeed_html/sfeed_frames.
 - Optimize UTF-8 decoding and column position calculation in sfeed_plain.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.13 2020/02/23 20:32:45 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-0.9.17
@


1.13
log
@sfeed: Update to 0.9.16

Changes:
0.9.16
------
 - Add sfeed_gopher: generic gopher formatting program
 - Remove sfeed_gph
 - Other bug fixes and improvements (in particular documentation one)
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.12 2020/01/26 17:31:58 rillig Exp $
d3 1
a3 1
DISTNAME=	sfeed-0.9.16
@


1.12
log
@all: migrate homepages from http to https

pkglint -r --network --only "migrate"

As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.11 2019/11/26 11:03:13 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-0.9.15
@


1.11
log
@sfeed: Update to 0.9.15

Changes:
0.9.15
------
 - OPML export and import improvements
 - Minor bug fixes and documentation improvements
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.10 2019/10/13 13:51:56 leot Exp $
d8 1
a8 1
HOMEPAGE=	http://codemadness.org/git/sfeed/file/README.html
@


1.10
log
@sfeed: Update to 0.9.14

Changes:
0.9.14
------
 - Add checks for addition/multiplication overflow in string_append()
 - Documentation improvements
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.9 2019/08/01 18:55:29 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-0.9.14
@


1.9
log
@sfeed: Update to 0.9.13

Changes:
0.9.13
------
 - Documentation improvements
 - Misc bug fixes and improvements
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.8 2019/06/30 19:33:15 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-0.9.13
@


1.8
log
@sfeed: Update to 0.9.12

Changes:
0.9.12
------
 - Handle entities in attribute values
 - Misc bug fixes and improvements
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.7 2019/05/13 23:20:10 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-0.9.12
@


1.7
log
@sfeed: Update to 0.9.11

Changes:
0.9.11
------
 - Remove sfeed_tail: it did not worked well with FIFOs and a tail-like
   example is now documented in README
 - sfeed_plain, start with timestamp, similarly to sfeed_twtxt
 - Optimize sfeed_opml_export
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.6 2019/05/05 17:46:36 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-0.9.11
@


1.6
log
@sfeed: Update to 0.9.10

Changes:
0.9.10
------
 - Disable If-Modified-Since by default in sfeed_update
 - Misc bug fixes and improvements

0.9.9
-----
 - Add sfeed_atom to convert one or more feeds from TSV back to Atom
 - Rename fetchfeed() to feed() in sfeed_update
 - Add support for first <enclosure> as 8th field
 - Misc bug fixes and improvements
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.5 2019/02/26 18:13:54 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-0.9.10
@


1.5
log
@sfeed: Avoid SUBST and directly adjust variables via MAKE_FLAGS (NFC)
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.4 2019/02/17 21:19:53 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-0.9.8
@


1.4
log
@sfeed: Update to 0.9.8

Changes:
0.9.8
-----
 - Documentation improvements
 - Add DOCPREFIX for installing docs
 - Misc bug fixes and improvements
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.3 2019/01/01 00:32:10 leot Exp $
d14 3
a16 11
# Adjust config.mk
SUBST_CLASSES+=		makefile
SUBST_STAGE.makefile=	pre-configure
SUBST_MESSAGE.makefile=	Fixing config.mk
SUBST_FILES.makefile=	config.mk
SUBST_SED.makefile=	-e 's,/usr/local,${PREFIX},g'
SUBST_SED.makefile+=	-e 's,man,${PKGMANDIR},g'
SUBST_SED.makefile+=	-e 's/cc/${CC:Q}/'
SUBST_SED.makefile+=	-e 's,^CFLAGS *= ,CFLAGS += ,'
SUBST_SED.makefile+=	-e 's,^CPPFLAGS *= ,CPPFLAGS += ,'
SUBST_SED.makefile+=	-e 's,^LDFLAGS *= ,LDFLAGS += ,'
@


1.3
log
@sfeed: Update to 0.9.7

Changes:
0.9.7
-----
- Add a maximum amount of feeds to update concurrently in sfeed_update
- Add merge(), filter() and order() support per feed in sfeed_update
  in order to permit to change merge logic, filter lines and fields
  and order lines per feed
- Misc bug fixes and improvements
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.2 2018/09/08 14:10:52 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-0.9.7
@


1.2
log
@sfeed: Use REPLACE_SH for shell scripts
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.1 2018/09/08 13:23:38 leot Exp $
d3 1
a3 1
DISTNAME=	sfeed-0.9.6
@


1.1
log
@sfeed: Import sfeed-0.9.6 as news/sfeed

RSS and Atom parser (and some format programs).
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.2 2018/02/28 16:32:56 leot Exp $
d26 2
@

