···307 shortName = "Flying Circus employees";
308 };
309310+ formatter = {
311+ members = [
312+ piegames
313+ infinisil
314+ das_j
315+ tomberek
316+ _0x4A6F
317+ # Not in the maintainer list
318+ # Sereja313
319+ ];
320+ scope = "Tentative Nix formatter team to be established in https://github.com/NixOS/rfcs/pull/166";
321+ shortName = "Nix formatter team";
322+ };
323+324 freedesktop = {
325 members = [ jtojnar ];
326 scope = "Maintain Freedesktop.org packages for graphical desktop.";
+10
nixos/doc/manual/release-notes/rl-2405.section.md
···6162- [TuxClocker](https://github.com/Lurkki14/tuxclocker), a hardware control and monitoring program. Available as [programs.tuxclocker](#opt-programs.tuxclocker.enable).
630064## Backward Incompatibilities {#sec-release-24.05-incompatibilities}
6566<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
···183 More information about the configuration syntax change is available in the [upstream repository](https://github.com/prometheus/snmp_exporter/blob/b75fc6b839ee3f3ccbee68bee55f1ae99555084a/auth-split-migration.md).
184185- [watchdogd](https://troglobit.com/projects/watchdogd/), a system and process supervisor using watchdog timers. Available as [services.watchdogd](#opt-services.watchdogd.enable).
00000000186187## Other Notable Changes {#sec-release-24.05-notable-changes}
188
···6162- [TuxClocker](https://github.com/Lurkki14/tuxclocker), a hardware control and monitoring program. Available as [programs.tuxclocker](#opt-programs.tuxclocker.enable).
6364+- [RustDesk](https://rustdesk.com), a full-featured open source remote control alternative for self-hosting and security with minimal configuration. Alternative to TeamViewer.
65+66## Backward Incompatibilities {#sec-release-24.05-incompatibilities}
6768<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
···185 More information about the configuration syntax change is available in the [upstream repository](https://github.com/prometheus/snmp_exporter/blob/b75fc6b839ee3f3ccbee68bee55f1ae99555084a/auth-split-migration.md).
186187- [watchdogd](https://troglobit.com/projects/watchdogd/), a system and process supervisor using watchdog timers. Available as [services.watchdogd](#opt-services.watchdogd.enable).
188+189+- The `jdt-language-server` package now uses upstream's provided python wrapper instead of our own custom wrapper. This results in the following breaking and notable changes:
190+191+ - The main binary for the package is now named `jdtls` instead of `jdt-language-server`, equivalent to what most editors expect the binary to be named.
192+193+ - JVM arguments should now be provided with the `--jvm-arg` flag instead of setting `JAVA_OPTS`.
194+195+ - The `-data` path is no longer required to run the package, and will be set to point to a folder in `$TMP` if missing.
196197## Other Notable Changes {#sec-release-24.05-notable-changes}
198
···1+#!/usr/bin/env nix-shell
2+#!nix-shell -i bash -p cabal2nix curl jq
3+#
4+# This script will update the nixfmt-rfc-style derivation to the latest version using
5+# cabal2nix.
6+7+set -eo pipefail
8+9+# This is the directory of this update.sh script.
10+script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
11+12+derivation_file="${script_dir}/generated-package.nix"
13+date_file="${script_dir}/date.txt"
14+15+# This is the latest version of nixfmt-rfc-style branch on GitHub.
16+new_version=$(curl --silent https://api.github.com/repos/piegamesde/nixfmt/git/refs/heads/rfc101-style | jq '.object.sha' --raw-output)
17+new_date=$(curl --silent https://api.github.com/repos/piegamesde/nixfmt/git/commits/"$new_version" | jq '.committer.date' --raw-output)
18+19+echo "Updating nixfmt-rfc-style to version $new_date."
20+echo "Running cabal2nix and outputting to ${derivation_file}..."
21+22+cat > "$derivation_file" << EOF
23+# This file has been autogenerate with cabal2nix.
24+# Update via ./update.sh
25+EOF
26+27+cabal2nix --jailbreak \
28+ "https://github.com/piegamesde/nixfmt/archive/${new_version}.tar.gz" \
29+ >> "$derivation_file"
30+31+date --date="$new_date" -I > "$date_file"
32+33+echo "Finished."
···256 sha256 = "sha256-b7u9GiIAd2xpOrM0MfILHNb6Nt7070lNRIadn2l3DfQ=";
257 })];
258 }) super.ConfigFile;
259-00260 # The NCG backend for aarch64 generates invalid jumps in some situations,
261 # the workaround on 9.6 is to revert to the LLVM backend (which is used
262 # for these sorts of situations even on 9.2 and 9.4).
···256 sha256 = "sha256-b7u9GiIAd2xpOrM0MfILHNb6Nt7070lNRIadn2l3DfQ=";
257 })];
258 }) super.ConfigFile;
259+}
260+# super.ghc is required to break infinite recursion as Nix is strict in the attrNames
261+// lib.optionalAttrs (pkgs.stdenv.hostPlatform.isAarch64 && lib.versionOlder super.ghc.version "9.6.4") {
262 # The NCG backend for aarch64 generates invalid jumps in some situations,
263 # the workaround on 9.6 is to revert to the LLVM backend (which is used
264 # for these sorts of situations even on 9.2 and 9.4).
+4
pkgs/development/libraries/CoinMP/default.nix
···1112 enableParallelBuilding = true;
13000014 hardeningDisable = [ "format" ];
1516 meta = with lib; {
···1{ lib
2, stdenv
3, fetchurl
4-, makeWrapper
5, jdk
6}:
78-stdenv.mkDerivation rec {
0009 pname = "jdt-language-server";
10- version = "1.26.0";
11- timestamp = "202307271613";
1213 src = fetchurl {
14- url = "https://download.eclipse.org/jdtls/milestones/${version}/jdt-language-server-${version}-${timestamp}.tar.gz";
15- sha256 = "sha256-ul/l7jsqg5UofiSu8gzm4Xg0z46HcRfmyqysamiKbFM=";
16 };
1718 sourceRoot = ".";
1920 buildInputs = [
21- jdk
022 ];
2324- nativeBuildInputs = [
25- makeWrapper
26- ];
000002728 installPhase =
29 let
30- # The application ships with config directories for linux and mac
0031 configDir = if stdenv.isDarwin then "config_mac" else "config_linux";
32 in
33- ''
34- # Copy jars
35- install -D -t $out/share/java/plugins/ plugins/*.jar
36-37- # Copy config directories for linux and mac
38- install -Dm 444 -t $out/share/config ${configDir}/*
39-40- # Get latest version of launcher jar
41- # e.g. org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar
42- launcher="$(ls $out/share/java/plugins/org.eclipse.equinox.launcher_* | sort -V | tail -n1)"
43-44- # The wrapper script will create a directory in the user's cache, copy in the config
45- # files since this dir can't be read-only, and by default use this as the runtime dir.
46- #
47- # The following options are required as per the upstream documentation:
48- #
49- # -Declipse.application=org.eclipse.jdt.ls.core.id1
50- # -Dosgi.bundles.defaultStartLevel=4
51- # -Declipse.product=org.eclipse.jdt.ls.core.product
52- # --add-modules=ALL-SYSTEM
53- # --add-opens java.base/java.util=ALL-UNNAMED
54- # --add-opens java.base/java.lang=ALL-UNNAMED
55- #
56- # The following options configure the server to run without writing logs to the nix store:
57- #
58- # -Dosgi.sharedConfiguration.area.readOnly=true
59- # -Dosgi.checkConfiguration=true
60- # -Dosgi.configuration.cascaded=true
61- # -Dosgi.sharedConfiguration.area=$out/share/config
62- #
63- # Other options which the caller may change:
64- #
65- # -Dlog.level:
66- # Log level.
67- # This can be overidden by setting JAVA_OPTS.
68- #
69- # The caller must specify the following:
70- #
71- # -data:
72- # The application stores runtime data here. We set this to <cache-dir>/$PWD
73- # so that projects don't collide with each other.
74- # This can be overidden by specifying -configuration to the wrapper.
75- #
76- # Java options, such as -Xms and Xmx can be specified by setting JAVA_OPTS.
77- #
78- makeWrapper ${jdk}/bin/java $out/bin/jdt-language-server \
79- --add-flags "-Declipse.application=org.eclipse.jdt.ls.core.id1" \
80- --add-flags "-Dosgi.bundles.defaultStartLevel=4" \
81- --add-flags "-Declipse.product=org.eclipse.jdt.ls.core.product" \
82- --add-flags "-Dosgi.sharedConfiguration.area=$out/share/config" \
83- --add-flags "-Dosgi.sharedConfiguration.area.readOnly=true" \
84- --add-flags "-Dosgi.checkConfiguration=true" \
85- --add-flags "-Dosgi.configuration.cascaded=true" \
86- --add-flags "-Dlog.level=ALL" \
87- --add-flags "\$JAVA_OPTS" \
88- --add-flags "-jar $launcher" \
89- --add-flags "--add-modules=ALL-SYSTEM" \
90- --add-flags "--add-opens java.base/java.util=ALL-UNNAMED" \
91- --add-flags "--add-opens java.base/java.lang=ALL-UNNAMED"
92 '';
9394- meta = with lib; {
95 homepage = "https://github.com/eclipse/eclipse.jdt.ls";
96 description = "Java language server";
97- sourceProvenance = with sourceTypes; [ binaryBytecode ];
98- license = licenses.epl20;
99- maintainers = with maintainers; [ matt-snider ];
100- platforms = platforms.all;
0101 };
102-}
···1{ lib
2, stdenv
3, fetchurl
4+, python3
5, jdk
6}:
78+let
9+ timestamp = "202401111522";
10+in
11+stdenv.mkDerivation (finalAttrs: {
12 pname = "jdt-language-server";
13+ version = "1.31.0";
01415 src = fetchurl {
16+ url = "https://download.eclipse.org/jdtls/milestones/${finalAttrs.version}/jdt-language-server-${finalAttrs.version}-${timestamp}.tar.gz";
17+ hash = "sha256-bCX2LQt00d2SqxmvuvvlBB6wbCuFPqtX9/Qv5v6wH3w=";
18 };
1920 sourceRoot = ".";
2122 buildInputs = [
23+ # Used for the included wrapper
24+ python3
25 ];
2627+ postPatch = ''
28+ # We store the plugins, config, and features folder in different locations
29+ # than in the original package. In addition, hard-code the path to the jdk
30+ # in the wrapper, instead of searching for it in PATH at runtime.
31+ substituteInPlace bin/jdtls.py \
32+ --replace "jdtls_base_path = Path(__file__).parent.parent" "jdtls_base_path = Path(\"$out/share/java/jdtls/\")" \
33+ --replace "java_executable = get_java_executable(known_args.validate_java_version)" "java_executable = '${lib.getExe jdk}'"
34+ '';
3536 installPhase =
37 let
38+ # The application ships with different config directories for each platform.
39+ # Note the application come with ARM variants as well, although the
40+ # current included wrapper doesn't use them.
41 configDir = if stdenv.isDarwin then "config_mac" else "config_linux";
42 in
43+ ''
44+ install -Dm444 -t $out/share/java/jdtls/plugins/ plugins/*
45+ install -Dm444 -t $out/share/java/jdtls/features/ features/*
46+ install -Dm444 -t $out/share/java/jdtls/${configDir} ${configDir}/*
47+ install -Dm555 -t $out/bin bin/jdtls
48+ install -Dm444 -t $out/bin bin/jdtls.py
0000000000000000000000000000000000000000000000000000049 '';
5051+ meta = {
52 homepage = "https://github.com/eclipse/eclipse.jdt.ls";
53 description = "Java language server";
54+ sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
55+ license = lib.licenses.epl20;
56+ maintainers = with lib.maintainers; [ matt-snider ];
57+ platforms = lib.platforms.all;
58+ mainProgram = "jdtls";
59 };
60+})