Thu Oct 19 15:39:44 2023 UTC ()
py-sigal: update to 2.4.

Version 2.4
~~~~~~~~~~~

Released on 2023-09-29.

Sigal now requires Pillow>=8.0.0

- Avoid IndexError with empty source dir [:issue:`498`].
- New cli option ``--force-album`` to reprocess only specific albums
  [:issue:`491`].
- Added support for black detection in video thumbnail generation
  [:issue:`485`].
- Don't show the galleria container if there are no medias [:issue:`484`].
- Force encrypt's password form to be on top [:issue:`483`].
- Add mkv to ``video_extensions`` [:issue:`481`].
- Make sure ``zip_gallery`` is set correctly [:issue:`477`].
- Updates for recent Pillow changes, requires Pillow>=8.0.0 [:issue:`479`].
- Make theme dir writable after copying to it [:issue:`471`].
- New plugin: Titleregexp - modify titles of albums with regular expressions
  [:issue:`469`].
- List of sort-properties as fallback instead of zero-length string
  [:issue:`468`].


(wiz)
diff -r1.4 -r1.5 pkgsrc/www/py-sigal/Makefile
diff -r1.1 -r1.2 pkgsrc/www/py-sigal/PLIST
diff -r1.2 -r1.3 pkgsrc/www/py-sigal/distinfo
diff -r1.1 -r0 pkgsrc/www/py-sigal/patches/patch-sigal_gallery.py
diff -r1.1 -r0 pkgsrc/www/py-sigal/patches/patch-sigal_image.py
diff -r0 -r1.1 pkgsrc/www/py-sigal/patches/patch-src_sigal_gallery.py
diff -r0 -r1.1 pkgsrc/www/py-sigal/patches/patch-src_sigal_image.py
Fri Oct 20 00:39:44 2023
Mon Jun 26 19:41:15 2023
pkgsrc/www/py-sigal/patches/patch-sigal_gallery.py,v

anoncvs not yet been updated
Fri Oct 20 00:39:44 2023
Mon Jun 26 19:41:15 2023
pkgsrc/www/py-sigal/patches/patch-sigal_image.py,v

anoncvs not yet been updated

cvs diff -r1.4 -r1.5 pkgsrc/www/py-sigal/Makefile (expand / switch to unified diff)

