about summary refs log tree commit diff
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2023-02-21 00:02:33 +0000
committerGitHub <noreply@github.com>2023-02-21 00:02:33 +0000
commite3e8374b6ff7ed1608897078beb92c4a55cdc4f3 (patch)
tree933d7044a25f2a981efa492f33b4b40008445654
parent1a0051b61eb313391088cc73875631af219e6376 (diff)
parent5be19d43a20d64e179b9fd5e6b480711702dcff3 (diff)
Merge master into staging-next
-rw-r--r--nixos/modules/config/console.nix1
-rw-r--r--nixos/modules/system/boot/systemd/initrd.nix3
-rw-r--r--nixos/tests/all-tests.nix2
-rw-r--r--nixos/tests/systemd-credentials-tpm2.nix124
-rw-r--r--nixos/tests/systemd-initrd-vconsole.nix33
-rw-r--r--pkgs/applications/audio/ams/default.nix2
-rw-r--r--pkgs/applications/audio/bristol/default.nix2
-rw-r--r--pkgs/applications/audio/calf/default.nix2
-rw-r--r--pkgs/applications/audio/eflite/default.nix2
-rw-r--r--pkgs/applications/audio/freewheeling/default.nix2
-rw-r--r--pkgs/applications/audio/jamin/default.nix2
-rw-r--r--pkgs/applications/audio/petrifoo/default.nix2
-rw-r--r--pkgs/applications/audio/qmidiarp/default.nix2
-rw-r--r--pkgs/applications/audio/qtscrobbler/default.nix2
-rw-r--r--pkgs/applications/audio/rakarrack/default.nix2
-rw-r--r--pkgs/applications/audio/yasr/default.nix2
-rw-r--r--pkgs/applications/editors/bviplus/default.nix2
-rw-r--r--pkgs/applications/editors/ht/default.nix2
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix24
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-plugin-names2
-rw-r--r--pkgs/applications/graphics/gqview/default.nix2
-rw-r--r--pkgs/applications/misc/artha/default.nix2
-rw-r--r--pkgs/applications/misc/audio/soxr/default.nix2
-rw-r--r--pkgs/applications/misc/djvulibre/default.nix2
-rw-r--r--pkgs/applications/misc/eaglemode/default.nix2
-rw-r--r--pkgs/applications/misc/eureka-editor/default.nix2
-rw-r--r--pkgs/applications/misc/foxitreader/default.nix81
-rw-r--r--pkgs/applications/misc/joplin-desktop/default.nix8
-rw-r--r--pkgs/applications/misc/menumaker/default.nix2
-rw-r--r--pkgs/applications/misc/wcalc/default.nix2
-rw-r--r--pkgs/applications/misc/zine/default.nix6
-rw-r--r--pkgs/applications/radio/unixcw/default.nix2
-rw-r--r--pkgs/applications/science/astronomy/xplanet/default.nix2
-rw-r--r--pkgs/applications/science/biology/bowtie/default.nix2
-rw-r--r--pkgs/applications/science/biology/seaview/default.nix2
-rw-r--r--pkgs/applications/science/electronics/gtkwave/default.nix2
-rw-r--r--pkgs/applications/science/electronics/qucs/default.nix2
-rw-r--r--pkgs/applications/science/electronics/xoscope/default.nix2
-rw-r--r--pkgs/applications/science/logic/yices/default.nix2
-rw-r--r--pkgs/applications/science/math/gretl/default.nix2
-rw-r--r--pkgs/applications/science/math/lp_solve/default.nix2
-rw-r--r--pkgs/applications/science/math/singular/default.nix2
-rw-r--r--pkgs/applications/science/molecular-dynamics/gromacs/default.nix2
-rw-r--r--pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--pkgs/applications/video/imagination/default.nix2
-rw-r--r--pkgs/applications/video/tivodecode/default.nix2
-rw-r--r--pkgs/build-support/kernel/make-initrd-ng/README.md3
-rw-r--r--pkgs/build-support/kernel/make-initrd-ng/src/main.rs16
-rw-r--r--pkgs/data/fonts/proggyfonts/default.nix2
-rw-r--r--pkgs/development/interpreters/metamath/default.nix2
-rw-r--r--pkgs/development/libraries/armadillo/default.nix2
-rw-r--r--pkgs/development/libraries/clucene-core/2.x.nix2
-rw-r--r--pkgs/development/libraries/clucene-core/default.nix2
-rw-r--r--pkgs/development/libraries/dbus-cplusplus/default.nix2
-rw-r--r--pkgs/development/libraries/gtkspell/default.nix2
-rw-r--r--pkgs/development/libraries/hamlib/4.nix2
-rw-r--r--pkgs/development/libraries/hamlib/default.nix2
-rw-r--r--pkgs/development/libraries/hunspell/default.nix2
-rw-r--r--pkgs/development/libraries/id3lib/default.nix2
-rw-r--r--pkgs/development/libraries/java/httpunit/default.nix2
-rw-r--r--pkgs/development/libraries/lesstif/default.nix2
-rw-r--r--pkgs/development/libraries/libcdaudio/default.nix2
-rw-r--r--pkgs/development/libraries/libiodbc/default.nix2
-rw-r--r--pkgs/development/libraries/liblastfmSF/default.nix2
-rw-r--r--pkgs/development/libraries/liblouis/default.nix2
-rw-r--r--pkgs/development/libraries/libmcrypt/default.nix2
-rw-r--r--pkgs/development/libraries/libmhash/default.nix2
-rw-r--r--pkgs/development/libraries/libwpd/0.8.nix2
-rw-r--r--pkgs/development/libraries/libwpg/default.nix2
-rw-r--r--pkgs/development/libraries/loki/default.nix2
-rw-r--r--pkgs/development/libraries/podofo/default.nix2
-rw-r--r--pkgs/development/libraries/ucx/default.nix2
-rw-r--r--pkgs/development/libraries/unixODBC/default.nix4
-rw-r--r--pkgs/development/node-packages/node-packages.nix18
-rw-r--r--pkgs/development/python-modules/azure-mgmt-kusto/default.nix4
-rw-r--r--pkgs/development/python-modules/boltons/default.nix10
-rw-r--r--pkgs/development/python-modules/dinghy/default.nix3
-rw-r--r--pkgs/development/python-modules/eliot/default.nix34
-rw-r--r--pkgs/development/python-modules/glom/default.nix15
-rw-r--r--pkgs/development/python-modules/mdp/default.nix2
-rw-r--r--pkgs/development/python-modules/mypy/default.nix2
-rw-r--r--pkgs/development/python-modules/mypy/extensions.nix2
-rw-r--r--pkgs/development/python-modules/pyopengl-accelerate/default.nix2
-rw-r--r--pkgs/development/python-modules/restview/default.nix1
-rw-r--r--pkgs/development/python-modules/sanic/default.nix7
-rw-r--r--pkgs/development/python-modules/yalexs/default.nix11
-rw-r--r--pkgs/development/tools/analysis/cppcheck/default.nix34
-rw-r--r--pkgs/development/tools/continuous-integration/github-runner/default.nix4
-rw-r--r--pkgs/development/tools/explain/default.nix2
-rw-r--r--pkgs/development/tools/golangci-lint/default.nix6
-rw-r--r--pkgs/development/tools/literate-programming/nuweb/default.nix2
-rw-r--r--pkgs/development/tools/misc/dfu-util/default.nix2
-rw-r--r--pkgs/development/tools/solarus-quest-editor/default.nix2
-rw-r--r--pkgs/development/tools/udis86/default.nix2
-rw-r--r--pkgs/games/rili/default.nix2
-rw-r--r--pkgs/games/solarus/default.nix2
-rw-r--r--pkgs/os-specific/linux/guvcview/default.nix2
-rw-r--r--pkgs/os-specific/linux/nmon/default.nix2
-rw-r--r--pkgs/os-specific/linux/uvcdynctrl/default.nix2
-rw-r--r--pkgs/os-specific/linux/xf86-input-wacom/default.nix2
-rw-r--r--pkgs/servers/mail/mailman/package.nix20
-rw-r--r--pkgs/servers/mail/mailman/python.nix13
-rw-r--r--pkgs/servers/web-apps/wiki-js/default.nix4
-rw-r--r--pkgs/tools/backup/partimage/default.nix2
-rw-r--r--pkgs/tools/filesystems/curlftpfs/default.nix2
-rw-r--r--pkgs/tools/filesystems/jfsutils/default.nix2
-rw-r--r--pkgs/tools/graphics/structure-synth/default.nix2
-rw-r--r--pkgs/tools/misc/empty/default.nix2
-rw-r--r--pkgs/tools/misc/mcrypt/default.nix2
-rw-r--r--pkgs/tools/misc/ttylog/default.nix2
-rw-r--r--pkgs/tools/misc/wv2/default.nix2
-rw-r--r--pkgs/tools/misc/xstow/default.nix2
-rw-r--r--pkgs/tools/networking/atinout/default.nix2
-rw-r--r--pkgs/tools/networking/proxychains/default.nix2
-rw-r--r--pkgs/tools/networking/ssldump/default.nix2
-rw-r--r--pkgs/tools/security/srm/default.nix2
-rw-r--r--pkgs/tools/system/gdmap/default.nix2
-rw-r--r--pkgs/tools/system/safecopy/default.nix2
-rw-r--r--pkgs/tools/text/tab/default.nix2
-rw-r--r--pkgs/tools/typesetting/tex/pgf-tikz/pgfplots.nix2
-rw-r--r--pkgs/tools/video/xjadeo/default.nix2
-rw-r--r--pkgs/top-level/aliases.nix1
-rw-r--r--pkgs/top-level/all-packages.nix7
-rw-r--r--pkgs/top-level/perl-packages.nix14
124 files changed, 422 insertions, 279 deletions
diff --git a/nixos/modules/config/console.nix b/nixos/modules/config/console.nix
index 854d7acf92326..f5db5dc5dfc11 100644
--- a/nixos/modules/config/console.nix
+++ b/nixos/modules/config/console.nix
@@ -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) [
diff --git a/nixos/modules/system/boot/systemd/initrd.nix b/nixos/modules/system/boot/systemd/initrd.nix
index 70edc13dc0fa0..1189be3738f4e 100644
--- a/nixos/modules/system/boot/systemd/initrd.nix
+++ b/nixos/modules/system/boot/systemd/initrd.nix
@@ -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"];
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index ac15ecdad6b86..ecf95c2cba0a4 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -647,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 {};
@@ -657,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 {};
diff --git a/nixos/tests/systemd-credentials-tpm2.nix b/nixos/tests/systemd-credentials-tpm2.nix
new file mode 100644
index 0000000000000..d2dc1fd7b615b
--- /dev/null
+++ b/nixos/tests/systemd-credentials-tpm2.nix
@@ -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}")
+  '';
+})
diff --git a/nixos/tests/systemd-initrd-vconsole.nix b/nixos/tests/systemd-initrd-vconsole.nix
new file mode 100644
index 0000000000000..b74df410c4224
--- /dev/null
+++ b/nixos/tests/systemd-initrd-vconsole.nix
@@ -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")
+  '';
+})
diff --git a/pkgs/applications/audio/ams/default.nix b/pkgs/applications/audio/ams/default.nix
index acd8bf1f74f0b..c51dced37724d 100644
--- a/pkgs/applications/audio/ams/default.nix
+++ b/pkgs/applications/audio/ams/default.nix
@@ -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 ];
diff --git a/pkgs/applications/audio/bristol/default.nix b/pkgs/applications/audio/bristol/default.nix
index b96155cf688bf..6099895a0f23f 100644
--- a/pkgs/applications/audio/bristol/default.nix
+++ b/pkgs/applications/audio/bristol/default.nix
@@ -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 ];
diff --git a/pkgs/applications/audio/calf/default.nix b/pkgs/applications/audio/calf/default.nix
index b4c9781ced197..e4e679e780828 100644
--- a/pkgs/applications/audio/calf/default.nix
+++ b/pkgs/applications/audio/calf/default.nix
@@ -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 ];
diff --git a/pkgs/applications/audio/eflite/default.nix b/pkgs/applications/audio/eflite/default.nix
index 0c48c582c4fc2..776698a06d0d7 100644
--- a/pkgs/applications/audio/eflite/default.nix
+++ b/pkgs/applications/audio/eflite/default.nix
@@ -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
diff --git a/pkgs/applications/audio/freewheeling/default.nix b/pkgs/applications/audio/freewheeling/default.nix
index b7afb0d57a03a..08afe21763e98 100644
--- a/pkgs/applications/audio/freewheeling/default.nix
+++ b/pkgs/applications/audio/freewheeling/default.nix
@@ -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;
diff --git a/pkgs/applications/audio/jamin/default.nix b/pkgs/applications/audio/jamin/default.nix
index 36b6345c0f113..f4a5e58c5e11b 100644
--- a/pkgs/applications/audio/jamin/default.nix
+++ b/pkgs/applications/audio/jamin/default.nix
@@ -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 ];
diff --git a/pkgs/applications/audio/petrifoo/default.nix b/pkgs/applications/audio/petrifoo/default.nix
index 10362e04d5506..49ed6dfd98423 100644
--- a/pkgs/applications/audio/petrifoo/default.nix
+++ b/pkgs/applications/audio/petrifoo/default.nix
@@ -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 ];
diff --git a/pkgs/applications/audio/qmidiarp/default.nix b/pkgs/applications/audio/qmidiarp/default.nix
index cb190cabf54d5..5164692b30549 100644
--- a/pkgs/applications/audio/qmidiarp/default.nix
+++ b/pkgs/applications/audio/qmidiarp/default.nix
@@ -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 ];
diff --git a/pkgs/applications/audio/qtscrobbler/default.nix b/pkgs/applications/audio/qtscrobbler/default.nix
index f013c338e7655..081b0c9288929 100644
--- a/pkgs/applications/audio/qtscrobbler/default.nix
+++ b/pkgs/applications/audio/qtscrobbler/default.nix
@@ -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;
diff --git a/pkgs/applications/audio/rakarrack/default.nix b/pkgs/applications/audio/rakarrack/default.nix
index 6d5d1ca860d04..e78502eb23f75 100644
--- a/pkgs/applications/audio/rakarrack/default.nix
+++ b/pkgs/applications/audio/rakarrack/default.nix
@@ -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 ];
diff --git a/pkgs/applications/audio/yasr/default.nix b/pkgs/applications/audio/yasr/default.nix
index 21313b9c05930..d300737ae6d8b 100644
--- a/pkgs/applications/audio/yasr/default.nix
+++ b/pkgs/applications/audio/yasr/default.nix
@@ -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;
diff --git a/pkgs/applications/editors/bviplus/default.nix b/pkgs/applications/editors/bviplus/default.nix
index 22d15d54f1936..f56fe637f83f8 100644
--- a/pkgs/applications/editors/bviplus/default.nix
+++ b/pkgs/applications/editors/bviplus/default.nix
@@ -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 ];
diff --git a/pkgs/applications/editors/ht/default.nix b/pkgs/applications/editors/ht/default.nix
index 2f1ea40359d50..0460065fe8759 100644
--- a/pkgs/applications/editors/ht/default.nix
+++ b/pkgs/applications/editors/ht/default.nix
@@ -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 ];
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index 8683facf29669..9c27c7f027902 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -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";
diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index 8af156a5841e7..d4557f0e4d293 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -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/,,
diff --git a/pkgs/applications/graphics/gqview/default.nix b/pkgs/applications/graphics/gqview/default.nix
index 3dbd1e0d77bf2..359cfac72dce2 100644
--- a/pkgs/applications/graphics/gqview/default.nix
+++ b/pkgs/applications/graphics/gqview/default.nix
@@ -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; [ ];
diff --git a/pkgs/applications/misc/artha/default.nix b/pkgs/applications/misc/artha/default.nix
index d91f769e95450..ac3e9c7c5a1d5 100644
--- a/pkgs/applications/misc/artha/default.nix
+++ b/pkgs/applications/misc/artha/default.nix
@@ -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;
diff --git a/pkgs/applications/misc/audio/soxr/default.nix b/pkgs/applications/misc/audio/soxr/default.nix
index e90ac480eb19f..45a5227404ce4 100644
--- a/pkgs/applications/misc/audio/soxr/default.nix
+++ b/pkgs/applications/misc/audio/soxr/default.nix
@@ -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; [ ];
diff --git a/pkgs/applications/misc/djvulibre/default.nix b/pkgs/applications/misc/djvulibre/default.nix
index 97feebefa5d34..ad85c9c79d1d2 100644
--- a/pkgs/applications/misc/djvulibre/default.nix
+++ b/pkgs/applications/misc/djvulibre/default.nix
@@ -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;
diff --git a/pkgs/applications/misc/eaglemode/default.nix b/pkgs/applications/misc/eaglemode/default.nix
index 02455cf8f20e1..541b18914bf12 100644
--- a/pkgs/applications/misc/eaglemode/default.nix
+++ b/pkgs/applications/misc/eaglemode/default.nix
@@ -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;
diff --git a/pkgs/applications/misc/eureka-editor/default.nix b/pkgs/applications/misc/eureka-editor/default.nix
index 8828b6e38e187..6beae458d2930 100644
--- a/pkgs/applications/misc/eureka-editor/default.nix
+++ b/pkgs/applications/misc/eureka-editor/default.nix
@@ -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;
diff --git a/pkgs/applications/misc/foxitreader/default.nix b/pkgs/applications/misc/foxitreader/default.nix
deleted file mode 100644
index c6ed7bc1ad3ff..0000000000000
--- a/pkgs/applications/misc/foxitreader/default.nix
+++ /dev/null
@@ -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 ];
-  };
-}
diff --git a/pkgs/applications/misc/joplin-desktop/default.nix b/pkgs/applications/misc/joplin-desktop/default.nix
index 4cec4a97fe06c..68e03b8902de3 100644
--- a/pkgs/applications/misc/joplin-desktop/default.nix
+++ b/pkgs/applications/misc/joplin-desktop/default.nix
@@ -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" ];
   };
diff --git a/pkgs/applications/misc/menumaker/default.nix b/pkgs/applications/misc/menumaker/default.nix
index 0fa9ad5e7f0ab..c0958cd235375 100644
--- a/pkgs/applications/misc/menumaker/default.nix
+++ b/pkgs/applications/misc/menumaker/default.nix
@@ -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 ];
diff --git a/pkgs/applications/misc/wcalc/default.nix b/pkgs/applications/misc/wcalc/default.nix
index 7541b759e06c3..30ca1836b7405 100644
--- a/pkgs/applications/misc/wcalc/default.nix
+++ b/pkgs/applications/misc/wcalc/default.nix
@@ -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;
   };
diff --git a/pkgs/applications/misc/zine/default.nix b/pkgs/applications/misc/zine/default.nix
index 3f62f3381c557..2946b226155e9 100644
--- a/pkgs/applications/misc/zine/default.nix
+++ b/pkgs/applications/misc/zine/default.nix
@@ -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
diff --git a/pkgs/applications/radio/unixcw/default.nix b/pkgs/applications/radio/unixcw/default.nix
index 3fd066ec7b7bb..80121db69c010 100644
--- a/pkgs/applications/radio/unixcw/default.nix
+++ b/pkgs/applications/radio/unixcw/default.nix
@@ -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;
diff --git a/pkgs/applications/science/astronomy/xplanet/default.nix b/pkgs/applications/science/astronomy/xplanet/default.nix
index 8c0cb2be32b9d..d284171831b87 100644
--- a/pkgs/applications/science/astronomy/xplanet/default.nix
+++ b/pkgs/applications/science/astronomy/xplanet/default.nix
@@ -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;
diff --git a/pkgs/applications/science/biology/bowtie/default.nix b/pkgs/applications/science/biology/bowtie/default.nix
index ccb797d8a227e..bec263a2d9315 100644
--- a/pkgs/applications/science/biology/bowtie/default.nix
+++ b/pkgs/applications/science/biology/bowtie/default.nix
@@ -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;
   };
