Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2023-02-21 00:13:45 +00:00 committed by GitHub
commit 5fce642ce6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
260 changed files with 2281 additions and 1171 deletions

View File

@ -95,3 +95,9 @@ trim_trailing_whitespace = unset
[pkgs/tools/misc/timidity/timidity.cfg] [pkgs/tools/misc/timidity/timidity.cfg]
trim_trailing_whitespace = unset trim_trailing_whitespace = unset
[pkgs/tools/virtualization/ovftool/*.ova]
end_of_line = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
charset = unset

View File

@ -5912,6 +5912,15 @@
githubId = 41522204; githubId = 41522204;
name = "hexchen"; name = "hexchen";
}; };
heyimnova = {
email = "git@heyimnova.dev";
github = "heyimnova";
githubId = 115728866;
name = "Nova Witterick";
keys = [{
fingerprint = "4304 6B43 8D83 078E 3DF7 10D6 DEB0 E15C 6D2A 5A7C";
}];
};
hh = { hh = {
email = "hh@m-labs.hk"; email = "hh@m-labs.hk";
github = "HarryMakes"; github = "HarryMakes";
@ -14933,7 +14942,7 @@
}; };
toastal = { toastal = {
email = "toastal+nix@posteo.net"; email = "toastal+nix@posteo.net";
matrix = "@toastal:chat.mozilla.org"; matrix = "@toastal:mozilla.org";
github = "toastal"; github = "toastal";
githubId = 561087; githubId = 561087;
name = "toastal"; name = "toastal";

View File

@ -168,7 +168,6 @@ in
"${config.boot.initrd.systemd.package.kbd}/bin/setfont" "${config.boot.initrd.systemd.package.kbd}/bin/setfont"
"${config.boot.initrd.systemd.package.kbd}/bin/loadkeys" "${config.boot.initrd.systemd.package.kbd}/bin/loadkeys"
"${config.boot.initrd.systemd.package.kbd.gzip}/bin/gzip" # Fonts and keyboard layouts are compressed "${config.boot.initrd.systemd.package.kbd.gzip}/bin/gzip" # Fonts and keyboard layouts are compressed
"${config.boot.initrd.systemd.package.kbd.gzip}/bin/.gzip-wrapped"
] ++ optionals (hasPrefix builtins.storeDir cfg.font) [ ] ++ optionals (hasPrefix builtins.storeDir cfg.font) [
"${cfg.font}" "${cfg.font}"
] ++ optionals (hasPrefix builtins.storeDir cfg.keyMap) [ ] ++ optionals (hasPrefix builtins.storeDir cfg.keyMap) [

View File

@ -65,8 +65,6 @@ in {
] ++ optional pkgs.stdenv.hostPlatform.isAarch raspberrypiWirelessFirmware ] ++ optional pkgs.stdenv.hostPlatform.isAarch raspberrypiWirelessFirmware
++ optionals (versionOlder config.boot.kernelPackages.kernel.version "4.13") [ ++ optionals (versionOlder config.boot.kernelPackages.kernel.version "4.13") [
rtl8723bs-firmware rtl8723bs-firmware
] ++ optionals (versionOlder config.boot.kernelPackages.kernel.version "5.16") [
rtw89-firmware
]; ];
hardware.wirelessRegulatoryDatabase = true; hardware.wirelessRegulatoryDatabase = true;
}) })

View File

@ -128,7 +128,7 @@ To backup your home directory to borgbase you have to:
- Initialize the repository on the server. Eg. - Initialize the repository on the server. Eg.
sudo borg init --encryption=repokey-blake2 \ sudo borg init --encryption=repokey-blake2 \
-rsh "ssh -i /run/keys/id_ed25519_borgbase" \ --rsh "ssh -i /run/keys/id_ed25519_borgbase" \
zzz2aaaaa@zzz2aaaaa.repo.borgbase.com:repo zzz2aaaaa@zzz2aaaaa.repo.borgbase.com:repo
- Add it to your NixOS configuration, e.g. - Add it to your NixOS configuration, e.g.

View File

@ -137,7 +137,7 @@ in {
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
wants = [ "network-online.target" ] ++ cfg.serviceDependencies; wants = [ "network-online.target" ] ++ cfg.serviceDependencies;
after = [ "network-online.target" ] ++ cfg.serviceDependencies; after = [ "network-online.target" ] ++ cfg.serviceDependencies;
path = [ pkgs.lottieconverter ]; path = [ pkgs.lottieconverter pkgs.ffmpeg-full ];
# mautrix-telegram tries to generate a dotfile in the home directory of # mautrix-telegram tries to generate a dotfile in the home directory of
# the running user if using a postgresql database: # the running user if using a postgresql database:

View File

@ -615,6 +615,7 @@ in
s3_endpoint = null; s3_endpoint = null;
s3_http_continue_timeout = null; s3_http_continue_timeout = null;
s3_install_cors_rule = null; s3_install_cors_rule = null;
s3_asset_cdn_url = null;
max_user_api_reqs_per_minute = 20; max_user_api_reqs_per_minute = 20;
max_user_api_reqs_per_day = 2880; max_user_api_reqs_per_day = 2880;
@ -647,6 +648,9 @@ in
multisite_config_path = "config/multisite.yml"; multisite_config_path = "config/multisite.yml";
enable_long_polling = null; enable_long_polling = null;
long_polling_interval = null; long_polling_interval = null;
preload_link_header = false;
redirect_avatar_requests = false;
pg_force_readonly_mode = false;
}; };
services.redis.servers.discourse = services.redis.servers.discourse =
@ -1011,6 +1015,7 @@ in
notification_email = cfg.mail.notificationEmailAddress; notification_email = cfg.mail.notificationEmailAddress;
contact_email = cfg.mail.contactEmailAddress; contact_email = cfg.mail.contactEmailAddress;
}; };
security.force_https = tlsEnabled;
email = { email = {
manual_polling_enabled = cfg.mail.incoming.enable; manual_polling_enabled = cfg.mail.incoming.enable;
reply_by_email_enabled = cfg.mail.incoming.enable; reply_by_email_enabled = cfg.mail.incoming.enable;

View File

@ -427,9 +427,6 @@ in {
# fido2 support # fido2 support
"${cfg.package}/lib/cryptsetup/libcryptsetup-token-systemd-fido2.so" "${cfg.package}/lib/cryptsetup/libcryptsetup-token-systemd-fido2.so"
"${pkgs.libfido2}/lib/libfido2.so.1" "${pkgs.libfido2}/lib/libfido2.so.1"
# the unwrapped systemd-cryptsetup executable
"${cfg.package}/lib/systemd/.systemd-cryptsetup-wrapped"
] ++ jobScripts; ] ++ jobScripts;
targets.initrd.aliases = ["default.target"]; targets.initrd.aliases = ["default.target"];

View File

@ -368,6 +368,7 @@ in {
login = handleTest ./login.nix {}; login = handleTest ./login.nix {};
logrotate = handleTest ./logrotate.nix {}; logrotate = handleTest ./logrotate.nix {};
loki = handleTest ./loki.nix {}; loki = handleTest ./loki.nix {};
luks = handleTest ./luks.nix {};
lvm2 = handleTest ./lvm2 {}; lvm2 = handleTest ./lvm2 {};
lxd = handleTest ./lxd.nix {}; lxd = handleTest ./lxd.nix {};
lxd-nftables = handleTest ./lxd-nftables.nix {}; lxd-nftables = handleTest ./lxd-nftables.nix {};
@ -646,6 +647,7 @@ in {
systemd-confinement = handleTest ./systemd-confinement.nix {}; systemd-confinement = handleTest ./systemd-confinement.nix {};
systemd-coredump = handleTest ./systemd-coredump.nix {}; systemd-coredump = handleTest ./systemd-coredump.nix {};
systemd-cryptenroll = handleTest ./systemd-cryptenroll.nix {}; systemd-cryptenroll = handleTest ./systemd-cryptenroll.nix {};
systemd-credentials-tpm2 = handleTest ./systemd-credentials-tpm2.nix {};
systemd-escaping = handleTest ./systemd-escaping.nix {}; systemd-escaping = handleTest ./systemd-escaping.nix {};
systemd-initrd-btrfs-raid = handleTest ./systemd-initrd-btrfs-raid.nix {}; systemd-initrd-btrfs-raid = handleTest ./systemd-initrd-btrfs-raid.nix {};
systemd-initrd-luks-fido2 = handleTest ./systemd-initrd-luks-fido2.nix {}; systemd-initrd-luks-fido2 = handleTest ./systemd-initrd-luks-fido2.nix {};
@ -656,6 +658,7 @@ in {
systemd-initrd-shutdown = handleTest ./systemd-shutdown.nix { systemdStage1 = true; }; systemd-initrd-shutdown = handleTest ./systemd-shutdown.nix { systemdStage1 = true; };
systemd-initrd-simple = handleTest ./systemd-initrd-simple.nix {}; systemd-initrd-simple = handleTest ./systemd-initrd-simple.nix {};
systemd-initrd-swraid = handleTest ./systemd-initrd-swraid.nix {}; systemd-initrd-swraid = handleTest ./systemd-initrd-swraid.nix {};
systemd-initrd-vconsole = handleTest ./systemd-initrd-vconsole.nix {};
systemd-journal = handleTest ./systemd-journal.nix {}; systemd-journal = handleTest ./systemd-journal.nix {};
systemd-machinectl = handleTest ./systemd-machinectl.nix {}; systemd-machinectl = handleTest ./systemd-machinectl.nix {};
systemd-networkd = handleTest ./systemd-networkd.nix {}; systemd-networkd = handleTest ./systemd-networkd.nix {};

View File

@ -40,7 +40,7 @@ import ./make-test-python.nix (
networking.extraHosts = '' networking.extraHosts = ''
127.0.0.1 ${discourseDomain} 127.0.0.1 ${discourseDomain}
${nodes.client.config.networking.primaryIPAddress} ${clientDomain} ${nodes.client.networking.primaryIPAddress} ${clientDomain}
''; '';
services.postfix = { services.postfix = {
@ -90,7 +90,7 @@ import ./make-test-python.nix (
networking.extraHosts = '' networking.extraHosts = ''
127.0.0.1 ${clientDomain} 127.0.0.1 ${clientDomain}
${nodes.discourse.config.networking.primaryIPAddress} ${discourseDomain} ${nodes.discourse.networking.primaryIPAddress} ${discourseDomain}
''; '';
services.dovecot2 = { services.dovecot2 = {
@ -178,8 +178,8 @@ import ./make-test-python.nix (
discourse.wait_until_succeeds("curl -sS -f https://${discourseDomain}") discourse.wait_until_succeeds("curl -sS -f https://${discourseDomain}")
discourse.succeed( discourse.succeed(
"curl -sS -f https://${discourseDomain}/session/csrf -c cookie -b cookie -H 'Accept: application/json' | jq -r '\"X-CSRF-Token: \" + .csrf' > csrf_token", "curl -sS -f https://${discourseDomain}/session/csrf -c cookie -b cookie -H 'Accept: application/json' | jq -r '\"X-CSRF-Token: \" + .csrf' > csrf_token",
"curl -sS -f https://${discourseDomain}/session -c cookie -b cookie -H @csrf_token -H 'Accept: application/json' -d 'login=${nodes.discourse.config.services.discourse.admin.username}' -d \"password=${adminPassword}\" | jq -e '.user.username == \"${nodes.discourse.config.services.discourse.admin.username}\"'", "curl -sS -f https://${discourseDomain}/session -c cookie -b cookie -H @csrf_token -H 'Accept: application/json' -d 'login=${nodes.discourse.services.discourse.admin.username}' -d \"password=${adminPassword}\" | jq -e '.user.username == \"${nodes.discourse.services.discourse.admin.username}\"'",
"curl -sS -f https://${discourseDomain}/login -v -H 'Accept: application/json' -c cookie -b cookie 2>&1 | grep ${nodes.discourse.config.services.discourse.admin.username}", "curl -sS -f https://${discourseDomain}/login -v -H 'Accept: application/json' -c cookie -b cookie 2>&1 | grep ${nodes.discourse.services.discourse.admin.username}",
) )
client.wait_for_unit("postfix.service") client.wait_for_unit("postfix.service")

69
nixos/tests/luks.nix Normal file
View File

@ -0,0 +1,69 @@
import ./make-test-python.nix ({ lib, pkgs, ... }: {
name = "luks";
nodes.machine = { pkgs, ... }: {
# Use systemd-boot
virtualisation = {
emptyDiskImages = [ 512 512 ];
useBootLoader = true;
useEFIBoot = true;
};
boot.loader.systemd-boot.enable = true;
boot.kernelParams = lib.mkOverride 5 [ "console=tty1" ];
environment.systemPackages = with pkgs; [ cryptsetup ];
specialisation = rec {
boot-luks.configuration = {
boot.initrd.luks.devices = lib.mkVMOverride {
# We have two disks and only type one password - key reuse is in place
cryptroot.device = "/dev/vdc";
cryptroot2.device = "/dev/vdd";
};
virtualisation.bootDevice = "/dev/mapper/cryptroot";
};
boot-luks-custom-keymap.configuration = lib.mkMerge [
boot-luks.configuration
{
console.keyMap = "neo";
}
];
};
};
enableOCR = true;
testScript = ''
# Create encrypted volume
machine.wait_for_unit("multi-user.target")
machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdc -")
machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdd -")
# Boot from the encrypted disk
machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks.conf")
machine.succeed("sync")
machine.crash()
# Boot and decrypt the disk
machine.start()
machine.wait_for_text("Passphrase for")
machine.send_chars("supersecret\n")
machine.wait_for_unit("multi-user.target")
assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount")
# Boot from the encrypted disk with custom keymap
machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks-custom-keymap.conf")
machine.succeed("sync")
machine.crash()
# Boot and decrypt the disk
machine.start()
machine.wait_for_text("Passphrase for")
machine.send_chars("havfkhfrkfl\n")
machine.wait_for_unit("multi-user.target")
assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount")
'';
})

View File

@ -3,7 +3,10 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
meta = { meta = {
maintainers = with lib.maintainers; [ OPNA2608 ]; maintainers = with lib.maintainers; [ OPNA2608 ];
# FIXME On ARM Miriway inside the VM doesn't receive keyboard inputs, why? # Natively running Mir has problems with capturing the first registered libinput device.
# In our VM runners on ARM and on some hardware configs (my RPi4, distro-independent), this misses the keyboard.
# It can be worked around by dis- and reconnecting the affected hardware, but we can't do this in these tests.
# https://github.com/MirServer/mir/issues/2837
broken = pkgs.stdenv.hostPlatform.isAarch; broken = pkgs.stdenv.hostPlatform.isAarch;
}; };
@ -30,6 +33,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
enable = true; enable = true;
config = '' config = ''
add-wayland-extensions=all add-wayland-extensions=all
enable-x11=
ctrl-alt=t:foot --maximized ctrl-alt=t:foot --maximized
ctrl-alt=a:env WINIT_UNIX_BACKEND=x11 WAYLAND_DISPLAY=invalid alacritty --option window.startup_mode=maximized ctrl-alt=a:env WINIT_UNIX_BACKEND=x11 WAYLAND_DISPLAY=invalid alacritty --option window.startup_mode=maximized

View File

@ -0,0 +1,124 @@
import ./make-test-python.nix ({ lib, pkgs, system, ... }:
let
tpmSocketPath = "/tmp/swtpm-sock";
tpmDeviceModels = {
x86_64-linux = "tpm-tis";
aarch64-linux = "tpm-tis-device";
};
in
{
name = "systemd-credentials-tpm2";
meta = {
maintainers = with pkgs.lib.maintainers; [ tmarkus ];
};
nodes.machine = { pkgs, ... }: {
virtualisation = {
qemu.options = [
"-chardev socket,id=chrtpm,path=${tpmSocketPath}"
"-tpmdev emulator,id=tpm_dev_0,chardev=chrtpm"
"-device ${tpmDeviceModels.${system}},tpmdev=tpm_dev_0"
];
};
boot.initrd.availableKernelModules = [ "tpm_tis" ];
environment.systemPackages = with pkgs; [ diffutils ];
};
testScript = ''
import subprocess
from tempfile import TemporaryDirectory
# From systemd-initrd-luks-tpm2.nix
class Tpm:
def __init__(self):
self.state_dir = TemporaryDirectory()
self.start()
def start(self):
self.proc = subprocess.Popen(["${pkgs.swtpm}/bin/swtpm",
"socket",
"--tpmstate", f"dir={self.state_dir.name}",
"--ctrl", "type=unixio,path=${tpmSocketPath}",
"--tpm2",
])
# Check whether starting swtpm failed
try:
exit_code = self.proc.wait(timeout=0.2)
if exit_code is not None and exit_code != 0:
raise Exception("failed to start swtpm")
except subprocess.TimeoutExpired:
pass
"""Check whether the swtpm process exited due to an error"""
def check(self):
exit_code = self.proc.poll()
if exit_code is not None and exit_code != 0:
raise Exception("swtpm process died")
CRED_NAME = "testkey"
CRED_RAW_FILE = f"/root/{CRED_NAME}"
CRED_FILE = f"/root/{CRED_NAME}.cred"
def systemd_run(machine, cmd):
machine.log(f"Executing command (via systemd-run): \"{cmd}\"")
(status, out) = machine.execute( " ".join([
"systemd-run",
"--service-type=exec",
"--quiet",
"--wait",
"-E PATH=\"$PATH\"",
"-p StandardOutput=journal",
"-p StandardError=journal",
f"-p LoadCredentialEncrypted={CRED_NAME}:{CRED_FILE}",
f"$SHELL -c '{cmd}'"
]) )
if status != 0:
raise Exception(f"systemd_run failed (status {status})")
machine.log("systemd-run finished successfully")
tpm = Tpm()
@polling_condition
def swtpm_running():
tpm.check()
machine.wait_for_unit("multi-user.target")
with subtest("Check whether TPM device exists"):
machine.succeed("test -e /dev/tpm0")
machine.succeed("test -e /dev/tpmrm0")
with subtest("Check whether systemd-creds detects TPM2 correctly"):
cmd = "systemd-creds has-tpm2"
machine.log(f"Running \"{cmd}\"")
(status, _) = machine.execute(cmd)
# Check exit code equals 0 or 1 (1 means firmware support is missing, which is OK here)
if status != 0 and status != 1:
raise Exception("systemd-creds failed to detect TPM2")
with subtest("Encrypt credential using systemd-creds"):
machine.succeed(f"dd if=/dev/urandom of={CRED_RAW_FILE} bs=1k count=16")
machine.succeed(f"systemd-creds --with-key=host+tpm2 encrypt --name=testkey {CRED_RAW_FILE} {CRED_FILE}")
with subtest("Write provided credential and check for equality"):
CRED_OUT_FILE = f"/root/{CRED_NAME}.out"
systemd_run(machine, f"systemd-creds cat testkey > {CRED_OUT_FILE}")
machine.succeed(f"cmp --silent -- {CRED_RAW_FILE} {CRED_OUT_FILE}")
with subtest("Check whether systemd service can see credential in systemd-creds list"):
systemd_run(machine, f"systemd-creds list | grep {CRED_NAME}")
with subtest("Check whether systemd service can access credential in $CREDENTIALS_DIRECTORY"):
systemd_run(machine, f"cmp --silent -- $CREDENTIALS_DIRECTORY/{CRED_NAME} {CRED_RAW_FILE}")
'';
})

View File

@ -0,0 +1,33 @@
import ./make-test-python.nix ({ lib, pkgs, ... }: {
name = "systemd-initrd-vconsole";
nodes.machine = { pkgs, ... }: {
boot.kernelParams = [ "rd.systemd.unit=rescue.target" ];
boot.initrd.systemd = {
enable = true;
emergencyAccess = true;
};
console = {
earlySetup = true;
keyMap = "colemak";
};
};
testScript = ''
# Boot into rescue shell in initrd
machine.start()
machine.wait_for_console_text("Press Enter for maintenance")
machine.send_console("\n")
machine.wait_for_console_text("Logging in with home")
# Check keymap
machine.send_console("(printf '%s to receive text: \\n' Ready && read text && echo \"$text\") </dev/tty1\n")
machine.wait_for_console_text("Ready to receive text:")
for key in "asdfjkl;\n":
machine.send_key(key)
machine.wait_for_console_text("arstneio")
machine.send_console("systemctl poweroff\n")
'';
})

View File

@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Realtime modular synthesizer for ALSA"; description = "Realtime modular synthesizer for ALSA";
homepage = "http://alsamodular.sourceforge.net"; homepage = "https://alsamodular.sourceforge.net";
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ sjfloat ]; maintainers = with maintainers; [ sjfloat ];

View File

@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "A range of synthesiser, electric piano and organ emulations"; description = "A range of synthesiser, electric piano and organ emulations";
homepage = "http://bristol.sourceforge.net"; homepage = "https://bristol.sourceforge.net";
license = licenses.gpl3; license = licenses.gpl3;
platforms = ["x86_64-linux" "i686-linux"]; platforms = ["x86_64-linux" "i686-linux"];
maintainers = [ maintainers.goibhniu ]; maintainers = [ maintainers.goibhniu ];

View File

@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
]; ];
meta = with lib; { meta = with lib; {
homepage = "http://calf-studio-gear.org"; homepage = "https://calf-studio-gear.org";
description = "A set of high quality open source audio plugins for musicians"; description = "A set of high quality open source audio plugins for musicians";
license = licenses.lgpl2; license = licenses.lgpl2;
maintainers = [ maintainers.goibhniu ]; maintainers = [ maintainers.goibhniu ];

View File

@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
CFLAGS = lib.optionalString debug " -DDEBUG=2"; CFLAGS = lib.optionalString debug " -DDEBUG=2";
meta = { meta = {
homepage = "http://eflite.sourceforge.net"; homepage = "https://eflite.sourceforge.net";
description = "Speech server for screen readers"; description = "Speech server for screen readers";
longDescription = '' longDescription = ''
EFlite is a speech server for Emacspeak and other screen EFlite is a speech server for Emacspeak and other screen

View File

@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
software, released under the GNU GPL license. software, released under the GNU GPL license.
'' ; '' ;
homepage = "http://freewheeling.sourceforge.net"; homepage = "https://freewheeling.sourceforge.net";
license = lib.licenses.gpl2; license = lib.licenses.gpl2;
maintainers = [ lib.maintainers.sepi ]; maintainers = [ lib.maintainers.sepi ];
platforms = lib.platforms.linux; platforms = lib.platforms.linux;

View File

@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
''; '';
meta = with lib; { meta = with lib; {
homepage = "http://jamin.sourceforge.net"; homepage = "https://jamin.sourceforge.net";
description = "JACK Audio Mastering interface"; description = "JACK Audio Mastering interface";
license = licenses.gpl2; license = licenses.gpl2;
maintainers = [ maintainers.nico202 ]; maintainers = [ maintainers.nico202 ];

View File

@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "MIDI controllable audio sampler"; description = "MIDI controllable audio sampler";
longDescription = "a fork of Specimen"; longDescription = "a fork of Specimen";
homepage = "http://petri-foo.sourceforge.net"; homepage = "https://petri-foo.sourceforge.net";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ]; maintainers = [ maintainers.goibhniu ];

View File

@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
parallel. parallel.
''; '';
homepage = "http://qmidiarp.sourceforge.net"; homepage = "https://qmidiarp.sourceforge.net";
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ sjfloat ]; maintainers = with maintainers; [ sjfloat ];

View File

@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
It is able to gather this information from Apple iPods or DAPs running the Rockbox replacement firmware. It is able to gather this information from Apple iPods or DAPs running the Rockbox replacement firmware.
''; '';
homepage = "http://qtscrob.sourceforge.net"; homepage = "https://qtscrob.sourceforge.net";
license = licenses.gpl2; license = licenses.gpl2;
maintainers = [ maintainers.vanzef ]; maintainers = [ maintainers.vanzef ];
platforms = platforms.linux; platforms = platforms.linux;

View File

@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Multi-effects processor emulating a guitar effects pedalboard"; description = "Multi-effects processor emulating a guitar effects pedalboard";
homepage = "http://rakarrack.sourceforge.net"; homepage = "https://rakarrack.sourceforge.net";
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ]; maintainers = [ maintainers.goibhniu ];

View File

@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
]; # taken from the debian yasr package ]; # taken from the debian yasr package
meta = { meta = {
homepage = "http://yasr.sourceforge.net"; homepage = "https://yasr.sourceforge.net";
description = "A general-purpose console screen reader"; description = "A general-purpose console screen reader";
longDescription = "Yasr is a general-purpose console screen reader for GNU/Linux and other Unix-like operating systems."; longDescription = "Yasr is a general-purpose console screen reader for GNU/Linux and other Unix-like operating systems.";
platforms = lib.platforms.linux; platforms = lib.platforms.linux;

View File

@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Ncurses based hex editor with a vim-like interface"; description = "Ncurses based hex editor with a vim-like interface";
homepage = "http://bviplus.sourceforge.net"; homepage = "https://bviplus.sourceforge.net";
license = licenses.gpl3; license = licenses.gpl3;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ cstrahan ]; maintainers = with maintainers; [ cstrahan ];

View File

@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "File editor/viewer/analyzer for executables"; description = "File editor/viewer/analyzer for executables";
homepage = "http://hte.sourceforge.net"; homepage = "https://hte.sourceforge.net";
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ cstrahan ]; maintainers = with maintainers; [ cstrahan ];

View File

@ -3418,6 +3418,18 @@ final: prev:
meta.homepage = "https://github.com/ellisonleao/glow.nvim/"; meta.homepage = "https://github.com/ellisonleao/glow.nvim/";
}; };
go-nvim = buildVimPluginFrom2Nix {
pname = "go.nvim";
version = "2023-02-19";
src = fetchFromGitHub {
owner = "ray-x";
repo = "go.nvim";
rev = "c11b8b50f3f4eeef7f7a8f07f697fd67794fd2ac";
sha256 = "12r0j62d76m2vh88wv4phc5s2r43scx3j8f814slnyigprdprs9k";
};
meta.homepage = "https://github.com/ray-x/go.nvim/";
};
godbolt-nvim = buildVimPluginFrom2Nix { godbolt-nvim = buildVimPluginFrom2Nix {
pname = "godbolt.nvim"; pname = "godbolt.nvim";
version = "2023-01-02"; version = "2023-01-02";
@ -13401,6 +13413,18 @@ final: prev:
meta.homepage = "https://github.com/posva/vim-vue/"; meta.homepage = "https://github.com/posva/vim-vue/";
}; };
vim-vue-plugin = buildVimPluginFrom2Nix {
pname = "vim-vue-plugin";
version = "2023-02-02";
src = fetchFromGitHub {
owner = "leafOfTree";
repo = "vim-vue-plugin";
rev = "58ac69b2c8a98a9bd2a95fbaa7b5f0fe806bad0f";
sha256 = "0x8a66r1wlyashyqxmdpz3wnqhgfmscs42m2r82g5ic6a7n6f36l";
};
meta.homepage = "https://github.com/leafOfTree/vim-vue-plugin/";
};
vim-wakatime = buildVimPluginFrom2Nix { vim-wakatime = buildVimPluginFrom2Nix {
pname = "vim-wakatime"; pname = "vim-wakatime";
version = "2023-02-06"; version = "2023-02-06";

View File

@ -285,6 +285,7 @@ https://github.com/gregsexton/gitv/,,
https://github.com/DNLHC/glance.nvim/,HEAD, https://github.com/DNLHC/glance.nvim/,HEAD,
https://github.com/gleam-lang/gleam.vim/,, https://github.com/gleam-lang/gleam.vim/,,
https://github.com/ellisonleao/glow.nvim/,, https://github.com/ellisonleao/glow.nvim/,,
https://github.com/ray-x/go.nvim/,HEAD,
https://github.com/p00f/godbolt.nvim/,HEAD, https://github.com/p00f/godbolt.nvim/,HEAD,
https://github.com/roman/golden-ratio/,, https://github.com/roman/golden-ratio/,,
https://github.com/buoto/gotests-vim/,, https://github.com/buoto/gotests-vim/,,
@ -1125,6 +1126,7 @@ https://github.com/ngemily/vim-vp4/,HEAD,
https://github.com/hrsh7th/vim-vsnip/,, https://github.com/hrsh7th/vim-vsnip/,,
https://github.com/hrsh7th/vim-vsnip-integ/,, https://github.com/hrsh7th/vim-vsnip-integ/,,
https://github.com/posva/vim-vue/,, https://github.com/posva/vim-vue/,,
https://github.com/leafOfTree/vim-vue-plugin/,HEAD,
https://github.com/wakatime/vim-wakatime/,, https://github.com/wakatime/vim-wakatime/,,
https://github.com/osyo-manga/vim-watchdogs/,, https://github.com/osyo-manga/vim-watchdogs/,,
https://github.com/jasonccox/vim-wayland-clipboard/,, https://github.com/jasonccox/vim-wayland-clipboard/,,

View File

@ -1741,6 +1741,23 @@ let
meta.license = lib.licenses.mit; meta.license = lib.licenses.mit;
}; };
matthewpi.caddyfile-support = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "caddyfile-support";
publisher = "matthewpi";
version = "0.2.4";
sha256 = "sha256-7D7fNlI55MxD6M8ml/dzBAMwCGCEkC+9aKhreZCVMv4=";
};
meta = {
description = "Rich Caddyfile support for Visual Studio Code";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=matthewpi.caddyfile-support";
homepage = "https://github.com/caddyserver/vscode-caddyfile";
changelog = "https://marketplace.visualstudio.com/items/matthewpi.caddyfile-support/changelog";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ matthewpi ];
};
};
mattn.lisp = buildVscodeMarketplaceExtension { mattn.lisp = buildVscodeMarketplaceExtension {
mktplcRef = { mktplcRef = {
name = "lisp"; name = "lisp";

View File

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "A fast image viewer"; description = "A fast image viewer";
homepage = "http://gqview.sourceforge.net"; homepage = "https://gqview.sourceforge.net";
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ ]; maintainers = with maintainers; [ ];

View File

@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "An offline thesaurus based on WordNet"; description = "An offline thesaurus based on WordNet";
homepage = "http://artha.sourceforge.net"; homepage = "https://artha.sourceforge.net";
license = licenses.gpl2; license = licenses.gpl2;
maintainers = [ maintainers.goibhniu ]; maintainers = [ maintainers.goibhniu ];
platforms = platforms.linux; platforms = platforms.linux;

View File

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "An audio resampling library"; description = "An audio resampling library";
homepage = "http://soxr.sourceforge.net"; homepage = "https://soxr.sourceforge.net";
license = licenses.lgpl21Plus; license = licenses.lgpl21Plus;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ ]; maintainers = with maintainers; [ ];

View File

@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "The big set of CLI tools to make/modify/optimize/show/export DJVU files"; description = "The big set of CLI tools to make/modify/optimize/show/export DJVU files";
homepage = "http://djvu.sourceforge.net"; homepage = "https://djvu.sourceforge.net";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = with maintainers; [ Anton-Latukha ]; maintainers = with maintainers; [ Anton-Latukha ];
platforms = platforms.all; platforms = platforms.all;

View File

@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
]; ];
meta = with lib; { meta = with lib; {
homepage = "http://eaglemode.sourceforge.net"; homepage = "https://eaglemode.sourceforge.net";
description = "Zoomable User Interface"; description = "Zoomable User Interface";
changelog = "https://eaglemode.sourceforge.net/ChangeLog.html"; changelog = "https://eaglemode.sourceforge.net/ChangeLog.html";
license = licenses.gpl3; license = licenses.gpl3;

View File

@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
''; '';
meta = with lib; { meta = with lib; {
homepage = "http://eureka-editor.sourceforge.net"; homepage = "https://eureka-editor.sourceforge.net";
description = "A map editor for the classic DOOM games, and a few related games such as Heretic and Hexen"; description = "A map editor for the classic DOOM games, and a few related games such as Heretic and Hexen";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
platforms = platforms.all; platforms = platforms.all;

View File

@ -1,81 +0,0 @@
{ mkDerivation, lib, fetchzip, libarchive, autoPatchelfHook, libsecret, libGL, zlib, openssl, qtbase, qtwebkit, qtxmlpatterns }:
mkDerivation rec {
pname = "foxitreader";
version = "2.4.4.0911";
src = fetchzip {
url = "https://cdn01.foxitsoftware.com/pub/foxit/reader/desktop/linux/${lib.versions.major version}.x/${lib.versions.majorMinor version}/en_us/FoxitReader.enu.setup.${version}.x64.run.tar.gz";
sha256 = "0ff4xs9ipc7sswq0czfhpsd7qw7niw0zsf9wgsqhbbgzcpbdhcb7";
stripRoot = false;
};
buildInputs = [ libGL libsecret openssl qtbase qtwebkit qtxmlpatterns zlib ];
nativeBuildInputs = [ autoPatchelfHook libarchive ];
buildPhase = ''
runHook preBuild
input_file=$src/*.run
mkdir -p extracted
# Look for all 7z files and extract them
grep --only-matching --byte-offset --binary \
--text -P '7z\xBC\xAF\x27\x1C\x00\x03' $input_file | cut -d: -f1 |
while read position; do
tail -c +$(($position + 1)) $input_file > file.7z
bsdtar xf file.7z -C extracted
done
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/lib
cd extracted
cp -r \
CollectStrategy.txt \
cpdf_settings \
fxplugins \
lang \
resource \
run \
stamps \
welcome \
Wrappers \
$out/lib/
patchelf $out/lib/fxplugins/librms.so \
--replace-needed libssl.so.10 libssl.so \
--replace-needed libcrypto.so.10 libcrypto.so
# FIXME: Doing this with one invocation is broken right now
patchelf $out/lib/fxplugins/librmscrypto.so \
--replace-needed libssl.so.10 libssl.so
patchelf $out/lib/fxplugins/librmscrypto.so \
--replace-needed libcrypto.so.10 libcrypto.so
install -D -m 755 FoxitReader -t $out/bin
# Install icon and desktop files
install -D -m 644 images/FoxitReader.png -t $out/share/pixmaps/
install -D -m 644 FoxitReader.desktop -t $out/share/applications/
echo Exec=FoxitReader %F >> $out/share/applications/FoxitReader.desktop
runHook postInstall
'';
qtWrapperArgs = [ "--set appname FoxitReader" "--set selfpath $out/lib" ];
meta = with lib; {
description = "A viewer for PDF documents";
homepage = "https://www.foxitsoftware.com/";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ p-h rhoriguchi ];
};
}

View File

@ -2,7 +2,7 @@
let let
pname = "joplin-desktop"; pname = "joplin-desktop";
version = "2.9.17"; version = "2.10.4";
name = "${pname}-${version}"; name = "${pname}-${version}";
inherit (stdenv.hostPlatform) system; inherit (stdenv.hostPlatform) system;
@ -16,8 +16,8 @@ let
src = fetchurl { src = fetchurl {
url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}.${suffix}"; url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}.${suffix}";
sha256 = { sha256 = {
x86_64-linux = "sha256-kdmxSXKHIyVdvVNEoZkSIQlOkTt97bpAdrV0sxhL1Ug="; x86_64-linux = "sha256-KEEPPtWxaY6+Nu/CE+AVAnaVZ30zmASWiIYaJt4a+3E=";
x86_64-darwin = "sha256-o3Q5foEuBi4OTHr6mP0ZXOxkkUw/c/jXaZOtztQf0gM="; x86_64-darwin = "sha256-8Rkj1pV6tJygznbfELnAhzhh7ImnTm9dxCxCjYlWdnU=";
}.${system} or throwSystem; }.${system} or throwSystem;
}; };
@ -35,7 +35,7 @@ let
Markdown format. Markdown format.
''; '';
homepage = "https://joplinapp.org"; homepage = "https://joplinapp.org";
license = licenses.mit; license = licenses.agpl3Plus;
maintainers = with maintainers; [ hugoreeves ]; maintainers = with maintainers; [ hugoreeves ];
platforms = [ "x86_64-linux" "x86_64-darwin" ]; platforms = [ "x86_64-linux" "x86_64-darwin" ];
}; };

View File

@ -13,7 +13,7 @@ python3Packages.buildPythonApplication rec {
meta = with lib; { meta = with lib; {
description = "Heuristics-driven menu generator for several window managers"; description = "Heuristics-driven menu generator for several window managers";
homepage = "http://menumaker.sourceforge.net"; homepage = "https://menumaker.sourceforge.net";
license = licenses.bsd2; license = licenses.bsd2;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = [ maintainers.romildo ]; maintainers = [ maintainers.romildo ];

View File

@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "A command line calculator"; description = "A command line calculator";
homepage = "http://w-calc.sourceforge.net"; homepage = "https://w-calc.sourceforge.net";
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.all; platforms = platforms.all;
}; };

View File

@ -10,14 +10,14 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "zine"; pname = "zine";
version = "0.10.1"; version = "0.11.0";
src = fetchCrate { src = fetchCrate {
inherit pname version; inherit pname version;
sha256 = "sha256-3xFJ7v/IZQ3yfU0D09sFXV+4XKRau+Mj3BNxkeUjbbU="; sha256 = "sha256-koN30s+giX4wOp4i5QtTLE/t1ZJ9mP0K0YfY0kTuDJY=";
}; };
cargoHash = "sha256-3Sw/USfGJuf6JGSR3Xkjnmm/UR7NK8rB8St48b4WpIM="; cargoHash = "sha256-Re/ooEJCRjQSnz1VSzz4uRWx81yOzChBEeH7gedAHJw=";
nativeBuildInputs = [ nativeBuildInputs = [
pkg-config pkg-config

View File

@ -21,11 +21,11 @@ let
vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi"; vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "vivaldi"; pname = "vivaldi";
version = "5.6.2867.62"; version = "5.7.2921.53";
src = fetchurl { src = fetchurl {
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}-1_amd64.deb"; url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}-1_amd64.deb";
sha256 = "sha256-p5okCdvEBurL1UgqLMBhCd4caPbiOA1WZrI9TC5j6og="; sha256 = "sha256-qkKCoHJCRji3XfXk71n4BfjFyQpXZ+BariHmbYPAuv8=";
}; };
unpackPhase = '' unpackPhase = ''

View File

@ -5,20 +5,20 @@ let
in in
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "diswall"; pname = "diswall";
version = "0.3.0"; version = "0.3.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dis-works"; owner = "dis-works";
repo = "diswall-rs"; repo = "diswall-rs";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-3FTqT3IL48lYmGoB9u76RQSgZPbaq7IkOyQjyxwpkWA="; sha256 = "sha256-54iNbMZ+j6ioBTb/okyWZqqe4p6IyapZwc6VdtiAkLs=";
}; };
buildInputs = lib.optionals stdenv.isDarwin [ buildInputs = lib.optionals stdenv.isDarwin [
Security Security
]; ];
cargoSha256 = "sha256-sb6s4Oc3W+I9DB0SGyZINxyWHCSpkakiEeQUatEpeEU="; cargoHash = "sha256-stpJNDC+dQQNZdZTihbQWZ66wgdQ+oz8s3Ogb1wxnxY=";
doCheck = false; doCheck = false;

View File

@ -1,7 +1,7 @@
{ {
"version": "1.11.22", "version": "1.11.23",
"desktopSrcHash": "UJesD6cshsf/NK2ZTzOtAUfH+8JcGP9oCLFhkgfM0E0=", "desktopSrcHash": "Q3kyAiBvedTy4jiBkYmEJeonRf6HesdpKgmtOT2sYwI=",
"desktopYarnHash": "0bq24rjf63rkq3jphv7raqaz2fnibmj41z905k5f3l4ln835ndfv", "desktopYarnHash": "8lHIkUkFAo7m8XjfnFSAkp4mIKyrXOsnbstRIPXI+vE=",
"webSrcHash": "B2clSJgKkjvQdIXQgi3bBPaVTDKOjeNBOvkAtcPOkFI=", "webSrcHash": "JOfuzo0DQ0v2rC80/HkucLgc2xsCb3eujaH0fg7j0nI=",
"webYarnHash": "182fh1ayh1y98kbg4mn8fxqvljs19b02j4ivvjszm55dcpwfp1df" "webYarnHash": "0Cb7TuRFHcQvYbnVAnXOIwt6NXa7ITrMPJnmbUFaPNU="
} }

View File

@ -37,6 +37,11 @@ stdenv.mkDerivation {
url = "https://github.com/desktop-app/tg_owt/pull/101/commits/86d2bcd7afb8706663d29e30f65863de5a626142.patch"; url = "https://github.com/desktop-app/tg_owt/pull/101/commits/86d2bcd7afb8706663d29e30f65863de5a626142.patch";
hash = "sha256-iWS0mB8R0vqPU/0qf6Ax54UCAKYDVCPac2mi/VHbFm0="; hash = "sha256-iWS0mB8R0vqPU/0qf6Ax54UCAKYDVCPac2mi/VHbFm0=";
}) })
# additional fix for GCC 12 + musl
(fetchpatch {
url = "https://git.alpinelinux.org/aports/plain/community/tg_owt/gcc12.patch?id=8120df03fa3b6db5b8ff92c7a52b680290ad6e20";
hash = "sha256-ikgxUH1e7pz0n0pKUemrPXXa4UkECX+w467M9gU68zs=";
})
]; ];
cmakeFlags = [ cmakeFlags = [

View File

@ -2,42 +2,45 @@
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitHub
, ocamlPackages , ocamlPackages
, fontschumachermisc
, xset
, makeWrapper
, ncurses , ncurses
, gnugrep
, copyDesktopItems , copyDesktopItems
, makeDesktopItem , makeDesktopItem
, wrapGAppsHook
, glib
, gsettings-desktop-schemas
, zlib
, enableX11 ? true , enableX11 ? true
, Cocoa
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "unison"; pname = "unison";
version = "2.52.1"; version = "2.53.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bcpierce00"; owner = "bcpierce00";
repo = "unison"; repo = "unison";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-taA8eZ/wOe9uMccXVYfe34/XzWgqYKA3tLZnIOahOrQ="; sha256 = "sha256-4Lyn1UecpVIhoEXIFu35XK4aoAfYGPCZ9L4ZY7224yo=";
}; };
strictDeps = true; strictDeps = true;
nativeBuildInputs = [ makeWrapper ocamlPackages.ocaml ] nativeBuildInputs = [ glib wrapGAppsHook ocamlPackages.ocaml ]
++ lib.optional enableX11 copyDesktopItems; ++ lib.optional enableX11 copyDesktopItems;
buildInputs = [ ncurses ]; buildInputs = [ gsettings-desktop-schemas ncurses zlib ]
++ lib.optional stdenv.isDarwin Cocoa;
preBuild = lib.optionalString enableX11 '' preBuild = lib.optionalString enableX11 ''
sed -i "s|\(OCAMLOPT=.*\)$|\1 -I $(echo "${ocamlPackages.lablgtk}"/lib/ocaml/*/site-lib/lablgtk2)|" src/Makefile.OCaml sed -i "s|\(OCAMLOPT=.*\)$|\1 -I $(echo "${ocamlPackages.lablgtk3}"/lib/ocaml/*/site-lib/lablgtk3)|" src/Makefile.OCaml
sed -i "s|\(OCAMLOPT=.*\)$|\1 -I $(echo "${ocamlPackages.cairo2}"/lib/ocaml/*/site-lib/cairo2)|" src/Makefile.OCaml
'' + '' '' + ''
echo -e '\ninstall:\n\tcp $(FSMONITOR)$(EXEC_EXT) $(INSTALLDIR)' >> src/fsmonitor/linux/Makefile echo -e '\ninstall:\n\tcp $(FSMONITOR)$(EXEC_EXT) $(INSTALLDIR)' >> src/fsmonitor/linux/Makefile
''; '';
makeFlags = [ makeFlags = [
"INSTALLDIR=$(out)/bin/" "INSTALLDIR=$(out)/bin/"
"UISTYLE=${if enableX11 then "gtk2" else "text"}" "UISTYLE=${if enableX11 then "gtk3" else "text"}"
] ++ lib.optional (!ocamlPackages.ocaml.nativeCompilers) "NATIVE=false"; ] ++ lib.optional (!ocamlPackages.ocaml.nativeCompilers) "NATIVE=false";
preInstall = '' preInstall = ''
@ -45,11 +48,6 @@ stdenv.mkDerivation rec {
''; '';
postInstall = lib.optionalString enableX11 '' postInstall = lib.optionalString enableX11 ''
for i in $(cd $out/bin && ls); do
wrapProgram $out/bin/$i \
--run "[ -n \"\$DISPLAY\" ] && (${xset}/bin/xset q | ${gnugrep}/bin/grep -q \"${fontschumachermisc}\" || ${xset}/bin/xset +fp \"${fontschumachermisc}/lib/X11/fonts/misc\")"
done
install -D $src/icons/U.svg $out/share/icons/hicolor/scalable/apps/unison.svg install -D $src/icons/U.svg $out/share/icons/hicolor/scalable/apps/unison.svg
''; '';

View File

@ -67,6 +67,7 @@ python3.pkgs.buildPythonApplication rec {
# Testing of the CLI part and output # Testing of the CLI part and output
"test_color_due_dates" "test_color_due_dates"
"test_color_flag" "test_color_flag"
"test_datetime_serialization" # Will be fixed in versions after 4.1.0
"test_default_command" "test_default_command"
"test_main" "test_main"
"test_missing_cache_dir" "test_missing_cache_dir"
@ -74,8 +75,6 @@ python3.pkgs.buildPythonApplication rec {
"test_xdg_existant" "test_xdg_existant"
# Tests are sensitive to performance # Tests are sensitive to performance
"test_sorting_fields" "test_sorting_fields"
] ++ lib.optionals stdenv.isDarwin [
"test_sorting_fields"
]; ];
pythonImportsCheck = [ pythonImportsCheck = [

View File

@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
owner = "librtlsdr"; owner = "librtlsdr";
repo = "librtlsdr"; repo = "librtlsdr";
rev = "v${version}"; rev = "v${version}";
sha256 = "1fgxlkgmdchbrf0nn98ivjr6css5hak3608nr4xrf2qzf7xy2kdk"; hash = "sha256-s03h+3EfC5c7yRYBM6aCRWtmstwRJWuBywuyVt+k/bk=";
}; };
postPatch = '' postPatch = ''
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config cmake ]; nativeBuildInputs = [ pkg-config cmake ];
buildInputs = [ libusb1 ]; propagatedBuildInputs = [ libusb1 ];
cmakeFlags = lib.optionals stdenv.isLinux [ cmakeFlags = lib.optionals stdenv.isLinux [
"-DINSTALL_UDEV_RULES=ON" "-DINSTALL_UDEV_RULES=ON"

View File

@ -31,7 +31,7 @@ mkDerivation rec {
These change the parameters used when sounding the Morse code. These change the parameters used when sounding the Morse code.
cw reports any errors in embedded commands cw reports any errors in embedded commands
''; '';
homepage = "http://unixcw.sourceforge.net"; homepage = "https://unixcw.sourceforge.net";
maintainers = [ maintainers.mafo ]; maintainers = [ maintainers.mafo ];
license = licenses.gpl2; license = licenses.gpl2;
platforms=platforms.linux; platforms=platforms.linux;

View File

@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Renders an image of the earth or other planets into the X root window"; description = "Renders an image of the earth or other planets into the X root window";
homepage = "http://xplanet.sourceforge.net"; homepage = "https://xplanet.sourceforge.net";
license = licenses.gpl2; license = licenses.gpl2;
maintainers = with maintainers; [ lassulus sander ]; maintainers = with maintainers; [ lassulus sander ];
platforms = platforms.all; platforms = platforms.all;

View File

@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "An ultrafast memory-efficient short read aligner"; description = "An ultrafast memory-efficient short read aligner";
license = licenses.artistic2; license = licenses.artistic2;
homepage = "http://bowtie-bio.sourceforge.net"; homepage = "https://bowtie-bio.sourceforge.net";
maintainers = with maintainers; [ prusnak ]; maintainers = with maintainers; [ prusnak ];
platforms = platforms.all; platforms = platforms.all;
}; };

View File

@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
Gouy M., Guindon S. & Gascuel O. (2010) SeaView version 4 : a multiplatform graphical user interface for sequence alignment and phylogenetic tree building. Molecular Biology and Evolution 27(2):221-224. Gouy M., Guindon S. & Gascuel O. (2010) SeaView version 4 : a multiplatform graphical user interface for sequence alignment and phylogenetic tree building. Molecular Biology and Evolution 27(2):221-224.
''; '';
homepage = "http://doua.prabi.fr/software/seaview"; homepage = "https://doua.prabi.fr/software/seaview";
license = licenses.gpl3; license = licenses.gpl3;
maintainers = [ maintainers.iimog ]; maintainers = [ maintainers.iimog ];
platforms = platforms.linux; platforms = platforms.linux;

View File

@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "VCD/Waveform viewer for Unix and Win32"; description = "VCD/Waveform viewer for Unix and Win32";
homepage = "http://gtkwave.sourceforge.net"; homepage = "https://gtkwave.sourceforge.net";
license = lib.licenses.gpl2Plus; license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ thoughtpolice jiegec ]; maintainers = with lib.maintainers; [ thoughtpolice jiegec ];
platforms = lib.platforms.linux ++ lib.platforms.darwin; platforms = lib.platforms.linux ++ lib.platforms.darwin;

