···66 cfg = config.services.trickster;
77in
88{
99+ imports = [
1010+ (mkRenamedOptionModule [ "services" "trickster" "origin" ] [ "services" "trickster" "origin-url" ])
1111+ ];
9121013 options = {
1114 services.trickster = {
···5861 '';
5962 };
60636161- origin = mkOption {
6464+ origin-type = mkOption {
6565+ type = types.enum [ "prometheus" "influxdb" ];
6666+ default = "prometheus";
6767+ description = ''
6868+ Type of origin (prometheus, influxdb)
6969+ '';
7070+ };
7171+7272+ origin-url = mkOption {
6273 type = types.str;
6374 default = "http://prometheus:9090";
6475 description = ''
6565- URL to the Prometheus Origin. Enter it like you would in grafana, e.g., http://prometheus:9090 (default http://prometheus:9090).
7676+ URL to the Origin. Enter it like you would in grafana, e.g., http://prometheus:9090 (default http://prometheus:9090).
6677 '';
6778 };
6879···87988899 config = mkIf cfg.enable {
89100 systemd.services.trickster = {
9090- description = "Dashboard Accelerator for Prometheus";
101101+ description = "Reverse proxy cache and time series dashboard accelerator";
91102 after = [ "network.target" ];
92103 wantedBy = [ "multi-user.target" ];
93104 serviceConfig = {
···96107 ${cfg.package}/bin/trickster \
97108 -log-level ${cfg.log-level} \
98109 -metrics-port ${toString cfg.metrics-port} \
9999- -origin ${cfg.origin} \
110110+ -origin-type ${cfg.origin-type} \
111111+ -origin-url ${cfg.origin-url} \
100112 -proxy-port ${toString cfg.proxy-port} \
101113 ${optionalString (cfg.configFile != null) "-config ${cfg.configFile}"} \
102114 ${optionalString (cfg.profiler-port != null) "-profiler-port ${cfg.profiler-port}"} \
+5-10
nixos/tests/systemd-networkd-vrf.nix
···159159 node2.wait_for_unit("network.target")
160160 node3.wait_for_unit("network.target")
161161162162- # NOTE: please keep in mind that the trailing whitespaces in the following strings
163163- # are intentional as the output is compared against the raw `iproute2`-output.
164164- # editorconfig-checker-disable
165162 client_ipv4_table = """
166166- 192.168.1.2 dev vrf1 proto static metric 100
163163+ 192.168.1.2 dev vrf1 proto static metric 100\x20
167164 192.168.2.3 dev vrf2 proto static metric 100
168165 """.strip()
169166 vrf1_table = """
170170- broadcast 192.168.1.0 dev eth1 proto kernel scope link src 192.168.1.1
171171- 192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.1
172172- local 192.168.1.1 dev eth1 proto kernel scope host src 192.168.1.1
167167+ 192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.1\x20
168168+ local 192.168.1.1 dev eth1 proto kernel scope host src 192.168.1.1\x20
173169 broadcast 192.168.1.255 dev eth1 proto kernel scope link src 192.168.1.1
174170 """.strip()
175171 vrf2_table = """
176176- broadcast 192.168.2.0 dev eth2 proto kernel scope link src 192.168.2.1
177177- 192.168.2.0/24 dev eth2 proto kernel scope link src 192.168.2.1
178178- local 192.168.2.1 dev eth2 proto kernel scope host src 192.168.2.1
172172+ 192.168.2.0/24 dev eth2 proto kernel scope link src 192.168.2.1\x20
173173+ local 192.168.2.1 dev eth2 proto kernel scope host src 192.168.2.1\x20
179174 broadcast 192.168.2.255 dev eth2 proto kernel scope link src 192.168.2.1
180175 """.strip()
181176 # editorconfig-checker-enable
+1
pkgs/applications/audio/baudline/default.nix
···6363 # See http://www.baudline.com/faq.html#licensing_terms.
6464 # (Do NOT (re)distribute on hydra.)
6565 license = licenses.unfree;
6666+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
6667 platforms = [ "x86_64-linux" "i686-linux" ];
6768 maintainers = [ maintainers.bjornfor ];
6869 };
···8080 + supported sound systems: ASIO, DirectSound, MME, ALSA, OSS, JACK, Audiobus, IAA.
8181 '';
8282 homepage = "https://warmplace.ru/soft/ans/";
8383+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
8384 license = licenses.free;
8485 # I cannot test the Darwin version, so I'll leave it disabled
8586 platforms = [ "x86_64-linux" "i686-linux" ];
+1
pkgs/applications/blockchains/exodus/default.nix
···7676 meta = with lib; {
7777 homepage = "https://www.exodus.io/";
7878 description = "Top-rated cryptocurrency wallet with Trezor integration and built-in Exchange";
7979+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
7980 license = licenses.unfree;
8081 platforms = platforms.linux;
8182 maintainers = with maintainers; [ mmahut rople380 ];
+4
pkgs/applications/blockchains/sparrow/default.nix
···225225 meta = with lib; {
226226 description = "A modern desktop Bitcoin wallet application supporting most hardware wallets and built on common standards such as PSBT, with an emphasis on transparency and usability.";
227227 homepage = "https://sparrowwallet.com";
228228+ sourceProvenance = with sourceTypes; [
229229+ binaryBytecode
230230+ binaryNativeCode
231231+ ];
228232 license = licenses.asl20;
229233 maintainers = with maintainers; [ emmanuelrosa _1000101 ];
230234 platforms = [ "x86_64-linux" ];
···191191 inherit version;
192192 homepage = "https://www.winehq.org/";
193193 license = with lib.licenses; [ lgpl21Plus ];
194194+ sourceProvenance = with lib.sourceTypes; [
195195+ fromSource
196196+ binaryNativeCode # mono, gecko
197197+ ];
194198 description = if supportFlags.waylandSupport then "An Open Source implementation of the Windows API on top of OpenGL and Unix (with experimental Wayland support)" else "An Open Source implementation of the Windows API on top of X, OpenGL, and Unix";
195199 platforms = if supportFlags.waylandSupport then (lib.remove "x86_64-darwin" prevPlatforms) else prevPlatforms;
196200 maintainers = with lib.maintainers; [ avnik raskin bendlas jmc-figueira ];
···4646 meta = with lib; {
4747 description = "For converting between different versions of .dwg and .dxf";
4848 homepage = "https://www.opendesign.com/guestfiles/oda_file_converter";
4949+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
4950 license = licenses.unfree;
5051 maintainers = with maintainers; [ nagisa ];
5152 platforms = [ "x86_64-linux" ];
+1
pkgs/applications/graphics/pencil/default.nix
···9999 meta = with lib; {
100100 description = "GUI prototyping/mockup tool";
101101 homepage = "https://pencil.evolus.vn/";
102102+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
102103 license = licenses.gpl2; # Commercial license is also available
103104 maintainers = with maintainers; [ bjornfor prikhi mrVanDalo ];
104105 platforms = platforms.linux;
+1
pkgs/applications/graphics/pixeluvo/default.nix
···4949 meta = with lib; {
5050 description = "A Beautifully Designed Image and Photo Editor for Windows and Linux";
5151 homepage = "http://www.pixeluvo.com/";
5252+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
5253 license = licenses.unfree;
5354 platforms = [ "x86_64-linux" ];
5455 maintainers = with maintainers; [ wolfangaukang ];
+1
pkgs/applications/graphics/pixinsight/default.nix
···124124 meta = with lib; {
125125 description = "Scientific image processing program for astrophotography";
126126 homepage = "https://pixinsight.com/";
127127+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
127128 license = licenses.unfree;
128129 platforms = [ "x86_64-linux" ];
129130 maintainers = [ maintainers.sheepforce ];
···7272 '';
73737474 meta = with lib; {
7575- sourceProvenance = with sourceTypes; [ binaryBytecode ];
7575+ sourceProvenance = with sourceTypes; [
7676+ binaryBytecode
7777+ binaryNativeCode
7878+ ];
7679 license = licenses.unfree;
7780 maintainers = with maintainers; [ vlaci ];
7881 platforms = [ "x86_64-linux" "i686-linux" ];
+1
pkgs/applications/misc/join-desktop/default.nix
···6464 meta = with lib; {
6565 homepage = "https://github.com/joaomgcd/JoinDesktop/";
6666 description = "Desktop app for Join";
6767+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
6768 # on https://joaoapps.com/join/desktop/ "Join Desktop is an open source app" but no license
6869 license = licenses.free;
6970 platforms = [ "x86_64-linux" ];
···122122 meta = {
123123 homepage = "https://getpolarized.io/";
124124 description = "Personal knowledge repository for PDF and web content supporting incremental reading and document annotation";
125125+ sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
125126 license = lib.licenses.gpl3Only;
126127 platforms = lib.platforms.linux;
127128 maintainers = [ lib.maintainers.noneucat ];
+1
pkgs/applications/misc/premid/default.nix
···8585 description = "A simple, configurable utility to show your web activity as playing status on Discord";
8686 homepage = "https://premid.app";
8787 downloadPage = "https://premid.app/downloads";
8888+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
8889 license = licenses.mpl20;
8990 maintainers = with maintainers; [ natto1784 ];
9091 platforms = [ "x86_64-linux" ];
+1
pkgs/applications/misc/rescuetime/default.nix
···5353 description = "Helps you understand your daily habits so you can focus and be more productive";
5454 homepage = "https://www.rescuetime.com";
5555 maintainers = with maintainers; [ cstrahan ];
5656+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
5657 license = licenses.unfree;
5758 platforms = [ "i686-linux" "x86_64-linux" ];
5859 };
···5959 introspective tooling, cluster navigation, and object management along
6060 with a plugin system to further extend its capabilities.
6161 '';
6262+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
6263 license = licenses.asl20;
6364 maintainers = with maintainers; [ jk ];
6465 platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
···127127 meta = with lib; {
128128 description = "Video, audio, and web conferencing that works together with the collaboration tools you use every day";
129129 homepage = "https://www.bluejeans.com";
130130+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
130131 license = licenses.unfree;
131132 maintainers = with maintainers; [ ];
132133 platforms = [ "x86_64-linux" ];
···9191 Mailspring is an open-source mail client forked from Nylas Mail and built with Electron.
9292 Mailspring's sync engine runs locally, but its source is not open.
9393 '';
9494+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
9495 license = licenses.gpl3Plus;
9596 maintainers = with maintainers; [ toschmidt doronbehar ];
9697 homepage = "https://getmailspring.com";
···3434 meta = with lib; {
3535 description = "Automatically sync files via secure, distributed technology";
3636 homepage = "https://www.resilio.com/";
3737+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
3738 license = licenses.unfreeRedistributable;
3839 platforms = platforms.linux;
3940 maintainers = with maintainers; [ domenkozar thoughtpolice cwoac ];
+1
pkgs/applications/networking/scaleft/default.nix
···3434 meta = with lib; {
3535 description = "ScaleFT provides Zero Trust software which you can use to secure your internal servers and services";
3636 homepage = "https://www.scaleft.com";
3737+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
3738 license = licenses.unfree;
3839 maintainers = with maintainers; [ jloyet ];
3940 platforms = [ "x86_64-linux" ];
···77 meta = with lib; {
88 description = "Desktop application to synchronize files and folders between the computer and the Synology Drive server.";
99 homepage = "https://www.synology.com/en-global/dsm/feature/drive";
1010+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
1011 license = licenses.unfree;
1112 maintainers = with maintainers; [ jcouyang MoritzBoehme ];
1213 platforms = [ "x86_64-linux" "x86_64-darwin" ];
+1
pkgs/applications/networking/termius/default.nix
···7575 description = "A cross-platform SSH client with cloud data sync and more";
7676 homepage = "https://termius.com/";
7777 downloadPage = "https://termius.com/linux/";
7878+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
7879 license = licenses.unfree;
7980 maintainers = with maintainers; [ Br1ght0ne th0rgal ];
8081 platforms = [ "x86_64-linux" ];
+1
pkgs/applications/networking/tetrd/default.nix
···7878 meta = with lib; {
7979 description = "Share your internet connection from your device to your PC and vice versa through a USB cable";
8080 homepage = "https://tetrd.app";
8181+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
8182 license = licenses.unfree;
8283 platforms = [ "x86_64-linux" ];
8384 maintainers = with maintainers; [ Madouura ];
+1
pkgs/applications/office/appflowy/default.nix
···6969 meta = with lib; {
7070 description = "An open-source alternative to Notion";
7171 homepage = "https://www.appflowy.io/";
7272+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
7273 license = licenses.agpl3Only;
7374 changelog = "https://github.com/AppFlowy-IO/appflowy/releases/tag/${version}";
7475 maintainers = with maintainers; [ darkonion0 ];
···4444 # Also, it is unclear what is covered by "verbatim" - we will edit configs
4545 hydraPlatforms = [];
4646 platforms = platforms.all;
4747+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
4748 license = licenses.unfreeRedistributable;
4849 };
4950}
···8686 You can then merge the changes, synchronize your files, and generate reports for your records.
8787 '';
8888 homepage = "https://www.scootersoftware.com";
8989+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
8990 license = licenses.unfree;
9091 maintainers = with maintainers; [ ktor arkivm ];
9192 platforms = builtins.attrNames srcs;
···7979 can always download the latest version from makemkv.com that will reset the
8080 expiration date.
8181 '';
8282+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
8283 license = licenses.unfree;
8384 homepage = "http://makemkv.com";
8485 platforms = [ "x86_64-linux" ];
···155155 This add-on provides support for dynamic resizing of the X Display, shared
156156 host/guest clipboard support and guest OpenGL support.
157157 '';
158158+ sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
158159 license = "GPL";
159160 maintainers = [ lib.maintainers.sander ];
160161 platforms = lib.platforms.linux;
···3737 checkInputs = [ alcotest ];
38383939 meta = {
4040+ # This has been broken by the update to R 4.2.0 (#171597)
4141+ broken = true;
4042 description = "OCaml bindings for the R interpreter";
4143 inherit (src.meta) homepage;
4244 license = lib.licenses.gpl3;
···10101111buildPythonApplication rec {
1212 pname = "expiringdict";
1313- version = "1.2.1";
1313+ version = "1.2.2";
14141515 # use fetchFromGitHub instead of fetchPypi because the test suite of
1616 # the package is not included into the PyPI tarball
···1818 owner = "mailgun";
1919 repo = pname;
2020 rev = "v${version}";
2121- sha256 = "07g1vxznmim78bankfl9brr01s31sksdcpwynq1yryh6xw9ri5xs";
2121+ sha256 = "sha256-vRhJSHIqc51I+s/wndtfANM44CKW3QS1iajqyoSBf0I=";
2222 };
23232424 checkInputs = [
···11-{ lib, stdenv
11+{ lib
22+, stdenv
23, fetchFromGitHub
33-, python3
44-, pkg-config
55-, audiofile
66-, SDL2
77-, hexdump
88-, requireFile
99-, compileFlags ? [ ]
1010-, region ? "us"
1111-, baseRom ? requireFile {
1212- name = "baserom.${region}.z64";
1313- message = ''
1414- This nix expression requires that baserom.${region}.z64 is
1515- already part of the store. To get this file you can dump your Super Mario 64 cartridge's contents
1616- and add it to the nix store with nix-store --add-fixed sha256 <FILE>.
1717- Note that if you are not using a US baserom, you must overwrite the "region" attribute with either "eu" or "jp".
1818- '';
1919- sha256 = {
2020- "us" = "17ce077343c6133f8c9f2d6d6d9a4ab62c8cd2aa57c40aea1f490b4c8bb21d91";
2121- "eu" = "c792e5ebcba34c8d98c0c44cf29747c8ee67e7b907fcc77887f9ff2523f80572";
2222- "jp" = "9cf7a80db321b07a8d461fe536c02c87b7412433953891cdec9191bfad2db317";
2323- }.${region};
2424- }
44+, callPackage
55+, autoPatchelfHook
66+, branch
257}:
2682727-stdenv.mkDerivation rec {
2828- pname = "sm64ex";
2929- version = "unstable-2021-11-30";
3030-3131- src = fetchFromGitHub {
3232- owner = "sm64pc";
3333- repo = "sm64ex";
3434- rev = "db9a6345baa5acb41f9d77c480510442cab26025";
3535- sha256 = "sha256-q7JWDvNeNrDpcKVtIGqB1k7I0FveYwrfqu7ZZK7T8F8=";
3636- };
3737-3838- nativeBuildInputs = [ python3 pkg-config ];
3939- buildInputs = [ audiofile SDL2 hexdump ];
99+{
1010+ sm64ex = callPackage ./generic.nix {
1111+ pname = "sm64ex";
1212+ version = "0.pre+date=2021-11-30";
40134141- makeFlags = [ "VERSION=${region}" ] ++ compileFlags
4242- ++ lib.optionals stdenv.isDarwin [ "OSX_BUILD=1" ];
1414+ src = fetchFromGitHub {
1515+ owner = "sm64pc";
1616+ repo = "sm64ex";
1717+ rev = "db9a6345baa5acb41f9d77c480510442cab26025";
1818+ sha256 = "sha256-q7JWDvNeNrDpcKVtIGqB1k7I0FveYwrfqu7ZZK7T8F8=";
1919+ };
43204444- inherit baseRom;
2121+ extraMeta = {
2222+ homepage = "https://github.com/sm64pc/sm64ex";
2323+ description = "Super Mario 64 port based off of decompilation";
2424+ };
2525+ };
45264646- preBuild = ''
4747- patchShebangs extract_assets.py
4848- cp $baseRom ./baserom.${region}.z64
4949- '';
2727+ sm64ex-coop = callPackage ./generic.nix {
2828+ pname = "sm64ex-coop";
2929+ version = "0.pre+date=2022-05-14";
50305151- installPhase = ''
5252- mkdir -p $out/bin
5353- cp build/${region}_pc/sm64.${region}.f3dex2e $out/bin/sm64ex
5454- '';
3131+ src = fetchFromGitHub {
3232+ owner = "djoslin0";
3333+ repo = "sm64ex-coop";
3434+ rev = "8200b175607fe2939f067d496627c202a15fe24c";
3535+ sha256 = "sha256-c1ZmMBtvYYcaJ/WxkZBVvNGVCeSXfm8NKe/BiAIJtks=";
3636+ };
55375656- enableParallelBuilding = true;
3838+ extraNativeBuildInputs = [
3939+ autoPatchelfHook
4040+ ];
57415858- meta = with lib; {
5959- homepage = "https://github.com/sm64pc/sm64ex";
6060- description = "Super Mario 64 port based off of decompilation";
6161- longDescription = ''
6262- Super Mario 64 port based off of decompilation.
6363- Note that you must supply a baserom yourself to extract assets from.
6464- If you are not using an US baserom, you must overwrite the "region" attribute with either "eu" or "jp".
6565- If you would like to use patches sm64ex distributes as makeflags, add them to the "compileFlags" attribute.
4242+ postInstall = let
4343+ sharedLib = stdenv.hostPlatform.extensions.sharedLibrary;
4444+ in ''
4545+ mkdir -p $out/lib
4646+ cp $src/lib/bass/libbass{,_fx}${sharedLib} $out/lib
4747+ cp $src/lib/discordsdk/libdiscord_game_sdk${sharedLib} $out/lib
6648 '';
6767- license = licenses.unfree;
6868- maintainers = with maintainers; [ ivar ];
6969- platforms = platforms.unix;
4949+5050+ extraMeta = {
5151+ homepage = "https://github.com/djoslin0/sm64ex-coop";
5252+ description = "Super Mario 64 online co-op mod, forked from sm64ex";
5353+ };
7054 };
7171-}
5555+}.${branch}
+83
pkgs/games/sm64ex/generic.nix
···11+{ pname
22+, version
33+, src
44+, extraNativeBuildInputs ? [ ]
55+, extraMeta ? {}
66+, compileFlags ? [ ]
77+, postInstall ? ""
88+, region ? "us"
99+1010+, lib
1111+, stdenv
1212+, fetchFromGitHub
1313+, python3
1414+, pkg-config
1515+, audiofile
1616+, SDL2
1717+, hexdump
1818+, requireFile
1919+, baseRom ? requireFile {
2020+ name = "baserom.${region}.z64";
2121+ message = ''
2222+ This nix expression requires that baserom.${region}.z64 is
2323+ already part of the store. To get this file you can dump your Super Mario 64 cartridge's contents
2424+ and add it to the nix store with nix-store --add-fixed sha256 <FILE>.
2525+ Note that if you are not using a US baserom, you must overwrite the "region" attribute with either "eu" or "jp".
2626+ '';
2727+ sha256 = {
2828+ "us" = "17ce077343c6133f8c9f2d6d6d9a4ab62c8cd2aa57c40aea1f490b4c8bb21d91";
2929+ "eu" = "c792e5ebcba34c8d98c0c44cf29747c8ee67e7b907fcc77887f9ff2523f80572";
3030+ "jp" = "9cf7a80db321b07a8d461fe536c02c87b7412433953891cdec9191bfad2db317";
3131+ }.${region};
3232+ }
3333+}:
3434+3535+stdenv.mkDerivation rec {
3636+ inherit pname version src postInstall;
3737+3838+ nativeBuildInputs = [
3939+ python3
4040+ pkg-config
4141+ hexdump
4242+ ] ++ extraNativeBuildInputs;
4343+4444+ buildInputs = [
4545+ audiofile
4646+ SDL2
4747+ ];
4848+4949+ enableParallelBuilding = true;
5050+5151+ makeFlags = [
5252+ "VERSION=${region}"
5353+ ] ++ lib.optionals stdenv.isDarwin [
5454+ "OSX_BUILD=1"
5555+ ] ++ compileFlags;
5656+5757+ preBuild = ''
5858+ patchShebangs extract_assets.py
5959+ ln -s ${baseRom} ./baserom.${region}.z64
6060+ '';
6161+6262+ installPhase = ''
6363+ runHook preInstall
6464+6565+ mkdir -p $out/bin
6666+ cp build/${region}_pc/sm64.${region}.f3dex2e $out/bin/sm64ex
6767+6868+ runHook postInstall
6969+ '';
7070+7171+ meta = with lib; {
7272+ longDescription =
7373+ extraMeta.description or "Super Mario 64 port based off of decompilation" + "\n" + ''
7474+ Note that you must supply a baserom yourself to extract assets from.
7575+ If you are not using an US baserom, you must overwrite the "region" attribute with either "eu" or "jp".
7676+ If you would like to use patches sm64ex distributes as makeflags, add them to the "compileFlags" attribute.
7777+ '';
7878+ mainProgram = "sm64ex";
7979+ license = licenses.unfree;
8080+ maintainers = with maintainers; [ ivar ];
8181+ platforms = platforms.unix;
8282+ } // extraMeta;
8383+}
···4949 ;;
5050 switch|boot|test|build|edit|dry-build|dry-run|dry-activate|build-vm|build-vm-with-bootloader)
5151 if [ "$i" = dry-run ]; then i=dry-build; fi
5252+ # exactly one action mandatory, bail out if multiple are given
5353+ if [ -n "$action" ]; then showSyntax; fi
5254 action="$i"
5355 ;;
5456 --install-grub)
+25-15
pkgs/servers/cayley/default.nix
···11-{ lib, buildGoPackage, fetchFromGitHub }:
11+{ lib
22+, buildGoModule
33+, fetchFromGitHub
44+}:
2533-buildGoPackage rec {
66+buildGoModule rec {
47 pname = "cayley";
55- version = "0.7.5";
66-77- goPackagePath = "github.com/cayleygraph/cayley";
88+ version = "0.7.7";
99+ rev = "dcf764fef381f19ee49fad186b4e00024709f148";
810911 src = fetchFromGitHub {
1012 owner = "cayleygraph";
1113 repo = "cayley";
1214 rev = "v${version}";
1313- sha256 = "1zfxa9z6spi6xw028mvbc7c3g517gn82g77ywr6picl47fr2blnd";
1515+ sha256 = "sha256-jIX0v6ujiQvEAb/mKkrpNgsY0YLkJYHy2sUfQnooE48=";
1416 };
15171616- goDeps = ./deps.nix;
1818+ vendorSha256 = "sha256-SSjHGJoW3I7r8emh3IwmiZQIVzdilAsA2ULdAqld2fA=";
1919+2020+ subPackages = [ "cmd/cayley" ];
17211818- ldflags = [
1919- "-X=main.Version=${version}"
2222+ ldflags = let basename = "github.com/cayleygraph/cayley/version"; in [
2323+ "-s"
2424+ "-w"
2525+ "-X ${basename}.Version=${src.rev}"
2626+ "-X ${basename}.GitHash=${rev}"
2027 ];
21282222- meta = {
2323- homepage = "https://github.com/cayleygraph/cayley";
2424- description = "A graph database inspired by Freebase and Knowledge Graph";
2525- maintainers = with lib.maintainers; [ sigma ];
2626- license = lib.licenses.asl20;
2727- platforms = lib.platforms.unix;
2929+ meta = with lib; {
3030+ description = "Graph database designed for ease of use and storing complex data";
3131+ longDescription = ''
3232+ Cayley is an open-source database for Linked Data. It is inspired by the
3333+ graph database behind Google's Knowledge Graph (formerly Freebase).
3434+ '';
3535+ homepage = "https://cayley.io/";
3636+ license = licenses.asl20;
3737+ maintainers = with maintainers; [ sigma ];
2838 };
2939}
···111111, # Target is not included by default because most programs don't care.
112112 # Including it then would cause needless mass rebuilds.
113113 #
114114- # TODO(@Ericson2314): Make [ "build" "host" ] always the default.
114114+ # TODO(@Ericson2314): Make [ "build" "host" ] always the default / resolve #87909
115115 configurePlatforms ? lib.optionals
116116- (stdenv.hostPlatform != stdenv.buildPlatform)
116116+ (stdenv.hostPlatform != stdenv.buildPlatform || config.configurePlatformsByDefault)
117117 [ "build" "host" ]
118118119119# TODO(@Ericson2314): Make unconditional / resolve #33599
+37-16
pkgs/tools/admin/boulder/default.nix
···11-{ buildGoPackage
22-, libtool
11+{ lib
22+, buildGoModule
33, fetchFromGitHub
44-, lib
54}:
6577-buildGoPackage rec{
88-66+buildGoModule rec {
97 pname = "boulder";
1010- version = "release-2019-10-13";
1111-1212- goPackagePath = "github.com/letsencrypt/boulder";
1313-1414- buildInputs = [ libtool ];
88+ version = "release-2022-05-31";
99+ rev = "99dcb9a5b31be576a55e33184581c942421bc172";
15101611 src = fetchFromGitHub {
1712 owner = "letsencrypt";
1813 repo = "boulder";
1914 rev = version;
2020- sha256 = "0kis23dnjja6jp192rjpv2m9m2zmzfwhs93440nxg354k6fp8jdg";
1515+ sha256 = "sha256-x1Vf8agwVTgSkDVEdAnG3div+MzRsMi96jKJRc2s8Ks=";
2116 };
22172323- meta = {
1818+ vendorSha256 = null;
1919+2020+ subPackages = [ "cmd/boulder" ];
2121+2222+ ldflags = with lib;
2323+ mapAttrsToList (n: v: ''"-X github.com/letsencrypt/boulder/core.Build${n}=${v}"'') {
2424+ ID = substring 0 8 rev;
2525+ Host = "nixbld@localhost";
2626+ Time = "Thu 1 Jan 00:00:00 UTC 1970";
2727+ };
2828+2929+ postInstall = ''
3030+ for i in $($out/bin/boulder --list); do
3131+ ln -s $out/bin/boulder $out/bin/$i
3232+ done
3333+ '';
3434+3535+ # There are no tests for cmd/boulder.
3636+ doCheck = false;
3737+3838+ meta = with lib; {
2439 homepage = "https://github.com/letsencrypt/boulder";
2525- description = "An ACME-based CA, written in Go";
2626- license = [ lib.licenses.mpl20 ];
2727- maintainers = [ ];
4040+ description = "An ACME-based certificate authority, written in Go";
4141+ longDescription = ''
4242+ This is an implementation of an ACME-based CA. The ACME protocol allows
4343+ the CA to automatically verify that an applicant for a certificate
4444+ actually controls an identifier, and allows domain holders to issue and
4545+ revoke certificates for their domains. Boulder is the software that runs
4646+ Let's Encrypt.
4747+ '';
4848+ license = licenses.mpl20;
4949+ maintainers = with maintainers; [ azahi ];
2850 };
2929-3051}