DFSG NEW Queue

DFSG, Licensing & New Packages Team

scala3 3.9.0+ds2-1

Package Information

Descriptioncompiler and interactive shell for the Scala 3 language

Scala is a programming language that scales with you: from small scripts to large multiplatform applications. Scala 3 adds enums, given instances and using clauses, extension methods, opaque type aliases, union and intersection types, and a new metaprogramming system based on inline and quotes.

This package provides the Scala 3 compiler (scalac-3) with its staging and TASTy inspector libraries, the interactive shell (REPL, started by scala-3 with no program to run), a minimal program runner (scala-3) and the compiler bridge used by sbt and other build tools (scala3-sbt-bridge). The scaladoc tool is in scala3-scaladoc; its command, scaladoc-3, is in this package and names scala3-scaladoc when that is not installed. It can be installed together with the Scala 2.12 (scala) and Scala 2.13 (scala-2.13) packages; /usr/bin/scalac and /usr/bin/scala are managed by update-alternatives.

It is built from source with no sbt, by a two-pass self-hosting build.

MaintainerDebian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>
Changed ByJuan Manuel Méndez Rey <juan.mendezr@proton.me>
Sponsortsimonq2@debian.org
Distributionexperimental
Architectureall
VCSgit: https://salsa.debian.org/java-team/scala3.git (browse)
Closes#1125161
Trackerhttps://tracker.debian.org/pkg/scala3
Uploaded2 hours ago

New Package Report

.changes◂
Sourcescala3
Version3.9.0+ds2-1
Changed-ByJuan Manuel Méndez Rey <juan.mendezr@proton.me>
Architecturesource all
Distributionexperimental
DateWed, 28 Oct 2026 16:09:30 +0100
Changelog◂
scala3 (3.9.0+ds2-1) experimental; urgency=medium
 .
   * Initial release. (Closes: #1125161)
   * Packages: scala3 (compiler, REPL, sbt bridge), scala3-library and
     scala3-scaladoc (scaladoc, command scaladoc-3).
   * scaladoc's Scala.js front end (search, contributors) is built from
     source with Debian's scala-js; the scala-js-dom facades are a
     component without their CC-BY-SA documentation comments.
   * Left out of scaladoc for now: Inkuire type-signature search, the
     Scastie run button and the dotty-icons font; generated pages load
     nothing from other sites.
   * The scaladoc command and its manual page are in scala3, so every
     slave of the scala alternative always has its target (no update-
     alternatives warnings, no file trigger); without scala3-scaladoc,
     which scala3 suggests, the command names that package.
   * scaladoc's type hierarchy graph: its scripts (d3, graphlib-dot,
     dagre-d3) come from node-d3, node-graphlib-dot and node-dagre-d3-
     renderer, copied into the generated site instead of loaded from
     CDNs; ux.js reads the zoom event the d3 5 way too.
   * Repack (+ds2): without the spec's binary fonts and MDN's deprecated
     banner.
   * sbt bridge built against sbt compiler-interface 2.x (patch 0007).
.dsc◂
Sectiondevel
Priorityoptional
Componentmain
Package-Listscala3 deb devel optional arch=all
scala3-library deb devel optional arch=all
scala3-scaladoc deb devel optional arch=all
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: scala3
Upstream-Contact: https://github.com/scala/scala3/issues
Source: https://github.com/scala/scala3
 The three components come from https://github.com/scala-js/scala-js (tag
 v1.22.0, ir/), https://github.com/scala/scala (tag v2.13.18,
 src/library) and https://github.com/scala-js/scala-js-dom (tag v2.8.1,
 dom/); see debian/README.source.