View File

@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "Integrated circuit simulator"; description = "Integrated circuit simulator";
homepage = "http://qucs.sourceforge.net"; homepage = "https://qucs.sourceforge.net";
license = lib.licenses.gpl2Plus; license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [viric]; maintainers = with lib.maintainers; [viric];
platforms = with lib.platforms; linux; platforms = with lib.platforms; linux;

View File

@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "Oscilloscope through the sound card"; description = "Oscilloscope through the sound card";
homepage = "http://xoscope.sourceforge.net"; homepage = "https://xoscope.sourceforge.net";
license = lib.licenses.gpl2Plus; license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [viric]; maintainers = with lib.maintainers; [viric];
platforms = with lib.platforms; linux; platforms = with lib.platforms; linux;

View File

@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "A high-performance theorem prover and SMT solver"; description = "A high-performance theorem prover and SMT solver";
homepage = "http://yices.csl.sri.com"; homepage = "https://yices.csl.sri.com";
license = licenses.gpl3; license = licenses.gpl3;
platforms = with platforms; linux ++ darwin; platforms = with platforms; linux ++ darwin;
maintainers = with maintainers; [ thoughtpolice ]; maintainers = with maintainers; [ thoughtpolice ];

View File

@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
gretl is a cross-platform software package for econometric analysis, gretl is a cross-platform software package for econometric analysis,
written in the C programming language. written in the C programming language.
''; '';
homepage = "http://gretl.sourceforge.net"; homepage = "https://gretl.sourceforge.net";
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ dmrauh ]; maintainers = with maintainers; [ dmrauh ];
platforms = with platforms; all; platforms = with platforms; all;

