Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2021-11-18 00:08:52 +00:00 committed by GitHub
commit 65ce6cbbdc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
154 changed files with 5550 additions and 2695 deletions

View File

@ -2346,6 +2346,12 @@
githubId = 12202789;
name = "CrazedProgrammer";
};
creator54 = {
email = "hi.creator54@gmail.com";
github = "creator54";
githubId = 34543609;
name = "creator54";
};
cript0nauta = {
email = "shareman1204@gmail.com";
github = "cript0nauta";
@ -9754,6 +9760,12 @@
githubId = 37246692;
name = "Riley Inman";
};
riotbib = {
email = "github-nix@lnrt.de";
github = "riotbib";
githubId = 43172581;
name = "Lennart Mühlenmeier";
};
ris = {
email = "code@humanleg.org.uk";
github = "risicle";

View File

@ -149,7 +149,7 @@ in {
prunePaths = mkOption {
type = listOf path;
default = ["/tmp" "/var/tmp" "/var/cache" "/var/lock" "/var/run" "/var/spool" "/nix/store"];
default = [ "/tmp" "/var/tmp" "/var/cache" "/var/lock" "/var/run" "/var/spool" "/nix/store" "/nix/var/log/nix" ];
description = ''
Which paths to exclude from indexing
'';

View File

@ -611,6 +611,7 @@
./services/misc/uhub.nix
./services/misc/weechat.nix
./services/misc/xmr-stak.nix
./services/misc/xmrig.nix
./services/misc/zigbee2mqtt.nix
./services/misc/zoneminder.nix
./services/misc/zookeeper.nix

View File

@ -410,46 +410,64 @@ let
# Samba stuff to the Samba module. This requires that the PAM
# module provides the right hooks.
text = mkDefault
(''
# Account management.
account required pam_unix.so
${optionalString use_ldap
"account sufficient ${pam_ldap}/lib/security/pam_ldap.so"}
${optionalString (config.services.sssd.enable && cfg.sssdStrictAccess==false)
"account sufficient ${pkgs.sssd}/lib/security/pam_sss.so"}
${optionalString (config.services.sssd.enable && cfg.sssdStrictAccess)
"account [default=bad success=ok user_unknown=ignore] ${pkgs.sssd}/lib/security/pam_sss.so"}
${optionalString config.krb5.enable
"account sufficient ${pam_krb5}/lib/security/pam_krb5.so"}
${optionalString cfg.googleOsLoginAccountVerification ''
(
''
# Account management.
account required pam_unix.so
'' +
optionalString use_ldap ''
account sufficient ${pam_ldap}/lib/security/pam_ldap.so
'' +
optionalString (config.services.sssd.enable && cfg.sssdStrictAccess==false) ''
account sufficient ${pkgs.sssd}/lib/security/pam_sss.so
'' +
optionalString (config.services.sssd.enable && cfg.sssdStrictAccess) ''
account [default=bad success=ok user_unknown=ignore] ${pkgs.sssd}/lib/security/pam_sss.so
'' +
optionalString config.krb5.enable ''
account sufficient ${pam_krb5}/lib/security/pam_krb5.so
'' +
optionalString cfg.googleOsLoginAccountVerification ''
account [success=ok ignore=ignore default=die] ${pkgs.google-compute-engine-oslogin}/lib/pam_oslogin_login.so
account [success=ok default=ignore] ${pkgs.google-compute-engine-oslogin}/lib/pam_oslogin_admin.so
''}
'' +
''
# Authentication management.
${optionalString cfg.googleOsLoginAuthentication
"auth [success=done perm_denied=bad default=ignore] ${pkgs.google-compute-engine-oslogin}/lib/pam_oslogin_login.so"}
${optionalString cfg.rootOK
"auth sufficient pam_rootok.so"}
${optionalString cfg.requireWheel
"auth required pam_wheel.so use_uid"}
${optionalString cfg.logFailures
"auth required pam_faillock.so"}
${optionalString (config.security.pam.enableSSHAgentAuth && cfg.sshAgentAuth)
"auth sufficient ${pkgs.pam_ssh_agent_auth}/libexec/pam_ssh_agent_auth.so file=${lib.concatStringsSep ":" config.services.openssh.authorizedKeysFiles}"}
${let p11 = config.security.pam.p11; in optionalString cfg.p11Auth
"auth ${p11.control} ${pkgs.pam_p11}/lib/security/pam_p11.so ${pkgs.opensc}/lib/opensc-pkcs11.so"}
${let u2f = config.security.pam.u2f; in optionalString cfg.u2fAuth
"auth ${u2f.control} ${pkgs.pam_u2f}/lib/security/pam_u2f.so ${optionalString u2f.debug "debug"} ${optionalString (u2f.authFile != null) "authfile=${u2f.authFile}"} ${optionalString u2f.interactive "interactive"} ${optionalString u2f.cue "cue"} ${optionalString (u2f.appId != null) "appid=${u2f.appId}"}"}
${optionalString cfg.usbAuth
"auth sufficient ${pkgs.pam_usb}/lib/security/pam_usb.so"}
${let oath = config.security.pam.oath; in optionalString cfg.oathAuth
"auth requisite ${pkgs.oathToolkit}/lib/security/pam_oath.so window=${toString oath.window} usersfile=${toString oath.usersFile} digits=${toString oath.digits}"}
${let yubi = config.security.pam.yubico; in optionalString cfg.yubicoAuth
"auth ${yubi.control} ${pkgs.yubico-pam}/lib/security/pam_yubico.so mode=${toString yubi.mode} ${optionalString (yubi.challengeResponsePath != null) "chalresp_path=${yubi.challengeResponsePath}"} ${optionalString (yubi.mode == "client") "id=${toString yubi.id}"} ${optionalString yubi.debug "debug"}"}
${optionalString cfg.fprintAuth
"auth sufficient ${pkgs.fprintd}/lib/security/pam_fprintd.so"}
'' +
# Authentication management.
'' +
optionalString cfg.googleOsLoginAuthentication ''
auth [success=done perm_denied=bad default=ignore] ${pkgs.google-compute-engine-oslogin}/lib/pam_oslogin_login.so
'' +
optionalString cfg.rootOK ''
auth sufficient pam_rootok.so
'' +
optionalString cfg.requireWheel ''
auth required pam_wheel.so use_uid
'' +
optionalString cfg.logFailures ''
auth required pam_faillock.so
'' +
optionalString (config.security.pam.enableSSHAgentAuth && cfg.sshAgentAuth) ''
auth sufficient ${pkgs.pam_ssh_agent_auth}/libexec/pam_ssh_agent_auth.so file=${lib.concatStringsSep ":" config.services.openssh.authorizedKeysFiles}
'' +
(let p11 = config.security.pam.p11; in optionalString cfg.p11Auth ''
auth ${p11.control} ${pkgs.pam_p11}/lib/security/pam_p11.so ${pkgs.opensc}/lib/opensc-pkcs11.so
'') +
(let u2f = config.security.pam.u2f; in optionalString cfg.u2fAuth ''
auth ${u2f.control} ${pkgs.pam_u2f}/lib/security/pam_u2f.so ${optionalString u2f.debug "debug"} ${optionalString (u2f.authFile != null) "authfile=${u2f.authFile}"} ${optionalString u2f.interactive "interactive"} ${optionalString u2f.cue "cue"} ${optionalString (u2f.appId != null) "appid=${u2f.appId}"}
'') +
optionalString cfg.usbAuth ''
auth sufficient ${pkgs.pam_usb}/lib/security/pam_usb.so
'' +
(let oath = config.security.pam.oath; in optionalString cfg.oathAuth ''
auth requisite ${pkgs.oathToolkit}/lib/security/pam_oath.so window=${toString oath.window} usersfile=${toString oath.usersFile} digits=${toString oath.digits}
'') +
(let yubi = config.security.pam.yubico; in optionalString cfg.yubicoAuth ''
auth ${yubi.control} ${pkgs.yubico-pam}/lib/security/pam_yubico.so mode=${toString yubi.mode} ${optionalString (yubi.challengeResponsePath != null) "chalresp_path=${yubi.challengeResponsePath}"} ${optionalString (yubi.mode == "client") "id=${toString yubi.id}"} ${optionalString yubi.debug "debug"}
'') +
optionalString cfg.fprintAuth ''
auth sufficient ${pkgs.fprintd}/lib/security/pam_fprintd.so
'' +
# Modules in this block require having the password set in PAM_AUTHTOK.
# pam_unix is marked as 'sufficient' on NixOS which means nothing will run
# after it succeeds. Certain modules need to run after pam_unix
@ -457,115 +475,151 @@ let
# earlier point and it will run again with 'sufficient' further down.
# We use try_first_pass the second time to avoid prompting password twice
(optionalString (cfg.unixAuth &&
(config.security.pam.enableEcryptfs
|| cfg.pamMount
|| cfg.enableKwallet
|| cfg.enableGnomeKeyring
|| cfg.googleAuthenticator.enable
|| cfg.gnupg.enable
|| cfg.duoSecurity.enable)) ''
auth required pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} ${optionalString cfg.nodelay "nodelay"} likeauth
${optionalString config.security.pam.enableEcryptfs
"auth optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap"}
${optionalString cfg.pamMount
"auth optional ${pkgs.pam_mount}/lib/security/pam_mount.so disable_interactive"}
${optionalString cfg.enableKwallet
("auth optional ${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so" +
" kwalletd=${pkgs.plasma5Packages.kwallet.bin}/bin/kwalletd5")}
${optionalString cfg.enableGnomeKeyring
"auth optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so"}
${optionalString cfg.gnupg.enable
"auth optional ${pkgs.pam_gnupg}/lib/security/pam_gnupg.so"
+ optionalString cfg.gnupg.storeOnly " store-only"
}
${optionalString cfg.googleAuthenticator.enable
"auth required ${pkgs.googleAuthenticator}/lib/security/pam_google_authenticator.so no_increment_hotp"}
${optionalString cfg.duoSecurity.enable
"auth required ${pkgs.duo-unix}/lib/security/pam_duo.so"}
'') + ''
${optionalString cfg.unixAuth
"auth sufficient pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} ${optionalString cfg.nodelay "nodelay"} likeauth try_first_pass"}
${optionalString cfg.otpwAuth
"auth sufficient ${pkgs.otpw}/lib/security/pam_otpw.so"}
${optionalString use_ldap
"auth sufficient ${pam_ldap}/lib/security/pam_ldap.so use_first_pass"}
${optionalString config.services.sssd.enable
"auth sufficient ${pkgs.sssd}/lib/security/pam_sss.so use_first_pass"}
${optionalString config.krb5.enable ''
(config.security.pam.enableEcryptfs
|| cfg.pamMount
|| cfg.enableKwallet
|| cfg.enableGnomeKeyring
|| cfg.googleAuthenticator.enable
|| cfg.gnupg.enable
|| cfg.duoSecurity.enable))
(
''
auth required pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} ${optionalString cfg.nodelay "nodelay"} likeauth
'' +
optionalString config.security.pam.enableEcryptfs ''
auth optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap
'' +
optionalString cfg.pamMount ''
auth optional ${pkgs.pam_mount}/lib/security/pam_mount.so disable_interactive
'' +
optionalString cfg.enableKwallet ''
auth optional ${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so kwalletd=${pkgs.plasma5Packages.kwallet.bin}/bin/kwalletd5
'' +
optionalString cfg.enableGnomeKeyring ''
auth optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so
'' +
optionalString cfg.gnupg.enable ''
auth optional ${pkgs.pam_gnupg}/lib/security/pam_gnupg.so ${optionalString cfg.gnupg.storeOnly " store-only"}
'' +
optionalString cfg.googleAuthenticator.enable ''
auth required ${pkgs.googleAuthenticator}/lib/security/pam_google_authenticator.so no_increment_hotp
'' +
optionalString cfg.duoSecurity.enable ''
auth required ${pkgs.duo-unix}/lib/security/pam_duo.so
''
)) +
optionalString cfg.unixAuth ''
auth sufficient pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} ${optionalString cfg.nodelay "nodelay"} likeauth try_first_pass
'' +
optionalString cfg.otpwAuth ''
auth sufficient ${pkgs.otpw}/lib/security/pam_otpw.so
'' +
optionalString use_ldap ''
auth sufficient ${pam_ldap}/lib/security/pam_ldap.so use_first_pass
'' +
optionalString config.services.sssd.enable ''
auth sufficient ${pkgs.sssd}/lib/security/pam_sss.so use_first_pass
'' +
optionalString config.krb5.enable ''
auth [default=ignore success=1 service_err=reset] ${pam_krb5}/lib/security/pam_krb5.so use_first_pass
auth [default=die success=done] ${pam_ccreds}/lib/security/pam_ccreds.so action=validate use_first_pass
auth sufficient ${pam_ccreds}/lib/security/pam_ccreds.so action=store use_first_pass
''}
auth required pam_deny.so
'' +
''
auth required pam_deny.so
# Password management.
password sufficient pam_unix.so nullok sha512
${optionalString config.security.pam.enableEcryptfs
"password optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"}
${optionalString cfg.pamMount
"password optional ${pkgs.pam_mount}/lib/security/pam_mount.so"}
${optionalString use_ldap
"password sufficient ${pam_ldap}/lib/security/pam_ldap.so"}
${optionalString config.services.sssd.enable
"password sufficient ${pkgs.sssd}/lib/security/pam_sss.so use_authtok"}
${optionalString config.krb5.enable
"password sufficient ${pam_krb5}/lib/security/pam_krb5.so use_first_pass"}
${optionalString cfg.enableGnomeKeyring
"password optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so use_authtok"}
# Password management.
password sufficient pam_unix.so nullok sha512
'' +
optionalString config.security.pam.enableEcryptfs ''
password optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so
'' +
optionalString cfg.pamMount ''
password optional ${pkgs.pam_mount}/lib/security/pam_mount.so
'' +
optionalString use_ldap ''
password sufficient ${pam_ldap}/lib/security/pam_ldap.so
'' +
optionalString config.services.sssd.enable ''
password sufficient ${pkgs.sssd}/lib/security/pam_sss.so use_authtok
'' +
optionalString config.krb5.enable ''
password sufficient ${pam_krb5}/lib/security/pam_krb5.so use_first_pass
'' +
optionalString cfg.enableGnomeKeyring ''
password optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so use_authtok
'' +
''
# Session management.
${optionalString cfg.setEnvironment ''
# Session management.
'' +
optionalString cfg.setEnvironment ''
session required pam_env.so conffile=/etc/pam/environment readenv=0
''}
session required pam_unix.so
${optionalString cfg.setLoginUid
"session ${
if config.boot.isContainer then "optional" else "required"
} pam_loginuid.so"}
${optionalString cfg.ttyAudit.enable
"session required ${pkgs.pam}/lib/security/pam_tty_audit.so
'' +
''
session required pam_unix.so
'' +
optionalString cfg.setLoginUid ''
session ${if config.boot.isContainer then "optional" else "required"} pam_loginuid.so
'' +
optionalString cfg.ttyAudit.enable ''
session required ${pkgs.pam}/lib/security/pam_tty_audit.so
open_only=${toString cfg.ttyAudit.openOnly}
${optionalString (cfg.ttyAudit.enablePattern != null) "enable=${cfg.ttyAudit.enablePattern}"}
${optionalString (cfg.ttyAudit.disablePattern != null) "disable=${cfg.ttyAudit.disablePattern}"}
"}
${optionalString cfg.makeHomeDir
"session required ${pkgs.pam}/lib/security/pam_mkhomedir.so silent skel=${config.security.pam.makeHomeDir.skelDirectory} umask=0077"}
${optionalString cfg.updateWtmp
"session required ${pkgs.pam}/lib/security/pam_lastlog.so silent"}
${optionalString config.security.pam.enableEcryptfs
"session optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"}
${optionalString cfg.pamMount
"session optional ${pkgs.pam_mount}/lib/security/pam_mount.so disable_interactive"}
${optionalString use_ldap
"session optional ${pam_ldap}/lib/security/pam_ldap.so"}
${optionalString config.services.sssd.enable
"session optional ${pkgs.sssd}/lib/security/pam_sss.so"}
${optionalString config.krb5.enable
"session optional ${pam_krb5}/lib/security/pam_krb5.so"}
${optionalString cfg.otpwAuth
"session optional ${pkgs.otpw}/lib/security/pam_otpw.so"}
${optionalString cfg.startSession
"session optional ${pkgs.systemd}/lib/security/pam_systemd.so"}
${optionalString cfg.forwardXAuth
"session optional pam_xauth.so xauthpath=${pkgs.xorg.xauth}/bin/xauth systemuser=99"}
${optionalString (cfg.limits != [])
"session required ${pkgs.pam}/lib/security/pam_limits.so conf=${makeLimitsConf cfg.limits}"}
${optionalString (cfg.showMotd && config.users.motd != null)
"session optional ${pkgs.pam}/lib/security/pam_motd.so motd=${motd}"}
${optionalString (cfg.enableAppArmor && config.security.apparmor.enable)
"session optional ${pkgs.apparmor-pam}/lib/security/pam_apparmor.so order=user,group,default debug"}
${optionalString (cfg.enableKwallet)
("session optional ${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so" +
" kwalletd=${pkgs.plasma5Packages.kwallet.bin}/bin/kwalletd5")}
${optionalString (cfg.enableGnomeKeyring)
"session optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start"}
${optionalString cfg.gnupg.enable
"session optional ${pkgs.pam_gnupg}/lib/security/pam_gnupg.so"
+ optionalString cfg.gnupg.noAutostart " no-autostart"
}
${optionalString (config.virtualisation.lxc.lxcfs.enable)
"session optional ${pkgs.lxc}/lib/security/pam_cgfs.so -c all"}
'');
'' +
optionalString cfg.makeHomeDir ''
session required ${pkgs.pam}/lib/security/pam_mkhomedir.so silent skel=${config.security.pam.makeHomeDir.skelDirectory} umask=0077
'' +
optionalString cfg.updateWtmp ''
session required ${pkgs.pam}/lib/security/pam_lastlog.so silent
'' +
optionalString config.security.pam.enableEcryptfs ''
session optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so
'' +
optionalString cfg.pamMount ''
session optional ${pkgs.pam_mount}/lib/security/pam_mount.so disable_interactive
'' +
optionalString use_ldap ''
session optional ${pam_ldap}/lib/security/pam_ldap.so
'' +
optionalString config.services.sssd.enable ''
session optional ${pkgs.sssd}/lib/security/pam_sss.so
'' +
optionalString config.krb5.enable ''
session optional ${pam_krb5}/lib/security/pam_krb5.so
'' +
optionalString cfg.otpwAuth ''
session optional ${pkgs.otpw}/lib/security/pam_otpw.so
'' +
optionalString cfg.startSession ''
session optional ${pkgs.systemd}/lib/security/pam_systemd.so
'' +
optionalString cfg.forwardXAuth ''
session optional pam_xauth.so xauthpath=${pkgs.xorg.xauth}/bin/xauth systemuser=99
'' +
optionalString (cfg.limits != []) ''
session required ${pkgs.pam}/lib/security/pam_limits.so conf=${makeLimitsConf cfg.limits}
'' +
optionalString (cfg.showMotd && config.users.motd != null) ''
session optional ${pkgs.pam}/lib/security/pam_motd.so motd=${motd}
'' +
optionalString (cfg.enableAppArmor && config.security.apparmor.enable) ''
session optional ${pkgs.apparmor-pam}/lib/security/pam_apparmor.so order=user,group,default debug
'' +
optionalString (cfg.enableKwallet) ''
session optional ${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so kwalletd=${pkgs.plasma5Packages.kwallet.bin}/bin/kwalletd5
'' +
optionalString (cfg.enableGnomeKeyring) ''
session optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start
'' +
optionalString cfg.gnupg.enable ''
session optional ${pkgs.pam_gnupg}/lib/security/pam_gnupg.so ${optionalString cfg.gnupg.noAutostart " no-autostart"}
'' +
optionalString (config.virtualisation.lxc.lxcfs.enable) ''
session optional ${pkgs.lxc}/lib/security/pam_cgfs.so -c all
''
);
};
};

