Unverified Commit 999dc2b6 authored by github-actions[bot]'s avatar github-actions[bot] Committed by GitHub
Browse files

Merge master into staging-next

parents 13988f84 e4af98e1
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -2551,6 +2551,12 @@
    githubId = 185443;
    name = "Alexey Lebedeff";
  };
  binarycat = {
      email = "binarycat@envs.net";
      github = "lolbinarycat";
      githubId = 19915050;
      name = "binarycat";
  };
  binsky = {
    email = "timo@binsky.org";
    github = "binsky08";
@@ -20839,6 +20845,13 @@
    githubId = 31734358;
    name = "Xavier Groleau";
  };
  xgwq = {
    name = "XGWQ";
    email = "nixos@xnee.de";
    matrix = "@xgwq:nerdberg.de";
    github = "peterablehmann";
    githubId = 36541313;
  };
  xiorcale = {
    email = "quentin.vaucher@pm.me";
    github = "xiorcale";
+3 −1
Original line number Diff line number Diff line
@@ -8,6 +8,8 @@ in
    services.atuin = {
      enable = lib.mkEnableOption (mdDoc "Atuin server for shell history sync");

      package = lib.mkPackageOption pkgs "atuin" { };

      openRegistration = mkOption {
        type = types.bool;
        default = false;
@@ -85,7 +87,7 @@ in
      wantedBy = [ "multi-user.target" ];

      serviceConfig = {
        ExecStart = "${pkgs.atuin}/bin/atuin server start";
        ExecStart = "${lib.getExe cfg.package} server start";
        RuntimeDirectory = "atuin";
        RuntimeDirectoryMode = "0700";
        DynamicUser = true;
+60 −5
Original line number Diff line number Diff line
{ pkgs, lib, ... }: {
{ pkgs, lib, ... }:

let
  geoserver = pkgs.geoserver;
  geoserverWithImporterExtension = pkgs.geoserver.withExtensions (ps: with ps; [ importer ]);

  # Blacklisted extensions:
  # - wps-jdbc needs a running (Postrgres) db server.
  blacklist = [ "wps-jdbc" ];

  blacklistedToNull = n: v: if ! builtins.elem n blacklist then v else null;
  getNonBlackistedExtensionsAsList = ps: builtins.filter (x: x != null) (lib.attrsets.mapAttrsToList blacklistedToNull ps);
  geoserverWithAllExtensions = pkgs.geoserver.withExtensions (ps: getNonBlackistedExtensionsAsList ps);
in
{

  name = "geoserver";
  meta = {
@@ -9,16 +23,57 @@
    machine = { pkgs, ... }: {
      virtualisation.diskSize = 2 * 1024;

      environment.systemPackages = [ pkgs.geoserver ];
      environment.systemPackages = [
        geoserver
        geoserverWithImporterExtension
        geoserverWithAllExtensions
      ];
    };
  };

  testScript = ''
    from contextlib import contextmanager

    curl_cmd = "curl --fail --connect-timeout 2"
    curl_cmd_rest = f"{curl_cmd} -u admin:geoserver -X GET"
    base_url = "http://localhost:8080/geoserver"
    log_file = "./log.txt"

    @contextmanager
    def running_geoserver(pkg):
      try:
        print(f"Launching geoserver from {pkg}...")
        machine.execute(f"{pkg}/bin/geoserver-startup > {log_file} 2>&1 &")
        machine.wait_until_succeeds(f"{curl_cmd} {base_url} 2>&1", timeout=60)
        yield
      finally:
        # We need to wait a little bit to make sure the server is properly
        # shutdown before launching a new instance.
        machine.execute(f"{pkg}/bin/geoserver-shutdown; sleep 1")

    start_all()

    machine.execute("${pkgs.geoserver}/bin/geoserver-startup > /dev/null 2>&1 &")
    machine.wait_until_succeeds("curl --fail --connect-timeout 2 http://localhost:8080/geoserver", timeout=60)
    with running_geoserver("${geoserver}"):
      machine.succeed(f"{curl_cmd} {base_url}/ows?service=WMS&version=1.3.0&request=GetCapabilities")

      # No extensions yet.
      machine.fail(f"{curl_cmd_rest} {base_url}/rest/imports")
      machine.fail(f"{curl_cmd_rest} {base_url}/rest/monitor/requests.csv")


    with running_geoserver("${geoserverWithImporterExtension}"):
      machine.succeed(f"{curl_cmd_rest} {base_url}/rest/imports")
      machine.fail(f"{curl_cmd_rest} {base_url}/rest/monitor/requests.csv")

    with running_geoserver("${geoserverWithAllExtensions}"):
      machine.succeed(f"{curl_cmd_rest} {base_url}/rest/imports")
      machine.succeed(f"{curl_cmd_rest} {base_url}/rest/monitor/requests.csv")
      _, stdout = machine.execute(f"cat {log_file}")
      print(stdout.replace("\\n", "\n"))
      assert "GDAL Native Library loaded" in stdout, "gdal"
      assert "The turbo jpeg encoder is available for usage" in stdout, "libjpeg-turbo"
      assert "org.geotools.imageio.netcdf.utilities.NetCDFUtilities" in stdout, "netcdf"
      assert "Unable to load library 'netcdf'" not in stdout, "netcdf"

    machine.succeed("curl --fail --connect-timeout 2 http://localhost:8080/geoserver/ows?service=WMS&version=1.3.0&request=GetCapabilities")
  '';
}
+2 −2
Original line number Diff line number Diff line
@@ -2,13 +2,13 @@

stdenv.mkDerivation rec {
  pname = "stochas";
  version = "1.3.9";
  version = "1.3.10";

  src = fetchFromGitHub {
    owner = "surge-synthesizer";
    repo = pname;
    rev = "v${version}";
    sha256 = "sha256-AnYViWterLBsTtd0wohff1CEwrSYA4CvOLGhJnPFUt8=";
    sha256 = "sha256-L7dzUUQNCwcuQavUx9hBH0FX5KSocfeYUv5qBcPD2Vg=";
    fetchSubmodules = true;
  };

+5 −1
Original line number Diff line number Diff line
@@ -19,6 +19,10 @@ mkDerivation rec {
    hash = "sha256-Mpx4fHktxqBAkmdwqg2pXvEgvvGUQPbgqxKwXKjhJuQ=";
  };

  patches = [
    ./openbabel.patch
  ];

  # uses C++17 APIs like std::transform_reduce
  postPatch = ''
    substituteInPlace molsketch/CMakeLists.txt \
@@ -34,7 +38,7 @@ mkDerivation rec {
  '';

  postFixup = ''
    mv $out/lib/molsketch/* $out/lib
    ln -s $out/lib/molsketch/* $out/lib/.
  '';

  nativeBuildInputs = [ cmake pkg-config qttools wrapQtAppsHook ];
Loading