View File

@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "A Mixed Integer Linear Programming (MILP) solver"; description = "A Mixed Integer Linear Programming (MILP) solver";
homepage = "http://lpsolve.sourceforge.net"; homepage = "https://lpsolve.sourceforge.net";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = with maintainers; [ smironov ]; maintainers = with maintainers; [ smironov ];
platforms = platforms.unix; platforms = platforms.unix;

View File

@ -166,7 +166,7 @@ stdenv.mkDerivation rec {
# https://www.singular.uni-kl.de:8002/trac/ticket/837 # https://www.singular.uni-kl.de:8002/trac/ticket/837
platforms = subtractLists platforms.i686 platforms.unix; platforms = subtractLists platforms.i686 platforms.unix;
license = licenses.gpl3; # Or GPLv2 at your option - but not GPLv4 license = licenses.gpl3; # Or GPLv2 at your option - but not GPLv4
homepage = "http://www.singular.uni-kl.de"; homepage = "https://www.singular.uni-kl.de";
downloadPage = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/"; downloadPage = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/";
mainProgram = "Singular"; mainProgram = "Singular";
}; };

View File

@ -70,7 +70,7 @@ in stdenv.mkDerivation rec {
''; '';
meta = with lib; { meta = with lib; {
homepage = "http://www.gromacs.org"; homepage = "https://www.gromacs.org";
license = licenses.gpl2; license = licenses.gpl2;
description = "Molecular dynamics software package"; description = "Molecular dynamics software package";
longDescription = '' longDescription = ''

View File

@ -2,6 +2,7 @@
, rustPlatform , rustPlatform
, lib , lib
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, ncurses , ncurses
, perl , perl
, pkg-config , pkg-config
@ -40,12 +41,12 @@ rustPlatform.buildRustPackage rec {
sha256 = "sha256-1gnP2Dn4nkhxelUsXMay2VGvgvMjkdEKhFK5AAST++s="; sha256 = "sha256-1gnP2Dn4nkhxelUsXMay2VGvgvMjkdEKhFK5AAST++s=";
}; };
# Rust 1.65 does better at enum packing (according to patches = [
# 40e08fafe2f6e5b0c70d55996a0814d6813442ef), but Nixpkgs doesn't have 1.65 # fix build with rust 1.67
# yet (still in staging), so skip these tests for now. (fetchpatch {
checkFlags = [ url = "https://github.com/wez/wezterm/commit/36519f0d90e1875fb4b3f11f6cbf94c7d716ef78.patch";
"--skip=escape::action_size" sha256 = "sha256-sOGFmDan1uO1xOBCpvlGrSotjfw01MjRg0KVqa5omig=";
"--skip=surface::line::storage::test::memory_usage" })
]; ];
postPatch = '' postPatch = ''
@ -122,9 +123,7 @@ rustPlatform.buildRustPackage rec {
}; };
terminfo = runCommand "wezterm-terminfo" terminfo = runCommand "wezterm-terminfo"
{ {
nativeBuildInputs = [ nativeBuildInputs = [ ncurses ];
ncurses
];
} '' } ''
mkdir -p $out/share/terminfo $out/nix-support mkdir -p $out/share/terminfo $out/nix-support
tic -x -o $out/share/terminfo ${src}/termwiz/data/wezterm.terminfo tic -x -o $out/share/terminfo ${src}/termwiz/data/wezterm.terminfo
@ -132,10 +131,9 @@ rustPlatform.buildRustPackage rec {
}; };
meta = with lib; { meta = with lib; {
description = "A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust"; description = "GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust";
homepage = "https://wezfurlong.org/wezterm"; homepage = "https://wezfurlong.org/wezterm";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ SuperSandro2000 ]; maintainers = with maintainers; [ SuperSandro2000 ];
platforms = platforms.unix;
}; };
} }

