Project import generated by Copybara.

GitOrigin-RevId: 733e537a8ad76fd355b6f501127f7d0eb8861775
This commit is contained in:
Default email 2020-12-29 10:07:52 -05:00
parent eb9d9f54a5
commit bb1914a1ab
204 changed files with 3288 additions and 1916 deletions

View file

@ -8,13 +8,22 @@ on:
jobs: jobs:
tests: tests:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS'
steps: steps:
- name: Get list of changed files from PR
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
echo 'PR_DIFF<<EOF' >> $GITHUB_ENV
gh api \
repos/NixOS/nixpkgs/pulls/${{github.event.number}}/files --paginate \
| jq '.[] | select(.status != "removed") | .filename' \
>> $GITHUB_ENV
echo 'EOF' >> $GITHUB_ENV
- uses: actions/checkout@v2 - uses: actions/checkout@v2
with: if: env.PR_DIFF
fetch-depth: 0
- uses: technote-space/get-diff-action@v4.0.0
- name: Fetch editorconfig-checker - name: Fetch editorconfig-checker
if: env.GIT_DIFF if: env.PR_DIFF
env: env:
ECC_VERSION: "2.2.0" ECC_VERSION: "2.2.0"
ECC_URL: "https://github.com/editorconfig-checker/editorconfig-checker/releases/download" ECC_URL: "https://github.com/editorconfig-checker/editorconfig-checker/releases/download"
@ -23,7 +32,6 @@ jobs:
tar xzf ec-linux-amd64.tar.gz && \ tar xzf ec-linux-amd64.tar.gz && \
mv ./bin/ec-linux-amd64 ./bin/editorconfig-checker mv ./bin/ec-linux-amd64 ./bin/editorconfig-checker
- name: Checking EditorConfig - name: Checking EditorConfig
if: env.GIT_DIFF if: env.PR_DIFF
run: | run: |
./bin/editorconfig-checker -disable-indent-size \ echo "$PR_DIFF" | xargs ./bin/editorconfig-checker -disable-indent-size
${{ env.GIT_DIFF }}

View file

@ -0,0 +1,56 @@
on:
issue_comment:
types:
- created
# This action allows people with write access to the repo to rebase a PRs base branch from
# master to staging by commenting `/rebase-staging` on the PR while avoiding CODEOWNER notifications.
jobs:
rebase:
runs-on: ubuntu-latest
if: github.repository_owner == 'NixOS' && github.event.issue.pull_request != '' && contains(github.event.comment.body, '/rebase-staging')
steps:
- uses: scherermichael-oss/action-has-permission@1.0.6
id: check-write-access
with:
required-permission: write
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: check base branch is master
if: steps.check-write-access.outputs.has-permission
run: |
if [ "$(curl https://api.github.com/repos/NixOS/nixpkgs/pulls/${{ github.event.issue.number }} | jq -r '.base.ref')" != "master" ]; then
echo "This action only works when the current base branch is master."
exit 1
fi
- uses: actions/checkout@v2
with:
fetch-depth: 0
if: steps.check-write-access.outputs.has-permission
- name: rebase pull request
if: steps.check-write-access.outputs.has-permission
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PULL_REQUEST: ${{ github.event.issue.number }}
run: |
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
git fetch origin
gh pr checkout "$PULL_REQUEST"
git rebase \
--onto="$(git merge-base origin/master origin/staging)" \
"HEAD~$(git rev-list --count HEAD ^master)"
git push --force
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
-H "Authorization: token $GITHUB_TOKEN" \
-d '{ "base": "staging" }' \
"https://api.github.com/repos/NixOS/nixpkgs/pulls/$PULL_REQUEST"
- uses: peter-evans/create-or-update-comment@v1
if: ${{ failure() }}
with:
issue-number: ${{ github.event.issue.number }}
body: |
[Failed to rebase on `staging`](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }})

View file

@ -7333,6 +7333,12 @@
githubId = 14829269; githubId = 14829269;
name = "Ram Kromberg"; name = "Ram Kromberg";
}; };
ranfdev = {
email = "ranfdev@gmail.com";
name = "Lorenzo Miglietta";
github = "ranfdev";
githubId = 23294184;
};
rardiol = { rardiol = {
email = "ricardo.ardissone@gmail.com"; email = "ricardo.ardissone@gmail.com";
github = "rardiol"; github = "rardiol";
@ -9794,6 +9800,12 @@
githubId = 1322201; githubId = 1322201;
name = "Yochai"; name = "Yochai";
}; };
yoctocell = {
email = "public@yoctocell.xyz";
github = "yoctocell";
githubId = 40352765;
name = "Yoctocell";
};
yorickvp = { yorickvp = {
email = "yorickvanpelt@gmail.com"; email = "yorickvanpelt@gmail.com";
github = "yorickvp"; github = "yorickvp";

View file

@ -268,7 +268,7 @@ chmod 400 /var/lib/secrets/certs.secret
<para> <para>
It is possible that your account credentials file may become corrupt and need It is possible that your account credentials file may become corrupt and need
to be regnerated. In this scenario lego will produce the error <literal>JWS verification error</literal>. to be regenerated. In this scenario lego will produce the error <literal>JWS verification error</literal>.
The solution is to simply delete the associated accounts file and The solution is to simply delete the associated accounts file and
re-run the affected service(s). re-run the affected service(s).
</para> </para>

View file

@ -26,5 +26,11 @@ in {
if cfg.extraConfig != "" if cfg.extraConfig != ""
then pkgs.writeText "lenovo_fix.conf" cfg.extraConfig then pkgs.writeText "lenovo_fix.conf" cfg.extraConfig
else "${pkgs.throttled}/etc/lenovo_fix.conf"; else "${pkgs.throttled}/etc/lenovo_fix.conf";
# Kernel 5.9 spams warnings whenever userspace writes to CPU MSRs.
# See https://github.com/erpalma/throttled/issues/215
boot.kernelParams =
optional (versionAtLeast config.boot.kernelPackages.kernel.version "5.9")
"msr.allow_writes=on";
}; };
} }

View file

