Merge master into haskell-updates
This commit is contained in:
commit
e49c2d09f8
|
@ -84,7 +84,7 @@ To package Dotnet applications, you can use `buildDotnetModule`. This has simila
|
|||
<ProjectReference Include="../foo/bar.fsproj" />
|
||||
<PackageReference Include="bar" Version="*" Condition=" '$(ContinuousIntegrationBuild)'=='true' "/>
|
||||
```
|
||||
* `executables` is used to specify which executables get wrapped to `$out/bin`, relative to `$out/lib/$pname`. If this is unset, all executables generated will get installed. If you do not want to install any, set this to `[]`.
|
||||
* `executables` is used to specify which executables get wrapped to `$out/bin`, relative to `$out/lib/$pname`. If this is unset, all executables generated will get installed. If you do not want to install any, set this to `[]`. This gets done in the `preFixup` phase.
|
||||
* `runtimeDeps` is used to wrap libraries into `LD_LIBRARY_PATH`. This is how dotnet usually handles runtime dependencies.
|
||||
* `buildType` is used to change the type of build. Possible values are `Release`, `Debug`, etc. By default, this is set to `Release`.
|
||||
* `dotnet-sdk` is useful in cases where you need to change what dotnet SDK is being used.
|
||||
|
|
|
@ -12172,6 +12172,12 @@
|
|||
githubId = 1183303;
|
||||
name = "Jakob Klepp";
|
||||
};
|
||||
trundle = {
|
||||
name = "Andreas Stührk";
|
||||
email = "andy@hammerhartes.de";
|
||||
github = "Trundle";
|
||||
githubId = 332418;
|
||||
};
|
||||
tscholak = {
|
||||
email = "torsten.scholak@googlemail.com";
|
||||
github = "tscholak";
|
||||
|
|
|
@ -1420,6 +1420,15 @@ Superuser created successfully.
|
|||
for those who want to have all RetroArch cores available.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The Linux kernel for security reasons now restricts access to
|
||||
BPF syscalls via <literal>BPF_UNPRIV_DEFAULT_OFF=y</literal>.
|
||||
Unprivileged access can be reenabled via the
|
||||
<literal>kernel.unprivileged_bpf_disabled</literal> sysctl
|
||||
knob.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
<section xml:id="sec-release-21.11-notable-changes">
|
||||
|
|
|
@ -208,6 +208,13 @@
|
|||
removed due to it being an outdated version.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The <literal>mailpile</literal> email webclient
|
||||
(<literal>services.mailpile</literal>) has been removed due to
|
||||
its reliance on python2.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The MoinMoin wiki engine
|
||||
|
@ -334,6 +341,22 @@
|
|||
unmaintained
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
MultiMC has been replaced with the fork PolyMC due to upstream
|
||||
developers being hostile to 3rd party package maintainers.
|
||||
PolyMC removes all MultiMC branding and is aimed at providing
|
||||
proper 3rd party packages like the one contained in Nixpkgs.
|
||||
This change affects the data folder where game instances and
|
||||
other save and configuration files are stored. Users with
|
||||
existing installations should rename
|
||||
<literal>~/.local/share/multimc</literal> to
|
||||
<literal>~/.local/share/polymc</literal>. The main config
|
||||
file’s path has also moved from
|
||||
<literal>~/.local/share/multimc/multimc.cfg</literal> to
|
||||
<literal>~/.local/share/polymc/polymc.cfg</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
<section xml:id="sec-release-22.05-notable-changes">
|
||||
|
|
|
@ -417,6 +417,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
|
||||
- `retroArchCores` has been removed. This means that using `nixpkgs.config.retroarch` to customize RetroArch cores is not supported anymore. Instead, use package overrides, for example: `retroarch.override { cores = with libretro; [ citra snes9x ]; };`. Also, `retroarchFull` derivation is available for those who want to have all RetroArch cores available.
|
||||
|
||||
- The Linux kernel for security reasons now restricts access to BPF syscalls via `BPF_UNPRIV_DEFAULT_OFF=y`. Unprivileged access can be reenabled via the `kernel.unprivileged_bpf_disabled` sysctl knob.
|
||||
|
||||
## Other Notable Changes {#sec-release-21.11-notable-changes}
|
||||
|
||||
|
||||
|
|
|
@ -71,6 +71,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
|
||||
- `services.kubernetes.addons.dashboard` was removed due to it being an outdated version.
|
||||
|
||||
- The `mailpile` email webclient (`services.mailpile`) has been removed due to its reliance on python2.
|
||||
|
||||
- The MoinMoin wiki engine (`services.moinmoin`) has been removed, because Python 2 is being retired from nixpkgs.
|
||||
|
||||
- The `wafHook` hook now honors `NIX_BUILD_CORES` when `enableParallelBuilding` is not set explicitly. Packages can restore the old behaviour by setting `enableParallelBuilding=false`.
|
||||
|
@ -107,6 +109,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
|
||||
- `pkgs.docbookrx` was removed since it's unmaintained
|
||||
|
||||
- MultiMC has been replaced with the fork PolyMC due to upstream developers being hostile to 3rd party package maintainers. PolyMC removes all MultiMC branding and is aimed at providing proper 3rd party packages like the one contained in Nixpkgs. This change affects the data folder where game instances and other save and configuration files are stored. Users with existing installations should rename `~/.local/share/multimc` to `~/.local/share/polymc`. The main config file's path has also moved from `~/.local/share/multimc/multimc.cfg` to `~/.local/share/polymc/polymc.cfg`.
|
||||
|
||||
## Other Notable Changes {#sec-release-22.05-notable-changes}
|
||||
|
||||
- The option [services.redis.servers](#opt-services.redis.servers) was added
|
||||
|
|
|
@ -182,7 +182,7 @@ in
|
|||
yandexdisk = 143;
|
||||
mxisd = 144; # was once collectd
|
||||
#consul = 145;# dynamically allocated as of 2021-09-03
|
||||
mailpile = 146;
|
||||
#mailpile = 146; # removed 2022-01-12
|
||||
redmine = 147;
|
||||
#seeks = 148; # removed 2020-06-21
|
||||
prosody = 149;
|
||||
|
@ -502,7 +502,7 @@ in
|
|||
#yandexdisk = 143; # unused
|
||||
mxisd = 144; # was once collectd
|
||||
#consul = 145; # unused
|
||||
mailpile = 146;
|
||||
#mailpile = 146; # removed 2022-01-12
|
||||
redmine = 147;
|
||||
#seeks = 148; # removed 2020-06-21
|
||||
prosody = 149;
|
||||
|
|
|
@ -791,7 +791,6 @@
|
|||
./services/networking/lldpd.nix
|
||||
./services/networking/logmein-hamachi.nix
|
||||
./services/networking/lxd-image-server.nix
|
||||
./services/networking/mailpile.nix
|
||||
./services/networking/magic-wormhole-mailbox-server.nix
|
||||
./services/networking/matterbridge.nix
|
||||
./services/networking/mjpg-streamer.nix
|
||||
|
|
|
@ -17,35 +17,56 @@ with lib;
|
|||
(mkAliasOptionModule [ "environment" "checkConfigurationOptions" ] [ "_module" "check" ])
|
||||
|
||||
# Completely removed modules
|
||||
(mkRemovedOptionModule [ "environment" "blcr" "enable" ] "The BLCR module has been removed")
|
||||
(mkRemovedOptionModule [ "fonts" "fontconfig" "penultimate" ] "The corresponding package has removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "services" "quagga" ] "the corresponding package has been removed from nixpkgs")
|
||||
(mkRemovedOptionModule [ "hardware" "brightnessctl" ] ''
|
||||
The brightnessctl module was removed because newer versions of
|
||||
brightnessctl don't require the udev rules anymore (they can use the
|
||||
systemd-logind API). Instead of using the module you can now
|
||||
simply add the brightnessctl package to environment.systemPackages.
|
||||
'')
|
||||
(mkRemovedOptionModule [ "hardware" "u2f" ] ''
|
||||
The U2F modules module was removed, as all it did was adding the
|
||||
udev rules from libu2f-host to the system. Udev gained native support
|
||||
to handle FIDO security tokens, so this isn't necessary anymore.
|
||||
'')
|
||||
(mkRemovedOptionModule [ "networking" "vpnc" ] "Use environment.etc.\"vpnc/service.conf\" instead.")
|
||||
(mkRemovedOptionModule [ "networking" "wicd" ] "The corresponding package was removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "programs" "way-cooler" ] ("way-cooler is abandoned by its author: " +
|
||||
"https://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html"))
|
||||
(mkRemovedOptionModule [ "security" "hideProcessInformation" ] ''
|
||||
The hidepid module was removed, since the underlying machinery
|
||||
is broken when using cgroups-v2.
|
||||
'')
|
||||
(mkRemovedOptionModule [ "services" "beegfs" ] "The BeeGFS module has been removed")
|
||||
(mkRemovedOptionModule [ "services" "beegfsEnable" ] "The BeeGFS module has been removed")
|
||||
(mkRemovedOptionModule [ "services" "cgmanager" "enable"] "cgmanager was deprecated by lxc and therefore removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "services" "chronos" ] "The corresponding package was removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "services" "couchpotato" ] "The corresponding package was removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "services" "deepin" ] "The corresponding packages were removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "services" "dnscrypt-proxy" ] "Use services.dnscrypt-proxy2 instead")
|
||||
(mkRemovedOptionModule [ "services" "firefox" "syncserver" ] "The corresponding package was removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "services" "marathon" ] "The corresponding package was removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "services" "moinmoin" ] "The corresponding package was removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "services" "mesos" ] "The corresponding package was removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "services" "winstone" ] "The corresponding package was removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "networking" "vpnc" ] "Use environment.etc.\"vpnc/service.conf\" instead.")
|
||||
(mkRemovedOptionModule [ "networking" "wicd" ] "The corresponding package was removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "environment" "blcr" "enable" ] "The BLCR module has been removed")
|
||||
(mkRemovedOptionModule [ "services" "beegfsEnable" ] "The BeeGFS module has been removed")
|
||||
(mkRemovedOptionModule [ "services" "beegfs" ] "The BeeGFS module has been removed")
|
||||
(mkRemovedOptionModule ["services" "cgmanager" "enable"] "cgmanager was deprecated by lxc and therefore removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "services" "osquery" ] "The osquery module has been removed")
|
||||
(mkRemovedOptionModule [ "services" "flashpolicyd" ] "The flashpolicyd module has been removed. Adobe Flash Player is deprecated.")
|
||||
(mkRemovedOptionModule [ "services" "fourStore" ] "The fourStore module has been removed")
|
||||
(mkRemovedOptionModule [ "services" "frab" ] "The frab module has been removed")
|
||||
(mkRemovedOptionModule [ "services" "fourStoreEndpoint" ] "The fourStoreEndpoint module has been removed")
|
||||
(mkRemovedOptionModule [ "services" "frab" ] "The frab module has been removed")
|
||||
(mkRemovedOptionModule [ "services" "kippo" ] "The corresponding package was removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "services" "mailpile" ] "The corresponding package was removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "services" "marathon" ] "The corresponding package was removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "services" "mathics" ] "The Mathics module has been removed")
|
||||
(mkRemovedOptionModule [ "services" "meguca" ] "Use meguca has been removed from nixpkgs")
|
||||
(mkRemovedOptionModule [ "services" "mesos" ] "The corresponding package was removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "services" "moinmoin" ] "The corresponding package was removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "services" "mwlib" ] "The corresponding package was removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "programs" "way-cooler" ] ("way-cooler is abandoned by its author: " +
|
||||
"https://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html"))
|
||||
(mkRemovedOptionModule [ "services" "xserver" "multitouch" ] ''
|
||||
services.xserver.multitouch (which uses xf86_input_mtrack) has been removed
|
||||
as the underlying package isn't being maintained. Working alternatives are
|
||||
libinput and synaptics.
|
||||
(mkRemovedOptionModule [ "services" "osquery" ] "The osquery module has been removed")
|
||||
(mkRemovedOptionModule [ "services" "prey" ] ''
|
||||
prey-bash-client is deprecated upstream
|
||||
'')
|
||||
(mkRemovedOptionModule [ "services" "quagga" ] "the corresponding package has been removed from nixpkgs")
|
||||
(mkRemovedOptionModule [ "services" "seeks" ] "")
|
||||
(mkRemovedOptionModule [ "services" "venus" ] "The corresponding package was removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "services" "wakeonlan"] "This module was removed in favor of enabling it with networking.interfaces.<name>.wakeOnLan")
|
||||
(mkRemovedOptionModule [ "services" "winstone" ] "The corresponding package was removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "services" "xserver" "displayManager" "auto" ] ''
|
||||
The services.xserver.displayManager.auto module has been removed
|
||||
because it was only intended for use in internal NixOS tests, and gave the
|
||||
|
@ -53,38 +74,13 @@ with lib;
|
|||
LightDM. Please use the services.xserver.displayManager.autoLogin options
|
||||
instead, or any other display manager in NixOS as they all support auto-login.
|
||||
'')
|
||||
(mkRemovedOptionModule [ "services" "dnscrypt-proxy" ] "Use services.dnscrypt-proxy2 instead")
|
||||
(mkRemovedOptionModule [ "services" "meguca" ] "Use meguca has been removed from nixpkgs")
|
||||
(mkRemovedOptionModule ["hardware" "brightnessctl" ] ''
|
||||
The brightnessctl module was removed because newer versions of
|
||||
brightnessctl don't require the udev rules anymore (they can use the
|
||||
systemd-logind API). Instead of using the module you can now
|
||||
simply add the brightnessctl package to environment.systemPackages.
|
||||
(mkRemovedOptionModule [ "services" "xserver" "multitouch" ] ''
|
||||
services.xserver.multitouch (which uses xf86_input_mtrack) has been removed
|
||||
as the underlying package isn't being maintained. Working alternatives are
|
||||
libinput and synaptics.
|
||||
'')
|
||||
(mkRemovedOptionModule [ "virtualisation" "rkt" ] "The rkt module has been removed, it was archived by upstream")
|
||||
|
||||
(mkRemovedOptionModule ["services" "prey" ] ''
|
||||
prey-bash-client is deprecated upstream
|
||||
'')
|
||||
|
||||
(mkRemovedOptionModule ["hardware" "u2f" ] ''
|
||||
The U2F modules module was removed, as all it did was adding the
|
||||
udev rules from libu2f-host to the system. Udev gained native support
|
||||
to handle FIDO security tokens, so this isn't necessary anymore.
|
||||
'')
|
||||
|
||||
(mkRemovedOptionModule [ "services" "seeks" ] "")
|
||||
(mkRemovedOptionModule [ "services" "venus" ] "The corresponding package was removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "services" "flashpolicyd" ] "The flashpolicyd module has been removed. Adobe Flash Player is deprecated.")
|
||||
|
||||
(mkRemovedOptionModule [ "security" "hideProcessInformation" ] ''
|
||||
The hidepid module was removed, since the underlying machinery
|
||||
is broken when using cgroups-v2.
|
||||
'')
|
||||
(mkRemovedOptionModule ["services" "wakeonlan"] "This module was removed in favor of enabling it with networking.interfaces.<name>.wakeOnLan")
|
||||
|
||||
(mkRemovedOptionModule [ "services" "kippo" ] "The corresponding package was removed from nixpkgs.")
|
||||
|
||||
# Do NOT add any option renames here, see top of the file
|
||||
];
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ let
|
|||
}
|
||||
trap 'on_exit' INT TERM QUIT EXIT
|
||||
|
||||
archiveName="${cfg.archiveBaseName}-$(date ${cfg.dateFormat})"
|
||||
archiveName="${if cfg.archiveBaseName == null then "" else cfg.archiveBaseName + "-"}$(date ${cfg.dateFormat})"
|
||||
archiveSuffix="${optionalString cfg.appendFailedSuffix ".failed"}"
|
||||
${cfg.preHook}
|
||||
'' + optionalString cfg.doInit ''
|
||||
|
@ -60,7 +60,7 @@ let
|
|||
'' + optionalString (cfg.prune.keep != { }) ''
|
||||
borg prune $extraArgs \
|
||||
${mkKeepArgs cfg} \
|
||||
--prefix ${escapeShellArg cfg.prune.prefix} \
|
||||
${optionalString (cfg.prune.prefix != null) "--prefix ${escapeShellArg cfg.prune.prefix} \\"}
|
||||
$extraPruneArgs
|
||||
${cfg.postPrune}
|
||||
'';
|
||||
|
@ -284,7 +284,7 @@ in {
|
|||
};
|
||||
|
||||
archiveBaseName = mkOption {
|
||||
type = types.strMatching "[^/{}]+";
|
||||
type = types.nullOr (types.strMatching "[^/{}]+");
|
||||
default = "${globalConfig.networking.hostName}-${name}";
|
||||
defaultText = literalExpression ''"''${config.networking.hostName}-<name>"'';
|
||||
description = ''
|
||||
|
@ -292,6 +292,7 @@ in {
|
|||
determined by <option>dateFormat</option>, will be appended. The full
|
||||
name can be modified at runtime (<literal>$archiveName</literal>).
|
||||
Placeholders like <literal>{hostname}</literal> must not be used.
|
||||
Use <literal>null</literal> for no base name.
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -471,11 +472,11 @@ in {
|
|||
};
|
||||
|
||||
prune.prefix = mkOption {
|
||||
type = types.str;
|
||||
type = types.nullOr (types.str);
|
||||
description = ''
|
||||
Only consider archive names starting with this prefix for pruning.
|
||||
By default, only archives created by this job are considered.
|
||||
Use <literal>""</literal> to consider all archives.
|
||||
Use <literal>""</literal> or <literal>null</literal> to consider all archives.
|
||||
'';
|
||||
default = config.archiveBaseName;
|
||||
defaultText = literalExpression "archiveBaseName";
|
||||
|
|
|
@ -4,7 +4,8 @@ with lib;
|
|||
|
||||
let
|
||||
cfg = config.services.thermald;
|
||||
in {
|
||||
in
|
||||
{
|
||||
###### interface
|
||||
options = {
|
||||
services.thermald = {
|
||||
|
@ -41,6 +42,7 @@ in {
|
|||
description = "Thermal Daemon Service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
PrivateNetwork = true;
|
||||
ExecStart = ''
|
||||
${cfg.package}/sbin/thermald \
|
||||
--no-daemon \
|
||||
|
|
|
@ -21,6 +21,8 @@ let
|
|||
<para>
|
||||
This must be in a format usable by findmnt; that could be a key=value
|
||||
pair, or a bare path to a mount point.
|
||||
Using bare paths will allow systemd to start the beesd service only
|
||||
after mounting the associated path.
|
||||
'';
|
||||
example = "LABEL=MyBulkDataDrive";
|
||||
};
|
||||
|
@ -122,6 +124,7 @@ in
|
|||
StartupIOWeight = 25;
|
||||
SyslogIdentifier = "beesd"; # would otherwise be "bees-service-wrapper"
|
||||
};
|
||||
unitConfig.RequiresMountsFor = lib.mkIf (lib.hasPrefix "/" fs.spec) fs.spec;
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
})
|
||||
cfg.filesystems;
|
||||
|
|
|
@ -29,9 +29,9 @@ let
|
|||
configFile = if (cfg.configFile != null) then cfg.configFile else configFile';
|
||||
|
||||
preStart = ''
|
||||
install --owner ddclient -m600 ${configFile} /run/${RuntimeDirectory}/ddclient.conf
|
||||
install ${configFile} /run/${RuntimeDirectory}/ddclient.conf
|
||||
${lib.optionalString (cfg.configFile == null) (if (cfg.protocol == "nsupdate") then ''
|
||||
install --owner ddclient -m600 ${cfg.passwordFile} /run/${RuntimeDirectory}/ddclient.key
|
||||
install ${cfg.passwordFile} /run/${RuntimeDirectory}/ddclient.key
|
||||
'' else if (cfg.passwordFile != null) then ''
|
||||
password=$(printf "%q" "$(head -n 1 "${cfg.passwordFile}")")
|
||||
sed -i "s|^password=$|password=$password|" /run/${RuntimeDirectory}/ddclient.conf
|
||||
|
|
|
@ -1,74 +0,0 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.services.mailpile;
|
||||
|
||||
hostname = cfg.hostname;
|
||||
port = cfg.port;
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
|
||||
services.mailpile = {
|
||||
enable = mkEnableOption "Mailpile the mail client";
|
||||
|
||||
hostname = mkOption {
|
||||
type = types.str;
|
||||
default = "localhost";
|
||||
description = "Listen to this hostname or ip.";
|
||||
};
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 33411;
|
||||
description = "Listen on this port.";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
###### implementation
|
||||
|
||||
config = mkIf config.services.mailpile.enable {
|
||||
|
||||
users.users.mailpile =
|
||||
{ uid = config.ids.uids.mailpile;
|
||||
description = "Mailpile user";
|
||||
createHome = true;
|
||||
home = "/var/lib/mailpile";
|
||||
};
|
||||
|
||||
users.groups.mailpile =
|
||||
{ gid = config.ids.gids.mailpile;
|
||||
};
|
||||
|
||||
systemd.services.mailpile =
|
||||
{
|
||||
description = "Mailpile server.";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
User = "mailpile";
|
||||
ExecStart = "${pkgs.mailpile}/bin/mailpile --www ${hostname}:${port} --wait";
|
||||
# mixed - first send SIGINT to main process,
|
||||
# then after 2min send SIGKILL to whole group if neccessary
|
||||
KillMode = "mixed";
|
||||
KillSignal = "SIGINT"; # like Ctrl+C - safe mailpile shutdown
|
||||
TimeoutSec = 120; # wait 2min untill SIGKILL
|
||||
};
|
||||
environment.MAILPILE_HOME = "/var/lib/mailpile/.local/share/Mailpile";
|
||||
};
|
||||
|
||||
environment.systemPackages = [ pkgs.mailpile ];
|
||||
|
||||
};
|
||||
|
||||
}
|
|
@ -55,7 +55,11 @@ in
|
|||
|
||||
frontendUrl = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
apply = x: if lib.hasSuffix "/" x then x else x + "/";
|
||||
apply = x:
|
||||
if x == "" || lib.hasSuffix "/" x then
|
||||
x
|
||||
else
|
||||
x + "/";
|
||||
example = "keycloak.example.com/auth";
|
||||
description = ''
|
||||
The public URL used as base for all frontend requests. Should
|
||||
|
@ -229,8 +233,22 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
themes = lib.mkOption {
|
||||
type = lib.types.attrsOf lib.types.package;
|
||||
default = {};
|
||||
description = ''
|
||||
Additional theme packages for Keycloak. Each theme is linked into
|
||||
subdirectory with a corresponding attribute name.
|
||||
|
||||
Theme packages consist of several subdirectories which provide
|
||||
different theme types: for example, <literal>account</literal>,
|
||||
<literal>login</literal> etc. After adding a theme to this option you
|
||||
can select it by its name in Keycloak administration console.
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfig = lib.mkOption {
|
||||
type = lib.types.attrs;
|
||||
type = lib.types.attrsOf lib.types.anything;
|
||||
default = { };
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
|
@ -289,16 +307,45 @@ in
|
|||
${pkgs.jre}/bin/keytool -importcert -trustcacerts -alias MySQLCACert -file ${cfg.database.caCert} -keystore $out -storepass notsosecretpassword -noprompt
|
||||
'';
|
||||
|
||||
# Both theme and theme type directories need to be actual directories in one hierarchy to pass Keycloak checks.
|
||||
themesBundle = pkgs.runCommand "keycloak-themes" {} ''
|
||||
linkTheme() {
|
||||
theme="$1"
|
||||
name="$2"
|
||||
|
||||
mkdir "$out/$name"
|
||||
for typeDir in "$theme"/*; do
|
||||
if [ -d "$typeDir" ]; then
|
||||
type="$(basename "$typeDir")"
|
||||
mkdir "$out/$name/$type"
|
||||
for file in "$typeDir"/*; do
|
||||
ln -sn "$file" "$out/$name/$type/$(basename "$file")"
|
||||
done
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
mkdir -p "$out"
|
||||
for theme in ${cfg.package}/themes/*; do
|
||||
if [ -d "$theme" ]; then
|
||||
linkTheme "$theme" "$(basename "$theme")"
|
||||
fi
|
||||
done
|
||||
|
||||
${lib.concatStringsSep "\n" (lib.mapAttrsToList (name: theme: "linkTheme ${theme} ${lib.escapeShellArg name}") cfg.themes)}
|
||||
'';
|
||||
|
||||
keycloakConfig' = builtins.foldl' lib.recursiveUpdate {
|
||||
"interface=public".inet-address = cfg.bindAddress;
|
||||
"socket-binding-group=standard-sockets"."socket-binding=http".port = cfg.httpPort;
|
||||
"subsystem=keycloak-server"."spi=hostname" = {
|
||||
"provider=default" = {
|
||||
"subsystem=keycloak-server" = {
|
||||
"spi=hostname"."provider=default" = {
|
||||
enabled = true;
|
||||
properties = {
|
||||
inherit (cfg) frontendUrl forceBackendUrlToFrontendUrl;
|
||||
};
|
||||
};
|
||||
"theme=defaults".dir = toString themesBundle;
|
||||
};
|
||||
"subsystem=datasources"."data-source=KeycloakDS" = {
|
||||
max-pool-size = "20";
|
||||
|
@ -348,11 +395,23 @@ in
|
|||
})
|
||||
(lib.optionalAttrs (cfg.sslCertificate != null && cfg.sslCertificateKey != null) {
|
||||
"socket-binding-group=standard-sockets"."socket-binding=https".port = cfg.httpsPort;
|
||||
"core-service=management"."security-realm=UndertowRealm"."server-identity=ssl" = {
|
||||
keystore-path = "/run/keycloak/ssl/certificate_private_key_bundle.p12";
|
||||
keystore-password = "notsosecretpassword";
|
||||
"subsystem=elytron" = lib.mkOrder 900 {
|
||||
"key-store=httpsKS" = lib.mkOrder 900 {
|
||||
path = "/run/keycloak/ssl/certificate_private_key_bundle.p12";
|
||||
credential-reference.clear-text = "notsosecretpassword";
|
||||
type = "JKS";
|
||||
};
|
||||
"key-manager=httpsKM" = lib.mkOrder 901 {
|
||||
key-store = "httpsKS";
|
||||
credential-reference.clear-text = "notsosecretpassword";
|
||||
};
|
||||
"server-ssl-context=httpsSSC" = lib.mkOrder 902 {
|
||||
key-manager = "httpsKM";
|
||||
};
|
||||
};
|
||||
"subsystem=undertow" = lib.mkOrder 901 {
|
||||
"server=default-server"."https-listener=https".ssl-context = "httpsSSC";
|
||||
};
|
||||
"subsystem=undertow"."server=default-server"."https-listener=https".security-realm = "UndertowRealm";
|
||||
})
|
||||
cfg.extraConfig
|
||||
];
|
||||
|
@ -441,9 +500,9 @@ in
|
|||
# with `expression` to evaluate.
|
||||
prefixExpression = string:
|
||||
let
|
||||
match = (builtins.match ''"\$\{.*}"'' string);
|
||||
matchResult = builtins.match ''"\$\{.*}"'' string;
|
||||
in
|
||||
if match != null then
|
||||
if matchResult != null then
|
||||
"expression " + string
|
||||
else
|
||||
string;
|
||||
|
@ -508,52 +567,57 @@ in
|
|||
""
|
||||
else
|
||||
throw "Unsupported type '${type}' for attribute '${attribute}'!";
|
||||
|
||||
in
|
||||
lib.concatStringsSep ", " (lib.mapAttrsToList makeArg set);
|
||||
|
||||
|
||||
/* Recurses into the `attrs` attrset, beginning at the path
|
||||
resolved from `state.path ++ node`; if `node` is `null`,
|
||||
starts from `state.path`. Only subattrsets that are JBoss
|
||||
paths, i.e. follows the `key=value` format, are recursed
|
||||
/* Recurses into the `nodeValue` attrset. Only subattrsets that
|
||||
are JBoss paths, i.e. follows the `key=value` format, are recursed
|
||||
into - the rest are considered JBoss attributes / maps.
|
||||
*/
|
||||
recurse = state: node:
|
||||
recurse = nodePath: nodeValue:
|
||||
let
|
||||
path = state.path ++ (lib.optional (node != null) node);
|
||||
nodeContent =
|
||||
if builtins.isAttrs nodeValue && nodeValue._type or "" == "order" then
|
||||
nodeValue.content
|
||||
else
|
||||
nodeValue;
|
||||
isPath = name:
|
||||
let
|
||||
value = lib.getAttrFromPath (path ++ [ name ]) attrs;
|
||||
value = nodeContent.${name};
|
||||
in
|
||||
if (builtins.match ".*([=]).*" name) == [ "=" ] then
|
||||
if builtins.isAttrs value || value == null then
|
||||
true
|
||||
else
|
||||
throw "Parsing path '${lib.concatStringsSep "." (path ++ [ name ])}' failed: JBoss attributes cannot contain '='!"
|
||||
throw "Parsing path '${lib.concatStringsSep "." (nodePath ++ [ name ])}' failed: JBoss attributes cannot contain '='!"
|
||||
else
|
||||
false;
|
||||
jbossPath = "/" + (lib.concatStringsSep "/" path);
|
||||
nodeValue = lib.getAttrFromPath path attrs;
|
||||
children = if !builtins.isAttrs nodeValue then {} else nodeValue;
|
||||
jbossPath = "/" + lib.concatStringsSep "/" nodePath;
|
||||
children = if !builtins.isAttrs nodeContent then {} else nodeContent;
|
||||
subPaths = builtins.filter isPath (builtins.attrNames children);
|
||||
getPriority = name:
|
||||
let value = children.${name};
|
||||
in if value._type or "" == "order" then value.priority else 1000;
|
||||
orderedSubPaths = lib.sort (a: b: getPriority a < getPriority b) subPaths;
|
||||
jbossAttrs = lib.filterAttrs (name: _: !(isPath name)) children;
|
||||
in
|
||||
state // {
|
||||
text = state.text + (
|
||||
if nodeValue != null then ''
|
||||
text =
|
||||
if nodeContent != null then
|
||||
''
|
||||
if (outcome != success) of ${jbossPath}:read-resource()
|
||||
${jbossPath}:add(${makeArgList jbossAttrs})
|
||||
end-if
|
||||
'' + (writeAttributes jbossPath jbossAttrs)
|
||||
else ''
|
||||
'' + writeAttributes jbossPath jbossAttrs
|
||||
else
|
||||
''
|
||||
if (outcome == success) of ${jbossPath}:read-resource()
|
||||
${jbossPath}:remove()
|
||||
end-if
|
||||
'') + (builtins.foldl' recurse { text = ""; inherit path; } subPaths).text;
|
||||
};
|
||||
'';
|
||||
in text + lib.concatMapStringsSep "\n" (name: recurse (nodePath ++ [name]) children.${name}) orderedSubPaths;
|
||||
in
|
||||
(recurse { text = ""; path = []; } null).text;
|
||||
|
||||
recurse [] attrs;
|
||||
|
||||
jbossCliScript = pkgs.writeText "jboss-cli-script" (mkJbossScript keycloakConfig');
|
||||
|
||||
|
|
|
@ -85,7 +85,12 @@
|
|||
The frontend URL is used as base for all frontend requests and
|
||||
must be configured through <xref linkend="opt-services.keycloak.frontendUrl" />.
|
||||
It should normally include a trailing <literal>/auth</literal>
|
||||
(the default web context).
|
||||
(the default web context). If you use a reverse proxy, you need
|
||||
to set this option to <literal>""</literal>, so that frontend URL
|
||||
is derived from HTTP headers. <literal>X-Forwarded-*</literal> headers
|
||||
support also should be enabled, using <link
|
||||
xlink:href="https://www.keycloak.org/docs/latest/server_installation/index.html#identifying-client-ip-addresses">
|
||||
respective guidelines</link>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
@ -131,6 +136,17 @@
|
|||
</warning>
|
||||
</section>
|
||||
|
||||
<section xml:id="module-services-keycloak-themes">
|
||||
<title>Themes</title>
|
||||
<para>
|
||||
You can package custom themes and make them visible to Keycloak via
|
||||
<xref linkend="opt-services.keycloak.themes" />
|
||||
option. See the <link xlink:href="https://www.keycloak.org/docs/latest/server_development/#_themes">
|
||||
Themes section of the Keycloak Server Development Guide</link>
|
||||
and respective NixOS option description for more information.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section xml:id="module-services-keycloak-extra-config">
|
||||
<title>Additional configuration</title>
|
||||
<para>
|
||||
|
|
|
@ -21,12 +21,10 @@ in {
|
|||
|
||||
type = settingsFormat.type;
|
||||
|
||||
example = literalExample ''
|
||||
{
|
||||
secret = "mysecret";
|
||||
storeDir = "/srv/http/nginx/prosody-upload";
|
||||
}
|
||||
'';
|
||||
example = {
|
||||
secret = "mysecret";
|
||||
storeDir = "/srv/http/nginx/prosody-upload";
|
||||
};
|
||||
|
||||
defaultText = literalExpression ''
|
||||
{
|
||||
|
|
|
@ -474,6 +474,7 @@ in
|
|||
taskserver = handleTest ./taskserver.nix {};
|
||||
telegraf = handleTest ./telegraf.nix {};
|
||||
teleport = handleTest ./teleport.nix {};
|
||||
thelounge = handleTest ./thelounge.nix {};
|
||||
tiddlywiki = handleTest ./tiddlywiki.nix {};
|
||||
tigervnc = handleTest ./tigervnc.nix {};
|
||||
timezone = handleTest ./timezone.nix {};
|
||||
|
|
29
nixos/tests/thelounge.nix
Normal file
29
nixos/tests/thelounge.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
import ./make-test-python.nix {
|
||||
nodes = {
|
||||
private = { config, pkgs, ... }: {
|
||||
services.thelounge = {
|
||||
enable = true;
|
||||
plugins = [ pkgs.theLoungePlugins.themes.solarized ];
|
||||
};
|
||||
};
|
||||
|
||||
public = { config, pkgs, ... }: {
|
||||
services.thelounge = {
|
||||
enable = true;
|
||||
public = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
for machine in machines:
|
||||
machine.wait_for_unit("thelounge.service")
|
||||
machine.wait_for_open_port(9000)
|
||||
|
||||
private.wait_until_succeeds("journalctl -u thelounge.service | grep thelounge-theme-solarized")
|
||||
private.wait_until_succeeds("journalctl -u thelounge.service | grep 'in private mode'")
|
||||
public.wait_until_succeeds("journalctl -u thelounge.service | grep 'in public mode'")
|
||||
'';
|
||||
}
|
|
@ -26,7 +26,7 @@ buildDotnetModule rec {
|
|||
makeWrapperArgs+=(--run "cd $out/lib/btcpayserver")
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
postFixup = ''
|
||||
mv $out/bin/{BTCPayServer,btcpayserver}
|
||||
'';
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ buildDotnetModule rec {
|
|||
dotnet-sdk = dotnetCorePackages.sdk_3_1;
|
||||
dotnet-runtime = dotnetCorePackages.aspnetcore_3_1;
|
||||
|
||||
postInstall = ''
|
||||
postFixup = ''
|
||||
mv $out/bin/{NBXplorer,nbxplorer}
|
||||
'';
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ buildDotnetModule rec {
|
|||
)
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
postFixup = ''
|
||||
mv $out/bin/WalletWasabi.Backend $out/bin/WasabiBackend
|
||||
'';
|
||||
|
||||
|
|
|
@ -38,13 +38,13 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cudatext";
|
||||
version = "1.152.1";
|
||||
version = "1.153.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Alexey-T";
|
||||
repo = "CudaText";
|
||||
rev = version;
|
||||
sha256 = "sha256-rFmgf/wg6/jIObBDN+viKX3KrewVWgxs8uVF1gCY72s=";
|
||||
sha256 = "sha256-3p5wb3buZtd1gnNoEJOclNO8xEYJBZYc86HfrkFrBWU=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -16,23 +16,23 @@
|
|||
},
|
||||
"ATSynEdit": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2021.12.22",
|
||||
"sha256": "sha256-MmRJ3XDq7b9doPFfW7njSOasHej5ut0nYcJMFj+Y/Dc="
|
||||
"rev": "2022.01.07",
|
||||
"sha256": "sha256-KxeaTXv0qig3O2hqjJ5HG1KCN0TTQdnd3g9jBsEc0a4="
|
||||
},
|
||||
"ATSynEdit_Cmp": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2021.09.14",
|
||||
"sha256": "sha256-6eC75zAtWbM1XEI9OM3iqy/a8Vj1l5WU7HGJBpmoQsA="
|
||||
"rev": "2021.12.28",
|
||||
"sha256": "sha256-bXTjPdn0DIVTdoi30Ws5+M+UsC7F99IphMSTpI5ia/Q="
|
||||
},
|
||||
"EControl": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2021.12.07",
|
||||
"sha256": "sha256-givCklAHao26psWLI2qK246igxcAQEeIYTGH61FX6Xo="
|
||||
"rev": "2022.01.07",
|
||||
"sha256": "sha256-dgkyXrFs2hzuFjt9GW+WNyrLIp/i/AbRsM/MyMbatdA="
|
||||
},
|
||||
"ATSynEdit_Ex": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2021.12.07",
|
||||
"sha256": "sha256-/2Fv/vrpbHSiJro11cjbziUaT4gfwa6y5aQBoYgq3OQ="
|
||||
"rev": "2022.01.07",
|
||||
"sha256": "sha256-7QDHf0PYGMc611qrk+a8pNJHF1v1DFMWlt5hbaU/oD8="
|
||||
},
|
||||
"Python-for-Lazarus": {
|
||||
"owner": "Alexey-T",
|
||||
|
|
|
@ -1,72 +0,0 @@
|
|||
{ python2
|
||||
, lib
|
||||
, fetchurl
|
||||
, pkg-config
|
||||
, libXext
|
||||
, libXxf86vm
|
||||
, libX11
|
||||
, libXrandr
|
||||
, libXinerama
|
||||
, libXScrnSaver
|
||||
, argyllcms
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (python2.pkgs) buildPythonApplication wxPython numpy dbus-python;
|
||||
in buildPythonApplication rec {
|
||||
pname = "displaycal";
|
||||
version = "3.8.9.3";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/project/dispcalgui/release/${version}/DisplayCAL-${version}.tar.gz";
|
||||
sha256 = "1sivi4q7sqsrc95qg5gh37bsm2761md4mpl89hflzwk6kyyxyd3w";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
libXext
|
||||
libXxf86vm
|
||||
libX11
|
||||
libXrandr
|
||||
libXinerama
|
||||
libXScrnSaver
|
||||
argyllcms
|
||||
wxPython
|
||||
numpy
|
||||
dbus-python
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
mkdir dist
|
||||
cp {misc,dist}/net.displaycal.DisplayCAL.appdata.xml
|
||||
touch dist/copyright
|
||||
mkdir -p $out
|
||||
ln -s $out/share/DisplayCAL $out/Resources
|
||||
'';
|
||||
|
||||
# no idea why it looks there - symlink .json lang (everything)
|
||||
postInstall = ''
|
||||
for x in $out/share/DisplayCAL/*; do
|
||||
ln -s $x $out/lib/python2.7/site-packages/DisplayCAL
|
||||
done
|
||||
|
||||
for prog in "$out/bin/"*; do
|
||||
wrapProgram "$prog" \
|
||||
--prefix PYTHONPATH : "$PYTHONPATH" \
|
||||
--prefix PATH : ${argyllcms}/bin
|
||||
done
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Display Calibration and Characterization powered by Argyll CMS";
|
||||
homepage = "https://displaycal.net/";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = [lib.maintainers.marcweber];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{ callPackage, ... } @ args:
|
||||
|
||||
callPackage ./generic.nix (args // {
|
||||
version = "5.0.0";
|
||||
version = "5.0.2";
|
||||
kde-channel = "stable";
|
||||
sha256 = "sha256-hNWDPbyrP9OkGPTDdnDYKtkZQw8MbQpXuZOQdHHuzFc=";
|
||||
sha256 = "sha256-5nUfx+tQSXekiAo3brvTmVyH2tFUSGCE6COX5l1JnL8=";
|
||||
})
|
||||
|
|
|
@ -19,6 +19,7 @@ buildDotnetModule rec {
|
|||
];
|
||||
|
||||
runtimeDeps = [ gtk3 ];
|
||||
buildInputs = runtimeDeps;
|
||||
|
||||
dotnet-sdk = dotnetCorePackages.sdk_6_0;
|
||||
dotnet-runtime = dotnetCorePackages.runtime_6_0;
|
||||
|
@ -39,16 +40,7 @@ buildDotnetModule rec {
|
|||
sha256 = "sha256-iOKJPB2bI/GjeDxzG7r6ew7SGIzgrJTcRXhEYzOpC9k=";
|
||||
};
|
||||
|
||||
# FIXME: this should be propagated by wrapGAppsHook already, however for some
|
||||
# reason it is not working. Maybe a bug in buildDotnetModule?
|
||||
preInstall = ''
|
||||
gappsWrapperArgs+=(
|
||||
--prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}"
|
||||
--set GDK_PIXBUF_MODULE_FILE ${librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
|
||||
)
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
postFixup = ''
|
||||
# Rename the binary
|
||||
mv $out/bin/Pinta $out/bin/pinta
|
||||
|
||||
|
@ -76,12 +68,12 @@ buildDotnetModule rec {
|
|||
--replace _Keywords Keywords
|
||||
'';
|
||||
|
||||
meta = {
|
||||
meta = with lib; {
|
||||
homepage = "https://www.pinta-project.com/";
|
||||
description = "Drawing/editing program modeled after Paint.NET";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ thiagokokada ];
|
||||
platforms = with lib.platforms; linux;
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ thiagokokada ];
|
||||
platforms = with platforms; linux;
|
||||
mainProgram = "pinta";
|
||||
};
|
||||
}
|
||||
|
|
70
pkgs/applications/misc/cubiomes-viewer/default.nix
Normal file
70
pkgs/applications/misc/cubiomes-viewer/default.nix
Normal file
|
@ -0,0 +1,70 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, qtbase
|
||||
, qmake
|
||||
, wrapQtAppsHook
|
||||
, copyDesktopItems
|
||||
, makeDesktopItem
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cubiomes-viewer";
|
||||
version = "1.12.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Cubitect";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-F0c6gMQKu35iBNRw+wpoxSUOhRUbPRKIXSNDDNZsfPE=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
qtbase
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
qmake
|
||||
wrapQtAppsHook
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
desktopItems = [ (makeDesktopItem {
|
||||
name = pname;
|
||||
desktopName = "Cubiomes Viewer";
|
||||
exec = pname;
|
||||
icon = pname;
|
||||
categories = "Game";
|
||||
comment = meta.description;
|
||||
}) ];
|
||||
|
||||
preBuild = ''
|
||||
# QMAKE_PRE_LINK is not executed (I dont know why)
|
||||
make -C ./cubiomes libcubiomes CFLAGS="-DSTRUCT_CONFIG_OVERRIDE=1" all
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin
|
||||
cp cubiomes-viewer $out/bin
|
||||
|
||||
mkdir -p $out/share/pixmaps
|
||||
cp icons/map.png $out/share/pixmaps/cubiomes-viewer.png
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/Cubitect/cubiomes-viewer";
|
||||
description = "A graphical Minecraft seed finder and map viewer";
|
||||
longDescription = ''
|
||||
Cubiomes Viewer provides a graphical interface for the efficient and flexible seed-finding
|
||||
utilities provided by cubiomes and a map viewer for the Minecraft biomes and structure generation.
|
||||
'';
|
||||
platforms = platforms.all;
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ hqurve ];
|
||||
};
|
||||
}
|
|
@ -1,78 +0,0 @@
|
|||
{ stdenv, runtimeShell, lib, fetchurl, python2Packages, unzip }:
|
||||
|
||||
# This package uses a precompiled "binary" distribution of CuraByDagoma,
|
||||
# distributed by the editor.
|
||||
#
|
||||
# To update the package, follow the links on https://dist.dagoma.fr/:
|
||||
# * Cura By Dagoma
|
||||
# * Linux
|
||||
# * 64 bits
|
||||
# * Genric archive
|
||||
#
|
||||
# I made the arbitrary choice to compile this package only for x86_64.
|
||||
# I guess people owning a 3D printer generally don't use i686.
|
||||
# If, however, someone needs it, we certainly can find a solution.
|
||||
|
||||
let
|
||||
pythonPackages = python2Packages;
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "curabydagoma";
|
||||
# Version is the date, UNIX format
|
||||
version = "1520506579";
|
||||
# Hash of the user's choice: os, arch, package type...
|
||||
hash = "58228cce5bbdcf764b7116850956f1e5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dist.dagoma.fr/get/zip/CuraByDagoma/${version}/${hash}";
|
||||
sha256 = "16wfipdyjkf6dq8awjzs4zgkmqk6230277mf3iz8swday9hns8pq";
|
||||
};
|
||||
unpackCmd = "unzip $curSrc && tar zxf CuraByDagoma_amd64.tar.gz";
|
||||
nativeBuildInputs = [ unzip ];
|
||||
buildInputs = [ pythonPackages.python pythonPackages.pyopengl pythonPackages.wxPython pythonPackages.pyserial pythonPackages.numpy ];
|
||||
|
||||
# Compile all pyc files because the included pyc files may be older than the
|
||||
# py files. However, Python doesn't realize that because the packages
|
||||
# have all dates set to epoch.
|
||||
buildPhase = ''
|
||||
python -m compileall -f curabydago
|
||||
'';
|
||||
|
||||
# * Simply copy the stuff there
|
||||
# * Create an executable with the correct path etc
|
||||
# * Create a .desktop file to have a launcher in the desktop environments
|
||||
installPhase = ''
|
||||
mkdir $out
|
||||
cp -r * $out/
|
||||
|
||||
mkdir $out/bin
|
||||
cat > $out/bin/curabydago <<EOF
|
||||
#!${runtimeShell}
|
||||
export PYTHONPATH=$PYTHONPATH
|
||||
${pythonPackages.python.interpreter} $out/curabydago/cura.py
|
||||
EOF
|
||||
chmod a+x $out/bin/curabydago
|
||||
|
||||
mkdir -p $out/share/applications
|
||||
cat > $out/share/applications/curabydago.desktop <<EOF
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=Cura-by-dagoma
|
||||
Comment=CuraByDagoma is a fork of Legacy Cura made by Dagoma for its own printers.
|
||||
Icon=$out/curabydago/resources/images/cura.ico
|
||||
Exec=$out/bin/curabydago
|
||||
Path=$out/
|
||||
StartupNotify=true
|
||||
Terminal=false
|
||||
Categories=GNOME;GTK;Utility;
|
||||
EOF
|
||||
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Slicer for 3D printers built by Dagoma";
|
||||
homepage = "https://dagoma.fr/cura-by-dagoma.html";
|
||||
license = licenses.agpl3;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ tiramiseb ];
|
||||
};
|
||||
}
|
|
@ -15,7 +15,8 @@ let
|
|||
sha256 = "09h1153wgr5x2ny7ds0w2m81n3bb9j8hjb8sjfnrg506r01clkyx";
|
||||
};
|
||||
});
|
||||
click = self.callPackage ../../../development/python-modules/click/7.nix { };
|
||||
# Use click 7
|
||||
click = self.callPackage ../../../development/python2-modules/click/default.nix { };
|
||||
};
|
||||
};
|
||||
in
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
{ lib, stdenv, fetchgit, makeWrapper, gettext
|
||||
, python27, python2Packages
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "metamorphose2";
|
||||
version = "0.9.0beta";
|
||||
|
||||
# exif-py vendored via submodule
|
||||
# mutagen vendored via copy
|
||||
src = fetchgit {
|
||||
url = "https://github.com/metamorphose/metamorphose2.git";
|
||||
#rev = "refs/tags/v2.${version}"; #for when wxPython3 support is released
|
||||
rev = "d2bdd6a86340b9668e93b35a6a568894c9909d68";
|
||||
sha256 = "0ivcb3c8hidrff0ivl4dnwa2p3ihpqjdbvdig8dhg9mm5phdbabn";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace messages/Makefile \
|
||||
--replace "\$(shell which msgfmt)" "${gettext}/bin/msgfmt"
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
rm $out/bin/metamorphose2
|
||||
makeWrapper ${python27}/bin/python $out/bin/metamorphose2 \
|
||||
--prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath "$out") \
|
||||
--add-flags "-O $out/share/metamorphose2/metamorphose2.py -w=3"
|
||||
'';
|
||||
|
||||
buildInput = [ gettext python27 ];
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
propagatedBuildInputs = [ python2Packages.wxPython python2Packages.pillow ];
|
||||
|
||||
makeFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "a graphical mass renaming program for files and folders";
|
||||
homepage = "https://github.com/metamorphose/metamorphose2";
|
||||
license = with licenses; gpl3Plus;
|
||||
maintainers = with maintainers; [ ramkromberg ];
|
||||
platforms = with platforms; linux;
|
||||
};
|
||||
}
|
|
@ -1,44 +0,0 @@
|
|||
{ lib, stdenv, fetchFromGitHub, python2Packages }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "neap";
|
||||
version = "0.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vzxwco";
|
||||
repo = "neap";
|
||||
rev = "v${version}";
|
||||
sha256 = "04da8rq23rl1qcvrdm5m3l90xbwyli7x601sckv7hmkip2q3g1kz";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
python2Packages.wrapPython
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
python2Packages.python
|
||||
];
|
||||
|
||||
pythonPath = [
|
||||
python2Packages.xlib
|
||||
python2Packages.pygtk
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
install -D -t $out/bin neap
|
||||
install -D -t $out/share/man/man1 neap.1
|
||||
install -D -t $out/share/applications neap.desktop
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
wrapPythonPrograms
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Systray workspace pager";
|
||||
homepage = "https://github.com/vzxwco/neap";
|
||||
license = licenses.bsd2;
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.romildo ];
|
||||
};
|
||||
}
|
|
@ -20,8 +20,8 @@ let
|
|||
sha256 = "ae2f05671588762dd83a21d8b18c51fe355e86783e24594995ff8d7380dffe38";
|
||||
};
|
||||
});
|
||||
werkzeug = self.callPackage ../../../development/python-modules/werkzeug/1.nix { };
|
||||
flask = self.callPackage ../../../development/python-modules/flask/1.nix { };
|
||||
werkzeug = self.callPackage ../../../development/python2-modules/werkzeug { };
|
||||
flask = self.callPackage ../../../development/python2-modules/flask { };
|
||||
sqlsoup = super.sqlsoup.overrideAttrs ({ meta ? {}, ... }: {
|
||||
meta = meta // { broken = false; };
|
||||
});
|
||||
|
|
|
@ -161,13 +161,23 @@ let
|
|||
./patches/no-build-timestamps.patch
|
||||
# For bundling Widevine (DRM), might be replaceable via bundle_widevine_cdm=true in gnFlags:
|
||||
./patches/widevine-79.patch
|
||||
] ++ lib.optionals (versionRange "98" "99") [
|
||||
] ++ lib.optionals (versionRange "97" "98") [
|
||||
# A critical Ozone/Wayland fix:
|
||||
# (Note: The patch for surface_augmenter.cc doesn't apply on M97 so we extract that part.)
|
||||
(fetchpatch {
|
||||
# [linux/wayland] Fixed terminate caused by binding to wrong version.
|
||||
url = "https://github.com/chromium/chromium/commit/dd4c3ddadbb9869f59cee201a38e9ca3b9154f4d.patch";
|
||||
excludes = [ "ui/ozone/platform/wayland/host/surface_augmenter.cc" ];
|
||||
sha256 = "sha256-lp4kxPNAkafdE9NfD3ittTCpomRpX9Hqhtt9GFf4Ntw=";
|
||||
})
|
||||
./patches/m97-ozone-wayland-fix-surface_augmenter.patch
|
||||
] ++ lib.optionals (versionRange "98" "99") [
|
||||
(githubPatch {
|
||||
# [linux/wayland] Fixed terminate caused by binding to wrong version.
|
||||
commit = "dd4c3ddadbb9869f59cee201a38e9ca3b9154f4d";
|
||||
sha256 = "sha256-FH7lBQTruMzkBT2XQ+kgADmJA0AxJfaV/gvtoqfQ4a4=";
|
||||
})
|
||||
] ++ lib.optionals (versionRange "97" "99") [
|
||||
(githubPatch {
|
||||
# [linux/wayland] Fixed terminate caused by binding to wrong version. (fixup)
|
||||
commit = "a84b79daa8897b822336b8f348ef4daaae07af37";
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
diff --git a/ui/ozone/platform/wayland/host/surface_augmenter.cc b/ui/ozone/platform/wayland/host/surface_augmenter.cc
|
||||
index d971d15e71426..6e5408398bcea 100644
|
||||
--- a/ui/ozone/platform/wayland/host/surface_augmenter.cc
|
||||
+++ b/ui/ozone/platform/wayland/host/surface_augmenter.cc
|
||||
@@ -13,7 +13,8 @@
|
||||
namespace ui {
|
||||
|
||||
namespace {
|
||||
-constexpr uint32_t kMaxSurfaceAugmenterVersion = 1;
|
||||
+constexpr uint32_t kMinVersion = 1;
|
||||
+constexpr uint32_t kMaxVersion = 1;
|
||||
}
|
||||
|
||||
// static
|
||||
@@ -27,11 +28,13 @@ void SurfaceAugmenter::Instantiate(WaylandConnection* connection,
|
||||
uint32_t version) {
|
||||
DCHECK_EQ(interface, kInterfaceName);
|
||||
|
||||
- if (connection->surface_augmenter_)
|
||||
+ if (connection->surface_augmenter_ ||
|
||||
+ !wl::CanBind(interface, version, kMinVersion, kMaxVersion)) {
|
||||
return;
|
||||
+ }
|
||||
|
||||
- auto augmenter = wl::Bind<surface_augmenter>(
|
||||
- registry, name, std::min(version, kMaxSurfaceAugmenterVersion));
|
||||
+ auto augmenter = wl::Bind<surface_augmenter>(registry, name,
|
||||
+ std::min(version, kMaxVersion));
|
||||
if (!augmenter) {
|
||||
LOG(ERROR) << "Failed to bind surface_augmenter";
|
||||
return;
|
|
@ -8,13 +8,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "arkade";
|
||||
version = "0.8.11";
|
||||
version = "0.8.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alexellis";
|
||||
repo = "arkade";
|
||||
rev = version;
|
||||
sha256 = "0mdi5cjcs0qzj238lfjqbjgi131r2vxj810zx1gv1lc9y0aq0hkl";
|
||||
sha256 = "sha256-OBcvJ1+VAE7jDeQ/I/9uc0wiU0iibeflRMmb+ulgDtQ=";
|
||||
};
|
||||
|
||||
CGO_ENABLED = 0;
|
||||
|
|
|
@ -2,20 +2,20 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "terranix";
|
||||
version = "2.5.0";
|
||||
version = "2.5.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mrVanDalo";
|
||||
repo = "terranix";
|
||||
rev = version;
|
||||
sha256 = "sha256-HDiyJGgyDUoLnpL8N+wDm3cM/vEfYYc/p4N1kKH/kLk=";
|
||||
sha256 = "sha256-Jhq0pkyF1KWJ6HgeWLoRfIxo7QHvOwwXzsIxZQgQtK4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/{bin,core,modules,lib}
|
||||
mv bin core modules lib $out/
|
||||
mv bin core modules lib share $out/
|
||||
|
||||
wrapProgram $out/bin/terranix-doc-json \
|
||||
--prefix PATH : ${lib.makeBinPath [ jq nix ]}
|
||||
|
|
|
@ -1,68 +0,0 @@
|
|||
{ lib, fetchdarcs, python2Packages, libvncserver, zlib
|
||||
, gnutls, libvpx, makeDesktopItem, mkDerivationWith }:
|
||||
|
||||
mkDerivationWith python2Packages.buildPythonApplication rec {
|
||||
|
||||
pname = "blink";
|
||||
version = "3.2.0";
|
||||
|
||||
src = fetchdarcs {
|
||||
url = "http://devel.ag-projects.com/repositories/blink-qt";
|
||||
rev = "release-${version}";
|
||||
sha256 = "19rcwr5scw48qnj79q1pysw95fz9h98nyc3161qy2kph5g7dwkc3";
|
||||
};
|
||||
|
||||
patches = [ ./pythonpath.patch ];
|
||||
postPatch = ''
|
||||
sed -i 's|@out@|'"''${out}"'|g' blink/resources.py
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = with python2Packages; [
|
||||
pyqt5_with_qtwebkit
|
||||
cjson
|
||||
sipsimple
|
||||
twisted
|
||||
google-api-python-client
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
python2Packages.cython
|
||||
zlib
|
||||
libvncserver
|
||||
libvpx
|
||||
];
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "Blink";
|
||||
exec = "blink";
|
||||
comment = meta.description;
|
||||
desktopName = "Blink";
|
||||
icon = "blink";
|
||||
genericName = "Instant Messaging";
|
||||
categories = "Internet;";
|
||||
};
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p "$out/share/applications"
|
||||
mkdir -p "$out/share/pixmaps"
|
||||
cp "$desktopItem"/share/applications/* "$out/share/applications"
|
||||
cp "$out"/share/blink/icons/blink.* "$out/share/pixmaps"
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=(
|
||||
--prefix "LD_LIBRARY_PATH" ":" "${gnutls.out}/lib"
|
||||
"''${qtWrapperArgs[@]}"
|
||||
)
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://icanblink.com/";
|
||||
description = "A state of the art, easy to use SIP client for Voice, Video and IM";
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ pSub ];
|
||||
};
|
||||
}
|
|
@ -1,49 +0,0 @@
|
|||
--- blink-2.0.0/blink/resources.py 2016-03-09 14:39:07.000000000 +0100
|
||||
+++ blink-2.0.0/blink/resources-patched.py 2016-03-12 21:34:14.965476623 +0100
|
||||
@@ -1,7 +1,10 @@
|
||||
+# Copyright (C) 2010-2013 AG Projects. See LICENSE for details.
|
||||
+#
|
||||
|
||||
"""Provide access to Blink's resources"""
|
||||
|
||||
-import __main__
|
||||
+__all__ = ['ApplicationData', 'Resources', 'IconManager']
|
||||
+
|
||||
import imghdr
|
||||
import os
|
||||
import platform
|
||||
@@ -19,14 +22,10 @@
|
||||
from blink.util import run_in_gui_thread
|
||||
|
||||
|
||||
-__all__ = ['ApplicationData', 'Resources', 'IconManager']
|
||||
-
|
||||
-
|
||||
class DirectoryContextManager(unicode):
|
||||
def __enter__(self):
|
||||
self.directory = os.getcwdu()
|
||||
os.chdir(self)
|
||||
-
|
||||
def __exit__(self, type, value, traceback):
|
||||
os.chdir(self.directory)
|
||||
|
||||
@@ -61,18 +60,7 @@
|
||||
@classproperty
|
||||
def directory(cls):
|
||||
if cls._cached_directory is None:
|
||||
- try:
|
||||
- binary_directory = os.path.dirname(os.path.realpath(__main__.__file__))
|
||||
- except AttributeError:
|
||||
- if hasattr(sys, 'frozen'):
|
||||
- application_directory = os.path.dirname(os.path.realpath(sys.executable))
|
||||
- else:
|
||||
- application_directory = os.path.realpath('') # executed in interactive interpreter
|
||||
- else:
|
||||
- if os.path.basename(binary_directory) == 'bin':
|
||||
- application_directory = os.path.dirname(binary_directory)
|
||||
- else:
|
||||
- application_directory = binary_directory
|
||||
+ application_directory = '@out@'
|
||||
if os.path.exists(os.path.join(application_directory, 'resources', 'blink.ui')):
|
||||
cls._cached_directory = os.path.join(application_directory, 'resources').decode(sys.getfilesystemencoding())
|
||||
else:
|
|
@ -2,15 +2,15 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "ipfs-cluster";
|
||||
version = "0.14.1";
|
||||
version = "0.14.4";
|
||||
|
||||
vendorSha256 = "sha256-vDNWYgWlM3kJqlHW/6Bj6P+t6M61TvOVRJwDN2p0mi4=";
|
||||
vendorSha256 = "sha256-4j6aPs17YNXyPIRr5NshAPYIfNM08GlYV13jnGtJzQc=";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ipfs";
|
||||
repo = "ipfs-cluster";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-GELCd12LhA4CBe9DRRBu4r+AwCksaRVIWcSAJScvnbk=";
|
||||
sha256 = "sha256-82t3sHMKZiV6sYnW72N94qfRZ/aMkavj+hiAyg5viHQ=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "ipget";
|
||||
version = "0.7.0";
|
||||
version = "0.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ipfs";
|
||||
repo = "ipget";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-YD05HIVr99b8VmEJgzY2ClNv31I98d0NbfCk3XcB+xk=";
|
||||
sha256 = "sha256-qRPke8/CUmGX6v+8qv9JQCUC8T9pjwRRyGmBWvatsJ0=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-bymHVWskCt7bf02CveMXl1VhZYhRSEH7xIoESh31iGg=";
|
||||
vendorSha256 = "sha256-La9V5B+UDaOswh/R8ad4xsnCF5ewtF7G+uiqnarM4Mg=";
|
||||
|
||||
postPatch = ''
|
||||
# main module (github.com/ipfs/ipget) does not contain package github.com/ipfs/ipget/sharness/dependencies
|
||||
|
|
|
@ -1,9 +1,13 @@
|
|||
{ lib, buildPythonPackage, python, fetchFromGitHub, isPy3k, pytestCheckHook
|
||||
, notmuch2, urwid, urwidtrees, twisted, python_magic, configobj, mock, file, gpgme
|
||||
, service-identity, gnupg, sphinx, gawk, procps, future , withManpage ? false
|
||||
{ lib, python3, fetchFromGitHub, file, gnupg, gawk, notmuch, procps, withManpage ? false
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
with python3.pkgs;
|
||||
|
||||
let
|
||||
notmuch2 = callPackage ./notmuch.nix {
|
||||
inherit notmuch;
|
||||
};
|
||||
in buildPythonApplication rec {
|
||||
pname = "alot";
|
||||
version = "0.10";
|
||||
outputs = [ "out" ] ++ lib.optional withManpage "man";
|
|
@ -1,52 +0,0 @@
|
|||
{ lib, fetchFromGitHub, python2Packages, gnupg1orig, openssl, git }:
|
||||
|
||||
python2Packages.buildPythonApplication rec {
|
||||
pname = "mailpile";
|
||||
version = "1.0.0rc2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mailpile";
|
||||
repo = "Mailpile";
|
||||
rev = version;
|
||||
sha256 = "1z5psh00fjr8gnl4yjcl4m9ywfj24y1ffa2rfb5q8hq4ksjblbdj";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs scripts
|
||||
'';
|
||||
|
||||
nativeBuildInputs = with python2Packages; [ pbr git ];
|
||||
PBR_VERSION=version;
|
||||
|
||||
propagatedBuildInputs = with python2Packages; [
|
||||
appdirs
|
||||
cryptography
|
||||
fasteners
|
||||
gnupg1orig
|
||||
jinja2
|
||||
pgpdump
|
||||
pillow
|
||||
python2Packages.lxml
|
||||
spambayes
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/mailpile \
|
||||
--prefix PATH ":" "${lib.makeBinPath [ gnupg1orig openssl ]}" \
|
||||
--set-default MAILPILE_SHARED "$out/share/mailpile"
|
||||
'';
|
||||
|
||||
# No tests were found
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A modern, fast web-mail client with user-friendly encryption and privacy features";
|
||||
homepage = "https://www.mailpile.is/";
|
||||
license = [ licenses.asl20 licenses.agpl3 ];
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ ];
|
||||
knownVulnerabilities = [
|
||||
"Numerous and uncounted, upstream has requested we not package it. See more: https://github.com/NixOS/nixpkgs/pull/23058#issuecomment-283515104"
|
||||
];
|
||||
};
|
||||
}
|
|
@ -3,8 +3,8 @@
|
|||
}:
|
||||
|
||||
let
|
||||
apispec3 = callPackage ../apispec/3.nix {};
|
||||
jinja2 = callPackage ../jinja2/2.nix {};
|
||||
apispec3 = callPackage ./apispec.nix {};
|
||||
jinja2 = callPackage ../../../../development/python2-modules/jinja2 {};
|
||||
in
|
||||
buildPythonPackage rec {
|
||||
pname = "aiohttp-apispec";
|
|
@ -6,8 +6,7 @@ let
|
|||
libtorrent = (python3.pkgs.toPythonModule (
|
||||
libtorrent-rasterbar-1_2_x.override { python = python3; })).python;
|
||||
|
||||
aiohttp-apispec = python3.pkgs.callPackage
|
||||
../../../../development/python-modules/aiohttp-apispec/unstable.nix { };
|
||||
aiohttp-apispec = python3.pkgs.callPackage ./aiohttp-apispec.nix { };
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "tribler";
|
||||
|
|
25
pkgs/applications/office/PageEdit/default.nix
Normal file
25
pkgs/applications/office/PageEdit/default.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{ lib, mkDerivation, fetchFromGitHub, cmake, qtsvg, qtwebengine, qttranslations }:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "PageEdit";
|
||||
version = "1.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Sigil-Ebook";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-/t08ZS2iYWIDkco0nhACBQs1X+X77SJ/g+ow7KemfRY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake qttranslations ];
|
||||
propagatedBuildInputs = [ qtsvg qtwebengine ];
|
||||
cmakeFlags = "-DINSTALL_BUNDLED_DICTS=0";
|
||||
|
||||
meta = with lib; {
|
||||
description = "ePub XHTML Visual Editor";
|
||||
homepage = "https://sigil-ebook.com/pageedit/";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = [ maintainers.pasqui23 ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
|
@ -1,12 +1,12 @@
|
|||
{ appimageTools, lib, fetchurl }:
|
||||
let
|
||||
pname = "notion-app-enhanced";
|
||||
version = "2.0.16-5";
|
||||
version = "2.0.18-1";
|
||||
name = "${pname}-v${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/notion-enhancer/notion-repackaged/releases/download/v${version}/Notion-Enhanced-${version}.AppImage";
|
||||
sha256 = "1v733b4clc9sjgb72fasmbqiyz26d09f3kmvd1nqshwp5d14dajz";
|
||||
sha256 = "sha256-SqeMnoMzxxaViJ3NPccj3kyMc1xvXWULM6hQIDZySWY=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extract { inherit name src; };
|
||||
|
|
|
@ -18,7 +18,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
nativeBuildInputs = [ python3.pkgs.wrapPython copyDesktopItems ];
|
||||
|
||||
pythonPath = with python3.pkgs; [
|
||||
wxPython_4_0 # not compatible with wxPython_4_1. reported upstream https://github.com/wxWidgets/Phoenix/issues/1956
|
||||
wxPython_4_1
|
||||
humblewx
|
||||
icalendar
|
||||
markdown
|
||||
|
|
|
@ -10,7 +10,8 @@ let
|
|||
# Workaround the issue by providing click 7 explicitly.
|
||||
python = python3.override {
|
||||
packageOverrides = self: super: {
|
||||
click = self.callPackage ../../../development/python-modules/click/7.nix { };
|
||||
# Use click 7
|
||||
click = self.callPackage ../../../development/python2-modules/click/default.nix { };
|
||||
};
|
||||
};
|
||||
in with python.pkgs; buildPythonApplication rec {
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
, pkg-config
|
||||
, volk
|
||||
, cppunit
|
||||
, swig
|
||||
, orc
|
||||
, boost
|
||||
, log4cpp
|
||||
|
@ -21,33 +20,39 @@
|
|||
, libjack2
|
||||
, CoreAudio
|
||||
, uhd
|
||||
, comedilib
|
||||
, libusb1
|
||||
, SDL
|
||||
, gsl
|
||||
, soapysdr
|
||||
, libsodium
|
||||
, libsndfile
|
||||
, libunwind
|
||||
, thrift
|
||||
, cppzmq
|
||||
, zeromq
|
||||
# Needed only if qt-gui is disabled, from some reason
|
||||
, icu
|
||||
# GUI related
|
||||
, gtk2
|
||||
, gtk3
|
||||
, pango
|
||||
, gobject-introspection
|
||||
, cairo
|
||||
, qt4
|
||||
, qwt6_qt4
|
||||
, qt5
|
||||
, libsForQt5
|
||||
# Features available to override, the list of them is in featuresInfo. They
|
||||
# are all turned on by default
|
||||
# are all turned on by default.
|
||||
, features ? {}
|
||||
# If one wishes to use a different src or name for a very custom build
|
||||
, overrideSrc ? {}
|
||||
, pname ? "gnuradio"
|
||||
, versionAttr ? {
|
||||
major = "3.7";
|
||||
minor = "14";
|
||||
major = "3.9";
|
||||
minor = "5";
|
||||
patch = "0";
|
||||
}
|
||||
}:
|
||||
|
||||
let
|
||||
sourceSha256 = "BiUDibXV/5cEYmAAaIxT4WTxF/ni4MJumF5oJ/vuOyc=";
|
||||
sourceSha256 = "sha256-TWCXLoS+ImKNd2zkxMks4FXsQMvGKgcW5/MW8S1Y1TY=";
|
||||
featuresInfo = {
|
||||
# Needed always
|
||||
basic = {
|
||||
|
@ -56,27 +61,30 @@ let
|
|||
pkg-config
|
||||
orc
|
||||
];
|
||||
runtime = [ boost log4cpp mpir ];
|
||||
pythonNative = with python.pkgs; [ Mako six ];
|
||||
};
|
||||
volk = {
|
||||
cmakeEnableFlag = "VOLK";
|
||||
runtime = [
|
||||
volk
|
||||
boost
|
||||
log4cpp
|
||||
mpir
|
||||
]
|
||||
# when gr-qtgui is disabled, icu needs to be included, otherwise
|
||||
# building with boost 1.7x fails
|
||||
++ lib.optionals (!(hasFeature "gr-qtgui")) [ icu ];
|
||||
pythonNative = with python.pkgs; [
|
||||
Mako
|
||||
six
|
||||
];
|
||||
};
|
||||
doxygen = {
|
||||
native = [ doxygen ];
|
||||
cmakeEnableFlag = "DOXYGEN";
|
||||
};
|
||||
sphinx = {
|
||||
pythonNative = with python.pkgs; [ sphinx ];
|
||||
cmakeEnableFlag = "SPHINX";
|
||||
man-pages = {
|
||||
cmakeEnableFlag = "MANPAGES";
|
||||
};
|
||||
python-support = {
|
||||
pythonRuntime = [ python.pkgs.six ];
|
||||
native = [
|
||||
swig
|
||||
python
|
||||
];
|
||||
cmakeEnableFlag = "PYTHON";
|
||||
|
@ -85,31 +93,44 @@ let
|
|||
native = [ cppunit ];
|
||||
cmakeEnableFlag = "TESTING";
|
||||
};
|
||||
post-install = {
|
||||
cmakeEnableFlag = "POSTINSTALL";
|
||||
};
|
||||
gnuradio-runtime = {
|
||||
cmakeEnableFlag = "GNURADIO_RUNTIME";
|
||||
pythonRuntime = [
|
||||
python.pkgs.pybind11
|
||||
];
|
||||
};
|
||||
gr-ctrlport = {
|
||||
cmakeEnableFlag = "GR_CTRLPORT";
|
||||
native = [
|
||||
swig
|
||||
runtime = [
|
||||
libunwind
|
||||
thrift
|
||||
];
|
||||
pythonRuntime = with python.pkgs; [
|
||||
python.pkgs.thrift
|
||||
# For gr-perf-monitorx
|
||||
matplotlib
|
||||
networkx
|
||||
];
|
||||
cmakeEnableFlag = "GR_CTRLPORT";
|
||||
};
|
||||
gnuradio-companion = {
|
||||
pythonRuntime = with python.pkgs; [
|
||||
pyyaml
|
||||
cheetah
|
||||
lxml
|
||||
pygtk
|
||||
Mako
|
||||
numpy
|
||||
# propagated by pygtk, but since wrapping is done externally, it help
|
||||
# the wrapper if it's here
|
||||
pycairo
|
||||
pygobject2
|
||||
pygobject3
|
||||
];
|
||||
native = [
|
||||
python.pkgs.pytest
|
||||
];
|
||||
runtime = [
|
||||
gtk2
|
||||
gtk3
|
||||
pango
|
||||
gobject-introspection
|
||||
cairo
|
||||
libsndfile
|
||||
];
|
||||
cmakeEnableFlag = "GRC";
|
||||
};
|
||||
|
@ -126,6 +147,10 @@ let
|
|||
gr-filter = {
|
||||
runtime = [ fftwFloat ];
|
||||
cmakeEnableFlag = "GR_FILTER";
|
||||
pythonRuntime = with python.pkgs; [
|
||||
scipy
|
||||
pyqtgraph
|
||||
];
|
||||
};
|
||||
gr-analog = {
|
||||
cmakeEnableFlag = "GR_ANALOG";
|
||||
|
@ -136,9 +161,6 @@ let
|
|||
gr-dtv = {
|
||||
cmakeEnableFlag = "GR_DTV";
|
||||
};
|
||||
gr-atsc = {
|
||||
cmakeEnableFlag = "GR_ATSC";
|
||||
};
|
||||
gr-audio = {
|
||||
runtime = []
|
||||
++ lib.optionals stdenv.isLinux [ alsa-lib libjack2 ]
|
||||
|
@ -146,33 +168,46 @@ let
|
|||
;
|
||||
cmakeEnableFlag = "GR_AUDIO";
|
||||
};
|
||||
gr-comedi = {
|
||||
runtime = [ comedilib ];
|
||||
cmakeEnableFlag = "GR_COMEDI";
|
||||
};
|
||||
gr-channels = {
|
||||
cmakeEnableFlag = "GR_CHANNELS";
|
||||
};
|
||||
gr-noaa = {
|
||||
cmakeEnableFlag = "GR_NOAA";
|
||||
};
|
||||
gr-pager = {
|
||||
cmakeEnableFlag = "GR_PAGER";
|
||||
};
|
||||
gr-qtgui = {
|
||||
runtime = [ qt4 qwt6_qt4 ];
|
||||
pythonRuntime = [ python.pkgs.pyqt4 ];
|
||||
runtime = [ qt5.qtbase libsForQt5.qwt ];
|
||||
pythonRuntime = [ python.pkgs.pyqt5 ];
|
||||
cmakeEnableFlag = "GR_QTGUI";
|
||||
};
|
||||
gr-trellis = {
|
||||
cmakeEnableFlag = "GR_TRELLIS";
|
||||
};
|
||||
gr-uhd = {
|
||||
runtime = [ uhd ];
|
||||
runtime = [
|
||||
uhd
|
||||
];
|
||||
cmakeEnableFlag = "GR_UHD";
|
||||
};
|
||||
gr-uhd-rfnoc = {
|
||||
runtime = [
|
||||
uhd
|
||||
];
|
||||
cmakeEnableFlag = "UHD_RFNOC";
|
||||
};
|
||||
gr-utils = {
|
||||
cmakeEnableFlag = "GR_UTILS";
|
||||
pythonRuntime = with python.pkgs; [
|
||||
# For gr_plot
|
||||
matplotlib
|
||||
];
|
||||
};
|
||||
gr-modtool = {
|
||||
pythonRuntime = with python.pkgs; [
|
||||
setuptools
|
||||
click
|
||||
click-plugins
|
||||
];
|
||||
cmakeEnableFlag = "GR_MODTOOL";
|
||||
};
|
||||
gr-blocktool = {
|
||||
cmakeEnableFlag = "GR_BLOCKTOOL";
|
||||
};
|
||||
gr-video-sdl = {
|
||||
runtime = [ SDL ];
|
||||
|
@ -182,27 +217,28 @@ let
|
|||
runtime = [ codec2 gsm ];
|
||||
cmakeEnableFlag = "GR_VOCODER";
|
||||
};
|
||||
gr-fcd = {
|
||||
runtime = [ libusb1 ];
|
||||
cmakeEnableFlag = "GR_FCD";
|
||||
};
|
||||
gr-wavelet = {
|
||||
cmakeEnableFlag = "GR_WAVELET";
|
||||
runtime = [ gsl ];
|
||||
runtime = [ gsl libsodium ];
|
||||
};
|
||||
gr-zeromq = {
|
||||
runtime = [ cppzmq zeromq ];
|
||||
cmakeEnableFlag = "GR_ZEROMQ";
|
||||
};
|
||||
gr-wxgui = {
|
||||
pythonRuntime = with python.pkgs; [ numpy wxPython ];
|
||||
cmakeEnableFlag = "GR_WXGUI";
|
||||
gr-network = {
|
||||
cmakeEnableFlag = "GR_NETWORK";
|
||||
};
|
||||
gr-soapy = {
|
||||
cmakeEnableFlag = "GR_SOAPY";
|
||||
runtime = [
|
||||
soapysdr
|
||||
];
|
||||
};
|
||||
};
|
||||
shared = (import ./shared.nix {
|
||||
inherit
|
||||
lib
|
||||
stdenv
|
||||
lib
|
||||
python
|
||||
removeReferencesTo
|
||||
featuresInfo
|
||||
|
@ -212,8 +248,8 @@ let
|
|||
overrideSrc
|
||||
fetchFromGitHub
|
||||
;
|
||||
qt = qt4;
|
||||
gtk = gtk2;
|
||||
qt = qt5;
|
||||
gtk = gtk3;
|
||||
});
|
||||
inherit (shared) hasFeature; # function
|
||||
in
|
||||
|
@ -225,57 +261,33 @@ stdenv.mkDerivation rec {
|
|||
src
|
||||
nativeBuildInputs
|
||||
buildInputs
|
||||
cmakeFlags
|
||||
disallowedReferences
|
||||
postInstall
|
||||
stripDebugList
|
||||
doCheck
|
||||
dontWrapPythonPrograms
|
||||
dontWrapQtApps
|
||||
meta
|
||||
;
|
||||
|
||||
patches = [
|
||||
# Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227
|
||||
./modtool-newmod-permissions.patch
|
||||
];
|
||||
passthru = shared.passthru // {
|
||||
# Deps that are potentially overriden and are used inside GR plugins - the same version must
|
||||
inherit boost volk;
|
||||
} // lib.optionalAttrs (hasFeature "gr-uhd") {
|
||||
inherit uhd;
|
||||
} // lib.optionalAttrs (hasFeature "gr-qtgui") {
|
||||
inherit (libsForQt5) qwt;
|
||||
};
|
||||
cmakeFlags = shared.cmakeFlags
|
||||
# From some reason, if these are not set, libcodec2 and gsm are
|
||||
# not detected properly (slightly different then what's in
|
||||
# ./default.nix).
|
||||
++ lib.optionals (hasFeature "gr-vocoder") [
|
||||
"-DLIBCODEC2_LIBRARIES=${codec2}/lib/libcodec2.so"
|
||||
"-DLIBCODEC2_INCLUDE_DIR=${codec2}/include"
|
||||
"-DLIBGSM_LIBRARIES=${gsm}/lib/libgsm.so"
|
||||
"-DLIBGSM_INCLUDE_DIR=${gsm}/include/gsm"
|
||||
]
|
||||
++ lib.optionals (hasFeature "volk" && volk != null) [
|
||||
"-DENABLE_INTERNAL_VOLK=OFF"
|
||||
]
|
||||
;
|
||||
stripDebugList = shared.stripDebugList
|
||||
# gr-fcd feature was dropped in 3.8
|
||||
++ lib.optionals (hasFeature "gr-fcd") [ "share/gnuradio/examples/fcd" ]
|
||||
;
|
||||
preConfigure = ""
|
||||
# wxgui and pygtk are not looked up properly, so we force them to be
|
||||
# detected as found, if they are requested by the `features` attrset.
|
||||
+ lib.optionalString (hasFeature "gr-wxgui") ''
|
||||
sed -i 's/.*wx\.version.*/set(WX_FOUND TRUE)/g' gr-wxgui/CMakeLists.txt
|
||||
''
|
||||
+ lib.optionalString (hasFeature "gnuradio-companion") ''
|
||||
sed -i 's/.*pygtk_version.*/set(PYGTK_FOUND TRUE)/g' grc/CMakeLists.txt
|
||||
|
||||
postInstall = shared.postInstall
|
||||
# This is the only python reference worth removing, if needed.
|
||||
+ lib.optionalString (!hasFeature "python-support") ''
|
||||
${removeReferencesTo}/bin/remove-references-to -t ${python} $out/lib/cmake/gnuradio/GnuradioConfig.cmake
|
||||
${removeReferencesTo}/bin/remove-references-to -t ${python} $(readlink -f $out/lib/libgnuradio-runtime.so)
|
||||
${removeReferencesTo}/bin/remove-references-to -t ${python.pkgs.pybind11} $out/lib/cmake/gnuradio/gnuradio-runtimeTargets.cmake
|
||||
''
|
||||
;
|
||||
patches = [
|
||||
# Don't install python referencing files if python support is disabled.
|
||||
# See: https://github.com/gnuradio/gnuradio/pull/3856
|
||||
(fetchpatch {
|
||||
url = "https://github.com/gnuradio/gnuradio/commit/acef55433d15c231661fa44751f9a2d90a4baa4b.diff";
|
||||
sha256 = "2CEX44Ll8frfLXTIWjdDhKl7aXcjiAWsezVdwrynelE=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/gnuradio/gnuradio/commit/a2681edcfaabcb1ecf878ae861161b6a6bf8459d.diff";
|
||||
sha256 = "2Pitgu8accs16B5X5+/q51hr+IY9DMsA15f56gAtBs8=";
|
||||
})
|
||||
];
|
||||
}
|
|
@ -9,7 +9,7 @@
|
|||
, cppunit
|
||||
, orc
|
||||
, boost
|
||||
, log4cpp
|
||||
, spdlog
|
||||
, mpir
|
||||
, doxygen
|
||||
, python
|
||||
|
@ -18,6 +18,8 @@
|
|||
, fftwFloat
|
||||
, alsa-lib
|
||||
, libjack2
|
||||
, libiio
|
||||
, libad9361
|
||||
, CoreAudio
|
||||
, uhd
|
||||
, SDL
|
||||
|
@ -45,14 +47,14 @@
|
|||
, overrideSrc ? {}
|
||||
, pname ? "gnuradio"
|
||||
, versionAttr ? {
|
||||
major = "3.9";
|
||||
minor = "5";
|
||||
major = "3.10";
|
||||
minor = "0";
|
||||
patch = "0";
|
||||
}
|
||||
}:
|
||||
|
||||
let
|
||||
sourceSha256 = "sha256-TWCXLoS+ImKNd2zkxMks4FXsQMvGKgcW5/MW8S1Y1TY=";
|
||||
sourceSha256 = "sha256-1K8nlNiirks3MJ+9cH9bkILVFtu5OxhKkNhetGqojn4=";
|
||||
featuresInfo = {
|
||||
# Needed always
|
||||
basic = {
|
||||
|
@ -64,7 +66,7 @@ let
|
|||
runtime = [
|
||||
volk
|
||||
boost
|
||||
log4cpp
|
||||
spdlog
|
||||
mpir
|
||||
]
|
||||
# when gr-qtgui is disabled, icu needs to be included, otherwise
|
||||
|
@ -171,6 +173,22 @@ let
|
|||
gr-channels = {
|
||||
cmakeEnableFlag = "GR_CHANNELS";
|
||||
};
|
||||
gr-pdu = {
|
||||
cmakeEnableFlag = "GR_PDU";
|
||||
runtime = [
|
||||
libiio
|
||||
libad9361
|
||||
];
|
||||
};
|
||||
gr-iio = {
|
||||
cmakeEnableFlag = "GR_IIO";
|
||||
runtime = [
|
||||
libiio
|
||||
];
|
||||
};
|
||||
common-precompiled-headers = {
|
||||
cmakeEnableFlag = "COMMON_PCH";
|
||||
};
|
||||
gr-qtgui = {
|
||||
runtime = [ qt5.qtbase libsForQt5.qwt ];
|
||||
pythonRuntime = [ python.pkgs.pyqt5 ];
|
||||
|
|
|
@ -24,13 +24,13 @@ assert !(pulseaudioSupport && portaudioSupport);
|
|||
|
||||
gnuradio3_8Minimal.pkgs.mkDerivation rec {
|
||||
pname = "gqrx";
|
||||
version = "2.15.2";
|
||||
version = "2.15.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gqrx-sdr";
|
||||
repo = "gqrx";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-LWuSJbzQKHoCbkyRQ7KqUxFXzA99kuafPibH8Xx7mXs=";
|
||||
sha256 = "sha256-iQlrnkc1EMR8sUUAHh+7RfS/05unrcDm/kJ/Q4Vst2Q=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -1,50 +0,0 @@
|
|||
{ lib, stdenv, fetchFromGitHub, htslib, zlib, curl, openssl, samblaster, sambamba
|
||||
, samtools, hexdump, python2Packages, which }:
|
||||
|
||||
let
|
||||
python =
|
||||
python2Packages.python.withPackages (pkgs: with pkgs; [ pysam numpy ]);
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "lumpy";
|
||||
version = "0.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "arq5x";
|
||||
repo = "lumpy-sv";
|
||||
rev = "v${version}";
|
||||
sha256 = "0r71sg7qch8r6p6dw995znrqdj6q49hjdylhzbib2qmv8nvglhs9";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ which ];
|
||||
buildInputs =
|
||||
[ htslib zlib curl openssl python samblaster sambamba samtools hexdump ];
|
||||
|
||||
preConfigure = ''
|
||||
patchShebangs ./.
|
||||
|
||||
# Use Nix htslib over bundled version
|
||||
sed -i 's/lumpy_filter: htslib/lumpy_filter:/' Makefile
|
||||
sed -i 's|../../lib/htslib/libhts.a|-lhts|' src/filter/Makefile
|
||||
# Also make sure we use the includes from Nix's htslib
|
||||
sed -i 's|../../lib/htslib/|${htslib}|' src/filter/Makefile
|
||||
'';
|
||||
|
||||
# Upstream's makefile doesn't have an install target
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -r bin $out
|
||||
cp -r scripts $out
|
||||
sed -i 's|/build/source|'$out'|' $out/bin/lumpyexpress.config
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Probabilistic structural variant caller";
|
||||
homepage = "https://github.com/arq5x/lumpy-sv";
|
||||
maintainers = with maintainers; [ jbedo ];
|
||||
license = licenses.mit;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
|
||||
}
|
|
@ -3,8 +3,10 @@
|
|||
libstartup_notification, libGL, libX11, libXrandr, libXinerama, libXcursor,
|
||||
libxkbcommon, libXi, libXext, wayland-protocols, wayland,
|
||||
lcms2,
|
||||
librsync,
|
||||
installShellFiles,
|
||||
dbus,
|
||||
darwin,
|
||||
Cocoa,
|
||||
CoreGraphics,
|
||||
Foundation,
|
||||
|
@ -21,20 +23,21 @@
|
|||
with python3Packages;
|
||||
buildPythonApplication rec {
|
||||
pname = "kitty";
|
||||
version = "0.23.1";
|
||||
version = "0.24.1";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kovidgoyal";
|
||||
repo = "kitty";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-2RwDU6EOJWF0u2ikJFg9U2yqSXergDkJH3h2i+QJ7G4=";
|
||||
sha256 = "sha256-WPkyub7CwNXRksUmqiZeznnSqEPFpyHTeFLQ+D4Fb5c=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
harfbuzz
|
||||
ncurses
|
||||
lcms2
|
||||
librsync
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
Cocoa
|
||||
CoreGraphics
|
||||
|
@ -45,6 +48,8 @@ buildPythonApplication rec {
|
|||
libpng
|
||||
python3
|
||||
zlib
|
||||
] ++ lib.optionals (stdenv.isDarwin && (builtins.hasAttr "UserNotifications" darwin.apple_sdk.frameworks)) [
|
||||
darwin.apple_sdk.frameworks.UserNotifications
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
fontconfig libunistring libcanberra libX11
|
||||
libXrandr libXinerama libXcursor libxkbcommon libXi libXext
|
||||
|
@ -67,26 +72,31 @@ buildPythonApplication rec {
|
|||
|
||||
propagatedBuildInputs = lib.optional stdenv.isLinux libGL;
|
||||
|
||||
outputs = [ "out" "terminfo" ];
|
||||
outputs = [ "out" "terminfo" "shell_integration" ];
|
||||
|
||||
# Causes build failure due to warning
|
||||
hardeningDisable = lib.optional stdenv.cc.isClang "strictoverflow";
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
buildPhase = ''
|
||||
buildPhase = let
|
||||
commonOptions = ''
|
||||
--update-check-interval=0 \
|
||||
--shell-integration=enabled\ no-rc
|
||||
'';
|
||||
in ''
|
||||
runHook preBuild
|
||||
${if stdenv.isDarwin then ''
|
||||
${python.interpreter} setup.py kitty.app \
|
||||
--update-check-interval=0 \
|
||||
--disable-link-time-optimization
|
||||
--disable-link-time-optimization \
|
||||
${commonOptions}
|
||||
make man
|
||||
'' else ''
|
||||
${python.interpreter} setup.py linux-package \
|
||||
--update-check-interval=0 \
|
||||
--egl-library='${lib.getLib libGL}/lib/libEGL.so.1' \
|
||||
--startup-notification-library='${libstartup_notification}/lib/libstartup-notification-1.so' \
|
||||
--canberra-library='${libcanberra}/lib/libcanberra.so'
|
||||
--canberra-library='${libcanberra}/lib/libcanberra.so' \
|
||||
${commonOptions}
|
||||
''}
|
||||
runHook postBuild
|
||||
'';
|
||||
|
@ -125,10 +135,7 @@ buildPythonApplication rec {
|
|||
--bash <("$out/bin/kitty" + complete setup bash) \
|
||||
--fish <("$out/bin/kitty" + complete setup fish) \
|
||||
--zsh <("$out/bin/kitty" + complete setup zsh)
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
terminfo_src=${if stdenv.isDarwin then
|
||||
''"$out/Applications/kitty.app/Contents/Resources/terminfo"''
|
||||
else
|
||||
|
@ -139,6 +146,10 @@ buildPythonApplication rec {
|
|||
|
||||
mkdir -p $out/nix-support
|
||||
echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
|
||||
|
||||
cp -r 'shell-integration' "$shell_integration"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ lib
|
||||
, python3Packages
|
||||
, python3
|
||||
, fetchFromGitHub
|
||||
, enableGoogle ? false
|
||||
, enableAWS ? false
|
||||
|
@ -7,59 +7,88 @@
|
|||
, enableSSH ? false
|
||||
}:
|
||||
|
||||
with python3Packages;
|
||||
buildPythonApplication rec {
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "dvc";
|
||||
version = "0.24.3";
|
||||
version = "2.9.3";
|
||||
format = "setuptools";
|
||||
|
||||
# PyPi only has wheel
|
||||
src = fetchFromGitHub {
|
||||
owner = "iterative";
|
||||
repo = "dvc";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1wqq4i23hppilp20fx5a5nj93xwf3wwwr2f8aasvn6jkv2l22vpl";
|
||||
hash = "sha256-nRlgo7Wjs7RgTUxoMYQh5YEsqiJtdWH2ex79rhXagAQ=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
ply
|
||||
configparser
|
||||
zc_lockfile
|
||||
future
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
setuptools-scm
|
||||
setuptools-scm-git-archive
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
appdirs
|
||||
aiohttp-retry
|
||||
colorama
|
||||
configobj
|
||||
networkx
|
||||
pyyaml
|
||||
GitPython
|
||||
setuptools
|
||||
nanotime
|
||||
pyasn1
|
||||
schema
|
||||
jsonpath_rw
|
||||
requests
|
||||
grandalf
|
||||
asciimatics
|
||||
configobj
|
||||
dictdiffer
|
||||
diskcache
|
||||
distro
|
||||
appdirs
|
||||
]
|
||||
++ lib.optional enableGoogle google-cloud-storage
|
||||
++ lib.optional enableAWS boto3
|
||||
++ lib.optional enableAzure azure-storage-blob
|
||||
++ lib.optional enableSSH paramiko;
|
||||
|
||||
# tests require access to real cloud services
|
||||
# nix build tests have to be isolated and run locally
|
||||
doCheck = false;
|
||||
dpath
|
||||
flatten-dict
|
||||
flufl_lock
|
||||
funcy
|
||||
grandalf
|
||||
nanotime
|
||||
networkx
|
||||
pathspec
|
||||
ply
|
||||
psutil
|
||||
pydot
|
||||
pygtrie
|
||||
pyparsing
|
||||
python-benedict
|
||||
requests
|
||||
rich
|
||||
ruamel-yaml
|
||||
scmrepo
|
||||
shortuuid
|
||||
shtab
|
||||
tabulate
|
||||
toml
|
||||
tqdm
|
||||
typing-extensions
|
||||
voluptuous
|
||||
zc_lockfile
|
||||
] ++ lib.optional enableGoogle [
|
||||
google-cloud-storage
|
||||
] ++ lib.optional enableAWS [
|
||||
boto3
|
||||
] ++ lib.optional enableAzure [
|
||||
azure-storage-blob
|
||||
] ++ lib.optional enableSSH [
|
||||
paramiko
|
||||
] ++ lib.optionals (pythonOlder "3.8") [
|
||||
importlib-metadata
|
||||
] ++ lib.optionals (pythonOlder "3.9") [
|
||||
importlib-resources
|
||||
];
|
||||
|
||||
patches = [ ./dvc-daemon.patch ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace dvc/daemon.py --subst-var-by dvc "$out/bin/dcv"
|
||||
substituteInPlace setup.cfg \
|
||||
--replace "grandalf==0.6" "grandalf>=0.6"
|
||||
substituteInPlace dvc/daemon.py \
|
||||
--subst-var-by dvc "$out/bin/dcv"
|
||||
'';
|
||||
|
||||
# Tests require access to real cloud services
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Version Control System for Machine Learning Projects";
|
||||
license = licenses.asl20;
|
||||
homepage = "https://dvc.org";
|
||||
maintainers = with maintainers; [ cmcdragonkai ];
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ cmcdragonkai fab ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,21 +1,18 @@
|
|||
diff --git a/dvc/daemon.py b/dvc/daemon.py
|
||||
index 1d67a37..7ce6fde 100644
|
||||
index 9854a0e1..fefdd613 100644
|
||||
--- a/dvc/daemon.py
|
||||
+++ b/dvc/daemon.py
|
||||
@@ -67,14 +67,8 @@ def daemon(args):
|
||||
Args:
|
||||
args (list): list of arguments to append to `dvc daemon` command.
|
||||
"""
|
||||
- cmd = [sys.executable]
|
||||
- if not is_binary():
|
||||
- cmd += ['-m', 'dvc']
|
||||
- cmd += ['daemon', '-q'] + args
|
||||
@@ -103,11 +103,8 @@ def daemon(args):
|
||||
logger.debug("skipping launching a new daemon.")
|
||||
return
|
||||
|
||||
- cmd = ["daemon", "-q"] + args
|
||||
-
|
||||
- env = fix_env()
|
||||
- file_path = os.path.abspath(inspect.stack()[0][1])
|
||||
- env['PYTHONPATH'] = os.path.dirname(os.path.dirname(file_path))
|
||||
- env["PYTHONPATH"] = os.path.dirname(os.path.dirname(file_path))
|
||||
+ cmd = [ "@dvc@" , "daemon", "-q"] + args
|
||||
+ env = None
|
||||
env[DVC_DAEMON] = "1"
|
||||
|
||||
logger.debug("Trying to spawn '{}' with env '{}'".format(cmd, env))
|
||||
|
||||
_spawn(cmd, env)
|
||||
|
|
|
@ -1,17 +1,20 @@
|
|||
{ lib, fetchFromGitHub, python2Packages }:
|
||||
{ lib, fetchFromGitHub, python3 }:
|
||||
|
||||
python2Packages.buildPythonApplication rec {
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "git-crecord";
|
||||
version = "20161216.0";
|
||||
version = "20201025.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "andrewshadura";
|
||||
repo = "git-crecord";
|
||||
rev = version;
|
||||
sha256 = "0v3y90zi43myyi4k7q3892dcrbyi9dn2q6xgk12nw9db9zil269i";
|
||||
sha256 = "1rkdmy2d2vsx22fx97nd9afh0g5lq4pns7rdxyl711apq1bhiihn";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python2Packages; [ docutils ];
|
||||
propagatedBuildInputs = with python3.pkgs; [ docutils ];
|
||||
|
||||
# has no tests
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/andrewshadura/git-crecord";
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
{ lib, fetchFromGitHub, python2Packages }:
|
||||
|
||||
python2Packages.buildPythonApplication rec {
|
||||
pname = "gitinspector";
|
||||
version = "0.4.4";
|
||||
namePrefix = "";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ejwa";
|
||||
repo = "gitinspector";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-9bChvE5aAZFunu599pH7QKHZFd7aQzv0i9LURrvh2t0=";
|
||||
};
|
||||
|
||||
checkInputs = with python2Packages; [
|
||||
unittest2
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/ejwa/gitinspector";
|
||||
description = "Statistical analysis tool for git repositories";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.bjornfor ];
|
||||
};
|
||||
}
|
|
@ -6,10 +6,10 @@ buildPythonApplication rec {
|
|||
version = "0.8.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sdg-mit";
|
||||
owner = "gitless-vcs";
|
||||
repo = "gitless";
|
||||
rev = "v${version}";
|
||||
sha256 = "1q6y38f8ap6q1livvfy0pfnjr0l8b68hyhc9r5v87fmdyl7y7y8g";
|
||||
sha256 = "sha256-xo5EWtP2aN8YzP8ro3bnxZwUGUp0PHD0g8hk+Y+gExE=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [ sh pygit2 clint ];
|
||||
|
|
30
pkgs/applications/video/kodi/addons/arrow/default.nix
Normal file
30
pkgs/applications/video/kodi/addons/arrow/default.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
{ lib, buildKodiAddon, fetchzip, addonUpdateScript, dateutil, typing_extensions }:
|
||||
buildKodiAddon rec {
|
||||
pname = "arrow";
|
||||
namespace = "script.module.arrow";
|
||||
version = "1.0.3.1";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
||||
sha256 = "0xa16sb2hls59l4gsg1xwb1qbkhcvbykq02l05n5rcm0alg80l3l";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dateutil
|
||||
typing_extensions
|
||||
];
|
||||
|
||||
passthru = {
|
||||
pythonPath = "lib";
|
||||
updateScript = addonUpdateScript {
|
||||
attrPath = "kodi.packages.arrow";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/razzeee/script.module.arrow";
|
||||
description = "Better dates & times for Python";
|
||||
license = licenses.asl20;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
31
pkgs/applications/video/kodi/addons/trakt-module/default.nix
Normal file
31
pkgs/applications/video/kodi/addons/trakt-module/default.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
{ lib, buildKodiAddon, fetchzip, addonUpdateScript, requests, six, arrow }:
|
||||
buildKodiAddon rec {
|
||||
pname = "trakt-module";
|
||||
namespace = "script.module.trakt";
|
||||
version = "4.4.0+matrix.1";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
||||
sha256 = "19kjhrykx92sy67cajxjckzdwgq47ipwml0bx9vmdr9d191h14p8";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
requests
|
||||
six
|
||||
arrow
|
||||
];
|
||||
|
||||
passthru = {
|
||||
pythonPath = "lib";
|
||||
updateScript = addonUpdateScript {
|
||||
attrPath = "kodi.packages.trakt-module";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/Razzeee/script.module.trakt";
|
||||
description = "Python trakt.py library packed for Kodi";
|
||||
license = licenses.mit;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
30
pkgs/applications/video/kodi/addons/trakt/default.nix
Normal file
30
pkgs/applications/video/kodi/addons/trakt/default.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
{ lib, buildKodiAddon, fetchzip, addonUpdateScript, trakt-module, dateutil }:
|
||||
buildKodiAddon rec {
|
||||
pname = "trakt";
|
||||
namespace = "script.trakt";
|
||||
version = "3.5.0";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
||||
sha256 = "07fb0wjcr8ggidswrjs1r1hzi6grykiyi855bgm7pjzzk95kl99v";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dateutil
|
||||
trakt-module
|
||||
];
|
||||
|
||||
passthru = {
|
||||
pythonPath = "lib";
|
||||
updateScript = addonUpdateScript {
|
||||
attrPath = "kodi.packages.trakt";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://kodi.wiki/view/Add-on:Trakt";
|
||||
description = "Trakt.tv movie and TV show scrobbler for Kodi";
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
|
||||
buildKodiAddon rec {
|
||||
pname = "typing_extensions";
|
||||
namespace = "script.module.typing_extensions";
|
||||
version = "3.7.4.3";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
||||
sha256 = "0p28hchj05hmccs6b2836kh4vqdqnl169409f2845d0nw9y4wkqq";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
pythonPath = "lib";
|
||||
updateScript = addonUpdateScript {
|
||||
attrPath = "kodi.packages.typing_extensions";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/python/typing/tree/master/typing_extensions";
|
||||
description = "Python typing extensions";
|
||||
license = licenses.psfl;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
{ i3lock-color, lib, fetchFromGitHub }:
|
||||
{ i3lock-color, lib, stdenv, fetchFromGitHub }:
|
||||
|
||||
i3lock-color.overrideAttrs (oldAttrs : rec {
|
||||
pname = "i3lock-blur";
|
||||
|
@ -17,5 +17,6 @@ i3lock-color.overrideAttrs (oldAttrs : rec {
|
|||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ dan4ik605743 ];
|
||||
platforms = platforms.all;
|
||||
broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/i3lock-blur.x86_64-darwin
|
||||
};
|
||||
})
|
||||
|
|
|
@ -224,7 +224,7 @@ let
|
|||
"''${dotnetInstallFlags[@]}" \
|
||||
"''${dotnetFlags[@]}"
|
||||
done
|
||||
'' + (lib.optionalString packNupkg ''
|
||||
'' + lib.optionalString packNupkg ''
|
||||
for project in ''${projectFile[@]}; do
|
||||
dotnet pack "$project" \
|
||||
-p:ContinuousIntegrationBuild=true \
|
||||
|
@ -235,16 +235,24 @@ let
|
|||
"''${dotnetPackFlags[@]}" \
|
||||
"''${dotnetFlags[@]}"
|
||||
done
|
||||
'') + (if executables != null then ''
|
||||
for executable in $executables; do
|
||||
'' + ''
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
_wrapDotnetProgram() {
|
||||
makeWrapper "$1" "$out/bin/$(basename "$executable")" \
|
||||
--set DOTNET_ROOT "${dotnet-runtime}" \
|
||||
--suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}" \
|
||||
"''${gappsWrapperArgs[@]}" \
|
||||
"''${makeWrapperArgs[@]}"
|
||||
}
|
||||
'' + (if executables != null then ''
|
||||
for executable in ''${executables[@]}; do
|
||||
execPath="$out/lib/${args.pname}/$executable"
|
||||
|
||||
if [[ -f "$execPath" && -x "$execPath" ]]; then
|
||||
makeWrapper "$execPath" "$out/bin/$(basename "$executable")" \
|
||||
--set DOTNET_ROOT "${dotnet-runtime}" \
|
||||
--suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}" \
|
||||
"''${gappsWrapperArgs[@]}" \
|
||||
"''${makeWrapperArgs[@]}"
|
||||
_wrapDotnetProgram $execPath
|
||||
else
|
||||
echo "Specified binary \"$executable\" is either not an executable, or does not exist!"
|
||||
exit 1
|
||||
|
@ -253,16 +261,10 @@ let
|
|||
'' else ''
|
||||
for executable in $out/lib/${args.pname}/*; do
|
||||
if [[ -f "$executable" && -x "$executable" && "$executable" != *"dll"* ]]; then
|
||||
makeWrapper "$executable" "$out/bin/$(basename "$executable")" \
|
||||
--set DOTNET_ROOT "${dotnet-runtime}" \
|
||||
--suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}" \
|
||||
"''${gappsWrapperArgs[@]}" \
|
||||
"''${makeWrapperArgs[@]}"
|
||||
_wrapDotnetProgram $executable
|
||||
fi
|
||||
done
|
||||
'') + ''
|
||||
runHook postInstall
|
||||
'';
|
||||
'');
|
||||
});
|
||||
in
|
||||
package
|
||||
|
|
|
@ -21,9 +21,9 @@
|
|||
# : lines
|
||||
, postInstall
|
||||
# : list Maintainer
|
||||
, maintainers ? []
|
||||
, maintainers ? [ ]
|
||||
# : passtrhu arguments (e.g. tests)
|
||||
, passthru ? {}
|
||||
, passthru ? { }
|
||||
|
||||
}:
|
||||
|
||||
|
@ -54,7 +54,8 @@ let
|
|||
"CONTRIBUTING"
|
||||
];
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
inherit pname version;
|
||||
|
||||
src = fetchurl {
|
||||
|
@ -73,8 +74,8 @@ in stdenv.mkDerivation {
|
|||
# This might not hold for e.g. BSD.
|
||||
"--with-sysdep-devurandom=yes"
|
||||
(if stdenv.isDarwin
|
||||
then "--disable-shared"
|
||||
else "--enable-shared")
|
||||
then "--disable-shared"
|
||||
else "--enable-shared")
|
||||
]
|
||||
# On darwin, the target triplet from -dumpmachine includes version number,
|
||||
# but skarnet.org software uses the triplet to test binary compatibility.
|
||||
|
@ -82,10 +83,12 @@ in stdenv.mkDerivation {
|
|||
# binary built on a different version of darwin.
|
||||
# http://www.skarnet.org/cgi-bin/archive.cgi?1:mss:623:heiodchokfjdkonfhdph
|
||||
++ (lib.optional stdenv.isDarwin
|
||||
"--build=${stdenv.hostPlatform.system}");
|
||||
"--build=${stdenv.hostPlatform.system}");
|
||||
|
||||
inherit postConfigure;
|
||||
|
||||
makeFlags = lib.optional stdenv.cc.isClang [ "AR=${stdenv.cc.targetPrefix}ar" "RANLIB=${stdenv.cc.targetPrefix}ranlib" ];
|
||||
|
||||
# TODO(Profpatsch): ensure that there is always a $doc output!
|
||||
postInstall = ''
|
||||
echo "Cleaning & moving common files"
|
||||
|
|
65
pkgs/data/icons/tela-circle-icon-theme/default.nix
Normal file
65
pkgs/data/icons/tela-circle-icon-theme/default.nix
Normal file
|
@ -0,0 +1,65 @@
|
|||
{ lib
|
||||
, stdenvNoCC
|
||||
, fetchFromGitHub
|
||||
, gtk3
|
||||
, hicolor-icon-theme
|
||||
, jdupes
|
||||
, allColorVariants ? false
|
||||
, circularFolder ? false
|
||||
, colorVariants ? [] # default is standard
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "tela-circle-icon-theme";
|
||||
in
|
||||
lib.checkListOfEnum "${pname}: color variants" [ "standard" "black" "blue" "brown" "green" "grey" "orange" "pink" "purple" "red" "yellow" "manjaro" "ubuntu" ] colorVariants
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
inherit pname;
|
||||
version = "unstable-2021-12-24";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vinceliuice";
|
||||
repo = pname;
|
||||
rev = "aa1f1446b6dbc6acfe3ee247e6841369c68e1495";
|
||||
sha256 = "03f79h6kv5vbf92fhpi1wivzvcrfvvdvkhbmy805x4b4wl7qynki";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
gtk3
|
||||
jdupes
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
hicolor-icon-theme
|
||||
];
|
||||
|
||||
dontDropIconThemeCache = true;
|
||||
|
||||
# These fixup steps are slow and unnecessary for this package.
|
||||
# Package may installs almost 400 000 small files.
|
||||
dontPatchELF = true;
|
||||
dontRewriteSymlinks = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
patchShebangs install.sh
|
||||
|
||||
./install.sh -d $out/share/icons \
|
||||
${lib.optionalString circularFolder "-c"} \
|
||||
${if allColorVariants then "-a" else builtins.toString colorVariants}
|
||||
|
||||
jdupes -L -r $out/share/icons
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Flat and colorful personality icon theme";
|
||||
homepage = "https://github.com/vinceliuice/Tela-circle-icon-theme";
|
||||
license = licenses.gpl3Only;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ romildo ];
|
||||
};
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{ lib, stdenv, fetchFromGitHub, python2Packages }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cdetheme";
|
||||
version = "1.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "josvanr";
|
||||
repo = "cde-motif-theme";
|
||||
rev = version;
|
||||
sha256 = "1v5c4db69cmzdci8xxlkx3s3cifg1h5160qq5siwfps0sj7pvggj";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
pythonPath = with python2Packages; [ pyqt4 pillow pyxdg pyyaml ];
|
||||
nativeBuildInputs = with python2Packages; [ python wrapPython ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/themes
|
||||
cp -r cdetheme $out/share/themes
|
||||
patchShebangs $out/share/themes/cdetheme/scripts/switchtheme
|
||||
wrapPythonProgramsIn "$out/share/themes/cdetheme/scripts" "$out $pythonPath"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Gtk2 / Gtk3 theme mimicking CDE / Motif";
|
||||
homepage = "https://www.gnome-look.org/p/1231025";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ ];
|
||||
hydraPlatforms = [];
|
||||
};
|
||||
}
|
|
@ -15,28 +15,21 @@
|
|||
let
|
||||
pname = "graphite-gtk-theme";
|
||||
|
||||
throwIfNotSubList = name: given: valid:
|
||||
let
|
||||
unexpected = lib.subtractLists valid given;
|
||||
in
|
||||
lib.throwIfNot (unexpected == [])
|
||||
"${name}: ${builtins.concatStringsSep ", " (builtins.map builtins.toString unexpected)} unexpected; valid ones: ${builtins.concatStringsSep ", " (builtins.map builtins.toString valid)}";
|
||||
|
||||
in
|
||||
throwIfNotSubList "${pname}: theme variants" themeVariants [ "default" "purple" "pink" "red" "orange" "yellow" "green" "teal" "blue" "all" ]
|
||||
throwIfNotSubList "${pname}: color variants" colorVariants [ "standard" "light" "dark" ]
|
||||
throwIfNotSubList "${pname}: size variants" sizeVariants [ "standard" "compact" ]
|
||||
throwIfNotSubList "${pname}: tweaks" tweaks [ "nord" "black" "midblack" "rimless" "normal" ]
|
||||
lib.checkListOfEnum "${pname}: theme variants" [ "default" "purple" "pink" "red" "orange" "yellow" "green" "teal" "blue" "all" ] themeVariants
|
||||
lib.checkListOfEnum "${pname}: color variants" [ "standard" "light" "dark" ] colorVariants
|
||||
lib.checkListOfEnum "${pname}: size variants" [ "standard" "compact" ] sizeVariants
|
||||
lib.checkListOfEnum "${pname}: tweaks" [ "nord" "black" "midblack" "rimless" "normal" ] tweaks
|
||||
|
||||
stdenvNoCC.mkDerivation {
|
||||
inherit pname;
|
||||
version = "unstable-2022-01-04";
|
||||
version = "unstable-2022-01-07";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vinceliuice";
|
||||
repo = pname;
|
||||
rev = "947cac4966377d8f5b5a4e2966ec2b9a6041d205";
|
||||
sha256 = "11pl8hzk4fwniqdib0ffvjilpspr1n5pg1gw39kal13wxh4sdg28";
|
||||
rev = "78e5421fee63b4c2a2a3d2e321538367b01a24ec";
|
||||
sha256 = "1vfvv1gfbr9yr9mz0kb7c7ij6pxcryni1fjs87gn4hpyzns431wk";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
42
pkgs/data/themes/lightly-qt/default.nix
Normal file
42
pkgs/data/themes/lightly-qt/default.nix
Normal file
|
@ -0,0 +1,42 @@
|
|||
{ mkDerivation
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, extra-cmake-modules
|
||||
, kdecoration
|
||||
, plasma-workspace
|
||||
, qtbase
|
||||
, qt5
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "lightly-qt";
|
||||
version = "0.4.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Luwx";
|
||||
repo = "Lightly";
|
||||
rev = "v${version}";
|
||||
sha256 = "0qkjzgjplgwczhk6959iah4ilvazpprv7yb809jy75kkp1jw8mwk";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
kdecoration
|
||||
plasma-workspace
|
||||
qtbase
|
||||
qt5.qtx11extras
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
extra-cmake-modules
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A fork of breeze theme style that aims to be visually modern and minimalistic";
|
||||
homepage = "https://github.com/Luwx/Lightly";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = [ maintainers.pwoelfel ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
|
@ -10,24 +10,42 @@
|
|||
, optipng
|
||||
, sassc
|
||||
, which
|
||||
, buttonSizeVariants ? [] # default to standard
|
||||
, buttonVariants ? [] # default to all
|
||||
, colorVariants ? [] # default to all
|
||||
, opacityVariants ? [] # default to all
|
||||
, themeVariants ? [] # default to MacOS blue
|
||||
, wallpapers ? false
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
let
|
||||
pname = "mojave-gtk-theme";
|
||||
version = "2021-07-20";
|
||||
in
|
||||
lib.checkListOfEnum "${pname}: button size variants" [ "standard" "small" ] buttonSizeVariants
|
||||
lib.checkListOfEnum "${pname}: button variants" [ "standard" "alt" ] buttonVariants
|
||||
lib.checkListOfEnum "${pname}: color variants" [ "light" "dark" ] colorVariants
|
||||
lib.checkListOfEnum "${pname}: opacity variants" [ "standard" "solid" ] opacityVariants
|
||||
lib.checkListOfEnum "${pname}: theme variants" [ "default" "blue" "purple" "pink" "red" "orange" "yellow" "green" "grey" "all" ] themeVariants
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
inherit pname;
|
||||
version = "unstable-2021-12-20";
|
||||
|
||||
srcs = [
|
||||
(fetchFromGitHub {
|
||||
owner = "vinceliuice";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "08j70kmjhvh06c3ahcracarrfq4vpy0zsp6zkcivbw4nf3bzp2zc";
|
||||
rev = "c148646ccab382f7a2d5fdc421fc32d843cb4172";
|
||||
sha256 = "sha256-h4MSSh8cu9M81bM+WJSyl1SQ7CVth1DvjIVOUJXqpxs";
|
||||
})
|
||||
]
|
||||
++
|
||||
lib.optional wallpapers
|
||||
(fetchurl {
|
||||
url = "https://github.com/vinceliuice/Mojave-gtk-theme/raw/11741a99d96953daf9c27e44c94ae50a7247c0ed/macOS_Mojave_Wallpapers.tar.xz";
|
||||
sha256 = "18zzkwm1kqzsdaj8swf0xby1n65gxnyslpw4lnxcx1rphip0rwf7";
|
||||
})
|
||||
];
|
||||
;
|
||||
|
||||
sourceRoot = "source";
|
||||
|
||||
|
@ -76,9 +94,23 @@ stdenv.mkDerivation rec {
|
|||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
name= ./install.sh --theme all --dest $out/share/themes
|
||||
install -D -t $out/share/wallpapers ../"macOS Mojave Wallpapers"/*
|
||||
jdupes -l -r $out/share
|
||||
|
||||
name= ./install.sh \
|
||||
${lib.optionalString (buttonSizeVariants != []) "--small " + builtins.toString buttonSizeVariants} \
|
||||
${lib.optionalString (buttonVariants != []) "--alt " + builtins.toString buttonVariants} \
|
||||
${lib.optionalString (colorVariants != []) "--color " + builtins.toString colorVariants} \
|
||||
${lib.optionalString (opacityVariants != []) "--opacity " + builtins.toString opacityVariants} \
|
||||
${lib.optionalString (themeVariants != []) "--theme " + builtins.toString themeVariants} \
|
||||
--dest $out/share/themes
|
||||
|
||||
${lib.optionalString wallpapers ''
|
||||
install -D -t $out/share/wallpapers ../"macOS Mojave Wallpapers"/*
|
||||
''}
|
||||
|
||||
# Replace duplicate files with hardlinks to the first file in each
|
||||
# set of duplicates, reducing the installed size in about 53%
|
||||
jdupes -L -r $out/share
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
|
|
|
@ -1,77 +1,84 @@
|
|||
{ lib, stdenv, fetchFromGitHub, gtk-engine-murrine }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, gtk-engine-murrine
|
||||
, jdupes
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nordic";
|
||||
version = "2.1.0";
|
||||
version = "unstable-2022-01-08";
|
||||
|
||||
srcs = [
|
||||
(fetchFromGitHub {
|
||||
owner = "EliverLara";
|
||||
repo = pname;
|
||||
rev = "0112af91943b8819f7a1af9a508cda7fe3d74051";
|
||||
sha256 = "sha256-ccOA5/jXTx20495NpTgVu7DvsjfTEULqL3IyJ+Pd/ug";
|
||||
rev = "85086324c2a8fa7ca538b85ad0681e03733b2c86";
|
||||
sha256 = "sha256-p1nr71iJZm+2123WF67NkunBX2dR4ruK2Afqd7XdeGc=";
|
||||
name = "Nordic";
|
||||
})
|
||||
|
||||
(fetchFromGitHub {
|
||||
owner = "EliverLara";
|
||||
repo = pname;
|
||||
rev = "b30d2c844cc6ef5d020308f1c02791de45b607a7";
|
||||
sha256 = "sha256-g5yCCFXzipZLmUat+1r6QWHB7DWQvMKhMexHPV/DJHM";
|
||||
rev = "46c9e6665963ccb54938d7730e520bd8c52f4307";
|
||||
sha256 = "sha256-uFnNLshyKOvzaij7tEKb0fw0j3/GGfzznAf/aaKx7XI=";
|
||||
name = "Nordic-standard-buttons";
|
||||
})
|
||||
|
||||
(fetchFromGitHub {
|
||||
owner = "EliverLara";
|
||||
repo = pname;
|
||||
rev = "6d38d6af363528f42619f663e3ecd4c08dfd2411";
|
||||
sha256 = "sha256-jaRiSE6yfTltzZ2vr8w4d+YtSz7REOcL7vOOhQvIMlQ";
|
||||
rev = "da5c930386427fce65ea185f164709c8a20e362f";
|
||||
sha256 = "sha256-Ee9ymuMWs2ZgU+8FVLaviGtHMT4Sz5NWLaEGln2Z4V0=";
|
||||
name = "Nordic-darker";
|
||||
})
|
||||
|
||||
(fetchFromGitHub {
|
||||
owner = "EliverLara";
|
||||
repo = pname;
|
||||
rev = "4142817c14c27b371d42796445bedc84dc94672c";
|
||||
sha256 = "sha256-FAb1+EREcwYrfSxAl6LrPaJtkHMt67NV3bG87g1cFT4";
|
||||
rev = "fd85fb2712ac1192e35c92149b75bfc3c440b1c7";
|
||||
sha256 = "sha256-6WUQBeNq7EKNkYcCt/fUYloue90gxfp8bDYawkQQ6ss=";
|
||||
name = "Nordic-darker-standard-buttons";
|
||||
})
|
||||
|
||||
(fetchFromGitHub {
|
||||
owner = "EliverLara";
|
||||
repo = pname;
|
||||
rev = "2a91d6f3db70412b0a80ed33546fbe93075627d8";
|
||||
sha256 = "sha256-Su+amS7moc2IDONNvqw3bjL6Q0WLJWzHu6WvfcVDcDY";
|
||||
rev = "259e30ce13566214c7594b038dd2c240648a07a0";
|
||||
sha256 = "sha256-F6hC6XbT9yJl6SW9qJNlwmmBcvOrOS5yPCQALZFhgbM=";
|
||||
name = "Nordic-bluish-accent";
|
||||
})
|
||||
|
||||
(fetchFromGitHub {
|
||||
owner = "EliverLara";
|
||||
repo = pname;
|
||||
rev = "3ebd334f97d638fdc888b16d69851e3ee31131f2";
|
||||
sha256 = "sha256-h0IXtWcdDvAEVi/1cLZF4Vacdl6VAY+5uo0LGPNe0bg";
|
||||
rev = "2a27051d87558dfa595fb94eff34241d3a1b8c30";
|
||||
sha256 = "sha256-JIld6GVtr1tz02Do2Ft92qtza6iGrPapasd6jmMFG6k=";
|
||||
name = "Nordic-bluish-accent-standard-buttons";
|
||||
})
|
||||
|
||||
(fetchFromGitHub {
|
||||
owner = "EliverLara";
|
||||
repo = "${pname}-polar";
|
||||
rev = "803926882f8178c72b433466a377aaa33c5b372a";
|
||||
sha256 = "sha256-G7Vu03PoFOEU9uxb5JiHR4Tr8qk47fPo7Gg7Vt9Zzns";
|
||||
rev = "0bea76aed39bb2a2669278b8403c4129aa47be0f";
|
||||
sha256 = "sha256-OXmz6uHXh1zl93sgv5WEwARkEUCr4PRh0/mJyMLXpnk=";
|
||||
name = "Nordic-Polar";
|
||||
})
|
||||
|
||||
(fetchFromGitHub {
|
||||
owner = "EliverLara";
|
||||
repo = "${pname}-polar";
|
||||
rev = "988cb8a16ece3901b8b0e7a5b86503400491cb1e";
|
||||
sha256 = "sha256-Zx1mrzJm5o4wQwOR8ZU2OEcjD3/6UXwLrBYpMtCkQbg";
|
||||
rev = "8fe52b6c276a7e548e87a558db6734cf9f003b06";
|
||||
sha256 = "sha256-/IxlBvMLAK+mGRyaa7bTv/oZS24nSNeE5GsyJIeN6UU=";
|
||||
name = "Nordic-Polar-standard-buttons";
|
||||
})
|
||||
];
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
nativeBuildInputs = [ jdupes ];
|
||||
|
||||
propagatedUserEnvPkgs = [ gtk-engine-murrine ];
|
||||
|
||||
installPhase = ''
|
||||
|
@ -101,6 +108,10 @@ stdenv.mkDerivation rec {
|
|||
mv -v $out/share/themes/Nordic/kde/sddm/* $out/share/sddm/themes/Nordic/
|
||||
rm -rf $out/share/themes/Nordic/kde
|
||||
|
||||
# Replace duplicate files with hardlinks to the first file in each
|
||||
# set of duplicates, reducing the installed size in about 65%
|
||||
jdupes -L -r $out/share
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
|
|
|
@ -22,11 +22,11 @@
|
|||
}:
|
||||
|
||||
let
|
||||
version = "11.50.19";
|
||||
openjdk = "11.0.12";
|
||||
version = "11.52.13";
|
||||
openjdk = "11.0.13";
|
||||
|
||||
sha256_linux = "b8e8a63b79bc312aa90f3558edbea59e71495ef1a9c340e38900dd28a1c579f3";
|
||||
sha256_darwin = "9bc6874932f7f88d0a48220d3200449ddf7dc5c0e82af2df2738bc13d21b0e4e";
|
||||
sha256_linux = "77a126669b26b3a89e0117b0f28cddfcd24fcd7699b2c1d35f921487148b9a9f";
|
||||
sha256_darwin = "a96f9f859350f977319ebb5c2a999c182ab6b99b24c60e19d97c54367868a63e";
|
||||
|
||||
platform = if stdenv.isDarwin then "macosx" else "linux";
|
||||
hash = if stdenv.isDarwin then sha256_darwin else sha256_linux;
|
||||
|
|
|
@ -1,46 +0,0 @@
|
|||
{ lib, fetchurl, python2Packages, picocom
|
||||
, avrdude, arduino-core }:
|
||||
|
||||
python2Packages.buildPythonApplication rec {
|
||||
pname = "ino";
|
||||
version = "0.3.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://pypi/i/ino/ino-${version}.tar.gz";
|
||||
sha256 = "0k6lzfcn55favbj0w4afrvnmwyskf7bgzg9javv2ycvskp35srwv";
|
||||
};
|
||||
|
||||
# TODO: add avrgcclibc, it must be rebuild with C++ support
|
||||
propagatedBuildInputs = with python2Packages; [
|
||||
arduino-core
|
||||
avrdude
|
||||
picocom
|
||||
configobj
|
||||
jinja2
|
||||
pyserial
|
||||
six
|
||||
];
|
||||
|
||||
patchPhase = ''
|
||||
echo "Patching Arduino distribution path"
|
||||
sed -i 's@/usr/local/share/arduino@${arduino-core}/share/arduino@g' \
|
||||
ino/environment.py
|
||||
sed -i -e 's@argparse@@' -e 's@ordereddict@@' \
|
||||
requirements.txt
|
||||
sed -i -e 's@from ordereddict@from collections@' \
|
||||
ino/environment.py ino/utils.py
|
||||
|
||||
# Patch the upload command so it uses the correct avrdude
|
||||
substituteInPlace ino/commands/upload.py \
|
||||
--replace "self.e['avrdude']" "'${avrdude}/bin/avrdude'" \
|
||||
--replace "'-C', self.e['avrdude.conf']," ""
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Command line toolkit for working with Arduino hardware";
|
||||
homepage = "http://inotool.org/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ antono ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
|
@ -52,6 +52,7 @@ mkDerivation {
|
|||
pname = "gr-grnet";
|
||||
version = version.name;
|
||||
inherit src;
|
||||
disabledForGRafter = "3.10";
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
|
|
|
@ -20,7 +20,6 @@ let
|
|||
version = {
|
||||
"3.7" = "2.0.0";
|
||||
"3.8" = "3.0.1";
|
||||
"3.9" = null;
|
||||
}.${gnuradio.versionAttr.major};
|
||||
src = fetchFromGitHub {
|
||||
owner = "myriadrf";
|
||||
|
@ -29,7 +28,6 @@ let
|
|||
sha256 = {
|
||||
"3.7" = "0ldqvfwl0gil89l9s31fjf9d7ki0dk572i8vna336igfaz348ypq";
|
||||
"3.8" = "ffs+8TU0yr6IW1xZJ/abQ1CQWGZM+zYqPRJxy3ZvM9U=";
|
||||
"3.9" = null;
|
||||
}.${gnuradio.versionAttr.major};
|
||||
};
|
||||
in mkDerivation {
|
||||
|
|
|
@ -24,16 +24,14 @@
|
|||
let
|
||||
version = {
|
||||
"3.7" = "0.1.5";
|
||||
"3.8" = "0.2.2";
|
||||
"3.9" = null;
|
||||
"3.8" = "0.2.3";
|
||||
}.${gnuradio.versionAttr.major};
|
||||
src = fetchgit {
|
||||
url = "git://git.osmocom.org/gr-osmosdr";
|
||||
rev = "v${version}";
|
||||
sha256 = {
|
||||
"3.7" = "0bf9bnc1c3c4yqqqgmg3nhygj6rcfmyk6pybi27f7461d2cw1drv";
|
||||
"3.8" = "HT6xlN6cJAnvF+s1g2I1uENhBJJizdADlLXeSD0rEqs=";
|
||||
"3.9" = null;
|
||||
"3.8" = "sha256-ZfI8MshhZOdJ1U5FlnZKXsg2Rsvb6oKg943ZVYd/IWo=";
|
||||
}.${gnuradio.versionAttr.major};
|
||||
};
|
||||
in mkDerivation {
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "lunatic";
|
||||
version = "0.7.0";
|
||||
version = "0.7.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lunatic-solutions";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-+4014p+4QJ7nytFHHszAOYQHXLYXqR+Cip+vHxsH9l8=";
|
||||
sha256 = "sha256-RX8JarGpY6dhPGpvOX1FuUjirEPff0wGqLkGFxOa+bc=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-RnaAiumTP4cW2eHUbnwyPdgJQLK65gqDI/NP2SOrO4E=";
|
||||
cargoSha256 = "sha256-UvrDqxaZSgUJ/a6abigTuiUOfw+C7UolBApt5kVR+yo=";
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
{ lib, fetchurl, python2Packages }:
|
||||
|
||||
python2Packages.buildPythonPackage rec {
|
||||
pname = "pyrex";
|
||||
version = "0.9.5.1.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/oldtar/Pyrex-${version}.tar.gz";
|
||||
sha256 = "0lxxvn4mjfb83swcbqb5908q4iy53w4ip5i0f9angm2va1jyhd3z";
|
||||
};
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
homepage = "http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/";
|
||||
description = "A language for writing Python extension modules";
|
||||
license = lib.licenses.asl20;
|
||||
};
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
{ lib, fetchurl, python2Packages }:
|
||||
|
||||
python2Packages.buildPythonPackage rec {
|
||||
pname = "pyrex";
|
||||
version = "0.9.6.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/oldtar/Pyrex-${version}.tar.gz";
|
||||
sha256 = "18pd9f8al3l6i27cc0ddhgg7hxf28lnfs75x4a8jzscydxgiq5a8";
|
||||
};
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
homepage = "http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/";
|
||||
description = "A language for writing Python extension modules";
|
||||
license = lib.licenses.asl20;
|
||||
};
|
||||
}
|
|
@ -1,62 +0,0 @@
|
|||
{ lib, stdenv, fetchurl, python2Packages, pkg-config, SDL2
|
||||
, libpng, ffmpeg, freetype, glew, libGL, libGLU, fribidi, zlib
|
||||
, glib
|
||||
}:
|
||||
|
||||
with python2Packages;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "renpy";
|
||||
version = "7.3.5";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Ren'Py Visual Novel Engine";
|
||||
homepage = "https://renpy.org/";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.renpy.org/dl/${version}/renpy-${version}-source.tar.bz2";
|
||||
sha256 = "1anr5cfbvbsbik4v4rvrkdkciwhg700k4lydfbs4n85raimz9mw4";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./launcherenv.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace launcher/game/choose_directory.rpy --replace /usr/bin/python ${python.interpreter}
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [
|
||||
python cython wrapPython tkinter
|
||||
SDL2 libpng ffmpeg freetype glew libGLU libGL fribidi zlib pygame_sdl2 glib
|
||||
];
|
||||
|
||||
pythonPath = [ pygame_sdl2 tkinter ];
|
||||
|
||||
RENPY_DEPS_INSTALL = lib.concatStringsSep "::" (map (path: path) [
|
||||
SDL2 SDL2.dev libpng ffmpeg ffmpeg.out freetype glew.dev glew.out libGLU libGL fribidi zlib
|
||||
]);
|
||||
|
||||
buildPhase = ''
|
||||
python module/setup.py build
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/renpy
|
||||
cp -vr * $out/share/renpy
|
||||
rm -rf $out/share/renpy/module
|
||||
|
||||
python module/setup.py install --prefix=$out --install-lib=$out/share/renpy/module
|
||||
|
||||
makeWrapper ${python}/bin/python $out/bin/renpy \
|
||||
--set PYTHONPATH $PYTHONPATH \
|
||||
--set RENPY_BASE $out/share/renpy \
|
||||
--add-flags "-O $out/share/renpy/renpy.py"
|
||||
'';
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-I${pygame_sdl2}/include/${python.libPrefix}";
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
# The launcher game starts projects in a separate python process
|
||||
# with the -E flag, which prevents the nix set PYTHONPATH envvar
|
||||
# from taking effect, preventing the loading of pygame_sdl2
|
||||
--- a/launcher/game/project.rpy
|
||||
+++ b/launcher/game/project.rpy
|
||||
@@ -239,7 +239,7 @@
|
||||
raise Exception("Python interpreter not found: %r", executables)
|
||||
|
||||
# Put together the basic command line.
|
||||
- cmd = [ executable, "-EO", sys.argv[0] ]
|
||||
+ cmd = [ executable, "-O", sys.argv[0] ]
|
||||
|
||||
cmd.append(self.path)
|
||||
cmd.extend(args)
|
24
pkgs/development/interpreters/yex-lang/default.nix
Normal file
24
pkgs/development/interpreters/yex-lang/default.nix
Normal file
|
@ -0,0 +1,24 @@
|
|||
{ lib, stdenv, rustPlatform, fetchFromGitHub }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "yex-lang";
|
||||
version = "unstable-2021-12-25";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nonamescm";
|
||||
repo = "yex-lang";
|
||||
rev = "a97def1431b73b8693700f530ec023f1776eaf83";
|
||||
hash = "sha256-CEzJtlEVMvMnRyUKdko1UDTluv8Fc88tfOpKGIFMnRw=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-mHMenqcdt9Yjm/6H1Ywf637Sv8ddq6a4Eu2/A/jX9gQ=";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/nonamesc/yex-lang";
|
||||
description = "A cool functional scripting language written in rust";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ AndersonTorres ];
|
||||
platforms = platforms.unix;
|
||||
broken = stdenv.isAarch64 && stdenv.isLinux;
|
||||
};
|
||||
}
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "zita-alsa-pcmi";
|
||||
version = "0.3.2";
|
||||
version = "0.4.0";
|
||||
src = fetchurl {
|
||||
url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
|
||||
sha256 = "12d7vdg74yh21w69qi0wg57iz4876j94qbiq09bvscih6xz9y78s";
|
||||
sha256 = "sha256-vYyfNg37VB+2DkinE7rx4i1BssdMGaD+ny005y9Q8cU=";
|
||||
};
|
||||
|
||||
buildInputs = [ alsa-lib ];
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ lib, stdenv, fetchurl, libjpeg, libtiff, zlib
|
||||
, postgresql, libmysqlclient, libgeotiff, python2Packages, proj, geos, openssl
|
||||
, postgresql, libmysqlclient, libgeotiff, python3Packages, proj, geos, openssl
|
||||
, libpng, sqlite, libspatialite, poppler, hdf4, qhull, giflib, expat
|
||||
, libiconv, libxml2
|
||||
, netcdfSupport ? true, netcdf, hdf5, curl
|
||||
|
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [ libjpeg libtiff libgeotiff libpng proj openssl sqlite
|
||||
libspatialite poppler hdf4 qhull giflib expat libxml2 proj ]
|
||||
++ (with python2Packages; [ python numpy wrapPython ])
|
||||
++ (with python3Packages; [ python numpy wrapPython ])
|
||||
++ lib.optional stdenv.isDarwin libiconv
|
||||
++ lib.optionals netcdfSupport [ netcdf hdf5 curl ];
|
||||
|
||||
|
|
29
pkgs/development/libraries/nsync/default.nix
Normal file
29
pkgs/development/libraries/nsync/default.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nsync";
|
||||
version = "1.24.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-jQJtlBDR6efBe1tFOUOZ6awaMTT33qM/GbvbwiWTZxw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
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;
|
||||
};
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake
|
||||
, libuuid, json_c
|
||||
, doxygen, perl, python2, python2Packages
|
||||
, doxygen, perl, python3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -23,10 +23,11 @@ stdenv.mkDerivation rec {
|
|||
NIX_CFLAGS_COMPILE = [
|
||||
"-Wno-error=format-truncation"
|
||||
"-Wno-error=address-of-packed-member"
|
||||
"-Wno-array-bounds"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake doxygen perl python2Packages.sphinx ];
|
||||
buildInputs = [ libuuid json_c python2 ];
|
||||
nativeBuildInputs = [ cmake doxygen perl python3.pkgs.sphinx ];
|
||||
buildInputs = [ libuuid json_c python3 ];
|
||||
|
||||
# Set the Epoch to 1980; otherwise the Python wheel/zip code
|
||||
# gets very angry
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
, elogind
|
||||
# needed until gobject-introspection does cross-compile (https://github.com/NixOS/nixpkgs/pull/88222)
|
||||
, withIntrospection ? (stdenv.buildPlatform == stdenv.hostPlatform)
|
||||
# cross build fails on polkit-1-scan (https://github.com/NixOS/nixpkgs/pull/152704)
|
||||
, withGtkDoc ? (stdenv.buildPlatform == stdenv.hostPlatform)
|
||||
# A few tests currently fail on musl (polkitunixusertest, polkitunixgrouptest, polkitidentitytest segfault).
|
||||
# Not yet investigated; it may be due to the "Make netgroup support optional"
|
||||
# patch not updating the tests correctly yet, or doing something wrong,
|
||||
|
@ -119,7 +121,7 @@ stdenv.mkDerivation rec {
|
|||
"-Dos_type=redhat" # only affects PAM includes
|
||||
"-Dintrospection=${lib.boolToString withIntrospection}"
|
||||
"-Dtests=${lib.boolToString doCheck}"
|
||||
"-Dgtk_doc=${lib.boolToString true}"
|
||||
"-Dgtk_doc=${lib.boolToString withGtkDoc}"
|
||||
"-Dman=true"
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
"-Dsession_tracking=${if useSystemd then "libsystemd-login" else "libelogind"}"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchFromGitHub, python2Packages, hexio
|
||||
{ lib, stdenv, fetchFromGitHub, python3Packages, hexio
|
||||
, cmake, bash, arpa2cm, git, asn2quickder }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = with python2Packages; [
|
||||
buildInputs = with python3Packages; [
|
||||
arpa2cm
|
||||
asn1ate
|
||||
hexio
|
||||
|
|
|
@ -30,6 +30,15 @@
|
|||
let
|
||||
version = "2019.1.0";
|
||||
|
||||
# TODO: test with newer pytest
|
||||
pytest = pythonPackages.callPackage
|
||||
../../../../python2-modules/pytest {
|
||||
# hypothesis tests require pytest that causes dependency cycle
|
||||
hypothesis = pythonPackages.hypothesis.override {
|
||||
doCheck = false;
|
||||
};
|
||||
};
|
||||
|
||||
dijitso = pythonPackages.buildPythonPackage {
|
||||
pname = "dijitso";
|
||||
inherit version;
|
||||
|
|
|
@ -1,199 +0,0 @@
|
|||
{ stdenv, lib, fetchgit, fetchFromGitHub, gyp, readline, python, which, icu
|
||||
, patchelf, coreutils, xcbuild
|
||||
, doCheck ? false
|
||||
, static ? false
|
||||
}:
|
||||
|
||||
assert readline != null;
|
||||
|
||||
let
|
||||
arch = if stdenv.isx86_64 then "x64"
|
||||
else if stdenv.isi686 then "ia32"
|
||||
else if stdenv.isAarch64 then "arm64"
|
||||
else if stdenv.isAarch32 then "arm"
|
||||
else throw "Unknown architecture for v8";
|
||||
git_url = "https://chromium.googlesource.com";
|
||||
clangFlag = if stdenv.isDarwin then "1" else "0";
|
||||
sharedFlag = if static then "static_library" else "shared_library";
|
||||
|
||||
deps = {
|
||||
build = fetchgit {
|
||||
url = "${git_url}/chromium/src/build.git";
|
||||
rev = "2c67d4d74b6b3673228fab191918500a582ef3b0";
|
||||
sha256 = "0jc7hci5yh792pw0ahjfxrk5xzllnlrv9llmwlgcgn2x8x6bn34q";
|
||||
};
|
||||
"tools/gyp" = fetchgit {
|
||||
url = "${git_url}/external/gyp.git";
|
||||
rev = "e7079f0e0e14108ab0dba58728ff219637458563";
|
||||
sha256 = "0yd1ds13z0r9d2sb67f9i1gjn1zgzwyfv96qqqp6pn5pcfbialg6";
|
||||
};
|
||||
"third_party/icu" = fetchgit {
|
||||
url = "${git_url}/chromium/deps/icu.git";
|
||||
rev = "b5ecbb29a26532f72ef482569b223d5a51fd50bf";
|
||||
sha256 = "0ld47wdnk8grcba221z67l3pnphv9zwifk4y44f5b946w3iwmpns";
|
||||
};
|
||||
buildtools = fetchgit {
|
||||
url = "${git_url}/chromium/buildtools.git";
|
||||
rev = "60f7f9a8b421ebf9a46041dfa2ff11c0fe59c582";
|
||||
sha256 = "0i10bw7yhslklqwcx5krs3k05sicb73cpwd0mkaz96yxsvmkvjq0";
|
||||
};
|
||||
"base/trace_event/common" = fetchgit {
|
||||
url = "${git_url}/chromium/src/base/trace_event/common.git";
|
||||
rev = "315bf1e2d45be7d53346c31cfcc37424a32c30c8";
|
||||
sha256 = "1pp2ygvp20j6g4868hrmiw0j704kdvsi9d9wx2gbk7w79rc36695";
|
||||
};
|
||||
"platform/inspector_protocol" = fetchgit {
|
||||
url = "${git_url}/chromium/src/third_party/WebKit/Source/platform/inspector_protocol.git";
|
||||
rev = "f49542089820a34a9a6e33264e09b73779407512";
|
||||
sha256 = "1lwpass3p4rpp2kjmxxxpkqyv4lznxhf4i0yy7mmrd7jkpc7kn8k";
|
||||
};
|
||||
"tools/mb" = fetchgit {
|
||||
url = "${git_url}/chromium/src/tools/mb.git";
|
||||
rev = "0c4dc43c454f26936ddf3074ab8e9a41e3dc03a3";
|
||||
sha256 = "0f96qphbmwn1pprv0a6xf68p01s1jzx2sz6pmadqbrs1dgh1xwnk";
|
||||
};
|
||||
"tools/swarming_client" = fetchgit {
|
||||
url = "${git_url}/external/swarming.client.git";
|
||||
rev = "7f63a272f7d9785ce41b6d10bb3106c49a968e57";
|
||||
sha256 = "1pmb8bq4qifjf2dzz8c4jdwhlvwgrl9ycjaalcyh1sbh4lx3yvv2";
|
||||
};
|
||||
"testing/gtest" = fetchgit {
|
||||
url = "${git_url}/external/github.com/google/googletest.git";
|
||||
rev = "6f8a66431cb592dad629028a50b3dd418a408c87";
|
||||
sha256 = "0bdba2lr6pg15bla9600zg0r0vm4lnrx0wqz84p376wfdxra24vw";
|
||||
};
|
||||
"testing/gmock" = fetchgit {
|
||||
url = "${git_url}/external/googlemock.git";
|
||||
rev = "0421b6f358139f02e102c9c332ce19a33faf75be";
|
||||
sha256 = "1xiky4v98maxs8fg1avcd56y0alv3hw8qyrlpd899zgzbq2k10pp";
|
||||
};
|
||||
"test/benchmarks/data" = fetchgit {
|
||||
url = "${git_url}/v8/deps/third_party/benchmarks.git";
|
||||
rev = "05d7188267b4560491ff9155c5ee13e207ecd65f";
|
||||
sha256 = "0ad2ay14bn67d61ks4dmzadfnhkj9bw28r4yjdjjyzck7qbnzchl";
|
||||
};
|
||||
"test/mozilla/data" = fetchgit {
|
||||
url = "${git_url}/v8/deps/third_party/mozilla-tests.git";
|
||||
rev = "f6c578a10ea707b1a8ab0b88943fe5115ce2b9be";
|
||||
sha256 = "0rfdan76yfawqxbwwb35aa57b723j3z9fx5a2w16nls02yk2kqyn";
|
||||
};
|
||||
"test/simdjs/data" = fetchgit {
|
||||
url = "${git_url}/external/github.com/tc39/ecmascript_simd.git";
|
||||
rev = "baf493985cb9ea7cdbd0d68704860a8156de9556";
|
||||
sha256 = "178r0k40a58c1187gfzqz2i6as34l8cliy1g1x870wyy0qcvlq2q";
|
||||
};
|
||||
"test/test262/data" = fetchgit {
|
||||
url = "${git_url}/external/github.com/tc39/test262.git";
|
||||
rev = "88bc7fe7586f161201c5f14f55c9c489f82b1b67";
|
||||
sha256 = "0gc7fmaqrgwb6rl02jnrm3synpwzzg0dfqy3zm386r1qcisl93xs";
|
||||
};
|
||||
"test/test262/harness" = fetchgit {
|
||||
url = "${git_url}/external/github.com/test262-utils/test262-harness-py.git";
|
||||
rev = "cbd968f54f7a95c6556d53ba852292a4c49d11d8";
|
||||
sha256 = "094c3600a4wh1m3fvvlivn290kik1pzzvwabq77lk8bh4jkkv7ki";
|
||||
};
|
||||
"tools/clang" = fetchgit {
|
||||
url = "${git_url}/chromium/src/tools/clang.git";
|
||||
rev = "496622ab4aaa5be7e5a9b80617013cb02f45dc87";
|
||||
sha256 = "1gkhk2bzpxwzkirzcqfixxpprbr8mn6rk00krm25daarm3smydmf";
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "v8";
|
||||
version = "5.4.232";
|
||||
|
||||
inherit doCheck;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "v8";
|
||||
repo = "v8";
|
||||
rev = version;
|
||||
sha256 = "1nqxbkz75m8xrjih0sj3f3iqvif4192vxdaxzy8r787rihjwg9nx";
|
||||
};
|
||||
|
||||
postUnpack = ''
|
||||
${lib.concatStringsSep "\n" (
|
||||
lib.mapAttrsToList (n: v: ''
|
||||
mkdir -p $sourceRoot/${n}
|
||||
cp -r ${v}/* $sourceRoot/${n}
|
||||
'') deps)}
|
||||
'';
|
||||
|
||||
# Patch based off of:
|
||||
# https://github.com/cowboyd/libv8/tree/v5.1.281.67.0/patches
|
||||
patches = lib.optional (!doCheck) ./libv8-5.4.232.patch;
|
||||
|
||||
postPatch = ''
|
||||
sed -i 's,#!/usr/bin/env python,#!${python}/bin/python,' gypfiles/gyp_v8
|
||||
sed -i 's,/bin/echo,${coreutils}/bin/echo,' gypfiles/standalone.gypi
|
||||
sed -i '/CR_CLANG_REVISION/ d' gypfiles/standalone.gypi
|
||||
sed -i 's/-Wno-format-pedantic//g' gypfiles/standalone.gypi
|
||||
'';
|
||||
|
||||
configurePhase = ''
|
||||
PYTHONPATH="tools/generate_shim_headers:$PYTHONPATH" \
|
||||
PYTHONPATH="$(toPythonPath ${gyp}):$PYTHONPATH" \
|
||||
gypfiles/gyp_v8 \
|
||||
-f make \
|
||||
--generator-output="out" \
|
||||
-Dflock_index=0 \
|
||||
-Dclang=${clangFlag} \
|
||||
-Dv8_enable_i18n_support=1 \
|
||||
-Duse_system_icu=1 \
|
||||
-Dcomponent=${sharedFlag} \
|
||||
-Dconsole=readline \
|
||||
-Dv8_target_arch=${arch} \
|
||||
-Dv8_use_external_startup_data=0
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ which ];
|
||||
buildInputs = [ readline python icu ]
|
||||
++ lib.optional stdenv.isDarwin xcbuild
|
||||
++ lib.optional stdenv.isLinux patchelf;
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-Wno-error=strict-overflow -Wno-error=unused-function -Wno-error=attributes"
|
||||
+ lib.optionalString stdenv.cc.isClang " -Wno-error=unused-lambda-capture";
|
||||
|
||||
buildFlags = [
|
||||
"LINK=c++"
|
||||
"-C out"
|
||||
"builddir=$(CURDIR)/Release"
|
||||
"BUILDTYPE=Release"
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
dontUpdateAutotoolsGnuConfigScripts = if stdenv.isAarch64 then true else null;
|
||||
|
||||
# the `libv8_libplatform` target is _only_ built as a static library,
|
||||
# and is expected to be statically linked in when needed.
|
||||
# see the following link for further commentary:
|
||||
# https://github.com/cowboyd/therubyracer/issues/391
|
||||
installPhase = ''
|
||||
install -vD out/Release/d8 "$out/bin/d8"
|
||||
install -vD out/Release/mksnapshot "$out/bin/mksnapshot"
|
||||
${if static then ""
|
||||
else if stdenv.isDarwin then ''
|
||||
install -vD out/Release/libv8.dylib "$out/lib/libv8.dylib"
|
||||
install_name_tool -change /usr/local/lib/libv8.dylib $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.cc.cc.lib}/lib/libgcc_s.1.dylib $out/bin/d8
|
||||
install_name_tool -id $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.cc.cc.lib}/lib/libgcc_s.1.dylib $out/lib/libv8.dylib
|
||||
'' else ''
|
||||
install -vD out/Release/lib.target/libv8.so "$out/lib/libv8.so"
|
||||
''}
|
||||
mkdir -p "$out/include"
|
||||
cp -vr include/*.h "$out/include"
|
||||
cp -vr include/libplatform "$out/include"
|
||||
mkdir -p "$out/lib"
|
||||
cp -v out/Release/*.a "$out/lib"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Google's open source JavaScript engine";
|
||||
maintainers = with maintainers; [ cstrahan proglodyte ];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
license = licenses.bsd3;
|
||||
};
|
||||
}
|
169
pkgs/development/libraries/v8/8_x.nix
Normal file
169
pkgs/development/libraries/v8/8_x.nix
Normal file
|
@ -0,0 +1,169 @@
|
|||
{ stdenv, lib, fetchgit, fetchFromGitHub
|
||||
, gn, ninja, python3, glib, pkg-config, icu
|
||||
, xcbuild, darwin
|
||||
, fetchpatch
|
||||
}:
|
||||
|
||||
# Use update.sh to update all checksums.
|
||||
|
||||
let
|
||||
version = "8.8.278.14";
|
||||
v8Src = fetchgit {
|
||||
url = "https://chromium.googlesource.com/v8/v8";
|
||||
rev = version;
|
||||
sha256 = "0w6zldyas9w6p394876ssn3pnr5rjzjy1a5dcsmdkfj51m4rlg8m";
|
||||
};
|
||||
|
||||
git_url = "https://chromium.googlesource.com";
|
||||
|
||||
# This data is from the DEPS file in the root of a V8 checkout.
|
||||
deps = {
|
||||
"base/trace_event/common" = fetchgit {
|
||||
url = "${git_url}/chromium/src/base/trace_event/common.git";
|
||||
rev = "eb94f1c7aa96207f469008f29989a43feb2718f8";
|
||||
sha256 = "14gym38ncc9cysknv3jrql7jvcpjxf2d1dh4m8jgqb967jyzy5cj";
|
||||
};
|
||||
"build" = fetchgit {
|
||||
url = "${git_url}/chromium/src/build.git";
|
||||
rev = "2101eff1ac4bfd25f2dfa71ad632a600a38c1ed9";
|
||||
sha256 = "0i3xcwzi4pkv4xpgjkbmcpj5h6mji80zqskkx0jx3sx0ji63fylz";
|
||||
};
|
||||
"third_party/googletest/src" = fetchgit {
|
||||
url = "${git_url}/external/github.com/google/googletest.git";
|
||||
rev = "4fe018038f87675c083d0cfb6a6b57c274fb1753";
|
||||
sha256 = "1ilm9dmnm2v4y6l1wyfsajsbqv56j29ldfbpd0ykg4q90gpxz201";
|
||||
};
|
||||
"third_party/icu" = fetchgit {
|
||||
url = "${git_url}/chromium/deps/icu.git";
|
||||
rev = "c2a4cae149aae7fd30c4cbe3cf1b30df03b386f1";
|
||||
sha256 = "0lgzxf7hmfsgqazs74v5li9ifg8r0jx5m3gxh1mnw33vpwp7qqf4";
|
||||
};
|
||||
"third_party/zlib" = fetchgit {
|
||||
url = "${git_url}/chromium/src/third_party/zlib.git";
|
||||
rev = "e84c9a3fd75fdc39055b7ae27d6ec508e50bd39e";
|
||||
sha256 = "03z30djnb3srhd0nvlxvx58sjqm2bvxk7j3vp4fk6h7a0sa2bdpi";
|
||||
};
|
||||
"third_party/jinja2" = fetchgit {
|
||||
url = "${git_url}/chromium/src/third_party/jinja2.git";
|
||||
rev = "a82a4944a7f2496639f34a89c9923be5908b80aa";
|
||||
sha256 = "02mkjwkrzhrg16zx97z792l0faz7gc8vga8w10r5y94p98jymnyz";
|
||||
};
|
||||
"third_party/markupsafe" = fetchgit {
|
||||
url = "${git_url}/chromium/src/third_party/markupsafe.git";
|
||||
rev = "0944e71f4b2cb9a871bcbe353f95e889b64a611a";
|
||||
sha256 = "052ij8i7nkqchbvzv6ykj929hvfxjbzq7az2l01r0l2gfazhvdb9";
|
||||
};
|
||||
};
|
||||
|
||||
# See `gn_version` in DEPS.
|
||||
gnSrc = fetchgit {
|
||||
url = "https://gn.googlesource.com/gn";
|
||||
rev = "53d92014bf94c3893886470a1c7c1289f8818db0";
|
||||
sha256 = "1xcm07qjk6m2czi150fiqqxql067i832adck6zxrishm70c9jbr9";
|
||||
};
|
||||
|
||||
myGn = gn.overrideAttrs (oldAttrs: {
|
||||
version = "for-v8";
|
||||
src = gnSrc;
|
||||
});
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "v8";
|
||||
inherit version;
|
||||
|
||||
doCheck = true;
|
||||
|
||||
patches = [
|
||||
./darwin.patch
|
||||
];
|
||||
|
||||
src = v8Src;
|
||||
|
||||
postUnpack = ''
|
||||
${lib.concatStringsSep "\n" (
|
||||
lib.mapAttrsToList (n: v: ''
|
||||
mkdir -p $sourceRoot/${n}
|
||||
cp -r ${v}/* $sourceRoot/${n}
|
||||
'') deps)}
|
||||
chmod u+w -R .
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
${lib.optionalString stdenv.isAarch64 ''
|
||||
substituteInPlace build/toolchain/linux/BUILD.gn \
|
||||
--replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""'
|
||||
''}
|
||||
${lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace build/config/compiler/compiler.gni \
|
||||
--replace 'strip_absolute_paths_from_debug_symbols = true' \
|
||||
'strip_absolute_paths_from_debug_symbols = false'
|
||||
substituteInPlace build/config/compiler/BUILD.gn \
|
||||
--replace 'current_toolchain == host_toolchain || !use_xcode_clang' \
|
||||
'false'
|
||||
''}
|
||||
echo 'checkout_google_benchmark = false' > build/config/gclient_args.gni
|
||||
'';
|
||||
|
||||
gnFlags = [
|
||||
"use_custom_libcxx=false"
|
||||
"is_clang=${lib.boolToString stdenv.cc.isClang}"
|
||||
"use_sysroot=false"
|
||||
# "use_system_icu=true"
|
||||
"clang_use_chrome_plugins=false"
|
||||
"is_component_build=false"
|
||||
"v8_use_external_startup_data=false"
|
||||
"v8_monolithic=true"
|
||||
"is_debug=true"
|
||||
"is_official_build=false"
|
||||
"treat_warnings_as_errors=false"
|
||||
"v8_enable_i18n_support=true"
|
||||
"use_gold=false"
|
||||
# ''custom_toolchain="//build/toolchain/linux/unbundle:default"''
|
||||
''host_toolchain="//build/toolchain/linux/unbundle:default"''
|
||||
''v8_snapshot_toolchain="//build/toolchain/linux/unbundle:default"''
|
||||
] ++ lib.optional stdenv.cc.isClang ''clang_base_path="${stdenv.cc}"'';
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-O2";
|
||||
FORCE_MAC_SDK_MIN = stdenv.targetPlatform.sdkVer or "10.12";
|
||||
|
||||
nativeBuildInputs = [
|
||||
myGn
|
||||
ninja
|
||||
pkg-config
|
||||
python3
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
xcbuild
|
||||
darwin.DarwinTools
|
||||
python3.pkgs.setuptools
|
||||
];
|
||||
buildInputs = [ glib icu ];
|
||||
|
||||
ninjaFlags = [ ":d8" "v8_monolith" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
installPhase = ''
|
||||
install -D d8 $out/bin/d8
|
||||
install -D -m644 obj/libv8_monolith.a $out/lib/libv8.a
|
||||
install -D -m644 icudtl.dat $out/share/v8/icudtl.dat
|
||||
cp -r ../../include $out
|
||||
|
||||
mkdir -p $out/lib/pkgconfig
|
||||
cat > $out/lib/pkgconfig/v8.pc << EOF
|
||||
Name: v8
|
||||
Description: V8 JavaScript Engine
|
||||
Version: ${version}
|
||||
Libs: -L$out/lib -lv8 -pthread
|
||||
Cflags: -I$out/include
|
||||
EOF
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Google's open source JavaScript engine";
|
||||
maintainers = with maintainers; [ cstrahan proglodyte matthewbauer ];
|
||||
platforms = platforms.unix;
|
||||
license = licenses.bsd3;
|
||||
};
|
||||
}
|
|
@ -1,75 +1,85 @@
|
|||
{ stdenv, lib, fetchgit, fetchFromGitHub
|
||||
, gn, ninja, python, pythonPackages, glib, pkg-config, icu
|
||||
, gn, ninja, python3, glib, pkg-config, icu
|
||||
, xcbuild, darwin
|
||||
, fetchpatch
|
||||
}:
|
||||
|
||||
# Use update.sh to update all checksums.
|
||||
|
||||
let
|
||||
version = "9.7.106.18";
|
||||
v8Src = fetchgit {
|
||||
url = "https://chromium.googlesource.com/v8/v8";
|
||||
rev = version;
|
||||
sha256 = "0cb3w733w1xn6zq9dsr43nx6llcg9hrmb2dkxairarj9c0igpzyh";
|
||||
};
|
||||
|
||||
git_url = "https://chromium.googlesource.com";
|
||||
|
||||
# This data is from the DEPS file in the root of a V8 checkout
|
||||
# This data is from the DEPS file in the root of a V8 checkout.
|
||||
deps = {
|
||||
"base/trace_event/common" = fetchgit {
|
||||
url = "${git_url}/chromium/src/base/trace_event/common.git";
|
||||
rev = "dab187b372fc17e51f5b9fad8201813d0aed5129";
|
||||
sha256 = "0dmpj9hj4xv3xb0fl1kb9hm4bhpbs2s5csx3z8cgjd5vwvhdzig4";
|
||||
rev = "7f36dbc19d31e2aad895c60261ca8f726442bfbb";
|
||||
sha256 = "01b2fhbxznqbakxv42ivrzg6w8l7i9yrd9nf72d6p5xx9dm993j4";
|
||||
};
|
||||
build = fetchgit {
|
||||
"build" = fetchgit {
|
||||
url = "${git_url}/chromium/src/build.git";
|
||||
rev = "26e9d485d01d6e0eb9dadd21df767a63494c8fea";
|
||||
sha256 = "1jjvsgj0cs97d26i3ba531ic1f9gqan8x7z4aya8yl8jx02l342q";
|
||||
rev = "cf325916d58a194a935c26a56fcf6b525d1e2bf4";
|
||||
sha256 = "1ix4h1cpx9bvgln8590xh7lllhsd9w1hd5k9l1gx5yxxrmywd3s4";
|
||||
};
|
||||
"third_party/googletest/src" = fetchgit {
|
||||
url = "${git_url}/external/github.com/google/googletest.git";
|
||||
rev = "e3f0319d89f4cbf32993de595d984183b1a9fc57";
|
||||
sha256 = "18xz71l2xjrqsc0q317whgw4xi1i5db24zcj7v04f5g6r1hyf1a5";
|
||||
rev = "16f637fbf4ffc3f7a01fa4eceb7906634565242f";
|
||||
sha256 = "11012k3c3mxzdwcw2iparr9lrckafpyhqzclsj26hmfbgbdi0rrh";
|
||||
};
|
||||
"third_party/icu" = fetchgit {
|
||||
url = "${git_url}/chromium/deps/icu.git";
|
||||
rev = "f2223961702f00a8833874b0560d615a2cc42738";
|
||||
sha256 = "0z5p53kbrjfkjn0i12dpk55cp8976j2zk7a4wk88423s2c5w87zl";
|
||||
};
|
||||
"third_party/jinja2" = fetchgit {
|
||||
url = "${git_url}/chromium/src/third_party/jinja2.git";
|
||||
rev = "b41863e42637544c2941b574c7877d3e1f663e25";
|
||||
sha256 = "1qgilclkav67m6cl2xq2kmzkswrkrb2axc2z8mw58fnch4j1jf1r";
|
||||
};
|
||||
"third_party/markupsafe" = fetchgit {
|
||||
url = "${git_url}/chromium/src/third_party/markupsafe.git";
|
||||
rev = "8f45f5cfa0009d2a70589bcda0349b8cb2b72783";
|
||||
sha256 = "168ppjmicfdh4i1l0l25s86mdbrz9fgxmiq1rx33x79mph41scfz";
|
||||
rev = "eedbaf76e49d28465d9119b10c30b82906e606ff";
|
||||
sha256 = "0mppvx7wf9zlqjsfaa1cf06brh1fjb6nmiib0lhbb9hd55mqjdjj";
|
||||
};
|
||||
"third_party/zlib" = fetchgit {
|
||||
url = "${git_url}/chromium/src/third_party/zlib.git";
|
||||
rev = "156be8c52f80cde343088b4a69a80579101b6e67";
|
||||
sha256 = "0hxbkkzmlv714fjq2jlp5dd2jc339xyh6gkjx1sz3srwv33mlk92";
|
||||
rev = "6da1d53b97c89b07e47714d88cab61f1ce003c68";
|
||||
sha256 = "0v7ylmbwfwv6w6wp29qdf77kjjnfr2xzin08n0v1yvbhs01h5ppy";
|
||||
};
|
||||
"third_party/jinja2" = fetchgit {
|
||||
url = "${git_url}/chromium/src/third_party/jinja2.git";
|
||||
rev = "ee69aa00ee8536f61db6a451f3858745cf587de6";
|
||||
sha256 = "1fsnd5h0gisfp8bdsfd81kk5v4mkqf8z368c7qlm1qcwc4ri4x7a";
|
||||
};
|
||||
"third_party/markupsafe" = fetchgit {
|
||||
url = "${git_url}/chromium/src/third_party/markupsafe.git";
|
||||
rev = "1b882ef6372b58bfd55a3285f37ed801be9137cd";
|
||||
sha256 = "1jnjidbh03lhfaawimkjxbprmsgz4snr0jl06630dyd41zkdw5kr";
|
||||
};
|
||||
};
|
||||
|
||||
# See `gn_version` in DEPS.
|
||||
gnSrc = fetchgit {
|
||||
url = "https://gn.googlesource.com/gn";
|
||||
rev = "8926696a4186279489cc2b8d768533e61bba73d7";
|
||||
sha256 = "1084lnyb0a1khbgjvak05fcx6jy973wqvsf77n0alxjys18sg2yk";
|
||||
};
|
||||
|
||||
myGn = gn.overrideAttrs (oldAttrs: {
|
||||
version = "for-v8";
|
||||
src = gnSrc;
|
||||
});
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "v8";
|
||||
version = "8.4.255";
|
||||
inherit version;
|
||||
|
||||
doCheck = true;
|
||||
|
||||
patches = [
|
||||
# Remove unrecognized clang debug flags
|
||||
(fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/saiarcot895/chromium-ubuntu-build/663dbfc492fd2f8ba28d9af40fb3b1327e6aa56e/debian/patches/revert-Xclang-instcombine-lower-dbg-declare.patch";
|
||||
sha256 = "07qp4bjgbwbdrzqslvl2bgbzr3v97b9isbp0539x3lc8cy3h02g1";
|
||||
})
|
||||
./darwin.patch
|
||||
./gcc_arm.patch # Fix building zlib with gcc on aarch64, from https://gist.github.com/Adenilson/d973b6fd96c7709d33ddf08cf1dcb149
|
||||
];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "v8";
|
||||
repo = "v8";
|
||||
rev = version;
|
||||
sha256 = "07ymw4kqbz7kv311gpk5bs5q90wj73n2q7jkyfhqk4hvhs1q5bw7";
|
||||
};
|
||||
src = v8Src;
|
||||
|
||||
postUnpack = ''
|
||||
${lib.concatStringsSep "\n" (
|
||||
|
@ -80,16 +90,20 @@ stdenv.mkDerivation rec {
|
|||
chmod u+w -R .
|
||||
'';
|
||||
|
||||
postPatch = lib.optionalString stdenv.isAarch64 ''
|
||||
substituteInPlace build/toolchain/linux/BUILD.gn \
|
||||
--replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""'
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace build/config/compiler/compiler.gni \
|
||||
--replace 'strip_absolute_paths_from_debug_symbols = true' \
|
||||
'strip_absolute_paths_from_debug_symbols = false'
|
||||
substituteInPlace build/config/compiler/BUILD.gn \
|
||||
--replace 'current_toolchain == host_toolchain || !use_xcode_clang' \
|
||||
'false'
|
||||
postPatch = ''
|
||||
${lib.optionalString stdenv.isAarch64 ''
|
||||
substituteInPlace build/toolchain/linux/BUILD.gn \
|
||||
--replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""'
|
||||
''}
|
||||
${lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace build/config/compiler/compiler.gni \
|
||||
--replace 'strip_absolute_paths_from_debug_symbols = true' \
|
||||
'strip_absolute_paths_from_debug_symbols = false'
|
||||
substituteInPlace build/config/compiler/BUILD.gn \
|
||||
--replace 'current_toolchain == host_toolchain || !use_xcode_clang' \
|
||||
'false'
|
||||
''}
|
||||
touch build/config/gclient_args.gni
|
||||
'';
|
||||
|
||||
gnFlags = [
|
||||
|
@ -106,7 +120,6 @@ stdenv.mkDerivation rec {
|
|||
"treat_warnings_as_errors=false"
|
||||
"v8_enable_i18n_support=true"
|
||||
"use_gold=false"
|
||||
"init_stack_vars=false"
|
||||
# ''custom_toolchain="//build/toolchain/linux/unbundle:default"''
|
||||
''host_toolchain="//build/toolchain/linux/unbundle:default"''
|
||||
''v8_snapshot_toolchain="//build/toolchain/linux/unbundle:default"''
|
||||
|
@ -116,14 +129,14 @@ stdenv.mkDerivation rec {
|
|||
FORCE_MAC_SDK_MIN = stdenv.targetPlatform.sdkVer or "10.12";
|
||||
|
||||
nativeBuildInputs = [
|
||||
gn
|
||||
myGn
|
||||
ninja
|
||||
pkg-config
|
||||
python
|
||||
python3
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
xcbuild
|
||||
darwin.DarwinTools
|
||||
pythonPackages.setuptools
|
||||
python3.pkgs.setuptools
|
||||
];
|
||||
buildInputs = [ glib icu ];
|
||||
|
||||
|
@ -133,7 +146,8 @@ stdenv.mkDerivation rec {
|
|||
|
||||
installPhase = ''
|
||||
install -D d8 $out/bin/d8
|
||||
install -D obj/libv8_monolith.a $out/lib/libv8.a
|
||||
install -D -m644 obj/libv8_monolith.a $out/lib/libv8.a
|
||||
install -D -m644 icudtl.dat $out/share/v8/icudtl.dat
|
||||
cp -r ../../include $out
|
||||
|
||||
mkdir -p $out/lib/pkgconfig
|
||||
|
|
|
@ -1,31 +0,0 @@
|
|||
diff --git a/third_party/zlib/contrib/optimizations/insert_string.h b/third_party/zlib/contrib/optimizations/insert_string.h
|
||||
index 1826601..d123305 100644
|
||||
--- a/third_party/zlib/contrib/optimizations/insert_string.h
|
||||
+++ b/third_party/zlib/contrib/optimizations/insert_string.h
|
||||
@@ -26,15 +26,23 @@
|
||||
#define _cpu_crc32_u32 _mm_crc32_u32
|
||||
|
||||
#elif defined(CRC32_ARMV8_CRC32)
|
||||
- #if defined(__clang__)
|
||||
+ #if defined(__GNUC__) || defined(__clang__)
|
||||
#undef TARGET_CPU_WITH_CRC
|
||||
- #define __crc32cw __builtin_arm_crc32cw
|
||||
+ #if defined(__clang__)
|
||||
+ #define __crc32cw __builtin_arm_crc32cw
|
||||
+ #elif defined(__GNUC__)
|
||||
+ #define __crc32cw __builtin_aarch64_crc32cw
|
||||
+ #endif
|
||||
#endif
|
||||
|
||||
#define _cpu_crc32_u32 __crc32cw
|
||||
|
||||
#if defined(__aarch64__)
|
||||
- #define TARGET_CPU_WITH_CRC __attribute__((target("crc")))
|
||||
+ #if defined(__clang__)
|
||||
+ #define TARGET_CPU_WITH_CRC __attribute__((target("crc")))
|
||||
+ #elif defined(__GNUC__)
|
||||
+ #define TARGET_CPU_WITH_CRC __attribute__((target("+crc")))
|
||||
+ #endif
|
||||
#else // !defined(__aarch64__)
|
||||
#define TARGET_CPU_WITH_CRC __attribute__((target("armv8-a,crc")))
|
||||
#endif // defined(__aarch64__)
|
|
@ -1,97 +0,0 @@
|
|||
From c9f42d1314c6026efcfcc01824f4e2fdfd05ebcf Mon Sep 17 00:00:00 2001
|
||||
From: Ben Sklaroff <bsklaroff@gmail.com>
|
||||
Date: Sat, 23 Jul 2016 18:16:55 -0400
|
||||
Subject: [PATCH] libv8-5.4.232
|
||||
|
||||
---
|
||||
Makefile | 5 +----
|
||||
gypfiles/all.gyp | 32 --------------------------------
|
||||
gypfiles/standalone.gypi | 5 ++++-
|
||||
3 files changed, 5 insertions(+), 37 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 5ea5c58..d1b2d73 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -261,11 +261,8 @@ GYPFILES = third_party/icu/icu.gypi third_party/icu/icu.gyp \
|
||||
gypfiles/shim_headers.gypi gypfiles/features.gypi \
|
||||
gypfiles/standalone.gypi \
|
||||
gypfiles/toolchain.gypi gypfiles/all.gyp gypfiles/mac/asan.gyp \
|
||||
- test/cctest/cctest.gyp test/fuzzer/fuzzer.gyp \
|
||||
- test/unittests/unittests.gyp src/v8.gyp \
|
||||
- tools/parser-shell.gyp testing/gmock.gyp testing/gtest.gyp \
|
||||
buildtools/third_party/libc++abi/libc++abi.gyp \
|
||||
- buildtools/third_party/libc++/libc++.gyp samples/samples.gyp \
|
||||
+ buildtools/third_party/libc++/libc++.gyp \
|
||||
src/third_party/vtune/v8vtune.gyp src/d8.gyp
|
||||
|
||||
# If vtunejit=on, the v8vtune.gyp will be appended.
|
||||
diff --git a/gypfiles/all.gyp b/gypfiles/all.gyp
|
||||
index ff1bea4..96820a0 100644
|
||||
--- a/gypfiles/all.gyp
|
||||
+++ b/gypfiles/all.gyp
|
||||
@@ -16,38 +16,6 @@
|
||||
'../tools/parser-shell.gyp:parser-shell',
|
||||
],
|
||||
}],
|
||||
- # These items don't compile for Android on Mac.
|
||||
- ['host_os!="mac" or OS!="android"', {
|
||||
- 'dependencies': [
|
||||
- '../samples/samples.gyp:*',
|
||||
- '../test/cctest/cctest.gyp:*',
|
||||
- '../test/fuzzer/fuzzer.gyp:*',
|
||||
- '../test/unittests/unittests.gyp:*',
|
||||
- ],
|
||||
- }],
|
||||
- ['test_isolation_mode != "noop"', {
|
||||
- 'dependencies': [
|
||||
- '../test/bot_default.gyp:*',
|
||||
- '../test/benchmarks/benchmarks.gyp:*',
|
||||
- '../test/default.gyp:*',
|
||||
- '../test/ignition.gyp:*',
|
||||
- '../test/intl/intl.gyp:*',
|
||||
- '../test/message/message.gyp:*',
|
||||
- '../test/mjsunit/mjsunit.gyp:*',
|
||||
- '../test/mozilla/mozilla.gyp:*',
|
||||
- '../test/optimize_for_size.gyp:*',
|
||||
- '../test/perf.gyp:*',
|
||||
- '../test/preparser/preparser.gyp:*',
|
||||
- '../test/simdjs/simdjs.gyp:*',
|
||||
- '../test/test262/test262.gyp:*',
|
||||
- '../test/webkit/webkit.gyp:*',
|
||||
- '../tools/check-static-initializers.gyp:*',
|
||||
- '../tools/gcmole/run_gcmole.gyp:*',
|
||||
- '../tools/jsfunfuzz/jsfunfuzz.gyp:*',
|
||||
- '../tools/run-deopt-fuzzer.gyp:*',
|
||||
- '../tools/run-valgrind.gyp:*',
|
||||
- ],
|
||||
- }],
|
||||
]
|
||||
}
|
||||
]
|
||||
diff --git a/gypfiles/standalone.gypi b/gypfiles/standalone.gypi
|
||||
index 89f06a0..a43976d 100644
|
||||
--- a/gypfiles/standalone.gypi
|
||||
+++ b/gypfiles/standalone.gypi
|
||||
@@ -506,6 +506,9 @@
|
||||
}], # fastbuild!=0
|
||||
],
|
||||
'target_conditions': [
|
||||
+ ['_type=="static_library"', {
|
||||
+ 'standalone_static_library': 1,
|
||||
+ }],
|
||||
['v8_code == 0', {
|
||||
'defines!': [
|
||||
'DEBUG',
|
||||
@@ -770,7 +773,7 @@
|
||||
[ 'visibility=="hidden" and v8_enable_backtrace==0', {
|
||||
'cflags': [ '-fvisibility=hidden' ],
|
||||
}],
|
||||
- [ 'component=="shared_library"', {
|
||||
+ [ 'component=="shared_library" or component=="static_library" and (v8_target_arch=="x64" or v8_target_arch=="arm64" or v8_target_arch=="arm")', {
|
||||
'cflags': [ '-fPIC', ],
|
||||
}],
|
||||
[ 'clang==0 and coverage==1', {
|
||||
--
|
||||
2.9.0
|
||||
|
|
@ -1,29 +1,45 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p curl -p nix-prefetch-git
|
||||
#! nix-shell -i bash -p curl -p nix-prefetch-git -p jq
|
||||
VERSION_OVERVIEW=https://omahaproxy.appspot.com/all?os=linux
|
||||
TARGET_CHANNEL=beta
|
||||
FILE_PATH=6_x.nix
|
||||
TARGET_CHANNEL=stable
|
||||
|
||||
set -eo pipefail
|
||||
|
||||
v8_version=$(curl -s "$VERSION_OVERVIEW" | awk -F "," "\$2 ~ /${TARGET_CHANNEL}/ { print \$11 }")
|
||||
if [ -n "$1" ]; then
|
||||
v8_version="$1"
|
||||
shift
|
||||
else
|
||||
v8_version=$(curl -s "$VERSION_OVERVIEW" | awk -F "," "\$2 ~ /${TARGET_CHANNEL}/ { print \$11 }")
|
||||
fi
|
||||
|
||||
if [ -n "$1" ]; then
|
||||
file_path="$1"
|
||||
else
|
||||
file_path=default.nix
|
||||
fi
|
||||
|
||||
echo "Using V8 version --> $v8_version"
|
||||
sed -e "s#\\(version = \\)\"[0-9\.]*\"#\1\"$v8_version\"#" -i ${FILE_PATH}
|
||||
|
||||
sha256=$(nix-prefetch-git --no-deepClone https://github.com/v8/v8.git "refs/tags/${v8_version}" \
|
||||
| sed -ne '/sha256/ { s#.*: "\(.*\)".*#\1#; p }')
|
||||
sed -e "/repo = \"v8\"/ { n;n; s#\".*\"#\"${sha256}\"# }" -i ${FILE_PATH}
|
||||
prefetched=$(nix-prefetch-git --no-deepClone https://chromium.googlesource.com/v8/v8 "refs/tags/${v8_version}")
|
||||
|
||||
deps="$(mktemp)"
|
||||
path=$(echo "$prefetched" | jq -r .path)
|
||||
sha256=$(echo "$prefetched" | jq -r .sha256)
|
||||
sed -e "s#\\(version = \\)\"[0-9\.]*\"#\1\"$v8_version\"#" -i ${file_path}
|
||||
sed -e "/v8Src = fetchgit/ { n; n; n; s/\".*\"/\"${sha256}\"/ }" -i ${file_path}
|
||||
|
||||
curl -s -o "$deps" "https://raw.githubusercontent.com/v8/v8/${v8_version}/DEPS"
|
||||
echo $deps
|
||||
deps="$path/DEPS"
|
||||
|
||||
sed -ne '/= fetchgit {/ { s/.*"\(.*\)".*/\1/; p }' < ${FILE_PATH} | while read dep; do
|
||||
echo "$deps"
|
||||
|
||||
echo "Processing gn"
|
||||
gn_rev=$(sed -ne "s/.*'gn_version': 'git_revision:\([^']*\).*/\1/p" < "$deps")
|
||||
gn_sha256=$(nix-prefetch-git --no-deepClone https://gn.googlesource.com/gn "$gn_rev" 2>/dev/null | jq -r .sha256)
|
||||
sed -e "/gnSrc = fetchgit/ { n; n; s/\".*\"/\"${gn_rev}\"/; n; s/\".*\"/\"${gn_sha256}\"/ }" -i ${file_path}
|
||||
|
||||
sed -ne '/" = fetchgit {/ { s/.*"\(.*\)".*/\1/; p }' < ${file_path} | while read dep; do
|
||||
echo "Processing dependency --> $dep"
|
||||
escaped_dep=$(echo "$dep" | sed -e 's#/#\\/#g')
|
||||
dep_rev=$(sed -ne "/\"v8\/${escaped_dep}\":/ { n; s#.*+ \"##; s#\".*##; p }" "$deps")
|
||||
dep_rev=$(sed -ne "/'${escaped_dep}':/ { n; s#.*+ '##; s#'.*##; p }" "$deps")
|
||||
|
||||
if [ "$dep_rev" = "" ]; then
|
||||
echo "Failed to resolve dependency $dep, not listed in DEPS file"
|
||||
|
@ -31,8 +47,8 @@ sed -ne '/= fetchgit {/ { s/.*"\(.*\)".*/\1/; p }' < ${FILE_PATH} | while read d
|
|||
exit 2
|
||||
fi
|
||||
|
||||
repo_url=$(sed -ne "/\"${escaped_dep}\" = fetchgit/ { n; s/.*\"\(.*\)\".*/\1/; s#\${git_url}#https://chromium.googlesource.com#; p }" ${FILE_PATH})
|
||||
sha256=$(nix-prefetch-git --no-deepClone "$repo_url" "$dep_rev" 2>/dev/null | sed -ne '/sha256/ { s#.*: "\(.*\)".*#\1#; p }')
|
||||
repo_url=$(sed -ne "/\"${escaped_dep}\" = fetchgit/ { n; s/.*\"\(.*\)\".*/\1/; s#\${git_url}#https://chromium.googlesource.com#; p }" ${file_path})
|
||||
sha256=$(nix-prefetch-git --no-deepClone "$repo_url" "$dep_rev" 2>/dev/null | jq -r .sha256)
|
||||
|
||||
if [ "$sha256" = "" ]; then
|
||||
echo "Failed to get sha256 via nix-prefetch-git $repo_url $dep_rev"
|
||||
|
@ -40,8 +56,7 @@ sed -ne '/= fetchgit {/ { s/.*"\(.*\)".*/\1/; p }' < ${FILE_PATH} | while read d
|
|||
exit 2
|
||||
fi
|
||||
|
||||
sed -e "/\"${escaped_dep}\" = fetchgit/ { n; n; s/\".*\"/\"${dep_rev}\"/; n; s/\".*\"/\"${sha256}\"/ }" -i ${FILE_PATH}
|
||||
sed -e "/\"${escaped_dep}\" = fetchgit/ { n; n; s/\".*\"/\"${dep_rev}\"/; n; s/\".*\"/\"${sha256}\"/ }" -i ${file_path}
|
||||
done
|
||||
|
||||
rm -f "$deps"
|
||||
echo done.
|
||||
|
|
|
@ -12,12 +12,11 @@
|
|||
, libpng
|
||||
, libtiff
|
||||
, openexr
|
||||
, python2Packages
|
||||
, python3
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (python2Packages) python numpy;
|
||||
# Might want to use `python2.withPackages(ps: [ps.numpy]);` here...
|
||||
python = python3.withPackages (py: with py; [ numpy ]);
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vigra";
|
||||
|
@ -50,7 +49,6 @@ stdenv.mkDerivation rec {
|
|||
libjpeg
|
||||
libpng
|
||||
libtiff
|
||||
numpy
|
||||
openexr
|
||||
python
|
||||
];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, nodejs, stdenv, applyPatches, fetchFromGitHub, fetchpatch, fetchurl }:
|
||||
{ pkgs, nodejs, stdenv, applyPatches, fetchFromGitHub, fetchpatch, fetchurl, nixosTests }:
|
||||
|
||||
let
|
||||
inherit (pkgs) lib;
|
||||
|
@ -442,6 +442,8 @@ let
|
|||
echo /var/lib/thelounge > $out/lib/node_modules/thelounge/.thelounge_home
|
||||
patch -d $out/lib/node_modules/thelounge -p1 < ${./thelounge-packages-path.patch}
|
||||
'';
|
||||
passthru.tests = { inherit (nixosTests) thelounge; };
|
||||
meta = super.thelounge.meta // { maintainers = with lib.maintainers; [ winter ]; };
|
||||
};
|
||||
|
||||
yaml-language-server = super.yaml-language-server.override {
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue