{
fetchurl,
fetchzip,
applyPatches,
lib,
...
}:
url,
hash ? "",
sha256 ? "",
appName ? null,
appVersion ? null,
license,
patches ? [ ],
description ? null,
homepage ? null,
unpack ? false, # whether to use fetchzip rather than fetchurl
applyPatches (
inherit patches;
src = (if unpack then fetchzip else fetchurl) {
inherit url hash sha256;
meta =
license = lib.licenses.${license};
longDescription = description;
inherit homepage;
}
// lib.optionalAttrs (description != null) {
// lib.optionalAttrs (homepage != null) {
};
prePatch = ''
if [ ! -f ./appinfo/info.xml ]; then
echo "appinfo/info.xml doesn't exist in $out, aborting!"
exit 1
fi
'';
// lib.optionalAttrs (appName != null && appVersion != null) {
name = "nextcloud-app-${appName}-${appVersion}";
)