nixpkgs/pkgs/by-name/pt/ptcollab/package.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00

63 lines
1.4 KiB
Nix

{ stdenv
, lib
, fetchFromGitHub
, nix-update-script
, libsForQt5
, libvorbis
, pkg-config
, rtmidi
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ptcollab";
version = "0.6.4.8";
src = fetchFromGitHub {
owner = "yuxshao";
repo = "ptcollab";
rev = "v${finalAttrs.version}";
hash = "sha256-9u2K79QJRfYKL66e1lsRrQMEqmKTWbK+ucal3/u4rP4=";
};
nativeBuildInputs = [
pkg-config
] ++ (with libsForQt5; [
qmake
qttools
wrapQtAppsHook
]);
buildInputs = [
libvorbis
rtmidi
] ++ (with libsForQt5; [
qtbase
qtmultimedia
]);
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
# Move appbundles to Applications before wrapping happens
mkdir $out/Applications
mv $out/{bin,Applications}/ptcollab.app
'';
postFixup = lib.optionalString stdenv.hostPlatform.isDarwin ''
# Link to now-wrapped binary inside appbundle
ln -s $out/{Applications/ptcollab.app/Contents/MacOS,bin}/ptcollab
'';
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; {
description = "Experimental pxtone editor where you can collaborate with friends";
mainProgram = "ptcollab";
homepage = "https://yuxshao.github.io/ptcollab/";
changelog = "https://github.com/yuxshao/ptcollab/releases/tag/v${finalAttrs.version}";
license = licenses.mit;
maintainers = with maintainers; [ OPNA2608 ];
platforms = platforms.all;
};
})