packages feed

hercules-ci-cnix-store 0.3.5.0 → 0.3.5.1

raw patch · 7 files changed

+64/−18 lines, 7 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Hercules.CNix.Store: inline_c_ffi_6989586621679084475 :: Ptr NixStorePath -> Ptr NixStorePath -> IO CInt
- Hercules.CNix.Store: inline_c_ffi_6989586621679084486 :: Ptr NixStorePath -> IO (Ptr CChar)
- Hercules.CNix.Store: inline_c_ffi_6989586621679084555 :: Ptr (Ptr ()) -> IO (Ptr (Ref NixStore))
- Hercules.CNix.Store: inline_c_ffi_6989586621679084565 :: Ptr (Ref NixStore) -> IO ()
- Hercules.CNix.Store: inline_c_ffi_6989586621679084585 :: Ptr (Ptr ()) -> Ptr CChar -> IO (Ptr (Ref NixStore))
- Hercules.CNix.Store: inline_c_ffi_6989586621679084595 :: Ptr (Ref NixStore) -> IO ()
- Hercules.CNix.Store: inline_c_ffi_6989586621679084605 :: Ptr (Ref NixStore) -> IO (Ptr CChar)
- Hercules.CNix.Store: inline_c_ffi_6989586621679084615 :: Ptr (Ref NixStore) -> IO (Ptr CChar)
- Hercules.CNix.Store: inline_c_ffi_6989586621679084628 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> IO CInt
- Hercules.CNix.Store: inline_c_ffi_6989586621679084638 :: Ptr (Ptr ()) -> IO CInt
- Hercules.CNix.Store: inline_c_ffi_6989586621679084645 :: IO (FunPtr (Ptr NixStorePath -> IO ()))
- Hercules.CNix.Store: inline_c_ffi_6989586621679084662 :: Ptr (Ptr ()) -> Ptr CChar -> CLong -> IO (Ptr NixStorePath)
- Hercules.CNix.Store: inline_c_ffi_6989586621679084681 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr CChar -> CLong -> IO (Ptr NixStorePath)
- Hercules.CNix.Store: inline_c_ffi_6989586621679084690 :: Ptr NixStorePath -> IO (Ptr CChar)
- Hercules.CNix.Store: inline_c_ffi_6989586621679084699 :: Ptr NixStorePath -> IO (Ptr CChar)
- Hercules.CNix.Store: inline_c_ffi_6989586621679084711 :: Ptr (Ref NixStore) -> Ptr NixStorePath -> IO (Ptr CChar)
- Hercules.CNix.Store: inline_c_ffi_6989586621679084726 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr NixStorePath -> IO ()
- Hercules.CNix.Store: inline_c_ffi_6989586621679084741 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr NixStorePath -> IO ()
- Hercules.CNix.Store: inline_c_ffi_6989586621679084754 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> IO ()
- Hercules.CNix.Store: inline_c_ffi_6989586621679084764 :: Ptr (Ptr ()) -> IO ()
- Hercules.CNix.Store: inline_c_ffi_6989586621679084771 :: IO (FunPtr (Ptr NixStorePathWithOutputs -> IO ()))
- Hercules.CNix.Store: inline_c_ffi_6989586621679084784 :: Ptr NixStorePath -> Ptr (CStdSet CStdString) -> IO (Ptr NixStorePathWithOutputs)
- Hercules.CNix.Store: inline_c_ffi_6989586621679084793 :: Ptr NixStorePathWithOutputs -> IO (Ptr NixStorePath)
- Hercules.CNix.Store: inline_c_ffi_6989586621679084805 :: Ptr (Ptr ()) -> Ptr NixStorePathWithOutputs -> IO (Ptr (CStdVector CStdString))
- Hercules.CNix.Store: inline_c_ffi_6989586621679084820 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr (CStdVector NixStorePathWithOutputs) -> IO ()
- Hercules.CNix.Store: inline_c_ffi_6989586621679084829 :: IO (FunPtr (Ptr Derivation -> IO ()))
- Hercules.CNix.Store: inline_c_ffi_6989586621679084844 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr NixStorePath -> IO (Ptr Derivation)
- Hercules.CNix.Store: inline_c_ffi_6989586621679084869 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr CChar -> CLong -> Ptr CChar -> CLong -> IO (Ptr Derivation)
- Hercules.CNix.Store: inline_c_ffi_6989586621679084881 :: Ptr (Ptr ()) -> Ptr NixStorePath -> IO (Ptr CChar)
- Hercules.CNix.Store: inline_c_ffi_6989586621679084892 :: Ptr Derivation -> IO (Ptr DerivationOutputsIterator)
- Hercules.CNix.Store: inline_c_ffi_6989586621679084904 :: Ptr DerivationOutputsIterator -> Ptr Derivation -> IO CBool
- Hercules.CNix.Store: inline_c_ffi_6989586621679084946 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr CChar -> CLong -> Ptr DerivationOutputsIterator -> Ptr (Ptr CChar) -> Ptr CInt -> Ptr (Ptr NixStorePath) -> Ptr CInt -> Ptr CInt -> Ptr (Ptr CChar) -> Ptr CInt -> Ptr Derivation -> IO ()
- Hercules.CNix.Store: inline_c_ffi_6989586621679085001 :: Ptr DerivationOutputsIterator -> IO ()
- Hercules.CNix.Store: inline_c_ffi_6989586621679085010 :: Ptr Derivation -> IO (Ptr CChar)
- Hercules.CNix.Store: inline_c_ffi_6989586621679085019 :: Ptr Derivation -> IO (Ptr CChar)
- Hercules.CNix.Store: inline_c_ffi_6989586621679085031 :: Ptr (Ptr ()) -> Ptr Derivation -> IO (Ptr Strings)
- Hercules.CNix.Store: inline_c_ffi_6989586621679085043 :: Ptr (Ptr ()) -> Ptr Derivation -> IO (Ptr (CStdVector (Ptr NixStorePath)))
- Hercules.CNix.Store: inline_c_ffi_6989586621679085053 :: Ptr Derivation -> IO (Ptr DerivationInputsIterator)
- Hercules.CNix.Store: inline_c_ffi_6989586621679085065 :: Ptr DerivationInputsIterator -> Ptr Derivation -> IO CBool
- Hercules.CNix.Store: inline_c_ffi_6989586621679085078 :: Ptr (Ptr ()) -> Ptr DerivationInputsIterator -> IO (Ptr NixStorePath)
- Hercules.CNix.Store: inline_c_ffi_6989586621679085088 :: Ptr DerivationInputsIterator -> IO (Ptr Strings)
- Hercules.CNix.Store: inline_c_ffi_6989586621679085098 :: Ptr DerivationInputsIterator -> IO ()
- Hercules.CNix.Store: inline_c_ffi_6989586621679085108 :: Ptr DerivationInputsIterator -> IO ()
- Hercules.CNix.Store: inline_c_ffi_6989586621679085117 :: Ptr Derivation -> IO (Ptr StringPairs)
- Hercules.CNix.Store: inline_c_ffi_6989586621679085129 :: Ptr (Ptr ()) -> Ptr Derivation -> IO (Ptr Strings)
- Hercules.CNix.Store: inline_c_ffi_6989586621679085139 :: Ptr StringPairs -> IO ()
- Hercules.CNix.Store: inline_c_ffi_6989586621679085149 :: Ptr Strings -> IO ()
- Hercules.CNix.Store: inline_c_ffi_6989586621679085156 :: IO (FunPtr (Ptr Strings -> IO ()))
- Hercules.CNix.Store: inline_c_ffi_6989586621679085166 :: Ptr Strings -> IO CSize
- Hercules.CNix.Store: inline_c_ffi_6989586621679085176 :: Ptr Strings -> IO (Ptr StringsIterator)
- Hercules.CNix.Store: inline_c_ffi_6989586621679085189 :: Ptr StringsIterator -> Ptr Strings -> IO CBool
- Hercules.CNix.Store: inline_c_ffi_6989586621679085199 :: Ptr StringsIterator -> IO (Ptr CChar)
- Hercules.CNix.Store: inline_c_ffi_6989586621679085210 :: Ptr StringsIterator -> IO ()
- Hercules.CNix.Store: inline_c_ffi_6989586621679085220 :: Ptr StringPairs -> IO (Ptr StringPairsIterator)
- Hercules.CNix.Store: inline_c_ffi_6989586621679085233 :: Ptr StringPairsIterator -> Ptr StringPairs -> IO CBool
- Hercules.CNix.Store: inline_c_ffi_6989586621679085243 :: Ptr StringPairsIterator -> IO (Ptr CChar)
- Hercules.CNix.Store: inline_c_ffi_6989586621679085253 :: Ptr StringPairsIterator -> IO (Ptr CChar)
- Hercules.CNix.Store: inline_c_ffi_6989586621679085265 :: Ptr StringPairsIterator -> IO ()
- Hercules.CNix.Store: inline_c_ffi_6989586621679085272 :: IO (Ptr Strings)
- Hercules.CNix.Store: inline_c_ffi_6989586621679085282 :: Ptr Strings -> IO ()
- Hercules.CNix.Store: inline_c_ffi_6989586621679085299 :: Ptr Strings -> Ptr CChar -> IO ()
- Hercules.CNix.Store: inline_c_ffi_6989586621679085321 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr (Ref NixStore) -> Ptr (CStdVector (Ptr NixStorePath)) -> IO ()
- Hercules.CNix.Store: inline_c_ffi_6989586621679085336 :: Ptr (Ptr ()) -> Ptr CChar -> IO (Ptr SecretKey)
- Hercules.CNix.Store: inline_c_ffi_6989586621679085343 :: IO (FunPtr (Ptr SecretKey -> IO ()))
- Hercules.CNix.Store: inline_c_ffi_6989586621679085361 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr NixStorePath -> Ptr SecretKey -> IO CInt
- Hercules.CNix.Store: inline_c_ffi_6989586621679085380 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr CChar -> CLong -> IO (Ptr NixStorePath)
- Hercules.CNix.Store: inline_c_ffi_6989586621679085395 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr NixStorePath -> IO CBool
- Hercules.CNix.Store: inline_c_ffi_6989586621679085410 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr NixStorePath -> IO (Ptr (Ref ValidPathInfo))
- Hercules.CNix.Store: inline_c_ffi_6989586621679085429 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr NixStorePath -> Ptr CBool -> IO (Ptr (Ref ValidPathInfo))
- Hercules.CNix.Store: inline_c_ffi_6989586621679085438 :: IO (FunPtr (Ptr (Ref ValidPathInfo) -> IO ()))
- Hercules.CNix.Store: inline_c_ffi_6989586621679085447 :: Ptr (Ref ValidPathInfo) -> IO CLong
- Hercules.CNix.Store: inline_c_ffi_6989586621679085456 :: Ptr (Ref ValidPathInfo) -> IO (Ptr CChar)
- Hercules.CNix.Store: inline_c_ffi_6989586621679085468 :: Ptr (Ptr ()) -> Ptr (Ref ValidPathInfo) -> IO (Ptr NixStorePath)
- Hercules.CNix.Store: inline_c_ffi_6989586621679085480 :: Ptr (Ptr ()) -> Ptr (Ref ValidPathInfo) -> IO (Ptr (CStdVector (Ptr NixStorePath)))
- Hercules.CNix.Store: inline_c_ffi_6989586621679085511 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr (CStdSet NixStorePath) -> Ptr (CStdSet NixStorePath) -> CInt -> CInt -> CInt -> IO ()
+ Hercules.CNix.Store: inline_c_ffi_6989586621679082901 :: Ptr NixStorePath -> Ptr NixStorePath -> IO CInt
+ Hercules.CNix.Store: inline_c_ffi_6989586621679082911 :: Ptr NixStorePath -> IO (Ptr CChar)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679082979 :: Ptr (Ptr ()) -> IO (Ptr (Ref NixStore))
+ Hercules.CNix.Store: inline_c_ffi_6989586621679082988 :: Ptr (Ref NixStore) -> IO ()
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083007 :: Ptr (Ptr ()) -> Ptr CChar -> IO (Ptr (Ref NixStore))
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083016 :: Ptr (Ref NixStore) -> IO ()
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083025 :: Ptr (Ref NixStore) -> IO (Ptr CChar)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083034 :: Ptr (Ref NixStore) -> IO (Ptr CChar)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083046 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> IO CInt
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083055 :: Ptr (Ptr ()) -> IO CInt
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083061 :: IO (FunPtr (Ptr NixStorePath -> IO ()))
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083077 :: Ptr (Ptr ()) -> Ptr CChar -> CLong -> IO (Ptr NixStorePath)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083095 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr CChar -> CLong -> IO (Ptr NixStorePath)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083103 :: Ptr NixStorePath -> IO (Ptr CChar)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083111 :: Ptr NixStorePath -> IO (Ptr CChar)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083122 :: Ptr (Ref NixStore) -> Ptr NixStorePath -> IO (Ptr CChar)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083136 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr NixStorePath -> IO ()
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083150 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr NixStorePath -> IO ()
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083162 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> IO ()
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083171 :: Ptr (Ptr ()) -> IO ()
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083177 :: IO (FunPtr (Ptr NixStorePathWithOutputs -> IO ()))
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083189 :: Ptr NixStorePath -> Ptr (CStdSet CStdString) -> IO (Ptr NixStorePathWithOutputs)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083197 :: Ptr NixStorePathWithOutputs -> IO (Ptr NixStorePath)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083208 :: Ptr (Ptr ()) -> Ptr NixStorePathWithOutputs -> IO (Ptr (CStdVector CStdString))
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083222 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr (CStdVector NixStorePathWithOutputs) -> IO ()
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083230 :: IO (FunPtr (Ptr Derivation -> IO ()))
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083244 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr NixStorePath -> IO (Ptr Derivation)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083268 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr CChar -> CLong -> Ptr CChar -> CLong -> IO (Ptr Derivation)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083279 :: Ptr (Ptr ()) -> Ptr NixStorePath -> IO (Ptr CChar)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083289 :: Ptr Derivation -> IO (Ptr DerivationOutputsIterator)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083300 :: Ptr DerivationOutputsIterator -> Ptr Derivation -> IO CBool
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083341 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr CChar -> CLong -> Ptr DerivationOutputsIterator -> Ptr (Ptr CChar) -> Ptr CInt -> Ptr (Ptr NixStorePath) -> Ptr CInt -> Ptr CInt -> Ptr (Ptr CChar) -> Ptr CInt -> Ptr Derivation -> IO ()
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083395 :: Ptr DerivationOutputsIterator -> IO ()
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083403 :: Ptr Derivation -> IO (Ptr CChar)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083411 :: Ptr Derivation -> IO (Ptr CChar)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083422 :: Ptr (Ptr ()) -> Ptr Derivation -> IO (Ptr Strings)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083433 :: Ptr (Ptr ()) -> Ptr Derivation -> IO (Ptr (CStdVector (Ptr NixStorePath)))
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083442 :: Ptr Derivation -> IO (Ptr DerivationInputsIterator)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083453 :: Ptr DerivationInputsIterator -> Ptr Derivation -> IO CBool
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083465 :: Ptr (Ptr ()) -> Ptr DerivationInputsIterator -> IO (Ptr NixStorePath)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083474 :: Ptr DerivationInputsIterator -> IO (Ptr Strings)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083483 :: Ptr DerivationInputsIterator -> IO ()
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083492 :: Ptr DerivationInputsIterator -> IO ()
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083500 :: Ptr Derivation -> IO (Ptr StringPairs)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083511 :: Ptr (Ptr ()) -> Ptr Derivation -> IO (Ptr Strings)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083520 :: Ptr StringPairs -> IO ()
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083529 :: Ptr Strings -> IO ()
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083535 :: IO (FunPtr (Ptr Strings -> IO ()))
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083544 :: Ptr Strings -> IO CSize
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083553 :: Ptr Strings -> IO (Ptr StringsIterator)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083565 :: Ptr StringsIterator -> Ptr Strings -> IO CBool
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083574 :: Ptr StringsIterator -> IO (Ptr CChar)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083584 :: Ptr StringsIterator -> IO ()
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083593 :: Ptr StringPairs -> IO (Ptr StringPairsIterator)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083605 :: Ptr StringPairsIterator -> Ptr StringPairs -> IO CBool
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083614 :: Ptr StringPairsIterator -> IO (Ptr CChar)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083623 :: Ptr StringPairsIterator -> IO (Ptr CChar)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083634 :: Ptr StringPairsIterator -> IO ()
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083640 :: IO (Ptr Strings)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083649 :: Ptr Strings -> IO ()
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083665 :: Ptr Strings -> Ptr CChar -> IO ()
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083686 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr (Ref NixStore) -> Ptr (CStdVector (Ptr NixStorePath)) -> IO ()
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083700 :: Ptr (Ptr ()) -> Ptr CChar -> IO (Ptr SecretKey)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083706 :: IO (FunPtr (Ptr SecretKey -> IO ()))
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083723 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr NixStorePath -> Ptr SecretKey -> IO CInt
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083741 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr CChar -> CLong -> IO (Ptr NixStorePath)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083755 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr NixStorePath -> IO CBool
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083769 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr NixStorePath -> IO (Ptr (Ref ValidPathInfo))
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083787 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr NixStorePath -> Ptr CBool -> IO (Ptr (Ref ValidPathInfo))
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083795 :: IO (FunPtr (Ptr (Ref ValidPathInfo) -> IO ()))
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083803 :: Ptr (Ref ValidPathInfo) -> IO CLong
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083811 :: Ptr (Ref ValidPathInfo) -> IO (Ptr CChar)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083822 :: Ptr (Ptr ()) -> Ptr (Ref ValidPathInfo) -> IO (Ptr NixStorePath)
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083833 :: Ptr (Ptr ()) -> Ptr (Ref ValidPathInfo) -> IO (Ptr (CStdVector (Ptr NixStorePath)))
+ Hercules.CNix.Store: inline_c_ffi_6989586621679083863 :: Ptr (Ptr ()) -> Ptr (Ref NixStore) -> Ptr (CStdSet NixStorePath) -> Ptr (CStdSet NixStorePath) -> CInt -> CInt -> CInt -> IO ()