View File

@ -12,13 +12,13 @@
buildPythonApplication rec { buildPythonApplication rec {
pname = "git-machete"; pname = "git-machete";
version = "3.15.0"; version = "3.15.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "virtuslab"; owner = "virtuslab";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-HSgCvHjSOrMPsdOPtgFUeK6b0ioVnwTtg2oHGg4BrZw="; hash = "sha256-hIm3JDLXUTwjuVfAHvZBWFBJNOAVWyfl/X4A6B0OoXg=";
}; };
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];

View File

@ -15,12 +15,12 @@
buildGoModule rec { buildGoModule rec {
pname = "gitea"; pname = "gitea";
version = "1.18.3"; version = "1.18.4";
# not fetching directly from the git repo, because that lacks several vendor files for the web UI # not fetching directly from the git repo, because that lacks several vendor files for the web UI
src = fetchurl { src = fetchurl {
url = "https://dl.gitea.io/gitea/${version}/gitea-src-${version}.tar.gz"; url = "https://dl.gitea.io/gitea/${version}/gitea-src-${version}.tar.gz";
hash = "sha256-jqjpbDgcmwZoc/ovgburFeeta9mAJOmz7yrvmUKAwRU="; hash = "sha256-LSSOmqSeiv9qNCAsRWYtjRLfUDLMd8mOVAxTOacvNOA=";
}; };
vendorHash = null; vendorHash = null;

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "glitter"; pname = "glitter";
version = "1.6.3"; version = "1.6.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "milo123459"; owner = "milo123459";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-xrQqeRJfBEcjX0tkULg+94R7+mWWn6QeKIfZiDp+Vt8="; sha256 = "sha256-sMAHVXpgAhZYUpl75JRtKhTqt/sQkSkoEzk7aGV1vcQ=";
}; };
cargoSha256 = "sha256-GQ7Bns+FPj4jl2dBXnMrmcKIYcZTLZc1WvaHgKGj/gU="; cargoSha256 = "sha256-CaWpGNP7Jsv/3dks0LVbZXoD/9HqJmOzaD0ejT5xSqA=";
nativeCheckInputs = [ nativeCheckInputs = [
git git

View File

@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Lightweight and simple DVD slide show maker"; description = "Lightweight and simple DVD slide show maker";
homepage = "http://imagination.sourceforge.net"; homepage = "https://imagination.sourceforge.net";
license = licenses.gpl3Only; license = licenses.gpl3Only;
maintainers = with maintainers; [ austinbutler ]; maintainers = with maintainers; [ austinbutler ];
platforms = platforms.linux; platforms = platforms.linux;

View File

@ -16,7 +16,7 @@ stdenv.mkDerivation {
meta = with lib; { meta = with lib; {
description = "Converts a .TiVo file (produced by TiVoToGo) to a normal MPEG file"; description = "Converts a .TiVo file (produced by TiVoToGo) to a normal MPEG file";
homepage = "http://tivodecode.sourceforge.net"; homepage = "https://tivodecode.sourceforge.net";
platforms = platforms.unix; platforms = platforms.unix;
license = licenses.bsd3; license = licenses.bsd3;
}; };

View File

@ -0,0 +1,48 @@
{ stdenv
, lib
, fetchurl
, autoPatchelfHook
, dpkg
, wrapGAppsHook
}:
stdenv.mkDerivation rec {
pname = "quickgui";
version = "1.2.8";
src = fetchurl {
url = "https://github.com/quickemu-project/quickgui/releases/download/v${version}/quickgui_${version}-1_lunar1.0_amd64.deb";
sha256 = "sha256-crnV7OWH5UbkMM/TxTIOlXmvqBgjFmQG7RxameMOjH0=";
};
nativeBuildInputs = [
autoPatchelfHook
dpkg
];
buildInputs = [
wrapGAppsHook
];
unpackCmd = "dpkg-deb -x $curSrc source";
installPhase = ''
runHook preInstall
mv usr $out
substituteInPlace $out/share/applications/quickgui.desktop \
--replace "/usr" $out
runHook postInstall
'';
meta = {
description = "A Flutter frontend for quickemu";
homepage = "https://github.com/quickemu-project/quickgui";
changelog = "https://github.com/quickemu-project/quickgui/releases/tag/v${version}";
maintainers = [ lib.maintainers.heyimnova ];
platforms = lib.platforms.linux;
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
mainProgram = "quickgui";
};
}

View File

@ -11,24 +11,15 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "miriway"; pname = "miriway";
version = "unstable-2022-12-18"; version = "unstable-2023-02-18";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Miriway"; owner = "Miriway";
repo = "Miriway"; repo = "Miriway";
rev = "d294c303cb99b7becb0d6686be9a09f0a1f57596"; rev = "1363ae0452c5093f84418bc65354e93796caec65";
hash = "sha256-H+IZgI1IQxNl5yAygbDKXkyXajGHV/mp9gEqZcp0TeE="; hash = "sha256-hQ2z3GlTJG9qewJLkPpoRMSn0D7xCLyl+1O+G4NnedA=";
}; };
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace "\''${CMAKE_INSTALL_PREFIX}/bin" "\''${CMAKE_INSTALL_BINDIR}" \
--replace "/usr/share" "\''${CMAKE_INSTALL_DATADIR}" \
--replace "/etc" "\''${CMAKE_INSTALL_SYSCONFDIR}"
sed -i -e '/project(/a include(GNUInstallDirs)' CMakeLists.txt
'';
strictDeps = true; strictDeps = true;
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -38,6 +38,9 @@ object is copied depends on its type.
- If it is *also* an ELF file, then all of its direct shared - If it is *also* an ELF file, then all of its direct shared
library dependencies are also listed as objects to be copied. library dependencies are also listed as objects to be copied.
- If an unwrapped file exists as `.[filename]-wrapped`, then it is
also listed as an object to be copied.
2. A directory's direct children are listed as objects to be copied, 2. A directory's direct children are listed as objects to be copied,
and a directory at the same absolute path in the initrd is created. and a directory at the same absolute path in the initrd is created.

View File

@ -1,8 +1,9 @@
use std::collections::{HashSet, VecDeque}; use std::collections::{HashSet, VecDeque};
use std::env; use std::env;
use std::ffi::OsStr; use std::ffi::{OsStr, OsString};
use std::fs; use std::fs;
use std::hash::Hash; use std::hash::Hash;
use std::iter::FromIterator;
use std::io::{BufRead, BufReader, Error}; use std::io::{BufRead, BufReader, Error};
use std::os::unix; use std::os::unix;
use std::path::{Component, Path, PathBuf}; use std::path::{Component, Path, PathBuf};
@ -163,6 +164,19 @@ fn handle_path(
let typ = fs::symlink_metadata(&source)?.file_type(); let typ = fs::symlink_metadata(&source)?.file_type();
if typ.is_file() && !target.exists() { if typ.is_file() && !target.exists() {
copy_file(&source, &target, queue)?; copy_file(&source, &target, queue)?;
if let Some(filename) = source.file_name() {
source.set_file_name(OsString::from_iter([
OsStr::new("."),
filename,
OsStr::new("-wrapped"),
]));
let wrapped_path = source.as_path();
if wrapped_path.exists() {
queue.push_back(Box::from(wrapped_path));
}
}
} else if typ.is_symlink() { } else if typ.is_symlink() {
let link_target = fs::read_link(&source)?; let link_target = fs::read_link(&source)?;

View File

@ -1,4 +1,4 @@
{ lib, stdenvNoCC, rustPlatform, makeWrapper, Security, gnutar, gzip, testers, fetchurl, prefetch-npm-deps, fetchNpmDeps }: { lib, stdenvNoCC, rustPlatform, makeWrapper, Security, gnutar, gzip, nix, testers, fetchurl, prefetch-npm-deps, fetchNpmDeps }:
{ {
prefetch-npm-deps = rustPlatform.buildRustPackage { prefetch-npm-deps = rustPlatform.buildRustPackage {
@ -20,7 +20,7 @@
buildInputs = lib.optional stdenvNoCC.isDarwin Security; buildInputs = lib.optional stdenvNoCC.isDarwin Security;
postInstall = '' postInstall = ''
wrapProgram "$out/bin/prefetch-npm-deps" --prefix PATH : ${lib.makeBinPath [ gnutar gzip ]} wrapProgram "$out/bin/prefetch-npm-deps" --prefix PATH : ${lib.makeBinPath [ gnutar gzip nix ]}
''; '';
passthru.tests = passthru.tests =

View File

@ -156,7 +156,7 @@ foreach my $pkgName (@order) {
$cleanedName =~ s/~//g; $cleanedName =~ s/~//g;
print " (fetchurl {\n"; print " (fetchurl {\n";
print " url = $urlPrefix/$cdata->{Filename};\n"; print " url = \"$urlPrefix/$cdata->{Filename}\";\n";
print " sha256 = \"$cdata->{SHA256}\";\n"; print " sha256 = \"$cdata->{SHA256}\";\n";
print " name = \"$cleanedName\";\n" if $cleanedName ne $origName; print " name = \"$cleanedName\";\n" if $cleanedName ne $origName;
print " })\n"; print " })\n";

View File

@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
''; '';
meta = with lib; { meta = with lib; {
homepage = "http://www.upperbounds.net"; homepage = "https://www.upperbounds.net";
description = "A set of fixed-width screen fonts that are designed for code listings"; description = "A set of fixed-width screen fonts that are designed for code listings";
license = licenses.mit; license = licenses.mit;
platforms = platforms.all; platforms = platforms.all;

View File

@ -2,11 +2,11 @@
stdenvNoCC.mkDerivation rec { stdenvNoCC.mkDerivation rec {
pname = "clash-geoip"; pname = "clash-geoip";
version = "20230112"; version = "20230212";
src = fetchurl { src = fetchurl {
url = "https://github.com/Dreamacro/maxmind-geoip/releases/download/${version}/Country.mmdb"; url = "https://github.com/Dreamacro/maxmind-geoip/releases/download/${version}/Country.mmdb";
sha256 = "sha256-mMu+U3gtoZmi6LrTMTqsNZKZ+w4J6LZ16Aorneyy7P8="; sha256 = "sha256-Tnma6tpET4Vrm5G8KmLpsVnpD2JIKts56kZQsBIbRZ8=";
}; };
dontUnpack = true; dontUnpack = true;

View File

@ -15,7 +15,7 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "warpinator"; pname = "warpinator";
version = "1.4.4"; version = "1.4.5";
format = "other"; format = "other";
@ -23,7 +23,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "linuxmint"; owner = "linuxmint";
repo = pname; repo = pname;
rev = version; rev = version;
hash = "sha256-oHJOwdCvHnPalTHb5E3mNDYBaR9ZvlV1F6ux7nejBlc="; hash = "sha256-5mMV4WinpFR9ihgoQsgIXre0VpBdg9S8GjSkx+7ocLg=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -0,0 +1,45 @@
{ stdenv
, lib
, fetchFromGitHub
, dde-api
}:
stdenv.mkDerivation rec {
pname = "deepin-wallpapers";
version = "1.7.10";
src = fetchFromGitHub {
owner = "linuxdeepin";
repo = pname;
rev = version;
sha256 = "sha256-D7DXyPh74VlYn5vKUzDh/P/xoskxs8N/BEg5ZemXRwk=";
};
nativeBuildInputs = [ dde-api ];
postPatch = ''
patchShebangs blur_image.sh
substituteInPlace blur_image.sh \
--replace /usr/lib/deepin-api/image-blur ${dde-api}/lib/deepin-api/image-blur
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/wallpapers/deepin
cp deepin/* $out/share/wallpapers/deepin
mkdir -p $out/share/wallpapers/image-blur
cp image-blur/* $out/share/wallpapers/image-blur
mkdir -p $out/share/backgrounds
ln -s $out/share/wallpapers/deepin/desktop.jpg $out/share/backgrounds/default_background.jpg
runHook postInstall
'';
meta = with lib; {
description = "deepin-wallpapers provides wallpapers of dde";
homepage = "https://github.com/linuxdeepin/deepin-wallpapers";
license = with licenses; [ gpl3Plus cc-by-sa-30 ];
platforms = platforms.linux;
maintainers = teams.deepin.members;
};
}

View File

@ -0,0 +1,61 @@
{ stdenv
, lib
, fetchFromGitHub
, dtkwidget
, qt5integration
, qt5platform-plugins
, dde-qt-dbus-factory
, pkg-config
, cmake
, qttools
, wrapQtAppsHook
, polkit-qt
, qtbase
}:
stdenv.mkDerivation rec {
pname = "dde-polkit-agent";
version = "5.5.22";
src = fetchFromGitHub {
owner = "linuxdeepin";
repo = pname;
rev = version;
sha256 = "sha256-4wAqMymLPxKXbfAx2PtkEGfwenphPxBZn+qCdcyqNc0=";
};
postPatch = ''
substituteInPlace AuthDialog.cpp \
--replace "/usr/share/dde-session-shell/dde-session-shell.conf" "/etc/dde-session-shell/dde-session-shell.conf"
'';
nativeBuildInputs = [
cmake
pkg-config
qttools
wrapQtAppsHook
];
buildInputs = [
dtkwidget
qt5platform-plugins
dde-qt-dbus-factory
polkit-qt
];
# qt5integration must be placed before qtsvg in QT_PLUGIN_PATH
qtWrapperArgs = [
"--prefix QT_PLUGIN_PATH : ${qt5integration}/${qtbase.qtPluginPrefix}"
];
postFixup = ''
wrapQtApp $out/lib/polkit-1-dde/dde-polkit-agent
'';
meta = with lib; {
description = "PolicyKit agent for Deepin Desktop Environment";
homepage = "https://github.com/linuxdeepin/dde-polkit-agent";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = teams.deepin.members;
};
}

View File

@ -0,0 +1,51 @@
{ stdenv
, lib
, fetchFromGitHub
, cmake
, pkg-config
, qttools
, wrapQtAppsHook
, dtkwidget
, dde-polkit-agent
, libsecret
, libgnome-keyring
}:
stdenv.mkDerivation rec {
pname = "dpa-ext-gnomekeyring";
version = "5.0.11";
src = fetchFromGitHub {
owner = "linuxdeepin";
repo = pname;
rev = version;
sha256 = "sha256-mXaGwbtEwaqfOT0izK64zX4s3VFmsRpUGOVm6oSEhn8=";
};
postPatch = ''
substituteInPlace gnomekeyringextention.cpp \
--replace "/usr/share/dpa-ext-gnomekeyring" "$out/share/dpa-ext-gnomekeyring"
'';
nativeBuildInputs = [
cmake
pkg-config
qttools
wrapQtAppsHook
];
buildInputs = [
dtkwidget
dde-polkit-agent
libgnome-keyring
libsecret
];
meta = with lib; {
description = "GNOME keyring extension for dde-polkit-agent";
homepage = "https://github.com/linuxdeepin/dpa-ext-gnomekeyring";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = teams.deepin.members;
};
}

View File

@ -29,6 +29,10 @@ let
image-editor = callPackage ./library/image-editor { }; image-editor = callPackage ./library/image-editor { };
udisks2-qt5 = callPackage ./library/udisks2-qt5 { }; udisks2-qt5 = callPackage ./library/udisks2-qt5 { };
#### CORE
dde-polkit-agent = callPackage ./core/dde-polkit-agent { };
dpa-ext-gnomekeyring = callPackage ./core/dpa-ext-gnomekeyring { };
#### Dtk Application #### Dtk Application
deepin-album = callPackage ./apps/deepin-album { }; deepin-album = callPackage ./apps/deepin-album { };
deepin-calculator = callPackage ./apps/deepin-calculator { }; deepin-calculator = callPackage ./apps/deepin-calculator { };
@ -54,6 +58,7 @@ let
#### ARTWORK #### ARTWORK
dde-account-faces = callPackage ./artwork/dde-account-faces { }; dde-account-faces = callPackage ./artwork/dde-account-faces { };
deepin-icon-theme = callPackage ./artwork/deepin-icon-theme { }; deepin-icon-theme = callPackage ./artwork/deepin-icon-theme { };
deepin-wallpapers = callPackage ./artwork/deepin-wallpapers { };
deepin-gtk-theme = callPackage ./artwork/deepin-gtk-theme { }; deepin-gtk-theme = callPackage ./artwork/deepin-gtk-theme { };
deepin-sound-theme = callPackage ./artwork/deepin-sound-theme { }; deepin-sound-theme = callPackage ./artwork/deepin-sound-theme { };

View File

@ -1,14 +1,14 @@
{ lib, stdenv, fetchFromGitHub, substituteAll, glib, gnome, gettext }: { lib, stdenv, fetchFromGitHub, substituteAll, glib, gnome, gettext, jq }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-shell-extension-EasyScreenCast"; pname = "gnome-shell-extension-EasyScreenCast";
version = "1.4.0"; version = "1.7.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "EasyScreenCast"; owner = "EasyScreenCast";
repo = "EasyScreenCast"; repo = "EasyScreenCast";
rev = version; rev = version;
sha256 = "sha256-+lh/hqYC9+DUvLE016KuAY4Ybw8KrqEEG7WG4pUbg2k="; hash = "sha256-+cH/gczCdxoSrLp5nD82Spo8bSGyRnUUut3Xkmr9f3o=";
}; };
patches = [ patches = [
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
]; ];
nativeBuildInputs = [ nativeBuildInputs = [
glib gettext glib gettext jq
]; ];
makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ]; makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ];

View File

@ -1,16 +1,40 @@
diff --git i/utilaudio.js w/utilaudio.js diff --git a/prefs.js b/prefs.js
index 983b29c..7a94de8 100644 index 97b85a3..2fc6539 100644
--- i/utilaudio.js --- a/prefs.js
+++ w/utilaudio.js +++ b/prefs.js
@@ -11,10 +11,7 @@ @@ -14,8 +14,8 @@
*/ 'use strict';
const GIRepository = imports.gi.GIRepository; const GIRepository = imports.gi.GIRepository;
-GIRepository.Repository.prepend_search_path("/usr/lib/gnome-shell"); -GIRepository.Repository.prepend_search_path('/usr/lib64/gnome-shell');
-GIRepository.Repository.prepend_library_path("/usr/lib/gnome-shell"); -GIRepository.Repository.prepend_library_path('/usr/lib64/gnome-shell');
-GIRepository.Repository.prepend_search_path("/usr/lib64/gnome-shell"); +GIRepository.Repository.prepend_search_path('@gnomeShell@/lib/gnome-shell');
-GIRepository.Repository.prepend_library_path("/usr/lib64/gnome-shell"); +GIRepository.Repository.prepend_library_path('@gnomeShell@/lib/gnome-shell');
const GObject = imports.gi.GObject;
const Gio = imports.gi.Gio;
@@ -746,7 +746,7 @@ const EasyScreenCastSettingsWidget = GObject.registerClass({
Lib.TalkativeLog('-^-NOT SET xdg-user video');
ctx.CtrlExe.Execute(
- '/usr/bin/sh -c "echo $HOME"',
+ '/bin/sh -c "echo $HOME"',
true,
(success, out) => {
Lib.TalkativeLog(`-^-CALLBACK sync S: ${success} out: ${out}`);
diff --git a/utilaudio.js b/utilaudio.js
index 957eda2..84af241 100644
--- a/utilaudio.js
+++ b/utilaudio.js
@@ -15,10 +15,7 @@
const GObject = imports.gi.GObject;
const GIRepository = imports.gi.GIRepository;
-GIRepository.Repository.prepend_search_path('/usr/lib/gnome-shell');
-GIRepository.Repository.prepend_library_path('/usr/lib/gnome-shell');
-GIRepository.Repository.prepend_search_path('/usr/lib64/gnome-shell');
-GIRepository.Repository.prepend_library_path('/usr/lib64/gnome-shell');
+GIRepository.Repository.prepend_search_path("@gnomeShell@/lib/gnome-shell"); +GIRepository.Repository.prepend_search_path("@gnomeShell@/lib/gnome-shell");
const Gvc = imports.gi.Gvc; const Gvc = imports.gi.Gvc;
const Lang = imports.lang;
const ExtensionUtils = imports.misc.extensionUtils;

View File

@ -10,12 +10,12 @@
ocamlPackages.buildDunePackage rec { ocamlPackages.buildDunePackage rec {
pname = "ligo"; pname = "ligo";
version = "0.59.0"; version = "0.60.0";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "ligolang"; owner = "ligolang";
repo = "ligo"; repo = "ligo";
rev = version; rev = version;
sha256 = "sha256-JwFFreUV70W5soXY0UF8/4QlN2oWejdxqwh4KT5VDoQ="; sha256 = "sha256-gyMSpy+F3pF2Kv1ygUs20mrspJ6GtJ6ySyZD7zfZj2w=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
@ -94,6 +94,7 @@ ocamlPackages.buildDunePackage rec {
data-encoding data-encoding
pure-splitmix pure-splitmix
zarith_stubs_js zarith_stubs_js
simple-diff
]; ];
nativeCheckInputs = [ nativeCheckInputs = [

View File

@ -17,7 +17,7 @@ in
assert useX11 -> safeX11 stdenv; assert useX11 -> safeX11 stdenv;
assert aflSupport -> lib.versionAtLeast version "4.05"; assert aflSupport -> lib.versionAtLeast version "4.05";
assert flambdaSupport -> lib.versionAtLeast version "4.03"; assert flambdaSupport -> lib.versionAtLeast version "4.03";
assert spaceTimeSupport -> lib.versionAtLeast version "4.04"; assert spaceTimeSupport -> lib.versionAtLeast version "4.04" && lib.versionOlder version "4.12";
assert unsafeStringSupport -> lib.versionAtLeast version "4.06" && lib.versionOlder version "5.0"; assert unsafeStringSupport -> lib.versionAtLeast version "4.06" && lib.versionOlder version "5.0";
let let

View File

@ -10,7 +10,7 @@ rustPlatform.buildRustPackage {
# changes hash of vendor directory otherwise # changes hash of vendor directory otherwise
dontUpdateAutotoolsGnuConfigScripts = true; dontUpdateAutotoolsGnuConfigScripts = true;
buildInputs = [ rustc rustc.llvm ] ++ lib.optionals stdenv.isDarwin [ Security ]; buildInputs = [ rustc.llvm ] ++ lib.optionals stdenv.isDarwin [ Security ];
# fixes: error: the option `Z` is only accepted on the nightly compiler # fixes: error: the option `Z` is only accepted on the nightly compiler
RUSTC_BOOTSTRAP = 1; RUSTC_BOOTSTRAP = 1;
@ -20,14 +20,21 @@ rustPlatform.buildRustPackage {
# (/private/tmp/nix-build-clippy-1.36.0.drv-0/rustc-1.36.0-src/src/librustc_llvm) # (/private/tmp/nix-build-clippy-1.36.0.drv-0/rustc-1.36.0-src/src/librustc_llvm)
doCheck = false; doCheck = false;
# Clippy uses the rustc_driver and std private libraries, and Rust's build process forces them to have
# an install name of `@rpath/...` [0] [1] instead of the standard on macOS, which is an absolute path
# to itself.
#
# [0]: https://github.com/rust-lang/rust/blob/f77f4d55bdf9d8955d3292f709bd9830c2fdeca5/src/bootstrap/builder.rs#L1543
# [1]: https://github.com/rust-lang/rust/blob/f77f4d55bdf9d8955d3292f709bd9830c2fdeca5/compiler/rustc_codegen_ssa/src/back/linker.rs#L323-L331
preFixup = lib.optionalString stdenv.isDarwin '' preFixup = lib.optionalString stdenv.isDarwin ''
install_name_tool -add_rpath "${rustc}/lib" $out/bin/clippy-driver install_name_tool -add_rpath "${rustc}/lib" "$out/bin/clippy-driver"
install_name_tool -add_rpath "${rustc}/lib" "$out/bin/cargo-clippy"
''; '';
meta = with lib; { meta = with lib; {
homepage = "https://rust-lang.github.io/rust-clippy/"; homepage = "https://rust-lang.github.io/rust-clippy/";
description = "A bunch of lints to catch common mistakes and improve your Rust code"; description = "A bunch of lints to catch common mistakes and improve your Rust code";
maintainers = with maintainers; [ basvandijk ]; maintainers = with maintainers; [ basvandijk ] ++ teams.rust.members;
license = with licenses; [ mit asl20 ]; license = with licenses; [ mit asl20 ];
platforms = platforms.unix; platforms = platforms.unix;
}; };

View File

@ -11,6 +11,8 @@
, sha256 , sha256
, patches ? [] , patches ? []
, fd , fd
, ripgrep
, wezterm
, firefox , firefox
, thunderbird , thunderbird
}: }:
@ -204,7 +206,9 @@ in stdenv.mkDerivation rec {
passthru = { passthru = {
llvm = llvmShared; llvm = llvmShared;
inherit llvmPackages; inherit llvmPackages;
tests = { inherit fd; } // lib.optionalAttrs stdenv.hostPlatform.isLinux { inherit firefox thunderbird; }; tests = {
inherit fd ripgrep wezterm;
} // lib.optionalAttrs stdenv.hostPlatform.isLinux { inherit firefox thunderbird; };
}; };
meta = with lib; { meta = with lib; {

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "love"; pname = "love";
version = "11.4"; version = "0.10.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "love2d"; owner = "love2d";
repo = "love"; repo = "love";
rev = version; rev = version;
sha256 = "sha256-C/Ifd0KjmaM5Y2fxBiDNz1GQoT4GeH/vyUCiira57U4="; sha256 = "19yfmlcx6w8yi4ndm5lni8lrsvnn77bxw5py0dc293nzzlaqa9ym";
}; };
nativeBuildInputs = [ pkg-config autoconf automake ]; nativeBuildInputs = [ pkg-config autoconf automake ];

View File

@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
in the Metamath Proof Explorer, and it generated its web pages. The *.mm in the Metamath Proof Explorer, and it generated its web pages. The *.mm
ASCII databases (set.mm and others) are also included in this derivation. ASCII databases (set.mm and others) are also included in this derivation.
''; '';
homepage = "http://us.metamath.org"; homepage = "https://us.metamath.org";
downloadPage = "https://us.metamath.org/#downloads"; downloadPage = "https://us.metamath.org/#downloads";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = [ maintainers.taneb ]; maintainers = [ maintainers.taneb ];

View File

@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "C++ linear algebra library"; description = "C++ linear algebra library";
homepage = "http://arma.sourceforge.net"; homepage = "https://arma.sourceforge.net";
license = licenses.asl20; license = licenses.asl20;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ juliendehos knedlsepp ]; maintainers = with maintainers; [ juliendehos knedlsepp ];

View File

@ -37,6 +37,10 @@ stdenv.mkDerivation rec {
./Install-contribs-lib.patch ./Install-contribs-lib.patch
# From arch # From arch
./fix-missing-include-time.patch ./fix-missing-include-time.patch
# required for darwin and linux-musl
./pthread-include.patch
] ++ lib.optionals stdenv.isDarwin [ ./fix-darwin.patch ]; ] ++ lib.optionals stdenv.isDarwin [ ./fix-darwin.patch ];
# fails with "Unable to find executable: # fails with "Unable to find executable:
@ -57,7 +61,7 @@ stdenv.mkDerivation rec {
CLucene is a port of the very popular Java Lucene text search engine API. CLucene is a port of the very popular Java Lucene text search engine API.
''; '';
homepage = "http://clucene.sourceforge.net"; homepage = "https://clucene.sourceforge.net";
platforms = platforms.unix; platforms = platforms.unix;
license = with licenses; [ asl20 lgpl2 ]; license = with licenses; [ asl20 lgpl2 ];
}; };

View File

@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
CLucene is a port of the very popular Java Lucene text search engine API. CLucene is a port of the very popular Java Lucene text search engine API.
''; '';
homepage = "http://clucene.sourceforge.net"; homepage = "https://clucene.sourceforge.net";
platforms = platforms.unix; platforms = platforms.unix;
license = with licenses; [ asl20 lgpl2 ]; license = with licenses; [ asl20 lgpl2 ];
}; };

View File

@ -1,16 +1,3 @@
--- a/src/shared/CLucene/LuceneThreads.h
+++ b/src/shared/CLucene/LuceneThreads.h
@@ -7,6 +7,9 @@
#ifndef _LuceneThreads_h
#define _LuceneThreads_h
+#if defined(_CL_HAVE_PTHREAD)
+ #include <pthread.h>
+#endif
CL_NS_DEF(util)
class CLuceneThreadIdCompare;
--- a/src/shared/CLucene/config/repl_tchar.h --- a/src/shared/CLucene/config/repl_tchar.h
+++ b/src/shared/CLucene/config/repl_tchar.h +++ b/src/shared/CLucene/config/repl_tchar.h
@@ -28,26 +28,26 @@ @@ -28,26 +28,26 @@

View File

@ -0,0 +1,14 @@
--- a/src/shared/CLucene/LuceneThreads.h
+++ b/src/shared/CLucene/LuceneThreads.h
@@ -7,6 +7,9 @@
#ifndef _LuceneThreads_h
#define _LuceneThreads_h
+#if defined(_CL_HAVE_PTHREAD)
+ #include <pthread.h>
+#endif
CL_NS_DEF(util)
class CLuceneThreadIdCompare;

View File

@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
configureFlags = [ "--disable-ecore" "--disable-tests" ]; configureFlags = [ "--disable-ecore" "--disable-tests" ];
meta = with lib; { meta = with lib; {
homepage = "http://dbus-cplusplus.sourceforge.net"; homepage = "https://dbus-cplusplus.sourceforge.net";
description = "C++ API for D-BUS"; description = "C++ API for D-BUS";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
platforms = platforms.linux; platforms = platforms.linux;

View File

@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Word-processor-style highlighting and replacement of misspelled words"; description = "Word-processor-style highlighting and replacement of misspelled words";
homepage = "http://gtkspell.sourceforge.net"; homepage = "https://gtkspell.sourceforge.net";
platforms = platforms.unix; platforms = platforms.unix;
license = licenses.gpl2; license = licenses.gpl2;
}; };

View File

@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
command line interface or in a text-oriented interactive interface. command line interface or in a text-oriented interactive interface.
''; '';
license = with licenses; [ gpl2Plus lgpl2Plus ]; license = with licenses; [ gpl2Plus lgpl2Plus ];
homepage = "http://hamlib.sourceforge.net"; homepage = "https://hamlib.sourceforge.net";
maintainers = with maintainers; [ relrod ]; maintainers = with maintainers; [ relrod ];
platforms = with platforms; unix; platforms = with platforms; unix;
}; };

View File

@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
command line interface or in a text-oriented interactive interface. command line interface or in a text-oriented interactive interface.
''; '';
license = with licenses; [ gpl2Plus lgpl2Plus ]; license = with licenses; [ gpl2Plus lgpl2Plus ];
homepage = "http://hamlib.sourceforge.net"; homepage = "https://hamlib.sourceforge.net";
maintainers = with maintainers; [ relrod ]; maintainers = with maintainers; [ relrod ];
platforms = with platforms; unix; platforms = with platforms; unix;
}; };

View File

@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
hardeningDisable = [ "format" ]; hardeningDisable = [ "format" ];
meta = with lib; { meta = with lib; {
homepage = "http://hunspell.sourceforge.net"; homepage = "https://hunspell.sourceforge.net";
description = "Spell checker"; description = "Spell checker";
longDescription = '' longDescription = ''
Hunspell is the spell checker of LibreOffice, OpenOffice.org, Mozilla Hunspell is the spell checker of LibreOffice, OpenOffice.org, Mozilla

View File

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Library for reading, writing, and manipulating ID3v1 and ID3v2 tags"; description = "Library for reading, writing, and manipulating ID3v1 and ID3v2 tags";
homepage = "http://id3lib.sourceforge.net"; homepage = "https://id3lib.sourceforge.net";
platforms = platforms.unix; platforms = platforms.unix;
license = licenses.lgpl2; license = licenses.lgpl2;
}; };

View File

@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
''; '';
meta = with lib; { meta = with lib; {
homepage = "http://httpunit.sourceforge.net"; homepage = "https://httpunit.sourceforge.net";
platforms = platforms.unix; platforms = platforms.unix;
license = licenses.mit; license = licenses.mit;
}; };

View File

@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "An open source clone of the Motif widget set"; description = "An open source clone of the Motif widget set";
homepage = "http://lesstif.sourceforge.net"; homepage = "https://lesstif.sourceforge.net";
platforms = platforms.unix; platforms = platforms.unix;
license = with licenses; [ gpl2 lgpl2 ]; license = with licenses; [ gpl2 lgpl2 ];
}; };

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