sysutils/hs-system-fileio: import hs-system-fileio-0.3.16.4

This is a small wrapper around the directory, unix, and Win32 packages, for
use with system-filepath. It provides a consistent API to the various
versions of these packages distributed with different versions of GHC.

In particular, this library supports working with POSIX files that have
paths which can't be decoded in the current locale encoding.
This commit is contained in:
pho 2022-02-24 01:21:55 +00:00
parent 99d8252a47
commit acab42f007
6 changed files with 80 additions and 0 deletions

View file

@ -0,0 +1,6 @@
This is a small wrapper around the directory, unix, and Win32 packages, for
use with system-filepath. It provides a consistent API to the various
versions of these packages distributed with different versions of GHC.
In particular, this library supports working with POSIX files that have
paths which can't be decoded in the current locale encoding.

View file

@ -0,0 +1,12 @@
# $NetBSD: Makefile,v 1.1 2022/02/24 01:21:55 pho Exp $
DISTNAME= system-fileio-0.3.16.4
CATEGORIES= sysutils
MAINTAINER= pkgsrc-users@NetBSD.org
COMMENT= Consistent filesystem interaction across GHC versions
LICENSE= mit
.include "../../sysutils/hs-system-filepath/buildlink3.mk"
.include "../../mk/haskell.mk"
.include "../../mk/bsd.pkg.mk"

View file

@ -0,0 +1,19 @@
@comment $NetBSD: PLIST,v 1.1 2022/02/24 01:21:55 pho Exp $
lib/system-fileio-${PKGVERSION}/${HS_VERSION}/package-description
lib/system-fileio-${PKGVERSION}/${HS_VERSION}/package-id
lib/${HS_PLATFORM}/libHS${HS_PKGID}-${HS_VER}.so
lib/${HS_PLATFORM}/${HS_PKGID}/Filesystem.dyn_hi
lib/${HS_PLATFORM}/${HS_PKGID}/Filesystem.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Filesystem.p_hi
lib/${HS_PLATFORM}/${HS_PKGID}/libHS${HS_PKGID}.a
lib/${HS_PLATFORM}/${HS_PKGID}/libHS${HS_PKGID}_p.a
share/doc/${HS_PLATFORM}/system-fileio-${PKGVERSION}/html/Filesystem.html
share/doc/${HS_PLATFORM}/system-fileio-${PKGVERSION}/html/doc-index.html
share/doc/${HS_PLATFORM}/system-fileio-${PKGVERSION}/html/haddock-bundle.min.js
share/doc/${HS_PLATFORM}/system-fileio-${PKGVERSION}/html/index.html
share/doc/${HS_PLATFORM}/system-fileio-${PKGVERSION}/html/linuwial.css
share/doc/${HS_PLATFORM}/system-fileio-${PKGVERSION}/html/meta.json
share/doc/${HS_PLATFORM}/system-fileio-${PKGVERSION}/html/quick-jump.css
share/doc/${HS_PLATFORM}/system-fileio-${PKGVERSION}/html/synopsis.png
share/doc/${HS_PLATFORM}/system-fileio-${PKGVERSION}/html/system-fileio.haddock
share/doc/${HS_PLATFORM}/system-fileio-${PKGVERSION}/license.txt

View file

@ -0,0 +1,15 @@
# $NetBSD: buildlink3.mk,v 1.1 2022/02/24 01:21:55 pho Exp $
BUILDLINK_TREE+= hs-system-fileio
.if !defined(HS_SYSTEM_FILEIO_BUILDLINK3_MK)
HS_SYSTEM_FILEIO_BUILDLINK3_MK:=
BUILDLINK_API_DEPENDS.hs-system-fileio+= hs-system-fileio>=0.3.16
BUILDLINK_ABI_DEPENDS.hs-system-fileio+= hs-system-fileio>=0.3.16.4
BUILDLINK_PKGSRCDIR.hs-system-fileio?= ../../sysutils/hs-system-fileio
.include "../../sysutils/hs-system-filepath/buildlink3.mk"
.endif # HS_SYSTEM_FILEIO_BUILDLINK3_MK
BUILDLINK_TREE+= -hs-system-fileio

View file

@ -0,0 +1,6 @@
$NetBSD: distinfo,v 1.1 2022/02/24 01:21:55 pho Exp $
BLAKE2s (system-fileio-0.3.16.4.tar.gz) = f94f9cc7acc976858ddc889f48af80972ea43ce99810367842b40e1687da6ca8
SHA512 (system-fileio-0.3.16.4.tar.gz) = 68530cd11b25aa8a05967d3f51091ea57a5be138b672bd5373918163281c55a91b60dea03bdd22bcd4ba1d6bb26e2ed14660ce55bbdaf2737d2dd2b7e608d698
Size (system-fileio-0.3.16.4.tar.gz) = 15632 bytes
SHA1 (patch-lib_Filesystem.hs) = 174eaf0f821c8bbdd4c5dfd63311a7737b60f119

View file

@ -0,0 +1,22 @@
$NetBSD: patch-lib_Filesystem.hs,v 1.1 2022/02/24 01:21:55 pho Exp $
Use the correct symbol for opendir(3) by using CApiFFI, required on NetBSD.
--- lib/Filesystem.hs.orig 2022-02-21 08:32:13.199111538 +0000
+++ lib/Filesystem.hs
@@ -1,5 +1,6 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE ForeignFunctionInterface #-}
+{-# LANGUAGE CApiFFI #-}
-- |
-- Module: Filesystem
@@ -351,7 +352,7 @@ readDir (Dir _ p) dirent = do
return (Just bytes)
else return Nothing
-foreign import ccall unsafe "opendir"
+foreign import capi unsafe "dirent.h opendir"
c_opendir :: CString -> IO (Ptr ())
foreign import ccall unsafe "closedir"