Sat Feb 26 12:33:46 2022 UTC ()
devel/hs-fsnotify: Use hinotify on Linux and some BSDs

On any other platforms it falls back to the polling method as the last
resort, which is obviously isn't very practical.


(pho)
diff -r1.5 -r1.6 pkgsrc/devel/hs-fsnotify/Makefile
diff -r1.5 -r1.6 pkgsrc/devel/hs-fsnotify/buildlink3.mk
diff -r1.2 -r0 pkgsrc/devel/hs-fsnotify/PLIST
diff -r0 -r1.1 pkgsrc/devel/hs-fsnotify/PLIST.common
diff -r0 -r1.1 pkgsrc/devel/hs-fsnotify/PLIST.inotify
diff -r1.3 -r1.4 pkgsrc/devel/hs-fsnotify/distinfo
diff -r0 -r1.1 pkgsrc/devel/hs-fsnotify/patches/patch-fsnotify.cabal

cvs diff -r1.5 -r1.6 pkgsrc/devel/hs-fsnotify/Makefile (expand / switch to unified diff)

--- pkgsrc/devel/hs-fsnotify/Makefile 2022/02/26 03:57:54 1.5
+++ pkgsrc/devel/hs-fsnotify/Makefile 2022/02/26 12:33:45 1.6
@@ -1,23 +1,27 @@ @@ -1,23 +1,27 @@
1# $NetBSD: Makefile,v 1.5 2022/02/26 03:57:54 pho Exp $ 1# $NetBSD: Makefile,v 1.6 2022/02/26 12:33:45 pho Exp $
2 2
3DISTNAME= fsnotify-0.3.0.1 3DISTNAME= fsnotify-0.3.0.1
4PKGREVISION= 4 4PKGREVISION= 5
5CATEGORIES= devel 5CATEGORIES= devel
6 6
7MAINTAINER= pho@cielonegro.org 7MAINTAINER= pho@cielonegro.org
8COMMENT= Cross platform library for file change notification 8COMMENT= Cross platform library for file change notification
9LICENSE= modified-bsd 9LICENSE= modified-bsd
10 10
11# On these platforms fsnotify depends on additional packages which 11# On these platforms fsnotify depends on additional packages which
12# haven't been packaged yet. 12# haven't been packaged yet.
13BROKEN_ON_PLATFORM+= Darwin-*-* 13BROKEN_ON_PLATFORM+= Darwin-*-*
14BROKEN_ON_PLATFORM+= Linux-*-* 
15 14
16# TODO: On *BSD this package falls back on an inefficient polling 15PLIST_SRC+= PLIST.common
17# backend as the last resort. We should consider implementing kqueue 16
18# backend and contributing it to the upstream. 17.include "../../mk/bsd.fast.prefs.mk"
 18.if ${OPSYS} == "Linux" || !empty(OPSYS:M*BSD)
 19. include "../../devel/hs-hinotify/buildlink3.mk"
 20. include "../../devel/hs-shelly/buildlink3.mk"
 21PLIST_SRC+= PLIST.inotify
 22.endif
19 23
20.include "../../devel/hs-async/buildlink3.mk" 24.include "../../devel/hs-async/buildlink3.mk"
21.include "../../devel/hs-unix-compat/buildlink3.mk" 25.include "../../devel/hs-unix-compat/buildlink3.mk"
22.include "../../mk/haskell.mk" 26.include "../../mk/haskell.mk"
23.include "../../mk/bsd.pkg.mk" 27.include "../../mk/bsd.pkg.mk"

cvs diff -r1.5 -r1.6 pkgsrc/devel/hs-fsnotify/buildlink3.mk (expand / switch to unified diff)

