Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2025-12-28 15:05:08 +00:00
committed by GitHub
102 changed files with 9946 additions and 6551 deletions
+9
View File
@@ -589,6 +589,15 @@
- nixos/modules/services/x11/desktop-managers/xfce.nix
- nixos/tests/xfce.nix
- pkgs/desktops/xfce/**/*
- pkgs/by-name/ga/garcon/**/*
- pkgs/by-name/li/libxfce4*/**/*
- pkgs/by-name/th/thunar/**/*
- pkgs/by-name/th/thunar-*/**/*
- pkgs/by-name/tu/tumbler/**/*
- pkgs/by-name/xf/xfce4-*/**/*
- pkgs/by-name/xf/xfconf/**/*
- pkgs/by-name/xf/xfdesktop/**/*
- pkgs/by-name/xf/xfwm4/**/*
"6.topic: zig":
- any:
+5 -5
View File
@@ -13,10 +13,10 @@
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- `xfce.mkXfceDerivation` has been deprecated, please use `stdenv.mkDerivation`
directly. You can migrate by adding `pkg-config`, `xfce4-dev-tools`, and
`wrapGAppsHook3` to your `nativeBuildInputs` and `--enable-maintainer-mode`
to your `configureFlags`.
- `xfce.mkXfceDerivation` has been deprecated (i.e. conditioned behind `nixpkgs.config.allowAliases`)
and will be removed in NixOS 26.11, please use `stdenv.mkDerivation` directly. You can migrate by
adding `pkg-config`, `xfce4-dev-tools`, and `wrapGAppsHook3` to your `nativeBuildInputs` and
`--enable-maintainer-mode` to your `configureFlags`.
- `corepack_latest` has been removed, as Corepack is no longer distributed with Node.js.
@@ -66,7 +66,7 @@
- `services.openssh.settings.AcceptEnv` now explicitly defined as an option that takes a list of strings, to facilitate option merging. Setting it to a string value is no longer supported.
- Xfce panel plugins have been moved to top level (e.g. if you previously added `pkgs.xfce.xfce4-whiskermenu-plugin` to `environment.systemPackages`, you will need to change it to `pkgs.xfce4-whiskermenu-plugin`).
- All Xfce packages have been moved to top level (e.g. if you previously added `pkgs.xfce.xfce4-whiskermenu-plugin` to `environment.systemPackages`, you will need to change it to `pkgs.xfce4-whiskermenu-plugin`). The `xfce` scope will be removed in NixOS 26.11.
## Other Notable Changes {#sec-nixpkgs-release-26.05-notable-changes}
+6
View File
@@ -20939,6 +20939,12 @@
githubId = 66107;
name = "Daniel Poelzleithner";
};
poeschel = {
email = "poeschel@mailbox.org";
github = "poeschel";
githubId = 703724;
name = "Lars Pöschel";
};
pogobanane = {
email = "mail@peter-okelmann.de";
github = "pogobanane";
@@ -26,14 +26,14 @@ example settings:
Some Xfce programs are not installed automatically. To install them
manually (system wide), put them into your
[](#opt-environment.systemPackages) from `pkgs.xfce`.
[](#opt-environment.systemPackages).
## Thunar {#sec-xfce-thunar-plugins}
Thunar (the Xfce file manager) is automatically enabled when Xfce is
enabled. To enable Thunar without enabling Xfce, use the configuration
option [](#opt-programs.thunar.enable) instead of adding
`pkgs.xfce.thunar` to [](#opt-environment.systemPackages).
`pkgs.thunar` to [](#opt-environment.systemPackages).
If you'd like to add extra plugins to Thunar, add them to
[](#opt-programs.thunar.plugins). You shouldn't just add them to
+1
View File
@@ -709,6 +709,7 @@
./services/hardware/usbmuxd.nix
./services/hardware/usbrelayd.nix
./services/hardware/vdr.nix
./services/home-automation/deye-dummycloud.nix
./services/home-automation/ebusd.nix
./services/home-automation/esphome.nix
./services/home-automation/evcc.nix
+2 -2
View File
@@ -22,7 +22,7 @@ in
default = [ ];
type = lib.types.listOf lib.types.package;
description = "List of thunar plugins to install.";
example = lib.literalExpression "with pkgs.xfce; [ thunar-archive-plugin thunar-volman ]";
example = lib.literalExpression "with pkgs; [ thunar-archive-plugin thunar-volman ]";
};
};
@@ -30,7 +30,7 @@ in
config = lib.mkIf cfg.enable (
let
package = pkgs.xfce.thunar.override { thunarPlugins = cfg.plugins; };
package = pkgs.thunar.override { thunarPlugins = cfg.plugins; };
in
{
+2 -2
View File
@@ -37,11 +37,11 @@ in
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs.xfce; [
environment.systemPackages = with pkgs; [
tumbler
];
services.dbus.packages = with pkgs.xfce; [
services.dbus.packages = with pkgs; [
tumbler
];
@@ -0,0 +1,56 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.deye-dummycloud;
in
{
options.services.deye-dummycloud = {
enable = lib.mkEnableOption "the deye-dummycloud service";
mqttBrokerUrl = lib.mkOption {
type = lib.types.str;
default = "mqtt://localhost";
description = "MQTT broker URL";
};
mqttUsername = lib.mkOption {
type = lib.types.str;
default = "";
description = "MQTT username";
};
mqttPassword = lib.mkOption {
type = lib.types.str;
default = "";
description = "MQTT password";
};
};
config = lib.mkIf cfg.enable {
systemd.services.deye-dummycloud = {
description = "Dummycloud server for DEYE microinverters and bridge to mqtt";
wants = [ "network.target" ];
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
WorkingDirectory = "${pkgs.deye-dummycloud}/lib/node_modules/deye-dummycloud";
ExecStart = "${pkgs.nodejs}/bin/node app.js";
Restart = "always";
User = "deye-dummycloud";
DynamicUser = true;
ProtectSystem = "full";
ProtectHome = true;
Environment = [
"MQTT_BROKER_URL=${cfg.mqttBrokerUrl}"
"MQTT_USERNAME=${cfg.mqttUsername}"
"MQTT_PASSWORD=${cfg.mqttPassword}"
];
};
};
environment.systemPackages = [ pkgs.deye-dummycloud ];
};
}
@@ -599,7 +599,7 @@ in
};
extraConfig = mkOption {
type = types.str;
type = types.lines;
default = "";
example = ''
p2p_disabled=1
@@ -101,7 +101,7 @@ in
environment.xfce.excludePackages = mkOption {
default = [ ];
example = literalExpression "[ pkgs.xfce.xfce4-volumed-pulse ]";
example = literalExpression "[ pkgs.xfce4-volumed-pulse ]";
type = types.listOf types.package;
description = "Which packages XFCE should exclude from the default environment";
};
@@ -118,7 +118,7 @@ in
adwaita-icon-theme
hicolor-icon-theme
tango-icon-theme
xfce.xfce4-icon-theme
xfce4-icon-theme
desktop-file-utils
shared-mime-info # for update-mime-database
@@ -133,37 +133,37 @@ in
garcon
libxfce4ui
xfce.mousepad
xfce.parole
xfce.ristretto
xfce.xfce4-appfinder
xfce.xfce4-notifyd
xfce.xfce4-screenshooter
xfce.xfce4-session
xfce.xfce4-settings
xfce.xfce4-taskmanager
xfce.xfce4-terminal
mousepad
parole
ristretto
xfce4-appfinder
xfce4-notifyd
xfce4-screenshooter
xfce4-session
xfce4-settings
xfce4-taskmanager
xfce4-terminal
]
# TODO: NetworkManager doesn't belong here
++ lib.optional config.networking.networkmanager.enable networkmanagerapplet
++ lib.optional config.powerManagement.enable xfce.xfce4-power-manager
++ lib.optional config.powerManagement.enable xfce4-power-manager
++ lib.optionals (config.services.pulseaudio.enable || config.services.pipewire.pulse.enable) [
pavucontrol
# volume up/down keys support:
# xfce4-pulseaudio-plugin includes all the functionalities of xfce4-volumed-pulse
# but can only be used with xfce4-panel, so for no-desktop usage we still include
# xfce4-volumed-pulse
(if cfg.noDesktop then xfce.xfce4-volumed-pulse else xfce4-pulseaudio-plugin)
(if cfg.noDesktop then xfce4-volumed-pulse else xfce4-pulseaudio-plugin)
]
++ lib.optionals cfg.enableXfwm [
xfce.xfwm4
xfce.xfwm4-themes
xfwm4
xfwm4-themes
]
++ lib.optionals (!cfg.noDesktop) [
xfce4-panel
xfce.xfdesktop
xfdesktop
]
++ lib.optional cfg.enableScreensaver xfce.xfce4-screensaver
++ lib.optional cfg.enableScreensaver xfce4-screensaver
) excludePackages;
programs.gnupg.agent.pinentryPackage = mkDefault pkgs.pinentry-gtk2;
@@ -188,7 +188,7 @@ in
desktopNames = [ "XFCE" ];
bgSupport = !cfg.noDesktop;
start = ''
${pkgs.runtimeShell} ${pkgs.xfce.xfce4-session.xinitrc} &
${pkgs.runtimeShell} ${pkgs.xfce4-session.xinitrc} &
waitPID=$!
'';
}
@@ -238,12 +238,12 @@ in
programs.zsh.vteIntegration = mkDefault true;
# Systemd services
systemd.packages = utils.removePackagesByName (with pkgs.xfce; [
systemd.packages = utils.removePackagesByName (with pkgs; [
xfce4-notifyd
]) excludePackages;
security.pam.services.xfce4-screensaver.unixAuth = cfg.enableScreensaver;
xdg.portal.configPackages = mkDefault [ pkgs.xfce.xfce4-session ];
xdg.portal.configPackages = mkDefault [ pkgs.xfce4-session ];
};
}
+1 -1
View File
@@ -109,7 +109,7 @@ let
# times out after spending many hours
#wezterm.pkg = p: p.wezterm;
xfce4-terminal.pkg = p: p.xfce.xfce4-terminal;
xfce4-terminal.pkg = p: p.xfce4-terminal;
xterm.pkg = p: p.xterm;
+1 -1
View File
@@ -20,7 +20,7 @@
services.xserver.desktopManager.xfce.enable = true;
environment.systemPackages = [ pkgs.xfce4-whiskermenu-plugin ];
programs.thunar.plugins = [ pkgs.xfce.thunar-archive-plugin ];
programs.thunar.plugins = [ pkgs.thunar-archive-plugin ];
programs.ydotool.enable = true;
};
@@ -16,8 +16,8 @@ let
inherit tiling_wm;
};
stableVersion = {
version = "2025.2.2.7"; # "Android Studio Otter 2 Feature Drop | 2025.2.2"
sha256Hash = "sha256-pvnUDYeFbxOnw2dP9BeKFushnTHmpDrBwmnNWDx8pbQ=";
version = "2025.2.2.8"; # "Android Studio Otter 2 Feature Drop | 2025.2.2 Patch 1"
sha256Hash = "sha256-xs9ABQ9f8/gtxcoiZkf/xEtmTOj6rb4Ty+w70/+C4Ss=";
};
betaVersion = {
version = "2025.2.3.6"; # "Android Studio Otter 3 Feature Drop | 2025.2.3 RC 1"
@@ -13,6 +13,7 @@ from packaging import version
updates_url = "https://www.jetbrains.com/updates/updates.xml"
current_path = pathlib.Path(__file__).parent
ides_file_path = current_path.joinpath("..").joinpath("ides.json").resolve()
versions_file_path = current_path.joinpath("versions.json").resolve()
fromVersions = {}
toVersions = {}
@@ -72,8 +73,8 @@ def get_url(template, version_or_build_number, version_number):
return None
def update_product(name, product):
update_channel = product["update-channel"]
def update_product(name, ide, version_info):
update_channel = ide["updateChannel"]
logging.info("Updating %s", name)
channel = channels.get(update_channel)
if channel is None:
@@ -93,17 +94,17 @@ def update_product(name, product):
else:
version_or_build_number = new_build_number
version_number = new_version.split(' ')[0]
download_url = get_url(product["url-template"], version_or_build_number, version_number)
download_url = get_url(version_info["url-template"], version_or_build_number, version_number)
if not download_url:
raise Exception(f"No valid url for {name} version {version_or_build_number}")
product["url"] = download_url
if "sha256" not in product or product.get("build_number") != new_build_number:
fromVersions[name] = product["version"]
version_info["url"] = download_url
if "sha256" not in version_info or version_info.get("build_number") != new_build_number:
fromVersions[name] = version_info["version"]
toVersions[name] = new_version
logging.info("Found a newer version %s with build number %s.", new_version, new_build_number)
product["version"] = new_version
product["build_number"] = new_build_number
product["sha256"] = download_sha256(download_url)
version_info["version"] = new_version
version_info["build_number"] = new_build_number
version_info["sha256"] = download_sha256(download_url)
else:
logging.info("Already at the latest version %s with build number %s.", new_version, new_build_number)
except Exception as e:
@@ -112,16 +113,19 @@ def update_product(name, product):
logging.warning("It may be out-of-date. Fix the error and rerun.")
def update_products(products):
for name, product in products.items():
update_product(name, product)
def update_products(versioned_products, ides):
for name, version_info in versioned_products.items():
update_product(name, ides[name], version_info)
with open(versions_file_path, "r") as versions_file:
versions = json.load(versions_file)
for products in versions.values():
update_products(products)
with open(ides_file_path, "r") as ides_file:
ides = json.load(ides_file)
for versioned_products in versions.values():
update_products(versioned_products, ides)
with open(versions_file_path, "w") as versions_file:
json.dump(versions, versions_file, indent=2)
@@ -1,7 +1,6 @@
{
"x86_64-linux": {
"aqua": {
"update-channel": "Aqua RELEASE",
"url-template": "https://download.jetbrains.com/aqua/aqua-{version}.tar.gz",
"version": "2024.3.2",
"sha256": "de073e8a3734a2c4ef984b3e1bd68f5de72a6180e73400889510439ac3f419aa",
@@ -9,7 +8,6 @@
"build_number": "243.23654.154"
},
"clion": {
"update-channel": "CLion RELEASE",
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}.tar.gz",
"version": "2025.2.5",
"sha256": "91474a3c35a9b3d50f43f0549098317b65aa881f2f80c3345f8dee7587d31f9e",
@@ -17,7 +15,6 @@
"build_number": "252.28238.22"
},
"datagrip": {
"update-channel": "DataGrip RELEASE",
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.tar.gz",
"version": "2025.3",
"sha256": "010ad3a676cfe984e7498d1eb4f84686d7a110acbde4f9d288f53967255340e6",
@@ -25,7 +22,6 @@
"build_number": "253.28294.259"
},
"dataspell": {
"update-channel": "DataSpell RELEASE",
"url-template": "https://download.jetbrains.com/python/dataspell-{version}.tar.gz",
"version": "2025.2.3",
"sha256": "1e4bc499da1ce8c63e8a4526159c20ef8a797315dc6d3ab4c8eb109f323faba6",
@@ -33,7 +29,6 @@
"build_number": "252.27397.129"
},
"gateway": {
"update-channel": "Gateway RELEASE",
"url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.tar.gz",
"version": "2025.2.5",
"sha256": "5a84a4dbc5fc1aa03fa1bf142e1eae51e265f6d17ec38c50932b83e629a4366c",
@@ -41,7 +36,6 @@
"build_number": "252.28238.6"
},
"goland": {
"update-channel": "GoLand RELEASE",
"url-template": "https://download.jetbrains.com/go/goland-{version}.tar.gz",
"version": "2025.2.5",
"sha256": "7b748b7f5af267e8bd4d90d44bbeea8cb58b262115d884d2cd567af8d9d753c1",
@@ -49,7 +43,6 @@
"build_number": "252.28238.32"
},
"idea-community": {
"update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.tar.gz",
"version": "2025.2.5",
"sha256": "995c334cc3e143f13467abafef07a1ccf7d06275512bb6f4c91123948786ab7c",
@@ -57,7 +50,6 @@
"build_number": "252.28238.7"
},
"idea": {
"update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}.tar.gz",
"version": "2025.2.5",
"sha256": "dc92cd3850ba256d2cb1c9d884f9579f613f6fa747f628361458d21f66687393",
@@ -65,7 +57,6 @@
"build_number": "252.28238.7"
},
"mps": {
"update-channel": "MPS RELEASE",
"url-template": "https://download.jetbrains.com/mps/{versionMajorMinor}/MPS-{version}.tar.gz",
"version": "2025.2.1",
"sha256": "cfbe530d0385cf3e9ccc2f18f43db25525e0024abdbcd3203bd66fb77fc6f3b4",
@@ -73,7 +64,6 @@
"build_number": "252.26199.587"
},
"phpstorm": {
"update-channel": "PhpStorm RELEASE",
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.tar.gz",
"version": "2025.2.5",
"sha256": "4f102bb85add2527e46695f3b866c0e315423e19bc45e0adb0de0fe577a1efe6",
@@ -82,7 +72,6 @@
"version-major-minor": "2022.3"
},
"pycharm-community": {
"update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.tar.gz",
"version": "2025.2.5",
"sha256": "7f49a014f53f0f6f7c46f6710b131f390302287f4046b606331d88081cdb551f",
@@ -90,7 +79,6 @@
"build_number": "252.28238.29"
},
"pycharm": {
"update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-{version}.tar.gz",
"version": "2025.2.5",
"sha256": "b1e47419e5844c38e7a7a9be9e5260c75cea6aa8423f2584dc1727f792d5feb4",
@@ -98,7 +86,6 @@
"build_number": "252.28238.29"
},
"rider": {
"update-channel": "Rider RELEASE",
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.tar.gz",
"version": "2025.3.0.3",
"sha256": "f09d5e060df110316e8abdedc397e6475e5d46d3f99b422d06de69f6e7025dbc",
@@ -106,7 +93,6 @@
"build_number": "253.28294.237"
},
"ruby-mine": {
"update-channel": "RubyMine RELEASE",
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.tar.gz",
"version": "2025.2.5",
"sha256": "9d42262fa938e072a83828bd643c6d702b07e4a45c095315500a2a60d7bb805c",
@@ -114,7 +100,6 @@
"build_number": "252.28238.3"
},
"rust-rover": {
"update-channel": "RustRover RELEASE",
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}.tar.gz",
"version": "2025.2.5",
"sha256": "01ec30397ec61ac6dcb66cb037ea69b2be8a7e079020e50513f2e1e102ccfc84",
@@ -122,7 +107,6 @@
"build_number": "252.28238.28"
},
"webstorm": {
"update-channel": "WebStorm RELEASE",
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.tar.gz",
"version": "2025.2.5",
"sha256": "535167a94350f355e8d4b63624df25c9eca58e5f570df596c7ca8ab630f3c485",
@@ -130,7 +114,6 @@
"build_number": "252.28238.10"
},
"writerside": {
"update-channel": "Writerside EAP",
"url-template": "https://download.jetbrains.com/writerside/writerside-{version}.tar.gz",
"version": "2024.3 EAP",
"sha256": "d49e58020d51ec4ccdbdffea5d42b5a2d776a809fc00789cef5abda7b23bd3f6",
@@ -140,7 +123,6 @@
},
"aarch64-linux": {
"aqua": {
"update-channel": "Aqua RELEASE",
"url-template": "https://download.jetbrains.com/aqua/aqua-{version}-aarch64.tar.gz",
"version": "2024.3.2",
"sha256": "d2a3c781756a83ccea63dc6d9aebf85f819de1edb5bcd4e5a1a161eaa0779c84",
@@ -148,7 +130,6 @@
"build_number": "243.23654.154"
},
"clion": {
"update-channel": "CLion RELEASE",
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.tar.gz",
"version": "2025.2.5",
"sha256": "bff9d778fdfa41dc69019f05b01a9f242caa4406432f63b9d599799790f62655",
@@ -156,7 +137,6 @@
"build_number": "252.28238.22"
},
"datagrip": {
"update-channel": "DataGrip RELEASE",
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.tar.gz",
"version": "2025.3",
"sha256": "52a2e70f8903ee70ceb7fd45216f5d3ac35718ba066b30cb084c6bcacf9a5098",
@@ -164,7 +144,6 @@
"build_number": "253.28294.259"
},
"dataspell": {
"update-channel": "DataSpell RELEASE",
"url-template": "https://download.jetbrains.com/python/dataspell-{version}-aarch64.tar.gz",
"version": "2025.2.3",
"sha256": "4bebb406617b4179791d4b6560dc50355760773ef37f6ce9f27bd0d1fd638750",
@@ -172,7 +151,6 @@
"build_number": "252.27397.129"
},
"gateway": {
"update-channel": "Gateway RELEASE",
"url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}-aarch64.tar.gz",
"version": "2025.2.5",
"sha256": "62cb3723786e66aec656561cc37f31bf232346be303184e3e73018e85b252430",
@@ -180,7 +158,6 @@
"build_number": "252.28238.6"
},
"goland": {
"update-channel": "GoLand RELEASE",
"url-template": "https://download.jetbrains.com/go/goland-{version}-aarch64.tar.gz",
"version": "2025.2.5",
"sha256": "c9bdfe1a106c470ee335d779ab59f61898098d4769dac8c2975113dba6d8dcf5",
@@ -188,7 +165,6 @@
"build_number": "252.28238.32"
},
"idea-community": {
"update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}-aarch64.tar.gz",
"version": "2025.2.5",
"sha256": "4c57a783f31ee6f2c82d8c43bb5d0334a9afbc8bfb4542e732048c41f61e63a0",
@@ -196,7 +172,6 @@
"build_number": "252.28238.7"
},
"idea": {
"update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}-aarch64.tar.gz",
"version": "2025.2.5",
"sha256": "6203b9dbc2461abc59604a7fb319d8e06948b2886489ae03499e98f4c1a0a57c",
@@ -204,7 +179,6 @@
"build_number": "252.28238.7"
},
"mps": {
"update-channel": "MPS RELEASE",
"url-template": "https://download.jetbrains.com/mps/{versionMajorMinor}/MPS-{version}.tar.gz",
"version": "2025.2.1",
"sha256": "cfbe530d0385cf3e9ccc2f18f43db25525e0024abdbcd3203bd66fb77fc6f3b4",
@@ -212,7 +186,6 @@
"build_number": "252.26199.587"
},
"phpstorm": {
"update-channel": "PhpStorm RELEASE",
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.tar.gz",
"version": "2025.2.5",
"sha256": "9dbf2ef4f69039f82ed1c4f279a22d5e1cb88051bcf5670e7c4d5bf0263295e9",
@@ -221,7 +194,6 @@
"version-major-minor": "2022.3"
},
"pycharm-community": {
"update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}-aarch64.tar.gz",
"version": "2025.2.5",
"sha256": "67b61a3e788b043d93b3cc3e0dd3cea350e6d170402fd94adaf792cfc57e5462",
@@ -229,7 +201,6 @@
"build_number": "252.28238.29"
},
"pycharm": {
"update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-{version}-aarch64.tar.gz",
"version": "2025.2.5",
"sha256": "7037672c6913f643ec4979ca5f16791588e001ffd39f830d874587f79e358be2",
@@ -237,7 +208,6 @@
"build_number": "252.28238.29"
},
"rider": {
"update-channel": "Rider RELEASE",
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}-aarch64.tar.gz",
"version": "2025.3.0.3",
"sha256": "eb3727a2c4159e185b839b0ee0c2ee7383d4bc5a8ef3c1f41dbd59ae7cb705d6",
@@ -245,7 +215,6 @@
"build_number": "253.28294.237"
},
"ruby-mine": {
"update-channel": "RubyMine RELEASE",
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}-aarch64.tar.gz",
"version": "2025.2.5",
"sha256": "1dd8720dbb32a9ae6ed9856834baf5242aa8296ed179fee3e5b7be432f993155",
@@ -253,7 +222,6 @@
"build_number": "252.28238.3"
},
"rust-rover": {
"update-channel": "RustRover RELEASE",
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}-aarch64.tar.gz",
"version": "2025.2.5",
"sha256": "8e424e01a38faebbfd7fa36cdae51e233551f921a666e36a0a0a6a04e686fa0a",
@@ -261,7 +229,6 @@
"build_number": "252.28238.28"
},
"webstorm": {
"update-channel": "WebStorm RELEASE",
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.tar.gz",
"version": "2025.2.5",
"sha256": "d4a474c7434878906ed9d3c92572ac61c6fe8eb7dc48653677e2ead1785f4551",
@@ -269,7 +236,6 @@
"build_number": "252.28238.10"
},
"writerside": {
"update-channel": "Writerside EAP",
"url-template": "https://download.jetbrains.com/writerside/writerside-{version}-aarch64.tar.gz",
"version": "2024.3 EAP",
"sha256": "6067f6f73c4a178e2d0ae42bd18669045d85b5b5ed2c9115c2488ba7aa2a3d88",
@@ -279,7 +245,6 @@
},
"x86_64-darwin": {
"aqua": {
"update-channel": "Aqua RELEASE",
"url-template": "https://download.jetbrains.com/aqua/aqua-{version}.dmg",
"version": "2024.3.2",
"sha256": "423d492e9849beb7edbbd1771650a04e8df9f469bf1789b41bc5878c84cee393",
@@ -287,7 +252,6 @@
"build_number": "243.23654.154"
},
"clion": {
"update-channel": "CLion RELEASE",
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}.dmg",
"version": "2025.2.5",
"sha256": "234b93f26fbb411393dbfd7d1084ff8e8d35b745778d4b9ed1ecba670dafe0fb",
@@ -295,7 +259,6 @@
"build_number": "252.28238.22"
},
"datagrip": {
"update-channel": "DataGrip RELEASE",
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.dmg",
"version": "2025.3",
"sha256": "4a92e083ddc6edb7ff1639705d6bd3cf8d47d960659a9aa71e19b95fafad8d07",
@@ -303,7 +266,6 @@
"build_number": "253.28294.259"
},
"dataspell": {
"update-channel": "DataSpell RELEASE",
"url-template": "https://download.jetbrains.com/python/dataspell-{version}.dmg",
"version": "2025.2.3",
"sha256": "7d1a60c4367a1e1bd43aec494177c4c30744cb5bf904a3c71d2a3d13439a7b12",
@@ -311,7 +273,6 @@
"build_number": "252.27397.129"
},
"gateway": {
"update-channel": "Gateway RELEASE",
"url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.dmg",
"version": "2025.2.5",
"sha256": "a0a4314c5f08331a82420580bf3e26df19b52573cda3ecac354d8ac49caf191d",
@@ -319,7 +280,6 @@
"build_number": "252.28238.6"
},
"goland": {
"update-channel": "GoLand RELEASE",
"url-template": "https://download.jetbrains.com/go/goland-{version}.dmg",
"version": "2025.2.5",
"sha256": "b900b868b748b78c01c5da949e8bcc0df277caa2e3efcc50898641aadaf485f2",
@@ -327,7 +287,6 @@
"build_number": "252.28238.32"
},
"idea-community": {
"update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.dmg",
"version": "2025.2.5",
"sha256": "ff48a1e60869342a91db867fa482a49d4cdf38476496911c109f34a7e8d6523d",
@@ -335,7 +294,6 @@
"build_number": "252.28238.7"
},
"idea": {
"update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}.dmg",
"version": "2025.2.5",
"sha256": "c0d6731d60bdcdaaea5c0474c296e39cc336f424da872c6ed022e8f139d779ee",
@@ -343,7 +301,6 @@
"build_number": "252.28238.7"
},
"mps": {
"update-channel": "MPS RELEASE",
"url-template": "https://download.jetbrains.com/mps/{versionMajorMinor}/MPS-{version}-macos.dmg",
"version": "2025.2.1",
"sha256": "e0b2644918ffe76b10001fc7904a58b2ec88cda2d317b10508d3bac784a490b2",
@@ -351,7 +308,6 @@
"build_number": "252.26199.587"
},
"phpstorm": {
"update-channel": "PhpStorm RELEASE",
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.dmg",
"version": "2025.2.5",
"sha256": "2a765be05bd2176899297ba0599735c2a13d1065e9d65895a6ead7ed850f0254",
@@ -360,7 +316,6 @@
"version-major-minor": "2022.3"
},
"pycharm-community": {
"update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.dmg",
"version": "2025.2.5",
"sha256": "08ba97a278031ff1942ddefb18d8acf7582f0bb4a28ccdf5d65721bfb80ca456",
@@ -368,7 +323,6 @@
"build_number": "252.28238.29"
},
"pycharm": {
"update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-{version}.dmg",
"version": "2025.2.5",
"sha256": "00eccdeb39bd8eeaed1b98ad99f542fbc3851389f9e7d19355d05dfd979eb669",
@@ -376,7 +330,6 @@
"build_number": "252.28238.29"
},
"rider": {
"update-channel": "Rider RELEASE",
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.dmg",
"version": "2025.3.0.3",
"sha256": "e8261d30d549f1809228c84e4b31d2cae337cb7bc35cd6da4e0f801e4d2f52db",
@@ -384,7 +337,6 @@
"build_number": "253.28294.237"
},
"ruby-mine": {
"update-channel": "RubyMine RELEASE",
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.dmg",
"version": "2025.2.5",
"sha256": "7dedc215b849194f8814380a4e622e117346fb52fc3f102bfa53332d33c9433b",
@@ -392,7 +344,6 @@
"build_number": "252.28238.3"
},
"rust-rover": {
"update-channel": "RustRover RELEASE",
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}.dmg",
"version": "2025.2.5",
"sha256": "1f149d98d41b3929e3e920d5465eaa9963312d93f106d8821d0c51721ae2609c",
@@ -400,7 +351,6 @@
"build_number": "252.28238.28"
},
"webstorm": {
"update-channel": "WebStorm RELEASE",
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.dmg",
"version": "2025.2.5",
"sha256": "1f3779bf695758e830126a95734360bd640794ec278c250fad9a71969de4ee39",
@@ -408,7 +358,6 @@
"build_number": "252.28238.10"
},
"writerside": {
"update-channel": "Writerside EAP",
"url-template": "https://download.jetbrains.com/writerside/writerside-{version}.dmg",
"version": "2024.3 EAP",
"sha256": "0c78b8035497c855aea5666256716778abd46dadf68f51e4f91c0db01f62b280",
@@ -418,7 +367,6 @@
},
"aarch64-darwin": {
"aqua": {
"update-channel": "Aqua RELEASE",
"url-template": "https://download.jetbrains.com/aqua/aqua-{version}-aarch64.dmg",
"version": "2024.3.2",
"sha256": "43974cdbbb71aaf5bfcfaf2cfd0e69e9920dda3973e64671936c1d52b267494d",
@@ -426,7 +374,6 @@
"build_number": "243.23654.154"
},
"clion": {
"update-channel": "CLion RELEASE",
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.dmg",
"version": "2025.2.5",
"sha256": "b0496540a133c82c64ac959f1d4542fe331bd63403fd230e23adf4bc957c84af",
@@ -434,7 +381,6 @@
"build_number": "252.28238.22"
},
"datagrip": {
"update-channel": "DataGrip RELEASE",
"url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.dmg",
"version": "2025.3",
"sha256": "16a5df01852648a82082fb667bbed6fcb43e15ef9a91e35a0be422dd37d07180",
@@ -442,7 +388,6 @@
"build_number": "253.28294.259"
},
"dataspell": {
"update-channel": "DataSpell RELEASE",
"url-template": "https://download.jetbrains.com/python/dataspell-{version}-aarch64.dmg",
"version": "2025.2.3",
"sha256": "ad8a2d8403c7d44f66d0905ab6d28a3e888e78b9cc140725e7ca744257c6ce58",
@@ -450,7 +395,6 @@
"build_number": "252.27397.129"
},
"gateway": {
"update-channel": "Gateway RELEASE",
"url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}-aarch64.dmg",
"version": "2025.2.5",
"sha256": "af0a82a46ecad837ee6c86d97623e58d377eed7d5ee56c7af5765071e0b0c12e",
@@ -458,7 +402,6 @@
"build_number": "252.28238.6"
},
"goland": {
"update-channel": "GoLand RELEASE",
"url-template": "https://download.jetbrains.com/go/goland-{version}-aarch64.dmg",
"version": "2025.2.5",
"sha256": "91faea3e0aff80e16a27cacaec1c39ef13eac2b3da1b0f0aa1af667be96f4c78",
@@ -466,7 +409,6 @@
"build_number": "252.28238.32"
},
"idea-community": {
"update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}-aarch64.dmg",
"version": "2025.2.5",
"sha256": "52065492d433f0ea9df4debd5f0683154ab4dab5846394cabc8a49903d70e5bc",
@@ -474,7 +416,6 @@
"build_number": "252.28238.7"
},
"idea": {
"update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}-aarch64.dmg",
"version": "2025.2.5",
"sha256": "6ec8cf520556c75e91a3cae1c54f464dee3609c4d7efef3bb307b129c7d9cb63",
@@ -482,7 +423,6 @@
"build_number": "252.28238.7"
},
"mps": {
"update-channel": "MPS RELEASE",
"url-template": "https://download.jetbrains.com/mps/{versionMajorMinor}/MPS-{version}-macos-aarch64.dmg",
"version": "2025.2.1",
"url": "https://download.jetbrains.com/mps/2025.2/MPS-2025.2.1-macos-aarch64.dmg",
@@ -490,7 +430,6 @@
"build_number": "252.26199.587"
},
"phpstorm": {
"update-channel": "PhpStorm RELEASE",
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.dmg",
"version": "2025.2.5",
"sha256": "8320ce229c03277f53a836bc19b796e9241bb00e3e40d4f048290baa27aa9a90",
@@ -499,7 +438,6 @@
"version-major-minor": "2022.3"
},
"pycharm-community": {
"update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}-aarch64.dmg",
"version": "2025.2.5",
"sha256": "040a4ed6bb7563972d844c450f615d0d11385e524fbbfdbfc9fc68d78811e994",
@@ -507,7 +445,6 @@
"build_number": "252.28238.29"
},
"pycharm": {
"update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-{version}-aarch64.dmg",
"version": "2025.2.5",
"sha256": "71da1283259bc59897e5bb43c6c3771a72d026419ed4d79192889ea3885ac0de",
@@ -515,7 +452,6 @@
"build_number": "252.28238.29"
},
"rider": {
"update-channel": "Rider RELEASE",
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}-aarch64.dmg",
"version": "2025.3.0.3",
"sha256": "ff03408013ce86ffd437204d635401a4ca673ee15596e3d93cd9c69e63e7e7c3",
@@ -523,7 +459,6 @@
"build_number": "253.28294.237"
},
"ruby-mine": {
"update-channel": "RubyMine RELEASE",
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}-aarch64.dmg",
"version": "2025.2.5",
"sha256": "8527cb286ea5d9cd612538cb55354dc689b7f7fe5ec0b81a8f1a4a2279e94351",
@@ -531,7 +466,6 @@
"build_number": "252.28238.3"
},
"rust-rover": {
"update-channel": "RustRover RELEASE",
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}-aarch64.dmg",
"version": "2025.2.5",
"sha256": "7927f48c24ff1e9b235f3f6bbcd74fb1fad907035146a04c55ef62ccdf90c087",
@@ -539,7 +473,6 @@
"build_number": "252.28238.28"
},
"webstorm": {
"update-channel": "WebStorm RELEASE",
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.dmg",
"version": "2025.2.5",
"sha256": "729d519244a4be15add4b0963ebf84fb9c3f3f2f7d1eab3ad925ef79fe359773",
@@ -547,7 +480,6 @@
"build_number": "252.28238.10"
},
"writerside": {
"update-channel": "Writerside EAP",
"url-template": "https://download.jetbrains.com/writerside/writerside-{version}-aarch64.dmg",
"version": "2024.3 EAP",
"sha256": "9d86ef50b4c6d2a07d236219e9b05c0557241fb017d52ac395719bdb425130f5",
@@ -1,6 +1,7 @@
{
"aqua": {
"product": "Aqua",
"updateChannel": "Aqua RELEASE",
"wmClass": "jetbrains-aqua",
"meta": {
"isOpenSource": false,
@@ -12,6 +13,7 @@
},
"clion": {
"product": "CLion",
"updateChannel": "CLion RELEASE",
"wmClass": "jetbrains-clion",
"meta": {
"isOpenSource": false,
@@ -23,6 +25,7 @@
},
"datagrip": {
"product": "DataGrip",
"updateChannel": "DataGrip RELEASE",
"wmClass": "jetbrains-datagrip",
"meta": {
"isOpenSource": false,
@@ -34,6 +37,7 @@
},
"dataspell": {
"product": "DataSpell",
"updateChannel": "DataSpell RELEASE",
"wmClass": "jetbrains-dataspell",
"meta": {
"isOpenSource": false,
@@ -45,6 +49,7 @@
},
"gateway": {
"product": "JetBrains Gateway",
"updateChannel": "Gateway RELEASE",
"productShort": "Gateway",
"wmClass": "jetbrains-gateway",
"meta": {
@@ -57,6 +62,7 @@
},
"goland": {
"product": "Goland",
"updateChannel": "GoLand RELEASE",
"wmClass": "jetbrains-goland",
"meta": {
"isOpenSource": false,
@@ -68,6 +74,7 @@
},
"idea": {
"product": "IntelliJ IDEA",
"updateChannel": "IntelliJ IDEA RELEASE",
"productShort": "IDEA",
"wmClass": "jetbrains-idea",
"meta": {
@@ -80,6 +87,7 @@
},
"idea-community": {
"product": "IntelliJ IDEA CE",
"updateChannel": "IntelliJ IDEA RELEASE",
"productShort": "IDEA",
"wmClass": "jetbrains-idea-ce",
"meta": {
@@ -92,6 +100,7 @@
},
"idea-oss": {
"product": "IntelliJ IDEA Open Source",
"updateChannel": "IntelliJ IDEA RELEASE",
"productShort": "IDEA",
"wmClass": "jetbrains-idea-ce",
"meta": {
@@ -104,6 +113,7 @@
},
"mps": {
"product": "MPS",
"updateChannel": "MPS RELEASE",
"wmClass": "jetbrains-MPS",
"meta": {
"isOpenSource": false,
@@ -115,6 +125,7 @@
},
"phpstorm": {
"product": "PhpStorm",
"updateChannel": "PhpStorm RELEASE",
"wmClass": "jetbrains-phpstorm",
"meta": {
"isOpenSource": false,
@@ -127,6 +138,7 @@
"pycharm": {
"product": "PyCharm",
"productShort": "PyCharm",
"updateChannel": "PyCharm RELEASE",
"wmClass": "jetbrains-pycharm",
"meta": {
"isOpenSource": false,
@@ -139,6 +151,7 @@
"pycharm-community": {
"product": "PyCharm CE",
"productShort": "PyCharm",
"updateChannel": "PyCharm RELEASE",
"wmClass": "jetbrains-pycharm-ce",
"meta": {
"isOpenSource": true,
@@ -151,6 +164,7 @@
"pycharm-oss": {
"product": "PyCharm Open Source",
"productShort": "PyCharm",
"updateChannel": "PyCharm RELEASE",
"wmClass": "jetbrains-pycharm-ce",
"meta": {
"isOpenSource": true,
@@ -162,6 +176,7 @@
},
"rider": {
"product": "Rider",
"updateChannel": "Rider RELEASE",
"wmClass": "jetbrains-rider",
"meta": {
"isOpenSource": false,
@@ -173,6 +188,7 @@
},
"ruby-mine": {
"product": "RubyMine",
"updateChannel": "RubyMine RELEASE",
"wmClass": "jetbrains-rubymine",
"meta": {
"isOpenSource": false,
@@ -184,6 +200,7 @@
},
"rust-rover": {
"product": "RustRover",
"updateChannel": "RustRover RELEASE",
"wmClass": "jetbrains-rustrover",
"meta": {
"isOpenSource": false,
@@ -195,6 +212,7 @@
},
"webstorm": {
"product": "WebStorm",
"updateChannel": "WebStorm RELEASE",
"wmClass": "jetbrains-webstorm",
"meta": {
"isOpenSource": false,
@@ -206,6 +224,7 @@
},
"writerside": {
"product": "Writerside",
"updateChannel": "Writerside EAP",
"wmClass": "jetbrains-writerside",
"meta": {
"isOpenSource": false,
@@ -5,7 +5,7 @@
)
-private val mavenTelemetryDependencies = listOf("com.fasterxml.jackson.core:jackson-core:2.16.0")
+private val mavenTelemetryDependencies = listOf("com.fasterxml.jackson.core:jackson-core:2.17.0")
+private val mavenTelemetryDependencies = listOf("com.fasterxml.jackson.core:jackson-core:2.19.0")
object BundledMavenDownloader {
private val mutex = Mutex()
@@ -1,7 +1,7 @@
--- a/src/main/java/org/jetbrains/jpsBootstrap/KotlinCompiler.kt
+++ b/src/main/java/org/jetbrains/jpsBootstrap/KotlinCompiler.kt
@@ -14,19 +14,7 @@
"https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-ide-plugin-dependencies"
@@ -30,25 +30,7 @@
fun downloadAndExtractKotlinCompiler(communityRoot: BuildDependenciesCommunityRoot): Path {
- // We already have kotlin JPS in the classpath, fetch version from it
@@ -10,12 +10,18 @@
- info("Kotlin compiler version is $kotlincVersion")
-
- val kotlincUrl = getUriForMavenArtifact(
- KOTLIN_IDE_MAVEN_REPOSITORY_URL,
- getMavenRepositoryUrl(),
- "org.jetbrains.kotlin",
- "kotlin-dist-for-ide",
- kotlincVersion,
- "jar")
- val kotlincDist = downloadFileToCacheLocation(communityRoot, kotlincUrl)
- val kotlincDist = if (shouldUseMavenLocal()) {
- val path = kotlincUrl.toPath()
- check(path.exists()) { "kotlin-dist-for-ide was not found in the local Maven repository" }
- path
- } else {
- downloadFileToCacheLocation(communityRoot, kotlincUrl)
- }
- val kotlinc = extractFileToCacheLocation(communityRoot, kotlincDist)
+ val kotlinc = Path.of("KOTLIN_PATH_HERE")
verbose("Kotlin compiler is at $kotlinc")
@@ -46,60 +46,58 @@
return URI.create("${base}/${groupStr}/${artifactId}/${version}/${artifactId}-${version}${classifierStr}.${packaging}")
--- a/platform/build-scripts/downloader/src/org/jetbrains/intellij/build/dependencies/JdkDownloader.kt
+++ b/platform/build-scripts/downloader/src/org/jetbrains/intellij/build/dependencies/JdkDownloader.kt
@@ -59,11 +59,7 @@
@@ -71,9 +71,7 @@
infoLog: (String) -> Unit,
): Path {
val effectiveVariation = if (isMusl) null else variation
- val jdkUrl = getUrl(communityRoot = communityRoot, os = os, arch = arch, isMusl = isMusl, jdkBuildNumber = jdkBuildNumber, variation = effectiveVariation)
- val jdkArchive = downloadFileToCacheLocation(url = jdkUrl.toString(), communityRoot = communityRoot)
- val jdkExtracted = BuildDependenciesDownloader.extractFileToCacheLocation(communityRoot = communityRoot,
- archiveFile = jdkArchive,
- BuildDependenciesExtractOptions.STRIP_ROOT)
- val jdkArchive = downloadFileToCacheLocation(url = jdkUrl, communityRoot = communityRoot)
- val jdkExtracted = extractFileToCacheLocation(communityRoot = communityRoot, archiveFile = jdkArchive, stripRoot = true)
+ val jdkExtracted = Path.of("JDK_PATH_HERE")
val jdkHome = if (os == OS.MACOSX) jdkExtracted.resolve("Contents").resolve("Home") else jdkExtracted
infoLog("JPS-bootstrap JDK (jdkHome=$jdkHome, executable=${getJavaExecutable(jdkHome)})")
return jdkHome
--- a/platform/build-scripts/src/org/jetbrains/intellij/build/LinuxDistributionCustomizer.kt
+++ b/platform/build-scripts/src/org/jetbrains/intellij/build/LinuxDistributionCustomizer.kt
@@ -46,7 +46,7 @@
@@ -62,7 +62,7 @@
/**
* If `true`, a separate *[org.jetbrains.intellij.build.impl.LinuxDistributionBuilder.NO_RUNTIME_SUFFIX].tar.gz artifact without a runtime will be produced.
* If `true`, a separate `*[org.jetbrains.intellij.build.impl.LinuxDistributionBuilder.NO_RUNTIME_SUFFIX].tar.gz` artifact without a runtime will be produced.
*/
- var buildArtifactWithoutRuntime = false
+ var buildArtifactWithoutRuntime = true
- var buildArtifactWithoutRuntime: Boolean = false
+ var buildArtifactWithoutRuntime: Boolean = true
/**
* Set both properties if a .snap package should be produced.
--- a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/LinuxDistributionBuilder.kt
+++ b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/LinuxDistributionBuilder.kt
@@ -50,7 +50,7 @@
@@ -76,7 +76,7 @@
val distBinDir = targetPath.resolve("bin")
val sourceBinDir = context.paths.communityHomeDir.resolve("bin/linux")
addNativeLauncher(distBinDir, targetPath, arch)
addNativeLauncher(distBinDir = distBinDir, targetPath = targetPath, arch = arch, context = context)
- copyFileToDir(NativeBinaryDownloader.getRestarter(context, OsFamily.LINUX, arch), distBinDir)
+ copyFileToDir(sourceBinDir.resolve("${arch.dirName}/restarter"), distBinDir)
copyFileToDir(sourceBinDir.resolve("${arch.dirName}/fsnotifier"), distBinDir)
generateBuildTxt(context, targetPath)
copyDistFiles(context, targetPath, OsFamily.LINUX, arch)
@@ -85,6 +85,8 @@
generateBuildTxt(context = context, targetDirectory = targetPath)
copyDistFiles(context = context, newDir = targetPath, os = OsFamily.LINUX, arch = arch, libcImpl = targetLibcImpl)
@@ -132,6 +132,8 @@
}
}
}
+
+ return@executeStep
+
val runtimeDir = context.bundledRuntime.extract(os = OsFamily.LINUX, arch = arch)
updateExecutablePermissions(runtimeDir, executableFileMatchers)
val tarGzPath = buildTarGz(arch = arch, runtimeDir = runtimeDir, unixDistPath = osAndArchSpecificDistPath, suffix = suffix(arch))
@@ -383,7 +385,8 @@
}
private suspend fun addNativeLauncher(distBinDir: Path, targetPath: Path, arch: JvmArchitecture) {
- val (execPath, licensePath) = NativeBinaryDownloader.getLauncher(context, OsFamily.LINUX, arch)
+ val execPath = Path.of("XPLAT_LAUNCHER_PREBUILT_PATH_HERE/Linux-${arch.archName}/xplat-launcher")
+ val licensePath = Path.of("XPLAT_LAUNCHER_PREBUILT_PATH_HERE/license/xplat-launcher-third-party-licenses.html")
copyFile(execPath, distBinDir.resolve(context.productProperties.baseFileName))
copyFile(licensePath, targetPath.resolve("license/launcher-third-party-libraries.html"))
}
val runtimeDir = context.bundledRuntime.extract(OsFamily.LINUX, arch, targetLibcImpl)
updateExecutablePermissions(runtimeDir, executableFileMatchers)
@@ -422,7 +424,8 @@
}
private suspend fun addNativeLauncher(distBinDir: Path, targetPath: Path, arch: JvmArchitecture, context: BuildContext) {
- val (execPath, licensePath) = NativeBinaryDownloader.getLauncher(context, OsFamily.LINUX, arch)
+ val execPath = Path.of("XPLAT_LAUNCHER_PREBUILT_PATH_HERE/Linux-${arch.archName}/xplat-launcher")
+ val licensePath = Path.of("XPLAT_LAUNCHER_PREBUILT_PATH_HERE/license/xplat-launcher-third-party-licenses.html")
copyFile(execPath, distBinDir.resolve(context.productProperties.baseFileName))
copyFile(licensePath, targetPath.resolve("license/launcher-third-party-libraries.html"))
}
--- a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/brokenPlugins.kt
+++ b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/brokenPlugins.kt
@@ -9,6 +9,8 @@
@@ -122,20 +120,32 @@
}
--- a/platform/build-scripts/src/org/jetbrains/intellij/build/kotlin/KotlinCompilerDependencyDownloader.kt
+++ b/platform/build-scripts/src/org/jetbrains/intellij/build/kotlin/KotlinCompilerDependencyDownloader.kt
@@ -23,31 +23,11 @@
@@ -44,45 +44,11 @@
object KotlinCompilerDependencyDownloader {
fun downloadAndExtractKotlinCompiler(communityRoot: BuildDependenciesCommunityRoot): Path {
- val kotlinJpsPluginVersion = getKotlinJpsPluginVersion(communityRoot)
- val kotlinDistUrl = getUriForMavenArtifact(MAVEN_REPOSITORY_URL, ARTIFACT_GROUP_ID, "kotlin-dist-for-ide", kotlinJpsPluginVersion, "jar")
- val kotlinDistJar = downloadFileToCacheLocation(communityRoot, kotlinDistUrl)
- val kotlinDistUrl = getUriForMavenArtifact(getMavenRepositoryUrl(), ARTIFACT_GROUP_ID, "kotlin-dist-for-ide", kotlinJpsPluginVersion, "jar")
- val kotlinDistJar = if (shouldUseMavenLocal()) {
- val path = kotlinDistUrl.toPath()
- check(path.exists()) { "kotlin-dist-for-ide was not found in the local Maven repository" }
- path
- } else {
- downloadFileToCacheLocation(communityRoot, kotlinDistUrl)
- }
- return extractFileToCacheLocation(communityRoot, kotlinDistJar)
+ return Path.of("KOTLIN_PATH_HERE")
}
suspend fun downloadKotlinJpsPlugin(communityRoot: BuildDependenciesCommunityRoot): Path = withContext(Dispatchers.IO) {
- val kotlinJpsPluginVersion = getKotlinJpsPluginVersion(communityRoot)
- val kotlinJpsPluginUrl = getUriForMavenArtifact(MAVEN_REPOSITORY_URL, ARTIFACT_GROUP_ID, "kotlin-jps-plugin-classpath", kotlinJpsPluginVersion, "jar")
- val kotlinJpsPluginUrl = getUriForMavenArtifact(getMavenRepositoryUrl(), ARTIFACT_GROUP_ID, "kotlin-jps-plugin-classpath", kotlinJpsPluginVersion, "jar")
-
- if (shouldUseMavenLocal()) {
- val kotlinJpsPluginJar = kotlinJpsPluginUrl.toPath()
- check(kotlinJpsPluginJar.exists()) { "kotlin-jps-plugin-classpath was not found in the local Maven repository" }
- return@withContext kotlinJpsPluginJar
- }
-
- val cacheLocation = getTargetFile(communityRoot, kotlinJpsPluginUrl.toString())
- if (cacheLocation.exists()) {
@@ -148,7 +158,9 @@
- println(" * Downloading $kotlinJpsPluginUrl")
- val tmpLocation = Files.createTempFile(cacheLocation.parent, cacheLocation.name, ".tmp")
- retryWithExponentialBackOff {
- FileUtils.copyURLToFile(kotlinJpsPluginUrl.toURL(), tmpLocation.toFile())
- kotlinJpsPluginUrl.toURL().openStream().use {
- Files.copy(it, tmpLocation, StandardCopyOption.REPLACE_EXISTING)
- }
- }
- Files.move(tmpLocation, cacheLocation, StandardCopyOption.ATOMIC_MOVE)
- return@withContext cacheLocation
@@ -38,14 +38,13 @@ fetchurl {
## How to update stuff:
- Run ./bin/update_bin.py, this will update binary IDEs, and automatically commit them
- Source builds need a bit more effort, as they **aren't automated at the moment**:
- Run ./source/update.py ./source/sources.json ./bin/versions.json. This will update the source version to the version of their corresponding binary packages.
- Run ./source/update.py ./source/sources.json. This will update the source version to the latest available version.
- Run these commands respectively:
- `nix build .#jetbrains.idea-oss.src.src && ./source/build_maven.py source/idea_maven_artefacts.json result/` for IDEA
- `nix build .#jetbrains.pycharm-oss.src.src && ./source/build_maven.py source/pycharm_maven_artefacts.json result/` for PyCharm
- Update `brokenPlugins` timestamp and hash (from https://web.archive.org/web/*/https://plugins.jetbrains.com/files/brokenPlugins.json)
- Make sure the Kotlin version used is correct.
- Check the recommended Kotlin version in `.idea/kotlinc.xml` in the IDEA source root
- Do a test build
- Notice that sometimes a newer Kotlin version is required to build from source, if build fails, first check the recommended Kotlin version in `.idea/kotlinc.xml` in the IDEA source root
- Feel free to update the Kotlin version to a compatible one
- If it succeeds, make a commit
- make a PR/merge
- If it fails, ping/message GenericNerdyUsername or the nixpkgs Jetbrains maintainer team
@@ -0,0 +1 @@
[]
@@ -9,6 +9,7 @@
stdenv,
stdenvNoCC,
rustPlatform,
callPackage,
ant,
cmake,
@@ -37,14 +38,14 @@
let
kotlin' = kotlin.overrideAttrs (oldAttrs: {
version = "2.1.10";
version = "2.2.20";
src = fetchurl {
url = oldAttrs.src.url;
sha256 = "sha256-xuniY2iJgo4ZyIEdWriQhiU4yJ3CoxAZVt/uPCqLprE=";
hash = "sha256-gfAmTJBztcu9s/+EGM8sXawHaHn8FW+hpkYvWlrMRCA=";
};
});
jbr = jetbrains.jdk-no-jcef-17;
jbr = jetbrains.jdk-no-jcef;
ideaSrc = fetchFromGitHub {
owner = "jetbrains";
@@ -134,25 +135,7 @@ let
];
};
jpsRepo =
runCommand "jps-bootstrap-repository"
{
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = jpsHash;
nativeBuildInputs = [
ant
jbr
];
}
''
ant -Duser.home=$out -Dbuild.dir=/build/tmp -f ${src}/platform/jps-bootstrap/jps-bootstrap-classpath.xml
find $out -type f \( \
-name \*.lastUpdated \
-o -name resolver-status.properties \
-o -name _remote.repositories \) \
-delete
'';
jpsRepo = callPackage ./jps_repo.nix { inherit jpsHash src jbr; };
jps-bootstrap = stdenvNoCC.mkDerivation {
pname = "jps-bootstrap";
@@ -169,7 +152,8 @@ let
buildPhase = ''
runHook preBuild
ant -Duser.home=${jpsRepo} -Dbuild.dir=/build/out -f jps-bootstrap-classpath.xml
BUILD_HOME=$(mktemp -d)
ant -Duser.home=${jpsRepo} -Dbuild.dir="$BUILD_HOME" -f jps-bootstrap-classpath.xml
runHook postBuild
'';
@@ -177,8 +161,8 @@ let
runHook preInstall
mkdir -p $out/share/java/
cp /build/out/jps-bootstrap.classes.jar $out/share/java/jps-bootstrap.jar
cp -r /build/out/jps-bootstrap.out.lib $out/share/java/jps-bootstrap-classpath
cp "$BUILD_HOME/jps-bootstrap.classes.jar" $out/share/java/jps-bootstrap.jar
cp -r "$BUILD_HOME/jps-bootstrap.out.lib" $out/share/java/jps-bootstrap-classpath
makeWrapper ${jbr}/bin/java $out/bin/jps-bootstrap \
--add-flags "-cp $out/share/java/jps-bootstrap-classpath/'*' org.jetbrains.jpsBootstrap.JpsBootstrapMain"
@@ -190,7 +174,12 @@ let
mkRepoEntry = entry: {
name = ".m2/repository/" + entry.path;
path = fetchurl {
urls = map (url: "${url}/${entry.url}") repositories;
urls = lib.concatMap (url: [
"https://cache-redirector.jetbrains.com/${url}/${entry.url}"
"https://${url}/${entry.url}"
]) repositories;
# Do not try to retry 4xx errors
curlOptsList = [ "--no-retry-all-errors" ];
sha256 = entry.hash;
};
};
@@ -198,25 +187,26 @@ let
kotlin-jps-plugin-classpath =
let
repoUrl = "https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-ide-plugin-dependencies";
groupId = builtins.replaceStrings [ "." ] [ "/" ] "org.jetbrains.kotlin";
repoBaseUrl = "packages.jetbrains.team/maven/p/ij/intellij-dependencies";
repoUrls = [
"https://cache-redirector.jetbrains.com/${repoBaseUrl}"
"https://${repoBaseUrl}"
];
groupId = "org/jetbrains/kotlin";
artefactId = "kotlin-jps-plugin-classpath";
version = kotlin-jps-plugin.version;
in
fetchurl {
url =
repoUrl
+ "/"
+ groupId
+ "/"
+ artefactId
+ "/"
+ version
+ "/"
+ artefactId
+ "-"
+ version
+ ".jar";
urls = map (
url:
lib.concatStringsSep "/" [
url
groupId
artefactId
version
"${artefactId}-${version}.jar"
]
) repoUrls;
hash = kotlin-jps-plugin.hash;
};
@@ -232,16 +222,14 @@ let
"OpenSourceCommunityInstallersBuildTarget";
xplat-launcher = fetchzip {
url = "https://cache-redirector.jetbrains.com/intellij-dependencies/org/jetbrains/intellij/deps/launcher/242.22926/launcher-242.22926.tar.gz";
urls = [
"https://cache-redirector.jetbrains.com/intellij-dependencies/org/jetbrains/intellij/deps/launcher/242.22926/launcher-242.22926.tar.gz"
"https://packages.jetbrains.team/maven/p/ij/intellij-dependencies/org/jetbrains/intellij/deps/launcher/242.22926/launcher-242.22926.tar.gz"
];
hash = "sha256-ttrQZUbBvvyH1BSVt1yWOoD82WwRi/hkoRfrsdCjwTA=";
stripRoot = false;
};
brokenPlugins = fetchurl {
url = "https://web.archive.org/web/20250509141038/https://downloads.marketplace.jetbrains.com/files/brokenPlugins.json";
hash = "sha256-FzYANZSTasCdVEu9jLF1+2PEH8SadUddaIaec5vhKH8=";
};
in
stdenvNoCC.mkDerivation rec {
pname = "${buildType}-oss";
@@ -261,6 +249,9 @@ stdenvNoCC.mkDerivation rec {
../patches/bump-jackson-core-in-source.patch
];
# Regarding brokenPlugins.json:
# We provide an empty brokenPlugins.json because the original file is 2.8 MB in size and can't be reliably
# downloaded without hash changes. The file is not important for the IDEs to function properly.
postPatch = ''
cp ${restarter}/bin/restarter bin/linux/amd64/restarter
cp ${fsnotifier}/bin/fsnotifier bin/linux/amd64/fsnotifier
@@ -275,7 +266,7 @@ stdenvNoCC.mkDerivation rec {
--replace-fail 'JDK_PATH_HERE' '${jbr}/lib/openjdk'
substituteInPlace \
platform/build-scripts/src/org/jetbrains/intellij/build/impl/brokenPlugins.kt \
--replace-fail 'BROKEN_PLUGINS_HERE' '${brokenPlugins}'
--replace-fail 'BROKEN_PLUGINS_HERE' '${./brokenPlugins.json}'
substituteInPlace \
platform/build-scripts/src/org/jetbrains/intellij/build/impl/LinuxDistributionBuilder.kt \
--replace-fail 'XPLAT_LAUNCHER_PREBUILT_PATH_HERE' '${xplat-launcher}'
@@ -290,8 +281,8 @@ stdenvNoCC.mkDerivation rec {
configurePhase = ''
runHook preConfigure
ln -s "$repo"/.m2 /build/.m2
export JPS_BOOTSTRAP_COMMUNITY_HOME=/build/source
ln -s "$repo"/.m2 ../.m2
export JPS_BOOTSTRAP_COMMUNITY_HOME="$PWD"
jps-bootstrap \
-Dbuild.number=${buildNumber} \
-Djps.kotlin.home=${kotlin'} \
@@ -300,7 +291,7 @@ stdenvNoCC.mkDerivation rec {
-Dintellij.build.skip.build.steps=mac_artifacts,mac_dmg,mac_sit,windows_exe_installer,windows_sign,repair_utility_bundle_step,sources_archive \
-Dintellij.build.unix.snaps=false \
--java-argfile-target=java_argfile \
/build/source \
"$PWD" \
${targetClass} \
${targetName}
@@ -1,6 +1,7 @@
#!/usr/bin/env nix-shell
#! nix-shell -i python3 -p python3 python3.pkgs.xmltodict
import os
import urllib
from argparse import ArgumentParser
from xmltodict import parse
from json import dump
@@ -22,11 +23,28 @@ def ensure_is_list(x):
return x
def add_entries(sources, targets, hashes):
for num, artefact in enumerate(sources):
for artefact in sources:
target = None
base_jar_name = os.path.basename(urllib.parse.urlparse(artefact["@url"]).path)
for candidate in targets:
if candidate["@url"].endswith(base_jar_name + "!/"):
target = candidate
break
if target is None:
raise ValueError(f"Did not find target for source {artefact}")
url = artefact["@url"].removeprefix("file://$MAVEN_REPOSITORY$/")
if url == artefact["@url"]:
raise ValueError(f"Unexpected artefact URL {url}")
path = target["@url"].removeprefix("jar://$MAVEN_REPOSITORY$/").removesuffix("!/")
if path == target["@url"]:
raise ValueError(f"Unexpected target path {path}")
hashes.append({
"url": artefact["@url"][26:],
"url": url,
"hash": artefact["sha256sum"],
"path": targets[num]["@url"][25:-2]
"path": path
})
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,26 @@
{
runCommand,
ant,
jbr,
jpsHash,
src,
}:
runCommand "jps-bootstrap-repository"
{
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = jpsHash;
nativeBuildInputs = [
ant
jbr
];
}
''
ant -Duser.home=$out -Dbuild.dir=$(mktemp -d) -f ${src}/platform/jps-bootstrap/jps-bootstrap-classpath.xml
find $out -type f \( \
-name \*.lastUpdated \
-o -name resolver-status.properties \
-o -name _remote.repositories \) \
-delete
''
File diff suppressed because it is too large Load Diff
@@ -1,52 +1,56 @@
{
"idea-oss": {
"version": "2025.1.1.1",
"buildNumber": "251.25410.129",
"version": "2025.3.1",
"buildNumber": "253.29346.138",
"buildType": "idea",
"ideaHash": "sha256-9YatnO+9Pcrlx7EXmq4wMVdeR3DzJF2fsQOvRWH11tk=",
"androidHash": "sha256-ueMdEkXt/x5WIex163iwTlOm5bvZNluNO7SNxs+bPYs=",
"jpsHash": "sha256-aOYCwDSso0X/7f5tWfP+veoQhCvd6tEDk9lq4YX/cb0=",
"ideaHash": "sha256-eAq/lgv6ZcN9SR2E1KYnnhDHe/rBQ3GqqbbF6GstDoU=",
"androidHash": "sha256-quMCzrjCKIo1pkzw4PWewAs5tz7A2aq7TI5zd+QaaUY=",
"jpsHash": "sha256-iHpt926BDLNUwHRXvkqVgwlWiLo1qSZEaGeJcS0Fjmk=",
"restarterHash": "sha256-acCmC58URd6p9uKZrm0qWgdZkqu9yqCs23v8qgxV2Ag=",
"mvnDeps": "idea_maven_artefacts.json",
"repositories": [
"https://cache-redirector.jetbrains.com/repo1.maven.org/maven2",
"https://cache-redirector.jetbrains.com/packages.jetbrains.team/maven/p/ij/intellij-dependencies",
"https://cache-redirector.jetbrains.com/dl.google.com/dl/android/maven2",
"https://cache-redirector.jetbrains.com/download.jetbrains.com/teamcity-repository",
"https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-ide-plugin-dependencies",
"https://cache-redirector.jetbrains.com/packages.jetbrains.team/maven/p/grazi/grazie-platform-public",
"https://cache-redirector.jetbrains.com/packages.jetbrains.team/maven/p/kpm/public",
"https://cache-redirector.jetbrains.com/packages.jetbrains.team/maven/p/ki/maven",
"https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/public/p/compose/dev"
"repo1.maven.org/maven2",
"packages.jetbrains.team/maven/p/ij/intellij-dependencies",
"dl.google.com/dl/android/maven2",
"download.jetbrains.com/teamcity-repository",
"maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-ide-plugin-dependencies",
"packages.jetbrains.team/maven/p/grazi/grazie-platform-public",
"packages.jetbrains.team/maven/p/kpm/public",
"packages.jetbrains.team/maven/p/ki/maven",
"maven.pkg.jetbrains.space/public/p/compose/dev",
"packages.jetbrains.team/maven/p/amper/amper",
"packages.jetbrains.team/maven/p/kt/bootstrap"
],
"kotlin-jps-plugin": {
"version": "2.1.10",
"hash": "sha256-Bu5eCHxls6EoIgzadiEY31plAcxZ6DA2a10CXAtPqV4="
"version": "2.2.20",
"hash": "sha256-+jGghK2+yq+YFm5zT7ob+WTgTiJnHXAjDtlZjOzSISQ="
}
},
"pycharm-oss": {
"version": "2025.1.1.1",
"buildNumber": "251.25410.159",
"version": "2025.3.1",
"buildNumber": "253.29346.142",
"buildType": "pycharm",
"ideaHash": "sha256-0VHoFk9/xKei4jvkEvl+9KiJwCoVPKh7g5EBSXQ+Ios=",
"androidHash": "sha256-af1RJeU7BJTtYTvZRNcH77/Tn4j4lLsRRJUGS80rM4U=",
"jpsHash": "sha256-aOYCwDSso0X/7f5tWfP+veoQhCvd6tEDk9lq4YX/cb0=",
"ideaHash": "sha256-eAq/lgv6ZcN9SR2E1KYnnhDHe/rBQ3GqqbbF6GstDoU=",
"androidHash": "sha256-quMCzrjCKIo1pkzw4PWewAs5tz7A2aq7TI5zd+QaaUY=",
"jpsHash": "sha256-iHpt926BDLNUwHRXvkqVgwlWiLo1qSZEaGeJcS0Fjmk=",
"restarterHash": "sha256-acCmC58URd6p9uKZrm0qWgdZkqu9yqCs23v8qgxV2Ag=",
"mvnDeps": "pycharm_maven_artefacts.json",
"repositories": [
"https://cache-redirector.jetbrains.com/repo1.maven.org/maven2",
"https://cache-redirector.jetbrains.com/packages.jetbrains.team/maven/p/ij/intellij-dependencies",
"https://cache-redirector.jetbrains.com/dl.google.com/dl/android/maven2",
"https://cache-redirector.jetbrains.com/download.jetbrains.com/teamcity-repository",
"https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-ide-plugin-dependencies",
"https://cache-redirector.jetbrains.com/packages.jetbrains.team/maven/p/grazi/grazie-platform-public",
"https://cache-redirector.jetbrains.com/packages.jetbrains.team/maven/p/kpm/public",
"https://cache-redirector.jetbrains.com/packages.jetbrains.team/maven/p/ki/maven",
"https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/public/p/compose/dev"
"repo1.maven.org/maven2",
"packages.jetbrains.team/maven/p/ij/intellij-dependencies",
"dl.google.com/dl/android/maven2",
"download.jetbrains.com/teamcity-repository",
"maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-ide-plugin-dependencies",
"packages.jetbrains.team/maven/p/grazi/grazie-platform-public",
"packages.jetbrains.team/maven/p/kpm/public",
"packages.jetbrains.team/maven/p/ki/maven",
"maven.pkg.jetbrains.space/public/p/compose/dev",
"packages.jetbrains.team/maven/p/amper/amper",
"packages.jetbrains.team/maven/p/kt/bootstrap"
],
"kotlin-jps-plugin": {
"version": "2.1.10",
"hash": "sha256-Bu5eCHxls6EoIgzadiEY31plAcxZ6DA2a10CXAtPqV4="
"version": "2.2.20",
"hash": "sha256-+jGghK2+yq+YFm5zT7ob+WTgTiJnHXAjDtlZjOzSISQ="
}
}
}
@@ -1,12 +1,21 @@
#!/usr/bin/env nix-shell
# ! nix-shell -i python3 -p python3 python3.pkgs.xmltodict
#! nix-shell -i python3 -p python3 python3.pkgs.packaging python3.pkgs.xmltodict python3.pkgs.requests nurl
import os
import subprocess
import pprint
import pathlib
import requests
import json
import re
from argparse import ArgumentParser
from xmltodict import parse
from json import dump, loads
from sys import stdout
from packaging import version
UPDATES_URL = "https://www.jetbrains.com/updates/updates.xml"
IDES_FILE_PATH = pathlib.Path(__file__).parent.joinpath("..").joinpath("ides.json").resolve()
def convert_hash_to_sri(base32: str) -> str:
result = subprocess.run(["nix-hash", "--to-sri", "--type", "sha256", base32], capture_output=True, check=True, text=True)
@@ -19,6 +28,38 @@ def ensure_is_list(x):
return x
def one_or_more(x):
return x if isinstance(x, list) else [x]
# TODO: Code duplication to update_bin.py - eventually refactor or merge scripts
def download_channels():
print(f"Checking for updates from {UPDATES_URL}")
updates_response = requests.get(UPDATES_URL)
updates_response.raise_for_status()
root = parse(updates_response.text)
products = root["products"]["product"]
return {
channel["@name"]: channel
for product in products
if "channel" in product
for channel in one_or_more(product["channel"])
}
# TODO: Code duplication to update_bin.py - eventually refactor or merge scripts
def build_version(build):
build_number = build["@fullNumber"] if "@fullNumber" in build else build["@number"]
return version.parse(build_number)
# TODO: Code duplication to update_bin.py - eventually refactor or merge scripts
def latest_build(channel):
builds = one_or_more(channel["build"])
latest = max(builds, key=build_version)
return latest
def jar_repositories(root_path: str) -> list[str]:
repositories = []
file_contents = parse(open(root_path + "/.idea/jarRepositories.xml").read())
@@ -29,7 +70,11 @@ def jar_repositories(root_path: str) -> list[str]:
for option in ensure_is_list(options):
for item in option['option']:
if item['@name'] == 'url':
repositories.append(item['@value'])
repositories.append(
# Remove protocol and cache-redirector server, we only want the original URL. We try both the original
# URL and the URL via the cache-redirector for download in build.nix
re.sub(r'^https?://', '', item['@value']).removeprefix("cache-redirector.jetbrains.com/")
)
return repositories
@@ -45,7 +90,7 @@ def kotlin_jps_plugin_info(root_path: str) -> (str, str):
version = option['@value']
print(f"* Prefetching Kotlin JPS Plugin version {version}...")
prefetch = subprocess.run(["nix-prefetch-url", "--type", "sha256", f"https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-ide-plugin-dependencies/org/jetbrains/kotlin/kotlin-jps-plugin-classpath/{version}/kotlin-jps-plugin-classpath-{version}.jar"], capture_output=True, check=True, text=True)
prefetch = subprocess.run(["nix-prefetch-url", "--type", "sha256", f"https://packages.jetbrains.team/maven/p/ij/intellij-dependencies/org/jetbrains/kotlin/kotlin-jps-plugin-classpath/{version}/kotlin-jps-plugin-classpath-{version}.jar"], capture_output=True, check=True, text=True)
return (version, convert_hash_to_sri(prefetch.stdout.strip()))
@@ -80,34 +125,87 @@ def prefetch_android(variant: str, buildNumber: str) -> str:
return convert_hash_to_sri(prefetch.stdout.strip())
def get_args() -> (str, str):
def generate_restarter_hash(nixpkgs_path: str, root_path: str) -> str:
print("* Generating restarter Cargo hash...")
root_name = pathlib.Path(root_path).name
output = subprocess.run(["nurl", "--expr", f'''
(import {nixpkgs_path} {{}}).rustPlatform.buildRustPackage {{
name = "restarter";
src = {root_path};
sourceRoot = "{root_name}/native/restarter";
cargoHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
}}
'''], capture_output=True, check=True, text=True)
return output.stdout.strip()
def generate_jps_hash(nixpkgs_path: str, root_path: str) -> str:
print("* Generating jps repo hash...")
jps_repo_nix = pathlib.Path(__file__).parent.joinpath("jps_repo.nix").resolve()
output = subprocess.run(["nurl", "--expr", f'''
(import {nixpkgs_path} {{}}).callPackage {jps_repo_nix} {{
jbr = (import {nixpkgs_path} {{}}).jetbrains.jdk-no-jcef;
src = {root_path};
jpsHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
}}
'''], capture_output=True, check=True, text=True)
return output.stdout.strip()
def get_args() -> str:
parser = ArgumentParser(
description="Updates the IDEA / PyCharm source build infomations"
)
parser.add_argument("out", help="File to output json to")
parser.add_argument("path", help="Path to the bin/versions.json file")
args = parser.parse_args()
return args.path, args.out
return args.out
# TODO: Code duplication to update_bin.py - eventually refactor or merge scripts
def get_latest_versions(channels: dict, ides: dict, name: str) -> (str, str):
update_channel = ides[name]['updateChannel']
print(f"Fetching latest {name} (channel: {update_channel}) release...")
channel = channels[update_channel]
build = latest_build(channel)
new_version = build["@version"]
new_build_number = ""
if "@fullNumber" not in build:
new_build_number = build["@number"]
else:
new_build_number = build["@fullNumber"]
version_number = new_version.split(' ')[0]
print(f"* Version: {version_number} - Build: {new_build_number}")
return version_number, new_build_number
def main():
versions_path, out = get_args()
versions = loads(open(versions_path).read())
idea_data = versions['x86_64-linux']['idea-oss']
pycharm_data = versions['x86_64-linux']['pycharm-oss']
out = get_args()
# source<jetbr.<editr.<applc.<pkgs <nixpkgs
nixpkgs_path = pathlib.Path(__file__).parent.parent.parent.parent.parent.parent.resolve()
assert nixpkgs_path.joinpath("pkgs").is_dir(), f"nixpkgs_path ({nixpkgs_path}) doesn't seem to point to the root of the repo, please check if things were moved."
channels = download_channels()
with open(IDES_FILE_PATH, "r") as ides_file:
ides = json.load(ides_file)
idea_version, idea_build = get_latest_versions(channels, ides, 'idea-oss')
pycharm_version, pycharm_build = get_latest_versions(channels, ides, 'pycharm-oss')
result = { 'idea-oss': {}, 'pycharm-oss': {} }
result['idea-oss']['version'] = idea_data['version']
result['idea-oss']['buildNumber'] = idea_data['build_number']
result['idea-oss']['version'] = idea_version
result['idea-oss']['buildNumber'] = idea_build
result['idea-oss']['buildType'] = 'idea'
result['pycharm-oss']['version'] = pycharm_data['version']
result['pycharm-oss']['buildNumber'] = pycharm_data['build_number']
result['pycharm-oss']['version'] = pycharm_version
result['pycharm-oss']['buildNumber'] = pycharm_build
result['pycharm-oss']['buildType'] = 'pycharm'
print('Fetching IDEA info...')
result['idea-oss']['ideaHash'], ideaOutPath = prefetch_intellij_community('idea', result['idea-oss']['buildNumber'])
result['idea-oss']['androidHash'] = prefetch_android('idea', result['idea-oss']['buildNumber'])
result['idea-oss']['jpsHash'] = ''
result['idea-oss']['restarterHash'] = ''
result['idea-oss']['jpsHash'] = generate_jps_hash(nixpkgs_path, ideaOutPath)
result['idea-oss']['restarterHash'] = generate_restarter_hash(nixpkgs_path, ideaOutPath)
result['idea-oss']['mvnDeps'] = 'idea_maven_artefacts.json'
result['idea-oss']['repositories'] = jar_repositories(ideaOutPath)
result['idea-oss']['kotlin-jps-plugin'] = {}
@@ -117,8 +215,8 @@ def main():
print('Fetching PyCharm info...')
result['pycharm-oss']['ideaHash'], pycharmOutPath = prefetch_intellij_community('pycharm', result['pycharm-oss']['buildNumber'])
result['pycharm-oss']['androidHash'] = prefetch_android('pycharm', result['pycharm-oss']['buildNumber'])
result['pycharm-oss']['jpsHash'] = ''
result['pycharm-oss']['restarterHash'] = ''
result['pycharm-oss']['jpsHash'] = generate_jps_hash(nixpkgs_path, pycharmOutPath)
result['pycharm-oss']['restarterHash'] = generate_restarter_hash(nixpkgs_path, pycharmOutPath)
result['pycharm-oss']['mvnDeps'] = 'pycharm_maven_artefacts.json'
result['pycharm-oss']['repositories'] = jar_repositories(pycharmOutPath)
result['pycharm-oss']['kotlin-jps-plugin'] = {}
+3 -3
View File
@@ -11,18 +11,18 @@
buildGoModule rec {
pname = "age-plugin-tpm";
version = "0.3.0";
version = "1.0.0";
src = fetchFromGitHub {
owner = "Foxboron";
repo = "age-plugin-tpm";
tag = "v${version}";
hash = "sha256-yr1PSSmcUoOrQ8VMQEoaCLNvDO+3+6N7XXdNUyYVz9M=";
hash = "sha256-Vr6simVW5nAWTa8Dro2gar2+O90T8u6h09wTnEnygss=";
};
proxyVendor = true;
vendorHash = "sha256-VEx6qP02QcwETOQUkMsrqVb+cOElceXcTDaUr480ngs=";
vendorHash = "sha256-CbgDGyVQ9MTYCe56M1VzMnap5P6Y9p4jnK8tyr3zh20=";
nativeCheckInputs = [
age
+15 -23
View File
@@ -12,44 +12,38 @@
age-plugin-1p,
makeWrapper,
runCommand,
versionCheckHook,
nix-update-script,
}:
buildGoModule (final: {
pname = "age";
version = "1.2.1";
version = "1.3.1";
src = fetchFromGitHub {
owner = "FiloSottile";
repo = "age";
tag = "v${final.version}";
hash = "sha256-9ZJdrmqBj43zSvStt0r25wjSfnvitdx3GYtM3urHcaA=";
hash = "sha256-Qs/q3zQYV0PukABBPf/aU5V1oOhw95NG6K301VYJk8A=";
};
vendorHash = "sha256-ilRLEV7qOBZbqzg2XQi4kt0JAb/1ftT4JmahYT0zSRU=";
vendorHash = "sha256-iVDkYXXR2pXlUVywPgVRNMORxOOEhAmzpSM0xqSQMSQ=";
ldflags = [
"-s"
"-w"
"-X main.Version=${final.version}"
"-X main.Version=v${final.version}"
];
nativeBuildInputs = [
installShellFiles
];
nativeBuildInputs = [ installShellFiles ];
preInstall = ''
installManPage doc/*.1
'';
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
doInstallCheck = true;
installCheckPhase = ''
if [[ "$("$out/bin/${final.pname}" --version)" == "${final.version}" ]]; then
echo '${final.pname} smoke check passed'
else
echo '${final.pname} smoke check failed'
return 1
fi
'';
# plugin test is flaky, see https://github.com/FiloSottile/age/issues/517
checkFlags = [
@@ -73,14 +67,12 @@ buildGoModule (final: {
# convenience function for wrapping sops with plugins
passthru.withPlugins =
filter:
runCommand "age-${final.version}-with-plugins"
{
nativeBuildInputs = [ makeWrapper ];
}
''
makeWrapper ${lib.getBin final.finalPackage}/bin/age $out/bin/age \
--prefix PATH : "${lib.makeBinPath (filter final.passthru.plugins)}"
'';
runCommand "age-${final.version}-with-plugins" { nativeBuildInputs = [ makeWrapper ]; } ''
makeWrapper ${lib.getBin final.finalPackage}/bin/age $out/bin/age \
--prefix PATH : "${lib.makeBinPath (filter final.passthru.plugins)}"
'';
passthru.updateScript = nix-update-script { };
meta = {
changelog = "https://github.com/FiloSottile/age/releases/tag/v${final.version}";
+5 -5
View File
@@ -11,16 +11,16 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "clouddrive2";
version = "0.9.17";
version = "0.9.18";
src = fetchurl {
url = "https://github.com/cloud-fs/cloud-fs.github.io/releases/download/v${finalAttrs.version}/clouddrive-2-${os}-${arch}-${finalAttrs.version}.tgz";
hash =
{
x86_64-linux = "sha256-AAGgtofApbyW/4TiqmC5tAPsiBIz1G2nYkbcvoKMO6k=";
aarch64-linux = "sha256-r0Bx0sf4chVBbxZsg3AoaF+CmTjFniIFb3Fa4BNpk4E=";
x86_64-darwin = "sha256-MtmYWGmv7+LimuWBlXdtBy1utkaDrjCjMrqtxlLSb/o=";
aarch64-darwin = "sha256-/tfkjWXpzE8cxx665KHR4T+VAbymd0loEGLNK206Yag=";
x86_64-linux = "sha256-FTddo953oYhAwSXTiLWIN2y3BV6Q+cy8sE6dNJKghiU=";
aarch64-linux = "sha256-j23/P9CDb+0+gheMMbxE7NyHmnhHmPRWLc9SvD27pRs=";
x86_64-darwin = "sha256-YiCkYrDldm5JcAheTCUC/gg1ZgMxMue/bcz1gEjXdy0=";
aarch64-darwin = "sha256-CbzA38bkavPGJko0x/JqBxkx5CP7wM6iDEB2aejZrN4=";
}
.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
};
+29 -17
View File
@@ -2,22 +2,23 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch2,
makeWrapper,
nodejs,
pnpm_8,
pnpm_10,
fetchPnpmDeps,
pnpmConfigHook,
versionCheckHook,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "concurrently";
version = "8.2.2";
version = "9.2.1";
src = fetchFromGitHub {
owner = "open-cli-tools";
repo = "concurrently";
tag = "v${finalAttrs.version}";
hash = "sha256-VoyVYBOBMguFKnG2VItk1L5BbF72nO7bYJpb7adqICs=";
hash = "sha256-PKbrYgQ6D0vxMSxx+aHBo09NJZh5YYfb9Fx9L5Ue8vM=";
};
pnpmDeps = fetchPnpmDeps {
@@ -25,26 +26,17 @@ stdenv.mkDerivation (finalAttrs: {
pname
version
src
patches
;
pnpm = pnpm_8;
fetcherVersion = 1;
hash = "sha256-F1teWIABkK0mqZcK3RdGNKmexI/C59QWSrrD1jYbHt0=";
pnpm = pnpm_10;
fetcherVersion = 3;
hash = "sha256-UVsmOneTICl3Ybmv7ebebkXmr1qwNh17dPhL0qlPgyg=";
};
patches = [
(fetchpatch2 {
name = "use-pnpm-8.patch";
url = "https://github.com/open-cli-tools/concurrently/commit/0b67a1a5a335396340f4347886fb9d0968a57555.patch";
hash = "sha256-mxid2Yl9S6+mpN7OLUCrJ1vS0bQ/UwNiGJ0DL6Zn//Q=";
})
];
nativeBuildInputs = [
makeWrapper
nodejs
pnpmConfigHook
pnpm_8
pnpm_10
];
buildPhase = ''
@@ -55,6 +47,17 @@ stdenv.mkDerivation (finalAttrs: {
runHook postBuild
'';
preInstall = ''
# remove unnecessary files
CI=true pnpm --ignore-scripts --prod prune
find -type f \( -name "*.ts" -o -name "*.map" \) -exec rm -rf {} +
# https://github.com/pnpm/pnpm/issues/3645
find node_modules -xtype l -delete
# remove non-deterministic files
rm node_modules/{.modules.yaml,.pnpm-workspace-state-v1.json}
'';
installPhase = ''
runHook preInstall
@@ -63,10 +66,19 @@ stdenv.mkDerivation (finalAttrs: {
makeWrapper "${lib.getExe nodejs}" "$out/bin/concurrently" \
--add-flags "$out/lib/concurrently/dist/bin/concurrently.js"
ln -s "$out/bin/concurrently" "$out/bin/con"
cp package.json "$out/lib/concurrently/"
runHook postInstall
'';
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru.updateScript = nix-update-script { };
meta = {
changelog = "https://github.com/open-cli-tools/concurrently/releases/tag/v${finalAttrs.version}";
description = "Run commands concurrently";
@@ -0,0 +1,32 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
nodejs,
}:
buildNpmPackage {
pname = "deye-dummycloud";
version = "c36009e";
src = fetchFromGitHub {
owner = "Hypfer";
repo = "deye-microinverter-cloud-free";
rev = "c36009e5c1711aa0f76bd17d63e33322535a87f9";
hash = "sha256-ARd2Vi305lErYAZ3FN+hXocHCHxC3gr6mbrPn032zxc=";
};
sourceRoot = "source/dummycloud";
npmDepsHash = "sha256-zN+iE9M12osr72z9Jvp80SdLeGahz7drvF+kx7914AE=";
patches = [ ./0001-packge.json-Remove-dev-dependencies-for-repoducible-.patch ];
dontNpmBuild = true;
meta = {
description = "A dummy cloud server for DEYE microinverters (Node.js) and bridge to mqtt";
homepage = "https://github.com/Hypfer/deye-microinverter-cloud-free";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ poeschel ];
platforms = lib.platforms.linux;
};
}
+1
View File
@@ -94,5 +94,6 @@ stdenv.mkDerivation rec {
homepage = "https://gitlab.com/adhami3310/Footage";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ onny ];
broken = stdenv.hostPlatform.isDarwin;
};
}
+1 -1
View File
@@ -42,7 +42,7 @@ stdenv.mkDerivation {
};
# Fix linkage issues on X11 (https://github.com/NixOS/nixpkgs/issues/142583)
patches = [ ./x11.patch ];
patches = [ ./x11.patch ] ++ (lib.optional withMinecraftPatch ./window-position.patch);
prePatch = lib.optionalString withMinecraftPatch ''
patches+=(${minecraftPatches}/patches/*.patch)
'';
@@ -0,0 +1,30 @@
From 807d9b0efe86e85a54cd2daf7da2ba1591b39f14 Mon Sep 17 00:00:00 2001
From: uku <hi@uku.moe>
Date: Sat, 27 Dec 2025 19:25:42 +0100
Subject: [PATCH] fix: dismiss warning about window position being unavailable
In addition to the other glfw patches, this one is required on certain
compositors such as niri and waywall to be able to launch Minecraft at
all.
---
src/wl_window.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/wl_window.c b/src/wl_window.c
index ad39b2e0..38f86a17 100644
--- a/src/wl_window.c
+++ b/src/wl_window.c
@@ -2293,8 +2293,8 @@ void _glfwGetWindowPosWayland(_GLFWwindow* window, int* xpos, int* ypos)
// A Wayland client is not aware of its position, so just warn and leave it
// as (0, 0)
- _glfwInputError(GLFW_FEATURE_UNAVAILABLE,
- "Wayland: The platform does not provide the window position");
+ fprintf(stderr,
+ "[GLFW] Wayland: The platform does not provide the window position\n");
}
void _glfwSetWindowPosWayland(_GLFWwindow* window, int xpos, int ypos)
--
2.51.2
+4
View File
@@ -4,6 +4,7 @@
fetchFromGitHub,
installShellFiles,
stdenv,
nix-update-script,
}:
buildGoModule rec {
@@ -36,11 +37,14 @@ buildGoModule rec {
--zsh <($out/bin/glow completion zsh)
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Render markdown on the CLI, with pizzazz";
homepage = "https://github.com/charmbracelet/glow";
changelog = "https://github.com/charmbracelet/glow/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ higherorderlogic ];
mainProgram = "glow";
};
}
+7 -4
View File
@@ -1,10 +1,10 @@
{
lib,
stdenv,
stdenvNoCC,
fetchFromGitHub,
}:
stdenv.mkDerivation {
stdenvNoCC.mkDerivation {
pname = "inconsolata";
version = "3.001";
@@ -12,11 +12,14 @@ stdenv.mkDerivation {
owner = "google";
repo = "fonts";
rev = "0f203e3740b5eb77e0b179dff1e5869482676782";
sha256 = "sha256-Q8eUJ0mkoB245Ifz5ulxx61x4+AqKhG0uqhWF2nSLpw=";
hash = "sha256-4+aIjVO9/L4mCWGYqL1drFehHZTjRL25vTwh3c7GoFk=";
rootDir = "ofl/inconsolata";
};
installPhase = ''
install -m644 --target $out/share/fonts/truetype/inconsolata -D $src/ofl/inconsolata/static/*.ttf $src/ofl/inconsolata/*.ttf
runHook preInstall
install -m644 --target $out/share/fonts/truetype/inconsolata -D static/*.ttf *.ttf
runHook postInstall
'';
meta = {
+2 -2
View File
@@ -9,11 +9,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "kshutdown";
version = "6.0";
version = "6.2";
src = fetchurl {
url = "mirror://sourceforge/project/kshutdown/KShutdown/${finalAttrs.version}/kshutdown-source-${finalAttrs.version}.zip";
hash = "sha256-GXs0Cb1gtlPy8fxy3CJ10t97BENMWFsRJHij+104BLA=";
hash = "sha256-wV9CWS2I5DGt6oolXAyUqvN4OkV8M3MumflveGlNg5Y=";
name = "kshutdown-source-${finalAttrs.version}.zip";
};
+2 -2
View File
@@ -1,7 +1,6 @@
{
lib,
fetchurl,
fetchpatch,
ncurses,
pcre2,
stdenv,
@@ -54,8 +53,9 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.gpl3Plus;
mainProgram = "less";
maintainers = with lib.maintainers; [
# not active
# dtzWill is not active
dtzWill
mdaniels5757
];
platforms = lib.platforms.unix;
};
+2 -2
View File
@@ -44,7 +44,7 @@
imagemagick,
imlib2,
vips,
xfce,
xfwm4,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -212,7 +212,7 @@ stdenv.mkDerivation (finalAttrs: {
vips
;
inherit (enlightenment) efl;
inherit (xfce) xfwm4;
inherit xfwm4;
ffmpeg = ffmpeg.override { withSvg = true; };
};
};
+3 -3
View File
@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "mktoc";
version = "4.0.0";
version = "5.0.0";
src = fetchFromGitHub {
owner = "KevinGimbel";
repo = "mktoc";
rev = "v${finalAttrs.version}";
hash = "sha256-Pq4o0t0cUrkXff+qSU5mlDo5A0nhFBuFk3Xz10AWDeo=";
hash = "sha256-QiV0lPM5rRAVH+a15f3G8quoa26I8jHEvbtfTQU5FKM=";
};
cargoHash = "sha256-SdwNXstW61Yvp1V72nxl+9dijGJwyrdPYZo+q0UGYGg=";
cargoHash = "sha256-Ny9g1TQUSGOBocFtzmxfFZp5K8t7z3JlEMHBTi69bLU=";
nativeInstallCheckInputs = [
versionCheckHook
@@ -6,16 +6,16 @@
buildNpmPackage rec {
pname = "netbird-dashboard";
version = "2.23.0";
version = "2.23.1";
src = fetchFromGitHub {
owner = "netbirdio";
repo = "dashboard";
rev = "v${version}";
hash = "sha256-BuoDcgc68qJGPruqSUB1IFOvuPOH0+6J+k044jJefsI=";
hash = "sha256-zM8vSQzhJqOgqKyRW7NSh/dX6pA+BRj+bExuQYmcWR4=";
};
npmDepsHash = "sha256-Ry9T4SdR3UWv/IDd99Ar+sFTMP1JAEg0QcAEM7uY4Hk=";
npmDepsHash = "sha256-RIhVSRjqzFawXaRZHAUwGodnNerGz+I3GbPFsP5qESY=";
npmFlags = [ "--legacy-peer-deps" ];
installPhase = ''
+2 -2
View File
@@ -16,13 +16,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "pkg";
version = "2.1.4";
version = "2.5.0";
src = fetchFromGitHub {
owner = "freebsd";
repo = "pkg";
rev = finalAttrs.version;
hash = "sha256-aqNJGor6gH/7XjwuT2uD7L89wn1kzsFKBMlitSVjUCM=";
hash = "sha256-bx/BPldUZHX7KYM8bYRT/p/RcLKqAXqlnCihP8Ec7NY=";
};
setOutputFlags = false;
+10 -10
View File
@@ -1,14 +1,14 @@
{
version = "1.77.0";
version = "1.78.0";
hashes = {
linux-aarch_64 = "sha256-2sY1n35HOW4jwGk48GQOHDmh2bd9V9GFT/UylKBIel0=";
linux-ppcle_64 = "sha256-hYxdveN3RpUNLv4g3BMO4CAeYpV13hGmZEdS///yfE4=";
linux-s390_64 = "sha256-7cnA9dXZTiYEhR6PwsBmRZ0UDmKrxoeGZqVjHUHKxQQ=";
linux-x86_32 = "sha256-QVc2ANzOqoyLOAy1r+daY9OmbXrF1ebmB/oNS+gj70Q=";
linux-x86_64 = "sha256-b+H3Llnxl0Cb7/TNolyay/noKrexz7IMGFvC5hlWwo4=";
osx-aarch_64 = "sha256-5H2txiDsG21tpFB9meM7tKGw+IZzBC8IoBlPScxckhQ=";
osx-x86_64 = "sha256-5H2txiDsG21tpFB9meM7tKGw+IZzBC8IoBlPScxckhQ=";
windows-x86_32 = "sha256-YkUchHqd20lmICFIEdPv+pHpSx1D89im1BOTureQIco=";
windows-x86_64 = "sha256-35/e+ampAdMFI/xFh3dDD2cR0qzvNAsJBjn6ui1J2hE=";
linux-aarch_64 = "sha256-yVyvCriifgHlP4z/jolH9qiEGvqjV/pLBnm0r0VzGIY=";
linux-ppcle_64 = "sha256-wD7g3cHI1rXb6RQemW7/D9w6qF3om09wckNToYHa1BU=";
linux-s390_64 = "sha256-Dubkn+X+3fYOy+SeW6V5QxSqPizGPZBoXSSlqHun56k=";
linux-x86_32 = "sha256-ALYeBWy/IjhmFOG0Llj5luCOtSYBKtgIsjdDKcIP6v8=";
linux-x86_64 = "sha256-wC3U11e2eUByoWdcKp8jJjG2TD1TwewZ7/sFBIWagv8=";
osx-aarch_64 = "sha256-sHInlUATIKcRMDlfGj2KZTS3MRAIzOjXj4y3zhdtqiY=";
osx-x86_64 = "sha256-sHInlUATIKcRMDlfGj2KZTS3MRAIzOjXj4y3zhdtqiY=";
windows-x86_32 = "sha256-bIUQUaveyBKreBwBFr9o3RtyQr3cb+/TfbGxp8WyuPg=";
windows-x86_64 = "sha256-DHxx0rr2wfxfpRQlJ39BdI7kCUmO8rTX3JHvGKdSAeA=";
};
}
@@ -7,13 +7,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "sdl_gamecontrollerdb";
version = "0-unstable-2025-12-11";
version = "0-unstable-2025-12-26";
src = fetchFromGitHub {
owner = "mdqinc";
repo = "SDL_GameControllerDB";
rev = "16ac3e553e23068e26819971f2cc6cd088a7f2f6";
hash = "sha256-yXmgvkkIGcXUAnllUFb3AoKvyEbUN9YG05/VaPuFqCs=";
rev = "547fb8019f8cf7c443244b918c5be05c9e5a53f3";
hash = "sha256-mPVnxDuivh+jBf25jPo3wA/CHAgGkzAb2ybbRLmdE/o=";
};
dontBuild = true;
+7 -7
View File
@@ -6,18 +6,18 @@
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
rustPlatform.buildRustPackage (finalAttrs: {
pname = "systemctl-tui";
version = "0.4.0";
version = "0.4.1";
src = fetchFromGitHub {
owner = "rgwood";
repo = "systemctl-tui";
tag = "v${version}";
hash = "sha256-1KYaw4q1+dPHImjjCnUPXNu7ihdEfNuzQfHfPi1uDOw=";
tag = "v${finalAttrs.version}";
hash = "sha256-OzOc0osaKoRVuo+fBJOhsZAiFfm0ZHj6POUjRaIZGsc=";
};
cargoHash = "sha256-rOmoV8sHeoM2ypDlBbiLDIYHhFQZJ6T2D5VkSNW+uuc=";
cargoHash = "sha256-MSpex0G1RJsI5RCrAlSgeY2/6flndwCjdtopWfuXNts=";
nativeInstallCheckInputs = [
versionCheckHook
@@ -31,9 +31,9 @@ rustPlatform.buildRustPackage rec {
meta = {
description = "Simple TUI for interacting with systemd services and their logs";
homepage = "https://crates.io/crates/systemctl-tui";
changelog = "https://github.com/rgwood/systemctl-tui/releases/tag/v${version}";
changelog = "https://github.com/rgwood/systemctl-tui/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ siph ];
mainProgram = "systemctl-tui";
};
}
})
@@ -7,7 +7,6 @@
thunar,
cmake,
ninja,
xfce,
gitUpdater,
}:
+86
View File
@@ -0,0 +1,86 @@
{
lib,
stdenv,
fetchFromGitLab,
pkg-config,
util-macros,
autoreconfHook,
wrapWithXFileSearchPathHook,
libx11,
libxau,
libxaw,
libxcrypt,
libxdmcp,
libxext,
libxft,
libxinerama,
libxmu,
libxpm,
libxrender,
libxt,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xdm";
version = "1.1.17";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "xorg";
repo = "app/xdm";
tag = "xdm-${finalAttrs.version}";
hash = "sha256-PhMctvL+Vp9uNmTtowMHzkoekieVCgNZCfUZ1XpjpyY=";
};
strictDeps = true;
nativeBuildInputs = [
pkg-config
util-macros
autoreconfHook
wrapWithXFileSearchPathHook
];
buildInputs = [
libx11
libxau
libxaw
libxcrypt
libxdmcp
libxext
libxft
libxinerama
libxmu
libxpm
libxrender
libxt
];
configureFlags = [
"ac_cv_path_RAWCPP=${stdenv.cc.targetPrefix}cpp"
]
# checking for /dev/urandom... configure: error: cannot check for file existence when cross compiling
++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
"ac_cv_file__dev_urandom=true"
"ac_cv_file__dev_random=true"
];
installFlags = [ "appdefaultdir=$(out)/share/X11/app-defaults" ];
passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=xdm-(.*)" ]; };
meta = {
description = "X Display Manager with support for XDMCP, host chooser";
homepage = "https://gitlab.freedesktop.org/xorg/app/xdm";
license = with lib.licenses; [
mit
mitOpenGroup
x11
bsd3ClauseTso
bsd2
];
mainProgram = "xdm";
maintainers = [ ];
platforms = lib.platforms.unix;
};
})
+75
View File
@@ -0,0 +1,75 @@
{
lib,
stdenv,
fetchFromGitLab,
meson,
pkg-config,
ninja,
libx11,
libxcb,
libxext,
libxi,
libxtst,
libxcomposite,
libxinerama,
libxpresent,
libxrandr,
libxrender,
libxxf86dga,
libxxf86vm,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xdpyinfo";
version = "1.4.0";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "xorg";
repo = "app/xdpyinfo";
tag = "xdpyinfo-${finalAttrs.version}";
hash = "sha256-zN2ViUJhrndqyLFCzcUi2DRg2K2q9eJXzHlUsMNmhNg=";
};
strictDeps = true;
nativeBuildInputs = [
meson
pkg-config
ninja
];
buildInputs = [
libx11
libxcb
libxext
libxi
libxtst
# optional deps
libxcomposite
libxinerama
libxpresent
libxrandr
libxrender
libxxf86dga
libxxf86vm
];
passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=xdpyinfo-(.*)" ]; };
meta = {
description = "display information utility for X";
longDescription = ''
xdpyinfo is a utility for displaying information about an X server.
It is used to examine the capabilities of a server, the predefined
values for various parameters used in communicating between clients
and the server, and the different types of screens, visuals, and X11
protocol extensions that are available.
'';
homepage = "https://gitlab.freedesktop.org/xorg/app/xdpyinfo";
license = lib.licenses.mitOpenGroup;
mainProgram = "xdpyinfo";
maintainers = [ ];
platforms = lib.platforms.unix;
};
})
+58
View File
@@ -0,0 +1,58 @@
{
lib,
stdenv,
fetchFromGitLab,
autoreconfHook,
pkg-config,
util-macros,
xorgproto,
libx11,
libxmu,
mcpp,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xrdb";
version = "1.2.2";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
group = "xorg";
owner = "app";
repo = "xrdb";
tag = "xrdb-${finalAttrs.version}";
hash = "sha256-XCi/E6tVaLYGRsMWJalCl1J8VIT4xV6KFuo+K//LQGY=";
};
strictDeps = true;
nativeBuildInputs = [
autoreconfHook
pkg-config
util-macros
];
buildInputs = [
xorgproto
libx11
libxmu
];
# replace gcc with mcpp as preprocessor to reduce the closure size
# see https://github.com/NixOS/nixpkgs/issues/9480
configureFlags = [ "--with-cpp=${lib.getExe mcpp}" ];
passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=xrdb-(.*)" ]; };
meta = {
description = "X resource database utility";
homepage = "https://gitlab.freedesktop.org/xorg/app/xrdb";
license = with lib.licenses; [
hpndDec
mitOpenGroup
];
mainProgram = "xrdb";
maintainers = [ ];
platforms = lib.platforms.unix;
};
})
+1
View File
@@ -57,6 +57,7 @@ stdenv.mkDerivation rec {
];
mesonFlags = [
# FIXME: `MathJax.js` is only available in MathJax 2.7.x.
"-Dmathjax-directory=${mathjax}"
"-Dintrospection=true"
]
@@ -2,17 +2,18 @@
lib,
stdenvNoCC,
fetchFromGitHub,
unstableGitUpdater,
}:
stdenvNoCC.mkDerivation {
pname = "zsh-fzf-history-search";
version = "0-unstable-2024-05-15";
version = "0-unstable-2025-11-08";
src = fetchFromGitHub {
owner = "joshskidmore";
repo = "zsh-fzf-history-search";
rev = "d5a9730b5b4cb0b39959f7f1044f9c52743832ba";
hash = "sha256-tQqIlkgIWPEdomofPlmWNEz/oNFA1qasILk4R5RWobY=";
rev = "35df458f7d9478fa88c74af762dcd296cdfd485d";
hash = "sha256-6UWmfFQ9JVyg653bPQCB5M4jJAJO+V85rU7zP4cs1VI=";
};
dontConfigure = true;
@@ -27,11 +28,13 @@ stdenvNoCC.mkDerivation {
runHook postInstall
'';
passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
meta = {
description = "Simple zsh plugin that replaces Ctrl+R with an fzf-driven select which includes date/times";
homepage = "https://github.com/joshskidmore/zsh-fzf-history-search";
license = lib.licenses.mit;
platforms = lib.platforms.unix;
maintainers = [ ];
maintainers = [ lib.maintainers.Gliczy ];
};
}
+7 -3
View File
@@ -33,14 +33,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "atril";
version = "1.28.2";
version = "1.28.3";
src = fetchFromGitHub {
owner = "mate-desktop";
repo = "atril";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-NnWD3Gcxn8ZZKdHzg6iclLiSwj3sBvF+BwpNtcU+dSY=";
hash = "sha256-y+J/goOl5ol3j0ySLkyQSndS8zc+dOKhyrPv0FmVkZg=";
};
nativeBuildInputs = [
@@ -73,7 +73,11 @@ stdenv.mkDerivation (finalAttrs: {
configureFlags =
[ ]
++ lib.optionals enableDjvu [ "--enable-djvu" ]
++ lib.optionals enableEpub [ "--enable-epub" ]
++ lib.optionals enableEpub [
# FIXME: We ship this with non-existent fallback mathjax-directory
# because `MathJax.js` is only available in MathJax 2.7.x.
"--enable-epub"
]
++ lib.optionals enablePostScript [ "--enable-ps" ]
++ lib.optionals enableXps [ "--enable-xps" ]
++ lib.optionals enableImages [ "--enable-pixbuf" ];
+74 -110
View File
@@ -7,6 +7,8 @@
makeScopeWithSplicing',
}:
# New packages should go to top-level instead of here!
# TODO: Remove this scope entirely in NixOS 26.11.
makeScopeWithSplicing' {
otherSplices = generateSplicesForMkScope "xfce";
f = (
@@ -15,82 +17,13 @@ makeScopeWithSplicing' {
inherit (self) callPackage;
in
{
#### CORE
thunar-unwrapped = callPackage ./core/thunar { };
thunar = callPackage ./core/thunar/wrapper.nix { };
thunar-volman = callPackage ./core/thunar-volman { };
thunar-archive-plugin = callPackage ./thunar-plugins/archive { };
thunar-dropbox-plugin = callPackage ./thunar-plugins/dropbox { };
thunar-media-tags-plugin = callPackage ./thunar-plugins/media-tags { };
thunar-vcs-plugin = callPackage ./thunar-plugins/vcs { };
tumbler = callPackage ./core/tumbler { };
xfce4-session = callPackage ./core/xfce4-session { };
xfce4-settings = callPackage ./core/xfce4-settings { };
xfce4-power-manager = callPackage ./core/xfce4-power-manager { };
xfdesktop = callPackage ./core/xfdesktop { };
xfwm4 = callPackage ./core/xfwm4 { };
xfce4-appfinder = callPackage ./core/xfce4-appfinder { };
#### APPLICATIONS
catfish = callPackage ./applications/catfish { };
gigolo = callPackage ./applications/gigolo { };
mousepad = callPackage ./applications/mousepad { };
orage = callPackage ./applications/orage { };
parole = callPackage ./applications/parole { };
ristretto = callPackage ./applications/ristretto { };
xfmpc = callPackage ./applications/xfmpc { };
xfce4-taskmanager = callPackage ./applications/xfce4-taskmanager { };
xfce4-dict = callPackage ./applications/xfce4-dict { };
xfce4-terminal = callPackage ./applications/xfce4-terminal { };
xfce4-screensaver = callPackage ./applications/xfce4-screensaver { };
xfce4-screenshooter = callPackage ./applications/xfce4-screenshooter { };
xfdashboard = callPackage ./applications/xfdashboard { };
xfce4-volumed-pulse = callPackage ./applications/xfce4-volumed-pulse { };
xfce4-notifyd = callPackage ./applications/xfce4-notifyd { };
xfburn = callPackage ./applications/xfburn { };
xfce4-panel-profiles = callPackage ./applications/xfce4-panel-profiles { };
#### ART
xfce4-icon-theme = callPackage ./art/xfce4-icon-theme { };
xfwm4-themes = callPackage ./art/xfwm4-themes { };
}
// lib.optionalAttrs config.allowAliases {
#### ALIASES
genericUpdater = throw "xfce.genericUpdater has been removed: use pkgs.genericUpdater directly"; # added 2025-12-22
genericUpdater = throw "xfce.genericUpdater has been removed: use pkgs.genericUpdater directly"; # added 2025-12-22
xinitrc = throw "xfce.xinitrc has been removed: use pkgs.xfce4-session.xinitrc directly"; # added 2025-12-28
thunar-bare = throw "xfce.thunar-bare has been removed: use pkgs.thunar-unwrapped directly"; # added 2025-12-28
mkXfceDerivation = lib.warnOnInstantiate ''
xfce.mkXfceDerivation has been deprecated, please use stdenv.mkDerivation
@@ -103,44 +36,75 @@ makeScopeWithSplicing' {
xfce4-datetime-plugin has been removed: this plugin has been merged into the xfce4-panel's built-in clock
plugin and thus no longer maintained upstream, see https://gitlab.xfce.org/xfce/xfce4-panel/-/issues/563.
''; # Added 2025-05-20
exo = lib.warnOnInstantiate "xfce.exo was moved to top-level. Please use pkgs.xfce4-exo directly" pkgs.xfce4-exo; # Added on 2025-12-23
garcon = lib.warnOnInstantiate "xfce.garcon was moved to top-level. Please use pkgs.garcon directly" pkgs.garcon; # Added on 2025-12-23
libxfce4ui = lib.warnOnInstantiate "xfce.libxfce4ui was moved to top-level. Please use pkgs.libxfce4ui directly" pkgs.libxfce4ui; # Added on 2025-12-23
libxfce4util = lib.warnOnInstantiate "xfce.libxfce4util was moved to top-level. Please use pkgs.libxfce4util directly" pkgs.libxfce4util; # Added on 2025-12-23
libxfce4windowing = lib.warnOnInstantiate "xfce.libxfce4windowing was moved to top-level. Please use pkgs.libxfce4windowing directly" pkgs.libxfce4windowing; # Added on 2025-12-23
xfce4-dev-tools = lib.warnOnInstantiate "xfce.xfce4-dev-tools was moved to top-level. Please use pkgs.xfce4-dev-tools directly" pkgs.xfce4-dev-tools; # Added on 2025-12-23
xfce4-panel = lib.warnOnInstantiate "xfce.xfce4-panel was moved to top-level. Please use pkgs.xfce4-panel directly" pkgs.xfce4-panel; # Added on 2025-12-23
xfconf = lib.warnOnInstantiate "xfce.xfconf was moved to top-level. Please use pkgs.xfconf directly" pkgs.xfconf; # Added on 2025-12-23
thunar = lib.warnOnInstantiate "xfce.thunar was moved to top-level. Please use pkgs.thunar directly" pkgs.thunar; # Added on 2025-12-26
thunar-unwrapped = lib.warnOnInstantiate "xfce.thunar-unwrapped was moved to top-level. Please use pkgs.thunar-unwrapped directly" pkgs.thunar-unwrapped; # Added on 2025-12-26
thunar-volman = lib.warnOnInstantiate "xfce.thunar-volman was moved to top-level. Please use pkgs.thunar-volman directly" pkgs.thunar-volman; # Added on 2025-12-26
tumbler = lib.warnOnInstantiate "xfce.tumbler was moved to top-level. Please use pkgs.tumbler directly" pkgs.tumbler; # Added on 2025-12-26
xfce4-session = lib.warnOnInstantiate "xfce.xfce4-session was moved to top-level. Please use pkgs.xfce4-session directly" pkgs.xfce4-session; # Added on 2025-12-26
xfce4-settings = lib.warnOnInstantiate "xfce.xfce4-settings was moved to top-level. Please use pkgs.xfce4-settings directly" pkgs.xfce4-settings; # Added on 2025-12-26
xfce4-power-manager = lib.warnOnInstantiate "xfce.xfce4-power-manager was moved to top-level. Please use pkgs.xfce4-power-manager directly" pkgs.xfce4-power-manager; # Added on 2025-12-26
xfdesktop = lib.warnOnInstantiate "xfce.xfdesktop was moved to top-level. Please use pkgs.xfdesktop directly" pkgs.xfdesktop; # Added on 2025-12-26
xfwm4 = lib.warnOnInstantiate "xfce.xfwm4 was moved to top-level. Please use pkgs.xfwm4 directly" pkgs.xfwm4; # Added on 2025-12-26
xfce4-appfinder = lib.warnOnInstantiate "xfce.xfce4-appfinder was moved to top-level. Please use pkgs.xfce4-appfinder directly" pkgs.xfce4-appfinder; # Added on 2025-12-26
catfish = lib.warnOnInstantiate "xfce.catfish was moved to top-level. Please use pkgs.catfish directly" pkgs.catfish; # Added on 2025-12-26
gigolo = lib.warnOnInstantiate "xfce.gigolo was moved to top-level. Please use pkgs.gigolo directly" pkgs.gigolo; # Added on 2025-12-26
mousepad = lib.warnOnInstantiate "xfce.mousepad was moved to top-level. Please use pkgs.mousepad directly" pkgs.mousepad; # Added on 2025-12-26
orage = lib.warnOnInstantiate "xfce.orage was moved to top-level. Please use pkgs.orage directly" pkgs.orage; # Added on 2025-12-26
parole = lib.warnOnInstantiate "xfce.parole was moved to top-level. Please use pkgs.parole directly" pkgs.parole; # Added on 2025-12-26
ristretto = lib.warnOnInstantiate "xfce.ristretto was moved to top-level. Please use pkgs.ristretto directly" pkgs.ristretto; # Added on 2025-12-26
xfburn = lib.warnOnInstantiate "xfce.xfburn was moved to top-level. Please use pkgs.xfburn directly" pkgs.xfburn; # Added on 2025-12-26
xfce4-dict = lib.warnOnInstantiate "xfce.xfce4-dict was moved to top-level. Please use pkgs.xfce4-dict directly" pkgs.xfce4-dict; # Added on 2025-12-26
xfce4-notifyd = lib.warnOnInstantiate "xfce.xfce4-notifyd was moved to top-level. Please use pkgs.xfce4-notifyd directly" pkgs.xfce4-notifyd; # Added on 2025-12-26
xfce4-panel-profiles = lib.warnOnInstantiate "xfce.xfce4-panel-profiles was moved to top-level. Please use pkgs.xfce4-panel-profiles directly" pkgs.xfce4-panel-profiles; # Added on 2025-12-26
xfce4-screensaver = lib.warnOnInstantiate "xfce.xfce4-screensaver was moved to top-level. Please use pkgs.xfce4-screensaver directly" pkgs.xfce4-screensaver; # Added on 2025-12-26
xfce4-screenshooter = lib.warnOnInstantiate "xfce.xfce4-screenshooter was moved to top-level. Please use pkgs.xfce4-screenshooter directly" pkgs.xfce4-screenshooter; # Added on 2025-12-26
xfce4-taskmanager = lib.warnOnInstantiate "xfce.xfce4-taskmanager was moved to top-level. Please use pkgs.xfce4-taskmanager directly" pkgs.xfce4-taskmanager; # Added on 2025-12-26
xfce4-terminal = lib.warnOnInstantiate "xfce.xfce4-terminal was moved to top-level. Please use pkgs.xfce4-terminal directly" pkgs.xfce4-terminal; # Added on 2025-12-26
xfce4-volumed-pulse = lib.warnOnInstantiate "xfce.xfce4-volumed-pulse was moved to top-level. Please use pkgs.xfce4-volumed-pulse directly" pkgs.xfce4-volumed-pulse; # Added on 2025-12-26
xfdashboard = lib.warnOnInstantiate "xfce.xfdashboard was moved to top-level. Please use pkgs.xfdashboard directly" pkgs.xfdashboard; # Added on 2025-12-26
xfmpc = lib.warnOnInstantiate "xfce.xfmpc was moved to top-level. Please use pkgs.xfmpc directly" pkgs.xfmpc; # Added on 2025-12-26
xfce4-icon-theme = lib.warnOnInstantiate "xfce.xfce4-icon-theme was moved to top-level. Please use pkgs.xfce4-icon-theme directly" pkgs.xfce4-icon-theme; # Added on 2025-12-26
xfwm4-themes = lib.warnOnInstantiate "xfce.xfwm4-themes was moved to top-level. Please use pkgs.xfwm4-themes directly" pkgs.xfwm4-themes; # Added on 2025-12-26
thunar-archive-plugin = lib.warnOnInstantiate "xfce.thunar-archive-plugin was moved to top-level. Please use pkgs.thunar-archive-plugin directly" pkgs.thunar-archive-plugin; # Added on 2025-12-26
thunar-dropbox-plugin = lib.warnOnInstantiate "xfce.thunar-dropbox-plugin was moved to top-level. Please use pkgs.thunar-dropbox-plugin directly" pkgs.thunar-dropbox-plugin; # Added on 2025-12-26
thunar-media-tags-plugin = lib.warnOnInstantiate "xfce.thunar-media-tags-plugin was moved to top-level. Please use pkgs.thunar-media-tags-plugin directly" pkgs.thunar-media-tags-plugin; # Added on 2025-12-26
thunar-vcs-plugin = lib.warnOnInstantiate "xfce.thunar-vcs-plugin was moved to top-level. Please use pkgs.thunar-vcs-plugin directly" pkgs.thunar-vcs-plugin; # Added on 2025-12-26
xfce4-alsa-plugin = lib.warnOnInstantiate "xfce.xfce4-alsa-plugin was moved to top-level. Please use pkgs.xfce4-alsa-plugin directly" pkgs.xfce4-alsa-plugin; # Added on 2025-12-19
xfce4-battery-plugin = lib.warnOnInstantiate "xfce.xfce4-battery-plugin was moved to top-level. Please use pkgs.xfce4-battery-plugin directly" pkgs.xfce4-battery-plugin; # Added on 2025-12-19
xfce4-clipman-plugin = lib.warnOnInstantiate "xfce.xfce4-clipman-plugin was moved to top-level. Please use pkgs.xfce4-clipman-plugin directly" pkgs.xfce4-clipman-plugin; # Added on 2025-12-19
xfce4-cpufreq-plugin = lib.warnOnInstantiate "xfce.xfce4-cpufreq-plugin was moved to top-level. Please use pkgs.xfce4-cpufreq-plugin directly" pkgs.xfce4-cpufreq-plugin; # Added on 2025-12-19
xfce4-cpugraph-plugin = lib.warnOnInstantiate "xfce.xfce4-cpugraph-plugin was moved to top-level. Please use pkgs.xfce4-cpugraph-plugin directly" pkgs.xfce4-cpugraph-plugin; # Added on 2025-12-19
xfce4-dockbarx-plugin = lib.warnOnInstantiate "xfce.xfce4-dockbarx-plugin was moved to top-level. Please use pkgs.xfce4-dockbarx-plugin directly" pkgs.xfce4-dockbarx-plugin; # Added on 2025-12-19
xfce4-docklike-plugin = lib.warnOnInstantiate "xfce.xfce4-docklike-plugin was moved to top-level. Please use pkgs.xfce4-docklike-plugin directly" pkgs.xfce4-docklike-plugin; # Added on 2025-12-19
xfce4-eyes-plugin = lib.warnOnInstantiate "xfce.xfce4-eyes-plugin was moved to top-level. Please use pkgs.xfce4-eyes-plugin directly" pkgs.xfce4-eyes-plugin; # Added on 2025-12-19
xfce4-fsguard-plugin = lib.warnOnInstantiate "xfce.xfce4-fsguard-plugin was moved to top-level. Please use pkgs.xfce4-fsguard-plugin directly" pkgs.xfce4-fsguard-plugin; # Added on 2025-12-19
xfce4-genmon-plugin = lib.warnOnInstantiate "xfce.xfce4-genmon-plugin was moved to top-level. Please use pkgs.xfce4-genmon-plugin directly" pkgs.xfce4-genmon-plugin; # Added on 2025-12-19
xfce4-i3-workspaces-plugin = lib.warnOnInstantiate "xfce.xfce4-i3-workspaces-plugin was moved to top-level. Please use pkgs.xfce4-i3-workspaces-plugin directly" pkgs.xfce4-i3-workspaces-plugin; # Added on 2025-12-19
xfce4-mailwatch-plugin = lib.warnOnInstantiate "xfce.xfce4-mailwatch-plugin was moved to top-level. Please use pkgs.xfce4-mailwatch-plugin directly" pkgs.xfce4-mailwatch-plugin; # Added on 2025-12-19
xfce4-mpc-plugin = lib.warnOnInstantiate "xfce.xfce4-mpc-plugin was moved to top-level. Please use pkgs.xfce4-mpc-plugin directly" pkgs.xfce4-mpc-plugin; # Added on 2025-12-19
xfce4-netload-plugin = lib.warnOnInstantiate "xfce.xfce4-netload-plugin was moved to top-level. Please use pkgs.xfce4-netload-plugin directly" pkgs.xfce4-netload-plugin; # Added on 2025-12-19
xfce4-notes-plugin = lib.warnOnInstantiate "xfce.xfce4-notes-plugin was moved to top-level. Please use pkgs.xfce4-notes-plugin directly" pkgs.xfce4-notes-plugin; # Added on 2025-12-19
xfce4-systemload-plugin = lib.warnOnInstantiate "xfce.xfce4-systemload-plugin was moved to top-level. Please use pkgs.xfce4-systemload-plugin directly" pkgs.xfce4-systemload-plugin; # Added on 2025-12-19
xfce4-time-out-plugin = lib.warnOnInstantiate "xfce.xfce4-time-out-plugin was moved to top-level. Please use pkgs.xfce4-time-out-plugin directly" pkgs.xfce4-time-out-plugin; # Added on 2025-12-19
xfce4-timer-plugin = lib.warnOnInstantiate "xfce.xfce4-timer-plugin was moved to top-level. Please use pkgs.xfce4-timer-plugin directly" pkgs.xfce4-timer-plugin; # Added on 2025-12-19
xfce4-verve-plugin = lib.warnOnInstantiate "xfce.xfce4-verve-plugin was moved to top-level. Please use pkgs.xfce4-verve-plugin directly" pkgs.xfce4-verve-plugin; # Added on 2025-12-19
xfce4-xkb-plugin = lib.warnOnInstantiate "xfce.xfce4-xkb-plugin was moved to top-level. Please use pkgs.xfce4-xkb-plugin directly" pkgs.xfce4-xkb-plugin; # Added on 2025-12-19
xfce4-weather-plugin = lib.warnOnInstantiate "xfce.xfce4-weather-plugin was moved to top-level. Please use pkgs.xfce4-weather-plugin directly" pkgs.xfce4-weather-plugin; # Added on 2025-12-19
xfce4-whiskermenu-plugin = lib.warnOnInstantiate "xfce.xfce4-whiskermenu-plugin was moved to top-level. Please use pkgs.xfce4-whiskermenu-plugin directly" pkgs.xfce4-whiskermenu-plugin; # Added on 2025-12-19
xfce4-windowck-plugin = lib.warnOnInstantiate "xfce.xfce4-windowck-plugin was moved to top-level. Please use pkgs.xfce4-windowck-plugin directly" pkgs.xfce4-windowck-plugin; # Added on 2025-12-19
xfce4-pulseaudio-plugin = lib.warnOnInstantiate "xfce.xfce4-pulseaudio-plugin was moved to top-level. Please use pkgs.xfce4-pulseaudio-plugin directly" pkgs.xfce4-pulseaudio-plugin; # Added on 2025-12-19
xfce4-sensors-plugin = lib.warnOnInstantiate "xfce.xfce4-sensors-plugin was moved to top-level. Please use pkgs.xfce4-sensors-plugin directly" pkgs.xfce4-sensors-plugin; # Added on 2025-12-19
}
);
}
// lib.optionalAttrs config.allowAliases {
# These aliases need to be placed outside the scope or they will shadow the attributes from parent scope.
exo = lib.warnOnInstantiate "xfce.exo was moved to top-level. Please use pkgs.xfce4-exo directly" pkgs.xfce4-exo; # Added on 2025-12-23
garcon = lib.warnOnInstantiate "xfce.garcon was moved to top-level. Please use pkgs.garcon directly" pkgs.garcon; # Added on 2025-12-23
libxfce4ui = lib.warnOnInstantiate "xfce.libxfce4ui was moved to top-level. Please use pkgs.libxfce4ui directly" pkgs.libxfce4ui; # Added on 2025-12-23
libxfce4util = lib.warnOnInstantiate "xfce.libxfce4util was moved to top-level. Please use pkgs.libxfce4util directly" pkgs.libxfce4util; # Added on 2025-12-23
libxfce4windowing = lib.warnOnInstantiate "xfce.libxfce4windowing was moved to top-level. Please use pkgs.libxfce4windowing directly" pkgs.libxfce4windowing; # Added on 2025-12-23
xfce4-dev-tools = lib.warnOnInstantiate "xfce.xfce4-dev-tools was moved to top-level. Please use pkgs.xfce4-dev-tools directly" pkgs.xfce4-dev-tools; # Added on 2025-12-23
xfce4-panel = lib.warnOnInstantiate "xfce.xfce4-panel was moved to top-level. Please use pkgs.xfce4-panel directly" pkgs.xfce4-panel; # Added on 2025-12-23
xfconf = lib.warnOnInstantiate "xfce.xfconf was moved to top-level. Please use pkgs.xfconf directly" pkgs.xfconf; # Added on 2025-12-23
xfce4-alsa-plugin = lib.warnOnInstantiate "xfce.xfce4-alsa-plugin was moved to top-level. Please use pkgs.xfce4-alsa-plugin directly" pkgs.xfce4-alsa-plugin; # Added on 2025-12-19
xfce4-battery-plugin = lib.warnOnInstantiate "xfce.xfce4-battery-plugin was moved to top-level. Please use pkgs.xfce4-battery-plugin directly" pkgs.xfce4-battery-plugin; # Added on 2025-12-19
xfce4-clipman-plugin = lib.warnOnInstantiate "xfce.xfce4-clipman-plugin was moved to top-level. Please use pkgs.xfce4-clipman-plugin directly" pkgs.xfce4-clipman-plugin; # Added on 2025-12-19
xfce4-cpufreq-plugin = lib.warnOnInstantiate "xfce.xfce4-cpufreq-plugin was moved to top-level. Please use pkgs.xfce4-cpufreq-plugin directly" pkgs.xfce4-cpufreq-plugin; # Added on 2025-12-19
xfce4-cpugraph-plugin = lib.warnOnInstantiate "xfce.xfce4-cpugraph-plugin was moved to top-level. Please use pkgs.xfce4-cpugraph-plugin directly" pkgs.xfce4-cpugraph-plugin; # Added on 2025-12-19
xfce4-dockbarx-plugin = lib.warnOnInstantiate "xfce.xfce4-dockbarx-plugin was moved to top-level. Please use pkgs.xfce4-dockbarx-plugin directly" pkgs.xfce4-dockbarx-plugin; # Added on 2025-12-19
xfce4-docklike-plugin = lib.warnOnInstantiate "xfce.xfce4-docklike-plugin was moved to top-level. Please use pkgs.xfce4-docklike-plugin directly" pkgs.xfce4-docklike-plugin; # Added on 2025-12-19
xfce4-eyes-plugin = lib.warnOnInstantiate "xfce.xfce4-eyes-plugin was moved to top-level. Please use pkgs.xfce4-eyes-plugin directly" pkgs.xfce4-eyes-plugin; # Added on 2025-12-19
xfce4-fsguard-plugin = lib.warnOnInstantiate "xfce.xfce4-fsguard-plugin was moved to top-level. Please use pkgs.xfce4-fsguard-plugin directly" pkgs.xfce4-fsguard-plugin; # Added on 2025-12-19
xfce4-genmon-plugin = lib.warnOnInstantiate "xfce.xfce4-genmon-plugin was moved to top-level. Please use pkgs.xfce4-genmon-plugin directly" pkgs.xfce4-genmon-plugin; # Added on 2025-12-19
xfce4-i3-workspaces-plugin = lib.warnOnInstantiate "xfce.xfce4-i3-workspaces-plugin was moved to top-level. Please use pkgs.xfce4-i3-workspaces-plugin directly" pkgs.xfce4-i3-workspaces-plugin; # Added on 2025-12-19
xfce4-mailwatch-plugin = lib.warnOnInstantiate "xfce.xfce4-mailwatch-plugin was moved to top-level. Please use pkgs.xfce4-mailwatch-plugin directly" pkgs.xfce4-mailwatch-plugin; # Added on 2025-12-19
xfce4-mpc-plugin = lib.warnOnInstantiate "xfce.xfce4-mpc-plugin was moved to top-level. Please use pkgs.xfce4-mpc-plugin directly" pkgs.xfce4-mpc-plugin; # Added on 2025-12-19
xfce4-netload-plugin = lib.warnOnInstantiate "xfce.xfce4-netload-plugin was moved to top-level. Please use pkgs.xfce4-netload-plugin directly" pkgs.xfce4-netload-plugin; # Added on 2025-12-19
xfce4-notes-plugin = lib.warnOnInstantiate "xfce.xfce4-notes-plugin was moved to top-level. Please use pkgs.xfce4-notes-plugin directly" pkgs.xfce4-notes-plugin; # Added on 2025-12-19
xfce4-systemload-plugin = lib.warnOnInstantiate "xfce.xfce4-systemload-plugin was moved to top-level. Please use pkgs.xfce4-systemload-plugin directly" pkgs.xfce4-systemload-plugin; # Added on 2025-12-19
xfce4-time-out-plugin = lib.warnOnInstantiate "xfce.xfce4-time-out-plugin was moved to top-level. Please use pkgs.xfce4-time-out-plugin directly" pkgs.xfce4-time-out-plugin; # Added on 2025-12-19
xfce4-timer-plugin = lib.warnOnInstantiate "xfce.xfce4-timer-plugin was moved to top-level. Please use pkgs.xfce4-timer-plugin directly" pkgs.xfce4-timer-plugin; # Added on 2025-12-19
xfce4-verve-plugin = lib.warnOnInstantiate "xfce.xfce4-verve-plugin was moved to top-level. Please use pkgs.xfce4-verve-plugin directly" pkgs.xfce4-verve-plugin; # Added on 2025-12-19
xfce4-xkb-plugin = lib.warnOnInstantiate "xfce.xfce4-xkb-plugin was moved to top-level. Please use pkgs.xfce4-xkb-plugin directly" pkgs.xfce4-xkb-plugin; # Added on 2025-12-19
xfce4-weather-plugin = lib.warnOnInstantiate "xfce.xfce4-weather-plugin was moved to top-level. Please use pkgs.xfce4-weather-plugin directly" pkgs.xfce4-weather-plugin; # Added on 2025-12-19
xfce4-whiskermenu-plugin = lib.warnOnInstantiate "xfce.xfce4-whiskermenu-plugin was moved to top-level. Please use pkgs.xfce4-whiskermenu-plugin directly" pkgs.xfce4-whiskermenu-plugin; # Added on 2025-12-19
xfce4-windowck-plugin = lib.warnOnInstantiate "xfce.xfce4-windowck-plugin was moved to top-level. Please use pkgs.xfce4-windowck-plugin directly" pkgs.xfce4-windowck-plugin; # Added on 2025-12-19
xfce4-pulseaudio-plugin = lib.warnOnInstantiate "xfce.xfce4-pulseaudio-plugin was moved to top-level. Please use pkgs.xfce4-pulseaudio-plugin directly" pkgs.xfce4-pulseaudio-plugin; # Added on 2025-12-19
xfce4-sensors-plugin = lib.warnOnInstantiate "xfce.xfce4-sensors-plugin was moved to top-level. Please use pkgs.xfce4-sensors-plugin directly" pkgs.xfce4-sensors-plugin; # Added on 2025-12-19
}
@@ -19,14 +19,14 @@
buildPythonPackage rec {
pname = "django-health-check";
version = "3.20.0";
version = "3.20.8";
pyproject = true;
src = fetchFromGitHub {
owner = "KristianOellegaard";
repo = "django-health-check";
tag = version;
hash = "sha256-qgABCDWKGYZ67sKvCozUQfmYcKWMpEVNLxInTnIaojk=";
hash = "sha256-voB3shugfM/nO0vPd9yA4NOUB+E9aVcFnqG1mtfRYFc=";
};
build-system = [
@@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "hadiasghari";
repo = "pyasn";
rev = version;
hash = "sha256-R7Vi1Mn44Mg3HQLDk9O43MkXXwbLRr/jjVKSHJvgYj0";
hash = "sha256-7zpaxDe5qHUy/ekOJLxKawjaPQnByrOVj+m2bsUqfdg=";
};
postInstall = ''
@@ -15,14 +15,14 @@
buildPythonPackage rec {
pname = "pydo";
version = "0.22.0";
version = "0.23.0";
pyproject = true;
src = fetchFromGitHub {
owner = "digitalocean";
repo = "pydo";
tag = "v${version}";
hash = "sha256-OYL75FFyyg47H9K436oVafZCcBLSkfLaJuZEtc1o5dU=";
hash = "sha256-wmrth6n6vlYLMMiNYm6p5sS2keEFsnGm9sGjShSsLaA=";
};
build-system = [ poetry-core ];
@@ -9,18 +9,19 @@
inBootstrap ? false,
pkg-config,
gnumake,
directoryListingUpdater,
}:
let
guileEnabled = guileSupport && !inBootstrap;
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "gnumake";
version = "4.4.1";
src = fetchurl {
url = "mirror://gnu/make/make-${version}.tar.gz";
url = "mirror://gnu/make/make-${finalAttrs.version}.tar.gz";
sha256 = "sha256-3Rb7HWe/q3mnL16DkHNcSePo5wtJRaFasfgd23hlj7M=";
};
@@ -52,9 +53,15 @@ stdenv.mkDerivation rec {
];
separateDebugInfo = true;
passthru.tests = {
# make sure that the override doesn't break bootstrapping
gnumakeWithGuile = gnumake.override { guileSupport = true; };
passthru = {
tests = {
# make sure that the override doesn't break bootstrapping
gnumakeWithGuile = gnumake.override { guileSupport = true; };
};
updateScript = directoryListingUpdater {
inherit (finalAttrs) pname version;
url = "https://ftp.gnu.org/gnu/make/";
};
};
meta = {
@@ -70,10 +77,9 @@ stdenv.mkDerivation rec {
to build and install the program.
'';
homepage = "https://www.gnu.org/software/make/";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
maintainers = [ lib.maintainers.mdaniels5757 ];
mainProgram = "make";
platforms = lib.platforms.all;
};
}
})
@@ -1,5 +1,5 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=./. -i bash -p bash nix-prefetch curl jq gawk gnused nixfmt
#!nix-shell -I nixpkgs=./. -i bash -p bash nix curl jq gawk gnused nixfmt
set -euo pipefail
@@ -49,8 +49,13 @@ done < <(echo "$RELEASE_URLS" | jq -r)
>&2 echo "Updating Xanmod \"$VARIANT\" from $OLD_VERSION to $NEW_VERSION ($SUFFIX)"
prefetchURL() {
result=$(nix-build -E "with import ./. {}; fetchzip { url=\"$1\"; hash=\"\"; }" 2>&1)
echo "$result" | awk '/got:/ {print $NF}'
}
URL="https://gitlab.com/api/v4/projects/xanmod%2Flinux/repository/archive.tar.gz?sha=$NEW_VERSION-$SUFFIX"
HASH="$(nix-prefetch fetchzip --quiet --url "$URL")"
HASH="$(prefetchURL "$URL")"
update_variant() {
local file_path="$1"
@@ -15,14 +15,14 @@ let
variants = {
# ./update-xanmod.sh lts
lts = {
version = "6.12.62";
hash = "sha256-NAcE8ml7HDhpLNDKZEKlEFwdylRiFte+Gi+uxnlyVHQ=";
version = "6.12.63";
hash = "sha256-lrDglbhEch2/xtWayWcCw2Qm5qzTVa50Pwy2vn4ppCo=";
isLTS = true;
};
# ./update-xanmod.sh main
main = {
version = "6.17.12";
hash = "sha256-1IdlQEh+BQID91j/KpkJwzM3WMymbw/AXWpcEMitYfs=";
version = "6.18.2";
hash = "sha256-LSzoUpQiqVAeboKKyRzKyiYpuUbueJvHTtN5mm8EHL8=";
};
};
+2 -2
View File
@@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "mcelog";
version = "207";
version = "208";
src = fetchFromGitHub {
owner = "andikleen";
repo = "mcelog";
tag = "v${finalAttrs.version}";
hash = "sha256-ZHhY7pqDuez3QtbhjDr2D/isw+gsoVdfB5WRRchdh6E=";
hash = "sha256-UBWgdRrSNkocreyFs61IxtdbUrL1UGn2gJswqXjWhlY=";
};
postPatch = ''
+6 -156
View File
@@ -121,6 +121,8 @@
xconsole,
xcursorgen,
xcursor-themes,
xdm,
xdpyinfo,
xdriinfo,
xev,
xeyes,
@@ -146,6 +148,7 @@
xorg-sgml-doctools,
xprop,
xrandr,
xrdb,
xrefresh,
xset,
xsetroot,
@@ -198,6 +201,8 @@ self: with self; {
xcompmgr
xconsole
xcursorgen
xdm
xdpyinfo
xdriinfo
xev
xeyes
@@ -218,6 +223,7 @@ self: with self; {
xorgproto
xprop
xrandr
xrdb
xrefresh
xset
xsetroot
@@ -410,124 +416,6 @@ self: with self; {
})
) { };
# THIS IS A GENERATED FILE. DO NOT EDIT!
xdm = callPackage (
{
stdenv,
pkg-config,
fetchurl,
libX11,
libXau,
libXaw,
libXdmcp,
libXext,
libXft,
libXinerama,
libXmu,
libXpm,
xorgproto,
libXrender,
libXt,
wrapWithXFileSearchPathHook,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xdm";
version = "1.1.17";
builder = ./builder.sh;
src = fetchurl {
url = "mirror://xorg/individual/app/xdm-1.1.17.tar.xz";
sha256 = "0spbxjxxrnfxf8gqncd7bry3z7dvr74ba987cx9iq0qsj7qax54l";
};
hardeningDisable = [
"bindnow"
"relro"
];
strictDeps = true;
nativeBuildInputs = [
pkg-config
wrapWithXFileSearchPathHook
];
buildInputs = [
libX11
libXau
libXaw
libXdmcp
libXext
libXft
libXinerama
libXmu
libXpm
xorgproto
libXrender
libXt
];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {
pkgConfigModules = [ ];
platforms = lib.platforms.unix;
};
})
) { };
# THIS IS A GENERATED FILE. DO NOT EDIT!
xdpyinfo = callPackage (
{
stdenv,
pkg-config,
fetchurl,
libdmx,
libX11,
libxcb,
libXcomposite,
libXext,
libXi,
libXinerama,
xorgproto,
libXrender,
libXtst,
libXxf86dga,
libXxf86misc,
libXxf86vm,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xdpyinfo";
version = "1.3.4";
builder = ./builder.sh;
src = fetchurl {
url = "mirror://xorg/individual/app/xdpyinfo-1.3.4.tar.xz";
sha256 = "0aw2yhx4ys22231yihkzhnw9jsyzksl4yyf3sx0689npvf0sbbd8";
};
hardeningDisable = [
"bindnow"
"relro"
];
strictDeps = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [
libdmx
libX11
libxcb
libXcomposite
libXext
libXi
libXinerama
xorgproto
libXrender
libXtst
libXxf86dga
libXxf86misc
libXxf86vm
];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {
pkgConfigModules = [ ];
platforms = lib.platforms.unix;
};
})
) { };
# THIS IS A GENERATED FILE. DO NOT EDIT!
xf86inputevdev = callPackage (
{
@@ -2644,44 +2532,6 @@ self: with self; {
})
) { };
# THIS IS A GENERATED FILE. DO NOT EDIT!
xrdb = callPackage (
{
stdenv,
pkg-config,
fetchurl,
libX11,
libXmu,
xorgproto,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xrdb";
version = "1.2.2";
builder = ./builder.sh;
src = fetchurl {
url = "mirror://xorg/individual/app/xrdb-1.2.2.tar.xz";
sha256 = "1x1ka0zbcw66a06jvsy92bvnsj9vxbvnq1hbn1az4f0v4fmzrx9i";
};
hardeningDisable = [
"bindnow"
"relro"
];
strictDeps = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [
libX11
libXmu
xorgproto
];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {
pkgConfigModules = [ ];
platforms = lib.platforms.unix;
};
})
) { };
# THIS IS A GENERATED FILE. DO NOT EDIT!
xtrap = callPackage (
{
@@ -453,6 +453,8 @@ print OUT <<EOF;
xconsole,
xcursorgen,
xcursor-themes,
xdm,
xdpyinfo,
xdriinfo,
xev,
xeyes,
@@ -478,6 +480,7 @@ print OUT <<EOF;
xorg-sgml-doctools,
xprop,
xrandr,
xrdb,
xrefresh,
xset,
xsetroot,
@@ -530,6 +533,8 @@ self: with self; {
xcompmgr
xconsole
xcursorgen
xdm
xdpyinfo
xdriinfo
xev
xeyes
@@ -550,6 +555,7 @@ self: with self; {
xorgproto
xprop
xrandr
xrdb
xrefresh
xset
xsetroot
-43
View File
@@ -59,10 +59,6 @@
let
inherit (stdenv.hostPlatform) isDarwin;
malloc0ReturnsNullCrossFlag = lib.optional (
stdenv.hostPlatform != stdenv.buildPlatform
) "--enable-malloc0returnsnull";
addMainProgram =
pkg:
{
@@ -115,38 +111,6 @@ self: super:
mkfontdir = xorg.mkfontscale;
xdpyinfo = super.xdpyinfo.overrideAttrs (attrs: {
configureFlags = attrs.configureFlags or [ ] ++ malloc0ReturnsNullCrossFlag;
preConfigure =
attrs.preConfigure or ""
# missing transitive dependencies
+ lib.optionalString stdenv.hostPlatform.isStatic ''
export NIX_CFLAGS_LINK="$NIX_CFLAGS_LINK -lXau -lXdmcp"
'';
meta = attrs.meta // {
mainProgram = "xdpyinfo";
};
});
xdm = super.xdm.overrideAttrs (attrs: {
buildInputs = attrs.buildInputs ++ [ libxcrypt ];
configureFlags =
attrs.configureFlags or [ ]
++ [
"ac_cv_path_RAWCPP=${stdenv.cc.targetPrefix}cpp"
]
++
lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform)
# checking for /dev/urandom... configure: error: cannot check for file existence when cross compiling
[
"ac_cv_file__dev_urandom=true"
"ac_cv_file__dev_random=true"
];
meta = attrs.meta // {
mainProgram = "xdm";
};
});
xf86inputevdev = super.xf86inputevdev.overrideAttrs (attrs: {
outputs = [
"out"
@@ -468,13 +432,6 @@ self: super:
xpr = addMainProgram super.xpr { };
xrdb = super.xrdb.overrideAttrs (attrs: {
configureFlags = [ "--with-cpp=${mcpp}/bin/mcpp" ];
meta = attrs.meta // {
mainProgram = "xrdb";
};
});
xwd = addMainProgram super.xwd { };
}
-3
View File
@@ -1,6 +1,4 @@
mirror://xorg/individual/app/xclock-1.1.1.tar.xz
mirror://xorg/individual/app/xdm-1.1.17.tar.xz
mirror://xorg/individual/app/xdpyinfo-1.3.4.tar.xz
mirror://xorg/individual/app/xfd-1.1.4.tar.xz
mirror://xorg/individual/app/xfs-1.2.2.tar.xz
mirror://xorg/individual/app/xinit-1.4.4.tar.xz
@@ -10,7 +8,6 @@ mirror://xorg/individual/app/xkbevd-1.1.6.tar.xz
mirror://xorg/individual/app/xkbprint-1.0.7.tar.xz
mirror://xorg/individual/app/xload-1.2.0.tar.xz
mirror://xorg/individual/app/xpr-1.2.0.tar.xz
mirror://xorg/individual/app/xrdb-1.2.2.tar.xz
mirror://xorg/individual/app/xtrap-1.0.3.tar.bz2
mirror://xorg/individual/app/xwd-1.0.9.tar.xz
mirror://xorg/individual/driver/xf86-input-evdev-2.11.0.tar.xz
+12 -7
View File
@@ -5,6 +5,7 @@
makeShellWrapper,
updateAutotoolsGnuConfigScriptsHook,
runtimeShellPackage,
directoryListingUpdater,
}:
# Note: this package is used for bootstrapping fetchurl, and thus
@@ -12,12 +13,12 @@
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "gzip";
version = "1.14";
src = fetchurl {
url = "mirror://gnu/gzip/${pname}-${version}.tar.xz";
url = "mirror://gnu/gzip/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
hash = "sha256-Aae4gb0iC/32Ffl7hxj4C9/T9q3ThbmT3Pbv0U6MCsY=";
};
@@ -60,10 +61,16 @@ stdenv.mkDerivation rec {
--add-flags "\''${GZIP_NO_TIMESTAMPS:+-n}"
'';
passthru = {
updateScript = directoryListingUpdater {
inherit (finalAttrs) pname version;
url = "https://ftp.gnu.org/gnu/gzip/";
};
};
meta = {
homepage = "https://www.gnu.org/software/gzip/";
description = "GNU zip compression program";
longDescription = ''
gzip (GNU zip) is a popular data compression program written by
Jean-loup Gailly for the GNU project. Mark Adler wrote the
@@ -75,11 +82,9 @@ stdenv.mkDerivation rec {
and we needed a replacement. The superior compression ratio of gzip
is just a bonus.
'';
platforms = lib.platforms.all;
license = lib.licenses.gpl3Plus;
mainProgram = "gzip";
maintainers = [ lib.maintainers.mdaniels5757 ];
};
}
})

Some files were not shown because too many files have changed in this diff Show More