wordpressPackages: add license information
This commit is contained in:
parent
aacf584689
commit
37d0a57684
6 changed files with 87 additions and 66 deletions
|
@ -9,12 +9,17 @@ let packages = self:
|
||||||
generatedJson = {
|
generatedJson = {
|
||||||
inherit plugins themes languages;
|
inherit plugins themes languages;
|
||||||
};
|
};
|
||||||
|
sourceJson = {
|
||||||
|
plugins = builtins.fromJSON (builtins.readFile ./wordpress-plugins.json);
|
||||||
|
themes = builtins.fromJSON (builtins.readFile ./wordpress-themes.json);
|
||||||
|
languages = builtins.fromJSON (builtins.readFile ./wordpress-languages.json);
|
||||||
|
};
|
||||||
|
|
||||||
in {
|
in {
|
||||||
# Create a generic WordPress package. Most arguments are just passed
|
# Create a generic WordPress package. Most arguments are just passed
|
||||||
# to `mkDerivation`. The version is automatically filtered for weird characters.
|
# to `mkDerivation`. The version is automatically filtered for weird characters.
|
||||||
mkWordpressDerivation = self.callPackage ({ stdenvNoCC, lib, filterWPString, gettext, wp-cli }:
|
mkWordpressDerivation = self.callPackage ({ stdenvNoCC, lib, filterWPString, gettext, wp-cli }:
|
||||||
{ type, pname, version, ... }@args:
|
{ type, pname, version, license, ... }@args:
|
||||||
assert lib.any (x: x == type) [ "plugin" "theme" "language" ];
|
assert lib.any (x: x == type) [ "plugin" "theme" "language" ];
|
||||||
stdenvNoCC.mkDerivation ({
|
stdenvNoCC.mkDerivation ({
|
||||||
pname = "wordpress-${type}-${pname}";
|
pname = "wordpress-${type}-${pname}";
|
||||||
|
@ -31,6 +36,10 @@ let packages = self:
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
wpName = pname;
|
wpName = pname;
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
license = lib.licenses.${license};
|
||||||
} // (args.passthru or {});
|
} // (args.passthru or {});
|
||||||
} // lib.optionalAttrs (type == "language") {
|
} // lib.optionalAttrs (type == "language") {
|
||||||
nativeBuildInputs = [ gettext wp-cli ];
|
nativeBuildInputs = [ gettext wp-cli ];
|
||||||
|
@ -51,9 +60,9 @@ let packages = self:
|
||||||
# Create a derivation from the official wordpress.org packages.
|
# Create a derivation from the official wordpress.org packages.
|
||||||
# This takes the type, the pname and the data generated from the go tool.
|
# This takes the type, the pname and the data generated from the go tool.
|
||||||
mkOfficialWordpressDerivation = self.callPackage ({ mkWordpressDerivation, fetchWordpress }:
|
mkOfficialWordpressDerivation = self.callPackage ({ mkWordpressDerivation, fetchWordpress }:
|
||||||
{ type, pname, data }:
|
{ type, pname, data, license }:
|
||||||
mkWordpressDerivation {
|
mkWordpressDerivation {
|
||||||
inherit type pname;
|
inherit type pname license;
|
||||||
version = data.version;
|
version = data.version;
|
||||||
|
|
||||||
src = fetchWordpress type data;
|
src = fetchWordpress type data;
|
||||||
|
@ -79,7 +88,8 @@ let packages = self:
|
||||||
throw "fetchWordpress: invalid package type ${type}";
|
throw "fetchWordpress: invalid package type ${type}";
|
||||||
}) {};
|
}) {};
|
||||||
|
|
||||||
} // lib.mapAttrs (type: pkgs: lib.makeExtensible (_: lib.mapAttrs (pname: data: self.mkOfficialWordpressDerivation { type = lib.removeSuffix "s" type; inherit pname data; }) pkgs)) generatedJson;
|
} // lib.mapAttrs (
|
||||||
|
type: pkgs: lib.makeExtensible (_: lib.mapAttrs (pname: data: self.mkOfficialWordpressDerivation {type = lib.removeSuffix "s" type; inherit pname data; license = sourceJson.${type}.${pname}; }) pkgs)) generatedJson;
|
||||||
|
|
||||||
# This creates an extensible scope.
|
# This creates an extensible scope.
|
||||||
in lib.recursiveUpdate ((lib.makeExtensible (_: (lib.makeScope newScope packages))).extend (selfWP: superWP: {})) (callPackage ./thirdparty.nix {})
|
in lib.recursiveUpdate ((lib.makeExtensible (_: (lib.makeScope newScope packages))).extend (selfWP: superWP: {})) (callPackage ./thirdparty.nix {})
|
||||||
|
|
|
@ -12,9 +12,9 @@ nixFlags="--option experimental-features nix-command eval --raw --impure --expr"
|
||||||
export NIX_PATH=nixpkgs=../../../../..
|
export NIX_PATH=nixpkgs=../../../../..
|
||||||
export WP_VERSION=$(nix $nixFlags '(import <nixpkgs> {}).wordpress.version')
|
export WP_VERSION=$(nix $nixFlags '(import <nixpkgs> {}).wordpress.version')
|
||||||
|
|
||||||
PLUGINS=`cat wordpress-plugins.json | jq -r '.[]' | sed -z 's/\n/,/g;s/,$/\n/'`
|
PLUGINS=`cat wordpress-plugins.json | jq -r 'keys|.[]' | sed -z 's/\n/,/g;s/,$/\n/'`
|
||||||
THEMES=`cat wordpress-themes.json | jq -r '.[]' | sed -z 's/\n/,/g;s/,$/\n/'`
|
THEMES=`cat wordpress-themes.json | jq -r 'keys|.[]' | sed -z 's/\n/,/g;s/,$/\n/'`
|
||||||
LANGUAGES=`cat wordpress-languages.json | jq -r '.[]' | sed -z 's/\n/,/g;s/,$/\n/'`
|
LANGUAGES=`cat wordpress-languages.json | jq -r 'keys|.[]' | sed -z 's/\n/,/g;s/,$/\n/'`
|
||||||
|
|
||||||
wp4nix -p $PLUGINS -pl en
|
wp4nix -p $PLUGINS -pl en
|
||||||
wp4nix -t $THEMES -tl en
|
wp4nix -t $THEMES -tl en
|
||||||
|
|
|
@ -1,14 +1,25 @@
|
||||||
{fetchzip}: {
|
{fetchzip, stdenv, lib}: {
|
||||||
plugins.civicrm = fetchzip rec {
|
plugins.civicrm = stdenv.mkDerivation rec {
|
||||||
name = "civicrm";
|
pname = "civicrm";
|
||||||
version = "5.56.0";
|
version = "5.56.0";
|
||||||
url = "https://storage.googleapis.com/${name}/${name}-stable/${version}/${name}-${version}-wordpress.zip";
|
src = fetchzip {
|
||||||
|
inherit version;
|
||||||
|
name = pname;
|
||||||
|
url = "https://storage.googleapis.com/${pname}/${pname}-stable/${version}/${pname}-${version}-wordpress.zip";
|
||||||
hash = "sha256-XsNFxVL0LF+OHlsqjjTV41x9ERLwMDq9BnKKP3Px2aI=";
|
hash = "sha256-XsNFxVL0LF+OHlsqjjTV41x9ERLwMDq9BnKKP3Px2aI=";
|
||||||
};
|
};
|
||||||
themes.geist = fetchzip rec {
|
meta.license = lib.licenses.agpl3Only;
|
||||||
name = "geist";
|
};
|
||||||
|
themes.geist = stdenv.mkDerivation rec {
|
||||||
|
pname = "geist";
|
||||||
version = "2.0.3";
|
version = "2.0.3";
|
||||||
|
src = fetchzip {
|
||||||
|
inherit version;
|
||||||
|
name = pname;
|
||||||
url = "https://github.com/christophery/geist/archive/refs/tags/${version}.zip";
|
url = "https://github.com/christophery/geist/archive/refs/tags/${version}.zip";
|
||||||
hash = "sha256-c85oRhqu5E5IJlpgqKJRQITur1W7x40obOvHZbPevzU=";
|
hash = "sha256-c85oRhqu5E5IJlpgqKJRQITur1W7x40obOvHZbPevzU=";
|
||||||
};
|
};
|
||||||
|
meta.license = lib.licenses.gpl2Only;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
[
|
{
|
||||||
"de_DE"
|
"de_DE": "gpl2Plus"
|
||||||
, "fr_FR"
|
, "fr_FR": "gpl2Plus"
|
||||||
, "ro_RO"
|
, "ro_RO": "gpl2Plus"
|
||||||
]
|
}
|
||||||
|
|
|
@ -1,38 +1,38 @@
|
||||||
[
|
{
|
||||||
"add-widget-after-content"
|
"add-widget-after-content": "gpl3Plus"
|
||||||
, "akismet"
|
, "akismet": "gpl2Plus"
|
||||||
, "antispam-bee"
|
, "antispam-bee": "gpl2Plus"
|
||||||
, "async-javascript"
|
, "async-javascript": "gpl2Plus"
|
||||||
, "breeze"
|
, "breeze": "gpl2Plus"
|
||||||
, "code-syntax-block"
|
, "code-syntax-block": "gpl2Plus"
|
||||||
, "cookie-notice"
|
, "cookie-notice": "mit"
|
||||||
, "co-authors-plus"
|
, "co-authors-plus": "gpl2Plus"
|
||||||
, "disable-xml-rpc"
|
, "disable-xml-rpc": "gpl2Plus"
|
||||||
, "embed-extended"
|
, "embed-extended": "gpl2Plus"
|
||||||
, "gutenberg"
|
, "gutenberg": "gpl2Plus"
|
||||||
, "hello-dolly"
|
, "hello-dolly": "gpl2Plus"
|
||||||
, "hkdev-maintenance-mode"
|
, "hkdev-maintenance-mode": "gpl2Plus"
|
||||||
, "jetpack"
|
, "jetpack": "gpl2Plus"
|
||||||
, "jetpack-lite"
|
, "jetpack-lite": "gpl2Only"
|
||||||
, "lightbox-photoswipe"
|
, "lightbox-photoswipe": "gpl2Only"
|
||||||
, "login-lockdown"
|
, "login-lockdown": "gpl2Plus"
|
||||||
, "mailpoet"
|
, "mailpoet": "gpl3Only"
|
||||||
, "merge-minify-refresh"
|
, "merge-minify-refresh": "gpl2Plus"
|
||||||
, "opengraph"
|
, "opengraph": "asl20"
|
||||||
, "simple-login-captcha"
|
, "simple-login-captcha": "gpl2Plus"
|
||||||
, "simple-mastodon-verification"
|
, "simple-mastodon-verification": "gpl2Plus"
|
||||||
, "static-mail-sender-configurator"
|
, "static-mail-sender-configurator": "mit"
|
||||||
, "tc-custom-javascript"
|
, "tc-custom-javascript": "gpl2Plus"
|
||||||
, "webp-converter-for-media"
|
, "webp-converter-for-media": "gpl2Plus"
|
||||||
, "webp-express"
|
, "webp-express": "gpl3Only"
|
||||||
, "wordpress-seo"
|
, "wordpress-seo": "gpl3Only"
|
||||||
, "worker"
|
, "worker": "gpl3Plus"
|
||||||
, "wp-change-email-sender"
|
, "wp-change-email-sender": "gpl2Plus"
|
||||||
, "wp-fastest-cache"
|
, "wp-fastest-cache": "gpl2Plus"
|
||||||
, "wp-gdpr-compliance"
|
, "wp-gdpr-compliance": "gpl2Plus"
|
||||||
, "wp-mail-smtp"
|
, "wp-mail-smtp": "gpl3Plus"
|
||||||
, "wp-statistics"
|
, "wp-statistics": "gpl3Only"
|
||||||
, "wp-swiper"
|
, "wp-swiper": "gpl2Plus"
|
||||||
, "wp-user-avatars"
|
, "wp-user-avatars": "gpl2Plus"
|
||||||
, "wpforms-lite"
|
, "wpforms-lite": "gpl2Plus"
|
||||||
]
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
[
|
{
|
||||||
"twentynineteen"
|
"twentynineteen": "gpl2Plus"
|
||||||
, "twentytwenty"
|
, "twentytwenty": "gpl2Plus"
|
||||||
, "twentytwentytwo"
|
, "twentytwentytwo": "gpl2Plus"
|
||||||
, "twentytwentyone"
|
, "twentytwentyone": "gpl2Plus"
|
||||||
, "twentytwentythree"
|
, "twentytwentythree": "gpl2Plus"
|
||||||
]
|
}
|
||||||
|
|
Loading…
Reference in a new issue