--- pkgsrc/devel/hs-fsnotify/buildlink3.mk 2022/02/26 03:57:54 1.5
+++ pkgsrc/devel/hs-fsnotify/buildlink3.mk 2022/02/26 12:33:45 1.6
@@ -1,16 +1,22 @@ @@ -1,16 +1,22 @@
1# $NetBSD: buildlink3.mk,v 1.5 2022/02/26 03:57:54 pho Exp $ 1# $NetBSD: buildlink3.mk,v 1.6 2022/02/26 12:33:45 pho Exp $
2 2
3BUILDLINK_TREE+= hs-fsnotify 3BUILDLINK_TREE+= hs-fsnotify
4 4
5.if !defined(HS_FSNOTIFY_BUILDLINK3_MK) 5.if !defined(HS_FSNOTIFY_BUILDLINK3_MK)
6HS_FSNOTIFY_BUILDLINK3_MK:= 6HS_FSNOTIFY_BUILDLINK3_MK:=
7 7
8BUILDLINK_API_DEPENDS.hs-fsnotify+= hs-fsnotify>=0.3.0 8BUILDLINK_API_DEPENDS.hs-fsnotify+= hs-fsnotify>=0.3.0
9BUILDLINK_ABI_DEPENDS.hs-fsnotify+= hs-fsnotify>=0.3.0.1nb4 9BUILDLINK_ABI_DEPENDS.hs-fsnotify+= hs-fsnotify>=0.3.0.1nb5
10BUILDLINK_PKGSRCDIR.hs-fsnotify?= ../../devel/hs-fsnotify 10BUILDLINK_PKGSRCDIR.hs-fsnotify?= ../../devel/hs-fsnotify
11 11
 12.include "../../mk/bsd.fast.prefs.mk"
 13.if ${OPSYS} == "Linux" || !empty(OPSYS:M*BSD)
 14. include "../../devel/hs-hinotify/buildlink3.mk"
 15. include "../../devel/hs-shelly/buildlink3.mk"
 16.endif
 17
12.include "../../devel/hs-async/buildlink3.mk" 18.include "../../devel/hs-async/buildlink3.mk"
13.include "../../devel/hs-unix-compat/buildlink3.mk" 19.include "../../devel/hs-unix-compat/buildlink3.mk"
14.endif # HS_FSNOTIFY_BUILDLINK3_MK 20.endif # HS_FSNOTIFY_BUILDLINK3_MK
15 21
16BUILDLINK_TREE+= -hs-fsnotify 22BUILDLINK_TREE+= -hs-fsnotify

File Deleted: pkgsrc/devel/hs-fsnotify/Attic/PLIST

File Added: pkgsrc/devel/hs-fsnotify/PLIST.common
@comment $NetBSD: PLIST.common,v 1.1 2022/02/26 12:33:45 pho Exp $
lib/fsnotify-${PKGVERSION}/${HS_VERSION}/package-description
lib/fsnotify-${PKGVERSION}/${HS_VERSION}/package-id
lib/${HS_PLATFORM}/${HS_PKGID}/System/FSNotify.dyn_hi
lib/${HS_PLATFORM}/${HS_PKGID}/System/FSNotify.hi
lib/${HS_PLATFORM}/${HS_PKGID}/System/FSNotify.p_hi
lib/${HS_PLATFORM}/${HS_PKGID}/System/FSNotify/Devel.dyn_hi
lib/${HS_PLATFORM}/${HS_PKGID}/System/FSNotify/Devel.hi
lib/${HS_PLATFORM}/${HS_PKGID}/System/FSNotify/Devel.p_hi
lib/${HS_PLATFORM}/${HS_PKGID}/System/FSNotify/Listener.dyn_hi
lib/${HS_PLATFORM}/${HS_PKGID}/System/FSNotify/Listener.hi
lib/${HS_PLATFORM}/${HS_PKGID}/System/FSNotify/Listener.p_hi
lib/${HS_PLATFORM}/${HS_PKGID}/System/FSNotify/Path.dyn_hi
lib/${HS_PLATFORM}/${HS_PKGID}/System/FSNotify/Path.hi
lib/${HS_PLATFORM}/${HS_PKGID}/System/FSNotify/Path.p_hi
lib/${HS_PLATFORM}/${HS_PKGID}/System/FSNotify/Polling.dyn_hi
lib/${HS_PLATFORM}/${HS_PKGID}/System/FSNotify/Polling.hi
lib/${HS_PLATFORM}/${HS_PKGID}/System/FSNotify/Polling.p_hi
lib/${HS_PLATFORM}/${HS_PKGID}/System/FSNotify/Types.dyn_hi
lib/${HS_PLATFORM}/${HS_PKGID}/System/FSNotify/Types.hi
lib/${HS_PLATFORM}/${HS_PKGID}/System/FSNotify/Types.p_hi
lib/${HS_PLATFORM}/${HS_PKGID}/libHS${HS_PKGID}.a
lib/${HS_PLATFORM}/${HS_PKGID}/libHS${HS_PKGID}_p.a
lib/${HS_PLATFORM}/libHS${HS_PKGID}-${HS_VER}.so
share/doc/${HS_PLATFORM}/fsnotify-${PKGVERSION}/LICENSE
share/doc/${HS_PLATFORM}/fsnotify-${PKGVERSION}/html/System-FSNotify-Devel.html
share/doc/${HS_PLATFORM}/fsnotify-${PKGVERSION}/html/System-FSNotify.html
share/doc/${HS_PLATFORM}/fsnotify-${PKGVERSION}/html/doc-index.html
share/doc/${HS_PLATFORM}/fsnotify-${PKGVERSION}/html/fsnotify.haddock
share/doc/${HS_PLATFORM}/fsnotify-${PKGVERSION}/html/haddock-bundle.min.js
share/doc/${HS_PLATFORM}/fsnotify-${PKGVERSION}/html/index.html
share/doc/${HS_PLATFORM}/fsnotify-${PKGVERSION}/html/linuwial.css
share/doc/${HS_PLATFORM}/fsnotify-${PKGVERSION}/html/meta.json
share/doc/${HS_PLATFORM}/fsnotify-${PKGVERSION}/html/quick-jump.css
share/doc/${HS_PLATFORM}/fsnotify-${PKGVERSION}/html/synopsis.png

