diff options
Diffstat (limited to 'pkgs/applications/misc/faircamp')
-rw-r--r-- | pkgs/applications/misc/faircamp/default.nix | 56 | ||||
-rw-r--r-- | pkgs/applications/misc/faircamp/test-wav.nix | 14 |
2 files changed, 70 insertions, 0 deletions
diff --git a/pkgs/applications/misc/faircamp/default.nix b/pkgs/applications/misc/faircamp/default.nix new file mode 100644 index 0000000000000..4486381b8b346 --- /dev/null +++ b/pkgs/applications/misc/faircamp/default.nix @@ -0,0 +1,56 @@ +{ lib +, rustPlatform +, fetchgit +, makeWrapper +, ffmpeg +, callPackage +, unstableGitUpdater +}: + +rustPlatform.buildRustPackage { + pname = "faircamp"; + version = "unstable-2022-01-19"; + + # TODO when switching to a stable release, use fetchFromGitea and add a + # version test. Meanwhile, fetchgit is used to make unstableGitUpdater work. + src = fetchgit { + url = "https://codeberg.org/simonrepp/faircamp.git"; + rev = "f8ffc7a35a12251b83966b35c63f72b4912f75a9"; + sha256 = "sha256-9t42+813IPLUChbLkcwzoCr7FXSL1g+ZG6I3d+7pmec="; + }; + + cargoHash = "sha256-24ALBede3W8rjlBRdtL0aazRyK1RmNLdHF/bt5i4S5Y="; + + nativeBuildInputs = [ + makeWrapper + ]; + + postInstall = '' + wrapProgram $out/bin/faircamp \ + --prefix PATH : ${lib.makeBinPath [ ffmpeg ]} + ''; + + passthru.tests.wav = callPackage ./test-wav.nix { }; + + passthru.updateScript = unstableGitUpdater { }; + + meta = with lib; { + description = "A self-hostable, statically generated bandcamp alternative"; + longDescription = '' + Faircamp takes a directory on your disk - your Catalog - and from it + produces a fancy-looking (and technically simple and completely static) + website, which presents your music in a way similar to how popular + commercial service bandcamp does it. + + You can upload the files faircamp generates to any webspace - no database + and no programming language support (PHP or such) is required. If your + webspace supports SSH access, faircamp can be configured to upload your + website for you automatically, otherwise you can use FTP or whichever + means you prefer to do that manually. + ''; + homepage = "https://codeberg.org/simonrepp/faircamp"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ fgaz ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/misc/faircamp/test-wav.nix b/pkgs/applications/misc/faircamp/test-wav.nix new file mode 100644 index 0000000000000..8a9d2eaa2f35a --- /dev/null +++ b/pkgs/applications/misc/faircamp/test-wav.nix @@ -0,0 +1,14 @@ +{ stdenv +, faircamp +, ffmpeg +}: + +stdenv.mkDerivation { + name = "faircamp-test-wav"; + meta.timeout = 60; + buildCommand = '' + mkdir album + ${ffmpeg}/bin/ffmpeg -f lavfi -i "sine=frequency=440:duration=1" album/track.wav + ${faircamp}/bin/faircamp --build-dir $out + ''; +} |