diff options
author | Mx Kookie <kookie@spacekookie.de> | 2020-10-31 19:35:09 +0100 |
---|---|---|
committer | Mx Kookie <kookie@spacekookie.de> | 2020-10-31 19:35:09 +0100 |
commit | c4625b175f8200f643fd6e11010932ea44c78433 (patch) | |
tree | bce3f89888c8ac3991fa5569a878a9eab6801ccc /infra/libkookie/nixpkgs/pkgs/tools/compression/brotli | |
parent | 49f735974dd103039ddc4cb576bb76555164a9e7 (diff) | |
parent | d661aa56a8843e991261510c1bb28fdc2f6975ae (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.nix | 67 |
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; + }; +} |