Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ghc-hinotify for openSUSE:Factory 
checked in at 2025-03-03 16:04:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-hinotify (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-hinotify.new.19136 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-hinotify"

Mon Mar  3 16:04:51 2025 rev:16 rq:1249336 version:0.4.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-hinotify/ghc-hinotify.changes        
2023-04-04 21:20:33.621243937 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-hinotify.new.19136/ghc-hinotify.changes     
2025-03-03 16:05:09.219311264 +0100
@@ -1,0 +2,9 @@
+Fri Feb 21 01:24:27 UTC 2025 - Peter Simons <psim...@suse.com>
+
+- Update hinotify to version 0.4.2.
+  Upstream has edited the change log file since the last release in
+  a non-trivial way, i.e. they did more than just add a new entry
+  at the top. You can review the file at:
+  http://hackage.haskell.org/package/hinotify-0.4.2/src/CHANGELOG.md
+
+-------------------------------------------------------------------

Old:
----
  hinotify-0.4.1.tar.gz

New:
----
  hinotify-0.4.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-hinotify.spec ++++++
--- /var/tmp/diff_new_pack.lFJC0G/_old  2025-03-03 16:05:10.607369332 +0100
+++ /var/tmp/diff_new_pack.lFJC0G/_new  2025-03-03 16:05:10.607369332 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package ghc-hinotify
 #
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2025 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
 %global pkgver %{pkg_name}-%{version}
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        0.4.1
+Version:        0.4.2
 Release:        0
 Summary:        Haskell binding to inotify
 License:        BSD-3-Clause

++++++ hinotify-0.4.1.tar.gz -> hinotify-0.4.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hinotify-0.4.1/CHANGELOG.md 
new/hinotify-0.4.2/CHANGELOG.md
--- old/hinotify-0.4.1/CHANGELOG.md     2001-09-09 03:46:40.000000000 +0200
+++ new/hinotify-0.4.2/CHANGELOG.md     2025-02-21 02:08:10.000000000 +0100
@@ -1,8 +1,23 @@
 hinotify
 ======
 
-hinotify-0.3.10
----------------
+## 0.4.2
+
+* Depend on libinotify on NetBSD 
(https://github.com/haskell-fswatch/hinotify/pull/35)
+* Fix for GHC 9.10 (https://github.com/haskell-fswatch/hinotify/pull/39)
+* Switch maintainer to thomasjm
+* Switch to GitHub Actions CI to test both Cabal and Stack builds
+* Start testing Ubuntu ARM in CI
+
+## 0.4.1
+
+* Depend on inotify library on {Free,Open}BSD
+
+## 0.4
+
+* Allow async-2.*
+
+## 0.3.10
 
 - Allow async-2.2.
 - Use `RawFilePath` (`ByteString`) for filenames, from `unix` package.
@@ -10,8 +25,7 @@
   Changes the `Event` type and `addWatch` function.
 
 
-hinotify-0.3.9
---------------
+## 0.3.9
 
 Patches contributed by Simon Marlow marlo...@gmail.com
 
@@ -27,8 +41,7 @@
 
   https://github.com/kolmodin/hinotify/pull/23
 
-hinotify-0.3.8
---------------
+## 0.3.8
 
 - Use file system encoding for file names.
 
@@ -39,3 +52,41 @@
   Fixes https://github.com/kolmodin/hinotify/issues/13
 
   Patch contributed by Joey Hess jo...@joeyh.name
+
+## 0.3.7
+
+* Bug fix: When registerering a new watch on a path which is already watched,
+  don't overwrite the event listener from the previous watch.
+
+## 0.3.2
+
+* Make each `WatchDescriptor` contain its `INotify`. Changes to the function 
types:
+
+>      -removeWatch :: INotify -> WatchDescriptor -> IO ()
+>      +removeWatch :: WatchDescriptor -> IO ()
+
+* Fix typo in declaration of `Deleted` in `data Event`;
+
+>      - { isDirecotry :: Bool
+>      + { isDirectory :: Bool
+
+## 0.3.1
+
+* Use `inotify.h` from `glibc` rather than from the linux headers, as
+      recommended upstream.
+
+## 0.3
+
+* Compiles with GHC 6.12, GHC 6.10.4, GHC 6.8.2 and GHC 6.6.1
+
+## 0.2
+
+* Updates to the API
+    - Function names is now in semiCamelCase
+    - Restructure event parameters to make it more consistent
+* Small test suit in `tests/`
+* Compiles with GHC 6.8.2 and GHC 6.6.1
+* Requires Cabal 1.2
+
+## 0.1
+* Initial release
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hinotify-0.4.1/README.md new/hinotify-0.4.2/README.md
--- old/hinotify-0.4.1/README.md        2001-09-09 03:46:40.000000000 +0200
+++ new/hinotify-0.4.2/README.md        2025-02-19 09:48:48.000000000 +0100
@@ -1,64 +1,19 @@
 hinotify: inotify for Haskell
 =============================
 
-[![Build 
Status](https://api.travis-ci.org/kolmodin/hinotify.png?branch=master)](http://travis-ci.org/kolmodin/hinotify)
+[![CI](https://github.com/haskell-fswatch/hinotify/actions/workflows/ci.yml/badge.svg)](https://github.com/haskell-fswatch/hinotify/actions/workflows/ci.yml)
 
 About
 -----
 
-hinotify, a library to [inotify] which has been part of the Linux kernel
-since 2.6.13.
+This package provides bindings to 
[inotify](http://www.kernel.org/pub/linux/kernel/people/rml/inotify/), which 
has been part of the Linux kernel since 2.6.13.
 
-inotify provides file system event notification, simply add a watcher to
-a file or directory and get an event when it is accessed or modified.
-
-This module is named `hinotify`.
-
-See example code in the `examples` directory, distributed with the source
-code.
-
-[inotify]: http://www.kernel.org/pub/linux/kernel/people/rml/inotify/
+The `inotify` subsystem provides file system event notifications. Simply add a 
watcher to a file or directory and you get events when it is accessed, 
modified, etc.
 
 News
 ----
 
-**hinotify 0.3.7**
-
-* Bug fix: When registerering a new watch on a path which is already watched,
-  don't overwrite the event listener from the previous watch.
-
-**hinotify 0.3.2**
-
-* Make each `WatchDescriptor` contain its `INotify`. Changes to the function 
types:
-
->      -removeWatch :: INotify -> WatchDescriptor -> IO ()
->      +removeWatch :: WatchDescriptor -> IO ()
-
-* Fix typo in declaration of `Deleted` in `data Event`;
-
->      - { isDirecotry :: Bool
->      + { isDirectory :: Bool
-
-**hinotify 0.3.1**
-
-* Use `inotify.h` from `glibc` rather than from the linux headers, as
-      recommended upstream.
-
-**hinotify 0.3**
-
-* Compiles with GHC 6.12, GHC 6.10.4, GHC 6.8.2 and GHC 6.6.1
-
-**hinotify 0.2**
-
-* Updates to the API
-    - Function names is now in semiCamelCase
-    - Restructure event parameters to make it more consistent
-* Small test suit in `tests/`
-* Compiles with GHC 6.8.2 and GHC 6.6.1
-* Requires Cabal 1.2
-
-**hinotify 0.1**
-:   Initial release
+See [CHANGELOG.md](./CHANGELOG.md).
 
 API
 ---
@@ -67,49 +22,17 @@
 
 ```haskell
 initINotify :: IO INotify
+
 addWatch :: INotify
          -> [EventVariety]   -- different events to listen on
-         -> FilePath         -- file/directory to watch
-         -> (Event -> IO ()) -- event handler
+         -> RawFilePath      -- file/directory to watch
+         -> (Event -> IO ()) -- event handler callback
          -> IO WatchDescriptor
-removeWatch :: WatchDescriptor -> IO ()
-```
-
-A sample program:
-
-```haskell
-import System.Directory
-import System.IO
-
-import System.INotify
 
-main :: IO ()
-main = do
-  inotify <- initINotify
-  print inotify
-  home <- getHomeDirectory
-  wd <- addWatch
-          inotify
-          [Open,Close,Access,Modify,Move]
-          home
-          print
-  print wd
-  putStrLn "Listens to your home directory. Hit enter to terminate."
-  getLine
-  removeWatch wd
+removeWatch :: WatchDescriptor -> IO ()
 ```
 
-Download
---------
-
-The code is available via the [homepage], and via darcs:
-
-    git clone https://github.com/kolmodin/hinotify.git
-
-The [API] is available online.
-
-I'm most grateful for feedback on the API, and what else you might have to
-suggest.
+See this [example](./examples/simple/simple.hs) or the 
[docs](https://hackage.haskell.org/package/hinotify/docs/System-INotify.html).
 
 Author
 ------
@@ -121,11 +44,6 @@
 Legal
 -----
 
-This software is released under a BSD-style license. See LICENSE for
-more details.
+This software is released under a BSD-style license. See LICENSE for more 
details.
 
 Copyright &copy; 2007-2012 Lennart Kolmodin
-
-[homepage]: https://github.com/kolmodin/hinotify.git
-
-[API]: 
http://hackage.haskell.org/packages/archive/hinotify/latest/doc/html/System-INotify.html
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hinotify-0.4.1/hinotify.cabal 
new/hinotify-0.4.2/hinotify.cabal
--- old/hinotify-0.4.1/hinotify.cabal   2001-09-09 03:46:40.000000000 +0200
+++ new/hinotify-0.4.2/hinotify.cabal   2025-02-21 02:08:26.000000000 +0100
@@ -1,5 +1,5 @@
 name:               hinotify
-version:            0.4.1
+version:            0.4.2
 build-type:         Simple
 synopsis:           Haskell binding to inotify
 description:
@@ -12,7 +12,7 @@
 license:            BSD3
 license-file:       LICENSE
 author:             Lennart Kolmodin
-maintainer:         Lennart Kolmodin <kolmo...@gmail.com>
+maintainer:         Tom McLaughlin <t...@codedown.io>
 extra-source-files: README.md, CHANGELOG.md
 cabal-version:      >= 1.10
 
@@ -34,7 +34,7 @@
     includes: sys/inotify.h
     hs-source-dirs: src
 
-    if os(freebsd) || os(openbsd)
+    if os(freebsd) || os(netbsd) || os(openbsd)
       extra-libraries: inotify
 
 test-suite test001
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/hinotify-0.4.1/src/System/INotify.hsc 
new/hinotify-0.4.2/src/System/INotify.hsc
--- old/hinotify-0.4.1/src/System/INotify.hsc   2001-09-09 03:46:40.000000000 
+0200
+++ new/hinotify-0.4.2/src/System/INotify.hsc   2025-02-19 03:54:39.000000000 
+0100
@@ -35,29 +35,28 @@
 
 #include "sys/inotify.h"
 
-import Prelude hiding (init)
-import Control.Monad
 import Control.Concurrent
 import Control.Concurrent.Async
 import Control.Exception as E hiding (mask)
-import Data.Maybe
+import Control.Monad
+import Data.Bits ((.|.))
 import Data.Map (Map)
 import qualified Data.Map as Map
+import Data.Maybe
 import Foreign.C
 import Foreign.Marshal hiding (void)
 import Foreign.Ptr
 import Foreign.Storable
+import GHC.IO.Device (IODeviceType(Stream))
+import GHC.IO.FD as FD (mkFD)
+import GHC.IO.Handle (mkFileHandle)
+import Prelude hiding (init)
+import System.INotify.Masks
 import System.IO
 import System.IO.Error
-
 import System.Posix.ByteString.FilePath
 import System.Posix.Files.ByteString
 
-import GHC.IO.FD as FD (mkFD)
-import GHC.IO.Handle.FD (mkHandleFromFD)
-import GHC.IO.Device (IODeviceType(Stream))
-
-import System.INotify.Masks
 
 type FD = CInt
 type WD = CInt
@@ -174,16 +173,18 @@
 
 initINotify :: IO INotify
 initINotify = do
-    fdint <- throwErrnoIfMinus1 "initINotify" c_inotify_init
-    (fd,fd_type) <- FD.mkFD fdint ReadMode (Just (Stream,0,0))
-            False{-is_socket-}
-            False{-is_nonblock-}
-    h <- mkHandleFromFD fd fd_type
-           (showString "<inotify handle, fd=" . shows fd $ ">")
-           ReadMode
-           True  -- make non-blocking.  Otherwise reading uses select(), which
-                 -- can fail when there are >=1024 FDs
-           Nothing -- no encoding, so binary
+    fdint <- throwErrnoIfMinus1 "initINotify" $ c_inotify_init1 (c_IN_NONBLOCK 
.|. c_IN_CLOEXEC)
+    (fd, _) <- FD.mkFD fdint ReadMode (Just (Stream,0,0))
+        False -- is_socket
+        True  -- make non-blocking.  Otherwise reading uses select(), which 
can fail when there are >=1024 FDs
+
+    h <- mkFileHandle
+        fd
+        (showString "<inotify handle, fd=" . shows fd $ ">")
+        ReadMode
+        Nothing -- no encoding, so binary
+        noNewlineTranslation
+
     em <- newMVar Map.empty
     (tid1, tid2) <- inotify_start_thread h em
     return (INotify h fdint em tid1 tid2)
@@ -359,6 +360,12 @@
 withINotify :: (INotify -> IO a) -> IO a
 withINotify = bracket initINotify killINotify
 
-foreign import ccall unsafe "sys/inotify.h inotify_init" c_inotify_init :: IO 
CInt
+c_IN_NONBLOCK :: CInt
+c_IN_NONBLOCK = #const IN_NONBLOCK
+
+c_IN_CLOEXEC :: CInt
+c_IN_CLOEXEC = #const IN_CLOEXEC
+
+foreign import ccall unsafe "sys/inotify.h inotify_init1" c_inotify_init1 :: 
CInt -> IO CInt
 foreign import ccall unsafe "sys/inotify.h inotify_add_watch" 
c_inotify_add_watch :: CInt -> CString -> CUInt -> IO CInt
 foreign import ccall unsafe "sys/inotify.h inotify_rm_watch" 
c_inotify_rm_watch :: CInt -> CInt -> IO CInt

Reply via email to