Comment:
 The upstream tarball is repacked (+ds) to remove files that are not in the
 preferred form for modification or are not DFSG free; see Files-Excluded.
 .
 Of the Files-Excluded entries, the test jars, class and TASTy files have
 no preferred-form source in the tree (canon/lib/a.jar is a symbolic link
 to the excluded canon/actual/a.jar); highlight.pack.js and
 bootstrap.min.css are minified copies with no source; dotty-icons.* is a
 generated icon font whose sources are not in the tree; the PDF files are
 rendered copies of figures and a paper whose sources are not in the tree;
 the Luxi fonts (Bigelow & Holmes) are under a licence that is not DFSG
 free; the Heuristica and octicons .woff, .eot and .ttf fonts are binary
 fonts without source (octicons.svg, the SVG font, stays); repl/src/sourcecode/LICENSE is a saved GitHub web page (HTML,
 scripts and GitHub's own notices) rather than a licence file, the
 licence of those sources is stated below. None of them is used by the
 build: the language specification and the documentation site are not
 built, the REPL is built from its sources only, and scaladoc is built
 with highlight.js from libjs-highlight.js in place of highlight.pack.js
 and without the icon font (debian/patches/0005).
 .
 The components scalajs-ir, scala213-library and scalajs-dom are cut
 from their upstream git tags by uscan with Files-Excluded-<component> and
 Files-Included-<component>. The scalajs-dom tarball is then rewritten by
 debian/repack-scalajs-dom without the Scaladoc comments of its sources
 (MDN documentation under CC-BY-SA 2.5 or later; see below).
 .
 The scaladoc jar in scala3-scaladoc also carries, as
 dotty_res/scripts/d3.min.js, graphlib-dot.min.js and dagre-d3.min.js,
 copies made at build time of the browser bundles of node-d3
 (BSD-3-clause, Mike Bostock), node-graphlib-dot (Expat, Chris Pettitt;
 with graphlib and lodash, Expat) and node-dagre-d3-renderer (Expat; with
 dagre, graphlib, lodash and parts of d3), recorded in the package's
 Static-Built-Using. They are not in this source package; their
 copyright files are in those packages.
Files-Excluded:
 compiler/test-resources/jars/*.jar
 sbt-test/source-dependencies/canon/actual/a.jar
 sbt-test/source-dependencies/canon/lib/a.jar
 tests/neg-custom-args/i20491/cp/testpkg/A.class
 tests/neg-custom-args/i20491/cp/testpkg/A.tasty
 docs/_spec/public/fonts/LuxiMono-*.woff
 docs/_spec/public/fonts/LuxiSans-*.woff
 docs/_spec/public/fonts/Heuristica-*.woff
 docs/_spec/public/octicons/octicons.eot
 docs/_spec/public/octicons/octicons.ttf
 docs/_spec/public/octicons/octicons.woff
 docs/_spec/public/scripts/highlight.pack.js
 docs/_spec/public/images/classhierarchy.pdf
 docs/_assets/images/explicit-nulls/*.pdf
 docs/_assets/resources/safer-exceptions.pdf
 scaladoc/resources/dotty_res/hljs/highlight.pack.js
 scaladoc/resources/dotty_res/fonts/dotty-icons.*
 scaladoc-testcases/docs/_assets/css/bootstrap.min.css
 repl/src/sourcecode/LICENSE
Files-Excluded-scalajs-ir: *
Files-Included-scalajs-ir:
 ir
 LICENSE
 NOTICE
Files-Excluded-scala213-library: *
Files-Included-scala213-library:
 src/library
 LICENSE
 NOTICE
Files-Excluded-scalajs-dom: *
Files-Included-scalajs-dom:
 dom
 LICENSE
 README.md

Files: *
Copyright: 2012-2026 EPFL
           2012-2026 Lightbend, Inc. dba Akka
           EPFL and Lightbend, Inc. dba Akka
           EPFL and Lightbend, Inc.
           2002-2026 LAMP/EPFL
           2002-2022 LAMP/EPFL and Lightbend, Inc.
           2012-2014 Typesafe Inc. <http://www.typesafe.com>
           2014 Contributor.
License: Apache-2.0
Comment:
 The holder spellings above are the ones used in the source headers; most
 files carry no header and fall under the project licence (LICENSE,
 NOTICE.md). A few files say "Copyright (c) 2014 Contributor." with no
 licence of their own; they were contributed to Scala under its
 Apache-2.0 licence and contributor agreement. The same holds for the
 social icons in scaladoc/resources/dotty_res/images (GitHub, Discord,
 Twitter, Gitter), contributed in
 https://github.com/scala/scala3/pull/11273 and
 https://github.com/scala/scala3/pull/15697 under the CLA
 (https://cla.scala-lang.org/scala/scala3), which states each
 contribution is the contributor's original creation. The brands are
 trademarks of their owners.
 .
 NOTICE.md lists the parts derived from other projects under Apache-2.0:
 the Scala 2 compiler (scala/scala, same holders), the sbt compiler phases
 (see sbt-bridge/* below), the coverage instrumentation (scoverage), the
 presentation compiler (presentation-compiler/, adapted from the mtags
 module of scalameta/metals) and the SemanticDB serialisation (ScalaPB,
 see below). scoverage and Metals state no holder of their own; their
 authors contributed the adapted code to Scala 3.

Files: compiler/src/dotty/tools/dotc/semanticdb/internal/*
Copyright: EPFL and Lightbend, Inc. dba Akka
           2014 Google Inc.
License: Apache-2.0 and BSD-3-clause
Comment:
 NOTICE.md says these files are derived from the ScalaPB protobuf runtime
 (https://github.com/scalapb/protobuf-scala-runtime, Apache-2.0), whose
 input and output streams and wire format are themselves a port of
 Google's Protocol Buffers Java runtime, under the BSD licence that
 project ships as GOOGLE-PROTOBUF-LICENSE ("Copyright 2014, Google Inc.").

Files: compiler/src/dotty/tools/dotc/semanticdb/Scala3.scala
Copyright: EPFL and Lightbend, Inc. dba Akka
           2017 EPFL
License: Apache-2.0 and BSD-3-clause
Comment:
 The IdentifierOrdering comparison is "taken from" scalameta's metap
 (https://github.com/scalameta/scalameta, BSD-3-clause, holder EPFL).

Files: compiler/src/dotty/tools/dotc/sbt/ShowAPI.scala
       sbt-bridge/*
Copyright: Lightbend, Inc. and Mark Harrah
           2008-2010 Mark Harrah
           EPFL and Lightbend, Inc. dba Akka
License: Apache-2.0
Comment:
 Code from sbt's compiler interface. The headers that say only "sbt --
 Simple Build Tool, Copyright 2008, 2009 Mark Harrah" (or 2010) come from
 sbt 0.13, then under a BSD licence; that code was relicensed to
 Apache-2.0 with sbt 1.0 and zinc, whose copies carry "Copyright
 Lightbend, Inc. and Mark Harrah, Licensed under Apache License 2.0".
 ShowAPI.scala and the sbt-bridge sources are built into this package
 (scala3-compiler and scala3-sbt-bridge).

Files: library/src/scala/math/BigInt.scala
Copyright: EPFL and Lightbend, Inc. dba Akka
           2011 The Guava Authors
License: Apache-2.0
Comment:
 The private longGcd method is adapted from Google Guava's LongMath.java,
 whose notice the file quotes.

Files: compiler/src/dotty/tools/dotc/interactive/Completion.scala
Copyright: 2012-2026 EPFL
           2012-2026 Lightbend, Inc. dba Akka
           2014 Li Haoyi
License: Apache-2.0 and Expat
Comment: needsBacktick is adapted from Ammonite (via Metals KeywordWrapper).

Files: scaladoc/src/dotty/tools/scaladoc/parsers/WikiCodeBlockParser.scala
Copyright: 2012-2026 EPFL
           2012-2026 Lightbend, Inc. dba Akka
           2015-2016 Atlassian Pty Ltd
           2016-2018 Vladimir Schneider
License: Apache-2.0 and BSD-2-clause
Comment: Adapted from flexmark-java's FencedCodeBlockParser.java.

Files: scaladoc/src/dotty/tools/scaladoc/util/JSON.scala
Copyright: 2012-2026 EPFL
           2012-2026 Lightbend, Inc. dba Akka
           2009-2011 Mathias Doenitz
License: Apache-2.0
Comment: jsonString is adapted from spray-json's JsonPrinter.scala.

Files: scalajs-ir/*
Copyright: 2013-2018 EPFL
           EPFL.
License: Apache-2.0
Comment:
 Scala.js IR (component scalajs-ir). Its NOTICE also mentions a JUnit and a
 Hamcrest translation, which live elsewhere in Scala.js and are not part of
 this component.

Files: scala213-library/*
Copyright: 2002-2025 EPFL
           2011-2025 Lightbend, Inc. dba Akka
           EPFL and Lightbend, Inc. dba Akka
           2002-2025 LAMP/EPFL and Lightbend, Inc. dba Akka
License: Apache-2.0
Comment:
 Scala 2.13 standard library sources (component scala213-library). The
 CompletionLatch class in src/library/scala/concurrent/impl/Promise.scala
 says it is inspired by Doug Lea's public domain AbstractQueuedSynchronizer;
 the file itself is under the Scala header.

Files: scala213-library/src/library/scala/math/BigInt.scala
Copyright: EPFL and Lightbend, Inc. dba Akka
           2011 The Guava Authors
License: Apache-2.0
Comment: As library/src/scala/math/BigInt.scala above.

Files: scalajs-dom/*
Copyright: 2013 Li Haoyi
           2014 Matt Seddon
License: Expat
Comment:
 scala-js-dom 2.8.1 (component scalajs-dom), the DOM facades the scaladoc
 front end is compiled against. Its LICENSE states that the code is under
 the MIT License and that the documentation of the facades, taken from
 the Mozilla Developer Network, is under the Creative Commons
 Attribution-ShareAlike licence, version 2.5 or later. That documentation
 is the Scaladoc comments of the sources, and they are not in this
 component: debian/repack-scalajs-dom removes every /** ... */ comment
 when the component tarball is made (see debian/README.source), and the
 MDN "deprecated" banner sentence quoted in two @deprecated messages, so
 only the MIT-licensed code remains. The LICENSE file is kept unchanged as
 upstream's licence statement. The WebGL facades say "Copyright (C) 2014
 Matt Seddon. This source is donated in full to the scala-js-dom
 project."
 .
 The two JavaScript files of scaladoc's front end in the scaladoc jar
 (dotty_res/scripts/scaladoc-scalajs.js and contributors.js) are generated
 at build time by the Scala.js linker from scaladoc-js, the standard
 library, this component and the Scala.js libraries of the scala-js-library
 package (Apache-2.0, EPFL).

Files: repl/src/fansi/*
Copyright: 2016 Li Haoyi (haoyi.sg@gmail.com)
License: Expat
Comment: Vendored copy of the fansi library, built into scala3-repl.

Files: repl/src/pprint/*
Copyright: 2019 Li Haoyi
License: Expat
Comment: Vendored copy of the pprint library, built into scala3-repl.

Files: repl/src/sourcecode/*
Copyright: 2014 Li Haoyi (haoyi.sg@gmail.com)
License: Expat
Comment:
 Vendored copy of the sourcecode library, built into scala3-repl. Upstream's
 LICENSE file here was a saved GitHub web page and is excluded; it showed
 the MIT licence of https://github.com/com-lihaoyi/sourcecode with this
 holder.

Files: docs/_spec/public/scripts/LICENSE-highlight
Copyright: 2006 Ivan Sagalaev
License: BSD-3-clause-highlight
Comment:
 License text for highlight.js. The minified highlight.pack.js itself is
 excluded from the +ds repack (no preferred-form source).

Files: scaladoc/resources/dotty_res/hljs/LICENSE
Copyright: 2006 Ivan Sagalaev.
License: BSD-3-clause
Comment:
 License text for highlight.js. The minified highlight.pack.js itself is
 excluded from the +ds repack (no preferred-form source). The scaladoc
 jar in scala3-scaladoc carries, as dotty_res/hljs/highlight.pack.js, a
 copy of highlight.min.js from libjs-highlight.js made at build time
 (same licence; recorded in the package's Static-Built-Using), and this
 LICENSE file next to it.

Files: docs/_spec/public/scripts/toc.js
       docs/_spec/public/scripts/LICENSE-toc
Copyright: 2013-2014 Greg Allen
License: Expat

Files: docs/_spec/public/octicons/*
Copyright: 2012-2014 GitHub
License: Expat
Comment:
 GitHub octicons; LICENSE.txt: fonts under SIL OFL 1.1, the rest MIT.

Files: docs/_spec/public/octicons/octicons.svg
Copyright: 2012-2014 GitHub
License: OFL-1.1

Files: debian/*
Copyright: 2026 Juan Manuel Méndez Rey <juan.mendezr@proton.me>
License: Apache-2.0

Files: debian/PatchStdlib.java
Copyright: EPFL and Lightbend, Inc. dba Akka
           2026 Juan Manuel Méndez Rey <juan.mendezr@proton.me>
License: Apache-2.0
Comment:
 Java port of upstream's project/ScalaLibraryPlugin.scala and
 project/StripScala2Annotations.scala.

License: Apache-2.0
 Licensed under the Apache License, Version 2.0 (the "License"); you may
 not use this file except in compliance with the License. You may obtain
 a copy of the License at
 .
     http://www.apache.org/licenses/LICENSE-2.0
 .
 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 .
 On Debian systems, the complete text of the Apache License Version 2.0
 can be found in "/usr/share/common-licenses/Apache-2.0".

License: Expat
 Permission is hereby granted, free of charge, to any person obtaining a
 copy of this software and associated documentation files (the "Software"),
 to deal in the Software without restriction, including without limitation
 the rights to use, copy, modify, merge, publish, distribute, sublicense,
 and/or sell copies of the Software, and to permit persons to whom the
 Software is furnished to do so, subject to the following conditions:
 .
 The above copyright notice and this permission notice shall be included
 in all copies or substantial portions of the Software.
 .
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 DEALINGS IN THE SOFTWARE.

License: BSD-3-clause
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions
 are met:
 .
 1. Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.
 .
 2. Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.
 .
 3. Neither the name of the copyright holders nor the names of its
    contributors may be used to endorse or promote products derived from
    this software without specific prior written permission.
 .
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
 THE POSSIBILITY OF SUCH DAMAGE.

License: BSD-2-clause
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
 .
 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
 .
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 .
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

License: BSD-3-clause-highlight
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
 .
     * Redistributions of source code must retain the above copyright
       notice, this list of conditions and the following disclaimer.
     * Redistributions in binary form must reproduce the above copyright
       notice, this list of conditions and the following disclaimer in the
       documentation and/or other materials provided with the distribution.
     * Neither the name of highlight.js nor the names of its contributors
       may be used to endorse or promote products derived from this software
       without specific prior written permission.
 .
 THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

License: OFL-1.1
 This Font Software is licensed under the SIL Open Font License, Version 1.1.
 This license is available with a FAQ at: https://openfontlicense.org
 .
 The OFL allows the licensed fonts to be used, studied, modified and
 redistributed freely as long as they are not sold by themselves. The fonts,
 including any derivative works, can be bundled, embedded, redistributed
 and/or sold with any software provided that any reserved names are not used
 by derivative works. The fonts and derivatives, however, cannot be released
 under any other type of license. The requirement for fonts to remain under
 this license does not apply to any document created using the fonts or
 their derivatives.
 .
 On Debian systems, the complete text of the SIL Open Font License version
 1.1 can be found in "/usr/share/common-licenses/OFL-1.1".

Back to Dashboard | View all reviews for this package