Commit Graph

67 Commits

Author SHA1 Message Date
Emily
0f3ba89b2a javaPackages.openjdk{8,11,17}-bootstrap: fix eval on Darwin 2024-10-25 13:32:47 +01:00
Emily
f2569008ab openjfx{17,21,23}: move to pkgs/by-name 2024-10-24 15:04:56 +01:00
Emily
f05216c373 openjfx{17,21,23}: deduplicate into generic.nix 2024-10-24 15:04:56 +01:00
Emily
9bad08529e openjdk{8,11,17,21,23}: deduplicate into generic.nix 2024-10-24 15:04:55 +01:00
Emily
85faae5e12 Merge staging-next into staging 2024-10-08 01:24:14 +01:00
Emily
c979637f24 openjfx11: drop
OpenJFX 11 reached end‐of‐life in 2023.
2024-10-07 20:22:30 +01:00
Emily
732642b891 {openjdk,openjfx}22: drop 2024-09-26 16:46:04 +01:00
Emily
00a8a1c7f3 {openjdk,openjfx}23: init at 23-ga 2024-09-26 16:46:04 +01:00
Artturin
e0464e4788 treewide: replace stdenv.is with stdenv.hostPlatform.is
In preparation for the deprecation of `stdenv.isX`.

These shorthands are not conducive to cross-compilation because they
hide the platforms.

Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way

One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059

There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.

