Project import generated by Copybara.

GitOrigin-RevId: 64b4617883844efe0cc20163e007ee636462eb18
This commit is contained in:
Default email 2021-02-16 18:04:54 +01:00
parent fcc03dbfc5
commit 29574b70c6
262 changed files with 8599 additions and 5220 deletions

View file

@ -1,60 +0,0 @@
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: peter-evans/create-or-update-comment@v1
with:
comment-id: ${{ github.event.comment.id }}
reactions: eyes
- 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

@ -0,0 +1,134 @@
on:
issue_comment:
types:
- created
# This action allows people with write access to the repo to rebase a PRs base branch
# by commenting `/rebase ${branch}` 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')
steps:
- uses: peter-evans/create-or-update-comment@v1
with:
comment-id: ${{ github.event.comment.id }}
reactions: eyes
- 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 permissions
run: |
echo "Commenter doesn't have write access to the repo"
exit 1
if: "! steps.check-write-access.outputs.has-permission"
- name: setup
run: |
curl "https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.issue.number }}" 2>/dev/null >pr.json
cat <<EOF >>"$GITHUB_ENV"
CAN_MODIFY=$(jq -r '.maintainer_can_modify' pr.json)
COMMITS=$(jq -r '.commits' pr.json)
CURRENT_BASE=$(jq -r '.base.ref' pr.json)
PR_BRANCH=$(jq -r '.head.ref' pr.json)
COMMENT_BRANCH=$(echo ${{ github.event.comment.body }} | awk "/^\/rebase / {print \$2}")
PULL_REQUEST=${{ github.event.issue.number }}
EOF
rm pr.json
- name: check branch
env:
PERMANENT_BRANCHES: "haskell-updates|master|nixos|nixpkgs|python-unstable|release|staging"
VALID_BRANCHES: "haskell-updates|master|python-unstable|release-20.09|staging|staging-20.09|staging-next"
run: |
message() {
cat <<EOF
Can't rebase $PR_BRANCH from $CURRENT_BASE onto $COMMENT_BRANCH (PR:$PULL_REQUEST COMMITS:$COMMITS)
EOF
}
if ! [[ "$COMMENT_BRANCH" =~ ^($VALID_BRANCHES)$ ]]; then
cat <<EOF
Check that the branch from the comment is valid:
$(message)
This action can only rebase onto these branches:
$VALID_BRANCHES
\`/rebase \${branch}\` must be at the start of the line
EOF
exit 1
fi
if [[ "$COMMENT_BRANCH" == "$CURRENT_BASE" ]]; then
cat <<EOF
Check that the branch from the comment isn't the current base branch:
$(message)
EOF
exit 1
fi
if [[ "$COMMENT_BRANCH" == "$PR_BRANCH" ]]; then
cat <<EOF
Check that the branch from the comment isn't the current branch:
$(message)
EOF
exit 1
fi
if [[ "$PR_BRANCH" =~ ^($PERMANENT_BRANCHES) ]]; then
cat <<EOF
Check that the PR branch isn't a permanent branch:
$(message)
EOF
exit 1
fi
if [[ "$CAN_MODIFY" != "true" ]]; then
cat <<EOF
Check that maintainers can edit the PR branch:
$(message)
EOF
exit 1
fi
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: rebase pull request
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
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/"$CURRENT_BASE" origin/"$COMMENT_BRANCH")" \
"HEAD~$COMMITS"
git push --force
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
-H "Authorization: token $GITHUB_TOKEN" \
-d "{ \"base\": \"$COMMENT_BRANCH\" }" \
"https://api.github.com/repos/${{ github.repository }}/pulls/$PULL_REQUEST"
curl \
-X PATCH \
-H "Accept: application/vnd.github.v3+json" \
-H "Authorization: token $GITHUB_TOKEN" \
-d '{ "state": "closed" }' \
"https://api.github.com/repos/${{ github.repository }}/pulls/$PULL_REQUEST"
- uses: peter-evans/create-or-update-comment@v1
with:
issue-number: ${{ github.event.issue.number }}
body: |
Rebased, please reopen the pull request to restart CI
- uses: peter-evans/create-or-update-comment@v1
if: failure()
with:
issue-number: ${{ github.event.issue.number }}
body: |
[Failed to rebase](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})

View file

@ -568,7 +568,7 @@ in {
# Install all the user shells # Install all the user shells
environment.systemPackages = systemShells; environment.systemPackages = systemShells;
environment.etc = (mapAttrs' (name: { packages, ... }: { environment.etc = (mapAttrs' (_: { packages, name, ... }: {
name = "profiles/per-user/${name}"; name = "profiles/per-user/${name}";
value.source = pkgs.buildEnv { value.source = pkgs.buildEnv {
name = "user-environment"; name = "user-environment";

View file

@ -80,6 +80,7 @@
./hardware/video/displaylink.nix ./hardware/video/displaylink.nix
./hardware/video/hidpi.nix ./hardware/video/hidpi.nix
./hardware/video/nvidia.nix ./hardware/video/nvidia.nix
./hardware/video/switcheroo-control.nix
./hardware/video/uvcvideo/default.nix ./hardware/video/uvcvideo/default.nix
./hardware/video/webcam/facetimehd.nix ./hardware/video/webcam/facetimehd.nix
./hardware/xpadneo.nix ./hardware/xpadneo.nix

View file

@ -10,7 +10,10 @@ in {
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
hardware.uinput.enable = true; hardware.uinput.enable = true;
boot.extraModprobeConfig = lib.readFile "${pkgs.xow}/lib/modprobe.d/xow-blacklist.conf";
systemd.packages = [ pkgs.xow ]; systemd.packages = [ pkgs.xow ];
systemd.services.xow.wantedBy = [ "multi-user.target" ];
services.udev.packages = [ pkgs.xow ]; services.udev.packages = [ pkgs.xow ];
}; };

View file

@ -454,7 +454,7 @@ in {
authentication = mkOption { authentication = mkOption {
type = with types; nullOr str; type = with types; nullOr str;
default = null; default = null;
description = "Authentitcation type to use, see http://api.rubyonrails.org/classes/ActionMailer/Base.html"; description = "Authentication type to use, see http://api.rubyonrails.org/classes/ActionMailer/Base.html";
}; };
enableStartTLSAuto = mkOption { enableStartTLSAuto = mkOption {

View file

@ -25,10 +25,28 @@ let
ES_ENABLED = if (cfg.elasticsearch.host != null) then "true" else "false"; ES_ENABLED = if (cfg.elasticsearch.host != null) then "true" else "false";
ES_HOST = cfg.elasticsearch.host; ES_HOST = cfg.elasticsearch.host;
ES_PORT = toString(cfg.elasticsearch.port); ES_PORT = toString(cfg.elasticsearch.port);
TRUSTED_PROXY_IP = cfg.trustedProxy;
} }
// (if cfg.smtp.authenticate then { SMTP_LOGIN = cfg.smtp.user; } else {}) // (if cfg.smtp.authenticate then { SMTP_LOGIN = cfg.smtp.user; } else {})
// cfg.extraConfig; // cfg.extraConfig;
cfgService = {
# User and group
User = cfg.user;
Group = cfg.group;
# State directory and mode
StateDirectory = "mastodon";
StateDirectoryMode = "0750";
# Logs directory and mode
LogsDirectory = "mastodon";
LogsDirectoryMode = "0750";
# Access write directories
UMask = "0027";
# Sandboxing
PrivateTmp = true;
};
envFile = pkgs.writeText "mastodon.env" (lib.concatMapStrings (s: s + "\n") ( envFile = pkgs.writeText "mastodon.env" (lib.concatMapStrings (s: s + "\n") (
(lib.concatLists (lib.mapAttrsToList (name: value: (lib.concatLists (lib.mapAttrsToList (name: value:
if value != null then [ if value != null then [
@ -179,6 +197,26 @@ in {
type = lib.types.str; type = lib.types.str;
}; };
trustedProxy = lib.mkOption {
description = ''
You need to set it to the IP from which your reverse proxy sends requests to Mastodon's web process,
otherwise Mastodon will record the reverse proxy's own IP as the IP of all requests, which would be
bad because IP addresses are used for important rate limits and security functions.
'';
type = lib.types.str;
default = "127.0.0.1";
};
enableUnixSocket = lib.mkOption {
description = ''
Instead of binding to an IP address like 127.0.0.1, you may bind to a Unix socket. This variable
is process-specific, e.g. you need different values for every process, and it works for both web (Puma)
processes and streaming API (Node.js) processes.
'';
type = lib.types.bool;
default = true;
};
redis = { redis = {
createLocally = lib.mkOption { createLocally = lib.mkOption {
description = "Configure local Redis server for Mastodon."; description = "Configure local Redis server for Mastodon.";
@ -370,19 +408,16 @@ in {
environment = env; environment = env;
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
User = cfg.user;
Group = cfg.group;
WorkingDirectory = cfg.package; WorkingDirectory = cfg.package;
LogsDirectory = "mastodon"; } // cfgService;
StateDirectory = "mastodon";
};
after = [ "network.target" ]; after = [ "network.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
}; };
systemd.services.mastodon-init-db = lib.mkIf cfg.automaticMigrations { systemd.services.mastodon-init-db = lib.mkIf cfg.automaticMigrations {
script = '' script = ''
if [ `psql mastodon -c \ if [ `psql ${cfg.database.name} -c \
"select count(*) from pg_class c \ "select count(*) from pg_class c \
join pg_namespace s on s.oid = c.relnamespace \ join pg_namespace s on s.oid = c.relnamespace \
where s.nspname not in ('pg_catalog', 'pg_toast', 'information_schema') \ where s.nspname not in ('pg_catalog', 'pg_toast', 'information_schema') \
@ -397,14 +432,9 @@ in {
environment = env; environment = env;
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
User = cfg.user;
Group = cfg.group;
EnvironmentFile = "/var/lib/mastodon/.secrets_env"; EnvironmentFile = "/var/lib/mastodon/.secrets_env";
PrivateTmp = true;
LogsDirectory = "mastodon";
StateDirectory = "mastodon";
WorkingDirectory = cfg.package; WorkingDirectory = cfg.package;
}; } // cfgService;
after = [ "mastodon-init-dirs.service" "network.target" ] ++ (if databaseActuallyCreateLocally then [ "postgresql.service" ] else []); after = [ "mastodon-init-dirs.service" "network.target" ] ++ (if databaseActuallyCreateLocally then [ "postgresql.service" ] else []);
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
}; };
@ -415,21 +445,20 @@ in {
++ (if cfg.automaticMigrations then [ "mastodon-init-db.service" ] else [ "mastodon-init-dirs.service" ]); ++ (if cfg.automaticMigrations then [ "mastodon-init-db.service" ] else [ "mastodon-init-dirs.service" ]);
description = "Mastodon streaming"; description = "Mastodon streaming";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
environment = env // { environment = env // (if cfg.enableUnixSocket
PORT = toString(cfg.streamingPort); then { SOCKET = "/run/mastodon-streaming/streaming.socket"; }
}; else { PORT = toString(cfg.streamingPort); }
);
serviceConfig = { serviceConfig = {
ExecStart = "${pkgs.nodejs-slim}/bin/node streaming"; ExecStart = "${cfg.package}/run-streaming.sh";
Restart = "always"; Restart = "always";
RestartSec = 20; RestartSec = 20;
User = cfg.user;
Group = cfg.group;
WorkingDirectory = cfg.package;
EnvironmentFile = "/var/lib/mastodon/.secrets_env"; EnvironmentFile = "/var/lib/mastodon/.secrets_env";
PrivateTmp = true; WorkingDirectory = cfg.package;
LogsDirectory = "mastodon"; # Runtime directory and mode
StateDirectory = "mastodon"; RuntimeDirectory = "mastodon-streaming";
}; RuntimeDirectoryMode = "0750";
} // cfgService;
}; };
systemd.services.mastodon-web = { systemd.services.mastodon-web = {
@ -438,21 +467,20 @@ in {
++ (if cfg.automaticMigrations then [ "mastodon-init-db.service" ] else [ "mastodon-init-dirs.service" ]); ++ (if cfg.automaticMigrations then [ "mastodon-init-db.service" ] else [ "mastodon-init-dirs.service" ]);
description = "Mastodon web"; description = "Mastodon web";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
environment = env // { environment = env // (if cfg.enableUnixSocket
PORT = toString(cfg.webPort); then { SOCKET = "/run/mastodon-web/web.socket"; }
}; else { PORT = toString(cfg.webPort); }
);
serviceConfig = { serviceConfig = {
ExecStart = "${cfg.package}/bin/puma -C config/puma.rb"; ExecStart = "${cfg.package}/bin/puma -C config/puma.rb";
Restart = "always"; Restart = "always";
RestartSec = 20; RestartSec = 20;
User = cfg.user;
Group = cfg.group;
WorkingDirectory = cfg.package;
EnvironmentFile = "/var/lib/mastodon/.secrets_env"; EnvironmentFile = "/var/lib/mastodon/.secrets_env";
PrivateTmp = true; WorkingDirectory = cfg.package;
LogsDirectory = "mastodon"; # Runtime directory and mode
StateDirectory = "mastodon"; RuntimeDirectory = "mastodon-web";
}; RuntimeDirectoryMode = "0750";
} // cfgService;
path = with pkgs; [ file imagemagick ffmpeg ]; path = with pkgs; [ file imagemagick ffmpeg ];
}; };
@ -469,14 +497,9 @@ in {
ExecStart = "${cfg.package}/bin/sidekiq -c 25 -r ${cfg.package}"; ExecStart = "${cfg.package}/bin/sidekiq -c 25 -r ${cfg.package}";
Restart = "always"; Restart = "always";
RestartSec = 20; RestartSec = 20;
User = cfg.user;
Group = cfg.group;
WorkingDirectory = cfg.package;
EnvironmentFile = "/var/lib/mastodon/.secrets_env"; EnvironmentFile = "/var/lib/mastodon/.secrets_env";
PrivateTmp = true; WorkingDirectory = cfg.package;
LogsDirectory = "mastodon"; } // cfgService;
StateDirectory = "mastodon";
};
path = with pkgs; [ file imagemagick ffmpeg ]; path = with pkgs; [ file imagemagick ffmpeg ];
}; };
@ -495,12 +518,12 @@ in {
}; };
locations."@proxy" = { locations."@proxy" = {
proxyPass = "http://127.0.0.1:${toString(cfg.webPort)}"; proxyPass = (if cfg.enableUnixSocket then "http://unix:/run/mastodon-web/web.socket" else "http://127.0.0.1:${toString(cfg.webPort)}");
proxyWebsockets = true; proxyWebsockets = true;
}; };
locations."/api/v1/streaming/" = { locations."/api/v1/streaming/" = {
proxyPass = "http://127.0.0.1:${toString(cfg.streamingPort)}/"; proxyPass = (if cfg.enableUnixSocket then "http://unix:/run/mastodon-streaming/streaming.socket" else "http://127.0.0.1:${toString(cfg.streamingPort)}/");
proxyWebsockets = true; proxyWebsockets = true;
}; };
}; };
@ -532,6 +555,7 @@ in {
}; };
}) })
(lib.attrsets.setAttrByPath [ cfg.user "packages" ] [ cfg.package mastodonEnv ]) (lib.attrsets.setAttrByPath [ cfg.user "packages" ] [ cfg.package mastodonEnv ])
(lib.mkIf cfg.configureNginx {${config.services.nginx.user}.extraGroups = [ cfg.user ];})
]; ];
users.groups.mastodon = lib.mkIf (cfg.group == "mastodon") { }; users.groups.mastodon = lib.mkIf (cfg.group == "mastodon") { };

View file

@ -603,10 +603,10 @@ in {
priority = 210; priority = 210;
extraConfig = '' extraConfig = ''
location = /.well-known/carddav { location = /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav; return 301 /remote.php/dav;
} }
location = /.well-known/caldav { location = /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav; return 301 /remote.php/dav;
} }
try_files $uri $uri/ =404; try_files $uri $uri/ =404;
''; '';
@ -614,7 +614,7 @@ in {
"~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/)".extraConfig = '' "~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/)".extraConfig = ''
return 404; return 404;
''; '';
"~ ^/(?:\\.|autotest|occ|issue|indie|db_|console)".extraConfig = '' "~ ^/(?:\\.(?!well-known)|autotest|occ|issue|indie|db_|console)".extraConfig = ''
return 404; return 404;
''; '';
"~ ^\\/(?:index|remote|public|cron|core\\/ajax\\/update|status|ocs\\/v[12]|updater\\/.+|oc[ms]-provider\\/.+|.+\\/richdocumentscode\\/proxy)\\.php(?:$|\\/)" = { "~ ^\\/(?:index|remote|public|cron|core\\/ajax\\/update|status|ocs\\/v[12]|updater\\/.+|oc[ms]-provider\\/.+|.+\\/richdocumentscode\\/proxy)\\.php(?:$|\\/)" = {

View file

@ -105,6 +105,16 @@ in
})); }));
}; };
systemd.packages = [ cfg.package ];
systemd.services.podman.serviceConfig = {
ExecStart = [ "" "${cfg.package}/bin/podman $LOGGING system service" ];
};
systemd.sockets.podman.wantedBy = [ "sockets.target" ];
systemd.tmpfiles.packages = [ cfg.package ];
assertions = [ assertions = [
{ {
assertion = cfg.dockerCompat -> !config.virtualisation.docker.enable; assertion = cfg.dockerCompat -> !config.virtualisation.docker.enable;

View file

@ -7,7 +7,7 @@
# the VM in the host. On the other hand, the root filesystem is a # the VM in the host. On the other hand, the root filesystem is a
# read/writable disk image persistent across VM reboots. # read/writable disk image persistent across VM reboots.
{ config, lib, pkgs, ... }: { config, lib, pkgs, options, ... }:
with lib; with lib;
with import ../../lib/qemu-flags.nix { inherit pkgs; }; with import ../../lib/qemu-flags.nix { inherit pkgs; };
@ -266,6 +266,8 @@ in
options = { options = {
virtualisation.fileSystems = options.fileSystems;
virtualisation.memorySize = virtualisation.memorySize =
mkOption { mkOption {
default = 384; default = 384;
@ -659,6 +661,7 @@ in
# attribute should be disregarded for the purpose of building a VM # attribute should be disregarded for the purpose of building a VM
# test image (since those filesystems don't exist in the VM). # test image (since those filesystems don't exist in the VM).
fileSystems = mkVMOverride ( fileSystems = mkVMOverride (
cfg.fileSystems //
{ "/".device = cfg.bootDevice; { "/".device = cfg.bootDevice;
${if cfg.writableStore then "/nix/.ro-store" else "/nix/store"} = ${if cfg.writableStore then "/nix/.ro-store" else "/nix/store"} =
{ device = "store"; { device = "store";

View file

@ -8,7 +8,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }:
${pkgs.btrfs-progs}/bin/mkfs.btrfs -f -L aux2 /dev/vdc ${pkgs.btrfs-progs}/bin/mkfs.btrfs -f -L aux2 /dev/vdc
''; '';
virtualisation.emptyDiskImages = [ 4096 4096 ]; virtualisation.emptyDiskImages = [ 4096 4096 ];
fileSystems = lib.mkVMOverride { virtualisation.fileSystems = {
"/aux1" = { # filesystem configured to be deduplicated "/aux1" = { # filesystem configured to be deduplicated
device = "/dev/disk/by-label/aux1"; device = "/dev/disk/by-label/aux1";
fsType = "btrfs"; fsType = "btrfs";

View file

@ -4,7 +4,7 @@ import ./make-test-python.nix {
machine = { lib, ... }: { machine = { lib, ... }: {
virtualisation.emptyDiskImages = [ 1 ]; virtualisation.emptyDiskImages = [ 1 ];
fileSystems = lib.mkVMOverride { virtualisation.fileSystems = {
"/mnt" = { "/mnt" = {
device = "/dev/vdb"; device = "/dev/vdb";
fsType = "ext4"; fsType = "ext4";

View file

@ -3,7 +3,7 @@ import ./make-test-python.nix ({pkgs, lib, ...}:
let let
client = { pkgs, ... } : { client = { pkgs, ... } : {
environment.systemPackages = [ pkgs.glusterfs ]; environment.systemPackages = [ pkgs.glusterfs ];
fileSystems = pkgs.lib.mkVMOverride virtualisation.fileSystems =
{ "/gluster" = { "/gluster" =
{ device = "server1:/gv0"; { device = "server1:/gv0";
fsType = "glusterfs"; fsType = "glusterfs";
@ -22,7 +22,7 @@ let
virtualisation.emptyDiskImages = [ 1024 ]; virtualisation.emptyDiskImages = [ 1024 ];
fileSystems = pkgs.lib.mkVMOverride virtualisation.fileSystems =
{ "/data" = { "/data" =
{ device = "/dev/disk/by-label/data"; { device = "/dev/disk/by-label/data";
fsType = "ext4"; fsType = "ext4";

View file

@ -18,7 +18,7 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... } : {
boot.initrd.postDeviceCommands = '' boot.initrd.postDeviceCommands = ''
${pkgs.dosfstools}/bin/mkfs.vfat -n EFISYS /dev/vdb ${pkgs.dosfstools}/bin/mkfs.vfat -n EFISYS /dev/vdb
''; '';
fileSystems = lib.mkVMOverride { virtualisation.fileSystems = {
"/efi" = { "/efi" = {
device = "/dev/disk/by-label/EFISYS"; device = "/dev/disk/by-label/EFISYS";
fsType = "vfat"; fsType = "vfat";

View file

@ -7,7 +7,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }:
nodes = rec { nodes = rec {
a = { a = {
environment.systemPackages = with pkgs; [ sshfs ]; environment.systemPackages = with pkgs; [ sshfs ];
fileSystems = lib.mkVMOverride { virtualisation.fileSystems = {
"/ssh" = { "/ssh" = {
device = "alice@b:/"; device = "alice@b:/";
fsType = "fuse.sshfs"; fsType = "fuse.sshfs";

View file

@ -16,7 +16,7 @@ import ./make-test-python.nix ({ pkgs, ...} : rec {
environment.variables.EDITOR = mkOverride 0 "emacs"; environment.variables.EDITOR = mkOverride 0 "emacs";
documentation.nixos.enable = mkOverride 0 true; documentation.nixos.enable = mkOverride 0 true;
systemd.tmpfiles.rules = [ "d /tmp 1777 root root 10d" ]; systemd.tmpfiles.rules = [ "d /tmp 1777 root root 10d" ];
fileSystems = mkVMOverride { "/tmp2" = virtualisation.fileSystems = { "/tmp2" =
{ fsType = "tmpfs"; { fsType = "tmpfs";
options = [ "mode=1777" "noauto" ]; options = [ "mode=1777" "noauto" ];
}; };

View file

@ -15,7 +15,7 @@ in {
echo "http://nextcloud/remote.php/webdav/ ${adminuser} ${adminpass}" > /tmp/davfs2-secrets echo "http://nextcloud/remote.php/webdav/ ${adminuser} ${adminpass}" > /tmp/davfs2-secrets
chmod 600 /tmp/davfs2-secrets chmod 600 /tmp/davfs2-secrets
''; '';
fileSystems = pkgs.lib.mkVMOverride { virtualisation.fileSystems = {
"/mnt/dav" = { "/mnt/dav" = {
device = "http://nextcloud/remote.php/webdav/"; device = "http://nextcloud/remote.php/webdav/";
fsType = "davfs"; fsType = "davfs";

View file

@ -40,7 +40,7 @@ in
networking.domain = "nfs.test"; networking.domain = "nfs.test";
networking.hostName = "client"; networking.hostName = "client";
fileSystems = lib.mkVMOverride virtualisation.fileSystems =
{ "/data" = { { "/data" = {
device = "server.nfs.test:/"; device = "server.nfs.test:/";
fsType = "nfs"; fsType = "nfs";

View file

@ -4,7 +4,7 @@ let
client = client =
{ pkgs, ... }: { pkgs, ... }:
{ fileSystems = pkgs.lib.mkVMOverride { virtualisation.fileSystems =
{ "/data" = { "/data" =
{ # nfs4 exports the export with fsid=0 as a virtual root directory { # nfs4 exports the export with fsid=0 as a virtual root directory
device = if (version == 4) then "server:/" else "server:/data"; device = if (version == 4) then "server:/" else "server:/data";

View file

@ -9,7 +9,7 @@ let
virtualisation.emptyDiskImages = [ 4096 ]; virtualisation.emptyDiskImages = [ 4096 ];
fileSystems = pkgs.lib.mkVMOverride virtualisation.fileSystems =
{ "/data" = { "/data" =
{ device = "/dev/disk/by-label/data"; { device = "/dev/disk/by-label/data";
fsType = "ext4"; fsType = "ext4";

View file

@ -8,7 +8,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
nodes = nodes =
{ client = { client =
{ pkgs, ... }: { pkgs, ... }:
{ fileSystems = pkgs.lib.mkVMOverride { virtualisation.fileSystems =
{ "/public" = { { "/public" = {
fsType = "cifs"; fsType = "cifs";
device = "//server/public"; device = "//server/public";

View file

@ -9,7 +9,7 @@ import ./make-test-python.nix ({ ... }:
virtualisation.emptyDiskImages = [ 4096 ]; virtualisation.emptyDiskImages = [ 4096 ];
fileSystems = lib.mkVMOverride { virtualisation.fileSystems = {
"/home" = { "/home" = {
device = "/dev/disk/by-label/aux"; device = "/dev/disk/by-label/aux";
fsType = "btrfs"; fsType = "btrfs";

View file

@ -9,7 +9,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
environment.systemPackages = [ pkgs.cryptsetup ]; environment.systemPackages = [ pkgs.cryptsetup ];
fileSystems = lib.mkVMOverride { virtualisation.fileSystems = {
"/test-x-initrd-mount" = { "/test-x-initrd-mount" = {
device = "/dev/vdb"; device = "/dev/vdb";
fsType = "ext2"; fsType = "ext2";

View file

@ -29,7 +29,7 @@ let
# Setup regular fileSystems machinery to ensure forceImportAll can be # Setup regular fileSystems machinery to ensure forceImportAll can be
# tested via the regular service units. # tested via the regular service units.
fileSystems = lib.mkVMOverride { virtualisation.fileSystems = {
"/forcepool" = { "/forcepool" = {
device = "forcepool"; device = "forcepool";
fsType = "zfs"; fsType = "zfs";

View file

@ -6,11 +6,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bitwig-studio"; pname = "bitwig-studio";
version = "3.3.2"; version = "3.3.3";
src = fetchurl { src = fetchurl {
url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb"; url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
sha256 = "sha256-R1e+eTheS9KqPIHw1QoMJgpSB1ss0gwTUGAojdJM0Zw="; sha256 = "sha256-NDkGHJDr6TCHEhgSKK7jLYk5RjGEj8+lDYZ4ywvG20g=";
}; };
nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ]; nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];

View file

@ -25,7 +25,7 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "lollypop"; pname = "lollypop";
version = "1.4.5"; version = "1.4.16";
format = "other"; format = "other";
doCheck = false; doCheck = false;
@ -34,7 +34,7 @@ python3.pkgs.buildPythonApplication rec {
url = "https://gitlab.gnome.org/World/lollypop"; url = "https://gitlab.gnome.org/World/lollypop";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
fetchSubmodules = true; fetchSubmodules = true;
sha256 = "1i5qcpp3fpkda08g6nkiiff8lsjmv5xsvpa0512kigq5z0lsagrx"; sha256 = "sha256-4txJ+lYx2BROjZznFwWMc+tTVpYQpPtPySfCl+Hfy+0=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -106,7 +106,7 @@ python3.pkgs.buildPythonApplication rec {
description = "A modern music player for GNOME"; description = "A modern music player for GNOME";
homepage = "https://wiki.gnome.org/Apps/Lollypop"; homepage = "https://wiki.gnome.org/Apps/Lollypop";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = with maintainers; [ worldofpeace ]; maintainers = with maintainers; [ worldofpeace lovesegfault ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View file

@ -15,11 +15,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "reaper"; pname = "reaper";
version = "6.21"; version = "6.23";
src = fetchurl { src = fetchurl {
url = "https://www.reaper.fm/files/${lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_x86_64.tar.xz"; url = "https://www.reaper.fm/files/${lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_x86_64.tar.xz";
sha256 = "11nvfjfrri9y0k7n7psz3yk1l7mxp9f6yi69pq7hvn9d4n26p5vd"; sha256 = "1s9c8prqk38738hjaixiy8ljp94cqw7jq3160890477jyk6cvicd";
}; };
nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
@ -39,6 +39,8 @@ stdenv.mkDerivation rec {
dontBuild = true; dontBuild = true;
installPhase = '' installPhase = ''
runHook preInstall
XDG_DATA_HOME="$out/share" ./install-reaper.sh \ XDG_DATA_HOME="$out/share" ./install-reaper.sh \
--install $out/opt \ --install $out/opt \
--integrate-user-desktop --integrate-user-desktop
@ -57,6 +59,8 @@ stdenv.mkDerivation rec {
mkdir $out/bin mkdir $out/bin
ln -s $out/opt/REAPER/reaper $out/bin/ ln -s $out/opt/REAPER/reaper $out/bin/
ln -s $out/opt/REAPER/reamote-server $out/bin/ ln -s $out/opt/REAPER/reamote-server $out/bin/
runHook postInstall
''; '';
meta = with lib; { meta = with lib; {

View file

@ -223,10 +223,10 @@
elpaBuild { elpaBuild {
pname = "auctex"; pname = "auctex";
ename = "auctex"; ename = "auctex";
version = "13.0.3"; version = "13.0.4";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/auctex-13.0.3.tar"; url = "https://elpa.gnu.org/packages/auctex-13.0.4.tar";
sha256 = "1ljpkr0z15fyh907jbgky238dvci5vqi3xhvslyhblhp8sg9cbsi"; sha256 = "1362dqb8mcaddda9849gqsj6rzlfq18xprddb74j02884xl7hq65";
}; };
packageRequires = [ cl-lib emacs ]; packageRequires = [ cl-lib emacs ];
meta = { meta = {
@ -955,10 +955,10 @@
elpaBuild { elpaBuild {
pname = "ebdb"; pname = "ebdb";
ename = "ebdb"; ename = "ebdb";
version = "0.6.21"; version = "0.6.22";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/ebdb-0.6.21.tar"; url = "https://elpa.gnu.org/packages/ebdb-0.6.22.tar";
sha256 = "0pp190wr6z98kggmw9ls486f9vxfimdjdbqsp263qiyi21ws98if"; sha256 = "0dljl21n6508c7ash7l6zgxhpn2wdfzga0va63d4k9nwnqmkvsgz";
}; };
packageRequires = [ cl-lib emacs seq ]; packageRequires = [ cl-lib emacs seq ];
meta = { meta = {
@ -985,10 +985,10 @@
elpaBuild { elpaBuild {
pname = "ebdb-i18n-chn"; pname = "ebdb-i18n-chn";
ename = "ebdb-i18n-chn"; ename = "ebdb-i18n-chn";
version = "1.3.1"; version = "1.3.2";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/ebdb-i18n-chn-1.3.1.el"; url = "https://elpa.gnu.org/packages/ebdb-i18n-chn-1.3.2.tar";
sha256 = "02drr89i4kzjm1rs22sj0nv9sj95dmqk40xvxd75qzfn8y33k9vl"; sha256 = "06ii9xi2y157vfbhx75mn80ash22d1xgcyp9kzz1s0lkxwlv74zj";
}; };
packageRequires = [ ebdb pyim ]; packageRequires = [ ebdb pyim ];
meta = { meta = {
@ -1205,10 +1205,10 @@
elpaBuild { elpaBuild {
pname = "excorporate"; pname = "excorporate";
ename = "excorporate"; ename = "excorporate";
version = "0.9.1"; version = "0.9.3";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/excorporate-0.9.1.tar"; url = "https://elpa.gnu.org/packages/excorporate-0.9.3.tar";
sha256 = "15rk0br7dmvni10f3mm94ylybl3jbf2ps1sypis6hxbazxxr443j"; sha256 = "1ybj0ww7x7l7ymykk6hs720whabavmwnrwq7x8dkn41wma181zzy";
}; };
packageRequires = [ emacs fsm nadvice soap-client url-http-ntlm ]; packageRequires = [ emacs fsm nadvice soap-client url-http-ntlm ];
meta = { meta = {
@ -1588,6 +1588,21 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
hiddenquote = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "hiddenquote";
ename = "hiddenquote";
version = "1.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/hiddenquote-1.1.tar";
sha256 = "1j692ka84z6k9c3bhcn28irym5fga4d1wvhmvzvixdbfwn58ivw5";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/hiddenquote.html";
license = lib.licenses.free;
};
}) {};
highlight-escape-sequences = callPackage ({ elpaBuild highlight-escape-sequences = callPackage ({ elpaBuild
, fetchurl , fetchurl
, lib }: , lib }:
@ -2598,10 +2613,10 @@
elpaBuild { elpaBuild {
pname = "phps-mode"; pname = "phps-mode";
ename = "phps-mode"; ename = "phps-mode";
version = "0.3.65"; version = "0.4.1";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/phps-mode-0.3.65.tar"; url = "https://elpa.gnu.org/packages/phps-mode-0.4.1.tar";
sha256 = "18pqxwfmciz9d2w808mvspkcifrja85y2qjwmb6pbdnkj9dr6yad"; sha256 = "11d1gsvvj26h9d7a28v87b022vbi3syzngn1x9v1d2g55iv01x38";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -2643,10 +2658,10 @@
elpaBuild { elpaBuild {
pname = "posframe"; pname = "posframe";
ename = "posframe"; ename = "posframe";
version = "0.8.4"; version = "0.8.5";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/posframe-0.8.4.tar"; url = "https://elpa.gnu.org/packages/posframe-0.8.5.tar";
sha256 = "1sn35ibp5y4y80l1xm4b8i94ld953a9gbkk99zqd9mrq9bwjyhdp"; sha256 = "0rls0rsj9clx4wd0gbdi5jzwyslparlf7phib649637gq6gs90ds";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -2778,10 +2793,10 @@
elpaBuild { elpaBuild {
pname = "rcirc-color"; pname = "rcirc-color";
ename = "rcirc-color"; ename = "rcirc-color";
version = "0.4.1"; version = "0.4.2";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/rcirc-color-0.4.1.el"; url = "https://elpa.gnu.org/packages/rcirc-color-0.4.2.tar";
sha256 = "1zs3i3xr8zbjr8hzr1r1qx7mqb2wckpn25qh9444c9as2dnh9sn9"; sha256 = "0pa9p018kwsy44cmkli7x6cz1abxkyi26ac7w3vh99qp7x97dia3";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -2994,6 +3009,21 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
repology = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "repology";
ename = "repology";
version = "1.1.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/repology-1.1.0.tar";
sha256 = "031245rrhazj53bk1csa6x3ygzvg74w2hwjf08ficwvmdn97li90";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/repology.html";
license = lib.licenses.free;
};
}) {};
rich-minority = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }: rich-minority = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
elpaBuild { elpaBuild {
pname = "rich-minority"; pname = "rich-minority";
@ -3533,10 +3563,10 @@
elpaBuild { elpaBuild {
pname = "tramp"; pname = "tramp";
ename = "tramp"; ename = "tramp";
version = "2.5.0"; version = "2.5.0.1";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/tramp-2.5.0.tar"; url = "https://elpa.gnu.org/packages/tramp-2.5.0.1.tar";
sha256 = "1jpnqyk108nksaym2b9v243y5zkpr4px9d070wsb9cwm3xrcd8rh"; sha256 = "0kqlc03bbsdywp0m3mf0m62hqyam8vg81phh7nqmpdjzskrdc1yy";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -3677,10 +3707,10 @@
elpaBuild { elpaBuild {
pname = "valign"; pname = "valign";
ename = "valign"; ename = "valign";
version = "3.0.0"; version = "3.1.0";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/valign-3.0.0.el"; url = "https://elpa.gnu.org/packages/valign-3.1.0.tar";
sha256 = "16f889x6yc1af2bmbly2lww4sy1s864ll75xdxp28i5m57gj25w8"; sha256 = "0zx6p2nlvd4nkffj0myqv4hry8kgnhq45fcivfjzbfn62j2kp293";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {

View file

@ -4,10 +4,10 @@
elpaBuild { elpaBuild {
pname = "org"; pname = "org";
ename = "org"; ename = "org";
version = "20210111"; version = "20210208";
src = fetchurl { src = fetchurl {
url = "https://orgmode.org/elpa/org-20210111.tar"; url = "https://orgmode.org/elpa/org-20210208.tar";
sha256 = "1hn3i583h3idmiv1plbp0p6qi3myl317vl43qyxjks2nvqfj5313"; sha256 = "1awqk2dk3sgglq6fqgaz8y8rqw3p5rcnkp7i6m15n7wlq9nx7njp";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {
@ -19,10 +19,10 @@
elpaBuild { elpaBuild {
pname = "org-plus-contrib"; pname = "org-plus-contrib";
ename = "org-plus-contrib"; ename = "org-plus-contrib";
version = "20210111"; version = "20210208";
src = fetchurl { src = fetchurl {
url = "https://orgmode.org/elpa/org-plus-contrib-20210111.tar"; url = "https://orgmode.org/elpa/org-plus-contrib-20210208.tar";
sha256 = "1qw44y4v4vg0vhz1i55x4fjiaxfaqcch0mqm98sc5f31fw3r4zga"; sha256 = "13yrzx7sdndf38hamm1m82kfgnqgm8752mjxmmqw1iqr3r33ihi3";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "pdfcpu"; pname = "pdfcpu";
version = "0.3.8"; version = "0.3.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "pdfcpu"; owner = "pdfcpu";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-Rx/LUp5s2DhEKuLUklYXjtTXjqBju+5YzK1hNfBCnIE="; sha256 = "sha256-btkGn/67KVFB272j7u5MKZCeby2fyRthLLeXj8VgX7s=";
}; };
vendorSha256 = "sha256-/SsDDFveovJfuEdnOkxHAWccS8PJW5k9IHSxSJAgHMQ="; vendorSha256 = "sha256-/SsDDFveovJfuEdnOkxHAWccS8PJW5k9IHSxSJAgHMQ=";

View file

@ -5,14 +5,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "tev"; pname = "tev";
version = "1.16"; version = "1.17";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Tom94"; owner = "Tom94";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
fetchSubmodules = true; fetchSubmodules = true;
sha256 = "0fn5j9klzrjvz3bq8p9yp9nqikn2fr7bp98c1sxwpwwaadkqy9xf"; sha256 = "12wsy2zdfhg0ygkpvz58rk86qiy259fi9grb0jxiz8zcyd6x1ngk";
}; };
nativeBuildInputs = [ cmake wrapGAppsHook ]; nativeBuildInputs = [ cmake wrapGAppsHook ];
@ -26,6 +26,10 @@ stdenv.mkDerivation rec {
--replace "/usr/" "''${out}/" --replace "/usr/" "''${out}/"
''; '';
cmakeFlags = [
"-DTEV_DEPLOY=1" # Only relevant not to append "dev" to the version
];
postInstall = '' postInstall = ''
wrapProgram $out/bin/tev \ wrapProgram $out/bin/tev \
"''${gappsWrapperArgs[@]}" \ "''${gappsWrapperArgs[@]}" \

View file

@ -5,11 +5,11 @@ watchdog, wtforms, html2text, flask-compress }:
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "archivy"; pname = "archivy";
version = "1.0.0"; version = "1.0.1";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "FDyUfahjv4zqOVFr0nRhcgxr7mskFP1W/PlhZWx/6E8="; sha256 = "53a43e26e9081ac266412d8643c66c07c289c4639bbaec374fd5147441253a4f";
}; };
# Relax some dependencies # Relax some dependencies

View file

@ -21,27 +21,25 @@
, libusb1 , libusb1
, libmtp , libmtp
, xdg-utils , xdg-utils
, makeDesktopItem
, removeReferencesTo , removeReferencesTo
}: }:
mkDerivation rec { mkDerivation rec {
pname = "calibre"; pname = "calibre";
version = "5.10.1"; version = "5.11.0";
src = fetchurl { src = fetchurl {
url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz"; url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
sha256 = "18pnqxdyvgmw12yarxhvsgs4jk6c5hp05gf8khybcd78330954v9"; sha256 = "sha256-PI+KIMnslhoagv9U6Mcmo9Onfu8clVqASNlDir8JzUw=";
}; };
patches = [ patches = [
# Patches from Debian that: # Plugin installation (very insecure) disabled (from Debian)
# - disable plugin installation (very insecure)
./disable_plugins.patch ./disable_plugins.patch
# - switches the version update from enabled to disabled by default # Automatic version update disabled by default (from Debian)
./no_updates_dialog.patch ./no_updates_dialog.patch
# the unrar patch is not from debian ]
] ++ lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch; ++ lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch;
escaped_pyqt5_dir = builtins.replaceStrings ["/"] ["\\/"] (toString python3Packages.pyqt5); escaped_pyqt5_dir = builtins.replaceStrings ["/"] ["\\/"] (toString python3Packages.pyqt5);
platform_tag = platform_tag =
@ -59,8 +57,7 @@ mkDerivation rec {
setup/build.py setup/build.py
# Remove unneeded files and libs # Remove unneeded files and libs
rm -rf resources/calibre-portable.* \ rm -rf src/odf resources/calibre-portable.*
src/odf
''; '';
dontUseQmakeConfigure = true; dontUseQmakeConfigure = true;
@ -173,11 +170,16 @@ mkDerivation rec {
disallowedReferences = [ podofo.dev ]; disallowedReferences = [ podofo.dev ];
meta = with lib; { meta = with lib; {
description = "Comprehensive e-book software";
homepage = "https://calibre-ebook.com"; homepage = "https://calibre-ebook.com";
license = with licenses; if unrarSupport then unfreeRedistributable else gpl3; description = "Comprehensive e-book software";
longDescription = ''
calibre is a powerful and easy to use e-book manager. Users say its
outstanding and a must-have. Itll allow you to do nearly everything and
it takes things a step beyond normal e-book software. Its also completely
free and open source and great for both casual users and computer experts.
'';
license = with licenses; if unrarSupport then unfreeRedistributable else gpl3Plus;
maintainers = with maintainers; [ domenkozar pSub AndersonTorres ]; maintainers = with maintainers; [ domenkozar pSub AndersonTorres ];
platforms = platforms.linux; platforms = platforms.linux;
inherit version;
}; };
} }

View file

@ -2,13 +2,13 @@
buildGoPackage rec { buildGoPackage rec {
pname = "cointop"; pname = "cointop";
version = "1.5.5"; version = "1.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "miguelmota"; owner = "miguelmota";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "051jxa07c58ym1w0mwckwxh60v28gqcpqw5nv8sm5wxil1crcayr"; sha256 = "sha256-P2LR42Qn5bBF5xcfCbxiGFBwkW/kAKVGiyED37OdZLo=";
}; };
goPackagePath = "github.com/miguelmota/cointop"; goPackagePath = "github.com/miguelmota/cointop";

View file

@ -1,14 +1,20 @@
{ lib, stdenv, fetchurl, makeDesktopItem, makeWrapper { lib
, fontconfig, freetype, glib, gtk3 , stdenv
, jdk, libX11, libXrender, libXtst, zlib }: , fetchFromGitHub
, makeDesktopItem
# The build process is almost like eclipse's. , makeWrapper
# See `pkgs/applications/editors/eclipse/*.nix` , fontconfig
, freetype
stdenv.mkDerivation rec { , glib
pname = "dbeaver-ce"; , gtk3
version = "7.3.2"; , jdk
, libX11
, libXrender
, libXtst
, zlib
, maven
}:
let
desktopItem = makeDesktopItem { desktopItem = makeDesktopItem {
name = "dbeaver"; name = "dbeaver";
exec = "dbeaver"; exec = "dbeaver";
@ -18,45 +24,101 @@ stdenv.mkDerivation rec {
genericName = "SQL Integrated Development Environment"; genericName = "SQL Integrated Development Environment";
categories = "Development;"; categories = "Development;";
}; };
in
stdenv.mkDerivation rec {
pname = "dbeaver-ce";
version = "7.3.5"; # When updating also update fetchedMavenDeps.sha256
src = fetchFromGitHub {
owner = "dbeaver";
repo = "dbeaver";
rev = version;
sha256 = "sha256-gEE7rndOaXzruWL7TG+QgVkq1+06tIZwyGzU9cFc+oU=";
};
fetchedMavenDeps = stdenv.mkDerivation {
name = "dbeaver-${version}-maven-deps";
inherit src;
buildInputs = [
maven
];
buildPhase = "mvn package -Dmaven.repo.local=$out/.m2";
# keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside
installPhase = ''
find $out -type f \
-name \*.lastUpdated -or \
-name resolver-status.properties -or \
-name _remote.repositories \
-delete
'';
# don't do any fixup
dontFixup = true;
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = "sha256-jT0Z154rVmafUbb6dqYSl3cUxMuK5MR4HUsprkrgSDw=";
};
buildInputs = [ buildInputs = [
fontconfig freetype glib gtk3 fontconfig
jdk libX11 libXrender libXtst zlib freetype
glib
gtk3
jdk
libX11
libXrender
libXtst
makeWrapper
zlib
]; ];
nativeBuildInputs = [ nativeBuildInputs = [
makeWrapper maven
]; ];
src = fetchurl { buildPhase = ''
url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz"; mvn package --offline -Dmaven.repo.local=$(cp -dpR ${fetchedMavenDeps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2
sha256 = "sha256-4BVXcR8/E4uIrPQJe9KU9577j4XLTxJWTO8g0vCHWts=";
};
installPhase = ''
# remove bundled jre
rm -rf jre
mkdir -p $out/
cp -r . $out/dbeaver
# Patch binaries.
interpreter=$(cat $NIX_CC/nix-support/dynamic-linker)
patchelf --set-interpreter $interpreter $out/dbeaver/dbeaver
makeWrapper $out/dbeaver/dbeaver $out/bin/dbeaver \
--prefix PATH : ${jdk}/bin \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ glib gtk3 libXtst ])} \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
# Create desktop item.
mkdir -p $out/share/applications
cp ${desktopItem}/share/applications/* $out/share/applications
mkdir -p $out/share/pixmaps
ln -s $out/dbeaver/icon.xpm $out/share/pixmaps/dbeaver.xpm
''; '';
installPhase =
let
productTargetPath = "product/standalone/target/products/org.jkiss.dbeaver.core.product";
in
if stdenv.isDarwin then ''
mkdir -p $out/Applications $out/bin
cp -r ${productTargetPath}/macosx/cocoa/x86_64/DBeaver.app $out/Applications
sed -i "/^-vm/d; /bin\/java/d" $out/Applications/DBeaver.app/Contents/Eclipse/dbeaver.ini
ln -s $out/Applications/DBeaver.app/Contents/MacOS/dbeaver $out/bin/dbeaver
wrapProgram $out/Applications/DBeaver.app/Contents/MacOS/dbeaver \
--prefix JAVA_HOME : ${jdk.home} \
--prefix PATH : ${jdk}/bin
'' else ''
mkdir -p $out/
cp -r ${productTargetPath}/linux/gtk/x86_64/dbeaver $out/dbeaver
# Patch binaries.
interpreter=$(cat $NIX_CC/nix-support/dynamic-linker)
patchelf --set-interpreter $interpreter $out/dbeaver/dbeaver
makeWrapper $out/dbeaver/dbeaver $out/bin/dbeaver \
--prefix PATH : ${jdk}/bin \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ glib gtk3 libXtst ])} \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
# Create desktop item.
mkdir -p $out/share/applications
cp ${desktopItem}/share/applications/* $out/share/applications
mkdir -p $out/share/pixmaps
ln -s $out/dbeaver/icon.xpm $out/share/pixmaps/dbeaver.xpm
'';
meta = with lib; { meta = with lib; {
homepage = "https://dbeaver.io/"; homepage = "https://dbeaver.io/";
description = "Universal SQL Client for developers, DBA and analysts. Supports MySQL, PostgreSQL, MariaDB, SQLite, and more"; description = "Universal SQL Client for developers, DBA and analysts. Supports MySQL, PostgreSQL, MariaDB, SQLite, and more";
@ -67,7 +129,7 @@ stdenv.mkDerivation rec {
Teradata, Firebird, Derby, etc. Teradata, Firebird, Derby, etc.
''; '';
license = licenses.asl20; license = licenses.asl20;
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" "x86_64-darwin" ];
maintainers = [ maintainers.jojosch ]; maintainers = with maintainers; [ jojosch ];
}; };
} }

View file

@ -9,13 +9,13 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "diff-pdf"; pname = "diff-pdf";
version = "0.4.1"; version = "0.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vslavik"; owner = "vslavik";
repo = "diff-pdf"; repo = "diff-pdf";
rev = "v${version}"; rev = "v${version}";
sha256 = "1y5ji4c4m69vzs0z051fkhfdrjnyxb6kzac5flhdkfb2hgp1jnxl"; sha256 = "sha256-Si8v5ZY1Q/AwQTaxa1bYG8bgqxWj++c4Hh1LzXSmSwE=";
}; };
nativeBuildInputs = [ autoconf automake pkg-config ]; nativeBuildInputs = [ autoconf automake pkg-config ];

View file

@ -0,0 +1,55 @@
{ lib
, stdenv
, fetchgit
, meson
, ninja
, pkg-config
, scdoc
, cairo
, librsvg
, wayland
, wayland-protocols
}:
stdenv.mkDerivation rec {
pname = "lavalauncher";
version = "2.0.0";
src = fetchgit {
url = "https://git.sr.ht/~leon_plickat/lavalauncher";
rev = "v${version}";
sha256 = "MXREycR4ZetTe71ZwEqyozMJN9OLTDvU0W4J8qkTQAs=";
};
nativeBuildInputs = [ meson ninja pkg-config scdoc ];
buildInputs = [
cairo
librsvg
wayland
wayland-protocols
];
meta = with lib; {
homepage = "https://git.sr.ht/~leon_plickat/lavalauncher";
description = "A simple launcher panel for Wayland desktops";
longDescription = ''
LavaLauncher is a simple launcher panel for Wayland desktops.
It displays a dynamically sized bar with user defined buttons. Buttons
consist of an image, which is displayed as the button icon on the bar, and
at least one shell command, which is executed when the user activates the
button.
Buttons can be activated with pointer and touch events.
A single LavaLauncher instance can provide multiple such bars, across
multiple outputs.
The Wayland compositor must implement the Layer-Shell and XDG-Output for
LavaLauncher to work.
'';
license = licenses.gpl3Plus;
maintainers = with maintainers; [ AndersonTorres ];
platforms = with platforms; unix;
};
}

View file

@ -1,4 +1,4 @@
{ lib, fetchgit, buildGoModule }: { lib, fetchgit, buildGoModule, installShellFiles }:
buildGoModule rec { buildGoModule rec {
pname = "bombadillo"; pname = "bombadillo";
@ -10,8 +10,16 @@ buildGoModule rec {
sha256 = "02w6h44sxzmk3bkdidl8xla0i9rwwpdqljnvcbydx5kyixycmg0q"; sha256 = "02w6h44sxzmk3bkdidl8xla0i9rwwpdqljnvcbydx5kyixycmg0q";
}; };
nativeBuildInputs = [ installShellFiles ];
vendorSha256 = "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5"; vendorSha256 = "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5";
outputs = [ "out" "man" ];
postInstall = ''
installManPage bombadillo.1
'';
meta = with lib; { meta = with lib; {
description = "Non-web client for the terminal, supporting Gopher, Gemini and more"; description = "Non-web client for the terminal, supporting Gopher, Gemini and more";
homepage = "https://bombadillo.colorfield.space/"; homepage = "https://bombadillo.colorfield.space/";

View file

@ -2,13 +2,13 @@
mkYarnPackage rec { mkYarnPackage rec {
pname = "vieb"; pname = "vieb";
version = "3.1.0"; version = "3.4.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jelmerro"; owner = "jelmerro";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "10l36q75nmqv0azxhmwms6hjicbgyvpk8k6ljrh9d7zxryd3xwz0"; sha256 = "0h5yzmvs9zhhpg9l7rrgwd4rqd9n00n2ifwqf05kpymzliy6xsnk";
}; };
packageJSON = ./package.json; packageJSON = ./package.json;

View file

@ -1,14 +1,9 @@
{ {
"name": "vieb", "name": "vieb",
"productName": "Vieb", "productName": "Vieb",
"version": "3.1.0", "version": "3.4.0",
"description": "Vim Inspired Electron Browser", "description": "Vim Inspired Electron Browser",
"main": "app/index.js", "main": "app/index.js",
"babel": {
"plugins": [
"@babel/plugin-proposal-optional-chaining"
]
},
"scripts": { "scripts": {
"test": "jest -u && eslint .", "test": "jest -u && eslint .",
"start": "electron app", "start": "electron app",
@ -29,16 +24,15 @@
"email": "Jelmerro@users.noreply.github.com", "email": "Jelmerro@users.noreply.github.com",
"license": "GPL-3.0+", "license": "GPL-3.0+",
"devDependencies": { "devDependencies": {
"@babel/plugin-proposal-optional-chaining": "^7.12.7", "archiver": "^5.2.0",
"archiver": "^5.0.2", "electron": "^11.2.1",
"electron": "^11.0.3", "electron-builder": "^22.10.4",
"electron-builder": "^22.9.1", "eslint": "^7.19.0",
"eslint": "^7.15.0",
"jest": "^26.6.3" "jest": "^26.6.3"
}, },
"dependencies": { "dependencies": {
"@cliqz/adblocker-electron": "^1.18.8", "@cliqz/adblocker-electron": "^1.20.0",
"darkreader": "^4.9.26", "darkreader": "^4.9.27",
"is-svg": "^4.2.1", "is-svg": "^4.2.1",
"rimraf": "^3.0.2" "rimraf": "^3.0.2"
} }

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -18,11 +18,11 @@ let
vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi"; vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "vivaldi"; pname = "vivaldi";
version = "3.5.2115.87-1"; version = "3.6.2165.36-1";
src = fetchurl { src = fetchurl {
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb"; url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
sha256 = "0m0w2sj6kdd2b67f3kfcf4qyyxhqnmi2qzjwmqpmns9a485s6bn0"; sha256 = "1wgxzggy5sg98k4lzd34k4hyw2jgc14db41z7s7j3c5whlnifh08";
}; };
unpackPhase = '' unpackPhase = ''

View file

@ -19,13 +19,13 @@ let
in in
buildGoModule rec { buildGoModule rec {
pname = "argo"; pname = "argo";
version = "2.12.7"; version = "2.12.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "argoproj"; owner = "argoproj";
repo = "argo"; repo = "argo";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-bMbfFAI4oGZc7FOlU8LczbjAq1cYmJg5WTXkQKS9vgo="; sha256 = "sha256-JtT4SMoozfTWsQ4YsoQ8xLQ/vCO7hnVEp2umg+p7mRw=";
}; };
vendorSha256 = "sha256-4XPMixVNj6PUKobNLwpsOBT7Zs/7pkhDtQacLIB5EfE="; vendorSha256 = "sha256-4XPMixVNj6PUKobNLwpsOBT7Zs/7pkhDtQacLIB5EfE=";

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "atlantis"; pname = "atlantis";
version = "0.16.0"; version = "0.16.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "runatlantis"; owner = "runatlantis";
repo = "atlantis"; repo = "atlantis";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-1sak6CaqFhiBIoaa7kERXLHsgn24oMgBlOJaQDuF61E="; sha256 = "sha256-D549pInoK8ispgcn8LYdix19Hp7wO6w2/d2Y1L/9Px8=";
}; };
vendorSha256 = null; vendorSha256 = null;

View file

@ -0,0 +1,24 @@
{ stdenv, lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "kube-capacity";
version = "0.5.1";
src = fetchFromGitHub {
rev = "v${version}";
owner = "robscott";
repo = pname;
sha256 = "127583hmpj04y522wir76a39frm6zg9z7mb4ny5lxxjqhn0q0cd5";
};
vendorSha256 = "sha256-EgLWZs282IV1euCUCc5ucf267E2Z7GF9SgoImiGvuVM=";
meta = with lib; {
description =
"A simple CLI that provides an overview of the resource requests, limits, and utilization in a Kubernetes cluster";
homepage = "https://github.com/robscott/kube-capacity";
changelog = "https://github.com/robscott/kube-capacity/releases/tag/v${version}";
license = licenses.asl20;
maintainers = [ maintainers.bryanasdev000 ];
};
}

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "starboard"; pname = "starboard";
version = "0.9.1"; version = "0.9.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "aquasecurity"; owner = "aquasecurity";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-ZIAdYuJ8LS8x2h+VXQrkgdmKkw9VKl7FcnOVZNSnXM0="; sha256 = "sha256-w+xaZPEMmJYDPQG4MuAlWMhwhEyeVcpaeDwqsnIbIHA=";
}; };
vendorSha256 = "sha256-aVKQcRZgxhIph+y28HhR15DUjwiz/4+t1bMrYXjPW7Q="; vendorSha256 = "sha256-aVKQcRZgxhIph+y28HhR15DUjwiz/4+t1bMrYXjPW7Q=";

View file

@ -1,75 +1,90 @@
{ lib, fetchFromGitHub, python, glibcLocales }: { lib
, ansi
, buildPythonApplication
, colorlog
, daemonize
, deepmerge
, dulwich
, fetchFromGitHub
, flask
, glibcLocales
, hypchat
, irc
, jinja2
, markdown
, mock
, pyasn1
, pyasn1-modules
, pygments
, pygments-markdown-lexer
, pyopenssl
, pytestCheckHook
, requests
, slackclient
, sleekxmpp
, telegram
, webtest
}:
let buildPythonApplication rec {
py = python.override {
packageOverrides = self: super: {
# errbot requires markdown<3, and is not compatible with it either.
markdown = super.markdown.overridePythonAttrs (oldAttrs: rec {
version = "2.6.11";
src = super.fetchPypi {
pname = "Markdown";
inherit version;
sha256 = "108g80ryzykh8bj0i7jfp71510wrcixdi771lf2asyghgyf8cmm8";
};
});
# errbot requires slackclient 1.x, see https://github.com/errbotio/errbot/pull/1367
# latest 1.x release would be 1.3.2, but it requires an older websocket_client than the one in nixpkgs
# so let's just vendor the known-working version until they've migrated to 2.x.
slackclient = super.slackclient.overridePythonAttrs (oldAttrs: rec {
version = "1.2.1";
pname = "slackclient";
src = fetchFromGitHub {
owner = "slackapi";
repo = "python-slackclient";
rev = version;
sha256 = "073fwf6fm2sqdp5ms3vm1v3ljh0pldi69k048404rp6iy3cfwkp0";
};
propagatedBuildInputs = with self; [ websocket_client requests six ];
checkInputs = with self; [ pytest codecov coverage mock pytestcov pytest-mock responses flake8 ];
# test_server.py fails because it needs connection (I think);
checkPhase = ''
py.test --cov-report= --cov=slackclient tests --ignore=tests/test_server.py
'';
});
};
};
in
py.pkgs.buildPythonApplication rec {
pname = "errbot"; pname = "errbot";
version = "6.1.1"; version = "6.1.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "errbotio"; owner = "errbotio";
repo = "errbot"; repo = "errbot";
rev = version; rev = version;
sha256 = "1s4dl1za5imwsv6j3y7m47dy91hmqd5n221kkqm9ni4mpzgpffz0"; sha256 = "02h44qd3d91zy657hyqsw3gskgxg31848pw6zpb8dhd1x84z5y77";
}; };
LC_ALL = "en_US.utf8"; LC_ALL = "en_US.utf8";
buildInputs = [ glibcLocales ]; buildInputs = [ glibcLocales ];
propagatedBuildInputs = with py.pkgs; [
webtest requests jinja2 flask dulwich propagatedBuildInputs = [
pyopenssl colorlog markdown ansi pygments ansi
daemonize pygments-markdown-lexer telegram irc slackclient colorlog
sleekxmpp pyasn1 pyasn1-modules hypchat daemonize
deepmerge
dulwich
flask
hypchat
irc
jinja2
markdown
pyasn1
pyasn1-modules
pygments
pygments-markdown-lexer
pyopenssl
requests
slackclient
sleekxmpp
telegram
webtest
]; ];
checkInputs = with py.pkgs; [ mock pytest ]; checkInputs = [
# avoid tests that do network calls mock
checkPhase = '' pytestCheckHook
pytest tests -k 'not backup and not broken_plugin and not plugin_cycle' ];
'';
# Slack backend test has an import issue
pytestFlagsArray = [ "--ignore=tests/backend_tests/slack_test.py" ];
disabledTests = [
"backup"
"broken_plugin"
"plugin_cycle"
];
pythonImportsCheck = [ "errbot" ];
meta = with lib; { meta = with lib; {
description = "Chatbot designed to be simple to extend with plugins written in Python"; description = "Chatbot designed to be simple to extend with plugins written in Python";
homepage = "http://errbot.io/"; homepage = "http://errbot.io/";
maintainers = with maintainers; [ fpletz globin ]; maintainers = with maintainers; [ fpletz globin ];
license = licenses.gpl3; license = licenses.gpl3Plus;
platforms = platforms.linux; platforms = platforms.linux;
# flaky on darwin, "RuntimeError: can't start new thread" # flaky on darwin, "RuntimeError: can't start new thread"
}; };

View file

@ -1,7 +1,7 @@
{ callPackage, libsForQt5 }: { callPackage, libsForQt5 }:
let let
stableVersion = "2.2.17"; stableVersion = "2.2.18";
previewVersion = stableVersion; previewVersion = stableVersion;
addVersion = args: addVersion = args:
let version = if args.stable then stableVersion else previewVersion; let version = if args.stable then stableVersion else previewVersion;
@ -26,8 +26,8 @@ let
}; };
mkGui = args: libsForQt5.callPackage (import ./gui.nix (addVersion args // extraArgs)) { }; mkGui = args: libsForQt5.callPackage (import ./gui.nix (addVersion args // extraArgs)) { };
mkServer = args: callPackage (import ./server.nix (addVersion args // extraArgs)) { }; mkServer = args: callPackage (import ./server.nix (addVersion args // extraArgs)) { };
guiSrcHash = "0dfyxr983w6lmbcvaf32bnm9cz7y7fp9jfaz8zxp1dvr6dr06cmv"; guiSrcHash = "118z6asl6hsv0777rld4plnrwzkbkh3gb9lg9i6bqrjs93p028fw";
serverSrcHash = "0m5ajd2zkafx89hvp202m351h1dygfc3jssl3m7nd7r42csyi2vj"; serverSrcHash = "0gd37zpvibhlvqqpflpwlrgg8g9rpbxwi9w9fsym00mfwf7sdd3b";
in { in {
guiStable = mkGui { guiStable = mkGui {
stable = true; stable = true;

View file

@ -1,6 +1,5 @@
{ lib, fetchFromGitHub, stdenv, bitlbee, autoconf, automake, libtool, pkg-config, glib, json-glib }: { lib, fetchFromGitHub, fetchpatch, stdenv, bitlbee, autoconf, automake, libtool, pkg-config, json-glib }:
with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bitlbee-facebook"; pname = "bitlbee-facebook";
version = "1.2.1"; version = "1.2.1";
@ -12,6 +11,17 @@ stdenv.mkDerivation rec {
sha256 = "1yjhjhk3jzjip13lq009vlg84lm2lzwhac5jy0aq3vkcz6rp94rc"; sha256 = "1yjhjhk3jzjip13lq009vlg84lm2lzwhac5jy0aq3vkcz6rp94rc";
}; };
# TODO: This patch should be included with the next release after v1.2.1
# these lines should be removed when this happens.
patches = [
(fetchpatch {
name = "FB_ORCA_AGENT_version_bump.patch";
url = "https://github.com/bitlbee/bitlbee-facebook/commit/49ea312d98b0578b9b2c1ff759e2cfa820a41f4d.patch";
sha256 = "0nzyyg8pw4f2jcickcpxq7r2la5wgl7q6iz94lhzybrkhss5753d";
}
)
];
nativeBuildInputs = [ autoconf automake libtool pkg-config ]; nativeBuildInputs = [ autoconf automake libtool pkg-config ];
buildInputs = [ bitlbee json-glib ]; buildInputs = [ bitlbee json-glib ];
@ -21,11 +31,11 @@ stdenv.mkDerivation rec {
./autogen.sh ./autogen.sh
''; '';
meta = { meta = with lib; {
description = "The Facebook protocol plugin for bitlbee"; description = "The Facebook protocol plugin for bitlbee";
homepage = "https://github.com/bitlbee/bitlbee-facebook"; homepage = "https://github.com/bitlbee/bitlbee-facebook";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
platforms = lib.platforms.linux; maintainers = with maintainers; [ toonn ];
platforms = platforms.linux;
}; };
} }

View file

@ -2,7 +2,7 @@
"name": "element-desktop", "name": "element-desktop",
"productName": "Element", "productName": "Element",
"main": "src/electron-main.js", "main": "src/electron-main.js",
"version": "1.7.20", "version": "1.7.21",
"description": "A feature-rich client for Matrix.org", "description": "A feature-rich client for Matrix.org",
"author": "Element", "author": "Element",
"repository": { "repository": {

View file

@ -8,12 +8,12 @@
let let
executableName = "element-desktop"; executableName = "element-desktop";
version = "1.7.20"; version = "1.7.21";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vector-im"; owner = "vector-im";
repo = "element-desktop"; repo = "element-desktop";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-kQMswcEGsefQ8HCWxYPgvxOKP5cgvXx8oCl5Inh6sOg="; sha256 = "sha256-tpFiKaJB6KN97ipN3OCTyxpiS0b980MQ1Ynxj8CjCuI=";
}; };
in mkYarnPackage rec { in mkYarnPackage rec {
name = "element-desktop-${version}"; name = "element-desktop-${version}";

View file

@ -12,11 +12,11 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "element-web"; pname = "element-web";
version = "1.7.20"; version = "1.7.21";
src = fetchurl { src = fetchurl {
url = "https://github.com/vector-im/element-web/releases/download/v${version}/element-v${version}.tar.gz"; url = "https://github.com/vector-im/element-web/releases/download/v${version}/element-v${version}.tar.gz";
sha256 = "sha256-8R7l/Pmymd5+/Fri7z2/TDj1h2FL0QgLICoXajePing="; sha256 = "sha256-JJXl+jDlXw8fZ1ZeeAACvilbqG9zanCmBsHy6BEla8M=";
}; };
installPhase = '' installPhase = ''

View file

@ -2,12 +2,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "signal-cli"; pname = "signal-cli";
version = "0.7.4"; version = "0.8.0";
# Building from source would be preferred, but is much more involved. # Building from source would be preferred, but is much more involved.
src = fetchurl { src = fetchurl {
url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}.tar.gz"; url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}.tar.gz";
sha256 = "18dv2944nsryl6372jqgb52z3s1grvgfc5sb1b1rgn0y84g8g46n"; sha256 = "sha256-0YzeGtdsCUG8N7Av/zzHoC9KKu1rqjQDToaOEXzuoJc=";
}; };
buildInputs = lib.optionals stdenv.isLinux [ libmatthew_java dbus dbus_java ]; buildInputs = lib.optionals stdenv.isLinux [ libmatthew_java dbus dbus_java ];

View file

@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "ncgopher"; pname = "ncgopher";
version = "0.1.5"; version = "0.2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jansc"; owner = "jansc";
repo = "ncgopher"; repo = "ncgopher";
rev = "v${version}"; rev = "v${version}";
sha256 = "1mv89sanmr49b9za95jl5slpq960b246j2054r8xfafzqmbp44af"; sha256 = "sha256-Yny5zZe5x7/pWda839HcFkHFuL/jl1Q7ykTZzKy871I=";
}; };
cargoSha256 = "12r4vgrg2bkr3p61yxcsg02kppg84vn956l0v1vb08i94rxzc8zk"; cargoSha256 = "sha256-IsRaDhnRamMSbtXG1r1j0jZYjFiSjRdwOaUVyqy4ZJw=";
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ buildInputs = [

View file

@ -5,11 +5,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnunet"; pname = "gnunet";
version = "0.13.2"; version = "0.14.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz"; url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz";
sha256 = "0b4a6bxwhpmj274d281vhny7i5rwydrdmab76xk6ji8vf0p705dn"; sha256 = "sha256-2u9gO9Mu0dM1yixcaqOnZcDfGcp69dc5CH5tkl6vRas=";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;

View file

@ -24,11 +24,11 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "PortfolioPerformance"; pname = "PortfolioPerformance";
version = "0.50.3"; version = "0.50.4";
src = fetchurl { src = fetchurl {
url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz"; url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
sha256 = "sha256-8sFBxcs3tnIQQ4S39aF8r9SGm9VOHPpgQYyLkUaOscw="; sha256 = "sha256-ZOw3Zyd6+fT/Z2tndRVqA8tVvgeq/TbdEdoAk9vSM0k=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -33,7 +33,10 @@ stdenv.mkDerivation rec {
]; ];
prePatch = lib.optionalString stdenv.isDarwin '' prePatch = lib.optionalString stdenv.isDarwin ''
substituteInPlace configure --replace "-install_name libR.dylib" "-install_name $out/lib/R/lib/libR.dylib" substituteInPlace configure \
--replace "-install_name libRblas.dylib" "-install_name $out/lib/R/lib/libRblas.dylib" \
--replace "-install_name libRlapack.dylib" "-install_name $out/lib/R/lib/libRlapack.dylib" \
--replace "-install_name libR.dylib" "-install_name $out/lib/R/lib/libR.dylib"
''; '';
dontDisableStatic = static; dontDisableStatic = static;

View file

@ -1,20 +1,19 @@
{ lib, stdenv, fetchFromGitHub, gitMinimal, python2Packages }: { lib, stdenv, fetchFromGitHub, gitMinimal, docutils }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "git-hub"; pname = "git-hub";
version = "1.1.0"; version = "2.1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "sociomantic-tsunami"; owner = "sociomantic-tsunami";
repo = "git-hub"; repo = "git-hub";
rev = "v${version}"; rev = "v${version}";
sha256 = "0jkzg7vjvgb952qncndhki7n70714w61flbzf4mdcjc286lqjvwb"; sha256 = "1df9l8fpbxjgcgi72fwaqxiay5kpfihyc63f0gj67mns9n9ic1i7";
}; };
buildInputs = [ python2Packages.python ];
nativeBuildInputs = [ nativeBuildInputs = [
gitMinimal # Used during build to generate Bash completion. gitMinimal # Used during build to generate Bash completion.
python2Packages.docutils docutils
]; ];
postPatch = '' postPatch = ''

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "glab"; pname = "glab";
version = "1.14.0"; version = "1.15.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "profclems"; owner = "profclems";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-JvHuOMpt62tw7ewDev7unAgZGV+ZSo6wDuiPhWap2v0="; sha256 = "sha256-wOeWqgN0VYmTXPTU3z5Utau8diW18QKV7w/2y86R8U0=";
}; };
vendorSha256 = "sha256-0nnrH3GJhd4wlRETo9iSlFkXq358m30k7Fsb5haHlpQ="; vendorSha256 = "sha256-Ge3nwI0cY2JxRTn3EZtlal5c6A6TIKfH/CkJnQ1C6PY=";
runVend = true; runVend = true;
# Tests are trying to access /homeless-shelter # Tests are trying to access /homeless-shelter

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, autoconf, automake, libtool { lib, stdenv, fetchFromGitHub, autoconf, automake, libtool
, pkg-config, faad2, faac, a52dec, alsaLib, fftw, lame, libavc1394 , pkg-config, faad2, faac, a52dec, alsaLib, fftw, lame, libavc1394
, libiec61883, libraw1394, libsndfile, libvorbis, libogg, libjpeg , libiec61883, libraw1394, libsndfile, libvorbis, libogg, libjpeg
, libtiff, freetype, mjpegtools, x264, gettext, openexr , libtiff, freetype, mjpegtools, x264, gettext, openexr
@ -7,23 +7,15 @@
, fontconfig, intltool }: , fontconfig, intltool }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "cinelerra-cv-2018-05-16"; name = "cinelerra-cv-2021-02-14";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cinelerra-cv-team"; owner = "cinelerra-cv-team";
repo = "cinelerra-cv"; repo = "cinelerra-cv";
rev = "d9c0dbf4393717f0a42f4b91c3e1ed5b16f955dc"; rev = "7d0e8ede557d0cdf3606e0a8d97166a22f88d89e";
sha256 = "0a8kfm1v96sv6jh4568crg6nkr6n3579i9xksfj8w199s6yxzsbk"; sha256 = "0n84y2wp47y89drc48cm1609gads5c6saw6c6bqcf5c5wcg1yfbj";
}; };
patches = [
# avoid gcc10 error about narrowing
(fetchpatch {
url = "https://github.com/cinelerra-cv-team/cinelerra-cv/pull/2/commits/a1b2d9c3bd5730ec0284894f3d81892af3e77f1f.patch";
sha256 = "1cjyv1m174dblpa1bs5dggk24h4477zqvc5sbfc0m5rpkndx5ycp";
})
];
preConfigure = '' preConfigure = ''
find -type f -print0 | xargs --null sed -e "s@/usr/bin/perl@${perl}/bin/perl@" -i find -type f -print0 | xargs --null sed -e "s@/usr/bin/perl@${perl}/bin/perl@" -i
./autogen.sh ./autogen.sh
@ -50,8 +42,8 @@ stdenv.mkDerivation {
]; ];
meta = with lib; { meta = with lib; {
description = "Video Editor"; description = "Professional video editing and compositing environment (community version)";
homepage = "https://www.cinelerra.org/"; homepage = "http://cinelerra-cv.wikidot.com/";
maintainers = with maintainers; [ marcweber ]; maintainers = with maintainers; [ marcweber ];
license = licenses.gpl2Only; license = licenses.gpl2Only;
}; };

View file

@ -27,6 +27,8 @@ in runCommand cri-o.name {
name = "${cri-o.pname}-wrapper-${cri-o.version}"; name = "${cri-o.pname}-wrapper-${cri-o.version}";
inherit (cri-o) pname version passthru; inherit (cri-o) pname version passthru;
preferLocalBuild = true;
meta = builtins.removeAttrs cri-o.meta [ "outputsToInstall" ]; meta = builtins.removeAttrs cri-o.meta [ "outputsToInstall" ];
outputs = [ outputs = [

View file

@ -11,6 +11,7 @@
, yajl , yajl
, nixosTests , nixosTests
, criu , criu
, system
}: }:
let let
@ -48,7 +49,9 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoreconfHook go-md2man pkg-config python3 ]; nativeBuildInputs = [ autoreconfHook go-md2man pkg-config python3 ];
buildInputs = [ criu libcap libseccomp systemd yajl ]; buildInputs = [ libcap libseccomp systemd yajl ]
# Criu currently only builds on x86_64-linux
++ lib.optional (lib.elem system criu.meta.platforms) criu;
enableParallelBuilding = true; enableParallelBuilding = true;

View file

@ -22,9 +22,13 @@ buildGoModule rec {
owner = "containers"; owner = "containers";
repo = "podman"; repo = "podman";
rev = "v${version}"; rev = "v${version}";
sha256 = "141ii271w2azvhl8ragrgzmir9iq9npl8wmh5dr31kvq4z4syxw1"; sha256 = "1dsriw2vjzjaddxdhl3wbj2ppnsyi29f4bjwc8lzyz20wfwx4ay4";
}; };
patches = [
./remove-unconfigured-runtime-warn.patch
];
vendorSha256 = null; vendorSha256 = null;
doCheck = false; doCheck = false;
@ -59,6 +63,9 @@ buildGoModule rec {
installShellCompletion --fish completions/fish/* installShellCompletion --fish completions/fish/*
installShellCompletion --zsh completions/zsh/* installShellCompletion --zsh completions/zsh/*
MANDIR=$man/share/man make install.man-nobuild MANDIR=$man/share/man make install.man-nobuild
'' + lib.optionalString stdenv.isLinux ''
install -Dm644 contrib/tmpfile/podman.conf -t $out/lib/tmpfiles.d
install -Dm644 contrib/systemd/system/podman.{socket,service} -t $out/lib/systemd/system
''; '';
passthru.tests = { inherit (nixosTests) podman; }; passthru.tests = { inherit (nixosTests) podman; };

View file

@ -0,0 +1,23 @@
Remove warning "WARN[0000] Found default OCIruntime /nix/store/.../bin/crun path which is missing from [engine.runtimes] in containers.conf
It doesn't make sense as we promote using the podman wrapper where runtime paths will vary because they are nix store paths.
---
vendor/github.com/containers/common/pkg/config/config.go | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/vendor/github.com/containers/common/pkg/config/config.go b/vendor/github.com/containers/common/pkg/config/config.go
index 4a98c7e92..4a95a2a49 100644
--- a/vendor/github.com/containers/common/pkg/config/config.go
+++ b/vendor/github.com/containers/common/pkg/config/config.go
@@ -605,8 +605,7 @@ func (c *EngineConfig) findRuntime() string {
return name
}
}
- if path, err := exec.LookPath(name); err == nil {
- logrus.Warningf("Found default OCIruntime %s path which is missing from [engine.runtimes] in containers.conf", path)
+ if _, err := exec.LookPath(name); err == nil {
return name
}
}
--
2.30.0

View file

@ -31,6 +31,8 @@ in runCommand podman.name {
name = "${podman.pname}-wrapper-${podman.version}"; name = "${podman.pname}-wrapper-${podman.version}";
inherit (podman) pname version passthru; inherit (podman) pname version passthru;
preferLocalBuild = true;
meta = builtins.removeAttrs podman.meta [ "outputsToInstall" ]; meta = builtins.removeAttrs podman.meta [ "outputsToInstall" ];
outputs = [ outputs = [
@ -46,6 +48,7 @@ in runCommand podman.name {
ln -s ${podman.man} $man ln -s ${podman.man} $man
mkdir -p $out/bin mkdir -p $out/bin
ln -s ${podman-unwrapped}/lib $out/lib
ln -s ${podman-unwrapped}/share $out/share ln -s ${podman-unwrapped}/share $out/share
makeWrapper ${podman-unwrapped}/bin/podman $out/bin/podman \ makeWrapper ${podman-unwrapped}/bin/podman $out/bin/podman \
--prefix PATH : ${binPath} --prefix PATH : ${binPath}

View file

@ -50,8 +50,9 @@ stdenv.mkDerivation rec {
sha256 = "1g0pvx4qbirpcn9mni704y03n3lvkmw2c0rbcwvydyr8ns4xh66b"; sha256 = "1g0pvx4qbirpcn9mni704y03n3lvkmw2c0rbcwvydyr8ns4xh66b";
}; };
nativeBuildInputs = [ python python.pkgs.sphinx pkg-config flex bison meson ninja autoPatchelfHook ] nativeBuildInputs = [ python python.pkgs.sphinx pkg-config flex bison meson ninja ]
++ optionals gtkSupport [ wrapGAppsHook ]; ++ optionals gtkSupport [ wrapGAppsHook ]
++ optionals stdenv.isLinux [ autoPatchelfHook ];
buildInputs = buildInputs =
[ zlib glib perl pixman [ zlib glib perl pixman
vde2 texinfo makeWrapper lzo snappy vde2 texinfo makeWrapper lzo snappy
@ -108,6 +109,10 @@ stdenv.mkDerivation rec {
# this script isn't marked as executable b/c it's indirectly used by meson. Needed to patch its shebang # this script isn't marked as executable b/c it's indirectly used by meson. Needed to patch its shebang
chmod +x ./scripts/shaderinclude.pl chmod +x ./scripts/shaderinclude.pl
patchShebangs . patchShebangs .
# avoid conflicts with libc++ include for <version>
mv VERSION QEMU_VERSION
substituteInPlace meson.build \
--replace "'VERSION'" "'QEMU_VERSION'"
'' + optionalString stdenv.hostPlatform.isMusl '' '' + optionalString stdenv.hostPlatform.isMusl ''
NIX_CFLAGS_COMPILE+=" -D_LINUX_SYSINFO_H" NIX_CFLAGS_COMPILE+=" -D_LINUX_SYSINFO_H"
''; '';
@ -117,9 +122,8 @@ stdenv.mkDerivation rec {
"--enable-docs" "--enable-docs"
"--enable-tools" "--enable-tools"
"--enable-guest-agent" "--enable-guest-agent"
"--sysconfdir=/etc"
] ]
# disable sysctl check on darwin.
++ optional stdenv.isDarwin "--cpu=x86_64"
++ optional numaSupport "--enable-numa" ++ optional numaSupport "--enable-numa"
++ optional seccompSupport "--enable-seccomp" ++ optional seccompSupport "--enable-seccomp"
++ optional smartcardSupport "--enable-smartcard" ++ optional smartcardSupport "--enable-smartcard"
@ -143,7 +147,7 @@ stdenv.mkDerivation rec {
postFixup = '' postFixup = ''
# the .desktop is both invalid and pointless # the .desktop is both invalid and pointless
rm -f $out/share/applications/qemu.desktop test -e $out/share/applications/qemu.desktop && rm -f $out/share/applications/qemu.desktop
# copy qemu-ga (guest agent) to separate output # copy qemu-ga (guest agent) to separate output
mkdir -p $ga/bin mkdir -p $ga/bin

View file

@ -5,11 +5,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "i3"; pname = "i3";
version = "4.19"; version = "4.19.1";
src = fetchurl { src = fetchurl {
url = "https://i3wm.org/downloads/${pname}-${version}.tar.xz"; url = "https://i3wm.org/downloads/${pname}-${version}.tar.xz";
sha256 = "0wjq6lkidg0g474xsln1fhbxci7zclq3748sda10f1n7q01qp95c"; sha256 = "sha256-IoTIEvxongM42P6b4LjRVS5Uj8Fo0WX3lbJr9JfCK0c=";
}; };
nativeBuildInputs = [ pkg-config makeWrapper meson ninja installShellFiles ]; nativeBuildInputs = [ pkg-config makeWrapper meson ninja installShellFiles ];

View file

@ -1,13 +1,13 @@
{ lib, fetchzip }: { lib, fetchzip }:
let let
version = "2009.22"; version = "2102.03";
in in
fetchzip { fetchzip {
name = "cascadia-code-${version}"; name = "cascadia-code-${version}";
url = "https://github.com/microsoft/cascadia-code/releases/download/v${version}/CascadiaCode-${version}.zip"; url = "https://github.com/microsoft/cascadia-code/releases/download/v${version}/CascadiaCode-${version}.zip";
sha256 = "0wdkjzaf5a14yfiqqqn6wvi6db6r7g1m5r07cg9730b0mkzhfyhl"; sha256 = "076l44cyyp3cf15qyn2hzx34kzqm73d218fgwf8n69m8a1v34hs2";
postFetch = '' postFetch = ''
mkdir -p $out/share/fonts/ mkdir -p $out/share/fonts/

View file

@ -8,13 +8,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "luna-icons"; pname = "luna-icons";
version = "0.9.2"; version = "1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "darkomarko42"; owner = "darkomarko42";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0ajx7yjkgj5ynbjmd6k3cldjn0qr51h6k80hjgr7vqd0ybyylh5p"; sha256 = "1gggsd7scf15vrpgzvskx4p3jifnjdx0aqndqhvpc6ksdbh3nzqd";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -35,12 +35,6 @@ stdenv.mkDerivation rec {
mkdir -p $out/share/icons mkdir -p $out/share/icons
cp -a Luna* $out/share/icons cp -a Luna* $out/share/icons
# remove files with spaces in the name, otherwise
# gtk-update-icon-cache fails with the message "The generated cache
# was invalid"
# https://github.com/darkomarko42/Luna-Icons/issues/2
rm "$out/share/icons/Luna/scalable/apps/yast-checkmedia (copia).svg"
for theme in $out/share/icons/*; do for theme in $out/share/icons/*; do
gtk-update-icon-cache "$theme" gtk-update-icon-cache "$theme"
done done

View file

@ -6,13 +6,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "evolution-data-server"; pname = "evolution-data-server";
version = "3.38.3"; version = "3.38.4";
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "19rwgvjicfmd5zgabr5ns42rg8cqa05p8qf7684prajjna8gcclp"; sha256 = "rFPxay1R8+f/gCX5yhn0otTOOEHXKun+K7iX3ICZ1wU=";
}; };
patches = [ patches = [

View file

@ -1,6 +1,7 @@
{ fetchurl, lib, stdenv, substituteAll, meson, ninja, pkg-config, gnome3, glib, gtk3, gsettings-desktop-schemas { fetchurl, lib, stdenv, substituteAll, meson, ninja, pkg-config, gnome3, glib, gtk3, gsettings-desktop-schemas
, gnome-desktop, dbus, json-glib, libICE, xmlto, docbook_xsl, docbook_xml_dtd_412, python3 , gnome-desktop, dbus, json-glib, libICE, xmlto, docbook_xsl, docbook_xml_dtd_412, python3
, libxslt, gettext, makeWrapper, systemd, xorg, epoxy, gnugrep, bash, gnome-session-ctl }: , libxslt, gettext, makeWrapper, systemd, xorg, epoxy, gnugrep, bash, gnome-session-ctl
, fetchpatch }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-session"; pname = "gnome-session";
@ -21,6 +22,12 @@ stdenv.mkDerivation rec {
grep = "${gnugrep}/bin/grep"; grep = "${gnugrep}/bin/grep";
bash = "${bash}/bin/bash"; bash = "${bash}/bin/bash";
}) })
# Fixes 2 minute delay at poweroff.
# https://gitlab.gnome.org/GNOME/gnome-session/issues/74
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-session/-/commit/9de6e40f12e8878f524f8d429d85724c156a0517.diff";
sha256 = "19vrjdf7d6dfl7sqxvbc5h5lcgk1krgzg5rkssrdzd1h4ma6y8fz";
})
]; ];
mesonFlags = [ "-Dsystemd=true" "-Dsystemd_session=default" ]; mesonFlags = [ "-Dsystemd=true" "-Dsystemd_session=default" ];

View file

@ -5,11 +5,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-terminal"; pname = "gnome-terminal";
version = "3.38.2"; version = "3.38.3";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gnome-terminal/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/gnome-terminal/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "J73cnQumFMhuXstPVMdevDQV4oh6zZFEIFdUj9MgZhg="; sha256 = "EaWw1jXxX9znUINRpRD79OkqpTMVKlD/DHhF4xAuR2Q=";
}; };
buildInputs = [ buildInputs = [

View file

@ -1,14 +1,14 @@
{ lib, stdenv, fetchFromGitLab, glib, gettext, substituteAll, gnome-menus }: { lib, stdenv, fetchFromGitLab, glib, gettext, substituteAll, gnome-menus }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-shell-arc-menu"; pname = "gnome-shell-arcmenu";
version = "47"; version = "5";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "arcmenu-team"; owner = "arcmenu";
repo = "Arc-Menu"; repo = "ArcMenu";
rev = "v${version}-Stable"; rev = "v${version}";
sha256 = "1hhjxdm1sm9pddhkkxx532hqqiv9ghvqgn9xszg1jwhj29380fv6"; sha256 = "1w4avvnp08l7lkf76vc7wvfn1cd81l4r4dhz8qnai49rvrjgqcg3";
}; };
patches = [ patches = [
@ -24,12 +24,12 @@ stdenv.mkDerivation rec {
makeFlags = [ "INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions" ]; makeFlags = [ "INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions" ];
uuid = "arc-menu@linxgem33.com"; uuid = "arcmenu@arcmenu.com";
meta = with lib; { meta = with lib; {
description = "Gnome shell extension designed to replace the standard menu found in Gnome 3"; description = "Application menu for GNOME Shell, designed to provide a more traditional user experience and workflow";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = with maintainers; [ dkabot ]; maintainers = with maintainers; [ dkabot ];
homepage = "https://gitlab.com/LinxGem33/Arc-Menu"; homepage = "https://gitlab.com/arcmenu/ArcMenu";
}; };
} }

View file

@ -1,13 +1,13 @@
{ lib, stdenv, gnome3, fetchFromGitHub, xprop, glib, coreutils }: { lib, stdenv, gnome3, fetchFromGitHub, xprop, glib, coreutils }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-shell-extension-unite"; pname = "gnome-shell-extension-unite";
version = "44"; version = "45";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "hardpixel"; owner = "hardpixel";
repo = "unite-shell"; repo = "unite-shell";
rev = "v${version}"; rev = "v${version}";
sha256 = "0nqc1q2yz4xa3fdfx45w6da1wijmdwzhdrch0mqwblgbpjr4fs9g"; sha256 = "sha256-ghmCnzlPvxHEy2ro1AL+T2yiavJVrPhRfIKbMBwMjac=";
}; };
uuid = "unite@hardpixel.eu"; uuid = "unite@hardpixel.eu";

View file

@ -0,0 +1,37 @@
{ lib, mkDerivation, fetchFromGitHub
, kcoreaddons, kwindowsystem, plasma-framework, systemsettings }:
mkDerivation rec {
pname = "parachute";
version = "0.9.1";
src = fetchFromGitHub {
owner = "tcorreabr";
repo = "parachute";
rev = "v${version}";
sha256 = "QIWb1zIGfkS+Bef7LK+JA6XpwGUW+79XZY47j75nlCE=";
};
buildInputs = [
kcoreaddons kwindowsystem plasma-framework systemsettings
];
dontBuild = true;
# 1. --global still installs to $HOME/.local/share so we use --packageroot
# 2. plasmapkg2 doesn't copy metadata.desktop into place, so we do that manually
installPhase = ''
runHook preInstall
plasmapkg2 --type kwinscript --install ${src} --packageroot $out/share/kwin/scripts
install -Dm644 ${src}/metadata.desktop $out/share/kservices5/Parachute.desktop
runHook postInstall
'';
meta = with lib; {
description = "Look at your windows and desktops from above.";
license = licenses.gpl3Only;
maintainers = with maintainers; [ mjlbach ];
inherit (src.meta) homepage;
inherit (kwindowsystem.meta) platforms;
};
}

View file

@ -146,6 +146,7 @@ let
kwin-dynamic-workspaces = callPackage ./3rdparty/kwin/scripts/dynamic-workspaces.nix { }; kwin-dynamic-workspaces = callPackage ./3rdparty/kwin/scripts/dynamic-workspaces.nix { };
kwin-tiling = callPackage ./3rdparty/kwin/scripts/tiling.nix { }; kwin-tiling = callPackage ./3rdparty/kwin/scripts/tiling.nix { };
krohnkite = callPackage ./3rdparty/kwin/scripts/krohnkite.nix { }; krohnkite = callPackage ./3rdparty/kwin/scripts/krohnkite.nix { };
parachute = callPackage ./3rdparty/kwin/scripts/parachute.nix { };
}; };
}; };

View file

@ -10,47 +10,6 @@
let let
common = callPackage ./common.nix; common = callPackage ./common.nix;
in rec { in rec {
cudatoolkit_6 = common {
version = "6.0.37";
url = "http://developer.download.nvidia.com/compute/cuda/6_0/rel/installers/cuda_6.0.37_linux_64.run";
sha256 = "991e436c7a6c94ec67cf44204d136adfef87baa3ded270544fa211179779bc40";
gcc = gcc48;
};
cudatoolkit_6_5 = common {
version = "6.5.19";
url = "http://developer.download.nvidia.com/compute/cuda/6_5/rel/installers/cuda_6.5.19_linux_64.run";
sha256 = "1x9zdmk8z784d3d35vr2ak1l4h5v4jfjhpxfi9fl9dvjkcavqyaj";
gcc = gcc48;
};
cudatoolkit_7 = common {
version = "7.0.28";
url = "http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/cuda_7.0.28_linux.run";
sha256 = "1km5hpiimx11jcazg0h3mjzk220klwahs2vfqhjavpds5ff2wafi";
gcc = gcc6;
};
cudatoolkit_7_5 = common {
version = "7.5.18";
url = "http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda_7.5.18_linux.run";
sha256 = "1v2ylzp34ijyhcxyh5p6i0cwawwbbdhni2l5l4qm21s1cx9ish88";
gcc = gcc6;
};
cudatoolkit_8 = common {
version = "8.0.61.2";
url = "https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run";
sha256 = "1i4xrsqbad283qffvysn88w2pmxzxbbby41lw0j1113z771akv4w";
runPatches = [
(fetchurl {
url = "https://developer.nvidia.com/compute/cuda/8.0/Prod2/patches/2/cuda_8.0.61.2_linux-run";
sha256 = "1iaz5rrsnsb1p99qiqvxn6j3ksc7ry8xlr397kqcjzxqbljbqn9d";
})
];
gcc = gcc6;
};
cudatoolkit_9_0 = common { cudatoolkit_9_0 = common {
version = "9.0.176.1"; version = "9.0.176.1";
url = "https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run"; url = "https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run";
@ -153,5 +112,12 @@ in rec {
gcc = gcc9; gcc = gcc9;
}; };
cudatoolkit_11 = cudatoolkit_11_1; cudatoolkit_11_2 = common {
version = "11.2.1";
url = "https://developer.download.nvidia.com/compute/cuda/11.2.1/local_installers/cuda_11.2.1_460.32.03_linux.run";
sha256 = "sha256-HamMuJfMX1inRFpKZspPaSaGdwbLOvWKZpzc2Nw9F8g=";
gcc = gcc9;
};
cudatoolkit_11 = cudatoolkit_11_2;
} }

View file

@ -4,15 +4,20 @@
, buildPackages , buildPackages
, pkgsBuildTarget , pkgsBuildTarget
, fetchpatch , fetchpatch
, callPackage
}: }:
let let
inherit (lib) optionals optionalString; inherit (lib) optionals optionalString;
go_bootstrap = callPackage ./bootstrap.nix {
inherit Security;
};
goBootstrap = runCommand "go-bootstrap" {} '' goBootstrap = runCommand "go-bootstrap" {} ''
mkdir $out mkdir $out
cp -rf ${buildPackages.go_bootstrap}/* $out/ cp -rf ${go_bootstrap}/* $out/
chmod -R u+w $out chmod -R u+w $out
find $out -name "*.c" -delete find $out -name "*.c" -delete
cp -rf $out/bin/* $out/share/go/bin/ cp -rf $out/bin/* $out/share/go/bin/
@ -36,11 +41,11 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "go"; pname = "go";
version = "1.14.14"; version = "1.14.15";
src = fetchurl { src = fetchurl {
url = "https://dl.google.com/go/go${version}.src.tar.gz"; url = "https://dl.google.com/go/go${version}.src.tar.gz";
sha256 = "0vx7r0bb1a500znnnh7v3wgw22ly3p2x06vzyi9hiblgylrby132"; sha256 = "0jci03f5z09xibbdqg4lnv2k3crhal1phzwr6lc4ajp514i3plby";
}; };
# perl is used for testing go vet # perl is used for testing go vet

View file

@ -4,15 +4,20 @@
, buildPackages , buildPackages
, pkgsBuildTarget , pkgsBuildTarget
, fetchpatch , fetchpatch
, callPackage
}: }:
let let
inherit (lib) optionals optionalString; inherit (lib) optionals optionalString;
go_bootstrap = callPackage ./bootstrap.nix {
inherit Security;
};
goBootstrap = runCommand "go-bootstrap" {} '' goBootstrap = runCommand "go-bootstrap" {} ''
mkdir $out mkdir $out
cp -rf ${buildPackages.go_bootstrap}/* $out/ cp -rf ${go_bootstrap}/* $out/
chmod -R u+w $out chmod -R u+w $out
find $out -name "*.c" -delete find $out -name "*.c" -delete
cp -rf $out/bin/* $out/share/go/bin/ cp -rf $out/bin/* $out/share/go/bin/
@ -36,11 +41,11 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "go"; pname = "go";
version = "1.15.7"; version = "1.15.8";
src = fetchurl { src = fetchurl {
url = "https://dl.google.com/go/go${version}.src.tar.gz"; url = "https://dl.google.com/go/go${version}.src.tar.gz";
sha256 = "1g1a39y1cnvw3y0bjwjms55cz0s9icm8myrgxi295jwfznmb6cc6"; sha256 = "1hlphkrsvb5nza5ajm24x4nrhyg4b0afs88kk4jd310hg2vhl32l";
}; };
# perl is used for testing go vet # perl is used for testing go vet

View file

@ -4,15 +4,20 @@
, buildPackages , buildPackages
, pkgsBuildTarget , pkgsBuildTarget
, fetchpatch , fetchpatch
, callPackage
}: }:
let let
inherit (lib) optionals optionalString; inherit (lib) optionals optionalString;
go_bootstrap = callPackage ./bootstrap.nix {
inherit Security;
};
goBootstrap = runCommand "go-bootstrap" {} '' goBootstrap = runCommand "go-bootstrap" {} ''
mkdir $out mkdir $out
cp -rf ${buildPackages.go_bootstrap}/* $out/ cp -rf ${go_bootstrap}/* $out/
chmod -R u+w $out chmod -R u+w $out
find $out -name "*.c" -delete find $out -name "*.c" -delete
cp -rf $out/bin/* $out/share/go/bin/ cp -rf $out/bin/* $out/share/go/bin/

View file

@ -0,0 +1,17 @@
{ stdenv, srcOnly, fetchurl, callPackage, Security }:
let
go_bootstrap = if stdenv.isAarch64 then
srcOnly {
name = "go-1.8-linux-arm64-bootstrap";
src = fetchurl {
url = "https://cache.xor.us/go-1.8-linux-arm64-bootstrap.tar.xz";
sha256 = "0sk6g03x9gbxk2k1djnrgy8rzw1zc5f6ssw0hbxk6kjr85lpmld6";
};
}
else
callPackage ./1.4.nix {
inherit Security;
};
in
go_bootstrap

View file

@ -0,0 +1,29 @@
{ lib, buildPythonApplication, fetchFromGitHub }:
buildPythonApplication rec {
pname = "ophis";
version = "unstable-2019-04-13";
src = fetchFromGitHub {
owner = "michaelcmartin";
repo = "Ophis";
rev = "99f074da278d4ec80689c0e22e20c5552ea12512";
sha256 = "2x8vwLTSngqQqmVrVh/mM4peATgaRqOSwrfm5XCkg/g=";
};
sourceRoot = "./src";
meta = with lib; {
homepage = "http://michaelcmartin.github.io/Ophis/";
description = "A cross-assembler for the 6502 series of microprocessors";
longDescription = ''
Ophis is an assembler for the 6502 microprocessor - the famous chip used
in the vast majority of the classic 8-bit computers and consoles. Its
primary design goals are code readability and output flexibility - Ophis
has successfully been used to create programs for the Nintendo
Entertainment System, the Atari 2600, and the Commodore 64.
'';
license = licenses.mit;
maintainers = with maintainers; [ AndersonTorres ];
};
}

View file

@ -0,0 +1,114 @@
{ lib, stdenv, fetchurl, writeText, sbclBootstrap
, sbclBootstrapHost ? "${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit"
, threadSupport ? (stdenv.isi686 || stdenv.isx86_64 || "aarch64-linux" == stdenv.hostPlatform.system)
, disableImmobileSpace ? false
# Meant for sbcl used for creating binaries portable to non-NixOS via save-lisp-and-die.
# Note that the created binaries still need `patchelf --set-interpreter ...`
# to get rid of ${glibc} dependency.
, purgeNixReferences ? false
, texinfo
}:
stdenv.mkDerivation rec {
pname = "sbcl";
version = "2.1.1";
src = fetchurl {
url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${pname}-${version}-source.tar.bz2";
sha256 = "sha256:15wa66sachhzgvg5n35vihmkpasg100lh561c1d1bdrql0p8kbd9";
};
buildInputs = [texinfo];
patchPhase = ''
echo '"${version}.nixos"' > version.lisp-expr
pwd
# SBCL checks whether files are up-to-date in many places..
# Unfortunately, same timestamp is not good enough
sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp
#sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp
sed -i src/cold/slam.lisp -e \
'/file-write-date input/a)'
sed -i src/cold/slam.lisp -e \
'/file-write-date output/i(or (and (= 2208988801 (file-write-date output)) (= 2208988801 (file-write-date input)))'
sed -i src/code/target-load.lisp -e \
'/date defaulted-fasl/a)'
sed -i src/code/target-load.lisp -e \
'/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
# Fix the tests
sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
# Use whatever `cc` the stdenv provides
substituteInPlace src/runtime/Config.x86-64-darwin --replace gcc cc
substituteInPlace src/runtime/Config.x86-64-darwin \
--replace mmacosx-version-min=10.4 mmacosx-version-min=10.5
''
+ (if purgeNixReferences
then
# This is the default location to look for the core; by default in $out/lib/sbcl
''
sed 's@^\(#define SBCL_HOME\) .*$@\1 "/no-such-path"@' \
-i src/runtime/runtime.c
''
else
# Fix software version retrieval
''
sed -e "s@/bin/uname@$(command -v uname)@g" -i src/code/*-os.lisp \
src/code/run-program.lisp
''
);
preBuild = ''
export INSTALL_ROOT=$out
mkdir -p test-home
export HOME=$PWD/test-home
'';
enableFeatures = with lib;
optional threadSupport "sb-thread" ++
optional stdenv.isAarch32 "arm";
disableFeatures = with lib;
optional (!threadSupport) "sb-thread" ++
optionals disableImmobileSpace [ "immobile-space" "immobile-code" "compact-instance-header" ];
buildPhase = ''
sh make.sh --prefix=$out --xc-host="${sbclBootstrapHost}" ${
lib.concatStringsSep " "
(builtins.map (x: "--with-${x}") enableFeatures ++
builtins.map (x: "--without-${x}") disableFeatures)
}
(cd doc/manual ; make info)
'';
installPhase = ''
INSTALL_ROOT=$out sh install.sh
''
+ lib.optionalString (!purgeNixReferences) ''
cp -r src $out/lib/sbcl
cp -r contrib $out/lib/sbcl
cat >$out/lib/sbcl/sbclrc <<EOF
(setf (logical-pathname-translations "SYS")
'(("SYS:SRC;**;*.*.*" #P"$out/lib/sbcl/src/**/*.*")
("SYS:CONTRIB;**;*.*.*" #P"$out/lib/sbcl/contrib/**/*.*")))
EOF
'';
setupHook = lib.optional purgeNixReferences (writeText "setupHook.sh" ''
addEnvHooks "$targetOffset" _setSbclHome
_setSbclHome() {
export SBCL_HOME='@out@/lib/sbcl/'
}
'');
meta = sbclBootstrap.meta // {
inherit version;
updateWalker = true;
};
}

