head	1.30;
access;
symbols
	pkgsrc-2026Q1:1.30.0.2
	pkgsrc-2026Q1-base:1.30
	pkgsrc-2025Q4:1.29.0.4
	pkgsrc-2025Q4-base:1.29
	pkgsrc-2025Q3:1.29.0.2
	pkgsrc-2025Q3-base:1.29
	pkgsrc-2025Q2:1.28.0.4
	pkgsrc-2025Q2-base:1.28
	pkgsrc-2025Q1:1.28.0.2
	pkgsrc-2025Q1-base:1.28
	pkgsrc-2024Q4:1.27.0.8
	pkgsrc-2024Q4-base:1.27
	pkgsrc-2024Q3:1.27.0.6
	pkgsrc-2024Q3-base:1.27
	pkgsrc-2024Q2:1.27.0.4
	pkgsrc-2024Q2-base:1.27
	pkgsrc-2024Q1:1.27.0.2
	pkgsrc-2024Q1-base:1.27
	pkgsrc-2023Q4:1.26.0.4
	pkgsrc-2023Q4-base:1.26
	pkgsrc-2023Q3:1.26.0.2
	pkgsrc-2023Q3-base:1.26
	pkgsrc-2023Q2:1.25.0.2
	pkgsrc-2023Q2-base:1.25
	pkgsrc-2023Q1:1.24.0.6
	pkgsrc-2023Q1-base:1.24
	pkgsrc-2022Q4:1.24.0.4
	pkgsrc-2022Q4-base:1.24
	pkgsrc-2022Q3:1.24.0.2
	pkgsrc-2022Q3-base:1.24
	pkgsrc-2022Q2:1.23.0.2
	pkgsrc-2022Q2-base:1.23
	pkgsrc-2022Q1:1.22.0.2
	pkgsrc-2022Q1-base:1.22
	pkgsrc-2021Q4:1.20.0.2
	pkgsrc-2021Q4-base:1.20
	pkgsrc-2021Q3:1.17.0.2
	pkgsrc-2021Q3-base:1.17
	pkgsrc-2021Q2:1.16.0.4
	pkgsrc-2021Q2-base:1.16
	pkgsrc-2021Q1:1.16.0.2
	pkgsrc-2021Q1-base:1.16
	pkgsrc-2020Q4:1.14.0.2
	pkgsrc-2020Q4-base:1.14
	pkgsrc-2020Q3:1.12.0.2
	pkgsrc-2020Q3-base:1.12
	pkgsrc-2020Q2:1.11.0.2
	pkgsrc-2020Q2-base:1.11
	pkgsrc-2020Q1:1.10.0.2
	pkgsrc-2020Q1-base:1.10
	pkgsrc-2019Q4:1.9.0.4
	pkgsrc-2019Q4-base:1.9
	pkgsrc-2019Q3:1.7.0.2
	pkgsrc-2019Q3-base:1.7
	pkgsrc-2019Q2:1.5.0.2
	pkgsrc-2019Q2-base:1.5
	pkgsrc-2019Q1:1.3.0.2
	pkgsrc-2019Q1-base:1.3
	pkgsrc-2018Q4:1.1.0.4
	pkgsrc-2018Q4-base:1.1
	pkgsrc-2018Q3:1.1.0.2
	pkgsrc-2018Q3-base:1.1;
locks; strict;
comment	@# @;


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

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

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

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

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

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

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

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

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

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

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

1.19
date	2021.10.26.11.09.36;	author nia;	state Exp;
branches;
next	1.18;
commitid	PBHYsF2uFAWJljeD;

1.18
date	2021.10.07.14.44.59;	author nia;	state Exp;
branches;
next	1.17;
commitid	pR9Bc7OYLRLP9TbD;

1.17
date	2021.08.08.10.51.53;	author leot;	state Exp;
branches;
next	1.16;
commitid	saKf6FH1YZuoN94D;

1.16
date	2021.03.14.18.18.27;	author leot;	state Exp;
branches;
next	1.15;
commitid	peaR9Cx0c4FuZiLC;

1.15
date	2021.01.27.16.59.13;	author leot;	state Exp;
branches;
next	1.14;
commitid	Y1p0fpqNQzS32oFC;

1.14
date	2020.11.20.14.38.52;	author leot;	state Exp;
branches;
next	1.13;
commitid	WEkH978UMc4WqDwC;