```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
2024-09-25 00:04:37 +03:00
Emily
43fe9d2bbc {javaPackages.compiler.openjdk18,corretto19,open{jdk,jfx}{19,20}*}: drop
These have all been end‐of‐life for more than 10 months.
2024-08-01 13:29:26 +01:00
Artturin
a516ea8c99 Merge branch 'staging-next' into staging 2024-07-16 19:07:48 +03:00
chayleaf
27d8261b6d
openjfx: move derivations into separate dirs 2024-07-12 21:36:11 +07:00
Infinidoge
535dd96948
openjdk: remove adoptopenjdk-bin, openjdk 12/13/14/15/16
AdoptOpenJDK is a long-deprecated project, having been superceded by
Eclipse Temurin quite a while ago. Additionally, after running the
generate sources command, many of its subpackages fail to evaluate due
to missing binaries for versions the package expects. Because everything
provided by AdoptOpenJDK is either long-deprecated or also provided by
Temurin, its removal should not cause many problems.

By the same token, OpenJDK 12, 13, 14, 15, and 16 have also all been long
deemed EOL, and 13/14 are both actively broken and fail to build. These
packages, and their associated (and unnecessary) bootstrap chain are a
major factor in the tech debt of OpenJDK as an ecosystem in Nixpkgs.

OpenJDK 16 was the only user of OpenJFX 15, so it has also been removed.

By removing these packages, OpenJDK should hopefully be more
maintainable into the future.
2024-07-11 14:53:27 -04:00
Sandro
7a329a89de
Merge pull request #322599 from jtojnar/java-gnome2-drop
openjdk: remove gnome_vfs & GConf
2024-07-03 00:30:11 +02:00
Jan Tojnar
dbd9745e11 openjdk: remove gnome_vfs & GConf
Those libraries have been deprecated for 10+ years and require daemons
that no-one has running these days.

Keep the `enableGnome2` argument for BC.
2024-06-26 10:28:29 +02:00
Infinidoge
64073966b4
temurin-bin: init at 22 2024-05-26 04:48:28 -04:00
Artturi
28668355df
Merge pull request #306922 from rollf/corretto21
corretto21: init at 21.0.3.9.1
2024-04-27 03:36:59 +03:00
Rolf Schröder
0cd0fe654e corretto21: init at 21.0.3.9.1 2024-04-26 09:10:42 +02:00
Weijia Wang
56ed765f9c
Merge pull request #295440 from jlesquembre/jl/jdk22
openjdk22: init at 22+36
2024-03-25 16:16:48 +01:00
José Luis Lafuente
d7c54882e6
openjdk22: init at 22+36 2024-03-25 14:41:55 +01:00
Weijia Wang
111dd2ed97 openjdk16: make linux-only 2024-03-11 00:42:42 +01:00
Weijia Wang
b95f9bd48c javaPackages.jogl_2_4_0: rename to jogl 2024-02-10 18:00:38 +01:00
Weijia Wang
e4a9ddcc17 javaPackages: assert stdenv.isLinux in mkOpenjdkLinuxOnly 2024-02-08 23:09:43 +01:00
Weijia Wang
c2b359cd1f javaPackages.mavenfod: drop 2024-02-06 16:05:49 +01:00
Adam Joseph
80472e3754 treewide: add __attrsFailEvaluation and __recurseIntoDerivationForReleaseJobs 2023-12-15 05:13:46 -08:00
Adam Joseph
310cda5a0c mkAdoptopenjdk: allow missing {jre,jdk}-openj9 attribute 2023-11-30 09:36:06 +01:00
Artturi
397d67a60d
Merge pull request #263736 from rollf/amazon-corretto
corretto{11,17,19}: init at 11.0.20.9.1/17.0.8.8.1/19.0.2.7.1
2023-11-24 14:24:38 +02:00
Rolf Schröder
3cd0e6f2d3 corretto{11,17,19}: init at 11.0.20.9.1/17.0.8.8.1/19.0.2.7.1 2023-11-22 21:04:36 +01:00
Infinidoge
d849c98d87 temurin-bin: init at 21 2023-10-25 09:39:42 -04:00
Weijia Wang
18c9af9f37 zulu21: deduplicate expressions 2023-10-08 23:15:19 +02:00
Infinidoge
82c294f13a
openjdk21, openjfx21: init at 21 (#258507)
Uses temurin-bin-20 to bootstrap, as temurin-bin-21 hasn't been released yet
2023-10-08 23:11:55 +02:00
Weijia Wang
2e692b3ddb zulu: add darwin support 2023-10-08 17:34:23 +02:00
Weijia Wang
1667a74168 javaPackages.jogl_2_4_0: add darwin support 2023-08-03 15:33:11 +02:00
Weijia Wang
3b438ab99e javaPackages.jogl_2_3_2: drop 2023-08-03 15:33:11 +02:00
sohalt
eacd9ad04d
openjdk: init at 20+36 and openjfx: init at 20+19 2023-07-02 07:52:14 +08:00
Weijia Wang
00bc3c531d maven.buildMavenPackage: rename from javaPackages.mavenfod 2023-06-20 19:54:46 +03:00
Weijia Wang
50940008e8 mavenbuild: drop 2023-06-18 12:22:57 +03:00
Pol Dellaiera
f03155fc9f
Merge pull request #218669 from avdv/gephi-0.10.1
gephi: 0.9.6 -> 0.10.1
2023-06-08 14:15:44 +02:00
Claudio Bley
09966984eb javaPackages: add jogl 2.4.0 2023-06-07 22:43:48 +02:00
Sandro Jäckel
e0c22ecf8e javaPackages: cleanup unused code 2023-04-14 22:23:39 -03:00
Sandro Jäckel
8204a95ef2 openjdk: bootstrap headless variant with headless openjdk
This makes bootstrapping work when environment.noXlibs is set to true
2023-04-14 22:23:39 -03:00
Mario Rodas
eed05da3a3
Merge pull request #199802 from jerith666/openjdk-19
OpenJDK: init 19.0.1
2022-11-30 08:01:20 -05:00
Matt McHenry
e7cfa26a86 openjdk: init 19.0.1
as usual this is mostly copy-pasted from 18, so this commit is best
reviewed with '--find-copies-harder'

stop exposing openjdk 18 since it was not a long-term support release

change the default openjdk from 17 to 19 since nixpkgs is a
rolling-release repository

drop the ceremony around bootstrapping via adoptopenjdk for 64-bit
builds vs. via earlier openjdk builds for 32-bit, because, to be
frank, since we're using temurin now, it's not a simple copy-paste
job.  :-/  if someone needs a 32-bit openjdk, that work can be done
separately.

JavaFX revs from 17 to 19; it looks like 18 was never packaged along
with JDK 18.

* the gradle invocation used to build JavaFX must still be done with
  Java 18, as gradle does not yet support running itself on Java 19.

* a couple of patches need to be applied, since a new State enum was
  introduced in the JDK that collides with one in JavaFX.

* the hash of the gradle dependencies has not changed, which is
  surprising, but as far as I can tell correct.

One application (libreoffice) doesn't work with 19 yet, so pin it to
jdk 17 for now.

Co-authored-by: Mario Rodas <marsam@users.noreply.github.com>
2022-11-22 20:33:24 -05:00
Adam Joseph
1a61c13bfa java-packages.nix: detect i686 using stdenv.hostPlatform
`java-packages.nix` attempts to automatically decide which java to use
for bootstrapping.  When this works, it works well.  However when it
fails due to the user setting `config.allowNonSource=false` on a
non-x86 platform, the reported failure is extremely confusing and does
not mention the `NIXPKGS_ALLOW_NONSOURCE=1` option to proceed, or
that `allowNonSource` had anything to do with the eval failure.

Here's why this is happening:

Currently, `java-packages.nix` makes its detection choice based on
`adoptopenjdk.jdk-hotspot.meta.available`.  If the user has set
`config.allowNonSource=false` then the `adoptopenjdk-bin` packages
will all report `_.meta.available==false`.  If
`adoptopenjdk.jdk-hotspot.meta.available==false` then the detection
code will proceed to use `callPackage path args`, *even if that
package is **also** `meta.unavailable`* for end-user-unfixable
reasons.

In the case of `openjdk8`, the `path` passed is a `nix` expression
that only works on x86.  The user has two options for continuing the
build: buy an x86 machine or add an `allowNonSource` exception for the
bootstrap jdk.  The second option is generally preferred, but the user
is only offered the first option.

The following comment appears above the line in `java-packages.nix`
which does the automatic selection:

```
/* adoptopenjdk not available for i686, so fall back to our old builds for bootstrapping */
```

Since the intent here was to decide based on "i686-ness", let's query
the authoritative source for i686ness in nixpkgs: `stdenv.hostPlatform`.
2022-11-04 17:59:00 -07:00
Yureka
8886c89d0e {temurin,adoptopenjdk}-bin: use alpine_linux os for musl libc 2022-10-12 20:28:59 +02:00
Artturin
81b9d5cab6 openjdk*: fix darwin eval failure
only ./pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
has the gtkSupport option
2022-10-03 20:04:10 +03:00
Robert Hensing
edbe7341e2
Merge pull request #192632 from hercules-ci/jdk-reduce-build-closure
openjdk*: Make bootstrap headless
2022-09-24 12:44:50 +01:00
Robert Hensing
19313d0fa2 openjdk*: Make bootstrap headless
This reduces the build closure size.
Reducing the build closure size reduces the number of rebuilds
across time and it helps with such tasks as bisecting the staging
branch.
2022-09-23 15:54:19 +01:00
Martin Weinelt
5d4267b0f2 Merge remote-tracking branch 'origin/master' into staging-next 2022-09-20 12:25:19 +02:00
Vladimír Čunát
a5dfac88d5
Merge branch 'master' into staging-next
The java conflicts weren't trivial.  Hopefully OK.
2022-09-19 07:40:23 +02:00