Loading pkgs/servers/aeron/default.nix +128 −123 Original line number Diff line number Diff line { lib, stdenv, fetchFromGitHub, fetchMavenArtifact, jdk11, gradle, makeWrapper, perl, writeText makeWrapper }: let pname = "aeron"; version = "1.42.1"; groupId = "io.aeron"; aeronAll_1_40_0 = fetchMavenArtifact { inherit groupId; version = "1.40.0"; artifactId = "aeron-all"; hash = "sha512-NyhYaQqOWcSBwzwpje6DMAp36CEgGSNXBSdaRrDyP+Fn2Z0nvh5o2czog6GKKtbjH9inYfyyF/21gehfgLF6qA=="; }; src = fetchFromGitHub { owner = "real-logic"; repo = pname; rev = version; sha256 = "sha256-4C5YofA/wxwa7bfc6IqsDrw8CLQWKoVBCIe8Ec7ifAg="; aeronAgent_1_40_0 = fetchMavenArtifact { inherit groupId; version = "1.40.0"; artifactId = "aeron-agent"; hash = "sha512-3XZ6XxPwlNchMe4p4MuDNTWntGokFPnetN7AUMlhXzIgeXBExXvn+BdxI2crfq/xgVGrF/hjHD2shwu2NBa0Tg=="; }; deps = stdenv.mkDerivation { name = "${pname}-deps"; inherit src; aeronArchive_1_40_0 = fetchMavenArtifact { inherit groupId; version = "1.40.0"; artifactId = "aeron-archive"; hash = "sha512-tmH+/020d1iNkGb8nvenDG9YU+H4PLuO2hSm2dULUIjSXX5AHLDkkrQ3uVQADV9koRNMtC4UXloqtqncay18kQ=="; }; nativeBuildInputs = [ gradle jdk11 perl ]; aeronClient_1_40_0 = fetchMavenArtifact { inherit groupId; version = "1.40.0"; artifactId = "aeron-client"; hash = "sha512-y3/8Lu2EgMICRNPEWe0hrKpVhF35pDjCO6ip/Af9nPZ70ZRqGmlfEG7OzWVok11DuI8pYJ64jv6bEtUfSHTYXQ=="; }; buildPhase = '' export GRADLE_USER_HOME=$(mktemp -d); gradle \ --console plain \ --no-daemon \ --system-prop org.gradle.java.home="${jdk11.home}" \ --exclude-task javadoc \ build ''; aeronCluster_1_40_0 =fetchMavenArtifact { inherit groupId; version = "1.40.0"; artifactId = "aeron-cluster"; hash = "sha512-28m14Etjse3MVKBLvaQONujMfvdRQZG0ArezzVcjPEqVqTGd33mrqjPngALV8CG2nJTtcrJmsieRGLEosaXqTw=="; }; # Mavenize dependency paths # e.g. org.codehaus.groovy/groovy/2.4.0/{hash}/groovy-2.4.0.jar -> org/codehaus/groovy/groovy/2.4.0/groovy-2.4.0.jar installPhase = '' find "$GRADLE_USER_HOME/caches/modules-2" -type f -regex '.*\.\(jar\|pom\)' \ | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \ | sh ln -s "$out/com/squareup/okio/okio/2.10.0/okio-jvm-2.10.0.jar" "$out/com/squareup/okio/okio/2.10.0/okio-2.10.0.jar" ''; aeronDriver_1_40_0 = fetchMavenArtifact { inherit groupId; version = "1.40.0"; artifactId = "aeron-driver"; hash = "sha512-SRWHMHR6J1YEtCbSHqSLYm3vo8XgkVXGK3cFQbONT60TZvawP5UlZs7e3eFNpu3qQSA4prqEjjWO9Xc9M/sjKw=="; }; outputHashAlgo = "sha256"; outputHashMode = "recursive"; outputHash = "sha256-1hvQyEiCMfIw6wv9GOEehX0wrtBnAilVuTGUWAGoH6k="; aeronSamples_1_40_0 = fetchMavenArtifact { inherit groupId; version = "1.40.0"; artifactId = "aeron-samples"; hash = "sha512-vyAq4mfLDDyaVk7wcIpPvPcxSt92Ek8mxfuuZwaX+0Wu9oJCpwbnjvS9+bvzcE4qSGxzY6eJIIX6nMdw0LkACg=="; }; # Point to our local deps repo gradleInit = writeText "init.gradle" '' settingsEvaluated { settings -> settings.pluginManagement { repositories { clear() maven { url '${deps}' } } } } gradle.projectsLoaded { rootProject.allprojects { repositories { clear() maven { url '${deps}' } } } } ''; aeronAll_1_42_1 = fetchMavenArtifact { inherit groupId; artifactId = "aeron-all"; inherit version; hash = "sha512-pjX+JopK6onDwElMIroj+ZXrKwdPj5H2uPg08XgNlrK1rAkHo9MUT8weBGbuFVFDLeqOZrHj0bt1wJ9XgYY5aA=="; }; # replace buildSrc buildSrc = writeText "build.gradle" '' repositories { clear() maven { url '${deps}' } } aeronAgent_1_42_1 = fetchMavenArtifact { inherit groupId; version = "1.42.1"; artifactId = "aeron-agent"; hash = "sha512-3XZ6XvPwlNdiMe4p4MuDNTWntGokFPnetN7AUMlhXzIgeXBExXvn+BdxI2crfq/xgVGrF/hjHD2shwu2NBa0Tg=="; }; dependencies { implementation 'org.asciidoctor:asciidoctorj:2.5.5' implementation 'org.eclipse.jgit:org.eclipse.jgit:5.13.1.202206130422-r' } ''; aeronArchive_1_42_1 = fetchMavenArtifact { inherit groupId; version = "1.42.1"; artifactId = "aeron-archive"; hash = "sha512-1DmeI9flgfzanbP4jSNUSAQAv2SGBvnlb3G4LbO1m+BN/gPn/nahvVHzotvGJjJA5b65DE1Sc5tqPnItRTK0zQ=="; }; in stdenv.mkDerivation rec { aeronClient_1_42_1 = fetchMavenArtifact { inherit groupId; version = "1.42.1"; artifactId = "aeron-client"; hash = "sha512-td2k2WNpaD3+2PNvlCCJ8cZRr615sFjngiQDKzuY2e9/de1OUwvER3zzVAFOonEIV+s5EhwVeQvWq3Wj5Uhadg=="; }; inherit pname src version; aeronCluster_1_42_1 =fetchMavenArtifact { inherit groupId; version = "1.42.1"; artifactId = "aeron-cluster"; hash = "sha512-RiqGeY3pRqN6wWpeJqbeB1SCxrZWnQghrJlCGhew2M/GZAaWHkhhJs5haJqRvR5oOAbaI4RfIWvi5U7TiUo88g=="; }; aeronDriver_1_42_1 = fetchMavenArtifact { inherit groupId; version = "1.42.1"; artifactId = "aeron-driver"; hash = "sha512-fKEN5oQCxD1h3qPODKkqFwYbKW6L03RFHNylpsYaNlztNODlCJd0CS5dBR6K8rbOdb2dVIXK/dW/IPBvOi5q/g=="; }; aeronSamples_1_42_1 = fetchMavenArtifact { inherit groupId; version = "1.42.1"; artifactId = "aeron-samples"; hash = "sha512-4JnHn22vJf2lmOg6ev5PD+/YiaL3KgfuyWAK92djX3KBVXO7ERMY2kH79dveVCJG1rbekvE1j1pnjaAIxwJcqg=="; }; aeronAll = aeronAll_1_42_1; aeronArchive = aeronArchive_1_42_1; aeronClient = aeronClient_1_42_1; aeronCluster = aeronCluster_1_42_1; aeronDriver= aeronDriver_1_42_1; aeronSamples = aeronSamples_1_42_1; in stdenv.mkDerivation { inherit pname version; buildInputs = [ jdk11 aeronAll aeronArchive aeronClient aeronCluster aeronDriver aeronSamples ]; nativeBuildInputs = [ gradle makeWrapper ]; buildPhase = '' runHook preBuild export GRADLE_USER_HOME=$(mktemp -d) cp ${buildSrc} ./buildSrc/build.gradle gradle \ --console plain \ --exclude-task checkstyleMain \ --exclude-task checkstyleGenerated \ --exclude-task checkstyleGeneratedTest \ --exclude-task checkstyleMain \ --exclude-task checkstyleTest \ --exclude-task javadoc \ --exclude-task test \ --init-script "${gradleInit}" \ --no-daemon \ --offline \ --project-prop VERSION=${version} \ --system-prop org.gradle.java.home="${jdk11.home}" \ assemble runHook postBuild ''; dontUnpack = true; dontConfigure = true; dontBuild = true; installPhase = '' runHook preInstall install -D --mode=0444 --target-directory="$out/share/java" \ "./aeron-all/build/libs/aeron-all-${version}.jar" \ "./aeron-agent/build/libs/aeron-agent-${version}.jar" \ "./aeron-archive/build/libs/aeron-archive-${version}.jar" \ "./aeron-client/build/libs/aeron-client-${version}.jar" mkdir --parents "$out/share/java" ln --symbolic "${aeronAll.jar}" "$out/share/java/${pname}-all.jar" ln --symbolic "${aeronArchive.jar}" "$out/share/java/${pname}-archive.jar" ln --symbolic "${aeronClient.jar}" "$out/share/java/${pname}-client.jar" ln --symbolic "${aeronCluster.jar}" "$out/share/java/${pname}-cluster.jar" ln --symbolic "${aeronDriver.jar}" "$out/share/java/${pname}-driver.jar" ln --symbolic "${aeronSamples.jar}" "$out/share/java/${pname}-samples.jar" runHook postInstall ''; Loading @@ -141,7 +154,7 @@ in stdenv.mkDerivation rec { function wrap { makeWrapper "${jdk11}/bin/java" "$out/bin/$1" \ --add-flags "--add-opens java.base/sun.nio.ch=ALL-UNNAMED" \ --add-flags "--class-path $out/share/java/aeron-all-${version}.jar" \ --add-flags "--class-path ${aeronAll.jar}" \ --add-flags "$2" } Loading @@ -150,30 +163,22 @@ in stdenv.mkDerivation rec { wrap "${pname}-archiving-media-driver" io.aeron.archive.ArchivingMediaDriver wrap "${pname}-archive-tool" io.aeron.archive.ArchiveTool wrap "${pname}-logging-agent" io.aeron.agent.DynamicLoggingAgent wrap "${pname}-clustered-media-driver" io.aeron.cluster.ClusteredMediaDriver wrap "${pname}-cluster-tool" io.aeron.cluster.ClusterTool ''; doCheck = true; checkPhase = '' runHook preCheck gradle \ --console plain \ --init-script "${gradleInit}" \ --no-daemon \ --offline \ --project-prop VERSION=${version} \ --system-prop org.gradle.java.home="${jdk11.home}" \ test runHook postCheck ''; passthru = { jar = aeronAll.jar; }; meta = with lib; { description = "Low-latency messaging library"; homepage = "https://aeron.io/"; license = licenses.asl20; mainProgram = "${pname}-media-driver"; maintainers = [ maintainers.vaci ]; sourceProvenance = [ sourceTypes.binaryBytecode ]; }; } Loading
pkgs/servers/aeron/default.nix +128 −123 Original line number Diff line number Diff line { lib, stdenv, fetchFromGitHub, fetchMavenArtifact, jdk11, gradle, makeWrapper, perl, writeText makeWrapper }: let pname = "aeron"; version = "1.42.1"; groupId = "io.aeron"; aeronAll_1_40_0 = fetchMavenArtifact { inherit groupId; version = "1.40.0"; artifactId = "aeron-all"; hash = "sha512-NyhYaQqOWcSBwzwpje6DMAp36CEgGSNXBSdaRrDyP+Fn2Z0nvh5o2czog6GKKtbjH9inYfyyF/21gehfgLF6qA=="; }; src = fetchFromGitHub { owner = "real-logic"; repo = pname; rev = version; sha256 = "sha256-4C5YofA/wxwa7bfc6IqsDrw8CLQWKoVBCIe8Ec7ifAg="; aeronAgent_1_40_0 = fetchMavenArtifact { inherit groupId; version = "1.40.0"; artifactId = "aeron-agent"; hash = "sha512-3XZ6XxPwlNchMe4p4MuDNTWntGokFPnetN7AUMlhXzIgeXBExXvn+BdxI2crfq/xgVGrF/hjHD2shwu2NBa0Tg=="; }; deps = stdenv.mkDerivation { name = "${pname}-deps"; inherit src; aeronArchive_1_40_0 = fetchMavenArtifact { inherit groupId; version = "1.40.0"; artifactId = "aeron-archive"; hash = "sha512-tmH+/020d1iNkGb8nvenDG9YU+H4PLuO2hSm2dULUIjSXX5AHLDkkrQ3uVQADV9koRNMtC4UXloqtqncay18kQ=="; }; nativeBuildInputs = [ gradle jdk11 perl ]; aeronClient_1_40_0 = fetchMavenArtifact { inherit groupId; version = "1.40.0"; artifactId = "aeron-client"; hash = "sha512-y3/8Lu2EgMICRNPEWe0hrKpVhF35pDjCO6ip/Af9nPZ70ZRqGmlfEG7OzWVok11DuI8pYJ64jv6bEtUfSHTYXQ=="; }; buildPhase = '' export GRADLE_USER_HOME=$(mktemp -d); gradle \ --console plain \ --no-daemon \ --system-prop org.gradle.java.home="${jdk11.home}" \ --exclude-task javadoc \ build ''; aeronCluster_1_40_0 =fetchMavenArtifact { inherit groupId; version = "1.40.0"; artifactId = "aeron-cluster"; hash = "sha512-28m14Etjse3MVKBLvaQONujMfvdRQZG0ArezzVcjPEqVqTGd33mrqjPngALV8CG2nJTtcrJmsieRGLEosaXqTw=="; }; # Mavenize dependency paths # e.g. org.codehaus.groovy/groovy/2.4.0/{hash}/groovy-2.4.0.jar -> org/codehaus/groovy/groovy/2.4.0/groovy-2.4.0.jar installPhase = '' find "$GRADLE_USER_HOME/caches/modules-2" -type f -regex '.*\.\(jar\|pom\)' \ | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \ | sh ln -s "$out/com/squareup/okio/okio/2.10.0/okio-jvm-2.10.0.jar" "$out/com/squareup/okio/okio/2.10.0/okio-2.10.0.jar" ''; aeronDriver_1_40_0 = fetchMavenArtifact { inherit groupId; version = "1.40.0"; artifactId = "aeron-driver"; hash = "sha512-SRWHMHR6J1YEtCbSHqSLYm3vo8XgkVXGK3cFQbONT60TZvawP5UlZs7e3eFNpu3qQSA4prqEjjWO9Xc9M/sjKw=="; }; outputHashAlgo = "sha256"; outputHashMode = "recursive"; outputHash = "sha256-1hvQyEiCMfIw6wv9GOEehX0wrtBnAilVuTGUWAGoH6k="; aeronSamples_1_40_0 = fetchMavenArtifact { inherit groupId; version = "1.40.0"; artifactId = "aeron-samples"; hash = "sha512-vyAq4mfLDDyaVk7wcIpPvPcxSt92Ek8mxfuuZwaX+0Wu9oJCpwbnjvS9+bvzcE4qSGxzY6eJIIX6nMdw0LkACg=="; }; # Point to our local deps repo gradleInit = writeText "init.gradle" '' settingsEvaluated { settings -> settings.pluginManagement { repositories { clear() maven { url '${deps}' } } } } gradle.projectsLoaded { rootProject.allprojects { repositories { clear() maven { url '${deps}' } } } } ''; aeronAll_1_42_1 = fetchMavenArtifact { inherit groupId; artifactId = "aeron-all"; inherit version; hash = "sha512-pjX+JopK6onDwElMIroj+ZXrKwdPj5H2uPg08XgNlrK1rAkHo9MUT8weBGbuFVFDLeqOZrHj0bt1wJ9XgYY5aA=="; }; # replace buildSrc buildSrc = writeText "build.gradle" '' repositories { clear() maven { url '${deps}' } } aeronAgent_1_42_1 = fetchMavenArtifact { inherit groupId; version = "1.42.1"; artifactId = "aeron-agent"; hash = "sha512-3XZ6XvPwlNdiMe4p4MuDNTWntGokFPnetN7AUMlhXzIgeXBExXvn+BdxI2crfq/xgVGrF/hjHD2shwu2NBa0Tg=="; }; dependencies { implementation 'org.asciidoctor:asciidoctorj:2.5.5' implementation 'org.eclipse.jgit:org.eclipse.jgit:5.13.1.202206130422-r' } ''; aeronArchive_1_42_1 = fetchMavenArtifact { inherit groupId; version = "1.42.1"; artifactId = "aeron-archive"; hash = "sha512-1DmeI9flgfzanbP4jSNUSAQAv2SGBvnlb3G4LbO1m+BN/gPn/nahvVHzotvGJjJA5b65DE1Sc5tqPnItRTK0zQ=="; }; in stdenv.mkDerivation rec { aeronClient_1_42_1 = fetchMavenArtifact { inherit groupId; version = "1.42.1"; artifactId = "aeron-client"; hash = "sha512-td2k2WNpaD3+2PNvlCCJ8cZRr615sFjngiQDKzuY2e9/de1OUwvER3zzVAFOonEIV+s5EhwVeQvWq3Wj5Uhadg=="; }; inherit pname src version; aeronCluster_1_42_1 =fetchMavenArtifact { inherit groupId; version = "1.42.1"; artifactId = "aeron-cluster"; hash = "sha512-RiqGeY3pRqN6wWpeJqbeB1SCxrZWnQghrJlCGhew2M/GZAaWHkhhJs5haJqRvR5oOAbaI4RfIWvi5U7TiUo88g=="; }; aeronDriver_1_42_1 = fetchMavenArtifact { inherit groupId; version = "1.42.1"; artifactId = "aeron-driver"; hash = "sha512-fKEN5oQCxD1h3qPODKkqFwYbKW6L03RFHNylpsYaNlztNODlCJd0CS5dBR6K8rbOdb2dVIXK/dW/IPBvOi5q/g=="; }; aeronSamples_1_42_1 = fetchMavenArtifact { inherit groupId; version = "1.42.1"; artifactId = "aeron-samples"; hash = "sha512-4JnHn22vJf2lmOg6ev5PD+/YiaL3KgfuyWAK92djX3KBVXO7ERMY2kH79dveVCJG1rbekvE1j1pnjaAIxwJcqg=="; }; aeronAll = aeronAll_1_42_1; aeronArchive = aeronArchive_1_42_1; aeronClient = aeronClient_1_42_1; aeronCluster = aeronCluster_1_42_1; aeronDriver= aeronDriver_1_42_1; aeronSamples = aeronSamples_1_42_1; in stdenv.mkDerivation { inherit pname version; buildInputs = [ jdk11 aeronAll aeronArchive aeronClient aeronCluster aeronDriver aeronSamples ]; nativeBuildInputs = [ gradle makeWrapper ]; buildPhase = '' runHook preBuild export GRADLE_USER_HOME=$(mktemp -d) cp ${buildSrc} ./buildSrc/build.gradle gradle \ --console plain \ --exclude-task checkstyleMain \ --exclude-task checkstyleGenerated \ --exclude-task checkstyleGeneratedTest \ --exclude-task checkstyleMain \ --exclude-task checkstyleTest \ --exclude-task javadoc \ --exclude-task test \ --init-script "${gradleInit}" \ --no-daemon \ --offline \ --project-prop VERSION=${version} \ --system-prop org.gradle.java.home="${jdk11.home}" \ assemble runHook postBuild ''; dontUnpack = true; dontConfigure = true; dontBuild = true; installPhase = '' runHook preInstall install -D --mode=0444 --target-directory="$out/share/java" \ "./aeron-all/build/libs/aeron-all-${version}.jar" \ "./aeron-agent/build/libs/aeron-agent-${version}.jar" \ "./aeron-archive/build/libs/aeron-archive-${version}.jar" \ "./aeron-client/build/libs/aeron-client-${version}.jar" mkdir --parents "$out/share/java" ln --symbolic "${aeronAll.jar}" "$out/share/java/${pname}-all.jar" ln --symbolic "${aeronArchive.jar}" "$out/share/java/${pname}-archive.jar" ln --symbolic "${aeronClient.jar}" "$out/share/java/${pname}-client.jar" ln --symbolic "${aeronCluster.jar}" "$out/share/java/${pname}-cluster.jar" ln --symbolic "${aeronDriver.jar}" "$out/share/java/${pname}-driver.jar" ln --symbolic "${aeronSamples.jar}" "$out/share/java/${pname}-samples.jar" runHook postInstall ''; Loading @@ -141,7 +154,7 @@ in stdenv.mkDerivation rec { function wrap { makeWrapper "${jdk11}/bin/java" "$out/bin/$1" \ --add-flags "--add-opens java.base/sun.nio.ch=ALL-UNNAMED" \ --add-flags "--class-path $out/share/java/aeron-all-${version}.jar" \ --add-flags "--class-path ${aeronAll.jar}" \ --add-flags "$2" } Loading @@ -150,30 +163,22 @@ in stdenv.mkDerivation rec { wrap "${pname}-archiving-media-driver" io.aeron.archive.ArchivingMediaDriver wrap "${pname}-archive-tool" io.aeron.archive.ArchiveTool wrap "${pname}-logging-agent" io.aeron.agent.DynamicLoggingAgent wrap "${pname}-clustered-media-driver" io.aeron.cluster.ClusteredMediaDriver wrap "${pname}-cluster-tool" io.aeron.cluster.ClusterTool ''; doCheck = true; checkPhase = '' runHook preCheck gradle \ --console plain \ --init-script "${gradleInit}" \ --no-daemon \ --offline \ --project-prop VERSION=${version} \ --system-prop org.gradle.java.home="${jdk11.home}" \ test runHook postCheck ''; passthru = { jar = aeronAll.jar; }; meta = with lib; { description = "Low-latency messaging library"; homepage = "https://aeron.io/"; license = licenses.asl20; mainProgram = "${pname}-media-driver"; maintainers = [ maintainers.vaci ]; sourceProvenance = [ sourceTypes.binaryBytecode ]; }; }