diff --git a/pkgs/applications/science/biology/seaview/default.nix b/pkgs/applications/science/biology/seaview/default.nix
index 9cfa7cb933b0c..640d2f5ae4160 100644
--- a/pkgs/applications/science/biology/seaview/default.nix
+++ b/pkgs/applications/science/biology/seaview/default.nix
@@ -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;
diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix
index 57a832fed2423..cc03a2e8c8196 100644
--- a/pkgs/applications/science/electronics/gtkwave/default.nix
+++ b/pkgs/applications/science/electronics/gtkwave/default.nix
@@ -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;
diff --git a/pkgs/applications/science/electronics/qucs/default.nix b/pkgs/applications/science/electronics/qucs/default.nix
index a5f2cf394b44f..eeb10b3a5a1dc 100644
--- a/pkgs/applications/science/electronics/qucs/default.nix
+++ b/pkgs/applications/science/electronics/qucs/default.nix
@@ -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;
diff --git a/pkgs/applications/science/electronics/xoscope/default.nix b/pkgs/applications/science/electronics/xoscope/default.nix
index 7a9f58a0c6e34..9f9224b5543cd 100644
--- a/pkgs/applications/science/electronics/xoscope/default.nix
+++ b/pkgs/applications/science/electronics/xoscope/default.nix
@@ -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;
diff --git a/pkgs/applications/science/logic/yices/default.nix b/pkgs/applications/science/logic/yices/default.nix
index fb14723241b81..83fbb6d6546b0 100644
--- a/pkgs/applications/science/logic/yices/default.nix
+++ b/pkgs/applications/science/logic/yices/default.nix
@@ -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 ];
diff --git a/pkgs/applications/science/math/gretl/default.nix b/pkgs/applications/science/math/gretl/default.nix
index a2624c29662e4..315433feb1c2a 100644
--- a/pkgs/applications/science/math/gretl/default.nix
+++ b/pkgs/applications/science/math/gretl/default.nix
@@ -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;
diff --git a/pkgs/applications/science/math/lp_solve/default.nix b/pkgs/applications/science/math/lp_solve/default.nix
index f4c117267d568..6a1bc86abced3 100644
--- a/pkgs/applications/science/math/lp_solve/default.nix
+++ b/pkgs/applications/science/math/lp_solve/default.nix
@@ -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;
diff --git a/pkgs/applications/science/math/singular/default.nix b/pkgs/applications/science/math/singular/default.nix
index 3ca1501e382e6..e41d851cf7e87 100644
--- a/pkgs/applications/science/math/singular/default.nix
+++ b/pkgs/applications/science/math/singular/default.nix
@@ -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";
   };
diff --git a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
index 26e6ab12ab04e..cdc5bc855731b 100644
--- a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
+++ b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
@@ -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 = ''
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index 1b4734027b7d0..2ded0cf170d64 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -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;
diff --git a/pkgs/applications/video/imagination/default.nix b/pkgs/applications/video/imagination/default.nix
index 732d8f547ff69..804265bcb5456 100644
--- a/pkgs/applications/video/imagination/default.nix
+++ b/pkgs/applications/video/imagination/default.nix
@@ -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;
diff --git a/pkgs/applications/video/tivodecode/default.nix b/pkgs/applications/video/tivodecode/default.nix
index 706dbc187377a..c21a0611262da 100644
--- a/pkgs/applications/video/tivodecode/default.nix
+++ b/pkgs/applications/video/tivodecode/default.nix
@@ -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;
   };
diff --git a/pkgs/build-support/kernel/make-initrd-ng/README.md b/pkgs/build-support/kernel/make-initrd-ng/README.md
index 741eba67e43f0..d92b7eab7fe18 100644
--- a/pkgs/build-support/kernel/make-initrd-ng/README.md
+++ b/pkgs/build-support/kernel/make-initrd-ng/README.md
@@ -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.
 
diff --git a/pkgs/build-support/kernel/make-initrd-ng/src/main.rs b/pkgs/build-support/kernel/make-initrd-ng/src/main.rs
index 89a7c08fda7ea..c23713b723c39 100644
--- a/pkgs/build-support/kernel/make-initrd-ng/src/main.rs
+++ b/pkgs/build-support/kernel/make-initrd-ng/src/main.rs
@@ -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)?;
 
diff --git a/pkgs/data/fonts/proggyfonts/default.nix b/pkgs/data/fonts/proggyfonts/default.nix
index e8881fce3674c..195b6ed1d39ad 100644
--- a/pkgs/data/fonts/proggyfonts/default.nix
+++ b/pkgs/data/fonts/proggyfonts/default.nix
@@ -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;
diff --git a/pkgs/development/interpreters/metamath/default.nix b/pkgs/development/interpreters/metamath/default.nix
index e83a724d25d2f..c9a490ddc4e31 100644
--- a/pkgs/development/interpreters/metamath/default.nix
+++ b/pkgs/development/interpreters/metamath/default.nix
@@ -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 ];
diff --git a/pkgs/development/libraries/armadillo/default.nix b/pkgs/development/libraries/armadillo/default.nix
index 2b07d3a87a64b..d3bee03c5e194 100644
--- a/pkgs/development/libraries/armadillo/default.nix
+++ b/pkgs/development/libraries/armadillo/default.nix
@@ -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 ];
diff --git a/pkgs/development/libraries/clucene-core/2.x.nix b/pkgs/development/libraries/clucene-core/2.x.nix
index fbc23af6427e0..538c4ceb4f559 100644
--- a/pkgs/development/libraries/clucene-core/2.x.nix
+++ b/pkgs/development/libraries/clucene-core/2.x.nix
@@ -61,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 ];
   };
diff --git a/pkgs/development/libraries/clucene-core/default.nix b/pkgs/development/libraries/clucene-core/default.nix
index 58c24069a3a4b..7687694d0f680 100644
--- a/pkgs/development/libraries/clucene-core/default.nix
+++ b/pkgs/development/libraries/clucene-core/default.nix
@@ -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 ];
   };
diff --git a/pkgs/development/libraries/dbus-cplusplus/default.nix b/pkgs/development/libraries/dbus-cplusplus/default.nix
index 1e38ddf44e196..263ddc6365284 100644
--- a/pkgs/development/libraries/dbus-cplusplus/default.nix
+++ b/pkgs/development/libraries/dbus-cplusplus/default.nix
@@ -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;
diff --git a/pkgs/development/libraries/gtkspell/default.nix b/pkgs/development/libraries/gtkspell/default.nix
index 9c5c2b614fa27..eb8b1363c32b7 100644
--- a/pkgs/development/libraries/gtkspell/default.nix
+++ b/pkgs/development/libraries/gtkspell/default.nix
@@ -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;
   };
diff --git a/pkgs/development/libraries/hamlib/4.nix b/pkgs/development/libraries/hamlib/4.nix
index b199bb27397bf..ffaa53ccffe2a 100644
--- a/pkgs/development/libraries/hamlib/4.nix
+++ b/pkgs/development/libraries/hamlib/4.nix
@@ -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;
   };
diff --git a/pkgs/development/libraries/hamlib/default.nix b/pkgs/development/libraries/hamlib/default.nix
index 31b620ae5d2e9..9250a66c219e2 100644
--- a/pkgs/development/libraries/hamlib/default.nix
+++ b/pkgs/development/libraries/hamlib/default.nix
@@ -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;
   };
diff --git a/pkgs/development/libraries/hunspell/default.nix b/pkgs/development/libraries/hunspell/default.nix
index 324b4337c874c..2f48bd668de47 100644
--- a/pkgs/development/libraries/hunspell/default.nix
+++ b/pkgs/development/libraries/hunspell/default.nix
@@ -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
diff --git a/pkgs/development/libraries/id3lib/default.nix b/pkgs/development/libraries/id3lib/default.nix
index 8f5512e94db59..e95f5e3cab2d6 100644
--- a/pkgs/development/libraries/id3lib/default.nix
+++ b/pkgs/development/libraries/id3lib/default.nix
@@ -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;
   };
diff --git a/pkgs/development/libraries/java/httpunit/default.nix b/pkgs/development/libraries/java/httpunit/default.nix
index a93a646e21ac9..07afdabd89b28 100644
--- a/pkgs/development/libraries/java/httpunit/default.nix
+++ b/pkgs/development/libraries/java/httpunit/default.nix
@@ -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;
   };
diff --git a/pkgs/development/libraries/lesstif/default.nix b/pkgs/development/libraries/lesstif/default.nix
index a5c37dd0f04f1..e0bd674e4daad 100644
--- a/pkgs/development/libraries/lesstif/default.nix
+++ b/pkgs/development/libraries/lesstif/default.nix
@@ -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 ];
   };
diff --git a/pkgs/development/libraries/libcdaudio/default.nix b/pkgs/development/libraries/libcdaudio/default.nix
index dccad33dda93d..134f9d7f8f33d 100644
--- a/pkgs/development/libraries/libcdaudio/default.nix
+++ b/pkgs/development/libraries/libcdaudio/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A portable library for controlling audio CDs";
-    homepage = "http://libcdaudio.sourceforge.net";
+    homepage = "https://libcdaudio.sourceforge.net";
     platforms = lib.platforms.linux;
     license = lib.licenses.lgpl2;
   };
