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.diff -r1.5 -r1.6 pkgsrc/devel/hs-fsnotify/Makefile
(pho)
@@ -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 | |||
3 | DISTNAME= fsnotify-0.3.0.1 | 3 | DISTNAME= fsnotify-0.3.0.1 | |
4 | PKGREVISION= 4 | 4 | PKGREVISION= 5 | |
5 | CATEGORIES= devel | 5 | CATEGORIES= devel | |
6 | 6 | |||
7 | MAINTAINER= pho@cielonegro.org | 7 | MAINTAINER= pho@cielonegro.org | |
8 | COMMENT= Cross platform library for file change notification | 8 | COMMENT= Cross platform library for file change notification | |
9 | LICENSE= modified-bsd | 9 | LICENSE= 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. | |
13 | BROKEN_ON_PLATFORM+= Darwin-*-* | 13 | BROKEN_ON_PLATFORM+= Darwin-*-* | |
14 | BROKEN_ON_PLATFORM+= Linux-*-* | |||
15 | 14 | |||
16 | # TODO: On *BSD this package falls back on an inefficient polling | 15 | PLIST_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" | |||
21 | PLIST_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" |
@@ -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 | |||
3 | BUILDLINK_TREE+= hs-fsnotify | 3 | BUILDLINK_TREE+= hs-fsnotify | |
4 | 4 | |||
5 | .if !defined(HS_FSNOTIFY_BUILDLINK3_MK) | 5 | .if !defined(HS_FSNOTIFY_BUILDLINK3_MK) | |
6 | HS_FSNOTIFY_BUILDLINK3_MK:= | 6 | HS_FSNOTIFY_BUILDLINK3_MK:= | |
7 | 7 | |||
8 | BUILDLINK_API_DEPENDS.hs-fsnotify+= hs-fsnotify>=0.3.0 | 8 | BUILDLINK_API_DEPENDS.hs-fsnotify+= hs-fsnotify>=0.3.0 | |
9 | BUILDLINK_ABI_DEPENDS.hs-fsnotify+= hs-fsnotify>=0.3.0.1nb4 | 9 | BUILDLINK_ABI_DEPENDS.hs-fsnotify+= hs-fsnotify>=0.3.0.1nb5 | |
10 | BUILDLINK_PKGSRCDIR.hs-fsnotify?= ../../devel/hs-fsnotify | 10 | BUILDLINK_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 | |||
16 | BUILDLINK_TREE+= -hs-fsnotify | 22 | BUILDLINK_TREE+= -hs-fsnotify |
@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
@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
@@ -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 | |||
3 | BLAKE2s (fsnotify-0.3.0.1.tar.gz) = 3a3d44c278c0deae26d2216fb2978dad5a3b0ecff915a26fad9dfe302b269827 | 3 | BLAKE2s (fsnotify-0.3.0.1.tar.gz) = 3a3d44c278c0deae26d2216fb2978dad5a3b0ecff915a26fad9dfe302b269827 | |
4 | SHA512 (fsnotify-0.3.0.1.tar.gz) = d5c96a54c1b4788e1d50f259d11d4e2d6eb7224552b50cb359a1f4cdcc2a9b7270f9b5ccdfe9738a163b54ab7ab5a0114de9cabc56660a7324cdfc4b16179e1a | 4 | SHA512 (fsnotify-0.3.0.1.tar.gz) = d5c96a54c1b4788e1d50f259d11d4e2d6eb7224552b50cb359a1f4cdcc2a9b7270f9b5ccdfe9738a163b54ab7ab5a0114de9cabc56660a7324cdfc4b16179e1a | |
5 | Size (fsnotify-0.3.0.1.tar.gz) = 20638 bytes | 5 | Size (fsnotify-0.3.0.1.tar.gz) = 20638 bytes | |
6 | SHA1 (patch-fsnotify.cabal) = c7e5c32063476540253c1b660316fb9ff74eae91 |
$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,