View File

@ -51,6 +51,8 @@ with lib;
};
config = mkIf cfg.enable {
boot.kernelModules = [ "msr" ];
systemd.services.xmrig = {
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
@ -58,14 +60,16 @@ with lib;
serviceConfig = {
ExecStartPre = "${cfg.package}/bin/xmrig --config=${configFile} --dry-run";
ExecStart = "${cfg.package}/bin/xmrig --config=${configFile}";
DynamicUser = true;
# https://xmrig.com/docs/miner/randomx-optimization-guide/msr
# If you use recent XMRig with root privileges (Linux) or admin
# privileges (Windows) the miner configure all MSR registers
# automatically.
DynamicUser = lib.mkDefault false;
};
};
};
meta = with lib; {
description = "XMRig Mining Software Service";
license = licenses.gpl3Only;
maintainers = with maintainers; [ ratsclub ];
};
}

View File

@ -250,7 +250,12 @@ in
};
security.wrappers = {
fping.source = "${pkgs.fping}/bin/fping";
fping =
{ setuid = true;
owner = "root";
group = "root";
source = "${pkgs.fping}/bin/fping";
};
};
systemd.services.zabbix-server = {

View File

@ -896,7 +896,7 @@ in
PrivateMounts = true;
# System Call Filtering
SystemCallArchitectures = "native";
SystemCallFilter = "~@cpu-emulation @debug @keyring @ipc @mount @obsolete @privileged @setuid";
SystemCallFilter = "~@cpu-emulation @debug @keyring @ipc @mount @obsolete @privileged @setuid @mincore";
};
};

View File

