Merge master into haskell-updates
This commit is contained in:
commit
5fce642ce6
260 changed files with 2281 additions and 1171 deletions
|
@ -95,3 +95,9 @@ trim_trailing_whitespace = unset
|
|||
|
||||
[pkgs/tools/misc/timidity/timidity.cfg]
|
||||
trim_trailing_whitespace = unset
|
||||
|
||||
[pkgs/tools/virtualization/ovftool/*.ova]
|
||||
end_of_line = unset
|
||||
insert_final_newline = unset
|
||||
trim_trailing_whitespace = unset
|
||||
charset = unset
|
||||
|
|
|
@ -5912,6 +5912,15 @@
|
|||
githubId = 41522204;
|
||||
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 = {
|
||||
email = "hh@m-labs.hk";
|
||||
github = "HarryMakes";
|
||||
|
@ -14933,7 +14942,7 @@
|
|||
};
|
||||
toastal = {
|
||||
email = "toastal+nix@posteo.net";
|
||||
matrix = "@toastal:chat.mozilla.org";
|
||||
matrix = "@toastal:mozilla.org";
|
||||
github = "toastal";
|
||||
githubId = 561087;
|
||||
name = "toastal";
|
||||
|
|
|
@ -168,7 +168,6 @@ in
|
|||
"${config.boot.initrd.systemd.package.kbd}/bin/setfont"
|
||||
"${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-wrapped"
|
||||
] ++ optionals (hasPrefix builtins.storeDir cfg.font) [
|
||||
"${cfg.font}"
|
||||
] ++ optionals (hasPrefix builtins.storeDir cfg.keyMap) [
|
||||
|
|
|
@ -65,8 +65,6 @@ in {
|
|||
] ++ optional pkgs.stdenv.hostPlatform.isAarch raspberrypiWirelessFirmware
|
||||
++ optionals (versionOlder config.boot.kernelPackages.kernel.version "4.13") [
|
||||
rtl8723bs-firmware
|
||||
] ++ optionals (versionOlder config.boot.kernelPackages.kernel.version "5.16") [
|
||||
rtw89-firmware
|
||||
];
|
||||
hardware.wirelessRegulatoryDatabase = true;
|
||||
})
|
||||
|
|
|
@ -128,7 +128,7 @@ To backup your home directory to borgbase you have to:
|
|||
- Initialize the repository on the server. Eg.
|
||||
|
||||
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
|
||||
|
||||
- Add it to your NixOS configuration, e.g.
|
||||
|
|
|
@ -137,7 +137,7 @@ in {
|
|||
wantedBy = [ "multi-user.target" ];
|
||||
wants = [ "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
|
||||
# the running user if using a postgresql database:
|
||||
|
|
|
@ -615,6 +615,7 @@ in
|
|||
s3_endpoint = null;
|
||||
s3_http_continue_timeout = null;
|
||||
s3_install_cors_rule = null;
|
||||
s3_asset_cdn_url = null;
|
||||
|
||||
max_user_api_reqs_per_minute = 20;
|
||||
max_user_api_reqs_per_day = 2880;
|
||||
|
@ -647,6 +648,9 @@ in
|
|||
multisite_config_path = "config/multisite.yml";
|
||||
enable_long_polling = null;
|
||||
long_polling_interval = null;
|
||||
preload_link_header = false;
|
||||
redirect_avatar_requests = false;
|
||||
pg_force_readonly_mode = false;
|
||||
};
|
||||
|
||||
services.redis.servers.discourse =
|
||||
|
@ -1011,6 +1015,7 @@ in
|
|||
notification_email = cfg.mail.notificationEmailAddress;
|
||||
contact_email = cfg.mail.contactEmailAddress;
|
||||
};
|
||||
security.force_https = tlsEnabled;
|
||||
email = {
|
||||
manual_polling_enabled = cfg.mail.incoming.enable;
|
||||
reply_by_email_enabled = cfg.mail.incoming.enable;
|
||||
|
|
|
@ -427,9 +427,6 @@ in {
|
|||
# fido2 support
|
||||
"${cfg.package}/lib/cryptsetup/libcryptsetup-token-systemd-fido2.so"
|
||||
"${pkgs.libfido2}/lib/libfido2.so.1"
|
||||
|
||||
# the unwrapped systemd-cryptsetup executable
|
||||
"${cfg.package}/lib/systemd/.systemd-cryptsetup-wrapped"
|
||||
] ++ jobScripts;
|
||||
|
||||
targets.initrd.aliases = ["default.target"];
|
||||
|
|
|
@ -368,6 +368,7 @@ in {
|
|||
login = handleTest ./login.nix {};
|
||||
logrotate = handleTest ./logrotate.nix {};
|
||||
loki = handleTest ./loki.nix {};
|
||||
luks = handleTest ./luks.nix {};
|
||||
lvm2 = handleTest ./lvm2 {};
|
||||
lxd = handleTest ./lxd.nix {};
|
||||
lxd-nftables = handleTest ./lxd-nftables.nix {};
|
||||
|
@ -646,6 +647,7 @@ in {
|
|||
systemd-confinement = handleTest ./systemd-confinement.nix {};
|
||||
systemd-coredump = handleTest ./systemd-coredump.nix {};
|
||||
systemd-cryptenroll = handleTest ./systemd-cryptenroll.nix {};
|
||||
systemd-credentials-tpm2 = handleTest ./systemd-credentials-tpm2.nix {};
|
||||
systemd-escaping = handleTest ./systemd-escaping.nix {};
|
||||
systemd-initrd-btrfs-raid = handleTest ./systemd-initrd-btrfs-raid.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-simple = handleTest ./systemd-initrd-simple.nix {};
|
||||
systemd-initrd-swraid = handleTest ./systemd-initrd-swraid.nix {};
|
||||
systemd-initrd-vconsole = handleTest ./systemd-initrd-vconsole.nix {};
|
||||
systemd-journal = handleTest ./systemd-journal.nix {};
|
||||
systemd-machinectl = handleTest ./systemd-machinectl.nix {};
|
||||
systemd-networkd = handleTest ./systemd-networkd.nix {};
|
||||
|
|
|
@ -40,7 +40,7 @@ import ./make-test-python.nix (
|
|||
|
||||
networking.extraHosts = ''
|
||||
127.0.0.1 ${discourseDomain}
|
||||
${nodes.client.config.networking.primaryIPAddress} ${clientDomain}
|
||||
${nodes.client.networking.primaryIPAddress} ${clientDomain}
|
||||
'';
|
||||
|
||||
services.postfix = {
|
||||
|
@ -90,7 +90,7 @@ import ./make-test-python.nix (
|
|||
|
||||
networking.extraHosts = ''
|
||||
127.0.0.1 ${clientDomain}
|
||||
${nodes.discourse.config.networking.primaryIPAddress} ${discourseDomain}
|
||||
${nodes.discourse.networking.primaryIPAddress} ${discourseDomain}
|
||||
'';
|
||||
|
||||
services.dovecot2 = {
|
||||
|
@ -178,8 +178,8 @@ import ./make-test-python.nix (
|
|||
discourse.wait_until_succeeds("curl -sS -f https://${discourseDomain}")
|
||||
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 -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}/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}/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.services.discourse.admin.username}",
|
||||
)
|
||||
|
||||
client.wait_for_unit("postfix.service")
|
||||
|
|
69
nixos/tests/luks.nix
Normal file
69
nixos/tests/luks.nix
Normal 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")
|
||||
'';
|
||||
})
|
|
@ -3,7 +3,10 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
|||
|
||||
meta = {
|
||||
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;
|
||||
};
|
||||
|
||||
|
@ -30,6 +33,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
|||
enable = true;
|
||||
config = ''
|
||||
add-wayland-extensions=all
|
||||
enable-x11=
|
||||
|
||||
ctrl-alt=t:foot --maximized
|
||||
ctrl-alt=a:env WINIT_UNIX_BACKEND=x11 WAYLAND_DISPLAY=invalid alacritty --option window.startup_mode=maximized
|
||||
|
|
124
nixos/tests/systemd-credentials-tpm2.nix
Normal file
124
nixos/tests/systemd-credentials-tpm2.nix
Normal 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}")
|
||||
'';
|
||||
})
|
33
nixos/tests/systemd-initrd-vconsole.nix
Normal file
33
nixos/tests/systemd-initrd-vconsole.nix
Normal 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")
|
||||
'';
|
||||
})
|
|
@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "Realtime modular synthesizer for ALSA";
|
||||
homepage = "http://alsamodular.sourceforge.net";
|
||||
homepage = "https://alsamodular.sourceforge.net";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ sjfloat ];
|
||||
|
|
|
@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "A range of synthesiser, electric piano and organ emulations";
|
||||
homepage = "http://bristol.sourceforge.net";
|
||||
homepage = "https://bristol.sourceforge.net";
|
||||
license = licenses.gpl3;
|
||||
platforms = ["x86_64-linux" "i686-linux"];
|
||||
maintainers = [ maintainers.goibhniu ];
|
||||
|
|
|
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
|||
];
|
||||
|
||||
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";
|
||||
license = licenses.lgpl2;
|
||||
maintainers = [ maintainers.goibhniu ];
|
||||
|
|
|
@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
|
|||
CFLAGS = lib.optionalString debug " -DDEBUG=2";
|
||||
|
||||
meta = {
|
||||
homepage = "http://eflite.sourceforge.net";
|
||||
homepage = "https://eflite.sourceforge.net";
|
||||
description = "Speech server for screen readers";
|
||||
longDescription = ''
|
||||
EFlite is a speech server for Emacspeak and other screen
|
||||
|
|
|
@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
|
|||
software, released under the GNU GPL license.
|
||||
'' ;
|
||||
|
||||
homepage = "http://freewheeling.sourceforge.net";
|
||||
homepage = "https://freewheeling.sourceforge.net";
|
||||
license = lib.licenses.gpl2;
|
||||
maintainers = [ lib.maintainers.sepi ];
|
||||
platforms = lib.platforms.linux;
|
||||
|
|
|
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://jamin.sourceforge.net";
|
||||
homepage = "https://jamin.sourceforge.net";
|
||||
description = "JACK Audio Mastering interface";
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.nico202 ];
|
||||
|
|
|
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
|||
meta = with lib; {
|
||||
description = "MIDI controllable audio sampler";
|
||||
longDescription = "a fork of Specimen";
|
||||
homepage = "http://petri-foo.sourceforge.net";
|
||||
homepage = "https://petri-foo.sourceforge.net";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.goibhniu ];
|
||||
|
|
|
@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
|
|||
parallel.
|
||||
'';
|
||||
|
||||
homepage = "http://qmidiarp.sourceforge.net";
|
||||
homepage = "https://qmidiarp.sourceforge.net";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ sjfloat ];
|
||||
|
|
|
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
|
|||
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;
|
||||
maintainers = [ maintainers.vanzef ];
|
||||
platforms = platforms.linux;
|
||||
|
|
|
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "Multi-effects processor emulating a guitar effects pedalboard";
|
||||
homepage = "http://rakarrack.sourceforge.net";
|
||||
homepage = "https://rakarrack.sourceforge.net";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.goibhniu ];
|
||||
|
|
|
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
|||
]; # taken from the debian yasr package
|
||||
|
||||
meta = {
|
||||
homepage = "http://yasr.sourceforge.net";
|
||||
homepage = "https://yasr.sourceforge.net";
|
||||
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.";
|
||||
platforms = lib.platforms.linux;
|
||||
|
|
|
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "Ncurses based hex editor with a vim-like interface";
|
||||
homepage = "http://bviplus.sourceforge.net";
|
||||
homepage = "https://bviplus.sourceforge.net";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ cstrahan ];
|
||||
|
|
|
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "File editor/viewer/analyzer for executables";
|
||||
homepage = "http://hte.sourceforge.net";
|
||||
homepage = "https://hte.sourceforge.net";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ cstrahan ];
|
||||
|
|
|
@ -3418,6 +3418,18 @@ final: prev:
|
|||
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 {
|
||||
pname = "godbolt.nvim";
|
||||
version = "2023-01-02";
|
||||
|
@ -13401,6 +13413,18 @@ final: prev:
|
|||
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 {
|
||||
pname = "vim-wakatime";
|
||||
version = "2023-02-06";
|
||||
|
|
|
@ -285,6 +285,7 @@ https://github.com/gregsexton/gitv/,,
|
|||
https://github.com/DNLHC/glance.nvim/,HEAD,
|
||||
https://github.com/gleam-lang/gleam.vim/,,
|
||||
https://github.com/ellisonleao/glow.nvim/,,
|
||||
https://github.com/ray-x/go.nvim/,HEAD,
|
||||
https://github.com/p00f/godbolt.nvim/,HEAD,
|
||||
https://github.com/roman/golden-ratio/,,
|
||||
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-integ/,,
|
||||
https://github.com/posva/vim-vue/,,
|
||||
https://github.com/leafOfTree/vim-vue-plugin/,HEAD,
|
||||
https://github.com/wakatime/vim-wakatime/,,
|
||||
https://github.com/osyo-manga/vim-watchdogs/,,
|
||||
https://github.com/jasonccox/vim-wayland-clipboard/,,
|
||||
|
|
|
@ -1741,6 +1741,23 @@ let
|
|||
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 {
|
||||
mktplcRef = {
|
||||
name = "lisp";
|
||||
|
|
|
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "A fast image viewer";
|
||||
homepage = "http://gqview.sourceforge.net";
|
||||
homepage = "https://gqview.sourceforge.net";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ ];
|
||||
|
|
|
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "An offline thesaurus based on WordNet";
|
||||
homepage = "http://artha.sourceforge.net";
|
||||
homepage = "https://artha.sourceforge.net";
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.goibhniu ];
|
||||
platforms = platforms.linux;
|
||||
|
|
|
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "An audio resampling library";
|
||||
homepage = "http://soxr.sourceforge.net";
|
||||
homepage = "https://soxr.sourceforge.net";
|
||||
license = licenses.lgpl21Plus;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ ];
|
||||
|
|
|
@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with lib; {
|
||||
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;
|
||||
maintainers = with maintainers; [ Anton-Latukha ];
|
||||
platforms = platforms.all;
|
||||
|
|
|
@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
|
|||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://eaglemode.sourceforge.net";
|
||||
homepage = "https://eaglemode.sourceforge.net";
|
||||
description = "Zoomable User Interface";
|
||||
changelog = "https://eaglemode.sourceforge.net/ChangeLog.html";
|
||||
license = licenses.gpl3;
|
||||
|
|
|
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
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";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.all;
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
let
|
||||
pname = "joplin-desktop";
|
||||
version = "2.9.17";
|
||||
version = "2.10.4";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
inherit (stdenv.hostPlatform) system;
|
||||
|
@ -16,8 +16,8 @@ let
|
|||
src = fetchurl {
|
||||
url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}.${suffix}";
|
||||
sha256 = {
|
||||
x86_64-linux = "sha256-kdmxSXKHIyVdvVNEoZkSIQlOkTt97bpAdrV0sxhL1Ug=";
|
||||
x86_64-darwin = "sha256-o3Q5foEuBi4OTHr6mP0ZXOxkkUw/c/jXaZOtztQf0gM=";
|
||||
x86_64-linux = "sha256-KEEPPtWxaY6+Nu/CE+AVAnaVZ30zmASWiIYaJt4a+3E=";
|
||||
x86_64-darwin = "sha256-8Rkj1pV6tJygznbfELnAhzhh7ImnTm9dxCxCjYlWdnU=";
|
||||
}.${system} or throwSystem;
|
||||
};
|
||||
|
||||
|
@ -35,7 +35,7 @@ let
|
|||
Markdown format.
|
||||
'';
|
||||
homepage = "https://joplinapp.org";
|
||||
license = licenses.mit;
|
||||
license = licenses.agpl3Plus;
|
||||
maintainers = with maintainers; [ hugoreeves ];
|
||||
platforms = [ "x86_64-linux" "x86_64-darwin" ];
|
||||
};
|
||||
|
|
|
@ -13,7 +13,7 @@ python3Packages.buildPythonApplication rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "Heuristics-driven menu generator for several window managers";
|
||||
homepage = "http://menumaker.sourceforge.net";
|
||||
homepage = "https://menumaker.sourceforge.net";
|
||||
license = licenses.bsd2;
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.romildo ];
|
||||
|
|
|
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "A command line calculator";
|
||||
homepage = "http://w-calc.sourceforge.net";
|
||||
homepage = "https://w-calc.sourceforge.net";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
|
|
|
@ -10,14 +10,14 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "zine";
|
||||
version = "0.10.1";
|
||||
version = "0.11.0";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-3xFJ7v/IZQ3yfU0D09sFXV+4XKRau+Mj3BNxkeUjbbU=";
|
||||
sha256 = "sha256-koN30s+giX4wOp4i5QtTLE/t1ZJ9mP0K0YfY0kTuDJY=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-3Sw/USfGJuf6JGSR3Xkjnmm/UR7NK8rB8St48b4WpIM=";
|
||||
cargoHash = "sha256-Re/ooEJCRjQSnz1VSzz4uRWx81yOzChBEeH7gedAHJw=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
|
|
@ -21,11 +21,11 @@ let
|
|||
vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "vivaldi";
|
||||
version = "5.6.2867.62";
|
||||
version = "5.7.2921.53";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}-1_amd64.deb";
|
||||
sha256 = "sha256-p5okCdvEBurL1UgqLMBhCd4caPbiOA1WZrI9TC5j6og=";
|
||||
sha256 = "sha256-qkKCoHJCRji3XfXk71n4BfjFyQpXZ+BariHmbYPAuv8=";
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
|
|
|
@ -5,20 +5,20 @@ let
|
|||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "diswall";
|
||||
version = "0.3.0";
|
||||
version = "0.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dis-works";
|
||||
repo = "diswall-rs";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-3FTqT3IL48lYmGoB9u76RQSgZPbaq7IkOyQjyxwpkWA=";
|
||||
sha256 = "sha256-54iNbMZ+j6ioBTb/okyWZqqe4p6IyapZwc6VdtiAkLs=";
|
||||
};
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [
|
||||
Security
|
||||
];
|
||||
|
||||
cargoSha256 = "sha256-sb6s4Oc3W+I9DB0SGyZINxyWHCSpkakiEeQUatEpeEU=";
|
||||
cargoHash = "sha256-stpJNDC+dQQNZdZTihbQWZ66wgdQ+oz8s3Ogb1wxnxY=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"version": "1.11.22",
|
||||
"desktopSrcHash": "UJesD6cshsf/NK2ZTzOtAUfH+8JcGP9oCLFhkgfM0E0=",
|
||||
"desktopYarnHash": "0bq24rjf63rkq3jphv7raqaz2fnibmj41z905k5f3l4ln835ndfv",
|
||||
"webSrcHash": "B2clSJgKkjvQdIXQgi3bBPaVTDKOjeNBOvkAtcPOkFI=",
|
||||
"webYarnHash": "182fh1ayh1y98kbg4mn8fxqvljs19b02j4ivvjszm55dcpwfp1df"
|
||||
"version": "1.11.23",
|
||||
"desktopSrcHash": "Q3kyAiBvedTy4jiBkYmEJeonRf6HesdpKgmtOT2sYwI=",
|
||||
"desktopYarnHash": "8lHIkUkFAo7m8XjfnFSAkp4mIKyrXOsnbstRIPXI+vE=",
|
||||
"webSrcHash": "JOfuzo0DQ0v2rC80/HkucLgc2xsCb3eujaH0fg7j0nI=",
|
||||
"webYarnHash": "0Cb7TuRFHcQvYbnVAnXOIwt6NXa7ITrMPJnmbUFaPNU="
|
||||
}
|
||||
|
|
|
@ -37,6 +37,11 @@ stdenv.mkDerivation {
|
|||
url = "https://github.com/desktop-app/tg_owt/pull/101/commits/86d2bcd7afb8706663d29e30f65863de5a626142.patch";
|
||||
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 = [
|
||||
|
|
|
@ -2,42 +2,45 @@
|
|||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, ocamlPackages
|
||||
, fontschumachermisc
|
||||
, xset
|
||||
, makeWrapper
|
||||
, ncurses
|
||||
, gnugrep
|
||||
, copyDesktopItems
|
||||
, makeDesktopItem
|
||||
, wrapGAppsHook
|
||||
, glib
|
||||
, gsettings-desktop-schemas
|
||||
, zlib
|
||||
, enableX11 ? true
|
||||
, Cocoa
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "unison";
|
||||
version = "2.52.1";
|
||||
version = "2.53.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bcpierce00";
|
||||
repo = "unison";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-taA8eZ/wOe9uMccXVYfe34/XzWgqYKA3tLZnIOahOrQ=";
|
||||
sha256 = "sha256-4Lyn1UecpVIhoEXIFu35XK4aoAfYGPCZ9L4ZY7224yo=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ocamlPackages.ocaml ]
|
||||
nativeBuildInputs = [ glib wrapGAppsHook ocamlPackages.ocaml ]
|
||||
++ lib.optional enableX11 copyDesktopItems;
|
||||
buildInputs = [ ncurses ];
|
||||
buildInputs = [ gsettings-desktop-schemas ncurses zlib ]
|
||||
++ lib.optional stdenv.isDarwin Cocoa;
|
||||
|
||||
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
|
||||
'';
|
||||
|
||||
makeFlags = [
|
||||
"INSTALLDIR=$(out)/bin/"
|
||||
"UISTYLE=${if enableX11 then "gtk2" else "text"}"
|
||||
"UISTYLE=${if enableX11 then "gtk3" else "text"}"
|
||||
] ++ lib.optional (!ocamlPackages.ocaml.nativeCompilers) "NATIVE=false";
|
||||
|
||||
preInstall = ''
|
||||
|
@ -45,11 +48,6 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
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
|
||||
'';
|
||||
|
||||
|
|
|
@ -67,6 +67,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
# Testing of the CLI part and output
|
||||
"test_color_due_dates"
|
||||
"test_color_flag"
|
||||
"test_datetime_serialization" # Will be fixed in versions after 4.1.0
|
||||
"test_default_command"
|
||||
"test_main"
|
||||
"test_missing_cache_dir"
|
||||
|
@ -74,8 +75,6 @@ python3.pkgs.buildPythonApplication rec {
|
|||
"test_xdg_existant"
|
||||
# Tests are sensitive to performance
|
||||
"test_sorting_fields"
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
"test_sorting_fields"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
|
|
|
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
|||
owner = "librtlsdr";
|
||||
repo = "librtlsdr";
|
||||
rev = "v${version}";
|
||||
sha256 = "1fgxlkgmdchbrf0nn98ivjr6css5hak3608nr4xrf2qzf7xy2kdk";
|
||||
hash = "sha256-s03h+3EfC5c7yRYBM6aCRWtmstwRJWuBywuyVt+k/bk=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
nativeBuildInputs = [ pkg-config cmake ];
|
||||
|
||||
buildInputs = [ libusb1 ];
|
||||
propagatedBuildInputs = [ libusb1 ];
|
||||
|
||||
cmakeFlags = lib.optionals stdenv.isLinux [
|
||||
"-DINSTALL_UDEV_RULES=ON"
|
||||
|
|
|
@ -31,7 +31,7 @@ mkDerivation rec {
|
|||
These change the parameters used when sounding the Morse code.
|
||||
cw reports any errors in embedded commands
|
||||
'';
|
||||
homepage = "http://unixcw.sourceforge.net";
|
||||
homepage = "https://unixcw.sourceforge.net";
|
||||
maintainers = [ maintainers.mafo ];
|
||||
license = licenses.gpl2;
|
||||
platforms=platforms.linux;
|
||||
|
|
|
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with lib; {
|
||||
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;
|
||||
maintainers = with maintainers; [ lassulus sander ];
|
||||
platforms = platforms.all;
|
||||
|
|
|
@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
|
|||
meta = with lib; {
|
||||
description = "An ultrafast memory-efficient short read aligner";
|
||||
license = licenses.artistic2;
|
||||
homepage = "http://bowtie-bio.sourceforge.net";
|
||||
homepage = "https://bowtie-bio.sourceforge.net";
|
||||
maintainers = with maintainers; [ prusnak ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
|
|
|
@ -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.
|
||||
'';
|
||||
homepage = "http://doua.prabi.fr/software/seaview";
|
||||
homepage = "https://doua.prabi.fr/software/seaview";
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ maintainers.iimog ];
|
||||
platforms = platforms.linux;
|
||||
|
|
|
@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = {
|
||||
description = "VCD/Waveform viewer for Unix and Win32";
|
||||
homepage = "http://gtkwave.sourceforge.net";
|
||||
homepage = "https://gtkwave.sourceforge.net";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = with lib.maintainers; [ thoughtpolice jiegec ];
|
||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||
|
|
|
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = {
|
||||
description = "Integrated circuit simulator";
|
||||
homepage = "http://qucs.sourceforge.net";
|
||||
homepage = "https://qucs.sourceforge.net";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = with lib.maintainers; [viric];
|
||||
platforms = with lib.platforms; linux;
|
||||
|
|
|
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = {
|
||||
description = "Oscilloscope through the sound card";
|
||||
homepage = "http://xoscope.sourceforge.net";
|
||||
homepage = "https://xoscope.sourceforge.net";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = with lib.maintainers; [viric];
|
||||
platforms = with lib.platforms; linux;
|
||||
|
|
|
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "A high-performance theorem prover and SMT solver";
|
||||
homepage = "http://yices.csl.sri.com";
|
||||
homepage = "https://yices.csl.sri.com";
|
||||
license = licenses.gpl3;
|
||||
platforms = with platforms; linux ++ darwin;
|
||||
maintainers = with maintainers; [ thoughtpolice ];
|
||||
|
|
|
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
|||
gretl is a cross-platform software package for econometric analysis,
|
||||
written in the C programming language.
|
||||
'';
|
||||
homepage = "http://gretl.sourceforge.net";
|
||||
homepage = "https://gretl.sourceforge.net";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ dmrauh ];
|
||||
platforms = with platforms; all;
|
||||
|
|
|
@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "A Mixed Integer Linear Programming (MILP) solver";
|
||||
homepage = "http://lpsolve.sourceforge.net";
|
||||
homepage = "https://lpsolve.sourceforge.net";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ smironov ];
|
||||
platforms = platforms.unix;
|
||||
|
|
|
@ -166,7 +166,7 @@ stdenv.mkDerivation rec {
|
|||
# https://www.singular.uni-kl.de:8002/trac/ticket/837
|
||||
platforms = subtractLists platforms.i686 platforms.unix;
|
||||
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/";
|
||||
mainProgram = "Singular";
|
||||
};
|
||||
|
|
|
@ -70,7 +70,7 @@ in stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://www.gromacs.org";
|
||||
homepage = "https://www.gromacs.org";
|
||||
license = licenses.gpl2;
|
||||
description = "Molecular dynamics software package";
|
||||
longDescription = ''
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
, rustPlatform
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, ncurses
|
||||
, perl
|
||||
, pkg-config
|
||||
|
@ -40,12 +41,12 @@ rustPlatform.buildRustPackage rec {
|
|||
sha256 = "sha256-1gnP2Dn4nkhxelUsXMay2VGvgvMjkdEKhFK5AAST++s=";
|
||||
};
|
||||
|
||||
# Rust 1.65 does better at enum packing (according to
|
||||
# 40e08fafe2f6e5b0c70d55996a0814d6813442ef), but Nixpkgs doesn't have 1.65
|
||||
# yet (still in staging), so skip these tests for now.
|
||||
checkFlags = [
|
||||
"--skip=escape::action_size"
|
||||
"--skip=surface::line::storage::test::memory_usage"
|
||||
patches = [
|
||||
# fix build with rust 1.67
|
||||
(fetchpatch {
|
||||
url = "https://github.com/wez/wezterm/commit/36519f0d90e1875fb4b3f11f6cbf94c7d716ef78.patch";
|
||||
sha256 = "sha256-sOGFmDan1uO1xOBCpvlGrSotjfw01MjRg0KVqa5omig=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
@ -122,9 +123,7 @@ rustPlatform.buildRustPackage rec {
|
|||
};
|
||||
terminfo = runCommand "wezterm-terminfo"
|
||||
{
|
||||
nativeBuildInputs = [
|
||||
ncurses
|
||||
];
|
||||
nativeBuildInputs = [ ncurses ];
|
||||
} ''
|
||||
mkdir -p $out/share/terminfo $out/nix-support
|
||||
tic -x -o $out/share/terminfo ${src}/termwiz/data/wezterm.terminfo
|
||||
|
@ -132,10 +131,9 @@ rustPlatform.buildRustPackage rec {
|
|||
};
|
||||
|
||||
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";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ SuperSandro2000 ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -12,13 +12,13 @@
|
|||
|
||||
buildPythonApplication rec {
|
||||
pname = "git-machete";
|
||||
version = "3.15.0";
|
||||
version = "3.15.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "virtuslab";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-HSgCvHjSOrMPsdOPtgFUeK6b0ioVnwTtg2oHGg4BrZw=";
|
||||
hash = "sha256-hIm3JDLXUTwjuVfAHvZBWFBJNOAVWyfl/X4A6B0OoXg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
|
|
@ -15,12 +15,12 @@
|
|||
|
||||
buildGoModule rec {
|
||||
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
|
||||
src = fetchurl {
|
||||
url = "https://dl.gitea.io/gitea/${version}/gitea-src-${version}.tar.gz";
|
||||
hash = "sha256-jqjpbDgcmwZoc/ovgburFeeta9mAJOmz7yrvmUKAwRU=";
|
||||
hash = "sha256-LSSOmqSeiv9qNCAsRWYtjRLfUDLMd8mOVAxTOacvNOA=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "glitter";
|
||||
version = "1.6.3";
|
||||
version = "1.6.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "milo123459";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-xrQqeRJfBEcjX0tkULg+94R7+mWWn6QeKIfZiDp+Vt8=";
|
||||
sha256 = "sha256-sMAHVXpgAhZYUpl75JRtKhTqt/sQkSkoEzk7aGV1vcQ=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-GQ7Bns+FPj4jl2dBXnMrmcKIYcZTLZc1WvaHgKGj/gU=";
|
||||
cargoSha256 = "sha256-CaWpGNP7Jsv/3dks0LVbZXoD/9HqJmOzaD0ejT5xSqA=";
|
||||
|
||||
nativeCheckInputs = [
|
||||
git
|
||||
|
|
|
@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "Lightweight and simple DVD slide show maker";
|
||||
homepage = "http://imagination.sourceforge.net";
|
||||
homepage = "https://imagination.sourceforge.net";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ austinbutler ];
|
||||
platforms = platforms.linux;
|
||||
|
|
|
@ -16,7 +16,7 @@ stdenv.mkDerivation {
|
|||
|
||||
meta = with lib; {
|
||||
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;
|
||||
license = licenses.bsd3;
|
||||
};
|
||||
|
|
48
pkgs/applications/virtualization/quickgui/default.nix
Normal file
48
pkgs/applications/virtualization/quickgui/default.nix
Normal 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";
|
||||
};
|
||||
}
|
|
@ -11,24 +11,15 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "miriway";
|
||||
version = "unstable-2022-12-18";
|
||||
version = "unstable-2023-02-18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Miriway";
|
||||
repo = "Miriway";
|
||||
rev = "d294c303cb99b7becb0d6686be9a09f0a1f57596";
|
||||
hash = "sha256-H+IZgI1IQxNl5yAygbDKXkyXajGHV/mp9gEqZcp0TeE=";
|
||||
rev = "1363ae0452c5093f84418bc65354e93796caec65";
|
||||
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;
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -38,6 +38,9 @@ object is copied depends on its type.
|
|||
- If it is *also* an ELF file, then all of its direct shared
|
||||
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,
|
||||
and a directory at the same absolute path in the initrd is created.
|
||||
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
use std::collections::{HashSet, VecDeque};
|
||||
use std::env;
|
||||
use std::ffi::OsStr;
|
||||
use std::ffi::{OsStr, OsString};
|
||||
use std::fs;
|
||||
use std::hash::Hash;
|
||||
use std::iter::FromIterator;
|
||||
use std::io::{BufRead, BufReader, Error};
|
||||
use std::os::unix;
|
||||
use std::path::{Component, Path, PathBuf};
|
||||
|
@ -163,6 +164,19 @@ fn handle_path(
|
|||
let typ = fs::symlink_metadata(&source)?.file_type();
|
||||
if typ.is_file() && !target.exists() {
|
||||
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() {
|
||||
let link_target = fs::read_link(&source)?;
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
@ -20,7 +20,7 @@
|
|||
buildInputs = lib.optional stdenvNoCC.isDarwin Security;
|
||||
|
||||
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 =
|
||||
|
|
|
@ -156,7 +156,7 @@ foreach my $pkgName (@order) {
|
|||
$cleanedName =~ s/~//g;
|
||||
|
||||
print " (fetchurl {\n";
|
||||
print " url = $urlPrefix/$cdata->{Filename};\n";
|
||||
print " url = \"$urlPrefix/$cdata->{Filename}\";\n";
|
||||
print " sha256 = \"$cdata->{SHA256}\";\n";
|
||||
print " name = \"$cleanedName\";\n" if $cleanedName ne $origName;
|
||||
print " })\n";
|
||||
|
|
|
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
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";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "clash-geoip";
|
||||
version = "20230112";
|
||||
version = "20230212";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/Dreamacro/maxmind-geoip/releases/download/${version}/Country.mmdb";
|
||||
sha256 = "sha256-mMu+U3gtoZmi6LrTMTqsNZKZ+w4J6LZ16Aorneyy7P8=";
|
||||
sha256 = "sha256-Tnma6tpET4Vrm5G8KmLpsVnpD2JIKts56kZQsBIbRZ8=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "warpinator";
|
||||
version = "1.4.4";
|
||||
version = "1.4.5";
|
||||
|
||||
format = "other";
|
||||
|
||||
|
@ -23,7 +23,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
owner = "linuxmint";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-oHJOwdCvHnPalTHb5E3mNDYBaR9ZvlV1F6ux7nejBlc=";
|
||||
hash = "sha256-5mMV4WinpFR9ihgoQsgIXre0VpBdg9S8GjSkx+7ocLg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
45
pkgs/desktops/deepin/artwork/deepin-wallpapers/default.nix
Normal file
45
pkgs/desktops/deepin/artwork/deepin-wallpapers/default.nix
Normal 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;
|
||||
};
|
||||
}
|
61
pkgs/desktops/deepin/core/dde-polkit-agent/default.nix
Normal file
61
pkgs/desktops/deepin/core/dde-polkit-agent/default.nix
Normal 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;
|
||||
};
|
||||
}
|
51
pkgs/desktops/deepin/core/dpa-ext-gnomekeyring/default.nix
Normal file
51
pkgs/desktops/deepin/core/dpa-ext-gnomekeyring/default.nix
Normal 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;
|
||||
};
|
||||
}
|
|
@ -29,6 +29,10 @@ let
|
|||
image-editor = callPackage ./library/image-editor { };
|
||||
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
|
||||
deepin-album = callPackage ./apps/deepin-album { };
|
||||
deepin-calculator = callPackage ./apps/deepin-calculator { };
|
||||
|
@ -54,6 +58,7 @@ let
|
|||
#### ARTWORK
|
||||
dde-account-faces = callPackage ./artwork/dde-account-faces { };
|
||||
deepin-icon-theme = callPackage ./artwork/deepin-icon-theme { };
|
||||
deepin-wallpapers = callPackage ./artwork/deepin-wallpapers { };
|
||||
deepin-gtk-theme = callPackage ./artwork/deepin-gtk-theme { };
|
||||
deepin-sound-theme = callPackage ./artwork/deepin-sound-theme { };
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
{ lib, stdenv, fetchFromGitHub, substituteAll, glib, gnome, gettext }:
|
||||
{ lib, stdenv, fetchFromGitHub, substituteAll, glib, gnome, gettext, jq }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-shell-extension-EasyScreenCast";
|
||||
version = "1.4.0";
|
||||
version = "1.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EasyScreenCast";
|
||||
repo = "EasyScreenCast";
|
||||
rev = version;
|
||||
sha256 = "sha256-+lh/hqYC9+DUvLE016KuAY4Ybw8KrqEEG7WG4pUbg2k=";
|
||||
hash = "sha256-+cH/gczCdxoSrLp5nD82Spo8bSGyRnUUut3Xkmr9f3o=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
|||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
glib gettext
|
||||
glib gettext jq
|
||||
];
|
||||
|
||||
makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ];
|
||||
|
|
|
@ -1,16 +1,40 @@
|
|||
diff --git i/utilaudio.js w/utilaudio.js
|
||||
index 983b29c..7a94de8 100644
|
||||
--- i/utilaudio.js
|
||||
+++ w/utilaudio.js
|
||||
@@ -11,10 +11,7 @@
|
||||
*/
|
||||
diff --git a/prefs.js b/prefs.js
|
||||
index 97b85a3..2fc6539 100644
|
||||
--- a/prefs.js
|
||||
+++ b/prefs.js
|
||||
@@ -14,8 +14,8 @@
|
||||
'use strict';
|
||||
|
||||
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('/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_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");
|
||||
const Gvc = imports.gi.Gvc;
|
||||
const Lang = imports.lang;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
|
|
|
@ -10,12 +10,12 @@
|
|||
|
||||
ocamlPackages.buildDunePackage rec {
|
||||
pname = "ligo";
|
||||
version = "0.59.0";
|
||||
version = "0.60.0";
|
||||
src = fetchFromGitLab {
|
||||
owner = "ligolang";
|
||||
repo = "ligo";
|
||||
rev = version;
|
||||
sha256 = "sha256-JwFFreUV70W5soXY0UF8/4QlN2oWejdxqwh4KT5VDoQ=";
|
||||
sha256 = "sha256-gyMSpy+F3pF2Kv1ygUs20mrspJ6GtJ6ySyZD7zfZj2w=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -94,6 +94,7 @@ ocamlPackages.buildDunePackage rec {
|
|||
data-encoding
|
||||
pure-splitmix
|
||||
zarith_stubs_js
|
||||
simple-diff
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
|
|
|
@ -17,7 +17,7 @@ in
|
|||
assert useX11 -> safeX11 stdenv;
|
||||
assert aflSupport -> lib.versionAtLeast version "4.05";
|
||||
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";
|
||||
|
||||
let
|
||||
|
|
|
@ -10,7 +10,7 @@ rustPlatform.buildRustPackage {
|
|||
# changes hash of vendor directory otherwise
|
||||
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
|
||||
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)
|
||||
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 ''
|
||||
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; {
|
||||
homepage = "https://rust-lang.github.io/rust-clippy/";
|
||||
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 ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
, sha256
|
||||
, patches ? []
|
||||
, fd
|
||||
, ripgrep
|
||||
, wezterm
|
||||
, firefox
|
||||
, thunderbird
|
||||
}:
|
||||
|
@ -204,7 +206,9 @@ in stdenv.mkDerivation rec {
|
|||
passthru = {
|
||||
llvm = llvmShared;
|
||||
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; {
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "love";
|
||||
version = "11.4";
|
||||
version = "0.10.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "love2d";
|
||||
repo = "love";
|
||||
rev = version;
|
||||
sha256 = "sha256-C/Ifd0KjmaM5Y2fxBiDNz1GQoT4GeH/vyUCiira57U4=";
|
||||
sha256 = "19yfmlcx6w8yi4ndm5lni8lrsvnn77bxw5py0dc293nzzlaqa9ym";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config autoconf automake ];
|
||||
|
|
|
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
|||
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.
|
||||
'';
|
||||
homepage = "http://us.metamath.org";
|
||||
homepage = "https://us.metamath.org";
|
||||
downloadPage = "https://us.metamath.org/#downloads";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = [ maintainers.taneb ];
|
||||
|
|
|
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "C++ linear algebra library";
|
||||
homepage = "http://arma.sourceforge.net";
|
||||
homepage = "https://arma.sourceforge.net";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ juliendehos knedlsepp ];
|
||||
|
|
|
@ -37,6 +37,10 @@ stdenv.mkDerivation rec {
|
|||
./Install-contribs-lib.patch
|
||||
# From arch
|
||||
./fix-missing-include-time.patch
|
||||
|
||||
# required for darwin and linux-musl
|
||||
./pthread-include.patch
|
||||
|
||||
] ++ lib.optionals stdenv.isDarwin [ ./fix-darwin.patch ];
|
||||
|
||||
# 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.
|
||||
'';
|
||||
homepage = "http://clucene.sourceforge.net";
|
||||
homepage = "https://clucene.sourceforge.net";
|
||||
platforms = platforms.unix;
|
||||
license = with licenses; [ asl20 lgpl2 ];
|
||||
};
|
||||
|
|
|
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
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;
|
||||
license = with licenses; [ asl20 lgpl2 ];
|
||||
};
|
||||
|
|
|
@ -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
|
||||
+++ b/src/shared/CLucene/config/repl_tchar.h
|
||||
@@ -28,26 +28,26 @@
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
|
|||
configureFlags = [ "--disable-ecore" "--disable-tests" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://dbus-cplusplus.sourceforge.net";
|
||||
homepage = "https://dbus-cplusplus.sourceforge.net";
|
||||
description = "C++ API for D-BUS";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
|
|
|
@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "Word-processor-style highlighting and replacement of misspelled words";
|
||||
homepage = "http://gtkspell.sourceforge.net";
|
||||
homepage = "https://gtkspell.sourceforge.net";
|
||||
platforms = platforms.unix;
|
||||
license = licenses.gpl2;
|
||||
};
|
||||
|
|
|
@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
|
|||
command line interface or in a text-oriented interactive interface.
|
||||
'';
|
||||
license = with licenses; [ gpl2Plus lgpl2Plus ];
|
||||
homepage = "http://hamlib.sourceforge.net";
|
||||
homepage = "https://hamlib.sourceforge.net";
|
||||
maintainers = with maintainers; [ relrod ];
|
||||
platforms = with platforms; unix;
|
||||
};
|
||||
|
|
|
@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
|
|||
command line interface or in a text-oriented interactive interface.
|
||||
'';
|
||||
license = with licenses; [ gpl2Plus lgpl2Plus ];
|
||||
homepage = "http://hamlib.sourceforge.net";
|
||||
homepage = "https://hamlib.sourceforge.net";
|
||||
maintainers = with maintainers; [ relrod ];
|
||||
platforms = with platforms; unix;
|
||||
};
|
||||
|
|
|
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
|
|||
hardeningDisable = [ "format" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://hunspell.sourceforge.net";
|
||||
homepage = "https://hunspell.sourceforge.net";
|
||||
description = "Spell checker";
|
||||
longDescription = ''
|
||||
Hunspell is the spell checker of LibreOffice, OpenOffice.org, Mozilla
|
||||
|
|
|
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "Library for reading, writing, and manipulating ID3v1 and ID3v2 tags";
|
||||
homepage = "http://id3lib.sourceforge.net";
|
||||
homepage = "https://id3lib.sourceforge.net";
|
||||
platforms = platforms.unix;
|
||||
license = licenses.lgpl2;
|
||||
};
|
||||
|
|
|
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://httpunit.sourceforge.net";
|
||||
homepage = "https://httpunit.sourceforge.net";
|
||||
platforms = platforms.unix;
|
||||
license = licenses.mit;
|
||||
};
|
||||
|
|
|
@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "An open source clone of the Motif widget set";
|
||||
homepage = "http://lesstif.sourceforge.net";
|
||||
homepage = "https://lesstif.sourceforge.net";
|
||||
platforms = platforms.unix;
|
||||
license = with licenses; [ gpl2 lgpl2 ];
|
||||
};
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue