diff options
Diffstat (limited to 'nixpkgs/pkgs/by-name')
38 files changed, 1829 insertions, 31 deletions
diff --git a/nixpkgs/pkgs/by-name/am/amazon-ssm-agent/0001-Disable-NIC-tests-that-fail-in-the-Nix-sandbox.patch b/nixpkgs/pkgs/by-name/am/amazon-ssm-agent/0001-Disable-NIC-tests-that-fail-in-the-Nix-sandbox.patch new file mode 100644 index 000000000000..364f7653efa3 --- /dev/null +++ b/nixpkgs/pkgs/by-name/am/amazon-ssm-agent/0001-Disable-NIC-tests-that-fail-in-the-Nix-sandbox.patch @@ -0,0 +1,44 @@ +From bea6307ec2a77d90d59c13940381d73ec0f05b70 Mon Sep 17 00:00:00 2001 +From: Graham Christensen <graham@grahamc.com> +Date: Mon, 1 Mar 2021 10:57:44 -0500 +Subject: [PATCH] Disable NIC tests that fail in the Nix sandbox. + +--- + agent/managedInstances/fingerprint/fingerprint_integ_test.go | 2 ++ + agent/ssm/service_test.go | 1 + + 2 files changed, 3 insertions(+) + +diff --git a/agent/managedInstances/fingerprint/fingerprint_integ_test.go b/agent/managedInstances/fingerprint/fingerprint_integ_test.go +index a1f969ff..631ea1f5 100644 +--- a/agent/managedInstances/fingerprint/fingerprint_integ_test.go ++++ b/agent/managedInstances/fingerprint/fingerprint_integ_test.go +@@ -28,12 +28,14 @@ func TestHostnameInfo(t *testing.T) { + } + + func TestPrimaryIpInfo(t *testing.T) { ++ t.Skip("The Nix build sandbox has no non-loopback IPs, causing this test to fail."); + ip, err := primaryIpInfo() + assert.NoError(t, err, "expected no error fetching the primary ip") + assert.NotEmpty(t, ip, "expected to fetch primary ip") + } + + func TestMacAddrInfo(t *testing.T) { ++ t.Skip("The Nix build sandbox has no non-loopback interfaces, causing this test to fail."); + mac, err := macAddrInfo() + assert.NoError(t, err, "expected no error fetching the mac addr") + assert.NotEmpty(t, mac, "expected to fetch mac address") +diff --git a/agent/ssm/service_test.go b/agent/ssm/service_test.go +index f4b34f83..d8216dba 100644 +--- a/agent/ssm/service_test.go ++++ b/agent/ssm/service_test.go +@@ -85,6 +85,7 @@ func (suite *SsmServiceTestSuite) TestUpdateEmptyInstanceInformation() { + // Test function for update instance information + // This function update the agent name, agent statuc, and agent version. + func (suite *SsmServiceTestSuite) TestUpdateInstanceInformation() { ++ suite.T().Skip("The Nix build sandbox has no interfaces for IP and MAC address reports."); + // Give mock value to test UpdateInstanceInformation, assert the error is nil, assert the log.Debug function get called. + response, err := suite.sdkService.UpdateInstanceInformation(suite.logMock, "2.2.3.2", "active", "Amazon-ssm-agent") + assert.Nil(suite.T(), err, "Err should be nil") +-- +2.29.2 + diff --git a/nixpkgs/pkgs/by-name/am/amazon-ssm-agent/0002-version-gen-don-t-use-unnecessary-constants.patch b/nixpkgs/pkgs/by-name/am/amazon-ssm-agent/0002-version-gen-don-t-use-unnecessary-constants.patch new file mode 100644 index 000000000000..234e510d3d17 --- /dev/null +++ b/nixpkgs/pkgs/by-name/am/amazon-ssm-agent/0002-version-gen-don-t-use-unnecessary-constants.patch @@ -0,0 +1,46 @@ +From 473e3f8544915a35b3a45c548743978b34e5310e Mon Sep 17 00:00:00 2001 +From: Cole Helbling <cole.e.helbling@outlook.com> +Date: Tue, 2 Mar 2021 00:24:00 -0800 +Subject: [PATCH] version-gen: don't use unnecessary constants + +This prevents the tool from being built with Nix, because this project +doesn't use Go modules (or something; I'm not really familiar with Go, +much less Go + Nix). +--- + agent/version/versiongenerator/version-gen.go | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/agent/version/versiongenerator/version-gen.go b/agent/version/versiongenerator/version-gen.go +index d710effc..55c9a001 100644 +--- a/agent/version/versiongenerator/version-gen.go ++++ b/agent/version/versiongenerator/version-gen.go +@@ -22,8 +22,6 @@ import ( + "path/filepath" + "strings" + "text/template" +- +- "github.com/aws/amazon-ssm-agent/agent/appconfig" + ) + + const versiongoTemplate = `// This is an autogenerated file and should not be edited. +@@ -59,7 +57,7 @@ func main() { + versionStr := strings.TrimSpace(string(versionContent)) + + fmt.Printf("Agent Version: %v", versionStr) +- if err := ioutil.WriteFile(filepath.Join("VERSION"), []byte(versionStr), appconfig.ReadWriteAccess); err != nil { ++ if err := ioutil.WriteFile(filepath.Join("VERSION"), []byte(versionStr), 0600); err != nil { + log.Fatalf("Error writing to VERSION file. %v", err) + } + +@@ -108,7 +106,7 @@ func main() { + + releaseNoteOutFile := strings.Join(releaseNoteLines, "\n") + +- if err = ioutil.WriteFile(filepath.Join(releaseNotesFile), []byte(releaseNoteOutFile), appconfig.ReadWriteAccess); err != nil { ++ if err = ioutil.WriteFile(filepath.Join(releaseNotesFile), []byte(releaseNoteOutFile), 0600); err != nil { + log.Fatalf("Error writing to RELEASENOTES.md file. %v", err) + } + +-- +2.30.0 + diff --git a/nixpkgs/pkgs/by-name/am/amazon-ssm-agent/package.nix b/nixpkgs/pkgs/by-name/am/amazon-ssm-agent/package.nix new file mode 100644 index 000000000000..4816ac1bdc73 --- /dev/null +++ b/nixpkgs/pkgs/by-name/am/amazon-ssm-agent/package.nix @@ -0,0 +1,157 @@ +{ lib +, writeShellScriptBin +, buildGoModule +, makeWrapper +, fetchFromGitHub +, coreutils +, nettools +, util-linux +, stdenv +, dmidecode +, bashInteractive +, nix-update-script +, testers +, amazon-ssm-agent +, overrideEtc ? true +}: + +let + # Tests use lsb_release, so we mock it (the SSM agent used to not + # read from our /etc/os-release file, but now it does) because in + # reality, it won't (shouldn't) be used when active on a system with + # /etc/os-release. If it is, we fake the only two fields it cares about. + fake-lsb-release = writeShellScriptBin "lsb_release" '' + . /etc/os-release || true + + case "$1" in + -i) echo "''${NAME:-unknown}";; + -r) echo "''${VERSION:-unknown}";; + esac + ''; + + binaries = { + "core" = "amazon-ssm-agent"; + "agent" = "ssm-agent-worker"; + "cli-main" = "ssm-cli"; + "worker" = "ssm-document-worker"; + "logging" = "ssm-session-logger"; + "sessionworker" = "ssm-session-worker"; + }; +in +buildGoModule rec { + pname = "amazon-ssm-agent"; + version = "3.2.1705.0"; + + src = fetchFromGitHub { + owner = "aws"; + repo = "amazon-ssm-agent"; + rev = "refs/tags/${version}"; + hash = "sha256-4KhDD5G/fS1rHitQdbYqIz6RSQ3PTMZsUENC202a/Do="; + }; + + vendorHash = null; + + patches = [ + # Some tests use networking, so we skip them. + ./0001-Disable-NIC-tests-that-fail-in-the-Nix-sandbox.patch + + # They used constants from another package that I couldn't figure + # out how to resolve, so hardcoded the constants. + ./0002-version-gen-don-t-use-unnecessary-constants.patch + ]; + + nativeBuildInputs = [ makeWrapper ]; + + # See the list https://github.com/aws/amazon-ssm-agent/blob/3.2.1630.0/makefile#L120-L138 + # The updater is not built because it cannot work on NixOS + subPackages = [ + "core" + "agent" + "agent/cli-main" + "agent/framework/processor/executer/outofproc/worker" + "agent/session/logging" + "agent/framework/processor/executer/outofproc/sessionworker" + ]; + + ldflags = [ "-s" "-w" ]; + + postPatch = '' + printf "#!/bin/sh\ntrue" > ./Tools/src/checkstyle.sh + + substituteInPlace agent/platform/platform_unix.go \ + --replace "/usr/bin/uname" "${coreutils}/bin/uname" \ + --replace '"/bin", "hostname"' '"${nettools}/bin/hostname"' \ + --replace '"lsb_release"' '"${fake-lsb-release}/bin/lsb_release"' + + substituteInPlace agent/session/shell/shell_unix.go \ + --replace '"script"' '"${util-linux}/bin/script"' + + substituteInPlace agent/rebooter/rebooter_unix.go \ + --replace "/sbin/shutdown" "shutdown" + + echo "${version}" > VERSION + '' + lib.optionalString overrideEtc '' + substituteInPlace agent/appconfig/constants_unix.go \ + --replace '"/etc/amazon/ssm/"' '"${placeholder "out"}/etc/amazon/ssm/"' + '' + lib.optionalString stdenv.isLinux '' + substituteInPlace agent/managedInstances/fingerprint/hardwareInfo_unix.go \ + --replace /usr/sbin/dmidecode ${dmidecode}/bin/dmidecode + ''; + + preBuild = '' + # Note: if this step fails, please patch the code to fix it! Please only skip + # tests if it is not feasible for the test to pass in a sandbox. + make quick-integtest + + make pre-release + make pre-build + ''; + + installPhase = '' + runHook preInstall + + declare -A map=(${builtins.concatStringsSep " " (lib.mapAttrsToList (name: value: "[\"${name}\"]=\"${value}\"") binaries)}) + + for key in ''${!map[@]}; do + install -D -m 0555 -T "$GOPATH/bin/''${key}" "$out/bin/''${map[''${key}]}" + done + + # These templates retain their `.template` extensions on installation. The + # amazon-ssm-agent.json.template is required as default configuration when an + # amazon-ssm-agent.json isn't present. Here, we retain the template to show + # we're using the default configuration. + + # seelog.xml isn't actually required to run, but it does ship as a template + # with debian packages, so it's here for reference. Future work in the nixos + # module could use this template and substitute a different log level. + + install -D -m 0444 -t $out/etc/amazon/ssm amazon-ssm-agent.json.template + install -D -m 0444 -T seelog_unix.xml $out/etc/amazon/ssm/seelog.xml.template + + runHook postInstall + ''; + + postFixup = '' + wrapProgram $out/bin/amazon-ssm-agent --prefix PATH : ${bashInteractive}/bin + ''; + + passthru = { + updateScript = nix-update-script { }; + tests.version = testers.testVersion { + package = amazon-ssm-agent; + command = "amazon-ssm-agent --version"; + }; + }; + + meta = with lib; { + description = "Agent to enable remote management of your Amazon EC2 instance configuration"; + changelog = "https://github.com/aws/amazon-ssm-agent/releases/tag/${version}"; + homepage = "https://github.com/aws/amazon-ssm-agent"; + license = licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ copumpkin manveru anthonyroussel ]; + + # Darwin support is broken + broken = stdenv.isDarwin; + }; +} diff --git a/nixpkgs/pkgs/by-name/as/ast-grep/package.nix b/nixpkgs/pkgs/by-name/as/ast-grep/package.nix index 3ac77c214afc..68e9ebd5f4d0 100644 --- a/nixpkgs/pkgs/by-name/as/ast-grep/package.nix +++ b/nixpkgs/pkgs/by-name/as/ast-grep/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage rec { pname = "ast-grep"; - version = "0.12.4"; + version = "0.12.5"; src = fetchFromGitHub { owner = "ast-grep"; repo = "ast-grep"; rev = version; - hash = "sha256-rWfuPk8PWxOmy/WDXGnqBCuGPEI7tBwuOc0IP2FhAq8="; + hash = "sha256-oFe3AbMpBVBAm/W4IowXAKcEN7CDrrAXhx4dzMXppUM="; }; - cargoHash = "sha256-M3eNvY8UwsnV9mvkGD//u1zTiJzV1ce7ODyQjnDSZTo="; + cargoHash = "sha256-f4tcJqT3l9G6FimBb0D4PATgQYUkSG5uIQ9BbsbgC/U="; # error: linker `aarch64-linux-gnu-gcc` not found postPatch = '' diff --git a/nixpkgs/pkgs/by-name/br/bruno/package.nix b/nixpkgs/pkgs/by-name/br/bruno/package.nix index 4dfa1375ef7a..b058449ea224 100644 --- a/nixpkgs/pkgs/by-name/br/bruno/package.nix +++ b/nixpkgs/pkgs/by-name/br/bruno/package.nix @@ -15,11 +15,11 @@ stdenv.mkDerivation rec { pname = "bruno"; - version = "0.17.0"; + version = "0.27.0"; src = fetchurl { url = "https://github.com/usebruno/bruno/releases/download/v${version}/bruno_${version}_amd64_linux.deb"; - hash = "sha256-4FF9SEgWuIPQSarOBTaEvgdgRTkR1caRYr/bjfFmTLE="; + hash = "sha256-57Cbp/+3rNq/bhUItPuN6ZIjSd8IzmJsn9FNm89khiE="; }; nativeBuildInputs = [ autoPatchelfHook dpkg wrapGAppsHook ]; diff --git a/nixpkgs/pkgs/by-name/ca/cargo-xwin/package.nix b/nixpkgs/pkgs/by-name/ca/cargo-xwin/package.nix new file mode 100644 index 000000000000..36d60fb509de --- /dev/null +++ b/nixpkgs/pkgs/by-name/ca/cargo-xwin/package.nix @@ -0,0 +1,31 @@ +{ lib +, stdenv +, rustPlatform +, fetchFromGitHub +, darwin +}: + +rustPlatform.buildRustPackage rec { + pname = "cargo-xwin"; + version = "0.14.8"; + + src = fetchFromGitHub { + owner = "rust-cross"; + repo = "cargo-xwin"; + rev = "v${version}"; + hash = "sha256-VhpqmGhGBqB20ZteIwbd0GCIUltBGfBw7XF9lH7witA="; + }; + + cargoHash = "sha256-e5QyaiQKlIzBwJE781BrhdVINacw0iniPywIsoMlCGg="; + + buildInputs = lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; + + meta = with lib; { + description = "Cross compile Cargo project to Windows MSVC target with ease"; + homepage = "https://github.com/rust-cross/cargo-xwin"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ shivaraj-bh ]; + }; +} diff --git a/nixpkgs/pkgs/by-name/ci/cidr-merger/package.nix b/nixpkgs/pkgs/by-name/ci/cidr-merger/package.nix new file mode 100644 index 000000000000..3d0612071609 --- /dev/null +++ b/nixpkgs/pkgs/by-name/ci/cidr-merger/package.nix @@ -0,0 +1,25 @@ +{ lib +, buildGoModule +, fetchFromGitHub +}: + +buildGoModule rec { + pname = "cidr-merger"; + version = "1.1.3"; + + src = fetchFromGitHub { + owner = "zhanhb"; + repo = "cidr-merger"; + rev = "v${version}"; + sha256 = "sha256-Kb+89VP7JhBrTE4MM3H/dqoIBgDLnVhKqkgHdymYCgk="; + }; + + vendorHash = "sha256-cPri384AX/FdfNtzt3xj4bF+/izSa4sZuAohK0R/7H4="; + + meta = with lib; { + description = "A simple command line tool to merge ip/ip cidr/ip range, supports IPv4/IPv6"; + homepage = "https://github.com/zhanhb/cidr-merger"; + license = licenses.mit; + maintainers = with maintainers; [ cyounkins ]; + }; +} diff --git a/nixpkgs/pkgs/by-name/ci/ciscoPacketTracer7/package.nix b/nixpkgs/pkgs/by-name/ci/ciscoPacketTracer7/package.nix new file mode 100644 index 000000000000..620e7420439b --- /dev/null +++ b/nixpkgs/pkgs/by-name/ci/ciscoPacketTracer7/package.nix @@ -0,0 +1,90 @@ +{ stdenv +, lib +, buildFHSEnv +, copyDesktopItems +, dpkg +, lndir +, makeDesktopItem +, makeWrapper +, requireFile +}: + +let + version = "7.3.1"; + + ptFiles = stdenv.mkDerivation { + name = "PacketTracer7drv"; + inherit version; + + dontUnpack = true; + src = requireFile { + name = "PacketTracer_${builtins.replaceStrings ["."] [""] version}_amd64.deb"; + sha256 = "c39802d15dd61d00ba27fb8c116da45fd8562ab4b49996555ad66b88deace27f"; + url = "https://www.netacad.com"; + }; + + nativeBuildInputs = [ dpkg makeWrapper ]; + + installPhase = '' + dpkg-deb -x $src $out + makeWrapper "$out/opt/pt/bin/PacketTracer7" "$out/bin/packettracer7" \ + --prefix LD_LIBRARY_PATH : "$out/opt/pt/bin" + ''; + }; + + desktopItem = makeDesktopItem { + name = "cisco-pt7.desktop"; + desktopName = "Cisco Packet Tracer 7"; + icon = "${ptFiles}/opt/pt/art/app.png"; + exec = "packettracer7 %f"; + mimeTypes = [ "application/x-pkt" "application/x-pka" "application/x-pkz" ]; + }; + + fhs = buildFHSEnv { + name = "packettracer7"; + runScript = "${ptFiles}/bin/packettracer7"; + + targetPkgs = pkgs: with pkgs; [ + alsa-lib + dbus + expat + fontconfig + glib + libglvnd + libpulseaudio + libudev0-shim + libxkbcommon + libxml2 + libxslt + nspr + nss + xorg.libICE + xorg.libSM + xorg.libX11 + xorg.libXScrnSaver + ]; + }; +in stdenv.mkDerivation { + pname = "ciscoPacketTracer7"; + inherit version; + + dontUnpack = true; + + installPhase = '' + mkdir $out + ${lndir}/bin/lndir -silent ${fhs} $out + ''; + + desktopItems = [ desktopItem ]; + + nativeBuildInputs = [ copyDesktopItems ]; + + meta = with lib; { + description = "Network simulation tool from Cisco"; + homepage = "https://www.netacad.com/courses/packet-tracer"; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + license = licenses.unfree; + maintainers = with maintainers; [ lucasew ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/nixpkgs/pkgs/by-name/ci/ciscoPacketTracer8/package.nix b/nixpkgs/pkgs/by-name/ci/ciscoPacketTracer8/package.nix new file mode 100644 index 000000000000..5784c156e956 --- /dev/null +++ b/nixpkgs/pkgs/by-name/ci/ciscoPacketTracer8/package.nix @@ -0,0 +1,118 @@ +{ stdenvNoCC +, lib +, alsa-lib +, autoPatchelfHook +, buildFHSEnv +, ciscoPacketTracer8 +, copyDesktopItems +, dbus +, dpkg +, expat +, fontconfig +, glib +, libdrm +, libglvnd +, libpulseaudio +, libudev0-shim +, libxkbcommon +, libxml2 +, libxslt +, lndir +, makeDesktopItem +, makeWrapper +, nspr +, nss +, qt5 +, requireFile +, xorg +}: + +let + hashes = { + "8.2.0" = "1b19885d59f6130ee55414fb02e211a1773460689db38bfd1ac7f0d45117ed16"; + "8.2.1" = "1fh79r4fnh9gjxjh39gcp4j7npgs5hh3qhrhx74x8x546an3i0s2"; + }; +in + +stdenvNoCC.mkDerivation rec { + pname = "ciscoPacketTracer8"; + + version = "8.2.1"; + + src = requireFile { + name = "CiscoPacketTracer_${builtins.replaceStrings ["."] [""] version}_Ubuntu_64bit.deb"; + sha256 = hashes.${version}; + url = "https://www.netacad.com"; + }; + + unpackPhase = '' + runHook preUnpack + + dpkg-deb -x $src $out + chmod 755 "$out" + + runHook postUnpack + ''; + + nativeBuildInputs = [ + autoPatchelfHook + copyDesktopItems + dpkg + makeWrapper + qt5.wrapQtAppsHook + ]; + + buildInputs = [ + alsa-lib + dbus + expat + fontconfig + glib + qt5.qtbase + qt5.qtmultimedia + qt5.qtnetworkauth + qt5.qtscript + qt5.qtspeech + qt5.qtwebengine + qt5.qtwebsockets + ]; + + installPhase = '' + runHook preInstall + + makeWrapper "$out/opt/pt/bin/PacketTracer" "$out/bin/packettracer8" \ + "''${qtWrapperArgs[@]}" \ + --prefix LD_LIBRARY_PATH : "$out/opt/pt/bin" + + install -D $out/opt/pt/art/app.png $out/share/icons/hicolor/128x128/apps/ciscoPacketTracer8.png + + rm $out/opt/pt/bin/libQt5* -f + + runHook postInstall + ''; + + desktopItems = [ + (makeDesktopItem { + name = "cisco-pt8.desktop"; + desktopName = "Cisco Packet Tracer 8"; + icon = "ciscoPacketTracer8"; + exec = "packettracer8 %f"; + mimeTypes = [ "application/x-pkt" "application/x-pka" "application/x-pkz" ]; + }) + ]; + + dontWrapQtApps = true; + + passthru = { + inherit hashes; + }; + + meta = with lib; { + description = "Network simulation tool from Cisco"; + homepage = "https://www.netacad.com/courses/packet-tracer"; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + license = licenses.unfree; + maintainers = with maintainers; [ lucasew ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/nixpkgs/pkgs/by-name/co/cockpit/package.nix b/nixpkgs/pkgs/by-name/co/cockpit/package.nix new file mode 100644 index 000000000000..48bcff3f32a9 --- /dev/null +++ b/nixpkgs/pkgs/by-name/co/cockpit/package.nix @@ -0,0 +1,227 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, bashInteractive +, cacert +, coreutils +, dbus +, docbook_xml_dtd_43 +, docbook_xsl +, findutils +, gettext +, git +, glib +, glib-networking +, gnused +, gnutls +, json-glib +, krb5 +, libssh +, libxcrypt +, libxslt +, makeWrapper +, nodejs +, nixosTests +, nix-update-script +, openssh +, openssl +, pam +, pkg-config +, polkit +, python3Packages +, ripgrep +, runtimeShell +, systemd +, udev +, xmlto +}: + +let + pythonWithGobject = python3Packages.python.withPackages (p: with p; [ + pygobject3 + ]); +in + +stdenv.mkDerivation rec { + pname = "cockpit"; + version = "303"; + + src = fetchFromGitHub { + owner = "cockpit-project"; + repo = "cockpit"; + rev = "refs/tags/${version}"; + hash = "sha256-1VPnmb4VDSwzdXtk2YZVHH4qFJSe2OPzsmzVD/NkbYg="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + autoreconfHook + makeWrapper + docbook_xml_dtd_43 + docbook_xsl + findutils + gettext + git + (lib.getBin libxslt) + nodejs + openssl + pam + pkg-config + pythonWithGobject.python + python3Packages.setuptools + systemd + ripgrep + xmlto + ]; + + buildInputs = [ + (lib.getDev glib) + libxcrypt + gnutls + json-glib + krb5 + libssh + polkit + udev + ]; + + postPatch = '' + # Instead of requiring Internet access to do an npm install to generate the package-lock.json + # it copies the package-lock.json already present in the node_modules folder fetched as a git + # submodule. + echo "#!/bin/sh" > test/node_modules + + substituteInPlace src/tls/cockpit-certificate-helper.in \ + --replace 'COCKPIT_CONFIG="@sysconfdir@/cockpit"' 'COCKPIT_CONFIG=/etc/cockpit' + + substituteInPlace src/tls/cockpit-certificate-ensure.c \ + --replace '#define COCKPIT_SELFSIGNED_PATH PACKAGE_SYSCONF_DIR COCKPIT_SELFSIGNED_FILENAME' '#define COCKPIT_SELFSIGNED_PATH "/etc" COCKPIT_SELFSIGNED_FILENAME' + + substituteInPlace src/common/cockpitconf.c \ + --replace 'const char *cockpit_config_dirs[] = { PACKAGE_SYSCONF_DIR' 'const char *cockpit_config_dirs[] = { "/etc"' + + # instruct users with problems to create a nixpkgs issue instead of nagging upstream directly + substituteInPlace configure.ac \ + --replace 'devel@lists.cockpit-project.org' 'https://github.com/NixOS/nixpkgs/issues/new?assignees=&labels=0.kind%3A+bug&template=bug_report.md&title=cockpit%25' + + patchShebangs \ + build.js \ + test/common/pixel-tests \ + test/common/run-tests \ + test/common/tap-cdp \ + test/static-code \ + tools/escape-to-c \ + tools/make-compile-commands \ + tools/node-modules \ + tools/termschutz \ + tools/webpack-make.js + + for f in node_modules/.bin/*; do + patchShebangs $(realpath $f) + done + + export HOME=$(mktemp -d) + + cp node_modules/.package-lock.json package-lock.json + + for f in pkg/**/*.js pkg/**/*.jsx test/**/* src/**/*; do + # some files substituteInPlace report as missing and it's safe to ignore them + substituteInPlace "$(realpath "$f")" \ + --replace '"/usr/bin/' '"' \ + --replace '"/bin/' '"' || true + done + + substituteInPlace src/common/Makefile-common.am \ + --replace 'TEST_PROGRAM += test-pipe' "" # skip test-pipe because it hangs the build + + substituteInPlace test/pytest/*.py \ + --replace "'bash" "'${bashInteractive}/bin/bash" + + echo "m4_define(VERSION_NUMBER, [${version}])" > version.m4 + ''; + + configureFlags = [ + "--enable-prefix-only=yes" + "--disable-pcp" # TODO: figure out how to package its dependency + "--with-default-session-path=/run/wrappers/bin:/run/current-system/sw/bin" + "--with-admin-group=root" # TODO: really? Maybe "wheel"? + "--enable-old-bridge=yes" + ]; + + enableParallelBuilding = true; + + preBuild = '' + patchShebangs \ + tools/test-driver + ''; + + postBuild = '' + chmod +x \ + src/systemd/update-motd \ + src/tls/cockpit-certificate-helper \ + src/ws/cockpit-desktop + + patchShebangs \ + src/systemd/update-motd \ + src/tls/cockpit-certificate-helper \ + src/ws/cockpit-desktop + + PATH=${pythonWithGobject}/bin patchShebangs src/client/cockpit-client + + substituteInPlace src/ws/cockpit-desktop \ + --replace ' /bin/bash' ' ${runtimeShell}' + ''; + + fixupPhase = '' + runHook preFixup + + wrapProgram $out/libexec/cockpit-certificate-helper \ + --prefix PATH : ${lib.makeBinPath [ coreutils openssl ]} \ + --run 'cd $(mktemp -d)' + + wrapProgram $out/share/cockpit/motd/update-motd \ + --prefix PATH : ${lib.makeBinPath [ gnused ]} + + substituteInPlace $out/share/polkit-1/actions/org.cockpit-project.cockpit-bridge.policy \ + --replace /usr $out + + runHook postFixup + ''; + + doCheck = true; + checkInputs = [ + bashInteractive + cacert + dbus + glib-networking + openssh + python3Packages.pytest + python3Packages.vulture + ]; + checkPhase = '' + export GIO_EXTRA_MODULES=$GIO_EXTRA_MODULES:${glib-networking}/lib/gio/modules + export G_DEBUG=fatal-criticals + export G_MESSAGES_DEBUG=cockpit-ws,cockpit-wrapper,cockpit-bridge + export PATH=$PATH:$(pwd) + + cockpit-bridge --version + make pytest -j$NIX_BUILD_CORES || true + make check -j$NIX_BUILD_CORES || true + test/static-code + npm run eslint + npm run stylelint || true + ''; + + passthru = { + tests = { inherit (nixosTests) cockpit; }; + updateScript = nix-update-script {}; + }; + + meta = with lib; { + description = "Web-based graphical interface for servers"; + homepage = "https://cockpit-project.org/"; + license = licenses.lgpl21; + maintainers = with maintainers; [ lucasew ]; + }; +} diff --git a/nixpkgs/pkgs/by-name/cy/cyme/package.nix b/nixpkgs/pkgs/by-name/cy/cyme/package.nix new file mode 100644 index 000000000000..3e32c22d2e41 --- /dev/null +++ b/nixpkgs/pkgs/by-name/cy/cyme/package.nix @@ -0,0 +1,53 @@ +{ + lib +, fetchFromGitHub +, rustPlatform +, pkg-config +, stdenv +, darwin +, libusb1 +, udev +, nix-update-script +}: + +rustPlatform.buildRustPackage rec { + pname = "cyme"; + version = "1.5.0"; + + src = fetchFromGitHub { + owner = "tuna-f1sh"; + repo = "cyme"; + rev = "v${version}"; + hash = "sha256-UXh97pHJ9wa/xSslHLB7WVDwLKJYvLPgmPX8RvKrsTI="; + }; + + cargoHash = "sha256-hSd53K50Y4K/fYGfsT2fHUaipVSpeYN6/EOFlv4ocuE="; + + nativeBuildInputs = [ + pkg-config + ] ++ lib.optionals stdenv.isDarwin [ + darwin.DarwinTools + ]; + + buildInputs = [ + libusb1 + ] ++ lib.optionals stdenv.isLinux [ + udev + ]; + + checkFlags = lib.optionals stdenv.isDarwin [ + # system_profiler is not available in the sandbox + "--skip=test_run" + ]; + + passthru.updateScript = nix-update-script { }; + + meta = with lib; { + homepage = "https://github.com/tuna-f1sh/cyme"; + description = "A modern cross-platform lsusb"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ h7x4 ]; + platforms = platforms.linux ++ platforms.darwin ++ platforms.windows; + mainProgram = "cyme"; + }; +} diff --git a/nixpkgs/pkgs/by-name/de/decker/package.nix b/nixpkgs/pkgs/by-name/de/decker/package.nix new file mode 100644 index 000000000000..84c08eaaa38d --- /dev/null +++ b/nixpkgs/pkgs/by-name/de/decker/package.nix @@ -0,0 +1,79 @@ +{ lib +, stdenv +, fetchFromGitHub +, SDL2 +, SDL2_image +, unixtools +, multimarkdown +}: + +stdenv.mkDerivation rec { + pname = "decker"; + version = "1.31"; + + src = fetchFromGitHub { + owner = "JohnEarnest"; + repo = "Decker"; + rev = "v${version}"; + hash = "sha256-9utCIf7LO/ms46QqagkcXZ3BuvRuLa6nE78MgkbaEjA="; + }; + + buildInputs = [ + SDL2 + SDL2_image + multimarkdown + unixtools.xxd + ]; + + doCheck = true; + + postPatch = '' + patchShebangs ./scripts + ''; + + buildPhase = '' + runHook preBuild + make lilt + make decker + make docs + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + install -Dm0755 ./c/build/lilt -t $out/bin + install -Dm0755 ./c/build/decker -t $out/bin + install -Dm0644 ./syntax/vim/ftdetect/lil.vim -t $out/share/vim-plugins/decker/ftdetect + install -Dm0644 ./syntax/vim/syntax/lil.vim -t $out/share/vim-plugins/decker/syntax + + # Fixing the permissions of the installed files on the documentation. + chmod a-x ./docs/images/* \ + ./docs/*.md \ + ./examples/decks/*.deck \ + ./examples/lilt/*.lil + + # This example has a shebang so we'll leave it as an executable. + chmod a+x ./examples/lilt/podcasts.lil + + mkdir -p $out/share/doc/decker + cp -r ./docs/*.html ./docs/images ./examples $out/share/doc/decker + + runHook postInstall + ''; + + checkPhase = '' + runHook preCheck + make test + runHook postCheck + ''; + + meta = with lib; { + homepage = "https://beyondloom.com/decker"; + description = "Multimedia platform for creating and sharing interactive documents"; + license = licenses.mit; + mainProgram = "decker"; + platforms = platforms.all; + maintainers = with maintainers; [ foo-dogsquared ]; + }; +} diff --git a/nixpkgs/pkgs/by-name/di/diesel-cli-ext/package.nix b/nixpkgs/pkgs/by-name/di/diesel-cli-ext/package.nix new file mode 100644 index 000000000000..7b118b3ce7e0 --- /dev/null +++ b/nixpkgs/pkgs/by-name/di/diesel-cli-ext/package.nix @@ -0,0 +1,25 @@ +{ lib +, rustPlatform +, fetchCrate +}: + +rustPlatform.buildRustPackage rec { + pname = "diesel-cli-ext"; + version = "0.3.13"; + + src = fetchCrate { + pname = "diesel_cli_ext"; + inherit version; + hash = "sha256-5AIzMxEcxL/vYWx3D/meA///Zo+1210HUMEE4dFBhkc="; + }; + + cargoHash = "sha256-Ya7RL3TuQjKkEkggK/ANChtVZRuTaooM+lE3KBZnvYU="; + + meta = with lib; { + description = "Provides different tools for projects using the diesel_cli"; + homepage = "https://crates.io/crates/diesel_cli_ext"; + license = with licenses; [ asl20 mit ]; + mainProgram = "diesel_ext"; + maintainers = with maintainers; [ siph ]; + }; +} diff --git a/nixpkgs/pkgs/by-name/do/doggo/package.nix b/nixpkgs/pkgs/by-name/do/doggo/package.nix new file mode 100644 index 000000000000..cdd19bc37b90 --- /dev/null +++ b/nixpkgs/pkgs/by-name/do/doggo/package.nix @@ -0,0 +1,43 @@ +{ buildGoModule +, fetchFromGitHub +, installShellFiles +, lib +}: + +buildGoModule rec { + pname = "doggo"; + version = "0.5.7"; + + src = fetchFromGitHub { + owner = "mr-karan"; + repo = pname; + rev = "v${version}"; + hash = "sha256-hzl7BE3vsE2G9O2nwN/gkqQTJ+9aDfNIjmpmgN1AYq8="; + }; + + vendorHash = "sha256-uonybBLABPj9CPtc+y82ajvQI7kubK+lKi4eLcZIUqA="; + nativeBuildInputs = [ installShellFiles ]; + subPackages = [ "cmd/doggo" ]; + + ldflags = [ + "-w -s" + "-X main.buildVersion=v${version}" + ]; + + postInstall = '' + installShellCompletion --cmd doggo \ + --fish --name doggo.fish completions/doggo.fish \ + --zsh --name _doggo completions/doggo.zsh + ''; + + meta = with lib; { + homepage = "https://github.com/mr-karan/doggo"; + description = "Command-line DNS Client for Humans. Written in Golang"; + longDescription = '' + doggo is a modern command-line DNS client (like dig) written in Golang. + It outputs information in a neat concise manner and supports protocols like DoH, DoT, DoQ, and DNSCrypt as well + ''; + license = licenses.gpl3Only; + maintainers = with maintainers; [ georgesalkhouri ]; + }; +} diff --git a/nixpkgs/pkgs/by-name/fa/fantomas/package.nix b/nixpkgs/pkgs/by-name/fa/fantomas/package.nix new file mode 100644 index 000000000000..c698e6edef6c --- /dev/null +++ b/nixpkgs/pkgs/by-name/fa/fantomas/package.nix @@ -0,0 +1,17 @@ +{ buildDotnetGlobalTool, lib }: + +buildDotnetGlobalTool { + pname = "fantomas"; + version = "6.2.2"; + + nugetSha256 = "sha256-r5F44iwAV3QSeh3TyGTVhrN2oL4A68eD5dKiz/VnwdI="; + + meta = with lib; { + description = "F# source code formatter"; + homepage = "https://github.com/fsprojects/fantomas"; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = with maintainers; [ mikaelfangel ]; + mainProgram = "fantomas"; + }; +} diff --git a/nixpkgs/pkgs/by-name/gr/grun/package.nix b/nixpkgs/pkgs/by-name/gr/grun/package.nix new file mode 100644 index 000000000000..aef41add611d --- /dev/null +++ b/nixpkgs/pkgs/by-name/gr/grun/package.nix @@ -0,0 +1,41 @@ +{ lib +, stdenv +, fetchFromGitHub +, gtk2 +, pkg-config +, autoreconfHook +}: + +stdenv.mkDerivation { + pname = "grun"; + version = "0.9.3"; + + src = fetchFromGitHub { + owner = "lrgc"; + repo = "grun"; + rev = "release_0_9_3"; + hash = "sha256-VbvX0wrgMIPmPnu3aQdtQ6H0X3umi8aJ42QvmmeMrJ0="; + }; + + buildInputs = [ + gtk2 + ]; + + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + + makeFlags = [ + "PREFIX=${placeholder "out"}" + ]; + + meta = { + description = "An application launcher written in C and using GTK for the interface"; + homepage = "https://github.com/lrgc/grun"; + platforms = lib.platforms.linux; + license = with lib.licenses; [ gpl2Only ]; + maintainers = with lib.maintainers; [ _3JlOy-PYCCKUi ]; + }; +} + diff --git a/nixpkgs/pkgs/by-name/la/lanraragi/expose-password-hashing.patch b/nixpkgs/pkgs/by-name/la/lanraragi/expose-password-hashing.patch new file mode 100644 index 000000000000..1f6941f55ff4 --- /dev/null +++ b/nixpkgs/pkgs/by-name/la/lanraragi/expose-password-hashing.patch @@ -0,0 +1,36 @@ +diff --git a/lib/LANraragi/Controller/Config.pm b/lib/LANraragi/Controller/Config.pm +index 2cd2c999..0bd8ab6e 100644 +--- a/lib/LANraragi/Controller/Config.pm ++++ b/lib/LANraragi/Controller/Config.pm +@@ -50,6 +50,15 @@ sub index { + ); + } + ++sub make_password_hash { ++ my $ppr = Authen::Passphrase::BlowfishCrypt->new( ++ cost => 8, ++ salt_random => 1, ++ passphrase => shift, ++ ); ++ return $ppr->as_rfc2307; ++} ++ + # Save the given parameters to the Redis config + sub save_config { + +@@ -95,14 +104,7 @@ sub save_config { + my $password = $self->req->param('newpassword'); + + if ( $password ne "" ) { +- my $ppr = Authen::Passphrase::BlowfishCrypt->new( +- cost => 8, +- salt_random => 1, +- passphrase => $password, +- ); +- +- my $pass_hashed = $ppr->as_rfc2307; +- $confhash{password} = $pass_hashed; ++ $confhash{password} = make_password_hash($password); + } + } + diff --git a/nixpkgs/pkgs/by-name/la/lanraragi/fix-minion-redis-password.patch b/nixpkgs/pkgs/by-name/la/lanraragi/fix-minion-redis-password.patch new file mode 100644 index 000000000000..eb6b88f68f7f --- /dev/null +++ b/nixpkgs/pkgs/by-name/la/lanraragi/fix-minion-redis-password.patch @@ -0,0 +1,34 @@ +diff --git a/lib/LANraragi.pm b/lib/LANraragi.pm +index e6b833c4..d677030b 100644 +--- a/lib/LANraragi.pm ++++ b/lib/LANraragi.pm +@@ -144,8 +144,13 @@ sub startup { + shutdown_from_pid( get_temp . "/minion.pid" ); + + my $miniondb = $self->LRR_CONF->get_redisad . "/" . $self->LRR_CONF->get_miniondb; ++ my $redispassword = $self->LRR_CONF->get_redispassword; ++ ++ # If the password is non-empty, add the required delimiters ++ if ($redispassword) { $redispassword = "x:" . $redispassword . "@"; } ++ + say "Minion will use the Redis database at $miniondb"; +- $self->plugin( 'Minion' => { Redis => "redis://$miniondb" } ); ++ $self->plugin( 'Minion' => { Redis => "redis://$redispassword$miniondb" } ); + $self->LRR_LOGGER->info("Successfully connected to Minion database."); + $self->minion->missing_after(5); # Clean up older workers after 5 seconds of unavailability + +diff --git a/lib/LANraragi/Model/Config.pm b/lib/LANraragi/Model/Config.pm +index f52056d4..63e1f5d3 100644 +--- a/lib/LANraragi/Model/Config.pm ++++ b/lib/LANraragi/Model/Config.pm +@@ -42,8 +42,8 @@ sub get_minion { + my $miniondb = get_redisad . "/" . get_miniondb; + my $password = get_redispassword; + +- # If the password is non-empty, add the required @ +- if ($password) { $password = $password . "@"; } ++ # If the password is non-empty, add the required delimiters ++ if ($password) { $password = "x:" . $password . "@"; } + + return Minion->new( Redis => "redis://$password$miniondb" ); + } diff --git a/nixpkgs/pkgs/by-name/la/lanraragi/fix-paths.patch b/nixpkgs/pkgs/by-name/la/lanraragi/fix-paths.patch new file mode 100644 index 000000000000..f545bd4759f7 --- /dev/null +++ b/nixpkgs/pkgs/by-name/la/lanraragi/fix-paths.patch @@ -0,0 +1,100 @@ +diff --git a/lib/LANraragi.pm b/lib/LANraragi.pm +index e6b833c4..4b90e4c5 100644 +--- a/lib/LANraragi.pm ++++ b/lib/LANraragi.pm +@@ -21,6 +21,8 @@ use LANraragi::Utils::Minion; + use LANraragi::Model::Search; + use LANraragi::Model::Config; + ++use FindBin; ++ + # This method will run once at server start + sub startup { + my $self = shift; +@@ -30,7 +32,7 @@ sub startup { + say "キタ━━━━━━(゚∀゚)━━━━━━!!!!!"; + + # Load package.json to get version/vername/description +- my $packagejson = decode_json( Mojo::File->new('package.json')->slurp ); ++ my $packagejson = decode_json( Mojo::File->new("$FindBin::Bin/../package.json")->slurp ); + + my $version = $packagejson->{version}; + my $vername = $packagejson->{version_name}; +diff --git a/lib/LANraragi/Model/Archive.pm b/lib/LANraragi/Model/Archive.pm +index 73e824dd..8bcea29c 100644 +--- a/lib/LANraragi/Model/Archive.pm ++++ b/lib/LANraragi/Model/Archive.pm +@@ -13,6 +13,7 @@ use Time::HiRes qw(usleep); + use File::Basename; + use File::Copy "cp"; + use File::Path qw(make_path); ++use FindBin; + + use LANraragi::Utils::Generic qw(remove_spaces remove_newlines render_api_response); + use LANraragi::Utils::TempFolder qw(get_temp); +@@ -126,7 +127,7 @@ sub serve_thumbnail { + } else { + + # If the thumbnail doesn't exist, serve the default thumbnail. +- $self->render_file( filepath => "./public/img/noThumb.png" ); ++ $self->render_file( filepath => "$FindBin::Bin/../public/img/noThumb.png" ); + } + return; + +diff --git a/lib/LANraragi/Utils/Generic.pm b/lib/LANraragi/Utils/Generic.pm +index 14736893..4352f023 100644 +--- a/lib/LANraragi/Utils/Generic.pm ++++ b/lib/LANraragi/Utils/Generic.pm +@@ -17,6 +17,8 @@ use Sys::CpuAffinity; + use LANraragi::Utils::TempFolder qw(get_temp); + use LANraragi::Utils::Logging qw(get_logger); + ++use FindBin; ++ + # Generic Utility Functions. + use Exporter 'import'; + our @EXPORT_OK = +@@ -161,7 +163,7 @@ sub start_shinobu { + my $mojo = shift; + + my $proc = Proc::Simple->new(); +- $proc->start( $^X, "./lib/Shinobu.pm" ); ++ $proc->start( $^X, "$FindBin::Bin/../lib/Shinobu.pm" ); + $proc->kill_on_destroy(0); + + $mojo->LRR_LOGGER->debug( "Shinobu Worker new PID is " . $proc->pid ); +@@ -201,7 +203,7 @@ sub get_css_list { + + #Get all the available CSS sheets. + my @css; +- opendir( my $dir, "./public/themes" ) or die $!; ++ opendir( my $dir, "$FindBin::Bin/../public/themes" ) or die $!; + while ( my $file = readdir($dir) ) { + if ( $file =~ /.+\.css/ ) { push( @css, $file ); } + } +diff --git a/lib/LANraragi/Utils/Logging.pm b/lib/LANraragi/Utils/Logging.pm +index ee29c507..6bdfc1bd 100644 +--- a/lib/LANraragi/Utils/Logging.pm ++++ b/lib/LANraragi/Utils/Logging.pm +@@ -18,7 +18,7 @@ our @EXPORT_OK = qw(get_logger get_plugin_logger get_logdir get_lines_from_file) + # Get the Log folder. + sub get_logdir { + +- my $log_folder = "$FindBin::Bin/../log"; ++ my $log_folder = "./log"; + + # Folder location can be overriden by LRR_LOG_DIRECTORY + if ( $ENV{LRR_LOG_DIRECTORY} ) { +diff --git a/lib/LANraragi/Utils/TempFolder.pm b/lib/LANraragi/Utils/TempFolder.pm +index 792b1c1b..f0eb341b 100644 +--- a/lib/LANraragi/Utils/TempFolder.pm ++++ b/lib/LANraragi/Utils/TempFolder.pm +@@ -20,7 +20,7 @@ our @EXPORT_OK = qw(get_temp get_tempsize clean_temp_full clean_temp_partial); + #Get the current tempfolder. + #This can be called from any process safely as it uses FindBin. + sub get_temp { +- my $temp_folder = "$FindBin::Bin/../public/temp"; ++ my $temp_folder = "./public/temp"; + + # Folder location can be overriden by LRR_TEMP_DIRECTORY + if ( $ENV{LRR_TEMP_DIRECTORY} ) { diff --git a/nixpkgs/pkgs/by-name/la/lanraragi/install.patch b/nixpkgs/pkgs/by-name/la/lanraragi/install.patch new file mode 100644 index 000000000000..9d260f5a494f --- /dev/null +++ b/nixpkgs/pkgs/by-name/la/lanraragi/install.patch @@ -0,0 +1,63 @@ +diff --git a/tools/cpanfile b/tools/cpanfile +index 359c61fe..ca3b7ec7 100755 +--- a/tools/cpanfile ++++ b/tools/cpanfile +@@ -20,7 +20,7 @@ requires 'Sort::Naturally', 1.03; + requires 'Authen::Passphrase', 0.008; + requires 'File::ReadBackwards', 1.05; + requires 'URI::Escape', 1.74; +-requires 'URI', 5.09; ++requires 'URI', 5.05; + + # Used by Installer + requires 'IPC::Cmd', 1.02; +diff --git a/tools/install.pl b/tools/install.pl +index 0cbb847d..1bd61fa0 100755 +--- a/tools/install.pl ++++ b/tools/install.pl +@@ -91,32 +91,6 @@ if ( $ENV{HOMEBREW_FORMULA_PREFIX} ) { + $cpanopt = " -l " . $ENV{HOMEBREW_FORMULA_PREFIX} . "/libexec"; + } + +-#Load IPC::Cmd +-install_package( "IPC::Cmd", $cpanopt ); +-install_package( "Config::AutoConf", $cpanopt ); +-IPC::Cmd->import('can_run'); +-require Config::AutoConf; +- +-say("\r\nWill now check if all LRR software dependencies are met. \r\n"); +- +-#Check for Redis +-say("Checking for Redis..."); +-can_run('redis-server') +- or die 'NOT FOUND! Please install a Redis server before proceeding.'; +-say("OK!"); +- +-#Check for GhostScript +-say("Checking for GhostScript..."); +-can_run('gs') +- or warn 'NOT FOUND! PDF support will not work properly. Please install the "gs" tool.'; +-say("OK!"); +- +-#Check for libarchive +-say("Checking for libarchive..."); +-Config::AutoConf->new()->check_header("archive.h") +- or die 'NOT FOUND! Please install libarchive and ensure its headers are present.'; +-say("OK!"); +- + #Check for PerlMagick + say("Checking for ImageMagick/PerlMagick..."); + my $imgk; +@@ -154,12 +128,6 @@ if ( $back || $full ) { + #Clientside Dependencies with Provisioning + if ( $front || $full ) { + +- say("\r\nObtaining remote Web dependencies...\r\n"); +- +- if ( system("npm install") != 0 ) { +- die "Something went wrong while obtaining node modules - Bailing out."; +- } +- + say("\r\nProvisioning...\r\n"); + + #Load File::Copy diff --git a/nixpkgs/pkgs/by-name/la/lanraragi/package.nix b/nixpkgs/pkgs/by-name/la/lanraragi/package.nix new file mode 100644 index 000000000000..74ec38eeae23 --- /dev/null +++ b/nixpkgs/pkgs/by-name/la/lanraragi/package.nix @@ -0,0 +1,130 @@ +{ lib +, stdenv +, buildNpmPackage +, fetchFromGitHub +, fetchpatch +, makeBinaryWrapper +, perl +, ghostscript +, nixosTests +}: + +let + perlEnv = perl.withPackages (_: cpanDeps); + + cpanDeps = with perl.pkgs; [ + ImageMagick + locallib + Redis + Encode + ArchiveLibarchiveExtract + ArchiveLibarchivePeek + NetDNSNative + SortNaturally + AuthenPassphrase + FileReadBackwards + URI + LogfileRotate + Mojolicious + MojoliciousPluginTemplateToolkit + MojoliciousPluginRenderFile + MojoliciousPluginStatus + IOSocketSSL + CpanelJSONXS + Minion + MinionBackendRedis + ProcSimple + ParallelLoops + SysCpuAffinity + FileChangeNotify + ModulePluggable + TimeLocal + ] ++ lib.optional stdenv.isLinux LinuxInotify2; +in +buildNpmPackage rec { + pname = "lanraragi"; + version = "0.8.90"; + + src = fetchFromGitHub { + owner = "Difegue"; + repo = "LANraragi"; + rev = "v.${version}"; + hash = "sha256-ljnREUGCKvUJvcQ+aJ6XqiMTkVmfjt/0oC47w3PCj/k="; + }; + + patches = [ + (fetchpatch { + name = "add-package-lock-json.patch"; # Can be removed when updating to 0.9.0 + url = "https://github.com/Difegue/LANraragi/commit/c5cd8641795bf7e40deef4ae955ea848dde44050.patch"; + hash = "sha256-XKxRzeugkIe6N4XRN6+O1wEZpxo6OzU0OaG0ywKFv38="; + }) + ./install.patch + ./fix-paths.patch + ./expose-password-hashing.patch + ./fix-minion-redis-password.patch # Should be upstreamed + ]; + + npmFlags = [ "--legacy-peer-deps" ]; + + npmDepsHash = "sha256-UQsChPU5b4+r5Kv6P/3rJCGUzssiUNSKo3w4axNyJew="; + + nativeBuildInputs = [ + perl + makeBinaryWrapper + perl.pkgs.Appcpanminus + ] ++ cpanDeps; + + nativeCheckInputs = with perl.pkgs; [ + TestMockObject + TestTrap + TestDeep + ]; + + buildPhase = '' + runHook preBuild + + perl ./tools/install.pl install-full + rm -r node_modules public/js/vendor/*.map public/css/vendor/*.map + + runHook postBuild + ''; + + doCheck = true; + + checkPhase = '' + runHook preCheck + + rm tests/plugins.t # Uses network + prove -r -l -v tests + + runHook postCheck + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/lanraragi + cp -r lib public script templates package.json $out/share/lanraragi + + makeWrapper ${perlEnv}/bin/perl $out/bin/lanraragi \ + --prefix PATH : ${lib.makeBinPath [ ghostscript ]} \ + --add-flags "$out/share/lanraragi/script/launcher.pl -f $out/share/lanraragi/script/lanraragi" + + runHook postInstall + ''; + + passthru = { + inherit perlEnv; + tests = { inherit (nixosTests) lanraragi; }; + }; + + meta = { + changelog = "https://github.com/Difegue/LANraragi/releases/tag/${src.rev}"; + description = "Web application for archival and reading of manga/doujinshi"; + homepage = "https://github.com/Difegue/LANraragi"; + license = lib.licenses.mit; + mainProgram = "lanraragi"; + maintainers = with lib.maintainers; [ tomasajt ]; + platforms = lib.platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/by-name/my/mystmd/package.nix b/nixpkgs/pkgs/by-name/my/mystmd/package.nix new file mode 100644 index 000000000000..5bf90c7d90cd --- /dev/null +++ b/nixpkgs/pkgs/by-name/my/mystmd/package.nix @@ -0,0 +1,34 @@ +{ lib, buildNpmPackage, fetchFromGitHub }: + +buildNpmPackage rec { + pname = "mystmd"; + version = "1.1.22"; + + src = fetchFromGitHub { + owner = "executablebooks"; + repo = "mystmd"; + rev = "mystmd@${version}"; + hash = "sha256-jx/UCC/Cl5kqAbMzeikTmrx9xWS02OCp3rn0pvtIAPY="; + }; + + npmDepsHash = "sha256-1qQ19iB7N+KvO1uUdEMU1iN91FMQs4wzfTCdv6wfn30="; + + dontNpmInstall = true; + + installPhase = '' + runHook preInstall + + install -D packages/mystmd/dist/myst.cjs $out/bin/myst + + runHook postInstall + ''; + + meta = with lib; { + description = "Command line tools for working with MyST Markdown"; + homepage = "https://github.com/executablebooks/mystmd"; + changelog = "https://github.com/executablebooks/mystmd/blob/${src.rev}/packages/myst-cli/CHANGELOG.md"; + license = licenses.mit; + maintainers = [ maintainers.marsam ]; + mainProgram = "myst"; + }; +} diff --git a/nixpkgs/pkgs/by-name/na/namespace-cli/package.nix b/nixpkgs/pkgs/by-name/na/namespace-cli/package.nix index b7b99c4a58eb..e0dd291ef76b 100644 --- a/nixpkgs/pkgs/by-name/na/namespace-cli/package.nix +++ b/nixpkgs/pkgs/by-name/na/namespace-cli/package.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "namespace-cli"; - version = "0.0.301"; + version = "0.0.302"; src = fetchFromGitHub { owner = "namespacelabs"; repo = "foundation"; rev = "v${version}"; - hash = "sha256-e2le7yIzgb3dReniU7grR814xDWhGgckuyzx4omeRYI="; + hash = "sha256-I4ZkPdxidT2670NU5o1QTaee4fuDJNEirg7peuHqaJQ="; }; vendorHash = "sha256-jYkEXoCxqlxLF7oRc7H+/pMwkphOEwt2qUFkg+JOKVA="; diff --git a/nixpkgs/pkgs/by-name/on/onedrivegui/package.nix b/nixpkgs/pkgs/by-name/on/onedrivegui/package.nix new file mode 100644 index 000000000000..6ffd81584f3e --- /dev/null +++ b/nixpkgs/pkgs/by-name/on/onedrivegui/package.nix @@ -0,0 +1,87 @@ +{ lib +, python3Packages +, fetchFromGitHub +, writeText +, copyDesktopItems +, makeDesktopItem +, makeWrapper +, onedrive +}: + +let + version = "1.0.3"; + + setupPy = writeText "setup.py" '' + from setuptools import setup + setup( + name='onedrivegui', + version='${version}', + scripts=[ + 'src/OneDriveGUI.py', + ], + ) + ''; + +in +python3Packages.buildPythonApplication rec { + pname = "onedrivegui"; + inherit version; + + src = fetchFromGitHub { + owner = "bpozdena"; + repo = "OneDriveGUI"; + rev = "v${version}"; + hash = "sha256-HutziAzhIDYP8upNPieL2GNrxPBHUCVs09FFxdSqeBs="; + }; + + nativeBuildInputs = [ copyDesktopItems makeWrapper ]; + + propagatedBuildInputs = with python3Packages; [ pyside6 requests ]; + + # wrap manually to avoid having a bash script in $out/bin with a .py extension + dontWrapPythonPrograms = true; + + doCheck = false; # No tests defined + pythonImportsCheck = [ "OneDriveGUI" ]; + + desktopItems = [ + (makeDesktopItem { + name = "OneDriveGUI"; + exec = "onedrivegui"; + desktopName = "OneDriveGUI"; + comment = "OneDrive GUI Client"; + type = "Application"; + icon = "OneDriveGUI"; + terminal = false; + categories = [ "Utility" ]; + }) + ]; + + postPatch = '' + # Patch OneDriveGUI.py so DIR_PATH points to shared files location + sed -i src/OneDriveGUI.py -e "s@^DIR_PATH =.*@DIR_PATH = '$out/share/OneDriveGUI'@" + cp ${setupPy} ${setupPy.name} + ''; + + postInstall = '' + mkdir -p $out/share/OneDriveGUI + # we do not need the `ui` directory - only resources + cp -r src/resources $out/share/OneDriveGUI + install -Dm444 -t $/out/share/icons/hicolor/48x48/apps src/resources/images/OneDriveGUI.png + # we put our own executable wrapper in place instead + rm -r $out/bin/* + + makeWrapper ${python3Packages.python.interpreter} $out/bin/onedrivegui \ + --prefix PATH : ${lib.makeBinPath [ onedrive ]} \ + --prefix PYTHONPATH : ${python3Packages.makePythonPath (propagatedBuildInputs ++ [(placeholder "out")])} \ + --add-flags $out/lib/${python3Packages.python.libPrefix}/site-packages/OneDriveGUI.py + ''; + + meta = with lib; { + homepage = "https://github.com/bpozdena/OneDriveGUI"; + description = "A simple GUI for Linux OneDrive Client, with multi-account support"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ jgarcia ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/by-name/pa/paper-age/package.nix b/nixpkgs/pkgs/by-name/pa/paper-age/package.nix index d4bf9c731fa8..d15954fd6b2b 100644 --- a/nixpkgs/pkgs/by-name/pa/paper-age/package.nix +++ b/nixpkgs/pkgs/by-name/pa/paper-age/package.nix @@ -5,16 +5,16 @@ rustPlatform.buildRustPackage rec { pname = "paper-age"; - version = "1.1.4"; + version = "1.2.0"; src = fetchFromGitHub { owner = "matiaskorhonen"; repo = "paper-age"; rev = "v${version}"; - hash = "sha256-/8t+4iO+rYlc2WjjECq5mk8t0af/whmzatU63r9sO98="; + hash = "sha256-7dd1R41CDgkpFI8fUWCJfgz3lr22IjWQYW6vRYEFidc="; }; - cargoHash = "sha256-lLY3PINWGpdnNojIPT+snvLJTH4UEM7JWXdqrOLxibY="; + cargoHash = "sha256-IJDV0dmOsA9gbVKGfPsN3TKJbox3JTNxldArQK6GPt8="; meta = with lib; { description = "Easy and secure paper backups of secrets"; diff --git a/nixpkgs/pkgs/by-name/pg/pgmoneta/package.nix b/nixpkgs/pkgs/by-name/pg/pgmoneta/package.nix index bbfbb1a64476..dee9c6610b14 100644 --- a/nixpkgs/pkgs/by-name/pg/pgmoneta/package.nix +++ b/nixpkgs/pkgs/by-name/pg/pgmoneta/package.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation rec { pname = "pgmoneta"; - version = "0.7.0"; + version = "0.7.1"; src = fetchFromGitHub { owner = "pgmoneta"; repo = "pgmoneta"; rev = version; - hash = "sha256-Acg60QFMmRTubYWkPxbHTciVOYoIWc3GZGQVauewZik="; + hash = "sha256-F3bQ3UytEunXf0w2Eo1vx3u0Q40usYhbCmCVuL9X9lI="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/by-name/ri/river-bnf/package.nix b/nixpkgs/pkgs/by-name/ri/river-bnf/package.nix new file mode 100644 index 000000000000..f869a6e2ff0c --- /dev/null +++ b/nixpkgs/pkgs/by-name/ri/river-bnf/package.nix @@ -0,0 +1,42 @@ +{ lib +, stdenv +, fetchFromSourcehut +, wayland +, wayland-scanner +, unstableGitUpdater +}: + +stdenv.mkDerivation rec { + pname = "river-bnf"; + version = "unstable-2023-10-10"; + + src = fetchFromSourcehut { + owner = "~leon_plickat"; + repo = pname; + rev = "bb8ded380ed5d539777533065b4fd33646ad5603"; + hash = "sha256-rm9Nt3WLgq9QOXzrkYBGp45EALNYFTQGInxfYIN0XcU="; + }; + + nativeBuildInputs = [ + wayland-scanner + ]; + + buildInputs = [ + wayland.dev + ]; + + postPatch = '' + substituteInPlace Makefile --replace '/usr/local' $out + ''; + + passthru.updateScript = unstableGitUpdater { }; + + meta = { + description = "Switch back'n'forth between river tags"; + homepage = "https://git.sr.ht/~leon_plickat/river-bnf"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ adamcstephens ]; + mainProgram = "river-bnf"; + platforms = lib.platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/by-name/sc/scalingo/package.nix b/nixpkgs/pkgs/by-name/sc/scalingo/package.nix new file mode 100644 index 000000000000..3b5682846987 --- /dev/null +++ b/nixpkgs/pkgs/by-name/sc/scalingo/package.nix @@ -0,0 +1,32 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "scalingo"; + version = "1.29.1"; + + src = fetchFromGitHub { + owner = pname; + repo = "cli"; + rev = version; + hash = "sha256-xBf+LIwlpauJd/0xJIQdfEa0rxph3BJPuMY4+0s+Bb4="; + }; + + vendorHash = null; + + preCheck = '' + export HOME=$TMPDIR + ''; + + postInstall = '' + rm $out/bin/dists + ''; + + meta = with lib; { + description = "Command line client for the Scalingo PaaS"; + homepage = "https://doc.scalingo.com/platform/cli/start"; + changelog = "https://github.com/Scalingo/cli/blob/master/CHANGELOG.md"; + license = licenses.bsdOriginal; + maintainers = with maintainers; [ cimm ]; + platforms = with lib.platforms; unix; + }; +} diff --git a/nixpkgs/pkgs/by-name/st/steamguard-cli/package.nix b/nixpkgs/pkgs/by-name/st/steamguard-cli/package.nix new file mode 100644 index 000000000000..d93cfa4b281c --- /dev/null +++ b/nixpkgs/pkgs/by-name/st/steamguard-cli/package.nix @@ -0,0 +1,37 @@ +{ installShellFiles +, lib +, rustPlatform +, fetchFromGitHub +}: + +rustPlatform.buildRustPackage rec { + pname = "steamguard-cli"; + version = "0.12.3"; + + src = fetchFromGitHub { + owner = "dyc3"; + repo = pname; + rev = "v${version}"; + hash = "sha256-qfyo63u6gBkGNxVBmFsz9YXs6duRU/VnFly40C13vI8="; + }; + + cargoHash = "sha256-B8/WCSHC905wDxYGLYVMT0QxgMiGR0/VMVzOlyTKPss="; + + nativeBuildInputs = [ installShellFiles ]; + postInstall = '' + installShellCompletion --cmd steamguard \ + --bash <($out/bin/steamguard completion --shell bash) \ + --fish <($out/bin/steamguard completion --shell fish) \ + --zsh <($out/bin/steamguard completion --shell zsh) \ + ''; + + meta = with lib; { + changelog = "https://github.com/dyc3/steamguard-cli/releases/tag/v${version}"; + description = "A linux utility for generating 2FA codes for Steam and managing Steam trade confirmations."; + homepage = "https://github.com/dyc3/steamguard-cli"; + license = with licenses; [ gpl3Only ]; + mainProgram = "steamguard"; + maintainers = with maintainers; [ surfaceflinger ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/by-name/su/supersonic/package.nix b/nixpkgs/pkgs/by-name/su/supersonic/package.nix index 9b0fe4fd0634..db635f073a63 100644 --- a/nixpkgs/pkgs/by-name/su/supersonic/package.nix +++ b/nixpkgs/pkgs/by-name/su/supersonic/package.nix @@ -20,16 +20,16 @@ assert waylandSupport -> stdenv.isLinux; buildGoModule rec { pname = "supersonic" + lib.optionalString waylandSupport "-wayland"; - version = "0.5.2"; + version = "0.6.0"; src = fetchFromGitHub { owner = "dweymouth"; repo = "supersonic"; rev = "v${version}"; - hash = "sha256-4SLAUqLMoUxTSi4I/QeHqudO62Gmhpm1XbCGf+3rPlc="; + hash = "sha256-elDVkhRW1mTez56OKQJJ0m0VxP8/Bq+HcXf5iokeY5I="; }; - vendorHash = "sha256-6Yp5OoybFpoBuIKodbwnyX3crLCl8hJ2r4plzo0plsY="; + vendorHash = "sha256-z1sDlyc7HW+tYfG0Z4EjUCEM3Su4JjmWIKxU2MV6GOA="; nativeBuildInputs = [ copyDesktopItems @@ -62,6 +62,7 @@ buildGoModule rec { darwin.apple_sdk_11_0.frameworks.Kernel darwin.apple_sdk_11_0.frameworks.OpenGL darwin.apple_sdk_11_0.frameworks.UserNotifications + darwin.apple_sdk_11_0.frameworks.MediaPlayer ]; postInstall = '' diff --git a/nixpkgs/pkgs/by-name/sy/systemctl-tui/package.nix b/nixpkgs/pkgs/by-name/sy/systemctl-tui/package.nix new file mode 100644 index 000000000000..5da79686b5f8 --- /dev/null +++ b/nixpkgs/pkgs/by-name/sy/systemctl-tui/package.nix @@ -0,0 +1,30 @@ +{ lib +, rustPlatform +, fetchCrate +, stdenv +, darwin +}: + +rustPlatform.buildRustPackage rec { + pname = "systemctl-tui"; + version = "0.2.2"; + + src = fetchCrate { + inherit pname version; + hash = "sha256-q/LzehMspiqxQOgALh1smhmL1803xr4GzIw9t+jE6NM="; + }; + + cargoHash = "sha256-GNuWag8Y1aSkBMzXcHpwfVU80zmhusLIOrKtZSe/jI0="; + + buildInputs = lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.AppKit + ]; + + meta = with lib; { + description = "A simple TUI for interacting with systemd services and their logs"; + homepage = "https://crates.io/crates/systemctl-tui"; + license = licenses.mit; + maintainers = with maintainers; [ siph ]; + mainProgram = "systemctl-tui"; + }; +} diff --git a/nixpkgs/pkgs/by-name/te/textsnatcher/package.nix b/nixpkgs/pkgs/by-name/te/textsnatcher/package.nix new file mode 100644 index 000000000000..21b75c31a37f --- /dev/null +++ b/nixpkgs/pkgs/by-name/te/textsnatcher/package.nix @@ -0,0 +1,62 @@ +{ lib +, stdenv +, fetchFromGitHub +, meson +, ninja +, vala +, wrapGAppsHook +, pkg-config +, pantheon +, libhandy +, libportal +, glib +, gtk3 +, desktop-file-utils +, scrot +, tesseract +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "textsnatcher"; + version = "2.0.0"; + + src = fetchFromGitHub { + owner = "RajSolai"; + repo = "TextSnatcher"; + rev = "v${finalAttrs.version}"; + hash = "sha256-phqtPjwKB5BoCpL+cMeHvRLL76ZxQ5T74cpAsgN+/JM="; + }; + + nativeBuildInputs = [ + meson + ninja + vala + pkg-config + desktop-file-utils + wrapGAppsHook + ]; + + buildInputs = [ + pantheon.granite + libhandy + libportal + gtk3 + glib + ]; + + preFixup = '' + gappsWrapperArgs+=( + --prefix PATH : ${lib.makeBinPath [ scrot tesseract ]} + ) + ''; + + meta = with lib; { + description = "Copy Text from Images with ease, Perform OCR operations in seconds"; + homepage = "https://textsnatcher.rf.gd/"; + changelog = "https://github.com/RajSolai/TextSnatcher/releases/tag/v${finalAttrs.version}"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ galaxy ]; + mainProgram = "com.github.rajsolai.textsnatcher"; + platforms = platforms.linux; + }; +}) diff --git a/nixpkgs/pkgs/by-name/tr/trunk-ng/package.nix b/nixpkgs/pkgs/by-name/tr/trunk-ng/package.nix index 0ba415d1bb96..6c8b7055fc68 100644 --- a/nixpkgs/pkgs/by-name/tr/trunk-ng/package.nix +++ b/nixpkgs/pkgs/by-name/tr/trunk-ng/package.nix @@ -3,13 +3,13 @@ rustPlatform.buildRustPackage rec { pname = "trunk-ng"; - version = "0.17.8"; + version = "0.17.10"; src = fetchFromGitHub { owner = "ctron"; repo = "trunk"; rev = "v${version}"; - hash = "sha256-ycZIqDBZccPapOK0ZI9Cvq94tRxChrsWX1rhyWh0S2c="; + hash = "sha256-F2g/GMxnS5r44i3NIJGOic9f+H5+JbFi3dqMqI6h6JQ="; }; nativeBuildInputs = [ pkg-config ]; @@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec { # requires network checkFlags = [ "--skip=tools::tests::download_and_install_binaries" ]; - cargoHash = "sha256-URHArTog34JcuxXHzTQBjQOFMffarNb51d9sUOfjm6c="; + cargoHash = "sha256-37nCqRTgbsg2cXu4xwYC/qfodPIxx97Qns8FQe9NroQ="; meta = with lib; { homepage = "https://github.com/ctron/trunk"; diff --git a/nixpkgs/pkgs/by-name/ui/uiua/package.nix b/nixpkgs/pkgs/by-name/ui/uiua/package.nix index bb40115a53fd..9ddfd1d8cf13 100644 --- a/nixpkgs/pkgs/by-name/ui/uiua/package.nix +++ b/nixpkgs/pkgs/by-name/ui/uiua/package.nix @@ -14,16 +14,16 @@ rustPlatform.buildRustPackage rec { pname = "uiua"; - version = "0.0.20"; + version = "0.0.23"; src = fetchFromGitHub { owner = "uiua-lang"; repo = "uiua"; - rev = "refs/tags/${version}"; - hash = "sha256-fFsMN+4ORB//Ch+wrRRMeZKXvW8ta5m66Vy3I3uyHO8="; + rev = version; + hash = "sha256-+Q/dn0pGZ3R+UlAt9stQZU1n+WITujJzTxY5dpXc+Bc="; }; - cargoHash = "sha256-old+U0sJWnp8wTiZBjcQ7+mv+6N15cpyyTDEjTUnghk="; + cargoHash = "sha256-R4jQ9Or9vh3dtqJH7nPvYM4o1h277sFUf+nC1VQl1Uk="; nativeBuildInputs = lib.optionals stdenv.isDarwin [ rustPlatform.bindgenHook @@ -41,13 +41,14 @@ rustPlatform.buildRustPackage rec { buildFeatures = lib.optional audioSupport "audio"; - passthru.tests.run = runCommand "uiua-test-run" {nativeBuildInputs = [uiua];} '' + passthru.tests.run = runCommand "uiua-test-run" { nativeBuildInputs = [ uiua ]; } '' uiua init; diff -U3 --color=auto <(uiua run main.ua) <(echo '"Hello, World!"') touch $out; ''; - meta = with lib; { + meta = { + changelog = "https://github.com/uiua-lang/uiua/releases/tag/${src.rev}"; description = "A stack-oriented array programming language with a focus on simplicity, beauty, and tacit code"; longDescription = '' Uiua combines the stack-oriented and array-oriented paradigms in a single @@ -55,8 +56,8 @@ rustPlatform.buildRustPackage rec { high information density and little syntactic noise. ''; homepage = "https://www.uiua.org/"; - license = licenses.mit; + license = lib.licenses.mit; mainProgram = "uiua"; - maintainers = with maintainers; [ cafkafk tomasajt ]; + maintainers = with lib.maintainers; [ cafkafk tomasajt ]; }; } diff --git a/nixpkgs/pkgs/by-name/ve/vesktop/package.nix b/nixpkgs/pkgs/by-name/ve/vesktop/package.nix index d25167ebe308..d528fec7563a 100644 --- a/nixpkgs/pkgs/by-name/ve/vesktop/package.nix +++ b/nixpkgs/pkgs/by-name/ve/vesktop/package.nix @@ -1,6 +1,7 @@ { lib , stdenv , stdenvNoCC +, gcc13Stdenv , fetchFromGitHub , substituteAll , makeWrapper @@ -9,6 +10,7 @@ , vencord , electron , pipewire +, libpulseaudio , libicns , jq , moreutils @@ -16,13 +18,13 @@ }: stdenv.mkDerivation rec { pname = "vesktop"; - version = "0.3.3"; + version = "0.4.1"; src = fetchFromGitHub { owner = "Vencord"; repo = "Vesktop"; rev = "v${version}"; - sha256 = "sha256-Njs3tACxUyRolYUtS/q2lITIQnUBFXVXWZEfQ66HpPM="; + hash = "sha256-jSGad3qMhAdiGdwomQO6BIyHIbKrGLRGniGrJN97gN8="; }; pnpm-deps = stdenvNoCC.mkDerivation { @@ -51,7 +53,7 @@ stdenv.mkDerivation rec { dontFixup = true; outputHashMode = "recursive"; - outputHash = "sha256-vInaSLGahRUgvwAeUcI+oV84L+tgNRCmfFpE0aUD4X4="; + outputHash = "sha256-lTeL+8QujWzx4ys2T+G55NUP51c8i5lB1vAkUtzkJlA="; }; nativeBuildInputs = [ @@ -92,7 +94,12 @@ stdenv.mkDerivation rec { # yes, upstream really packages it as "vesktop" but uses "vencorddesktop" file names installPhase = let - libPath = lib.makeLibraryPath [ pipewire ]; + # this is mainly required for venmic + libPath = lib.makeLibraryPath [ + libpulseaudio + pipewire + gcc13Stdenv.cc.cc.lib + ]; in '' runHook preInstall @@ -132,7 +139,8 @@ stdenv.mkDerivation rec { homepage = "https://github.com/Vencord/Vesktop"; license = licenses.gpl3Only; maintainers = with maintainers; [ getchoo Scrumplex vgskye ]; - platforms = platforms.linux; + platforms = [ "x86_64-linux" "aarch64-linux" ]; mainProgram = "vencorddesktop"; + broken = stdenv.hostPlatform.isAarch64; }; } diff --git a/nixpkgs/pkgs/by-name/wa/waybar-mpris/package.nix b/nixpkgs/pkgs/by-name/wa/waybar-mpris/package.nix new file mode 100644 index 000000000000..253829d9abec --- /dev/null +++ b/nixpkgs/pkgs/by-name/wa/waybar-mpris/package.nix @@ -0,0 +1,33 @@ +{ lib +, fetchgit +, buildGoModule +, installShellFiles +}: + +buildGoModule { + pname = "waybar-mpris"; + version = "unstable-2022-01-27"; + + src = fetchgit { + url = "https://git.hrfee.pw/hrfee/waybar-mpris"; + rev = "485ec0ec0af80a0d63c10e94aebfc59b16aab46b"; + hash = "sha256-BjLxWnDNsR2ZnNklNiKzi1DeoPpaZsRdKbVSwNwYhJ4="; + }; + + vendorHash = "sha256-85jFSAOfNMihv710LtfETmkKRqcdRuFCHVuPkW94X/Y="; + + nativeBuildInputs = [ installShellFiles ]; + + CGO_LDFLAGS = "-s -w"; + + GOFLAGS = "-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"; + + meta = with lib; { + description = "A waybar component/utility for displaying and controlling MPRIS2 compliant media players individually"; + homepage = "https://git.hrfee.pw/hrfee/waybar-mpris"; + license = licenses.mit; + mainProgram = "waybar-mpris"; + maintainers = with maintainers; [ khaneliman ]; + }; +} + diff --git a/nixpkgs/pkgs/by-name/wh/whatsapp-emoji-font/package.nix b/nixpkgs/pkgs/by-name/wh/whatsapp-emoji-font/package.nix new file mode 100644 index 000000000000..5e34282891b9 --- /dev/null +++ b/nixpkgs/pkgs/by-name/wh/whatsapp-emoji-font/package.nix @@ -0,0 +1,46 @@ +{ stdenvNoCC +, lib +, fetchFromGitHub +, imagemagick +, nix-update-script +, pngquant +, python3Packages +, which +, zopfli +}: + +stdenvNoCC.mkDerivation rec { + pname = "whatsapp-emoji-linux"; + version = "2.23.2.72-1"; + + src = fetchFromGitHub { + rev = "refs/tags/${version}"; + owner = "dmlls"; + repo = "whatsapp-emoji-linux"; + hash = "sha256-dwX+y8jCpR+SyiH13Os9VeXLDwmAYB7ARW2lAMl/7RE="; + }; + + makeFlags = [ + "PREFIX=$(out)" + ]; + + enableParallelBuilding = true; + + nativeBuildInputs = [ + imagemagick + pngquant + python3Packages.nototools + which + zopfli + ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "WhatsApp Emoji for GNU/Linux"; + homepage = "https://github.com/dmlls/whatsapp-emoji-linux"; + maintainers = [ lib.maintainers.lucasew ]; + sourceProvenance = [ lib.sourceTypes.fromSource ]; + license = lib.licenses.unfree; + }; +} diff --git a/nixpkgs/pkgs/by-name/wh/whistle/package.nix b/nixpkgs/pkgs/by-name/wh/whistle/package.nix new file mode 100644 index 000000000000..0e097ed347d3 --- /dev/null +++ b/nixpkgs/pkgs/by-name/wh/whistle/package.nix @@ -0,0 +1,26 @@ +{ lib, buildNpmPackage, fetchFromGitHub }: + +buildNpmPackage rec { + pname = "whistle"; + version = "2.9.58"; + + src = fetchFromGitHub { + owner = "avwo"; + repo = "whistle"; + rev = "v${version}"; + hash = "sha256-/dt4xwUZrvymCpc3xRyWM2Wsh7zk7ndepgOWJwJ2Das="; + }; + + npmDepsHash = "sha256-9GBhC2PQyaqi64ncIuMZSf9CLB8l+cywT7QTzW9WiTs="; + + dontNpmBuild = true; + + meta = with lib; { + description = "HTTP, HTTP2, HTTPS, Websocket debugging proxy"; + homepage = "https://github.com/avwo/whistle"; + changelog = "https://github.com/avwo/whistle/blob/${src.rev}/CHANGELOG.md"; + license = licenses.mit; + maintainers = [ maintainers.marsam ]; + mainProgram = "whistle"; + }; +} |