File Added: pkgsrc/devel/hs-fsnotify/PLIST.inotify
@comment $NetBSD: PLIST.inotify,v 1.1 2022/02/26 12:33:45 pho Exp $
lib/${HS_PLATFORM}/${HS_PKGID}/System/FSNotify/Linux.dyn_hi
lib/${HS_PLATFORM}/${HS_PKGID}/System/FSNotify/Linux.hi
lib/${HS_PLATFORM}/${HS_PKGID}/System/FSNotify/Linux.p_hi

cvs diff -r1.3 -r1.4 pkgsrc/devel/hs-fsnotify/distinfo (expand / switch to unified diff)

--- pkgsrc/devel/hs-fsnotify/distinfo 2021/10/26 10:14:56 1.3
+++ pkgsrc/devel/hs-fsnotify/distinfo 2022/02/26 12:33:45 1.4
@@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
1$NetBSD: distinfo,v 1.3 2021/10/26 10:14:56 nia Exp $ 1$NetBSD: distinfo,v 1.4 2022/02/26 12:33:45 pho Exp $
2 2
3BLAKE2s (fsnotify-0.3.0.1.tar.gz) = 3a3d44c278c0deae26d2216fb2978dad5a3b0ecff915a26fad9dfe302b269827 3BLAKE2s (fsnotify-0.3.0.1.tar.gz) = 3a3d44c278c0deae26d2216fb2978dad5a3b0ecff915a26fad9dfe302b269827
4SHA512 (fsnotify-0.3.0.1.tar.gz) = d5c96a54c1b4788e1d50f259d11d4e2d6eb7224552b50cb359a1f4cdcc2a9b7270f9b5ccdfe9738a163b54ab7ab5a0114de9cabc56660a7324cdfc4b16179e1a 4SHA512 (fsnotify-0.3.0.1.tar.gz) = d5c96a54c1b4788e1d50f259d11d4e2d6eb7224552b50cb359a1f4cdcc2a9b7270f9b5ccdfe9738a163b54ab7ab5a0114de9cabc56660a7324cdfc4b16179e1a
5Size (fsnotify-0.3.0.1.tar.gz) = 20638 bytes 5Size (fsnotify-0.3.0.1.tar.gz) = 20638 bytes
 6SHA1 (patch-fsnotify.cabal) = c7e5c32063476540253c1b660316fb9ff74eae91

File Added: pkgsrc/devel/hs-fsnotify/patches/patch-fsnotify.cabal
$NetBSD: patch-fsnotify.cabal,v 1.1 2022/02/26 12:33:45 pho Exp $

Use hinotify on some BSDs. Not upstreamed yet; can only be upstreamed after
../../devel/hs-hinotify/patches/patch-hinotify.cabal gets merged.

--- fsnotify.cabal.orig	2022-02-26 11:04:55.313630845 +0000
+++ fsnotify.cabal
@@ -38,7 +38,7 @@ Library
                         , System.FSNotify.Types
   Hs-Source-Dirs:       src
   GHC-Options:          -Wall
-  if os(linux)
+  if os(linux) || os(freebsd) || os(netbsd) || os(openbsd)
     CPP-Options:        -DOS_Linux
     Other-Modules:      System.FSNotify.Linux
     Build-Depends:      hinotify >= 0.3.0,