diff --git a/doc/builders/packages/index.xml b/doc/builders/packages/index.xml index 38d72a4748f..c7a4aa9f47d 100644 --- a/doc/builders/packages/index.xml +++ b/doc/builders/packages/index.xml @@ -17,7 +17,7 @@ - + diff --git a/doc/builders/packages/shell-helpers.section.md b/doc/builders/packages/shell-helpers.section.md new file mode 100644 index 00000000000..57b8619c500 --- /dev/null +++ b/doc/builders/packages/shell-helpers.section.md @@ -0,0 +1,12 @@ +# Interactive shell helpers {#sec-shell-helpers} + +Some packages provide the shell integration to be more useful. But unlike other systems, nix doesn't have a standard `share` directory location. This is why a bunch `PACKAGE-share` scripts are shipped that print the location of the corresponding shared folder. Current list of such packages is as following: + +- `fzf` : `fzf-share` + +E.g. `fzf` can then used in the `.bashrc` like this: + +```bash +source "$(fzf-share)/completion.bash" +source "$(fzf-share)/key-bindings.bash" +``` diff --git a/doc/builders/packages/shell-helpers.xml b/doc/builders/packages/shell-helpers.xml deleted file mode 100644 index a4ac9022c4c..00000000000 --- a/doc/builders/packages/shell-helpers.xml +++ /dev/null @@ -1,21 +0,0 @@ -
- Interactive shell helpers - - - Some packages provide the shell integration to be more useful. But unlike other systems, nix doesn't have a standard share directory location. This is why a bunch PACKAGE-share scripts are shipped that print the location of the corresponding shared folder. Current list of such packages is as following: - - - - fzf: fzf-share - - - - E.g. fzf can then used in the .bashrc like this: - - source "$(fzf-share)/completion.bash" - source "$(fzf-share)/key-bindings.bash" - - -
diff --git a/doc/languages-frameworks/index.xml b/doc/languages-frameworks/index.xml index 5046ce00b9a..daa57cf1f86 100644 --- a/doc/languages-frameworks/index.xml +++ b/doc/languages-frameworks/index.xml @@ -21,7 +21,7 @@ - + diff --git a/doc/languages-frameworks/ocaml.section.md b/doc/languages-frameworks/ocaml.section.md new file mode 100644 index 00000000000..1c5a5473a05 --- /dev/null +++ b/doc/languages-frameworks/ocaml.section.md @@ -0,0 +1,70 @@ +# OCaml {#sec-language-ocaml} + +OCaml libraries should be installed in `$(out)/lib/ocaml/${ocaml.version}/site-lib/`. Such directories are automatically added to the `$OCAMLPATH` environment variable when building another package that depends on them or when opening a `nix-shell`. + +Given that most of the OCaml ecosystem is now built with dune, nixpkgs includes a convenience build support function called `buildDunePackage` that will build an OCaml package using dune, OCaml and findlib and any additional dependencies provided as `buildInputs` or `propagatedBuildInputs`. + +Here is a simple package example. It defines an (optional) attribute `minimumOCamlVersion` that will be used to throw a descriptive evaluation error if building with an older OCaml is attempted. It uses the `fetchFromGitHub` fetcher to get its source. It sets the `doCheck` (optional) attribute to `true` which means that tests will be run with `dune runtest -p angstrom` after the build (`dune build -p angstrom`) is complete. It uses `alcotest` as a build input (because it is needed to run the tests) and `bigstringaf` and `result` as propagated build inputs (thus they will also be available to libraries depending on this library). The library will be installed using the `angstrom.install` file that dune generates. + +```nix +{ stdenv +, fetchFromGitHub +, buildDunePackage +, alcotest +, result +, bigstringaf +}: + +buildDunePackage rec { + pname = "angstrom"; + version = "0.10.0"; + + minimumOCamlVersion = "4.03"; + + src = fetchFromGitHub { + owner = "inhabitedtype"; + repo = pname; + rev = version; + sha256 = "0lh6024yf9ds0nh9i93r9m6p5psi8nvrqxl5x7jwl13zb0r9xfpw"; + }; + + buildInputs = [ alcotest ]; + propagatedBuildInputs = [ bigstringaf result ]; + doCheck = true; + + meta = { + homepage = "https://github.com/inhabitedtype/angstrom"; + description = "OCaml parser combinators built for speed and memory efficiency"; + license = stdenv.lib.licenses.bsd3; + maintainers = with stdenv.lib.maintainers; [ sternenseemann ]; + }; +} +``` + +Here is a second example, this time using a source archive generated with `dune-release`. It is a good idea to use this archive when it is available as it will usually contain substituted variables such as a `%%VERSION%%` field. This library does not depend on any other OCaml library and no tests are run after building it. + +```nix +{ stdenv +, fetchurl +, buildDunePackage +}: + +buildDunePackage rec { + pname = "wtf8"; + version = "1.0.1"; + + minimumOCamlVersion = "4.01"; + + src = fetchurl { + url = "https://github.com/flowtype/ocaml-${pname}/releases/download/v${version}/${pname}-${version}.tbz"; + sha256 = "1msg3vycd3k8qqj61sc23qks541cxpb97vrnrvrhjnqxsqnh6ygq"; + }; + + meta = with stdenv.lib; { + homepage = "https://github.com/flowtype/ocaml-wtf8"; + description = "WTF-8 is a superset of UTF-8 that allows unpaired surrogates."; + license = licenses.mit; + maintainers = [ maintainers.eqyiel ]; + }; +} +``` diff --git a/doc/languages-frameworks/ocaml.xml b/doc/languages-frameworks/ocaml.xml deleted file mode 100644 index 3f72092ec15..00000000000 --- a/doc/languages-frameworks/ocaml.xml +++ /dev/null @@ -1,73 +0,0 @@ -
- OCaml - - - OCaml libraries should be installed in $(out)/lib/ocaml/${ocaml.version}/site-lib/. Such directories are automatically added to the $OCAMLPATH environment variable when building another package that depends on them or when opening a nix-shell. - - - - Given that most of the OCaml ecosystem is now built with dune, nixpkgs includes a convenience build support function called buildDunePackage that will build an OCaml package using dune, OCaml and findlib and any additional dependencies provided as buildInputs or propagatedBuildInputs. - - - - Here is a simple package example. It defines an (optional) attribute minimumOCamlVersion that will be used to throw a descriptive evaluation error if building with an older OCaml is attempted. It uses the fetchFromGitHub fetcher to get its source. It sets the doCheck (optional) attribute to true which means that tests will be run with dune runtest -p angstrom after the build (dune build -p angstrom) is complete. It uses alcotest as a build input (because it is needed to run the tests) and bigstringaf and result as propagated build inputs (thus they will also be available to libraries depending on this library). The library will be installed using the angstrom.install file that dune generates. - - - -{ stdenv, fetchFromGitHub, buildDunePackage, alcotest, result, bigstringaf }: - -buildDunePackage rec { - pname = "angstrom"; - version = "0.10.0"; - - minimumOCamlVersion = "4.03"; - - src = fetchFromGitHub { - owner = "inhabitedtype"; - repo = pname; - rev = version; - sha256 = "0lh6024yf9ds0nh9i93r9m6p5psi8nvrqxl5x7jwl13zb0r9xfpw"; - }; - - buildInputs = [ alcotest ]; - propagatedBuildInputs = [ bigstringaf result ]; - doCheck = true; - - meta = { - homepage = "https://github.com/inhabitedtype/angstrom"; - description = "OCaml parser combinators built for speed and memory efficiency"; - license = stdenv.lib.licenses.bsd3; - maintainers = with stdenv.lib.maintainers; [ sternenseemann ]; - }; -} - - - - Here is a second example, this time using a source archive generated with dune-release. It is a good idea to use this archive when it is available as it will usually contain substituted variables such as a %%VERSION%% field. This library does not depend on any other OCaml library and no tests are run after building it. - - - -{ stdenv, fetchurl, buildDunePackage }: - -buildDunePackage rec { - pname = "wtf8"; - version = "1.0.1"; - - minimumOCamlVersion = "4.01"; - - src = fetchurl { - url = "https://github.com/flowtype/ocaml-${pname}/releases/download/v${version}/${pname}-${version}.tbz"; - sha256 = "1msg3vycd3k8qqj61sc23qks541cxpb97vrnrvrhjnqxsqnh6ygq"; - }; - - meta = with stdenv.lib; { - homepage = "https://github.com/flowtype/ocaml-wtf8"; - description = "WTF-8 is a superset of UTF-8 that allows unpaired surrogates."; - license = licenses.mit; - maintainers = [ maintainers.eqyiel ]; - }; -} - -
diff --git a/pkgs/applications/audio/pt2-clone/default.nix b/pkgs/applications/audio/pt2-clone/default.nix index 4b931813bea..bc89505a1fe 100644 --- a/pkgs/applications/audio/pt2-clone/default.nix +++ b/pkgs/applications/audio/pt2-clone/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "pt2-clone"; - version = "1.25_fix"; + version = "1.26_fix"; src = fetchFromGitHub { owner = "8bitbubsy"; repo = "pt2-clone"; rev = "v${version}"; - sha256 = "1slv8qjxsj67z6984nl67g53mq0sdls2cbikvfjmgmad1wkh98ma"; + sha256 = "1ikhgagniiq4irsy8i3g64m6cl61lnfvs163n8gs4hm426yckyb8"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix index 9b89634f0b3..570fe463c5a 100644 --- a/pkgs/applications/networking/instant-messengers/discord/default.nix +++ b/pkgs/applications/networking/instant-messengers/discord/default.nix @@ -7,10 +7,10 @@ in { pname = "discord"; binaryName = "Discord"; desktopName = "Discord"; - version = "0.0.12"; + version = "0.0.13"; src = fetchurl { url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz"; - sha256 = "0qrzvc8cp8azb1b2wb5i4jh9smjfw5rxiw08bfqm8p3v74ycvwk8"; + sha256 = "0d5z6cbj9dg3hjw84pyg75f8dwdvi2mqxb9ic8dfqzk064ssiv7y"; }; }; ptb = callPackage ./base.nix rec { diff --git a/pkgs/development/libraries/rocksdb/default.nix b/pkgs/development/libraries/rocksdb/default.nix index 002c0a3c1a7..f17a114216b 100644 --- a/pkgs/development/libraries/rocksdb/default.nix +++ b/pkgs/development/libraries/rocksdb/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "rocksdb"; - version = "6.14.5"; + version = "6.14.6"; src = fetchFromGitHub { owner = "facebook"; repo = pname; rev = "v${version}"; - sha256 = "0k5385apwyhc3pzfq9104mphf6lf1lb33nhcfbpqiwwn9q14z6n3"; + sha256 = "0cp0jgzwkwamykgnmsg0zvzakq58f1ihs7lslnn4nh4p9gm75rq5"; }; nativeBuildInputs = [ cmake ninja ]; diff --git a/pkgs/development/libraries/science/math/suitesparse/default.nix b/pkgs/development/libraries/science/math/suitesparse/default.nix index d50e065efc6..2e76050aa98 100644 --- a/pkgs/development/libraries/science/math/suitesparse/default.nix +++ b/pkgs/development/libraries/science/math/suitesparse/default.nix @@ -4,14 +4,15 @@ , blas, lapack , metis , fixDarwinDylibNames -, gnum4 +, gmp +, mpfr , enableCuda ? false , cudatoolkit }: stdenv.mkDerivation rec { pname = "suitesparse"; - version = "5.7.2"; + version = "5.8.1"; outputs = [ "out" "dev" "doc" ]; @@ -19,17 +20,19 @@ stdenv.mkDerivation rec { owner = "DrTimothyAldenDavis"; repo = "SuiteSparse"; rev = "v${version}"; - sha256 = "1imndff7yygjrbbrcscsmirdi8w0lkwj5dbhydxmf7lklwn4j3q6"; + sha256 = "0qjlyfxs8s48rs63c2fzspisgq1kk4bwkgnhmh125hgkdhrq2w1c"; }; nativeBuildInputs = [ - gnum4 ] ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames; - buildInputs = [ + # Use compatible indexing for lapack and blas used + buildInputs = assert (blas.isILP64 == lapack.isILP64); [ blas lapack metis gfortran.cc.lib + gmp + mpfr ] ++ stdenv.lib.optional enableCuda cudatoolkit; preConfigure = '' @@ -41,8 +44,6 @@ stdenv.mkDerivation rec { "INSTALL=${placeholder "out"}" "INSTALL_INCLUDE=${placeholder "dev"}/include" "JOBS=$(NIX_BUILD_CORES)" - "BLAS=-lblas" - "LAPACK=-llapack" "MY_METIS_LIB=-lmetis" ] ++ stdenv.lib.optionals blas.isILP64 [ "CFLAGS=-DBLAS64" @@ -50,7 +51,13 @@ stdenv.mkDerivation rec { "CUDA_PATH=${cudatoolkit}" "CUDART_LIB=${cudatoolkit.lib}/lib/libcudart.so" "CUBLAS_LIB=${cudatoolkit}/lib/libcublas.so" - ]; + ] ++ stdenv.lib.optionals stdenv.isDarwin [ + # Unless these are set, the build will attempt to use `Accelerate` on darwin, see: + # https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/v5.8.1/SuiteSparse_config/SuiteSparse_config.mk#L368 + "BLAS=-lblas" + "LAPACK=-llapack" + ] + ; buildFlags = [ # Build individual shared libraries, not demos diff --git a/pkgs/development/libraries/simpleitk/default.nix b/pkgs/development/libraries/simpleitk/default.nix index bfc1c55d2c4..e6b013aa137 100644 --- a/pkgs/development/libraries/simpleitk/default.nix +++ b/pkgs/development/libraries/simpleitk/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "simpleitk"; - version = "2.0.1"; + version = "2.0.2"; src = fetchFromGitHub { owner = "SimpleITK"; repo = "SimpleITK"; rev = "v${version}"; - sha256 = "0yijli538hd96pfg4vpfk983y6d5bw9dlbs9nsq4rp83r08qdcc5"; + sha256 = "1q51jmd6skrr31avxlrxx433lawc838ilzrj5vvv38a9f4gl45v8"; }; nativeBuildInputs = [ cmake swig ]; diff --git a/pkgs/development/tools/analysis/randoop/default.nix b/pkgs/development/tools/analysis/randoop/default.nix index 0e57509d9f7..b51b26eab17 100644 --- a/pkgs/development/tools/analysis/randoop/default.nix +++ b/pkgs/development/tools/analysis/randoop/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, unzip }: stdenv.mkDerivation rec { - version = "4.2.4"; + version = "4.2.5"; pname = "randoop"; src = fetchurl { url = "https://github.com/randoop/randoop/releases/download/v${version}/${pname}-${version}.zip"; - sha256 = "1p6l5xzz7cbhrk5wy3906llhnwk0l8nck53pvi0l57kz7bdnag5w"; + sha256 = "0v3vla3k6csfb8w0j9njrhcjj4n7yh172n9wv6z397f1sa0fs202"; }; buildInputs = [ unzip ]; diff --git a/pkgs/development/tools/misc/terraformer/default.nix b/pkgs/development/tools/misc/terraformer/default.nix index 07333d7e24a..47c9c15a0cc 100644 --- a/pkgs/development/tools/misc/terraformer/default.nix +++ b/pkgs/development/tools/misc/terraformer/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "terraformer"; - version = "0.8.9"; + version = "0.8.10"; src = fetchFromGitHub { owner = "GoogleCloudPlatform"; repo = pname; rev = version; - sha256 = "11j7yra0qbjadg4cb57qbdxf0di7crfv0aqam6gc1zng3fzlh4w9"; + sha256 = "005i66d2gkyixqh9sk452la7z86d5x9q3njngjf4z9slcbpgk7bl"; }; - vendorSha256 = "1lsg5svdnmqiradpr4h2420y5jmml3af8pp0np1735n3wh1q1blh"; + vendorSha256 = "02i1q11nivdlkhf9chpi03p8jpa0fx9wbf79j834qv4fqy7jqf6l"; subPackages = [ "." ]; diff --git a/pkgs/development/tools/sd-local/default.nix b/pkgs/development/tools/sd-local/default.nix index b3dbd91c0cc..b7e6021a6d8 100644 --- a/pkgs/development/tools/sd-local/default.nix +++ b/pkgs/development/tools/sd-local/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "sd-local"; - version = "1.0.13"; + version = "1.0.17"; src = fetchFromGitHub { owner = "screwdriver-cd"; repo = pname; rev = "v${version}"; - sha256 = "1pgzxy9l1zh2qwq20ycqlxp9yj1mfchwc9179zd2v13rlraa8yph"; + sha256 = "13krr1zjh544swv4frfapvyi7bm8qf121x6qz9jqbw2cm3mid301"; }; vendorSha256 = "1y4nyw7rpgipblxqaps2zsd07cin8d0i0g9gvsnc3vifi6g29s8z"; diff --git a/pkgs/development/tools/skaffold/default.nix b/pkgs/development/tools/skaffold/default.nix index 6fa3b1b6058..0f29fc741c6 100644 --- a/pkgs/development/tools/skaffold/default.nix +++ b/pkgs/development/tools/skaffold/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { pname = "skaffold"; - version = "1.17.0"; + version = "1.17.1"; goPackagePath = "github.com/GoogleContainerTools/skaffold"; subPackages = ["cmd/skaffold"]; @@ -19,7 +19,7 @@ buildGoPackage rec { owner = "GoogleContainerTools"; repo = "skaffold"; rev = "v${version}"; - sha256 = "0i86bymwfnqnvp6na6na5dmjzp3dp7l416irkllh3i5wgvppda7m"; + sha256 = "1q1rzqsga728cjv89lpgnwjb22azlmkffki9m0q21r1njzc3w74h"; }; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/servers/pg_featureserv/default.nix b/pkgs/servers/pg_featureserv/default.nix index a50c1d59300..fd31d728a3b 100644 --- a/pkgs/servers/pg_featureserv/default.nix +++ b/pkgs/servers/pg_featureserv/default.nix @@ -2,17 +2,19 @@ buildGoModule rec { pname = "pg_featureserv"; - version = "1.1.1"; + version = "1.2.0"; src = fetchFromGitHub { owner = "CrunchyData"; repo = pname; rev = "v${version}"; - sha256 = "0vfrwncx41yn9n2hqb32av3xgd13fqplrs1qzg5mv25i4qppd88l"; + sha256 = "0lfsbsgcb7z8ljxn1by37rbx02vaprrpacybk1kja1rjli7ik7m9"; }; vendorSha256 = "1jqrkx850ghmpnfjhqky93r8fq7q63m5ivs0lzljzbvn7ya75f2r"; + buildFlagsArray = [ "-ldflags=-s -w -X github.com/CrunchyData/pg_featureserv/conf.setVersion=${version}" ]; + meta = with lib; { description = "Lightweight RESTful Geospatial Feature Server for PostGIS in Go"; homepage = "https://github.com/CrunchyData/pg_featureserv"; diff --git a/pkgs/servers/sickbeard/sickgear.nix b/pkgs/servers/sickbeard/sickgear.nix index 1b75d5bfd7d..777793b254c 100644 --- a/pkgs/servers/sickbeard/sickgear.nix +++ b/pkgs/servers/sickbeard/sickgear.nix @@ -4,13 +4,13 @@ let pythonEnv = python2.withPackages(ps: with ps; [ cheetah ]); in stdenv.mkDerivation rec { pname = "sickgear"; - version = "0.23.2"; + version = "0.23.4"; src = fetchFromGitHub { owner = "SickGear"; repo = "SickGear"; rev = "release_${version}"; - sha256 = "1nv8qcw6pvsma8hdnagl5c8lzz3b09g8nzz83amn9jdcn3ynn0qg"; + sha256 = "05pkg0id9w8brjw7fdqh3qg1q920cdz9dizprim54dhx70kav27x"; }; dontBuild = true; diff --git a/pkgs/tools/misc/silicon/default.nix b/pkgs/tools/misc/silicon/default.nix index 7c3d6a4f70a..56c9541c2e0 100644 --- a/pkgs/tools/misc/silicon/default.nix +++ b/pkgs/tools/misc/silicon/default.nix @@ -16,16 +16,16 @@ rustPlatform.buildRustPackage rec { pname = "silicon"; - version = "0.3.2"; + version = "0.4.0"; src = fetchFromGitHub { owner = "Aloxaf"; repo = "silicon"; rev = "v${version}"; - sha256 = "1ga632c86l30n6wjj8rc3gz43v93mb7kcl9f8vhig16ycgiw8v09"; + sha256 = "0cvzkfyljgxhmn456f2rn0vq2bhm1ishr4jg4dnwjjfgmjg3w908"; }; - cargoSha256 = "0bgm29v9vmd1xcdazg1psrx6hb1z3zfzr1c4iy8j1r28csbmm6kq"; + cargoSha256 = "1aymhbfzcncrbc5n8rf62bdgi95b4bjhw6p716vhca5p6c7wfxcb"; buildInputs = [ llvmPackages.libclang expat freetype ] ++ lib.optionals stdenv.isLinux [ libxcb ] diff --git a/pkgs/tools/security/hcxdumptool/default.nix b/pkgs/tools/security/hcxdumptool/default.nix index 4ffc4133c14..afc08d88a59 100644 --- a/pkgs/tools/security/hcxdumptool/default.nix +++ b/pkgs/tools/security/hcxdumptool/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "hcxdumptool"; - version = "6.1.3"; + version = "6.1.4"; src = fetchFromGitHub { owner = "ZerBea"; repo = "hcxdumptool"; rev = version; - sha256 = "1bbf617islljmcw665vqwlplbkpa36w2n4fc4avy7blj773lxp6y"; + sha256 = "14rwcchqpsxyzvk086d7wbi5qlcxj4jcmafzgvkwzrpbspqh8p24"; }; buildInputs = [ openssl ];