@ -47,7 +47,7 @@ in {
services.udev.packages = [ pkgs.trezor-udev-rules ]; services.udev.packages = [ pkgs.trezor-udev-rules ];
systemd.services.trezord = { systemd.services.trezord = {
description = "TREZOR Bridge"; description = "Trezor Bridge";
after = [ "systemd-udev-settle.service" "network.target" ]; after = [ "systemd-udev-settle.service" "network.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = []; path = [];

View file

@ -32,6 +32,8 @@ let
(pkgs.writeText "prometheus.rules" (concatStringsSep "\n" cfg.rules)) (pkgs.writeText "prometheus.rules" (concatStringsSep "\n" cfg.rules))
]); ]);
scrape_configs = filterValidPrometheus cfg.scrapeConfigs; scrape_configs = filterValidPrometheus cfg.scrapeConfigs;
remote_write = filterValidPrometheus cfg.remoteWrite;
remote_read = filterValidPrometheus cfg.remoteRead;
alerting = { alerting = {
inherit (cfg) alertmanagers; inherit (cfg) alertmanagers;
}; };
@ -101,6 +103,126 @@ let
}; };
}; };
promTypes.remote_read = types.submodule {
options = {
url = mkOption {
type = types.str;
description = ''
ServerName extension to indicate the name of the server.
http://tools.ietf.org/html/rfc4366#section-3.1
'';
};
remote_timeout = mkDefOpt types.str "30s" ''
Timeout for requests to the remote write endpoint.
'';
relabel_configs = mkOpt (types.listOf promTypes.relabel_config) ''
List of remote write relabel configurations.
List of relabel configurations.
'';
name = mkOpt types.string ''
Name of the remote write config, which if specified must be unique among remote write configs.
The name will be used in metrics and logging in place of a generated value to help users distinguish between
remote write configs.
'';
basic_auth = mkOpt (types.submodule {
options = {
username = mkOption {
type = types.str;
description = ''
HTTP username
'';
};
password = mkOpt types.str "HTTP password";
password_file = mkOpt types.str "HTTP password file";
};
}) ''
Sets the `Authorization` header on every remote write request with the
configured username and password.
password and password_file are mutually exclusive.
'';
bearer_token = mkOpt types.str ''
Sets the `Authorization` header on every remote write request with
the configured bearer token. It is mutually exclusive with `bearer_token_file`.
'';
bearer_token_file = mkOpt types.str ''
Sets the `Authorization` header on every remote write request with the bearer token
read from the configured file. It is mutually exclusive with `bearer_token`.
'';
tls_config = mkOpt promTypes.tls_config ''
Configures the remote write request's TLS settings.
'';
proxy_url = mkOpt types.str "Optional Proxy URL.";
metadata_config = {
send = mkDefOpt types.bool "true" ''
Whether metric metadata is sent to remote storage or not.
'';
send_interval = mkDefOpt types.str "1m" ''
How frequently metric metadata is sent to remote storage.
'';
};
};
};
promTypes.remote_write = types.submodule {
options = {
url = mkOption {
type = types.str;
description = ''
ServerName extension to indicate the name of the server.
http://tools.ietf.org/html/rfc4366#section-3.1
'';
};
remote_timeout = mkDefOpt types.str "30s" ''
Timeout for requests to the remote write endpoint.
'';
relabel_configs = mkOpt (types.listOf promTypes.relabel_config) ''
List of remote write relabel configurations.
List of relabel configurations.
'';
name = mkOpt types.string ''
Name of the remote write config, which if specified must be unique among remote write configs.
The name will be used in metrics and logging in place of a generated value to help users distinguish between
remote write configs.
'';
basic_auth = mkOpt (types.submodule {
options = {
username = mkOption {
type = types.str;
description = ''
HTTP username
'';
};
password = mkOpt types.str "HTTP password";
password_file = mkOpt types.str "HTTP password file";
};
}) ''
Sets the `Authorization` header on every remote write request with the
configured username and password.
password and password_file are mutually exclusive.
'';
bearer_token = mkOpt types.str ''
Sets the `Authorization` header on every remote write request with
the configured bearer token. It is mutually exclusive with `bearer_token_file`.
'';
bearer_token_file = mkOpt types.str ''
Sets the `Authorization` header on every remote write request with the bearer token
read from the configured file. It is mutually exclusive with `bearer_token`.
'';
tls_config = mkOpt promTypes.tls_config ''
Configures the remote write request's TLS settings.
'';
proxy_url = mkOpt types.str "Optional Proxy URL.";
metadata_config = {
send = mkDefOpt types.bool "true" ''
Whether metric metadata is sent to remote storage or not.
'';
send_interval = mkDefOpt types.str "1m" ''
How frequently metric metadata is sent to remote storage.
'';
};
};
};
promTypes.scrape_config = types.submodule { promTypes.scrape_config = types.submodule {
options = { options = {
job_name = mkOption { job_name = mkOption {
@ -580,6 +702,24 @@ in {
''; '';
}; };
remoteRead = mkOption {
type = types.listOf promTypes.remote_read;
default = [];
description = ''
Parameters of the endpoints to query from.
See <link xlink:href="https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_read">the official documentation</link> for more information.
'';
};
remoteWrite = mkOption {
type = types.listOf promTypes.remote_write;
default = [];
description = ''
Parameters of the endpoints to send samples to.
See <link xlink:href="https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write">the official documentation</link> for more information.
'';
};
rules = mkOption { rules = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = []; default = [];

View file

@ -3,7 +3,7 @@
let let
inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption types; inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption types;
inherit (lib) literalExample mapAttrs optionalString; inherit (lib) literalExample mapAttrs optionalString versionAtLeast;
cfg = config.services.zabbixWeb; cfg = config.services.zabbixWeb;
fpm = config.services.phpfpm.pools.zabbix; fpm = config.services.phpfpm.pools.zabbix;
@ -28,6 +28,8 @@ let
$ZBX_SERVER_PORT = '${toString cfg.server.port}'; $ZBX_SERVER_PORT = '${toString cfg.server.port}';
$ZBX_SERVER_NAME = '''; $ZBX_SERVER_NAME = ''';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG; $IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
${cfg.extraConfig}
''; '';
in in
@ -143,6 +145,14 @@ in
''; '';
}; };
extraConfig = mkOption {
type = types.lines;
default = "";
description = ''
Additional configuration to be copied verbatim into <filename>zabbix.conf.php</filename>.
'';
};
}; };
}; };
@ -150,6 +160,10 @@ in
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.zabbixWeb.extraConfig = optionalString ((versionAtLeast config.system.stateVersion "20.09") && (versionAtLeast cfg.package.version "5.0.0")) ''
$DB['DOUBLE_IEEE754'] = 'true';
'';
systemd.tmpfiles.rules = [ systemd.tmpfiles.rules = [
"d '${stateDir}' 0750 ${user} ${group} - -" "d '${stateDir}' 0750 ${user} ${group} - -"
"d '${stateDir}/session' 0750 ${user} ${config.services.httpd.group} - -" "d '${stateDir}/session' 0750 ${user} ${config.services.httpd.group} - -"

View file

@ -1,9 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib; with lib;
let let
xcfg = config.services.xserver; xcfg = config.services.xserver;
dmcfg = xcfg.displayManager; dmcfg = xcfg.displayManager;
cfg = dmcfg.sddm; cfg = dmcfg.sddm;
@ -11,87 +9,86 @@ let
sddm = pkgs.libsForQt5.sddm; sddm = pkgs.libsForQt5.sddm;
xserverWrapper = pkgs.writeScript "xserver-wrapper" '' iniFmt = pkgs.formats.ini { };
#!/bin/sh
xserverWrapper = pkgs.writeShellScript "xserver-wrapper" ''
${concatMapStrings (n: "export ${n}=\"${getAttr n xEnv}\"\n") (attrNames xEnv)} ${concatMapStrings (n: "export ${n}=\"${getAttr n xEnv}\"\n") (attrNames xEnv)}
exec systemd-cat -t xserver-wrapper ${dmcfg.xserverBin} ${toString dmcfg.xserverArgs} "$@" exec systemd-cat -t xserver-wrapper ${dmcfg.xserverBin} ${toString dmcfg.xserverArgs} "$@"
''; '';
Xsetup = pkgs.writeScript "Xsetup" '' Xsetup = pkgs.writeShellScript "Xsetup" ''
#!/bin/sh
${cfg.setupScript} ${cfg.setupScript}
${dmcfg.setupCommands} ${dmcfg.setupCommands}
''; '';
Xstop = pkgs.writeScript "Xstop" '' Xstop = pkgs.writeShellScript "Xstop" ''
#!/bin/sh
${cfg.stopScript} ${cfg.stopScript}
''; '';
cfgFile = pkgs.writeText "sddm.conf" '' defaultConfig = {
[General] General = {
HaltCommand=/run/current-system/systemd/bin/systemctl poweroff HaltCommand = "/run/current-system/systemd/bin/systemctl poweroff";
RebootCommand=/run/current-system/systemd/bin/systemctl reboot RebootCommand = "/run/current-system/systemd/bin/systemctl reboot";
${optionalString cfg.autoNumlock '' Numlock = if cfg.autoNumlock then "on" else "none"; # on, off none
Numlock=on };
''}
[Theme] Theme = {
Current=${cfg.theme} Current = cfg.theme;
ThemeDir=/run/current-system/sw/share/sddm/themes ThemeDir = "/run/current-system/sw/share/sddm/themes";
FacesDir=/run/current-system/sw/share/sddm/faces FacesDir = "/run/current-system/sw/share/sddm/faces";
};
[Users] Users = {
MaximumUid=${toString config.ids.uids.nixbld} MaximumUid = config.ids.uids.nixbld;
HideUsers=${concatStringsSep "," dmcfg.hiddenUsers} HideUsers = concatStringsSep "," dmcfg.hiddenUsers;
HideShells=/run/current-system/sw/bin/nologin HideShells = "/run/current-system/sw/bin/nologin";
};
[X11] X11 = {
MinimumVT=${toString (if xcfg.tty != null then xcfg.tty else 7)} MinimumVT = if xcfg.tty != null then xcfg.tty else 7;
ServerPath=${xserverWrapper} ServerPath = toString xserverWrapper;
XephyrPath=${pkgs.xorg.xorgserver.out}/bin/Xephyr XephyrPath = "${pkgs.xorg.xorgserver.out}/bin/Xephyr";
SessionCommand=${dmcfg.sessionData.wrapper} SessionCommand = toString dmcfg.sessionData.wrapper;
SessionDir=${dmcfg.sessionData.desktops}/share/xsessions SessionDir = "${dmcfg.sessionData.desktops}/share/xsessions";
XauthPath=${pkgs.xorg.xauth}/bin/xauth XauthPath = "${pkgs.xorg.xauth}/bin/xauth";
DisplayCommand=${Xsetup} DisplayCommand = toString Xsetup;
DisplayStopCommand=${Xstop} DisplayStopCommand = toString Xstop;
EnableHidpi=${boolToString cfg.enableHidpi} EnableHiDPI = cfg.enableHidpi;
};
[Wayland] Wayland = {
EnableHidpi=${boolToString cfg.enableHidpi} EnableHiDPI = cfg.enableHidpi;
SessionDir=${dmcfg.sessionData.desktops}/share/wayland-sessions SessionDir = "${dmcfg.sessionData.desktops}/share/wayland-sessions";
};
} // lib.optionalAttrs dmcfg.autoLogin.enable {
Autologin = {
User = dmcfg.autoLogin.user;
Session = autoLoginSessionName;
Relogin = cfg.autoLogin.relogin;
};
};
${optionalString dmcfg.autoLogin.enable '' cfgFile =
[Autologin] iniFmt.generate "sddm.conf" (lib.recursiveUpdate defaultConfig cfg.settings);
User=${dmcfg.autoLogin.user}
Session=${autoLoginSessionName}.desktop
Relogin=${boolToString cfg.autoLogin.relogin}
''}
${cfg.extraConfig} autoLoginSessionName =
''; "${dmcfg.sessionData.autologinSession}.desktop";
autoLoginSessionName = dmcfg.sessionData.autologinSession;
in in
{ {
imports = [ imports = [
(mkRemovedOptionModule [ "services" "xserver" "displayManager" "sddm" "themes" ] (mkRemovedOptionModule
[ "services" "xserver" "displayManager" "sddm" "themes" ]
"Set the option `services.xserver.displayManager.sddm.package' instead.") "Set the option `services.xserver.displayManager.sddm.package' instead.")
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "autoLogin" "enable" ] [ (mkRenamedOptionModule
"services" [ "services" "xserver" "displayManager" "sddm" "autoLogin" "enable" ]
"xserver" [ "services" "xserver" "displayManager" "autoLogin" "enable" ])
"displayManager" (mkRenamedOptionModule
"autoLogin" [ "services" "xserver" "displayManager" "sddm" "autoLogin" "user" ]
"enable" [ "services" "xserver" "displayManager" "autoLogin" "user" ])
]) (mkRemovedOptionModule
(mkRenamedOptionModule [ "services" "xserver" "displayManager" "sddm" "autoLogin" "user" ] [ [ "services" "xserver" "displayManager" "sddm" "extraConfig" ]
"services" "Set the option `services.xserver.displayManager.sddm.settings' instead.")
"xserver"
"displayManager"
"autoLogin"
"user"
])
]; ];
options = { options = {
@ -110,22 +107,22 @@ in
default = true; default = true;
description = '' description = ''
Whether to enable automatic HiDPI mode. Whether to enable automatic HiDPI mode.
</para>
<para>
Versions up to 0.17 are broken so this only works from 0.18 onwards.
''; '';
}; };
extraConfig = mkOption { settings = mkOption {
type = types.lines; type = iniFmt.type;
default = ""; default = { };
example = '' example = ''
[Autologin] {
User=john Autologin = {
Session=plasma.desktop User = "john";
Session = "plasma.desktop";
};
}
''; '';
description = '' description = ''
Extra lines appended to the configuration of SDDM. Extra settings merged in and overwritting defaults in sddm.conf.
''; '';
}; };
@ -168,28 +165,38 @@ in
}; };
# Configuration for automatic login specific to SDDM # Configuration for automatic login specific to SDDM
autoLogin.relogin = mkOption { autoLogin = {
type = types.bool; relogin = mkOption {
default = false; type = types.bool;
description = '' default = false;
If true automatic login will kick in again on session exit (logout), otherwise it description = ''
will only log in automatically when the display-manager is started. If true automatic login will kick in again on session exit (logout), otherwise it
''; will only log in automatically when the display-manager is started.
'';
};
minimumUid = mkOption {
type = types.ints.u16;
default = 1000;
description = ''
Minimum user ID for auto-login user.
'';
};
}; };
}; };
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
assertions = [ assertions = [
{ assertion = xcfg.enable; {
assertion = xcfg.enable;
message = '' message = ''
SDDM requires services.xserver.enable to be true SDDM requires services.xserver.enable to be true
''; '';
} }
{ assertion = dmcfg.autoLogin.enable -> autoLoginSessionName != null; {
assertion = dmcfg.autoLogin.enable -> autoLoginSessionName != null;
message = '' message = ''
SDDM auto-login requires that services.xserver.displayManager.defaultSession is set. SDDM auto-login requires that services.xserver.displayManager.defaultSession is set.
''; '';
@ -230,7 +237,7 @@ in
sddm-autologin.text = '' sddm-autologin.text = ''
auth requisite pam_nologin.so auth requisite pam_nologin.so
auth required pam_succeed_if.so uid >= 1000 quiet auth required pam_succeed_if.so uid >= ${toString cfg.autoLogin.minimumUid} quiet
auth required pam_permit.so auth required pam_permit.so
account include sddm account include sddm

View file

@ -5,25 +5,37 @@ let
inherit (lib) mkOption mkIf optionals literalExample; inherit (lib) mkOption mkIf optionals literalExample;
cfg = config.services.xserver.windowManager.xmonad; cfg = config.services.xserver.windowManager.xmonad;
ghcWithPackages = cfg.haskellPackages.ghcWithPackages;
packages = self: cfg.extraPackages self ++
optionals cfg.enableContribAndExtras
[ self.xmonad-contrib self.xmonad-extras ];
xmonad-vanilla = pkgs.xmonad-with-packages.override { xmonad-vanilla = pkgs.xmonad-with-packages.override {
ghcWithPackages = cfg.haskellPackages.ghcWithPackages; inherit ghcWithPackages packages;
packages = self: cfg.extraPackages self ++
optionals cfg.enableContribAndExtras
[ self.xmonad-contrib self.xmonad-extras ];
}; };
xmonad-config = pkgs.writers.writeHaskellBin "xmonad" { xmonad-config =
ghc = cfg.haskellPackages.ghc; let
libraries = [ cfg.haskellPackages.xmonad ] ++ xmonadAndPackages = self: [ self.xmonad ] ++ packages self;
cfg.extraPackages cfg.haskellPackages ++ xmonadEnv = ghcWithPackages xmonadAndPackages;
optionals cfg.enableContribAndExtras configured = pkgs.writers.writeHaskellBin "xmonad" {
(with cfg.haskellPackages; [ xmonad-contrib xmonad-extras ]); ghc = cfg.haskellPackages.ghc;
inherit (cfg) ghcArgs; libraries = xmonadAndPackages cfg.haskellPackages;
} cfg.config; inherit (cfg) ghcArgs;
} cfg.config;
in
pkgs.runCommandLocal "xmonad" {
nativeBuildInputs = [ pkgs.makeWrapper ];
} ''
install -D ${xmonadEnv}/share/man/man1/xmonad.1.gz $out/share/man/man1/xmonad.1.gz
makeWrapper ${configured}/bin/xmonad $out/bin/xmonad \
--set NIX_GHC "${xmonadEnv}/bin/ghc" \
--set XMONAD_XMESSAGE "${pkgs.xorg.xmessage}/bin/xmessage"
'';
xmonad = if (cfg.config != null) then xmonad-config else xmonad-vanilla; xmonad = if (cfg.config != null) then xmonad-config else xmonad-vanilla;
in { in {
meta.maintainers = with maintainers; [ lassulus xaverdh ]; meta.maintainers = with maintainers; [ lassulus xaverdh ivanbrennan ];
options = { options = {
services.xserver.windowManager.xmonad = { services.xserver.windowManager.xmonad = {
@ -72,13 +84,13 @@ in {
This setup is then analogous to other (non-NixOS) linux distributions. This setup is then analogous to other (non-NixOS) linux distributions.
If you do set this option, you likely want to use "launch" as your If you do set this option, you likely want to use "launch" as your
entry point for xmonad (as in the example), to avoid xmonads entry point for xmonad (as in the example), to avoid xmonad's
recompilation logic on startup. Doing so will render the default recompilation logic on startup. Doing so will render the default
"mod+q" restart key binding dysfunctional though, because that attempts "mod+q" restart key binding dysfunctional though, because that attempts
to call your binary with the "--restart" command line option, unless to call your binary with the "--restart" command line option, unless
you implement that yourself. You way mant to bind "mod+q" to you implement that yourself. You way mant to bind "mod+q" to
<literal>(restart "xmonad" True)</literal> instead, which will just restart <literal>(restart "xmonad" True)</literal> instead, which will just restart
xmonad from PATH. This allows e.g. switching to the new xmonad binary, xmonad from PATH. This allows e.g. switching to the new xmonad binary
after rebuilding your system with nixos-rebuild. after rebuilding your system with nixos-rebuild.
If you actually want to run xmonad with a config specified here, but If you actually want to run xmonad with a config specified here, but
@ -91,6 +103,7 @@ in {
example = '' example = ''
import XMonad import XMonad
import XMonad.Util.EZConfig (additionalKeys) import XMonad.Util.EZConfig (additionalKeys)
import Control.Monad (when)
import Text.Printf (printf) import Text.Printf (printf)
import System.Posix.Process (executeFile) import System.Posix.Process (executeFile)
import System.Info (arch,os) import System.Info (arch,os)
@ -99,16 +112,21 @@ in {
compiledConfig = printf "xmonad-%s-%s" arch os compiledConfig = printf "xmonad-%s-%s" arch os
compileRestart = whenX (recompile True) . catchIO $ do compileRestart resume =
dir <- getXMonadDataDir whenX (recompile True) $
args <- getArgs when resume writeStateToFile
executeFile (dir </> compiledConfig) False args Nothing *> catchIO
( do
dir <- getXMonadDataDir
args <- getArgs
executeFile (dir </> compiledConfig) False args Nothing
)
main = launch defaultConfig main = launch defaultConfig
{ modMask = mod4Mask -- Use Super instead of Alt { modMask = mod4Mask -- Use Super instead of Alt
, terminal = "urxvt" } , terminal = "urxvt" }
`additionalKeys` `additionalKeys`
[ ( (mod4Mask,xK_r), compileRestart ) [ ( (mod4Mask,xK_r), compileRestart True)
, ( (mod4Mask,xK_q), restart "xmonad" True ) ] , ( (mod4Mask,xK_q), restart "xmonad" True ) ]
''; '';
}; };

View file

@ -46,7 +46,9 @@ import ./make-test-python.nix ({ lib, pkgs, ... }:
machine.wait_for_open_port(9080) machine.wait_for_open_port(9080)
machine.succeed("echo 'Loki Ingestion Test' > /var/log/testlog") machine.succeed("echo 'Loki Ingestion Test' > /var/log/testlog")
# should not have access to journal unless specified # should not have access to journal unless specified
machine.fail("systemctl show --property=SupplementaryGroups promtail | grep -q systemd-journal") machine.fail(
"systemctl show --property=SupplementaryGroups promtail | grep -q systemd-journal"
)
machine.wait_until_succeeds( machine.wait_until_succeeds(
"${pkgs.grafana-loki}/bin/logcli --addr='http://localhost:3100' query --no-labels '{job=\"varlogs\",filename=\"/var/log/testlog\"}' | grep -q 'Loki Ingestion Test'" "${pkgs.grafana-loki}/bin/logcli --addr='http://localhost:3100' query --no-labels '{job=\"varlogs\",filename=\"/var/log/testlog\"}' | grep -q 'Loki Ingestion Test'"
) )

View file

@ -21,15 +21,16 @@ stdenv.mkDerivation rec {
preConfigure = "./autogen.sh"; preConfigure = "./autogen.sh";
postInstall = '' postInstall = lib.optionalString stdenv.isLinux ''
patchelf --set-rpath "$(patchelf --print-rpath $out/bin/espeak-ng)" $out/bin/speak-ng patchelf --set-rpath "$(patchelf --print-rpath $out/bin/espeak-ng)" $out/bin/speak-ng
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Open source speech synthesizer that supports over 70 languages, based on eSpeak"; description = "Open source speech synthesizer that supports over 70 languages, based on eSpeak";
homepage = src.meta.homepage; homepage = "https://github.com/espeak-ng/espeak-ng";
changelog = "https://github.com/espeak-ng/espeak-ng/blob/${version}/CHANGELOG.md";
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ aske ]; maintainers = with maintainers; [ aske ];
platforms = platforms.linux; platforms = platforms.all;
}; };
} }

View file

@ -2,21 +2,18 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "mopidy-tunein"; pname = "mopidy-tunein";
version = "1.0.0"; version = "1.0.2";
src = python3Packages.fetchPypi { src = python3Packages.fetchPypi {
inherit version; inherit version;
pname = "Mopidy-TuneIn"; pname = "Mopidy-TuneIn";
sha256 = "0insasf4w8ajsqjh5zmax7pkzmrk1p245vh4y8ddicldj45p6qfj"; sha256 = "1mvfhka8wi835yk9869yn3b6mdkfwqkylp14vpjkbm42d0kj4lkc";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
mopidy mopidy
]; ];
# tests fail with "ValueError: Namespace Gst not available" in mopidy itself
doCheck = false;
pythonImportsCheck = [ "mopidy_tunein.tunein" ]; pythonImportsCheck = [ "mopidy_tunein.tunein" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, unzip, mpg123 }: { stdenv, fetchurl, fetchpatch, unzip, mpg123 }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "mp3gain-1.6.2"; name = "mp3gain-1.6.2";
@ -11,17 +11,25 @@ stdenv.mkDerivation {
sourceRoot = "."; sourceRoot = ".";
patches = [
(fetchpatch {
name = "0001-fix-security-bugs.patch";
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-sound/mp3gain/files/mp3gain-1.6.2-CVE-2019-18359-plus.patch?id=36f8689f7903548f5d89827a6e7bdf70a9882cee";
sha256 = "10n53wm0xynlcxqlnaqfgamjzcpfz41q1jlg0bhw4kq1kzhs4yyw";
})
];
buildFlags = [ "OSTYPE=linux" ]; buildFlags = [ "OSTYPE=linux" ];
installPhase = '' installPhase = ''
install -vD mp3gain "$out/bin/mp3gain" install -vD mp3gain "$out/bin/mp3gain"
''; '';
meta = { meta = with stdenv.lib; {
description = "Lossless mp3 normalizer with statistical analysis"; description = "Lossless mp3 normalizer with statistical analysis";
homepage = "http://mp3gain.sourceforge.net/"; homepage = "http://mp3gain.sourceforge.net/";
license = stdenv.lib.licenses.lgpl21; license = licenses.lgpl21;
platforms = stdenv.lib.platforms.linux; platforms = platforms.linux;
maintainers = [ stdenv.lib.maintainers.devhell ]; maintainers = with maintainers; [ devhell ];
}; };
} }

View file

@ -1,5 +1,5 @@
{ fetchurl, stdenv, pkgconfig, intltool, libpulseaudio, gtkmm3 { fetchurl, fetchpatch, stdenv, pkgconfig, intltool, libpulseaudio,
, libcanberra-gtk3, gnome3, wrapGAppsHook }: gtkmm3 , libcanberra-gtk3, gnome3, wrapGAppsHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "pavucontrol"; pname = "pavucontrol";
@ -10,6 +10,15 @@ stdenv.mkDerivation rec {
sha256 = "1qhlkl3g8d7h72xjskii3g1l7la2cavwp69909pzmbi2jyn5pi4g"; sha256 = "1qhlkl3g8d7h72xjskii3g1l7la2cavwp69909pzmbi2jyn5pi4g";
}; };
patches = [
# Can be removed with the next version bump
# https://gitlab.freedesktop.org/pulseaudio/pavucontrol/-/merge_requests/20
(fetchpatch {
name = "streamwidget-fix-drop-down-wayland.patch";
url = "https://gitlab.freedesktop.org/pulseaudio/pavucontrol/-/commit/ae278b8643cf1089f66df18713c8154208d9a505.patch";
sha256 = "066vhxjz6gmi2sp2n4pa1cdsxjnq6yml5js094g5n7ld34p84dpj";
})];
buildInputs = [ libpulseaudio gtkmm3 libcanberra-gtk3 buildInputs = [ libpulseaudio gtkmm3 libcanberra-gtk3
gnome3.adwaita-icon-theme ]; gnome3.adwaita-icon-theme ];

View file

@ -8,13 +8,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "pt2-clone"; pname = "pt2-clone";
version = "1.26_fix"; version = "1.27";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "8bitbubsy"; owner = "8bitbubsy";
repo = "pt2-clone"; repo = "pt2-clone";
rev = "v${version}"; rev = "v${version}";
sha256 = "1ikhgagniiq4irsy8i3g64m6cl61lnfvs163n8gs4hm426yckyb8"; sha256 = "1hg36pfzgdbhd5bkzi3cpn6v39q8xis2jk7w6qm615r587393pwd";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View file

@ -5,8 +5,6 @@
, installShellFiles , installShellFiles
, flac , flac
, sox , sox
, withAucdtect ? false
, aucdtect ? null
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -36,7 +34,7 @@ stdenv.mkDerivation rec {
postFixup = '' postFixup = ''
wrapProgram $out/bin/redoflacs \ wrapProgram $out/bin/redoflacs \
--prefix PATH : ${stdenv.lib.makeBinPath ([ flac sox ] ++ lib.optional withAucdtect aucdtect)} --prefix PATH : ${stdenv.lib.makeBinPath ([ flac sox ])}
''; '';
meta = with lib; { meta = with lib; {

View file

@ -0,0 +1,39 @@
{ stdenv
, fetchsvn
, pkg-config
, which
, autoconf
, automake
, libtool
, hexdump
, libao
, zlib
, curl
}:
stdenv.mkDerivation rec {
pname = "sc68";
version = "unstable-2020-05-18";
src = fetchsvn {
url = "svn://svn.code.sf.net/p/sc68/code/";
rev = "693";
sha256 = "0liz5yjwiy41y160ag83zz9s5l8mk72fscxgvjv9g5qf4gwffnfa";
};
preConfigure = "tools/svn-bootstrap.sh";
enableParallelBuilding = true;
nativeBuildInputs = [ pkg-config which autoconf automake libtool hexdump ];
buildInputs = [ libao zlib curl ];
meta = with stdenv.lib; {
description = "Atari ST and Amiga music player";
homepage = "http://sc68.atari.org/project.html";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ OPNA2608 ];
platforms = platforms.all;
};
}

View file

@ -2,12 +2,12 @@
let let
pname = "ledger-live-desktop"; pname = "ledger-live-desktop";
version = "2.18.0"; version = "2.19.0";
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage"; url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
sha256 = "19sx9n5mij68v07vy65h1c16rgbpll3kagr437cjb7r95k3nk2zn"; sha256 = "13z4v64z58b8fxph3rgjqy1z1y2agmarfr8cihlkf0ndssicasdl";
}; };
appimageContents = appimageTools.extractType2 { appimageContents = appimageTools.extractType2 {

View file

@ -260,7 +260,7 @@ rec {
src = fetchzip { src = fetchzip {
stripRoot = false; stripRoot = false;
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/10.1/${name}/${name}.zip"; url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/10.1/${name}/${name}.zip";
sha256 = "q0O6OE2u0bdz1+nOkzXDrrOOzoEbVaXnejx4lX7uZgk="; sha256 = "1hbswcar3a5cw20mwrj82w9pvpkvvj6jrvqqf1lincva0r5sl7h8";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {

View file

@ -27,3 +27,11 @@ sed -i "s/x86_64-linux = \".\{52\}\"/x86_64-linux = \"${VSCODE_LINUX_SHA256}\"/"
VSCODE_DARWIN_URL="https://vscode-update.azurewebsites.net/${VSCODE_VER}/darwin/stable" VSCODE_DARWIN_URL="https://vscode-update.azurewebsites.net/${VSCODE_VER}/darwin/stable"
VSCODE_DARWIN_SHA256=$(nix-prefetch-url ${VSCODE_DARWIN_URL}) VSCODE_DARWIN_SHA256=$(nix-prefetch-url ${VSCODE_DARWIN_URL})
sed -i "s/x86_64-darwin = \".\{52\}\"/x86_64-darwin = \"${VSCODE_DARWIN_SHA256}\"/" "$ROOT/vscode.nix" sed -i "s/x86_64-darwin = \".\{52\}\"/x86_64-darwin = \"${VSCODE_DARWIN_SHA256}\"/" "$ROOT/vscode.nix"
VSCODE_LINUX_AARCH64_URL="https://vscode-update.azurewebsites.net/${VSCODE_VER}/linux-arm64/stable"
VSCODE_LINUX_AARCH64_SHA256=$(nix-prefetch-url ${VSCODE_LINUX_AARCH64_URL})
sed -i "s/aarch64-linux = \".\{52\}\"/aarch64-linux = \"${VSCODE_LINUX_AARCH64_SHA256}\"/" "$ROOT/vscode.nix"
VSCODE_LINUX_ARMV7L_URL="https://vscode-update.azurewebsites.net/${VSCODE_VER}/linux-armhf/stable"
VSCODE_LINUX_ARMV7L_SHA256=$(nix-prefetch-url ${VSCODE_LINUX_ARMV7L_URL})
sed -i "s/armv7l-linux = \".\{52\}\"/armv7l-linux = \"${VSCODE_LINUX_ARMV7L_SHA256}\"/" "$ROOT/vscode.nix"

View file

@ -19,10 +19,18 @@ fi
VSCODIUM_VER=$(curl -Ls -w %{url_effective} -o /dev/null https://github.com/VSCodium/vscodium/releases/latest | awk -F'/' '{print $NF}') VSCODIUM_VER=$(curl -Ls -w %{url_effective} -o /dev/null https://github.com/VSCodium/vscodium/releases/latest | awk -F'/' '{print $NF}')
sed -i "s/version = \".*\"/version = \"${VSCODIUM_VER}\"/" "$ROOT/vscodium.nix" sed -i "s/version = \".*\"/version = \"${VSCODIUM_VER}\"/" "$ROOT/vscodium.nix"
VSCODIUM_LINUX_URL="https://github.com/VSCodium/vscodium/releases/download/${VSCODIUM_VER}/VSCodium-linux-x64-${VSCODIUM_VER}.tar.gz" VSCODIUM_LINUX_X64_URL="https://github.com/VSCodium/vscodium/releases/download/${VSCODIUM_VER}/VSCodium-linux-x64-${VSCODIUM_VER}.tar.gz"
VSCODIUM_LINUX_SHA256=$(nix-prefetch-url ${VSCODIUM_LINUX_URL}) VSCODIUM_LINUX_X64_SHA256=$(nix-prefetch-url ${VSCODIUM_LINUX_X64_URL})
sed -i "s/x86_64-linux = \".\{52\}\"/x86_64-linux = \"${VSCODIUM_LINUX_SHA256}\"/" "$ROOT/vscodium.nix" sed -i "s/x86_64-linux = \".\{52\}\"/x86_64-linux = \"${VSCODIUM_LINUX_X64_SHA256}\"/" "$ROOT/vscodium.nix"
VSCODIUM_DARWIN_URL="https://github.com/VSCodium/vscodium/releases/download/${VSCODIUM_VER}/VSCodium-darwin-x64-${VSCODIUM_VER}.zip" VSCODIUM_DARWIN_X64_URL="https://github.com/VSCodium/vscodium/releases/download/${VSCODIUM_VER}/VSCodium-darwin-x64-${VSCODIUM_VER}.zip"
VSCODIUM_DARWIN_SHA256=$(nix-prefetch-url ${VSCODIUM_DARWIN_URL}) VSCODIUM_DARWIN_X64_SHA256=$(nix-prefetch-url ${VSCODIUM_DARWIN_X64_URL})
sed -i "s/x86_64-darwin = \".\{52\}\"/x86_64-darwin = \"${VSCODIUM_DARWIN_SHA256}\"/" "$ROOT/vscodium.nix" sed -i "s/x86_64-darwin = \".\{52\}\"/x86_64-darwin = \"${VSCODIUM_DARWIN_X64_SHA256}\"/" "$ROOT/vscodium.nix"
VSCODIUM_LINUX_AARCH64_URL="https://github.com/VSCodium/vscodium/releases/download/${VSCODIUM_VER}/VSCodium-linux-arm64-${VSCODIUM_VER}.tar.gz"
VSCODIUM_LINUX_AARCH64_SHA256=$(nix-prefetch-url ${VSCODIUM_LINUX_AARCH64_URL})
sed -i "s/aarch64-linux = \".\{52\}\"/aarch64-linux = \"${VSCODIUM_LINUX_AARCH64_SHA256}\"/" "$ROOT/vscodium.nix"
VSCODIUM_LINUX_ARMV7L_URL="https://github.com/VSCodium/vscodium/releases/download/${VSCODIUM_VER}/VSCodium-linux-armhf-${VSCODIUM_VER}.tar.gz"
VSCODIUM_LINUX_ARMV7L_SHA256=$(nix-prefetch-url ${VSCODIUM_LINUX_ARMV7L_URL})
sed -i "s/armv7l-linux = \".\{52\}\"/armv7l-linux = \"${VSCODIUM_LINUX_ARMV7L_SHA256}\"/" "$ROOT/vscodium.nix"

View file

@ -6,6 +6,8 @@ let
plat = { plat = {
x86_64-linux = "linux-x64"; x86_64-linux = "linux-x64";
x86_64-darwin = "darwin"; x86_64-darwin = "darwin";
aarch64-linux = "linux-arm64";
armv7l-linux = "linux-armhf";
}.${system}; }.${system};
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz"; archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
@ -13,6 +15,8 @@ let
sha256 = { sha256 = {
x86_64-linux = "1kbjbqb03yapz7067q589gaa7d6cqaipj7hmp1l3nh0bmggzsc4c"; x86_64-linux = "1kbjbqb03yapz7067q589gaa7d6cqaipj7hmp1l3nh0bmggzsc4c";
x86_64-darwin = "1qgadm52c5lzkvgvqrz0n8brm4qbjg8hf1dk6a2ynqhqjxcwbj4r"; x86_64-darwin = "1qgadm52c5lzkvgvqrz0n8brm4qbjg8hf1dk6a2ynqhqjxcwbj4r";
aarch64-linux = "0i3yl9rx9h7qkl3k9qk6gg35nhz737qzzbvzvdwkqjaacsbpfgf8";
armv7l-linux = "19iz2bxcq6y8sklr6zcnbp47kki9l00x3nvr213lkk3kj08l0afv";
}.${system}; }.${system};
in in
callPackage ./generic.nix rec { callPackage ./generic.nix rec {
@ -52,6 +56,6 @@ in
downloadPage = "https://code.visualstudio.com/Updates"; downloadPage = "https://code.visualstudio.com/Updates";
license = licenses.unfree; license = licenses.unfree;
maintainers = with maintainers; [ eadwu synthetica ]; maintainers = with maintainers; [ eadwu synthetica ];
platforms = [ "x86_64-linux" "x86_64-darwin" ]; platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "armv7l-linux" ];
}; };
} }

View file

@ -6,18 +6,24 @@ let
plat = { plat = {
x86_64-linux = "linux-x64"; x86_64-linux = "linux-x64";
x86_64-darwin = "darwin"; x86_64-darwin = "darwin";
aarch64-linux = "linux-arm64";
armv7l-linux = "linux-armhf";
}.${system}; }.${system};
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz"; archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
sha256 = { sha256 = {
x86_64-linux = "0hn4pqmabz3qf3bbqnn1fz7fcgzdkp2lwr2yzgmx8hhh3cff8bnb"; x86_64-linux = "1ckg279vvg8h1n8ippa9vlyw4vk3frinb6fvvi47zggs31168m7b";
x86_64-darwin = "1x3wx0d99ihyya0n89qclc3jlhh0m72hs8hj7l0h3z6zmh6q2vzv"; x86_64-darwin = "168g34v2b8r1pdbnqrs0c0k9aa60n5rspixziywnq7m61i23nlgd";
aarch64-linux = "1cd4sg6k7sqmj3yzmprq1rz928bvc3zrch8agfd8zfap1d6nfaal";
armv7l-linux = "0f8z4lws027dyqhcrkzm9rvifwid5m0icprg0xk01l7y18n3q923";
}.${system}; }.${system};
sourceRoot = { sourceRoot = {
x86_64-linux = "."; x86_64-linux = ".";
x86_64-darwin = ""; x86_64-darwin = "";
aarch64-linux = ".";
armv7l-linux = ".";
}.${system}; }.${system};
in in
callPackage ./generic.nix rec { callPackage ./generic.nix rec {
@ -27,7 +33,7 @@ in
# Please backport all compatible updates to the stable release. # Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem. # This is important for the extension ecosystem.
version = "1.51.1"; version = "1.52.1";
pname = "vscodium"; pname = "vscodium";
executableName = "codium"; executableName = "codium";
@ -55,6 +61,6 @@ in
downloadPage = "https://github.com/VSCodium/vscodium/releases"; downloadPage = "https://github.com/VSCodium/vscodium/releases";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ synthetica turion ]; maintainers = with maintainers; [ synthetica turion ];
platforms = [ "x86_64-linux" "x86_64-darwin" ]; platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "armv7l-linux" ];
}; };
} }

View file

@ -7,12 +7,12 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "3.2.1"; version = "3.4.0";
pname = "darktable"; pname = "darktable";
src = fetchurl { src = fetchurl {
url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz"; url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
sha256 = "035rvqmw386hm0jpi14lf4dnpr5rjkalzjkyprqh42nwi3m86dkf"; sha256 = "6dd3de1f5ea9f94af92838c0be5ff30fdaa599aa1d737dcb562f9e0b2b2dbdda";
}; };
nativeBuildInputs = [ cmake ninja llvm pkgconfig intltool perl desktop-file-utils wrapGAppsHook ]; nativeBuildInputs = [ cmake ninja llvm pkgconfig intltool perl desktop-file-utils wrapGAppsHook ];

View file

@ -20,6 +20,17 @@ buildGoModule rec {
-ldflags=-s -w -X github.com/tomwright/dasel/internal.Version=${version} -ldflags=-s -w -X github.com/tomwright/dasel/internal.Version=${version}
''; '';
doInstallCheck = true;
installCheckPhase = ''
if [[ "$("$out/bin/${pname}" --version)" == "${pname} version ${version}" ]]; then
echo "" | $out/bin/dasel put object -p yaml -t string -t int "my.favourites" colour=red number=3 | grep -q red
echo '${pname} smoke check passed'
else
echo '${pname} smoke check failed'
return 1
fi
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Query and update data structures from the command line"; description = "Query and update data structures from the command line";
longDescription = '' longDescription = ''

View file

@ -19,7 +19,7 @@
}: }:
let let
version = "4.0.7"; version = "4.0.9";
libsecp256k1_name = libsecp256k1_name =
if stdenv.isLinux then "libsecp256k1.so.0" if stdenv.isLinux then "libsecp256k1.so.0"
@ -35,7 +35,7 @@ let
owner = "spesmilo"; owner = "spesmilo";
repo = "electrum"; repo = "electrum";
rev = version; rev = version;
sha256 = "06vcbj9p96d8v4xjlygzr74lqllb9adn8k0racajzq61ijb0imi2"; sha256 = "0cmdyfabllw4wnpqpdxp3l6hjnm0cvkwxn0z8ph4x54sf4zq9iz3";
extraPostFetch = '' extraPostFetch = ''
mv $out ./all mv $out ./all
@ -50,7 +50,7 @@ python3.pkgs.buildPythonApplication {
src = fetchurl { src = fetchurl {
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz"; url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
sha256 = "0k5xf97ga3ixd02g1y6v84hbxd8yhvpj5iz2rhxs8wfnkfwibzh4"; sha256 = "1fvjiagi78f32nxgr2rx8jas8hxfvpp1c8fpfcalvykmlhdc2gva";
}; };
postUnpack = '' postUnpack = ''

View file

@ -2,11 +2,11 @@
buildPythonApplication rec { buildPythonApplication rec {
pname = "gallery_dl"; pname = "gallery_dl";
version = "1.16.0"; version = "1.16.1";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "35df7605a21a05c3290f4324289fd6f584029f4135a8220dec7d490c4e742a1c"; sha256 = "51d789aac43013e25c1fad553f214cb1f43b1ae02e0651b640f102c5b9280aea";
}; };
propagatedBuildInputs = [ requests ]; propagatedBuildInputs = [ requests ];

View file

@ -2,13 +2,13 @@
mkDerivation rec { mkDerivation rec {
pname = "gpxsee"; pname = "gpxsee";
version = "7.37"; version = "8.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tumic0"; owner = "tumic0";
repo = "GPXSee"; repo = "GPXSee";
rev = version; rev = version;
sha256 = "0fpb43smh0kwic5pdxs46c0hkqj8g084h72pa024x1my6w12y9b8"; sha256 = "01ggakpzmiwkqdzc9xqc93xmynd53kzpwl99q3l9z2hpqyzlnj2a";
}; };
patches = (substituteAll { patches = (substituteAll {
@ -37,7 +37,7 @@ mkDerivation rec {
''; '';
homepage = "https://www.gpxsee.org/"; homepage = "https://www.gpxsee.org/";
changelog = "https://build.opensuse.org/package/view_file/home:tumic:GPXSee/gpxsee/gpxsee.changes"; changelog = "https://build.opensuse.org/package/view_file/home:tumic:GPXSee/gpxsee/gpxsee.changes";
license = licenses.gpl3; license = licenses.gpl3Only;
maintainers = with maintainers; [ womfoo sikmir ]; maintainers = with maintainers; [ womfoo sikmir ];
platforms = with platforms; linux ++ darwin; platforms = with platforms; linux ++ darwin;
}; };

View file

@ -1,18 +1,18 @@
diff --git i/src/GUI/app.cpp w/src/GUI/app.cpp diff --git i/src/GUI/app.cpp w/src/GUI/app.cpp
index 10e84d5..1e0abbe 100644 index 37e9d3f..d4a065c 100644
--- i/src/GUI/app.cpp --- i/src/GUI/app.cpp
+++ w/src/GUI/app.cpp +++ w/src/GUI/app.cpp
@@ -34,11 +34,10 @@ App::App(int &argc, char **argv) : QApplication(argc, argv) @@ -35,11 +35,10 @@ App::App(int &argc, char **argv) : QApplication(argc, argv)
installTranslator(gpxsee); installTranslator(gpxsee);
QTranslator *qt = new QTranslator(this); QTranslator *qt = new QTranslator(this);
-#if defined(Q_OS_WIN32) || defined(Q_OS_MAC) -#if defined(Q_OS_WIN32) || defined(Q_OS_MAC)
+#if defined(Q_OS_WIN32) +#if defined(Q_OS_WIN32)
qt->load(QLocale::system(), "qt", "_", ProgramPaths::translationsDir()); if (qt->load(QLocale::system(), "qt", "_", ProgramPaths::translationsDir()))
#else // Q_OS_WIN32 || Q_OS_MAC #else // Q_OS_WIN32 || Q_OS_MAC
- qt->load(QLocale::system(), "qt", "_", QLibraryInfo::location( - if (qt->load(QLocale::system(), "qt", "_", QLibraryInfo::location(
- QLibraryInfo::TranslationsPath)); - QLibraryInfo::TranslationsPath)))
+ qt->load(QLocale::system(), "qt", "_", QLatin1String("@qttranslations@/translations")); + if (qt->load(QLocale::system(), "qt", "_", QLatin1String("@qttranslations@/translations")))
#endif // Q_OS_WIN32 || Q_OS_MAC #endif // Q_OS_WIN32 || Q_OS_MAC
installTranslator(qt); installTranslator(qt);

View file

@ -11,12 +11,12 @@
let font-droid = nerdfonts.override { fonts = [ "DroidSansMono" ]; }; let font-droid = nerdfonts.override { fonts = [ "DroidSansMono" ]; };
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "koreader"; pname = "koreader";
version = "2020.11"; version = "2020.12";
src = fetchurl { src = fetchurl {
url = url =
"https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-amd64.deb"; "https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-amd64.deb";
sha256 = "15nw8kyjyhqlr742gkpzn1b9906rdm6cssnc6jbbph5pjdlzspc4"; sha256 = "0x97mm7h8kr1jps0hzdgl9irakma85ikrhzr18wc1plmffgv6kwm";
}; };
sourceRoot = "."; sourceRoot = ".";
@ -47,6 +47,6 @@ in stdenv.mkDerivation rec {
"An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Cervantes, Kindle, Kobo, PocketBook and Android devices"; "An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Cervantes, Kindle, Kobo, PocketBook and Android devices";
platforms = intersectLists platforms.x86_64 platforms.linux; platforms = intersectLists platforms.x86_64 platforms.linux;
license = licenses.agpl3; license = licenses.agpl3;
maintainers = [ maintainers.contrun ]; maintainers = with maintainers; [ contrun neonfuz];
}; };
} }

View file

@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = with pythonPackages; [ pyenchant regex ]; propagatedBuildInputs = with pythonPackages; [ pyenchant regex ];
postFixup = '' postFixup = ''
buildPythonPath "$out" wrapPythonPrograms
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View file

@ -0,0 +1,34 @@
{ stdenv
, fetchFromGitLab
, rustPlatform
, pkg-config
, openssl
, sqlite
, libiconv
, Security
}:
rustPlatform.buildRustPackage rec {
pname = "terminal-typeracer";
version = "2.0.2";
src = fetchFromGitLab {
owner = "ttyperacer";
repo = pname;
rev = "v${version}";
sha256 = "187xrqxalk2gxa22ki5q092llvliddrsc68cg4dvvy2xzq254jfy";
};
cargoSha256 = "0ky8m23fjjbv7fr9776fjczpg0d43jxwnjxjpwz56jpynwnihfkl";
buildInputs = [ openssl sqlite ] ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ];
nativeBuildInputs = [ pkg-config ];
meta = with stdenv.lib; {
description = "An open source terminal based version of Typeracer written in rust";
homepage = "https://gitlab.com/ttyperacer/terminal-typeracer";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ yoctocell ];
platforms = platforms.x86_64;
};
}

View file

@ -6,11 +6,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "upwork"; pname = "upwork";
version = "5.4.7.1"; version = "5.4.9.6";
src = fetchurl { src = fetchurl {
url = "https://updates-desktopapp.upwork.com/binaries/v5_4_7_1_81f361962c74427d/${pname}_5.4.7.1_amd64.deb"; url = "https://upwork-usw2-desktopapp.upwork.com/binaries/v5_4_9_6_2565cdd0547940a2/${pname}_${version}_amd64.deb";
sha256 = "c443724d37bca942ca126b8b207846a5adb94a92ff9490370f2fe055feee347b"; sha256 = "ff6246b3b4a1ed79cc9bca2934652fefb40bdac4b7e95997f3a46e354ce52456";
}; };
dontWrapGApps = true; dontWrapGApps = true;

View file

@ -1,31 +1,28 @@
{ { stdenv, lib, fetchFromGitHub
fehSupport ? false, feh
, imagemagickSupport ? true, imagemagick
, stdenv
, lib
, python37Packages , python37Packages
, fetchFromGitHub , fehSupport ? false, feh
, imagemagickSupport ? true, imagemagick
, intltool , intltool
, gtk3 , gtk3
, gexiv2 , gexiv2
, libnotify , libnotify
, wrapGAppsHook
, gobject-introspection , gobject-introspection
, hicolor-icon-theme , hicolor-icon-theme
, librsvg , librsvg
, wrapGAppsHook
}: }:
with python37Packages; with python37Packages;
buildPythonApplication rec { buildPythonApplication rec {
pname = "variety"; pname = "variety";
version = "0.7.2-96-g3afe3ab"; version = "0.8.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "varietywalls"; owner = "varietywalls";
repo = "variety"; repo = "variety";
rev = "3afe3abf725e5db2aec0db575a17c9907ab20de1"; rev = version;
sha256 = "10vw0202dwrwi497nsbq077v4qd3qn5b8cmkfcsgbvvjwlz7ldm5"; sha256 = "sha256-6dLz4KXavXwnk5GizBH46d2EHMHPjRo0WnnUuVMtI1M=";
}; };
nativeBuildInputs = [ intltool wrapGAppsHook ]; nativeBuildInputs = [ intltool wrapGAppsHook ];
@ -43,31 +40,43 @@ buildPythonApplication rec {
--replace /bin/bash ${stdenv.shell} --replace /bin/bash ${stdenv.shell}
''; '';
propagatedBuildInputs = propagatedBuildInputs = [
[ gtk3 beautifulsoup4
gexiv2 configobj
libnotify dbus-python
beautifulsoup4 gexiv2
lxml gobject-introspection
pycairo gtk3
pygobject3 hicolor-icon-theme
configobj httplib2
pillow libnotify
setuptools librsvg
requests lxml
httplib2 pillow
dbus-python pycairo
gobject-introspection pygobject3
hicolor-icon-theme requests
librsvg setuptools
] ] ++ lib.optional fehSupport feh
++ lib.optional fehSupport feh
++ lib.optional imagemagickSupport imagemagick; ++ lib.optional imagemagickSupport imagemagick;
meta = with lib; { meta = with lib; {
description = "A wallpaper manager for Linux systems. It supports numerous desktops and wallpaper sources, including local files and online services: Flickr, Wallhaven, Unsplash, and more";
homepage = "https://github.com/varietywalls/variety"; homepage = "https://github.com/varietywalls/variety";
description = "A wallpaper manager for Linux systems";
longDescription = ''
Variety is a wallpaper manager for Linux systems. It supports numerous
desktops and wallpaper sources, including local files and online services:
Flickr, Wallhaven, Unsplash, and more.
Where supported, Variety sits as a tray icon to allow easy pausing and
resuming. Otherwise, its desktop entry menu provides a similar set of
options.
Variety also includes a range of image effects, such as oil painting and
blur, as well as options to layer quotes and a clock onto the background.
'';
license = licenses.gpl3; license = licenses.gpl3;
maintainers = [ maintainers.zfnmxt ]; maintainers = with maintainers; [ AndersonTorres zfnmxt ];
platforms = with platforms; linux;
}; };
} }

View file

@ -7,10 +7,10 @@ in
rec { rec {
firefox = common rec { firefox = common rec {
pname = "firefox"; pname = "firefox";
ffversion = "84.0"; ffversion = "84.0.1";
src = fetchurl { src = fetchurl {
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz"; url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "37d5hc2wv1b6il4flgsw5g7ihw2jx3qrrmgm4cjg3lmk91q8k7908sy79z24na6529y7jxpj4m05l6yb850wnnwjhyc4c3vxqbldnba"; sha512 = "0sl93h7pjiznabv6865pdbal08nlqncnv3g40l02mgwbphjh5iqrr1bz14khaf58h4v1la090cj7z0gmd0c10xfrx6z7wngm152zz75";
}; };
meta = { meta = {

View file

@ -1,6 +1,6 @@
{ stdenv, lib, fetchFromGitHub, writeScript, desktop-file-utils { stdenv, lib, fetchFromGitHub, writeScript, desktop-file-utils
, pkgconfig, autoconf213, alsaLib, bzip2, cairo , pkg-config, autoconf213, alsaLib, bzip2, cairo
, dbus, dbus-glib, ffmpeg_3, file, fontconfig, freetype , dbus, dbus-glib, ffmpeg, file, fontconfig, freetype
, gnome2, gnum4, gtk2, hunspell, libevent, libjpeg , gnome2, gnum4, gtk2, hunspell, libevent, libjpeg
, libnotify, libstartup_notification, wrapGAppsHook , libnotify, libstartup_notification, wrapGAppsHook
, libGLU, libGL, perl, python2, libpulseaudio , libGLU, libGL, perl, python2, libpulseaudio
@ -11,19 +11,19 @@
let let
libPath = lib.makeLibraryPath [ ffmpeg_3 libpulseaudio ]; libPath = lib.makeLibraryPath [ ffmpeg libpulseaudio ];
gtkVersion = if withGTK3 then "3" else "2"; gtkVersion = if withGTK3 then "3" else "2";
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "palemoon"; pname = "palemoon";
version = "28.16.0"; version = "28.17.0";
src = fetchFromGitHub { src = fetchFromGitHub {
githubBase = "repo.palemoon.org"; githubBase = "repo.palemoon.org";
owner = "MoonchildProductions"; owner = "MoonchildProductions";
repo = "Pale-Moon"; repo = "Pale-Moon";
rev = "${version}_Release"; rev = "${version}_Release";
sha256 = "1svwbiar7c38c8xfw249mwnvayqq5868nkks7cbv9nyf2m9yap56"; sha256 = "0478xn5skpls91hkraykc308hppdc8vj9xbgvlm5wkv0y4dp7h5x";
fetchSubmodules = true; fetchSubmodules = true;
}; };
@ -43,11 +43,11 @@ in stdenv.mkDerivation rec {
''; '';
nativeBuildInputs = [ nativeBuildInputs = [
desktop-file-utils file gnum4 perl pkgconfig python2 wget which wrapGAppsHook desktop-file-utils file gnum4 perl pkg-config python2 wget which wrapGAppsHook
]; ];
buildInputs = [ buildInputs = [
alsaLib bzip2 cairo dbus dbus-glib ffmpeg_3 fontconfig freetype alsaLib bzip2 cairo dbus dbus-glib ffmpeg fontconfig freetype
gnome2.GConf gtk2 hunspell libevent libjpeg libnotify gnome2.GConf gtk2 hunspell libevent libjpeg libnotify
libstartup_notification libGLU libGL libstartup_notification libGLU libGL
libpulseaudio unzip yasm zip zlib libpulseaudio unzip yasm zip zlib
@ -61,7 +61,7 @@ in stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
configurePhase = '' configurePhase = ''
export MOZCONFIG=$(pwd)/mozconfig export MOZCONFIG=$PWD/mozconfig
export MOZ_NOSPAM=1 export MOZ_NOSPAM=1
# Keep this similar to the official .mozconfig file, # Keep this similar to the official .mozconfig file,
@ -114,18 +114,18 @@ in stdenv.mkDerivation rec {
' '
''; '';
buildPhase = "$src/mach build"; buildPhase = "./mach build";
installPhase = '' installPhase = ''
$src/mach install ./mach install
desktop-file-install --dir=$out/share/applications \ desktop-file-install --dir=$out/share/applications \
$src/palemoon/branding/official/palemoon.desktop ./palemoon/branding/official/palemoon.desktop
for iconname in default{16,22,24,32,48,256} mozicon128; do for iconname in default{16,22,24,32,48,256} mozicon128; do
n=''${iconname//[^0-9]/} n=''${iconname//[^0-9]/}
size=$n"x"$n size=$n"x"$n
install -Dm644 $src/palemoon/branding/official/$iconname.png $out/share/icons/hicolor/$size/apps/palemoon.png install -Dm644 ./palemoon/branding/official/$iconname.png $out/share/icons/hicolor/$size/apps/palemoon.png
done done
''; '';

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "qbec"; pname = "qbec";
version = "0.12.1"; version = "0.12.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "splunk"; owner = "splunk";
repo = "qbec"; repo = "qbec";
rev = "v${version}"; rev = "v${version}";
sha256 = "1g90z155nhcblr48qypw8qw3l8g4dz33iflv4cg4xrhwjp8dfbv9"; sha256 = "10bf9ja44n1gzhb5znqbmr1xjc87akrsdyxfvrz4f5bd3p1fh6j0";
}; };
vendorSha256 = "15hbjghi2ifylg7nr85qlk0alsy97h9zj6hf5w84m76dla2bcjf3"; vendorSha256 = "0xkmccm6cyw1p5mah7psbpfsfaw8f09r1a2k4iksfggrn9mimaam";
doCheck = false; doCheck = false;

View file

@ -52,7 +52,7 @@
mkDerivation rec { mkDerivation rec {
pname = "linphone-desktop"; pname = "linphone-desktop";
version = "4.2.4"; version = "4.2.5";
src = fetchFromGitLab { src = fetchFromGitLab {
domain = "gitlab.linphone.org"; domain = "gitlab.linphone.org";
@ -175,13 +175,12 @@ mkDerivation rec {
ln -s ${liblinphone}/share/belr/grammars/* $out/share/belr/grammars/ ln -s ${liblinphone}/share/belr/grammars/* $out/share/belr/grammars/
mkdir -p $out/share/linphone mkdir -p $out/share/linphone
ln -s ${liblinphone}/share/linphone/* $out/share/linphone/ ln -s ${liblinphone}/share/linphone/* $out/share/linphone/
mkdir $out/lib # prevent warning
''; '';
meta = with lib; { meta = with lib; {
homepage = "https://www.linphone.org/"; homepage = "https://www.linphone.org/";
description = "Open source SIP phone for voice/video calls and instant messaging"; description = "Open source SIP phone for voice/video calls and instant messaging";
license = licenses.gpl3; license = licenses.gpl3Plus;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ jluttine ]; maintainers = with maintainers; [ jluttine ];
}; };

View file

@ -1,23 +1,30 @@
{ mkDerivation, stdenv, fetchFromGitLab { mkDerivation
, pkgconfig, wrapQtAppsHook , stdenv
, fetchFromGitLab
, pkg-config
, cmake , cmake
, qtbase, qttools, qtquickcontrols2, qtmultimedia, qtkeychain , qtbase
, libpulseaudio , qttools
# Not mentioned but seems needed , qtquickcontrols2
, qtmultimedia
, qtgraphicaleffects , qtgraphicaleffects
, qtdeclarative , qtkeychain
, qtmacextras , libpulseaudio
, olm, libsecret, cmark, extra-cmake-modules, kirigami2, ki18n, knotifications, kdbusaddons, kconfig, libquotient , olm
, KQuickImageEdit, kitemmodels , libsecret
, cmark
, extra-cmake-modules
, kirigami2
, kitemmodels
, ki18n
, knotifications
, kdbusaddons
, kconfig
, libquotient
, kquickimageedit
}: }:
let mkDerivation rec {
qtkeychain-qt5 = qtkeychain.override {
inherit qtbase qttools;
withQt5 = true;
};
in mkDerivation rec {
pname = "neochat"; pname = "neochat";
version = "v1.0"; version = "v1.0";
@ -29,13 +36,31 @@ in mkDerivation rec {
sha256 = "1r9n83kvc5v215lzmzh6hyc5q9i3w6znbf508qk0mdwdzxz4zry9"; sha256 = "1r9n83kvc5v215lzmzh6hyc5q9i3w6znbf508qk0mdwdzxz4zry9";
}; };
nativeBuildInputs = [ pkgconfig cmake extra-cmake-modules wrapQtAppsHook ]; nativeBuildInputs = [ cmake extra-cmake-modules pkg-config ];
buildInputs = [ qtbase qtkeychain-qt5 qtquickcontrols2 qtmultimedia qtgraphicaleffects qtdeclarative olm libsecret cmark kirigami2 ki18n knotifications kdbusaddons kconfig libquotient KQuickImageEdit kitemmodels libpulseaudio ];
buildInputs = [
qtkeychain
qtquickcontrols2
qtmultimedia
qtgraphicaleffects
olm
libsecret
cmark
kirigami2
kitemmodels
ki18n
knotifications
kdbusaddons
kconfig
libquotient
kquickimageedit
libpulseaudio
];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A client for matrix, the decentralized communication protocol."; description = "A client for matrix, the decentralized communication protocol.";
homepage = "https://apps.kde.org/en/neochat"; homepage = "https://apps.kde.org/en/neochat";
license = licenses.gpl3; license = licenses.gpl3Only;
platforms = with platforms; linux; platforms = with platforms; linux;
}; };
} }

View file

@ -1,11 +1,11 @@
{ autoPatchelfHook, electron_4, fetchurl, makeDesktopItem, makeWrapper, nodePackages, nss, stdenv, xdg_utils, xorg }: { autoPatchelfHook, electron_7, fetchurl, makeDesktopItem, makeWrapper, nodePackages, nss, stdenv, xdg_utils, xorg }:
let let
electron = electron_4; electron = electron_7;
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "rambox-pro"; pname = "rambox-pro";
version = "1.3.2"; version = "1.4.1";
dontBuild = true; dontBuild = true;
dontStrip = true; dontStrip = true;
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "https://github.com/ramboxapp/download/releases/download/v${version}/RamboxPro-${version}-linux-x64.tar.gz"; url = "https://github.com/ramboxapp/download/releases/download/v${version}/RamboxPro-${version}-linux-x64.tar.gz";
sha256 = "010v5i8lxfz77cb5cn9va5cbnfa28nzdymk5k2fcpi65jldw1pxx"; sha256 = "1bd4fba3ac8c20fa557ebfb110f6503d36e6c3dba0401d1073529dcae2c2ec1e";
}; };
installPhase = '' installPhase = ''

View file

@ -108,6 +108,10 @@ in stdenv.mkDerivation {
# Fix the desktop link # Fix the desktop link
substituteInPlace $out/share/applications/skypeforlinux.desktop \ substituteInPlace $out/share/applications/skypeforlinux.desktop \
--replace /usr/bin/ $out/bin/ --replace /usr/bin/ $out/bin/
substituteInPlace $out/share/applications/skypeforlinux-share.desktop \
--replace /usr/bin/ $out/bin/
substituteInPlace $out/share/kservices5/ServiceMenus/skypeforlinux.desktop \
--replace /usr/bin/ $out/bin/
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View file

@ -1,40 +0,0 @@
{ stdenv, fetchgit
, pkgconfig, wrapQtAppsHook
, cmake
, qtbase, qttools, qtquickcontrols2, qtmultimedia, qtkeychain
, libpulseaudio
# Not mentioned but seems needed
, qtgraphicaleffects
, qtdeclarative
, qtmacextras
, olm, libsecret, cmark
}:
let qtkeychain-qt5 = qtkeychain.override {
inherit qtbase qttools;
withQt5 = true;
};
in stdenv.mkDerivation rec {
pname = "spectral";
version = "817";
src = fetchgit {
url = "https://gitlab.com/spectral-im/spectral.git";
rev = version;
sha256 = "0lg0bkz621cmqb67kz1zmn4xwbspcqalz68byll5iszqz9y4gnp1";
fetchSubmodules = true;
};
nativeBuildInputs = [ pkgconfig cmake wrapQtAppsHook ];
buildInputs = [ qtbase qtkeychain-qt5 qtquickcontrols2 qtmultimedia qtgraphicaleffects qtdeclarative olm libsecret cmark ]
++ stdenv.lib.optional stdenv.hostPlatform.isLinux libpulseaudio
++ stdenv.lib.optional stdenv.hostPlatform.isDarwin qtmacextras;
meta = with stdenv.lib; {
description = "A glossy cross-platform Matrix client";
homepage = "https://spectral.im";
license = licenses.gpl3;
platforms = with platforms; linux ++ darwin;
maintainers = with maintainers; [ dtzWill ];
};
}

View file

@ -6,15 +6,15 @@
buildGoModule rec { buildGoModule rec {
pname = "aerc"; pname = "aerc";
version = "0.4.0"; version = "0.5.2";
src = fetchurl { src = fetchurl {
url = "https://git.sr.ht/~sircmpwn/aerc/archive/${version}.tar.gz"; url = "https://git.sr.ht/~sircmpwn/aerc/archive/${version}.tar.gz";
sha256 = "05qy14k9wmyhsg1hiv4njfx1zn1m9lz4d1p50kc36v7pq0n4csfk"; sha256 = "h7kiRA5TuZ8mDSMymWU33stFLIOMd06TQLYzKW+faO4=";
}; };
runVend = true; runVend = true;
vendorSha256 = "13zs5113ip85yl6sw9hzclxwlnrhy18d39vh9cwbq97dgnh9rz89"; vendorSha256 = "9PXdUH0gu8PGaKlRJCUF15W1/LxA+sv3Pwl2UnjYxWY=";
doCheck = false; doCheck = false;

View file

@ -29,7 +29,7 @@ diff --git a/config/config.go b/config/config.go
index 32d07fc..8ffd3e8 100644 index 32d07fc..8ffd3e8 100644
--- a/config/config.go --- a/config/config.go
+++ b/config/config.go +++ b/config/config.go
@@ -355,6 +355,11 @@ func LoadConfigFromFile(root *string, sharedir string) (*AercConfig, error) { @@ -472,6 +472,11 @@ func LoadConfigFromFile(root *string, sharedir string) (*AercConfig, error) {
return nil, err return nil, err
} }
} }
@ -41,10 +41,11 @@ index 32d07fc..8ffd3e8 100644
file.NameMapper = mapName file.NameMapper = mapName
config := &AercConfig{ config := &AercConfig{
Bindings: BindingConfig{ Bindings: BindingConfig{
@@ -423,6 +428,9 @@ func LoadConfigFromFile(root *string, sharedir string) (*AercConfig, error) { @@ -546,6 +428,9 @@ func LoadConfigFromFile(root *string, sharedir string) (*AercConfig, error) {
if err = config.LoadConfig(file); err != nil { if err = config.LoadConfig(file); err != nil {
return nil, err return nil, err
} }
+ for i, filter := range config.Filters { + for i, filter := range config.Filters {
+ config.Filters[i].Command = strings.ReplaceAll(filter.Command, "@SHAREDIR@", sharedir) + config.Filters[i].Command = strings.ReplaceAll(filter.Command, "@SHAREDIR@", sharedir)
+ } + }

View file

@ -268,7 +268,7 @@ stdenv.mkDerivation rec {
genericName = "Mail Reader"; genericName = "Mail Reader";
name = "thunderbird"; name = "thunderbird";
exec = "thunderbird %U"; exec = "thunderbird %U";
icon = "$out/lib/thunderbird/chrome/icons/default/default256.png"; icon = "thunderbird";
mimeType = lib.concatStringsSep ";" [ mimeType = lib.concatStringsSep ";" [
# Email # Email
"x-scheme-handler/mailto" "x-scheme-handler/mailto"
@ -288,6 +288,7 @@ stdenv.mkDerivation rec {
postInstall = '' postInstall = ''
# TODO: Move to a dev output? # TODO: Move to a dev output?
rm -rf $out/include $out/lib/thunderbird-devel-* $out/share/idl rm -rf $out/include $out/lib/thunderbird-devel-* $out/share/idl
install -Dm 444 $out/lib/thunderbird/chrome/icons/default/default256.png $out/share/icons/hicolor/256x256/apps/thunderbird.png
''; '';
# Note on GPG support: # Note on GPG support:

View file

@ -9,20 +9,23 @@
eigen, zlib, eigen, zlib,
cfitsio, indilib, xplanet, libnova, libraw, gsl, wcslib cfitsio, indilib, xplanet, libnova, libraw, gsl, wcslib, stellarsolver
}: }:
mkDerivation rec { mkDerivation rec {
pname = "kstars"; pname = "kstars";
version = "3.4.3"; version = "3.5.0";
src = fetchurl { src = fetchurl {
url = "https://mirrors.mit.edu/kde/stable/kstars/kstars-${version}.tar.xz"; url = "mirror://kde/stable/kstars/kstars-${version}.tar.xz";
sha256 = "0j5yxg6ay6sic194skz6vjzg6yvrpb3gvypvs0frjrcjbsl1j4f8"; sha256 = "0fpkm75abn0hhdhfyvpfl6n0fr7gvw63xhb4hvwdrglhkf2nxam1";
}; };
patches = [ patches = [
./indi-fix.patch # Patches ksutils.cpp to use nix store prefixes to find program binaries of
# indilib and xplanet dependencies. Without the patch, Ekos is unable to spawn
# indi servers for local telescope/camera control.
./fs-fixes.patch
]; ];
nativeBuildInputs = [ extra-cmake-modules kdoctools ]; nativeBuildInputs = [ extra-cmake-modules kdoctools ];
@ -34,11 +37,12 @@ mkDerivation rec {
eigen zlib eigen zlib
cfitsio indilib xplanet libnova libraw gsl wcslib cfitsio indilib xplanet libnova libraw gsl wcslib stellarsolver
]; ];
cmakeFlags = [ cmakeFlags = [
"-DINDI_NIX_ROOT=${indilib}" "-DINDI_NIX_ROOT=${indilib}"
"-DXPLANET_NIX_ROOT=${xplanet}"
]; ];
meta = with lib; { meta = with lib; {
@ -51,6 +55,6 @@ mkDerivation rec {
''; '';
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ timput ]; maintainers = with maintainers; [ timput hjones2199 ];
}; };
} }

View file

@ -0,0 +1,59 @@
--- kstars-3.5.0/CMakeLists.txt.old 2020-11-24 12:36:37.967433937 -0600
+++ kstars-3.5.0/CMakeLists.txt 2020-11-24 13:36:56.275263691 -0600
@@ -5,6 +5,9 @@
set (KSTARS_BUILD_RELEASE "Stable")
set (CMAKE_CXX_STANDARD 11)
+add_definitions(-DINDI_NIX_ROOT=${INDI_NIX_ROOT})
+add_definitions(-DXPLANET_NIX_ROOT=${XPLANET_NIX_ROOT})
+
# Build KStars Lite with -DBUILD_KSTARS_LITE=ON
option(BUILD_KSTARS_LITE "Build KStars Lite" OFF)
--- kstars-3.5.0/kstars/auxiliary/ksutils.old.cpp 2020-11-24 12:22:14.397319680 -0600
+++ kstars-3.5.0/kstars/auxiliary/ksutils.cpp 2020-11-24 13:32:22.946477798 -0600
@@ -1081,6 +1081,10 @@
// We support running within Snaps, Flatpaks, and AppImage
// The path should accomodate the differences between the different
// packaging solutions
+ #define STR_EXPAND(x) #x
+ #define STR(x) STR_EXPAND(x)
+ QString indi_prefix = QString(STR(INDI_NIX_ROOT));
+ QString xplanet_prefix = QString(STR(XPLANET_NIX_ROOT));
QString snap = QProcessEnvironment::systemEnvironment().value("SNAP");
QString flat = QProcessEnvironment::systemEnvironment().value("FLATPAK_DEST");
QString appimg = QProcessEnvironment::systemEnvironment().value("APPDIR");
@@ -1110,21 +1114,21 @@
#if defined(Q_OS_OSX)
return "/usr/local/bin/indiserver";
#endif
- return prefix + "/bin/indiserver";
+ return indi_prefix + "/bin/indiserver";
}
else if (option == "INDIHubAgent")
{
#if defined(Q_OS_OSX)
return "/usr/local/bin/indihub-agent";
#endif
- return prefix + "/bin/indihub-agent";
+ return indi_prefix + "/bin/indihub-agent";
}
else if (option == "indiDriversDir")
{
#if defined(Q_OS_OSX)
return "/usr/local/share/indi";
#elif defined(Q_OS_LINUX)
- return prefix + "/share/indi";
+ return indi_prefix + "/share/indi";
#else
return QStandardPaths::locate(QStandardPaths::GenericDataLocation, "indi", QStandardPaths::LocateDirectory);
#endif
@@ -1181,7 +1185,7 @@
#if defined(Q_OS_OSX)
return "/usr/local/bin/xplanet";
#endif
- return prefix + "/bin/xplanet";
+ return xplanet_prefix + "/bin/xplanet";
}
else if (option == "ASTAP")
{

View file

@ -1,50 +0,0 @@
--- CMakeLists.txt 2020-11-02 13:58:06.119743710 -0600
+++ kstars-3.4.3/CMakeLists.txt 2020-11-02 14:05:01.707799274 -0600
@@ -4,5 +4,7 @@
set (KStars_VERSION_REVISION 3)
set (CMAKE_CXX_STANDARD 11)
+add_definitions(-DINDI_NIX_ROOT=${INDI_NIX_ROOT})
+
# Build KStars Lite with -DBUILD_KSTARS_LITE=ON
option(BUILD_KSTARS_LITE "Build KStars Lite" OFF)
--- ksutils.cpp 2020-11-02 13:47:44.883596916 -0600
+++ kstars-3.4.3/kstars/auxiliary/ksutils.cpp 2020-11-02 17:41:44.961937090 -0600
@@ -1076,6 +1076,9 @@
{
QString snap = QProcessEnvironment::systemEnvironment().value("SNAP");
QString flat = QProcessEnvironment::systemEnvironment().value("FLATPAK_DEST");
+#define STR_EXPAND(x) #x
+#define STR(x) STR_EXPAND(x)
+ QString nix = QString(STR(INDI_NIX_ROOT));
if (option == "fitsDir")
{
@@ -1089,7 +1091,7 @@
if (flat.isEmpty() == false)
return flat + "/bin/indiserver";
else
- return snap + "/usr/bin/indiserver";
+ return nix + "/bin/indiserver";
}
else if (option == "INDIHubAgent")
{
@@ -1099,7 +1101,7 @@
if (flat.isEmpty() == false)
return flat + "/bin/indihub-agent";
else
- return snap + "/usr/bin/indihub-agent";
+ return nix + "/bin/indihub-agent";
}
else if (option == "indiDriversDir")
{
@@ -1109,7 +1111,7 @@
if (flat.isEmpty() == false)
return flat + "/share/indi";
else
- return snap + "/usr/share/indi";
+ return nix + "/share/indi";
#else
return QStandardPaths::locate(QStandardPaths::GenericDataLocation, "indi", QStandardPaths::LocateDirectory);
#endif

View file

@ -1,16 +1,16 @@
{ stdenv, fetchFromGitHub, python3Packages, readline }: { stdenv, fetchFromGitHub, python3Packages, readline, bc }:
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bcal"; pname = "bcal";
version = "1.9"; version = "2.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jarun"; owner = "jarun";
repo = "bcal"; repo = "bcal";
rev = "v${version}"; rev = "v${version}";
sha256 = "0h6qi5rvzl6c6fsfdpdb3l4jcgip03l18i0b1x08z1y89i56y8mm"; sha256 = "4vR5rcbNkoEdSRNoMH9qMHP3iWFxejkVfXNiYfwbo/A=";
}; };
nativeBuildInputs = [ python3Packages.pytest ]; nativeBuildInputs = [ python3Packages.pytest ];
@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
buildInputs = [ readline ]; buildInputs = [ readline ];
doCheck = true; doCheck = true;
checkInputs = [ bc ];
checkPhase = '' checkPhase = ''
python3 -m pytest test.py python3 -m pytest test.py
''; '';
@ -27,7 +28,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "Storage conversion and expression calculator"; description = "Storage conversion and expression calculator";
homepage = "https://github.com/jarun/bcal"; homepage = "https://github.com/jarun/bcal";
license = licenses.gpl3; license = licenses.gpl3Only;
platforms = [ "aarch64-linux" "x86_64-darwin" "x86_64-linux" ]; platforms = [ "aarch64-linux" "x86_64-darwin" "x86_64-linux" ];
maintainers = with maintainers; [ jfrankenau ]; maintainers = with maintainers; [ jfrankenau ];
}; };

View file

@ -0,0 +1,59 @@
{ stdenv, fetchurl, makeDesktopItem, makeWrapper, unzip, mono6 }:
let
pname = "mission-planner";
desktopItem = makeDesktopItem {
name = pname;
exec = pname;
icon = pname;
comment = "MissionPlanner GCS & Ardupilot configuration tool";
desktopName = "MissionPlanner";
genericName = "Ground Control Station";
};
in stdenv.mkDerivation rec {
inherit pname;
version = "1.3.74";
src = fetchurl {
url = "https://firmware.ardupilot.org/Tools/MissionPlanner/MissionPlanner-${version}.zip";
sha256 = "1cgpmsmmnbzw1lwsdafp8yklk1rwc61yf12vc1ahcc6bl7q2385x";
};
nativeBuildInputs = [ makeWrapper mono6 unzip ];
sourceRoot = ".";
AOT_FILES = [ "MissionPlanner.exe" "MissionPlanner.*.dll" ];
buildPhase = ''
runHook preBuild
for file in $AOT_FILES
do
mono --aot $file
done
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,opt/mission-planner}
install -m 444 -D mpdesktop150.png $out/share/icons/mission-planner.png
cp -r ${desktopItem}/share/applications $out/share/
mv * $out/opt/mission-planner
makeWrapper ${mono6}/bin/mono $out/bin/mission-planner \
--add-flags $out/opt/mission-planner/MissionPlanner.exe
runHook postInstall
'';
meta = with stdenv.lib; {
description = "An ArduPilot ground station";
longDescription = ''
Full-featured ground station application for the ArduPilot open source
autopilot project. Lets you both flash, configure and control ArduPilot
Plane, Copter and Rover targets.
'';
homepage = "https://ardupilot.org/planner/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ wucke13 ];
platforms = platforms.all;
};
}

View file

@ -4,14 +4,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "xterm"; pname = "xterm";
version = "362"; version = "363";
src = fetchurl { src = fetchurl {
urls = [ urls = [
"ftp://ftp.invisible-island.net/xterm/${pname}-${version}.tgz" "ftp://ftp.invisible-island.net/xterm/${pname}-${version}.tgz"
"https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz" "https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz"
]; ];
sha256 = "HU/+Im+o8CGFm7wwB3iP9jpGoxJC2b2ae9fr4k6BrKI="; sha256 = "2Bo2OeJlUrZ2W9zyi+Hs24rKv5B5VXCOgwrWOX6hC0g=";
}; };
buildInputs = [ buildInputs = [

View file

@ -38,6 +38,8 @@ let
ghq = callPackage ./ghq { }; ghq = callPackage ./ghq { };
ghr = callPackage ./ghr { };
git = appendToName "minimal" gitBase; git = appendToName "minimal" gitBase;
git-absorb = callPackage ./git-absorb { git-absorb = callPackage ./git-absorb {

View file

@ -0,0 +1,30 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "ghr";
version = "0.13.0";
src = fetchFromGitHub {
owner = "tcnksm";
repo = "ghr";
rev = "v${version}";
sha256 = "1nm5kdjkqayxh06j9nr5daic9sw9nx9w06y9gaqhdrw9byvjpr1a";
};
vendorSha256 = "14avsngzhl1b8a05i43ph6sxh9vj0jls0acxr9j7r0h3f0vpamcj";
# Tests require a Github API token, and networking
doCheck = false;
doInstallCheck = true;
installCheckPhase = ''
$out/bin/ghr --version
'';
meta = with lib; {
homepage = "https://github.com/tcnksm/ghr";
description = "Upload multiple artifacts to GitHub Release in parallel";
license = licenses.mit;
maintainers = [ maintainers.ivar ];
};
}

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gitstatus"; pname = "gitstatus";
version = "1.4.3"; version = "1.4.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "romkatv"; owner = "romkatv";
repo = "gitstatus"; repo = "gitstatus";
rev = "v${version}"; rev = "v${version}";
sha256 = "0skpi22plzb9r9cgqfnjzpaz856q9f4n0gd5i97nv8bfny8hl30z"; sha256 = "1w5kpca2v6iii912riywp1jscq7cpr5xv93mglr30pjnar1mk8gs";
}; };
buildInputs = [ (callPackage ./romkatv_libgit2.nix {}) ]; buildInputs = [ (callPackage ./romkatv_libgit2.nix {}) ];
@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "10x faster implementation of `git status` command"; description = "10x faster implementation of `git status` command";
homepage = "https://github.com/romkatv/gitstatus"; homepage = "https://github.com/romkatv/gitstatus";
license = [ licenses.gpl3 ]; license = licenses.gpl3Only;
maintainers = with maintainers; [ mmlb hexa ]; maintainers = with maintainers; [ mmlb hexa ];
}; };
} }

View file

@ -8,11 +8,11 @@ with stdenv.lib;
buildGoPackage rec { buildGoPackage rec {
pname = "gitea"; pname = "gitea";
version = "1.13.0"; version = "1.13.1";
src = fetchurl { src = fetchurl {
url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz"; url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
sha256 = "090i4hk9mb66ia14kyp7rqymhc897yi1ifb0skvknylx0sw8vhk9"; sha256 = "sha256-tah7ciq+jkkROJq/V+yPRtWPuWaSnf5hKndjnifsQYc=";
}; };
unpackPhase = '' unpackPhase = ''

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, bundlerEnv, ruby }: { stdenv, fetchurl, bundlerEnv, ruby, makeWrapper }:
let let
version = "4.1.1"; version = "4.1.1";
@ -19,6 +19,7 @@ in
sha256 = "1nndy5hz8zvfglxf1f3bsb1pkrfwinfxzkdan1vjs3rkckkszyh5"; sha256 = "1nndy5hz8zvfglxf1f3bsb1pkrfwinfxzkdan1vjs3rkckkszyh5";
}; };
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler ]; buildInputs = [ rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler ];
# taken from https://www.redmine.org/issues/33784 # taken from https://www.redmine.org/issues/33784
@ -31,12 +32,14 @@ in
''; '';
installPhase = '' installPhase = ''
mkdir -p $out/share mkdir -p $out/bin $out/share
cp -r . $out/share/redmine cp -r . $out/share/redmine
for i in config files log plugins public/plugin_assets public/themes tmp; do for i in config files log plugins public/plugin_assets public/themes tmp; do
rm -rf $out/share/redmine/$i rm -rf $out/share/redmine/$i
ln -fs /run/redmine/$i $out/share/redmine/$i ln -fs /run/redmine/$i $out/share/redmine/$i
done done
makeWrapper ${rubyEnv.wrappedRuby}/bin/ruby $out/bin/rdm-mailhandler.rb --add-flags $out/share/redmine/extra/mail_handler/rdm-mailhandler.rb
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View file

@ -2,14 +2,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.20"; version = "0.21";
pname = "charliecloud"; pname = "charliecloud";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "hpc"; owner = "hpc";
repo = "charliecloud"; repo = "charliecloud";
rev = "v${version}"; rev = "v${version}";
sha256 = "15ihffwhpjnzgz0ir5vc9la4fwkqj91vmrcsb2r58ikq7h9sk45j"; sha256 = "Y/tH6Znq//HBA/FHfIm2Wpppx6TiL7CqKtZFDc/XSNc=";
}; };
nativeBuildInputs = [ autoreconfHook makeWrapper ]; nativeBuildInputs = [ autoreconfHook makeWrapper ];

View file

@ -1,12 +1,16 @@
{ lib, fetchFromGitHub, buildGoPackage, btrfs-progs, go-md2man, installShellFiles, util-linux, nixosTests }: { lib
, fetchFromGitHub
with lib; , buildGoPackage
, btrfs-progs
, go-md2man
, installShellFiles
, util-linux
, nixosTests
}:
buildGoPackage rec { buildGoPackage rec {
pname = "containerd"; pname = "containerd";
version = "1.4.3"; version = "1.4.3";
# git commit for the above version's tag
commit = "269548fa27e0089a8b8278fc4fc781d7f65a939b";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "containerd"; owner = "containerd";
@ -22,29 +26,32 @@ buildGoPackage rec {
buildInputs = [ btrfs-progs ]; buildInputs = [ btrfs-progs ];
buildFlags = [ "VERSION=v${version}" "REVISION=${commit}" ]; buildFlags = [ "VERSION=v${version}" "REVISION=${src.rev}" ];
BUILDTAGS = [] BUILDTAGS = [ ]
++ optional (btrfs-progs == null) "no_btrfs"; ++ lib.optional (btrfs-progs == null) "no_btrfs";
buildPhase = '' buildPhase = ''
cd go/src/${goPackagePath} cd go/src/${goPackagePath}
patchShebangs . patchShebangs .
make binaries $buildFlags make binaries man $buildFlags
''; '';
installPhase = '' installPhase = ''
for b in bin/*; do install -Dm555 bin/* -t $out/bin
install -Dm555 $b $out/$b
done
make man
installManPage man/*.[1-9] installManPage man/*.[1-9]
''; '';
# completion installed separately so it can be overridden in docker
# can be moved to installPhase when docker uses containerd >= 1.4
postInstall = ''
installShellFiles --bash contrib/autocomplete/ctr
installShellFiles --zsh --name _ctr contrib/autocomplete/zsh_autocomplete
'';
passthru.tests = { inherit (nixosTests) docker; }; passthru.tests = { inherit (nixosTests) docker; };
meta = { meta = with lib; {
homepage = "https://containerd.io/"; homepage = "https://containerd.io/";
description = "A daemon to control runC"; description = "A daemon to control runC";
license = licenses.asl20; license = licenses.asl20;

View file

@ -41,6 +41,8 @@ rec {
rev = containerdRev; rev = containerdRev;
sha256 = containerdSha256; sha256 = containerdSha256;
}; };
# disable completion, can be removed when docker uses containerd >= 1.4
postInstall = [];
# This should be removed once Docker uses containerd >=1.4 # This should be removed once Docker uses containerd >=1.4
nativeBuildInputs = oldAttrs.nativeBuildInputs ++ lib.optional withlibseccomp pkgconfig; nativeBuildInputs = oldAttrs.nativeBuildInputs ++ lib.optional withlibseccomp pkgconfig;
buildInputs = oldAttrs.buildInputs ++ lib.optional withlibseccomp libseccomp; buildInputs = oldAttrs.buildInputs ++ lib.optional withlibseccomp libseccomp;

View file

@ -0,0 +1,23 @@
{ lib, buildPythonPackage, fetchPypi, i3ipc }:
buildPythonPackage rec {
pname = "i3-balance-workspace";
version = "1.8.3";
src = fetchPypi {
inherit pname version;
sha256 = "1gndzrwff8gfdqjjxv4zf2h2k0x7y97w1c3mrjpihz8xd0hbnk4d";
};
propagatedBuildInputs = [ i3ipc ];
doCheck = false; # project has no test
pythonImportsCheck = [ "i3_balance_workspace" ];
meta = {
description = "Balance windows and workspaces in i3wm";
homepage = "https://pypi.org/project/i3-balance-workspace/";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ pacien ];
};
}

View file

@ -10,7 +10,7 @@ let
(builtins.attrNames (builtins.removeAttrs variantHashes [ "iosevka" ])); (builtins.attrNames (builtins.removeAttrs variantHashes [ "iosevka" ]));
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "${name}-bin"; pname = "${name}-bin";
version = "4.1.1"; version = "4.2.0";
src = fetchurl { src = fetchurl {
url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/ttc-${name}-${version}.zip"; url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/ttc-${name}-${version}.zip";

View file

@ -1,24 +1,24 @@
# This file was autogenerated. DO NOT EDIT! # This file was autogenerated. DO NOT EDIT!
{ {
iosevka = "1k87kb2858hy8w7hwdv2cs37x590flm44rrf9ahpjnbzdf22c35y"; iosevka = "1s9nyq8gjmmah5rpflffl0wi0klnlsvzmy7b39vnpp2sp6ng9mv3";
iosevka-aile = "0zlhkbxzi1bdfag0f6cfcpqb347qqbp8h1jr1166zwys5p92hm5n"; iosevka-aile = "0x2ccjnmi9hqms5jkfnkn30y9gd3adiwjvn9gzq8d6a563h61fik";
iosevka-curly = "18b6wjq1jr08zpzp1dq63n54cahjyli5ivk7q6gh5qrvc9qa613w"; iosevka-curly = "03n0f9nzjywb5q3w59ck5sq500ks5xxlgf9dpncr3c7i2dawss41";
iosevka-curly-slab = "0yf613nkpby501xxn4pwxm3c2lij5b98j5mnfa4phc43gls266fa"; iosevka-curly-slab = "09qnd2vzl4v59c0d534mj06zxwa3rdwrhkwy191v6p79lfxp482x";
iosevka-etoile = "0ysj6sjrkky79l3330mp0264shprdr0yrrkj1absijywy4dw2k03"; iosevka-etoile = "0j3ah72dmk7fzcln9755y3xnzn7343lfrg95kb3xmqm2zyg0mbrw";
iosevka-slab = "04hg24iqc9x49m9i72a4pfx8vgyk03vyg9xbh9fnwm9dk58lv450"; iosevka-slab = "0prnm3nh8rgn6jivfj2fw7x12m8qqam8xnl45ip5ck4348piypx3";
iosevka-sparkle = "100fas1j4ws4plzbcnlfag1kd2xwr8pcikghd8fw648zkrwrrnw4"; iosevka-sparkle = "1y180rwrxrvwd98hk1d07y0vs8h5rj7ipkhsqlv60h82pigxhl4a";
iosevka-ss01 = "16qsb89z3c3n01l6xp813gs29dy81lmvfbmramm9amphrcx6y5n3"; iosevka-ss01 = "04q9vby5q9ylvv2myl3h2xfyq3s594wnwj0b956pivwwamhp0g3v";
iosevka-ss02 = "10qjvkhr9az52spax4b9x3d9cxa189j3yznxpiwsgz641mf4mj4k"; iosevka-ss02 = "14d5i88ls8zfbis5s7z95dcrpxqyqr2wzx90c5a4xpcdjd4n7fgg";
iosevka-ss03 = "028pzjisfqz4vlb2d8cwmmsxi2440vjayiwg13awllgzkpj3ibra"; iosevka-ss03 = "1zqqq11rcjmifc4qf5p2xcqhqp5ca2pgvzv8xirr6mq4knrvxrpq";
iosevka-ss04 = "1xzxwa91yvv8wbz3p1pmb3x559xic8k3qz8vrfgqzmv9ymyw19q4"; iosevka-ss04 = "1xnnqyvyrz820dzfyjj84v3j1q8krykmwxw5xml4v7kk79agc7vk";
iosevka-ss05 = "1bcdkydpzadb194nm4gmilj1rm46fblbwif4wcalcnypryfxlqgy"; iosevka-ss05 = "07w78jw23hxwzx65ampwzv691p12n0pvk8vnw2mnnspflirpm62r";
iosevka-ss06 = "0r436ajlphqm7qjnzwq972wi5ccyvavw6p2vw75cvwc1s7ihwqkg"; iosevka-ss06 = "11brqklhk3sfhqyavyi5rggsn3286n404gphmh0frz65wj3k8lc6";
iosevka-ss07 = "0fxwvwzkzc7xc0jhhppxjk9sm1gdr0qjvxa1szqf6nj2vy86cj73"; iosevka-ss07 = "037vaxpgdpa6p9nmqcsa1mi7pn94300cd71kbr9lw8mql9wc2y9n";
iosevka-ss08 = "0aw28i1r48qn42c6m3q900j3b4i6gnwxjxndc88ybak1fg43sf40"; iosevka-ss08 = "0ga1bwb2d1rizr0910bcqabcj819dcd0bxp7cwbxnzq6i7ca4hj1";
iosevka-ss09 = "12nsjk9sxy7f0i0p6qjsc4z6d6w637fllabvsg83dblpkxw1yfac"; iosevka-ss09 = "1khjhn0lfpk8g1yx3558w6kkj0pd5b7kxbf0z97w1nvah3d5v50m";
iosevka-ss10 = "12sz1nriq2g776kg70gx9lp0ma7rqgvnrkr15fp791wxkvgwqq5b"; iosevka-ss10 = "0zp5173799vacssj0lsj3ck82b03qyk9cyfwa3j7xa2dhplrjfp2";
iosevka-ss11 = "0yvcn9h7yxhp08rnl23j61agkb1p86rjgw8md23dkbxda600knqn"; iosevka-ss11 = "124a3i7iy9z7adxcb8yw3795gk52cw7ngsim8qjhrhcd2bjr0jvg";
iosevka-ss12 = "1vvbnqrmgx2krphf08rdlpn4f6zjypnh69m7yh8cakkbvvr4jnv1"; iosevka-ss12 = "1rd61ry3ihw311c926wjl9sc71bz0ligya07m7km1905dhlhirsv";
iosevka-ss13 = "09g3j713kssrkryb83kw803aa5dlnydvkqn80d666q0xyqv2xcfk"; iosevka-ss13 = "0jm3djc4rlzk22jn3syv4mwd0fz82z4lnyk3dkq815yyw6vmqkz0";
iosevka-ss14 = "1psbqdscs223yxdlll7779xpdvkzh0al61jn1ka62by3qizmvl4b"; iosevka-ss14 = "1a9a1bvzsbprmxfh19m78s82rfmxng4sambz6m4gd9mm14kjjp5r";
} }

View file

@ -1,24 +1,24 @@
{ lib, fetchzip }: { lib, fetchzip }:
let let
version = "2.210"; version = "2.221";
in in
fetchzip { fetchzip {
name = "JetBrainsMono-${version}"; name = "JetBrainsMono-${version}";
url = "https://github.com/JetBrains/JetBrainsMono/releases/download/v${version}/JetBrainsMono-${version}.zip"; url = "https://github.com/JetBrains/JetBrainsMono/releases/download/v${version}/JetBrainsMono-${version}.zip";
sha256 = "05csy42qji8xbaq5iap2nmki0d0cbiwiq9kbzjd1cah9qn6gfill"; sha256 = "1in3znnj0i0yfwj93ncxi3s1cp9lhgwnv2r14br47rr7vik4zjr6";
postFetch = '' postFetch = ''
mkdir -p $out/share/fonts mkdir -p $out/share/fonts
unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
unzip -j $downloadedFile \*.woff2 -d $out/share/fonts/woff2
''; '';
meta = with lib; { meta = with lib; {
description = "A typeface made for developers"; description = "A typeface made for developers";
homepage = "https://jetbrains.com/mono/"; homepage = "https://jetbrains.com/mono/";
changelog = "https://github.com/JetBrains/JetBrainsMono/blob/v${version}/Changelog.md";
license = licenses.ofl; license = licenses.ofl;
maintainers = [ maintainers.marsam ]; maintainers = [ maintainers.marsam ];
platforms = platforms.all; platforms = platforms.all;

View file

@ -0,0 +1,26 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "meslo-lgs-nf";
version = "2020-03-22";
src = fetchFromGitHub {
owner = "romkatv";
repo = "powerlevel10k-media";
rev = "32c7d40239c93507277f14522be90b5750f442c9";
sha256 = "10hq4whai1rqj495w4n80p0y21am8rihm4rc40xq7241d6dzilrd";
};
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp $src/*.ttf $out/share/fonts/truetype
'';
meta = with stdenv.lib; {
description = "Meslo Nerd Font patched for Powerlevel10k";
homepage = "https://github.com/romkatv/powerlevel10k-media";
license = licenses.asl20;
maintainers = with maintainers; [ bbigras ];
platforms = platforms.all;
};
}

View file

@ -8,13 +8,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "luna-icons"; pname = "luna-icons";
version = "0.9"; version = "0.9.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "darkomarko42"; owner = "darkomarko42";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1pwbmw20kzlxnwln92nxq7f5s1xwbpv6j7il7jxymlw0y31rl281"; sha256 = "0mz5cayjgsc109nv7kdkn3gn1n79bl3hb773lrzrr0k2zblxg353";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "papirus-icon-theme"; pname = "papirus-icon-theme";
version = "20200801"; version = "20200901";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "PapirusDevelopmentTeam"; owner = "PapirusDevelopmentTeam";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0w9ks8izxv7mkh82fnclfcdf6mif991dsbbnxsqmcbvljrmjval2"; sha256 = "00khqbd7jz97q1kd43kkm6yaa40ml36rh04s76sgbm58srs66v3c";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -1,46 +1,46 @@
{ stdenv, fetchurl, unzip }: { stdenv, fetchurl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "sweet"; pname = "sweet";
version = "1.10.5"; version = "2.0";
srcs = [ srcs = [
(fetchurl { (fetchurl {
url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet-Ambar-Blue.zip"; url = "https://github.com/EliverLara/Sweet/releases/download/${version}/Sweet-Ambar-Blue.tar.xz";
sha256 = "11040hx8ci4vbnyaj63zj924v0ln7rjm9a28mcqdax60h3dp12lj"; sha256 = "028pk07im7pab8a2vh3bvjm8jg37dpvn4c1mwn6vhb6wcr9v5c75";
}) })
(fetchurl { (fetchurl {
url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet-Ambar.zip"; url = "https://github.com/EliverLara/Sweet/releases/download/${version}/Sweet-Ambar.tar.xz";
sha256 = "0lvnjmirpwdav8q0bfbhybwkr2h6dilc7lhhj18xd2k57xadjmxr"; sha256 = "0zmdmqndj65kr43g3z57blrmv0y856zlfprm6y45zbf4xz3ybkg6";
}) })
(fetchurl { (fetchurl {
url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet-Dark.zip"; url = "https://github.com/EliverLara/Sweet/releases/download/${version}/Sweet-Dark.tar.xz";
sha256 = "0a7mh1pgvi8w1ahsmvgnmpdawm30lcjqk4zqvg0lqadsd04dn4h1"; sha256 = "02sw664fkrfpsygspq8fn4zgk8rxs9rd29nnx6nyvkji68mb51s6";
}) })
(fetchurl { (fetchurl {
url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet-mars.zip"; url = "https://github.com/EliverLara/Sweet/releases/download/${version}/Sweet-mars.tar.xz";
sha256 = "0n2dkl35qrik10wvhvkayyra987p03g56pxhz5kc73cbsl5zd96l"; sha256 = "14rl3il61jyqwiqlpgbh397q3rcs7jcf2pvr2763ar5a9czmy8h6";
}) })
(fetchurl { (fetchurl {
url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet.zip"; url = "https://github.com/EliverLara/Sweet/releases/download/${version}/Sweet.tar.xz";
sha256 = "0wwmc3wj2pjg4kimfkvcsimk3s4s7l7k000vxqi8yjlfs70f273c"; sha256 = "0rza3yxwj256ibqimymjhd6lpjzr7fkhggq0ijdg1wab3q91x66q";
}) })
]; ];
nativeBuildInputs = [ unzip ];
sourceRoot = "."; sourceRoot = ".";
installPhase = '' installPhase = ''
runHook preInstall
mkdir -p $out/share/themes/ mkdir -p $out/share/themes/
cp -a Sweet* $out/share/themes/ cp -a Sweet* $out/share/themes/
rm $out/share/themes/*/{LICENSE,README*} rm $out/share/themes/*/{LICENSE,README*}
runHook postInstall
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Light and dark colorful Gtk3.20+ theme"; description = "Light and dark colorful Gtk3.20+ theme";
homepage = "https://github.com/EliverLara/Sweet"; homepage = "https://github.com/EliverLara/Sweet";
license = licenses.gpl3; license = licenses.gpl3Only;
maintainers = with maintainers; [ fuzen ]; maintainers = with maintainers; [ fuzen ];
platforms = platforms.linux; platforms = platforms.linux;
}; };

View file

@ -26,15 +26,6 @@ stdenv.mkDerivation rec {
sha256 = "097dw1l92l73xah9l56ka5mi3dvx48ffpiv33ni5i5rqw0ng7fc4"; sha256 = "097dw1l92l73xah9l56ka5mi3dvx48ffpiv33ni5i5rqw0ng7fc4";
}; };
patches = [
# Fix build with Meson 0.55
# https://gitlab.gnome.org/GNOME/iagno/-/issues/16
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/iagno/commit/0100bab269f2102f24a6e41202b931da1b6e8dc5.patch";
sha256 = "ZW75s+bV45ivwA+SKUN7ejSvnXYEo/kYQjDVvFBA/sg=";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
meson meson
ninja ninja

View file

@ -4,6 +4,7 @@ mkXfceDerivation {
category = "apps"; category = "apps";
pname = "mousepad"; pname = "mousepad";
version = "0.4.2"; version = "0.4.2";
odd-unstable = false;
sha256 = "0a35vaq4l0d8vzw7hqpvbgkr3wj1sqr2zvj7bc5z4ikz2cppqj7p"; sha256 = "0a35vaq4l0d8vzw7hqpvbgkr3wj1sqr2zvj7bc5z4ikz2cppqj7p";

View file

@ -1,18 +1,23 @@
{ lib, fetchpatch, mkXfceDerivation, dbus-glib, gtk2, libical, libnotify, tzdata { stdenv, fetchurl, fetchpatch, pkg-config, intltool, dbus-glib, gtk2, libical, libnotify, tzdata
, popt, libxfce4ui, xfce4-panel, withPanelPlugin ? true }: , popt, libxfce4ui, xfce4-panel, withPanelPlugin ? true, wrapGAppsHook, xfce }:
assert withPanelPlugin -> libxfce4ui != null && xfce4-panel != null; assert withPanelPlugin -> libxfce4ui != null && xfce4-panel != null;
let let
inherit (lib) optionals; inherit (stdenv.lib) optionals;
in in
mkXfceDerivation { stdenv.mkDerivation rec {
category = "archive";
pname = "orage"; pname = "orage";
version = "4.12.1"; version = "4.12.1";
sha256 = "04z6y1vfaz1im1zq1zr7cf8pjibjhj9zkyanbp7vn30q520yxa0m"; src = fetchurl {
url = "https://archive.xfce.org/src/apps/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "0qlhvnl2m33vfxqlbkic2nmfpwyd4mq230jzhs48cg78392amy9w";
};
nativeBuildInputs = [ pkg-config intltool wrapGAppsHook ];
buildInputs = [ dbus-glib gtk2 libical libnotify popt ] buildInputs = [ dbus-glib gtk2 libical libnotify popt ]
++ optionals withPanelPlugin [ libxfce4ui xfce4-panel ]; ++ optionals withPanelPlugin [ libxfce4ui xfce4-panel ];
@ -33,7 +38,16 @@ mkXfceDerivation {
}) })
]; ];
meta = { passthru.updateScript = xfce.updateScript {
description = "A simple calendar application with reminders"; inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.archiveLister "apps" pname;
};
meta = with stdenv.lib; {
description = "Simple calendar application with reminders";
homepage = "https://git.xfce.org/archive/orage/";
license = licenses.gpl2Plus;
platforms = platforms.linux;
}; };
} }

View file

@ -5,9 +5,9 @@
mkXfceDerivation { mkXfceDerivation {
category = "xfce"; category = "xfce";
pname = "xfwm4"; pname = "xfwm4";
version = "4.14.5"; version = "4.14.6";
sha256 = "0xxprhs8g00ysrl25y6z9agih6wb7n29v5f5m2icaz7yjvj1k9iv"; sha256 = "1ml5b4nn8laqhjihfqqsbjn66525abhin5d32bplh1k9yfxw4xi4";
nativeBuildInputs = [ exo librsvg ]; nativeBuildInputs = [ exo librsvg ];

View file

@ -1,4 +1,4 @@
{ stdenv, fetchgit, pkgconfig, xfce4-dev-tools, hicolor-icon-theme, xfce, wrapGAppsHook }: { stdenv, fetchFromGitLab, pkgconfig, xfce4-dev-tools, hicolor-icon-theme, xfce, wrapGAppsHook }:
{ category { category
, pname , pname
@ -23,14 +23,16 @@ let
zipAttrsWithNames (filterAttrNames isList (head attrsets)) (_: concatLists) attrsets; zipAttrsWithNames (filterAttrNames isList (head attrsets)) (_: concatLists) attrsets;
template = rec { template = rec {
name = "${pname}-${version}"; inherit pname version;
nativeBuildInputs = [ pkgconfig xfce4-dev-tools wrapGAppsHook ]; nativeBuildInputs = [ pkgconfig xfce4-dev-tools wrapGAppsHook ];
buildInputs = [ hicolor-icon-theme ]; buildInputs = [ hicolor-icon-theme ];
configureFlags = [ "--enable-maintainer-mode" ]; configureFlags = [ "--enable-maintainer-mode" ];
src = fetchgit { src = fetchFromGitLab {
url = "git://git.xfce.org/${category}/${pname}"; domain = "gitlab.xfce.org";
owner = category;
repo = pname;
inherit rev sha256; inherit rev sha256;
}; };
@ -41,11 +43,11 @@ let
passthru.updateScript = xfce.updateScript { passthru.updateScript = xfce.updateScript {
inherit pname version attrPath rev-prefix odd-unstable patchlevel-unstable; inherit pname version attrPath rev-prefix odd-unstable patchlevel-unstable;
versionLister = xfce.gitLister src.url; versionLister = xfce.gitLister src.meta.homepage;
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = "https://git.xfce.org/${category}/${pname}/about"; homepage = "https://gitlab.xfce.org/${category}/${pname}/about";
license = licenses.gpl2; # some libraries are under LGPLv2+ license = licenses.gpl2; # some libraries are under LGPLv2+
platforms = platforms.linux; platforms = platforms.linux;
}; };

View file

@ -1,29 +1,36 @@
{ stdenv, pkgconfig, fetchFromGitHub, python2, vala_0_40 { stdenv, pkgconfig, fetchFromGitHub, python2, vala_0_46
, gtk2, libwnck, libxfce4util, xfce4-panel, wafHook }: , gtk3, libwnck3, libxfce4util, xfce4-panel, wafHook, xfce }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
ver = "0.3.1"; pname = "xfce4-namebar-plugin";
rev = "07a23b3"; version = "1.0.0";
name = "xfce4-namebar-plugin-${ver}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "TiZ-EX1"; owner = "HugLifeTiZ";
repo = "xfce4-namebar-plugin"; repo = pname;
rev = rev; rev = "v${version}";
sha256 = "1sl4qmjywfvv53ch7hyfysjfd91zl38y7gdw2y3k69vkzd3h18ad"; sha256 = "0l70f6mzkscsj4wr43wp5c0l2qnf85vj24cv02bjrh3bzz6wkak8";
}; };
nativeBuildInputs = [ pkgconfig wafHook ]; nativeBuildInputs = [ pkgconfig vala_0_46 wafHook ];
buildInputs = [ python2 vala_0_40 gtk2 libwnck libxfce4util xfce4-panel ]; buildInputs = [ gtk3 libwnck3 libxfce4util xfce4-panel ];
postPatch = '' postPatch = ''
substituteInPlace src/preferences.vala --replace 'Environment.get_system_data_dirs()' "{ \"$out/share\" }" for f in src/preferences.vala src/namebar.vala; do
substituteInPlace src/namebar.vala --replace 'Environment.get_system_data_dirs()' "{ \"$out/share\" }" substituteInPlace $f --replace 'var dirs = Environment.get_system_data_dirs()' "string[] dirs = { \"$out/share\" }"
done
''; '';
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
versionLister = xfce.gitLister src.meta.homepage;
rev-prefix = "v";
};
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = "https://github.com/TiZ-EX1/xfce4-namebar-plugin"; homepage = "https://github.com/HugLifeTiZ/xfce4-namebar-plugin";
description = "A plugins which integrates titlebar and window controls into the xfce4-panel"; description = "Plugin which integrates titlebar and window controls into the xfce4-panel";
license = licenses.mit; license = licenses.mit;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.volth ]; maintainers = [ maintainers.volth ];

View file

@ -5,6 +5,7 @@ mkXfceDerivation {
pname = "xfce4-whiskermenu-plugin"; pname = "xfce4-whiskermenu-plugin";
version = "2.4.6"; version = "2.4.6";
rev-prefix = "v"; rev-prefix = "v";
odd-unstable = false;
sha256 = "03asfaxqbhawzb3870az7qgid5y7cg3ip8h6r4z8kavcd0b7x4ii"; sha256 = "03asfaxqbhawzb3870az7qgid5y7cg3ip8h6r4z8kavcd0b7x4ii";
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View file

@ -1,6 +1,7 @@
{ stdenv, lib, crystal, shards, git, pkgconfig, which, linkFarm, fetchFromGitHub, installShellFiles }: { stdenv, lib, crystal, shards, git, pkgconfig, which, linkFarm, fetchFromGitHub, installShellFiles }:
{ # Some projects do not include a lock file, so you can pass one {
# Some projects do not include a lock file, so you can pass one
lockFile ? null lockFile ? null
# Generate shards.nix with `nix-shell -p crystal2nix --run crystal2nix` in the projects root # Generate shards.nix with `nix-shell -p crystal2nix --run crystal2nix` in the projects root
, shardsFile ? null , shardsFile ? null
@ -10,10 +11,11 @@
, installManPages ? true , installManPages ? true
# Specify binaries to build in the form { foo.src = "src/foo.cr"; } # Specify binaries to build in the form { foo.src = "src/foo.cr"; }
# The default `crystal build` options can be overridden with { foo.options = [ "--no-debug" ]; } # The default `crystal build` options can be overridden with { foo.options = [ "--no-debug" ]; }
, crystalBinaries ? { }, ... }@args: , crystalBinaries ? { }
, ...
}@args:
assert (builtins.elem format [ "make" "crystal" "shards" ]); assert (builtins.elem format [ "make" "crystal" "shards" ]);
let let
mkDerivationArgs = builtins.removeAttrs args [ mkDerivationArgs = builtins.removeAttrs args [
"format" "format"
@ -23,22 +25,34 @@ let
"crystalBinaries" "crystalBinaries"
]; ];
crystalLib = linkFarm "crystal-lib" (lib.mapAttrsToList (name: value: { crystalLib = linkFarm "crystal-lib" (lib.mapAttrsToList
inherit name; (name: value: {
path = fetchFromGitHub value; inherit name;
}) (import shardsFile)); path = fetchFromGitHub value;
})
(import shardsFile));
# we previously had --no-debug here but that is not recommended by upstream # we previously had --no-debug here but that is not recommended by upstream
defaultOptions = [ "--release" "--progress" "--verbose" ]; defaultOptions = [ "--release" "--progress" "--verbose" ];
buildDirectly = shardsFile == null || crystalBinaries != { }; buildDirectly = shardsFile == null || crystalBinaries != { };
in stdenv.mkDerivation (mkDerivationArgs // {
configurePhase = args.configurePhase or lib.concatStringsSep "\n" ([ in
"runHook preConfigure" stdenv.mkDerivation (mkDerivationArgs // {
] ++ lib.optional (lockFile != null) "ln -s ${lockFile} ./shard.lock"
++ lib.optional (shardsFile != null) "ln -s ${crystalLib} lib" configurePhase = args.configurePhase or lib.concatStringsSep "\n"
++ [ "runHook postConfigure "]); (
[
"runHook preConfigure"
]
++ lib.optional (lockFile != null) "cp ${lockFile} ./shard.lock"
++ lib.optionals (shardsFile != null) [
"test -e lib || mkdir lib"
"for d in ${crystalLib}/*; do ln -s $d lib/; done"
"cp shard.lock lib/.shards.info"
]
++ [ "runHook postConfigure" ]
);
CRFLAGS = lib.concatStringsSep " " defaultOptions; CRFLAGS = lib.concatStringsSep " " defaultOptions;
@ -53,24 +67,31 @@ in stdenv.mkDerivation (mkDerivationArgs // {
"runHook preBuild" "runHook preBuild"
] ++ lib.optional (format == "make") ] ++ lib.optional (format == "make")
''make ''${buildTargets:-build} $makeFlags'' ''make ''${buildTargets:-build} $makeFlags''
++ lib.optionals (format == "crystal") (lib.mapAttrsToList (bin: attrs: '' ++ lib.optionals (format == "crystal") (lib.mapAttrsToList
crystal ${lib.escapeShellArgs (["build" "-o" bin (bin: attrs: ''
(attrs.src or (throw "No source file for crystal binary ${bin} provided")) crystal ${lib.escapeShellArgs ([
] ++ (attrs.options or defaultOptions))} "build"
'') crystalBinaries) "-o"
bin
(attrs.src or (throw "No source file for crystal binary ${bin} provided"))
] ++ (attrs.options or defaultOptions))}
'')
crystalBinaries)
++ lib.optional (format == "shards") ++ lib.optional (format == "shards")
"shards build --local --production ${lib.concatStringsSep " " defaultOptions}" "shards build --local --production ${lib.concatStringsSep " " defaultOptions}"
++ [ "runHook postBuild" ])); ++ [ "runHook postBuild" ]));
installPhase = args.installPhase or (lib.concatStringsSep "\n" ([ installPhase = args.installPhase or (lib.concatStringsSep "\n" ([
"runHook preInstall" "runHook preInstall"
] ++ lib.optional (format == "make") ] ++ lib.optional (format == "make")
''make ''${installTargets:-install} $installFlags'' ''make ''${installTargets:-install} $installFlags''
++ lib.optionals (format == "crystal") (map (bin: '' ++ lib.optionals (format == "crystal") (map
(bin: ''
install -Dm555 ${lib.escapeShellArgs [ bin "${placeholder "out"}/bin/${bin}" ]} install -Dm555 ${lib.escapeShellArgs [ bin "${placeholder "out"}/bin/${bin}" ]}
'') (lib.attrNames crystalBinaries)) '')
(lib.attrNames crystalBinaries))
++ lib.optional (format == "shards") ++ lib.optional (format == "shards")
''install -Dm555 bin/* -t $out/bin'' ''install -Dm555 bin/* -t $out/bin''
++ [ ++ [
'' ''
for f in README* *.md LICENSE; do for f in README* *.md LICENSE; do
@ -78,9 +99,9 @@ in stdenv.mkDerivation (mkDerivationArgs // {
done done
'' ''
] ++ (lib.optional installManPages '' ] ++ (lib.optional installManPages ''
if [ -d man ]; then if [ -d man ]; then
installManPage man/*.? installManPage man/*.?
fi fi
'') ++ [ '') ++ [
"runHook postInstall" "runHook postInstall"
])); ]));

View file

@ -1,42 +0,0 @@
require "yaml"
require "json"
class PrefetchJSON
JSON.mapping(sha256: String)
end
class ShardLock
YAML.mapping(
version: Float32,
shards: Hash(String, Hash(String, String))
)
end
File.open "shards.nix", "w+" do |file|
file.puts %({)
yaml = ShardLock.from_yaml(File.read("shard.lock"))
yaml.shards.each do |key, value|
owner, repo = value["github"].split("/")
url = "https://github.com/#{value["github"]}"
rev = if value["version"]?
"v#{value["version"]}"
else
value["commit"]
end
sha256 = ""
args = ["--url", url, "--rev", rev]
Process.run("@nixPrefetchGit@", args: args) do |x|
x.error.each_line { |e| puts e }
sha256 = PrefetchJSON.from_json(x.output).sha256
end
file.puts %( #{key} = {)
file.puts %( owner = "#{owner}";)
file.puts %( repo = "#{repo}";)
file.puts %( rev = "#{rev}";)
file.puts %( sha256 = "#{sha256}";)
file.puts %( };)
end
file.puts %(})
end

View file

@ -1,22 +0,0 @@
{ lib, crystal, nix-prefetch-git }:
crystal.buildCrystalPackage {
pname = "crystal2nix";
version = "unstable-2018-07-31";
nixPrefetchGit = "${lib.getBin nix-prefetch-git}/bin/nix-prefetch-git";
unpackPhase = "substituteAll ${./crystal2nix.cr} crystal2nix.cr";
format = "crystal";
crystalBinaries.crystal2nix.src = "crystal2nix.cr";
# it will blow up without a shard.yml file
doInstallCheck = false;
meta = with lib; {
description = "Utility to convert Crystal's shard.lock files to a Nix file";
license = licenses.mit;
maintainers = with maintainers; [ manveru ];
};
}

View file

@ -0,0 +1,36 @@
{ lib, fetchFromGitHub, fetchgit, crystal, makeWrapper, nix-prefetch-git }:
crystal.buildCrystalPackage rec {
pname = "crystal2nix";
version = "0.1.0";
src = fetchFromGitHub {
owner = "peterhoeg";
repo = "crystal2nix";
rev = "v${version}";
sha256 = "sha256-K1ElG8VC/D0axmSRaufH3cE50xNQisAmFucDkV+5O0s=";
};
format = "shards";
shardsFile = ./shards.nix;
nativeBuildInputs = [ makeWrapper ];
postInstall = ''
wrapProgram $out/bin/crystal2nix \
--prefix PATH : ${lib.makeBinPath [ nix-prefetch-git ]}
'';
# temporarily off. We need the checks to execute the wrapped binary
doCheck = false;
# it requires an internet connection when run
doInstallCheck = false;
meta = with lib; {
description = "Utility to convert Crystal's shard.lock files to a Nix file";
license = licenses.mit;
maintainers = with maintainers; [ manveru peterhoeg ];
};
}

View file

@ -0,0 +1,14 @@
{
json_mapping = {
owner = "crystal-lang";
repo = "json_mapping.cr";
rev = "v0.1.0";
sha256 = "1qq5vs2085x7cwmp96rrjns0yz9kiz1lycxynfbz5psxll6b8p55";
};
yaml_mapping = {
owner = "crystal-lang";
repo = "yaml_mapping.cr";
rev = "v0.1.0";
sha256 = "02spz1521g59ar6rp0znnr01di766kknbjxjnygs39yn0cmpzqc1";
};
}

View file

@ -0,0 +1,53 @@
{ stdenv
, fetchurl
, ncurses5
, python27
}:
stdenv.mkDerivation rec {
pname = "gcc-arm-embedded";
version = "10-2020-q4-major";
subdir = "10-2020q4";
suffix = {
aarch64-linux = "aarch64-linux";
x86_64-darwin = "mac";
x86_64-linux = "x86_64-linux";
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
src = fetchurl {
url = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${subdir}/gcc-arm-none-eabi-${version}-${suffix}.tar.bz2";
sha256 = {
aarch64-linux = "0spkbh7vnda1w0nvavk342nb24nqxn8kln3k9j85mzil560qqg9l";
x86_64-darwin = "1h5xn0npwkilqxg7ifrymsl7kjpafr9r9gjqgcpb0kjxavijvldy";
x86_64-linux = "066nvhg5zdf3jvy9w23y439ghf1hvbicdyrrw9957gwb8ym4q4r1";
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};
dontConfigure = true;
dontBuild = true;
dontPatchELF = true;
dontStrip = true;
installPhase = ''
mkdir -p $out
cp -r * $out
ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man
'';
preFixup = ''
find $out -type f | while read f; do
patchelf "$f" > /dev/null 2>&1 || continue
patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true
patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 python27 ]} "$f" || true
done
'';
meta = with stdenv.lib; {
description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors";
homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm";
license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
maintainers = with maintainers; [ prusnak ];
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
};
}

View file

@ -22,7 +22,10 @@ stdenv.mkDerivation rec {
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
}; };
phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; dontConfigure = true;
dontBuild = true;
dontPatchELF = true;
dontStrip = true;
installPhase = '' installPhase = ''
mkdir -p $out mkdir -p $out
@ -30,12 +33,9 @@ stdenv.mkDerivation rec {
ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man
''; '';
dontPatchELF = true;
dontStrip = true;
preFixup = '' preFixup = ''
find $out -type f | while read f; do find $out -type f | while read f; do
patchelf $f > /dev/null 2>&1 || continue patchelf "$f" > /dev/null 2>&1 || continue
patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true
patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 python27 ]} "$f" || true patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 python27 ]} "$f" || true
done done

View file

@ -22,7 +22,10 @@ stdenv.mkDerivation rec {
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
}; };
phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; dontConfigure = true;
dontBuild = true;
dontPatchELF = true;
dontStrip = true;
installPhase = '' installPhase = ''
mkdir -p $out mkdir -p $out
@ -30,12 +33,9 @@ stdenv.mkDerivation rec {
ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man
''; '';
dontPatchELF = true;
dontStrip = true;
preFixup = '' preFixup = ''
find $out -type f | while read f; do find $out -type f | while read f; do
patchelf $f > /dev/null 2>&1 || continue patchelf "$f" > /dev/null 2>&1 || continue
patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true
patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 python27 ]} "$f" || true patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 python27 ]} "$f" || true
done done

View file

@ -22,7 +22,10 @@ stdenv.mkDerivation rec {
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
}; };
phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; dontConfigure = true;
dontBuild = true;
dontPatchELF = true;
dontStrip = true;
installPhase = '' installPhase = ''
mkdir -p $out mkdir -p $out
@ -30,12 +33,9 @@ stdenv.mkDerivation rec {
ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man
''; '';
dontPatchELF = true;
dontStrip = true;
preFixup = '' preFixup = ''
find $out -type f | while read f; do find $out -type f | while read f; do
patchelf $f > /dev/null 2>&1 || continue patchelf "$f" > /dev/null 2>&1 || continue
patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true
patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 python27 ]} "$f" || true patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 python27 ]} "$f" || true
done done

View file

@ -24,7 +24,10 @@ stdenv.mkDerivation rec {
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
}; };
phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; dontConfigure = true;
dontBuild = true;
dontPatchELF = true;
dontStrip = true;
installPhase = '' installPhase = ''
mkdir -p $out mkdir -p $out
@ -32,12 +35,9 @@ stdenv.mkDerivation rec {
ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man
''; '';
dontPatchELF = true;
dontStrip = true;
preFixup = '' preFixup = ''
find $out -type f | while read f; do find $out -type f | while read f; do
patchelf $f > /dev/null 2>&1 || continue patchelf "$f" > /dev/null 2>&1 || continue
patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true
patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 python27 ]} "$f" || true patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 python27 ]} "$f" || true
done done

View file

@ -14,6 +14,19 @@ let
}; };
in rec { in rec {
lua5_4 = callPackage ./interpreter.nix {
sourceVersion = { major = "5"; minor = "4"; patch = "2"; };
hash = "0ksj5zpj74n0jkamy3di1p6l10v4gjnd2zjnb453qc6px6bhsmqi";
patches = [
# build lua as a shared library as well, MIT-licensed from
# https://github.com/archlinux/svntogit-packages/tree/packages/lua/trunk
./liblua.so.patch
];
};
lua5_4_compat = lua5_4.override({
compat = true;
});
lua5_3 = callPackage ./interpreter.nix { lua5_3 = callPackage ./interpreter.nix {
sourceVersion = { major = "5"; minor = "3"; patch = "5"; }; sourceVersion = { major = "5"; minor = "3"; patch = "5"; };

View file

@ -0,0 +1,60 @@
diff --git a/Makefile b/Makefile
index 416f444..eeaff03 100644
--- a/Makefile
+++ b/Makefile
@@ -52,7 +52,7 @@ R= $V.0
all: $(PLAT)
$(PLATS) help test clean:
- @cd src && $(MAKE) $@
+ @cd src && $(MAKE) $@ V=$(V) R=$(R)
install: dummy
cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
diff --git a/src/Makefile b/src/Makefile
index 514593d..372a6dc 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -33,6 +33,7 @@ CMCFLAGS= -Os
PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris
LUA_A= liblua.a
+LUA_SO= liblua.so
CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o
LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o
BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS)
@@ -44,7 +45,7 @@ LUAC_T= luac
LUAC_O= luac.o
ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
+ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO)
ALL_A= $(LUA_A)
# Targets start here.
@@ -60,6 +61,12 @@ $(LUA_A): $(BASE_O)
$(AR) $@ $(BASE_O)
$(RANLIB) $@
+$(LUA_SO): $(CORE_O) $(LIB_O)
+ $(CC) -shared -ldl -Wl,-soname,$(LUA_SO).$(V) -o $@.$(R) $? -lm $(MYLDFLAGS)
+ ln -sf $(LUA_SO).$(R) $(LUA_SO).$(V)
+ ln -sf $(LUA_SO).$(R) $(LUA_SO)
+
+
$(LUA_T): $(LUA_O) $(LUA_A)
$(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
diff --git a/src/luaconf.h b/src/luaconf.h
index bdf927e..7e15198 100644
--- a/src/luaconf.h
+++ b/src/luaconf.h
@@ -227,7 +227,7 @@
#else /* }{ */
-#define LUA_ROOT "/usr/local/"
+#define LUA_ROOT "/usr/"
#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/"
#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/"

View file

@ -8,13 +8,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cgal"; pname = "cgal";
version = "5.1.1"; version = "5.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "CGAL"; owner = "CGAL";
repo = "releases"; repo = "releases";
rev = "CGAL-${version}"; rev = "CGAL-${version}";
sha256 = "1h4kj37zh60zap1gvpkvcl1b1lbdvav959gd59pq2c33i0ziagf6"; sha256 = "1+ov1fu79MXoW0D8odInMZPFMYg69st//PoMW42oXpA=";
}; };
# note: optional component libCGAL_ImageIO would need zlib and opengl; # note: optional component libCGAL_ImageIO would need zlib and opengl;

View file

@ -1,22 +0,0 @@
{ stdenv
, fetchFromGitLab
, extra-cmake-modules
, qtbase
, qtquickcontrols2
}:
stdenv.mkDerivation rec {
pname = "KQuickImageEditor";
version = "0.1";
src = fetchFromGitLab {
domain = "invent.kde.org";
owner = "libraries";
repo = pname;
rev = version;
sha256 = "0krx9bq6nfmpjjangis8gaz8rx3z35f6m3cpsrcfdwpgpm22fqll";
};
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [ qtbase qtquickcontrols2 ];
}

View file

@ -1,11 +1,12 @@
{stdenv, fetchurl}: {stdenv, fetchurl}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "a52dec-0.7.4p4"; pname = "a52dec";
version = "0.7.4";
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/files/a52dec-0.7.4.tar.gz"; url = "${meta.homepage}/files/${pname}-${version}.tar.gz";
sha256 = "0czccp4fcpf2ykp16xcrzdfmnircz1ynhls334q374xknd5747d2"; sha256 = "oh1ySrOzkzMwGUNTaH34LEdbXfuZdRPu9MJd5shl7DM=";
}; };
configureFlags = [ configureFlags = [
@ -18,10 +19,10 @@ stdenv.mkDerivation rec {
# but it's better to disable tests than loose ASLR on i686 # but it's better to disable tests than loose ASLR on i686
doCheck = !stdenv.isi686; doCheck = !stdenv.isi686;
meta = { meta = with stdenv.lib; {
description = "ATSC A/52 stream decoder"; description = "ATSC A/52 stream decoder";
homepage = "http://liba52.sourceforge.net/"; homepage = "https://liba52.sourceforge.net/";
platforms = stdenv.lib.platforms.unix; platforms = platforms.unix;
license = stdenv.lib.licenses.gpl2; license = licenses.gpl2Plus;
}; };
} }

View file

@ -1,42 +1,28 @@
{ stdenv { stdenv
, fetchFromGitHub , fetchFromGitLab
, fetchpatch
, cmake , cmake
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bcg729"; pname = "bcg729";
version = "1.0.4"; version = "1.1.1";
src = fetchFromGitHub { src = fetchFromGitLab {
owner = "BelledonneCommunications"; domain = "gitlab.linphone.org";
owner = "public";
group = "BC";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "05s0c5ps3a763y0v34wg5zghj0cdjnq4ch7g81848xxry7q90fwa"; sha256 = "1hal6b3w6f8y5r1wa0xzj8sj2jjndypaxyw62q50p63garp2h739";
}; };
patches = [
(fetchpatch {
url = "https://github.com/BelledonneCommunications/bcg729/commit/a5907daf1b111e4ad7aab4f558f57e2af1e37e55.patch";
sha256 = "0445syfwj4w4chh8ak80rq77iqcr27924n1ld5snshk3d21nxd64";
})
(fetchpatch {
url = "https://github.com/BelledonneCommunications/bcg729/commit/697bf6653a8c7421f0e821ee8d42471246e6850f.patch";
sha256 = "1h3gf5sj2sg5cs5iv1lcav3lkqmd5jf4agvjzz83l89wd5f5hp5l";
})
(fetchpatch {
url = "https://github.com/BelledonneCommunications/bcg729/commit/d63ce04a93711820d9a6985b1d11d8d91ed8e6b6.patch";
sha256 = "1piwf63ci2gma6jd6b4adkvxirysvazf0vklb5pc6vx1g93nkgxs";
})
];
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Opensource implementation of both encoder and decoder of the ITU G729 Annex A/B speech codec"; description = "Opensource implementation of both encoder and decoder of the ITU G729 Annex A/B speech codec";
homepage = "https://linphone.org/technical-corner/bcg729"; homepage = "https://linphone.org/technical-corner/bcg729";
changelog = "https://gitlab.linphone.org/BC/public/bcg729/raw/${version}/NEWS"; changelog = "https://gitlab.linphone.org/BC/public/bcg729/raw/${version}/NEWS";
license = licenses.gpl2Plus; license = licenses.gpl3Plus;
maintainers = with maintainers; [ c0bw3b ]; maintainers = with maintainers; [ c0bw3b ];
platforms = platforms.all; platforms = platforms.all;
}; };

View file

@ -7,7 +7,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bctoolbox"; pname = "bctoolbox";
version = "4.4.13"; version = "4.4.21";
nativeBuildInputs = [ cmake bcunit ]; nativeBuildInputs = [ cmake bcunit ];
buildInputs = [ mbedtls ]; buildInputs = [ mbedtls ];
@ -30,9 +30,7 @@ stdenv.mkDerivation rec {
inherit version; inherit version;
description = "Utilities library for Linphone"; description = "Utilities library for Linphone";
homepage = "https://gitlab.linphone.org/BC/public/bctoolbox"; homepage = "https://gitlab.linphone.org/BC/public/bctoolbox";
# Still using GPLv2 but as the rest of the Linphone projects have switched license = licenses.gpl3Plus;
# to GPLv3, this might too, so check this when bumping the version number.
license = licenses.gpl3Only;
maintainers = with maintainers; [ raskin jluttine ]; maintainers = with maintainers; [ raskin jluttine ];
platforms = platforms.linux; platforms = platforms.linux;
}; };

View file

@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "C++ library to manipulate VCard standard format"; description = "C++ library to manipulate VCard standard format";
homepage = "https://gitlab.linphone.org/BC/public/belcard"; homepage = "https://gitlab.linphone.org/BC/public/belcard";
license = licenses.lgpl21; license = licenses.gpl3Plus;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ jluttine ]; maintainers = with maintainers; [ jluttine ];
}; };

View file

@ -10,7 +10,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "belle-sip"; pname = "belle-sip";
version = "4.4.13"; version = "4.4.21";
src = fetchFromGitLab { src = fetchFromGitLab {
domain = "gitlab.linphone.org"; domain = "gitlab.linphone.org";
@ -18,10 +18,10 @@ stdenv.mkDerivation rec {
group = "BC"; group = "BC";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1ad7sqc5y4f3gc8glwmb3rvfzapnvhg981g13x90cg4nzikjvka0"; sha256 = "0ylv1jsqnfhw23i6p3lfqqzw48lwii8zwkq3y34q0hhnngn26iiw";
}; };
nativeBuildInputs = [ cmake antlr3_4 ]; nativeBuildInputs = [ antlr3_4 cmake ];
buildInputs = [ zlib ]; buildInputs = [ zlib ];
@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = "https://linphone.org/technical-corner/belle-sip"; homepage = "https://linphone.org/technical-corner/belle-sip";
description = "Modern library implementing SIP (RFC 3261) transport, transaction and dialog layers"; description = "Modern library implementing SIP (RFC 3261) transport, transaction and dialog layers";
license = licenses.gpl3; license = licenses.gpl3Plus;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ jluttine ]; maintainers = with maintainers; [ jluttine ];
}; };

View file

@ -6,17 +6,15 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "belr"; pname = "belr";
# Using master branch for linphone-desktop caused a chain reaction that many version = "4.3.2";
# of its dependencies needed to use master branch too.
version = "unstable-2020-03-09";
src = fetchFromGitLab { src = fetchFromGitLab {
domain = "gitlab.linphone.org"; domain = "gitlab.linphone.org";
owner = "public"; owner = "public";
group = "BC"; group = "BC";
repo = pname; repo = pname;
rev = "326d030ca9db12525c2a6d2a65f386f36f3c2ed5"; rev = version;
sha256 = "1cdblb9smncq3al0crqp5651b02k1g6whlw1ib769p61gad0rs3v"; sha256 = "1lda0f89vas38xgmc4yvnrigmrbril3dyqxgb5jh1zfx1xczfh1q";
}; };
buildInputs = [ bctoolbox ]; buildInputs = [ bctoolbox ];
@ -28,7 +26,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Belledonne Communications' language recognition library"; description = "Belledonne Communications' language recognition library";
homepage = "https://gitlab.linphone.org/BC/public/belr"; homepage = "https://gitlab.linphone.org/BC/public/belr";
license = licenses.gpl3; license = licenses.gpl3Plus;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ jluttine ]; maintainers = with maintainers; [ jluttine ];
}; };

View file

@ -7,7 +7,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bzrtp"; pname = "bzrtp";
version = "4.4.0"; version = "4.4.9";
src = fetchFromGitLab { src = fetchFromGitLab {
domain = "gitlab.linphone.org"; domain = "gitlab.linphone.org";
@ -29,9 +29,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "An opensource implementation of ZRTP keys exchange protocol"; description = "An opensource implementation of ZRTP keys exchange protocol";
homepage = "https://gitlab.linphone.org/BC/public/bzrtp"; homepage = "https://gitlab.linphone.org/BC/public/bzrtp";
# They have switched to GPLv3 on git HEAD so probably the next release will license = licenses.gpl3Plus;
# be GPL3.
license = licenses.lgpl21;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ jluttine ]; maintainers = with maintainers; [ jluttine ];
}; };

View file

@ -1,28 +1,28 @@
{ stdenv, fetchFromGitHub, alsaLib }: { stdenv, fetchFromGitHub, alsaLib }:
stdenv.mkDerivation { stdenv.mkDerivation rec {
name = "flite-2.1.0"; pname = "flite";
version = "2.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "festvox"; owner = "festvox";
repo = "flite"; repo = "flite";
rev = "d673f65b2c4a8cd3da7447079309a6dc4bcf1a5e"; rev = "v${version}";
sha256 = "1kx43jvdln370590gfjhxxz3chxfi6kq18504wmdpljib2l0grjq"; sha256 = "1n0p81jzndzc1rzgm66kw9ls189ricy5v1ps11y0p2fk1p56kbjf";
}; };
buildInputs = [ alsaLib ]; buildInputs = stdenv.lib.optionals stdenv.isLinux [ alsaLib ];
configureFlags = [ configureFlags = [
"--enable-shared" "--enable-shared"
"--with-audio=alsa" ] ++ stdenv.lib.optionals stdenv.isLinux [ "--with-audio=alsa" ];
];
enableParallelBuilding = true; enableParallelBuilding = true;
meta = { meta = with stdenv.lib; {
description = "A small, fast run-time speech synthesis engine"; description = "A small, fast run-time speech synthesis engine";
homepage = "http://www.festvox.org/flite/"; homepage = "http://www.festvox.org/flite/";
license = stdenv.lib.licenses.free; license = licenses.bsdOriginal;
platforms = stdenv.lib.platforms.linux; platforms = platforms.all;
}; };
} }

View file

@ -5,13 +5,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "intel-media-driver"; pname = "intel-media-driver";
version = "20.4.3"; version = "20.4.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "intel"; owner = "intel";
repo = "media-driver"; repo = "media-driver";
rev = "intel-media-${version}"; rev = "intel-media-${version}";
sha256 = "04a0hcw9f8fr96xpc1inc19mncssqzxmjba9cdvvh71n8j7n3yyw"; sha256 = "149xkhhp8q06c1jzxjs24lnbfrlvf19m0hcwld593vv4arfpbpmf";
}; };
cmakeFlags = [ cmakeFlags = [

Some files were not shown because too many files have changed in this diff Show more