1.13
date	2020.10.26.10.06.37;	author leot;	state Exp;
branches;
next	1.12;
commitid	0a6cndkkuwuMJotC;

1.12
date	2020.07.14.10.46.35;	author leot;	state Exp;
branches;
next	1.11;
commitid	gTt4hDJDeU5Pi2gC;

1.11
date	2020.05.04.15.41.23;	author leot;	state Exp;
branches;
next	1.10;
commitid	WnNs1ua18Y7qdW6C;

1.10
date	2020.02.23.20.32.45;	author leot;	state Exp;
branches;
next	1.9;
commitid	A3YYHnSdKH0V6QXB;

1.9
date	2019.11.26.11.03.13;	author leot;	state Exp;
branches;
next	1.8;
commitid	4lOeaT30yzMTOlMB;

1.8
date	2019.10.13.13.51.56;	author leot;	state Exp;
branches;
next	1.7;
commitid	CWRUQq8Ftj3laIGB;

1.7
date	2019.08.01.18.55.29;	author leot;	state Exp;
branches;
next	1.6;
commitid	wQN85PoZQJysbmxB;

1.6
date	2019.06.30.19.33.15;	author leot;	state Exp;
branches;
next	1.5;
commitid	yd22AyyjCTqNqftB;

1.5
date	2019.05.13.23.20.10;	author leot;	state Exp;
branches;
next	1.4;
commitid	BZ3fPHABfVVSc6nB;

1.4
date	2019.05.05.17.46.36;	author leot;	state Exp;
branches;
next	1.3;
commitid	GgD7XWhso0mND2mB;

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

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

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


desc
@@


1.30
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: distinfo,v 1.29 2025/08/25 16:27:31 leot Exp $

BLAKE2s (sfeed-2.3.tar.gz) = 542264ce8af6676c5988088c2586c277c4cfad4d822f5a626bf142b3c818f30d
SHA512 (sfeed-2.3.tar.gz) = 63e4308654c326e5e93205c1578fdbac43a72e061c377f588539d2cc47eae241ef04ed9fe7bf97672505e454b7eda8fec91cfd0acc9ef350a41f3f20ec6ac0e2
Size (sfeed-2.3.tar.gz) = 70031 bytes
@


1.29
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: distinfo,v 1.28 2024/12/29 20:46:35 leot Exp $
d3 3
a5 3
BLAKE2s (sfeed-2.2.tar.gz) = c0835f652fe7065c4843d9a984fe2905dba6771f4ba254c2d579f7f66c60552f
SHA512 (sfeed-2.2.tar.gz) = d9ac4856583478f9ab9358d5f0b6b9001338b5c2be3a55184e2dd9fb6e9cc1bac23c9a8254d172e3d302682b4726521d7a7a10bc788f2be3cdccfb166b2b8f1a
Size (sfeed-2.2.tar.gz) = 68969 bytes
@


1.28
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: distinfo,v 1.27 2024/01/01 15:13:04 leot Exp $
d3 3
a5 3
BLAKE2s (sfeed-2.1.tar.gz) = 2ef6dc2cafeb0e8068d3fe1bb44ac40089b221faa9e847da0fbce771193d957b
SHA512 (sfeed-2.1.tar.gz) = 47f176bcb9e97e42446edf2b8fd2f902430d86bd93cd076e474532b344dca930fdeaffdf89cb58b59a5583bfed94921f1d2032ee8921e7075ee31d38a766e396
Size (sfeed-2.1.tar.gz) = 68610 bytes
@


1.27
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: distinfo,v 1.26 2023/08/21 13:07:14 leot Exp $
d3 3
a5 3
BLAKE2s (sfeed-2.0.tar.gz) = 5b8f8d9e70f33688e0f13ecef146a7e163d4ccc6929bc0ac07bc03489db48a14
SHA512 (sfeed-2.0.tar.gz) = cc4c0236b14ac6da6a9417d879caef9943c30506e2fee404eefceea53dea597b36814846cfc454d76727ddcca33746f2bac3c1ee6831f9900e68d00f6eb32b5b
Size (sfeed-2.0.tar.gz) = 67584 bytes
@