View file

@ -33,13 +33,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "yosys"; pname = "yosys";
version = "0.9+3830"; version = "0.9+3905";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "YosysHQ"; owner = "YosysHQ";
repo = "yosys"; repo = "yosys";
rev = "b72c29465392c8d260ddf55def169438f7fb64b2"; rev = "4e741adda976260f620e5787d6db3cb28e0e35e7";
sha256 = "12h3pgj8bjb254q2qaafc3qxwhqdqrx0sxjhgjrfy8cmkdm92dvy"; sha256 = "0ml4c7vfzmivcc289d12m6ki82qdsg5wj00f2aamcvq1y7l4062x";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;

View file

@ -9,6 +9,7 @@ mkCoqDerivation {
repo = "coq-dpdgraph"; repo = "coq-dpdgraph";
inherit version; inherit version;
defaultVersion = switch coq.coq-version [ defaultVersion = switch coq.coq-version [
{ case = "8.13"; out = "0.6.9"; }
{ case = "8.12"; out = "0.6.8"; } { case = "8.12"; out = "0.6.8"; }
{ case = "8.11"; out = "0.6.7"; } { case = "8.11"; out = "0.6.7"; }
{ case = "8.10"; out = "0.6.6"; } { case = "8.10"; out = "0.6.6"; }
@ -19,6 +20,7 @@ mkCoqDerivation {
{ case = "8.5"; out = "0.6"; } { case = "8.5"; out = "0.6"; }
] null; ] null;
release."0.6.9".sha256 = "11mbydpcgk7y8pqzickbzx0ig7g9k9al71i9yfrcscd2xj8fwj8z";
release."0.6.8".sha256 = "1mj6sknsd53xfb387sp3kdwvl4wn80ck24bfzf3s6mgw1a12vyps"; release."0.6.8".sha256 = "1mj6sknsd53xfb387sp3kdwvl4wn80ck24bfzf3s6mgw1a12vyps";
release."0.6.7".sha256 = "01vpi7scvkl4ls1z2k2x9zd65wflzb667idj759859hlz3ps9z09"; release."0.6.7".sha256 = "01vpi7scvkl4ls1z2k2x9zd65wflzb667idj759859hlz3ps9z09";
release."0.6.6".sha256 = "1gjrm5zjzw4cisiwdr5b3iqa7s4cssa220xr0k96rwgk61rcjd8w"; release."0.6.6".sha256 = "1gjrm5zjzw4cisiwdr5b3iqa7s4cssa220xr0k96rwgk61rcjd8w";

View file

@ -34,14 +34,16 @@
, meta ? {} , meta ? {}
# Not needed with buildGoModule # Not needed with buildGoModule
, goPackagePath ? null , goPackagePath ? ""
, ... }@args': , ... }@args':
with builtins; with builtins;
assert goPackagePath != "" -> throw "`goPackagePath` is not needed with `buildGoModule`";
let let
args = removeAttrs args' [ "overrideModAttrs" "vendorSha256" "disabled" ]; args = removeAttrs args' [ "overrideModAttrs" "vendorSha256" ];
go-modules = if vendorSha256 != null then stdenv.mkDerivation (let modArgs = { go-modules = if vendorSha256 != null then stdenv.mkDerivation (let modArgs = {
@ -240,7 +242,5 @@ let
[ lib.maintainers.kalbasit ]; [ lib.maintainers.kalbasit ];
}; };
}); });
in if (goPackagePath != null) then in
throw "`goPackagePath` not needed with `buildGoModule`"
else
package package

