diff --git a/pkgs/applications/editors/glow/default.nix b/pkgs/applications/editors/glow/default.nix index a54ce7345d0..d941c85e2c6 100644 --- a/pkgs/applications/editors/glow/default.nix +++ b/pkgs/applications/editors/glow/default.nix @@ -21,6 +21,6 @@ buildGoModule rec { description = "Render markdown on the CLI, with pizzazz!"; homepage = "https://github.com/charmbracelet/glow"; license = licenses.mit; - maintainers = with maintainers; [ ehmry Br1ght0ne penguwin ]; + maintainers = with maintainers; [ Br1ght0ne penguwin ]; }; } diff --git a/pkgs/applications/editors/greenfoot/default.nix b/pkgs/applications/editors/greenfoot/default.nix new file mode 100644 index 00000000000..8205d52b43a --- /dev/null +++ b/pkgs/applications/editors/greenfoot/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, makeWrapper, jdk }: + +stdenv.mkDerivation rec { + pname = "greenfoot"; + version = "3.6.1"; + src = fetchurl { + # We use the deb here. First instinct might be to go for the "generic" JAR + # download, but that is actually a graphical installer that is much harder + # to unpack than the deb. + url = "https://www.greenfoot.org/download/files/Greenfoot-linux-${builtins.replaceStrings ["."] [""] version}.deb"; + sha256 = "112h6plpclj8kbv093m4pcczljhpd8d47d7a2am1yfgbyckx6hf0"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + unpackPhase = '' + ar xf $src + tar xf data.tar.xz + ''; + + installPhase = '' + mkdir -p $out + cp -r usr/* $out + rm -r $out/share/greenfoot/jdk + rm -r $out/share/greenfoot/javafx + + makeWrapper ${jdk}/bin/java $out/bin/greenfoot \ + --add-flags "-Djavafx.embed.singleThread=true -Dawt.useSystemAAFontSettings=on -Xmx512M -cp \"$out/share/greenfoot/bluej.jar\" bluej.Boot -greenfoot=true -bluej.compiler.showunchecked=false -greenfoot.scenarios=$out/share/doc/Greenfoot/scenarios -greenfoot.url.javadoc=file://$out/share/doc/Greenfoot/API" + ''; + + meta = with stdenv.lib; { + description = "A simple integrated development environment for Java"; + homepage = "https://www.greenfoot.org/"; + license = licenses.gpl2ClasspathPlus; + maintainers = [ maintainers.charvp ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/misc/pdfarranger/default.nix b/pkgs/applications/misc/pdfarranger/default.nix index b8f7c4641d2..8c8413b2ce6 100644 --- a/pkgs/applications/misc/pdfarranger/default.nix +++ b/pkgs/applications/misc/pdfarranger/default.nix @@ -5,13 +5,13 @@ python3Packages.buildPythonApplication rec { pname = "pdfarranger"; - version = "1.6.0"; + version = "1.6.2"; src = fetchFromGitHub { - owner = "jeromerobert"; + owner = pname; repo = pname; rev = version; - sha256 = "03siz4ar6flyvrrgh7hr7sslc6n9x5d9i13lc5rm2qnssd0qdich"; + sha256 = "wJ6ImWpszfgErfLh7YgHirVKFIt0ij8A/CdYJmkNBP0="; }; nativeBuildInputs = [ @@ -33,6 +33,10 @@ python3Packages.buildPythonApplication rec { # incompatible with wrapGAppsHook strictDeps = false; + dontWrapGApps = true; + preFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; doCheck = false; # no tests diff --git a/pkgs/applications/networking/gns3/default.nix b/pkgs/applications/networking/gns3/default.nix index a0f35f3779d..3d22dca36d9 100644 --- a/pkgs/applications/networking/gns3/default.nix +++ b/pkgs/applications/networking/gns3/default.nix @@ -1,7 +1,7 @@ { callPackage, libsForQt5 }: let - stableVersion = "2.2.16"; + stableVersion = "2.2.17"; previewVersion = stableVersion; addVersion = args: let version = if args.stable then stableVersion else previewVersion; @@ -26,8 +26,8 @@ let }; mkGui = args: libsForQt5.callPackage (import ./gui.nix (addVersion args // extraArgs)) { }; mkServer = args: callPackage (import ./server.nix (addVersion args // extraArgs)) { }; - guiSrcHash = "1kz5gr5rwqp1hn9fw17v6sy2467506zks574nqcd2vgxzhr6cy6x"; - serverSrcHash = "1r6qj1l8jgyjm67agn83zp9c2n7pgfzwyh8a5q314zxi18nm6rqp"; + guiSrcHash = "0dfyxr983w6lmbcvaf32bnm9cz7y7fp9jfaz8zxp1dvr6dr06cmv"; + serverSrcHash = "0m5ajd2zkafx89hvp202m351h1dygfc3jssl3m7nd7r42csyi2vj"; in { guiStable = mkGui { stable = true; diff --git a/pkgs/build-support/fetchmavenartifact/default.nix b/pkgs/build-support/fetchmavenartifact/default.nix index 583a9ea396c..42ad7603a8f 100644 --- a/pkgs/build-support/fetchmavenartifact/default.nix +++ b/pkgs/build-support/fetchmavenartifact/default.nix @@ -17,6 +17,8 @@ args@ artifactId , # Example: "4.3.6" version +, # Example: "jdk11" + classifier ? null , # List of maven repositories from where to fetch the artifact. # Example: [ http://oss.sonatype.org/content/repositories/public ]. repos ? defaultRepos @@ -48,7 +50,7 @@ let (replaceChars ["."] ["/"] groupId) artifactId version - "${artifactId}-${version}.jar" + "${artifactId}-${version}-${optionalString (!isNull classifier) "-${classifier}"}.jar" ]; urls_ = if url != "" then [url] @@ -56,7 +58,7 @@ let else map mkJarUrl repos; jar = fetchurl ( - builtins.removeAttrs args ["groupId" "artifactId" "version" "repos" "url" ] + builtins.removeAttrs args ["groupId" "artifactId" "version" "classifier" "repos" "url" ] // { urls = urls_; name = "${name_}.jar"; } ); in diff --git a/pkgs/development/libraries/marl/default.nix b/pkgs/development/libraries/marl/default.nix new file mode 100644 index 00000000000..2bf23962d53 --- /dev/null +++ b/pkgs/development/libraries/marl/default.nix @@ -0,0 +1,26 @@ +{ stdenv, cmake, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "marl"; + version = "1.0.0"; # Based on marl's CHANGES.md + + src = fetchFromGitHub { + owner = "google"; + repo = pname; + sha256 = "0pnbarbyv82h05ckays2m3vgxzdhpcpg59bnzsddlb5v7rqhw51w"; + rev = "40209e952f5c1f3bc883d2b7f53b274bd454ca53"; + }; + + nativeBuildInputs = [ cmake ]; + + # Turn on the flag to install after building the library. + cmakeFlags = ["-DMARL_INSTALL=ON"]; + + meta = with stdenv.lib; { + homepage = "https://github.com/google/marl"; + description = "A hybrid thread / fiber task scheduler written in C++ 11"; + platforms = platforms.all; + license = licenses.asl20; + maintainers = with maintainers; [ breakds ]; + }; +} diff --git a/pkgs/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix index e1b4d375282..2e1fd527e9a 100644 --- a/pkgs/development/libraries/sundials/default.nix +++ b/pkgs/development/libraries/sundials/default.nix @@ -7,9 +7,8 @@ , gfortran , suitesparse , lapackSupport ? true -, kluSupport ? true }: - -assert (!blas.isILP64) && (!lapack.isILP64); +, kluSupport ? true +}: stdenv.mkDerivation rec { pname = "sundials"; @@ -17,11 +16,14 @@ stdenv.mkDerivation rec { buildInputs = [ python - ] ++ stdenv.lib.optionals (lapackSupport) [ - gfortran - blas - lapack ] + ++ stdenv.lib.optionals (lapackSupport) + # Check that the same index size is used for both libraries + (assert (blas.isILP64 == lapack.isILP64); [ + gfortran + blas + lapack + ]) # KLU support is based on Suitesparse. # It is tested upstream according to the section 1.1.4 of # [INSTALL_GUIDE.pdf](https://raw.githubusercontent.com/LLNL/sundials/master/INSTALL_GUIDE.pdf) @@ -47,17 +49,22 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DEXAMPLES_INSTALL_PATH=${placeholder "out"}/share/examples" ] ++ stdenv.lib.optionals (lapackSupport) [ - "-DSUNDIALS_INDEX_TYPE=int32_t" "-DLAPACK_ENABLE=ON" "-DLAPACK_LIBRARIES=${lapack}/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary}" ] ++ stdenv.lib.optionals (kluSupport) [ "-DKLU_ENABLE=ON" "-DKLU_INCLUDE_DIR=${suitesparse.dev}/include" "-DKLU_LIBRARY_DIR=${suitesparse}/lib" - ]; + ] ++ stdenv.lib.optionals (lapackSupport && !lapack.isILP64) [ + # Use the correct index type according to lapack which is supposed to be + # the same index type compatible with blas, thanks to the assertion of + # buildInputs + "-DSUNDIALS_INDEX_TYPE=int32_t" + ] + ; doCheck = true; - checkPhase = "make test"; + checkTarget = "test"; meta = with stdenv.lib; { description = "Suite of nonlinear differential/algebraic equation solvers"; diff --git a/pkgs/development/mobile/androidenv/tools/25.nix b/pkgs/development/mobile/androidenv/tools/25.nix index 80b5858031d..7489569d507 100644 --- a/pkgs/development/mobile/androidenv/tools/25.nix +++ b/pkgs/development/mobile/androidenv/tools/25.nix @@ -3,7 +3,7 @@ deployAndroidPackage { name = "androidsdk"; buildInputs = [ autoPatchelfHook makeWrapper ] - ++ lib.optional (os == "linux") [ pkgs.glibc pkgs.xlibs.libX11 pkgs.xlibs.libXext pkgs.xlibs.libXdamage pkgs.xlibs.libxcb pkgs.xlibs.libXfixes pkgs.xlibs.libXrender pkgs.fontconfig.lib pkgs.freetype pkgs.libGL pkgs.zlib pkgs.ncurses5 pkgs.libpulseaudio pkgs_i686.glibc pkgs_i686.xlibs.libX11 pkgs_i686.xlibs.libXrender pkgs_i686.fontconfig pkgs_i686.freetype pkgs_i686.zlib ]; + ++ lib.optional (os == "linux") [ pkgs.glibc pkgs.xorg.libX11 pkgs.xorg.libXext pkgs.xorg.libXdamage pkgs.xorg.libxcb pkgs.xorg.libXfixes pkgs.xorg.libXrender pkgs.fontconfig.lib pkgs.freetype pkgs.libGL pkgs.zlib pkgs.ncurses5 pkgs.libpulseaudio pkgs_i686.glibc pkgs_i686.xorg.libX11 pkgs_i686.xorg.libXrender pkgs_i686.fontconfig pkgs_i686.freetype pkgs_i686.zlib ]; inherit package os; patchInstructions = '' @@ -41,7 +41,7 @@ deployAndroidPackage { do wrapProgram $PWD/$i \ --prefix PATH : ${pkgs.jdk8}/bin \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.xlibs.libX11 pkgs.xlibs.libXtst ]} + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.xorg.libX11 pkgs.xorg.libXtst ]} done ${lib.optionalString (os == "linux") '' diff --git a/pkgs/development/ocaml-modules/odate/default.nix b/pkgs/development/ocaml-modules/odate/default.nix new file mode 100644 index 00000000000..aed5e92765f --- /dev/null +++ b/pkgs/development/ocaml-modules/odate/default.nix @@ -0,0 +1,29 @@ +{ lib, buildDunePackage, fetchFromGitHub +, menhir +}: + +buildDunePackage rec { + pname = "odate"; + version = "0.6"; + + useDune2 = true; + + minimumOCamlVersion = "4.07"; + + src = fetchFromGitHub { + owner = "hhugo"; + repo = pname; + rev = version; + sha256 = "1dk33lr0g2jnia2gqsm6nnc7nf256qgkm3v30w477gm6y2ppfm3h"; + }; + + buildInputs = [ menhir ]; + + meta = { + description = "Date and duration in OCaml"; + inherit (src.meta) homepage; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.vbgl ]; + }; + +} diff --git a/pkgs/development/python-modules/clickhouse-cityhash/default.nix b/pkgs/development/python-modules/clickhouse-cityhash/default.nix new file mode 100644 index 00000000000..4e632cb3403 --- /dev/null +++ b/pkgs/development/python-modules/clickhouse-cityhash/default.nix @@ -0,0 +1,27 @@ +{ lib +, buildPythonPackage +, fetchPypi +, setuptools +}: + +buildPythonPackage rec { + pname = "clickhouse-cityhash"; + version = "1.0.2.3"; + + src = fetchPypi { + inherit pname version; + sha256 = "0z8nl0ly2p1h6nygwxs6y40q8y424w40fkjv3jyf8vvcg4h7sdrg"; + }; + + propagatedBuildInputs = [ setuptools ]; + + doCheck = false; + pythonImportsCheck = [ "clickhouse_cityhash" ]; + + meta = with lib; { + description = "Python-bindings for CityHash, a fast non-cryptographic hash algorithm"; + homepage = "https://github.com/xzkostyan/python-cityhash"; + license = licenses.upl; + maintainers = with maintainers; [ breakds ]; + }; +} diff --git a/pkgs/development/python-modules/clickhouse-driver/default.nix b/pkgs/development/python-modules/clickhouse-driver/default.nix new file mode 100644 index 00000000000..9cb88b5cbc9 --- /dev/null +++ b/pkgs/development/python-modules/clickhouse-driver/default.nix @@ -0,0 +1,48 @@ +{ lib +, buildPythonPackage +, fetchPypi +, setuptools +, pytz +, tzlocal +, clickhouse-cityhash +, zstd +, lz4 +, freezegun +, mock +, nose +}: + +buildPythonPackage rec { + pname = "clickhouse-driver"; + version = "0.1.5"; + + src = fetchPypi { + inherit pname version; + sha256 = "1827cm5z2zd6mxn9alq54bbzw6vhz4a30a54vacqn7nz691qs1gd"; + }; + + propagatedBuildInputs = [ + setuptools + pytz + tzlocal + clickhouse-cityhash + zstd + lz4 + ]; + + checkInputs = [ + freezegun + mock + nose + ]; + + doCheck = true; + pythonImportsCheck = [ "clickhouse_driver" ]; + + meta = with lib; { + description = "Python driver with native interface for ClickHouse"; + homepage = "https://github.com/mymarilyn/clickhouse-driver"; + license = licenses.mit; + maintainers = with maintainers; [ breakds ]; + }; +} diff --git a/pkgs/tools/networking/easyrsa/default.nix b/pkgs/tools/networking/easyrsa/default.nix index 90e05e5310b..4568aec9c5d 100644 --- a/pkgs/tools/networking/easyrsa/default.nix +++ b/pkgs/tools/networking/easyrsa/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, openssl, runtimeShell }: let - version = "3.0.0"; + version = "3.0.8"; in stdenv.mkDerivation { pname = "easyrsa"; inherit version; @@ -10,14 +10,15 @@ in stdenv.mkDerivation { owner = "OpenVPN"; repo = "easy-rsa"; rev = "v${version}"; - sha256 = "0wbdv3wmqwm5680rpb971l56xiw49adpicqshk3vhfmpvqzl4dbs"; + sha256 = "05q60s343ydh9j6hzj0840qdcq8fkyz06q68yw4pqgqg4w68rbgs"; }; patches = [ ./fix-paths.patch ]; installPhase = '' mkdir -p $out/share/easyrsa - cp -r easyrsa3/{openssl*.cnf,x509-types,vars.example} $out/share/easyrsa + cp -r easyrsa3/{*.cnf,x509-types,vars.example} $out/share/easyrsa + cp easyrsa3/openssl-easyrsa.cnf $out/share/easyrsa/safessl-easyrsa.cnf install -D -m755 easyrsa3/easyrsa $out/bin/easyrsa substituteInPlace $out/bin/easyrsa \ --subst-var out \ @@ -35,7 +36,7 @@ in stdenv.mkDerivation { description = "Simple shell based CA utility"; homepage = "https://openvpn.net/"; license = licenses.gpl2; - maintainers = [ maintainers.offline ]; + maintainers = [ maintainers.offline maintainers.numinit ]; platforms = platforms.unix; }; } diff --git a/pkgs/tools/networking/easyrsa/fix-paths.patch b/pkgs/tools/networking/easyrsa/fix-paths.patch index 82688fa7946..7891adcb20c 100644 --- a/pkgs/tools/networking/easyrsa/fix-paths.patch +++ b/pkgs/tools/networking/easyrsa/fix-paths.patch @@ -1,33 +1,49 @@ diff --git a/easyrsa3/easyrsa b/easyrsa3/easyrsa -index 6fec288..210648a 100755 +index 261336f..7b9a79b 100755 --- a/easyrsa3/easyrsa +++ b/easyrsa3/easyrsa -@@ -1003,7 +1003,7 @@ Note: using Easy-RSA configuration from: $vars" +@@ -1661,7 +1661,7 @@ Note: using Easy-RSA configuration from: $vars" # Set defaults, preferring existing env-vars if present - set_var EASYRSA "$PWD" + set_var EASYRSA "$prog_dir" - set_var EASYRSA_OPENSSL openssl + set_var EASYRSA_OPENSSL "@openssl@" - set_var EASYRSA_PKI "$EASYRSA/pki" + set_var EASYRSA_PKI "$PWD/pki" set_var EASYRSA_DN cn_only set_var EASYRSA_REQ_COUNTRY "US" -@@ -1030,13 +1030,17 @@ Note: using Easy-RSA configuration from: $vars" - # Detect openssl config, preferring EASYRSA_PKI over EASYRSA - if [ -f "$EASYRSA_PKI/openssl-1.0.cnf" ]; then - set_var EASYRSA_SSL_CONF "$EASYRSA_PKI/openssl-1.0.cnf" -- else set_var EASYRSA_SSL_CONF "$EASYRSA/openssl-1.0.cnf" -+ elif [ -f "$EASYRSA/openssl-1.0.cnf" ]; then -+ set_var EASYRSA_SSL_CONF "$EASYRSA/openssl-1.0.cnf" -+ else set_var EASYRSA_SSL_CONF "@out@/share/easyrsa/openssl-1.0.cnf" - fi +@@ -1683,16 +1683,31 @@ Note: using Easy-RSA configuration from: $vars" + set_var EASYRSA_TEMP_DIR "$EASYRSA_PKI" + set_var EASYRSA_REQ_CN ChangeMe + set_var EASYRSA_DIGEST sha256 +- set_var EASYRSA_SSL_CONF "$EASYRSA_PKI/openssl-easyrsa.cnf" +- set_var EASYRSA_SAFE_CONF "$EASYRSA_PKI/safessl-easyrsa.cnf" + set_var EASYRSA_KDC_REALM "CHANGEME.EXAMPLE.COM" ++ if [ -f "$EASYRSA_PKI/safessl-easyrsa.conf" ]; then ++ set_var EASYRSA_SAFE_CONF "$EASYRSA_PKI/safessl-easyrsa.cnf" ++ elif [ -f "$EASYRSA/safessl-easyrsa.conf" ]; then ++ set_var EASYRSA_SAFE_CONF "$EASYRSA/safessl-easyrsa.cnf" ++ elif [ -f "@out@/share/easyrsa/safessl-easyrsa.cnf" ]; then ++ set_var EASYRSA_SAFE_CONF "@out@/share/easyrsa/safessl-easyrsa.cnf" ++ fi ++ ++ if [ -f "$EASYRSA_PKI/openssl-easyrsa.conf" ]; then ++ set_var EASYRSA_SSL_CONF "$EASYRSA_PKI/openssl-easyrsa.cnf" ++ elif [ -f "$EASYRSA/openssl-easyrsa.conf" ]; then ++ set_var EASYRSA_SSL_CONF "$EASYRSA/openssl-easyrsa.cnf" ++ elif [ -f "@out@/share/easyrsa/openssl-easyrsa.cnf" ]; then ++ set_var EASYRSA_SSL_CONF "@out@/share/easyrsa/openssl-easyrsa.cnf" ++ fi ++ # Same as above for the x509-types extensions dir if [ -d "$EASYRSA_PKI/x509-types" ]; then set_var EASYRSA_EXT_DIR "$EASYRSA_PKI/x509-types" -- else set_var EASYRSA_EXT_DIR "$EASYRSA/x509-types" +- else +- #TODO: This should be removed. Not really suitable for packaging. + elif [ -d "$EASYRSA/x509-types" ]; then -+ set_var EASYRSA_EXT_DIR "$EASYRSA/x509-types" -+ else set_var EASYRSA_EXT_DIR "@out@/share/easyrsa/x509-types" + set_var EASYRSA_EXT_DIR "$EASYRSA/x509-types" ++ else ++ set_var EASYRSA_EXT_DIR "@out@/share/easyrsa/x509-types" fi # EASYRSA_ALGO_PARAMS must be set depending on selected algo diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3745c192358..d536dbb159f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2376,6 +2376,8 @@ in mapproxy = callPackage ../applications/misc/mapproxy { }; + marl = callPackage ../development/libraries/marl {}; + marlin-calc = callPackage ../tools/misc/marlin-calc {}; masscan = callPackage ../tools/security/masscan { @@ -21037,6 +21039,10 @@ in gpg-mdp = callPackage ../applications/misc/gpg-mdp { }; + greenfoot = callPackage ../applications/editors/greenfoot/default.nix { + jdk = jetbrains.jdk; + }; + gspeech = callPackage ../applications/audio/gspeech { }; icesl = callPackage ../applications/misc/icesl { }; diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 793b7b78b0e..6fe157d2ea2 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -740,6 +740,8 @@ let octavius = callPackage ../development/ocaml-modules/octavius { }; + odate = callPackage ../development/ocaml-modules/odate { }; + odoc = callPackage ../development/ocaml-modules/odoc { }; omd = callPackage ../development/ocaml-modules/omd { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 90cae4c11f2..40ec8314d9e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1215,6 +1215,10 @@ in { click-threading = callPackage ../development/python-modules/click-threading { }; + clickhouse-cityhash = callPackage ../development/python-modules/clickhouse-cityhash {}; + + clickhouse-driver = callPackage ../development/python-modules/clickhouse-driver {}; + cliff = callPackage ../development/python-modules/cliff { }; clifford = callPackage ../development/python-modules/clifford { };