1.26
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: distinfo,v 1.25 2023/04/28 13:42:00 leot Exp $
d3 3
a5 3
BLAKE2s (sfeed-1.9.tar.gz) = fdfb93fdd5b48ef6217423c4747722d5c9f499684303046c5d97340328686efb
SHA512 (sfeed-1.9.tar.gz) = 714ce9526ce6a37cdc5777e279512b611f9e329ed0d7d1e9fd8efe8c981a69fe19c6622685d0ac2e16eef1f699096262e616e5b4f5ba81e44624ae99d10de749
Size (sfeed-1.9.tar.gz) = 67718 bytes
@


1.25
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: distinfo,v 1.24 2022/08/17 15:21:12 leot Exp $
d3 3
a5 3
BLAKE2s (sfeed-1.8.tar.gz) = fcb91a7ae23f898171c6ce2f25401b55b65b08eb64ff86c0cb862873dfd23e44
SHA512 (sfeed-1.8.tar.gz) = 7a57108ace21813de9d80e7ebcc9ffed37580f52f08313ddcf86f2ee0df54d733631cba6936921623aa34c41a06dba43778cedbf557738db009d91f961fc9af7
Size (sfeed-1.8.tar.gz) = 67335 bytes
@


1.24
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: distinfo,v 1.23 2022/05/28 18:42:30 leot Exp $
d3 3
a5 3
BLAKE2s (sfeed-1.6.tar.gz) = 37a9083f95670ef8f9013b84679bfe3d3c40e7e3d9c1856a7561facb5f3bab0a
SHA512 (sfeed-1.6.tar.gz) = 450cde27b0d437b165fc024f2b95612fd7755c357e3539167f3c9b123d7a63c3193cb808b6c9621d15b1f5e2d8d783131423e52db6e98c228aa5af190eb167eb
Size (sfeed-1.6.tar.gz) = 65239 bytes
@


1.23
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: distinfo,v 1.22 2022/03/07 22:47:33 leot Exp $
d3 3
a5 3
BLAKE2s (sfeed-1.5.tar.gz) = 73b15dccdcdf340924765b4a9c9c75bf176656c02ff2b70b80467c172175bf9a
SHA512 (sfeed-1.5.tar.gz) = 9a027b092620968bd6a086b37ce5bc3e2d5ee8193b59251466d5318bc1514ca78d3edf894c1988504c99b94f0bb3af2a54ba3067b2d90d1109665a5650bfd8a2
Size (sfeed-1.5.tar.gz) = 65067 bytes
@


1.22
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: distinfo,v 1.21 2022/02/10 11:35:16 leot Exp $
d3 3
a5 3
BLAKE2s (sfeed-1.3.tar.gz) = 1ed70e7b2a7ebfbdeee22e846d31a7c0e59138d1e582632a8b02f8a4b835f566
SHA512 (sfeed-1.3.tar.gz) = 858ebe0bf76f119a3b1a1b1bdf03a13b8085802bb796ae68f0a5ccb85e13747cc55498c29ef0443401678e56326bdef2bf9688966144e9581ff2cae486b729be
Size (sfeed-1.3.tar.gz) = 63037 bytes
@


1.21
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: distinfo,v 1.20 2021/12/18 14:14:24 leot Exp $
d3 3
a5 3
BLAKE2s (sfeed-1.2.tar.gz) = 0e579875e0e6044d16b9bdae23bad931aec3fe1004512ac0d6c561f2585f6a72
SHA512 (sfeed-1.2.tar.gz) = 4307f11ab02310a881717d99892486152dad93ecb1d6526401e60d6275c1610d90599de9784d9878f9ebb5aa34881abd1daa348c977d9ef6758095be74216a29
Size (sfeed-1.2.tar.gz) = 62575 bytes
@


1.20
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: distinfo,v 1.19 2021/10/26 11:09:36 nia Exp $
d3 3
a5 3
BLAKE2s (sfeed-1.1.tar.gz) = 1d6de41cf8b6b57ffe2ca0d47c3f06a0082a746666f2e152134b431cd1b76865
SHA512 (sfeed-1.1.tar.gz) = 8d05fb8578a7475779a14105376a3b5238a297193a0f98c9123c90d10c7ebe2fe9bc72eef694c6c9aa94f50fa3c96491cdd511d8d7b167ea8e25dfe772dada6e
Size (sfeed-1.1.tar.gz) = 60644 bytes
@