diff --git a/pkgs/development/libraries/libiodbc/default.nix b/pkgs/development/libraries/libiodbc/default.nix
index eb34bc56f4437..6b9510a46ba5e 100644
--- a/pkgs/development/libraries/libiodbc/default.nix
+++ b/pkgs/development/libraries/libiodbc/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "iODBC driver manager";
-    homepage = "http://www.iodbc.org";
+    homepage = "https://www.iodbc.org";
     platforms = platforms.unix;
     license = licenses.bsd3;
   };
diff --git a/pkgs/development/libraries/liblastfmSF/default.nix b/pkgs/development/libraries/liblastfmSF/default.nix
index 74d32a6cc7482..f25ee3afae4a4 100644
--- a/pkgs/development/libraries/liblastfmSF/default.nix
+++ b/pkgs/development/libraries/liblastfmSF/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = {
-    homepage = "http://liblastfm.sourceforge.net";
+    homepage = "https://liblastfm.sourceforge.net";
     description = "Unofficial C lastfm library";
     license = lib.licenses.gpl3;
   };
diff --git a/pkgs/development/libraries/liblouis/default.nix b/pkgs/development/libraries/liblouis/default.nix
index da724aaac9b45..b9b61214462ca 100644
--- a/pkgs/development/libraries/liblouis/default.nix
+++ b/pkgs/development/libraries/liblouis/default.nix
@@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Open-source braille translator and back-translator";
-    homepage = "http://liblouis.org/";
+    homepage = "https://liblouis.org/";
     license = with licenses; [
       lgpl21Plus # library
       gpl3Plus # tools
diff --git a/pkgs/development/libraries/libmcrypt/default.nix b/pkgs/development/libraries/libmcrypt/default.nix
index cdd6a7b2ec502..d1f048ee2c539 100644
--- a/pkgs/development/libraries/libmcrypt/default.nix
+++ b/pkgs/development/libraries/libmcrypt/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Replacement for the old crypt() package and crypt(1) command, with extensions";
-    homepage = "http://mcrypt.sourceforge.net";
+    homepage = "https://mcrypt.sourceforge.net";
     license = "GPL";
     platforms = lib.platforms.all;
   };
diff --git a/pkgs/development/libraries/libmhash/default.nix b/pkgs/development/libraries/libmhash/default.nix
index f569ce7fac753..0cccefb999803 100644
--- a/pkgs/development/libraries/libmhash/default.nix
+++ b/pkgs/development/libraries/libmhash/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
       following rfc2104 (HMAC). It also includes some key generation algorithms
       which are based on hash algorithms.
     '';
-    homepage = "http://mhash.sourceforge.net";
+    homepage = "https://mhash.sourceforge.net";
     license = "LGPL";
     platforms = lib.platforms.unix;
   };
diff --git a/pkgs/development/libraries/libwpd/0.8.nix b/pkgs/development/libraries/libwpd/0.8.nix
index 7657cd4895275..abac656f8e473 100644
--- a/pkgs/development/libraries/libwpd/0.8.nix
+++ b/pkgs/development/libraries/libwpd/0.8.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Library for importing WordPerfect documents";
-    homepage = "http://libwpd.sourceforge.net";
+    homepage = "https://libwpd.sourceforge.net";
     license = with licenses; [ lgpl21 mpl20 ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/libraries/libwpg/default.nix b/pkgs/development/libraries/libwpg/default.nix
index bf0df220935c3..637de76169c75 100644
--- a/pkgs/development/libraries/libwpg/default.nix
+++ b/pkgs/development/libraries/libwpg/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config ];
 
   meta = with lib; {
-    homepage = "http://libwpg.sourceforge.net";
+    homepage = "https://libwpg.sourceforge.net";
     description = "C++ library to parse WPG";
     license = with licenses; [ lgpl21 mpl20 ];
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/loki/default.nix b/pkgs/development/libraries/loki/default.nix
index d89df53907bef..cfb2ccf9ae6e3 100644
--- a/pkgs/development/libraries/loki/default.nix
+++ b/pkgs/development/libraries/loki/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A C++ library of designs, containing flexible implementations of common design patterns and idioms";
-    homepage = "http://loki-lib.sourceforge.net";
+    homepage = "https://loki-lib.sourceforge.net";
     license = licenses.mit;
     platforms = platforms.all;
     maintainers = with maintainers; [ peterhoeg ];
diff --git a/pkgs/development/libraries/podofo/default.nix b/pkgs/development/libraries/podofo/default.nix
index c4aab614915c2..1243763421c08 100644
--- a/pkgs/development/libraries/podofo/default.nix
+++ b/pkgs/development/libraries/podofo/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "http://podofo.sourceforge.net";
+    homepage = "https://podofo.sourceforge.net";
     description = "A library to work with the PDF file format";
     platforms = platforms.all;
     license = with licenses; [ gpl2Plus lgpl2Plus ];
diff --git a/pkgs/development/libraries/ucx/default.nix b/pkgs/development/libraries/ucx/default.nix
index a6e1b43f5db4f..b7c76434392fc 100644
--- a/pkgs/development/libraries/ucx/default.nix
+++ b/pkgs/development/libraries/ucx/default.nix
@@ -55,7 +55,7 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Unified Communication X library";
-    homepage = "http://www.openucx.org";
+    homepage = "https://www.openucx.org";
     license = licenses.bsd3;
     platforms = platforms.linux;
     maintainers = [ maintainers.markuskowa ];
diff --git a/pkgs/development/libraries/unixODBC/default.nix b/pkgs/development/libraries/unixODBC/default.nix
index 2c424157bb41e..90398e5aef255 100644
--- a/pkgs/development/libraries/unixODBC/default.nix
+++ b/pkgs/development/libraries/unixODBC/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     urls = [
       "ftp://ftp.unixodbc.org/pub/unixODBC/${pname}-${version}.tar.gz"
-      "http://www.unixodbc.org/${pname}-${version}.tar.gz"
+      "https://www.unixodbc.org/${pname}-${version}.tar.gz"
     ];
     sha256 = "sha256-2eVcjnEYNH48ZshzOIVtrRUWtJD7fHVsFWKiwmfHO1w=";
   };
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "ODBC driver manager for Unix";
-    homepage = "http://www.unixodbc.org/";
+    homepage = "https://www.unixodbc.org/";
     license = licenses.lgpl2;
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index c243f30740823..912befdc9a46c 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -90399,7 +90399,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "The browser package manager";
-      homepage = "http://bower.io";
+      homepage = "https://bower.io";
       license = "MIT";
     };
     production = true;
@@ -113383,7 +113383,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Utility to inline images, CSS and JavaScript for a web page - useful for mobile sites";
-      homepage = "http://github.com/remy/inliner";
+      homepage = "https://github.com/remy/inliner";
       license = "MIT";
     };
     production = true;
@@ -115668,7 +115668,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Static analysis tool for JavaScript";
-      homepage = "http://jshint.com/";
+      homepage = "https://jshint.com/";
       license = "MIT";
     };
     production = true;
@@ -119084,7 +119084,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Leaner CSS";
-      homepage = "http://lesscss.org";
+      homepage = "https://lesscss.org";
       license = "Apache-2.0";
     };
     production = true;
@@ -119109,7 +119109,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "clean-css plugin for less.js";
-      homepage = "http://lesscss.org";
+      homepage = "https://lesscss.org";
     };
     production = true;
     bypassCache = true;
@@ -123170,7 +123170,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Web Inspector based nodeJS debugger";
-      homepage = "http://github.com/node-inspector/node-inspector";
+      homepage = "https://github.com/node-inspector/node-inspector";
     };
     production = true;
     bypassCache = true;
@@ -123660,7 +123660,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Low-code programming for event-driven applications";
-      homepage = "http://nodered.org";
+      homepage = "https://nodered.org";
       license = "Apache-2.0";
     };
     production = true;
@@ -128430,7 +128430,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Production process manager for Node.JS applications with a built-in load balancer.";
-      homepage = "http://pm2.keymetrics.io/";
+      homepage = "https://pm2.keymetrics.io/";
       license = "AGPL-3.0";
     };
     production = true;
@@ -150171,7 +150171,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "CLI tool for running Yeoman generators";
-      homepage = "http://yeoman.io";
+      homepage = "https://yeoman.io";
       license = "BSD-2-Clause";
     };
     production = true;
diff --git a/pkgs/development/python-modules/azure-mgmt-kusto/default.nix b/pkgs/development/python-modules/azure-mgmt-kusto/default.nix
index 615ab0f33e6ff..6ff2d91c98959 100644
--- a/pkgs/development/python-modules/azure-mgmt-kusto/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-kusto/default.nix
@@ -6,13 +6,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "3.0.0";
+  version = "3.1.0";
   pname = "azure-mgmt-kusto";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-sSE/jN2YWuf81dUsZFLgYUnTv9e1PnO9qszjuHlUcDI=";
+    sha256 = "sha256-dkuVCFR+w3Yr764izDqxGfKtDvgRmAuziSPpkKDWcxc=";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/boltons/default.nix b/pkgs/development/python-modules/boltons/default.nix
index 19d69546abb82..1c65fed86bbf1 100644
--- a/pkgs/development/python-modules/boltons/default.nix
+++ b/pkgs/development/python-modules/boltons/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "mahmoud";
     repo = "boltons";
-    rev = version;
+    rev = "refs/tags/${version}";
     hash = "sha256-8HO7X2PQEbQIQsCa2cMHQI3rlofVT22GYrWNXY34MLk=";
   };
 
@@ -41,8 +41,12 @@ buildPythonPackage rec {
     "boltons"
   ];
 
