Merge pull request #330634 from r-ryantm/auto-update/circumflex
[NixPkgs.git] / pkgs / servers / static-web-server / default.nix
blob3e29f5aa42d7c4ec4ae6474dd3adf1368efd9a50
2   lib,
3   rustPlatform,
4   fetchFromGitHub,
5   fetchpatch,
6   stdenv,
7   darwin,
8   nixosTests,
9 }:
11 rustPlatform.buildRustPackage rec {
12   pname = "static-web-server";
13   version = "2.32.1";
15   src = fetchFromGitHub {
16     owner = "static-web-server";
17     repo = pname;
18     rev = "v${version}";
19     hash = "sha256-PkDT6FU6JSIeeKCJeeIjjqZfoo+tGzqyPyWuIiwusQY=";
20   };
22   cargoHash = "sha256-ymI5O6j6NEcgIbMLEYgyUZBBkwxDWDWaVn4hqJScGxA=";
24   patches = [
25     (fetchpatch {
26       url = "https://github.com/static-web-server/static-web-server/pull/466.patch";
27       hash = "sha256-VYSoi6swG4nEFmGKvdEaJ05mJlxaXYsjs8cQai40P4g=";
28     })
29   ];
31   buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
33   # Some tests rely on timestamps newer than 18 Nov 1974 00:00:00
34   preCheck = ''
35     find docker/public -exec touch -m {} \;
36   '';
38   # Need to copy in the systemd units for systemd.packages to discover them
39   postInstall = ''
40     install -Dm444 -t $out/lib/systemd/system/ systemd/static-web-server.{service,socket}
41   '';
43   passthru.tests = {
44     inherit (nixosTests) static-web-server;
45   };
47   meta = with lib; {
48     description = "Asynchronous web server for static files-serving";
49     homepage = "https://static-web-server.net/";
50     changelog = "https://github.com/static-web-server/static-web-server/blob/v${version}/CHANGELOG.md";
51     license = with licenses; [
52       mit # or
53       asl20
54     ];
55     maintainers = with maintainers; [ figsoda ];
56     mainProgram = "static-web-server";
57   };