Review: scala-js 1.22.0+ds-1
Package Information
| Description | Scala.js compiler plugin and linker for Scala 2.13 Scala.js is the Scala to JavaScript compiler. Programs compiled with it run in web browsers and in Node.js, and can use JavaScript libraries and the DOM. This package provides the Scala.js tools for the JVM, built for Scala 2.13: the compiler plugin for scalac 2.13.18, which writes Scala.js IR (.sjsir files) next to the class files, the IR library, the linker and its interface, and scalajs-link, a small command that links IR into a JavaScript file (as fastLinkJS and fullLinkJS do in sbt). This build has no Google Closure Compiler back end. |
|---|---|
| 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 | unstable |
| Architecture | all |
| VCS | git: https://salsa.debian.org/java-team/scala-js.git (browse) |
| Closes | #1149816 |
| Tracker | https://tracker.debian.org/pkg/scala-js |
| Uploaded | 2 days ago |
New Package Report
.changes
| Source | scala-js |
|---|---|
| Version | 1.22.0+ds-1 |
| Changed-By | Juan Manuel Méndez Rey <juan.mendezr@proton.me> |
| Architecture | source all |
| Distribution | unstable |
| Date | Thu, 29 Oct 2026 08:42:07 +0100 |
Changelog
scala-js (1.22.0+ds-1) unstable; urgency=medium . * Initial release. (Closes: #1149816)
.dsc
| Package-List | scala-js deb devel optional arch=all scala-js-library deb devel optional arch=all |
|---|---|
| Section | devel |
| Priority | optional |
| Component | main |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: scala-js
Upstream-Contact: https://github.com/scala-js/scala-js/issues
Source: https://github.com/scala-js/scala-js
The two components come from https://github.com/scala-js/scala-js-logging
(tag v1.2.0, whole tree) and https://github.com/scala/scala (tag
v2.13.18, src/library); see debian/README.source.
Comment:
The main tarball is upstream's git tag, repacked (+ds) by
debian/repack-mdn without the doc comments of the scala.scalajs.js
sources that quote MDN (Mozilla Contributors, CC-BY-SA), and without
the notice about them. The rest of those files is EPFL's code. See
debian/README.source.
.
The scala213-library component is cut from its upstream git tag by uscan
with Files-Excluded-scala213-library and Files-Included-scala213-library.
Files-Excluded-scala213-library: *
Files-Included-scala213-library:
src/library
LICENSE
NOTICE
Files: *
Copyright: 2013-2026 EPFL
License: Apache-2.0
Comment:
Most source files say "Copyright EPFL."; NOTICE says
"Copyright (c) 2013-2018 EPFL". Scala.js includes software developed at
EPFL (https://lamp.epfl.ch/ and https://scala.epfl.ch/).
.
linker-private-library/src/main/scala/org/scalajs/linker/runtime/FloatingPointBitsPolyfills.scala
reimplements the algorithm of typedarray.js from
https://github.com/inexorabletash/polyfill; no code is copied.
Files: scalalib/overrides/* scalalib/overrides-2.12/* scalalib/overrides-2.13/*
Copyright: 2002-2013 LAMP/EPFL
EPFL and Lightbend, Inc.
EPFL
License: Apache-2.0
Comment:
Modified copies of files of the Scala standard library. Some keep the old
Scala header ("(c) 2002-2013, LAMP/EPFL") with no licence text; the Scala
standard library is under Apache-2.0 (as the newer headers and
scala213-library/LICENSE say).
Files: javalib/src/main/scala/java/math/*
Copyright: 2009 Google Inc.
The Apache Software Foundation
EPFL
License: Apache-2.0
Comment:
Ported to Scala by Alistair Johnson from GWT's java.math emulation
(https://github.com/gwtproject/gwt) and from Android libcore (Apache
Harmony); the files quote both original Apache-2.0 notices.
Files: javalib/src/main/scala/java/util/concurrent/ThreadLocalRandom.scala
Copyright: Doug Lea and members of JCP JSR-166 Expert Group (public domain)
License: public-domain
Written by Doug Lea with assistance from members of JCP JSR-166
Expert Group and released to the public domain, as explained at
http://creativecommons.org/publicdomain/zero/1.0/
.
and translated to Scala.
Files: javalib/src/main/scala/java/util/random/RandomGenerator.scala
Copyright: EPFL
Doug Lea and members of JCP JSR-166 Expert Group (public domain)
License: Apache-2.0
Comment:
The bounded nextInt and nextLong algorithms come from ThreadLocalRandom,
which is public domain (see above).
Files: compiler/src/main/scala/org/scalajs/nscplugin/ExplicitInnerJS.scala
ir/shared/src/main/scala/org/scalajs/ir/Printers.scala
javalib/src/main/scala/java/util/RedBlackTree.scala
library/src/main/scala-new-collections/scala/scalajs/js/ArrayOps.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/compiler/RegressionTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/compiler/SAMWithOverridingBridgesTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/compiler/TryFinallyTest.scala
Copyright: EPFL
EPFL and Lightbend, Inc. dba Akka
License: Apache-2.0
Comment:
Code copied or adapted from Scala (https://github.com/scala/scala), as
the files say. The three test files are not built.
Files: javalib/src/main/scala/java/lang/StackTrace.scala
Copyright: EPFL
License: Apache-2.0
Comment:
Part of the file is translated from stacktrace.js 0.x
(https://github.com/stacktracejs/stacktrace.js), whose LICENSE.txt
says "Domain Public by Eric Wendelin (2008), Luke Smith (2008), Loic
Dachary (2008), Johan Euphrosine (2008), Oyvind Sean Kinsey (2010),
Victor Homyakov (2010)".
Files: linker-private-library/src/main/scala/org/scalajs/linker/runtime/WasmRuntime.scala
Copyright: EPFL
2005-2020 Rich Felker, et al.
The rust-lang/libm contributors
License: Apache-2.0 and Expat
Comment:
fmodd and fmodf are translated from rust-lang/libm fmod.rs, itself from
musl fmod.c.
Files: javalib/src/main/scala/java/lang/Character.scala
javalib/src/main/scala/java/lang/_String.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/math/BigDecimalArithmeticTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/math/BigDecimalCompareTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/math/BigDecimalConstructorsTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/math/BigDecimalConvertTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/math/BigDecimalScaleOperationsTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/math/BigIntegerAddTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/math/BigIntegerAndTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/math/BigIntegerCompareTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/math/BigIntegerConstructorsTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/math/BigIntegerConvertTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/math/BigIntegerDivideTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/math/BigIntegerHashCodeTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/math/BigIntegerModPowTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/math/BigIntegerMultiplyTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/math/BigIntegerNotTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/math/BigIntegerOperateBitsTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/math/BigIntegerOrTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/math/BigIntegerSubtractTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/math/BigIntegerToStringTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/math/BigIntegerXorTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/math/MathContextTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/math/RoundingModeTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/lang/CharacterTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/lang/IntegerTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/lang/LongTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/lang/StringTest.scala
test-suite/shared/src/test/scala/org/scalajs/testsuite/javalib/util/PropertiesTest.scala
Copyright: 2008-2009 Google Inc.
The Apache Software Foundation
EPFL
License: Apache-2.0
Comment:
Ported in whole or in part from GWT (https://github.com/gwtproject/gwt)
and, for PropertiesTest.scala, from Apache Harmony. Of these files only
Character.scala and _String.scala are built.
Files: test-suite/js/src/test/resources/SourceMapTestTemplate.scala
Copyright: EPFL
2012-2013 Persist Software
License: Apache-2.0
Comment:
The JSON parser in class Json is adapted from
https://github.com/nestorpersist/json. Not built.
Files: examples/helloworld/src/main/scala/helloworld/HelloWorld.scala
examples/reversi/src/main/scala/reversi/JSTypes.scala
examples/reversi/src/main/scala/reversi/Reversi.scala
Copyright: Sebastien Doeraene
License: public-domain
Scala.js example code. Public domain.
Files: junit-runtime/src/main/scala/org/junit/*
Copyright: 2000-2014 JUnit contributors
EPFL
License: EPL-1.0
Comment:
Translation of JUnit 4.12 to Scala.js (see NOTICE); the full licence is
in junit-runtime/src/main/scala/org/junit/LICENSE-junit.txt. Not built.
Files: junit-runtime/src/main/scala/org/hamcrest/*
Copyright: 2000-2006 www.hamcrest.org
EPFL
License: BSD-3-clause
Comment:
Translation of Hamcrest 1.3 to Scala.js (see NOTICE); the licence is in
junit-runtime/src/main/scala/org/hamcrest/LICENSE-hamcrest.txt. Not
built.
Files: logging/*
Copyright: 2013-2020 EPFL
License: Apache-2.0
Comment:
scalajs-logging 1.2.0. The source headers say "Copyright EPFL."
Files: scala213-library/*
Copyright: 2002-2025 EPFL
2002-2025 LAMP/EPFL
EPFL and Lightbend, Inc. dba Akka
2011-2025 Lightbend, Inc. dba Akka
License: Apache-2.0
Comment:
The Scala 2.13.18 standard library sources. 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:
The private longGcd method is adapted from Google Guava's LongMath.java,
whose notice the file quotes.
Files: debian/*
Copyright: 2026 Juan Manuel Méndez Rey <juan.mendezr@proton.me>
License: Apache-2.0
Files: debian/poms/*
Copyright: EPFL
License: Apache-2.0
Comment:
Upstream's POM files, as published on Maven Central for the same
artifacts.
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: EPL-1.0
Eclipse Public License - v 1.0
.
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
.
1. DEFINITIONS
.
"Contribution" means:
.
a) in the case of the initial Contributor, the initial code and
documentation distributed under this Agreement, and
b) in the case of each subsequent Contributor:
.
i) changes to the Program, and
.
ii) additions to the Program;
.
where such changes and/or additions to the Program originate from and are
distributed by that particular Contributor. A Contribution 'originates' from a
Contributor if it was added to the Program by such Contributor itself or anyone
acting on such Contributor's behalf. Contributions do not include additions to
the Program which: (i) are separate modules of software distributed in
conjunction with the Program under their own license agreement, and (ii) are
not derivative works of the Program.
.
"Contributor" means any person or entity that distributes the Program.
.
"Licensed Patents " mean patent claims licensable by a Contributor which are
necessarily infringed by the use or sale of its Contribution alone or when
combined with the Program.
.
"Program" means the Contributions distributed in accordance with this Agreement.
.
"Recipient" means anyone who receives the Program under this Agreement,
including all Contributors.
.
2. GRANT OF RIGHTS
.
a) Subject to the terms of this Agreement, each Contributor hereby grants
Recipient a non-exclusive, worldwide, royalty-free copyright license to
reproduce, prepare derivative works of, publicly display, publicly perform,
distribute and sublicense the Contribution of such Contributor, if any, and
such derivative works, in source code and object code form.
.
b) Subject to the terms of this Agreement, each Contributor hereby grants
Recipient a non-exclusive, worldwide, royalty-free patent license under
Licensed Patents to make, use, sell, offer to sell, import and otherwise
transfer the Contribution of such Contributor, if any, in source code and
object code form. This patent license shall apply to the combination of the
Contribution and the Program if, at the time the Contribution is added by the
Contributor, such addition of the Contribution causes such combination to be
covered by the Licensed Patents. The patent license shall not apply to any
other combinations which include the Contribution. No hardware per se is
licensed hereunder.
.
c) Recipient understands that although each Contributor grants the
licenses to its Contributions set forth herein, no assurances are provided by
any Contributor that the Program does not infringe the patent or other
intellectual property rights of any other entity. Each Contributor disclaims
any liability to Recipient for claims brought by any other entity based on
infringement of intellectual property rights or otherwise. As a condition to
exercising the rights and licenses granted hereunder, each Recipient hereby
assumes sole responsibility to secure any other intellectual property rights
needed, if any. For example, if a third party patent license is required to
allow Recipient to distribute the Program, it is Recipient's responsibility to
acquire that license before distributing the Program.
.
d) Each Contributor represents that to its knowledge it has sufficient
copyright rights in its Contribution, if any, to grant the copyright license
set forth in this Agreement.
.
3. REQUIREMENTS
.
A Contributor may choose to distribute the Program in object code form under
its own license agreement, provided that:
.
a) it complies with the terms and conditions of this Agreement; and
.
b) its license agreement:
.
i) effectively disclaims on behalf of all Contributors all warranties and
conditions, express and implied, including warranties or conditions of title
and non-infringement, and implied warranties or conditions of merchantability
and fitness for a particular purpose;
.
ii) effectively excludes on behalf of all Contributors all liability for
damages, including direct, indirect, special, incidental and consequential
damages, such as lost profits;
.
iii) states that any provisions which differ from this Agreement are
offered by that Contributor alone and not by any other party; and
.
iv) states that source code for the Program is available from such
Contributor, and informs licensees how to obtain it in a reasonable manner on
or through a medium customarily used for software exchange.
.
When the Program is made available in source code form:
.
a) it must be made available under this Agreement; and
.
b) a copy of this Agreement must be included with each copy of the
Program.
.
Contributors may not remove or alter any copyright notices contained within the
Program.
.
Each Contributor must identify itself as the originator of its Contribution, if
any, in a manner that reasonably allows subsequent Recipients to identify the
originator of the Contribution.
.
4. COMMERCIAL DISTRIBUTION
.
Commercial distributors of software may accept certain responsibilities with
respect to end users, business partners and the like. While this license is
intended to facilitate the commercial use of the Program, the Contributor who
includes the Program in a commercial product offering should do so in a manner
which does not create potential liability for other Contributors. Therefore, if
a Contributor includes the Program in a commercial product offering, such
Contributor ("Commercial Contributor") hereby agrees to defend and indemnify
every other Contributor ("Indemnified Contributor") against any losses, damages
and costs (collectively "Losses") arising from claims, lawsuits and other legal
actions brought by a third party against the Indemnified Contributor to the
extent caused by the acts or omissions of such Commercial Contributor in
connection with its distribution of the Program in a commercial product
offering. The obligations in this section do not apply to any claims or Losses
relating to any actual or alleged intellectual property infringement. In order
to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
Contributor in writing of such claim, and b) allow the Commercial Contributor
to control, and cooperate with the Commercial Contributor in, the defense and
any related settlement negotiations. The Indemnified Contributor may
participate in any such claim at its own expense.
.
For example, a Contributor might include the Program in a commercial product
offering, Product X. That Contributor is then a Commercial Contributor. If that
Commercial Contributor then makes performance claims, or offers warranties
related to Product X, those performance claims and warranties are such
Commercial Contributor's responsibility alone. Under this section, the
Commercial Contributor would have to defend claims against the other
Contributors related to those performance claims and warranties, and if a court
requires any other Contributor to pay any damages as a result, the Commercial
Contributor must pay those damages.
.
5. NO WARRANTY
.
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each
Recipient is solely responsible for determining the appropriateness of using
and distributing the Program and assumes all risks associated with its exercise
of rights under this Agreement, including but not limited to the risks and
costs of program errors, compliance with applicable laws, damage to or loss of
data, programs or equipment, and unavailability or interruption of operations.
.
6. DISCLAIMER OF LIABILITY
.
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
PROFITS), 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
.
7. GENERAL
.
If any provision of this Agreement is invalid or unenforceable under applicable
law, it shall not affect the validity or enforceability of the remainder of the
terms of this Agreement, and without further action by the parties hereto, such
provision shall be reformed to the minimum extent necessary to make such
provision valid and enforceable.
.
If Recipient institutes patent litigation against any
entity (including a cross-claim or counterclaim in a lawsuit) alleging that the
Program itself (excluding combinations of the Program with other software or
hardware) infringes such Recipient's patent(s), then such Recipient's rights
granted under Section 2(b) shall terminate as of the date such litigation is
filed.
.
All Recipient's rights under this Agreement shall terminate if it fails to
comply with any of the material terms or conditions of this Agreement and does
not cure such failure in a reasonable period of time after becoming aware of
such noncompliance. If all Recipient's rights under this Agreement terminate,
Recipient agrees to cease use and distribution of the Program as soon as
reasonably practicable. However, Recipient's obligations under this Agreement
and any licenses granted by Recipient relating to the Program shall continue
and survive.
.
Everyone is permitted to copy and distribute copies of this Agreement, but in
order to avoid inconsistency the Agreement is copyrighted and may only be
modified in the following manner. The Agreement Steward reserves the right to
publish new versions (including revisions) of this Agreement from time to time.
No one other than the Agreement Steward has the right to modify this Agreement.
The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to
serve as the Agreement Steward to a suitable separate entity. Each new version
of the Agreement will be given a distinguishing version number. The Program
(including Contributions) may always be distributed subject to the version of
the Agreement under which it was received. In addition, after a new version of
the Agreement is published, Contributor may elect to distribute the Program
(including its Contributions) under the new version. Except as expressly stated
in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
the intellectual property of any Contributor under this Agreement, whether
expressly, by implication, estoppel or otherwise. All rights in the Program not
expressly granted under this Agreement are reserved.
.
This Agreement is governed by the laws of the State of New York and the
intellectual property laws of the United States of America. No party to this
Agreement will bring a legal action under this Agreement more than one year
after the cause of action arose. Each party waives its rights to a jury trial
in any resulting litigation.
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:
.
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 Hamcrest 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: 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.
DFSG Assistant LLM REVIEW 0 blocker, 0 important, 0 minor
This is an LLM based review using a Debian Inference based workflow. It was not written by a member of the DFSG team and has not been checked by one. It is not a decision on the package: it may be wrong, and it may have missed things.
Reviewed 2 days ago.
Report
DFSG NEW review for scala-js version 1.22.0+ds-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: Yes - Packaging is of good quality: Yes
- Issues: 0 blocker, 0 important, 0 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: nothing found
Licensing
debian/copyright is DEP-5 (Format https URL), with a Files: * catch-all and later, more specific stanzas that cover every group of files whose holders or licences differ. All licences found in the tree are free (Apache-2.0, EPL-1.0, BSD-3-clause, Expat, public domain/CC0), the EPL and BSD notices are reproduced in full, the permissive public-domain notices are stated, and nothing non-free was found. The one holder the scan could not match, LAMP/EPFL, appears only in the old Scala ASCII header of the scalalib/overrides* copies, which their own stanza names. Third-party code (JUnit/Hamcrest translations, GWT/libcore java.math, stacktrace.js, rust-lang/libm/musl fmod, Guava longGcd, the source-map JSON parser) is attributed and licensed correctly, and the MDN/CC-BY-SA doc comments have been removed from the +ds tarball as the copyright Comment says.
Packaging
The packaging is deliberate and consistent: compat 14 with a plain dh $@ and only the overrides it needs, a documented sbt-free build driver, patches with DEP-3 headers matching what the driver excludes, maven-repo-helper POM installation whose metadata is made to match the jars by maven.rules/maven.ignoreRules, an autopkgtest that links and runs a program against the installed packages, and a full README.source. Dependencies resolve (scala-2.13/scala-library-2.13 come from the scala-2.13 upload in NEW), Standards-Version 4.7.4 is current against Policy 4.7.4.1, and the changelog/version/distribution are sane. No policy violation, broken upgrade or missing-file issue was found.
Issues
None.
Verified
- Read debian/copyright in full (486 lines): header with Format, Upstream-Name/Contact/Source/Comment, then 19 Files stanzas and four stand-alone License paragraphs (Apache-2.0, EPL-1.0, BSD-3-clause, Expat). Every stanza is in the right order (
Files: *first,scala213-library/*before the BigInt override,debian/*beforedebian/poms/*), and the*patterns do reach subdirectories. - The scan's LAMP/EPFL files are the 13 old-header Scala library copies:
scalalib/overrides/scala/Array.scala,scalalib/overrides/scala/Enumeration.scala,scalalib/overrides/scala/math/ScalaNumber.scala,scalalib/overrides/scala/runtime/ScalaRunTime.scala, andscalalib/overrides-2.12/scala/Console.scala,scalalib/overrides-2.12/scala/package.scala,scalalib/overrides-2.12/scala/collection/immutable/Range.scala,scalalib/overrides-2.12/scala/collection/mutable/ArrayBuilder.scala,scalalib/overrides-2.12/scala/collection/mutable/Buffer.scala,scalalib/overrides-2.12/scala/compat/Platform.scala,scalalib/overrides-2.12/scala/concurrent/ExecutionContext.scala,scalalib/overrides-2.12/scala/reflect/Manifest.scala,scalalib/overrides-2.12/scala/reflect/NameTransformer.scala. They are matched by theFiles: scalalib/overrides/* scalalib/overrides-2.12/* scalalib/overrides-2.13/*stanza, whose Copyright names2002-2013 LAMP/EPFLand whose Comment explains that the header has no licence text because these are modified copies of the Scala library, which is Apache-2.0 (the same files underscala213-librarycarry the Apache header). - Searched the whole tree (minus .pc) for non-free wording (non-commercial, no-modification, field-of-use, CC-*-NC/ND, 'not Evil'), for GNU/MPL/CC licences, 'All rights reserved', SPDX lines and 'Permission is hereby granted': the only hits are debian/copyright's own licence texts and Hamcrest's BSD notice.
- junit-runtime:
org/junit/*is EPL-1.0 (full text injunit-runtime/src/main/scala/org/junit/LICENSE-junit.txt),org/hamcrest/*is BSD-3-clause (full text in LICENSE-hamcrest.txt); both stanzas name the holders, and debian/build-driver.sh compiles neither, so no EPL/BSD object ends up in a binary package. - Other third-party code checked and covered:
javalib/src/main/scala/java/math/*(GWT/libcore, Apache-2.0 notices quoted in the files),java/lang/StackTrace.scala(stacktrace.js, public domain),java/util/concurrent/ThreadLocalRandom.scalaand the bounded algorithms inRandomGenerator.scala(Doug Lea/JSR-166, CC0/public domain),linker-private-library/.../WasmRuntime.scala(rust-lang/libm/musl fmod, MIT/Expat text included),scala213-library/.../math/BigInt.scala(Guava, separate stanza). - MDN passages: no
Mozilla Contributors/MDNcomment remains underlibrary/; the onlyMDNstrings left are documentation links inlinker-interface/.../StandardConfig.scala:403andtest-suite/.../FloatTest.scala:405.debian/repack-mdnstrips the comment blocks and the copyright Comment records the repack. - The example files with a
Public domainheader (examples/helloworld/.../HelloWorld.scala,examples/reversi/.../{JSTypes,Reversi}.scala) have their own stanza; other example files (examples/testing/*) have no header and fall underFiles: *. - Generated/derived files:
javalib/.../Character.scalaandUnicodeData.scalasay they are generated andproject/UnicodeDataGen.scalais shipped; no .class/.jar/.sjsir/.png/.pdf/minified files and no archives are in the tree, so no built file lacks its source. - Checked the Files-Excluded-scala213-library/Files-Included-scala213-library header lines and the
Source/Commentfields: they only document the uscan component split (the two extra orig tarballs named in the .dsc) and make no licensing claim. - Packaging read in full: control, rules, changelog, source/format, gbp.conf, lrc.config, maven.rules, maven.ignoreRules, README.source, repack-mdn, build-driver.sh, scalajs-link, scalajs-link.1, all .docs/.manpages/.lintian-overrides/.poms, patches/series and both patches, tests/control and tests/hello-link, tools/.scala, upstream/metadata. There are no maintainer scripts and no .install/.links/.dirs files; installation is dh_auto_install plus the maven-repo-helper sequence.
- Compat 14 is the recommended level on this system;
dhskips override_dh_auto_test itself undernocheck, so the in-target check is redundant rather than wrong, andnodejs <!nocheck>is marked correctly. Hardening does not apply to an arch:all package. - Dependencies resolve: scala-asm 9.9.0-scala-1-1 (> 9.9.0) exists; dh-sequence-maven-repo-helper is provided by maven-repo-helper 1.13; scala 2.12.21+ds3-2 exists; scala-2.13 and scala-library-2.13 are built by source scala-2.13 2.13.18+ds2-1, which is in NEW, so they are satisfiable once accepted.
- The upstream POMs are installed with --java-lib;
debian/maven.rulesmaps scala-library/reflect/compiler 2.13.x anddebian/maven.ignoreRulesdrops the closure-compiler and scala-parallel-collections compile dependencies and the test ones, so the installed POMs match the jars and every remaining dependency is installed by this source or by scala-2.13. - Both patches have Description/Author/Last-Update/Forwarded: not-needed and make exactly the removals that debian/build-driver.sh assumes (no backend/closure sources, no ParCollOps); patch 0002 uses the shared
IncOptimizer.apply(config), which exists inlinker/shared/.../optimizer/IncOptimizer.scala:1891. - Standards-Version 4.7.4 matches Policy 4.7.4.1 in its first two components; the changelog is
1.22.0+ds-1to unstable with an ITP closure; gbp.conf'scomponent = ['logging', 'scala213-library']is the Python-like list syntax gbp.conf(5) prescribes for repeatable options; source format 3.0 (quilt) matches patches/series. - uscan found the packaged version as the newest upstream release (upstream
1.22.0, packaged1.22.0+ds). - Every pointer of
debian/copyrightto /usr/share/common-licenses names a file that is there (Apache-2.0).
Not confirmed
- Whether
scala-2.13 (>= 2.13.18)in Build-Depends and Depends is safe: the compiler plugin is named for the full Scala version (scalajs-compiler_2.13.18, pomscalajs-compiler_2.13.18.pom) and build-driver.sh hard-codes 2.13.18 in the jar and POM names and in the bundled scalalib sources, while a later 2.13.x would satisfy>=. A build against a newer scala-2.13 would show whether the plugin still loads and whether the artifact names then misstate the compiler version. - Whether the scala-2.13 package waiting in NEW installs the exact paths the build and test use (
/usr/share/java/scala-library-2.13.jar,scala-compiler-2.13.jar,scala-reflect-2.13.jar); the package lists available to me carry no file lists. - File modes could not be read with the available tools, so I could not confirm that
debian/tests/hello-linkis executable for autopkgtest (it is invoked throughshat build time, which works either way).
Proposed changes
None.
Uploader's response to the LLM review
The uploader was emailed about the review 2 days ago.
Review Information
accepted — allocated to mechtilde 1 day ago, started 1 day ago, completed 1 day ago.
Final Comment
Other Reviews of this Package
| Version | Hash | Allocated | Completed | Reviewer | Status | Details |
|---|---|---|---|---|---|---|
| 1.22.0-1 | 2b3fe156… | 2026-10-29 08:06 | 2026-10-29 08:06 | dfsg-uploader | rejected | VIEW |