From d8bb4c3ffa9ceb4ba764e217a181f20dd7996b92 Mon Sep 17 00:00:00 2001 From: Kevin Rauscher Date: Sun, 3 Jun 2018 21:35:17 +0200 Subject: [PATCH 1/2] Add myself as maintainer --- maintainers/maintainer-list.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index d99ce88d61ef..bafb7f8c1183 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -3906,6 +3906,11 @@ github = "tokudan"; name = "Daniel Frank"; }; + tomahna = { + email = "kevin.rauscher@tomahna.fr"; + github = "Tomahna"; + name = "Kevin Rauscher"; + }; tomberek = { email = "tomberek@gmail.com"; github = "tomberek"; From ead58d100d37fad39a915f1c56f5574c2f06018f Mon Sep 17 00:00:00 2001 From: Kevin Rauscher Date: Sun, 3 Jun 2018 21:48:05 +0200 Subject: [PATCH 2/2] bloop: init at 1.0.0-M11 --- nixos/modules/module-list.nix | 1 + nixos/modules/services/development/bloop.nix | 37 +++++++++++ .../tools/build-managers/bloop/default.nix | 61 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 4 files changed, 101 insertions(+) create mode 100644 nixos/modules/services/development/bloop.nix create mode 100644 pkgs/development/tools/build-managers/bloop/default.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 193ef0d1c961..b88d8c1b3242 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -242,6 +242,7 @@ ./services/desktops/gnome3/tracker-miners.nix ./services/desktops/profile-sync-daemon.nix ./services/desktops/telepathy.nix + ./services/development/bloop.nix ./services/development/hoogle.nix ./services/editors/emacs.nix ./services/editors/infinoted.nix diff --git a/nixos/modules/services/development/bloop.nix b/nixos/modules/services/development/bloop.nix new file mode 100644 index 000000000000..56904b7c40e6 --- /dev/null +++ b/nixos/modules/services/development/bloop.nix @@ -0,0 +1,37 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.bloop; + +in { + + options.services.bloop = { + install = mkOption { + type = types.bool; + default = false; + description = '' + Whether to install a user service for the Bloop server. + + The service must be manually started for each user with + "systemctl --user start bloop". + ''; + }; + }; + + config = mkIf (cfg.install) { + systemd.user.services.bloop = { + description = "Bloop Scala build server"; + + serviceConfig = { + Type = "simple"; + ExecStart = ''${pkgs.bloop}/bin/blp-server''; + Restart = "always"; + }; + }; + + environment.systemPackages = [ pkgs.bloop ]; + }; +} diff --git a/pkgs/development/tools/build-managers/bloop/default.nix b/pkgs/development/tools/build-managers/bloop/default.nix new file mode 100644 index 000000000000..96e9d0f9a439 --- /dev/null +++ b/pkgs/development/tools/build-managers/bloop/default.nix @@ -0,0 +1,61 @@ +{ stdenv, lib, fetchurl, coursier, jdk, jre, python, makeWrapper }: + +let + baseName = "bloop"; + version = "1.0.0-M11"; + deps = stdenv.mkDerivation { + name = "${baseName}-deps-${version}"; + buildCommand = '' + export COURSIER_CACHE=$(pwd) + ${coursier}/bin/coursier fetch ch.epfl.scala:bloop-frontend_2.12:${version} \ + -r "bintray:scalameta/maven" \ + -r "bintray:scalacenter/releases" \ + -r "https://oss.sonatype.org/content/repositories/staging" > deps + mkdir -p $out/share/java + cp $(< deps) $out/share/java/ + ''; + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + outputHash = "00p9mrwcms3skzicyj8frqs0r0a2rfvk5fbh58rk5yvcvkwl4fy1"; + }; +in +stdenv.mkDerivation rec { + name = "${baseName}-${version}"; + nailgunCommit = "60c2d130"; + + buildInputs = [ jdk makeWrapper deps ]; + + phases = [ "installPhase" ]; + + client = fetchurl { + url = "https://raw.githubusercontent.com/scalacenter/nailgun/${nailgunCommit}/pynailgun/ng.py"; + sha256 = "0qjw4nsyb4cxg96jj1yv5c0ivcxvmscxxqfzll5w9p1pjb30bq0n"; + }; + + zshCompletion = fetchurl { + url = "https://raw.githubusercontent.com/scalacenter/bloop/v${version}/etc/zsh/_bloop"; + sha256 = "1id6f1fgy2rk0q5aad6ffivhbxa94fallzsc04l9n0y1s2xdhqpm"; + }; + + installPhase = '' + mkdir -p $out/bin + mkdir -p $out/share/zsh/site-functions + + cp ${client} $out/bin/blp-client + cp ${zshCompletion} $out/share/zsh/site-functions/_bloop + chmod +x $out/bin/blp-client + + makeWrapper ${jre}/bin/java $out/bin/blp-server \ + --prefix PATH : ${lib.makeBinPath [ jdk ]} \ + --add-flags "-cp $CLASSPATH bloop.Server" + makeWrapper $out/bin/blp-client $out/bin/bloop \ + --prefix PATH : ${lib.makeBinPath [ python ]} + ''; + + meta = with stdenv.lib; { + homepage = https://scalacenter.github.io/bloop/; + license = licenses.asl20; + description = "Bloop is a Scala build server and command-line tool to make the compile and test developer workflows fast and productive in a build-tool-agnostic way."; + maintainers = with maintainers; [ tomahna ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bdf2d83fe3fc..03ccb873d772 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7770,6 +7770,8 @@ with pkgs; bloaty = callPackage ../development/tools/bloaty { }; + bloop = callPackage ../development/tools/build-managers/bloop { }; + bossa = callPackage ../development/tools/misc/bossa { wxGTK = wxGTK30; };