From e9673bea25cebb4ef07ad1cb82dbdea499e698f7 Mon Sep 17 00:00:00 2001 From: Vincent Lafeychine <vincent.lafeychine@gmail.com> Date: Sat, 5 Feb 2022 13:26:09 +0100 Subject: [PATCH] Switch to Scala Native + Add every dependencies for SDL --- build.sbt | 12 ++++++++++-- project/plugins.sbt | 1 + shell.nix | 13 +++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 shell.nix diff --git a/build.sbt b/build.sbt index 980d94a..b421d4d 100644 --- a/build.sbt +++ b/build.sbt @@ -1,7 +1,15 @@ name := "prog-2" scalaVersion := "3.1.1" +enablePlugins(ScalaNativePlugin) + +nativeCompileOptions ++= Seq("-stdlib=libc++") +nativeLinkingOptions ++= Seq("-fuse-ld=lld") + +nativeMode := "release-fast" +nativeLTO := "thin" + libraryDependencies ++= Seq( - "org.scalatest" %% "scalatest-funsuite" % "3.2.11" % "test", - "org.scala-lang.modules" %% "scala-swing" % "3.0.0" + "org.scalatest" %% "scalatest-funsuite" % "3.2.11" % "test", + "org.scala-lang.modules" %% "scala-swing" % "3.0.0" ) diff --git a/project/plugins.sbt b/project/plugins.sbt index e24df63..edb0c65 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,2 +1,3 @@ addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.6.1") addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.6") +addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.3") diff --git a/shell.nix b/shell.nix new file mode 100644 index 0000000..135e4cd --- /dev/null +++ b/shell.nix @@ -0,0 +1,13 @@ +{ pkgs ? import <nixpkgs> { } }: + +with pkgs; + +let + llvmPackages = llvmPackages_13; + stdenv = llvmPackages.libcxxStdenv; +in stdenv.mkDerivation (rec { + name = "prog-2"; + buildInputs = [ llvmPackages.lld sbt SDL2 which ]; + LD_LIBRARY_PATH = + lib.makeLibraryPath [ llvmPackages.libcxx llvmPackages.libcxxabi SDL2 ]; +}) -- GitLab