1.19
log
@news: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes
@
text
@d1 1
a1 1
$NetBSD: distinfo,v 1.18 2021/10/07 14:44:59 nia Exp $
d3 3
a5 3
BLAKE2s (sfeed-1.0.tar.gz) = 1966b7d31cd4d973fca2d14993129544d5c3ef089ab8ec7fb89c5fc18050f7a4
SHA512 (sfeed-1.0.tar.gz) = 8377b092c797483564e189e77f9cb37a675d5d88ad41625ab5afbafb39af13bf2787d27d1bc543f8089f2fffec4532b58687a8ed2b0f3d31a1aa030359de6a93
Size (sfeed-1.0.tar.gz) = 39349 bytes
@


1.18
log
@news: Remove SHA1 hashes for distfiles
@
text
@d1 1
a1 1
$NetBSD: distinfo,v 1.17 2021/08/08 10:51:53 leot Exp $
d3 1
a3 1
RMD160 (sfeed-1.0.tar.gz) = 8862f05b753cf9236023bb8d172a7b762a96f9c3
@


1.17
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: distinfo,v 1.16 2021/03/14 18:18:27 leot Exp $
a2 1
SHA1 (sfeed-1.0.tar.gz) = 1645d5ef882bc2694f6f198b3ae22473a91931c2
@


1.16
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: distinfo,v 1.15 2021/01/27 16:59:13 leot Exp $
d3 4
a6 4
SHA1 (sfeed-0.9.22.tar.gz) = f99c9d5234a9c751eafc043f2ea7206d9b7aa957
RMD160 (sfeed-0.9.22.tar.gz) = 787e22c34f5d14632d886fef48a2edfe8dc2f05e
SHA512 (sfeed-0.9.22.tar.gz) = 80938d60f237376d58f530df64911c419113cb17629adc93f750ffa59daaec8b529c98e7e287ec4d92817c5186e92eee1016a66ec67a60837272dee951d8c6f5
Size (sfeed-0.9.22.tar.gz) = 38128 bytes
@


1.15
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: distinfo,v 1.14 2020/11/20 14:38:52 leot Exp $
d3 4
a6 4
SHA1 (sfeed-0.9.21.tar.gz) = dc717b4b51767c50abf72aa6fdec7157dadd533f
RMD160 (sfeed-0.9.21.tar.gz) = f4ffc04a920ac8246d883800bfe4f8bd6d770727
SHA512 (sfeed-0.9.21.tar.gz) = c5e23c11bf6795dd4832aee164d6551d1ba35bcb273e4b9d6e12f1d6ad73809349a293526e0b96ef1a69281fde2d6214c5865d3730c0bcb745d11b74be498e41
Size (sfeed-0.9.21.tar.gz) = 36724 bytes
@


1.14
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: distinfo,v 1.13 2020/10/26 10:06:37 leot Exp $
d3 4
a6 4
SHA1 (sfeed-0.9.20.tar.gz) = e669836276d39ba0ac51b23cc8b93c231617398b
RMD160 (sfeed-0.9.20.tar.gz) = 61988e30ead6df062a843e4df0ec11b294645d54
SHA512 (sfeed-0.9.20.tar.gz) = ed54934815e3178216df4bf8e97f46ab98c07e92defa736eccf23bf243deea3b75f2939a96cb287f1485aed9710273be58b3f21abaa3e250d687fcf0550122b4
Size (sfeed-0.9.20.tar.gz) = 35985 bytes
@


1.13
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: distinfo,v 1.12 2020/07/14 10:46:35 leot Exp $
d3 4
a6 4
SHA1 (sfeed-0.9.19.tar.gz) = c65cbe0fad51ceb3fcb886eac94eafa4480a3a76
RMD160 (sfeed-0.9.19.tar.gz) = 00982d5d426008fb7b18c8f762bc0d1bae662cd3
SHA512 (sfeed-0.9.19.tar.gz) = a25e88693bf3cc3c92b70de2b5c175808f735bfbbec70399ae781945013c517c640ed9cb8bd484d1474575ed8f26d516a7a64b21d308daa1e4eda5e55b384e07
Size (sfeed-0.9.19.tar.gz) = 35900 bytes
@