+  disabledTests = lib.optionals (pythonAtLeast "3.11") [
+    # https://github.com/mahmoud/boltons/issues/326
+    "test_frozendict_api"
+  ];
+
   meta = with lib; {
-    homepage = "https://github.com/mahmoud/boltons";
     description = "Constructs, recipes, and snippets extending the Python standard library";
     longDescription = ''
       Boltons is a set of over 200 BSD-licensed, pure-Python utilities
@@ -59,6 +63,8 @@ buildPythonPackage rec {
       - A full-featured TracebackInfo type, for representing stack
       traces, in tbutils
     '';
+    homepage = "https://github.com/mahmoud/boltons";
+    changelog = "https://github.com/mahmoud/boltons/blob/${version}/CHANGELOG.md";
     license = licenses.bsd3;
     maintainers = with maintainers; [ twey ];
   };
diff --git a/pkgs/development/python-modules/dinghy/default.nix b/pkgs/development/python-modules/dinghy/default.nix
index fa62731071b6f..aea49cde6f180 100644
--- a/pkgs/development/python-modules/dinghy/default.nix
+++ b/pkgs/development/python-modules/dinghy/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "nedbat";
     repo = pname;
-    rev = version;
+    rev = "refs/tags/${version}";
     hash = "sha256-xtcNcykfgcWvifso0xaeMT31+G5x4HCp+tLAIEEq4cw=";
   };
 
@@ -47,6 +47,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "A GitHub activity digest tool";
     homepage = "https://github.com/nedbat/dinghy";
+    changelog = "https://github.com/nedbat/dinghy/blob/${version}/CHANGELOG.rst";
     license = licenses.asl20;
     maintainers = with maintainers; [ trundle veehaitch ];
   };
diff --git a/pkgs/development/python-modules/eliot/default.nix b/pkgs/development/python-modules/eliot/default.nix
index 4797c1cb038b2..1ddae0409fbba 100644
--- a/pkgs/development/python-modules/eliot/default.nix
+++ b/pkgs/development/python-modules/eliot/default.nix
@@ -6,7 +6,7 @@
 , boltons
 , hypothesis
 , pyrsistent
-, pytest
+, pytestCheckHook
 , setuptools
 , six
 , testtools
@@ -16,19 +16,15 @@
 buildPythonPackage rec {
   pname = "eliot";
   version = "1.14.0";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c2f099a3e8d5ecfc22745766e7cc664a48db64b6b89d986dff270491d8683149";
+    hash = "sha256-wvCZo+jV7PwidFdm58xmSkjbZLa4nZht/ycEkdhoMUk=";
   };
 
-  nativeCheckInputs = [
-    hypothesis
-    testtools
-    pytest
-   ];
-
   propagatedBuildInputs = [
     aiocontextvars
     boltons
@@ -38,19 +34,31 @@ buildPythonPackage rec {
     zope_interface
   ];
 
-  pythonImportsCheck = [ "eliot" ];
+  nativeCheckInputs = [
+    hypothesis
+    pytestCheckHook
+    testtools
+  ];
+
+  pythonImportsCheck = [
+    "eliot"
+  ];
 
   # Tests run eliot-prettyprint in out/bin.
-  # test_parse_stream is broken, skip it.
-  checkPhase = ''
+  preCheck = ''
     export PATH=$out/bin:$PATH
-    pytest -k 'not test_parse_stream'
   '';
 
+  disabledTests = [
+    "test_parse_stream"
+    # AttributeError: module 'inspect' has no attribute 'getargspec'
+    "test_default"
+  ];
+
   meta = with lib; {
     homepage = "https://eliot.readthedocs.io";
     description = "Logging library that tells you why it happened";
     license = licenses.asl20;
-    maintainers = [ maintainers.dpausp ];
+    maintainers = with maintainers; [ dpausp ];
   };
 }
diff --git a/pkgs/development/python-modules/glom/default.nix b/pkgs/development/python-modules/glom/default.nix
index 38f17c9ed8cc5..876feaf6c2c6d 100644
--- a/pkgs/development/python-modules/glom/default.nix
+++ b/pkgs/development/python-modules/glom/default.nix
@@ -1,12 +1,13 @@
 { lib
-, buildPythonPackage
-, fetchPypi
-, boltons
 , attrs
+, boltons
+, buildPythonPackage
 , face
+, fetchPypi
 , pytestCheckHook
-, pyyaml
+, pythonAtLeast
 , pythonOlder
+, pyyaml
 }:
 
 buildPythonPackage rec {
@@ -40,6 +41,9 @@ buildPythonPackage rec {
   disabledTests = [
     # Test is outdated (was made for PyYAML 3.x)
     "test_main_yaml_target"
+  ] ++ lib.optionals (pythonAtLeast "3.11") [
+    "test_regular_error_stack"
+    "test_long_target_repr"
   ];
 
   pythonImportsCheck = [
@@ -47,12 +51,13 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    homepage = "https://github.com/mahmoud/glom";
     description = "Restructuring data, the Python way";
     longDescription = ''
       glom helps pull together objects from other objects in a
       declarative, dynamic, and downright simple way.
     '';
+    homepage = "https://github.com/mahmoud/glom";
+    changelog = "https://github.com/mahmoud/glom/blob/v${version}/CHANGELOG.md";
     license = licenses.bsd3;
     maintainers = with maintainers; [ twey ];
   };
diff --git a/pkgs/development/python-modules/mdp/default.nix b/pkgs/development/python-modules/mdp/default.nix
index 75dfc5dabc9a8..989e9e00aa476 100644
--- a/pkgs/development/python-modules/mdp/default.nix
+++ b/pkgs/development/python-modules/mdp/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Library for building complex data processing software by combining widely used machine learning algorithms";
-    homepage = "http://mdp-toolkit.sourceforge.net";
+    homepage = "https://mdp-toolkit.sourceforge.net";
     license = licenses.bsd3;
     maintainers = with maintainers; [ nico202 ];
   };
diff --git a/pkgs/development/python-modules/mypy/default.nix b/pkgs/development/python-modules/mypy/default.nix
index bb585a7afcd70..6bee65c7fec41 100644
--- a/pkgs/development/python-modules/mypy/default.nix
+++ b/pkgs/development/python-modules/mypy/default.nix
@@ -83,7 +83,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Optional static typing for Python";
-    homepage = "http://www.mypy-lang.org";
+    homepage = "https://www.mypy-lang.org";
     license = licenses.mit;
     maintainers = with maintainers; [ martingms lnl7 SuperSandro2000 ];
   };
diff --git a/pkgs/development/python-modules/mypy/extensions.nix b/pkgs/development/python-modules/mypy/extensions.nix
index 7f167c3f71df3..a671cb2af819c 100644
--- a/pkgs/development/python-modules/mypy/extensions.nix
+++ b/pkgs/development/python-modules/mypy/extensions.nix
@@ -40,7 +40,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Experimental type system extensions for programs checked with the mypy typechecker";
-    homepage = "http://www.mypy-lang.org";
+    homepage = "https://www.mypy-lang.org";
     license = licenses.mit;
     maintainers = with maintainers; [ martingms lnl7 SuperSandro2000 ];
   };
diff --git a/pkgs/development/python-modules/pyopengl-accelerate/default.nix b/pkgs/development/python-modules/pyopengl-accelerate/default.nix
index 27e329c928558..21812dd47f7e0 100644
--- a/pkgs/development/python-modules/pyopengl-accelerate/default.nix
+++ b/pkgs/development/python-modules/pyopengl-accelerate/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "This set of C (Cython) extensions provides acceleration of common operations for slow points in PyOpenGL 3.x";
-    homepage = "http://pyopengl.sourceforge.net/";
+    homepage = "https://pyopengl.sourceforge.net/";
     maintainers = with lib.maintainers; [ laikq ];
     license = lib.licenses.bsd3;
   };
diff --git a/pkgs/development/python-modules/restview/default.nix b/pkgs/development/python-modules/restview/default.nix
index 817577cc447f7..c5f8f5b02852d 100644
--- a/pkgs/development/python-modules/restview/default.nix
+++ b/pkgs/development/python-modules/restview/default.nix
@@ -44,6 +44,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "ReStructuredText viewer";
     homepage = "https://mg.pov.lt/restview/";
+    changelog = "https://github.com/mgedmin/restview/blob/${version}/CHANGES.rst";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ koral ];
   };
diff --git a/pkgs/development/python-modules/sanic/default.nix b/pkgs/development/python-modules/sanic/default.nix
index 571606a9a34f4..52b04f4cccefb 100644
--- a/pkgs/development/python-modules/sanic/default.nix
+++ b/pkgs/development/python-modules/sanic/default.nix
@@ -3,13 +3,13 @@
 , aiofiles
 , beautifulsoup4
 , buildPythonPackage
-, doCheck ? true
+, doCheck ? !stdenv.isDarwin # on Darwin, tests fail but pkg still works
 , fetchFromGitHub
 , gunicorn
 , httptools
 , multidict
 , pytest-asyncio
- ,pytestCheckHook
+, pytestCheckHook
 , pythonOlder
 , pythonAtLeast
 , sanic-routing
@@ -69,7 +69,7 @@ buildPythonPackage rec {
 
     # needed for relative paths for some packages
     cd tests
-  '' + lib.optionalString stdenv.isDarwin  ''
+  '' + lib.optionalString stdenv.isDarwin ''
     # OSError: [Errno 24] Too many open files
     ulimit -n 1024
   '';
@@ -126,7 +126,6 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "sanic" ];
 
   meta = with lib; {
-    broken = stdenv.isDarwin;
     description = "Web server and web framework";
     homepage = "https://github.com/sanic-org/sanic/";
     changelog = "https://github.com/sanic-org/sanic/releases/tag/v${version}";
diff --git a/pkgs/development/python-modules/yalexs/default.nix b/pkgs/development/python-modules/yalexs/default.nix
index 22919fa0a01fb..add1fbd40434b 100644
--- a/pkgs/development/python-modules/yalexs/default.nix
+++ b/pkgs/development/python-modules/yalexs/default.nix
@@ -3,7 +3,6 @@
 , aiohttp
 , aioresponses
 , aiounittest
-, asynctest
 , buildPythonPackage
 , fetchFromGitHub
 , pubnub
@@ -17,16 +16,16 @@
 
 buildPythonPackage rec {
   pname = "yalexs";
-  version = "1.2.6";
+  version = "1.2.8";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "bdraco";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-E+Forcx6dRtDeagcjGGE8DFkAKUgsHyCEONW7WU0lpo=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-SdWfhA6mroZnqHQYPieuZvox+OGEHWOTlfuHqu5r0cg=";
   };
 
   propagatedBuildInputs = [
@@ -41,7 +40,6 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     aioresponses
     aiounittest
-    asynctest
     pytestCheckHook
     requests-mock
   ];
@@ -59,6 +57,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python API for Yale Access (formerly August) Smart Lock and Doorbell";
     homepage = "https://github.com/bdraco/yalexs";
+    changelog = "https://github.com/bdraco/yalexs/releases/tag/v${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix
index 1a8183ebab8d2..707506c03b2e3 100644
--- a/pkgs/development/tools/analysis/cppcheck/default.nix
+++ b/pkgs/development/tools/analysis/cppcheck/default.nix
@@ -1,45 +1,53 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, installShellFiles
 , pcre
 , python3
 , libxslt
 , docbook_xsl
 , docbook_xml_dtd_45
-, withZ3 ? true
-, z3
 , which
 }:
 
 stdenv.mkDerivation rec {
   pname = "cppcheck";
-  version = "2.9.3";
+  version = "2.10";
 
   src = fetchFromGitHub {
     owner = "danmar";
     repo = "cppcheck";
     rev = version;
-    hash = "sha256-AaZzr5r+tpG5M40HSx45KCUBPhN/nSpXxS5H3FuSx2c=";
+    hash = "sha256-Ss35foFlh4sw6TxMp++0b9E5KDUjBpDPuWIHsak8OGY=";
   };
 
-  buildInputs = [ pcre
-    (python3.withPackages (ps: [ps.pygments]))
-  ] ++ lib.optionals withZ3 [ z3 ];
-  nativeBuildInputs = [ libxslt docbook_xsl docbook_xml_dtd_45 which ];
+  buildInputs = [ pcre (python3.withPackages (ps: [ps.pygments])) ];
+  nativeBuildInputs = [ installShellFiles libxslt docbook_xsl docbook_xml_dtd_45 which ];
 
-  makeFlags = [ "PREFIX=$(out)" "MATCHCOMPILER=yes" "FILESDIR=$(out)/share/cppcheck" "HAVE_RULES=yes" ]
-   ++ lib.optionals withZ3 [ "USE_Z3=yes" "CPPFLAGS=-DNEW_Z3=1" ];
+  makeFlags = [ "PREFIX=$(out)" "MATCHCOMPILER=yes" "FILESDIR=$(out)/share/cppcheck" "HAVE_RULES=yes" ];
 
   outputs = [ "out" "man" ];
 
   enableParallelBuilding = true;
 
+  postBuild = ''
+    make DB2MAN=${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl man
+  '';
+
   doCheck = true;
 
   postInstall = ''
-    make DB2MAN=${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl man
-    mkdir -p $man/share/man/man1
-    cp cppcheck.1 $man/share/man/man1/cppcheck.1
+    installManPage cppcheck.1
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    echo 'int main() {}' > ./installcheck.cpp
+    $out/bin/cppcheck ./installcheck.cpp > /dev/null
+
+    runHook postInstallCheck
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/continuous-integration/github-runner/default.nix b/pkgs/development/tools/continuous-integration/github-runner/default.nix
index 1fbd2fcf9968e..b1ff6a76f5413 100644
--- a/pkgs/development/tools/continuous-integration/github-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/github-runner/default.nix
@@ -45,13 +45,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "github-runner";
-  version = "2.302.0";
+  version = "2.302.1";
 
   src = fetchFromGitHub {
     owner = "actions";
     repo = "runner";
     rev = "v${version}";
-    hash = "sha256-eIMiXdw62JGlSnMkmFf9vqOpp1QC9DkD/2wDPHJuVBI=";
+    hash = "sha256-l7kGKhHpE5kEo8QMmwZKnG4cctj2INhnko7KfAXfrQ8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/explain/default.nix b/pkgs/development/tools/explain/default.nix
index 9b6e5fd763dee..47a9622be9441 100644
--- a/pkgs/development/tools/explain/default.nix
+++ b/pkgs/development/tools/explain/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Library and utility to explain system call errors";
-    homepage = "http://libexplain.sourceforge.net";
+    homepage = "https://libexplain.sourceforge.net";
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ McSinyx ];
     platforms = platforms.unix;
diff --git a/pkgs/development/tools/golangci-lint/default.nix b/pkgs/development/tools/golangci-lint/default.nix
index f3a54a83a6360..b3d1220436788 100644
--- a/pkgs/development/tools/golangci-lint/default.nix
+++ b/pkgs/development/tools/golangci-lint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "golangci-lint";
-  version = "1.51.1";
+  version = "1.51.2";
 
   src = fetchFromGitHub {
     owner = "golangci";
     repo = "golangci-lint";
     rev = "v${version}";
-    hash = "sha256-BkkC23dO40gnEQ6sJcbLR2UzdigMrta2+NnZA2bk3E8=";
+    hash = "sha256-F2rkVZ5ia9/wyTw1WIeizFnuaHoS2A8VzVOGDcshy64=";
   };
 
-  vendorHash = "sha256-CS9Z3nvOleKTYjw89IKybsUI33w0If/mYDUpQHLO58U=";
+  vendorHash = "sha256-JO/mRJB3gRTtBj6pW1267/xXUtalTJo0p3q5e34vqTs=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/literate-programming/nuweb/default.nix b/pkgs/development/tools/literate-programming/nuweb/default.nix
index d689504aca99d..2c59bbc3d14fd 100644
--- a/pkgs/development/tools/literate-programming/nuweb/default.nix
+++ b/pkgs/development/tools/literate-programming/nuweb/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A simple literate programming tool";
-    homepage = "http://nuweb.sourceforge.net";
+    homepage = "https://nuweb.sourceforge.net";
     license = licenses.free;
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.unix;
diff --git a/pkgs/development/tools/misc/dfu-util/default.nix b/pkgs/development/tools/misc/dfu-util/default.nix
index 0ce3bb52cd4f5..26610c2c78d71 100644
--- a/pkgs/development/tools/misc/dfu-util/default.nix
+++ b/pkgs/development/tools/misc/dfu-util/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
       phones. With dfu-util you are able to download firmware to your device or
       upload firmware from it.
     '';
-    homepage = "http://dfu-util.sourceforge.net";
+    homepage = "https://dfu-util.sourceforge.net";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = [ maintainers.fpletz ];
diff --git a/pkgs/development/tools/solarus-quest-editor/default.nix b/pkgs/development/tools/solarus-quest-editor/default.nix
index 60c2bd188dedd..3dc60021b757f 100644
--- a/pkgs/development/tools/solarus-quest-editor/default.nix
+++ b/pkgs/development/tools/solarus-quest-editor/default.nix
@@ -33,7 +33,7 @@ mkDerivation rec {
       Many full-fledged games have been writen for the engine.
       Games can be created easily using the editor.
     '';
-    homepage = "http://www.solarus-games.org";
+    homepage = "https://www.solarus-games.org";
     license = licenses.gpl3;
     maintainers = [ ];
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/udis86/default.nix b/pkgs/development/tools/udis86/default.nix
index 37408035ff933..14a594a827da7 100644
--- a/pkgs/development/tools/udis86/default.nix
+++ b/pkgs/development/tools/udis86/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   outputs = [ "bin" "out" "dev" "lib" ];
 
   meta = with lib; {
-    homepage = "http://udis86.sourceforge.net";
+    homepage = "https://udis86.sourceforge.net";
     license = licenses.bsd2;
     maintainers = with maintainers; [ timor ];
     mainProgram = "udcli";
diff --git a/pkgs/games/rili/default.nix b/pkgs/games/rili/default.nix
index 9c6252a6dda30..7c47166eab56f 100644
--- a/pkgs/games/rili/default.nix
+++ b/pkgs/games/rili/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ SDL SDL_mixer ];
 
   meta = {
-    homepage = "http://ri-li.sourceforge.net";
+    homepage = "https://ri-li.sourceforge.net";
     license = lib.licenses.gpl2Plus;
     description = "A children's train game";
     longDescription = ''
diff --git a/pkgs/games/solarus/default.nix b/pkgs/games/solarus/default.nix
index 9dc0e1863cfa7..0e95a77a7cd46 100644
--- a/pkgs/games/solarus/default.nix
+++ b/pkgs/games/solarus/default.nix
@@ -33,7 +33,7 @@ mkDerivation rec {
       Solarus is a game engine for Zelda-like ARPG games written in lua.
       Many full-fledged games have been writen for the engine.
     '';
-    homepage = "http://www.solarus-games.org";
+    homepage = "https://www.solarus-games.org";
     license = licenses.gpl3;
     maintainers = [ ];
     platforms = platforms.linux;
diff --git a/pkgs/os-specific/linux/guvcview/default.nix b/pkgs/os-specific/linux/guvcview/default.nix
index 04eccaf024359..43d8de62991af 100644
--- a/pkgs/os-specific/linux/guvcview/default.nix
+++ b/pkgs/os-specific/linux/guvcview/default.nix
@@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A simple interface for devices supported by the linux UVC driver";
-    homepage = "http://guvcview.sourceforge.net";
+    homepage = "https://guvcview.sourceforge.net";
     maintainers = [ maintainers.coconnor ];
     license = licenses.gpl3;
     platforms = platforms.linux;
diff --git a/pkgs/os-specific/linux/nmon/default.nix b/pkgs/os-specific/linux/nmon/default.nix
index 41c16f9f394c0..4dfacd4404fd0 100644
--- a/pkgs/os-specific/linux/nmon/default.nix
+++ b/pkgs/os-specific/linux/nmon/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "AIX & Linux Performance Monitoring tool";
-    homepage = "http://nmon.sourceforge.net";
+    homepage = "https://nmon.sourceforge.net";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ sveitser ];
diff --git a/pkgs/os-specific/linux/uvcdynctrl/default.nix b/pkgs/os-specific/linux/uvcdynctrl/default.nix
index d5f3a729978de..8fa91e158e1c8 100644
--- a/pkgs/os-specific/linux/uvcdynctrl/default.nix
+++ b/pkgs/os-specific/linux/uvcdynctrl/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "A simple interface for devices supported by the linux UVC driver";
-    homepage = "http://guvcview.sourceforge.net";
+    homepage = "https://guvcview.sourceforge.net";
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.puffnfresh ];
     platforms = platforms.linux;
diff --git a/pkgs/os-specific/linux/xf86-input-wacom/default.nix b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
index af1dc126bfdc3..0d4126426c941 100644
--- a/pkgs/os-specific/linux/xf86-input-wacom/default.nix
+++ b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     maintainers = with maintainers; [ goibhniu fortuneteller2k ];
     description = "Wacom digitizer driver for X11";
-    homepage = "http://linuxwacom.sourceforge.net";
+    homepage = "https://linuxwacom.sourceforge.net";
     license = licenses.gpl2Only;
     platforms = platforms.linux; # Probably, works with other unixes as well
   };
diff --git a/pkgs/servers/mail/mailman/package.nix b/pkgs/servers/mail/mailman/package.nix
index a990f3cdb0569..d4040458307fe 100644
--- a/pkgs/servers/mail/mailman/package.nix
+++ b/pkgs/servers/mail/mailman/package.nix
@@ -1,16 +1,22 @@
-{ lib, fetchpatch, python3, postfix, lynx
+{ lib
+, fetchpatch
+, python3
+, docutils
+, sphinx
+, postfix
+, lynx
 }:
 
 with python3.pkgs;
 
 buildPythonPackage rec {
   pname = "mailman";
-  version = "3.3.5";
+  version = "3.3.8";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "12mgxs1ndhdjjkydx48b95na9k9h0disfqgrr6wxx7vda6dqvcwz";
+    hash = "sha256-g6wH7lXqK0yJ8AxO1HFxMvBicBJ9NGWlPePFyxl9Qc4=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -33,6 +39,11 @@ buildPythonPackage rec {
     zope_configuration
   ];
 
+  checkInputs = [
+    docutils
+    sphinx
+  ];
+
   patches = [
     (fetchpatch {
       url = "https://gitlab.com/mailman/mailman/-/commit/4b206e2a5267a0e17f345fd7b2d957122ba57566.patch";
@@ -64,9 +75,6 @@ buildPythonPackage rec {
   # 'runner' scripts.
   dontWrapPythonPrograms = true;
 
-  # requires flufl.testing, which the upstream has archived
-  doCheck = false;
-
   meta = {
     homepage = "https://www.gnu.org/software/mailman/";
     description = "Free software for managing electronic mail discussion and newsletter lists";
diff --git a/pkgs/servers/mail/mailman/python.nix b/pkgs/servers/mail/mailman/python.nix
index 359f974f598c2..c462ada1d37c4 100644
--- a/pkgs/servers/mail/mailman/python.nix
+++ b/pkgs/servers/mail/mailman/python.nix
@@ -3,18 +3,7 @@
 python3.override {
   packageOverrides = self: super: {
     # does not find tests
-    alembic = super.alembic.overridePythonAttrs (oldAttrs:  {
-      doCheck = false;
-    });
-    # Needed by mailman, see https://gitlab.com/mailman/mailman/-/issues/964
-    sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec {
-      version = "1.3.24";
-      src = super.fetchPypi {
-        inherit version;
-        inherit (oldAttrs) pname;
-        sha256 = "06bmxzssc66cblk1hamskyv5q3xf1nh1py3vi6dka4lkpxy7gfzb";
-      };
-      # does not find tests
+    alembic = super.alembic.overridePythonAttrs (oldAttrs: {
       doCheck = false;
     });
     # Fixes `AssertionError: database connection isn't set to UTC`
diff --git a/pkgs/servers/web-apps/wiki-js/default.nix b/pkgs/servers/web-apps/wiki-js/default.nix
index 17714ada38cc0..cf1167798dd62 100644
--- a/pkgs/servers/web-apps/wiki-js/default.nix
+++ b/pkgs/servers/web-apps/wiki-js/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wiki-js";
-  version = "2.5.296";
+  version = "2.5.297";
 
   src = fetchurl {
     url = "https://github.com/Requarks/wiki/releases/download/v${version}/${pname}.tar.gz";
-    sha256 = "sha256-05rGNKL7K4FgEUXH34jl9h4diCdwFRY98qDO+w9B52s=";
+    sha256 = "sha256-58TAlioeBjNYRk2Ku6kFxHLffcDq3HwlqklqBkEIhLM=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/tools/backup/partimage/default.nix b/pkgs/tools/backup/partimage/default.nix
index d5a2863d968d8..7a82105661292 100644
--- a/pkgs/tools/backup/partimage/default.nix
+++ b/pkgs/tools/backup/partimage/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Opensource disk backup software";
-    homepage = "http://www.partimage.org";
+    homepage = "https://www.partimage.org";
     license = lib.licenses.gpl2;
     maintainers = [lib.maintainers.marcweber];
     platforms = lib.platforms.linux;
diff --git a/pkgs/tools/filesystems/curlftpfs/default.nix b/pkgs/tools/filesystems/curlftpfs/default.nix
index 8c8fe31624fe7..f1e08f0362d25 100644
--- a/pkgs/tools/filesystems/curlftpfs/default.nix
+++ b/pkgs/tools/filesystems/curlftpfs/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Filesystem for accessing FTP hosts based on FUSE and libcurl";
-    homepage = "http://curlftpfs.sourceforge.net";
+    homepage = "https://curlftpfs.sourceforge.net";
     license = licenses.gpl2Only;
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/filesystems/jfsutils/default.nix b/pkgs/tools/filesystems/jfsutils/default.nix
index 599326c8fbfbf..104c9807c4818 100644
--- a/pkgs/tools/filesystems/jfsutils/default.nix
+++ b/pkgs/tools/filesystems/jfsutils/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "IBM JFS utilities";
-    homepage = "http://jfs.sourceforge.net";
+    homepage = "https://jfs.sourceforge.net";
     license = licenses.gpl3;
     platforms = platforms.linux;
   };
diff --git a/pkgs/tools/graphics/structure-synth/default.nix b/pkgs/tools/graphics/structure-synth/default.nix
index ce97f1c703488..e61489fadf00d 100644
--- a/pkgs/tools/graphics/structure-synth/default.nix
+++ b/pkgs/tools/graphics/structure-synth/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Application for generating 3D structures by specifying a design grammar";
-    homepage = "http://structuresynth.sourceforge.net";
+    homepage = "https://structuresynth.sourceforge.net";
     maintainers = with maintainers; [ hodapp ];
     license = licenses.gpl3;
     platforms = platforms.linux;
diff --git a/pkgs/tools/misc/empty/default.nix b/pkgs/tools/misc/empty/default.nix
index d8fa41ef02a32..296cd7c52583c 100644
--- a/pkgs/tools/misc/empty/default.nix
+++ b/pkgs/tools/misc/empty/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "http://empty.sourceforge.net";
+    homepage = "https://empty.sourceforge.net";
     description = "A simple tool to automate interactive terminal applications";
     license = licenses.bsd3;
     platforms = platforms.all;
diff --git a/pkgs/tools/misc/mcrypt/default.nix b/pkgs/tools/misc/mcrypt/default.nix
index 8349e0fd4d717..ef5b8e56fa0a9 100644
--- a/pkgs/tools/misc/mcrypt/default.nix
+++ b/pkgs/tools/misc/mcrypt/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
       for the old Unix crypt, except that they are under the GPL and support an
       ever-wider range of algorithms and modes.
     '';
-    homepage = "http://mcrypt.sourceforge.net";
+    homepage = "https://mcrypt.sourceforge.net";
     license = lib.licenses.gpl3Only;
     platforms = lib.platforms.all;
     maintainers = [ lib.maintainers.qknight ];
diff --git a/pkgs/tools/misc/ttylog/default.nix b/pkgs/tools/misc/ttylog/default.nix
index 248630795cb08..ae521167431d7 100644
--- a/pkgs/tools/misc/ttylog/default.nix
+++ b/pkgs/tools/misc/ttylog/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ];
 
   meta = with lib; {
-    homepage = "http://ttylog.sourceforge.net";
+    homepage = "https://ttylog.sourceforge.net";
     description = "Simple serial port logger";
     longDescription = ''
       A serial port logger which can be used to print everything to stdout
diff --git a/pkgs/tools/misc/wv2/default.nix b/pkgs/tools/misc/wv2/default.nix
index 105a1f734dc9c..365a2ddabafcc 100644
--- a/pkgs/tools/misc/wv2/default.nix
+++ b/pkgs/tools/misc/wv2/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Excellent MS Word filter lib, used in most Office suites";
     license = lib.licenses.lgpl2;
-    homepage = "http://wvware.sourceforge.net";
+    homepage = "https://wvware.sourceforge.net";
   };
 }
diff --git a/pkgs/tools/misc/xstow/default.nix b/pkgs/tools/misc/xstow/default.nix
index c46bef50caf25..694634cf0bfe3 100644
--- a/pkgs/tools/misc/xstow/default.nix
+++ b/pkgs/tools/misc/xstow/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     broken = stdenv.isDarwin;
     description = "A replacement of GNU Stow written in C++";
-    homepage = "http://xstow.sourceforge.net";
+    homepage = "https://xstow.sourceforge.net";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ nzbr ];
     platforms = platforms.unix;
diff --git a/pkgs/tools/networking/atinout/default.nix b/pkgs/tools/networking/atinout/default.nix
index 6fad1174bbf07..561211fe33d5e 100644
--- a/pkgs/tools/networking/atinout/default.nix
+++ b/pkgs/tools/networking/atinout/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "http://atinout.sourceforge.net";
+    homepage = "https://atinout.sourceforge.net";
     description = "Tool for talking to modems";
     platforms = platforms.unix;
     license = licenses.gpl3;
diff --git a/pkgs/tools/networking/proxychains/default.nix b/pkgs/tools/networking/proxychains/default.nix
index 5cfb6f88f0d46..56778defe335a 100644
--- a/pkgs/tools/networking/proxychains/default.nix
+++ b/pkgs/tools/networking/proxychains/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Proxifier for SOCKS proxies";
-    homepage = "http://proxychains.sourceforge.net";
+    homepage = "https://proxychains.sourceforge.net";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ fab ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/networking/ssldump/default.nix b/pkgs/tools/networking/ssldump/default.nix
index f7118b6950467..b502f8e4b91f9 100644
--- a/pkgs/tools/networking/ssldump/default.nix
+++ b/pkgs/tools/networking/ssldump/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "An SSLv3/TLS network protocol analyzer";
-    homepage = "http://ssldump.sourceforge.net";
+    homepage = "https://ssldump.sourceforge.net";
     license = "BSD-style";
     maintainers = with maintainers; [ aycanirican ];
     platforms = platforms.unix;
diff --git a/pkgs/tools/security/srm/default.nix b/pkgs/tools/security/srm/default.nix
index 8e4b3e697312b..ba776b8af3e3f 100644
--- a/pkgs/tools/security/srm/default.nix
+++ b/pkgs/tools/security/srm/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
       provide drop in security for users who wish to prevent recovery
       of deleted information, even if the machine is compromised.
     '';
-    homepage = "http://srm.sourceforge.net";
+    homepage = "https://srm.sourceforge.net";
     license = licenses.mit;
     maintainers = with maintainers; [ edwtjo ];
     platforms = platforms.unix;
diff --git a/pkgs/tools/system/gdmap/default.nix b/pkgs/tools/system/gdmap/default.nix
index eedb0f07d13a9..2d5cafc4de1c0 100644
--- a/pkgs/tools/system/gdmap/default.nix
+++ b/pkgs/tools/system/gdmap/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   NIX_LDFLAGS = "-lm";
 
   meta = with lib; {
-    homepage = "http://gdmap.sourceforge.net";
+    homepage = "https://gdmap.sourceforge.net";
     description = "Recursive rectangle map of disk usage";
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/tools/system/safecopy/default.nix b/pkgs/tools/system/safecopy/default.nix
index 1c0bedff474e4..ff7149a4063aa 100644
--- a/pkgs/tools/system/safecopy/default.nix
+++ b/pkgs/tools/system/safecopy/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
          resets and other helpful low level operations on a number of other device classes.
        '';
 
-    homepage = "http://safecopy.sourceforge.net";
+    homepage = "https://safecopy.sourceforge.net";
 
     license = lib.licenses.gpl2Plus;
 
diff --git a/pkgs/tools/text/tab/default.nix b/pkgs/tools/text/tab/default.nix
index 0ddd7509c9f1e..89c31d0440aac 100644
--- a/pkgs/tools/text/tab/default.nix
+++ b/pkgs/tools/text/tab/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Programming language/shell calculator";
-    homepage    = "http://tab-lang.xyz";
+    homepage    = "https://tab-lang.xyz";
     license     = licenses.boost;
     maintainers = with maintainers; [ mstarzyk ];
     platforms   = with platforms; unix;
diff --git a/pkgs/tools/typesetting/tex/pgf-tikz/pgfplots.nix b/pkgs/tools/typesetting/tex/pgf-tikz/pgfplots.nix
index 1e4c5c2d2fa59..559b34f34ad05 100644
--- a/pkgs/tools/typesetting/tex/pgf-tikz/pgfplots.nix
+++ b/pkgs/tools/typesetting/tex/pgf-tikz/pgfplots.nix
@@ -24,7 +24,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
   '';
 
   meta = with lib; {
-    homepage = "http://pgfplots.sourceforge.net";
+    homepage = "https://pgfplots.sourceforge.net";
     description = "TeX package to draw plots directly in TeX in two and three dimensions";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ AndersonTorres ];
diff --git a/pkgs/tools/video/xjadeo/default.nix b/pkgs/tools/video/xjadeo/default.nix
index 53d6c49b7e646..c490c276adf99 100644
--- a/pkgs/tools/video/xjadeo/default.nix
+++ b/pkgs/tools/video/xjadeo/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
       soundtrack composition, video monitoring or any task that requires to
       synchronizing movie frames with external events.
     '';
-    homepage = "http://xjadeo.sourceforge.net";
+    homepage = "https://xjadeo.sourceforge.net";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ mitchmindtree ];
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index ccc5b7c1bedb1..594ed9ee5f606 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -492,6 +492,7 @@ mapAliases ({
   '';
 
   foomatic_filters = throw "'foomatic_filters' has been renamed to/replaced by 'foomatic-filters'"; # Converted to throw 2022-02-22
+  foxitreader = throw "foxitreader has been removed because it had vulnerabilities and was unmaintained"; # added 2023-02-20
   fscryptctl-experimental = throw "The package fscryptctl-experimental has been removed. Please switch to fscryptctl"; # Added 2021-11-07
   fsharp41 = throw "fsharp41 has been removed, please use dotnet-sdk_5 or later";
   fslint = throw "fslint has been removed: end of life. Upstream recommends using czkawka (https://qarmin.github.io/czkawka/) instead"; # Added 2022-01-15
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c57c915b4f9b6..20638f4b4fb69 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -24404,7 +24404,10 @@ with pkgs;
 
   directx-headers = callPackage ../development/libraries/directx-headers {};
 
-  directx-shader-compiler = callPackage ../tools/graphics/directx-shader-compiler {};
+  directx-shader-compiler = callPackage ../tools/graphics/directx-shader-compiler {
+    # https://github.com/NixOS/nixpkgs/issues/216294
+    stdenv = if stdenv.cc.isGNU && stdenv.isi686 then gcc11Stdenv else stdenv;
+  };
 
   dkimproxy = callPackage ../servers/mail/dkimproxy { };
 
@@ -28174,8 +28177,6 @@ with pkgs;
 
   masterpdfeditor4 = libsForQt5.callPackage ../applications/misc/masterpdfeditor4 { };
 
-  foxitreader = libsForQt5.callPackage ../applications/misc/foxitreader { };
-
   pdfstudio2021 = callPackage ../applications/misc/pdfstudio {
     year = "2021";
   };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index f84085c8c3c22..70bfd903a4f04 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -2001,7 +2001,7 @@ let
     propagatedBuildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig ];
     meta = {
       description = "Perl interface to the cairo 2d vector graphics library";
-      homepage = "http://gtk2-perl.sourceforge.net";
+      homepage = "https://gtk2-perl.sourceforge.net";
       license = with lib.licenses; [ lgpl21Only ];
     };
   };
@@ -2017,7 +2017,7 @@ let
     propagatedBuildInputs = [ Cairo Glib ];
     meta = {
       description = "Integrate Cairo into the Glib type system";
-      homepage = "http://gtk2-perl.sourceforge.net";
+      homepage = "https://gtk2-perl.sourceforge.net";
       license = with lib.licenses; [ lgpl21Only ];
     };
   };
@@ -10224,7 +10224,7 @@ let
     propagatedBuildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig ];
     meta = {
       description = "Perl wrappers for the GLib utility and Object libraries";
-      homepage = "http://gtk2-perl.sourceforge.net";
+      homepage = "https://gtk2-perl.sourceforge.net";
       license = with lib.licenses; [ lgpl21Only ];
     };
   };
@@ -10252,7 +10252,7 @@ let
     doCheck = !stdenv.isDarwin;
     meta = {
       description = "Dynamically create Perl language bindings";
-      homepage = "http://gtk2-perl.sourceforge.net";
+      homepage = "https://gtk2-perl.sourceforge.net";
       license = with lib.licenses; [ lgpl21Only ];
     };
   };
@@ -10268,7 +10268,7 @@ let
     propagatedBuildInputs = [ pkgs.gnome2.libgnomeui ];
     meta = {
       description = "(DEPRECATED) Perl interface to the 2.x series of the GNOME libraries";
-      homepage = "http://gtk2-perl.sourceforge.net";
+      homepage = "https://gtk2-perl.sourceforge.net";
       license = with lib.licenses; [ lgpl21Plus ];
       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.Gnome2Canvas.x86_64-darwin
     };
@@ -10568,7 +10568,7 @@ let
     propagatedBuildInputs = [ Pango ];
     meta = {
       description = "Perl interface to the 2.x series of the Gimp Toolkit library";
-      homepage = "http://gtk2-perl.sourceforge.net";
+      homepage = "https://gtk2-perl.sourceforge.net";
       license = with lib.licenses; [ lgpl21Plus ];
     };
   };
@@ -18732,7 +18732,7 @@ let
     propagatedBuildInputs = [ Cairo Glib ];
     meta = {
       description = "Layout and render international text";
-      homepage = "http://gtk2-perl.sourceforge.net";
+      homepage = "https://gtk2-perl.sourceforge.net";
       license = with lib.licenses; [ lgpl21Plus ];
     };
   };