Files

CHANGELOG.md view
@@ -5,6 +5,12 @@  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## 0.3.5.1 - 2024-05-03++### Fixed++ - Remove most uses of `c_str()`, of which at least one exhibited undefined behavior.+ ## 0.3.5.0 - 2024-02-12  ### Added
+ cbits/string.cxx view
@@ -0,0 +1,12 @@+#include "hercules-ci-cnix/string.hxx"++namespace hercules_ci_cnix {++char * stringdup(const std::string & s) {+    char * p = (char *)malloc(s.size() + 1);+    std::copy(s.begin(), s.end(), p);+    p[s.size()] = '\0';+    return p;+}++} // namespace hercules_ci_cnix
hercules-ci-cnix-store.cabal view
@@ -1,7 +1,7 @@ cabal-version: 2.4  name:           hercules-ci-cnix-store-version:        0.3.5.0+version:        0.3.5.1 synopsis:       Haskell bindings for Nix's libstore category:       Nix homepage:       https://docs.hercules-ci.com@@ -43,6 +43,8 @@    cxx-options:     -Wall+    -- GHC does _not_ produce declarations, so this only applies to cxx-sources.+    -Werror=missing-declarations   extra-libraries: stdc++    if os(darwin)@@ -96,7 +98,10 @@     , nix-main >= 2.4 && < 2.19 || (>= 2.19.3 && < 2.21)   install-includes:       hercules-ci-cnix/store.hxx+      hercules-ci-cnix/string.hxx   hs-source-dirs: src+  cxx-sources:+      cbits/string.cxx   build-depends:       base >= 4.7 && <5     , inline-c
+ include/hercules-ci-cnix/string.hxx view
@@ -0,0 +1,12 @@+#pragma once+#include <string>++namespace hercules_ci_cnix {++/**+  c_str() on a std::string only works if the std::string doesn't go out of scope.+  `stringdup` is like `strdup(s.c_str())`, but without the undefined behavior.+ */+char * stringdup(const std::string & s);++} // namespace hercules_ci_cnix
src/Hercules/CNix.hs view
@@ -59,8 +59,12 @@  C.include "<gc/gc_allocator.h>" +C.include "hercules-ci-cnix/string.hxx"+ C.using "namespace nix" +C.using "namespace hercules_ci_cnix"+ init :: IO () init =   void@@ -107,7 +111,7 @@ nixVersion = unsafePerformIO $ do   p <-     [C.exp| const char* {-      strdup(nix::nixVersion.c_str())+      stringdup(nix::nixVersion)     }|]   unsafePackMallocCString p {-# NOINLINE nixVersion #-}
src/Hercules/CNix/Settings.hs view
@@ -40,7 +40,10 @@ C.include "<nix/globals.hh>" C.include "<set>" C.include "<string>"+C.include "hercules-ci-cnix/string.hxx" +C.using "namespace hercules_ci_cnix"+ byteStringSet :: IO (Ptr (Std.Set.CStdSet Std.String.CStdString)) -> IO (Set ByteString) byteStringSet x =   x@@ -67,7 +70,7 @@ getSystem =   unsafePackMallocCString     =<< [C.exp| const char *{-      strdup(nix::settings.thisSystem.get().c_str())+      stringdup(nix::settings.thisSystem.get())     }|]  getSystemFeatures :: IO (Set ByteString)@@ -107,7 +110,7 @@ getNetrcFile =   unsafePackMallocCString     =<< [C.exp| const char *{-      strdup(nix::settings.netrcFile.get().c_str())+      stringdup(nix::settings.netrcFile.get())     }|]  -- Gets the value of https://nixos.org/manual/nix/stable/command-ref/conf-file.html?highlight=use-sqlite-wal#conf-use-sqlite-wal
src/Hercules/CNix/Store.hs view
@@ -82,6 +82,8 @@  C.include "hercules-ci-cnix/store.hxx" +C.include "hercules-ci-cnix/string.hxx"+ #if NIX_IS_AT_LEAST(2,19,0)  C.include "<nix/signals.hh>"@@ -98,6 +100,8 @@  C.using "namespace nix" +C.using "namespace hercules_ci_cnix"+ forNonNull :: Applicative m => Ptr a -> (Ptr a -> m b) -> m (Maybe b) forNonNull = flip traverseNonNull @@ -150,7 +154,7 @@   unsafeMallocBS     [C.block| const char* {        std::string uri = (*$(refStore* store))->getUri();-       return strdup(uri.c_str());+       return stringdup(uri);      } |]  -- | Usually @"/nix/store"@@@ -159,7 +163,7 @@   unsafeMallocBS     [C.block| const char* {        std::string uri = (*$(refStore* store))->storeDir;-       return strdup(uri.c_str());+       return stringdup(uri);      } |]  getStoreProtocolVersion :: Store -> IO Int@@ -209,7 +213,7 @@       BS.unsafePackMallocCString         =<< [C.block| const char* {           std::string s($fptr-ptr:(nix::StorePath *storePath)->to_string());-          return strdup(s.c_str());+          return stringdup(s);         }|]     pure $ toS $ decodeUtf8With lenientDecode bs @@ -250,7 +254,7 @@   BS.unsafePackMallocCString     =<< [C.block| const char *{       std::string s($fptr-ptr:(nix::StorePath *sp)->to_string());-      return strdup(s.c_str());+      return stringdup(s);     }|]  getStorePathHash :: StorePath -> IO ByteString@@ -258,7 +262,7 @@   BS.unsafePackMallocCString     =<< [C.block| const char *{       std::string s($fptr-ptr:(nix::StorePath *sp)->hashPart());-      return strdup(s.c_str());+      return stringdup(s);     }|]  storePathToPath :: Store -> StorePath -> IO ByteString@@ -268,7 +272,7 @@       Store & store = **$(refStore* store);       StorePath &sp = *$fptr-ptr:(nix::StorePath *sp);       std::string s(store.printStorePath(sp));-      return strdup(s.c_str());+      return stringdup(s);     }|]  ensurePath :: Store -> StorePath -> IO ()@@ -409,7 +413,7 @@     =<< [C.throwBlock| const char *{       StorePath &sp = *$fptr-ptr:(nix::StorePath *storePath);       std::string s(Derivation::nameFromPath(sp));-      return strdup(s.c_str());+      return stringdup(s);     }|]  data DerivationOutput = DerivationOutput@@ -469,7 +473,7 @@                     int &hashSize = *$(int *hashSizeP);                      std::string nameString = i->first;-                    name = strdup(nameString.c_str());+                    name = stringdup(nameString);                     path = nullptr;                     std::visit(overloaded { #if NIX_IS_AT_LEAST(2, 18, 0)@@ -797,14 +801,14 @@ getDerivationPlatform derivation =   unsafeMallocBS     [C.exp| const char* {-       strdup($fptr-ptr:(Derivation *derivation)->platform.c_str())+       stringdup($fptr-ptr:(Derivation *derivation)->platform)      } |]  getDerivationBuilder :: Derivation -> IO ByteString getDerivationBuilder derivation =   unsafeMallocBS     [C.exp| const char* {-       strdup($fptr-ptr:(Derivation *derivation)->builder.c_str())+       stringdup($fptr-ptr:(Derivation *derivation)->builder)      } |]  getDerivationArguments :: Derivation -> IO [ByteString]@@ -957,7 +961,7 @@     if isEnd       then pure []       else do-        s <- [C.exp| const char*{ strdup((*$(StringsIterator *i))->c_str()) }|]+        s <- [C.exp| const char*{ stringdup(*(*$(StringsIterator *i))) }|]         bs <- BS.unsafePackMallocCString s         [C.block| void { (*$(StringsIterator *i))++; }|]         (bs :) <$> go@@ -971,8 +975,8 @@       if isEnd         then pure []         else do-          k <- [C.exp| const char*{ strdup((*$(StringPairsIterator *i))->first.c_str()) }|]-          v <- [C.exp| const char*{ strdup((*$(StringPairsIterator *i))->second.c_str()) }|]+          k <- [C.exp| const char*{ stringdup((*$(StringPairsIterator *i))->first) }|]+          v <- [C.exp| const char*{ stringdup((*$(StringPairsIterator *i))->second) }|]           bk <- BS.unsafePackMallocCString k           bv <- BS.unsafePackMallocCString v           [C.block| void { (*$(StringPairsIterator *i))++; }|]@@ -1209,7 +1213,7 @@ #else       std::string s((*$fptr-ptr:(refValidPathInfo* vpi))->narHash.to_string(nix::Base32, true)); #endif-      return strdup(s.c_str());+      return stringdup(s);     }|]  -- | Deriver field of a ValidPathInfo struct. Source: store-api.hh