mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-11-04 21:37:45 +00:00
* WIP: Haskell impl of resizeImageToStrSize * WIP: add FFI export wrapper * WIP: switch ios resizeImageToStrSizeSync to backend * WIP: fix resizeImageToStrSizeSync * WIP: add JNI wrappers * Add non-base64 resize and cWriteImage * WIP: add chat_write_image * fix resizeToStr * fixes * fix syntax, raise jpeg quality back * add chatWriteImage * Fix cfArgs in tests * Use jpeg-turbo encoder * add nix pins * bump jpeg-turbo * add CI deps * add encoding funs to android lib * bump jpeg-turbo for 20.04 fix * jpeg-turbo fix for 8.10 * android fixes * Bump jpeg-turbo * set static flag for jpeg-turbo * Fix nix for aarch64/android * Fix android C api * Fix resize in android * Bump hs-libjpeg-turbo * target correct override * override android lib from android pkgs * add macos build tweaks * bump hs-jpeg-turbo for 8.10 fixes * more build fixes * make ios compile * Always use pkgconfig for libjpeg-turbo * WIP: debug libjpeg in ubuntu pkg-config CI * Add pkg-config to dockerfiles * Add libturbojpeg to dockerfiles * Use -dev version of libturbojpeg in dockerfiles * Install pkg-config in windows CI * Disable flag for custom libturbojpeg linking options Workarounds relocation error on x86_64-linux with gcc: /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/libturbojpeg.a(turbojpeg.c.o): relocation R_X86_64_TPOFF32 against `errStr' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: failed to set dynamic section sizes: bad value * WIP: debug libjpeg in windows pkg-config CI * WIP: debug libjpeg package in windows CI * core: image resize module and buffer FFI * ci: link libjpeg-turbo statically on all platforms * ui: resize images in the core * core: rename image resize functions to chat_resize_image and chat_resize_image_uri * ci: restore whitespace in build.yml * ci: build libjpeg-turbo 3.1.4.1 from a submodule * core: hs-jpeg-turbo from github.com/simplex-chat * nodejs: resize images * python: resize images * core: hs-jpeg-turbo from gitlab.com, the GitHub import lacks LFS objects * core: generate /img previews * ci: link libjpeg-turbo on Windows without pkg-config * ci: build libjpeg-turbo on Windows with the GHC toolchain * docs: plan for image resizing in the core * docs: update image resizing plan * ios: prevent crash when wallpaper image cannot be resized * android, desktop: raise an error when an image cannot be resized * docs: update spec references for image resizing * docker: build the CLI image from a clone without submodules * docs: apply review fixes to image resizing plan * docker: build the CLI from a git worktree with the submodule present * docs: apply second review to image resizing plan * docs: point image resizing plan at the rewritten commit * core: choose image format by transparency in chat_resize_image * nodejs: resize images to the app sizes * python: resize images to the app sizes * nodejs, python: describe the core modules as used for image resizing * docs: add license notices of the image libraries * ci: describe the avatar method without attributing it to the apps * ci, ios, nix: remove the libjpeg-turbo build outside cabal * python: name resize_image in the core module text * nodejs, python: describe resizing to the app image sizes * core: refuse images larger than the supported size * core: resize to JPEG images with a side above 65500 pixels * docs: record image resizing decisions for the bundled libjpeg-turbo * core, docs: build libjpeg-turbo and stb from the fork submodules * docs: record the fork pins in the image resizing plan * core: resize images to at most 4320 pixels per side, refuse above 16384 * docs: record the image side limits in the image resizing plan * core: pin the rebased hs-jpeg-turbo fork * core: pin the hs-jpeg-turbo fork without package.yaml * docs: plan scaled JPEG decoding and EXIF orientation of images * docs: copy the JuicyPixels-stbir licence of the pinned fork * core: pin the hs-jpeg-turbo fork with scaled JPEG decoding * core: decode JPEG at the display size, up to 65500 pixels per side * core: rotate JPEG images by their EXIF orientation * docs: refer the image plan to the JPEG decoding code * docs: record the approved image processing decisions * core: limit JPEG decoding memory to 1024 MB outside iOS and Android * docs: name JPEG decoding in the libjpeg-turbo notice * docs: plan image resizing from files and the decisions of 26 Oct * core: scale images in one Catmull-Rom pass with sharpening * docs: plan image sizes at a fixed quality * core: resize images at a fixed quality to fill the size limit * core: resize images from a file path or a file descriptor * ios, android, desktop: resize picked images from their files * core: encode resized images with mozjpeg * tests: check descriptor closing by the file it refers to * core: raise JPEG quality only for a full-size image below 97% of the limit * ci: name the mozjpeg submodule in the Windows cleanup comments * docs: refer the image plan to the current code * docs: refer the image plan to the code merged with master * core: export every image resizing function from each library * core: close the file descriptor when its handle cannot be created * docs: count the C sources of mozjpeg with the arithmetic decoder * core: use the reviewed hs-jpeg-turbo and JuicyPixels-stbir forks * ci: build the armv7a Android core library on request * core: round image heights half up in the size search * ios: describe the file image resizing functions in SimpleX.h * ci: pick, preview and send images in the Claude app tests * core: decode PNG images with libspng and refuse other formats * core: encode PNG with libspng, keeping the smaller filter choice * ci: pick, preview and send images in the scripted app smoke tests * flake: build the PNG decoder package in nix builds * ios: remove the copy of a picked image after sending it * core: refuse image files larger than the decode memory limit * core: scale a JPEG image to its largest size once per resize * core: bisect JPEG quality without a step function * core: reduce the memory used to sharpen and to decode PNG images * android, desktop: pass the image format to the core as an integer * android, desktop: fuse the preview conditions of picked media * android, desktop, ci: check that the core resized the smoke test images * python: remove the docstrings of the explicit image resizing functions * docs: add the second review fixes to the image plan * ci: tap the iOS attachment button by its accessibility label * core: keep the colour profiles of resized images * docs: add the colour profiles to the image plan * ci: wait up to 30 s for the new group screens in the iOS smoke test * ci: pick the Android smoke test images from their own photo folders * ci: tap the iOS photo picker by position, as its tree is not shown * ci: pick the test card and the logo by their iOS picker positions * core: update JuicyPixels-stbir with the stb_image_resize licence terms * core: write a fixed Display P3 profile for Display P3 images only * core: do not keep the input image in memory for its colour profile * core: read the JPEG segments once for the orientation and the profile * core: read an image file into one buffer of its size * docs: add the third review fixes to the image plan * core: resize images with Display P3 or no profile, not profile bytes * ci: check the pixel sizes of the images sent in the iOS smoke test * core: update hs-jpeg-turbo with PNG chunk limits and encoder fixes * docs: list Compact ICC Profiles, libspng and miniz in the dependencies * android, desktop: reword the picked media preview comment * docs: refer the image plan to the code merged with master * ci: render the iOS snapshots before the images case * ci: dismiss the snapshot tests' camera alert before the iOS images case * core: update hs-jpeg-turbo with tests and the JuicyPixels-spng synopsis * core: pin hs-jpeg-turbo and JuicyPixels-stbir in simplex-chat repositories * update ios core library * core, ui: accept only JPEG and PNG image data * core: update JuicyPixels-stbir * docs: plan for the iOS copy of picked images --------- Co-authored-by: IC Rainbow <aenor.realm@gmail.com> Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com> Co-authored-by: Alexandre Esteves <alexfmpe@proton.me>
43 KiB
43 KiB
Dependency License Report
Bold-faced **package-name**s denote standard libraries bundled with ghc-9.6.3.
Direct dependencies of simplex-chat:exe:simplex-chat
| Name | Version | SPDX License Id | Description | Also depended upon by |
|---|---|---|---|---|
base |
4.18.1.0 |
BSD-3-Clause |
Basic libraries | (core library) |
base64-bytestring |
1.2.1.0 |
BSD-3-Clause |
Fast base64 encoding and decoding for ByteStrings | simplexmq, websockets |
bytestring |
0.11.5.2 |
BSD-3-Clause |
Fast, compact, strict and lazy byte strings with a list interface | JuicyPixels, JuicyPixels-jpeg-turbo, JuicyPixels-spng, SHA, aeson, appar, asn1-encoding, asn1-parse, asn1-types, attoparsec, base64-bytestring, binary, bitvec, blaze-builder, blaze-textual, bytestring-builder, case-insensitive, cereal, conduit, conduit-extra, cryptohash-md5, cryptohash-sha1, crypton, crypton-x509, crypton-x509-store, crypton-x509-validation, cryptostore, digest, direct-sqlcipher, email-validate, entropy, fast-logger, file-embed, filepath, hashable, http-types, http2, integer-conversion, iproute, jpeg-turbo, libyaml, memory, monad-logger, mono-traversable, network, network-byte-order, network-transport, network-udp, parsec, pem, random, scientific, simplexmq, socks, sqlcipher-simple, streaming-commons, strict, terminal, text, text-short, tls, typed-process, unix, unix-time, unliftio, uuid, uuid-types, vector-algorithms, websockets, yaml, zip, zlib, zstd |
composition |
1.0.2.2 |
BSD-3-Clause |
Combinators for unorthodox function composition | simplexmq |
constraints |
0.14 |
BSD-2-Clause |
Constraint manipulation | simplexmq |
containers |
0.6.7 |
BSD-3-Clause |
Assorted concrete container types | JuicyPixels, QuickCheck, aeson, attoparsec, bifunctors, binary, cereal, comonad, crypton-x509, crypton-x509-store, crypton-x509-validation, data-default-instances-containers, hashable, http2, indexed-traversable, iproute, mono-traversable, network-udp, resourcet, scientific, semialign, semigroupoids, simplexmq, sqlcipher-simple, th-abstraction, websockets, witherable, yaml, zip |
crypton |
0.34 |
BSD-3-Clause |
Cryptography Primitives sink | crypton-x509, crypton-x509-store, crypton-x509-validation, cryptostore, simplexmq, tls |
uuid |
1.3.15 |
BSD-3-Clause |
For creating, comparing, parsing and printing Universally Unique Identifiers | |
directory |
1.3.8.1 |
BSD-3-Clause |
Platform-agnostic library for filesystem operations | conduit, conduit-extra, crypton-x509-store, easy-file, fast-logger, file-embed, network, process, simplexmq, streaming-commons, temporary, unliftio, yaml, zip |
direct-sqlcipher |
2.3.28 |
MISSING | MISSING | simplexmq, sqlcipher-simple |
data-default |
0.7.1.1 |
BSD-3-Clause |
A class for types with a default value | simplexmq |
exceptions |
0.10.7 |
BSD-3-Clause |
Extensible optionally-pure exceptions | aeson, conduit, filepath, monad-logger, resourcet, safe-exceptions, sqlcipher-simple, temporary, terminal, zip |
filepath |
1.4.100.4 |
BSD-3-Clause |
Library for manipulating FilePaths in a cross platform way. | conduit, conduit-extra, crypton-x509-store, directory, easy-file, fast-logger, file-embed, hashable, process, simplexmq, temporary, unix, unliftio, yaml, zip |
file-embed |
0.0.15.0 |
BSD-2-Clause |
Use Template Haskell to embed file contents directly. | |
http-types |
0.12.4 |
BSD-3-Clause |
Generic HTTP types for Haskell (for both client and server code). | http2, simplexmq |
http2 |
5.0.0 |
BSD-3-Clause |
HTTP/2 library | simplexmq |
JuicyPixels |
3.3.8 |
BSD-3-Clause |
Picture loading/serialization (in png, jpeg, bitmap, gif, tga, tiff and radiance) | JuicyPixels-jpeg-turbo, JuicyPixels-spng, JuicyPixels-stbir |
JuicyPixels-jpeg-turbo |
0.1.0.0 |
BSD-3-Clause |
JuicyPixels wrappers for mozjpeg | |
JuicyPixels-spng |
0.1.0.0 |
BSD-3-Clause AND BSD-2-Clause AND libpng-2.0 AND MIT |
JuicyPixels wrappers for libspng | |
JuicyPixels-stbir |
0.1.0.0 |
BSD-3-Clause AND (MIT OR Unlicense) |
Scale JuicyPixels images with stb_image_resize | |
email-validate |
2.3.2.19 |
BSD-3-Clause |
Email address validation | |
memory |
0.18.0 |
BSD-3-Clause |
memory and related abstraction stuff | asn1-types, crypton, crypton-x509, crypton-x509-validation, cryptostore, pem, simplexmq, tls |
mtl |
2.3.1 |
BSD-3-Clause |
Monad classes for transformers, using functional dependencies | JuicyPixels, conduit, constraints, crypton-x509-store, crypton-x509-validation, exceptions, monad-logger, parsec, random, resourcet, simple-logger, simplexmq, tls, yaml, zip |
unliftio |
0.2.25.0 |
MIT |
The MonadUnliftIO typeclass for unlifting monads to IO (batteries included) | http2, simplexmq, time-manager |
unliftio-core |
0.2.1.0 |
MIT |
The MonadUnliftIO typeclass for unlifting monads to IO | conduit, conduit-extra, monad-logger, resourcet, simplexmq, typed-process, unliftio |
ansi-terminal |
1.0 |
BSD-3-Clause |
Simple ANSI terminal support | prettyprinter-ansi-terminal |
network |
3.1.4.0 |
BSD-3-Clause |
Low-level networking interface | conduit-extra, http2, iproute, network-udp, simplexmq, socks, streaming-commons, tls, websockets |
network-transport |
0.5.6 |
BSD-3-Clause |
Network abstraction layer | simplexmq |
process |
1.6.17.0 |
BSD-3-Clause |
Process libraries | conduit-extra, optparse-applicative, simplexmq, streaming-commons, typed-process, unliftio |
optparse-applicative |
0.18.1.0 |
BSD-3-Clause |
Utilities and combinators for parsing command line options | simplexmq |
record-hasfield |
1.0 |
BSD-3-Clause |
A version of GHC.Records as available in future GHCs. | |
random |
1.2.1.1 |
BSD-3-Clause |
Pseudo-random number generation | QuickCheck, simplexmq, streaming-commons, temporary, uuid, uuid-types, websockets |
socks |
0.6.1 |
BSD-3-Clause |
Socks proxy (ver 5) | simplexmq |
scientific |
0.3.7.0 |
BSD-3-Clause |
Numbers represented using scientific notation | aeson, attoparsec, yaml |
simple-logger |
0.1.1 |
MIT |
A very simple but efficient logging framework | simplexmq |
simplexmq |
6.4.0.1 |
MISSING | MISSING | |
aeson |
2.2.1.0 |
BSD-3-Clause |
Fast JSON parsing and encoding | simplexmq, yaml |
sqlcipher-simple |
0.4.18.1 |
MISSING | MISSING | simplexmq |
stm |
2.5.1.0 |
BSD-3-Clause |
Software Transactional Memory | StateVar, async, conduit-extra, exceptions, fast-logger, http2, monad-control, monad-logger, simplexmq, stm-chans, streaming-commons, terminal, transformers-base, typed-process, unliftio |
async |
2.2.5 |
BSD-3-Clause |
Run IO operations asynchronously and wait for their results | conduit-extra, http2, simplexmq, streaming-commons, terminal, tls, typed-process, unliftio, websockets |
template-haskell |
2.20.0.0 |
BSD-3-Clause |
Support library for Template Haskell | OneTuple, QuickCheck, aeson, bifunctors, bytestring, containers, email-validate, exceptions, file-embed, filepath, monad-logger, network-uri, primitive, scientific, semigroupoids, sqlcipher-simple, tagged, text, text-short, th-abstraction, th-compat, unordered-containers, uuid-types, yaml |
text |
2.0.2 |
BSD-2-Clause |
An efficient packed Unicode text type. | aeson, attoparsec, blaze-builder, blaze-textual, case-insensitive, conduit, conduit-extra, direct-sqlcipher, fast-logger, hashable, http-types, ini, integer-conversion, monad-logger, mono-traversable, optparse-applicative, parsec, prettyprinter, prettyprinter-ansi-terminal, scientific, simple-logger, simplexmq, sqlcipher-simple, streaming-commons, strict, terminal, text-iso8601, text-short, uuid, uuid-types, websockets, yaml, zip |
time |
1.12.2 |
BSD-2-Clause |
A time library | aeson, directory, easy-file, iso8601-time, simplexmq, sqlcipher-simple, text-iso8601, time-compat, unix, unliftio, uuid, zip |
tls |
1.9.0 |
BSD-3-Clause |
TLS/SSL protocol native implementation (Server and Client) | simplexmq |
terminal |
0.2.0.0 |
BSD-3-Clause |
Portable terminal interaction library | |
attoparsec |
0.14.4 |
BSD-3-Clause |
Fast combinator parsing for bytestrings and text | conduit-extra, email-validate, ini, simplexmq, sqlcipher-simple, websockets, yaml |
vector |
0.13.1.0 |
BSD-3-Clause |
Efficient Arrays | JuicyPixels, JuicyPixels-jpeg-turbo, JuicyPixels-spng, JuicyPixels-stbir, aeson, bitvec, blaze-textual, conduit, indexed-traversable-instances, mono-traversable, semialign, vector-algorithms, witherable, yaml |
websockets |
0.12.7.3 |
BSD-3-Clause |
A sensible and clean way to write WebSocket-capable servers in Haskell. | simplexmq |
zip |
2.0.0 |
BSD-3-Clause |
Operations on zip archives |
Indirect transitive dependencies
| Name | Version | SPDX License Id | Description | Depended upon by |
|---|---|---|---|---|
OneTuple |
0.4.1.1 |
BSD-3-Clause |
Singleton Tuple | aeson, indexed-traversable-instances |
Only |
0.1 |
BSD-3-Clause |
The 1-tuple type or single-value "collection" | sqlcipher-simple |
QuickCheck |
2.14.3 |
BSD-3-Clause |
Automatic testing of Haskell programs | aeson |
SHA |
1.6.4.4 |
BSD-3-Clause |
Implementations of the SHA suite of message digest functions | websockets |
StateVar |
1.2.2 |
BSD-3-Clause |
State variables | contravariant |
array |
0.5.5.0 |
BSD-3-Clause |
Mutable and immutable arrays | SHA, attoparsec, binary, cereal, containers, deepseq, fast-logger, http-types, http2, indexed-traversable, integer-logarithms, stm, streaming-commons, text |
bifunctors |
5.6.1 |
BSD-3-Clause |
Bifunctors | semigroupoids |
binary |
0.8.9.1 |
BSD-3-Clause |
Binary serialisation for Haskell values using lazy ByteStrings | JuicyPixels, SHA, constraints, network-transport, scientific, strict, text, text-short, these, unix-time, uuid, uuid-types, websockets |
blaze-builder |
0.4.2.3 |
BSD-3-Clause |
Efficient buffered output. | blaze-textual, sqlcipher-simple |
blaze-textual |
0.2.3.1 |
BSD-3-Clause |
Fast rendering of common datatypes | sqlcipher-simple |
boring |
0.2.1 |
BSD-3-Clause |
Boring and Absurd types | constraints |
base-orphans |
0.9.1 |
MIT |
Backwards-compatible orphan instances for base | distributive, semigroupoids, time-compat, transformers-base, witherable |
basement |
0.0.16 |
BSD-3-Clause |
Foundation scrap box of array & string | crypton, cryptostore, memory, pem, socks |
bitvec |
1.1.5.0 |
BSD-3-Clause |
Space-efficient bit vectors | vector-algorithms |
byteorder |
1.0.4 |
BSD-3-Clause |
Exposes the native endianness or byte ordering of the system. | iproute |
bytestring-builder |
0.10.8.2.0 |
BSD-3-Clause |
The new bytestring builder, packaged outside of GHC | websockets |
clock |
0.8.4 |
BSD-3-Clause |
High-resolution clock functions: monotonic, realtime, cputime. | websockets |
colour |
2.3.6 |
MIT |
A model for human colour/color perception | ansi-terminal, ansi-terminal-types |
comonad |
5.0.8 |
BSD-3-Clause |
Comonads | bifunctors, semigroupoids |
conduit |
1.3.5 |
MIT |
Streaming data processing library. | conduit-extra, libyaml, monad-logger, yaml, zip |
conduit-extra |
1.3.6 |
MIT |
Batteries included conduit: adapters for common libraries. | monad-logger, zip |
contravariant |
1.5.5 |
BSD-3-Clause |
Contravariant functors | semigroupoids |
cereal |
0.5.8.3 |
BSD-3-Clause |
A binary serialization library | socks, tls, zip |
cryptohash-md5 |
0.11.101.0 |
BSD-3-Clause |
Fast, pure and practical MD5 implementation | uuid |
cryptohash-sha1 |
0.11.101.0 |
BSD-3-Clause |
Fast, pure and practical SHA-1 implementation | uuid |
crypton-x509 |
1.7.6 |
BSD-3-Clause |
X509 reader and writer | crypton-x509-store, crypton-x509-validation, cryptostore, simplexmq, tls |
crypton-x509-store |
1.6.9 |
BSD-3-Clause |
X.509 collection accessing and storing methods | crypton-x509-validation, simplexmq, tls |
crypton-x509-validation |
1.6.12 |
BSD-3-Clause |
X.509 Certificate and CRL validation | cryptostore, simplexmq, tls |
cryptostore |
0.3.0.1 |
BSD-3-Clause |
Serialization of cryptographic data types | simplexmq |
case-insensitive |
1.2.1.0 |
BSD-3-Clause |
Case insensitive string comparison | http-types, http2, simplexmq, websockets, zip |
uuid-types |
1.0.5.1 |
BSD-3-Clause |
Type definitions for Universally Unique Identifiers | aeson, uuid |
deepseq |
1.4.8.1 |
BSD-3-Clause |
Deep evaluation of data structures | JuicyPixels, Only, QuickCheck, aeson, attoparsec, bitvec, blaze-builder, bytestring, bytestring-builder, case-insensitive, constraints, containers, crypton, data-fix, dlist, filepath, hashable, hourglass, memory, network, network-transport, network-uri, pretty, primitive, process, psqueues, random, safe-exceptions, scientific, splitmix, strict, tagged, text, text-short, these, time, time-compat, unliftio, unordered-containers, uuid-types, vector, zstd |
digest |
0.0.1.7 |
BSD-2-Clause |
Various hashes for bytestrings; CRC32 and Adler32 for now. | zip |
dlist |
1.0 |
BSD-3-Clause |
Difference lists | aeson, data-default-instances-dlist, zip |
distributive |
0.6.2.1 |
BSD-3-Clause |
Distributive functors -- Dual to Traversable | comonad, semigroupoids |
data-default-class |
0.1.2.0 |
BSD-3-Clause |
A class for types with a default value | JuicyPixels-stbir, crypton-x509-validation, data-default, data-default-instances-containers, data-default-instances-dlist, data-default-instances-old-locale, tls |
data-default-instances-containers |
0.0.1 |
BSD-3-Clause |
Default instances for types in containers | data-default |
data-default-instances-dlist |
0.0.1 |
BSD-3-Clause |
Default instances for types in dlist | data-default |
data-default-instances-old-locale |
0.0.1 |
BSD-3-Clause |
Default instances for types in old-locale | data-default |
data-fix |
0.3.2 |
BSD-3-Clause |
Fixpoint data types | aeson |
fast-logger |
3.2.2 |
BSD-3-Clause |
A fast logging system | monad-logger, simple-logger |
ghc-bignum |
1.3 |
BSD-3-Clause |
GHC BigNum library | base, bitvec, hashable, integer-gmp, integer-logarithms |
ghc-boot-th |
9.6.3 |
BSD-3-Clause |
Shared functionality between GHC and the @template-haskell@ library | template-haskell |
ghc-prim |
0.10.0 |
BSD-3-Clause |
GHC primitives | (core library) |
generically |
0.1.1 |
BSD-3-Clause |
Generically newtype to use with DerivingVia | aeson |
hourglass |
0.2.12 |
BSD-3-Clause |
simple performant time related library | asn1-encoding, asn1-types, crypton-x509, crypton-x509-validation, cryptostore, simplexmq |
hashable |
1.4.3.0 |
BSD-3-Clause |
A class for types that can be converted to a hash value | aeson, async, case-insensitive, constraints, data-fix, mono-traversable, network-transport, psqueues, scientific, semialign, semigroupoids, simplexmq, strict, text-short, these, time-compat, unordered-containers, uuid-types, witherable |
integer-gmp |
1.1 |
BSD-3-Clause |
Integer library based on GMP | (core library) |
libyaml |
0.1.2 |
BSD-3-Clause |
Low-level, streaming YAML interface. | yaml |
old-locale |
1.0.0.7 |
BSD-3-Clause |
locale library | blaze-textual, data-default-instances-old-locale, old-time |
old-time |
1.1.0.4 |
BSD-3-Clause |
Time library | unix-time |
lifted-base |
0.2.3.12 |
BSD-3-Clause |
lifted IO operations from the base library | monad-logger |
mono-traversable |
1.0.15.3 |
MIT |
Type classes for mapping, folding, and traversing monomorphic containers | conduit |
monad-control |
1.0.3.1 |
BSD-3-Clause |
Lift control operations, like exception catching, through monad transformers | lifted-base, monad-logger, zip |
monad-logger |
0.3.40 |
MIT |
A class of monads which can log messages. | simple-logger |
monad-loops |
0.4.3 |
LicenseRef-PublicDomain |
Monadic loops | monad-logger |
ini |
0.4.2 |
BSD-3-Clause |
Configuration files in the INI format. | simplexmq |
indexed-traversable |
0.1.3 |
BSD-2-Clause |
FunctorWithIndex, FoldableWithIndex, TraversableWithIndex | aeson, comonad, indexed-traversable-instances, semialign, witherable |
indexed-traversable-instances |
0.1.1.2 |
BSD-2-Clause |
More instances of FunctorWithIndex, FoldableWithIndex, TraversableWithIndex | semialign, witherable |
unordered-containers |
0.2.19.1 |
BSD-3-Clause |
Efficient hashing-based container types | aeson, indexed-traversable-instances, ini, mono-traversable, semialign, semigroupoids, witherable, yaml |
ansi-terminal-types |
0.11.5 |
BSD-3-Clause |
Types and functions used to represent SGR aspects | ansi-terminal |
integer-conversion |
0.1.0.1 |
BSD-3-Clause |
Conversion from strings to Integer | aeson, text-iso8601 |
integer-logarithms |
1.0.3.1 |
MIT |
Integer logarithms. | aeson, scientific |
entropy |
0.4.1.10 |
BSD-3-Clause |
A platform independent entropy source | uuid, websockets |
network-byte-order |
0.1.7 |
BSD-3-Clause |
Network byte order utilities | http2 |
network-control |
0.0.2 |
BSD-3-Clause |
Library to control network protocols | http2 |
network-udp |
0.0.0 |
BSD-3-Clause |
UDP library | simplexmq |
network-info |
0.2.1 |
BSD-3-Clause |
Access the local computer's basic network configuration | simplexmq, uuid |
network-uri |
2.6.4.2 |
BSD-3-Clause |
URI manipulation | aeson |
unix-compat |
0.7.1 |
BSD-3-Clause |
Portable POSIX-compatibility layer. | fast-logger |
unix-time |
0.4.11 |
BSD-3-Clause |
Unix time parser/formatter and utilities | fast-logger, http2, network-control, tls |
parsec |
3.1.16.1 |
BSD-2-Clause |
Monadic parser combinators | network-uri |
pem |
0.2.4 |
BSD-3-Clause |
Privacy Enhanced Mail (PEM) format reader and writer. | crypton-x509, crypton-x509-store, crypton-x509-validation, cryptostore |
appar |
0.1.8 |
BSD-3-Clause |
A simple applicative parser | iproute |
pretty |
1.1.3.6 |
BSD-3-Clause |
Pretty-printing library | template-haskell |
primitive |
0.9.0.0 |
BSD-3-Clause |
Primitive memory-related operations | JuicyPixels, aeson, bitvec, conduit, conduit-extra, integer-conversion, resourcet, scientific, vector, vector-algorithms |
iproute |
1.7.12 |
BSD-3-Clause |
IP Routing Table | network-udp, simplexmq |
prettyprinter |
1.7.1 |
BSD-2-Clause |
A modern, easy to use, well-documented, extensible pretty-printer. | optparse-applicative, prettyprinter-ansi-terminal, terminal |
prettyprinter-ansi-terminal |
1.1.3 |
BSD-2-Clause |
ANSI terminal backend for the »prettyprinter« package. | optparse-applicative |
psqueues |
0.2.8.0 |
BSD-3-Clause |
Pure priority search queues | network-control |
resourcet |
1.3.0 |
BSD-3-Clause |
Deterministic allocation and freeing of scarce resources. | conduit, conduit-extra, libyaml, monad-logger, yaml, zip |
iso8601-time |
0.1.5 |
MIT |
Convert to/from the ISO 8601 time format | simplexmq |
jpeg-turbo |
0.1.0.0 |
BSD-3-Clause AND IJG AND Zlib |
FFI bindings to mozjpeg | JuicyPixels-jpeg-turbo |
safe-exceptions |
0.1.7.4 |
MIT |
Safe, consistent, and easy exception handling | unliftio |
semigroupoids |
6.0.0.1 |
BSD-2-Clause |
Semigroupoids: Category sans id | semialign |
semialign |
1.3 |
BSD-3-Clause |
Align and Zip type-classes from the common Semialign ancestor. | aeson |
asn1-encoding |
0.9.6 |
BSD-3-Clause |
ASN1 data reader and writer in RAW, BER and DER forms | asn1-parse, crypton-x509, crypton-x509-store, crypton-x509-validation, cryptostore, simplexmq, tls |
asn1-parse |
0.9.5 |
BSD-3-Clause |
Simple monadic parser for ASN1 stream types. | crypton-x509 |
asn1-types |
0.3.4 |
BSD-3-Clause |
ASN.1 types | asn1-encoding, asn1-parse, crypton-x509, crypton-x509-store, crypton-x509-validation, cryptostore, simplexmq, tls |
split |
0.2.4 |
BSD-3-Clause |
Combinator library for splitting lists. | mono-traversable |
splitmix |
0.1.0.5 |
BSD-3-Clause |
Fast Splittable PRNG | QuickCheck, random |
assoc |
1.1 |
BSD-3-Clause |
swap and assoc: Symmetric and Semigroupy Bifunctors | bifunctors, strict, these |
stm-chans |
3.0.0.9 |
BSD-3-Clause |
Additional types of channels for STM. | monad-logger |
strict |
0.5 |
BSD-3-Clause |
Strict data types and String IO. | aeson |
streaming-commons |
0.2.2.6 |
MIT |
Common lower-level functions needed by various streaming data libraries | conduit-extra, websockets |
easy-file |
0.2.5 |
BSD-3-Clause |
Cross-platform File handling | fast-logger |
auto-update |
0.1.6 |
MIT |
Efficiently run periodic, on-demand actions | fast-logger, time-manager |
tagged |
0.8.8 |
BSD-3-Clause |
Haskell 98 phantom types to avoid unsafely passing dummy arguments | aeson, assoc, bifunctors, boring, comonad, distributive, indexed-traversable-instances, semialign, semigroupoids |
th-abstraction |
0.6.0.0 |
ISC |
Nicer interface for reified information about data types | aeson, bifunctors |
th-compat |
0.1.4 |
BSD-3-Clause |
Backward- (and forward-)compatible Quote and Code types | network-uri |
these |
1.2 |
BSD-3-Clause |
An either-or-both data type. | aeson, semialign, strict |
time-compat |
1.9.6.1 |
BSD-3-Clause |
Compatibility package for time | aeson, text-iso8601 |
time-manager |
0.0.1 |
MIT |
Scalable timer | http2, simplexmq |
temporary |
1.3 |
BSD-3-Clause |
Portable temporary file and directory support | simplexmq |
transformers |
0.6.1.0 |
BSD-3-Clause |
Concrete functor and monad transformers | JuicyPixels, JuicyPixels-jpeg-turbo, JuicyPixels-spng, QuickCheck, StateVar, attoparsec, bifunctors, boring, comonad, conduit, conduit-extra, constraints, contravariant, crypton-x509, distributive, exceptions, indexed-traversable, monad-control, monad-logger, mono-traversable, mtl, network-transport, optparse-applicative, primitive, resourcet, safe-exceptions, semialign, semigroupoids, simplexmq, sqlcipher-simple, streaming-commons, strict, tagged, temporary, terminal, tls, transformers-base, transformers-compat, typed-process, unliftio, unliftio-core, witherable, yaml, zip |
transformers-base |
0.4.6 |
BSD-3-Clause |
Lift computations from the bottom of a transformer stack | lifted-base, monad-control, monad-logger, zip |
transformers-compat |
0.7.2 |
BSD-3-Clause |
A small compatibility shim for the transformers library | comonad, monad-control, monad-logger, optparse-applicative, semigroupoids, transformers-base |
attoparsec |
0.14.4 |
BSD-3-Clause |
Fast combinator parsing for bytestrings and text | attoparsec |
text-iso8601 |
0.1 |
BSD-3-Clause |
Converting time to and from ISO 8601 text. | aeson |
text-short |
0.1.5 |
BSD-3-Clause |
Memory-efficient representation of Unicode text strings | aeson |
type-equality |
1 |
BSD-3-Clause |
Data.Type.Equality compat package | constraints |
typed-process |
0.2.11.1 |
MIT |
Run external processes, with strong typing of streams | conduit-extra |
unix |
2.8.1.0 |
BSD-3-Clause |
POSIX functionality | conduit, directory, easy-file, entropy, process, streaming-commons, temporary, unix-compat, unliftio, zip |
vector-algorithms |
0.9.0.1 |
BSD-3-Clause |
Efficient algorithms for vector arrays | mono-traversable |
vector-stream |
0.1.0.0 |
BSD-3-Clause |
Efficient Streams | vector |
witherable |
0.4.2 |
BSD-3-Clause |
filterable traversable | aeson |
yaml |
0.11.11.2 |
BSD-3-Clause |
Support for parsing and rendering YAML documents. | simplexmq |
zlib |
0.6.3.0 |
BSD-3-Clause |
Compression and decompression in the gzip and zlib formats | JuicyPixels, streaming-commons |
zstd |
0.1.3.0 |
BSD-3-Clause |
Haskell bindings to the Zstandard compression algorithm | simplexmq |