1.12
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: distinfo,v 1.11 2020/05/04 15:41:23 leot Exp $
d3 4
a6 4
SHA1 (sfeed-0.9.18.tar.gz) = 1177aca84bf66830ad4ff7d8d9cf59c58d8891ad
RMD160 (sfeed-0.9.18.tar.gz) = 269dba8febfb79eec92f2115bff6f4ac1b8d0e1a
SHA512 (sfeed-0.9.18.tar.gz) = 993b588d93c5db0867497e32518d30dc4a309ef69ef9ddeeb4127924399380d6e6c9d7e45ebd56a57f6020a6f71a6782a563759c5bd00e22dea00e3ecb180762
Size (sfeed-0.9.18.tar.gz) = 34832 bytes
@


1.11
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: distinfo,v 1.10 2020/02/23 20:32:45 leot Exp $
d3 4
a6 4
SHA1 (sfeed-0.9.17.tar.gz) = 771426f37b2b9250b2c5723a11d8f0fd8050938e
RMD160 (sfeed-0.9.17.tar.gz) = a1472d8267ac8e3259da63b0a02dcae9742eb4e2
SHA512 (sfeed-0.9.17.tar.gz) = 47726b9ad15c546751a8478f7d72fea3fd8b8e24d82c86ea17c6234ab2e489f0b54471fb11c8cb09f36688d814bb72f27b5e487aaaa2a97d0cb88348106c0b6d
Size (sfeed-0.9.17.tar.gz) = 33122 bytes
@


1.10
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: distinfo,v 1.9 2019/11/26 11:03:13 leot Exp $
d3 4
a6 4
SHA1 (sfeed-0.9.16.tar.gz) = 004d8f081010b0f542c60bafeeda45e290ed5c19
RMD160 (sfeed-0.9.16.tar.gz) = 25125e81405e2847c24edf68b8abb1a3b15bf84e
SHA512 (sfeed-0.9.16.tar.gz) = 783d52b160081b76e0343a6d39b5409aa294ddaec49e6474076dfc9ee7a8e12fcbe61ff19217f0ac94e3ca0a51f03a2fb203b67a15c04c27fc23524b78164019
Size (sfeed-0.9.16.tar.gz) = 33223 bytes
@


1.9
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: distinfo,v 1.8 2019/10/13 13:51:56 leot Exp $
d3 4
a6 4
SHA1 (sfeed-0.9.15.tar.gz) = ba03764f9c33ca352d9aecd50f56bf4534164a05
RMD160 (sfeed-0.9.15.tar.gz) = 133880608f13971ce2800bad63d3df1fcda8b701
SHA512 (sfeed-0.9.15.tar.gz) = e86fac83faa8dba3194da8f5efc7b36fc7488b75cb78e61c5fbe32907816b176e4749e0b10ed6390ac81b73afd1e56bc0906bb1e3ec4779324e0c5a5c9fc202d
Size (sfeed-0.9.15.tar.gz) = 33499 bytes
@


1.8
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: distinfo,v 1.7 2019/08/01 18:55:29 leot Exp $
d3 4
a6 4
SHA1 (sfeed-0.9.14.tar.gz) = d6d356a86201b2013f662aa518ff64a3f51522c8
RMD160 (sfeed-0.9.14.tar.gz) = cb0404feebfe69a0e33fb8bcd838347469066e4e
SHA512 (sfeed-0.9.14.tar.gz) = 189936fc76a600119d39ef31d0ecfc2fddb516abed330d33d9993a31583ec665d69b130f030052fae2d5dc4f203781e1cab916e9e81b0db102bdf808de2c2d2f
Size (sfeed-0.9.14.tar.gz) = 33530 bytes
@


1.7
log
@sfeed: Update to 0.9.13

Changes:
0.9.13
------
 - Documentation improvements
 - Misc bug fixes and improvements
@
text
@d1 1
a1 1
$NetBSD: distinfo,v 1.6 2019/06/30 19:33:15 leot Exp $
d3 4
a6 4
SHA1 (sfeed-0.9.13.tar.gz) = 04b721d196c67b945d2220bcc96dc73a8efbb7f1
RMD160 (sfeed-0.9.13.tar.gz) = 3d4c345de97922b63ae766dc2a4477c9c17f64ee
SHA512 (sfeed-0.9.13.tar.gz) = 1b699421ef47e67b3deff0dd126e1d4b9b4dc2f26876e1f8b9d413a0d03bbca229076ccb37b6b28b2680e7322d90f50bc71b0fa8a8bfef082ce8fd678200e239
Size (sfeed-0.9.13.tar.gz) = 33575 bytes
@