--- pkgsrc/www/py-sigal/Makefile 2023/08/01 23:20:56 1.4
+++ pkgsrc/www/py-sigal/Makefile 2023/10/19 15:39:44 1.5
@@ -1,46 +1,45 @@ @@ -1,46 +1,45 @@
1# $NetBSD: Makefile,v 1.4 2023/08/01 23:20:56 wiz Exp $ 1# $NetBSD: Makefile,v 1.5 2023/10/19 15:39:44 wiz Exp $
2 2
3DISTNAME= sigal-2.3 3DISTNAME= sigal-2.4
4PKGNAME= ${PYPKGPREFIX}-${DISTNAME} 4PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
5PKGREVISION= 2 
6CATEGORIES= www python 5CATEGORIES= www python
7MASTER_SITES= ${MASTER_SITE_PYPI:=s/sigal/} 6MASTER_SITES= ${MASTER_SITE_PYPI:=s/sigal/}
8 7
9MAINTAINER= pkgsrc-users@NetBSD.org 8MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= https://pypi.org/project/sigal/ 9HOMEPAGE= https://pypi.org/project/sigal/
11COMMENT= Simple static gallery generator 10COMMENT= Simple static gallery generator
12LICENSE= mit 11LICENSE= mit
13 12
14TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools_scm-[0-9]*:../../devel/py-setuptools_scm 13TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools_scm-[0-9]*:../../devel/py-setuptools_scm
15TOOL_DEPENDS+= ${PYPKGPREFIX}-wheel-[0-9]*:../../devel/py-wheel 14TOOL_DEPENDS+= ${PYPKGPREFIX}-wheel-[0-9]*:../../devel/py-wheel
16DEPENDS+= ffmpeg6-[0-9]*:../../multimedia/ffmpeg6 15DEPENDS+= ffmpeg6-[0-9]*:../../multimedia/ffmpeg6
17DEPENDS+= ${PYPKGPREFIX}-blinker-[0-9]*:../../devel/py-blinker 16DEPENDS+= ${PYPKGPREFIX}-blinker-[0-9]*:../../devel/py-blinker
18DEPENDS+= ${PYPKGPREFIX}-click-[0-9]*:../../devel/py-click 17DEPENDS+= ${PYPKGPREFIX}-click-[0-9]*:../../devel/py-click
19DEPENDS+= ${PYPKGPREFIX}-cryptography-[0-9]*:../../security/py-cryptography 18DEPENDS+= ${PYPKGPREFIX}-cryptography-[0-9]*:../../security/py-cryptography
20DEPENDS+= ${PYPKGPREFIX}-feedgenerator-[0-9]*:../../www/py-feedgenerator 19DEPENDS+= ${PYPKGPREFIX}-feedgenerator-[0-9]*:../../www/py-feedgenerator
21DEPENDS+= ${PYPKGPREFIX}-jinja2>=2.7:../../textproc/py-jinja2 20DEPENDS+= ${PYPKGPREFIX}-jinja2>=2.7:../../textproc/py-jinja2
22DEPENDS+= ${PYPKGPREFIX}-markdown-[0-9]*:../../textproc/py-markdown 21DEPENDS+= ${PYPKGPREFIX}-markdown-[0-9]*:../../textproc/py-markdown
23DEPENDS+= ${PYPKGPREFIX}-natsort-[0-9]*:../../textproc/py-natsort 22DEPENDS+= ${PYPKGPREFIX}-natsort-[0-9]*:../../textproc/py-natsort
24DEPENDS+= ${PYPKGPREFIX}-Pillow-[0-9]*:../../graphics/py-Pillow 23DEPENDS+= ${PYPKGPREFIX}-Pillow>=8.0:../../graphics/py-Pillow
25DEPENDS+= ${PYPKGPREFIX}-pilkit-[0-9]*:../../graphics/py-pilkit 24DEPENDS+= ${PYPKGPREFIX}-pilkit-[0-9]*:../../graphics/py-pilkit
26TEST_DEPENDS+= ${PYPKGPREFIX}-test-[0-9]*:../../devel/py-test 25TEST_DEPENDS+= ${PYPKGPREFIX}-test-[0-9]*:../../devel/py-test
27 26
28PYTHON_VERSIONS_INCOMPATIBLE= 27 27PYTHON_VERSIONS_INCOMPATIBLE= 27
29 28
30USE_LANGUAGES= # none 29USE_LANGUAGES= # none
31 30
32SUBST_CLASSES+= ffmpeg 31SUBST_CLASSES+= ffmpeg
33SUBST_SED.ffmpeg+= -e "s,ffmpeg,${PREFIX}/bin/ffmpeg6," 32SUBST_SED.ffmpeg+= -e "s,ffmpeg,${PREFIX}/bin/ffmpeg6,"
34SUBST_FILES.ffmpeg+= sigal/settings.py 33SUBST_FILES.ffmpeg+= src/sigal/settings.py
35SUBST_FILES.ffmpeg+= sigal/video.py 34SUBST_FILES.ffmpeg+= src/sigal/video.py
36SUBST_STAGE.ffmpeg= pre-build 35SUBST_STAGE.ffmpeg= pre-build
37SUBST_MESSAGE.ffmpeg= Fixing ffmpeg path. 36SUBST_MESSAGE.ffmpeg= Fixing ffmpeg path.
38 37
39post-install: 38post-install:
40 cd ${DESTDIR}${PREFIX}/bin && mv sigal sigal-${PYVERSSUFFIX} || ${TRUE} 39 cd ${DESTDIR}${PREFIX}/bin && mv sigal sigal-${PYVERSSUFFIX} || ${TRUE}
41 40
42do-test: 41do-test:
43 cd ${WRKSRC} && ${SETENV} ${TEST_ENV} pytest-${PYVERSSUFFIX} 42 cd ${WRKSRC} && ${SETENV} ${TEST_ENV} pytest-${PYVERSSUFFIX}
44 43
45.include "../../lang/python/wheel.mk" 44.include "../../lang/python/wheel.mk"
46.include "../../mk/bsd.pkg.mk" 45.include "../../mk/bsd.pkg.mk"

