push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
diff --git a/GLUT.cabal b/GLUT.cabal
index f370d6c..a404e1e 100644
--- a/GLUT.cabal
+++ b/GLUT.cabal
@@ -103,6 +103,7 @@ library
else
cpp-options: "-DCALLCONV=ccall"
cc-options: "-DUSE_DLSYM"
+ pkgconfig-depends: glut
executable BOGLGP01-OnYourOwn1
if !flag(BuildExamples)

View File

@@ -0,0 +1,17 @@
diff --git a/HSH/ShellEquivs.hs b/HSH/ShellEquivs.hs
index f9287e8..b132737 100644
--- a/HSH/ShellEquivs.hs
+++ b/HSH/ShellEquivs.hs
@@ -223,9 +223,9 @@ catToFIFO fp ichan =
return (ChanString "")
fifoOpen :: FilePath -> IO Handle
-fifoOpen fp =
- do fd <- throwErrnoPathIf (< 0) "HSH fifoOpen" fp $
- openFd fp WriteOnly Nothing defaultFileFlags
+fifoOpen fp =
+ do fd <- throwErrnoPathIf (< 0) "HSH fifoOpen" fp $
+ openFd fp WriteOnly defaultFileFlags
fdToHandle fd
#endif

View File

@@ -0,0 +1,9 @@
--- SDL-image-0.6.2.0/Graphics/UI/SDL/Image/Version.hsc.orig 2021-08-06 01:21:05.000000000 +0200
+++ SDL-image-0.6.2.0/Graphics/UI/SDL/Image/Version.hsc 2021-08-06 01:21:56.000000000 +0200
@@ -1,4 +1,6 @@
#include "SDL_image.h"
+-- override SDL_main.h redefining main to SDL_main on darwin
+#define main main
module Graphics.UI.SDL.Image.Version
( compiledFor
, linkedWith

View File

@@ -0,0 +1,9 @@
--- SDL-ttf-0.6.3.0/Graphics/UI/SDL/TTF/Version.hsc.orig 2021-08-06 01:31:39.000000000 +0200
+++ SDL-ttf-0.6.3.0/Graphics/UI/SDL/TTF/Version.hsc 2021-08-06 01:32:03.000000000 +0200
@@ -1,4 +1,6 @@
#include "SDL_ttf.h"
+-- override SDL_main.h redefining main to SDL_main on darwin
+#define main main
module Graphics.UI.SDL.TTF.Version
( compiledFor
, linkedWith

View File

@@ -0,0 +1,11 @@
--- a/cabal-install.cabal
+++ b/cabal-install.cabal
@@ -275,7 +275,7 @@
, directory >=1.3.1.0
else
build-depends:
- , unix >= 2.5 && < 2.8 || >= 2.8.6.0 && < 2.9
+ , unix >= 2.5 && < 2.9
if flag(lukko)
build-depends:

View File

@@ -0,0 +1,23 @@
diff --git a/Cheapskate/Parse.hs b/Cheapskate/Parse.hs
index b90d8e5..2925132 100644
--- a/Cheapskate/Parse.hs
+++ b/Cheapskate/Parse.hs
@@ -1,4 +1,5 @@
{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE CPP #-}
module Cheapskate.Parse (
markdown
) where
@@ -21,6 +22,12 @@ import Control.Applicative
import qualified Data.Map as M
import Data.List (intercalate)
+#if MIN_VERSION_mtl(2, 3, 0)
+import Control.Monad (guard, unless, replicateM)
+#else
+#endif
+
+
import Debug.Trace
-- | Parses the input as a markdown document. Note that 'Doc' is an instance

View File

@@ -0,0 +1,69 @@
diff --git a/Crypto/KDF/Argon2.hs b/Crypto/KDF/Argon2.hs
index 044ba00..31dc6f1 100644
--- a/Crypto/KDF/Argon2.hs
+++ b/Crypto/KDF/Argon2.hs
@@ -12,6 +12,7 @@
-- File started from Argon2.hs, from Oliver Charles
-- at https://github.com/ocharles/argon2
--
+{-# LANGUAGE DataKinds #-}
module Crypto.KDF.Argon2
(
Options(..)
@@ -32,6 +33,7 @@ import Control.Monad (when)
import Data.Word
import Foreign.C
import Foreign.Ptr
+import Data.Proxy
-- | Which variant of Argon2 to use. You should choose the variant that is most
-- applicable to your intention to hash inputs.
@@ -100,33 +102,12 @@ defaultOptions =
}
hash :: (ByteArrayAccess password, ByteArrayAccess salt, ByteArray out)
- => Options
+ => [Proxy "cryptonite:Crypto.KDF.Argon2.hash is known to be broken on this architecture. See https://github.com/haskell-crypto/cryptonite/issues/360"]
-> password
-> salt
-> Int
-> CryptoFailable out
-hash options password salt outLen
- | saltLen < saltMinLength = CryptoFailed CryptoError_SaltTooSmall
- | outLen < outputMinLength = CryptoFailed CryptoError_OutputLengthTooSmall
- | outLen > outputMaxLength = CryptoFailed CryptoError_OutputLengthTooBig
- | otherwise = CryptoPassed $ B.allocAndFreeze outLen $ \out -> do
- res <- B.withByteArray password $ \pPass ->
- B.withByteArray salt $ \pSalt ->
- argon2_hash (iterations options)
- (memory options)
- (parallelism options)
- pPass
- (csizeOfInt passwordLen)
- pSalt
- (csizeOfInt saltLen)
- out
- (csizeOfInt outLen)
- (cOfVariant $ variant options)
- (cOfVersion $ version options)
- when (res /= 0) $ error "argon2: hash: internal error"
- where
- saltLen = B.length salt
- passwordLen = B.length password
+hash options password salt outLen = error "cryptonite:Crypto.KDF.Argon2.hash is known to be broken on this architecture. See https://github.com/haskell-crypto/cryptonite/issues/360"
data Pass
data Salt
diff --git a/tests/KAT_Argon2.hs b/tests/KAT_Argon2.hs
index a347fc5..fdba079 100644
--- a/tests/KAT_Argon2.hs
+++ b/tests/KAT_Argon2.hs
@@ -32,7 +32,7 @@ kdfTests = zipWith toKDFTest is vectors
where
toKDFTest i v =
testCase (show i)
- (CryptoPassed (kdfResult v) @=? Argon2.hash (kdfOptions v) (kdfPass v) (kdfSalt v) (B.length $ kdfResult v))
+ (pure ())
is :: [Int]
is = [1..]

View File

@@ -0,0 +1,24 @@
diff -rN -u old-darcs.net/darcs.cabal new-darcs.net/darcs.cabal
--- old-darcs.net/darcs.cabal 2025-09-13 02:45:32.790227974 +0200
+++ new-darcs.net/darcs.cabal 2025-09-13 02:45:32.791227985 +0200
@@ -124,7 +124,7 @@
custom-setup
setup-depends: base >= 4.10 && < 4.20,
- Cabal >= 2.4 && < 3.11,
+ Cabal >= 2.4 && < 3.13,
process >= 1.2.3.0 && < 1.7,
filepath >= 1.4.1 && < 1.5.0.0,
directory >= 1.2.7 && < 1.4
diff -rN -u old-darcs.net/Setup.hs new-darcs.net/Setup.hs
--- old-darcs.net/Setup.hs 2025-09-13 02:45:32.789227964 +0200
+++ new-darcs.net/Setup.hs 2025-09-13 02:45:32.790227974 +0200
@@ -8,7 +8,7 @@
import Distribution.Package ( packageVersion )
import Distribution.Version( Version )
import Distribution.Simple.LocalBuildInfo
- ( LocalBuildInfo(..), absoluteInstallDirs )
+ ( LocalBuildInfo(..), absoluteInstallDirs, buildDir )
import Distribution.Simple.InstallDirs (mandir, CopyDest (NoCopyDest))
import Distribution.Simple.Setup
(buildVerbosity, copyDest, copyVerbosity, fromFlag,

View File

@@ -0,0 +1,32 @@
diff -rN -u old-darcs.net/darcs.cabal new-darcs.net/darcs.cabal
--- old-darcs.net/darcs.cabal 2025-09-13 02:46:05.662572580 +0200
+++ new-darcs.net/darcs.cabal 2025-09-13 02:46:05.748573468 +0200
@@ -123,7 +123,7 @@
-- ----------------------------------------------------------------------
custom-setup
- setup-depends: base >= 4.10 && < 4.20,
+ setup-depends: base >= 4.10 && < 4.21,
Cabal >= 2.4 && < 3.13,
process >= 1.2.3.0 && < 1.7,
filepath >= 1.4.1 && < 1.5.0.0,
@@ -412,7 +412,7 @@
else
build-depends: unix >= 2.7.1.0 && < 2.9
- build-depends: base >= 4.10 && < 4.20,
+ build-depends: base >= 4.10 && < 4.21,
safe >= 0.3.20 && < 0.4,
stm >= 2.1 && < 2.6,
binary >= 0.5 && < 0.11,
@@ -447,7 +447,7 @@
temporary >= 1.2.1 && < 1.4,
process >= 1.2.3.0 && < 1.7,
array >= 0.5.1.0 && < 0.6,
- hashable >= 1.2.3.3 && < 1.5,
+ hashable >= 1.2.3.3 && < 1.6,
mmap >= 0.5.9 && < 0.6,
zlib >= 0.6.1.2 && < 0.8,
network-uri >= 2.6 && < 2.8,

View File

@@ -0,0 +1,67 @@
From 67bb87ceff53f0178c988dd4e15eeb2daee92b84 Mon Sep 17 00:00:00 2001
From: Gregor Kleen <pngwjpgh@users.noreply.github.com>
Date: Tue, 20 Feb 2018 17:46:24 +0100
Subject: [PATCH] Relax upper version bounds on dependencies
---
Setup.hs | 20 ++++++++++++++++----
encoding.cabal | 4 ++--
stack.yaml | 4 ++--
3 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/Setup.hs b/Setup.hs
index de719e6..fe5b84c 100644
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,13 +1,25 @@
+{-# LANGUAGE CPP #-}
+
module Main where
import Distribution.Simple
import Data.Encoding.Preprocessor.Mapping
import Data.Encoding.Preprocessor.XMLMappingBuilder
+#if MIN_VERSION_Cabal(2,0,0)
+main = defaultMainWithHooks (simpleUserHooks
+ {hookedPreProcessors = ( ("mapping" , \_ _ _ -> mappingPreprocessor)
+ : ("mapping2", \_ _ _ -> mappingPreprocessor)
+ : ("xml" , \_ _ _ -> xmlPreprocessor)
+ : (hookedPreProcessors simpleUserHooks)
+ )
+ })
+#else
main = defaultMainWithHooks (simpleUserHooks
- {hookedPreProcessors = (("mapping",\_ _ -> mappingPreprocessor)
- :("mapping2",\_ _ -> mappingPreprocessor)
- :("xml",\_ _ -> xmlPreprocessor)
- :(hookedPreProcessors simpleUserHooks)
+ {hookedPreProcessors = ( ("mapping" , \_ _ -> mappingPreprocessor)
+ : ("mapping2", \_ _ -> mappingPreprocessor)
+ : ("xml" , \_ _ -> xmlPreprocessor)
+ : (hookedPreProcessors simpleUserHooks)
)
})
+#endif
diff --git a/encoding.cabal b/encoding.cabal
index ec20617..f221715 100644
--- a/encoding.cabal
+++ b/encoding.cabal
@@ -36,7 +36,7 @@ Source-Repository this
Custom-Setup
Setup-Depends: base >=3 && <5,
- Cabal >=1.24 && <1.25,
+ Cabal >=1.24 && <2.1,
containers,
filepath,
ghc-prim,
@@ -51,7 +51,7 @@ Library
extensible-exceptions >=0.1 && <0.2,
ghc-prim >=0.3 && <0.6,
mtl >=2.0 && <2.3,
- regex-compat >=0.71 && <0.95
+ regex-compat >=0.71 && <0.96
Extensions: CPP

View File

@@ -0,0 +1,43 @@
diff -Naur ghc-paths-0.1.0.9/GHC/Paths.hs ghc-paths-0.1.0.9-new/GHC/Paths.hs
--- ghc-paths-0.1.0.9/GHC/Paths.hs 2012-12-16 13:53:45.720148396 +0100
+++ ghc-paths-0.1.0.9-new/GHC/Paths.hs 2012-12-16 17:22:12.765576568 +0100
@@ -1,13 +1,35 @@
{-# LANGUAGE CPP #-}
+{-# LANGUAGE ScopedTypeVariables #-}
module GHC.Paths (
ghc, ghc_pkg, libdir, docdir
) where
+import Control.Exception as E
+import Data.Maybe
+import System.Environment
+import System.IO.Unsafe
+
+-- Yes, there's lookupEnv now, but we want to be compatible
+-- with older GHCs.
+checkEnv :: String -> IO (Maybe String)
+checkEnv var = E.catch (fmap Just (getEnv var))
+ (\ (e :: IOException) -> return Nothing)
+
+nixLibdir, nixDocdir, nixGhc, nixGhcPkg :: Maybe FilePath
+nixLibdir = unsafePerformIO (checkEnv "NIX_GHC_LIBDIR")
+nixDocdir = unsafePerformIO (checkEnv "NIX_GHC_DOCDIR")
+nixGhc = unsafePerformIO (checkEnv "NIX_GHC")
+nixGhcPkg = unsafePerformIO (checkEnv "NIX_GHCPKG")
+{-# NOINLINE nixLibdir #-}
+{-# NOINLINE nixDocdir #-}
+{-# NOINLINE nixGhc #-}
+{-# NOINLINE nixGhcPkg #-}
+
libdir, docdir, ghc, ghc_pkg :: FilePath
-libdir = GHC_PATHS_LIBDIR
-docdir = GHC_PATHS_DOCDIR
+libdir = fromMaybe GHC_PATHS_LIBDIR nixLibdir
+docdir = fromMaybe GHC_PATHS_DOCDIR nixDocdir
-ghc = GHC_PATHS_GHC
-ghc_pkg = GHC_PATHS_GHC_PKG
+ghc = fromMaybe GHC_PATHS_GHC nixGhc
+ghc_pkg = fromMaybe GHC_PATHS_GHC_PKG nixGhcPkg

View File

@@ -0,0 +1,13 @@
diff --git a/Utility/FreeDesktop.hs b/Utility/FreeDesktop.hs
index 896b89b991..6cbb4f90ae 100644
--- a/Utility/FreeDesktop.hs
+++ b/Utility/FreeDesktop.hs
@@ -106,7 +106,7 @@ desktopfile f = toOsPath $ f ++ ".desktop"
{- Directory used for installation of system wide data files.. -}
systemDataDir :: OsPath
-systemDataDir = literalOsPath "/usr/share"
+systemDataDir = literalOsPath "/share"
{- Directory used for installation of system wide config files. -}
systemConfigDir :: OsPath

View File

@@ -0,0 +1,40 @@
diff --git a/Data/GraphViz/Commands.hs b/Data/GraphViz/Commands.hs
index 20e7dbe..514c29d 100644
--- a/Data/GraphViz/Commands.hs
+++ b/Data/GraphViz/Commands.hs
@@ -63,14 +63,14 @@ import System.IO (Handle, hPutStrLn, hSetBinaryMode, stderr)
-- -----------------------------------------------------------------------------
showCmd :: GraphvizCommand -> String
-showCmd Dot = "dot"
-showCmd Neato = "neato"
-showCmd TwoPi = "twopi"
-showCmd Circo = "circo"
-showCmd Fdp = "fdp"
-showCmd Sfdp = "sfdp"
-showCmd Osage = "osage"
-showCmd Patchwork = "patchwork"
+showCmd Dot = "@graphviz@/bin/dot"
+showCmd Neato = "@graphviz@/bin/neato"
+showCmd TwoPi = "@graphviz@/bin/twopi"
+showCmd Circo = "@graphviz@/bin/circo"
+showCmd Fdp = "@graphviz@/bin/fdp"
+showCmd Sfdp = "@graphviz@/bin/sfdp"
+showCmd Osage = "@graphviz@/bin/osage"
+showCmd Patchwork = "@graphviz@/bin/patchwork"
-- | The default command for directed graphs.
dirCommand :: GraphvizCommand
@@ -312,8 +312,11 @@ runGraphvizCanvas' d = runGraphvizCanvas (commandFor d) d
-- | Is the Graphviz suite of tools installed? This is determined by
-- whether @dot@ is available in the @PATH@.
+--
+-- Note: With nixpkgs, this will always return 'True' as graphviz'
+-- store paths are hardcoded instead of looking at @PATH@.
isGraphvizInstalled :: IO Bool
-isGraphvizInstalled = liftM isJust . findExecutable $ showCmd Dot
+isGraphvizInstalled = pure True -- :)
-- | If Graphviz does not seem to be available, print the provided
-- error message and then exit fatally.

View File

@@ -0,0 +1,52 @@
diff -rN -u old-mbox/Data/MBox/String.hs new-mbox/Data/MBox/String.hs
--- old-mbox/Data/MBox/String.hs 2022-11-22 19:14:52.332543098 +0100
+++ new-mbox/Data/MBox/String.hs 2022-11-22 19:14:52.332543098 +0100
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
-----------------------------------------------------------------------------
{- |
@@ -31,7 +32,11 @@
-- | Reads a date header as a UTCTime
parseDateHeader :: String -> Maybe UTCTime
parseDateHeader header = listToMaybe . catMaybes $ map tryParse formats where
+#if MIN_VERSION_time(1,9,0)
+ tryParse f = parseTimeM True LC.defaultTimeLocale f header
+#else
tryParse f = parseTime LC.defaultTimeLocale f header
+#endif
formats =
[ "%a, %_d %b %Y %T %z"
, "%a, %_d %b %Y %T %Z"
diff -rN -u old-mbox/Data/MBox.hs new-mbox/Data/MBox.hs
--- old-mbox/Data/MBox.hs 2022-11-22 19:14:52.332543098 +0100
+++ new-mbox/Data/MBox.hs 2022-11-22 19:14:52.332543098 +0100
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
{-# LANGUAGE ViewPatterns #-}
-----------------------------------------------------------------------------
@@ -34,7 +35,11 @@
parseDateHeader :: T.Text -> Maybe UTCTime
parseDateHeader txt = listToMaybe . catMaybes $ map tryParse formats where
header = T.unpack txt
+#if MIN_VERSION_time(1,9,0)
+ tryParse f = parseTimeM True LC.defaultTimeLocale f header
+#else
tryParse f = parseTime LC.defaultTimeLocale f header
+#endif
formats =
[ "%a, %_d %b %Y %T %z"
, "%a, %_d %b %Y %T %Z"
diff -rN -u old-mbox/mbox.cabal new-mbox/mbox.cabal
--- old-mbox/mbox.cabal 2022-11-22 19:14:52.332543098 +0100
+++ new-mbox/mbox.cabal 2022-11-22 19:14:52.332543098 +0100
@@ -13,7 +13,7 @@
Cabal-Version: >= 1.6
library
- build-depends: base >= 4, base < 6, safe, time < 1.9, time-locale-compat, text
+ build-depends: base >= 4, base < 6, safe, time, time-locale-compat, text
exposed-modules: Data.MBox, Data.MBox.String
ghc-options: -Wall

View File

@@ -0,0 +1,137 @@
From ae9f8db059b6093092f6bd5155d55557c0892a4e Mon Sep 17 00:00:00 2001
From: Markus Theil <theil.markus@gmail.com>
Date: Sat, 5 Oct 2024 11:44:45 +0200
Subject: [PATCH] regenerate test certificate to work with OpenSSL security
level 2
Signed-off-by: Markus Theil <theil.markus@gmail.com>
---
test/cert.pem | 43 ++++++++++++++++++++++++---------
test/key.pem | 67 +++++++++++++++++++++++++++++++++++++++------------
2 files changed, 83 insertions(+), 27 deletions(-)
diff --git a/test/cert.pem b/test/cert.pem
index 13a87f5..a9dd418 100644
--- a/test/cert.pem
+++ b/test/cert.pem
@@ -1,14 +1,33 @@
-----BEGIN CERTIFICATE-----
-MIICOzCCAaQCCQChUcwtek3F7DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQGEwJD
-SDEPMA0GA1UECAwGWnVyaWNoMQ8wDQYDVQQHDAZadXJpY2gxFzAVBgNVBAoMDlNu
-YXAgRnJhbWV3b3JrMRgwFgYDVQQDDA9HcmVnb3J5IENvbGxpbnMwHhcNMTAxMjEx
-MTk1MjA0WhcNMzgwNDI3MTk1MjA0WjBiMQswCQYDVQQGEwJDSDEPMA0GA1UECAwG
-WnVyaWNoMQ8wDQYDVQQHDAZadXJpY2gxFzAVBgNVBAoMDlNuYXAgRnJhbWV3b3Jr
-MRgwFgYDVQQDDA9HcmVnb3J5IENvbGxpbnMwgZ8wDQYJKoZIhvcNAQEBBQADgY0A
-MIGJAoGBAMcWrmVJ0xn3JcKf+b8Y+Bs+rRacodl/R+N7UJXTyfkByB7bzN6VR2h8
-oRYJu7DhETs/w4o/Af9vNwsJBJVovcbV6FAAbl45TMDq2QZVtPwwTDi8R52QbRIR
-WBxge3aHeMUz1hV32iMzGPVe4jKSaO2KcbVOFphwc8VmA59GvShfAgMBAAEwDQYJ
-KoZIhvcNAQEFBQADgYEAXsRchaVlL4RP5V+r1npL7n4W3Ge2O7F+fQ2dX6tNyqeo
-tMAdc6wYahg3m+PejWASVCh0vVEjBx2WYOMRPsmk/DYLUi4UwZYPrvZtbfSbMrD+
-mYmZhqCDM4316qAg5OwcTON3+VZXMwbXCVM+vUCvZIw4xh6ywNjvuQjCzy7oKMg=
+MIIFpTCCA42gAwIBAgIUJuFs2fMmpGUlm+CT7l6v2LdnpeEwDQYJKoZIhvcNAQEL
+BQAwYjELMAkGA1UEBhMCQ0gxDzANBgNVBAgMBlp1cmljaDEPMA0GA1UEBwwGWnVy
+aWNoMRcwFQYDVQQKDA5TbmFwIEZyYW1ld29yazEYMBYGA1UEAwwPR3JlZ29yeSBD
+b2xsaW5zMB4XDTI0MTAwNTA5NDM1NFoXDTQ0MDkzMDA5NDM1NFowYjELMAkGA1UE
+BhMCQ0gxDzANBgNVBAgMBlp1cmljaDEPMA0GA1UEBwwGWnVyaWNoMRcwFQYDVQQK
+DA5TbmFwIEZyYW1ld29yazEYMBYGA1UEAwwPR3JlZ29yeSBDb2xsaW5zMIICIjAN
+BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA26OMdBRG9IybxVYY49z5xp4adabK
+QKMgBctSbY9+AXQ8dR0mPswQRMNG0upQyJJPTFXUBvKr2N2K00XbWIMifwhCfkBo
+9/JsOuQLNH1Dc627/amx9fuRrJJBnVUOZ9YOg9ytjaItXQ0rngv+lz8EH8IL8SB5
+AQJr+MRRNr5JD44+/+au3oyL3eoDkb/MT3y2dyUCX7Kuk49h5iiTsPDp6DLQLxl2
+YegJNh67qrw0gBSjhB0s0Yv7EqVeKTNEx89SkIdOSXh+S3Sf1foAU0Aq3v0a6aIh
+MLrN5Fo3TjQbhF9mlRjYZOM7HbrZsz7X6t77y9Ac4lgFWhbrCdtKFnwP3X1qHAou
+jfzwmnC7Z7h7rzoS0opjE29UcuOPaA7Jw/rbl3SpAab1UVVhOdMxvkJ+gshdJT8W
+uAoovhuyhtimM7l4vkwPqSD5y+h+zNiW5Lx1H1kAsyHeQ8zOI/wnuW4VjvhUb/Q+
+LZWXmzEBZdGXZloj11py6B3b83atHU+R2LZQnDhnjU15JBG7WN7/anExz3Q7rRfs
+oYHa5qoV+sol53VIJDj+6nsJGfbr1WAonLxDOc8B3E7uu6fGSLeoTZj+hKCZhhsD
+1jnlGG1skpYqf+ECXgq8TGlFRjn6ae3Z7Tq/UFu0a+cbsHHBSUwKG17mtaaqbDeY
+8kWUWNDKtUSewb0CAwEAAaNTMFEwHQYDVR0OBBYEFDj0ry4aPDK4/pbxzbLdUrtN
+4EuXMB8GA1UdIwQYMBaAFDj0ry4aPDK4/pbxzbLdUrtN4EuXMA8GA1UdEwEB/wQF
+MAMBAf8wDQYJKoZIhvcNAQELBQADggIBACct1UKUYYORYcjV96HuPVQSN00iLLUj
+C2QWfF2rF6sToX46oEHfwtIpBT3kATB2G8Ltt5OBohek0eLpGIaJyMYlhiRb6ubz
+O8jcgD2d0FKEBAIEYK+UvuKakWKY3C72zNzL89KOkCqS5o8dYXhMtxPi/ncAdyUa
+jIKHhZx1gYIkaYRVgnnLk4NrpIH3WZmwGj5y/k8ha4vvbfg4pf04FAWliqmD+30E
+qyF0GtxhVN7ZffEn610i9DCsxQet5DiThlZMB9gSZK0VqvTdaKR7qmAohEe5mKBr
+/MbERm8E36B1sW3uGTJLu/irFZtoez2IYNBJaatkKjk3bv+cHKV3E/VTKMMKFtLS
+poLtaAZpuLr4Lg1RS1dCU2f6NaNYuKl30ROAf8ro++8Rnn1WMVc+8x3EhyMJzJYT
++NLnB+8PnoOj2jkc0lY+AqbwSREIivRoN1frbqHfsyZc8Mkds1FUCHLun77LMBVi
+HwmG1frnJ6X9actf1sQqXSqD0URenqTpZSu8YKAkhH3oaKm5I0IyYUeynCk1ck8G
+PyiRk2sj4II7nrzZOCJSJsgDweZdqoul3qKki4V/4+sMgmsAIHJYy/nCwl1HThQ8
+XY15cF3dnf1bcly1ooj7bL4DrPuG1oWpzDIlIkJ+ZTsPrKK3/Vy2pUkklKowmq3w
+qHcAZ2oKVR1s
-----END CERTIFICATE-----
diff --git a/test/key.pem b/test/key.pem
index 3db6603..ef99b04 100644
--- a/test/key.pem
+++ b/test/key.pem
@@ -1,15 +1,52 @@
------BEGIN RSA PRIVATE KEY-----
-MIICXgIBAAKBgQDHFq5lSdMZ9yXCn/m/GPgbPq0WnKHZf0fje1CV08n5Acge28ze
-lUdofKEWCbuw4RE7P8OKPwH/bzcLCQSVaL3G1ehQAG5eOUzA6tkGVbT8MEw4vEed
-kG0SEVgcYHt2h3jFM9YVd9ojMxj1XuIykmjtinG1ThaYcHPFZgOfRr0oXwIDAQAB
-AoGBAIr+p9UpfIvFRASkYd3sFdQXpwqBYnIR7ePBBVsFWR5TAx+gP2ErAYbOdDyJ
-oRN1nu0psGBFaySlxd0bd6rETLFXMWbA0uDJcqASrlsOhsbhgPH7aExYfAi7eX8h
-FAwD//j2E1sS6WvNWu0YANKR2yrM9R0vcbt0GF7hlmyV7lhRAkEA+6DCI6nfbdvR
-jkvaxzOdC9jY/eBI9a4BbyjPLUSlTuQsGrp6s0Sj1LOQscItzqkPSutugM3f1dlG
-lqq31/fnqQJBAMqMOknRBlOZY8DBfCorvNXAjIenoqlqE1D4yTL+tE5C3zEyvTcF
-jPAaX220vf1OkL1bX4jKUxx8uXIqiYND9McCQQCWoWWWc9qMqUqJJF+TYBJjRSyg
-zeLfL4ssQAHF15Id5/l/BqLtLenlKpkz0EobrJi7ALTl5lhYa/kVuJzVbFIBAkEA
-shE17U9mUHi5yexQTILHMORmp5wo1Of8s2ME/2ANBACmV4pT7ttiXHPTEY+kt90q
-Qk7iXlABYToFjuj2nABSYQJAO6W9P18mM2p6vkiBuNReW6VN/ftYqq5TLK3hXh2Q
-0d5v0eW9ce7CiQueH5kxq44EVVTIDiVLe2pk+BQIntMC8w==
------END RSA PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+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
+F3fTQNKQ93zJWtUhTUSPO2BzPnZh8UE=
+-----END PRIVATE KEY-----
--
2.46.0

View File

@@ -0,0 +1,12 @@
diff --git a/src/Control/PatternArrows.hs b/src/Control/PatternArrows.hs
index d382c19..0b067dd 100644
--- a/src/Control/PatternArrows.hs
+++ b/src/Control/PatternArrows.hs
@@ -23,6 +23,7 @@ import qualified Control.Category as C
import Control.Category ((>>>))
import qualified Control.Arrow as A
import Control.Arrow ((***), (<+>))
+import Data.Function (fix)
-- |
-- A first-order pattern match

View File

@@ -0,0 +1,31 @@
diff -Naurd PortMidi-0.2.0.0/portmidi/pm_linux/pmlinuxalsa.c PortMidi-0.2.0.0-alsafix/portmidi/pm_linux/pmlinuxalsa.c
--- PortMidi-0.2.0.0/portmidi/pm_linux/pmlinuxalsa.c 2023-12-13 11:35:12.517413022 +0000
+++ PortMidi-0.2.0.0-alsafix/portmidi/pm_linux/pmlinuxalsa.c 2023-12-13 11:35:12.565413037 +0000
@@ -719,6 +719,18 @@
}
+static void set_alsa_plugin_path( void )
+{
+ char *existing;
+
+ existing = getenv("ALSA_PLUGIN_DIR");
+ if (NULL != existing) {
+ return;
+ }
+ setenv("ALSA_PLUGIN_DIR", "@alsa_plugin_dir@", 0);
+}
+
+
PmError pm_linuxalsa_init( void )
{
int err;
@@ -726,6 +738,8 @@
snd_seq_port_info_t *pinfo;
unsigned int caps;
+ set_alsa_plugin_path();
+
/* Previously, the last parameter was SND_SEQ_NONBLOCK, but this
* would cause messages to be dropped if the ALSA buffer fills up.
* The correct behavior is for writes to block until there is

View File

@@ -0,0 +1,8 @@
--- a/Setup.hs 2021-02-04 14:01:09.557970245 +0100
+++ b/Setup.hs 2021-02-04 14:07:45.047443753 +0100
@@ -3,4 +3,4 @@
import Distribution.Simple
main :: IO ()
-main = defaultMainWithHooks defaultUserHooks
+main = defaultMainWithHooks autoconfUserHooks

View File

@@ -0,0 +1,19 @@
diff -rN -u old-regex-compat-tdfa/Text/Regex.hs new-regex-compat-tdfa/Text/Regex.hs
--- old-regex-compat-tdfa/Text/Regex.hs 2022-02-20 13:42:36.828752458 +0100
+++ new-regex-compat-tdfa/Text/Regex.hs 2022-02-20 13:42:36.828752458 +0100
@@ -139,7 +139,7 @@
splitRegex :: Regex -> String -> [String]
splitRegex _ [] = []
splitRegex delim strIn =
- let matches = map (!0) (matchAll delim strIn)
+ let matches = map (! 0) (matchAll delim strIn)
go _i str [] = str : []
go i str ((off,len):rest) =
let i' = off+len
@@ -194,4 +194,4 @@
then [firstline,""]
else firstline : loop remainder
--}
\ No newline at end of file
+-}

View File

@@ -0,0 +1,75 @@
diff --git a/servant-client-core.cabal b/servant-client-core.cabal
index 5789da601..3faf65bb4 100644
--- a/servant-client-core.cabal
+++ b/servant-client-core.cabal
@@ -96,6 +96,7 @@ test-suite spec
main-is: Spec.hs
other-modules:
Servant.Client.Core.Internal.BaseUrlSpec
+ Servant.Client.Core.RequestSpec
-- Dependencies inherited from the library. No need to specify bounds.
build-depends:
diff --git a/src/Servant/Client/Core/Request.hs b/src/Servant/Client/Core/Request.hs
index 73756e702..0276d46f8 100644
--- a/src/Servant/Client/Core/Request.hs
+++ b/src/Servant/Client/Core/Request.hs
@@ -64,8 +64,32 @@ data RequestF body path = Request
, requestHeaders :: Seq.Seq Header
, requestHttpVersion :: HttpVersion
, requestMethod :: Method
- } deriving (Generic, Typeable, Eq, Show, Functor, Foldable, Traversable)
+ } deriving (Generic, Typeable, Eq, Functor, Foldable, Traversable)
+instance (Show a, Show b) =>
+ Show (Servant.Client.Core.Request.RequestF a b) where
+ showsPrec p req
+ = showParen
+ (p >= 11)
+ ( showString "Request {requestPath = "
+ . showsPrec 0 (requestPath req)
+ . showString ", requestQueryString = "
+ . showsPrec 0 (requestQueryString req)
+ . showString ", requestBody = "
+ . showsPrec 0 (requestBody req)
+ . showString ", requestAccept = "
+ . showsPrec 0 (requestAccept req)
+ . showString ", requestHeaders = "
+ . showsPrec 0 (redactSensitiveHeader <$> requestHeaders req))
+ . showString ", requestHttpVersion = "
+ . showsPrec 0 (requestHttpVersion req)
+ . showString ", requestMethod = "
+ . showsPrec 0 (requestMethod req)
+ . showString "}"
+ where
+ redactSensitiveHeader :: Header -> Header
+ redactSensitiveHeader ("Authorization", _) = ("Authorization", "<REDACTED>")
+ redactSensitiveHeader h = h
instance Bifunctor RequestF where bimap = bimapDefault
instance Bifoldable RequestF where bifoldMap = bifoldMapDefault
instance Bitraversable RequestF where
diff --git a/test/Servant/Client/Core/RequestSpec.hs b/test/Servant/Client/Core/RequestSpec.hs
new file mode 100644
index 000000000..99a1db7d3
--- /dev/null
+++ b/test/Servant/Client/Core/RequestSpec.hs
@@ -0,0 +1,19 @@
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# LANGUAGE OverloadedStrings #-}
+module Servant.Client.Core.RequestSpec (spec) where
+
+
+import Prelude ()
+import Prelude.Compat
+import Control.Monad
+import Data.List (isInfixOf)
+import Servant.Client.Core.Request
+import Test.Hspec
+
+spec :: Spec
+spec = do
+ describe "Request" $ do
+ describe "show" $ do
+ it "redacts the authorization header" $ do
+ let request = void $ defaultRequest { requestHeaders = pure ("authorization", "secret") }
+ isInfixOf "secret" (show request) `shouldBe` False

View File

@@ -0,0 +1,86 @@
diff -Naurw sexpr-0.2.1/Codec/Sexpr/Internal.hs sexpr-0.2.1-patched/Codec/Sexpr/Internal.hs
--- sexpr-0.2.1/Codec/Sexpr/Internal.hs 2009-04-30 00:51:06.000000000 +0200
+++ sexpr-0.2.1-patched/Codec/Sexpr/Internal.hs 2018-08-03 01:38:08.000000000 +0200
@@ -62,11 +62,6 @@
return $ List []]
arbSexpr n = oneof [Atom <$> arbitrary,
List <$> (resize (n `div` 2) arbitrary)]
- coarbitrary (Atom s) = variant 0 . coarbitrary s
- coarbitrary (HintedAtom h s) = variant 1 . coarbitrary_h . coarbitrary s
- where coarbitrary_h =
- foldr (\a b -> variant (ord a) . variant 1 . b) (variant 0) h
- coarbitrary (List ss) = variant 2 . coarbitrary ss
-- |@fold f s@ applies f to each sub-S-expression of s, from each leaf
-- to the root. @f@ need not preserve the shape of @s@, in contrast
diff -Naurw sexpr-0.2.1/Codec/Sexpr/Printer.hs sexpr-0.2.1-patched/Codec/Sexpr/Printer.hs
--- sexpr-0.2.1/Codec/Sexpr/Printer.hs 2009-04-30 00:51:06.000000000 +0200
+++ sexpr-0.2.1-patched/Codec/Sexpr/Printer.hs 2018-08-03 01:41:56.000000000 +0200
@@ -1,4 +1,4 @@
-{-# LANGUAGE FlexibleInstances, OverlappingInstances #-}
+{-# LANGUAGE FlexibleInstances #-}
-- | Export S-expressions in any of the three ordinary forms:
--
@@ -17,6 +17,8 @@
module Codec.Sexpr.Printer where
+import Prelude hiding ((<>))
+
import Codec.Sexpr.Internal
import Data.Binary.Put
@@ -30,7 +32,7 @@
instance Show (Sexpr String) where
show s = advancedString s
-instance Show s => Show (Sexpr s) where
+instance {-# OVERLAPPABLE #-} Show s => Show (Sexpr s) where
show s = advancedString $ fmap show s
raw :: String -> String -> String
diff -Naurw sexpr-0.2.1/Codec/Sexpr/Tests.hs sexpr-0.2.1-patched/Codec/Sexpr/Tests.hs
--- sexpr-0.2.1/Codec/Sexpr/Tests.hs 2009-04-30 00:51:06.000000000 +0200
+++ sexpr-0.2.1-patched/Codec/Sexpr/Tests.hs 2018-08-03 01:46:32.000000000 +0200
@@ -67,11 +67,9 @@
instance Arbitrary B.ByteString where
arbitrary = B.pack `fmap` arbitrary
- coarbitrary = undefined
instance Arbitrary Char where
arbitrary = choose (32,255) >>= \n -> return (chr n)
- coarbitrary n = variant (ord n)
main :: IO ()
diff -Naurw sexpr-0.2.1/sexpr.cabal sexpr-0.2.1-patched/sexpr.cabal
--- sexpr-0.2.1/sexpr.cabal 2018-08-03 01:36:11.000000000 +0200
+++ sexpr-0.2.1-patched/sexpr.cabal 2018-08-03 01:49:13.000000000 +0200
@@ -13,23 +13,9 @@
maintainer: bts@evenmere.org
build-type: Simple
-flag testing
- description: build test executable
- default: False
-
library
- if flag(testing)
- ghc-options: -Wall
- Build-Depends: base, base64-string, pretty, bytestring, binary
+ Build-Depends: base, base64-string, pretty, bytestring, binary, QuickCheck
Exposed-modules: Codec.Sexpr
-
-executable sexpr-test
- if !flag(testing)
- buildable: False
- ghc-options: -Wall
- main-is: Codec/Sexpr/Tests.hs
- other-modules: Codec.Sexpr
- Codec.Sexpr.Parser
+ other-modules: Codec.Sexpr.Parser
Codec.Sexpr.Printer
Codec.Sexpr.Internal
- build-depends: QuickCheck, random

View File

@@ -0,0 +1,16 @@
diff --git a/System/Xattr.hsc b/System/Xattr.hsc
index adaf9cb..9b49996 100644
--- a/System/Xattr.hsc
+++ b/System/Xattr.hsc
@@ -45,11 +45,7 @@ module System.Xattr
where
#include <sys/types.h>
-#ifdef __APPLE__
#include <sys/xattr.h>
-#else
-#include <attr/xattr.h>
-#endif
import Data.Functor ((<$>))
import Foreign.C