diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index d7c9706d9b70..57b1bb42fed4 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -1115,11 +1115,11 @@ self: super: builtins.intersectAttrs super { hercules-ci-agent = super.hercules-ci-agent.override { nix = self.hercules-ci-cnix-store.passthru.nixPackage; }; hercules-ci-cnix-expr = addTestToolDepend pkgs.git (super.hercules-ci-cnix-expr.override { nix = self.hercules-ci-cnix-store.passthru.nixPackage; }); - hercules-ci-cnix-store-nix = pkgs.nixVersions.nix_2_16; + hercules-ci-cnix-store-nix = pkgs.nixVersions.nix_2_18; hercules-ci-cnix-store = overrideCabal (old: { passthru = old.passthru or { } // { - nixPackage = self.hercules-ci-cnix-store-nix or pkgs.nix; + nixPackage = self.hercules-ci-cnix-store-nix or pkgs.nixVersions.nix_2_18; }; }) (super.hercules-ci-cnix-store.override { diff --git a/pkgs/development/haskell-modules/non-hackage-packages.nix b/pkgs/development/haskell-modules/non-hackage-packages.nix index f78e333ae1d7..a031af1e55bd 100644 --- a/pkgs/development/haskell-modules/non-hackage-packages.nix +++ b/pkgs/development/haskell-modules/non-hackage-packages.nix @@ -39,4 +39,12 @@ self: super: { # cabal2nix --maintainer roberth https://github.com/hercules-ci/optparse-applicative.git > pkgs/development/misc/haskell/hercules-ci-optparse-applicative.nix hercules-ci-optparse-applicative = self.callPackage ../misc/haskell/hercules-ci-optparse-applicative.nix {}; + hercules-ci-agent = self.callPackage ./updates/hercules-ci-agent.nix {}; + hercules-ci-api = self.callPackage ./updates/hercules-ci-api.nix {}; + hercules-ci-api-agent = self.callPackage ./updates/hercules-ci-api-agent.nix {}; + hercules-ci-api-core = self.callPackage ./updates/hercules-ci-api-core.nix {}; + hercules-ci-cli = self.callPackage ./updates/hercules-ci-cli.nix {}; + hercules-ci-cnix-expr = self.callPackage ./updates/hercules-ci-cnix-expr.nix {}; + hercules-ci-cnix-store = self.callPackage ./updates/hercules-ci-cnix-store.nix {}; + } diff --git a/pkgs/development/haskell-modules/updates/hercules-ci-agent.nix b/pkgs/development/haskell-modules/updates/hercules-ci-agent.nix new file mode 100644 index 000000000000..eda8ae9ae28a --- /dev/null +++ b/pkgs/development/haskell-modules/updates/hercules-ci-agent.nix @@ -0,0 +1,64 @@ +{ mkDerivation, aeson, async, attoparsec, base, base64-bytestring +, binary, binary-conduit, boost, bytestring, Cabal +, cabal-pkg-config-version-hook, cachix, cachix-api, conduit +, conduit-extra, containers, directory, dlist, exceptions, filepath +, hercules-ci-api, hercules-ci-api-agent, hercules-ci-api-core +, hercules-ci-cnix-expr, hercules-ci-cnix-store, hostname, hspec +, hspec-discover, http-client, http-client-tls, http-conduit +, inline-c, inline-c-cpp, katip, lens, lens-aeson, lib +, lifted-async, lifted-base, monad-control, mtl, network +, network-uri, nix, optparse-applicative, process, process-extras +, protolude, safe-exceptions, scientific, servant +, servant-auth-client, servant-client, servant-client-core, stm +, tagged, temporary, text, time, tomland, transformers +, transformers-base, unbounded-delays, unix, unliftio +, unliftio-core, unordered-containers, uuid, vector, websockets +, wuss +}: +mkDerivation { + pname = "hercules-ci-agent"; + version = "0.9.13"; + sha256 = "1904fcef04d3358d86731a2533d16146a5f19ee13a83fbe94faa670220525b21"; + isLibrary = true; + isExecutable = true; + enableSeparateDataOutput = true; + setupHaskellDepends = [ base Cabal cabal-pkg-config-version-hook ]; + libraryHaskellDepends = [ + aeson async base binary binary-conduit bytestring conduit + containers directory dlist exceptions filepath + hercules-ci-api-agent hercules-ci-api-core hercules-ci-cnix-expr + hercules-ci-cnix-store katip lens lens-aeson lifted-async + lifted-base monad-control mtl network network-uri process + process-extras protolude safe-exceptions stm tagged temporary text + time transformers transformers-base unbounded-delays unix unliftio + unliftio-core uuid websockets wuss + ]; + executableHaskellDepends = [ + aeson async attoparsec base base64-bytestring binary binary-conduit + bytestring cachix cachix-api conduit conduit-extra containers + directory dlist exceptions filepath hercules-ci-api + hercules-ci-api-agent hercules-ci-api-core hercules-ci-cnix-expr + hercules-ci-cnix-store hostname http-client http-client-tls + http-conduit inline-c inline-c-cpp katip lens lens-aeson + lifted-async lifted-base monad-control mtl network network-uri + optparse-applicative process process-extras protolude + safe-exceptions scientific servant servant-auth-client + servant-client servant-client-core stm temporary text time tomland + transformers transformers-base unix unliftio unliftio-core + unordered-containers uuid vector websockets wuss + ]; + executableSystemDepends = [ boost ]; + executablePkgconfigDepends = [ nix ]; + testHaskellDepends = [ + aeson async attoparsec base binary binary-conduit bytestring + conduit containers exceptions filepath hercules-ci-api-agent + hercules-ci-api-core hercules-ci-cnix-store hspec katip + lifted-async lifted-base monad-control mtl process protolude + safe-exceptions stm tagged temporary text transformers-base + unliftio-core vector + ]; + testToolDepends = [ hspec-discover ]; + homepage = "https://docs.hercules-ci.com"; + description = "Runs Continuous Integration tasks on your machines"; + license = lib.licenses.asl20; +} diff --git a/pkgs/development/haskell-modules/updates/hercules-ci-api-agent.nix b/pkgs/development/haskell-modules/updates/hercules-ci-api-agent.nix new file mode 100644 index 000000000000..e20932a5a2e2 --- /dev/null +++ b/pkgs/development/haskell-modules/updates/hercules-ci-api-agent.nix @@ -0,0 +1,27 @@ +{ mkDerivation, aeson, base, base64-bytestring-type, bytestring +, containers, cookie, deepseq, exceptions, hashable +, hercules-ci-api-core, hspec, http-api-data, http-media, lens +, lens-aeson, lib, memory, network-uri, profunctors, QuickCheck +, quickcheck-classes, servant, servant-auth, string-conv, swagger2 +, text, time, unordered-containers, uuid, vector +}: +mkDerivation { + pname = "hercules-ci-api-agent"; + version = "0.5.0.1"; + sha256 = "4f839cc0d03a65a507092081a21280afba64c8f558f13ae96f90f8aa82ab2c35"; + libraryHaskellDepends = [ + aeson base base64-bytestring-type bytestring containers cookie + deepseq exceptions hashable hercules-ci-api-core http-api-data + http-media lens lens-aeson memory servant servant-auth string-conv + swagger2 text time unordered-containers uuid vector + ]; + testHaskellDepends = [ + aeson base bytestring containers cookie exceptions hashable + hercules-ci-api-core hspec http-api-data http-media lens memory + network-uri profunctors QuickCheck quickcheck-classes servant + servant-auth string-conv swagger2 text time uuid vector + ]; + homepage = "https://github.com/hercules-ci/hercules-ci-agent#readme"; + description = "API definition for Hercules CI Agent to talk to hercules-ci.com or Hercules CI Enterprise"; + license = lib.licenses.asl20; +} diff --git a/pkgs/development/haskell-modules/updates/hercules-ci-api-core.nix b/pkgs/development/haskell-modules/updates/hercules-ci-api-core.nix new file mode 100644 index 000000000000..164f3fc1fe64 --- /dev/null +++ b/pkgs/development/haskell-modules/updates/hercules-ci-api-core.nix @@ -0,0 +1,21 @@ +{ mkDerivation, aeson, base, bytestring, containers, cookie +, deepseq, exceptions, hashable, http-api-data, http-media, katip +, lens, lib, lifted-base, memory, monad-control, safe-exceptions +, servant, servant-auth, servant-auth-swagger, servant-swagger +, servant-swagger-ui-core, string-conv, swagger2, text, time, uuid +}: +mkDerivation { + pname = "hercules-ci-api-core"; + version = "0.1.5.1"; + sha256 = "04675bc00fb37aa30015ecba5db80599558318c3ee5f859311e9ce6609d28a56"; + libraryHaskellDepends = [ + aeson base bytestring containers cookie deepseq exceptions hashable + http-api-data http-media katip lens lifted-base memory + monad-control safe-exceptions servant servant-auth + servant-auth-swagger servant-swagger servant-swagger-ui-core + string-conv swagger2 text time uuid + ]; + homepage = "https://github.com/hercules-ci/hercules-ci-agent#readme"; + description = "Types and convenience modules use across Hercules CI API packages"; + license = lib.licenses.asl20; +} diff --git a/pkgs/development/haskell-modules/updates/hercules-ci-api.nix b/pkgs/development/haskell-modules/updates/hercules-ci-api.nix new file mode 100644 index 000000000000..cfca26cd9ee3 --- /dev/null +++ b/pkgs/development/haskell-modules/updates/hercules-ci-api.nix @@ -0,0 +1,38 @@ +{ mkDerivation, aeson, base, bytestring, containers, cookie +, exceptions, hashable, hercules-ci-api-core, hspec, http-api-data +, http-media, lens, lens-aeson, lib, memory, network-uri +, profunctors, protolude, QuickCheck, quickcheck-classes, servant +, servant-auth, servant-auth-swagger, servant-swagger +, servant-swagger-ui-core, string-conv, swagger2, text, time, uuid +, vector +}: +mkDerivation { + pname = "hercules-ci-api"; + version = "0.8.1.0"; + sha256 = "d1b802c9db7efde7eed46663dea7d860b2560c5fe44354d0d6e8745ed1e1fb8f"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson base bytestring containers cookie exceptions hashable + hercules-ci-api-core http-api-data http-media lens lens-aeson + memory network-uri profunctors servant servant-auth + servant-auth-swagger servant-swagger servant-swagger-ui-core + string-conv swagger2 text time uuid + ]; + executableHaskellDepends = [ + aeson base bytestring containers cookie exceptions hashable + http-api-data http-media lens memory network-uri profunctors + servant servant-auth servant-auth-swagger servant-swagger + servant-swagger-ui-core string-conv swagger2 text time uuid + ]; + testHaskellDepends = [ + aeson base bytestring containers exceptions hashable + hercules-ci-api-core hspec http-api-data http-media protolude + QuickCheck quickcheck-classes servant servant-auth string-conv text + time uuid vector + ]; + homepage = "https://github.com/hercules-ci/hercules-ci-agent#readme"; + description = "Hercules CI API definition with Servant"; + license = lib.licenses.asl20; + mainProgram = "hercules-gen-swagger"; +} diff --git a/pkgs/development/haskell-modules/updates/hercules-ci-cli.nix b/pkgs/development/haskell-modules/updates/hercules-ci-cli.nix new file mode 100644 index 000000000000..8a5f759fcfbc --- /dev/null +++ b/pkgs/development/haskell-modules/updates/hercules-ci-cli.nix @@ -0,0 +1,42 @@ +{ mkDerivation, aeson, aeson-pretty, async, atomic-write +, attoparsec, base, bytestring, conduit, containers, data-has +, directory, exceptions, filepath, hercules-ci-agent +, hercules-ci-api, hercules-ci-api-agent, hercules-ci-api-core +, hercules-ci-cnix-expr, hercules-ci-cnix-store +, hercules-ci-optparse-applicative, hostname, hspec, http-client +, http-client-tls, http-types, inline-c-cpp, katip, lens +, lens-aeson, lib, lifted-base, monad-control, network-uri, process +, protolude, QuickCheck, retry, rio, safe-exceptions, servant +, servant-auth-client, servant-client, servant-client-core +, servant-conduit, temporary, text, transformers, transformers-base +, unix, unliftio, unliftio-core, unordered-containers, uuid +}: +mkDerivation { + pname = "hercules-ci-cli"; + version = "0.3.6.1"; + sha256 = "182442f3d6b8cfeda585a59aed757fd96bb6cf4978ff04c204120c1117a826d4"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson aeson-pretty async atomic-write attoparsec base bytestring + conduit containers data-has directory exceptions filepath + hercules-ci-agent hercules-ci-api hercules-ci-api-agent + hercules-ci-api-core hercules-ci-cnix-expr hercules-ci-cnix-store + hercules-ci-optparse-applicative hostname http-client + http-client-tls http-types inline-c-cpp katip lens lens-aeson + lifted-base monad-control network-uri process protolude retry rio + safe-exceptions servant servant-auth-client servant-client + servant-client-core servant-conduit temporary text transformers + transformers-base unix unliftio unliftio-core unordered-containers + uuid + ]; + executableHaskellDepends = [ base ]; + testHaskellDepends = [ + aeson base bytestring containers hspec protolude QuickCheck + unordered-containers + ]; + homepage = "https://docs.hercules-ci.com"; + description = "The hci command for working with Hercules CI"; + license = lib.licenses.asl20; + mainProgram = "hci"; +} diff --git a/pkgs/development/haskell-modules/updates/hercules-ci-cnix-expr.nix b/pkgs/development/haskell-modules/updates/hercules-ci-cnix-expr.nix new file mode 100644 index 000000000000..c2a0c803beae --- /dev/null +++ b/pkgs/development/haskell-modules/updates/hercules-ci-cnix-expr.nix @@ -0,0 +1,30 @@ +{ mkDerivation, aeson, base, boost, bytestring, Cabal +, cabal-pkg-config-version-hook, conduit, containers, directory +, exceptions, filepath, hercules-ci-cnix-store, hspec +, hspec-discover, inline-c, inline-c-cpp, lib, nix, process +, protolude, QuickCheck, scientific, temporary, text, unliftio +, unordered-containers, vector +}: +mkDerivation { + pname = "hercules-ci-cnix-expr"; + version = "0.3.6.1"; + sha256 = "f967e0da57a7aabef256d8843171df51988690036af866537e29ac6ebde76aa5"; + enableSeparateDataOutput = true; + setupHaskellDepends = [ base Cabal cabal-pkg-config-version-hook ]; + libraryHaskellDepends = [ + aeson base bytestring conduit containers directory exceptions + filepath hercules-ci-cnix-store inline-c inline-c-cpp protolude + scientific text unliftio unordered-containers vector + ]; + librarySystemDepends = [ boost ]; + libraryPkgconfigDepends = [ nix ]; + testHaskellDepends = [ + aeson base bytestring containers filepath hercules-ci-cnix-store + hspec process protolude QuickCheck scientific temporary text + unordered-containers vector + ]; + testToolDepends = [ hspec-discover ]; + homepage = "https://docs.hercules-ci.com"; + description = "Bindings for the Nix evaluator"; + license = lib.licenses.asl20; +} diff --git a/pkgs/development/haskell-modules/updates/hercules-ci-cnix-store.nix b/pkgs/development/haskell-modules/updates/hercules-ci-cnix-store.nix new file mode 100644 index 000000000000..7c3ab9558989 --- /dev/null +++ b/pkgs/development/haskell-modules/updates/hercules-ci-cnix-store.nix @@ -0,0 +1,26 @@ +{ mkDerivation, base, boost, bytestring, Cabal +, cabal-pkg-config-version-hook, conduit, containers, exceptions +, hspec, hspec-discover, inline-c, inline-c-cpp, lib, nix +, protolude, template-haskell, temporary, text, unix, unliftio-core +, vector +}: +mkDerivation { + pname = "hercules-ci-cnix-store"; + version = "0.3.5.0"; + sha256 = "395a311514ab5121bf71adc0f67a53b152a091114725fb750c08767a047c7280"; + setupHaskellDepends = [ base Cabal cabal-pkg-config-version-hook ]; + libraryHaskellDepends = [ + base bytestring conduit containers inline-c inline-c-cpp protolude + template-haskell unix unliftio-core vector + ]; + librarySystemDepends = [ boost ]; + libraryPkgconfigDepends = [ nix ]; + testHaskellDepends = [ + base bytestring containers exceptions hspec inline-c inline-c-cpp + protolude temporary text + ]; + testToolDepends = [ hspec-discover ]; + homepage = "https://docs.hercules-ci.com"; + description = "Haskell bindings for Nix's libstore"; + license = lib.licenses.asl20; +} diff --git a/pkgs/development/haskell-modules/updates/update.sh b/pkgs/development/haskell-modules/updates/update.sh new file mode 100755 index 000000000000..0a77757b8c36 --- /dev/null +++ b/pkgs/development/haskell-modules/updates/update.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +cd "$(dirname "${BASH_SOURCE[0]}")" +cabal2nix cabal://hercules-ci-agent-0.9.13 >hercules-ci-agent.nix +cabal2nix cabal://hercules-ci-api-0.8.1.0 >hercules-ci-api.nix +cabal2nix cabal://hercules-ci-api-agent-0.5.0.1 >hercules-ci-api-agent.nix +cabal2nix cabal://hercules-ci-api-core-0.1.5.1 >hercules-ci-api-core.nix +cabal2nix cabal://hercules-ci-cli-0.3.6.1 >hercules-ci-cli.nix +cabal2nix cabal://hercules-ci-cnix-expr-0.3.6.1 >hercules-ci-cnix-expr.nix +cabal2nix cabal://hercules-ci-cnix-store-0.3.5.0 >hercules-ci-cnix-store.nix diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 9eaad27fff77..09cf30781686 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -362,12 +362,6 @@ mapAliases ({ haxe_3_2 = throw "'haxe_3_2' has been removed because it is old and no longer used by any packages in nixpkgs"; # Added 2023-03-15 haxe_3_4 = throw "'haxe_3_4' has been removed because it is old and no longer used by any packages in nixpkgs"; # Added 2023-03-15 hepmc = throw "'hepmc' has been renamed to/replaced by 'hepmc2'"; # Converted to throw 2023-09-10 - hercules-ci-agent = throw '' - If you are using a Nix daemon, you are *not* vulnerable to CVE-2024-27297, - despite hercules-ci-agent using that version for evaluation. - If you'd like to continue using hercules-ci-agent 0.9, use the package - hercules-ci-agent_only_safe_with_daemon while we work on a backport. - ''; hip = throw "'hip' has been removed in favor of 'rocmPackages.clr'"; # Added 2023-10-08 hipcc = throw "'hipcc' has been replaced with 'rocmPackages.hipcc'"; # Added 2023-10-08 hipify = throw "'hipify' has been replaced with 'rocmPackages.hipify'"; # Added 2023-10-08 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1149e8fa3781..cb1138b01058 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20785,6 +20785,9 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) AudioUnit CoreAudio CoreServices; }; + hercules-ci-agent = callPackage ../development/tools/continuous-integration/hercules-ci-agent { }; + + # Allow downgrade to nix 2.16 if needed. hercules-ci-agent_only_safe_with_daemon = callPackage ../development/tools/continuous-integration/hercules-ci-agent { haskellPackages = haskellPackages.extend (self: super: { hercules-ci-cnix-store-nix = nixVersions.nix_2_16.overrideAttrs (old: {