scala3 3.9.0+ds2-1
Package Information
| Description | compiler 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. |
|---|---|
| Maintainer | Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org> |
| Changed By | Juan Manuel Méndez Rey <juan.mendezr@proton.me> |
| Sponsor | tsimonq2@debian.org |
| Distribution | experimental |
| Architecture | all |
| VCS | git: https://salsa.debian.org/java-team/scala3.git (browse) |
| Closes | #1125161 |
| Tracker | https://tracker.debian.org/pkg/scala3 |
| Uploaded | 2 hours ago |
New Package Report
.changes
| Source | scala3 |
|---|---|
| Version | 3.9.0+ds2-1 |
| Changed-By | Juan Manuel Méndez Rey <juan.mendezr@proton.me> |
| Architecture | source all |
| Distribution | experimental |
| Date | Wed, 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
| Section | devel |
|---|---|
| Priority | optional |
| Component | main |
| Package-List | scala3 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".