Merge master into haskell-updates
This commit is contained in:
commit
ed251f3eb4
|
@ -174,6 +174,11 @@ in mkLicense lset) ({
|
|||
free = false;
|
||||
};
|
||||
|
||||
cal10 = {
|
||||
fullName = "Cryptographic Autonomy License version 1.0 (CAL-1.0)";
|
||||
url = "https://opensource.org/licenses/CAL-1.0";
|
||||
};
|
||||
|
||||
capec = {
|
||||
fullName = "Common Attack Pattern Enumeration and Classification";
|
||||
url = "https://capec.mitre.org/about/termsofuse.html";
|
||||
|
|
|
@ -4833,6 +4833,15 @@
|
|||
fingerprint = "386E D1BF 848A BB4A 6B4A 3C45 FC83 907C 125B C2BC";
|
||||
}];
|
||||
};
|
||||
georgesalkhouri = {
|
||||
name = "Georges Alkhouri";
|
||||
email = "incense.stitch_0w@icloud.com";
|
||||
github = "GeorgesAlkhouri";
|
||||
githubId = 6077574;
|
||||
keys = [{
|
||||
fingerprint = "1608 9E8D 7C59 54F2 6A7A 7BD0 8BD2 09DC C54F D339";
|
||||
}];
|
||||
};
|
||||
georgewhewell = {
|
||||
email = "georgerw@gmail.com";
|
||||
github = "georgewhewell";
|
||||
|
@ -9534,6 +9543,12 @@
|
|||
github = "nessdoor";
|
||||
githubId = 25993494;
|
||||
};
|
||||
net-mist = {
|
||||
email = "archimist.linux@gmail.com";
|
||||
github = "Net-Mist";
|
||||
githubId = 13920346;
|
||||
name = "Sébastien Iooss";
|
||||
};
|
||||
netali = {
|
||||
name = "Jennifer Graul";
|
||||
email = "me@netali.de";
|
||||
|
@ -15396,6 +15411,12 @@
|
|||
github = "jali-clarke";
|
||||
githubId = 17733984;
|
||||
};
|
||||
wesleyjrz = {
|
||||
email = "wesleyjr2002@gmail.com";
|
||||
name = "Wesley V. Santos Jr.";
|
||||
github = "wesleyjrz";
|
||||
githubId = 60184588;
|
||||
};
|
||||
npatsakula = {
|
||||
email = "nikita.patsakula@gmail.com";
|
||||
name = "Patsakula Nikita";
|
||||
|
|
|
@ -15,6 +15,8 @@
|
|||
- `scope` describes the scope of the group.
|
||||
- `shortName` short human-readable name
|
||||
- `enableFeatureFreezePing` will ping this team during the Feature Freeze announcements on releases
|
||||
- There is limited mention capacity in a single post, so this should be reserved for critical components
|
||||
or larger ecosystems within nixpkgs.
|
||||
- `githubTeams` will ping specified GitHub teams as well
|
||||
|
||||
More fields may be added in the future.
|
||||
|
@ -38,6 +40,7 @@ with lib.maintainers; {
|
|||
];
|
||||
scope = "Maintain ACME-related packages and modules.";
|
||||
shortName = "ACME";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
bazel = {
|
||||
|
@ -90,7 +93,6 @@ with lib.maintainers; {
|
|||
];
|
||||
scope = "Maintain Blockchain packages and modules.";
|
||||
shortName = "Blockchains";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
c = {
|
||||
|
@ -111,7 +113,6 @@ with lib.maintainers; {
|
|||
];
|
||||
scope = "Maintain packages used in the C3D2 hackspace";
|
||||
shortName = "c3d2";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
cinnamon = {
|
||||
|
@ -202,7 +203,6 @@ with lib.maintainers; {
|
|||
];
|
||||
scope = "Maintain Docker and related tools.";
|
||||
shortName = "DockerTools";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
docs = {
|
||||
|
@ -220,7 +220,6 @@ with lib.maintainers; {
|
|||
];
|
||||
scope = "Maintain the Emacs editor and packages.";
|
||||
shortName = "Emacs";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
enlightenment = {
|
||||
|
@ -426,6 +425,7 @@ with lib.maintainers; {
|
|||
];
|
||||
scope = "Maintain Mate desktop environment and related packages.";
|
||||
shortName = "MATE";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
matrix = {
|
||||
|
@ -448,7 +448,6 @@ with lib.maintainers; {
|
|||
];
|
||||
scope = "Maintain Mobile NixOS.";
|
||||
shortName = "Mobile";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
nix = {
|
||||
|
@ -483,7 +482,6 @@ with lib.maintainers; {
|
|||
tazjin
|
||||
zimbatm
|
||||
];
|
||||
enableFeatureFreezePing = true;
|
||||
scope = "Group registration for Numtide team members who collectively maintain packages.";
|
||||
shortName = "Numtide team";
|
||||
};
|
||||
|
@ -548,7 +546,6 @@ with lib.maintainers; {
|
|||
];
|
||||
scope = "Maintain Podman and CRI-O related packages and modules.";
|
||||
shortName = "Podman";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
postgres = {
|
||||
|
@ -557,7 +554,6 @@ with lib.maintainers; {
|
|||
];
|
||||
scope = "Maintain the PostgreSQL package and plugins along with the NixOS module.";
|
||||
shortName = "PostgreSQL";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
python = {
|
||||
|
@ -610,7 +606,6 @@ with lib.maintainers; {
|
|||
];
|
||||
scope = "Manage the current nixpkgs/NixOS release.";
|
||||
shortName = "Release";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
ruby = {
|
||||
|
@ -699,7 +694,6 @@ with lib.maintainers; {
|
|||
];
|
||||
scope = "Maintain the vim and neovim text editors and related packages.";
|
||||
shortName = "Vim/Neovim";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
xfce = {
|
||||
|
@ -708,5 +702,6 @@ with lib.maintainers; {
|
|||
];
|
||||
scope = "Maintain Xfce desktop environment and related packages.";
|
||||
shortName = "Xfce";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -194,6 +194,13 @@
|
|||
<link linkend="opt-services.komga.enable">services.komga</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://tandoor.dev">Tandoor Recipes</link>,
|
||||
a self-hosted multi-tenant recipe collection. Available as
|
||||
<link xlink:href="options.html#opt-services.tandoor-recipes.enable">services.tandoor-recipes</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://hbase.apache.org/">HBase
|
||||
|
|
|
@ -72,6 +72,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
|
||||
- [Komga](https://komga.org/), a free and open source comics/mangas media server. Available as [services.komga](#opt-services.komga.enable).
|
||||
|
||||
- [Tandoor Recipes](https://tandoor.dev), a self-hosted multi-tenant recipe collection. Available as [services.tandoor-recipes](options.html#opt-services.tandoor-recipes.enable).
|
||||
|
||||
- [HBase cluster](https://hbase.apache.org/), a distributed, scalable, big data store. Available as [services.hadoop.hbase](options.html#opt-services.hadoop.hbase.enable).
|
||||
|
||||
- [Sachet](https://github.com/messagebird/sachet/), an SMS alerting tool for the Prometheus Alertmanager. Available as [services.prometheus.sachet](#opt-services.prometheus.sachet.enable).
|
||||
|
|
|
@ -653,6 +653,7 @@
|
|||
./services/misc/svnserve.nix
|
||||
./services/misc/synergy.nix
|
||||
./services/misc/sysprof.nix
|
||||
./services/misc/tandoor-recipes.nix
|
||||
./services/misc/taskserver
|
||||
./services/misc/tiddlywiki.nix
|
||||
./services/misc/tp-auto-kbbl.nix
|
||||
|
@ -721,7 +722,7 @@
|
|||
./services/network-filesystems/drbd.nix
|
||||
./services/network-filesystems/glusterfs.nix
|
||||
./services/network-filesystems/kbfs.nix
|
||||
./services/network-filesystems/ipfs.nix
|
||||
./services/network-filesystems/kubo.nix
|
||||
./services/network-filesystems/litestream/default.nix
|
||||
./services/network-filesystems/netatalk.nix
|
||||
./services/network-filesystems/nfsd.nix
|
||||
|
|
144
nixos/modules/services/misc/tandoor-recipes.nix
Normal file
144
nixos/modules/services/misc/tandoor-recipes.nix
Normal file
|
@ -0,0 +1,144 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.tandoor-recipes;
|
||||
pkg = cfg.package;
|
||||
|
||||
# SECRET_KEY through an env file
|
||||
env = {
|
||||
GUNICORN_CMD_ARGS = "--bind=${cfg.address}:${toString cfg.port}";
|
||||
DEBUG = "0";
|
||||
MEDIA_ROOT = "/var/lib/tandoor-recipes";
|
||||
} // optionalAttrs (config.time.timeZone != null) {
|
||||
TIMEZONE = config.time.timeZone;
|
||||
} // (
|
||||
lib.mapAttrs (_: toString) cfg.extraConfig
|
||||
);
|
||||
|
||||
manage =
|
||||
let
|
||||
setupEnv = lib.concatStringsSep "\n" (mapAttrsToList (name: val: "export ${name}=\"${val}\"") env);
|
||||
in
|
||||
pkgs.writeShellScript "manage" ''
|
||||
${setupEnv}
|
||||
exec ${pkg}/bin/tandoor-recipes "$@"
|
||||
'';
|
||||
in
|
||||
{
|
||||
meta.maintainers = with maintainers; [ ambroisie ];
|
||||
|
||||
options.services.tandoor-recipes = {
|
||||
enable = mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Enable Tandoor Recipes.
|
||||
|
||||
When started, the Tandoor Recipes database is automatically created if
|
||||
it doesn't exist and updated if the package has changed. Both tasks are
|
||||
achieved by running a Django migration.
|
||||
|
||||
A script to manage the instance (by wrapping Django's manage.py) is linked to
|
||||
`/var/lib/tandoor-recipes/tandoor-recipes-manage`.
|
||||
'';
|
||||
};
|
||||
|
||||
address = mkOption {
|
||||
type = types.str;
|
||||
default = "localhost";
|
||||
description = lib.mdDoc "Web interface address.";
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 8080;
|
||||
description = lib.mdDoc "Web interface port.";
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.attrs;
|
||||
default = { };
|
||||
description = lib.mdDoc ''
|
||||
Extra tandoor recipes config options.
|
||||
|
||||
See [the example dot-env file](https://raw.githubusercontent.com/vabene1111/recipes/master/.env.template)
|
||||
for available options.
|
||||
'';
|
||||
example = {
|
||||
ENABLE_SIGNUP = "1";
|
||||
};
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.tandoor-recipes;
|
||||
defaultText = literalExpression "pkgs.tandoor-recipes";
|
||||
description = lib.mdDoc "The Tandoor Recipes package to use.";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.tandoor-recipes = {
|
||||
description = "Tandoor Recipes server";
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = ''
|
||||
${pkg.python.pkgs.gunicorn}/bin/gunicorn recipes.wsgi
|
||||
'';
|
||||
Restart = "on-failure";
|
||||
|
||||
User = "tandoor_recipes";
|
||||
DynamicUser = true;
|
||||
StateDirectory = "tandoor-recipes";
|
||||
WorkingDirectory = "/var/lib/tandoor-recipes";
|
||||
RuntimeDirectory = "tandoor-recipes";
|
||||
|
||||
BindReadOnlyPaths = [
|
||||
"${config.environment.etc."ssl/certs/ca-certificates.crt".source}:/etc/ssl/certs/ca-certificates.crt"
|
||||
builtins.storeDir
|
||||
"-/etc/resolv.conf"
|
||||
"-/etc/nsswitch.conf"
|
||||
"-/etc/hosts"
|
||||
"-/etc/localtime"
|
||||
"-/run/postgresql"
|
||||
];
|
||||
CapabilityBoundingSet = "";
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
PrivateDevices = true;
|
||||
PrivateUsers = true;
|
||||
ProtectClock = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectHome = true;
|
||||
ProtectHostname = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ];
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
SystemCallArchitectures = "native";
|
||||
# gunicorn needs setuid
|
||||
SystemCallFilter = [ "@system-service" "~@privileged" "@resources" "@setuid" "@keyring" ];
|
||||
UMask = "0066";
|
||||
} // lib.optionalAttrs (cfg.port < 1024) {
|
||||
AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ];
|
||||
CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ];
|
||||
};
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
preStart = ''
|
||||
ln -sf ${manage} tandoor-recipes-manage
|
||||
|
||||
# Let django migrate the DB as needed
|
||||
${pkg}/bin/tandoor-recipes migrate
|
||||
'';
|
||||
|
||||
environment = env // {
|
||||
PYTHONPATH = "${pkg.python.pkgs.makePythonPath pkg.propagatedBuildInputs}:${pkg}/lib/tandoor-recipes";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
{ config, lib, pkgs, utils, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.ipfs;
|
||||
cfg = config.services.kubo;
|
||||
|
||||
ipfsFlags = utils.escapeSystemdExecArgs (
|
||||
kuboFlags = utils.escapeSystemdExecArgs (
|
||||
optional cfg.autoMount "--mount" ++
|
||||
optional cfg.enableGC "--enable-gc" ++
|
||||
optional (cfg.serviceFdlimit != null) "--manage-fdlimit=false" ++
|
||||
|
@ -50,27 +50,27 @@ in
|
|||
|
||||
options = {
|
||||
|
||||
services.ipfs = {
|
||||
services.kubo = {
|
||||
|
||||
enable = mkEnableOption (lib.mdDoc "Interplanetary File System (WARNING: may cause severe network degredation)");
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.ipfs;
|
||||
defaultText = literalExpression "pkgs.ipfs";
|
||||
description = lib.mdDoc "Which IPFS package to use.";
|
||||
default = pkgs.kubo;
|
||||
defaultText = literalExpression "pkgs.kubo";
|
||||
description = lib.mdDoc "Which Kubo package to use.";
|
||||
};
|
||||
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
default = "ipfs";
|
||||
description = lib.mdDoc "User under which the IPFS daemon runs";
|
||||
description = lib.mdDoc "User under which the Kubo daemon runs";
|
||||
};
|
||||
|
||||
group = mkOption {
|
||||
type = types.str;
|
||||
default = "ipfs";
|
||||
description = lib.mdDoc "Group under which the IPFS daemon runs";
|
||||
description = lib.mdDoc "Group under which the Kubo daemon runs";
|
||||
};
|
||||
|
||||
dataDir = mkOption {
|
||||
|
@ -84,7 +84,7 @@ in
|
|||
then "/var/lib/ipfs"
|
||||
else "/var/lib/ipfs/.ipfs"
|
||||
'';
|
||||
description = lib.mdDoc "The data dir for IPFS";
|
||||
description = lib.mdDoc "The data dir for Kubo";
|
||||
};
|
||||
|
||||
defaultMode = mkOption {
|
||||
|
@ -96,13 +96,13 @@ in
|
|||
autoMount = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc "Whether IPFS should try to mount /ipfs and /ipns at startup.";
|
||||
description = lib.mdDoc "Whether Kubo should try to mount /ipfs and /ipns at startup.";
|
||||
};
|
||||
|
||||
autoMigrate = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc "Whether IPFS should try to run the fs-repo-migration at startup.";
|
||||
description = lib.mdDoc "Whether Kubo should try to run the fs-repo-migration at startup.";
|
||||
};
|
||||
|
||||
ipfsMountDir = mkOption {
|
||||
|
@ -126,7 +126,7 @@ in
|
|||
apiAddress = mkOption {
|
||||
type = types.str;
|
||||
default = "/ip4/127.0.0.1/tcp/5001";
|
||||
description = lib.mdDoc "Where IPFS exposes its API to";
|
||||
description = lib.mdDoc "Where Kubo exposes its API to";
|
||||
};
|
||||
|
||||
swarmAddress = mkOption {
|
||||
|
@ -137,7 +137,7 @@ in
|
|||
"/ip4/0.0.0.0/udp/4001/quic"
|
||||
"/ip6/::/udp/4001/quic"
|
||||
];
|
||||
description = lib.mdDoc "Where IPFS listens for incoming p2p connections";
|
||||
description = lib.mdDoc "Where Kubo listens for incoming p2p connections";
|
||||
};
|
||||
|
||||
enableGC = mkOption {
|
||||
|
@ -174,14 +174,14 @@ in
|
|||
|
||||
extraFlags = mkOption {
|
||||
type = types.listOf types.str;
|
||||
description = lib.mdDoc "Extra flags passed to the IPFS daemon";
|
||||
description = lib.mdDoc "Extra flags passed to the Kubo daemon";
|
||||
default = [ ];
|
||||
};
|
||||
|
||||
localDiscovery = mkOption {
|
||||
type = types.bool;
|
||||
description = lib.mdDoc ''Whether to enable local discovery for the ipfs daemon.
|
||||
This will allow ipfs to scan ports on your local network. Some hosting services will ban you if you do this.
|
||||
description = lib.mdDoc ''Whether to enable local discovery for the Kubo daemon.
|
||||
This will allow Kubo to scan ports on your local network. Some hosting services will ban you if you do this.
|
||||
'';
|
||||
default = false;
|
||||
};
|
||||
|
@ -189,14 +189,14 @@ in
|
|||
serviceFdlimit = mkOption {
|
||||
type = types.nullOr types.int;
|
||||
default = null;
|
||||
description = lib.mdDoc "The fdlimit for the IPFS systemd unit or `null` to have the daemon attempt to manage it";
|
||||
description = lib.mdDoc "The fdlimit for the Kubo systemd unit or `null` to have the daemon attempt to manage it";
|
||||
example = 64 * 1024;
|
||||
};
|
||||
|
||||
startWhenNeeded = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc "Whether to use socket activation to start IPFS when needed.";
|
||||
description = lib.mdDoc "Whether to use socket activation to start Kubo when needed.";
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -223,7 +223,7 @@ in
|
|||
uid = config.ids.uids.ipfs;
|
||||
description = "IPFS daemon user";
|
||||
packages = [
|
||||
pkgs.ipfs-migrator
|
||||
pkgs.kubo-migrator
|
||||
];
|
||||
};
|
||||
};
|
||||
|
@ -255,7 +255,7 @@ in
|
|||
# After an unclean shutdown this file may exist which will cause the config command to attempt to talk to the daemon. This will hang forever if systemd is holding our sockets open.
|
||||
rm -vf "$IPFS_PATH/api"
|
||||
'' + optionalString cfg.autoMigrate ''
|
||||
${pkgs.ipfs-migrator}/bin/fs-repo-migrations -to '${cfg.package.repoVersion}' -y
|
||||
${pkgs.kubo-migrator}/bin/fs-repo-migrations -to '${cfg.package.repoVersion}' -y
|
||||
'' + ''
|
||||
ipfs --offline config profile apply ${profile} >/dev/null
|
||||
fi
|
||||
|
@ -279,7 +279,7 @@ in
|
|||
| ipfs --offline config replace -
|
||||
'';
|
||||
serviceConfig = {
|
||||
ExecStart = [ "" "${cfg.package}/bin/ipfs daemon ${ipfsFlags}" ];
|
||||
ExecStart = [ "" "${cfg.package}/bin/ipfs daemon ${kuboFlags}" ];
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
StateDirectory = "";
|
||||
|
@ -320,4 +320,27 @@ in
|
|||
meta = {
|
||||
maintainers = with lib.maintainers; [ Luflosi ];
|
||||
};
|
||||
|
||||
imports = [
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "enable" ] [ "services" "kubo" "enable" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "package" ] [ "services" "kubo" "package" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "user" ] [ "services" "kubo" "user" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "group" ] [ "services" "kubo" "group" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "dataDir" ] [ "services" "kubo" "dataDir" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "defaultMode" ] [ "services" "kubo" "defaultMode" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "autoMount" ] [ "services" "kubo" "autoMount" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "autoMigrate" ] [ "services" "kubo" "autoMigrate" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "ipfsMountDir" ] [ "services" "kubo" "ipfsMountDir" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "ipnsMountDir" ] [ "services" "kubo" "ipnsMountDir" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "gatewayAddress" ] [ "services" "kubo" "gatewayAddress" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "apiAddress" ] [ "services" "kubo" "apiAddress" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "swarmAddress" ] [ "services" "kubo" "swarmAddress" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "enableGC" ] [ "services" "kubo" "enableGC" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "emptyRepo" ] [ "services" "kubo" "emptyRepo" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "extraConfig" ] [ "services" "kubo" "extraConfig" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "extraFlags" ] [ "services" "kubo" "extraFlags" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "localDiscovery" ] [ "services" "kubo" "localDiscovery" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "serviceFdlimit" ] [ "services" "kubo" "serviceFdlimit" ])
|
||||
(mkRenamedOptionModule [ "services" "ipfs" "startWhenNeeded" ] [ "services" "kubo" "startWhenNeeded" ])
|
||||
];
|
||||
}
|
|
@ -22,42 +22,14 @@ let
|
|||
favorite-apps=[ 'org.gnome.Epiphany.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop' ]
|
||||
'';
|
||||
|
||||
nixos-background-ligtht = pkgs.nixos-artwork.wallpapers.simple-blue;
|
||||
nixos-background-light = pkgs.nixos-artwork.wallpapers.simple-blue;
|
||||
nixos-background-dark = pkgs.nixos-artwork.wallpapers.simple-dark-gray;
|
||||
|
||||
nixos-gsettings-desktop-schemas = let
|
||||
defaultPackages = with pkgs; [ gsettings-desktop-schemas gnome.gnome-shell ];
|
||||
in
|
||||
pkgs.runCommand "nixos-gsettings-desktop-schemas" { preferLocalBuild = true; }
|
||||
''
|
||||
mkdir -p $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
|
||||
|
||||
${concatMapStrings
|
||||
(pkg: "cp -rf ${pkg}/share/gsettings-schemas/*/glib-2.0/schemas/*.xml $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas\n")
|
||||
(defaultPackages ++ cfg.extraGSettingsOverridePackages)}
|
||||
|
||||
cp -f ${pkgs.gnome.gnome-shell}/share/gsettings-schemas/*/glib-2.0/schemas/*.gschema.override $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
|
||||
|
||||
${optionalString flashbackEnabled ''
|
||||
cp -f ${pkgs.gnome.gnome-flashback}/share/gsettings-schemas/*/glib-2.0/schemas/*.gschema.override $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
|
||||
''}
|
||||
|
||||
chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides
|
||||
cat - > $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/nixos-defaults.gschema.override <<- EOF
|
||||
[org.gnome.desktop.background]
|
||||
picture-uri='file://${nixos-background-ligtht.gnomeFilePath}'
|
||||
picture-uri-dark='file://${nixos-background-dark.gnomeFilePath}'
|
||||
|
||||
[org.gnome.desktop.screensaver]
|
||||
picture-uri='file://${nixos-background-dark.gnomeFilePath}'
|
||||
|
||||
${cfg.favoriteAppsOverride}
|
||||
|
||||
${cfg.extraGSettingsOverrides}
|
||||
EOF
|
||||
|
||||
${pkgs.glib.dev}/bin/glib-compile-schemas $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/
|
||||
'';
|
||||
# TODO: Having https://github.com/NixOS/nixpkgs/issues/54150 would supersede this
|
||||
nixos-gsettings-desktop-schemas = pkgs.gnome.nixos-gsettings-overrides.override {
|
||||
inherit (cfg) extraGSettingsOverrides extraGSettingsOverridePackages favoriteAppsOverride;
|
||||
inherit flashbackEnabled nixos-background-dark nixos-background-light;
|
||||
};
|
||||
|
||||
nixos-background-info = pkgs.writeTextFile rec {
|
||||
name = "nixos-background-info";
|
||||
|
@ -67,7 +39,7 @@ let
|
|||
<wallpapers>
|
||||
<wallpaper deleted="false">
|
||||
<name>Blobs</name>
|
||||
<filename>${nixos-background-ligtht.gnomeFilePath}</filename>
|
||||
<filename>${nixos-background-light.gnomeFilePath}</filename>
|
||||
<filename-dark>${nixos-background-dark.gnomeFilePath}</filename-dark>
|
||||
<options>zoom</options>
|
||||
<shade_type>solid</shade_type>
|
||||
|
|
|
@ -156,6 +156,14 @@ let cfg = config.services.xserver.libinput;
|
|||
'';
|
||||
};
|
||||
|
||||
tappingButtonMap = mkOption {
|
||||
type = types.nullOr (types.enum [ "lrm" "lmr" ]);
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
Set the button mapping for 1/2/3-finger taps to left/right/middle or left/middle/right, respectively.
|
||||
'';
|
||||
};
|
||||
|
||||
tappingDragLock = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
|
@ -220,6 +228,7 @@ let cfg = config.services.xserver.libinput;
|
|||
Option "HorizontalScrolling" "${xorgBool cfg.${deviceType}.horizontalScrolling}"
|
||||
Option "SendEventsMode" "${cfg.${deviceType}.sendEventsMode}"
|
||||
Option "Tapping" "${xorgBool cfg.${deviceType}.tapping}"
|
||||
${optionalString (cfg.${deviceType}.tappingButtonMap != null) ''Option "TappingButtonMap" "${cfg.${deviceType}.tappingButtonMap}"''}
|
||||
Option "TappingDragLock" "${xorgBool cfg.${deviceType}.tappingDragLock}"
|
||||
Option "DisableWhileTyping" "${xorgBool cfg.${deviceType}.disableWhileTyping}"
|
||||
${cfg.${deviceType}.additionalOptions}
|
||||
|
@ -241,6 +250,7 @@ in {
|
|||
"horizontalScrolling"
|
||||
"sendEventsMode"
|
||||
"tapping"
|
||||
"tappingButtonMap"
|
||||
"tappingDragLock"
|
||||
"transformationMatrix"
|
||||
"disableWhileTyping"
|
||||
|
|
|
@ -325,8 +325,8 @@ in
|
|||
type = types.lines;
|
||||
example = "DefaultLimitCORE=infinity";
|
||||
description = lib.mdDoc ''
|
||||
Extra config options for systemd. See man systemd-system.conf for
|
||||
available options.
|
||||
Extra config options for systemd. See systemd-system.conf(5) man page
|
||||
for available options.
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
@ -284,7 +284,6 @@ in {
|
|||
installer-systemd-stage-1 = handleTest ./installer-systemd-stage-1.nix {};
|
||||
invoiceplane = handleTest ./invoiceplane.nix {};
|
||||
iodine = handleTest ./iodine.nix {};
|
||||
ipfs = handleTest ./ipfs.nix {};
|
||||
ipv6 = handleTest ./ipv6.nix {};
|
||||
iscsi-multipath-root = handleTest ./iscsi-multipath-root.nix {};
|
||||
iscsi-root = handleTest ./iscsi-root.nix {};
|
||||
|
@ -317,6 +316,7 @@ in {
|
|||
ksm = handleTest ./ksm.nix {};
|
||||
kthxbye = handleTest ./kthxbye.nix {};
|
||||
kubernetes = handleTestOn ["x86_64-linux"] ./kubernetes {};
|
||||
kubo = handleTest ./kubo.nix {};
|
||||
ladybird = handleTest ./ladybird.nix {};
|
||||
languagetool = handleTest ./languagetool.nix {};
|
||||
latestKernel.login = handleTest ./login.nix { latestKernel = true; };
|
||||
|
@ -612,6 +612,7 @@ in {
|
|||
systemd-shutdown = handleTest ./systemd-shutdown.nix {};
|
||||
systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
|
||||
systemd-misc = handleTest ./systemd-misc.nix {};
|
||||
tandoor-recipes = handleTest ./tandoor-recipes.nix {};
|
||||
taskserver = handleTest ./taskserver.nix {};
|
||||
teeworlds = handleTest ./teeworlds.nix {};
|
||||
telegraf = handleTest ./telegraf.nix {};
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
import ./make-test-python.nix ({ pkgs, ...} : {
|
||||
name = "ipfs";
|
||||
name = "kubo";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ mguentner ];
|
||||
};
|
||||
|
||||
nodes.machine = { ... }: {
|
||||
services.ipfs = {
|
||||
services.kubo = {
|
||||
enable = true;
|
||||
# Also will add a unix domain socket socket API address, see module.
|
||||
startWhenNeeded = true;
|
||||
|
@ -15,7 +15,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
|||
};
|
||||
|
||||
nodes.fuse = { ... }: {
|
||||
services.ipfs = {
|
||||
services.kubo = {
|
||||
enable = true;
|
||||
apiAddress = "/ip4/127.0.0.1/tcp/2324";
|
||||
autoMount = true;
|
43
nixos/tests/tandoor-recipes.nix
Normal file
43
nixos/tests/tandoor-recipes.nix
Normal file
|
@ -0,0 +1,43 @@
|
|||
import ./make-test-python.nix ({ lib, ... }: {
|
||||
name = "tandoor-recipes";
|
||||
meta.maintainers = with lib.maintainers; [ ambroisie ];
|
||||
|
||||
nodes.machine = { pkgs, ... }: {
|
||||
# Setup using Postgres
|
||||
services.tandoor-recipes = {
|
||||
enable = true;
|
||||
|
||||
extraConfig = {
|
||||
DB_ENGINE = "django.db.backends.postgresql";
|
||||
POSTGRES_HOST = "/run/postgresql";
|
||||
POSTGRES_USER = "tandoor_recipes";
|
||||
POSTGRES_DB = "tandoor_recipes";
|
||||
};
|
||||
};
|
||||
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
ensureDatabases = [ "tandoor_recipes" ];
|
||||
ensureUsers = [
|
||||
{
|
||||
name = "tandoor_recipes";
|
||||
ensurePermissions."DATABASE tandoor_recipes" = "ALL PRIVILEGES";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
systemd.services = {
|
||||
tandoor-recipes = {
|
||||
after = [ "postgresql.service" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
machine.wait_for_unit("tandoor-recipes.service")
|
||||
|
||||
with subtest("Web interface gets ready"):
|
||||
# Wait until server accepts connections
|
||||
machine.wait_until_succeeds("curl -fs localhost:8080")
|
||||
'';
|
||||
})
|
|
@ -1,32 +0,0 @@
|
|||
{ appimageTools, lib, fetchurl }:
|
||||
let
|
||||
pname = "apple-music-electron";
|
||||
version = "1.5.5";
|
||||
name = "Apple.Music-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/cryptofyre/Apple-Music-Electron/releases/download/v${version}/${name}.AppImage";
|
||||
sha256 = "1gb6j3nvam9fcpsgiv56jccg9a4y14vzsyw11h3hckaigy90knpx";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extract { inherit name src; };
|
||||
in appimageTools.wrapType2 {
|
||||
inherit name src;
|
||||
|
||||
extraInstallCommands = ''
|
||||
mv $out/bin/${name} $out/bin/${pname}
|
||||
|
||||
install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
|
||||
substituteInPlace $out/share/applications/${pname}.desktop \
|
||||
--replace 'Exec=AppRun' 'Exec=${pname}'
|
||||
cp -r ${appimageContents}/usr/share/icons $out/share
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Unofficial Apple Music application without having to bother with a Web Browser or iTunes";
|
||||
homepage = "https://github.com/iiFir3z/Apple-Music-Electron";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.ivar ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
|
@ -2,6 +2,7 @@
|
|||
, libid3tag, liblo, libmad, liboggz, libpulseaudio, libsamplerate
|
||||
, libsndfile, lrdf, opusfile, portaudio, rubberband, serd, sord, capnproto
|
||||
, wrapQtAppsHook, pkg-config
|
||||
, libjack2
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -17,6 +18,7 @@ stdenv.mkDerivation rec {
|
|||
[ alsa-lib boost bzip2 fftw fftwFloat libfishsound libid3tag liblo
|
||||
libmad liboggz libpulseaudio libsamplerate libsndfile lrdf opusfile
|
||||
portaudio rubberband serd sord capnproto
|
||||
libjack2
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config wrapQtAppsHook ];
|
||||
|
@ -34,5 +36,7 @@ stdenv.mkDerivation rec {
|
|||
license = licenses.gpl2Plus;
|
||||
maintainers = [ maintainers.vandenoever ];
|
||||
platforms = platforms.linux;
|
||||
# undefined reference to `std::__throw_bad_array_new_length()@GLIBCXX_3.4.29'
|
||||
broken = true; # at 2022-09-30
|
||||
};
|
||||
}
|
||||
|
|
|
@ -3,12 +3,12 @@
|
|||
, libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "20220714";
|
||||
version = "20220923";
|
||||
pname = "x42-plugins";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gareus.org/misc/x42-plugins/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-myrHOfgpCwuW8YX0jZ3RutoqtXysU0ejBNcuxN3stXU=";
|
||||
sha256 = "sha256-9Y9up5Ziipm6ums1wESfcADKgMwas2SESgGPn74RTt4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
|
|
@ -38,13 +38,13 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cudatext";
|
||||
version = "1.171.0";
|
||||
version = "1.172.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Alexey-T";
|
||||
repo = "CudaText";
|
||||
rev = version;
|
||||
hash = "sha256-+NTxZ5UkmaFDcTYliNi/5c8xGztVu6P8C7Ga99MHSFM=";
|
||||
hash = "sha256-AYIgYLrOVutsv0cHUd/TwNAyLbog6xjcepV9/3fTshc=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -16,13 +16,13 @@
|
|||
},
|
||||
"ATSynEdit": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2022.09.18",
|
||||
"hash": "sha256-HjW4V7MctQoHbDYIlMv7VS0nS7FFG6Qir0sCju+isI0="
|
||||
"rev": "2022.10.01",
|
||||
"hash": "sha256-cfjpPTOc8KjhaD1wVY3Tb/lQwEeT3Rq22lJ1MKdTNF0="
|
||||
},
|
||||
"ATSynEdit_Cmp": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2022.09.18",
|
||||
"hash": "sha256-yIbIRo4hpwbCdH+3fIhjnQPtdvuFmfJSqloKjWqKEuY="
|
||||
"rev": "2022.10.03",
|
||||
"hash": "sha256-2XP3LyB18ZHLQOxzP4lBuhlUA8u1+wHl97cxmRYa7Xg="
|
||||
},
|
||||
"EControl": {
|
||||
"owner": "Alexey-T",
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -53,6 +53,7 @@
|
|||
, zsh
|
||||
|
||||
# command-t dependencies
|
||||
, getconf
|
||||
, ruby
|
||||
|
||||
# cpsm dependencies
|
||||
|
@ -239,10 +240,11 @@ self: super: {
|
|||
};
|
||||
|
||||
command-t = super.command-t.overrideAttrs (old: {
|
||||
buildInputs = [ ruby ];
|
||||
nativeBuildInputs = [ getconf ruby ];
|
||||
buildPhase = ''
|
||||
substituteInPlace lua/wincent/commandt/lib/Makefile \
|
||||
--replace '/bin/bash' 'bash'
|
||||
--replace '/bin/bash' 'bash' \
|
||||
--replace xcrun ""
|
||||
make build
|
||||
rm ruby/command-t/ext/command-t/*.o
|
||||
'';
|
||||
|
@ -983,7 +985,7 @@ self: super: {
|
|||
libiconv
|
||||
];
|
||||
|
||||
cargoSha256 = "sha256-g5yNqDCN1O9x7/HcM8NsZlMwLudDTuPLE5gSpScNQnY=";
|
||||
cargoSha256 = "sha256-AY14YEdMpHXmiHwEA9hwSwwwJ8hYIomAuIuCJv1OUDw=";
|
||||
};
|
||||
in
|
||||
''
|
||||
|
|
|
@ -60,6 +60,7 @@ https://github.com/vmchale/ats-vim/,,
|
|||
https://github.com/ray-x/aurora/,,
|
||||
https://github.com/hotwatermorning/auto-git-diff/,,
|
||||
https://github.com/jiangmiao/auto-pairs/,,
|
||||
https://github.com/pocco81/auto-save.nvim/,HEAD,
|
||||
https://github.com/rmagatti/auto-session/,,
|
||||
https://github.com/vim-scripts/autoload_cscope.vim/,,
|
||||
https://github.com/rafi/awesome-vim-colorschemes/,,
|
||||
|
@ -460,6 +461,7 @@ https://github.com/vijaymarupudi/nvim-fzf/,,
|
|||
https://github.com/vijaymarupudi/nvim-fzf-commands/,,
|
||||
https://github.com/sakhnik/nvim-gdb/,,
|
||||
https://github.com/smiteshp/nvim-gps/,,
|
||||
https://github.com/brenoprata10/nvim-highlight-colors/,HEAD,
|
||||
https://github.com/Iron-E/nvim-highlite/,,
|
||||
https://github.com/kevinhwang91/nvim-hlslens/,,
|
||||
https://github.com/neovimhaskell/nvim-hs.vim/,,
|
||||
|
@ -479,6 +481,7 @@ https://github.com/AckslD/nvim-neoclip.lua/,,
|
|||
https://github.com/yamatsum/nvim-nonicons/,,
|
||||
https://github.com/rcarriga/nvim-notify/,,
|
||||
https://github.com/gennaro-tedesco/nvim-peekup/,,
|
||||
https://github.com/olrtg/nvim-rename-state/,HEAD,
|
||||
https://github.com/dstein64/nvim-scrollview/,,
|
||||
https://github.com/dcampos/nvim-snippy/,HEAD,
|
||||
https://github.com/ishan9299/nvim-solarized-lua/,,
|
||||
|
@ -636,6 +639,7 @@ https://github.com/tom-anders/telescope-vim-bookmarks.nvim/,,
|
|||
https://github.com/nvim-telescope/telescope-z.nvim/,,
|
||||
https://github.com/jvgrootveld/telescope-zoxide/,,
|
||||
https://github.com/nvim-telescope/telescope.nvim/,,
|
||||
https://github.com/axelvc/template-string.nvim/,HEAD,
|
||||
https://github.com/jacoborus/tender.vim/,,
|
||||
https://github.com/wincent/terminus/,,
|
||||
https://github.com/oberblastmeister/termwrapper.nvim/,,
|
||||
|
@ -1071,6 +1075,7 @@ https://github.com/mattn/webapi-vim/,,
|
|||
https://github.com/folke/which-key.nvim/,,
|
||||
https://github.com/gelguy/wilder.nvim/,,
|
||||
https://github.com/gcmt/wildfire.vim/,,
|
||||
https://github.com/anuvyklack/windows.nvim/,,
|
||||
https://github.com/sindrets/winshift.nvim/,,
|
||||
https://github.com/wannesm/wmgraphviz.vim/,,
|
||||
https://github.com/vim-scripts/wombat256.vim/,,
|
||||
|
@ -1087,4 +1092,3 @@ https://github.com/ziglang/zig.vim/,,
|
|||
https://github.com/mickael-menu/zk-nvim/,HEAD,
|
||||
https://github.com/troydm/zoomwintab.vim/,,
|
||||
https://github.com/nanotee/zoxide.vim/,,
|
||||
https://github.com/anuvyklack/windows.nvim/,,
|
||||
|
|
|
@ -120,8 +120,8 @@ in stdenv.mkDerivation rec {
|
|||
cp -a resources/icons $out/share
|
||||
|
||||
interp="$(cat $NIX_CC/nix-support/dynamic-linker)"
|
||||
patchelf --set-interpreter $interp $out/share/1password/{1password,1Password-BrowserSupport,1Password-KeyringHelper}
|
||||
patchelf --set-rpath ${rpath}:$out/share/1password $out/share/1password/{1password,1Password-BrowserSupport,1Password-KeyringHelper}
|
||||
patchelf --set-interpreter $interp $out/share/1password/{1password,1Password-BrowserSupport,1Password-KeyringHelper,op-ssh-sign}
|
||||
patchelf --set-rpath ${rpath}:$out/share/1password $out/share/1password/{1password,1Password-BrowserSupport,1Password-KeyringHelper,op-ssh-sign}
|
||||
for file in $(find $out -type f -name \*.so\* ); do
|
||||
patchelf --set-rpath ${rpath}:$out/share/1password $file
|
||||
done
|
||||
|
|
|
@ -120,8 +120,8 @@ in stdenv.mkDerivation rec {
|
|||
cp -a resources/icons $out/share
|
||||
|
||||
interp="$(cat $NIX_CC/nix-support/dynamic-linker)"
|
||||
patchelf --set-interpreter $interp $out/share/1password/{1password,1Password-BrowserSupport,1Password-KeyringHelper}
|
||||
patchelf --set-rpath ${rpath}:$out/share/1password $out/share/1password/{1password,1Password-BrowserSupport,1Password-KeyringHelper}
|
||||
patchelf --set-interpreter $interp $out/share/1password/{1password,1Password-BrowserSupport,1Password-KeyringHelper,op-ssh-sign}
|
||||
patchelf --set-rpath ${rpath}:$out/share/1password $out/share/1password/{1password,1Password-BrowserSupport,1Password-KeyringHelper,op-ssh-sign}
|
||||
for file in $(find $out -type f -name \*.so\* ); do
|
||||
patchelf --set-rpath ${rpath}:$out/share/1password $file
|
||||
done
|
||||
|
|
|
@ -9,13 +9,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cubiomes-viewer";
|
||||
version = "2.4.1";
|
||||
version = "2.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Cubitect";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-vneX3Wo1DUK1WIwBP3nMUDV26EN2A7XIqMcTZQ4UI4A=";
|
||||
sha256 = "sha256-VZsq2HMvhFB6DR+Z3bVtyIJ2O984QaryYWCcP/a7paw=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
163
pkgs/applications/misc/gtkradiant/default.nix
Normal file
163
pkgs/applications/misc/gtkradiant/default.nix
Normal file
|
@ -0,0 +1,163 @@
|
|||
{ lib, stdenv, fetchFromGitHub, fetchsvn
|
||||
, scons, pkg-config, python3
|
||||
, glib, libxml2, gtk2, libGLU, gnome2
|
||||
, runCommand, writeScriptBin, runtimeShell
|
||||
, makeDesktopItem, copyDesktopItems
|
||||
}:
|
||||
|
||||
let
|
||||
q3Pack = fetchsvn {
|
||||
url = "svn://svn.icculus.org/gtkradiant-gamepacks/Q3Pack/trunk";
|
||||
rev = 144;
|
||||
sha256 = "sha256-U1GtMv775JEOAJ1W2kSaRNPDCnW39W+KqVDTTG2yISY=";
|
||||
};
|
||||
urtPack = fetchsvn {
|
||||
url = "svn://svn.icculus.org/gtkradiant-gamepacks/UrTPack/trunk";
|
||||
rev = 144;
|
||||
sha256 = "sha256-DQjENyQa1kEieU3ZWyMt2e4oEN0X2K3lxP79sBI91iI=";
|
||||
};
|
||||
etPack = fetchsvn {
|
||||
url = "svn://svn.icculus.org/gtkradiant-gamepacks/ETPack/trunk";
|
||||
rev = 144;
|
||||
sha256 = "sha256-mqaWOYfF/F6ABh7nKA36YvsywZIdwJ9IitFi2Xp5rgk=";
|
||||
};
|
||||
qlPack = fetchsvn {
|
||||
url = "svn://svn.icculus.org/gtkradiant-gamepacks/QLPack/trunk";
|
||||
rev = 144;
|
||||
sha256 = "sha256-lrn4nu3JI7j+t9jYd+UFE55GOCbc6+Sh2fZfVlEr1WM=";
|
||||
};
|
||||
q2Pack = fetchsvn {
|
||||
url = "svn://svn.icculus.org/gtkradiant-gamepacks/Q2Pack/trunk";
|
||||
rev = 144;
|
||||
sha256 = "sha256-ad8dRV+28Zz5yQsJU7hvteSIn9wWpehuqxMspw3yvvU=";
|
||||
};
|
||||
quetooPack = fetchsvn {
|
||||
url = "svn://svn.icculus.org/gtkradiant-gamepacks/QuetooPack/trunk";
|
||||
rev = 144;
|
||||
sha256 = "sha256-SOblPJgdVEZrTYtvDlcF7paIm3UitSVFQ9+RahXkO64=";
|
||||
};
|
||||
jaPack = fetchsvn {
|
||||
url = "svn://svn.icculus.org/gtkradiant-gamepacks/JAPack/trunk";
|
||||
rev = 144;
|
||||
sha256 = "sha256-P6lI+nNrPwoWJl5ThUHIA3Iw1nWVo2djaaWHAF5HuDo=";
|
||||
};
|
||||
stvefPack = fetchsvn {
|
||||
url = "svn://svn.icculus.org/gtkradiant-gamepacks/STVEFPack/trunk";
|
||||
rev = 144;
|
||||
sha256 = "sha256-quNyVC6fg1FIBsLWx0LzRK2JfxKMNJeUEIkWGhGJHhI=";
|
||||
};
|
||||
wolfPack = fetchsvn {
|
||||
url = "svn://svn.icculus.org/gtkradiant-gamepacks/WolfPack/trunk";
|
||||
rev = 144;
|
||||
sha256 = "sha256-693k6KiIchQddVGBhRJf7ikv6ut5L9rcLt0FTZ7pSvw=";
|
||||
};
|
||||
unvanquishedPack = fetchsvn {
|
||||
url = "https://github.com/Unvanquished/unvanquished-mapeditor-support.git/trunk/build/gtkradiant/";
|
||||
rev = 212;
|
||||
sha256 = "sha256-weBlnSBezPppbhsMOT66vubioTxpDC+AcKIOC2Xitdo=";
|
||||
};
|
||||
q1Pack = fetchsvn {
|
||||
url = "svn://svn.icculus.org/gtkradiant-gamepacks/Q1Pack/trunk";
|
||||
rev = 144;
|
||||
sha256 = "sha256-JfmDIUoDY7dYdMgwwUMgcwNhWxuxsdkv1taw8DXhPY4=";
|
||||
};
|
||||
packs = runCommand "gtkradiant-packs" {} ''
|
||||
mkdir -p $out
|
||||
ln -s ${q3Pack} $out/Q3Pack
|
||||
ln -s ${urtPack} $out/UrTPack
|
||||
ln -s ${etPack} $out/ETPack
|
||||
ln -s ${qlPack} $out/QLPack
|
||||
ln -s ${q2Pack} $out/Q2Pack
|
||||
ln -s ${quetooPack} $out/QuetooPack
|
||||
ln -s ${jaPack} $out/JAPack
|
||||
ln -s ${stvefPack} $out/STVEFPack
|
||||
ln -s ${wolfPack} $out/WolfPack
|
||||
ln -s ${unvanquishedPack} $out/UnvanquishedPack
|
||||
ln -s ${q1Pack} $out/Q1Pack
|
||||
'';
|
||||
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gtkradiant";
|
||||
|
||||
version = "unstable-2022-07-31";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TTimo";
|
||||
repo = "GtkRadiant";
|
||||
rev = "5b498bfa01bde6c2c9eb60fb94cf04666e52d22d";
|
||||
sha256 = "sha256-407faeQnhxqbWgOUunQKj2JhHeqIzPPgrhz2K5O4CaM=";
|
||||
};
|
||||
|
||||
# patch paths so that .game settings are put into the user's home instead of the read-only /nix/store
|
||||
postPatch = ''
|
||||
substituteInPlace radiant/preferences.cpp \
|
||||
--replace 'gameFilePath += "games/";' 'gameFilePath = g_get_home_dir(); gameFilePath += "/.cache/radiant/games/";printf("gameFilePath: %s\\n", gameFilePath);' \
|
||||
--replace 'radCreateDirectory( gameFilePath );' 'if (g_mkdir_with_parents( gameFilePath, 0777 ) == -1) {radCreateDirectory( gameFilePath );};' \
|
||||
--replace 'strGamesPath = g_strAppPath.GetBuffer();' 'strGamesPath = g_get_home_dir();' \
|
||||
--replace 'strGamesPath += "games";' 'strGamesPath += "/.cache/radiant/games";'
|
||||
'';
|
||||
|
||||
nativeBuildInputs =
|
||||
let
|
||||
python = python3.withPackages (ps: with ps; [
|
||||
urllib3
|
||||
]);
|
||||
svn = writeScriptBin "svn" ''
|
||||
#!${runtimeShell} -e
|
||||
if [ "$1" = checkout ]; then
|
||||
# link predownloaded pack to destination
|
||||
mkdir -p $(dirname $3)
|
||||
ln -s ${packs}/$(basename $3) $3
|
||||
# verify existence
|
||||
test -e $(readlink $3)
|
||||
elif [ "$1" = update ]; then
|
||||
# verify existence
|
||||
test -e $(readlink $3)
|
||||
else
|
||||
echo "$@"
|
||||
exit 1
|
||||
fi
|
||||
'';
|
||||
in [
|
||||
scons
|
||||
pkg-config
|
||||
python
|
||||
svn
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
buildInputs = [ glib libxml2 gtk2 libGLU gnome2.gtkglext ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
desktopItems = [ (makeDesktopItem {
|
||||
name = "gtkradiant";
|
||||
exec = "gtkradiant";
|
||||
desktopName = "GtkRadiant";
|
||||
comment = meta.description;
|
||||
categories = [ "Development" ];
|
||||
icon = "gtkradiant";
|
||||
# includes its own splash screen
|
||||
startupNotify = false;
|
||||
}) ];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/{bin,lib}
|
||||
cp -ar install $out/lib/gtkradiant
|
||||
|
||||
ln -s ../lib/gtkradiant/radiant.bin $out/bin/gtkradiant
|
||||
ln -s ../lib/gtkradiant/{q3map2,q3map2_urt,q3data} $out/bin/
|
||||
|
||||
mkdir -p $out/share/pixmaps
|
||||
ln -s ../../lib/gtkradiant/bitmaps/icon.png $out/share/pixmaps/gtkradiant.png
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Level editor for idTech games";
|
||||
homepage = "https://icculus.org/gtkradiant/";
|
||||
license = with licenses; [ gpl2Only bsdOriginal lgpl21Only ];
|
||||
maintainers = with maintainers; [ astro ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
52
pkgs/applications/misc/holochain-launcher/default.nix
Normal file
52
pkgs/applications/misc/holochain-launcher/default.nix
Normal file
|
@ -0,0 +1,52 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, autoPatchelfHook
|
||||
, pkg-config
|
||||
, dpkg
|
||||
, openssl
|
||||
, webkitgtk
|
||||
, libappindicator
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "holochain-launcher";
|
||||
version = "0.6.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/holochain/launcher/releases/download/v${version}/holochain-launcher_${version}_amd64.deb";
|
||||
sha256 = "sha256-o9cUFtq5XUkbC3yFRFiV2k4uWjb+szlE8qV+G9Gve5E=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
dpkg
|
||||
wrapGAppsHook # required for FileChooser
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
webkitgtk
|
||||
libappindicator
|
||||
];
|
||||
|
||||
unpackCmd = "dpkg-deb -x $curSrc source";
|
||||
|
||||
installPhase = ''
|
||||
mv usr $out
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
patchelf --add-needed "libappindicator3.so" "$out/bin/holochain-launcher"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A cross-platform executable that launches a local Holochain conductor, and installs and opens apps";
|
||||
homepage = "https://github.com/holochain/launcher";
|
||||
maintainers = [ maintainers.steveej ];
|
||||
license = licenses.cal10;
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
19
pkgs/applications/misc/tandoor-recipes/common.nix
Normal file
19
pkgs/applications/misc/tandoor-recipes/common.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{ lib, fetchFromGitHub }:
|
||||
rec {
|
||||
version = "1.4.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TandoorRecipes";
|
||||
repo = "recipes";
|
||||
rev = version;
|
||||
sha256 = "sha256-Q/IwjSByCUXVYxhk3U7oWvlMxrJxyajhpsRyq67PVHY=";
|
||||
};
|
||||
|
||||
yarnSha256 = "sha256-gH0q3pJ2BC5pAU9KSo3C9DDRUnpypoyLOEqKSrkxYrk=";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://tandoor.dev/";
|
||||
license = licenses.agpl3Only;
|
||||
maintainers = with maintainers; [ ambroisie ];
|
||||
};
|
||||
}
|
140
pkgs/applications/misc/tandoor-recipes/default.nix
Normal file
140
pkgs/applications/misc/tandoor-recipes/default.nix
Normal file
|
@ -0,0 +1,140 @@
|
|||
{ callPackage
|
||||
, nixosTests
|
||||
, python3
|
||||
}:
|
||||
let
|
||||
python = python3.override {
|
||||
packageOverrides = self: super: {
|
||||
django = super.django_4;
|
||||
|
||||
# Tests are incompatible with Django 4
|
||||
django-js-reverse = super.django-js-reverse.overridePythonAttrs (_: {
|
||||
doCheck = false;
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
common = callPackage ./common.nix { };
|
||||
|
||||
frontend = callPackage ./frontend.nix { };
|
||||
in
|
||||
python.pkgs.pythonPackages.buildPythonPackage rec {
|
||||
pname = "tandoor-recipes";
|
||||
|
||||
inherit (common) version src;
|
||||
|
||||
format = "other";
|
||||
|
||||
patches = [
|
||||
# Allow setting MEDIA_ROOT through environment variable
|
||||
./media-root.patch
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python.pkgs; [
|
||||
beautifulsoup4
|
||||
bleach
|
||||
bleach-allowlist
|
||||
boto3
|
||||
cryptography
|
||||
django
|
||||
django-allauth
|
||||
django-annoying
|
||||
django-auth-ldap
|
||||
django-autocomplete-light
|
||||
django-cleanup
|
||||
django-cors-headers
|
||||
django-crispy-forms
|
||||
django-hcaptcha
|
||||
django-js-reverse
|
||||
django-oauth-toolkit
|
||||
django-prometheus
|
||||
django-scopes
|
||||
django-storages
|
||||
django-tables2
|
||||
django-webpack-loader
|
||||
django_treebeard
|
||||
djangorestframework
|
||||
drf-writable-nested
|
||||
gunicorn
|
||||
icalendar
|
||||
jinja2
|
||||
lxml
|
||||
markdown
|
||||
microdata
|
||||
pillow
|
||||
psycopg2
|
||||
pyppeteer
|
||||
python-dotenv
|
||||
pytube
|
||||
pyyaml
|
||||
recipe-scrapers
|
||||
requests
|
||||
six
|
||||
uritemplate
|
||||
validators
|
||||
webdavclient3
|
||||
whitenoise
|
||||
];
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
|
||||
ln -sf ${frontend}/ cookbook/static/vue
|
||||
cp ${frontend}/webpack-stats.json vue/
|
||||
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
# Avoid dependency on django debug toolbar
|
||||
export DEBUG=0
|
||||
|
||||
# See https://github.com/TandoorRecipes/recipes/issues/2043
|
||||
mkdir cookbook/static/themes/maps/
|
||||
touch cookbook/static/themes/maps/style.min.css.map
|
||||
touch cookbook/static/themes/bootstrap.min.css.map
|
||||
touch cookbook/static/css/bootstrap-vue.min.css.map
|
||||
|
||||
${python.pythonForBuild.interpreter} manage.py collectstatic_js_reverse
|
||||
${python.pythonForBuild.interpreter} manage.py collectstatic
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/lib
|
||||
cp -r . $out/lib/tandoor-recipes
|
||||
chmod +x $out/lib/tandoor-recipes/manage.py
|
||||
makeWrapper $out/lib/tandoor-recipes/manage.py $out/bin/tandoor-recipes \
|
||||
--prefix PYTHONPATH : "$PYTHONPATH"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
checkInputs = with python.pkgs; [
|
||||
pytestCheckHook
|
||||
pytest-django
|
||||
pytest-factoryboy
|
||||
];
|
||||
|
||||
passthru = {
|
||||
inherit frontend python;
|
||||
|
||||
updateScript = ./update.sh;
|
||||
|
||||
tests = {
|
||||
inherit (nixosTests) tandoor-recipes;
|
||||
};
|
||||
};
|
||||
|
||||
meta = common.meta // {
|
||||
description = ''
|
||||
Application for managing recipes, planning meals, building shopping lists
|
||||
and much much more!
|
||||
'';
|
||||
};
|
||||
}
|
57
pkgs/applications/misc/tandoor-recipes/frontend.nix
Normal file
57
pkgs/applications/misc/tandoor-recipes/frontend.nix
Normal file
|
@ -0,0 +1,57 @@
|
|||
{ stdenv, fetchYarnDeps, fixup_yarn_lock, callPackage, nodejs-16_x }:
|
||||
let
|
||||
common = callPackage ./common.nix { };
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "tandoor-recipes-frontend";
|
||||
inherit (common) version;
|
||||
|
||||
src = "${common.src}/vue";
|
||||
|
||||
yarnOfflineCache = fetchYarnDeps {
|
||||
yarnLock = "${common.src}/vue/yarn.lock";
|
||||
sha256 = common.yarnSha256;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
fixup_yarn_lock
|
||||
# Use Node JS 16 because of @achrinza/node-ipc@9.2.2
|
||||
nodejs-16_x
|
||||
nodejs-16_x.pkgs.yarn
|
||||
];
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
|
||||
export HOME=$(mktemp -d)
|
||||
yarn config --offline set yarn-offline-mirror "$yarnOfflineCache"
|
||||
fixup_yarn_lock yarn.lock
|
||||
command -v yarn
|
||||
yarn install --frozen-lockfile --offline --no-progress --non-interactive
|
||||
patchShebangs node_modules/
|
||||
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
yarn --offline run build
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
cp -R ../cookbook/static/vue/ $out
|
||||
cp webpack-stats.json $out
|
||||
echo "${common.version}" > "$out/version"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = common.meta // {
|
||||
description = "Tandoor Recipes frontend";
|
||||
};
|
||||
}
|
17
pkgs/applications/misc/tandoor-recipes/media-root.patch
Normal file
17
pkgs/applications/misc/tandoor-recipes/media-root.patch
Normal file
|
@ -0,0 +1,17 @@
|
|||
diff --git a/recipes/settings.py b/recipes/settings.py
|
||||
index 5676fe0a..6c6f1747 100644
|
||||
--- a/recipes/settings.py
|
||||
+++ b/recipes/settings.py
|
||||
@@ -426,10 +426,10 @@ if os.getenv('S3_ACCESS_KEY', ''):
|
||||
AWS_S3_CUSTOM_DOMAIN = os.getenv('S3_CUSTOM_DOMAIN', '')
|
||||
|
||||
MEDIA_URL = os.getenv('MEDIA_URL', '/media/')
|
||||
- MEDIA_ROOT = os.path.join(BASE_DIR, "mediafiles")
|
||||
+ MEDIA_ROOT = os.getenv('MEDIA_ROOT', os.path.join(BASE_DIR, "mediafiles"))
|
||||
else:
|
||||
MEDIA_URL = os.getenv('MEDIA_URL', '/media/')
|
||||
- MEDIA_ROOT = os.path.join(BASE_DIR, "mediafiles")
|
||||
+ MEDIA_ROOT = os.getenv('MEDIA_ROOT', os.path.join(BASE_DIR, "mediafiles"))
|
||||
|
||||
# Serve static files with gzip
|
||||
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
|
42
pkgs/applications/misc/tandoor-recipes/update.sh
Executable file
42
pkgs/applications/misc/tandoor-recipes/update.sh
Executable file
|
@ -0,0 +1,42 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -I nixpkgs=../../../../ -i bash -p nix wget prefetch-yarn-deps nix-prefetch-github jq
|
||||
|
||||
# shellcheck shell=bash
|
||||
|
||||
if [ -n "$GITHUB_TOKEN" ]; then
|
||||
TOKEN_ARGS=(--header "Authorization: token $GITHUB_TOKEN")
|
||||
fi
|
||||
|
||||
if [ "$#" -gt 1 ] || [[ "$1" == -* ]]; then
|
||||
echo "Regenerates packaging data for the tandoor-recipes package."
|
||||
echo "Usage: $0 [git release tag]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
version="$1"
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
if [ -z "$version" ]; then
|
||||
version="$(wget -O- "${TOKEN_ARGS[@]}" "https://api.github.com/repos/TandoorRecipes/recipes/releases?per_page=1" | jq -r '.[0].tag_name')"
|
||||
fi
|
||||
|
||||
package_src="https://raw.githubusercontent.com/TandoorRecipes/recipes/$version"
|
||||
|
||||
src_hash=$(nix-prefetch-github TandoorRecipes recipes --rev "${version}" | jq -r .sha256)
|
||||
|
||||
tmpdir=$(mktemp -d)
|
||||
trap 'rm -rf "$tmpdir"' EXIT
|
||||
|
||||
pushd "$tmpdir"
|
||||
wget "${TOKEN_ARGS[@]}" "$package_src/vue/yarn.lock"
|
||||
yarn_hash=$(prefetch-yarn-deps yarn.lock)
|
||||
popd
|
||||
|
||||
# Use friendlier hashes
|
||||
src_hash=$(nix hash to-sri --type sha256 "$src_hash")
|
||||
yarn_hash=$(nix hash to-sri --type sha256 "$yarn_hash")
|
||||
|
||||
sed -i -E -e "s#version = \".*\"#version = \"$version\"#" common.nix
|
||||
sed -i -E -e "s#sha256 = \".*\"#sha256 = \"$src_hash\"#" common.nix
|
||||
sed -i -E -e "s#yarnSha256 = \".*\"#yarnSha256 = \"$yarn_hash\"#" common.nix
|
|
@ -144,14 +144,15 @@ stdenv.mkDerivation {
|
|||
|
||||
inherit gtk3;
|
||||
|
||||
buildInputs = [ wrapGAppsHook gtk3 adwaita-icon-theme ];
|
||||
nativeBuildInputs = [ wrapGAppsHook ];
|
||||
buildInputs = [ gtk3 adwaita-icon-theme ];
|
||||
|
||||
# "strip" after "patchelf" may break binaries.
|
||||
# See: https://github.com/NixOS/patchelf/issues/10
|
||||
dontStrip = true;
|
||||
dontPatchELF = true;
|
||||
|
||||
patchPhase = ''
|
||||
postPatch = ''
|
||||
# Don't download updates from Mozilla directly
|
||||
echo 'pref("app.update.auto", "false");' >> defaults/pref/channel-prefs.js
|
||||
'';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, lib, makeDesktopItem, makeWrapper, makeBinaryWrapper, lndir, config
|
||||
, fetchurl, zip, unzip, jq, xdg-utils, writeText
|
||||
, jq, xdg-utils, writeText
|
||||
|
||||
## various stuff that can be plugged in
|
||||
, ffmpeg_5, xorg, alsa-lib, libpulseaudio, libcanberra-gtk3, libglvnd, libnotify, opensc
|
||||
|
|
41
pkgs/applications/networking/browsers/polypane/default.nix
Normal file
41
pkgs/applications/networking/browsers/polypane/default.nix
Normal file
|
@ -0,0 +1,41 @@
|
|||
{ lib, fetchurl, appimageTools }:
|
||||
|
||||
let
|
||||
pname = "polypane";
|
||||
version = "10.0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/firstversionist/${pname}/releases/download/v${version}/${pname}-${version}.AppImage";
|
||||
name = "${pname}-${version}.AppImage";
|
||||
sha256 = "eujv99L5svMhDIKHFOfm7sOwNZ4xiUaIsimfOf4BBik=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
inherit pname src version;
|
||||
};
|
||||
in appimageTools.wrapType2 {
|
||||
inherit pname src version;
|
||||
|
||||
multiPkgs = null;
|
||||
extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs ++ [ pkgs.bash ];
|
||||
|
||||
extraInstallCommands = ''
|
||||
ln -s $out/bin/${pname}-${version} $out/bin/${pname}
|
||||
install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
|
||||
install -m 444 -D ${appimageContents}/${pname}.png \
|
||||
$out/share/icons/hicolor/512x512/apps/${pname}.png
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Browser with unified devtools targeting responsability and acessibility";
|
||||
longDescription = ''
|
||||
The stand-alone browser for ambitious developers that want to build responsive,
|
||||
accessible and performant websites in a fraction of the time it takes with other browsers.
|
||||
'';
|
||||
homepage = "https://polypane.app/";
|
||||
maintainers = with maintainers; [ zoedsoupe ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
changelog = "https://polypane.app/docs/changelog/";
|
||||
license = licenses.unfree;
|
||||
};
|
||||
}
|
25
pkgs/applications/networking/cluster/hashi-up/default.nix
Normal file
25
pkgs/applications/networking/cluster/hashi-up/default.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "hashi-up";
|
||||
version = "0.16.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jsiebens";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-PdZ8X2pJ5TfT0bJ4/P/XbMTv+yyL5/1AxIFHnL/qNcg=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-dircE3WlDPsPnF+0wT5RG/c4hC8qPs8NaSGM5wpvVlM=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "A lightweight utility to install HashiCorp Consul, Nomad, or Vault on any remote Linux host";
|
||||
homepage = "https://github.com/jsiebens/hashi-up";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ lucperkins ];
|
||||
};
|
||||
}
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "signal-cli";
|
||||
version = "0.10.11";
|
||||
version = "0.11.0";
|
||||
|
||||
# Building from source would be preferred, but is much more involved.
|
||||
src = fetchurl {
|
||||
url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}-Linux.tar.gz";
|
||||
sha256 = "sha256-tBgtSYKSoyze9qFWpy6IUdwMU9KCLZGEIpOkjLdHsHM=";
|
||||
sha256 = "sha256-BIVeY4H5pn8hdjUkSDrlVMTXy5wuMskkSlccfgCWc6Q=";
|
||||
};
|
||||
|
||||
buildInputs = lib.optionals stdenv.isLinux [ libmatthew_java dbus dbus_java ];
|
||||
|
|
|
@ -47,23 +47,23 @@ let
|
|||
# and often with different versions. We write them on three lines
|
||||
# like this (rather than using {}) so that the updater script can
|
||||
# find where to edit them.
|
||||
versions.aarch64-darwin = "5.11.9.10046";
|
||||
versions.x86_64-darwin = "5.11.9.10046";
|
||||
versions.x86_64-linux = "5.11.10.4400";
|
||||
versions.aarch64-darwin = "5.12.0.11129";
|
||||
versions.x86_64-darwin = "5.12.0.11129";
|
||||
versions.x86_64-linux = "5.12.0.4682";
|
||||
|
||||
srcs = {
|
||||
aarch64-darwin = fetchurl {
|
||||
url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64";
|
||||
name = "zoomusInstallerFull.pkg";
|
||||
hash = "sha256-Z+K811azMRnhptZ1UvM+o5IgE0F4p9BrntJC9IgPU7U=";
|
||||
hash = "sha256-0XhqJrls4X8wO9VNmmmUGexJkA9NDkwJkYRjmyV1kAU=";
|
||||
};
|
||||
x86_64-darwin = fetchurl {
|
||||
url = "https://zoom.us/client/${versions.x86_64-darwin}/zoomusInstallerFull.pkg";
|
||||
hash = "sha256-7U7qT3xlm5LqcJByMWxhZnqs6XBzylEGhqTNUgiaXJY=";
|
||||
hash = "sha256-E7+zMrW4y1RfsR1LrxCJRRVlA+BuhzwMI/sfzqNHObo=";
|
||||
};
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz";
|
||||
hash = "sha256-Pi1MtuCHzkQACamsNOIS6pbM03L1CmyosbpdrYVNCkQ=";
|
||||
hash = "sha256-UNtxyR4SMCP9c1Dre/arfdSVZbAV8qoHyHlvj3ZbXIs=";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
{ lib
|
||||
, buildEnv
|
||||
, makeWrapper
|
||||
, ipfs-migrator-unwrapped
|
||||
, ipfs-migrator-all-fs-repo-migrations
|
||||
}:
|
||||
|
||||
buildEnv {
|
||||
name = "ipfs-migrator-${ipfs-migrator-unwrapped.version}";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
paths = [ ipfs-migrator-unwrapped ];
|
||||
|
||||
pathsToLink = [ "/bin" ];
|
||||
|
||||
postBuild = ''
|
||||
wrapProgram "$out/bin/fs-repo-migrations" \
|
||||
--prefix PATH ':' '${lib.makeBinPath [ ipfs-migrator-all-fs-repo-migrations ]}'
|
||||
'';
|
||||
|
||||
inherit (ipfs-migrator-unwrapped) meta;
|
||||
}
|
|
@ -20,13 +20,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "srain";
|
||||
version = "1.4.1";
|
||||
version = "1.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SrainApp";
|
||||
repo = "srain";
|
||||
rev = version;
|
||||
sha256 = "sha256-zkSePzmbi/QnUYJO/henkxfhuN+BXTXtKGPW7M2QyBY=";
|
||||
sha256 = "sha256-AJ02S5+A/n8kO6lic8EbPYqNDmHL/tKbXhIkHTrcXOM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -2,23 +2,23 @@
|
|||
, stdenv
|
||||
, symlinkJoin
|
||||
, buildGoModule
|
||||
, ipfs-migrator-unwrapped
|
||||
, kubo-migrator-unwrapped
|
||||
}:
|
||||
|
||||
# This package contains all the individual migrations in the bin directory.
|
||||
# This is used by fs-repo-migrations and could also be used by IPFS itself
|
||||
# This is used by fs-repo-migrations and could also be used by Kubo itself
|
||||
# when starting it like this: ipfs daemon --migrate
|
||||
|
||||
let
|
||||
fs-repo-common = pname: version: buildGoModule {
|
||||
inherit pname version;
|
||||
inherit (ipfs-migrator-unwrapped) src;
|
||||
inherit (kubo-migrator-unwrapped) src;
|
||||
sourceRoot = "source/${pname}";
|
||||
vendorSha256 = null;
|
||||
doCheck = false;
|
||||
meta = ipfs-migrator-unwrapped.meta // {
|
||||
meta = kubo-migrator-unwrapped.meta // {
|
||||
mainProgram = pname;
|
||||
description = "Individual migration for the filesystem repository of ipfs clients";
|
||||
description = "Individual migration for the filesystem repository of Kubo clients";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -58,6 +58,6 @@ let
|
|||
in
|
||||
|
||||
symlinkJoin {
|
||||
name = "ipfs-migrator-all-fs-repo-migrations-${version}";
|
||||
name = "kubo-migrator-all-fs-repo-migrations-${version}";
|
||||
paths = all-migrations;
|
||||
}
|
23
pkgs/applications/networking/kubo-migrator/default.nix
Normal file
23
pkgs/applications/networking/kubo-migrator/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{ lib
|
||||
, buildEnv
|
||||
, makeWrapper
|
||||
, kubo-migrator-unwrapped
|
||||
, kubo-migrator-all-fs-repo-migrations
|
||||
}:
|
||||
|
||||
buildEnv {
|
||||
name = "kubo-migrator-${kubo-migrator-unwrapped.version}";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
paths = [ kubo-migrator-unwrapped ];
|
||||
|
||||
pathsToLink = [ "/bin" ];
|
||||
|
||||
postBuild = ''
|
||||
wrapProgram "$out/bin/fs-repo-migrations" \
|
||||
--prefix PATH ':' '${lib.makeBinPath [ kubo-migrator-all-fs-repo-migrations ]}'
|
||||
'';
|
||||
|
||||
inherit (kubo-migrator-unwrapped) meta;
|
||||
}
|
|
@ -4,7 +4,7 @@
|
|||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ipfs-migrator";
|
||||
pname = "kubo-migrator";
|
||||
version = "2.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
@ -26,7 +26,7 @@ buildGoModule rec {
|
|||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Migrations for the filesystem repository of ipfs clients";
|
||||
description = "Migrations for the filesystem repository of Kubo clients";
|
||||
homepage = "https://github.com/ipfs/fs-repo-migrations";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ Luflosi elitak ];
|
|
@ -1,13 +1,13 @@
|
|||
{ lib, buildGoModule, fetchurl, nixosTests, openssl, pkg-config }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ipfs";
|
||||
pname = "kubo";
|
||||
version = "0.15.0"; # When updating, also check if the repo version changed and adjust repoVersion below
|
||||
rev = "v${version}";
|
||||
|
||||
passthru.repoVersion = "12"; # Also update ipfs-migrator when changing the repo version
|
||||
passthru.repoVersion = "12"; # Also update kubo-migrator when changing the repo version
|
||||
|
||||
# go-ipfs makes changes to it's source tarball that don't match the git source.
|
||||
# Kubo makes changes to it's source tarball that don't match the git source.
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ipfs/kubo/releases/download/${rev}/kubo-source.tar.gz";
|
||||
hash = "sha256-GkOY1G2CKXbMbHXkw5v27HmfkJIl2nZOmjjZbzuaRWs=";
|
||||
|
@ -15,10 +15,10 @@ buildGoModule rec {
|
|||
|
||||
# tarball contains multiple files/directories
|
||||
postUnpack = ''
|
||||
mkdir ipfs-src
|
||||
mkdir kubo-src
|
||||
shopt -s extglob
|
||||
mv !(ipfs-src) ipfs-src || true
|
||||
cd ipfs-src
|
||||
mv !(kubo-src) kubo-src || true
|
||||
cd kubo-src
|
||||
'';
|
||||
|
||||
sourceRoot = ".";
|
||||
|
@ -29,7 +29,7 @@ buildGoModule rec {
|
|||
nativeBuildInputs = [ pkg-config ];
|
||||
tags = [ "openssl" ];
|
||||
|
||||
passthru.tests.ipfs = nixosTests.ipfs;
|
||||
passthru.tests.kubo = nixosTests.kubo;
|
||||
|
||||
vendorSha256 = null;
|
||||
|
||||
|
@ -57,6 +57,7 @@ buildGoModule rec {
|
|||
homepage = "https://ipfs.io/";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
mainProgram = "ipfs";
|
||||
maintainers = with maintainers; [ fpletz ];
|
||||
};
|
||||
}
|
|
@ -27,13 +27,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "beamerpresenter";
|
||||
version = "0.2.3";
|
||||
version = "0.2.3-1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stiglers-eponym";
|
||||
repo = "BeamerPresenter";
|
||||
rev = "v${version}";
|
||||
sha256 = "1n9d0i0j67ymnghn8zkqf52c88zby6rqin8aicbw8cpn35fqf5a6";
|
||||
rev = "dd41a00b3c6c8b881fa62945165c965634df66f0";
|
||||
sha256 = "11yj1zl8hdnqbynkbyzg8kwyx1jl8c87x8f8qyllpk0s6cg304d0";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -11,13 +11,13 @@ assert (!blas.isILP64) && (!lapack.isILP64);
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "octopus";
|
||||
version = "11.4";
|
||||
version = "12.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "octopus-code";
|
||||
repo = "octopus";
|
||||
rev = version;
|
||||
sha256 = "1z423sjpc4ajjy3s7623z3rfwmp2hgis7iiiy8gb5apw73k33dyv";
|
||||
sha256 = "sha256-OF6zcyxtWXxMUIAB8YxQ3453JAmw6Q3RnNMjr4HgTmE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -7,12 +7,11 @@
|
|||
, netcdf
|
||||
, glew
|
||||
, glm
|
||||
, freeglut
|
||||
, libpng
|
||||
, libxml2
|
||||
, tk
|
||||
, freetype
|
||||
, msgpack
|
||||
, qt5
|
||||
}:
|
||||
let
|
||||
pname = "pymol";
|
||||
|
@ -47,12 +46,11 @@ python3Packages.buildPythonApplication rec {
|
|||
sha256 = "sha256-JdsgcVF1w1xFPZxVcyS+GcWg4a1Bd4SvxFOuSdlz9SM=";
|
||||
};
|
||||
|
||||
buildInputs = [ python3Packages.numpy glew glm freeglut libpng libxml2 tk freetype msgpack netcdf ];
|
||||
nativeBuildInputs = [ qt5.wrapQtAppsHook ];
|
||||
buildInputs = [ python3Packages.numpy python3Packages.pyqt5 glew glm libpng libxml2 freetype msgpack netcdf ];
|
||||
NIX_CFLAGS_COMPILE = "-I ${libxml2.dev}/include/libxml2";
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
setupPyBuildFlags = [ "--glut" ];
|
||||
|
||||
installPhase = ''
|
||||
python setup.py install --home="$out"
|
||||
runHook postInstall
|
||||
|
@ -60,13 +58,17 @@ python3Packages.buildPythonApplication rec {
|
|||
|
||||
postInstall = with python3Packages; ''
|
||||
wrapProgram $out/bin/pymol \
|
||||
--prefix PYTHONPATH : ${lib.makeSearchPathOutput "lib" python3.sitePackages [ Pmw tkinter ]}
|
||||
--prefix PYTHONPATH : ${lib.makeSearchPathOutput "lib" python3.sitePackages [ pyqt5 pyqt5.pyqt5_sip ]}
|
||||
|
||||
mkdir -p "$out/share/icons/"
|
||||
ln -s ../../lib/python/pymol/pymol_path/data/pymol/icons/icon2.svg "$out/share/icons/pymol.svg"
|
||||
cp -r "${desktopItem}/share/applications/" "$out/share/"
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
wrapQtApp "$out/bin/pymol"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
broken = stdenv.isDarwin;
|
||||
inherit description;
|
||||
|
|
|
@ -4,13 +4,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "librepcb";
|
||||
version = "0.1.6";
|
||||
version = "0.1.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0gzf3asdgdicpikb412134ybqnbbark948yrfhvba2w4i9cwbk2r";
|
||||
sha256 = "sha256-zqvvc3CHqdRWVUFt4BkH5Vq50/FKNvMNW2NvGyfWwFM=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -4,13 +4,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "verilator";
|
||||
version = "4.224";
|
||||
version = "4.226";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Kn44yWkNcOLkc79HLDTxx5zQn/vqft+hhbvsoUAKR7I=";
|
||||
sha256 = "sha256-X6Kwpcm+ugu+4gVkWfsqdCPFTESHzJ1jjCPnGqE3/vo=";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
|
22
pkgs/applications/science/math/readstat/default.nix
Normal file
22
pkgs/applications/science/math/readstat/default.nix
Normal file
|
@ -0,0 +1,22 @@
|
|||
{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "readstat";
|
||||
version = "1.1.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "WizardMac";
|
||||
repo = "ReadStat";
|
||||
rev = "v${version}";
|
||||
sha256 = "1r04lq45h1yn34v1mgfiqjfzyaqv4axqlby0nkandamcsqyhc7y4";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config autoreconfHook ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/WizardMac/ReadStat";
|
||||
description = "Command-line tool (+ C library) for converting SAS, Stata, and SPSS files";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ swflint ];
|
||||
};
|
||||
}
|
33
pkgs/applications/terminal-emulators/tym/default.nix
Normal file
33
pkgs/applications/terminal-emulators/tym/default.nix
Normal file
|
@ -0,0 +1,33 @@
|
|||
{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, gtk3, vte, lua5_3, pcre2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "tym";
|
||||
version = "3.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "endaaman";
|
||||
repo = "${pname}";
|
||||
rev = "${version}";
|
||||
sha256 = "sha256-ufIYJgbHmSJJbnx4hyDx0DmIjaGCxKXtiekcXcyka14=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
autoreconfHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
vte
|
||||
lua5_3
|
||||
pcre2
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Lua-configurable terminal emulator";
|
||||
homepage = "https://github.com/endaaman/tym";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.wesleyjrz ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, pkg-config, glm, libGL }:
|
||||
|
||||
buildKodiBinaryAddon rec {
|
||||
pname = "visualization-waveform";
|
||||
namespace = "visualization.waveform";
|
||||
version = "19.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xbmc";
|
||||
repo = namespace;
|
||||
rev = "${version}-${rel}";
|
||||
hash = "sha256-IQLW4CDNtt/ptE679hnoXbharq61Ru9S2m7QbJLtNSI=";
|
||||
};
|
||||
|
||||
extraBuildInputs = [ pkg-config libGL ];
|
||||
|
||||
propagatedBuildInputs = [ glm ];
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/xbmc/visualization.waveform";
|
||||
description = "Waveform visualization for kodi";
|
||||
platforms = platforms.all;
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
|
@ -50,7 +50,7 @@
|
|||
homepage = "http://www.tvdr.de/";
|
||||
description = "Video Disc Recorder";
|
||||
maintainers = [ maintainers.ck3d ];
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl2Plus;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -32,9 +32,11 @@ in {
|
|||
|
||||
buildInputs = [ vdr ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.saunalahti.fi/~rahrenbe/vdr/femon/files/${pname}-${version}.tgz";
|
||||
sha256 = "1hra1xslj8s68zbyr8zdqp8yap0aj1p6rxyc6cwy1j122kwcnapp";
|
||||
src = fetchFromGitHub {
|
||||
repo = "vdr-plugin-femon";
|
||||
owner = "rofafor";
|
||||
sha256 = "sha256-0qBMYgNKk7N9Bj8fAoOokUo+G9gfj16N5e7dhoKRBqs=";
|
||||
rev = "v${version}";
|
||||
};
|
||||
|
||||
postPatch = "substituteInPlace Makefile --replace /bin/true true";
|
||||
|
@ -42,23 +44,23 @@ in {
|
|||
makeFlags = [ "DESTDIR=$(out)" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://www.saunalahti.fi/~rahrenbe/vdr/femon/";
|
||||
inherit (src.meta) homepage;
|
||||
description = "DVB Frontend Status Monitor plugin for VDR";
|
||||
maintainers = [ maintainers.ck3d ];
|
||||
license = licenses.gpl2;
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
inherit (vdr.meta) platforms;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
markad = stdenv.mkDerivation rec {
|
||||
pname = "vdr-markad";
|
||||
version = "3.0.25";
|
||||
version = "3.0.26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "vdr-plugin-markad";
|
||||
owner = "kfb77";
|
||||
sha256 = "sha256-m7cUAxwXj62spelHYH6uTIoViSavSR0d4psr7+KLJg8=";
|
||||
sha256 = "sha256-0J6XeLgr9IZSWsheQZWVNRLIxp8iyCvR9Y0z/yrbTnI=";
|
||||
rev = "v${version}";
|
||||
};
|
||||
|
||||
|
@ -88,11 +90,11 @@ in {
|
|||
installFlags = buildFlags;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/kfb77/vdr-plugin-markad";
|
||||
inherit (src.meta) homepage;
|
||||
description = "MarkAd marks advertisements in VDR recordings.";
|
||||
maintainers = [ maintainers.ck3d ];
|
||||
license = licenses.gpl2;
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
inherit (vdr.meta) platforms;
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -101,8 +103,9 @@ in {
|
|||
pname = "vdr-epgsearch";
|
||||
version = "2.4.1";
|
||||
|
||||
src = fetchgit {
|
||||
url = "git://projects.vdr-developer.org/vdr-plugin-epgsearch.git";
|
||||
src = fetchFromGitHub {
|
||||
repo = "vdr-plugin-epgsearch";
|
||||
owner = "vdr-projects";
|
||||
sha256 = "sha256-UlbPCkUFN0Gyxjw9xq2STFTDZRVcPPNjadSQd4o2o9U=";
|
||||
rev = "v${version}";
|
||||
};
|
||||
|
@ -136,18 +139,18 @@ in {
|
|||
outputs = [ "out" "man" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://winni.vdr-developer.org/epgsearch";
|
||||
inherit (src.meta) homepage;
|
||||
description = "Searchtimer and replacement of the VDR program menu";
|
||||
maintainers = [ maintainers.ck3d ];
|
||||
license = licenses.gpl2;
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
inherit (vdr.meta) platforms;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
vnsiserver = stdenv.mkDerivation rec {
|
||||
pname = "vdr-vnsiserver";
|
||||
version = "1.8.0";
|
||||
version = "1.8.1";
|
||||
|
||||
buildInputs = [ vdr ];
|
||||
|
||||
|
@ -155,17 +158,17 @@ in {
|
|||
|
||||
src = fetchFromGitHub {
|
||||
repo = "vdr-plugin-vnsiserver";
|
||||
owner = "FernetMenta";
|
||||
rev = "v${version}";
|
||||
sha256 = "0n7idpxqx7ayd63scl6xwdx828ik4kb2mwz0c30cfjnmnxxd45lw";
|
||||
owner = "vdr-projects";
|
||||
rev = version;
|
||||
sha256 = "sha256-1C0Z7NoU+FNch4BhrAcbJdzVvGuH1YDaxJ+9PflR78E=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/FernetMenta/vdr-plugin-vnsiserver";
|
||||
inherit (src.meta) homepage;
|
||||
description = "VDR plugin to handle KODI clients.";
|
||||
maintainers = [ maintainers.ck3d ];
|
||||
license = licenses.gpl2;
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
inherit (vdr.meta) platforms;
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -201,7 +204,7 @@ in {
|
|||
description = "VDR Text2Skin Plugin";
|
||||
maintainers = [ maintainers.ck3d ];
|
||||
license = licenses.gpl2;
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
inherit (vdr.meta) platforms;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -222,11 +225,11 @@ in {
|
|||
installFlags = [ "DESTDIR=$(out)" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/jowi24/vdr-fritz";
|
||||
inherit (src.meta) homepage;
|
||||
description = "A plugin for VDR to access AVMs Fritz Box routers";
|
||||
maintainers = [ maintainers.ck3d ];
|
||||
license = licenses.gpl2;
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
inherit (vdr.meta) platforms;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -12,12 +12,12 @@
|
|||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vdr-softhddevice";
|
||||
version = "1.9.0";
|
||||
version = "1.9.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ua0lnj";
|
||||
repo = "vdr-plugin-softhddevice";
|
||||
sha256 = "sha256-IqG1Jr+fV4MMyTTOUGY34HNqS8qvAH+CSi2IEyVGVFo=";
|
||||
sha256 = "sha256-2kh8qMxaAjekvgjMVRmm1nPzlN2wjY/6qYjFyo6CLlg=";
|
||||
rev = "v${version}";
|
||||
};
|
||||
|
||||
|
@ -40,11 +40,11 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/ua0lnj/vdr-plugin-softhddevice";
|
||||
inherit (src.meta) homepage;
|
||||
description = "VDR SoftHDDevice Plug-in";
|
||||
maintainers = [ maintainers.ck3d ];
|
||||
license = licenses.gpl2;
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
inherit (vdr.meta) platforms;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
|||
];
|
||||
|
||||
meta = with lib;{
|
||||
homepage = "https://github.com/vdr-projects/vdr-plugin-streamdev";
|
||||
inherit (src.meta) homepage;
|
||||
description = "This PlugIn is a VDR implementation of the VTP (Video Transfer Protocol) Version 0.0.3 (see file PROTOCOL) and a basic HTTP Streaming Protocol.";
|
||||
maintainers = [ maintainers.ck3d ];
|
||||
license = licenses.gpl2;
|
||||
|
|
|
@ -128,7 +128,7 @@ in
|
|||
};
|
||||
|
||||
noto-fonts-emoji = let
|
||||
version = "2.034";
|
||||
version = "2.038";
|
||||
emojiPythonEnv =
|
||||
buildPackages.python3.withPackages (p: with p; [ fonttools nototools ]);
|
||||
in stdenvNoCC.mkDerivation {
|
||||
|
@ -139,7 +139,7 @@ in
|
|||
owner = "googlefonts";
|
||||
repo = "noto-emoji";
|
||||
rev = "v${version}";
|
||||
sha256 = "1d6zzk0ii43iqfnjbldwp8sasyx99lbjp1nfgqjla7ixld6yp98l";
|
||||
sha256 = "1rgmcc6nqq805iqr8kvxxlk5cf50q714xaxk3ld6rjrd69kb8ix9";
|
||||
};
|
||||
|
||||
depsBuildBuild = [
|
||||
|
@ -171,8 +171,10 @@ in
|
|||
enableParallelBuilding = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/share/fonts/noto
|
||||
cp NotoColorEmoji.ttf fonts/NotoEmoji-Regular.ttf $out/share/fonts/noto
|
||||
cp NotoColorEmoji.ttf $out/share/fonts/noto
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "nototools";
|
||||
version = "0.2.16";
|
||||
version = "0.2.17";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
|
@ -15,7 +15,7 @@ buildPythonPackage rec {
|
|||
owner = "googlefonts";
|
||||
repo = "nototools";
|
||||
rev = "v${version}";
|
||||
sha256 = "14rrdamkmhrykff8ln07fq9cm8zwj3k113lzwjcy0lgz23g51jyl";
|
||||
sha256 = "0jxydivqzggirc31jv7b4mrsjkg646zmra5m4h0pk4amgy65rvyp";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
|
||||
let
|
||||
|
||||
inherit (lib) concatMapStringsSep;
|
||||
|
||||
gsettingsOverridePackages = [
|
||||
# from
|
||||
mint-artwork
|
||||
|
@ -38,22 +40,21 @@ let
|
|||
|
||||
in
|
||||
|
||||
with lib;
|
||||
|
||||
# TODO: Having https://github.com/NixOS/nixpkgs/issues/54150 would supersede this
|
||||
runCommand "cinnamon-gsettings-overrides" { }
|
||||
runCommand "cinnamon-gsettings-overrides" { preferLocalBuild = true; }
|
||||
''
|
||||
schema_dir=$out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
|
||||
data_dir="$out/share/gsettings-schemas/nixos-gsettings-overrides"
|
||||
schema_dir="$data_dir/glib-2.0/schemas"
|
||||
|
||||
mkdir -p $schema_dir
|
||||
mkdir -p "$schema_dir"
|
||||
|
||||
${concatMapStrings (pkg: "cp -rf ${glib.getSchemaPath pkg}/*.xml ${glib.getSchemaPath pkg}/*.gschema.override $schema_dir\n") gsettingsOverridePackages}
|
||||
${concatMapStringsSep "\n" (pkg: "cp -rf \"${glib.getSchemaPath pkg}\"/*.xml \"${glib.getSchemaPath pkg}\"/*.gschema.override \"$schema_dir\"") gsettingsOverridePackages}
|
||||
|
||||
chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides
|
||||
chmod -R a+w "$data_dir"
|
||||
|
||||
cat - > $schema_dir/nixos-defaults.gschema.override <<- EOF
|
||||
cat - > "$schema_dir/nixos-defaults.gschema.override" <<- EOF
|
||||
${extraGSettingsOverrides}
|
||||
EOF
|
||||
|
||||
${glib.dev}/bin/glib-compile-schemas $schema_dir
|
||||
${glib.dev}/bin/glib-compile-schemas --strict "$schema_dir"
|
||||
''
|
||||
|
|
|
@ -123,6 +123,8 @@ lib.makeScope pkgs.newScope (self: with self; {
|
|||
withGnome = true;
|
||||
};
|
||||
|
||||
nixos-gsettings-overrides = callPackage ./nixos/gsettings-overrides { };
|
||||
|
||||
rygel = callPackage ./core/rygel { };
|
||||
|
||||
simple-scan = callPackage ./core/simple-scan { };
|
||||
|
|
55
pkgs/desktops/gnome/nixos/gsettings-overrides/default.nix
Normal file
55
pkgs/desktops/gnome/nixos/gsettings-overrides/default.nix
Normal file
|
@ -0,0 +1,55 @@
|
|||
{ lib
|
||||
, runCommand
|
||||
, gsettings-desktop-schemas
|
||||
, gnome-shell
|
||||
, glib
|
||||
, gnome-flashback
|
||||
, nixos-artwork
|
||||
, nixos-background-light ? nixos-artwork.wallpapers.simple-blue
|
||||
, nixos-background-dark ? nixos-artwork.wallpapers.simple-dark-gray
|
||||
, extraGSettingsOverrides ? ""
|
||||
, extraGSettingsOverridePackages ? [ ]
|
||||
, favoriteAppsOverride ? ""
|
||||
, flashbackEnabled ? false
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
inherit (lib) concatMapStringsSep;
|
||||
|
||||
gsettingsOverridePackages = [
|
||||
gsettings-desktop-schemas
|
||||
gnome-shell
|
||||
] ++ lib.optionals flashbackEnabled [
|
||||
gnome-flashback
|
||||
] ++ extraGSettingsOverridePackages;
|
||||
|
||||
gsettingsOverrides = ''
|
||||
[org.gnome.desktop.background]
|
||||
picture-uri='file://${nixos-background-light.gnomeFilePath}'
|
||||
picture-uri-dark='file://${nixos-background-dark.gnomeFilePath}'
|
||||
|
||||
[org.gnome.desktop.screensaver]
|
||||
picture-uri='file://${nixos-background-dark.gnomeFilePath}'
|
||||
|
||||
${favoriteAppsOverride}
|
||||
|
||||
${extraGSettingsOverrides}
|
||||
'';
|
||||
|
||||
in
|
||||
|
||||
runCommand "gnome-gsettings-overrides" { preferLocalBuild = true; } ''
|
||||
data_dir="$out/share/gsettings-schemas/nixos-gsettings-overrides"
|
||||
schema_dir="$data_dir/glib-2.0/schemas"
|
||||
mkdir -p "$schema_dir"
|
||||
|
||||
${concatMapStringsSep "\n" (pkg: "cp -rf \"${glib.getSchemaPath pkg}\"/*.xml \"${glib.getSchemaPath pkg}\"/*.gschema.override \"$schema_dir\"") gsettingsOverridePackages}
|
||||
|
||||
chmod -R a+w "$data_dir"
|
||||
cat - > "$schema_dir/nixos-defaults.gschema.override" <<- EOF
|
||||
${gsettingsOverrides}
|
||||
EOF
|
||||
|
||||
${glib.dev}/bin/glib-compile-schemas --strict "$schema_dir"
|
||||
''
|
|
@ -10,11 +10,13 @@
|
|||
, elementary-dock
|
||||
, gsettings-desktop-schemas
|
||||
, extraGSettingsOverrides ? ""
|
||||
, extraGSettingsOverridePackages ? []
|
||||
, extraGSettingsOverridePackages ? [ ]
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
inherit (lib) concatMapStringsSep;
|
||||
|
||||
gsettingsOverridePackages = [
|
||||
elementary-dock
|
||||
gnome-settings-daemon
|
||||
|
@ -27,25 +29,24 @@ let
|
|||
|
||||
in
|
||||
|
||||
with lib;
|
||||
|
||||
# TODO: Having https://github.com/NixOS/nixpkgs/issues/54150 would supersede this
|
||||
runCommand "elementary-gsettings-desktop-schemas" {}
|
||||
runCommand "elementary-gsettings-desktop-schemas" { preferLocalBuild = true; }
|
||||
''
|
||||
schema_dir=$out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
|
||||
data_dir="$out/share/gsettings-schemas/nixos-gsettings-overrides"
|
||||
schema_dir="$data_dir/glib-2.0/schemas"
|
||||
|
||||
mkdir -p $schema_dir
|
||||
mkdir -p "$schema_dir"
|
||||
cp -rf "${glib.getSchemaPath gala}"/*.gschema.override "$schema_dir"
|
||||
|
||||
cp -rf ${glib.getSchemaPath gala}/*.gschema.override $schema_dir
|
||||
${concatMapStringsSep "\n" (pkg: "cp -rf \"${glib.getSchemaPath pkg}\"/*.xml \"$schema_dir\"") gsettingsOverridePackages}
|
||||
|
||||
${concatMapStrings (pkg: "cp -rf ${glib.getSchemaPath pkg}/*.xml $schema_dir\n") gsettingsOverridePackages}
|
||||
chmod -R a+w "$data_dir"
|
||||
cp "${glib.getSchemaPath elementary-default-settings}"/* "$schema_dir"
|
||||
|
||||
chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides
|
||||
cp ${glib.getSchemaPath elementary-default-settings}/* $schema_dir
|
||||
cat - > "$schema_dir/nixos-defaults.gschema.override" <<- EOF
|
||||
${extraGSettingsOverrides}
|
||||
EOF
|
||||
|
||||
cat - > $schema_dir/nixos-defaults.gschema.override <<- EOF
|
||||
${extraGSettingsOverrides}
|
||||
EOF
|
||||
|
||||
${glib.dev}/bin/glib-compile-schemas $schema_dir
|
||||
${glib.dev}/bin/glib-compile-schemas $schema_dir
|
||||
''
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "julia-bin";
|
||||
version = "1.8.1";
|
||||
version = "1.8.2";
|
||||
|
||||
src = {
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://julialang-s3.julialang.org/bin/linux/x64/${lib.versions.majorMinor version}/julia-${version}-linux-x86_64.tar.gz";
|
||||
sha256 = "sha256-MwVO5kfuik+1T8BREOB+C1PgRZH+U9Cky0x+16BekfE=";
|
||||
sha256 = "sha256-ZxzzpFC2OnF+Hu3X9pCH44VvAVsuFGy1SSjxmjwF55Y=";
|
||||
};
|
||||
aarch64-linux = fetchurl {
|
||||
url = "https://julialang-s3.julialang.org/bin/linux/aarch64/${lib.versions.majorMinor version}/julia-${version}-linux-aarch64.tar.gz";
|
||||
sha256 = "sha256-ugaDesKJlUe7t5mYnxFGT+zWeCImhxw7ekhhlIEEJnk=";
|
||||
sha256 = "sha256-+RwnZCj/swrMIJ4Os+cLHJEmDoh+EdS2b1VFCEtTBUc=";
|
||||
};
|
||||
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
||||
|
|
|
@ -28,11 +28,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "julia";
|
||||
version = "1.8.1";
|
||||
version = "1.8.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/JuliaLang/julia/releases/download/v${version}/julia-${version}-full.tar.gz";
|
||||
sha256 = "sha256-MeRlX0s3fnPW9YPFOdAiHte0gKPqCRgz0ABTFhhcW2E=";
|
||||
sha256 = "sha256-5Xz8Lm2JF1Ckf3zwNVmk6PchK/VJAPJqnxL9bQCdTKk=";
|
||||
};
|
||||
|
||||
patches =
|
||||
|
@ -44,10 +44,6 @@ stdenv.mkDerivation rec {
|
|||
url = path "julia-hardcoded-libs.patch";
|
||||
sha256 = "sha256-kppSpVA7bRohd0wXDs4Jgct9ocHnpbeiiSz7ElFom1U=";
|
||||
})
|
||||
(fetchurl {
|
||||
url = path "julia-libgit-1.4.patch";
|
||||
sha256 = "sha256-rcVXYoGpAxwAbAl33n0/Rkwsi8ZJz8cnHQ5CalUx+1o=";
|
||||
})
|
||||
(fetchurl {
|
||||
url = path "julia-libunwind-1.6.patch";
|
||||
sha256 = "sha256-zqMh9+Fjgd15XuINe9Xtpk+bRTwB0T6WCWLrJyOQfiQ=";
|
||||
|
|
|
@ -12,13 +12,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "${passthru.prettyName}-unwrapped";
|
||||
version = "unstable-2022-08-02";
|
||||
version = "unstable-2022-10-03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "open-watcom";
|
||||
repo = "open-watcom-v2";
|
||||
rev = "4bdb73995b871982dd106838296903701ded29c2";
|
||||
sha256 = "sha256-Ay/f+gnj8EklN8T/uP0a+Zji6HEHAoPLdkrSTQaC9Rs=";
|
||||
rev = "61538429a501a09f369366d832799f2e3b196a02";
|
||||
sha256 = "sha256-YvqRw0klSqOxIuO5QFKjcUp6aRWlO2j3L+T1ekx8SfA=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
From fcae473c4b6ac2120ec75c321d6db850d8ecd6a9 Mon Sep 17 00:00:00 2001
|
||||
From ef066db7f5cb7f551f88fb218c82fc947e464425 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Mustafa=20=C3=87al=C4=B1=C5=9Fkan?= <muscaln@protonmail.com>
|
||||
Date: Sat, 30 Apr 2022 16:37:44 +0300
|
||||
Date: Sun, 3 Jul 2022 14:30:51 +0300
|
||||
Subject: [PATCH 1/3] Makefile
|
||||
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index dc388c21..7efc9901 100644
|
||||
index 60a5a574..904d2db5 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -14,11 +14,6 @@ LLVM_VERSIONS = 14 13 12 11
|
||||
|
@ -20,7 +20,7 @@ index dc388c21..7efc9901 100644
|
|||
# First search for a custom built copy, then move on to explicitly version-tagged binaries, then just see if the tool is in path with its normal name.
|
||||
findLLVMTool = $(call detect,$(1),$(abspath llvm-build/bin/$(1)) $(foreach ver,$(LLVM_VERSIONS),$(call toolSearchPathsVersion,$(1),$(ver))) $(1))
|
||||
CLANG ?= $(call findLLVMTool,clang)
|
||||
@@ -644,9 +639,8 @@ endif
|
||||
@@ -707,9 +702,8 @@ endif
|
||||
wasmtest:
|
||||
$(GO) test ./tests/wasm
|
||||
|
||||
|
@ -31,8 +31,13 @@ index dc388c21..7efc9901 100644
|
|||
@mkdir -p build/release/tinygo/lib/CMSIS/CMSIS
|
||||
@mkdir -p build/release/tinygo/lib/macos-minimal-sdk
|
||||
@mkdir -p build/release/tinygo/lib/mingw-w64/mingw-w64-crt/lib-common
|
||||
@@ -663,10 +657,6 @@ build/release: tinygo gen-device wasi-libc $(if $(filter 1,$(USE_SYSTEM_BINARYEN
|
||||
@mkdir -p build/release/tinygo/pkg/thumbv7em-unknown-unknown-eabi-cortex-m4
|
||||
@@ -721,15 +715,8 @@ build/release: tinygo gen-device wasi-libc $(if $(filter 1,$(USE_SYSTEM_BINARYEN
|
||||
@mkdir -p build/release/tinygo/lib/picolibc/newlib/libc
|
||||
@mkdir -p build/release/tinygo/lib/picolibc/newlib/libm
|
||||
@mkdir -p build/release/tinygo/lib/wasi-libc
|
||||
- @mkdir -p build/release/tinygo/pkg/thumbv6m-unknown-unknown-eabi-cortex-m0
|
||||
- @mkdir -p build/release/tinygo/pkg/thumbv6m-unknown-unknown-eabi-cortex-m0plus
|
||||
- @mkdir -p build/release/tinygo/pkg/thumbv7em-unknown-unknown-eabi-cortex-m4
|
||||
@echo copying source files
|
||||
@cp -p build/tinygo$(EXE) build/release/tinygo/bin
|
||||
-ifneq ($(USE_SYSTEM_BINARYEN),1)
|
||||
|
@ -42,7 +47,7 @@ index dc388c21..7efc9901 100644
|
|||
@cp -rp lib/CMSIS/CMSIS/Include build/release/tinygo/lib/CMSIS/CMSIS
|
||||
@cp -rp lib/CMSIS/README.md build/release/tinygo/lib/CMSIS
|
||||
@cp -rp lib/macos-minimal-sdk/* build/release/tinygo/lib/macos-minimal-sdk
|
||||
@@ -705,8 +695,7 @@ endif
|
||||
@@ -768,16 +755,9 @@ endif
|
||||
@cp -rp lib/picolibc/newlib/libm/common build/release/tinygo/lib/picolibc/newlib/libm
|
||||
@cp -rp lib/picolibc-stdio.c build/release/tinygo/lib
|
||||
@cp -rp lib/wasi-libc/sysroot build/release/tinygo/lib/wasi-libc/sysroot
|
||||
|
@ -51,7 +56,15 @@ index dc388c21..7efc9901 100644
|
|||
+ @cp -rp lib/compiler-rt-builtins build/release/tinygo/lib/compiler-rt-builtins
|
||||
@cp -rp src build/release/tinygo/src
|
||||
@cp -rp targets build/release/tinygo/targets
|
||||
./build/tinygo build-library -target=cortex-m0 -o build/release/tinygo/pkg/thumbv6m-unknown-unknown-eabi-cortex-m0/compiler-rt compiler-rt
|
||||
- ./build/release/tinygo/bin/tinygo build-library -target=cortex-m0 -o build/release/tinygo/pkg/thumbv6m-unknown-unknown-eabi-cortex-m0/compiler-rt compiler-rt
|
||||
- ./build/release/tinygo/bin/tinygo build-library -target=cortex-m0plus -o build/release/tinygo/pkg/thumbv6m-unknown-unknown-eabi-cortex-m0plus/compiler-rt compiler-rt
|
||||
- ./build/release/tinygo/bin/tinygo build-library -target=cortex-m4 -o build/release/tinygo/pkg/thumbv7em-unknown-unknown-eabi-cortex-m4/compiler-rt compiler-rt
|
||||
- ./build/release/tinygo/bin/tinygo build-library -target=cortex-m0 -o build/release/tinygo/pkg/thumbv6m-unknown-unknown-eabi-cortex-m0/picolibc picolibc
|
||||
- ./build/release/tinygo/bin/tinygo build-library -target=cortex-m0plus -o build/release/tinygo/pkg/thumbv6m-unknown-unknown-eabi-cortex-m0plus/picolibc picolibc
|
||||
- ./build/release/tinygo/bin/tinygo build-library -target=cortex-m4 -o build/release/tinygo/pkg/thumbv7em-unknown-unknown-eabi-cortex-m4/picolibc picolibc
|
||||
|
||||
release:
|
||||
tar -czf build/release.tar.gz -C build/release tinygo
|
||||
--
|
||||
2.36.0
|
||||
2.37.2
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 4ee942ccc7cdb06ee51490e9cb44ecb36b25378a Mon Sep 17 00:00:00 2001
|
||||
From 301b2d82cdbfaffe4dfba1d2cfed068a4115f730 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Mustafa=20=C3=87al=C4=B1=C5=9Fkan?= <muscaln@protonmail.com>
|
||||
Date: Sat, 30 Apr 2022 16:18:31 +0300
|
||||
Subject: [PATCH 2/3] Add clang header path
|
||||
|
||||
|
||||
diff --git a/builder/builtins.go b/builder/builtins.go
|
||||
index 479b541d..b35283c6 100644
|
||||
index 121398fa..a589988b 100644
|
||||
--- a/builder/builtins.go
|
||||
+++ b/builder/builtins.go
|
||||
@@ -164,7 +164,7 @@ var aeabiBuiltins = []string{
|
||||
@@ -170,7 +170,7 @@ var aeabiBuiltins = []string{
|
||||
var CompilerRT = Library{
|
||||
name: "compiler-rt",
|
||||
cflags: func(target, headerPath string) []string {
|
||||
|
@ -31,10 +31,10 @@ index f1b061ae..159f90cf 100644
|
|||
"-I" + picolibcDir + "/tinystdio",
|
||||
"-I" + headerPath,
|
||||
diff --git a/compileopts/config.go b/compileopts/config.go
|
||||
index b30e653e..7561b3f2 100644
|
||||
index a006b673..3a105b49 100644
|
||||
--- a/compileopts/config.go
|
||||
+++ b/compileopts/config.go
|
||||
@@ -288,6 +288,7 @@ func (c *Config) CFlags() []string {
|
||||
@@ -279,6 +279,7 @@ func (c *Config) CFlags() []string {
|
||||
path, _ := c.LibcPath("picolibc")
|
||||
cflags = append(cflags,
|
||||
"--sysroot="+path,
|
||||
|
@ -42,7 +42,7 @@ index b30e653e..7561b3f2 100644
|
|||
"-isystem", filepath.Join(path, "include"), // necessary for Xtensa
|
||||
"-isystem", filepath.Join(picolibcDir, "include"),
|
||||
"-isystem", filepath.Join(picolibcDir, "tinystdio"),
|
||||
@@ -297,7 +298,6 @@ func (c *Config) CFlags() []string {
|
||||
@@ -288,7 +289,6 @@ func (c *Config) CFlags() []string {
|
||||
path, _ := c.LibcPath("musl")
|
||||
arch := MuslArchitecture(c.Triple())
|
||||
cflags = append(cflags,
|
||||
|
@ -51,5 +51,5 @@ index b30e653e..7561b3f2 100644
|
|||
"-isystem", filepath.Join(root, "lib", "musl", "arch", arch),
|
||||
"-isystem", filepath.Join(root, "lib", "musl", "include"),
|
||||
--
|
||||
2.36.0
|
||||
2.37.2
|
||||
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
From e7357c383188dd735592bd9f2202d2afcfffa39d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Mustafa=20=C3=87al=C4=B1=C5=9Fkan?= <muscaln@protonmail.com>
|
||||
Date: Sun, 11 Sep 2022 17:08:33 +0300
|
||||
Subject: [PATCH 3/3] Use out path as build id on darwin
|
||||
|
||||
|
||||
diff --git a/builder/buildid.go b/builder/buildid.go
|
||||
index e6527700..65cb08e8 100644
|
||||
--- a/builder/buildid.go
|
||||
+++ b/builder/buildid.go
|
||||
@@ -3,8 +3,6 @@ package builder
|
||||
import (
|
||||
"bytes"
|
||||
"debug/elf"
|
||||
- "debug/macho"
|
||||
- "encoding/binary"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
@@ -53,30 +51,9 @@ func ReadBuildID() ([]byte, error) {
|
||||
return goID, nil
|
||||
}
|
||||
case "darwin":
|
||||
- // Read the LC_UUID load command, which contains the equivalent of a
|
||||
- // build ID.
|
||||
- file, err := macho.NewFile(f)
|
||||
- if err != nil {
|
||||
- return nil, err
|
||||
- }
|
||||
- for _, load := range file.Loads {
|
||||
- // Unfortunately, the debug/macho package doesn't support the
|
||||
- // LC_UUID command directly. So we have to read it from
|
||||
- // macho.LoadBytes.
|
||||
- load, ok := load.(macho.LoadBytes)
|
||||
- if !ok {
|
||||
- continue
|
||||
- }
|
||||
- raw := load.Raw()
|
||||
- command := binary.LittleEndian.Uint32(raw)
|
||||
- if command != 0x1b {
|
||||
- // Looking for the LC_UUID load command.
|
||||
- // LC_UUID is defined here as 0x1b:
|
||||
- // https://opensource.apple.com/source/xnu/xnu-4570.71.2/EXTERNAL_HEADERS/mach-o/loader.h.auto.html
|
||||
- continue
|
||||
- }
|
||||
- return raw[4:], nil
|
||||
- }
|
||||
+ // On darwin, os.Executable() returns broken path in nix build environment
|
||||
+ // So we are using $out path as build id since its also unique
|
||||
+ return []byte("OUT_PATH"), nil
|
||||
default:
|
||||
// On other platforms (such as Windows) there isn't such a convenient
|
||||
// build ID. Luckily, Go does have an equivalent of the build ID, which
|
||||
--
|
||||
2.37.2
|
||||
|
|
@ -18,6 +18,7 @@
|
|||
, avrdude
|
||||
, gdb
|
||||
, openocd
|
||||
, tinygoTests ? [ "smoketest" ]
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -27,17 +28,17 @@ in
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "tinygo";
|
||||
version = "0.23.0";
|
||||
version = "0.25.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tinygo-org";
|
||||
repo = "tinygo";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-YgQGAQJw9Xyw5BF2d9uZTQHfjHsu2evZGo4RV9DtStE=";
|
||||
sha256 = "sha256-Rxdxum1UIaz8tpEAGqpLvKd25nHdj4Se+IoN29EJEHg=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-fK8BlCh+1NtHW6MwW68iSIB+Sw6AK+g3y4lMyMYrXkk=";
|
||||
vendorSha256 = "sha256-QxLY4KT05PtA/W7d1vKxsq5w35YZ6MJL3Lh726b+E9w=";
|
||||
|
||||
patches = [
|
||||
./0001-Makefile.patch
|
||||
|
@ -46,17 +47,22 @@ buildGoModule rec {
|
|||
src = ./0002-Add-clang-header-path.patch;
|
||||
clang_include = "${clang.cc.lib}/lib/clang/${clang.cc.version}/include";
|
||||
})
|
||||
|
||||
#TODO(muscaln): Find a better way to fix build ID on darwin
|
||||
./0003-Use-out-path-as-build-id-on-darwin.patch
|
||||
];
|
||||
|
||||
checkInputs = [ avrgcc binaryen ];
|
||||
nativeBuildInputs = [ go makeWrapper ];
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ llvm clang.cc ]
|
||||
++ lib.optionals stdenv.isDarwin [ zlib ncurses libffi libxml2 xar ];
|
||||
|
||||
doCheck = stdenv.buildPlatform == stdenv.hostPlatform;
|
||||
doCheck = (stdenv.buildPlatform.canExecute stdenv.hostPlatform);
|
||||
inherit tinygoTests;
|
||||
|
||||
allowGoReference = true;
|
||||
tags = [ "llvm${llvmMajor}" ];
|
||||
ldflags = [ "-X github.com/tinygo-org/tinygo/goenv.TINYGOROOT=${placeholder "out"}/share/tinygo" ];
|
||||
subPackages = [ "." ];
|
||||
|
||||
# Output contains static libraries for different arm cpus
|
||||
|
@ -83,9 +89,13 @@ buildGoModule rec {
|
|||
|
||||
substituteInPlace Makefile \
|
||||
--replace "\$(TINYGO)" "$(pwd)/build/tinygo" \
|
||||
--replace "@\$(MD5SUM)" "md5sum" \
|
||||
--replace "build/release/tinygo/bin" "$out/bin" \
|
||||
--replace "build/release/" "$out/share/"
|
||||
|
||||
substituteInPlace builder/buildid.go \
|
||||
--replace "OUT_PATH" "$out"
|
||||
|
||||
# TODO: Fix mingw and darwin
|
||||
# Disable windows and darwin cross-compile tests
|
||||
sed -i "/GOOS=windows/d" Makefile
|
||||
|
@ -103,24 +113,34 @@ buildGoModule rec {
|
|||
'';
|
||||
|
||||
preBuild = ''
|
||||
export HOME=$TMPDIR
|
||||
export GOCACHE=$TMPDIR/go-cache
|
||||
export GOPATH=$TMPDIR/go
|
||||
export PATH=$out/libexec/tinygo:$PATH
|
||||
export HOME=$TMPDIR
|
||||
'';
|
||||
|
||||
postBuild = ''
|
||||
postBuild = let
|
||||
tinygoForBuild = if (stdenv.buildPlatform.canExecute stdenv.hostPlatform)
|
||||
then "build/tinygo"
|
||||
else "${buildPackages.tinygo}/bin/tinygo";
|
||||
in ''
|
||||
# Move binary
|
||||
mkdir -p build
|
||||
mv $GOPATH/bin/tinygo build/tinygo
|
||||
|
||||
make gen-device
|
||||
|
||||
export TINYGOROOT=$(pwd)
|
||||
finalRoot=$out/share/tinygo
|
||||
|
||||
for target in thumbv6m-unknown-unknown-eabi-cortex-m0 thumbv6m-unknown-unknown-eabi-cortex-m0plus thumbv7em-unknown-unknown-eabi-cortex-m4; do
|
||||
mkdir -p $finalRoot/pkg/$target
|
||||
for lib in compiler-rt picolibc; do
|
||||
${tinygoForBuild} build-library -target=''${target#*eabi-} -o $finalRoot/pkg/$target/$lib $lib
|
||||
done
|
||||
done
|
||||
'';
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
make smoketest XTENSA=0
|
||||
runHook postCheck
|
||||
checkPhase = lib.optionalString (tinygoTests != [ ] && tinygoTests != null) ''
|
||||
make ''${tinygoTests[@]} XTENSA=0 ${lib.optionalString stdenv.isDarwin "AVR=0"}
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
|
@ -129,7 +149,6 @@ buildGoModule rec {
|
|||
make build/release
|
||||
|
||||
wrapProgram $out/bin/tinygo \
|
||||
--set TINYGOROOT $out/share/tinygo \
|
||||
--prefix PATH : ${lib.makeBinPath [ go avrdude openocd avrgcc binaryen ]}:$out/libexec/tinygo
|
||||
|
||||
runHook postInstall
|
||||
|
@ -142,6 +161,5 @@ buildGoModule rec {
|
|||
description = "Go compiler for small places";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ Madouura muscaln ];
|
||||
broken = stdenv.isDarwin;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ base.withExtensions ({ all, ... }: with all; ([
|
|||
gettext
|
||||
gmp
|
||||
iconv
|
||||
imap
|
||||
intl
|
||||
ldap
|
||||
mbstring
|
||||
|
@ -49,4 +50,4 @@ base.withExtensions ({ all, ... }: with all; ([
|
|||
xmlwriter
|
||||
zip
|
||||
zlib
|
||||
] ++ lib.optionals (!stdenv.isDarwin) [ imap ]))
|
||||
]))
|
||||
|
|
|
@ -21,6 +21,7 @@ base.withExtensions ({ all, ... }: with all; ([
|
|||
gettext
|
||||
gmp
|
||||
iconv
|
||||
imap
|
||||
intl
|
||||
ldap
|
||||
mbstring
|
||||
|
@ -49,4 +50,4 @@ base.withExtensions ({ all, ... }: with all; ([
|
|||
xmlwriter
|
||||
zip
|
||||
zlib
|
||||
] ++ lib.optionals (!stdenv.isDarwin) [ imap ]))
|
||||
]))
|
||||
|
|
|
@ -1,4 +1,13 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, udev, libcec_platform, libraspberrypi ? null }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, pkg-config
|
||||
, udev
|
||||
, libcec_platform
|
||||
, withLibraspberrypi ? false
|
||||
, libraspberrypi
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libcec";
|
||||
|
@ -11,17 +20,17 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "sha256-OWqCn7Z0KG8sLlfMWd0btJIFJs79ET3Y1AV/y/Kj2TU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config cmake ];
|
||||
buildInputs = [ udev libcec_platform ] ++
|
||||
lib.optional (libraspberrypi != null) libraspberrypi;
|
||||
|
||||
cmakeFlags = [ "-DBUILD_SHARED_LIBS=1" ];
|
||||
|
||||
# Fix dlopen path
|
||||
patchPhase = ''
|
||||
postPatch = ''
|
||||
substituteInPlace include/cecloader.h --replace "libcec.so" "$out/lib/libcec.so"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkg-config cmake ];
|
||||
buildInputs = [ udev libcec_platform ] ++
|
||||
lib.optional withLibraspberrypi libraspberrypi;
|
||||
|
||||
cmakeFlags = [ "-DBUILD_SHARED_LIBS=1" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Allows you (with the right hardware) to control your device with your TV remote control using existing HDMI cabling";
|
||||
homepage = "http://libcec.pulse-eight.com";
|
||||
|
|
|
@ -6,24 +6,26 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nsync";
|
||||
version = "1.24.0";
|
||||
version = "1.25.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-jQJtlBDR6efBe1tFOUOZ6awaMTT33qM/GbvbwiWTZxw=";
|
||||
sha256 = "sha256-bdnYrMnBnpnEKGuMlDLILfzgwfu/e5tyMdSDWqreyto=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
# Needed for case-insensitive filesystems like on macOS
|
||||
# because a file named BUILD exists already.
|
||||
cmakeBuildDir = "build_dir";
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/google/nsync";
|
||||
description = "C library that exports various synchronization primitives";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ puffnfresh ];
|
||||
# On macOS we get an error for some reason:
|
||||
# > mkdir: cannot create directory 'build': File exists
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ puffnfresh Luflosi ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -53,6 +53,8 @@ let
|
|||
url = "https://github.com/protocolbuffers/protobuf/commit/a7324f88e92bc16b57f3683403b6c993bf68070b.patch";
|
||||
sha256 = "sha256-SmwaUjOjjZulg/wgNmR/F5b8rhYA2wkKAjHIOxjcQdQ=";
|
||||
})
|
||||
] ++ lib.optionals stdenv.hostPlatform.isStatic [
|
||||
./static-executables-have-no-rpath.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = let
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
diff --git a/cmake/install.cmake b/cmake/install.cmake
|
||||
index 26a55be8b..b6823c3f9 100644
|
||||
--- a/cmake/install.cmake
|
||||
+++ b/cmake/install.cmake
|
||||
@@ -32,13 +32,6 @@ if (protobuf_BUILD_PROTOC_BINARIES)
|
||||
install(TARGETS protoc EXPORT protobuf-targets
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT protoc
|
||||
BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT protoc)
|
||||
- if (UNIX AND NOT APPLE)
|
||||
- set_property(TARGET protoc
|
||||
- PROPERTY INSTALL_RPATH "$ORIGIN/../${CMAKE_INSTALL_LIBDIR}")
|
||||
- elseif (APPLE)
|
||||
- set_property(TARGET protoc
|
||||
- PROPERTY INSTALL_RPATH "@loader_path/../lib")
|
||||
- endif()
|
||||
endif (protobuf_BUILD_PROTOC_BINARIES)
|
||||
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/protobuf.pc ${CMAKE_CURRENT_BINARY_DIR}/protobuf-lite.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "simdjson";
|
||||
version = "2.2.2";
|
||||
version = "2.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "simdjson";
|
||||
repo = "simdjson";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-PU6yTA2FXHcuSwr6oIU+cP7uYxkgggnj3FV2LbkS69w=";
|
||||
sha256 = "sha256-OAjPSTSQap2m2gsC3mTae7UZ3Bq4qjK2eShdVTZUzFM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "aioesphomeapi";
|
||||
version = "11.0.0";
|
||||
version = "11.1.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
@ -21,7 +21,7 @@ buildPythonPackage rec {
|
|||
owner = "esphome";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "sha256-HHVA/eH6Ucn1shQy6QzcxvHWRQqjv/OEgHgq0ITS23Q=";
|
||||
sha256 = "sha256-jD/VAxehUvR98SpGQD04Qqrsr8k2L8SLw/1vd9zzku0=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "aiounifi";
|
||||
version = "35";
|
||||
version = "36";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
|
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
|||
owner = "Kane610";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-mKAg6LNtHEmF223xIrZM7rSxE2+B4jUPCv0dCtHmHXc=";
|
||||
hash = "sha256-ko3lfFitY6fFomh4dLSHdY6moeG2k11fmdcViT3IKGU=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "azure-mgmt-containerservice";
|
||||
version = "20.3.0";
|
||||
version = "20.4.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
@ -19,7 +19,7 @@ buildPythonPackage rec {
|
|||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
extension = "zip";
|
||||
sha256 = "sha256-p2q1fzpPrwYKUAilPTGzRDlkT9OKqnjZVN2jslY/WSw=";
|
||||
sha256 = "sha256-X2Pz7Rx5utwOfiG2wLbdloQF7wM9bF80J5EOaB4k6jQ=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "azure-mgmt-monitor";
|
||||
version = "4.0.1";
|
||||
version = "5.0.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
|||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
extension = "zip";
|
||||
hash = "sha256-rwUhKm9arvUW3EWAgv3+SdJYR54Hob2RmMDA6IjEpn4=";
|
||||
hash = "sha256-U5OSFnOZV7/eXUEDU1TQBywrXjxwQ8qiEQJVFd3y57Q=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
31
pkgs/development/python-modules/bleach-allowlist/default.nix
Normal file
31
pkgs/development/python-modules/bleach-allowlist/default.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, bleach
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "bleach-allowlist";
|
||||
version = "1.0.3";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-VuIghgeaDmoxAK6Z5NuvIOslhUhlmOsOmUAIoRQo2ps=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
bleach
|
||||
];
|
||||
|
||||
# No tests
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "bleach_allowlist" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Curated lists of tags and attributes for sanitizing html";
|
||||
homepage = "https://github.com/yourcelf/bleach-allowlist";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ ambroisie ];
|
||||
};
|
||||
}
|
|
@ -1,11 +1,11 @@
|
|||
{ buildPythonPackage, fetchFromGitHub, fetchpatch, lib, pythonOlder
|
||||
, clang_7, python2
|
||||
{ buildPythonPackage, fetchFromGitHub, lib, pythonOlder
|
||||
, clang_12, python2, python
|
||||
, graphviz, matplotlib, numpy, pandas, plotly, scipy, six
|
||||
, withCuda ? false, cudatoolkit }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "catboost";
|
||||
version = "0.24.4";
|
||||
version = "1.0.5";
|
||||
|
||||
disabled = pythonOlder "3.4";
|
||||
|
||||
|
@ -13,26 +13,26 @@ buildPythonPackage rec {
|
|||
owner = "catboost";
|
||||
repo = "catboost";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-pzmwEiKziB4ldnKgeCsP2HdnisX8sOkLssAzNfcSEx8=";
|
||||
sha256 = "ILemeZUBI9jPb9G6F7QX/T1HaVhQ+g6y7YmsT6DFCJk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ clang_7 python2 ];
|
||||
nativeBuildInputs = [ clang_12 python2 ];
|
||||
|
||||
propagatedBuildInputs = [ graphviz matplotlib numpy pandas scipy plotly six ]
|
||||
++ lib.optional withCuda [ cudatoolkit ];
|
||||
|
||||
patches = [
|
||||
./nix-support.patch
|
||||
(fetchpatch {
|
||||
name = "format.patch";
|
||||
url = "https://github.com/catboost/catboost/pull/1528/commits/a692ba42e5c0f62e5da82b2f6fccfa77deb3419c.patch";
|
||||
sha256 = "sha256-fNGucHxsSDFRLk3hFH7rm+zzTdDpY9/QjRs8K+AzVvo=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# substituteInPlace is too slow for these large files, and the target has lots of numbers in it that change often.
|
||||
sed -e 's|\$(YMAKE_PYTHON3-.*)/python3|${python.interpreter}|' -i make/*.makefile
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
cd catboost/python-package
|
||||
'';
|
||||
'';
|
||||
setupPyBuildFlags = [ "--with-ymake=no" ];
|
||||
CUDA_ROOT = lib.optional withCuda cudatoolkit;
|
||||
enableParallelBuilding = true;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
diff --git a/catboost/python-package/setup.py b/catboost/python-package/setup.py
|
||||
index 17f1d8ff14..07da618cd1 100644
|
||||
index fe9251a21f..86b880c5d0 100644
|
||||
--- a/catboost/python-package/setup.py
|
||||
+++ b/catboost/python-package/setup.py
|
||||
@@ -80,7 +80,7 @@ class Helper(object):
|
||||
|
@ -15,23 +15,23 @@ index 17f1d8ff14..07da618cd1 100644
|
|||
|
||||
def build_with_make(self, topsrc_dir, build_dir, catboost_ext, put_dir, verbose, dry_run):
|
||||
logging.info('Buildling {} with gnu make'.format(catboost_ext))
|
||||
- makefile = 'python{}.{}CLANG50-LINUX-X86_64.makefile'.format(python_version()[0], 'CUDA.' if self.with_cuda else '')
|
||||
+ makefile = 'python{}.{}CLANG7-LINUX-X86_64.makefile'.format(python_version()[0], 'CUDA.' if self.with_cuda else '')
|
||||
- makefile = 'python{}.{}CLANG11-LINUX-X86_64.makefile'.format(python_version()[0], 'CUDA.' if self.with_cuda else '')
|
||||
+ makefile = 'python{}.{}CLANG12-LINUX-X86_64.makefile'.format(python_version()[0], 'CUDA.' if self.with_cuda else '')
|
||||
make_cmd = [
|
||||
'make', '-f', '../../make/' + makefile,
|
||||
- 'CC=clang-5.0',
|
||||
- 'CXX=clang++-5.0',
|
||||
- 'CC=clang-11',
|
||||
- 'CXX=clang++-11',
|
||||
+ 'CC=clang',
|
||||
+ 'CXX=clang++',
|
||||
+ 'PYTHON=python2',
|
||||
+ 'PYTHON=python{}'.format(python_version()[0]),
|
||||
'BUILD_ROOT=' + build_dir,
|
||||
'SOURCE_ROOT=' + topsrc_dir,
|
||||
]
|
||||
diff --git a/make/python2.CLANG7-LINUX-X86_64.makefile b/make/python2.CLANG7-LINUX-X86_64.makefile
|
||||
index e54b7078e8..fb7b208af9 100644
|
||||
--- a/make/python2.CLANG7-LINUX-X86_64.makefile
|
||||
+++ b/make/python2.CLANG7-LINUX-X86_64.makefile
|
||||
@@ -4,33 +4,6 @@ BUILD_ROOT = $(shell pwd)
|
||||
diff --git a/make/python2.CLANG12-LINUX-X86_64.makefile b/make/python2.CLANG12-LINUX-X86_64.makefile
|
||||
index b49a36fb3f..33996af995 100644
|
||||
--- a/make/python2.CLANG12-LINUX-X86_64.makefile
|
||||
+++ b/make/python2.CLANG12-LINUX-X86_64.makefile
|
||||
@@ -4,31 +4,6 @@ BUILD_ROOT = $(shell pwd)
|
||||
SOURCE_ROOT = $(shell pwd)
|
||||
PYTHON = $(shell which python)
|
||||
|
||||
|
@ -43,8 +43,8 @@ index e54b7078e8..fb7b208af9 100644
|
|||
-_CC_VERSION = $(shell echo '$(_CC_TEST)' | $(CC) -E -P -)
|
||||
-$(info _CC_VERSION = '$(_CC_VERSION)')
|
||||
-
|
||||
-ifneq '$(_CC_VERSION)' '7 0'
|
||||
- $(error clang 7.0 is required)
|
||||
-ifneq '$(_CC_VERSION)' '12 0'
|
||||
- $(error clang 12.0 is required)
|
||||
-endif
|
||||
-endif
|
||||
-
|
||||
|
@ -56,20 +56,18 @@ index e54b7078e8..fb7b208af9 100644
|
|||
-_CXX_VERSION = $(shell echo '$(_CXX_TEST)' | $(CXX) -E -P -)
|
||||
-$(info _CXX_VERSION = '$(_CXX_VERSION)')
|
||||
-
|
||||
-ifneq '$(_CXX_VERSION)' '7 0'
|
||||
- $(error clang 7.0 is required)
|
||||
-ifneq '$(_CXX_VERSION)' '12 0'
|
||||
- $(error clang 12.0 is required)
|
||||
-endif
|
||||
-endif
|
||||
-
|
||||
-
|
||||
|
||||
|
||||
all\
|
||||
::\
|
||||
$(BUILD_ROOT)/catboost/python-package/catboost/_catboost.so\
|
||||
diff --git a/make/python2.CUDA.CLANG7-LINUX-X86_64.makefile b/make/python2.CUDA.CLANG7-LINUX-X86_64.makefile
|
||||
index 2a22a79b25..522fb54a7c 100644
|
||||
--- a/make/python2.CUDA.CLANG7-LINUX-X86_64.makefile
|
||||
+++ b/make/python2.CUDA.CLANG7-LINUX-X86_64.makefile
|
||||
@@ -4,33 +4,6 @@ BUILD_ROOT = $(shell pwd)
|
||||
diff --git a/make/python2.CUDA.CLANG12-LINUX-X86_64.makefile b/make/python2.CUDA.CLANG12-LINUX-X86_64.makefile
|
||||
index 82935b297e..093cc86532 100644
|
||||
--- a/make/python2.CUDA.CLANG12-LINUX-X86_64.makefile
|
||||
+++ b/make/python2.CUDA.CLANG12-LINUX-X86_64.makefile
|
||||
@@ -4,31 +4,6 @@ BUILD_ROOT = $(shell pwd)
|
||||
SOURCE_ROOT = $(shell pwd)
|
||||
PYTHON = $(shell which python)
|
||||
|
||||
|
@ -81,8 +79,8 @@ index 2a22a79b25..522fb54a7c 100644
|
|||
-_CC_VERSION = $(shell echo '$(_CC_TEST)' | $(CC) -E -P -)
|
||||
-$(info _CC_VERSION = '$(_CC_VERSION)')
|
||||
-
|
||||
-ifneq '$(_CC_VERSION)' '7 0'
|
||||
- $(error clang 7.0 is required)
|
||||
-ifneq '$(_CC_VERSION)' '12 0'
|
||||
- $(error clang 12.0 is required)
|
||||
-endif
|
||||
-endif
|
||||
-
|
||||
|
@ -94,20 +92,18 @@ index 2a22a79b25..522fb54a7c 100644
|
|||
-_CXX_VERSION = $(shell echo '$(_CXX_TEST)' | $(CXX) -E -P -)
|
||||
-$(info _CXX_VERSION = '$(_CXX_VERSION)')
|
||||
-
|
||||
-ifneq '$(_CXX_VERSION)' '7 0'
|
||||
- $(error clang 7.0 is required)
|
||||
-ifneq '$(_CXX_VERSION)' '12 0'
|
||||
- $(error clang 12.0 is required)
|
||||
-endif
|
||||
-endif
|
||||
-
|
||||
-
|
||||
|
||||
|
||||
all\
|
||||
::\
|
||||
$(BUILD_ROOT)/catboost/python-package/catboost/_catboost.so\
|
||||
diff --git a/make/python3.CLANG7-LINUX-X86_64.makefile b/make/python3.CLANG7-LINUX-X86_64.makefile
|
||||
index fee6750bcb..dc55908371 100644
|
||||
--- a/make/python3.CLANG7-LINUX-X86_64.makefile
|
||||
+++ b/make/python3.CLANG7-LINUX-X86_64.makefile
|
||||
@@ -4,33 +4,6 @@ BUILD_ROOT = $(shell pwd)
|
||||
diff --git a/make/python3.CLANG12-LINUX-X86_64.makefile b/make/python3.CLANG12-LINUX-X86_64.makefile
|
||||
index 1c5d646ae4..6c091fbe17 100644
|
||||
--- a/make/python3.CLANG12-LINUX-X86_64.makefile
|
||||
+++ b/make/python3.CLANG12-LINUX-X86_64.makefile
|
||||
@@ -4,31 +4,6 @@ BUILD_ROOT = $(shell pwd)
|
||||
SOURCE_ROOT = $(shell pwd)
|
||||
PYTHON = $(shell which python)
|
||||
|
||||
|
@ -119,8 +115,8 @@ index fee6750bcb..dc55908371 100644
|
|||
-_CC_VERSION = $(shell echo '$(_CC_TEST)' | $(CC) -E -P -)
|
||||
-$(info _CC_VERSION = '$(_CC_VERSION)')
|
||||
-
|
||||
-ifneq '$(_CC_VERSION)' '7 0'
|
||||
- $(error clang 7.0 is required)
|
||||
-ifneq '$(_CC_VERSION)' '12 0'
|
||||
- $(error clang 12.0 is required)
|
||||
-endif
|
||||
-endif
|
||||
-
|
||||
|
@ -132,20 +128,18 @@ index fee6750bcb..dc55908371 100644
|
|||
-_CXX_VERSION = $(shell echo '$(_CXX_TEST)' | $(CXX) -E -P -)
|
||||
-$(info _CXX_VERSION = '$(_CXX_VERSION)')
|
||||
-
|
||||
-ifneq '$(_CXX_VERSION)' '7 0'
|
||||
- $(error clang 7.0 is required)
|
||||
-ifneq '$(_CXX_VERSION)' '12 0'
|
||||
- $(error clang 12.0 is required)
|
||||
-endif
|
||||
-endif
|
||||
-
|
||||
-
|
||||
|
||||
|
||||
all\
|
||||
::\
|
||||
$(BUILD_ROOT)/catboost/python-package/catboost/_catboost.so\
|
||||
diff --git a/make/python3.CUDA.CLANG7-LINUX-X86_64.makefile b/make/python3.CUDA.CLANG7-LINUX-X86_64.makefile
|
||||
index 5146830476..ff8535b03e 100644
|
||||
--- a/make/python3.CUDA.CLANG7-LINUX-X86_64.makefile
|
||||
+++ b/make/python3.CUDA.CLANG7-LINUX-X86_64.makefile
|
||||
@@ -4,33 +4,6 @@ BUILD_ROOT = $(shell pwd)
|
||||
diff --git a/make/python3.CUDA.CLANG12-LINUX-X86_64.makefile b/make/python3.CUDA.CLANG12-LINUX-X86_64.makefile
|
||||
index fcdb75a719..4e1dbc3cd7 100644
|
||||
--- a/make/python3.CUDA.CLANG12-LINUX-X86_64.makefile
|
||||
+++ b/make/python3.CUDA.CLANG12-LINUX-X86_64.makefile
|
||||
@@ -4,31 +4,6 @@ BUILD_ROOT = $(shell pwd)
|
||||
SOURCE_ROOT = $(shell pwd)
|
||||
PYTHON = $(shell which python)
|
||||
|
||||
|
@ -157,8 +151,8 @@ index 5146830476..ff8535b03e 100644
|
|||
-_CC_VERSION = $(shell echo '$(_CC_TEST)' | $(CC) -E -P -)
|
||||
-$(info _CC_VERSION = '$(_CC_VERSION)')
|
||||
-
|
||||
-ifneq '$(_CC_VERSION)' '7 0'
|
||||
- $(error clang 7.0 is required)
|
||||
-ifneq '$(_CC_VERSION)' '12 0'
|
||||
- $(error clang 12.0 is required)
|
||||
-endif
|
||||
-endif
|
||||
-
|
||||
|
@ -170,12 +164,10 @@ index 5146830476..ff8535b03e 100644
|
|||
-_CXX_VERSION = $(shell echo '$(_CXX_TEST)' | $(CXX) -E -P -)
|
||||
-$(info _CXX_VERSION = '$(_CXX_VERSION)')
|
||||
-
|
||||
-ifneq '$(_CXX_VERSION)' '7 0'
|
||||
- $(error clang 7.0 is required)
|
||||
-ifneq '$(_CXX_VERSION)' '12 0'
|
||||
- $(error clang 12.0 is required)
|
||||
-endif
|
||||
-endif
|
||||
-
|
||||
-
|
||||
|
||||
|
||||
all\
|
||||
::\
|
||||
$(BUILD_ROOT)/catboost/python-package/catboost/_catboost.so\
|
||||
|
|
|
@ -30,6 +30,10 @@ buildPythonPackage {
|
|||
hash = "sha256-WBFsQuGnpqOiQW7VFfsk0t7qEBs1ScOChfQFpLmqTz4=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
sed -i 's/^protobuf.*/protobuf/' requirements.txt
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
coqpit
|
||||
fsspec
|
||||
|
|
48
pkgs/development/python-modules/django-annoying/default.nix
Normal file
48
pkgs/development/python-modules/django-annoying/default.nix
Normal file
|
@ -0,0 +1,48 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, django
|
||||
, six
|
||||
, pytest-django
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-annoying";
|
||||
version = "0.10.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "skorokithakis";
|
||||
repo = "django-annoying";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-M1zOLr1Vjf2U0xlW66Mpno+S+b4IKLklN+kYxRaj6cA=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "django-4-compatibility.patch";
|
||||
url = "https://github.com/skorokithakis/django-annoying/pull/101/commits/51b5bd7bc8bb7a410400667e00d0813603df32bd.patch";
|
||||
sha256 = "sha256-gLRlAtIHHJ85I88af3C3y+ZT+nXrj2KrV7QgOuEqspk=";
|
||||
})
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
django
|
||||
six
|
||||
];
|
||||
|
||||
DJANGO_SETTINGS_MODULE = "tests.settings";
|
||||
|
||||
checkInputs = [
|
||||
pytest-django
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A django application that tries to eliminate annoying things in the Django framework";
|
||||
homepage = "https://skorokithakis.github.io/django-annoying/";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ ambroisie ];
|
||||
};
|
||||
}
|
|
@ -0,0 +1,73 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, django
|
||||
, six
|
||||
, pytestCheckHook
|
||||
, django-debug-toolbar
|
||||
, django-extensions
|
||||
, django-taggit
|
||||
, django_tagging
|
||||
, mock
|
||||
, pytest-django
|
||||
, selenium
|
||||
, splinter
|
||||
, sqlparse
|
||||
, tenacity
|
||||
, whitenoise
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-autocomplete-light";
|
||||
version = "3.9.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yourlabs";
|
||||
repo = "django-autocomplete-light";
|
||||
rev = version;
|
||||
sha256 = "sha256-YUiGN6q7ARM/rg7d+ykeDEYZDYjB+DHxMCmdme6QccU=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
django
|
||||
six
|
||||
];
|
||||
|
||||
# Too many un-packaged dependencies
|
||||
doCheck = false;
|
||||
|
||||
checkInputs = [
|
||||
pytestCheckHook
|
||||
django-debug-toolbar
|
||||
django-extensions
|
||||
django-taggit
|
||||
django_tagging
|
||||
mock
|
||||
pytest-django
|
||||
selenium
|
||||
splinter
|
||||
sqlparse
|
||||
tenacity
|
||||
whitenoise
|
||||
|
||||
# FIXME: not packaged
|
||||
# django-generic-m2m
|
||||
# django-gm2m
|
||||
# django-querysetsequence
|
||||
# pytest-splinter
|
||||
# dango-nested-admin
|
||||
# djhacker
|
||||
];
|
||||
|
||||
# Taken from tox.ini
|
||||
preCheck = "cd test_project";
|
||||
|
||||
pythonImportsCheck = [ "dal" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A fresh approach to autocomplete implementations, specially for Django";
|
||||
homepage = "https://django-autocomplete-light.readthedocs.io";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ ambroisie ];
|
||||
};
|
||||
}
|
|
@ -8,13 +8,13 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-cors-headers";
|
||||
version = "3.7.0";
|
||||
version = "3.13.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "adamchainz";
|
||||
repo = "django-cors-headers";
|
||||
rev = version;
|
||||
sha256 = "1wc8cs1gpg9v98bq5qwnd4pcv043za50wd63gwkm86lbvjxyxynz";
|
||||
sha256 = "sha256-pIyf4poW8/slxj4PVvmXpuYp//v5w00yU0Vz6Jiy2yM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, django
|
||||
, pytestCheckHook
|
||||
, pytest-django
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-crispy-forms";
|
||||
version = "1.14.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "django-crispy-forms";
|
||||
repo = "django-crispy-forms";
|
||||
rev = version;
|
||||
sha256 = "sha256-NZ2lWxsQHc7Qc4HDoWgjJTZ/bJHmjpBf3q1LVLtzA+8=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
django
|
||||
];
|
||||
|
||||
# FIXME: RuntimeError: Model class source.crispy_forms.tests.forms.CrispyTestModel doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
|
||||
doCheck = false;
|
||||
|
||||
checkInputs = [
|
||||
pytest-django
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pytestFlagsArray = [
|
||||
"--ds=crispy_forms.tests.test_settings"
|
||||
"crispy_forms/tests/"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "crispy_forms" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "The best way to have DRY Django forms.";
|
||||
homepage = "https://django-crispy-forms.readthedocs.io/en/latest/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ ambroisie ];
|
||||
};
|
||||
}
|
32
pkgs/development/python-modules/django-hcaptcha/default.nix
Normal file
32
pkgs/development/python-modules/django-hcaptcha/default.nix
Normal file
|
@ -0,0 +1,32 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, django
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-hcaptcha";
|
||||
version = "0.2.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "django-hCaptcha";
|
||||
sha256 = "sha256-slGerwzJeGWscvglMBEixc9h4eSFLWiVmUFgIirLbBo=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
django
|
||||
];
|
||||
|
||||
# No tests
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "hcaptcha" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Django hCaptcha provides a simple way to protect your django forms using hCaptcha";
|
||||
homepage = "https://github.com/AndrejZbin/django-hcaptcha";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ ambroisie ];
|
||||
};
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchpatch
|
||||
, fetchFromGitHub
|
||||
, python
|
||||
, django
|
||||
, nodejs
|
||||
, js2py
|
||||
, six
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-js-reverse";
|
||||
# Support for Django 4.0 not yet released
|
||||
version = "unstable-2022-09-16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ierror";
|
||||
repo = "django-js-reverse";
|
||||
rev = "7cab78c4531780ab4b32033d5104ccd5be1a246a";
|
||||
sha256 = "sha256-oA4R5MciDMcSsb+GAgWB5jhj+nl7E8t69u0qlx2G93E=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "fix-requires_system_checks-list-or-tuple";
|
||||
url = "https://github.com/ierror/django-js-reverse/commit/1477ba44b62c419d12ebec86e56973f1ae56f712.patch";
|
||||
sha256 = "sha256-xUtCziewVhnCOaNWddJBH4/Vvhwjjq/wcQDvh2YzWMQ=";
|
||||
})
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
django
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
nodejs
|
||||
js2py
|
||||
six
|
||||
];
|
||||
|
||||
checkPhase = ''
|
||||
${python.interpreter} django_js_reverse/tests/unit_tests.py
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [ "django_js_reverse" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Javascript url handling for Django that doesn't hurt";
|
||||
homepage = "https://django-js-reverse.readthedocs.io/en/latest/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ ambroisie ];
|
||||
};
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pythonRelaxDepsHook
|
||||
|
||||
# propagates
|
||||
, django
|
||||
|
@ -39,6 +40,11 @@ buildPythonPackage rec {
|
|||
requests
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pythonRelaxDepsHook ];
|
||||
pythonRelaxDeps = [
|
||||
"django"
|
||||
];
|
||||
|
||||
DJANGO_SETTINGS_MODULE = "tests.settings";
|
||||
|
||||
checkInputs = [
|
||||
|
|
38
pkgs/development/python-modules/django-scopes/default.nix
Normal file
38
pkgs/development/python-modules/django-scopes/default.nix
Normal file
|
@ -0,0 +1,38 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, django
|
||||
, pytestCheckHook
|
||||
, pytest-django
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-scopes";
|
||||
version = "1.2.0.post1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "raphaelm";
|
||||
repo = "django-scopes";
|
||||
# No 1.2.0.post1 tag, see https://github.com/raphaelm/django-scopes/issues/27
|
||||
rev = "0b93cdb6a8335cb02a8ea7296511358ba841d137";
|
||||
sha256 = "sha256-djptJRkW1pfVbxhhs58fJA4d8dKZuvYRy01Aa3Btr+k=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
django
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
pytest-django
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "django_scopes" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Safely separate multiple tenants in a Django database";
|
||||
homepage = "https://github.com/raphaelm/django-scopes";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ ambroisie ];
|
||||
};
|
||||
}
|
|
@ -5,17 +5,21 @@
|
|||
, fetchPypi
|
||||
, pyjwt
|
||||
, python-jose
|
||||
, pythonOlder
|
||||
, setuptools-scm
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "djangorestframework-simplejwt";
|
||||
version = "5.2.0";
|
||||
version = "5.2.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "djangorestframework_simplejwt";
|
||||
inherit version;
|
||||
sha256 = "sha256-pgsJr7J9ka0deskEzGMr1Szs6tjzifD6FTLOsPt1enQ=";
|
||||
hash = "sha256-dhOHTDIqP24zDMEY+fAKPblX/qf4477YG6RRhTzR29U=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, coreapi
|
||||
, django
|
||||
, django-guardian
|
||||
|
@ -24,6 +25,15 @@ buildPythonPackage rec {
|
|||
sha256 = "sha256-XmX6DZBZYzVCe72GERplAWt5jIjV/cYercZGb0pYjoc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# See https://github.com/encode/django-rest-framework/issues/8608
|
||||
# and https://github.com/encode/django-rest-framework/pull/8591/
|
||||
(fetchpatch {
|
||||
name = "fix-django-collect-static.patch";
|
||||
url = "https://github.com/encode/django-rest-framework/pull/8591/commits/65943bb58deba6ee1a89fe4504f270ab1806fce6.patch";
|
||||
sha256 = "sha256-wI7EzX9tlyyXAPrJEr+/2uTg7dVY98IKgh7Cc/NZo5k=";
|
||||
})
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
django
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, django
|
||||
, djangorestframework
|
||||
, pytestCheckHook
|
||||
, pytest-django
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "drf-writable-nested";
|
||||
version = "0.6.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "beda-software";
|
||||
repo = "drf-writable-nested";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-RybtXZ5HipQHaA2RV6TOKIpl6aI9V49mqXDhCH6lg58=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
django
|
||||
djangorestframework
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
pytest-django
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Writable nested model serializer for Django REST Framework";
|
||||
homepage = "https://github.com/beda-software/drf-writable-nested";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ ambroisie ];
|
||||
};
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, nose
|
||||
, numpy
|
||||
, pythonOlder
|
||||
|
@ -22,6 +23,15 @@ buildPythonPackage rec {
|
|||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix for test_interface_bb.py tests
|
||||
(fetchpatch {
|
||||
name = "test_interface_bb_use_nparray.patch";
|
||||
url = "https://github.com/embotech/ecos-python/commit/4440dcb7ddbd92217bc83d8916b72b61537dffbf.patch";
|
||||
hash = "sha256-pcTPviK916jzCLllRhopbC9wDHv+aS6GmV/92sUwzHc=";
|
||||
})
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
numpy
|
||||
scipy
|
||||
|
|
61
pkgs/development/python-modules/extruct/default.nix
Normal file
61
pkgs/development/python-modules/extruct/default.nix
Normal file
|
@ -0,0 +1,61 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pythonRelaxDepsHook
|
||||
, html-text
|
||||
, jstyleson
|
||||
, lxml
|
||||
, mf2py
|
||||
, pyrdfa3
|
||||
, rdflib
|
||||
, six
|
||||
, w3lib
|
||||
, pytestCheckHook
|
||||
, mock
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "extruct";
|
||||
version = "0.13.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "scrapinghub";
|
||||
repo = "extruct";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-hf6b/tZLggHzgFmZ6aldZIBd17Ni7vCTIIzhNlyjvxw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pythonRelaxDepsHook
|
||||
];
|
||||
|
||||
# rdflib-jsonld functionality is part of rdblib from version 6 onwards
|
||||
pythonRemoveDeps = [
|
||||
"rdflib-jsonld"
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
html-text
|
||||
jstyleson
|
||||
lxml
|
||||
mf2py
|
||||
pyrdfa3
|
||||
rdflib
|
||||
six
|
||||
w3lib
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
mock
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "extruct" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Extract embedded metadata from HTML markup";
|
||||
homepage = "https://github.com/scrapinghub/extruct";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ ambroisie ];
|
||||
};
|
||||
}
|
37
pkgs/development/python-modules/html-text/default.nix
Normal file
37
pkgs/development/python-modules/html-text/default.nix
Normal file
|
@ -0,0 +1,37 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, lxml
|
||||
, six
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "html-text";
|
||||
version = "0.5.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TeamHG-Memex";
|
||||
repo = "html-text";
|
||||
rev = version;
|
||||
sha256 = "sha256-jw/hpz0QfcgP5OEJcmre0h1OzOfpPtaROxHm+YUqces=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
lxml
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
pytestCheckHook
|
||||
six
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "html_text" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Extract text from HTML";
|
||||
homepage = "https://github.com/TeamHG-Memex/html-text";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ ambroisie ];
|
||||
};
|
||||
}
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "huawei-lte-api";
|
||||
version = "1.6.1";
|
||||
version = "1.6.2";
|
||||
|
||||
disabled = pythonOlder "3.4";
|
||||
|
||||
|
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
|||
owner = "Salamek";
|
||||
repo = "huawei-lte-api";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-ZjSD+/okbFF14YQgCzzH1+FDS+MZQZb1JUINOKdSshs=";
|
||||
hash = "sha256-BZn9iBMOd1vyukxiLd8GPKrq/H+gqQtSYvIgniWJLNM=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
51
pkgs/development/python-modules/ibeacon-ble/default.nix
Normal file
51
pkgs/development/python-modules/ibeacon-ble/default.nix
Normal file
|
@ -0,0 +1,51 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, home-assistant-bluetooth
|
||||
, poetry-core
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ibeacon-ble";
|
||||
version = "0.7.3";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Bluetooth-Devices";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-+DPbIIarEAaH1bNzo+FvLp0QpNUPhaJ8nPLdKJKfz0k=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
home-assistant-bluetooth
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace " --cov=ibeacon_ble --cov-report=term-missing:skip-covered" ""
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [
|
||||
"ibeacon_ble"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Library for iBeacon BLE devices";
|
||||
homepage = "https://github.com/Bluetooth-Devices/ibeacon-ble";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue