commit
70530708a5
@ -0,0 +1,66 @@ |
||||
import ./make-test-python.nix ( |
||||
{ |
||||
nodes.host = {config, pkgs, ...}: { |
||||
config = { |
||||
# Prerequisites for ZFS and tests. |
||||
boot.supportedFilesystems = [ "zfs" ]; |
||||
environment.systemPackages = [ pkgs.zrepl ]; |
||||
networking.hostId = "deadbeef"; |
||||
services.zrepl = { |
||||
enable = true; |
||||
settings = { |
||||
# Enable Prometheus output for status assertions. |
||||
global.monitoring = [{ |
||||
type = "prometheus"; |
||||
listen = ":9811"; |
||||
}]; |
||||
# Create a periodic snapshot job for an ephemeral zpool. |
||||
jobs = [{ |
||||
name = "snap_test"; |
||||
type = "snap"; |
||||
|
||||
filesystems."test" = true; |
||||
snapshotting = { |
||||
type = "periodic"; |
||||
prefix = "zrepl_"; |
||||
interval = "1s"; |
||||
}; |
||||
|
||||
pruning.keep = [{ |
||||
type = "last_n"; |
||||
count = 8; |
||||
}]; |
||||
}]; |
||||
}; |
||||
}; |
||||
}; |
||||
}; |
||||
|
||||
testScript = '' |
||||
start_all() |
||||
|
||||
with subtest("Wait for zrepl and network ready"): |
||||
host.wait_for_unit("network-online.target") |
||||
host.wait_for_unit("zrepl.service") |
||||
|
||||
with subtest("Create test zpool"): |
||||
# ZFS requires 64MiB minimum pool size. |
||||
host.succeed("fallocate -l 64MiB /root/zpool.img") |
||||
host.succeed("zpool create test /root/zpool.img") |
||||
|
||||
with subtest("Check for completed zrepl snapshot"): |
||||
# zrepl periodic snapshot job creates a snapshot with this prefix. |
||||
host.wait_until_succeeds("zfs list -t snapshot | grep -q zrepl_") |
||||
|
||||
with subtest("Verify HTTP monitoring server is configured"): |
||||
out = host.succeed("curl -f localhost:9811/metrics") |
||||
|
||||
assert ( |
||||
"zrepl_version_daemon" in out |
||||
), "zrepl version metric was not found in Prometheus output" |
||||
|
||||
assert ( |
||||
"zrepl_zfs_snapshot_duration_count{filesystem=\"test\"}" in out |
||||
), "zrepl snapshot counter for test was not found in Prometheus output" |
||||
''; |
||||
}) |
@ -0,0 +1,191 @@ |
||||
{ channel, version, revision, sha256 }: |
||||
|
||||
{ stdenv |
||||
, fetchurl |
||||
, lib |
||||
|
||||
, binutils-unwrapped |
||||
, xz |
||||
, gnutar |
||||
, file |
||||
|
||||
, glibc |
||||
, glib |
||||
, nss |
||||
, nspr |
||||
, atk |
||||
, at-spi2-atk |
||||
, xorg |
||||
, cups |
||||
, dbus |
||||
, expat |
||||
, libdrm |
||||
, libxkbcommon |
||||
, gtk3 |
||||
, pango |
||||
, cairo |
||||
, gdk-pixbuf |
||||
, mesa |
||||
, alsa-lib |
||||
, at-spi2-core |
||||
, libuuid |
||||
, systemd |
||||
}: |
||||
|
||||
let |
||||
|
||||
baseName = "microsoft-edge"; |
||||
|
||||
shortName = if channel == "stable" |
||||
then "msedge" |
||||
else "msedge-" + channel; |
||||
|
||||
longName = if channel == "stable" |
||||
then baseName |
||||
else baseName + "-" + channel; |
||||
|
||||
iconSuffix = if channel == "stable" |
||||
then "" |
||||
else "_${channel}"; |
||||
|
||||
desktopSuffix = if channel == "stable" |
||||
then "" |
||||
else "-${channel}"; |
||||
in |
||||
|
||||
stdenv.mkDerivation rec { |
||||
name="${baseName}-${channel}-${version}"; |
||||
|
||||
src = fetchurl { |
||||
url = "https://packages.microsoft.com/repos/edge/pool/main/m/${baseName}-${channel}/${baseName}-${channel}_${version}-${revision}_amd64.deb"; |
||||
inherit sha256; |
||||
}; |
||||
|
||||
unpackCmd = "${binutils-unwrapped}/bin/ar p $src data.tar.xz | ${xz}/bin/xz -dc | ${gnutar}/bin/tar -xf -"; |
||||
sourceRoot = "."; |
||||
|
||||
dontPatch = true; |
||||
dontConfigure = true; |
||||
dontPatchELF = true; |
||||
|
||||
buildPhase = let |
||||
libPath = { |
||||
msedge = lib.makeLibraryPath [ |
||||
glibc glib nss nspr atk at-spi2-atk xorg.libX11 |
||||
xorg.libxcb cups.lib dbus.lib expat libdrm |
||||
xorg.libXcomposite xorg.libXdamage xorg.libXext |
||||
xorg.libXfixes xorg.libXrandr libxkbcommon |
||||
gtk3 pango cairo gdk-pixbuf mesa |
||||
alsa-lib at-spi2-core xorg.libxshmfence systemd |
||||
]; |
||||
naclHelper = lib.makeLibraryPath [ |
||||
glib nspr atk libdrm xorg.libxcb mesa xorg.libX11 |
||||
xorg.libXext dbus.lib libxkbcommon |
||||
]; |
||||
libwidevinecdm = lib.makeLibraryPath [ |
||||
glib nss nspr |
||||
]; |
||||
libGLESv2 = lib.makeLibraryPath [ |
||||
xorg.libX11 xorg.libXext xorg.libxcb |
||||
]; |
||||
libsmartscreen = lib.makeLibraryPath [ |
||||
libuuid stdenv.cc.cc.lib |
||||
]; |
||||
libsmartscreenn = lib.makeLibraryPath [ |
||||
libuuid |
||||
]; |
||||
liboneauth = lib.makeLibraryPath [ |
||||
libuuid xorg.libX11 |
||||
]; |
||||
}; |
||||
in '' |
||||
patchelf \ |
||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ |
||||
--set-rpath "${libPath.msedge}" \ |
||||
opt/microsoft/${shortName}/msedge |
||||
|
||||
patchelf \ |
||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ |
||||
opt/microsoft/${shortName}/msedge-sandbox |
||||
|
||||
patchelf \ |
||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ |
||||
opt/microsoft/${shortName}/msedge_crashpad_handler |
||||
|
||||
patchelf \ |
||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ |
||||
--set-rpath "${libPath.naclHelper}" \ |
||||
opt/microsoft/${shortName}/nacl_helper |
||||
|
||||
patchelf \ |
||||
--set-rpath "${libPath.libwidevinecdm}" \ |
||||
opt/microsoft/${shortName}/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so |
||||
|
||||
patchelf \ |
||||
--set-rpath "${libPath.libGLESv2}" \ |
||||
opt/microsoft/${shortName}/libGLESv2.so |
||||
|
||||
patchelf \ |
||||
--set-rpath "${libPath.libsmartscreen}" \ |
||||
opt/microsoft/${shortName}/libsmartscreen.so |
||||
|
||||
patchelf \ |
||||
--set-rpath "${libPath.libsmartscreenn}" \ |
||||
opt/microsoft/${shortName}/libsmartscreenn.so |
||||
|
||||
patchelf \ |
||||
--set-rpath "${libPath.liboneauth}" \ |
||||
opt/microsoft/${shortName}/liboneauth.so |
||||
''; |
||||
|
||||
installPhase = '' |
||||
mkdir -p $out |
||||
cp -R opt usr/bin usr/share $out |
||||
|
||||
${if channel == "stable" |
||||
then "" |
||||
else "ln -sf $out/opt/microsoft/${shortName}/${baseName}-${channel} $out/opt/microsoft/${shortName}/${baseName}"} |
||||
|
||||
ln -sf $out/opt/microsoft/${shortName}/${longName} $out/bin/${longName} |
||||
|
||||
rm -rf $out/share/doc |
||||
rm -rf $out/opt/microsoft/${shortName}/cron |
||||
|
||||
for icon in '16' '24' '32' '48' '64' '128' '256' |
||||
do |
||||
${ "icon_source=$out/opt/microsoft/${shortName}/product_logo_\${icon}${iconSuffix}.png" } |
||||
${ "icon_target=$out/share/icons/hicolor/\${icon}x\${icon}/apps" } |
||||
mkdir -p $icon_target |
||||
cp $icon_source $icon_target/microsoft-edge${desktopSuffix}.png |
||||
done |
||||
|
||||
substituteInPlace $out/share/applications/${longName}.desktop \ |
||||
--replace /usr/bin/${baseName}-${channel} $out/bin/${longName} |
||||
|
||||
substituteInPlace $out/share/gnome-control-center/default-apps/${longName}.xml \ |
||||
--replace /opt/microsoft/${shortName} $out/opt/microsoft/${shortName} |
||||
|
||||
substituteInPlace $out/share/menu/${longName}.menu \ |
||||
--replace /opt/microsoft/${shortName} $out/opt/microsoft/${shortName} |
||||
|
||||
substituteInPlace $out/opt/microsoft/${shortName}/xdg-mime \ |
||||
--replace "''${XDG_DATA_DIRS:-/usr/local/share:/usr/share}" "''${XDG_DATA_DIRS:-/run/current-system/sw/share}" \ |
||||
--replace "xdg_system_dirs=/usr/local/share/:/usr/share/" "xdg_system_dirs=/run/current-system/sw/share/" \ |
||||
--replace /usr/bin/file ${file}/bin/file |
||||
|
||||
substituteInPlace $out/opt/microsoft/${shortName}/default-app-block \ |
||||
--replace /opt/microsoft/${shortName} $out/opt/microsoft/${shortName} |
||||
|
||||
substituteInPlace $out/opt/microsoft/${shortName}/xdg-settings \ |
||||
--replace "''${XDG_DATA_DIRS:-/usr/local/share:/usr/share}" "''${XDG_DATA_DIRS:-/run/current-system/sw/share}" \ |
||||
--replace "''${XDG_CONFIG_DIRS:-/etc/xdg}" "''${XDG_CONFIG_DIRS:-/run/current-system/sw/etc/xdg}" |
||||
''; |
||||
|
||||
meta = with lib; { |
||||
homepage = "https://www.microsoft.com/en-us/edge"; |
||||
description = "The web browser from Microsoft"; |
||||
license = licenses.unfree; |
||||
platforms = [ "x86_64-linux" ]; |
||||
maintainers = with maintainers; [ zanculmarktum kuwii ]; |
||||
}; |
||||
} |
@ -0,0 +1,20 @@ |
||||
{ |
||||
beta = import ./browser.nix { |
||||
channel = "beta"; |
||||
version = "99.0.1150.16"; |
||||
revision = "1"; |
||||
sha256 = "sha256:0qsgs889d6qwxz9qf42psmjqfhmrqgp07srq5r38npl5pncr137h"; |
||||
}; |
||||
dev = import ./browser.nix { |
||||
channel = "dev"; |
||||
version = "100.0.1163.1"; |
||||
revision = "1"; |
||||
sha256 = "sha256:153faqxyw5f5b6cqnvd71dl7941znkzci8dwbcgaxway0b6882jq"; |
||||
}; |
||||
stable = import ./browser.nix { |
||||
channel = "stable"; |
||||
version = "98.0.1108.56"; |
||||
revision = "1"; |
||||
sha256 = "sha256:03jbj2s2fs60fzfgsmyb284q7nckji87qgb86mvl5g0hbl19aza7"; |
||||
}; |
||||
} |
@ -0,0 +1,50 @@ |
||||
#! /usr/bin/env nix-shell |
||||
#! nix-shell -i bash -p curl gzip |
||||
|
||||
# To update: ./update.sh > default.nix |
||||
|
||||
index_file=$(curl -sL https://packages.microsoft.com/repos/edge/dists/stable/main/binary-amd64/Packages.gz | gzip -dc) |
||||
|
||||
echo "{" |
||||
|
||||
packages=() |
||||
echo "$index_file" | while read -r line; do |
||||
if [[ "$line" =~ ^Package:[[:space:]]*(.*) ]]; then |
||||
Package="${BASH_REMATCH[1]}" |
||||
fi |
||||
if [[ "$line" =~ ^Version:[[:space:]]*(.*)-([a-zA-Z0-9+.~]*) ]]; then |
||||
Version="${BASH_REMATCH[1]}" |
||||
Revision="${BASH_REMATCH[2]}" |
||||
fi |
||||
if [[ "$line" =~ ^SHA256:[[:space:]]*(.*) ]]; then |
||||
SHA256="${BASH_REMATCH[1]}" |
||||
fi |
||||
|
||||
if ! [[ "$line" ]]; then |
||||
found=0 |
||||
for i in "${packages[@]}"; do |
||||
if [[ "$i" == "$Package" ]]; then |
||||
found=1 |
||||
fi |
||||
done |
||||
|
||||
if (( ! $found )); then |
||||
channel="${Package##*-}" |
||||
name="${Package%-${channel}}" |
||||
cat <<EOF |
||||
${channel} = import ./browser.nix { |
||||
channel = "${channel}"; |
||||
version = "${Version}"; |
||||
revision = "${Revision}"; |
||||
sha256 = "sha256:$(nix-hash --type sha256 --to-base32 ${SHA256})"; |
||||
}; |
||||
EOF |
||||
fi |
||||
|
||||
packages+=($Package) |
||||
Package="" |
||||
Version="" |
||||
fi |
||||
done |
||||
|
||||
echo "}" |
@ -1,6 +1,6 @@ |
||||
{ |
||||
"version": "1.10.7", |
||||
"desktopSrcHash": "HkGny9t8dNzVGyyqgr4tABbFZgWV4xqGZt9xH4ejkew=", |
||||
"desktopYarnHash": "038rqg26dn8chzscck5mlhnw2viy6gr8pjb7zrcmi7ipx9h038a0", |
||||
"webHash": "0gim79a1zpfc56ca5fndp2whmlv9jz1s32z666i268xppn4z53k1" |
||||
"version": "1.10.8", |
||||
"desktopSrcHash": "S9MQIn773BzCH4dsTkD1DpIThDzoIGr4Heaie2Qs0jY=", |
||||
"desktopYarnHash": "1imx43qbpj08l6d0fji31kcxqshcpr0ch8dzfbbgxyjvblq2p8ln", |
||||
"webHash": "02i6l3armzr19kki3hgshhzkdpb3001nilh4h10hr3xw5z711ppr" |
||||
} |
||||
|
@ -0,0 +1,34 @@ |
||||
{ stdenv, lib, fetchFromGitHub, cmake, folly, boost, gflags, glog, openssl, double-conversion, fmt }: |
||||
|
||||
stdenv.mkDerivation { |
||||
pname = "wdt"; |
||||
version = "unstable-2022-03-24"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "facebook"; |
||||
repo = "wdt"; |
||||
rev = "43319e59d0c77092468367cdadab37d12d7a2383"; |
||||
sha256 = "sha256-MajYK2eTUbWhEql0iTlgW5yLg9xAGZQk+Dx4fNxFFqw="; |
||||
}; |
||||
|
||||
nativeBuildInputs = [ cmake ]; |
||||
buildInputs = [ folly boost gflags glog openssl double-conversion fmt ]; |
||||
|
||||
# source is expected to be named wdt |
||||
# https://github.com/facebook/wdt/blob/43319e59d0c77092468367cdadab37d12d7a2383/CMakeLists.txt#L238 |
||||
postUnpack = '' |
||||
ln -s $sourceRoot wdt |
||||
''; |
||||
|
||||
cmakeFlags = [ |
||||
"-DWDT_USE_SYSTEM_FOLLY=ON" |
||||
]; |
||||
|
||||
meta = with lib; { |
||||
description = "Warp speed Data Transfer"; |
||||
homepage = "https://github.com/facebook/wdt"; |
||||
license = licenses.bsd3; |
||||
maintainers = with maintainers; [ nickcao ]; |
||||
platforms = [ "x86_64-linux" ]; |
||||
}; |
||||
} |
@ -0,0 +1,14 @@ |
||||
diff --git a/editor/source-manager.vala b/editor/source-manager.vala
|
||||
index 27b2b17a..87f7ba86 100644
|
||||
--- a/editor/source-manager.vala
|
||||
+++ b/editor/source-manager.vala
|
||||
@@ -121,6 +121,9 @@ private class SourceManager : Object
|
||||
source = try_prepend_dir (source, Path.build_filename (system_data_dirs [i], "glib-2.0", "schemas"));
|
||||
string user_data_dir = GLib.Environment.get_user_data_dir ();
|
||||
source = try_prepend_dir (source, Path.build_filename (user_data_dir, "glib-2.0", "schemas"));
|
||||
+ string? nix_var_schema_dir = GLib.Environment.get_variable ("NIX_GSETTINGS_OVERRIDES_DIR");
|
||||
+ if (nix_var_schema_dir != null)
|
||||
+ source = try_prepend_dir (source, (!) nix_var_schema_dir);
|
||||
string? var_schema_dir = GLib.Environment.get_variable ("GSETTINGS_SCHEMA_DIR");
|
||||
if (var_schema_dir != null)
|
||||
source = try_prepend_dir (source, (!) var_schema_dir);
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,39 @@ |
||||
{ lib, stdenv, cosmopolitan, unzip, bintools-unwrapped }: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
pname = "python-cosmopolitan"; |
||||
version = "3.6.14"; |
||||
|
||||
src = cosmopolitan.dist; |
||||
|
||||
patches = [ |
||||
./ioctl.patch # required /dev/tty |
||||
]; |
||||
|
||||
nativeBuildInputs = [ bintools-unwrapped unzip ]; |
||||
|
||||
# slashes are significant because upstream uses o/$(MODE)/foo.o |
||||
buildFlags = "o//third_party/python"; |
||||
checkTarget = "o//third_party/python/test"; |
||||
enableParallelBuilding = true; |
||||
|
||||
doCheck = true; |
||||
dontConfigure = true; |
||||
dontFixup = true; |
||||
|
||||
installPhase = '' |
||||
runHook preInstall |
||||
install o/third_party/python/*.com -Dt $out/bin |
||||
runHook postInstall |
||||
''; |
||||
|
||||
meta = with lib; { |
||||
homepage = "https://justine.lol/cosmopolitan/"; |
||||
description = "Actually Portable Python using Cosmopolitan"; |
||||
platforms = platforms.x86_64; |
||||
badPlatforms = platforms.darwin; |
||||
license = licenses.isc; |
||||
maintainers = teams.cosmopolitan.members; |
||||
mainProgram = "python.com"; |
||||
}; |
||||
} |
@ -0,0 +1,40 @@ |
||||
{ stdenv, lib, cosmopolitan }: |
||||
|
||||
stdenv.mkDerivation { |
||||
pname = "cosmoc"; |
||||
inherit (cosmopolitan) version; |
||||
|
||||
doInstallCheck = true; |
||||
dontUnpack = true; |
||||
dontBuild = true; |
||||
|
||||
installPhase = '' |
||||
runHook preInstall |
||||
mkdir -p $out/bin |
||||
cat <<EOF >$out/bin/cosmoc |
||||
#!${stdenv.shell} |
||||
exec ${stdenv.cc}/bin/${stdenv.cc.targetPrefix}gcc \ |
||||
-O -static -nostdlib -nostdinc -fno-pie -no-pie -mno-red-zone \ |
||||
"\$@" \ |
||||
-Wl,--gc-sections -Wl,-z,max-page-size=0x1000 \ |
||||
-fuse-ld=bfd -Wl,-T,${cosmopolitan}/lib/ape.lds \ |
||||
-include ${cosmopolitan}/include/cosmopolitan.h \ |
||||
${cosmopolitan}/lib/{crt.o,ape.o,cosmopolitan.a} |
||||
EOF |
||||
chmod +x $out/bin/cosmoc |
||||
runHook postInstall |
||||
''; |
||||
|
||||
installCheckPhase = '' |
||||
printf 'main() { printf("hello world\\n"); }\n' >hello.c |
||||
$out/bin/cosmoc hello.c |
||||
./a.out |
||||
''; |
||||
|
||||
meta = with lib; { |
||||
homepage = "https://justine.lol/cosmopolitan/"; |
||||
description = "compiler for Cosmopolitan C programs"; |
||||
license = licenses.mit; |
||||
maintainers = teams.cosmopolitan.members; |
||||
}; |
||||
} |
@ -0,0 +1,49 @@ |
||||
{ stdenvNoCC |
||||
, fetchurl |
||||
, unzip |
||||
, pname |
||||
, version |
||||
, meta |
||||
}: |
||||
|
||||
let |
||||
appName = "Postman.app"; |
||||
dist = { |
||||
aarch64-darwin = { |
||||
arch = "arm64"; |
||||
sha256 = "sha256-EtTf17LS18zC3JMbSoyZGGHuIcwGN3Q15XOhVqeh7C4="; |
||||
}; |
||||
|
||||
x86_64-darwin = { |
||||
arch = "64"; |
||||
sha256 = "sha256-kTgbqGPgOn5dyjL/IMl3hg2+VUfB+jpPJsqXof8UL+c="; |
||||
}; |
||||
}.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}"); |
||||
|
||||
in |
||||
|
||||
stdenvNoCC.mkDerivation { |
||||
inherit pname version meta; |
||||
|
||||
src = fetchurl { |
||||
url = "https://dl.pstmn.io/download/version/${version}/osx_${dist.arch}"; |
||||
inherit (dist) sha256; |
||||
name = "${pname}-${version}.zip"; |
||||
}; |
||||
|
||||
nativeBuildInputs = [ unzip ]; |
||||
|
||||
sourceRoot = appName; |
||||
|
||||
installPhase = '' |
||||
runHook preInstall |
||||
mkdir -p $out/{Applications/${appName},bin} |
||||
cp -R . $out/Applications/${appName} |
||||
cat > $out/bin/${pname} << EOF |
||||
#!${stdenvNoCC.shell} |
||||
open -na $out/Applications/${appName} --args "$@" |
||||
EOF |
||||
chmod +x $out/bin/${pname} |
||||
runHook postInstall |
||||
''; |
||||
} |
@ -1,107 +1,18 @@ |
||||
{ lib, stdenv, fetchurl, makeDesktopItem, wrapGAppsHook |
||||
, atk, at-spi2-atk, at-spi2-core, alsa-lib, cairo, cups, dbus, expat, gdk-pixbuf, glib, gtk3 |
||||
, freetype, fontconfig, nss, nspr, pango, udev, libuuid, libX11, libxcb, libXi |
||||
, libXcursor, libXdamage, libXrandr, libXcomposite, libXext, libXfixes |
||||
, libXrender, libXtst, libXScrnSaver, libxkbcommon, libdrm, mesa, xorg |
||||
}: |
||||
{ stdenvNoCC, callPackage, lib }: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
let |
||||
pname = "postman"; |
||||
version = "9.14.0"; |
||||
|
||||
src = fetchurl { |
||||
url = "https://dl.pstmn.io/download/version/${version}/linux64"; |
||||
sha256 = "sha256-pA3gT4xoIWhajY03JzVgHK5KyTx1uH6gyasuLTdt6cM="; |
||||
name = "${pname}.tar.gz"; |
||||
}; |
||||
|
||||
dontBuild = true; # nothing to build |
||||
dontConfigure = true; |
||||
|
||||
desktopItem = makeDesktopItem { |
||||
name = "postman"; |
||||
exec = "postman"; |
||||
icon = "postman"; |
||||
comment = "API Development Environment"; |
||||
desktopName = "Postman"; |
||||
genericName = "Postman"; |
||||
categories = [ "Development" ]; |
||||
}; |
||||
|
||||
buildInputs = [ |
||||
stdenv.cc.cc.lib |
||||
atk |
||||
at-spi2-atk |
||||
at-spi2-core |
||||
alsa-lib |
||||
cairo |
||||
cups |
||||
dbus |
||||
expat |
||||
gdk-pixbuf |
||||
glib |
||||
gtk3 |
||||
freetype |
||||
fontconfig |
||||
mesa |
||||
nss |
||||
nspr |
||||
pango |
||||
udev |
||||
libdrm |
||||
libuuid |
||||
libX11 |
||||
libxcb |
||||
libXi |
||||
libXcursor |
||||
libXdamage |
||||
libXrandr |
||||
libXcomposite |
||||
libXext |
||||
libXfixes |
||||
libXrender |
||||
libXtst |
||||
libXScrnSaver |
||||
libxkbcommon |
||||
xorg.libxshmfence |
||||
]; |
||||
|
||||
nativeBuildInputs = [ wrapGAppsHook ]; |
||||
|
||||
|
||||
installPhase = '' |
||||
mkdir -p $out/share/postman |
||||
cp -R app/* $out/share/postman |
||||
rm $out/share/postman/Postman |
||||
|
||||
mkdir -p $out/bin |
||||
ln -s $out/share/postman/postman $out/bin/postman |
||||
|
||||
mkdir -p $out/share/applications |
||||
ln -s ${desktopItem}/share/applications/* $out/share/applications/ |
||||
|
||||
iconRootDir=$out/share/icons |
||||
iconSizeDir=$out/share/icons/hicolor/128x128/apps |
||||
mkdir -p $iconSizeDir |
||||
ln -s $out/share/postman/resources/app/assets/icon.png $iconRootDir/postman.png |
||||
ln -s $out/share/postman/resources/app/assets/icon.png $iconSizeDir/postman.png |
||||
''; |
||||
|
||||
postFixup = '' |
||||
pushd $out/share/postman |
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" postman |
||||
for file in $(find . -type f \( -name \*.node -o -name postman -o -name \*.so\* \) ); do |
||||
ORIGIN=$(patchelf --print-rpath $file); \ |
||||
patchelf --set-rpath "${lib.makeLibraryPath buildInputs}:$ORIGIN" $file |
||||
done |
||||
popd |
||||
''; |
||||
|
||||
meta = with lib; { |
||||
homepage = "https://www.getpostman.com"; |
||||
description = "API Development Environment"; |
||||
license = licenses.postman; |
||||
platforms = [ "x86_64-linux" ]; |
||||
maintainers = with maintainers; [ johnrichardrinehart evanjs ]; |
||||
platforms = [ "x86_64-linux" "aarch64-darwin" "x86_64-darwin" ]; |
||||
maintainers = with maintainers; [ johnrichardrinehart evanjs tricktron ]; |
||||
}; |
||||
} |
||||
|
||||
in |
||||
|
||||
if stdenvNoCC.isDarwin |
||||
then callPackage ./darwin.nix { inherit pname version meta; } |
||||
else callPackage ./linux.nix { inherit pname version meta; } |
||||
|
@ -0,0 +1,133 @@ |
||||
{ lib |
||||
, stdenv |
||||
, fetchurl |
||||
, makeDesktopItem |
||||
, wrapGAppsHook |
||||
, atk |
||||
, at-spi2-atk |
||||
, at-spi2-core |
||||
, alsa-lib |
||||
, cairo |
||||
, cups |
||||
, dbus |
||||
, expat |
||||
, gdk-pixbuf |
||||
, glib |
||||
, gtk3 |
||||
, freetype |
||||
, fontconfig |
||||
, nss |
||||
, nspr |
||||
, pango |
||||
, udev |
||||
, libuuid |
||||
, libX11 |
||||
, libxcb |
||||
, libXi |
||||
, libXcursor |
||||
, libXdamage |
||||
, libXrandr |
||||
, libXcomposite |
||||
, libXext |
||||
, libXfixes |
||||
, libXrender |
||||
, libXtst |
||||
, libXScrnSaver |
||||
, libxkbcommon |
||||
, libdrm |
||||
, mesa |
||||
, xorg |
||||
, pname |
||||
, version |
||||
, meta |
||||
, copyDesktopItems |
||||
}: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
inherit pname version meta; |
||||
|
||||
src = fetchurl { |
||||
url = "https://dl.pstmn.io/download/version/${version}/linux64"; |
||||
sha256 = "sha256-pA3gT4xoIWhajY03JzVgHK5KyTx1uH6gyasuLTdt6cM="; |
||||
name = "${pname}.tar.gz"; |
||||
}; |
||||
|
||||
dontConfigure = true; |
||||
|
||||
desktopItems = [ |
||||
(makeDesktopItem { |
||||
name = "postman"; |
||||
exec = "postman"; |
||||
icon = "postman"; |
||||
comment = "API Development Environment"; |
||||
desktopName = "Postman"; |
||||
genericName = "Postman"; |
||||
categories = [ "Development" ]; |
||||
}) |
||||
]; |
||||
|
||||
buildInputs = [ |
||||
stdenv.cc.cc.lib |
||||
atk |
||||
at-spi2-atk |
||||
at-spi2-core |
||||
alsa-lib |
||||
cairo |
||||
cups |
||||
dbus |
||||
expat |
||||
gdk-pixbuf |
||||
glib |
||||
gtk3 |
||||
freetype |
||||
fontconfig |
||||
mesa |
||||
nss |
||||
nspr |
||||
pango |
||||
udev |
||||
libdrm |
||||
libuuid |
||||
libX11 |
||||
libxcb |
||||
libXi |
||||
libXcursor |
||||
libXdamage |
||||
libXrandr |
||||
libXcomposite |
||||
libXext |
||||
libXfixes |
||||
libXrender |
||||
libXtst |
||||
libXScrnSaver |
||||
libxkbcommon |
||||
xorg.libxshmfence |
||||
]; |
||||
|
||||
nativeBuildInputs = [ wrapGAppsHook copyDesktopItems ]; |
||||
|
||||
installPhase = '' |
||||
runHook preInstall |
||||
mkdir -p $out/share/postman |
||||
cp -R app/* $out/share/postman |
||||
rm $out/share/postman/Postman |
||||
|
||||
mkdir -p $out/bin |
||||
ln -s $out/share/postman/postman $out/bin/postman |
||||
|
||||
mkdir -p $out/share/icons/hicolor/128x128/apps |
||||
ln -s $out/share/postman/resources/app/assets/icon.png $out/share/icons/postman.png |
||||
ln -s $out/share/postman/resources/app/assets/icon.png $out/share/icons/hicolor/128x128/apps/postman.png |
||||
runHook postInstall |
||||
''; |
||||
|
||||
postFixup = '' |
||||
pushd $out/share/postman |
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" postman |
||||
for file in $(find . -type f \( -name \*.node -o -name postman -o -name \*.so\* \) ); do |
||||
ORIGIN=$(patchelf --print-rpath $file); \ |
||||
patchelf --set-rpath "${lib.makeLibraryPath buildInputs}:$ORIGIN" $file |
||||
done |
||||
popd |
||||
''; |
||||
} |
@ -0,0 +1,28 @@ |
||||
{ lib, buildGoModule, fetchFromGitHub }: |
||||
|
||||
buildGoModule rec { |
||||
pname = "ntfy-sh"; |
||||
version = "1.18.1"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "binwiederhier"; |
||||
repo = "ntfy"; |
||||
rev = "v${version}"; |
||||
sha256 = "sha256-rXdkNJYpQ8s2BeFRR4fSIuCrdq60me4B3wee64ei8qM="; |
||||
}; |
||||
|
||||
vendorSha256 = "sha256-7b3cQczQLUZ//5ubKvq8s9U75qJpJaieLN+kzjXIyHg="; |
||||
|
||||
doCheck = false; |
||||
|
||||
preBuild = '' |
||||
make server-deps-static-sites |
||||
''; |
||||
|
||||
meta = with lib; { |
||||
description = "Send push notifications to your phone or desktop via PUT/POST"; |
||||
homepage = "https://ntfy.sh"; |
||||
license = licenses.asl20; |
||||
maintainers = with maintainers; [ arjan-s ]; |
||||
}; |
||||
} |
@ -0,0 +1,7 @@ |
||||
source 'https://rubygems.org' |
||||
|
||||
gem 'winrm' |
||||
gem 'winrm-fs' |
||||
gem 'stringio' |
||||
gem 'logger' |
||||
gem 'fileutils' |
@ -0,0 +1,51 @@ |
||||
GEM |
||||
remote: https://rubygems.org/ |
||||
specs: |
||||
builder (3.2.3) |
||||
erubis (2.7.0) |
||||
ffi (1.11.1) |
||||
fileutils (0.7.2) |
||||
gssapi (1.3.0) |
||||
ffi (>= 1.0.1) |
||||
gyoku (1.3.1) |
||||
builder (>= 2.1.2) |
||||
httpclient (2.8.3) |
||||
little-plugger (1.1.4) |
||||
logger (1.4.3) |
||||
logging (2.2.2) |
||||
little-plugger (~> 1.1) |
||||
multi_json (~> 1.10) |
||||
multi_json (1.14.1) |
||||
nori (2.6.0) |
||||
rexml (3.2.5) |
||||
rubyntlm (0.6.2) |
||||
rubyzip (1.3.0) |
||||
stringio (0.0.2) |
||||
winrm (2.3.2) |
||||
builder (>= 2.1.2) |
||||
erubis (~> 2.7) |
||||
gssapi (~> 1.2) |
||||
gyoku (~> 1.0) |
||||
httpclient (~> 2.2, >= 2.2.0.2) |
||||
logging (>= 1.6.1, < 3.0) |
||||
nori (~> 2.0) |
||||
rexml (>= 3.2.3.1) |
||||
rubyntlm (~> 0.6.0, >= 0.6.1) |
||||
winrm-fs (1.3.2) |
||||
erubis (~> 2.7) |
||||
logging (>= 1.6.1, < 3.0) |
||||
rubyzip (~> 1.1) |
||||
winrm (~> 2.0) |
||||
|
||||
PLATFORMS |
||||
ruby |
||||
|
||||
DEPENDENCIES |
||||
fileutils |
||||
logger |
||||
stringio |
||||
winrm |
||||
winrm-fs |
||||
|
||||
BUNDLED WITH |
||||
2.2.24 |
@ -0,0 +1,36 @@ |
||||
{ stdenv, lib, fetchFromGitHub, makeWrapper, bundlerEnv }: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
pname = "evil-winrm"; |
||||
version = "3.3"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "Hackplayers"; |
||||
repo = "evil-winrm"; |
||||
rev = "v${version}"; |
||||
sha256 = "sha256-uWhRkq7I/XRWSUpR8lWRhDImE6x0pX9/B3gKhRIhkf8="; |
||||
}; |
||||
|
||||
env = bundlerEnv { |
||||
name = pname; |
||||
gemfile = ./Gemfile; |
||||
lockfile = ./Gemfile.lock; |
||||
gemset = ./gemset.nix; |
||||
}; |
||||
|
||||
nativeBuildInputs = [ makeWrapper ]; |
||||
buildInputs = [ env.wrappedRuby ]; |
||||
|
||||
installPhase = '' |
||||
mkdir -p $out/bin |
||||
cp evil-winrm.rb $out/bin/evil-winrm |
||||
''; |
||||
|
||||
meta = with lib; { |
||||
homepage = "https://github.com/Hackplayers/evil-winrm"; |
||||
changelog = "https://github.com/Hackplayers/evil-winrm/releases/tag/v${version}"; |
||||
description = "WinRM shell for hacking/pentesting"; |
||||
license = licenses.lgpl3Plus; |
||||
maintainers = with maintainers; [ elohmeier ]; |
||||
}; |
||||
} |
@ -0,0 +1,187 @@ |
||||
{ |
||||
builder = { |
||||
groups = ["default"]; |
||||
platforms = []; |
||||
source = { |
||||
remotes = ["https://rubygems.org"]; |
||||
sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1"; |
||||
type = "gem"; |
||||
}; |
||||
version = "3.2.3"; |
||||
}; |
||||
erubis = { |
||||
groups = ["default"]; |
||||
platforms = []; |
||||
source = { |
||||
remotes = ["https://rubygems.org"]; |
||||
sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3"; |
||||
type = "gem"; |
||||
}; |
||||
version = "2.7.0"; |
||||
}; |
||||
ffi = { |
||||
groups = ["default"]; |
||||
platforms = []; |
||||
source = { |
||||
remotes = ["https://rubygems.org"]; |
||||
sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh"; |
||||
type = "gem"; |
||||
}; |
||||
version = "1.11.1"; |
||||
}; |
||||
fileutils = { |
||||
groups = ["default"]; |
||||
platforms = []; |
||||
source = { |
||||
remotes = ["https://rubygems.org"]; |
||||
sha256 = "173z4dsqp9khcsl7x93dq1qj9d7rd378a7yfg53b1s6mczlkvh2k"; |
||||
type = "gem"; |
||||
}; |
||||
version = "0.7.2"; |
||||
}; |
||||
gssapi = { |
||||
dependencies = ["ffi"]; |
||||
groups = ["default"]; |
||||
platforms = []; |
||||
source = { |
||||
remotes = ["https://rubygems.org"]; |
||||
sha256 = "13l6pqbfrx3vv7cw26nq9p8rnyp9br31gaz85q32wx6hnzfcriwh"; |
||||
type = "gem"; |
||||
}; |
||||
version = "1.3.0"; |
||||
}; |
||||
gyoku = { |
||||
dependencies = ["builder"]; |
||||
groups = ["default"]; |
||||
platforms = []; |
||||
source = { |
||||
remotes = ["https://rubygems.org"]; |
||||
sha256 = "1wn0sl14396g5lyvp8sjmcb1hw9rbyi89gxng91r7w4df4jwiidh"; |
||||
type = "gem"; |
||||
}; |
||||
version = "1.3.1"; |
||||
}; |
||||
httpclient = { |
||||
groups = ["default"]; |
||||
platforms = []; |
||||
source = { |
||||
remotes = ["https://rubygems.org"]; |
||||
sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; |
||||
type = "gem"; |
||||
}; |
||||
version = "2.8.3"; |
||||
}; |
||||
little-plugger = { |
||||
groups = ["default"]; |
||||
platforms = []; |
||||
source = { |
||||
remotes = ["https://rubygems.org"]; |
||||
sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym"; |
||||
type = "gem"; |
||||
}; |
||||
version = "1.1.4"; |
||||
}; |
||||
logger = { |
||||
groups = ["default"]; |
||||
platforms = []; |
||||
source = { |
||||
remotes = ["https://rubygems.org"]; |
||||
sha256 = "1ihvvl2im9qii31d42c9kfscdg2flfqajs6ycbpslznclmfc71gc"; |
||||
type = "gem"; |
||||
}; |
||||
version = "1.4.3"; |
||||
}; |
||||
logging = { |
||||
dependencies = ["little-plugger" "multi_json"]; |
||||
groups = ["default"]; |
||||
platforms = []; |
||||
source = { |
||||
remotes = ["https://rubygems.org"]; |
||||
sha256 = "06j6iaj89h9jhkx1x3hlswqrfnqds8br05xb1qra69dpvbdmjcwn"; |
||||
type = "gem"; |
||||
}; |
||||
version = "2.2.2"; |
||||
}; |
||||
multi_json = { |
||||
groups = ["default"]; |
||||
platforms = []; |
||||
source = { |
||||
remotes = ["https://rubygems.org"]; |
||||
sha256 = "0xy54mjf7xg41l8qrg1bqri75agdqmxap9z466fjismc1rn2jwfr"; |
||||
type = "gem"; |
||||
}; |
||||
version = "1.14.1"; |
||||
}; |
||||
nori = { |
||||
groups = ["default"]; |
||||
platforms = []; |
||||
source = { |
||||
remotes = ["https://rubygems.org"]; |
||||
sha256 = "066wc774a2zp4vrq3k7k8p0fhv30ymqmxma1jj7yg5735zls8agn"; |
||||
type = "gem"; |
||||
}; |
||||
version = "2.6.0"; |
||||
}; |
||||
rexml = { |
||||
groups = ["default"]; |
||||
platforms = []; |
||||
source = { |
||||
remotes = ["https://rubygems.org"]; |
||||
sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53"; |
||||
type = "gem"; |
||||
}; |
||||
version = "3.2.5"; |
||||
}; |
||||
rubyntlm = { |
||||
groups = ["default"]; |
||||
platforms = []; |
||||
source = { |
||||
remotes = ["https://rubygems.org"]; |
||||
sha256 = "1p6bxsklkbcqni4bcq6jajc2n57g0w5rzn4r49c3lb04wz5xg0dy"; |
||||
type = "gem"; |
||||
}; |
||||
version = "0.6.2"; |
||||
}; |
||||
rubyzip = { |
||||
groups = ["default"]; |
||||
platforms = []; |
||||
source = { |
||||
remotes = ["https://rubygems.org"]; |
||||
sha256 = "1qxc2zxwwipm6kviiar4gfhcakpx1jdcs89v6lvzivn5hq1xk78l"; |
||||
type = "gem"; |
||||
}; |
||||
version = "1.3.0"; |
||||
}; |
||||
stringio = { |
||||
groups = ["default"]; |
||||
platforms = []; |
||||
source = { |
||||
remotes = ["https://rubygems.org"]; |
||||
sha256 = "1hj8awh547kf6a7vgs565xh8hicffd0brb2a96jna5lr3a2fvmj8"; |
||||
type = "gem"; |
||||
}; |
||||
version = "0.0.2"; |
||||
}; |
||||
winrm = { |
||||
dependencies = ["builder" "erubis" "gssapi" "gyoku" "httpclient" "logging" "nori" "rexml" "rubyntlm"]; |
||||
groups = ["default"]; |
||||
platforms = []; |
||||
source = { |
||||
remotes = ["https://rubygems.org"]; |
||||
sha256 = "19vxrclxc5l8n2agwvv291740s6gna2phg3lkybjb0ldkmpi3sj2"; |
||||
type = "gem"; |
||||
}; |
||||
version = "2.3.2"; |
||||
}; |
||||
winrm-fs = { |
||||
dependencies = ["erubis" "logging" "rubyzip" "winrm"]; |
||||
groups = ["default"]; |
||||
platforms = []; |
||||
source = { |
||||
remotes = ["https://rubygems.org"]; |
||||
sha256 = "0fy4yj52kssrm5hchq7l2mbry6w6yvi736p1wjpyv8m19rx7k0c3"; |
||||
type = "gem"; |
||||
}; |
||||
version = "1.3.2"; |
||||
}; |
||||
} |
Loading…
Reference in new issue