1.45.0
OBS-URL: https://build.opensuse.org/package/show/devel:languages:javascript/deno?expand=0&rev=194
This commit is contained in:
commit
a295f685b2
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
15
_constraints
Normal file
15
_constraints
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Trying constraint per:
|
||||
https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/G4HX77LQANTQTZMARIU4XQI4JT3RCEQ7/#G3N7PCAUIIVPO63V5QYKY6QMZK4TEP2Q
|
||||
-->
|
||||
<constraints>
|
||||
<hardware>
|
||||
<disk>
|
||||
<size unit="G">18</size>
|
||||
</disk>
|
||||
<physicalmemory>
|
||||
<size unit="G">21</size>
|
||||
</physicalmemory>
|
||||
</hardware>
|
||||
</constraints>
|
146
_service
Normal file
146
_service
Normal file
@ -0,0 +1,146 @@
|
||||
<!--
|
||||
# vim: set syntax=xml
|
||||
-->
|
||||
|
||||
<services>
|
||||
<!--
|
||||
Build Deno and rusty_v8 as completely from
|
||||
scratch as we can. We pull in all the sources
|
||||
through git.
|
||||
TODO: migrate to obs_scm as soon as "exclude"
|
||||
works there.
|
||||
-->
|
||||
<service name="tar_scm" mode="manual">
|
||||
<param name="scm">git</param>
|
||||
<param name="url">https://github.com/denoland/deno</param>
|
||||
<param name="revision">v1.45.0</param>
|
||||
<param name="version">1.45.0</param>
|
||||
|
||||
<!-- remove large docs -->
|
||||
<param name="exclude">docs</param>
|
||||
<param name="exclude">Releases.md</param>
|
||||
<param name="exclude">CODE*.md</param>
|
||||
<param name="exclude">*/README.md</param>
|
||||
<param name="exclude">**/*/*.md</param>
|
||||
<!-- remove things not required for build -->
|
||||
<param name="exclude">.editorconfig</param>
|
||||
<param name="exclude">.github</param>
|
||||
<param name="exclude">.gitattributes</param>
|
||||
<param name="exclude">tools</param>
|
||||
<param name="exclude">third_party</param>
|
||||
<param name="exclude">cli/tests</param>
|
||||
<param name="exclude">test_util/wpt</param>
|
||||
<param name="exclude">std/wasi/testdata</param>
|
||||
<param name="exclude">core/examples</param>
|
||||
<param name="exclude">runtime/examples</param>
|
||||
</service>
|
||||
<service name="tar_scm" mode="manual">
|
||||
<param name="scm">git</param>
|
||||
<param name="url">https://github.com/denoland/rusty_v8</param>
|
||||
<param name="revision">v0.97.0</param>
|
||||
<param name="version">0.97.0</param>
|
||||
<param name="exclude">.github</param>
|
||||
|
||||
<!--
|
||||
mirror pruning of build tree expressed in Cargo.toml
|
||||
except for LICENSE +README, which we ship
|
||||
-->
|
||||
<param name="exclude">*.settings</param>
|
||||
<param name="exclude">*.txt</param>
|
||||
<param name="exclude">AUTHORS</param>
|
||||
<param name="exclude">build/android</param>
|
||||
<param name="exclude">build/chromeos</param>
|
||||
<param name="exclude">build/fuchsia</param>
|
||||
|
||||
<!-- todo: send upstream: deno doesnt run on 32-bit
|
||||
<param name="exclude">v8/src/compiler/backend/ia32</param>
|
||||
<param name="exclude">v8/src/codegen/ia32</param>
|
||||
<param name="exclude">v8/src/builtins/ia32</param>
|
||||
<param name="exclude">v8/src/execution/ia32</param>
|
||||
<param name="exclude">v8/src/diagnostics/ia32</param>
|
||||
<param name="exclude">v8/src/wasm/baseline/ia32</param>
|
||||
<param name="exclude">v8/src/regexp/ia32</param>
|
||||
-->
|
||||
|
||||
<!-- additional platforms that can be dropped todo: send relevant upstream
|
||||
<param name="exclude">build/apple</param>
|
||||
<param name="exclude">build/ios</param>
|
||||
<param name="exclude">build/mac</param>
|
||||
<param name="exclude">build/win</param>
|
||||
<param name="exclude">build/toolchain/win</param>
|
||||
<param name="exclude">build/toolchain/mac</param>
|
||||
<param name="exclude">build/toolchain/apple</param>
|
||||
<param name="exclude">build/toolchain/aix</param>
|
||||
<param name="exclude">build/toolchain/android</param>
|
||||
<param name="exclude">build/toolchain/fuchsia</param>
|
||||
-->
|
||||
|
||||
<!-- todo: send this batch upstream:
|
||||
<param name="exclude">build/config/android</param>
|
||||
<param name="exclude">build/config/ios</param>
|
||||
<param name="exclude">build/config/mac</param>
|
||||
<param name="exclude">build/config/win</param>
|
||||
<param name="exclude">build/config/fuchsia</param>
|
||||
<param name="exclude">build/config/chromeos</param>
|
||||
<param name="exclude">build/config/chromecast</param>
|
||||
<param name="exclude">build/config/aix</param>
|
||||
<param name="exclude">build/config/apple</param>
|
||||
-->
|
||||
|
||||
<param name="exclude">buildtools/checkdeps</param>
|
||||
<param name="exclude">buildtools/clang_format</param>
|
||||
<param name="exclude">buildtools/third_party/libc++/trunk/benchmarks</param>
|
||||
<param name="exclude">buildtools/third_party/libc++/trunk/docs</param>
|
||||
<param name="exclude">buildtools/third_party/libc++/trunk/lib</param>
|
||||
<param name="exclude">buildtools/third_party/libc++/trunk/test</param>
|
||||
<param name="exclude">buildtools/third_party/libc++/trunk/utils</param>
|
||||
<param name="exclude">buildtools/third_party/libc++/trunk/www</param>
|
||||
<param name="exclude">buildtools/third_party/libc++abi/trunk/test</param>
|
||||
<param name="exclude">v8/ChangeLog</param>
|
||||
<param name="exclude">v8/benchmarks/</param>
|
||||
<param name="exclude">v8/docs/</param>
|
||||
<param name="exclude">v8/samples</param>
|
||||
|
||||
<!-- tests are bloated but there isnt a clear way to skip
|
||||
<param name="exclude">v8/test/cctest</param>
|
||||
<param name="exclude">v8/test/mjsunit</param>
|
||||
<param name="exclude">v8/test/webkit</param>
|
||||
<param name="exclude">v8/test/unittests</param>
|
||||
<param name="exclude">v8/test/inspector</param>
|
||||
<param name="exclude">v8/test/debugger</param>
|
||||
<param name="exclude">v8/test/js-perf-test</param>
|
||||
<param name="exclude">v8/test/intl</param>
|
||||
<param name="exclude">v8/test/message</param>
|
||||
-->
|
||||
|
||||
<param name="exclude">v8/tools/*.js</param>
|
||||
<param name="exclude">v8/tools/*.mjs</param>
|
||||
<param name="exclude">v8/tools/*.html</param>
|
||||
<param name="exclude">v8/tools/turbolizer</param>
|
||||
|
||||
<!--
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
When trimming the build.... remember that the following files
|
||||
are required to build and cannot be the subject of any
|
||||
exclusion rules:
|
||||
|
||||
v8/test (most things)
|
||||
v8/test/torque/test-torque.tq
|
||||
v8/tools/gen-postmortem-metadata.py
|
||||
v8/tools/js2c.py
|
||||
v8/tools/run.py
|
||||
v8/tools/snapshot/asm_to_inline_asm.py
|
||||
v8/tools/testrunner/utils/dump_build_config.py
|
||||
-->
|
||||
|
||||
</service>
|
||||
<service name="tar" mode="manual"/>
|
||||
<service name="recompress" mode="manual">
|
||||
<param name="file">*.tar</param>
|
||||
<param name="compression">xz</param>
|
||||
</service>
|
||||
<service name="cargo_audit" mode="manual">
|
||||
<param name="srcdir">deno</param>
|
||||
</service>
|
||||
</services>
|
||||
|
5
cargo_config
Normal file
5
cargo_config
Normal file
@ -0,0 +1,5 @@
|
||||
[source.crates-io]
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source.vendored-sources]
|
||||
directory = "vendor"
|
3
deno-1.44.4.tar.xz
Normal file
3
deno-1.44.4.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6ab2aacd0fe42b4ff6d177a75638c620df963109492613896c0895932e8941ec
|
||||
size 102007712
|
3
deno-1.45.0.tar.xz
Normal file
3
deno-1.45.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ceaff4e42f323923ae76cf1c6336394d564e112fefa99415e75233776acd0231
|
||||
size 105075132
|
18
deno-disable-lto.patch
Normal file
18
deno-disable-lto.patch
Normal file
@ -0,0 +1,18 @@
|
||||
--- a/Cargo.toml
|
||||
+++ b/Cargo.toml
|
||||
@@ -146,7 +146,6 @@ winapi = "=0.3.9"
|
||||
[profile.release]
|
||||
codegen-units = 1
|
||||
incremental = true
|
||||
-lto = true
|
||||
opt-level = 'z' # Optimize for size
|
||||
|
||||
# Build release with debug symbols: cargo build --profile=release-with-debug
|
||||
@@ -158,7 +157,6 @@ debug = true
|
||||
[profile.bench]
|
||||
codegen-units = 1
|
||||
incremental = true
|
||||
-lto = true
|
||||
opt-level = 'z' # Optimize for size
|
||||
|
||||
# Key generation is too slow on `debug`
|
319
deno-rm-upgrade.patch
Normal file
319
deno-rm-upgrade.patch
Normal file
@ -0,0 +1,319 @@
|
||||
diff --git a/cli/tools/run/mod.rs.1 b/cli/tools/run/mod.rs
|
||||
index 4805ea7..57bb752 100644
|
||||
--- a/cli/tools/run/mod.rs.1
|
||||
+++ b/cli/tools/run/mod.rs
|
||||
@@ -51,14 +51,6 @@ To grant permissions, set them before the script argument. For example:
|
||||
);
|
||||
}
|
||||
|
||||
- // Run a background task that checks for available upgrades or output
|
||||
- // if an earlier run of this background task found a new version of Deno.
|
||||
- #[cfg(feature = "upgrade")]
|
||||
- super::upgrade::check_for_upgrades(
|
||||
- http_client.clone(),
|
||||
- deno_dir.upgrade_check_file_path(),
|
||||
- );
|
||||
-
|
||||
let main_module = cli_options.resolve_main_module()?;
|
||||
|
||||
maybe_npm_install(&factory).await?;
|
||||
diff --git a/cli/main.rs.1 b/cli/main.rs
|
||||
index 031ab07..4f3b05c 100644
|
||||
--- a/cli/main.rs.1
|
||||
+++ b/cli/main.rs
|
||||
@@ -204,15 +204,6 @@ async fn run_subcommand(flags: Flags) -> Result<i32, AnyError> {
|
||||
let types = tsc::get_types_declaration_file_text();
|
||||
display::write_to_stdout_ignore_sigpipe(types.as_bytes())
|
||||
}),
|
||||
- #[cfg(feature = "upgrade")]
|
||||
- DenoSubcommand::Upgrade(upgrade_flags) => spawn_subcommand(async {
|
||||
- tools::upgrade::upgrade(flags, upgrade_flags).await
|
||||
- }),
|
||||
- #[cfg(not(feature = "upgrade"))]
|
||||
- DenoSubcommand::Upgrade(_) => exit_with_message(
|
||||
- "This deno was built without the \"upgrade\" feature. Please upgrade using the installation method originally used to install Deno.",
|
||||
- 1,
|
||||
- ),
|
||||
DenoSubcommand::Vendor(vendor_flags) => spawn_subcommand(async {
|
||||
tools::vendor::vendor(flags, vendor_flags).await
|
||||
}),
|
||||
diff --git a/cli/args/flags.rs.1 b/cli/args/flags.rs
|
||||
index 48cfb92..eb31bf6 100644
|
||||
--- a/cli/args/flags.rs.1
|
||||
+++ b/cli/args/flags.rs
|
||||
@@ -377,15 +377,6 @@ pub struct TestFlags {
|
||||
pub junit_path: Option<String>,
|
||||
}
|
||||
|
||||
-#[derive(Clone, Debug, Eq, PartialEq)]
|
||||
-pub struct UpgradeFlags {
|
||||
- pub dry_run: bool,
|
||||
- pub force: bool,
|
||||
- pub canary: bool,
|
||||
- pub version: Option<String>,
|
||||
- pub output: Option<String>,
|
||||
-}
|
||||
-
|
||||
#[derive(Clone, Debug, Eq, PartialEq)]
|
||||
pub struct VendorFlags {
|
||||
pub specifiers: Vec<String>,
|
||||
@@ -428,7 +419,6 @@ pub enum DenoSubcommand {
|
||||
Task(TaskFlags),
|
||||
Test(TestFlags),
|
||||
Types,
|
||||
- Upgrade(UpgradeFlags),
|
||||
Vendor(VendorFlags),
|
||||
Publish(PublishFlags),
|
||||
}
|
||||
@@ -1097,9 +1087,6 @@ static ENV_VARIABLES_HELP: &str = color_print::cstr!(
|
||||
<g>DENO_NO_PROMPT</> Set to disable permission prompts on access
|
||||
(alternative to passing --no-prompt on invocation)
|
||||
|
||||
- <g>DENO_NO_UPDATE_CHECK</> Set to disable checking if a newer Deno version is
|
||||
- available
|
||||
-
|
||||
<g>DENO_TLS_CA_STORE</> Comma-separated list of order dependent certificate
|
||||
stores. Possible values: "system", "mozilla".
|
||||
Defaults to "mozilla".
|
||||
@@ -1209,7 +1196,6 @@ pub fn flags_from_vec(args: Vec<OsString>) -> clap::error::Result<Flags> {
|
||||
"test" => test_parse(&mut flags, &mut m),
|
||||
"types" => types_parse(&mut flags, &mut m),
|
||||
"uninstall" => uninstall_parse(&mut flags, &mut m),
|
||||
- "upgrade" => upgrade_parse(&mut flags, &mut m),
|
||||
"vendor" => vendor_parse(&mut flags, &mut m),
|
||||
"publish" => publish_parse(&mut flags, &mut m),
|
||||
_ => unreachable!(),
|
||||
@@ -1379,7 +1365,6 @@ fn clap_root() -> Command {
|
||||
.subcommand(task_subcommand())
|
||||
.subcommand(test_subcommand())
|
||||
.subcommand(types_subcommand())
|
||||
- .subcommand(upgrade_subcommand())
|
||||
.subcommand(vendor_subcommand())
|
||||
})
|
||||
.long_about(DENO_HELP)
|
||||
@@ -2776,60 +2761,6 @@ The declaration file could be saved and used for typing information.",
|
||||
)
|
||||
}
|
||||
|
||||
-fn upgrade_subcommand() -> Command {
|
||||
- Command::new("upgrade")
|
||||
- .about("Upgrade deno executable to given version")
|
||||
- .long_about(
|
||||
- "Upgrade deno executable to the given version.
|
||||
-Defaults to latest.
|
||||
-
|
||||
-The version is downloaded from
|
||||
-https://github.com/denoland/deno/releases
|
||||
-and is used to replace the current executable.
|
||||
-
|
||||
-If you want to not replace the current Deno executable but instead download an
|
||||
-update to a different location, use the --output flag
|
||||
-
|
||||
- deno upgrade --output $HOME/my_deno",
|
||||
- )
|
||||
- .hide(cfg!(not(feature = "upgrade")))
|
||||
- .defer(|cmd| {
|
||||
- cmd
|
||||
- .arg(
|
||||
- Arg::new("version")
|
||||
- .long("version")
|
||||
- .help("The version to upgrade to"),
|
||||
- )
|
||||
- .arg(
|
||||
- Arg::new("output")
|
||||
- .long("output")
|
||||
- .help("The path to output the updated version to")
|
||||
- .value_parser(value_parser!(String))
|
||||
- .value_hint(ValueHint::FilePath),
|
||||
- )
|
||||
- .arg(
|
||||
- Arg::new("dry-run")
|
||||
- .long("dry-run")
|
||||
- .help("Perform all checks without replacing old exe")
|
||||
- .action(ArgAction::SetTrue),
|
||||
- )
|
||||
- .arg(
|
||||
- Arg::new("force")
|
||||
- .long("force")
|
||||
- .short('f')
|
||||
- .help("Replace current exe even if not out-of-date")
|
||||
- .action(ArgAction::SetTrue),
|
||||
- )
|
||||
- .arg(
|
||||
- Arg::new("canary")
|
||||
- .long("canary")
|
||||
- .help("Upgrade to canary builds")
|
||||
- .action(ArgAction::SetTrue),
|
||||
- )
|
||||
- .arg(ca_file_arg())
|
||||
- })
|
||||
-}
|
||||
-
|
||||
// TODO(bartlomieju): this subcommand is now deprecated, remove it in Deno 2.
|
||||
fn vendor_subcommand() -> Command {
|
||||
Command::new("vendor")
|
||||
@@ -4488,23 +4419,6 @@ fn types_parse(flags: &mut Flags, _matches: &mut ArgMatches) {
|
||||
flags.subcommand = DenoSubcommand::Types;
|
||||
}
|
||||
|
||||
-fn upgrade_parse(flags: &mut Flags, matches: &mut ArgMatches) {
|
||||
- ca_file_arg_parse(flags, matches);
|
||||
-
|
||||
- let dry_run = matches.get_flag("dry-run");
|
||||
- let force = matches.get_flag("force");
|
||||
- let canary = matches.get_flag("canary");
|
||||
- let version = matches.remove_one::<String>("version");
|
||||
- let output = matches.remove_one::<String>("output");
|
||||
- flags.subcommand = DenoSubcommand::Upgrade(UpgradeFlags {
|
||||
- dry_run,
|
||||
- force,
|
||||
- canary,
|
||||
- version,
|
||||
- output,
|
||||
- });
|
||||
-}
|
||||
-
|
||||
fn vendor_parse(flags: &mut Flags, matches: &mut ArgMatches) {
|
||||
ca_file_arg_parse(flags, matches);
|
||||
config_args_parse(flags, matches);
|
||||
@@ -4974,43 +4888,6 @@ mod tests {
|
||||
assert_eq!(flags2, flags);
|
||||
}
|
||||
|
||||
- #[test]
|
||||
- fn upgrade() {
|
||||
- let r = flags_from_vec(svec!["deno", "upgrade", "--dry-run", "--force"]);
|
||||
- let flags = r.unwrap();
|
||||
- assert_eq!(
|
||||
- flags,
|
||||
- Flags {
|
||||
- subcommand: DenoSubcommand::Upgrade(UpgradeFlags {
|
||||
- force: true,
|
||||
- dry_run: true,
|
||||
- canary: false,
|
||||
- version: None,
|
||||
- output: None,
|
||||
- }),
|
||||
- ..Flags::default()
|
||||
- }
|
||||
- );
|
||||
- }
|
||||
-
|
||||
- #[test]
|
||||
- fn upgrade_with_output_flag() {
|
||||
- let r = flags_from_vec(svec!["deno", "upgrade", "--output", "example.txt"]);
|
||||
- assert_eq!(
|
||||
- r.unwrap(),
|
||||
- Flags {
|
||||
- subcommand: DenoSubcommand::Upgrade(UpgradeFlags {
|
||||
- force: false,
|
||||
- dry_run: false,
|
||||
- canary: false,
|
||||
- version: None,
|
||||
- output: Some(String::from("example.txt")),
|
||||
- }),
|
||||
- ..Flags::default()
|
||||
- }
|
||||
- );
|
||||
- }
|
||||
-
|
||||
#[test]
|
||||
fn version() {
|
||||
let r = flags_from_vec(svec!["deno", "--version"]);
|
||||
@@ -8832,25 +8709,6 @@ mod tests {
|
||||
);
|
||||
}
|
||||
|
||||
- #[test]
|
||||
- fn upgrade_with_ca_file() {
|
||||
- let r = flags_from_vec(svec!["deno", "upgrade", "--cert", "example.crt"]);
|
||||
- assert_eq!(
|
||||
- r.unwrap(),
|
||||
- Flags {
|
||||
- subcommand: DenoSubcommand::Upgrade(UpgradeFlags {
|
||||
- force: false,
|
||||
- dry_run: false,
|
||||
- canary: false,
|
||||
- version: None,
|
||||
- output: None,
|
||||
- }),
|
||||
- ca_data: Some(CaData::File("example.crt".to_owned())),
|
||||
- ..Flags::default()
|
||||
- }
|
||||
- );
|
||||
- }
|
||||
-
|
||||
#[test]
|
||||
fn cache_with_cafile() {
|
||||
let r = flags_from_vec(svec![
|
||||
diff --git a/cli/tools/mod.rs.1 b/cli/tools/mod.rs
|
||||
index 4593092..3247915 100644
|
||||
--- a/cli/tools/mod.rs.1
|
||||
+++ b/cli/tools/mod.rs
|
||||
@@ -17,5 +17,4 @@ pub mod repl;
|
||||
pub mod run;
|
||||
pub mod task;
|
||||
pub mod test;
|
||||
-pub mod upgrade;
|
||||
pub mod vendor;
|
||||
diff --git a/cli/standalone/binary.rs.1 b/cli/standalone/binary.rs
|
||||
index 628922b..f8bb1e2 100644
|
||||
--- a/cli/standalone/binary.rs.1
|
||||
+++ b/cli/standalone/binary.rs
|
||||
@@ -499,13 +499,7 @@ impl<'a> DenoCompileBinaryWriter<'a> {
|
||||
|
||||
let archive_data = std::fs::read(binary_path)?;
|
||||
let temp_dir = tempfile::TempDir::new()?;
|
||||
- let base_binary_path = unpack_into_dir(
|
||||
- "denort",
|
||||
- &binary_name,
|
||||
- archive_data,
|
||||
- target.contains("windows"),
|
||||
- &temp_dir,
|
||||
- )?;
|
||||
+ let base_binary_path = "/tmp";
|
||||
let base_binary = std::fs::read(base_binary_path)?;
|
||||
drop(temp_dir); // delete the temp dir
|
||||
Ok(base_binary)
|
||||
diff --git a/cli/lsp/language_server.rs.1 b/cli/lsp/language_server.rs
|
||||
index 573fb1e..158c136 100644
|
||||
--- a/cli/lsp/language_server.rs.1
|
||||
+++ b/cli/lsp/language_server.rs
|
||||
@@ -99,8 +99,6 @@ use crate::lsp::tsc::file_text_changes_to_workspace_edit;
|
||||
use crate::lsp::urls::LspUrlKind;
|
||||
use crate::tools::fmt::format_file;
|
||||
use crate::tools::fmt::format_parsed_source;
|
||||
-use crate::tools::upgrade::check_for_upgrades_for_lsp;
|
||||
-use crate::tools::upgrade::upgrade_check_enabled;
|
||||
use crate::util::fs::remove_dir_all_if_exists;
|
||||
use crate::util::path::is_importable_ext;
|
||||
use crate::util::path::to_percent_decoded_str;
|
||||
@@ -2982,28 +2980,6 @@ impl tower_lsp::LanguageServer for LanguageServer {
|
||||
}
|
||||
}
|
||||
|
||||
- if upgrade_check_enabled() {
|
||||
- // spawn to avoid lsp send/sync requirement, but also just
|
||||
- // to ensure this initialized method returns quickly
|
||||
- spawn(async move {
|
||||
- match check_for_upgrades_for_lsp(http_client).await {
|
||||
- Ok(version_info) => {
|
||||
- client.send_did_upgrade_check_notification(
|
||||
- lsp_custom::DidUpgradeCheckNotificationParams {
|
||||
- upgrade_available: version_info.map(|info| {
|
||||
- lsp_custom::UpgradeAvailable {
|
||||
- latest_version: info.latest_version,
|
||||
- is_canary: info.is_canary,
|
||||
- }
|
||||
- }),
|
||||
- },
|
||||
- );
|
||||
- }
|
||||
- Err(err) => lsp_warn!("Failed to check for upgrades: {err}"),
|
||||
- }
|
||||
- });
|
||||
- }
|
||||
-
|
||||
lsp_log!("Server ready.");
|
||||
}
|
||||
|
21
deno-v8-arm.patch
Normal file
21
deno-v8-arm.patch
Normal file
@ -0,0 +1,21 @@
|
||||
--- ./vendor/v8/build.rs.orig 2024-06-27 14:26:40.281226961 +0200
|
||||
+++ ./vendor/v8/build.rs 2024-06-27 14:28:10.388618455 +0200
|
||||
@@ -200,16 +200,12 @@ fn build_v8(is_asan: bool) {
|
||||
// cross-compilation setup
|
||||
if target_arch == "aarch64" {
|
||||
gn_args.push(r#"target_cpu="arm64""#.to_string());
|
||||
- gn_args.push("use_sysroot=true".to_string());
|
||||
- maybe_install_sysroot("arm64");
|
||||
- maybe_install_sysroot("amd64");
|
||||
+ gn_args.push("use_sysroot=false".to_string());
|
||||
}
|
||||
if target_arch == "arm" {
|
||||
gn_args.push(r#"target_cpu="arm""#.to_string());
|
||||
gn_args.push(r#"v8_target_cpu="arm""#.to_string());
|
||||
- gn_args.push("use_sysroot=true".to_string());
|
||||
- maybe_install_sysroot("i386");
|
||||
- maybe_install_sysroot("arm");
|
||||
+ gn_args.push("use_sysroot=false".to_string());
|
||||
}
|
||||
|
||||
let target_triple = env::var("TARGET").unwrap();
|
3741
deno.changes
Normal file
3741
deno.changes
Normal file
File diff suppressed because it is too large
Load Diff
98
deno.spec
Normal file
98
deno.spec
Normal file
@ -0,0 +1,98 @@
|
||||
#
|
||||
# spec file for package deno
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2020-2024 Avindra Goolcharan <avindra@opensuse.org>
|
||||
# Copyright (c) 2018-2024 the Deno authors
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
Name: deno
|
||||
Version: 1.45.0
|
||||
Release: 0
|
||||
Summary: A secure JavaScript and TypeScript runtime
|
||||
License: MIT
|
||||
Group: Productivity/Other
|
||||
URL: https://github.com/denoland/deno
|
||||
Source0: %{name}-%{version}.tar.xz
|
||||
Source1: vendor.tar.xz
|
||||
Source2: cargo_config
|
||||
Source99: revendor_source.sh
|
||||
Patch1: deno-rm-upgrade.patch
|
||||
Patch2: deno-v8-arm.patch
|
||||
BuildRequires: cargo-packaging
|
||||
# gcc-c++ needed to build SPIRV-Cross
|
||||
BuildRequires: clang
|
||||
# needed by `libz-ng-sys` after 1.36.1
|
||||
# see: https://build.opensuse.org/package/show/devel:languages:javascript/deno#comment-1808174
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gn
|
||||
BuildRequires: lld
|
||||
BuildRequires: llvm
|
||||
BuildRequires: ninja
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: python3-base
|
||||
BuildRequires: rust >= 1.68.0
|
||||
BuildRequires: pkgconfig(glib-2.0)
|
||||
BuildRequires: pkgconfig(gmodule-2.0)
|
||||
BuildRequires: pkgconfig(gobject-2.0)
|
||||
BuildRequires: pkgconfig(gthread-2.0)
|
||||
BuildRequires: pkgconfig(protobuf)
|
||||
# deno does not build on 32-bit archs
|
||||
ExclusiveArch: x86_64 aarch64 ppc64 ppc64le s390x
|
||||
# PATCH-FIX-OPENSUSE - Disable LTO (to reduce req memory)
|
||||
%ifarch %{arm} aarch64
|
||||
Patch10: deno-disable-lto.patch
|
||||
%endif
|
||||
|
||||
%description
|
||||
A JavaScript and TypeScript platform built on V8
|
||||
|
||||
Deno has standard library and has features such as
|
||||
a linter, a language server protocol, a code formatter and
|
||||
a unit test runner.
|
||||
|
||||
Remote code is fetched and cached on first execution, and only
|
||||
updated with the --reload flag.
|
||||
|
||||
%prep
|
||||
%autosetup -a1 -p1
|
||||
# Drop lock file due to revendor_source.sh breaking check
|
||||
rm Cargo.lock
|
||||
# drop checksum for ICU 72 -> 73
|
||||
echo '{"files":{},"package":""}' > vendor/deno_core/.cargo-checksum.json
|
||||
|
||||
cp %{SOURCE2} .cargo/config
|
||||
|
||||
%build
|
||||
export V8_FROM_SOURCE=1
|
||||
export CLANG_BASE_PATH=%{_prefix}
|
||||
# https://www.chromium.org/developers/gn-build-configuration
|
||||
export GN_ARGS="enable_nacl = false blink_symbol_level = 0 v8_symbol_level = 0"
|
||||
# enable binary stripping
|
||||
export RUSTFLAGS="%{__global_rustflags} -Clink-arg=-s"
|
||||
%{cargo_build}
|
||||
|
||||
%install
|
||||
# place deno cli manually (cannot cargo install)
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
cp target/release/deno %{buildroot}%{_bindir}
|
||||
|
||||
%files
|
||||
%license LICENSE.md
|
||||
%doc README.md
|
||||
%{_bindir}/%{name}
|
||||
|
||||
%changelog
|
63
revendor_source.sh
Normal file
63
revendor_source.sh
Normal file
@ -0,0 +1,63 @@
|
||||
#!/bin/sh
|
||||
set -euo pipefail
|
||||
|
||||
# packaging helper to merge rusty_v8 in place,
|
||||
# from source (i.e., avoid using the published crate).
|
||||
#
|
||||
# output is a single, merged vendor tarball
|
||||
|
||||
wd="$(mktemp -d /tmp/revendor.XXXXX)"
|
||||
|
||||
# take what we need into the build
|
||||
cp rusty_v8*xz $wd
|
||||
cp vendor*xz $wd
|
||||
|
||||
cd $wd
|
||||
|
||||
echo -n "Extracting vendor..."
|
||||
tar xf vendor*xz
|
||||
echo "done"
|
||||
|
||||
echo -n "Extracting rusty_v8 (v8)..."
|
||||
tar xf rusty*xz \
|
||||
--exclude="Cargo.toml" \
|
||||
--exclude="Cargo.lock"
|
||||
echo " done"
|
||||
|
||||
# take vendored Cargo toml and lock which
|
||||
# can still be used
|
||||
cp vendor/v8/{Cargo.*,.cargo*} .
|
||||
|
||||
# get rid of everything else
|
||||
rm -fr vendor/v8
|
||||
|
||||
# drop version prefix
|
||||
target=$(find . -name "*_v8-*" -type d)
|
||||
mv $target v8
|
||||
|
||||
# insert proper files
|
||||
mv Cargo.* .cargo* v8
|
||||
echo "Check final rusty_v8 root:"
|
||||
ls -la v8
|
||||
mv v8 vendor
|
||||
|
||||
# disregard rusty_v8 checks as we inject it directly from source
|
||||
echo '{"files":{},"package":""}' > vendor/v8/.cargo-checksum.json
|
||||
|
||||
# extra: workaround winapi bloat
|
||||
# by ejecting it from the build
|
||||
#
|
||||
# https://github.com/rust-lang/cargo/issues/7058
|
||||
echo -n "Pruning winapi bloat... "
|
||||
rm -fr vendor/winapi*gnu*/lib/*.a
|
||||
echo "done"
|
||||
|
||||
# remake tarball
|
||||
echo -n "Compressing archive... "
|
||||
tar -cf - vendor/ | xz -9 -c - > vendor-merged.tar.xz
|
||||
echo "done"
|
||||
|
||||
ls -lh "$wd/vendor-merged.tar.xz"
|
||||
|
||||
cd -
|
||||
cp "$wd/vendor-merged.tar.xz" ./vendor.tar.xz
|
3
vendor.tar.xz
Normal file
3
vendor.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:eae4781e9f78ee31884eb31f6114974482d175a74b318824491e00e385adf780
|
||||
size 105619904
|
Loading…
Reference in New Issue
Block a user