cvs diff -r1.1 -r1.2 pkgsrc/www/py-sigal/PLIST (expand / switch to unified diff)

--- pkgsrc/www/py-sigal/PLIST 2022/12/16 19:34:44 1.1
+++ pkgsrc/www/py-sigal/PLIST 2023/10/19 15:39:44 1.2
@@ -1,26 +1,28 @@ @@ -1,26 +1,28 @@
1@comment $NetBSD: PLIST,v 1.1 2022/12/16 19:34:44 wiz Exp $ 1@comment $NetBSD: PLIST,v 1.2 2023/10/19 15:39:44 wiz Exp $
2bin/sigal-${PYVERSSUFFIX} 2bin/sigal-3.11
3${PYSITELIB}/${WHEEL_INFODIR}/INSTALLER 3${PYSITELIB}/${WHEEL_INFODIR}/INSTALLER
4${PYSITELIB}/${WHEEL_INFODIR}/LICENSE 4${PYSITELIB}/${WHEEL_INFODIR}/LICENSE
5${PYSITELIB}/${WHEEL_INFODIR}/METADATA 5${PYSITELIB}/${WHEEL_INFODIR}/METADATA
6${PYSITELIB}/${WHEEL_INFODIR}/RECORD 6${PYSITELIB}/${WHEEL_INFODIR}/RECORD
7${PYSITELIB}/${WHEEL_INFODIR}/REQUESTED 7${PYSITELIB}/${WHEEL_INFODIR}/REQUESTED
8${PYSITELIB}/${WHEEL_INFODIR}/WHEEL 8${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
9${PYSITELIB}/${WHEEL_INFODIR}/direct_url.json 9${PYSITELIB}/${WHEEL_INFODIR}/direct_url.json
10${PYSITELIB}/${WHEEL_INFODIR}/entry_points.txt 10${PYSITELIB}/${WHEEL_INFODIR}/entry_points.txt
11${PYSITELIB}/${WHEEL_INFODIR}/top_level.txt 11${PYSITELIB}/${WHEEL_INFODIR}/top_level.txt
12${PYSITELIB}/sigal/__init__.py 12${PYSITELIB}/sigal/__init__.py
13${PYSITELIB}/sigal/__init__.pyc 13${PYSITELIB}/sigal/__init__.pyc
 14${PYSITELIB}/sigal/__main__.py
 15${PYSITELIB}/sigal/__main__.pyc
14${PYSITELIB}/sigal/gallery.py 16${PYSITELIB}/sigal/gallery.py
15${PYSITELIB}/sigal/gallery.pyc 17${PYSITELIB}/sigal/gallery.pyc
16${PYSITELIB}/sigal/image.py 18${PYSITELIB}/sigal/image.py
17${PYSITELIB}/sigal/image.pyc 19${PYSITELIB}/sigal/image.pyc
18${PYSITELIB}/sigal/log.py 20${PYSITELIB}/sigal/log.py
19${PYSITELIB}/sigal/log.pyc 21${PYSITELIB}/sigal/log.pyc
20${PYSITELIB}/sigal/plugins/__init__.py 22${PYSITELIB}/sigal/plugins/__init__.py
21${PYSITELIB}/sigal/plugins/__init__.pyc 23${PYSITELIB}/sigal/plugins/__init__.pyc
22${PYSITELIB}/sigal/plugins/adjust.py 24${PYSITELIB}/sigal/plugins/adjust.py
23${PYSITELIB}/sigal/plugins/adjust.pyc 25${PYSITELIB}/sigal/plugins/adjust.pyc
24${PYSITELIB}/sigal/plugins/compress_assets.py 26${PYSITELIB}/sigal/plugins/compress_assets.py
25${PYSITELIB}/sigal/plugins/compress_assets.pyc 27${PYSITELIB}/sigal/plugins/compress_assets.pyc
26${PYSITELIB}/sigal/plugins/copyright.py 28${PYSITELIB}/sigal/plugins/copyright.py
@@ -34,26 +36,28 @@ ${PYSITELIB}/sigal/plugins/encrypt/endec @@ -34,26 +36,28 @@ ${PYSITELIB}/sigal/plugins/encrypt/endec
34${PYSITELIB}/sigal/plugins/encrypt/static/decrypt.js 36${PYSITELIB}/sigal/plugins/encrypt/static/decrypt.js
35${PYSITELIB}/sigal/plugins/encrypt/static/keycheck.txt 37${PYSITELIB}/sigal/plugins/encrypt/static/keycheck.txt
36${PYSITELIB}/sigal/plugins/encrypt/static/sw.js 38${PYSITELIB}/sigal/plugins/encrypt/static/sw.js
37${PYSITELIB}/sigal/plugins/extended_caching.py 39${PYSITELIB}/sigal/plugins/extended_caching.py
38${PYSITELIB}/sigal/plugins/extended_caching.pyc 40${PYSITELIB}/sigal/plugins/extended_caching.pyc
39${PYSITELIB}/sigal/plugins/feeds.py 41${PYSITELIB}/sigal/plugins/feeds.py
40${PYSITELIB}/sigal/plugins/feeds.pyc 42${PYSITELIB}/sigal/plugins/feeds.pyc
41${PYSITELIB}/sigal/plugins/media_page.py 43${PYSITELIB}/sigal/plugins/media_page.py
42${PYSITELIB}/sigal/plugins/media_page.pyc 44${PYSITELIB}/sigal/plugins/media_page.pyc
43${PYSITELIB}/sigal/plugins/nomedia.py 45${PYSITELIB}/sigal/plugins/nomedia.py
44${PYSITELIB}/sigal/plugins/nomedia.pyc 46${PYSITELIB}/sigal/plugins/nomedia.pyc
45${PYSITELIB}/sigal/plugins/nonmedia_files.py 47${PYSITELIB}/sigal/plugins/nonmedia_files.py
46${PYSITELIB}/sigal/plugins/nonmedia_files.pyc 48${PYSITELIB}/sigal/plugins/nonmedia_files.pyc
 49${PYSITELIB}/sigal/plugins/titleregexp.py
 50${PYSITELIB}/sigal/plugins/titleregexp.pyc
47${PYSITELIB}/sigal/plugins/upload_s3.py 51${PYSITELIB}/sigal/plugins/upload_s3.py
48${PYSITELIB}/sigal/plugins/upload_s3.pyc 52${PYSITELIB}/sigal/plugins/upload_s3.pyc
49${PYSITELIB}/sigal/plugins/watermark.py 53${PYSITELIB}/sigal/plugins/watermark.py
50${PYSITELIB}/sigal/plugins/watermark.pyc 54${PYSITELIB}/sigal/plugins/watermark.pyc
51${PYSITELIB}/sigal/plugins/zip_gallery.py 55${PYSITELIB}/sigal/plugins/zip_gallery.py
52${PYSITELIB}/sigal/plugins/zip_gallery.pyc 56${PYSITELIB}/sigal/plugins/zip_gallery.pyc
53${PYSITELIB}/sigal/settings.py 57${PYSITELIB}/sigal/settings.py
54${PYSITELIB}/sigal/settings.pyc 58${PYSITELIB}/sigal/settings.pyc
55${PYSITELIB}/sigal/signals.py 59${PYSITELIB}/sigal/signals.py
56${PYSITELIB}/sigal/signals.pyc 60${PYSITELIB}/sigal/signals.pyc
57${PYSITELIB}/sigal/templates/sigal.conf.py 61${PYSITELIB}/sigal/templates/sigal.conf.py
58${PYSITELIB}/sigal/templates/sigal.conf.pyc 62${PYSITELIB}/sigal/templates/sigal.conf.pyc
59${PYSITELIB}/sigal/themes/colorbox/static/css/colorbox.css 63${PYSITELIB}/sigal/themes/colorbox/static/css/colorbox.css

cvs diff -r1.2 -r1.3 pkgsrc/www/py-sigal/distinfo (expand / switch to unified diff)

--- pkgsrc/www/py-sigal/distinfo 2023/03/08 21:05:58 1.2
+++ pkgsrc/www/py-sigal/distinfo 2023/10/19 15:39:44 1.3
@@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
1$NetBSD: distinfo,v 1.2 2023/03/08 21:05:58 wiz Exp $ 1$NetBSD: distinfo,v 1.3 2023/10/19 15:39:44 wiz Exp $
2 2
3BLAKE2s (sigal-2.3.tar.gz) = a8b9a0f0f937e287b1283a2a9fe7551e268c1438235db8a27e9ca3fa9c002856 3BLAKE2s (sigal-2.4.tar.gz) = 5fab877c426c6bda5dd839f784b060b33cbc0a5ccd2c2c2a788c70a98d00c76d
4SHA512 (sigal-2.3.tar.gz) = e7eafc3c624497f19fdc9eb96fce67789db027b3c34c28eadcc162dd176a2462e101f16ffd54e08ee85baf1a9d264c5657e6cd264c40e155def4eee539242597 4SHA512 (sigal-2.4.tar.gz) = 1cc53760a73ae868491714d22a3108eaf95a84d61895591349b644ea523f0dfd88344c1e09f0792eb23164dd113833ac4bb112f687ef551ce15f70b6c70b07d3
5Size (sigal-2.3.tar.gz) = 4652875 bytes 5Size (sigal-2.4.tar.gz) = 4773394 bytes
6SHA1 (patch-sigal_gallery.py) = a59c0e1cb954b9045be3436c4686f073d099b1e0 6SHA1 (patch-src_sigal_gallery.py) = bf5b5100947b77799d84f24223c0aa3956138d81
7SHA1 (patch-sigal_image.py) = ab9da9578da4c3a7d364f05978803fd538fdc886 7SHA1 (patch-src_sigal_image.py) = 9eccca4fd65e05b8d676038362c95c5ee8225502

File Deleted: pkgsrc/www/py-sigal/patches/patch-sigal_gallery.py

File Deleted: pkgsrc/www/py-sigal/patches/patch-sigal_image.py

File Added: pkgsrc/www/py-sigal/patches/patch-src_sigal_gallery.py
$NetBSD: patch-src_sigal_gallery.py,v 1.1 2023/10/19 15:39:44 wiz Exp $

Fix bug in img_format configuration parameter.
https://github.com/saimn/sigal/issues/436

--- src/sigal/gallery.py.orig	2023-09-29 07:03:55.000000000 +0000
+++ src/sigal/gallery.py
@@ -243,6 +243,7 @@ class Image(Media):
         # Register all formats
         PILImage.init()
 
+        PILImage.registered_extensions()
         if imgformat and PILImage.EXTENSION[self.src_ext] != imgformat.upper():
             # Find the extension that should match img_format
             extensions = {v: k for k, v in PILImage.EXTENSION.items()}

File Added: pkgsrc/www/py-sigal/patches/patch-src_sigal_image.py
$NetBSD: patch-src_sigal_image.py,v 1.1 2023/10/19 15:39:44 wiz Exp $

Add HEIF support using pillow_heif, if it's installed.
https://github.com/saimn/sigal/issues/436

--- src/sigal/image.py.orig	2023-09-29 07:03:55.000000000 +0000
+++ src/sigal/image.py
@@ -49,6 +49,11 @@ from . import signals, utils
 # Force loading of truncated files
 ImageFile.LOAD_TRUNCATED_IMAGES = True
 
+try:
+    from pillow_heif import HeifImagePlugin
+except ImportError:
+    HeifImagePlugin = None
+
 
 def _has_exif_tags(img):
     return hasattr(img, "info") and "exif" in img.info