The OracleJDK Dehaunting (#353043)

This commit is contained in:
Emily
2024-11-02 21:15:20 +00:00
committed by GitHub
20 changed files with 43 additions and 1374 deletions
+1 -2
View File
@@ -33,8 +33,7 @@ stdenv.mkDerivation {
```
Note that `jdk` is an alias for the OpenJDK (self-built where available,
or pre-built via Zulu). Platforms with OpenJDK not (yet) in Nixpkgs
(`Aarch32`, `Aarch64`) point to the (unfree) `oraclejdk`.
or pre-built via Zulu).
Also note that not using `stripJavaArchivesHook` will likely cause the
generated `.jar` files to be non-deterministic, which is not optimal.
@@ -333,6 +333,11 @@
This change requires granting access to the repositories to this user or
setting the appropriate one through `services.cgit.some-instance.user`.
- All Oracle JDKs and JREs (`oraclejdk`, `oraclejdk8`, `oraclejre`, `oraclejre8`,
`jrePlugin`, `jre8Plugin`, `jdkdistro`, `oraclejdk8distro`, and `oraclejdk11`)
were dropped due to being unmaintained and heavily insecure. OpenJDK provides
compatible replacements for JDKs and JREs.
- `gradle_6` was removed due to being [unsupported upstream as of 10 Feb 2023](https://endoflife.date/gradle).
Additionally, it had numerous security vulnerabilities that were only patched
in later versions, such as [CVE-2021-29429](https://nvd.nist.gov/vuln/detail/CVE-2021-32751),
@@ -342,6 +347,9 @@
nvimpager settings: user commands in `-c` and `--cmd` now override the
respective default settings because they are executed later.
- `javacard-devkit` was dropped due to having a dependency on the Oracle JDK,
as well as being several years out-of-date.
- Kubernetes `featureGates` have changed from a `listOf str` to `attrsOf bool`.
This refactor makes it possible to also disable feature gates, without having
to use `extraOpts` flags.
@@ -388,6 +396,9 @@
- `services.pgbouncer` systemd service is configured with `Type=notify-reload` and allows reloading configuration without process restart. PgBouncer configuration options were moved to the free-form type option named [`services.pgbouncer.settings`](#opt-services.pgbouncer.settings) according to the NixOS RFC 0042.
- Docear was removed because it was unmaintained upstream.
JabRef, Zotero, or Mendeley are potential replacements.
- `nodePackages.coc-metals` was removed due to being deprecated upstream.
`vimPlugins.nvim-metals` is its official replacement.
@@ -492,6 +503,9 @@
- PPD files for Utax printers got renamed (spaces replaced by underscores) in newest `foomatic-db` package; users of Utax printers might need to adapt their `hardware.printers.ensurePrinters.*.model` value.
- `sqldeveloper` was dropped due to being severely out-of-date and having a dependency on
JavaFX for Java 8, which we do not support.
- The `kvdo` kernel module package was removed, because it was upstreamed in kernel version 6.9, where it is called `dm-vdo`.
- `libe57format` has been updated to `>= 3.0.0`, which contains some backward-incompatible API changes. See the [release note](https://github.com/asmaloney/libE57Format/releases/tag/v3.0.0) for more details.
@@ -663,6 +677,15 @@
lists by default. Backwards-compatible behavior can be enabled with
`atomsCoercedToLists`.
- Atlassian Server products have been removed, as support for the Atlassian Server
products ended in February 2024 and there was insufficient interest in
maintaining the Atlassian Data Center replacements:
- The `atlassian-bamboo` package
- The `atlassian-confluence` package and its `services.confluence` NixOS module
- The `atlassian-crowd` package and its `services.crowd` NixOS module
- The `atlassian-jira` package and its `services.jira` NixOS module
- `python3Packages.nose` has been removed, as it has been deprecated and unmaintained for almost a decade and does not work on Python 3.12.
Please switch to `pytest` or another test runner/framework.
-3
View File
@@ -1390,9 +1390,6 @@
./services/web-apps/alps.nix
./services/web-apps/anuko-time-tracker.nix
./services/web-apps/artalk.nix
./services/web-apps/atlassian/confluence.nix
./services/web-apps/atlassian/crowd.nix
./services/web-apps/atlassian/jira.nix
./services/web-apps/audiobookshelf.nix
./services/web-apps/bluemap.nix
./services/web-apps/bookstack.nix
+3
View File
@@ -62,7 +62,9 @@ in
(mkRemovedOptionModule [ "services" "beegfsEnable" ] "The BeeGFS module has been removed")
(mkRemovedOptionModule [ "services" "cgmanager" "enable"] "cgmanager was deprecated by lxc and therefore removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "chronos" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "confluence" ] "Atlassian software has been removed, as support for the Atlassian Server products ended in February 2024 and there was insufficient interest in maintaining the Atlassian Data Center replacements")
(mkRemovedOptionModule [ "services" "couchpotato" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "crowd" ] "Atlassian software has been removed, as support for the Atlassian Server products ended in February 2024 and there was insufficient interest in maintaining the Atlassian Data Center replacements")
(mkRemovedOptionModule [ "services" "dd-agent" ] "dd-agent was removed from nixpkgs in favor of the newer datadog-agent.")
(mkRemovedOptionModule [ "services" "dnscrypt-proxy" ] "Use services.dnscrypt-proxy2 instead")
(mkRemovedOptionModule [ "services" "dnscrypt-wrapper" ] ''
@@ -82,6 +84,7 @@ in
(mkRemovedOptionModule [ "services" "homeassistant-satellite"] "The `services.homeassistant-satellite` module has been replaced by `services.wyoming-satellite`.")
(mkRemovedOptionModule [ "services" "hydron" ] "The `services.hydron` module has been removed as the project has been archived upstream since 2022 and is affected by a severe remote code execution vulnerability.")
(mkRemovedOptionModule [ "services" "ihatemoney" ] "The ihatemoney module has been removed for lack of downstream maintainer")
(mkRemovedOptionModule [ "services" "jira" ] "Atlassian software has been removed, as support for the Atlassian Server products ended in February 2024 and there was insufficient interest in maintaining the Atlassian Data Center replacements")
(mkRemovedOptionModule [ "services" "kippo" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "lshd" ] "The corresponding package was removed from nixpkgs as it had no maintainer in Nixpkgs and hasn't seen an upstream release in over a decades.")
(mkRemovedOptionModule [ "services" "mailpile" ] "The corresponding package was removed from nixpkgs.")
@@ -1,224 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.confluence;
pkg = cfg.package.override (optionalAttrs cfg.sso.enable {
enableSSO = cfg.sso.enable;
});
crowdProperties = pkgs.writeText "crowd.properties" ''
application.name ${cfg.sso.applicationName}
application.password ${if cfg.sso.applicationPassword != null then cfg.sso.applicationPassword else "@NIXOS_CONFLUENCE_CROWD_SSO_PWD@"}
application.login.url ${cfg.sso.crowd}/console/
crowd.server.url ${cfg.sso.crowd}/services/
crowd.base.url ${cfg.sso.crowd}/
session.isauthenticated session.isauthenticated
session.tokenkey session.tokenkey
session.validationinterval ${toString cfg.sso.validationInterval}
session.lastvalidation session.lastvalidation
'';
in
{
options = {
services.confluence = {
enable = mkEnableOption "Atlassian Confluence service";
user = mkOption {
type = types.str;
default = "confluence";
description = "User which runs confluence.";
};
group = mkOption {
type = types.str;
default = "confluence";
description = "Group which runs confluence.";
};
home = mkOption {
type = types.str;
default = "/var/lib/confluence";
description = "Home directory of the confluence instance.";
};
listenAddress = mkOption {
type = types.str;
default = "127.0.0.1";
description = "Address to listen on.";
};
listenPort = mkOption {
type = types.port;
default = 8090;
description = "Port to listen on.";
};
catalinaOptions = mkOption {
type = types.listOf types.str;
default = [];
example = [ "-Xms1024m" "-Xmx2048m" "-Dconfluence.disable.peopledirectory.all=true" ];
description = "Java options to pass to catalina/tomcat.";
};
proxy = {
enable = mkEnableOption "proxy support";
name = mkOption {
type = types.str;
example = "confluence.example.com";
description = "Virtual hostname at the proxy";
};
port = mkOption {
type = types.port;
default = 443;
example = 80;
description = "Port used at the proxy";
};
scheme = mkOption {
type = types.str;
default = "https";
example = "http";
description = "Protocol used at the proxy.";
};
};
sso = {
enable = mkEnableOption "SSO with Atlassian Crowd";
crowd = mkOption {
type = types.str;
example = "http://localhost:8095/crowd";
description = "Crowd Base URL without trailing slash";
};
applicationName = mkOption {
type = types.str;
example = "jira";
description = "Exact name of this Confluence instance in Crowd";
};
applicationPassword = mkOption {
type = types.nullOr types.str;
default = null;
description = "Application password of this Confluence instance in Crowd";
};
applicationPasswordFile = mkOption {
type = types.nullOr types.str;
default = null;
description = "Path to the application password for Crowd of Confluence.";
};
validationInterval = mkOption {
type = types.int;
default = 2;
example = 0;
description = ''
Set to 0, if you want authentication checks to occur on each
request. Otherwise set to the number of minutes between request
to validate if the user is logged in or out of the Crowd SSO
server. Setting this value to 1 or higher will increase the
performance of Crowd's integration.
'';
};
};
package = mkPackageOption pkgs "atlassian-confluence" { };
jrePackage = mkPackageOption pkgs "oraclejre8" {
extraDescription = ''
::: {.note }
Atlassian only supports the Oracle JRE (JRASERVER-46152).
:::
'';
};
};
};
config = mkIf cfg.enable {
users.users.${cfg.user} = {
isSystemUser = true;
group = cfg.group;
};
assertions = [
{ assertion = cfg.sso.enable -> ((cfg.sso.applicationPassword == null) != (cfg.sso.applicationPasswordFile));
message = "Please set either applicationPassword or applicationPasswordFile";
}
];
warnings = mkIf (cfg.sso.enable && cfg.sso.applicationPassword != null) [
"Using `services.confluence.sso.applicationPassword` is deprecated! Use `applicationPasswordFile` instead!"
];
users.groups.${cfg.group} = {};
systemd.tmpfiles.rules = [
"d '${cfg.home}' - ${cfg.user} - - -"
"d /run/confluence - - - - -"
"L+ /run/confluence/home - - - - ${cfg.home}"
"L+ /run/confluence/logs - - - - ${cfg.home}/logs"
"L+ /run/confluence/temp - - - - ${cfg.home}/temp"
"L+ /run/confluence/work - - - - ${cfg.home}/work"
"L+ /run/confluence/server.xml - - - - ${cfg.home}/server.xml"
];
systemd.services.confluence = {
description = "Atlassian Confluence";
wantedBy = [ "multi-user.target" ];
requires = [ "postgresql.service" ];
after = [ "postgresql.service" ];
path = [ cfg.jrePackage pkgs.bash ];
environment = {
CONF_USER = cfg.user;
JAVA_HOME = "${cfg.jrePackage}";
CATALINA_OPTS = concatStringsSep " " cfg.catalinaOptions;
JAVA_OPTS = mkIf cfg.sso.enable "-Dcrowd.properties=${cfg.home}/crowd.properties";
};
preStart = ''
mkdir -p ${cfg.home}/{logs,work,temp,deploy}
sed -e 's,port="8090",port="${toString cfg.listenPort}" address="${cfg.listenAddress}",' \
'' + (lib.optionalString cfg.proxy.enable ''
-e 's,protocol="org.apache.coyote.http11.Http11NioProtocol",protocol="org.apache.coyote.http11.Http11NioProtocol" proxyName="${cfg.proxy.name}" proxyPort="${toString cfg.proxy.port}" scheme="${cfg.proxy.scheme}",' \
'') + ''
${pkg}/conf/server.xml.dist > ${cfg.home}/server.xml
${optionalString cfg.sso.enable ''
install -m660 ${crowdProperties} ${cfg.home}/crowd.properties
${optionalString (cfg.sso.applicationPasswordFile != null) ''
${pkgs.replace-secret}/bin/replace-secret \
'@NIXOS_CONFLUENCE_CROWD_SSO_PWD@' \
${cfg.sso.applicationPasswordFile} \
${cfg.home}/crowd.properties
''}
''}
'';
serviceConfig = {
User = cfg.user;
Group = cfg.group;
PrivateTmp = true;
Restart = "on-failure";
RestartSec = "10";
ExecStart = "${pkg}/bin/start-confluence.sh -fg";
ExecStop = "${pkg}/bin/stop-confluence.sh";
};
};
};
}
@@ -1,193 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.crowd;
pkg = cfg.package.override {
home = cfg.home;
port = cfg.listenPort;
openidPassword = cfg.openidPassword;
} // (optionalAttrs cfg.proxy.enable {
proxyUrl = "${cfg.proxy.scheme}://${cfg.proxy.name}:${toString cfg.proxy.port}";
});
crowdPropertiesFile = pkgs.writeText "crowd.properties" ''
application.name crowd-openid-server
application.password @NIXOS_CROWD_OPENID_PW@
application.base.url http://localhost:${toString cfg.listenPort}/openidserver
application.login.url http://localhost:${toString cfg.listenPort}/openidserver
application.login.url.template http://localhost:${toString cfg.listenPort}/openidserver?returnToUrl=''${RETURN_TO_URL}
crowd.server.url http://localhost:${toString cfg.listenPort}/crowd/services/
session.isauthenticated session.isauthenticated
session.tokenkey session.tokenkey
session.validationinterval 0
session.lastvalidation session.lastvalidation
'';
in
{
options = {
services.crowd = {
enable = mkEnableOption "Atlassian Crowd service";
user = mkOption {
type = types.str;
default = "crowd";
description = "User which runs Crowd.";
};
group = mkOption {
type = types.str;
default = "crowd";
description = "Group which runs Crowd.";
};
home = mkOption {
type = types.str;
default = "/var/lib/crowd";
description = "Home directory of the Crowd instance.";
};
listenAddress = mkOption {
type = types.str;
default = "127.0.0.1";
description = "Address to listen on.";
};
listenPort = mkOption {
type = types.port;
default = 8092;
description = "Port to listen on.";
};
openidPassword = mkOption {
type = types.str;
default = "WILL_NEVER_BE_SET";
description = "Application password for OpenID server.";
};
openidPasswordFile = mkOption {
type = types.nullOr types.str;
default = null;
description = "Path to the file containing the application password for OpenID server.";
};
catalinaOptions = mkOption {
type = types.listOf types.str;
default = [];
example = [ "-Xms1024m" "-Xmx2048m" ];
description = "Java options to pass to catalina/tomcat.";
};
proxy = {
enable = mkEnableOption "reverse proxy support";
name = mkOption {
type = types.str;
example = "crowd.example.com";
description = "Virtual hostname at the proxy";
};
port = mkOption {
type = types.port;
default = 443;
example = 80;
description = "Port used at the proxy";
};
scheme = mkOption {
type = types.str;
default = "https";
example = "http";
description = "Protocol used at the proxy.";
};
secure = mkOption {
type = types.bool;
default = true;
description = "Whether the connections to the proxy should be considered secure.";
};
};
package = mkPackageOption pkgs "atlassian-crowd" { };
jrePackage = mkPackageOption pkgs "oraclejre8" {
extraDescription = ''
::: {.note }
Atlassian only supports the Oracle JRE (JRASERVER-46152).
:::
'';
};
};
};
config = mkIf cfg.enable {
users.users.${cfg.user} = {
isSystemUser = true;
group = cfg.group;
};
users.groups.${cfg.group} = {};
systemd.tmpfiles.rules = [
"d '${cfg.home}' - ${cfg.user} ${cfg.group} - -"
"d /run/atlassian-crowd - - - - -"
"L+ /run/atlassian-crowd/database - - - - ${cfg.home}/database"
"L+ /run/atlassian-crowd/logs - - - - ${cfg.home}/logs"
"L+ /run/atlassian-crowd/work - - - - ${cfg.home}/work"
"L+ /run/atlassian-crowd/server.xml - - - - ${cfg.home}/server.xml"
];
systemd.services.atlassian-crowd = {
description = "Atlassian Crowd";
wantedBy = [ "multi-user.target" ];
requires = [ "postgresql.service" ];
after = [ "postgresql.service" ];
path = [ cfg.jrePackage ];
environment = {
JAVA_HOME = "${cfg.jrePackage}";
CATALINA_OPTS = concatStringsSep " " cfg.catalinaOptions;
CATALINA_TMPDIR = "/tmp";
JAVA_OPTS = mkIf (cfg.openidPasswordFile != null) "-Dcrowd.properties=${cfg.home}/crowd.properties";
};
preStart = ''
rm -rf ${cfg.home}/work
mkdir -p ${cfg.home}/{logs,database,work}
sed -e 's,port="8095",port="${toString cfg.listenPort}" address="${cfg.listenAddress}",' \
'' + (lib.optionalString cfg.proxy.enable ''
-e 's,compression="on",compression="off" protocol="HTTP/1.1" proxyName="${cfg.proxy.name}" proxyPort="${toString cfg.proxy.port}" scheme="${cfg.proxy.scheme}" secure="${boolToString cfg.proxy.secure}",' \
'') + ''
${pkg}/apache-tomcat/conf/server.xml.dist > ${cfg.home}/server.xml
${optionalString (cfg.openidPasswordFile != null) ''
install -m660 ${crowdPropertiesFile} ${cfg.home}/crowd.properties
${pkgs.replace-secret}/bin/replace-secret \
'@NIXOS_CROWD_OPENID_PW@' \
${cfg.openidPasswordFile} \
${cfg.home}/crowd.properties
''}
'';
serviceConfig = {
User = cfg.user;
Group = cfg.group;
PrivateTmp = true;
Restart = "on-failure";
RestartSec = "10";
ExecStart = "${pkg}/start_crowd.sh -fg";
};
};
};
}
@@ -1,219 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.jira;
pkg = cfg.package.override (optionalAttrs cfg.sso.enable {
enableSSO = cfg.sso.enable;
});
crowdProperties = pkgs.writeText "crowd.properties" ''
application.name ${cfg.sso.applicationName}
application.password @NIXOS_JIRA_CROWD_SSO_PWD@
application.login.url ${cfg.sso.crowd}/console/
crowd.server.url ${cfg.sso.crowd}/services/
crowd.base.url ${cfg.sso.crowd}/
session.isauthenticated session.isauthenticated
session.tokenkey session.tokenkey
session.validationinterval ${toString cfg.sso.validationInterval}
session.lastvalidation session.lastvalidation
'';
in
{
options = {
services.jira = {
enable = mkEnableOption "Atlassian JIRA service";
user = mkOption {
type = types.str;
default = "jira";
description = "User which runs JIRA.";
};
group = mkOption {
type = types.str;
default = "jira";
description = "Group which runs JIRA.";
};
home = mkOption {
type = types.str;
default = "/var/lib/jira";
description = "Home directory of the JIRA instance.";
};
listenAddress = mkOption {
type = types.str;
default = "127.0.0.1";
description = "Address to listen on.";
};
listenPort = mkOption {
type = types.port;
default = 8091;
description = "Port to listen on.";
};
catalinaOptions = mkOption {
type = types.listOf types.str;
default = [];
example = [ "-Xms1024m" "-Xmx2048m" ];
description = "Java options to pass to catalina/tomcat.";
};
proxy = {
enable = mkEnableOption "reverse proxy support";
name = mkOption {
type = types.str;
example = "jira.example.com";
description = "Virtual hostname at the proxy";
};
port = mkOption {
type = types.port;
default = 443;
example = 80;
description = "Port used at the proxy";
};
scheme = mkOption {
type = types.str;
default = "https";
example = "http";
description = "Protocol used at the proxy.";
};
secure = mkOption {
type = types.bool;
default = true;
description = "Whether the connections to the proxy should be considered secure.";
};
};
sso = {
enable = mkEnableOption "SSO with Atlassian Crowd";
crowd = mkOption {
type = types.str;
example = "http://localhost:8095/crowd";
description = "Crowd Base URL without trailing slash";
};
applicationName = mkOption {
type = types.str;
example = "jira";
description = "Exact name of this JIRA instance in Crowd";
};
applicationPasswordFile = mkOption {
type = types.str;
description = "Path to the file containing the application password of this JIRA instance in Crowd";
};
validationInterval = mkOption {
type = types.int;
default = 2;
example = 0;
description = ''
Set to 0, if you want authentication checks to occur on each
request. Otherwise set to the number of minutes between request
to validate if the user is logged in or out of the Crowd SSO
server. Setting this value to 1 or higher will increase the
performance of Crowd's integration.
'';
};
};
package = mkPackageOption pkgs "atlassian-jira" { };
jrePackage = mkPackageOption pkgs "oraclejre8" {
extraDescription = ''
::: {.note }
Atlassian only supports the Oracle JRE (JRASERVER-46152).
:::
'';
};
};
};
config = mkIf cfg.enable {
users.users.${cfg.user} = {
isSystemUser = true;
group = cfg.group;
home = cfg.home;
};
users.groups.${cfg.group} = {};
systemd.tmpfiles.rules = [
"d '${cfg.home}' - ${cfg.user} - - -"
"d /run/atlassian-jira - - - - -"
"L+ /run/atlassian-jira/home - - - - ${cfg.home}"
"L+ /run/atlassian-jira/logs - - - - ${cfg.home}/logs"
"L+ /run/atlassian-jira/work - - - - ${cfg.home}/work"
"L+ /run/atlassian-jira/temp - - - - ${cfg.home}/temp"
"L+ /run/atlassian-jira/server.xml - - - - ${cfg.home}/server.xml"
];
systemd.services.atlassian-jira = {
description = "Atlassian JIRA";
wantedBy = [ "multi-user.target" ];
requires = [ "postgresql.service" ];
after = [ "postgresql.service" ];
path = [ cfg.jrePackage pkgs.bash ];
environment = {
JIRA_USER = cfg.user;
JIRA_HOME = cfg.home;
JAVA_HOME = "${cfg.jrePackage}";
CATALINA_OPTS = concatStringsSep " " cfg.catalinaOptions;
JAVA_OPTS = mkIf cfg.sso.enable "-Dcrowd.properties=${cfg.home}/crowd.properties";
};
preStart = ''
mkdir -p ${cfg.home}/{logs,work,temp,deploy}
sed -e 's,port="8080",port="${toString cfg.listenPort}" address="${cfg.listenAddress}",' \
'' + (lib.optionalString cfg.proxy.enable ''
-e 's,protocol="HTTP/1.1",protocol="HTTP/1.1" proxyName="${cfg.proxy.name}" proxyPort="${toString cfg.proxy.port}" scheme="${cfg.proxy.scheme}" secure="${toString cfg.proxy.secure}",' \
'') + ''
${pkg}/conf/server.xml.dist > ${cfg.home}/server.xml
${optionalString cfg.sso.enable ''
install -m660 ${crowdProperties} ${cfg.home}/crowd.properties
${pkgs.replace-secret}/bin/replace-secret \
'@NIXOS_JIRA_CROWD_SSO_PWD@' \
${cfg.sso.applicationPasswordFile} \
${cfg.home}/crowd.properties
''}
'';
serviceConfig = {
User = cfg.user;
Group = cfg.group;
PrivateTmp = true;
Restart = "on-failure";
RestartSec = "10";
ExecStart = "${pkg}/bin/start-jira.sh -fg";
ExecStop = "${pkg}/bin/stop-jira.sh";
};
};
};
imports = [
(mkRemovedOptionModule [ "services" "jira" "sso" "applicationPassword" ] ''
Use `applicationPasswordFile` instead!
'')
];
}
@@ -1,45 +0,0 @@
{lib, stdenv, fetchurl, runtimeShell, makeWrapper
, oraclejre
, antialiasFont ? true
}:
stdenv.mkDerivation {
pname = "docear";
version = "1.2";
src = fetchurl {
url = "http://docear.org/downloads/docear_linux.tar.gz";
sha256 = "1g5n7r2x4gas6dl2fbyh7v9yxdcb6bzml8n3ldmpzv1rncgjcdp4";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ oraclejre ];
buildPhase = "";
installPhase = ''
mkdir -p $out/bin
mkdir -p $out/share
cp -R * $out/share
chmod 0755 $out/share/ -R
# The wrapper ensures oraclejre is used
makeWrapper ${runtimeShell} $out/bin/docear \
--set _JAVA_OPTIONS "${lib.optionalString antialiasFont "-Dswing.aatext=TRUE -Dawt.useSystemAAFontSettings=on"}" \
--set JAVA_HOME ${oraclejre.home} \
--add-flags "$out/share/docear.sh"
chmod 0755 $out/bin/docear
'';
meta = with lib; {
description = "Unique solution to academic literature management";
homepage = "http://www.docear.org/";
# Licenses at: http://www.docear.org/software/download/
license = with licenses; [
gpl2 # for the main software and some dependencies
bsd3 # for one of its dependencies
];
maintainers = with maintainers; [ unode ];
platforms = platforms.all;
};
}
@@ -1,70 +0,0 @@
{ lib, stdenv, requireFile, unzip, makeWrapper, oraclejdk8, autoPatchelfHook
, pcsclite
}:
stdenv.mkDerivation rec {
pname = "javacard-devkit";
version = "2.2.2";
uscoreVersion = builtins.replaceStrings ["."] ["_"] version;
src = requireFile {
name = "java_card_kit-${uscoreVersion}-linux.zip";
url = "http://www.oracle.com/technetwork/java/javasebusiness/downloads/"
+ "java-archive-downloads-javame-419430.html#java_card_kit-2.2.2-oth-JPR";
sha256 = "1rzkw8izqq73ifvyp937wnjjc40a40drc4zsm0l1s6jyv3d7agb2";
};
nativeBuildInputs = [ unzip oraclejdk8 makeWrapper autoPatchelfHook ];
buildInputs = [ pcsclite ];
zipPrefix = "java_card_kit-${uscoreVersion}";
sourceRoot = ".";
unpackCmd = ''
unzip -p "$curSrc" "$zipPrefix/$zipPrefix-rr-bin-linux-do.zip" | jar x
'';
installPhase = ''
mkdir -p "$out/share/$pname"
cp -rt "$out/share/$pname" api_export_files
cp -rt "$out" lib
for i in bin/*; do
case "$i" in
*.so) install -vD "$i" "$out/libexec/$pname/$(basename "$i")";;
*) target="$out/bin/$(basename "$i")"
install -vD "$i" "$target"
sed -i -e 's|^$JAVA_HOME/bin/java|''${JAVA:-$JAVA_HOME/bin/java}|' "$target"
wrapProgram "$target" \
--set JAVA_HOME "$JAVA_HOME" \
--prefix CLASSPATH : "$out/share/$pname/api_export_files"
;;
esac
done
makeWrapper "$JAVA_HOME/bin/javac" "$out/bin/javacardc" \
--prefix CLASSPATH : "$out/lib/api.jar"
'';
meta = {
description = "Official development kit by Oracle for programming for the Java Card platform";
longDescription = ''
This Java Card SDK is the official SDK made available by Oracle for programming for the Java Card platform.
Instructions for usage:
First, compile your '.java' (NixOS-specific: you should not need to set the class path -- if you need, it's a bug):
javacardc -source 1.5 -target 1.5 [MyJavaFile].java
Then, test with 'jcwde' (NixOS-specific: you can change the java version used to run jcwde with eg. JAVA=jdb):
CLASSPATH=. jcwde [MyJcwdeConfig].app & sleep 1 && apdutool [MyApdus].apdu
Finally, convert the '.class' file into a '.cap':
converter -applet [AppletAID] [MyApplet] [myPackage] [PackageAID] [Version]
For more details, please refer to the documentation by Oracle
'';
homepage = "https://www.oracle.com/technetwork/java/embedded/javacard/overview/index.html";
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
license = lib.licenses.unfree;
maintainers = [ lib.maintainers.ekleog ];
platforms = [ "i686-linux" "x86_64-linux" ];
};
}
@@ -1,60 +0,0 @@
source $stdenv/setup
echo "Unpacking distribution"
unzip ${src} || true
# set the dynamic linker of unpack200, necessary for construct script
echo "patching unpack200"
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "" */bin/unpack200
echo "constructing JDK and JRE installations"
if test -z "$installjdk"; then
sh ${construct} . tmp-linux-jdk tmp-linux-jre
mkdir -p $out
cp -R tmp-linux-jre/* $out
else
sh ${construct} . $out tmp-linux-jre
fi
echo "removing files at top level of installation"
for file in $out/*
do
if test -f $file ; then
rm $file
fi
done
rm -rf $out/docs
# construct the rpath
rpath=
for i in $libraries; do
rpath=$rpath${rpath:+:}$i/lib
done
if test -z "$installjdk"; then
jrePath=$out
else
jrePath=$out/jre
fi
if test -n "$jce"; then
unzip $jce
cp -v jce/*.jar $jrePath/lib/security
fi
rpath=$rpath${rpath:+:}$jrePath/lib/$architecture/jli
# set all the dynamic linkers
find $out -type f -perm -0100 \
-exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "$rpath" {} \;
find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \;
if test -z "$pluginSupport"; then
rm -f $out/bin/javaws
fi
mkdir $jrePath/lib/$architecture/plugins
ln -s $jrePath/lib/$architecture/libnpjp2.so $jrePath/lib/$architecture/plugins
@@ -1,193 +0,0 @@
{ productVersion
, patchVersion
, sha256
, jceName
, sha256JCE
}:
{ swingSupport ? true
, lib, stdenv
, requireFile
, makeWrapper
, unzip
, file
, xorg ? null
, installjdk ? true
, pluginSupport ? true
, installjce ? false
, config
, glib
, libxml2
, ffmpeg
, libxslt
, libGL
, freetype
, fontconfig
, gtk2
, pango
, cairo
, alsa-lib
, atk
, gdk-pixbuf
, setJavaClassPath
}:
assert swingSupport -> xorg != null;
let
/**
* The JRE libraries are in directories that depend on the CPU.
*/
architecture = {
i686-linux = "i386";
x86_64-linux = "amd64";
armv7l-linux = "arm";
aarch64-linux = "aarch64";
}.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
jce =
if installjce then
requireFile {
name = jceName;
url = "http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html";
sha256 = sha256JCE;
}
else
"";
rSubPaths = [
"lib/${architecture}/jli"
"lib/${architecture}/server"
"lib/${architecture}/xawt"
"lib/${architecture}"
];
in
let result = stdenv.mkDerivation rec {
pname = if installjdk then "oraclejdk" else "oraclejre" + lib.optionalString pluginSupport "-with-plugin";
version = "${productVersion}u${patchVersion}";
src =
let
platformName = {
i686-linux = "linux-i586";
x86_64-linux = "linux-x64";
armv7l-linux = "linux-arm32-vfp-hflt";
aarch64-linux = "linux-aarch64";
}.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
in requireFile {
name = "jdk-${productVersion}u${patchVersion}-${platformName}.tar.gz";
url = "http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html";
sha256 = sha256.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
};
nativeBuildInputs = [ file makeWrapper ]
++ lib.optional installjce unzip;
# See: https://github.com/NixOS/patchelf/issues/10
dontStrip = 1;
installPhase = ''
cd ..
if test -z "$installjdk"; then
mv $sourceRoot/jre $out
else
mv $sourceRoot $out
fi
shopt -s extglob
for file in $out/!(*src.zip)
do
if test -f $file ; then
rm $file
fi
done
if test -n "$installjdk"; then
for file in $out/jre/*
do
if test -f $file ; then
rm $file
fi
done
fi
if test -z "$installjdk"; then
jrePath=$out
else
jrePath=$out/jre
fi
if test -n "${jce}"; then
unzip ${jce}
cp -v UnlimitedJCEPolicy*/*.jar $jrePath/lib/security
fi
if test -z "$pluginSupport"; then
rm -f $out/bin/javaws
if test -n "$installjdk"; then
rm -f $out/jre/bin/javaws
fi
fi
mkdir $jrePath/lib/${architecture}/plugins
ln -s $jrePath/lib/${architecture}/libnpjp2.so $jrePath/lib/${architecture}/plugins
mkdir -p $out/nix-support
printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
# Set JAVA_HOME automatically.
cat <<EOF >> $out/nix-support/setup-hook
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
EOF
'';
postFixup = ''
rpath+="''${rpath:+:}${lib.concatStringsSep ":" (map (a: "$jrePath/${a}") rSubPaths)}"
# set all the dynamic linkers
find $out -type f -perm -0100 \
-exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "$rpath" {} \;
find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \;
# Oracle Java Mission Control needs to know where libgtk-x11 and related is
if test -n "$installjdk" -a -x $out/bin/jmc; then
wrapProgram "$out/bin/jmc" \
--suffix-each LD_LIBRARY_PATH ':' "$rpath"
fi
'';
inherit installjdk pluginSupport;
/**
* libXt is only needed on amd64
*/
libraries =
[stdenv.cc.libc glib libxml2 ffmpeg libxslt libGL xorg.libXxf86vm alsa-lib fontconfig freetype pango gtk2 cairo gdk-pixbuf atk] ++
lib.optionals swingSupport [xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp xorg.libXt xorg.libXrender stdenv.cc.cc];
rpath = lib.strings.makeLibraryPath libraries;
passthru.mozillaPlugin = if installjdk then "/jre/lib/${architecture}/plugins" else "/lib/${architecture}/plugins";
passthru.jre = result; # FIXME: use multiple outputs or return actual JRE package
passthru.home = result;
passthru.architecture = architecture;
meta = with lib; {
license = licenses.unfree;
platforms = [ "i686-linux" "x86_64-linux" "armv7l-linux" "aarch64-linux" ]; # some inherit jre.meta.platforms
mainProgram = "java";
knownVulnerabilities = [
"The Oracle JDKs included with Nixpkgs have not been updated since 2021. They contain many known vulnerabilities (https://openjdk.org/groups/vulnerability/advisories/). OpenJDK provides a comparable alternative."
];
};
}; in result
@@ -1,54 +0,0 @@
{ lib, stdenv
, requireFile
, xorg
, zlib
, freetype
, alsa-lib
, setJavaClassPath
}:
let result = stdenv.mkDerivation rec {
pname = "oraclejdk";
version = "11.0.10";
src = requireFile {
name = "jdk-${version}_linux-x64_bin.tar.gz";
url = "https://www.oracle.com/java/technologies/javase-jdk11-downloads.html";
sha256 = "94bd34f85ee38d3ef59e5289ec7450b9443b924c55625661fffe66b03f2c8de2";
};
installPhase = ''
mv ../$sourceRoot $out
mkdir -p $out/nix-support
printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
# Set JAVA_HOME automatically.
cat <<EOF >> $out/nix-support/setup-hook
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
EOF
'';
postFixup = ''
rpath="$out/lib/jli:$out/lib/server:$out/lib:${lib.strings.makeLibraryPath [ zlib xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXrender freetype alsa-lib]}"
for f in $(find $out -name "*.so") $(find $out -type f -perm -0100); do
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$f" || true
patchelf --set-rpath "$rpath" "$f" || true
done
for f in $(find $out -name "*.so") $(find $out -type f -perm -0100); do
if ldd "$f" | fgrep 'not found'; then echo "in file $f"; fi
done
'';
passthru.jre = result;
passthru.home = result;
dontStrip = true; # See: https://github.com/NixOS/patchelf/issues/10
meta = with lib; {
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
};
}; in result
@@ -1,10 +0,0 @@
import ./jdk-linux-base.nix {
productVersion = "8";
patchVersion = "281";
sha256.i686-linux = "/yEY5O6MYNyjS5YSGZtgydb8th6jHQLNvI9tNPIh3+0=";
sha256.x86_64-linux = "hejH2nJIx0UPsQVWeniEHQlzWXhQd2wkpSf+sC7z5YY=";
sha256.armv7l-linux = "oXbW8hZxesDqwV79ANB4SdnS71O51ZApKbQhqq4i/EM=";
sha256.aarch64-linux = "oFH3TeIzVsFk6IZcDEHVDVJC7dSbGcwhdUH/WUXSNDM=";
jceName = "jce_policy-8.zip";
sha256JCE = "19n5wadargg3v8x76r7ayag6p2xz1bwhrgdzjs9f4i6fvxz9jr4w";
}
@@ -1,84 +0,0 @@
{ lib, stdenv, makeDesktopItem, makeWrapper, requireFile, unzip, jdk }:
let
version = "20.4.0.379.2205";
desktopItem = makeDesktopItem {
name = "sqldeveloper";
exec = "sqldeveloper";
icon = "sqldeveloper";
desktopName = "Oracle SQL Developer";
genericName = "Oracle SQL Developer";
comment = "Oracle's Oracle DB GUI client";
categories = [ "Development" ];
};
in
stdenv.mkDerivation {
inherit version;
pname = "sqldeveloper";
src = requireFile rec {
name = "sqldeveloper-${version}-no-jre.zip";
url = "https://www.oracle.com/tools/downloads/sqldev-downloads.html";
message = ''
This Nix expression requires that ${name} already be part of the store. To
obtain it you need to
- navigate to ${url}
- make sure that it says "Version ${version}" above the list of downloads
- if it does not, click on the "Previous Version" link below the downloads
and repeat until the version is correct. This is necessarry because as the
time of this writing there exists no permanent link for the current version
yet.
Also consider updating this package yourself (you probably just need to
change the `version` variable and update the sha256 to the one of the
new file) or opening an issue at the nixpkgs repo.
- accept the license agreement
- download the file listed under "Other Platforms"
- sign in or create an oracle account if neccessary
and then add the file to the Nix store using either:
nix-store --add-fixed sha256 ${name}
or
nix-prefetch-url --type sha256 file:///path/to/${name}
'';
sha256 = "1h53gl41ydr7kim6q9ckg3xyhb0rhmwj7jnis0xz6vms52b3h59k";
};
nativeBuildInputs = [ makeWrapper unzip ];
unpackCmd = "unzip $curSrc";
installPhase = ''
mkdir -p $out/libexec $out/share/{applications,pixmaps}
mv * $out/libexec/
mv $out/libexec/icon.png $out/share/pixmaps/sqldeveloper.png
cp ${desktopItem}/share/applications/* $out/share/applications
makeWrapper $out/libexec/sqldeveloper/bin/sqldeveloper $out/bin/sqldeveloper \
--set JAVA_HOME ${jdk.home} \
--chdir "$out/libexec/sqldeveloper/bin"
'';
meta = with lib; {
description = "Oracle's Oracle DB GUI client";
longDescription = ''
Oracle SQL Developer is a free integrated development environment that
simplifies the development and management of Oracle Database in both
traditional and Cloud deployments. SQL Developer offers complete
end-to-end development of your PL/SQL applications, a worksheet for
running queries and scripts, a DBA console for managing the database,
a reports interface, a complete data modeling solution, and a migration
platform for moving your 3rd party databases to Oracle.
'';
homepage = "http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/";
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ ardumont ];
};
}
-38
View File
@@ -1,38 +0,0 @@
{ stdenvNoCC, lib, fetchurl, mysql_jdbc
, withMysql ? true
}:
stdenvNoCC.mkDerivation rec {
pname = "atlassian-bamboo";
version = "9.6.4";
src = fetchurl {
url = "https://product-downloads.atlassian.com/software/bamboo/downloads/atlassian-bamboo-${version}.tar.gz";
hash = "sha256-Gd4+rH/40s9AvJi/waEVfVwWtT0H3bSlknNV6wxGpNg=";
};
buildPhase = ''
echo "bamboo.home=/run/bamboo/home" > atlassian-bamboo/WEB-INF/classes/bamboo-init.properties
mv conf/server.xml conf/server.xml.dist
ln -sf /run/atlassian-bamboo/server.xml conf/server.xml
rm -r logs; ln -sf /run/atlassian-bamboo/logs/ .
rm -r temp; ln -sf /run/atlassian-bamboo/temp/ .
rm -r work; ln -sf /run/atlassian-bamboo/work/ .
'' + lib.optionalString withMysql ''
cp -v ${mysql_jdbc}/share/java/*jar atlassian-bamboo/lib/
'';
installPhase = ''
cp -rva . $out
patchShebangs $out/bin
'';
meta = with lib; {
description = "Bamboo Data Center is a continuous delivery server";
homepage = "https://www.atlassian.com/software/bamboo";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = with licenses; [ unfree ];
maintainers = with maintainers; [ techknowlogick ];
};
}
-51
View File
@@ -1,51 +0,0 @@
{ stdenvNoCC, lib, fetchurl, mysql_jdbc ? null
, enableSSO ? false
, crowdProperties ? null
, withMysql ? true
}:
assert withMysql -> (mysql_jdbc != null);
lib.warnIf (crowdProperties != null) "Using `crowdProperties` is deprecated!"
(stdenvNoCC.mkDerivation rec {
pname = "atlassian-confluence";
version = "9.0.1";
src = fetchurl {
url = "https://product-downloads.atlassian.com/software/confluence/downloads/${pname}-${version}.tar.gz";
hash = "sha256-WCshWmJaTfyjRLaXUtkDuXHO5eEhHa/rDCPVFSLd3aU=";
};
buildPhase = ''
echo "confluence.home=/run/confluence/home" > confluence/WEB-INF/classes/confluence-init.properties
mv conf/server.xml conf/server.xml.dist
ln -sf /run/confluence/home/deploy conf/Standalone
ln -sf /run/confluence/server.xml conf/server.xml
rm -r logs; ln -sf /run/confluence/logs/ .
rm -r work; ln -sf /run/confluence/work/ .
rm -r temp; ln -sf /run/confluence/temp/ .
'' + lib.optionalString enableSSO ''
substituteInPlace confluence/WEB-INF/classes/seraph-config.xml \
--replace com.atlassian.confluence.user.ConfluenceAuthenticator\
com.atlassian.confluence.user.ConfluenceCrowdSSOAuthenticator
'' + lib.optionalString (crowdProperties != null) ''
cat <<EOF > confluence/WEB-INF/classes/crowd.properties
${crowdProperties}
EOF
'' + lib.optionalString withMysql ''
cp -v ${mysql_jdbc}/share/java/*jar confluence/WEB-INF/lib/
'';
installPhase = ''
cp -rva . $out
patchShebangs $out/bin
'';
meta = with lib; {
description = "Team collaboration software written in Java and mainly used in corporate environments";
homepage = "https://www.atlassian.com/software/confluence";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.unfree;
maintainers = with maintainers; [ willibutz ciil techknowlogick ];
};
})
-50
View File
@@ -1,50 +0,0 @@
{ lib, stdenv, fetchurl, home ? "/var/lib/crowd"
, port ? 8092, proxyUrl ? null, openidPassword ? "WILL_NEVER_BE_SET" }:
lib.warnIf (openidPassword != "WILL_NEVER_BE_SET") "Using `crowdProperties` is deprecated!"
(stdenv.mkDerivation rec {
pname = "atlassian-crowd";
version = "5.0.1";
src = fetchurl {
url = "https://www.atlassian.com/software/crowd/downloads/binary/${pname}-${version}.tar.gz";
sha256 = "sha256-ccXSNuiXP0+b9WObboikqVd0nKH0Fi2gMVEF3+WAx5M=";
};
buildPhase = ''
mv apache-tomcat/conf/server.xml apache-tomcat/conf/server.xml.dist
ln -s /run/atlassian-crowd/server.xml apache-tomcat/conf/server.xml
rm -rf apache-tomcat/{logs,work}
ln -s /run/atlassian-crowd/logs apache-tomcat/logs
ln -s /run/atlassian-crowd/work apache-tomcat/work
ln -s /run/atlassian-crowd/database database
substituteInPlace apache-tomcat/bin/startup.sh --replace start run
echo "crowd.home=${home}" > crowd-webapp/WEB-INF/classes/crowd-init.properties
substituteInPlace build.properties \
--replace "openidserver.url=http://localhost:8095/openidserver" \
"openidserver.url=http://localhost:${toString port}/openidserver"
substituteInPlace crowd-openidserver-webapp/WEB-INF/classes/crowd.properties \
--replace "http://localhost:8095/" \
"http://localhost:${toString port}/"
sed -r -i crowd-openidserver-webapp/WEB-INF/classes/crowd.properties \
-e 's,application.password\s+password,application.password ${openidPassword},'
'' + lib.optionalString (proxyUrl != null) ''
sed -i crowd-openidserver-webapp/WEB-INF/classes/crowd.properties \
-e 's,http://localhost:${toString port}/openidserver,${proxyUrl}/openidserver,'
'';
installPhase = ''
cp -rva . $out
'';
meta = with lib; {
description = "Single sign-on and identity management tool";
homepage = "https://www.atlassian.com/software/crowd";
license = licenses.unfree;
maintainers = [ ];
};
})
-44
View File
@@ -1,44 +0,0 @@
{ stdenv
, lib
, fetchurl
, gawk
, enableSSO ? false
, makeWrapper
}:
stdenv.mkDerivation rec {
pname = "atlassian-jira";
version = "9.17.1";
src = fetchurl {
url = "https://product-downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-${version}.tar.gz";
hash = "sha256-hSwPVYIN1/BG6d8UepopLEMExjwDg/w/Bwj9k27nmDQ=";
};
nativeBuildInputs = [ makeWrapper ];
buildPhase = ''
mv conf/server.xml conf/server.xml.dist
ln -sf /run/atlassian-jira/server.xml conf/server.xml
rm -r logs; ln -sf /run/atlassian-jira/logs/ .
rm -r work; ln -sf /run/atlassian-jira/work/ .
rm -r temp; ln -sf /run/atlassian-jira/temp/ .
substituteInPlace bin/check-java.sh \
--replace "awk" "${gawk}/bin/gawk"
'' + lib.optionalString enableSSO ''
substituteInPlace atlassian-jira/WEB-INF/classes/seraph-config.xml \
--replace com.atlassian.jira.security.login.JiraSeraphAuthenticator \
com.atlassian.jira.security.login.SSOSeraphAuthenticator
'';
installPhase = ''
cp -rva . $out
'';
meta = with lib; {
description = "Proprietary issue tracking product, also providing project management functions";
homepage = "https://www.atlassian.com/software/jira";
license = licenses.unfree;
maintainers = with maintainers; [ ciil megheaiulian techknowlogick ];
};
}
+16
View File
@@ -115,6 +115,10 @@ mapAliases {
aria = aria2; # Added 2024-03-26
armcord = throw "ArmCord was renamed to legcord by the upstream developers. Action is required to migrate configurations between the two applications. Please see this PR for more details: https://github.com/NixOS/nixpkgs/pull/347971"; # Added 2024-10-11
aseprite-unfree = aseprite; # Added 2023-08-26
atlassian-bamboo = throw "Atlassian software has been removed, as support for the Atlassian Server products ended in February 2024 and there was insufficient interest in maintaining the Atlassian Data Center replacements"; # Added 2024-11-02
atlassian-confluence = throw "Atlassian software has been removed, as support for the Atlassian Server products ended in February 2024 and there was insufficient interest in maintaining the Atlassian Data Center replacements"; # Added 2024-11-02
atlassian-crowd = throw "Atlassian software has been removed, as support for the Atlassian Server products ended in February 2024 and there was insufficient interest in maintaining the Atlassian Data Center replacements"; # Added 2024-11-02
atlassian-jira = throw "Atlassian software has been removed, as support for the Atlassian Server products ended in February 2024 and there was insufficient interest in maintaining the Atlassian Data Center replacements"; # Added 2024-11-02
audaciousQt5 = throw "'audaciousQt5' has been removed, since audacious is built with Qt 6 now"; # Added 2024-07-06
auditBlasHook = throw "'auditBlasHook' has been removed since it never worked"; # Added 2024-04-02
aumix = throw "'aumix' has been removed due to lack of maintenance upstream. Consider using 'pamixer' for CLI or 'pavucontrol' for GUI"; # Added 2024-09-14
@@ -273,6 +277,7 @@ mapAliases {
dillong = throw "'dillong' has been removed, as upstream is abandoned since 2021-12-13. Use either 'dillo' or 'dillo-plus'. The latter integrates features from dillong."; # Added 2024-10-07
dnnl = throw "'dnnl' has been renamed to/replaced by 'oneDNN'"; # Converted to throw 2024-10-17
dnscrypt-wrapper = throw "dnscrypt-wrapper was removed because it has been effectively unmaintained since 2018. Use DNSCcrypt support in dnsdist instead"; # Added 2024-09-14
docear = throw "Docear was removed because it was unmaintained upstream. JabRef, Zotero, or Mendeley are potential replacements."; # Added 2024-11-02
docker-compose_1 = throw "'docker-compose_1' has been removed because it has been unmaintained since May 2021. Use docker-compose instead."; # Added 2024-07-29
docker-distribution = distribution; # Added 2023-12-26
dolphin-emu-beta = dolphin-emu; # Added 2023-02-11
@@ -536,6 +541,7 @@ mapAliases {
jami-client-qt = jami-client; # Added 2022-11-06
jami-client = jami; # Added 2023-02-10
jami-daemon = jami.daemon; # Added 2023-02-10
javacard-devkit = throw "javacard-devkit was dropped due to having a dependency on the Oracle JDK, as well as being several years out-of-date."; # Added 2024-11-01
jd-cli = throw "jd-cli has been removed due to upstream being unmaintained since 2019. Other Java decompilers in Nixpkgs include bytecode-viewer (GUI), cfr (CLI), and procyon (CLI)."; # Added 2024-10-30
jd-gui = throw "jd-gui has been removed due to a dependency on the dead JCenter Bintray. Other Java decompilers in Nixpkgs include bytecode-viewer (GUI), cfr (CLI), and procyon (CLI)."; # Added 2024-10-30
jsawk = throw "'jsawk' has been removed because it is unmaintained upstream"; # Added 2028-08-07
@@ -894,6 +900,15 @@ mapAliases {
onlyoffice-bin_7_2 = throw "onlyoffice-bin_7_2 has been removed. Please use the latest version available under onlyoffice-bin"; # Added 2024-07-03
onlyoffice-bin_7_5 = throw "onlyoffice-bin_7_5 has been removed. Please use the latest version available under onlyoffice-bin"; # Added 2024-07-03
openvswitch-lts = throw "openvswitch-lts has been removed. Please use the latest version available under openvswitch"; # Added 2024-08-24
oraclejdk = throw "All Oracle JDKs and JREs were dropped due to being unmaintained and heavily insecure. OpenJDK provides compatible replacements for JDKs and JREs."; # Added 2024-11-01
oraclejdk8 = throw "All Oracle JDKs and JREs were dropped due to being unmaintained and heavily insecure. OpenJDK provides compatible replacements for JDKs and JREs."; # Added 2024-11-01
oraclejre = throw "All Oracle JDKs and JREs were dropped due to being unmaintained and heavily insecure. OpenJDK provides compatible replacements for JDKs and JREs."; # Added 2024-11-01
oraclejre8 = throw "All Oracle JDKs and JREs were dropped due to being unmaintained and heavily insecure. OpenJDK provides compatible replacements for JDKs and JREs."; # Added 2024-11-01
jrePlugin = throw "All Oracle JDKs and JREs were dropped due to being unmaintained and heavily insecure. OpenJDK provides compatible replacements for JDKs and JREs."; # Added 2024-11-01
jre8Plugin = throw "All Oracle JDKs and JREs were dropped due to being unmaintained and heavily insecure. OpenJDK provides compatible replacements for JDKs and JREs."; # Added 2024-11-01
jdkdistro = throw "All Oracle JDKs and JREs were dropped due to being unmaintained and heavily insecure. OpenJDK provides compatible replacements for JDKs and JREs."; # Added 2024-11-01
oraclejdk8distro = throw "All Oracle JDKs and JREs were dropped due to being unmaintained and heavily insecure. OpenJDK provides compatible replacements for JDKs and JREs."; # Added 2024-11-01
oraclejdk11 = throw "All Oracle JDKs and JREs were dropped due to being unmaintained and heavily insecure. OpenJDK provides compatible replacements for JDKs and JREs."; # Added 2024-11-01
OSCAR = oscar; # Added 2024-06-12
osxfuse = throw "'osxfuse' has been renamed to/replaced by 'macfuse-stubs'"; # Converted to throw 2024-10-17
ovn-lts = throw "ovn-lts has been removed. Please use the latest version available under ovn"; # Added 2024-08-24
@@ -1112,6 +1127,7 @@ mapAliases {
spidermonkey_102 = throw "'spidermonkey_102' is EOL since 2023/03"; # Added 2024-08-07
spotify-unwrapped = spotify; # added 2022-11-06
spring-boot = throw "'spring-boot' has been renamed to/replaced by 'spring-boot-cli'"; # Converted to throw 2024-10-17
sqldeveloper = throw "sqldeveloper was dropped due to being severely out-of-date and having a dependency on JavaFX for Java 8, which we do not support"; # Added 2024-11-02
srvc = throw "'srvc' has been removed, as it was broken and unmaintained"; # Added 2024-09-09
ssm-agent = amazon-ssm-agent; # Added 2023-10-17
starspace = throw "starspace has been removed from nixpkgs, as it was broken"; # Added 2024-07-15
-34
View File
@@ -6938,8 +6938,6 @@ with pkgs;
docbook2mdoc = callPackage ../tools/misc/docbook2mdoc { };
docear = callPackage ../applications/office/docear { };
dockbarx = callPackage ../applications/misc/dockbarx { };
dog = callPackage ../tools/system/dog { };
@@ -15012,35 +15010,12 @@ with pkgs;
openspin = callPackage ../development/compilers/openspin { };
oraclejdk = jdkdistro true false;
oraclejdk8 = oraclejdk8distro true false;
oraclejre = lowPrio (jdkdistro false false);
oraclejre8 = lowPrio (oraclejdk8distro false false);
jrePlugin = jre8Plugin;
jre8Plugin = lowPrio (oraclejdk8distro false true);
jdkdistro = oraclejdk8distro;
oraclejdk8distro = installjdk: pluginSupport:
(callPackage ../development/compilers/oraclejdk/jdk8-linux.nix {
inherit installjdk pluginSupport;
});
oraclejdk11 = callPackage ../development/compilers/oraclejdk/jdk11-linux.nix { };
jasmin = callPackage ../development/compilers/jasmin { };
java-service-wrapper = callPackage ../tools/system/java-service-wrapper { };
jna = callPackage ../development/java-modules/jna { };
javacard-devkit = pkgsi686Linux.callPackage ../development/compilers/javacard-devkit { };
juniper = callPackage ../development/compilers/juniper { };
inherit (callPackage ../development/compilers/julia { })
@@ -15708,10 +15683,6 @@ with pkgs;
spirv-llvm-translator = callPackage ../development/compilers/spirv-llvm-translator { };
sqldeveloper = callPackage ../development/tools/database/sqldeveloper {
jdk = oraclejdk;
};
sqlfluff = callPackage ../development/tools/database/sqlfluff { };
sqlx-cli = callPackage ../development/tools/rust/sqlx-cli {
@@ -23971,11 +23942,6 @@ with pkgs;
appdaemon = callPackage ../servers/home-assistant/appdaemon.nix { };
atlassian-bamboo = callPackage ../servers/atlassian/bamboo.nix { };
atlassian-confluence = callPackage ../servers/atlassian/confluence.nix { };
atlassian-crowd = callPackage ../servers/atlassian/crowd.nix { };
atlassian-jira = callPackage ../servers/atlassian/jira.nix { };
cadvisor = callPackage ../servers/monitoring/cadvisor { };
cassandra_3_0 = callPackage ../servers/nosql/cassandra/3.0.nix {