@ -15,24 +15,18 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "1sal85gsbnrabxi39298w9njdc08csnwl40akd6k9fsc0fmpn1b0";
cargoBuildFlags = with lib; [
"--no-default-features"
"--features"
(concatStringsSep "," (filter (x: x != "") [
(optionalString withRodio "rodio-backend")
(optionalString withALSA "alsa-backend")
(optionalString withPulseAudio "pulseaudio-backend")
(optionalString withPortAudio "portaudio-backend")
]))
];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ] ++ lib.optional withALSA alsa-lib
++ lib.optional withPulseAudio libpulseaudio
++ lib.optional withPortAudio portaudio;
buildNoDefaultFeatures = true;
buildFeatures = lib.optional withRodio "rodio-backend"
++ lib.optional withALSA "alsa-backend"
++ lib.optional withPulseAudio "pulseaudio-backend"
++ lib.optional withPortAudio "portaudio-backend";
doCheck = false;
meta = with lib; {

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, ncurses, libvorbis, SDL }:
{ lib, stdenv, fetchFromGitHub, fetchpatch, ncurses, libvorbis, SDL }:
stdenv.mkDerivation rec {
pname = "mp3blaster";
@ -11,6 +11,16 @@ stdenv.mkDerivation rec {
sha256 = "0pzwml3yhysn8vyffw9q9p9rs8gixqkmg4n715vm23ib6wxbliqs";
};
patches = [
# Fix pending upstream inclusion for ncurses-6.3 support:
# https://github.com/stragulus/mp3blaster/pull/8
(fetchpatch {
name = "ncurses-6.3.patch";
url = "https://github.com/stragulus/mp3blaster/commit/62168cba5eaba6ffe56943552837cf033cfa96ed.patch";
sha256 = "088l27kl1l58lwxfnw5x2n64sdjy925ycphni3icwag7zvpj0xz1";
})
];
buildInputs = [
ncurses
libvorbis

View File

@ -20,12 +20,6 @@ rustPackages.rustPlatform.buildRustPackage rec {
cargoSha256 = "07dxfc0csrnfl01p9vdrqvca9f574svlf37dk3dz8p6q08ki0n1z";
cargoBuildFlags = [
"--no-default-features"
"--features"
"${lib.optionalString withALSA "alsa_backend,"}${lib.optionalString withPulseAudio "pulseaudio_backend,"}${lib.optionalString withPortAudio "portaudio_backend,"}${lib.optionalString withMpris "dbus_mpris,"}${lib.optionalString withKeyring "dbus_keyring,"}"
];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ]
@ -34,6 +28,13 @@ rustPackages.rustPlatform.buildRustPackage rec {
++ lib.optional withPortAudio portaudio
++ lib.optional (withMpris || withKeyring) dbus;
buildNoDefaultFeatures = true;
buildFeatures = lib.optional withALSA "alsa_backend"
++ lib.optional withPulseAudio "pulseaudio_backend"
++ lib.optional withPortAudio "portaudio_backend"
++ lib.optional withMpris "dbus_mpris"
++ lib.optional withKeyring "dbus_keyring";
doCheck = false;
meta = with lib; {

View File

@ -14,12 +14,6 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "1n7kb1lyghpkgdgd58pw8ldvfps30rnv5niwx35pkdg74h59hqgj";
cargoBuildFlags = [ "--no-default-features" ]
++ lib.optional withGui "--features webgui";
cargoTestFlags = [ "--no-default-features" ]
++ lib.optional withGui "--features webgui";
checkFlags = [
# these want internet access, disable them
"--skip=dns::client::tests::test_tcp_client"
@ -30,6 +24,9 @@ rustPlatform.buildRustPackage rec {
buildInputs = lib.optional (withGui && stdenv.isLinux) webkitgtk
++ lib.optionals (withGui && stdenv.isDarwin) [ Cocoa WebKit ];
buildNoDefaultFeatures = true;
buildFeatures = lib.optional withGui "webgui";
postInstall = lib.optionalString (withGui && stdenv.isLinux) ''
wrapProgram $out/bin/alfis \
--prefix PATH : ${lib.makeBinPath [ zenity ]}

View File

@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec {
++ lib.optionals stdenv.isLinux [ systemd ]
++ lib.optionals stdenv.isDarwin [ darwin.Security ];
cargoBuildFlags = [ "--features final" ];
buildFeatures = [ "final" ];
# Fix tests by preventing them from writing to /homeless-shelter.
preCheck = ''

View File

@ -13,8 +13,8 @@ let
sha256Hash = "10gpwb130bzp6a9g958cjqcb2gsm0vdgm08nm5xy45xdh54nxjfg";
};
betaVersion = {
version = "2021.1.1.15"; # "Android Studio Bumblebee (2021.1.1) Beta 2"
sha256Hash = "sha256-J+Jw9F8pEE0SMWka//jADOiQ+GSOeRf5GBfp0RDtwqA=";
version = "2021.1.1.16"; # "Android Studio Bumblebee (2021.1.1) Beta 3"
sha256Hash = "pgmBWzq/5RHJTc41kzB43tbsjvrWx9BJ7UKsR8AO0V4=";
};
latestVersion = { # canary & dev
version = "2021.2.1.3"; # "Android Studio Chipmunk (2021.2.1) Canary 3"

View File

@ -6,6 +6,7 @@
, stdenv
, libX11
, libXrandr
, AppKit
, withSki ? true
}:
@ -25,9 +26,10 @@ rustPlatform.buildRustPackage rec {
nativeBuildInputs = [ installShellFiles ]
++ lib.optional stdenv.isLinux pkg-config;
buildInputs = lib.optionals stdenv.isLinux [ libX11 libXrandr ];
buildInputs = lib.optionals stdenv.isLinux [ libX11 libXrandr ]
++ lib.optional stdenv.isDarwin AppKit;
cargoBuildFlags = lib.optional (!withSki) "--no-default-features";
buildNoDefaultFeatures = !withSki;
postInstall = ''
installManPage man/*

View File

@ -1,29 +1,50 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook,
glib, gtk3, pcsclite, lua5_2, curl, readline }:
{ lib
, stdenv
, fetchFromGitHub
, pkg-config
, autoreconfHook
, glib
, gtk3
, pcsclite
, lua5_2
, curl
, readline
, PCSC
, xcbuild
}:
let
version = "0.8.4";
in
stdenv.mkDerivation {
pname = "cardpeek";
inherit version;
stdenv.mkDerivation {
pname = "cardpeek";
inherit version;
src = fetchFromGitHub {
owner = "L1L1";
repo = "cardpeek";
rev = "cardpeek-${version}";
sha256 = "1ighpl7nvcvwnsd6r5h5n9p95kclwrq99hq7bry7s53yr57l6588";
};
src = fetchFromGitHub {
owner = "L1L1";
repo = "cardpeek";
rev = "cardpeek-${version}";
sha256 = "1ighpl7nvcvwnsd6r5h5n9p95kclwrq99hq7bry7s53yr57l6588";
};
nativeBuildInputs = [ pkg-config autoreconfHook ];
buildInputs = [ glib gtk3 pcsclite lua5_2 curl readline ];
postPatch = lib.optionalString stdenv.isDarwin ''
# replace xcode check and hard-coded PCSC framework path
substituteInPlace configure.ac \
--replace 'if test ! -e "/Applications/Xcode.app/"; then' 'if test yes != yes; then' \
--replace 'PCSC_HEADERS=`ls -d /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/*.sdk/System/Library/Frameworks/PCSC.framework/Versions/Current/Headers/ | sort | head -1`' 'PCSC_HEADERS=${PCSC}/Library/Frameworks/PCSC.framework/Headers'
'';
enableParallelBuilding = true;
nativeBuildInputs = [ pkg-config autoreconfHook ];
buildInputs = [ glib gtk3 lua5_2 curl readline ]
++ lib.optional stdenv.isDarwin PCSC
++ lib.optional stdenv.isLinux pcsclite;
meta = with lib; {
homepage = "https://github.com/L1L1/cardpeek";
description = "A tool to read the contents of ISO7816 smart cards";
license = licenses.gpl3Plus;
platforms = with platforms; linux ++ darwin;
maintainers = with maintainers; [ embr ];
};
}
enableParallelBuilding = true;
meta = with lib; {
homepage = "https://github.com/L1L1/cardpeek";
description = "A tool to read the contents of ISO7816 smart cards";
license = licenses.gpl3Plus;
platforms = with platforms; linux ++ darwin;
maintainers = with maintainers; [ embr ];
};
}

View File

@ -35,7 +35,7 @@ rustPlatform.buildRustPackage rec {
];
buildInputs = [ xorg.libxcb ];
cargoBuildFlags = [ "--features=all" ];
buildFeatures = [ "all" ];
postInstall = ''
installShellCompletion --bash completions/bash-completion/completions/*

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "logseq";
version = "0.4.5";
version = "0.4.6";
src = fetchurl {
url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
sha256 = "EMybZH3heUWeCP74KdFr6zJY1R3hePo6RssbJXrkd9g=";
sha256 = "fGRPuv98sr3wcVbkVCJr2yKxBZ/IiQP854T9NBf/vCk=";
name = "${pname}-${version}.AppImage";
};

View File

@ -2,19 +2,22 @@
rustPlatform.buildRustPackage rec {
pname = "lscolors";
version = "0.8.0";
version = "0.8.1";
src = fetchCrate {
inherit version pname;
sha256 = "sha256-dwtrs9NlhJ+km2/146HMnDirWRB5Ur5LTmWdKAK03v0=";
sha256 = "sha256-74KNnERhyiZamVyS9yzDNVf33KMqDiSfPb5BCTKFuHA=";
};
cargoSha256 = "sha256-vQnrLt+VSDPr61VMkYFtjSDnEt+NmWBZUd4qLzPzQBU=";
cargoSha256 = "sha256-mjGZ/q9BByndwfnFGk6k5KD9ctY0X0/oaEugiOJY8Ms=";
# setid is not allowed in the sandbox
checkFlags = [ "--skip=tests::style_for_setid" ];
meta = with lib; {
description = "Rust library and tool to colorize paths using LS_COLORS";
homepage = "https://github.com/sharkdp/lscolors";
license = with licenses; [ asl20 mit ];
license = with licenses; [ asl20 /* or */ mit ];
maintainers = with maintainers; [ SuperSandro2000 ];
};
}

View File

@ -13,7 +13,7 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "0vrn1vc3rwabv6l2r1qb7mkcxbp75q79bfl3rxhyi51ra3ij507r";
checkPhase = "cargo test --features=integration_tests";
checkFeatures = [ "integration_tests" ];
meta = with lib; {
description = "Human-readable diff for todo.txt files";

View File

@ -55,13 +55,13 @@ GEM
http-form_data (2.3.0)
http-parser (1.2.3)
ffi-compiler (>= 1.0, < 2.0)
i18n (1.8.10)
i18n (1.8.11)
concurrent-ruby (~> 1.0)
jsonpath (0.9.9)
multi_json
to_regexp (~> 0.2.1)
jwt (2.3.0)
krane (2.3.0)
krane (2.3.1)
activesupport (>= 5.0)
colorize (~> 0.8)
concurrent-ruby (~> 1.1)
@ -77,15 +77,15 @@ GEM
recursive-open-struct (~> 1.1, >= 1.1.1)
rest-client (~> 2.0)
memoist (0.16.2)
mime-types (3.3.1)
mime-types (3.4.0)
mime-types-data (~> 3.2015)
mime-types-data (3.2021.0901)
mime-types-data (3.2021.1115)
minitest (5.14.4)
multi_json (1.15.0)
multipart-post (2.1.1)
netrc (0.11.0)
oj (3.13.8)
os (1.1.1)
oj (3.13.9)
os (1.1.4)
public_suffix (4.0.6)
rake (13.0.6)
recursive-open-struct (1.1.3)
@ -108,7 +108,7 @@ GEM
unf (0.1.4)
unf_ext
unf_ext (0.0.8)
zeitwerk (2.4.2)
zeitwerk (2.5.1)
PLATFORMS
ruby
@ -117,4 +117,4 @@ DEPENDENCIES
krane
BUNDLED WITH
2.2.20
2.2.24

View File

@ -244,10 +244,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0g2fnag935zn2ggm5cn6k4s4xvv53v2givj1j90szmvavlpya96a";
sha256 = "0vdd1kii40qhbr9n8qx71k2gskq6rkl8ygy8hw5hfj8bb5a364xf";
type = "gem";
};
version = "1.8.10";
version = "1.8.11";
};
jsonpath = {
dependencies = ["multi_json" "to_regexp"];
@ -276,10 +276,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1r4sfyapdqcgqns4skxwkxd9v7a4f0h7y7zrgyz7za1p56jmx9sr";
sha256 = "0k1lwg0d2phs9n9zdx7nv5rv2p2vipm9jgzalr8x9nrq1is6wgvr";
type = "gem";
};
version = "2.3.0";
version = "2.3.1";
};
kubeclient = {
dependencies = ["http" "recursive-open-struct" "rest-client"];
@ -308,20 +308,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1zj12l9qk62anvk9bjvandpa6vy4xslil15wl6wlivyf51z773vh";
sha256 = "1wvbwlkf6i17xvxx70cffw26ijvcc400vfhpbnvd8mmx556cnb4g";
type = "gem";
};
version = "3.3.1";
version = "3.4.0";
};
mime-types-data = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1z5wvk6qi4ws1kjh7xn1rfirqw5m72bwvqacck1fjpbh33pcrwxv";
sha256 = "03m3fkix2haah20kvh1jgv262yg9jlzn6wq0y31kafxk8fysfy27";
type = "gem";
};
version = "3.2021.0901";
version = "3.2021.1115";
};
minitest = {
groups = ["default"];
@ -368,20 +368,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1wk5vk0py65aqp3xrs8s8qkj8pw6xny5z5p9dx16qdx6j3zw5a6g";
sha256 = "1hcmczbp9afxijzg0gvp9milyzk15phfmbpmmsj5ppmziwkdls16";
type = "gem";
};
version = "3.13.8";
version = "3.13.9";
};
os = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "12fli64wz5j9868gpzv5wqsingk1jk457qyqksv9ksmq9b0zpc9x";
sha256 = "0gwd20smyhxbm687vdikfh1gpi96h8qb1x28s2pdcysf6dm6v0ap";
type = "gem";
};
version = "1.1.1";
version = "1.1.4";
};
public_suffix = {
groups = ["default"];
@ -512,9 +512,9 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1746czsjarixq0x05f7p3hpzi38ldg6wxnxxw74kbjzh1sdjgmpl";
sha256 = "18l4r6layck0d80ydc692mv1lxak5xbf6w2paj1x7m2ggbggzxgj";
type = "gem";
};
version = "2.4.2";
version = "2.5.1";
};
}

View File

@ -3,6 +3,7 @@
, electron
, esbuild
, fetchFromGitHub
, fetchpatch
, libdeltachat
, makeDesktopItem
, makeWrapper
@ -14,6 +15,33 @@
}:
let
libdeltachat' = libdeltachat.overrideAttrs (old: rec {
version = "1.60.0";
src = fetchFromGitHub {
owner = "deltachat";
repo = "deltachat-core-rust";
rev = version;
sha256 = "1agm5xyaib4ynmw4mhgmkhh4lnxs91wv0q9i1zfihv2vkckfm2s2";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${old.pname}-${version}";
sha256 = "09d3mw2hb1gmqg7smaqwnfm7izw40znl0h1dz7s2imms2cnkjws1";
};
patches = [
# https://github.com/deltachat/deltachat-core-rust/pull/2589
(fetchpatch {
url = "https://github.com/deltachat/deltachat-core-rust/commit/408467e85d04fbbfd6bed5908d84d9e995943487.patch";
sha256 = "1j2ywaazglgl6370js34acrg0wrh0b7krqg05dfjf65n527lzn59";
})
./no-static-lib.patch
# https://github.com/deltachat/deltachat-core-rust/pull/2660
(fetchpatch {
url = "https://github.com/deltachat/deltachat-core-rust/commit/8fb5e038a97d8ae68564c885d61b93127a68366d.patch";
sha256 = "088pzfrrkgfi4646dc72404s3kykcpni7hgkppalwlzg0p4is41x";
})
];
});
electronExec = if stdenv.isDarwin then
"${electron}/Applications/Electron.app/Contents/MacOS/Electron"
else
@ -38,7 +66,7 @@ in nodePackages.deltachat-desktop.override rec {
];
buildInputs = [
libdeltachat
libdeltachat'
] ++ lib.optionals stdenv.isDarwin [
CoreServices
];

View File

