aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/tools/compression/brotli
diff options
context:
space:
mode:
authorMx Kookie <kookie@spacekookie.de>2020-10-31 19:35:09 +0100
committerMx Kookie <kookie@spacekookie.de>2020-10-31 19:35:09 +0100
commitc4625b175f8200f643fd6e11010932ea44c78433 (patch)
treebce3f89888c8ac3991fa5569a878a9eab6801ccc /infra/libkookie/nixpkgs/pkgs/tools/compression/brotli
parent49f735974dd103039ddc4cb576bb76555164a9e7 (diff)
parentd661aa56a8843e991261510c1bb28fdc2f6975ae (diff)
Add 'infra/libkookie/' from commit 'd661aa56a8843e991261510c1bb28fdc2f6975ae'
git-subtree-dir: infra/libkookie git-subtree-mainline: 49f735974dd103039ddc4cb576bb76555164a9e7 git-subtree-split: d661aa56a8843e991261510c1bb28fdc2f6975ae
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/tools/compression/brotli')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/tools/compression/brotli/default.nix67
1 files changed, 67 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/compression/brotli/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/compression/brotli/default.nix
new file mode 100644
index 000000000000..bf20e0119ec6
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/tools/compression/brotli/default.nix
@@ -0,0 +1,67 @@
+{ stdenv, fetchFromGitHub, cmake, fetchpatch, staticOnly ? false }:
+
+# ?TODO: there's also python lib in there
+
+stdenv.mkDerivation rec {
+ pname = "brotli";
+ version = "1.0.7";
+
+ src = fetchFromGitHub {
+ owner = "google";
+ repo = "brotli";
+ rev = "v" + version;
+ sha256 = "1811b55wdfg4kbsjcgh1kc938g118jpvif97ilgrmbls25dfpvvw";
+ };
+
+ nativeBuildInputs = [ cmake ];
+
+ patches = stdenv.lib.optional staticOnly (fetchpatch {
+ # from https://github.com/google/brotli/pull/655
+ url = "https://github.com/google/brotli/commit/7289e5a378ba13801996a84d89d8fe95c3fc4c11.patch";
+ sha256 = "1bghbdvj24jrvb0sqfdif9vwg7wx6pn8dvl6flkrcjkhpj0gi0jg";
+ });
+
+ cmakeFlags = []
+ ++ stdenv.lib.optional staticOnly "-DBUILD_SHARED_LIBS=OFF";
+
+ outputs = [ "out" "dev" "lib" ];
+
+ doCheck = true;
+
+ checkTarget = "test";
+
+ # This breaks on Darwin because our cmake hook tries to make a build folder
+ # and the wonderful bazel BUILD file is already there (yay case-insensitivity?)
+ prePatch = "rm BUILD";
+
+ # Don't bother with "man" output for now,
+ # it currently only makes the manpages hard to use.
+ postInstall = ''
+ mkdir -p $out/share/man/man{1,3}
+ cp ../docs/*.1 $out/share/man/man1/
+ cp ../docs/*.3 $out/share/man/man3/
+ '';
+
+ meta = with stdenv.lib; {
+ inherit (src.meta) homepage;
+
+ description = "A generic-purpose lossless compression algorithm and tool";
+
+ longDescription =
+ '' Brotli is a generic-purpose lossless compression algorithm that
+ compresses data using a combination of a modern variant of the LZ77
+ algorithm, Huffman coding and 2nd order context modeling, with a
+ compression ratio comparable to the best currently available
+ general-purpose compression methods. It is similar in speed with
+ deflate but offers more dense compression.
+
+ The specification of the Brotli Compressed Data Format is defined
+ in the following internet draft:
+ http://www.ietf.org/id/draft-alakuijala-brotli
+ '';
+
+ license = licenses.mit;
+ maintainers = [ maintainers.vcunat ];
+ platforms = platforms.all;
+ };
+}