drone: add option to build oss edition

By default drone is distributed under an unfree license that only
permits non-commercial or evaluation use. To build the OSS edition, two
tags have to be passed as build flags. This commit adds an option to
build the OSS edition to the package and defines drone-oss as an alias
for this.
This commit is contained in:
Simon Bruder 2021-03-30 17:16:22 +02:00
parent 8c3cecb457
commit d04389aeb2
No known key found for this signature in database
GPG key ID: 8D3C82F9F309F8EC
2 changed files with 11 additions and 3 deletions

View file

@ -1,7 +1,8 @@
{ lib, fetchFromGitHub, buildGoModule }: { lib, fetchFromGitHub, buildGoModule
, enableUnfree ? true }:
buildGoModule rec { buildGoModule rec {
name = "drone.io-${version}"; pname = "drone.io${lib.optionalString (!enableUnfree) "-oss"}";
version = "1.10.0"; version = "1.10.0";
vendorSha256 = "sha256-cKHX/GnvGELQBfoo0/1UmDQ4Z66GGnnHG7+1CzjinL0="; vendorSha256 = "sha256-cKHX/GnvGELQBfoo0/1UmDQ4Z66GGnnHG7+1CzjinL0=";
@ -15,9 +16,13 @@ buildGoModule rec {
sha256 = "sha256-12Jac+mXWdUX8gWvmpdO9ROv7Bi0YzvyqnNDVNJOr34="; sha256 = "sha256-12Jac+mXWdUX8gWvmpdO9ROv7Bi0YzvyqnNDVNJOr34=";
}; };
preBuild = ''
buildFlagsArray+=( "-tags" "${lib.optionalString (!enableUnfree) "oss nolimit"}" )
'';
meta = with lib; { meta = with lib; {
maintainers = with maintainers; [ elohmeier vdemeester ]; maintainers = with maintainers; [ elohmeier vdemeester ];
license = licenses.asl20; license = with licenses; if enableUnfree then unfreeRedistributable else asl20;
description = "Continuous Integration platform built on container technology"; description = "Continuous Integration platform built on container technology";
}; };
} }

View file

@ -3869,6 +3869,9 @@ in
}; };
drone = callPackage ../development/tools/continuous-integration/drone { }; drone = callPackage ../development/tools/continuous-integration/drone { };
drone-oss = callPackage ../development/tools/continuous-integration/drone {
enableUnfree = false;
};
drone-cli = callPackage ../development/tools/continuous-integration/drone-cli { }; drone-cli = callPackage ../development/tools/continuous-integration/drone-cli { };