1.6
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: distinfo,v 1.5 2019/05/13 23:20:10 leot Exp $
d3 4
a6 4
SHA1 (sfeed-0.9.12.tar.gz) = fdfcfdce2f8d7cff16b322114da0c837e8501310
RMD160 (sfeed-0.9.12.tar.gz) = c707cb91eb8fa7cdfa6fa961ebb9adf7dcd74e17
SHA512 (sfeed-0.9.12.tar.gz) = 42f1d398c8b74a8b95833fcc667e4064b0788b380c75fb65e0b3bf0d10406caf254f9a6dbb5ad564c717473991a73122c2cf4ccd9aeb51ae5328b37bcb97d54f
Size (sfeed-0.9.12.tar.gz) = 33501 bytes
@


1.5
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: distinfo,v 1.4 2019/05/05 17:46:36 leot Exp $
d3 4
a6 4
SHA1 (sfeed-0.9.11.tar.gz) = ede3121074a02216715953f08b082a57b91b3172
RMD160 (sfeed-0.9.11.tar.gz) = 95bb5967df273fd3c63e0094150787be81de2921
SHA512 (sfeed-0.9.11.tar.gz) = 6d8ca4a8ee0742560bc2864449a40184641f2bf9288202f3b5e7e8891e5dc23a3dcfcf11e62f90321a5200202d5699987b3e9bc717322716dfa83a1f65937980
Size (sfeed-0.9.11.tar.gz) = 33316 bytes
@


1.4
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: distinfo,v 1.3 2019/02/17 21:19:53 leot Exp $
d3 4
a6 4
SHA1 (sfeed-0.9.10.tar.gz) = 0df793199339b0c8e8b0c6cd088f898ed428de7f
RMD160 (sfeed-0.9.10.tar.gz) = c9ffe5a0a1ab804373900f79e61503d64b898053
SHA512 (sfeed-0.9.10.tar.gz) = d3fa16feaef4cfbf77ff45e419649a1e478a150d69e60b2f453f8af38870eb0b8b99024bd2797ac4b592f1fa7239a8cfddd7467737efc26641d87c45d1c5d354
Size (sfeed-0.9.10.tar.gz) = 40138 bytes
@


1.3
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: distinfo,v 1.2 2019/01/01 00:32:10 leot Exp $
d3 4
a6 4
SHA1 (sfeed-0.9.8.tar.gz) = 770fc23caac8d9a9b451b21ed566829cddbd17dd
RMD160 (sfeed-0.9.8.tar.gz) = 957dd7237c97e9b09fedeba16edef975a7510e2c
SHA512 (sfeed-0.9.8.tar.gz) = d4f97479135c1befe82dc06e56bfd61fd8371f74e2ad864bf3076ee628fae91e88ae6d61ef705716b5c95c789eb3cc00b90808a1676a228e4007de9ab8e84554
Size (sfeed-0.9.8.tar.gz) = 37413 bytes
@


1.2
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: distinfo,v 1.1 2018/09/08 13:23:38 leot Exp $
d3 4
a6 4
SHA1 (sfeed-0.9.7.tar.gz) = 065ffdacd391b8e502a3391da61fb42e5263ba75
RMD160 (sfeed-0.9.7.tar.gz) = 253a640d5912fa4a2e7f4a4794ff7a79b2ee5651
SHA512 (sfeed-0.9.7.tar.gz) = 5219bb686d841025875f1360567cde54f849cd8ba15c7b2c98b5482db34ed2d3385d7f1651a75a2adc5c0f4fdc27c27bee9fb6d301df1905572979142b2c12ca
Size (sfeed-0.9.7.tar.gz) = 38021 bytes
@


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: distinfo,v 1.1 2018/02/26 16:52:21 leot Exp $
d3 4
a6 4
SHA1 (sfeed-0.9.6.tar.gz) = aa74e014c241e5b9fe7bce62831c3d59f9a3b84f
RMD160 (sfeed-0.9.6.tar.gz) = 3185e0878bd36197c120aca72fa721b0b77ca780
SHA512 (sfeed-0.9.6.tar.gz) = aac260529cb9dab129d1ce2165e2b9917f12f9600b197f3e92465ba23e49c3c2bdcfa0c9e54f064546d5d94482ce655e882f34bd563b5ee49208e384228004e9
Size (sfeed-0.9.6.tar.gz) = 37436 bytes
@