View file

@ -3,17 +3,17 @@
with lib; with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "babashka"; pname = "babashka";
version = "0.2.3"; version = "0.2.10";
reflectionJson = fetchurl { reflectionJson = fetchurl {
name = "reflection.json"; name = "reflection.json";
url = "https://github.com/borkdude/${pname}/releases/download/v${version}/${pname}-${version}-reflection.json"; url = "https://github.com/borkdude/${pname}/releases/download/v${version}/${pname}-${version}-reflection.json";
sha256 = "0lbdh3v3g3j00bn99bjhjj3gk1q9ks2alpvl9bxc00xpyw86f7z8"; sha256 = "1c7f0z1hi0vcfz532r3fhr4c64jjqppf94idpa1jziz1dljkwk85";
}; };
src = fetchurl { src = fetchurl {
url = "https://github.com/borkdude/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar"; url = "https://github.com/borkdude/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
sha256 = "0vh6k3dkzyk346jjzg6n4mdi65iybrmhb3js9lm73yc3ay2c5dyi"; sha256 = "0j6k3vmdljf3bjmj5dywhxjmxcs1axscc8dlnw94g5rwf9bin0dn";
}; };
dontUnpack = true; dontUnpack = true;

View file

@ -1,7 +1,6 @@
{ pkgs, lib, stdenv, fetchFromGitHub, makeWrapper, gawk, gnum4, gnused { pkgs, lib, stdenv, fetchFromGitHub, makeWrapper, gawk, gnum4, gnused
, libxml2, libxslt, ncurses, openssl, perl, autoconf , libxml2, libxslt, ncurses, openssl, perl, autoconf
# TODO: use jdk https://github.com/NixOS/nixpkgs/pull/89731 , openjdk11 ? null # javacSupport
, openjdk8 ? null # javacSupport
, unixODBC ? null # odbcSupport , unixODBC ? null # odbcSupport
, libGL ? null, libGLU ? null, wxGTK ? null, wxmac ? null, xorg ? null , libGL ? null, libGLU ? null, wxGTK ? null, wxmac ? null, xorg ? null
, parallelBuild ? false , parallelBuild ? false
@ -17,7 +16,7 @@
, enableThreads ? true , enableThreads ? true
, enableSmpSupport ? true , enableSmpSupport ? true
, enableKernelPoll ? true , enableKernelPoll ? true
, javacSupport ? false, javacPackages ? [ openjdk8 ] , javacSupport ? false, javacPackages ? [ openjdk11 ]
, odbcSupport ? false, odbcPackages ? [ unixODBC ] , odbcSupport ? false, odbcPackages ? [ unixODBC ]
, withSystemd ? stdenv.isLinux # systemd support in epmd , withSystemd ? stdenv.isLinux # systemd support in epmd
, wxPackages ? [ libGL libGLU wxGTK xorg.libX11 ] , wxPackages ? [ libGL libGLU wxGTK xorg.libX11 ]
@ -37,7 +36,7 @@ assert wxSupport -> (if stdenv.isDarwin
else libGL != null && libGLU != null && wxGTK != null && xorg != null); else libGL != null && libGLU != null && wxGTK != null && xorg != null);
assert odbcSupport -> unixODBC != null; assert odbcSupport -> unixODBC != null;
assert javacSupport -> openjdk8 != null; assert javacSupport -> openjdk11 != null;
let let
inherit (lib) optional optionals optionalAttrs optionalString; inherit (lib) optional optionals optionalAttrs optionalString;

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "janet"; pname = "janet";
version = "1.15.0"; version = "1.15.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "janet-lang"; owner = "janet-lang";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-NLPmuS7HTPY8OfeppqVhrj4iVZix4orr1oYilcXaAqI="; sha256 = "sha256-xIvcHMDBPdmNSp0/aaVDXxCmCpQOtSFG99lyHAWmbY0=";
}; };
nativeBuildInputs = [ meson ninja ]; nativeBuildInputs = [ meson ninja ];

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "quickjs"; pname = "quickjs";
version = "2019-12-21"; version = "2020-11-08";
src = fetchurl { src = fetchurl {
url = "https://bellard.org/${pname}/${pname}-${version}.tar.xz"; url = "https://bellard.org/${pname}/${pname}-${version}.tar.xz";
sha256 = "13hlx6qwrrxmlvvqcr3irxba6zmf05cf54l32vj50wc66s1qd41p"; sha256 = "0yqqcjxi3cqagw184mqrxpvqg486x7c233r3cp9mxachngd6779f";
}; };
makeFlags = [ "prefix=${placeholder "out"}" ]; makeFlags = [ "prefix=${placeholder "out"}" ];
@ -19,7 +19,6 @@ stdenv.mkDerivation rec {
# Programs exit with code 1 when testing help, so grep for a string # Programs exit with code 1 when testing help, so grep for a string
set +o pipefail set +o pipefail
qjs --help 2>&1 | grep "QuickJS version" qjs --help 2>&1 | grep "QuickJS version"
qjsbn --help 2>&1 | grep "QuickJS version"
qjscalc --help 2>&1 | grep "QuickJS version" qjscalc --help 2>&1 | grep "QuickJS version"
set -o pipefail set -o pipefail
@ -27,9 +26,7 @@ stdenv.mkDerivation rec {
echo "console.log('Output from compiled program');" > "$temp" echo "console.log('Output from compiled program');" > "$temp"
set -o verbose set -o verbose
out=$(mktemp) && qjsc "$temp" -o "$out" && "$out" | grep -q "Output from compiled program" out=$(mktemp) && qjsc "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
out=$(mktemp) && qjsbnc "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
out=$(mktemp) && qjsc -flto "$temp" -o "$out" && "$out" | grep -q "Output from compiled program" out=$(mktemp) && qjsc -flto "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
out=$(mktemp) && qjsbnc -flto "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
''; '';
meta = with lib; { meta = with lib; {

View file

@ -8,6 +8,7 @@
, libGL , libGL
, libGLU , libGLU
, libjpeg , libjpeg
, ncurses
, libpng, libtool, mpfr, openssl, pango, poppler , libpng, libtool, mpfr, openssl, pango, poppler
, readline, sqlite , readline, sqlite
, disableDocs ? false , disableDocs ? false
@ -46,7 +47,7 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "racket"; pname = "racket";
version = "7.9"; # always change at once with ./minimal.nix version = "8.0"; # always change at once with ./minimal.nix
src = (lib.makeOverridable ({ name, sha256 }: src = (lib.makeOverridable ({ name, sha256 }:
fetchurl { fetchurl {
@ -55,7 +56,7 @@ stdenv.mkDerivation rec {
} }
)) { )) {
name = "${pname}-${version}"; name = "${pname}-${version}";
sha256 = "0gmp2ahmfd97nn9bwpfx9lznjmjkd042slnrrbdmyh59cqh98y2m"; sha256 = "0lqqpa88v0br93qw7450a4blyi3pwn7sq2k04h0ikbsqrdnfj7lj";
}; };
FONTCONFIG_FILE = fontsConf; FONTCONFIG_FILE = fontsConf;
@ -68,12 +69,17 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cacert wrapGAppsHook ]; nativeBuildInputs = [ cacert wrapGAppsHook ];
buildInputs = [ fontconfig libffi libtool sqlite gsettings-desktop-schemas gtk3 ] buildInputs = [ fontconfig libffi libtool sqlite gsettings-desktop-schemas gtk3 ]
++ lib.optionals stdenv.isDarwin [ libiconv CoreFoundation ]; ++ lib.optionals stdenv.isDarwin [ libiconv CoreFoundation ncurses ];
preConfigure = '' preConfigure = ''
unset AR unset AR
for f in src/lt/configure src/cs/c/configure src/bc/src/string.c; do for f in src/lt/configure src/cs/c/configure src/bc/src/string.c src/ChezScheme/workarea; do
substituteInPlace "$f" --replace /usr/bin/uname ${coreutils}/bin/uname substituteInPlace "$f" \
--replace /usr/bin/uname ${coreutils}/bin/uname \
--replace /bin/cp ${coreutils}/bin/cp \
--replace /bin/ln ${coreutils}/bin/ln \
--replace /bin/rm ${coreutils}/bin/rm \
--replace /bin/true ${coreutils}/bin/true
done done
mkdir src/build mkdir src/build
cd src/build cd src/build

View file

@ -5,7 +5,7 @@ racket.overrideAttrs (oldAttrs: rec {
name = "racket-minimal-${oldAttrs.version}"; name = "racket-minimal-${oldAttrs.version}";
src = oldAttrs.src.override { src = oldAttrs.src.override {
inherit name; inherit name;
sha256 = "0yc5zkpq1bavj64h67pllw6mfjhmdp65fgdpyqcaan3syy6b5cia"; sha256 = "0qvfi6rg9cwzh716q5j7m30rqq9xysi6zsalqlpdqrzhnx8y54k0";
}; };
meta = oldAttrs.meta // { meta = oldAttrs.meta // {

View file

@ -243,14 +243,6 @@ let
) args; in self; ) args; in self;
in { in {
ruby_2_5 = generic {
version = rubyVersion "2" "5" "8" "";
sha256 = {
src = "16md4jspjwixjlbhx3pnd5iwpca07p23ghkxkqd82sbchw3xy2vc";
git = "19gkk3q9l33cwkfsp5k8f8fipq7gkyqkqirm9farbvy425519rv2";
};
};
ruby_2_6 = generic { ruby_2_6 = generic {
version = rubyVersion "2" "6" "6" ""; version = rubyVersion "2" "6" "6" "";
sha256 = { sha256 = {

View file

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
patches = [ ./darwin-rpath-universal.patch ]; patches = [ ./darwin-rpath-universal.patch ];
configureFlags = "--with-bzip2=${bzip2.out}"; configureFlags = [ "--with-bzip2=${bzip2.out}" ];
hardeningDisable = [ "format" ]; hardeningDisable = [ "format" ];

View file

@ -37,7 +37,7 @@ let
homepage = "http://fmtlib.net/"; homepage = "http://fmtlib.net/";
downloadPage = "https://github.com/fmtlib/fmt/"; downloadPage = "https://github.com/fmtlib/fmt/";
maintainers = [ maintainers.jdehaas ]; maintainers = [ maintainers.jdehaas ];
license = licenses.bsd2; license = licenses.mit;
platforms = platforms.all; platforms = platforms.all;
}; };
}; };

View file

@ -1,6 +1,6 @@
{ lib, stdenv, fetchurl, fetchgit { lib, stdenv, fetchurl, fetchgit
, makeWrapper, autoreconfHook, fetchpatch , makeWrapper, autoreconfHook, fetchpatch
, coreutils, libxml2, gnutls, perl, python2, attr, glib, docutils , coreutils, libxml2, gnutls, perl, python3, attr, glib, docutils
, iproute, readline, lvm2, util-linux, systemd, libpciaccess, gettext , iproute, readline, lvm2, util-linux, systemd, libpciaccess, gettext
, libtasn1, iptables, ebtables, libgcrypt, yajl, pmutils, libcap_ng, libapparmor , libtasn1, iptables, ebtables, libgcrypt, yajl, pmutils, libcap_ng, libapparmor
, dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages , dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages
@ -61,7 +61,7 @@ in stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
bash-completion pkg-config bash-completion pkg-config
libxml2 gnutls perl python2 readline gettext libtasn1 libgcrypt yajl libxml2 gnutls perl python3 readline gettext libtasn1 libgcrypt yajl
libxslt xhtml1 perlPackages.XMLXPath curl libpcap glib dbus libxslt xhtml1 perlPackages.XMLXPath curl libpcap glib dbus
] ++ optionals stdenv.isLinux [ ] ++ optionals stdenv.isLinux [
audit libpciaccess lvm2 util-linux systemd libnl numad zfs audit libpciaccess lvm2 util-linux systemd libnl numad zfs
@ -90,7 +90,7 @@ in stdenv.mkDerivation rec {
# do not use "''${qemu_kvm}/bin/qemu-kvm" to avoid bound VMs to particular qemu derivations # do not use "''${qemu_kvm}/bin/qemu-kvm" to avoid bound VMs to particular qemu derivations
substituteInPlace src/lxc/lxc_conf.c \ substituteInPlace src/lxc/lxc_conf.c \
--replace 'lxc_path,' '"/run/libvirt/nix-emulators/libvirt_lxc",' --replace 'lxc_path,' '"/run/libvirt/nix-emulators/libvirt_lxc",'
patchShebangs . # fixes /usr/bin/python references patchShebangs .
'' ''
+ (lib.concatStringsSep "\n" (lib.mapAttrsToList patchBuilder overrides)); + (lib.concatStringsSep "\n" (lib.mapAttrsToList patchBuilder overrides));

View file

@ -1,7 +1,7 @@
{ lib, stdenv, fetchFromGitLab, cmake, gfortran, perl }: { lib, stdenv, fetchFromGitLab, cmake, gfortran, perl }:
let let
version = "5.1.0"; version = "5.1.2";
in stdenv.mkDerivation { in stdenv.mkDerivation {
pname = "libxc"; pname = "libxc";
@ -11,7 +11,7 @@ in stdenv.mkDerivation {
owner = "libxc"; owner = "libxc";
repo = "libxc"; repo = "libxc";
rev = version; rev = version;
sha256 = "0qbxh0lfx4cab1fk1qfnx72g4yvs376zqrq74jn224vy32nam2x7"; sha256 = "1bcj7x0kaal62m41v9hxb4h1d2cxs2ynvsfqqg7c5yi7829nvapb";
}; };
buildInputs = [ gfortran ]; buildInputs = [ gfortran ];

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