@ -0,0 +1,39 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fe7abe08..acdbe0d6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -13,7 +13,6 @@ find_program(CARGO cargo)
add_custom_command(
OUTPUT
- "target/release/libdeltachat.a"
"target/release/libdeltachat.${DYNAMIC_EXT}"
"target/release/pkgconfig/deltachat.pc"
COMMAND
@@ -38,13 +37,11 @@ add_custom_target(
lib_deltachat
ALL
DEPENDS
- "target/release/libdeltachat.a"
"target/release/libdeltachat.${DYNAMIC_EXT}"
"target/release/pkgconfig/deltachat.pc"
)
include(GNUInstallDirs)
install(FILES "deltachat-ffi/deltachat.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-install(FILES "target/release/libdeltachat.a" DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(FILES "target/release/libdeltachat.${DYNAMIC_EXT}" DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(FILES "target/release/pkgconfig/deltachat.pc" DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
diff --git a/deltachat-ffi/Cargo.toml b/deltachat-ffi/Cargo.toml
index a34a27ba..cf354abb 100644
--- a/deltachat-ffi/Cargo.toml
+++ b/deltachat-ffi/Cargo.toml
@@ -12,7 +12,7 @@ categories = ["cryptography", "std", "email"]
[lib]
name = "deltachat"
-crate-type = ["cdylib", "staticlib"]
+crate-type = ["cdylib"]
[dependencies]
deltachat = { path = "../", default-features = false }

View File

@ -1,5 +1,5 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p curl jq nix-prefetch
#! nix-shell -i bash -p coreutils curl gnused jq moreutils nix-prefetch
set -euo pipefail
cd "$(dirname "$0")"
@ -13,7 +13,7 @@ rev=$(
jq 'map(select(.prerelease | not)) | .[0].tag_name' --raw-output
)
ver=$(echo "$rev" | sed 's/^v//')
old_ver=$(sed -n 's/.*\bversion = "\(.*\)".*/\1/p' default.nix)
old_ver=$(tac default.nix | sed -n 's/.*\bversion = "\(.*\)".*/\1/p' | head -1)
if [ "$ver" = "$old_ver" ]; then
echo "Up to date: $ver"
exit
@ -21,9 +21,12 @@ fi
echo "$old_ver -> $ver"
sha256=$(nix-prefetch -f "$nixpkgs" deltachat-desktop --rev "$rev")
sed -e "s#\\bversion = \".*\"#version = \"$ver\"#" \
-e "s#\\bsha256 = \".*\"#sha256 = \"$sha256\"#" \
-i default.nix
tac default.nix \
| sed -e "0,/version = \".*\"/s//version = \"$ver\"/" \
-e "0,/sha256 = \".*\"/s//sha256 = \"$sha256\"/" \
| tac \
| sponge default.nix
src=$(nix-build "$nixpkgs" -A deltachat-desktop.src --no-out-link)
jq '{ name, version, dependencies: (.dependencies + (.devDependencies | del(.["@typescript-eslint/eslint-plugin","@typescript-eslint/parser","esbuild","electron-builder","electron-devtools-installer","electron-notarize","esbuild","eslint","eslint-config-prettier","eslint-plugin-react-hooks","hallmark","prettier","tape","testcafe","testcafe-browser-provider-electron","testcafe-react-selectors","walk"]))) }' \

View File

@ -21,11 +21,11 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "05q3f1wp48mwkz8n0102rwb6jzrgpx3dlbxzf3zcw8r1mblgzim1";
cargoBuildFlags = lib.optionals stdenv.isLinux [ "--features=desktop-notifications" ];
nativeBuildInputs = lib.optional stdenv.isLinux pkg-config;
buildInputs = lib.optionals stdenv.isLinux [ dbus openssl ] ++ lib.optional stdenv.isDarwin Foundation;
buildFeatures = lib.optional stdenv.isLinux "desktop-notifications";
meta = with lib; {
description = "A console IRC client";
homepage = "https://github.com/osa1/tiny";

View File

@ -25,14 +25,14 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "sha256-ZE653OtXyZ9454bKPApmuL2kVko/hGBWEAya1L1KIoc=";
cargoBuildFlags = lib.optional withNotmuch "--features=notmuch";
nativeBuildInputs = [ pkg-config gzip makeWrapper ];
buildInputs = [ openssl dbus sqlite ] ++ lib.optional withNotmuch notmuch;
checkInputs = [ file ];
buildFeatures = lib.optional withNotmuch [ "notmuch" ];
postInstall = ''
mkdir -p $out/share/man/man1
gzip < docs/meli.1 > $out/share/man/man1/meli.1.gz

View File

@ -7,8 +7,8 @@ let
in
stdenv.mkDerivation rec {
srcVersion = "sep20a";
version = "20200901_a";
srcVersion = "nov21a";
version = "20211101_a";
pname = "gildas";
src = fetchurl {
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
# source code of the previous release to a different directory
urls = [ "http://www.iram.fr/~gildas/dist/gildas-src-${srcVersion}.tar.xz"
"http://www.iram.fr/~gildas/dist/archive/gildas/gildas-src-${srcVersion}.tar.xz" ];
sha256 = "9faa0b3e674b5ffe5b1aee88027d7401a46ae28cd0b306595300547605d6222a";
sha256 = "0fb6iqwh4hm7v7sib7sx98vxdavn3d6q2gq6y6vxg2z29g31f8g2";
};
nativeBuildInputs = [ pkg-config groff perl getopt gfortran which ];

View File

@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
buildInputs = [ curl zlib openssl ]
++ lib.optional stdenv.isDarwin libiconv;
cargoBuildFlags = [ "--features no-self-update" ];
buildFeatures = [ "no-self-update" ];
patches = lib.optionals stdenv.isLinux [
# Run patchelf on the downloaded binaries.

View File

@ -22,12 +22,6 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "sha256-/rLv2/bcVsmWw+ZfyumDcj0ptHPQBCCYR9O/lVlV+G0=";
# Enables build against a generic BLAS.
cargoBuildFlags = [
"--features"
"netlib"
];
nativeBuildInputs = [ installShellFiles ];
buildInputs = [
@ -38,6 +32,9 @@ rustPlatform.buildRustPackage rec {
Security
];
# Enables build against a generic BLAS.
buildFeatures = [ "netlib" ];
postInstall = ''
# Install shell completions
for shell in bash fish zsh; do

View File

@ -33,11 +33,15 @@ stdenv.mkDerivation rec {
./no-usr-local-search-paths.patch
];
# Test of the examples for package 'tcltk' fails in Darwin sandbox. See:
# https://github.com/NixOS/nixpkgs/issues/146131
prePatch = lib.optionalString stdenv.isDarwin ''
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"
substituteInPlace tests/Examples/Makefile.in \
--replace "test-Examples: test-Examples-Base" "test-Examples:" # do not test the examples
'';
dontDisableStatic = static;

View File

@ -22,7 +22,7 @@ rustPlatform.buildRustPackage rec {
buildInputs = lib.optional withOpenCL (if stdenv.isDarwin then OpenCL else ocl-icd);
cargoBuildFlags = lib.optional (!withOpenCL) "--no-default-features";
buildNoDefaultFeatures = !withOpenCL;
# disable tests that require gpu
checkNoDefaultFeatures = true;

View File

@ -22,8 +22,6 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "sha256-j9xf97qPdhtakIwhAql0/Go5fPxlyWKAVLk5CMBfAbs=";
cargoBuildFlags = lib.optional gitImportSupport "--features=git";
doCheck = false;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl libsodium xxHash zstd ]
@ -32,6 +30,8 @@ rustPlatform.buildRustPackage rec {
CoreServices Security SystemConfiguration
]));
buildFeatures = lib.optional gitImportSupport "git";
meta = with lib; {
description = "A distributed version control system";
homepage = "https://pijul.org";

View File

@ -25,10 +25,10 @@ rustPlatform.buildRustPackage rec {
buildInputs = [ gtk3 ] ++ lib.optional withWayland gtk-layer-shell;
cargoBuildFlags = [ "--bin" "eww" ] ++ lib.optionals withWayland [
"--no-default-features"
"--features=wayland"
];
buildNoDefaultFeatures = withWayland;
buildFeatures = lib.optional withWayland "wayland";
cargoBuildFlags = [ "--bin" "eww" ];
cargoTestFlags = cargoBuildFlags;

View File

@ -27,10 +27,10 @@ rustPlatform.buildRustPackage rec {
buildInputs = [ dbus libpulseaudio notmuch openssl ];
cargoBuildFlags = [
"--features=notmuch"
"--features=maildir"
"--features=pulseaudio"
buildFeatures = [
"notmuch"
"maildir"
"pulseaudio"
];
prePatch = ''

View File

@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
# For now, this is the only available featureset. This is also why the file is
# in the i3 folder, even though it might be useful for more than just i3
# users.
cargoBuildFlags = [ "--features i3" ];
buildFeatures = [ "i3" ];
meta = with lib; {
description = "Visually focus windows by label";

View File

@ -125,20 +125,31 @@ let
};
in runCommand "${pkg.name}-${pkg.version}" {} ''
tree=${tree}
if grep --quiet '\[workspace\]' "$tree/Cargo.toml"; then
# If the target package is in a workspace, find the crate path
# using `cargo metadata`.
crateCargoTOML=$(${cargo}/bin/cargo metadata --format-version 1 --no-deps --manifest-path $tree/Cargo.toml | \
${jq}/bin/jq -r '.packages[] | select(.name == "${pkg.name}") | .manifest_path')
# If the target package is in a workspace, or if it's the top-level
# crate, we should find the crate path using `cargo metadata`.
crateCargoTOML=$(${cargo}/bin/cargo metadata --format-version 1 --no-deps --manifest-path $tree/Cargo.toml | \
${jq}/bin/jq -r '.packages[] | select(.name == "${pkg.name}") | .manifest_path')
# If the repository is not a workspace the package might be in a subdirectory.
if [[ -z $crateCargoTOML ]]; then
for manifest in $(find $tree -name "Cargo.toml"); do
echo Looking at $manifest
crateCargoTOML=$(${cargo}/bin/cargo metadata --format-version 1 --no-deps --manifest-path "$manifest" | ${jq}/bin/jq -r '.packages[] | select(.name == "${pkg.name}") | .manifest_path' || :)
if [[ ! -z $crateCargoTOML ]]; then
tree=$(dirname $crateCargoTOML)
else
>&2 echo "Cannot find path for crate '${pkg.name}-${pkg.version}' in the Cargo workspace in: $tree"
exit 1
break
fi
done
if [[ -z $crateCargoTOML ]]; then
>&2 echo "Cannot find path for crate '${pkg.name}-${pkg.version}' in the tree in: $tree"
exit 1
fi
fi
echo Found crate ${pkg.name} at $crateCargoTOML
tree=$(dirname $crateCargoTOML)
cp -prvd "$tree/" $out
chmod u+w $out

View File

@ -7,6 +7,7 @@
basicDynamic = callPackage ./basic-dynamic { };
gitDependency = callPackage ./git-dependency { };
gitDependencyRev = callPackage ./git-dependency-rev { };
gitDependencyRevNonWorkspaceNestedCrate = callPackage ./git-dependency-rev-non-workspace-nested-crate { };
gitDependencyTag = callPackage ./git-dependency-tag { };
gitDependencyBranch = callPackage ./git-dependency-branch { };
maturin = callPackage ./maturin { };

View File

@ -0,0 +1,638 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "adler"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
[[package]]
name = "anyhow"
version = "1.0.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61604a8f862e1d5c3229fdd78f8b02c68dcf73a4c4b05fd636d12240aaa242c1"
[[package]]
name = "autocfg"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
[[package]]
name = "bitflags"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "cargo-test-macro"
version = "0.1.0"
source = "git+https://github.com/rust-lang/cargo?branch=rust-1.53.0#4369396ce7d270972955d876eaa4954bea56bcd9"
[[package]]
name = "cargo-test-support"
version = "0.1.0"
source = "git+https://github.com/rust-lang/cargo?branch=rust-1.53.0#4369396ce7d270972955d876eaa4954bea56bcd9"
dependencies = [
"anyhow",
"cargo-test-macro",
"cargo-util",
"filetime",
"flate2",
"git2",
"glob",
"lazy_static",
"remove_dir_all",
"serde_json",
"tar",
"toml",
"url",
]
[[package]]
name = "cargo-util"
version = "0.1.0"
source = "git+https://github.com/rust-lang/cargo?branch=rust-1.53.0#4369396ce7d270972955d876eaa4954bea56bcd9"
dependencies = [
"anyhow",
"core-foundation",
"crypto-hash",
"filetime",
"hex 0.4.3",
"jobserver",
"libc",
"log",
"miow",
"same-file",
"shell-escape",
"tempfile",
"walkdir",
"winapi",
]
[[package]]
name = "cc"
version = "1.0.71"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd"
dependencies = [
"jobserver",
]
[[package]]
name = "cfg-if"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "commoncrypto"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d056a8586ba25a1e4d61cb090900e495952c7886786fc55f909ab2f819b69007"
dependencies = [
"commoncrypto-sys",
]
[[package]]
name = "commoncrypto-sys"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fed34f46747aa73dfaa578069fd8279d2818ade2b55f38f22a9401c7f4083e2"
dependencies = [
"libc",
]
[[package]]
name = "core-foundation"
version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6888e10551bb93e424d8df1d07f1a8b4fceb0001a3a4b048bfc47554946f47b3"
dependencies = [
"core-foundation-sys",
"libc",
]
[[package]]
name = "core-foundation-sys"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
[[package]]
name = "crc32fast"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a"
dependencies = [
"cfg-if",
]
[[package]]
name = "crypto-hash"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a77162240fd97248d19a564a565eb563a3f592b386e4136fb300909e67dddca"
dependencies = [
"commoncrypto",
"hex 0.3.2",
"openssl",
"winapi",
]
[[package]]
name = "filetime"
version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "975ccf83d8d9d0d84682850a38c8169027be83368805971cc4f238c2b245bc98"
dependencies = [
"cfg-if",
"libc",
"redox_syscall",
"winapi",
]
[[package]]
name = "flate2"
version = "1.0.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f"
dependencies = [
"cfg-if",
"crc32fast",
"libc",
"libz-sys",
"miniz_oxide",
]
[[package]]
name = "foreign-types"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
dependencies = [
"foreign-types-shared",
]
[[package]]
name = "foreign-types-shared"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
[[package]]
name = "form_urlencoded"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
dependencies = [
"matches",
"percent-encoding",
]
[[package]]
name = "getrandom"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753"
dependencies = [
"cfg-if",
"libc",
"wasi",
]
[[package]]
name = "git-dependency-rev-non-workspace-nested-crate"
version = "0.1.0"
dependencies = [
"cargo-test-support",
]
[[package]]
name = "git2"
version = "0.13.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a8057932925d3a9d9e4434ea016570d37420ddb1ceed45a174d577f24ed6700"
dependencies = [
"bitflags",
"libc",
"libgit2-sys",
"log",
"openssl-probe",
"openssl-sys",
"url",
]
[[package]]
name = "glob"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
[[package]]
name = "hex"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
[[package]]
name = "hex"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]]
name = "idna"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
dependencies = [
"matches",
"unicode-bidi",
"unicode-normalization",
]
[[package]]
name = "itoa"
version = "0.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
[[package]]
name = "jobserver"
version = "0.1.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa"
dependencies = [
"libc",
]
[[package]]
name = "lazy_static"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
version = "0.2.105"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "869d572136620d55835903746bcb5cdc54cb2851fd0aeec53220b4bb65ef3013"
[[package]]
name = "libgit2-sys"
version = "0.12.24+1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ddbd6021eef06fb289a8f54b3c2acfdd85ff2a585dfbb24b8576325373d2152c"
dependencies = [
"cc",
"libc",
"libssh2-sys",
"libz-sys",
"openssl-sys",
"pkg-config",
]
[[package]]
name = "libssh2-sys"
version = "0.2.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b094a36eb4b8b8c8a7b4b8ae43b2944502be3e59cd87687595cf6b0a71b3f4ca"
dependencies = [
"cc",
"libc",
"libz-sys",
"openssl-sys",
"pkg-config",
"vcpkg",
]
[[package]]
name = "libz-sys"
version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66"
dependencies = [
"cc",
"libc",
"pkg-config",
"vcpkg",
]
[[package]]
name = "log"
version = "0.4.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
dependencies = [
"cfg-if",
]
[[package]]
name = "matches"
version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
[[package]]
name = "miniz_oxide"
version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b"
dependencies = [
"adler",
"autocfg",
]
[[package]]
name = "miow"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21"
dependencies = [
"winapi",
]
[[package]]
name = "once_cell"
version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56"
[[package]]
name = "openssl"
version = "0.10.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8d9facdb76fec0b73c406f125d44d86fdad818d66fef0531eec9233ca425ff4a"
dependencies = [
"bitflags",
"cfg-if",
"foreign-types",
"libc",
"once_cell",
"openssl-sys",
]
[[package]]
name = "openssl-probe"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a"
[[package]]
name = "openssl-sys"
version = "0.9.67"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69df2d8dfc6ce3aaf44b40dec6f487d5a886516cf6879c49e98e0710f310a058"
dependencies = [
"autocfg",
"cc",
"libc",
"pkg-config",
"vcpkg",
]
[[package]]
name = "percent-encoding"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
[[package]]
name = "pkg-config"
version = "0.3.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "10e2fcbb64ecbe64c8e040a386c3104d384583af58b956d870aaaf229df6e66d"
[[package]]
name = "ppv-lite86"
version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3ca011bd0129ff4ae15cd04c4eef202cadf6c51c21e47aba319b4e0501db741"
[[package]]
name = "rand"
version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8"
dependencies = [
"libc",
"rand_chacha",
"rand_core",
"rand_hc",
]
[[package]]
name = "rand_chacha"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
dependencies = [
"ppv-lite86",
"rand_core",
]
[[package]]
name = "rand_core"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
dependencies = [
"getrandom",
]
[[package]]
name = "rand_hc"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7"
dependencies = [
"rand_core",
]
[[package]]
name = "redox_syscall"
version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff"
dependencies = [
"bitflags",
]
[[package]]
name = "remove_dir_all"
version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
dependencies = [
"winapi",
]
[[package]]
name = "ryu"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
[[package]]
name = "same-file"
version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
dependencies = [
"winapi-util",
]
[[package]]
name = "serde"
version = "1.0.130"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913"
[[package]]
name = "serde_json"
version = "1.0.68"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f690853975602e1bfe1ccbf50504d67174e3bcf340f23b5ea9992e0587a52d8"
dependencies = [
"itoa",
"ryu",
"serde",
]
[[package]]
name = "shell-escape"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f"
[[package]]
name = "tar"
version = "0.4.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6f5515d3add52e0bbdcad7b83c388bb36ba7b754dda3b5f5bc2d38640cdba5c"
dependencies = [
"filetime",
"libc",
]
[[package]]
name = "tempfile"
version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22"
dependencies = [
"cfg-if",
"libc",
"rand",
"redox_syscall",
"remove_dir_all",
"winapi",
]
[[package]]
name = "tinyvec"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f83b2a3d4d9091d0abd7eba4dc2710b1718583bd4d8992e2190720ea38f391f7"
dependencies = [
"tinyvec_macros",
]
[[package]]
name = "tinyvec_macros"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
[[package]]
name = "toml"
version = "0.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa"
dependencies = [
"serde",
]
[[package]]
name = "unicode-bidi"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f"
[[package]]
name = "unicode-normalization"
version = "0.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9"
dependencies = [
"tinyvec",
]
[[package]]
name = "url"
version = "2.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
dependencies = [
"form_urlencoded",
"idna",
"matches",
"percent-encoding",
]
[[package]]
name = "vcpkg"
version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
[[package]]
name = "walkdir"
version = "2.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
dependencies = [
"same-file",
"winapi",
"winapi-util",
]
[[package]]
name = "wasi"
version = "0.10.2+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
[[package]]
name = "winapi"
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
dependencies = [
"winapi-i686-pc-windows-gnu",
"winapi-x86_64-pc-windows-gnu",
]
[[package]]
name = "winapi-i686-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
[[package]]
name = "winapi-util"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
dependencies = [
"winapi",
]
[[package]]
name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"

View File

@ -0,0 +1,8 @@
[package]
name = "git-dependency-rev-non-workspace-nested-crate"
version = "0.1.0"
authors = ["Stefan Junker <mail@stefanjunker.de>"]
edition = "2018"
[dependencies]
cargo-test-support = { git = "https://github.com/rust-lang/cargo", branch = "rust-1.53.0" }

View File

@ -0,0 +1,31 @@
{ rustPlatform, pkg-config, openssl, lib, darwin, stdenv }:
rustPlatform.buildRustPackage {
pname = "git-dependency-rev-non-workspace-nested-crate";
version = "0.1.0";
src = ./.;
nativeBuildInputs = [
pkg-config
];
buildInputs = [
openssl
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Security
];
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"cargo-test-macro-0.1.0" = "1yy1y1d523xdzwg1gc77pigbcwsbawmy4b7vw8v21m7q957sk0c4";
};
};
doInstallCheck = true;
installCheckPhase = ''
$out/bin/git-dependency-rev-non-workspace-nested-crate
'';
}

View File

@ -0,0 +1,3 @@
fn main() {
println!("{}", cargo_test_support::t!(Result::<&str, &str>::Ok("msg")));
}

View File

@ -30,8 +30,8 @@ copyDesktopItems() {
for desktopItem in $desktopItems; do
if [[ -f "$desktopItem" ]]; then
echo "Copying '$f' into '$out/share/applications'"
install -D -m 444 -t "$out"/share/applications "$f"
echo "Copying '$desktopItem' into '$out/share/applications'"
install -D -m 444 -t "$out"/share/applications "$desktopItem"
else
for f in "$desktopItem"/share/applications/*.desktop; do
echo "Copying '$f' into '$out/share/applications'"

View File

@ -0,0 +1,52 @@
{ lib
, stdenv
, fetchFromGitHub
, breeze-icons
, elementary-icon-theme
, gnome-icon-theme
, hicolor-icon-theme
}:
stdenv.mkDerivation rec {
pname = "la-capitaine-icon-theme";
version = "0.6.2";
src = fetchFromGitHub {
owner = "keeferrourke";
repo = pname;
rev = "v${version}";
sha256 = "0id2dddx6rl71472l47vafx968wnklmq6b980br68w82kcvqczzs";
};
propagatedBuildInputs = [
breeze-icons
elementary-icon-theme
gnome-icon-theme
hicolor-icon-theme
];
dontDropIconThemeCache = true;
postPatch = ''
patchShebangs configure
substituteInPlace configure \
--replace 'DISTRO=$(format "$(lsb_release -si 2>/dev/null)")' 'DISTRO=nixos'
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/icons/$pname
cp -a * $out/share/icons/$pname
rm $out/share/icons/$pname/{configure,COPYING,LICENSE,*.md}
runHook postInstall
'';
meta = with lib; {
description = "Icon theme inspired by macOS and Google's Material Design";
homepage = "https://github.com/keeferrourke/la-capitaine-icon-theme";
license = with licenses; [ gpl3Plus mit ];
platforms = platforms.linux;
maintainers = with maintainers; [ romildo ];
};
}

View File

@ -0,0 +1,36 @@
{ stdenv, fetchFromGitHub, theme, lib }:
stdenv.mkDerivation rec {
pname = "gtk-theme-framework";
version = "0.2.3";
src = fetchFromGitHub {
owner = "jaxwilko";
repo = pname;
rev = "v${version}";
sha256 = "1z5s5rsgiypanf2z0avaisbflnvwrc8aiy5qskrsvbbaja63jy3s";
};
postPatch = ''
substituteInPlace main.sh \
--replace "#!/usr/bin/env bash" "#!/bin/sh"
substituteInPlace scripts/install.sh \
--replace "#!/usr/bin/env bash" "#!/bin/sh"
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/themes
./main.sh -i -t ${theme} -d $out/share/themes
runHook postInstall
'';
meta = with lib; {
homepage = "https://github.com/jaxwilko/gtk-theme-framework";
license = licenses.gpl3Only;
maintainers = with maintainers; [ flexagoon ];
};
}

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "kotlin";
version = "1.5.31";
version = "1.6.0";
src = fetchurl {
url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip";
sha256 = "sha256-ZhERKG8+WsBqrzqUA9hp2alqF2tisUGBS+YmpHJJ/p4=";
sha256 = "sha256-F0yS4SpUwJAf2fC62s8VFMKLUZepVlTk2rF3UpPd4dw=";
};
propagatedBuildInputs = [ jre ] ;

View File

@ -7,7 +7,7 @@
stdenv.mkDerivation rec {
pname = "kotlin-native";
version = "1.5.31";
version = "1.6.0";
src = let
getArch = {
@ -20,9 +20,9 @@ stdenv.mkDerivation rec {
"https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-native-${arch}-${version}.tar.gz";
getHash = arch: {
"macos-aarch64" = "sha256-+9AF42AlPn1/8c14t8u+NN8FkoEmdt6tpmIKU9Rp2AM=";
"macos-x86_64" = "sha256-/eciSo4Eps2TTsv1XU1Rlm+KBmgQT0MWp2s/OAYtGt4=";
"linux-x86_64" = "sha256-Y2t+nlTu+j+h0oRneo7CJx0PmLAkqKYBJ+8go7rargM=";
"macos-aarch64" = "sha256-HLI6E3Y8l/5vAgjT39ezBCEYhCGV3pdjx1B1fL57qO4=";
"macos-x86_64" = "sha256-cJV+dP9/pJHlJx55HMqd7KC/OIWEzPXKmobCZLBZ+ec=";
"linux-x86_64" = "sha256-C5R2hdPg1cOA9WcSZYkN22Ca3/pslEcp554tuy/HxnQ=";
}.${arch};
in
fetchurl {

View File

@ -1,22 +1,35 @@
{ lib, stdenv, fetchFromGitHub, cmake, libpng, zlib, qt4,
bison, flex, libGLU, python2Packages
{ lib
, stdenv
, fetchFromGitHub
, cmake
, libpng
, zlib
, qt4
, bison
, flex
, libGLU
, python3Packages
}:
stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "seexpr";
version = "2.11";
version = "3.0.1";
src = fetchFromGitHub {
owner = "wdas";
repo = "SeExpr";
rev = "v2.11";
sha256 = "0a44k56jf6dl36fwgg4zpc252wq5lf9cblg74mp73k82hxw439l4";
owner = "wdas";
repo = "SeExpr";
rev = "v${version}";
sha256 = "sha256-r6mgyb/FGz4KYZOgLDgmIqjO+PSmneD3KUWjymZXtEk=";
};
cmakeFlags = [ "-DENABLE_SSE4=OFF" ];
nativeBuildInputs = [ cmake ];
buildInputs = [ libGLU libpng zlib qt4 python2Packages.pyqt4 bison flex ];
buildInputs = [ libGLU libpng zlib qt4 python3Packages.pyqt4 python3Packages.boost bison flex ];
meta = with lib; {
description = "Embeddable expression evaluation engine from Disney Animation";
homepage = "https://www.disneyanimation.com/technology/seexpr.html";
homepage = "https://wdas.github.io/SeExpr/";
maintainers = with maintainers; [ hodapp ];
license = licenses.asl20;
platforms = platforms.linux;

View File

@ -4,10 +4,23 @@ with lib; mkCoqDerivation {
pname = "coq-bits";
repo = "bits";
inherit version;
defaultVersion = if versions.isGe "8.7" coq.version then "20190812" else null;
defaultVersion =
if versions.isGe "8.10" coq.version
then "1.1.0"
else if versions.isGe "8.7" coq.version
then "1.0.0"
else null;
release."20190812".rev = "1.0.0";
release."20190812".sha256 = "0nv5mdgrd075dpd8bc7h0xc5i95v0pkm0bfyq5rj6ii1s54dwcjl";
release = {
"1.0.0" = {
rev = "1.0.0";
sha256 = "0nv5mdgrd075dpd8bc7h0xc5i95v0pkm0bfyq5rj6ii1s54dwcjl";
};
"1.1.0" = {
rev = "1.1.0";
sha256 = "sha256-TCw1kSXeW0ysIdLeNr+EGmpGumEE9i8tinEMp57UXaE=";
};
};
propagatedBuildInputs = [ mathcomp.algebra ];

View File

@ -22,20 +22,18 @@ rustPlatform.buildRustPackage rec {
nativeBuildInputs = [ cmake pkg-config ];
# cranelift+jit works everywhere, see:
# https://github.com/wasmerio/wasmer/blob/master/Makefile#L22
buildFeatures = [ "cranelift" "jit" ];
cargoBuildFlags = [
# cranelift+jit works everywhere, see:
# https://github.com/wasmerio/wasmer/blob/master/Makefile#L22
"--features" "cranelift,jit"
# must target manifest and desired output bin, otherwise output is empty
"--manifest-path" "lib/cli/Cargo.toml"
"--bin" "wasmer"
];
cargoTestFlags = [
"--features" "test-cranelift"
# Can't use test-jit :
# error: Package `wasmer-workspace v2.0.0 (/build/source)` does not have the feature `test-jit`
];
# Can't use test-jit:
# error: Package `wasmer-workspace v2.0.0 (/build/source)` does not have the feature `test-jit`
checkFeatures = [ "test-cranelift" ];
LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";

View File

@ -21,13 +21,13 @@
stdenv.mkDerivation rec {
pname = "igraph";
version = "0.9.4";
version = "0.9.5";
src = fetchFromGitHub {
owner = "igraph";
repo = pname;
rev = version;
sha256 = "sha256-tF+cnJRv125bSpZIpABTIHAfJO4TNfSBHjnzpNTbFgk=";
sha256 = "sha256-R5v1nbfYyIOzdw7LmkGQE4yVxpTVs6YF62jkfFrA1z8=";
};
# Normally, igraph wants us to call bootstrap.sh, which will call

View File

@ -1,6 +0,0 @@
set -e
source $stdenv/setup
tar xvf $src
mkdir -p $out
mv * $out

View File

@ -2,13 +2,24 @@
stdenv.mkDerivation {
name = "mockobjects-0.09";
builder = ./builder.sh;
src = fetchurl {
url = "mirror://sourceforge/mockobjects/mockobjects-bin-0.09.tar";
sha256 = "18rnyqfcyh0s3dwkkaszdd50ssyjx5fa1y3ii309ldqg693lfgnz";
};
# Work around the "unpacker appears to have produced no directories"
setSourceRoot = "sourceRoot=`pwd`";
installPhase = ''
runHook preInstall
mkdir -p $out/share/java
cp mockobjects-*.jar $out/share/java
runHook postInstall
'';
meta = with lib; {
description = "Generic unit testing framework and methodology for testing any kind of code";
platforms = platforms.unix;

View File

@ -1,7 +0,0 @@
source $stdenv/setup
mkdir smack
cd smack
tar xfvz $src
mkdir -p $out/share/java
cp libs/smack-*.jar $out/share/java

View File

@ -2,13 +2,23 @@
stdenv.mkDerivation {
name = "smack-4.1.9";
builder = ./builder.sh;
src = fetchurl {
url = "http://www.igniterealtime.org/downloadServlet?filename=smack/smack_4_1_9.tar.gz";
sha256 = "009x0qcxd4dkvwcjz2nla470pwbabwvg37wc21pslpw42ldi0bzp";
};
sourceRoot = ".";
installPhase = ''
runHook preInstall
mkdir -p $out/share/java
cp libs/smack-*.jar $out/share/java
runHook postInstall
'';
meta = {
description = "A XMPP (Jabber) client library for instant messaging and presence";
homepage = "http://www.igniterealtime.org/projects/smack/";

View File

@ -15,13 +15,13 @@
stdenv.mkDerivation rec {
pname = "libdeltachat";
version = "1.64.0";
version = "1.65.0";
src = fetchFromGitHub {
owner = "deltachat";
repo = "deltachat-core-rust";
rev = version;
sha256 = "04a1ncikapx53jjrx0ac1qi907wlj6javylz4aksg4nfbph6y9j4";
sha256 = "1k906pll4k8bc2xc9qd9g7q10rikbij2sy0w2wg9mf335rfym6z4";
};
patches = [
@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
sha256 = "0skrzxn99c1gqil7z0dv0xhg883k98v6mh96nycf7whl2d25965x";
sha256 = "0jc9kyn5h3cn2ni5h3km47sfprpxr7hc96ca01yal2zyksm7zqxn";
};
nativeBuildInputs = [

View File

@ -93,7 +93,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "An open source toolkit for developing mapping applications";
homepage = "https://mapnik.org";
maintainers = with maintainers; [ hrdinka ];
maintainers = with maintainers; [ hrdinka erictapen ];
license = licenses.lgpl21;
platforms = platforms.all;
# https://github.com/mapnik/mapnik/issues/4232

View File

@ -2,6 +2,7 @@
, fetchFromGitHub
, pkg-config
, cmake
, IOKit
}:
stdenv.mkDerivation rec {
@ -16,6 +17,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ pkg-config cmake ];
buildInputs = lib.optionals stdenv.isDarwin [ IOKit ];
meta = with lib; {
description = "Lightweight multi-platform CPU emulator library";

View File

@ -7,14 +7,14 @@
buildPythonPackage rec {
pname = "ailment";
version = "9.0.10534";
version = "9.0.10576";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "angr";
repo = pname;
rev = "v${version}";
sha256 = "sha256-EmfbyXHoWEd2Yp1RFRkW94dzeRXw0rsBtvVcl+Vg0qI=";
sha256 = "sha256-s8GZV+hcuAZJhKVoLAtC2mwHlqr/vJ6P5mwlNDczEyY=";
};
propagatedBuildInputs = [ pyvex ];

View File

@ -43,14 +43,14 @@ in
buildPythonPackage rec {
pname = "angr";
version = "9.0.10534";
version = "9.0.10576";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "sha256-A2dqCABkqkn/rjWGc8hrGs60BK+V8j2+jVAYxnEpx8Y=";
sha256 = "sha256-lRoJZX7HPZE6y7v5AuU1C6sjOIXXefv8M/qPiNQtobw=";
};
propagatedBuildInputs = [

View File

@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "angrop";
version = "9.0.10534";
version = "9.0.10576";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "angr";
repo = pname;
rev = "v${version}";
sha256 = "sha256-PaAhEn/eJg1qfuq2sHWTGTiJKNfs60NJuvfS9hVObX4=";
sha256 = "sha256-i4F6VyJYJ6XON9G43Z2VwWAPHGRxR9DzxnEDGiJ8LSE=";
};
propagatedBuildInputs = [

View File

@ -7,13 +7,13 @@
buildPythonPackage rec {
pname = "archinfo";
version = "9.0.10534";
version = "9.0.10576";
src = fetchFromGitHub {
owner = "angr";
repo = pname;
rev = "v${version}";
sha256 = "sha256-8bGDl3rHVT2JKEOfYPHzFTxJ7t3Yz7aLQMVKAUNCSBo=";
sha256 = "sha256-K36tAsVfminDFK09jE6+ruROkaLfCTNPCL5ziZJOrVk=";
};
checkInputs = [

View File

@ -1,39 +1,66 @@
{ lib, buildPythonPackage, fetchFromGitHub, isPy27
{ lib
, buildPythonPackage
, cython
, datamodeldict
, fetchFromGitHub
, matplotlib
, numericalunits
, numpy
, pandas
, potentials
, pytest
, pythonOlder
, scipy
, toolz
, xmltodict
, python
}:
buildPythonPackage rec {
version = "1.3.0";
version = "1.4.2";
pname = "atomman";
disabled = isPy27;
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "usnistgov";
repo = "atomman";
repo = "atomman";
rev = "v${version}";
sha256 = "09pfykd96wmw00s3kgabghykjn8b4yjml4ybpi7kwy7ygdmzcx51";
sha256 = "sha256-Kq4mDykYf74ylWw2golxc81CYKGokXro64YUsFctLmk=";
};
checkInputs = [ pytest ];
propagatedBuildInputs = [ xmltodict datamodeldict numpy matplotlib scipy pandas cython numericalunits toolz ];
propagatedBuildInputs = [
cython
datamodeldict
matplotlib
numericalunits
numpy
pandas
potentials
scipy
toolz
xmltodict
];
checkInputs = [
pytest
];
checkPhase = ''
py.test tests -k 'not test_atomic'
# pytestCheckHook doesn't work
py.test tests -k "not test_rootdir and not test_version \
and not test_atomic_mass and not imageflags"
'';
pythonImportsCheck = [
"atomman"
];
meta = with lib; {
homepage = "https://github.com/usnistgov/atomman/";
description = "Atomistic Manipulation Toolkit";
homepage = "https://github.com/usnistgov/atomman/";
license = licenses.mit;
maintainers = [ maintainers.costrouc ];
maintainers = with maintainers; [ costrouc ];
};
}

View File

@ -0,0 +1,44 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, numpy
, pandas
, pytestCheckHook
, pythonOlder
, requests
}:
buildPythonPackage rec {
version = "0.1.5";
pname = "cdcs";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "usnistgov";
repo = "pycdcs";
rev = "v${version}";
sha256 = "0sd0s0mka2bvpxxiz98cjc2h5ncsb7d03af1q3w9w8pmvfsgj7pc";
};
propagatedBuildInputs = [
numpy
pandas
requests
];
# Project has no tests
doCheck = false;
pythonImportsCheck = [
"cdcs"
];
meta = with lib; {
description = "Python client for performing REST calls to configurable data curation system (CDCS) databases";
homepage = "https://github.com/usnistgov/pycdcs";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View File

@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "claripy";
version = "9.0.10534";
version = "9.0.10576";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "angr";
repo = pname;
rev = "v${version}";
sha256 = "sha256-WeqfNVGQio5ugC14iv0ls5b3O1ymEjfpV8J47cCqXeQ=";
sha256 = "sha256-86ySQ/2l1h5vayMfAsr9ShyE8oRKL37sT3bfrgIGFHY=";
};
# Use upstream z3 implementation

View File

@ -15,7 +15,7 @@
let
# The binaries are following the argr projects release cycle
version = "9.0.10534";
version = "9.0.10576";
# Binary files from https://github.com/angr/binaries (only used for testing and only here)
binaries = fetchFromGitHub {
@ -35,7 +35,7 @@ buildPythonPackage rec {
owner = "angr";
repo = pname;
rev = "v${version}";
sha256 = "sha256-edZC0pZf6A2lpqJDfpMeslLQQGEokq4B9qywgS7wLxo=";
sha256 = "sha256-ftaFISU37GcCFTybxV31PwUl2vrbKVm/S00Qo+pUxgo=";
};
propagatedBuildInputs = [

View File

@ -15,11 +15,11 @@
buildPythonPackage rec {
pname = "clize";
version = "4.2.0";
version = "4.2.1";
src = fetchPypi {
inherit pname version;
sha256 = "06p47i6hri006v7xbx7myj02as1a6f34rv88wfa9rb067p13nmyz";
sha256 = "3177a028e4169d8865c79af82bdd441b24311d4bd9c0ae8803641882d340a51d";
};
checkInputs = [

View File

@ -1,5 +1,5 @@
{ buildPythonPackage, isPy3k, fetchFromGitHub, lib,
z3, ply, python-igraph, oset, ordered-set, dictionaries, setuptools }:
z3, ply, igraph, oset, ordered-set, dictionaries, setuptools }:
buildPythonPackage {
pname = "cozy";
@ -7,7 +7,7 @@ buildPythonPackage {
disabled = !isPy3k;
propagatedBuildInputs = [
setuptools z3 ply python-igraph oset ordered-set dictionaries
setuptools z3 ply igraph oset ordered-set dictionaries
];
src = fetchFromGitHub {

View File

@ -1,4 +1,11 @@
{ lib, buildPythonPackage, fetchFromGitHub, antlr4-python3-runtime, pygments, python-igraph }:
{ lib
, buildPythonPackage
, fetchFromGitHub
, fetchpatch
, antlr4-python3-runtime
, igraph
, pygments
}:
buildPythonPackage rec {
pname = "explorerscript";
@ -11,7 +18,15 @@ buildPythonPackage rec {
sha256 = "1vzyliiyrxx8l9sfbqcyr4xn5swd7znkxy69kn0vb5rban8hm9c1";
};
propagatedBuildInputs = [ antlr4-python3-runtime python-igraph ];
patches = [
# https://github.com/SkyTemple/ExplorerScript/pull/17
(fetchpatch {
url = "https://github.com/SkyTemple/ExplorerScript/commit/47d8b3d246881d675a82b4049b87ed7d9a0e1b15.patch";
sha256 = "0sadw9l2nypl2s8lw526lvbdj4rzqdvrjncx4zxxgyp3x47csb48";
})
];
propagatedBuildInputs = [ antlr4-python3-runtime igraph ];
checkInputs = [ pygments ];
meta = with lib; {

View File

@ -0,0 +1,36 @@
{ buildPythonPackage
, docopt
, fastavro
, fetchFromGitHub
, lib
, nose
, pytestCheckHook
, requests
, six
}:
buildPythonPackage rec {
pname = "hdfs";
# See https://github.com/mtth/hdfs/issues/176.
version = "2.5.8";
src = fetchFromGitHub {
owner = "mtth";
repo = pname;
rev = version;
hash = "sha256-94Q3IUoX1Cb+uRqvsfpVZJ1koJSx5cQ3/XpYJ0gkQNU=";
};
propagatedBuildInputs = [ docopt requests six ];
checkInputs = [ fastavro nose pytestCheckHook ];
pythonImportsCheck = [ "hdfs" ];
meta = with lib; {
description = "Python API and command line interface for HDFS";
homepage = "https://github.com/mtth/hdfs";
license = licenses.mit;
maintainers = with maintainers; [ samuela ];
};
}

View File

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "python-igraph";
version = "0.9.6";
version = "0.9.8";
disabled = pythonOlder "3.6";
@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "igraph";
repo = "python-igraph";
rev = version;
sha256 = "sha256-x/BUlMmSgjY2v6bVKPxmz86OCz6xgRUcfSqI3vV9MPs=";
sha256 = "sha256-RtvT5/LZ/xP68yBB7DDKJGeNCiX4HyPTCuk+Ijd2nFs=";
};
nativeBuildInputs = [

View File

@ -8,7 +8,7 @@
, pytestCheckHook
, networkx
, matplotlib
, python-igraph
, igraph
, plotly
, ipywidgets
}:
@ -35,7 +35,7 @@ buildPythonPackage rec {
pytestCheckHook
networkx
matplotlib
python-igraph
igraph
plotly
ipywidgets
];

View File

@ -1,40 +1,49 @@
{ lib
, buildPythonPackage
, fetchPypi
, isPy27
, mock
, pycrypto
, pythonOlder
, requests
, pytest-runner
, pytest
, requests-mock
, typing
}:
buildPythonPackage rec {
pname = "apache-libcloud";
version = "3.4.0";
version = "3.4.1";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "17618ccbe3493f2be015db9e1efa35080ff34d470de723f1384d908ff126e51c";
sha256 = "sha256-iPGNoM8/rAr3I+dD+3QdnRviUYge2reloNFimVW1ARs=";
};
checkInputs = [ mock pytest pytest-runner requests-mock ];
propagatedBuildInputs = [ pycrypto requests ] ++ lib.optionals isPy27 [ typing ];
propagatedBuildInputs = [
pycrypto
requests
];
preConfigure = "cp libcloud/test/secrets.py-dist libcloud/test/secrets.py";
preConfigure = ''
cp libcloud/test/secrets.py-dist libcloud/test/secrets.py
'';
postPatch = ''
substituteInPlace setup.py \
--replace "setup_requires=pytest_runner," "setup_requires=[],"
'';
# requires a certificates file
doCheck = false;
pythonImportsCheck = [ "libcloud" ];
pythonImportsCheck = [
"libcloud"
];
meta = with lib; {
description = "A unified interface to many cloud providers";
homepage = "https://libcloud.apache.org/";
changelog = "https://github.com/apache/libcloud/blob/v${version}/CHANGES.rst";
license = licenses.asl20;
maintainers = with maintainers; [ ];
};
}

View File

@ -4,11 +4,11 @@
buildPythonPackage rec {
pname = "mautrix";
version = "0.10.11";
version = "0.11.3";
src = fetchPypi {
inherit pname version;
sha256 = "b3905fbd1381031b4c54258fdef9e99dd342c3a211abe0b827b2c480db4b1771";
sha256 = "sha256-eZ8fWemS808Hz6KoQWfMsk5WfaO+vj0kTyInhtE20Qk=";
};
propagatedBuildInputs = [

View File

@ -0,0 +1,39 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pycryptodomex
, pythonOlder
}:
buildPythonPackage rec {
pname = "motionblinds";
version = "0.5.8.2";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "starkillerOG";
repo = "motion-blinds";
rev = version;
sha256 = "6aSwUuH5IpfcuVGXWVmb0DHglsUtGh/ATOe6iih6fXk=";
};
propagatedBuildInputs = [
pycryptodomex
];
# Project has no tests
doCheck = false;
pythonImportsCheck = [
"motionblinds"
];
meta = with lib; {
description = "Python library for interfacing with Motion Blinds";
homepage = "https://github.com/starkillerOG/motion-blinds";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -0,0 +1,58 @@
{ lib
, buildPythonPackage
, fetchPypi
, ipywidgets
, cdcs
, bibtexparser
, habanero
, pandas
, requests
, numpy
, matplotlib
, unidecode
, datamodeldict
, xmltodict
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
version = "0.3.1";
pname = "potentials";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "02l1rav5jdfsb00byxbswyhqdnjljp9y7g4ddn4mivzi7x39qa52";
};
propagatedBuildInputs = [
ipywidgets
cdcs
bibtexparser
habanero
pandas
requests
numpy
matplotlib
unidecode
datamodeldict
xmltodict
];
# Project has no tests
doCheck = false;
pythonImportsCheck = [
"potentials"
];
meta = with lib; {
description = "Python API database tools for accessing the NIST Interatomic Potentials Repository";
homepage = "https://github.com/usnistgov/potentials";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View File

@ -0,0 +1,31 @@
{ lib, buildPythonPackage, fetchPypi, ipykernel, ipywidgets, pythonOlder, pytestCheckHook, pandas }:
buildPythonPackage rec {
pname = "pydeck";
version = "0.7.0";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "1zi0gqzd0byj16ja74m2dm99a1hmrlhk26y0x7am07vb1d8lvvsy";
};
pythonImportsCheck = [ "pydeck" ];
checkInputs = [ pytestCheckHook pandas ];
# tries to start a jupyter server
disabledTests = [ "test_nbconvert" ];
propagatedBuildInputs = [
ipykernel
ipywidgets
];
meta = with lib; {
homepage = "https://github.com/visgl/deck.gl/tree/master/bindings/pydeck";
description = "Large-scale interactive data visualization in Python";
maintainers = with maintainers; [ creator54 ];
license = licenses.asl20;
};
}

View File

@ -6,13 +6,13 @@
buildPythonPackage rec {
pname = "pypinyin";
version = "0.43.0";
version = "0.44.0";
src = fetchFromGitHub {
owner = "mozillazg";
repo = "python-pinyin";
rev = "v${version}";
sha256 = "0h3lpb8bw9zp8is5sx2zg931wz12x0zfan1kksnbhx16vwv1kgw3";
sha256 = "sha256-LYiiZvpM/V3QRyTUXGWGnSnR0AnqWfTW0xJB4Vnw7lI=";
};
postPatch = ''

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchPypi, buildPythonPackage, swig, pcsclite, PCSC }:
{ lib, stdenv, fetchpatch, fetchPypi, buildPythonPackage, swig, pcsclite, PCSC }:
let
# Package does not support configuring the pcsc library.
@ -14,6 +14,15 @@ buildPythonPackage rec {
sha256 = "05de0579c42b4eb433903aa2fb327d4821ebac262434b6584da18ed72053fd9e";
};
patches = [
# present in master - remove after 2.0.2
(fetchpatch {
name = "darwin-typo-test-fix.patch";
url = "https://github.com/LudovicRousseau/pyscard/commit/ce842fcc76fd61b8b6948d0b07306d82ad1ec12a.patch";
sha256 = "0wsaj87wp9d2vnfzwncfxp2w95m0zhr7zpkmg5jccn06z52ihis3";
})
];
postPatch = if withApplePCSC then ''
substituteInPlace smartcard/scard/winscarddll.c \
--replace "/System/Library/Frameworks/PCSC.framework/PCSC" \

View File

@ -9,25 +9,34 @@
buildPythonPackage rec {
pname = "python-gammu";
version = "3.2.3";
version = "3.2.4";
format = "setuptools";
disabled = pythonOlder "3.5";
src = fetchFromGitHub {
owner = "gammu";
repo = pname;
rev = version;
sha256 = "sha256-MtFxKRE6CB/LZq9McMyYhjwfs/Rdke9gsNUqbOQdWYQ=";
sha256 = "sha256-lFQBrKWwdvUScwsBva08izZVeVDn1u+ldzixtL9YTpA=";
};
nativeBuildInputs = [ pkg-config ];
nativeBuildInputs = [
pkg-config
];
buildInputs = [ gammu ];
buildInputs = [
gammu
];
# Check with the next release if tests could be run with pytest
# checkInputs = [ pytestCheckHook ];
# Don't run tests for now
doCheck = false;
pythonImportsCheck = [ "gammu" ];
pythonImportsCheck = [
"gammu"
];
meta = with lib; {
description = "Python bindings for Gammu";

View File

@ -68,7 +68,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Python bindings for Mapnik";
maintainers = with maintainers; [ ];
maintainers = with maintainers; [ erictapen ];
homepage = "https://mapnik.org";
license = licenses.lgpl21;
};

View File

@ -11,11 +11,11 @@
buildPythonPackage rec {
pname = "pyvex";
version = "9.0.10534";
version = "9.0.10576";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-tUjASwLQy/p3Q+XnkbpUQNM6VHk94bIle2BzRd4EYsg=";
sha256 = "sha256-pOQZXymIuffUfShAUrXqlxwWCIRKZpkMZcJS1fad2bs=";
};
postPatch = lib.optionalString stdenv.isDarwin ''

View File

@ -0,0 +1,49 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, emoji
, numpy
, protobuf
, requests
, six
, pytorch
, tqdm
}:
buildPythonPackage rec {
pname = "stanza";
version = "1.3.0";
src = fetchFromGitHub {
owner = "stanfordnlp";
repo = pname;
rev = "v${version}";
sha256 = "1j5918n875p3ibhzc5zp3vb97asbbnb04pj1igxwzl0xm6qcsbh8";
};
disabled = pythonOlder "3.6";
propagatedBuildInputs = [
emoji
numpy
protobuf
requests
six
pytorch
tqdm
];
# disabled, because the tests try to connect to the internet which
# is forbidden in the sandbox
doCheck = false;
pythonImportsCheck = [ "stanza" ];
meta = with lib; {
description = "Official Stanford NLP Python Library for Many Human Languages";
homepage = "https://github.com/stanfordnlp/stanza/";
license = licenses.asl20;
maintainers = with maintainers; [ riotbib ];
};
}

View File

@ -0,0 +1,61 @@
{ lib
, aiohttp
, aresponses
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, pydantic
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, yarl
}:
buildPythonPackage rec {
pname = "tailscale";
version = "0.1.2";
format = "pyproject";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "frenck";
repo = "python-tailscale";
rev = "v${version}";
sha256 = "1jqx2i8rghfxlb1c76f37viz9fc1vq95xb2jm3bpnx5yy4n5dly1";
};
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
aiohttp
pydantic
yarl
];
checkInputs = [
aresponses
pytest-asyncio
pytestCheckHook
];
postPatch = ''
# Upstream doesn't set a version for the pyproject.toml
substituteInPlace pyproject.toml \
--replace "0.0.0" "${version}" \
--replace "--cov" ""
'';
pythonImportsCheck = [
"tailscale"
];
meta = with lib; {
description = "Python client for the Tailscale API";
homepage = "https://github.com/frenck/python-wled";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View File

@ -20,8 +20,8 @@
, tensorflow-estimator_2
, tensorflow-tensorboard_2
, cudaSupport ? false
, cudatoolkit ? null
, cudnn ? null
, cudatoolkit
, cudnn
, zlib
, python
, keras-applications
@ -37,21 +37,15 @@
# - the source build doesn't work on Darwin.
# - the source build is currently brittle and not easy to maintain
assert cudaSupport -> cudatoolkit != null
&& cudnn != null;
# unsupported combination
assert ! (stdenv.isDarwin && cudaSupport);
let
packages = import ./binary-hashes.nix;
variant = if cudaSupport then "-gpu" else "";
pname = "tensorflow${variant}";
metadataPatch = ./relax-dependencies-metadata.patch;
patch = ./relax-dependencies.patch;
in buildPythonPackage {
inherit pname;
pname = "tensorflow" + lib.optionalString cudaSupport "-gpu";
inherit (packages) version;
format = "wheel";

View File

@ -12,6 +12,7 @@
, werkzeug
, wrapt
, passlib
, pillow
, bcrypt
, pydot
, python-Levenshtein
@ -23,12 +24,14 @@
buildPythonApplication rec {
pname = "trytond";
version = "6.0.8";
disabled = pythonOlder "3.5";
version = "6.2.0";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "686d498f9648875f48edc9fc2e97cd465ed4ea9270c4984b6f2db20a2eac4942";
sha256 = "sha256-U73dzLTUJnOw24/ELQzjnxJ0PvjV+zE/PNuQHXbEukw=";
};
# Tells the tests which database to use
@ -37,6 +40,7 @@ buildPythonApplication rec {
buildInputs = [
mock
];
propagatedBuildInputs = [
lxml
relatorio
@ -46,6 +50,7 @@ buildPythonApplication rec {
python-sql
werkzeug
wrapt
pillow
passlib
# extra dependencies

View File

@ -56,13 +56,13 @@ with py.pkgs;
buildPythonApplication rec {
pname = "checkov";
version = "2.0.574";
version = "2.0.580";
src = fetchFromGitHub {
owner = "bridgecrewio";
repo = pname;
rev = version;
sha256 = "sha256-DM7fPwJcWEyOu55ThK/jP9jIUbiVCfEtltSP7puCoxQ=";
sha256 = "sha256-GnEXGXJCI9VIOKJbGjTppum6j/uwX4m4ytaZqvpfl7Q=";
};
nativeBuildInputs = with py.pkgs; [

View File

@ -21,9 +21,6 @@ assert lib.assertMsg (sqliteSupport == true || postgresqlSupport == true || mysq
let
inherit (lib) optional optionals optionalString;
features = optional sqliteSupport "sqlite"
++ optional postgresqlSupport "postgres"
++ optional mysqlSupport "mysql";
in
rustPlatform.buildRustPackage rec {
@ -36,7 +33,6 @@ rustPlatform.buildRustPackage rec {
sha256 = "sha256-mRdDc4fHMkwkszY+2l8z1RSNMEQnrWI5/Y0Y2W+guQE=";
};
cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];
cargoSha256 = "sha256-sQ762Ss31sA5qALHzwkvwbfRXo00cCtqzQyoz3/zf6I=";
nativeBuildInputs = [ installShellFiles pkg-config ];
@ -48,6 +44,11 @@ rustPlatform.buildRustPackage rec {
++ optional postgresqlSupport postgresql
++ optionals mysqlSupport [ mariadb zlib ];
buildNoDefaultFeatures = true;
buildFeatures = optional sqliteSupport "sqlite"
++ optional postgresqlSupport "postgres"
++ optional mysqlSupport "mysql";
checkPhase = ''
runHook preCheck
'' + optionalString sqliteSupport ''

View File

@ -12,7 +12,8 @@ rustPlatform.buildRustPackage {
};
cargoSha256 = "sha256-05VmQdop4vdzw2XEvVdp9+RNmyZvay1Q7gKN2n8rDEQ=";
cargoBuildFlags = [ "--features=c-undef" ];
buildFeatures = [ "c-undef" ];
meta = with lib; {
description = "Reimplementation of genkfs in Rust";

View File

@ -13,11 +13,11 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "1f42cqaqnjwi9k4ihqil6z2dqh5dnf76x54gk7mndzkrfg3rl573";
cargoBuildFlags = lib.optionals (!stdenv.isDarwin) [ "--features=dist-client,dist-server" ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;
buildFeatures = lib.optionals (!stdenv.isDarwin) [ "dist-client" "dist-server" ];
# Tests fail because of client server setup which is not possible inside the pure environment,
# see https://github.com/mozilla/sccache/issues/460
doCheck = false;

View File

@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec {
];
# enable all output formats
cargoBuildFlags = [ "--features" "all" ];
buildFeatures = [ "all" ];
meta = with lib; {
description = "A program that allows you to count your code, quickly";

View File

@ -1,8 +1,8 @@
{ lib, buildDunePackage, fetchurl, makeWrapper
, curly, fmt, bos, cmdliner, re, rresult, logs
{ lib, buildDunePackage, fetchurl, makeWrapper, fetchpatch
, curly, fmt, bos, cmdliner, re, rresult, logs, fpath
, odoc, opam-format, opam-core, opam-state, yojson, astring
, opam, git, findlib, mercurial, bzip2, gnutar, coreutils
, alcotest, mdx
, alcotest
}:
# don't include dune as runtime dep, so user can
@ -10,33 +10,36 @@
let runtimeInputs = [ opam findlib git mercurial bzip2 gnutar coreutils ];
in buildDunePackage rec {
pname = "dune-release";
version = "1.5.0";
version = "1.5.2";
minimumOCamlVersion = "4.06";
src = fetchurl {
url = "https://github.com/ocamllabs/${pname}/releases/download/${version}/${pname}-${version}.tbz";
sha256 = "1lyfaczskdbqnhmpiy6wga9437frds3m8prfk2rhwyb96h69y3pv";
sha256 = "1r6bz1zz1al5y762ws3w98d8bnyi5ipffajgczixacmbrxvp3zgx";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ curly fmt cmdliner re opam-format opam-state opam-core
rresult logs odoc bos yojson astring ];
checkInputs = [ alcotest mdx ] ++ runtimeInputs;
rresult logs odoc bos yojson astring fpath ];
checkInputs = [ alcotest ] ++ runtimeInputs;
doCheck = true;
useDune2 = true;
patches = [
# add missing git config calls to avoid failing due to the lack of a global git config
(fetchpatch {
name = "tests-missing-git-config.patch";
url = "https://github.com/ocamllabs/dune-release/commit/87e7ffe2a9c574620d4e2fc0d79eed8772eab973.patch";
sha256 = "0wrzcpzr54dwrdjdc75mijh78xk4bmsmqs1pci06fb2nf03vbd2k";
})
];
postPatch = ''
# remove check for curl in PATH, since curly is patched
# to have a fixed path to the binary in nix store
sed -i '/must_exist (Cmd\.v "curl"/d' lib/github.ml
# ignore weird yes error message
sed -i 's/yes |/yes 2>\/dev\/null |/' \
tests/bin/no_doc/run.t \
tests/bin/draft/run.t \
tests/bin/url-file/run.t
'';
preCheck = ''

View File

@ -28,9 +28,7 @@ rustPlatform.buildRustPackage rec {
buildInputs = [ openssl ]
++ lib.optionals stdenv.isDarwin [ curl Security ];
cargoBuildFlags = [ "--no-default-features" ];
cargoTestFlags = cargoBuildFlags;
buildNoDefaultFeatures = true;
meta = with lib; {
description = "Cargo plugin to generate list of all licenses for a crate";

View File

@ -0,0 +1,23 @@
{ lib, rustPlatform, fetchFromSourcehut }:
rustPlatform.buildRustPackage rec {
pname = "cargo-depgraph";
version = "1.2.2";
src = fetchFromSourcehut {
owner = "~jplatte";
repo = pname;
rev = "v${version}";
sha256 = "sha256-Zt60F43hhFSj9zfAkEbgRqODvBRmzn04dHMijbz+uX0=";
};
cargoSha256 = "sha256-mMXIiAfYBqOS3z4735T9dB9TEo7Ph2JCNq0QfyetxJg=";
meta = with lib; {
description = "Create dependency graphs for cargo projects using `cargo metadata` and graphviz";
homepage = "https://sr.ht/~jplatte/cargo-depgraph";
changelog = "https://git.sr.ht/~jplatte/cargo-depgraph/tree/v${version}/item/CHANGELOG.md";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ figsoda ];
};
}

View File

@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
nativeBuildInputs = [ pkg-config rustfmt ];
buildInputs = [ libusb1 libftdi1 ] ++ lib.optionals stdenv.isDarwin [ AppKit ];
cargoBuildFlags = [ "--features=ftdi" ];
buildFeatures = [ "ftdi" ];
meta = with lib; {
description = "A cargo extension for working with microcontrollers";

View File

@ -56,9 +56,6 @@ rustPlatform.buildRustPackage rec {
buildAndTestSubdir = "crates/rust-analyzer";
cargoBuildFlags = lib.optional useMimalloc "--features=mimalloc";
cargoTestFlags = lib.optional useMimalloc "--features=mimalloc";
nativeBuildInputs = lib.optional useMimalloc cmake;
buildInputs = lib.optionals stdenv.isDarwin [
@ -66,6 +63,8 @@ rustPlatform.buildRustPackage rec {
libiconv
];
buildFeatures = lib.optional useMimalloc "mimalloc";
RUST_ANALYZER_REV = version;
inherit doCheck;

View File

@ -40,7 +40,9 @@ rustPlatform.buildRustPackage rec {
zlib
] ++ lib.optionals stdenv.isDarwin [ CoreServices Security libiconv xz ];
cargoBuildFlags = [ "--features no-self-update" ];
buildFeatures = [ "no-self-update" ];
checkFeatures = [ ];
patches = lib.optionals stdenv.isLinux [
(runCommand "0001-dynamically-patchelf-binaries.patch" { CC = stdenv.cc; patchelf = patchelf; libPath = "$ORIGIN/../lib:${libPath}"; } ''

View File

@ -26,9 +26,7 @@ rustPlatform.buildRustPackage rec {
buildInputs = lib.optional robloxSupport openssl
++ lib.optional (robloxSupport && stdenv.isDarwin) Security;
cargoBuildFlags = lib.optional (!robloxSupport) "--no-default-features";
cargoTestFlags = cargoBuildFlags;
buildNoDefaultFeatures = !robloxSupport;
meta = with lib; {
description = "A blazing-fast modern Lua linter written in Rust";

View File

@ -19,8 +19,8 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "sha256-/4ZW1FIfK51ak2EIV6dYY3XpucPPR+OZySPWwcKP4v0=";
cargoBuildFlags = lib.optionals lua52Support [ "--features" "lua52" ]
++ lib.optionals luauSupport [ "--features" "luau" ];
buildFeatures = lib.optional lua52Support "lua52"
++ lib.optional luauSupport "luau";
# test_standard fails on darwin
doCheck = !stdenvNoCC.isDarwin;

View File

@ -1,42 +0,0 @@
{ lib, stdenv, fetchurl, SDL, SDL_image, SDL_ttf, SDL_mixer }:
stdenv.mkDerivation {
pname = "beret";
version = "1.2.0";
buildInputs = [ SDL SDL_image SDL_ttf SDL_mixer ];
NIX_CFLAGS_COMPILE = "-I${SDL.dev}/include/SDL";
NIX_CFLAGS_LINK = lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
NIX_LDFLAGS = lib.optionalString stdenv.isDarwin
"-framework CoreFoundation -framework OpenGL -framework Cocoa";
patches = [ ./use-home-dir.patch ];
postPatch = ''
sed -i 's@RESOURCE_PATH ""@RESOURCE_PATH "'$out'/share/"@' game.c
'';
src = fetchurl {
url = "https://gitorious.org/beret/beret/archive-tarball/ae029777";
name = "beret-1.2.0.tar.gz";
sha256 = "1rx9z72id1810fgv8mizk8qxwd1kh5xi07fdhmjc62mh3fn38szc";
};
installPhase = ''
mkdir -p $out/bin
install -v -m755 beret $out/bin
mkdir -p $out/share
cp -av tahoma.ttf images music rooms sfx $out/share
'';
meta = with lib; {
description = "A 2D puzzle-platformer game about a scientist with telekinetic abilities";
homepage = "http://kiwisauce.com/beret/";
license = licenses.lgpl2;
maintainers = with maintainers; [ lovek323 ];
platforms = platforms.all;
broken = true; # source won't download, and no replacement is visible
};
}

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