profile
viewpoint

rust-lang/miri 1366

An interpreter for Rust's mid-level intermediate representation

fasterthanlime/jooc-legacy 114

:crocodile: The historical, initial implementation of an ooc compiler in Java

relrod/bing_translator-gem 112

A simple Ruby interface to Bing's translation API.

lol-qwop/lol-qwop 34

Everyone who has a merged pull request is invited to become an admin of this repo.

ooc-lang/nagaqueen 18

:ledger: leg grammar for ooc

ooc/llamacore 11

ooc development kit - collections, text manipulation, math, crypto, os - all nice and portable

fasterthanlime/ooc-docs 10

Official documentation for ooc 0.3+

fasterthanlime/bootcamp 7

ooc compatibility kit - test suite and tools to verify the compliance of an ooc implementation

solson/boris 7

A stack-based virtual machine written in C

pull request commentdenoland/deno

fix(cli): Use safe shell escaping in `deno install`

Added cfg!(windows) to tests and rebased. All behaviour on Windows should be unchanged before and after this PR.

solson

comment created time in 4 days

push eventsolson/deno

Scott Olson

commit sha d596e85d71fed2ee3de23291499120e08d7480e6

fix(cli/installer): use safe shell escaping

view details

Scott Olson

commit sha 6082cd5416124581918bc3e6fc384b9f302788bc

fix(cli/installer): use `exec` in installed scripts Fixes #3961

view details

Scott Olson

commit sha b38a35e198d9993d5fbeab580019524eb6876b9c

test(cli/installer): add shell escaping test

view details

Scott Olson

commit sha 1006d4388aa1cf31881b7cacd43cd3745cb0d9d2

test(cli/installer): do separate windows and unix tests

view details

push time in 4 days

push eventsolson/deno

Scott Olson

commit sha 8c328ec1a3aef69812353f7ef7ceb5a8bb6c228b

fix(cli/installer): use safe shell escaping

view details

Scott Olson

commit sha 008b82c08d2489243e3f1c83f8cb2b7eaaf1ff14

fix(cli/installer): use `exec` in installed scripts Fixes #3961

view details

Scott Olson

commit sha 8de5aeb60f6814319f665063b0dc402822772279

test(cli/installer): add shell escaping test

view details

Scott Olson

commit sha 0fa848d55ed1f5427489663c4029c6da60341882

test(cli/installer): do separate windows and unix tests

view details

push time in 4 days

issue openeddenoland/deno

Panics should not unwind into non-Rust code

I just noticed and investigated something in the output in https://github.com/denoland/deno/issues/7953 that I somehow missed the first time around, after the usual panic message:

fatal runtime error: failed to initiate panic, error 5
fish: “deno” terminated by signal SIGABRT (Abort)

A normal Rust panic does not SIGABRT. With the standard panic handler, first they print the panic message and backtrace, and then they try to unwind. That is where this panic aborts, because it happens inside a callback called by V8 and the unwinder gets confused by outer V8 stack frames. (In fact, it may be getting confused specifically by V8 JIT frames that don't show up in the gdb output.)

<details><summary>click for gdb backtrace (13 is C++ which calls 12 which is Rust)</summary>

(gdb) bt
#0  0x00007fceaaa3808a in raise () from /nix/store/9df65igwjmf2wbw0gbrrgair6piqjgmi-glibc-2.31/lib/libc.so.6
#1  0x00007fceaaa22528 in abort () from /nix/store/9df65igwjmf2wbw0gbrrgair6piqjgmi-glibc-2.31/lib/libc.so.6
#2  0x00005653a2f605a7 in std::sys::unix::abort_internal () at library/std/src/sys/unix/mod.rs:167
#3  0x00005653a2f60595 in std::sys_common::util::abort () at library/std/src/sys_common/util.rs:19
#4  0x00005653a2f6053d in std::panicking::rust_panic () at library/std/src/panicking.rs:620
#5  0x00005653a2f603ba in std::panicking::rust_panic_with_hook () at library/std/src/panicking.rs:588
#6  0x00005653a2f5ff58 in std::panicking::begin_panic_handler::{{closure}} () at library/std/src/panicking.rs:476
#7  0x00005653a2f5ff24 in std::sys_common::backtrace::__rust_end_short_backtrace () at library/std/src/sys_common/backtrace.rs:153
#8  0x00005653a2f5fedd in rust_begin_unwind () at library/std/src/panicking.rs:475
#9  0x00005653a2c20210 in core::panicking::panic_fmt () at library/core/src/panicking.rs:85
#10 0x00005653a2c272e2 in core::option::expect_none_failed () at library/core/src/option.rs:1221
#11 0x00005653a2a88d85 in core::result::Result<T,E>::unwrap ()
#12 0x00005653a2b8ad18 in <deno::inspector::InspectorSession as rusty_v8::inspector::ChannelImpl>::send_response ()
#13 0x00005653a34e2a77 in non-virtual thunk to v8_inspector::V8InspectorSessionImpl::SendProtocolResponse(int, std::__1::unique_ptr<v8_crdtp::Serializable, std::__1::default_delete<v8_crdtp::Serializable> >) ()
#14 0x00005653a34faa21 in v8_crdtp::DomainDispatcher::sendResponse(int, v8_crdtp::DispatchResponse const&, std::__1::unique_ptr<v8_crdtp::Serializable, std::__1::default_delete<v8_crdtp::Serializable> >) ()
    at ../../../../v8/third_party/inspector_protocol/crdtp/dispatch.cc:473
#15 0x00005653a34fa890 in v8_crdtp::DomainDispatcher::Callback::sendIfActive(std::__1::unique_ptr<v8_crdtp::Serializable, std::__1::default_delete<v8_crdtp::Serializable> >, v8_crdtp::DispatchResponse const&) ()
    at ../../../../v8/third_party/inspector_protocol/crdtp/dispatch.cc:442
#16 0x00005653a39a84a7 in v8_inspector::protocol::Runtime::EvaluateCallbackImpl::sendSuccess(std::__1::unique_ptr<v8_inspector::protocol::Runtime::RemoteObject, std::__1::default_delete<v8_inspector::protocol::Runtime::RemoteObject> >, v8_crdtp::detail::PtrMaybe<v8_inspector::protocol::Runtime::ExceptionDetails>) () at gen/v8/src/inspector/protocol/Runtime.cpp:879
#17 0x00005653a34f1245 in v8_inspector::(anonymous namespace)::EvaluateCallbackWrapper<v8_inspector::protocol::Runtime::Backend::EvaluateCallback>::sendSuccess(std::__1::unique_ptr<v8_inspector::protocol::Runtime::RemoteObject, std::__1::default_delete<v8_inspector::protocol::Runtime::RemoteObject> >, v8_crdtp::detail::PtrMaybe<v8_inspector::protocol::Runtime::ExceptionDetails>) () at ../../../../v8/src/inspector/v8-runtime-agent-impl.cc:76
#18 0x00005653a39b1761 in v8_inspector::InjectedScript::ProtocolPromiseHandler::thenCallback(v8::Local<v8::Value>) () at ../../../../v8/src/inspector/injected-script.cc:217
#19 0x00005653a39b0f8b in v8_inspector::InjectedScript::ProtocolPromiseHandler::thenCallback(v8::FunctionCallbackInfo<v8::Value> const&) () at ../../../../v8/src/inspector/injected-script.cc:125
#20 0x00005653a376d1a9 in v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo) () at ../../../../v8/src/api/api-arguments-inl.h:158
#21 0x00005653a376c6c0 in v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments) () at ../../../../v8/src/builtins/builtins-api.cc:111
#22 0x00005653a376bc9b in v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments, v8::internal::Isolate*) () at ../../../../v8/src/builtins/builtins-api.cc:141
#23 0x00005653a36306b8 in Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_BuiltinExit ()
#24 0x00005653a367fbbb in Builtins_PromiseFulfillReactionJob ()
#25 0x00005653a35e3037 in Builtins_RunMicrotasks ()
#26 0x00005653a35c07f8 in Builtins_JSRunMicrotasksEntry ()
#27 0x00005653a31a114f in v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) () at ../../../../v8/src/execution/execution.cc:383
#28 0x00005653a31a17e0 in v8::internal::(anonymous namespace)::InvokeWithTryCatch(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) () at ../../../../v8/src/execution/execution.cc:428
#29 0x00005653a31a18de in v8::internal::Execution::TryRunMicrotasks(v8::internal::Isolate*, v8::internal::MicrotaskQueue*, v8::internal::MaybeHandle<v8::internal::Object>*) () at ../../../../v8/src/execution/execution.cc:505
#30 0x00005653a31c9405 in RunMicrotasks () at ../../../../v8/src/execution/microtask-queue.cc:165
#31 0x00005653a31c9227 in v8::internal::MicrotaskQueue::PerformCheckpoint(v8::Isolate*) () at ../../../../v8/src/execution/microtask-queue.cc:117
#32 0x00005653a31b8e38 in v8::internal::Isolate::FireCallCompletedCallback(v8::internal::MicrotaskQueue*) () at ../../../../v8/src/execution/isolate.cc:4066
#33 0x00005653a312e670 in v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*) () at ../../../../v8/src/api/api.cc:4993
#34 0x00005653a2f383f2 in rusty_v8::function::<impl rusty_v8::data::Function>::call ()
#35 0x00005653a2bc346a in <deno::worker::Worker as core::future::future::Future>::poll ()
#36 0x00005653a2aeeae3 in <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll ()
#37 0x00005653a2ba9475 in deno::repl::run::{{closure}} ()
#38 0x00005653a2af9a68 in <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll ()
#39 0x00005653a2ab867b in tokio::runtime::Runtime::block_on ()
#40 0x00005653a2bcf39d in deno::main ()
#41 0x00005653a2a5fb48 in std::sys_common::backtrace::__rust_begin_short_backtrace ()
#42 0x00005653a2bd62ef in main ()

</details>

As I understand it, we should try to prevent ever unwinding into non-Rust stack frames by making callbacks like this one use catch_unwind and then either manually exit or convert the error into something that can be sensibly passed up into V8, whatever is most appropriate in each case. This should be done wherever Rust code is called from non-Rust code in Deno and its dependencies.

Quoting the catch_panic docs:

It is currently undefined behavior to unwind from Rust code into foreign code, so this function is particularly useful when Rust is called from another language (normally C). This can run arbitrary Rust code, capturing a panic and allowing a graceful handling of the error.

created time in 4 days

push eventsolson/deno

Bartek Iwańczuk

commit sha 92edc364426ddb4c80292ebe7e702c02f9344c5b

refactor: use futures and serde_json from deno_core (#7614)

view details

Luca Casonato

commit sha 5c2e499c3a70ec58b7f5adab3a7801d601f9b2e1

fix: Response.arrayBuffer() doesn't return promise (#7618)

view details

Casper Beyer

commit sha 9caeff3208a33098418ac2c64414010a3060a362

fix(cli/repl): interpret object literals as expressions (#7591)

view details

michael spengler

commit sha 5a8a4da524a38fcade24ca7645ae0c034602b9aa

docs: minor documentation improvement (#7603) Closes #7602

view details

tokiedokie

commit sha 43fa68e5895b05a78c84d5837eaa754204b4b99c

docs: V8 is a JavaScript engine, not a runtime (#7619)

view details

Casper Beyer

commit sha cca8856fbf9552ccd7c6fe4eb6cbb8d521978a21

refactor(cli/coverage): remove dependency on global state (#7616) This removes the dependency on global state and instead relies on the runtime's internal state to get the script sources it saw when it collected code coverage for them.

view details

Yusuke Tanaka

commit sha c30c782c2c22d725c007623dbf43009999a2b184

fix(logger): change log level to which prefix added (#7582)

view details

Casper Beyer

commit sha a33315aaa70884c10968669c31adf3c6bb142e72

fix(cli/console): quote object symbol keys that are invalid identifiers (#7553)

view details

Nayeem Rahman

commit sha a43984c9cfcea852ca18e1c575f9acdb8f023a5a

refactor(cli/fmt_errors): Color stack traces in Rust (#7628)

view details

Bartek Iwańczuk

commit sha dd1cd4d95237359acd822143265d7d2365bf928c

fix: clearing timers race condition (#7617)

view details

Schwarzkopf Balázs

commit sha f601721851bdd64ee5b40bd3d408df063691b425

feat(std/node): implement getSystemErrorName() (#7624)

view details

Luca Casonato

commit sha cf0c49191e9be862027f74f39318a3479fce3ba2

chore(std/hash): update crates (#7631)

view details

Bartek Iwańczuk

commit sha 68fd7a927b26c3e72cf73515821450f3aa252014

refactor(core): support error stack, remove js_check (#7629) This commit adds support for stack traces in "deno_core". Implementation of "Display" trait for "JsError" has been updated and in consequence "deno_core::js_check" became obsolete and removed.

view details

Kitson Kelly

commit sha 751bb45a0a4ca4ab3baf5e5037c0b10f0430aeb6

fix: ignore fileExists in tsc host (#7635) Fixes #7630

view details

Ryan Dahl

commit sha ffd08a2249b3aab1e8e70d9cef9c350ab41f22a7

Actually remove js_check (#7636)

view details

Trivikram Kamat

commit sha 49807ac4ac225f7a07282f6410476f529f7ad821

feat: bump TypeScript to 4.0.3 (#7637)

view details

Trivikram Kamat

commit sha 8a6a3904574375e109ef98aaa07af11a9c994b89

docs: ts upgrade instructions to exclude some .d.ts files (#7638)

view details

bartOssh

commit sha 29dd62b08cc1a6a95b242b7269fe1b8deefa7a24

fix(watch): watch importmap file for changes (#7580)

view details

Casper Beyer

commit sha d68fb813428f31b21b8a46cdde21d9ab5170abdc

fix(cli/console): enclose symbol keys in brackets (#7642) This encloses symbol keys when used in objects with brackets (e.g [Symbol("Symbol.iterator")]).

view details

Valentin Anger

commit sha 71c2497fd47829a177b81a884b75f705272156b2

Add example for deno_core (#7611)

view details

push time in 5 days

Pull request review commentdenoland/deno

fix(cli/rt/console): fix inspection of Function

 unitTest(function consoleTestStringifyCircular(): void { }); /* eslint-enable @typescript-eslint/explicit-function-return-type */ +unitTest(function consoleTestStringifyFunctionWithPrototypeRemoved(): void {+  const f = function f() {};+  Reflect.setPrototypeOf(f, null);+  assertEquals(stringify(f), "[Function: f]");+  const af = async function af() {};+  Reflect.setPrototypeOf(af, null);+  assertEquals(stringify(af), "[Function: af]");+  const gf = function gf() {};+  Reflect.setPrototypeOf(gf, null);+  assertEquals(stringify(gf), "[Function: gf]");+  const agf = function agf() {};+  Reflect.setPrototypeOf(agf, null);+  assertEquals(stringify(agf), "[Function: agf]");

@bartlomieju https://github.com/denoland/deno/issues/7962

kt3k

comment created time in 6 days

PullRequestReviewEvent

issue openeddenoland/deno

Typos in `consoleTestStringifyFunctionWithPrototypeRemoved` unit test

https://github.com/denoland/deno/blob/f42d0fc99e37bb0583cddeca5367a1dcf83d53b8/cli/tests/unit/console_test.ts#L350-L363

In this unit test, gf and agf are currently both regular functions but appear to be intended to test against GeneratorFunction and AsyncGeneratorFunction the same way f and af are testing Function and AsyncFunction. Note that the output shouldn't change since it's intentionally setting prototypes to null to test the fallback to "Function". As discussed at https://github.com/denoland/deno/pull/7930#discussion_r504127789.

created time in 6 days

Pull request review commentdenoland/deno

fix(cli/rt/console): fix inspection of Function

 unitTest(function consoleTestStringifyCircular(): void { }); /* eslint-enable @typescript-eslint/explicit-function-return-type */ +unitTest(function consoleTestStringifyFunctionWithPrototypeRemoved(): void {+  const f = function f() {};+  Reflect.setPrototypeOf(f, null);+  assertEquals(stringify(f), "[Function: f]");+  const af = async function af() {};+  Reflect.setPrototypeOf(af, null);+  assertEquals(stringify(af), "[Function: af]");+  const gf = function gf() {};+  Reflect.setPrototypeOf(gf, null);+  assertEquals(stringify(gf), "[Function: gf]");+  const agf = function agf() {};+  Reflect.setPrototypeOf(agf, null);+  assertEquals(stringify(agf), "[Function: agf]");

No, I'm saying they should be declared that way here in the test, as in const gf = function* gf() {}; to match async function af above, presumably to test this "set prototype to null" manipulation on all 4 of Function, AsyncFunction, GeneratorFunction, and AsyncGeneratorFunction. Currently, gf and agf are just testing the same thing as f.

kt3k

comment created time in 6 days

PullRequestReviewEvent

Pull request review commentdenoland/deno

fix(cli/rt/console): fix inspection of Function

 unitTest(function consoleTestStringifyCircular(): void { }); /* eslint-enable @typescript-eslint/explicit-function-return-type */ +unitTest(function consoleTestStringifyFunctionWithPrototypeRemoved(): void {+  const f = function f() {};+  Reflect.setPrototypeOf(f, null);+  assertEquals(stringify(f), "[Function: f]");+  const af = async function af() {};+  Reflect.setPrototypeOf(af, null);+  assertEquals(stringify(af), "[Function: af]");+  const gf = function gf() {};+  Reflect.setPrototypeOf(gf, null);+  assertEquals(stringify(gf), "[Function: gf]");+  const agf = function agf() {};+  Reflect.setPrototypeOf(agf, null);+  assertEquals(stringify(agf), "[Function: agf]");

I know this is already merged, but was this intended to test generator functions and async generator functions? (function* gf() {} and async function* agf() {})

kt3k

comment created time in 6 days

PullRequestReviewEvent

issue openeddenoland/deno

REPL panics related to invalid unicode

I found a way to trip two different Rust panic messages in the REPL:

$ deno --version
deno 1.4.6
v8 8.7.220.3
typescript 4.0.3

$ deno
Deno 1.4.6
exit using ctrl+d or close()
> '\u{1f3b5}'
"🎵"
> '\u{1f3b5}'[0]
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error("unexpected end of hex escape", line: 1, column: 60)', cli/inspector.rs:859:54
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
fatal runtime error: failed to initiate panic, error 5
fish: “deno” terminated by signal SIGABRT (Abort)

$ deno
Deno 1.4.6
exit using ctrl+d or close()
> '\u{1f3b5}'[1]
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error("lone leading surrogate in hex escape", line: 1, column: 59)', cli/inspector.rs:859:54
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
fatal runtime error: failed to initiate panic, error 5
fish: “deno” terminated by signal SIGABRT (Abort)

Note that these panics only occur in the REPL, and regular Deno code is unaffected as far as I can tell.

cc @caspervonb

created time in 6 days

issue commentdenoland/deno

Should evaluation errors in the read-eval-print-loop go to stdout?

I agree with your rationale. I would reserve stderr for things like Rust panics (it's where they go by default) and other implementation errors in the REPL itself, and otherwise expect all output to go to stdout.

I took a look at the mentioned languages and was slightly surprised to find this:

Language REPL errors written to
Ruby stdout
Python stderr
Lua stderr

Given that I never noticed any difference between these, it probably doesn't matter too much whether we use stdout or stderr.

caspervonb

comment created time in 6 days

issue commentdenoland/deno

Deno.repl() feature suggestion

As for running something in the global context; is there anything wrong with just using pipes to stdin?

Yes, this will disable interactive readline features. I'm not familiar with unbuffer and didn't have it installed (so this would be an extra dependency for this usecase, and one that may not work on Windows at all), but when I try to do things like (echo "console.log('do your stuff')" && cat) | unbuffer deno it seems to hang and ignore input.

In general, I've never seen anything piping to an interactive REPL work well.

JeremyJaydan

comment created time in 7 days

issue openedsharkdp/bat

Show headers only when multiple files are passed

Sorry if this has already been asked, but I couldn't find it.

Could it be made possible to configure bat to show headers (--style=header) only when more than one file is passed? I like to keep my --style quite minimal, and when viewing a single file, the filename is usually just extra noise to me, but with multiple files it's practically a necessity. Thanks!

created time in 7 days

push eventsolson/dotfiles

Scott Olson

commit sha 24803770bd99a889de5840d4f2dc8521a10b1bf4

remove unused bin

view details

push time in 7 days

push eventsolson/dotfiles

Scott Olson

commit sha b0c331443bb5e63567255e4fd86afb11535e488b

remove unused config

view details

push time in 7 days

push eventsolson/dotfiles

Scott Olson

commit sha 73cfd9aba756e45e3cdffb2acf8f90f30e946621

fish: stop setting PATH — handled in bashrc

view details

Scott Olson

commit sha 13efda52d4c28793547e781ba98918307f3c8d82

use simpler nvim MANPAGER

view details

Scott Olson

commit sha 76abe6758663d856c24841e0ff0779f73d98419e

remove now-irrelevant ssh-agent config

view details

Scott Olson

commit sha 242953515e40d4a1d121ffc2e7f1dae4891b6a8a

move environment variables to bashrc

view details

push time in 7 days

push eventsolson/dotfiles

Scott Olson

commit sha 75cc2a5df022790d9a77cb98a96072bad38436da

move bins from .bin to .local/bin

view details

Scott Olson

commit sha 5ff583644ec820722989f2c2d58142439e4871f8

move ~/.netrc to ~/.local/share/netrc

view details

Scott Olson

commit sha d11ef6eb0c13bb512fcaa721a6adb631f46c7acd

build a minimal PATH from scratch

view details

push time in 7 days

push eventsolson/dotfiles

Scott Olson

commit sha 8eaab8be4e84f388668c7f72b848df97e0e42118

bash: move all configuration to .bashrc

view details

Scott Olson

commit sha 42e44c1c5e68db99bce57e0b85ec51ffda4ed058

force many programs to use XDG directories

view details

Scott Olson

commit sha 1f4fc3afa17fa501693f661cbeace591b0dda4c9

tmux: remove

view details

push time in 7 days

issue commentNixOS/nixpkgs

Qt applications use Windows style regardless of style selected in KDE settings

It may be relevant that, for some reason, my KDE programs like plasmashell or kate are linking against Qt 5.14.2 libraries, while keepassxc and qjackctl are linking against Qt 5.15.0 libraries. The breeze-qt5 package is built under the plasma set of packages and also links against Qt 5.14.2 libraries.

alapshin

comment created time in 7 days

issue commentNixOS/nixpkgs

Qt applications use Windows style regardless of style selected in KDE settings

I ran with QT_DEBUG_PLUGINS=1 and found this:

Cannot load library /nix/store/0mpi3gn7v5hah1h2lc5my3a0n7rfzngh-breeze-qt5-5.18.5-bin/lib/qt-5.14.2/plugins/styles/breeze.so: (/nix/store/g6r4b8vmj30v5a6cjwxz936h90xcxj7m-qtdeclarative-5.14.2/lib/libQt5Quick.so.5: undefined symbol: _ZN4QRhi10newSamplerEN11QRhiSampler6FilterES1_S1_NS0_11AddressModeES2_, version Qt_5_PRIVATE_API)
QLibraryPrivate::loadPlugin failed on "/nix/store/0mpi3gn7v5hah1h2lc5my3a0n7rfzngh-breeze-qt5-5.18.5-bin/lib/qt-5.14.2/plugins/styles/breeze.so" : "Cannot load library /nix/store/0mpi3gn7v5hah1h2lc5my3a0n7rfzngh-breeze-qt5-5.18.5-bin/lib/qt-5.14.2/plugins/styles/breeze.so: (/nix/store/g6r4b8vmj30v5a6cjwxz936h90xcxj7m-qtdeclarative-5.14.2/lib/libQt5Quick.so.5: undefined symbol: _ZN4QRhi10newSamplerEN11QRhiSampler6FilterES1_S1_NS0_11AddressModeES2_, version Qt_5_PRIVATE_API)"

Those are some annoyingly long lines, but the relevant bit is the loading of breeze.so complaining about an undefined symbol with this name:

> c++filt _ZN4QRhi10newSamplerEN11QRhiSampler6FilterES1_S1_NS0_11AddressModeES2_
QRhi::newSampler(QRhiSampler::Filter, QRhiSampler::Filter, QRhiSampler::Filter, QRhiSampler::AddressMode, QRhiSampler::AddressMode)
alapshin

comment created time in 7 days

issue commentNixOS/nixpkgs

Theme is broken on several tabs of systemsettings5

How are we supposed to get the fix? For me (on nixos-unstable), it still looks like the widgets in the original post: image

With a manually-specified QT_QUICK_CONTROLS_STYLE=Plasma it applies a native widget look, but it's broken in a different way (see "Orientation"): image

Am I missing something, or can we reopen this issue?

y-usuzumi

comment created time in 7 days

issue commentNixOS/nixpkgs

Qt applications use Windows style regardless of style selected in KDE settings

I have the same problem with KeePassXC:

$ keepassxc -style=Breeze
QApplication: invalid style override 'Breeze' passed, ignoring it.
        Available styles: Breeze, Windows, Fusion

But setting -style=Fusion or -style=Windows explicitly actually works, so the problem is Breeze-specific, at least on my machine. I confirmed the same thing with qjackctl just now.

alapshin

comment created time in 7 days

pull request commentNixOS/nixpkgs

nixos/x11: Respect XCOMPOSECACHE/XDG_DATA_HOME if set in xsession-wrapper

LGTM, I'd love to see this get merged. I've been trying to make my ~ more XDG Base Directory compliant.

SFrijters

comment created time in 8 days

issue commentNixOS/nixpkgs

SUID wrappers die when executed with NO_NEW_PRIVS

I just got surprised by this while trying out bubblewrap for the first time. To confirm, it dies on the same assertion:

bash:~$ sudo echo foo
sudo: /nix/store/v6l2sacryfr88yqq0pq7sia8wfgm9q31-wrapper.c:203: main: Assertion `!(st.st_mode & S_ISUID) || (st.st_uid == geteuid())' failed.
Aborted (core dumped)
robryk

comment created time in 9 days

push eventsolson/dotfiles

Scott Olson

commit sha 86fafa8b37d9fd15ecaa1662e6a5d20268362e9a

xcompose: add pin emoji

view details

Scott Olson

commit sha e6b68dfda2d75e87ba124e34b9d0f4022b2d9804

broot: add `s` shortcut for `toggle_sizes`

view details

push time in 9 days

PullRequestReviewEvent
PullRequestReviewEvent

delete branch solson/broot

delete branch : verb-path

delete time in 9 days

push eventsolson/dotfiles

Scott Olson

commit sha 90f079f94df841d73ceb76f3d20a643ea8ac2743

broot: init

view details

push time in 9 days

push eventsolson/broot

Scott Olson

commit sha c38c428a2a9f8f3f02af9183c58880abf08a7896

use PATH instead of absolute paths for all verbs The `chmod` verb was already using PATH, but others were using absolute paths that don't necessarily exist on every Linux distro.

view details

push time in 9 days

push eventsolson/dotfiles

Scott Olson

commit sha 3df47ddcee031423e162369860c764c65c93d8ea

nvim: customize look of diffs

view details

Scott Olson

commit sha c4ebe58ab326b6027545f2bd92e078b966a5722c

git: use nvim as difftool

view details

Scott Olson

commit sha cebe1cb25265a0ad5f054ee5153e9b588f037be9

fix install.sh

view details

push time in 9 days

PR opened Canop/broot

Use PATH instead of absolute paths for all verbs

Before this PR

The chmod verb was already using PATH, but others were using absolute paths that don't necessarily exist on every Linux distro. For example, on NixOS there is no /bin/rm, so the broot package rewrites /bin/ to a path in the "Nix store" (this is typical), which works just fine, but makes the UI's verb preview very verbose:

image

The chmod verb specifies chmod instead of /bin/chmod (relying on PATH lookup), which works just as well and has a cleaner verb preview:

image

After this PR

I made all verbs work like chmod does, which cleans up the preview for me:

image

+14 -14

0 comment

3 changed files

pr created time in 9 days

create barnchsolson/broot

branch : verb-path

created branch time in 9 days

fork solson/broot

A new way to see and navigate directory trees : https://dystroy.org/broot

fork in 9 days

push eventsolson/dotfiles

Scott Olson

commit sha d3776436fd85654ca993adbb74db955be483e327

vim: Use proper script-id function references.

view details

push time in 9 days

push eventsolson/dotfiles

Scott Olson

commit sha 9ba4d7c76e76f09ce2dde0605b761e22528a7d60

fish: Add alias for running broot on a nix package.

view details

push time in 10 days

issue commentdenoland/deno

More granular priveldge separation

type PermissionDescriptor = RunPermissionDescriptor | ReadPermissionDescriptor | WritePermissionDescriptor | NetPermissionDescriptor | EnvPermissionDescriptor | PluginPermissionDescriptor | HrtimePermissionDescriptor

interface ReadPermissionDescriptor
  name: "read"
  path?: string

These types imply Deno.permissions.revoke({ name: "read", path: "/a/b/c" }) should work (and likewise for write).

One thing I'm not sure of is whether we actually can implement a pledge(2)-like yet. It seems like we would need a function to revoke "all except for this explicit allowlist" (like pledge(2)), or at least a way to enumerate all currently granted permissions so we could revoke all outside the allowlist manually.

Smithx10

comment created time in 10 days

startedCanop/broot

started time in 11 days

issue commentrust-lang/rust

Implementation detail exposed in short backtrace (RUST_BACKTRACE=1)

I reported this since it was a bit confusing that the Rust announcement post itself included the irrelevant (to the end user) call_once line. It seems unfortunate to me that debug mode has the more confusing backtrace in this case — I probably use backtraces most often during development, without optimizations.

solson

comment created time in 11 days

issue openedrust-lang/rust

Implementation detail exposed in short backtrace (RUST_BACKTRACE=1)

Given this file foo.rs:

fn main() {
    panic!();
}

A short backtrace for this panic would ideally include only std::panicking::begin_panic and foo::main. And, indeed, the implementing PR has a test for this output:

https://github.com/rust-lang/rust/blob/5792840bf52e4cf77ebb7b3bd93e9c90dd23f4e7/src/test/ui/panics/issue-47429-short-backtraces.run.stderr#L1-L5

However, this is how the backtrace actually looks with various flags:

rustc (no flags; debug mode)

   0: std::panicking::begin_panic
   1: foo::main
   2: core::ops::function::FnOnce::call_once

rustc -O (release mode)

   0: std::panicking::begin_panic
   1: foo::main

rustc -O -C debuginfo=1 (release mode with debuginfo)

   0: std::panicking::begin_panic
             at ./.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:505
   1: foo::main
             at ./foo.rs:2
   2: core::ops::function::FnOnce::call_once
             at ./.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227

So I think the __rust_begin_short_backtrace implementation needs to account for this extra stack frame when it isn't optimized out by release mode. The test mentioned above only passes because it's compiled with -O:

https://github.com/rust-lang/rust/blob/5792840bf52e4cf77ebb7b3bd93e9c90dd23f4e7/src/test/ui/panics/issue-47429-short-backtraces.rs#L3

I tested this on 1.47.0 stable and a nightly version:

<details><summary><code>rustc --version --verbose</code></summary>

rustc 1.47.0 (18bf6b4f0 2020-10-07)
binary: rustc
commit-hash: 18bf6b4f01a6feaf7259ba7cdae58031af1b7b39
commit-date: 2020-10-07
host: x86_64-unknown-linux-gnu
release: 1.47.0
LLVM version: 11.0

rustc 1.49.0-nightly (91a79fb29 2020-10-07)
binary: rustc
commit-hash: 91a79fb29ac78d057d04dbe86be13d5dcc64309a
commit-date: 2020-10-07
host: x86_64-unknown-linux-gnu
release: 1.49.0-nightly
LLVM version: 11.0

</details>

ref #75048 cc @eggyal

created time in 11 days

push eventsolson/dotfiles

Scott Olson

commit sha 32e5130b4ee94e0b9933de2a7296992475bcec3f

git: Set config filetype for vim.

view details

Scott Olson

commit sha 705d4c3282c845a5f54f8abaaa96f08695b68121

git: Remove ghq config.

view details

push time in 11 days

push eventsolson/dotfiles

Scott Olson

commit sha 7db47859dda4b176f796596da9c82737de2629dc

git: Reformat config.

view details

Scott Olson

commit sha ad6e4d72284c1c7ee240f5edc17a90ff1cd5c92c

git: Use diff-so-fancy unicode ruler.

view details

push time in 11 days

push eventsolson/dotfiles

Scott Olson

commit sha 25a321258e9e87b7bb80c2ec94582560d6626207

vim: Add coc-diagnostic for shellcheck.

view details

Scott Olson

commit sha 9eee54fab264fbb9d460a1fe9d4149c672aaafeb

git: Use verbose commit (diff in message editor).

view details

Scott Olson

commit sha 4406579b8fe267e3bddc008d4f63c438f8f5ecbf

vim: Show separate hint lines with rust-analyzer.

view details

Scott Olson

commit sha e21931cbd1355d7ed5b1aafe425b6286758b43e9

vim: Improve Coc diagnostic colors.

view details

push time in 11 days

issue commentdenoland/deno

More granular priveldge separation

On Deno --unstable, I think you may be able to implement something like pledge(2) already (see deno doc --unstable --builtin Deno.Permissions):

  revoke(desc: PermissionDescriptor): Promise<PermissionStatus>
    Revokes a permission, and resolves to the state of the permission.

          const status = await Deno.permissions.revoke({ name: "run" });
          assert(status.state !== "granted")

Which would let a program start with broad permissions, do some setup, and then restrict to much narrower permissions for the rest of its runtime, so I guess this issue ties into the possible stabilization of that API. Is there anything else particular to pledge(2) that should be discussed here?

Smithx10

comment created time in 11 days

issue commentbe5invis/Iosevka

U+FFFD "REPLACEMENT CHARACTER" �

Usually, U+FFFD is used to represent conversion error

This is correct — and that's precisely the reason it came up when I was debugging code that does unicode conversions.

It's included in these fonts, for example:

image

solson

comment created time in 14 days

issue openedbe5invis/Iosevka

U+FFFD "REPLACEMENT CHARACTER" �

  • The requested character is...
    • [ ] Latin
    • [ ] Cyrillic
    • [ ] Greek
    • [ ] Punctuation
    • [x] Symbol
  • [x] Some other monospace/programming fonts supported this character. Provide images below.

I was dumping some data in a string while programming and noticed this rendering issue in my terminal, where I am using Iosevka:

image

I figured out the issue is that the U+FFFD � character was being rendered in Noto Sans Mono (my system monospace fallback) because Iosevka doesn't support the character, as far as I can tell. If my method of checking was correct, I think over half of my monospace fonts support this character, so it would be great if Iosevka did as well.

created time in 14 days

issue closeddenoland/deno

Some interfaces are hidden from `deno doc`

I noticed that deno doc --builtin WebSocket only shows this:

var WebSocket: { prototype: WebSocket; CLOSED: number; CLOSING: number; CONNECTING: number; OPEN: number; }

While if you browse through deno types output, you can find much more detail:

<details> <summary>(Folded for length)</summary>

/** Provides the API for creating and managing a WebSocket connection to a server, as well as for sending and receiving data on the connection. */
interface WebSocket extends EventTarget {
  /**
   * Returns a string that indicates how binary data from the WebSocket object is exposed to scripts:
   *
   * Can be set, to change how binary data is returned. The default is "blob".
   */
  binaryType: BinaryType;
  /**
   * Returns the number of bytes of application data (UTF-8 text and binary data) that have been queued using send() but not yet been transmitted to the network.
   *
   * If the WebSocket connection is closed, this attribute's value will only increase with each call to the send() method. (The number does not reset to zero once the connection closes.)
   */
  readonly bufferedAmount: number;
  /**
   * Returns the extensions selected by the server, if any.
   */
  readonly extensions: string;
  onclose: ((this: WebSocket, ev: CloseEvent) => any) | null;
  onerror: ((this: WebSocket, ev: Event | ErrorEvent) => any) | null;
  onmessage: ((this: WebSocket, ev: MessageEvent) => any) | null;
  onopen: ((this: WebSocket, ev: Event) => any) | null;
  /**
   * Returns the subprotocol selected by the server, if any. It can be used in conjunction with the array form of the constructor's second argument to perform subprotocol negotiation.
   */
  readonly protocol: string;
  /**
   * Returns the state of the WebSocket object's connection. It can have the values described below.
   */
  readonly readyState: number;
  /**
   * Returns the URL that was used to establish the WebSocket connection.
   */
  readonly url: string;
  /**
   * Closes the WebSocket connection, optionally using code as the the WebSocket connection close code and reason as the the WebSocket connection close reason.
   */
  close(code?: number, reason?: string): void;
  /**
   * Transmits data using the WebSocket connection. data can be a string, a Blob, an ArrayBuffer, or an ArrayBufferView.
   */
  send(data: string | ArrayBufferLike | Blob | ArrayBufferView): void;
  readonly CLOSED: number;
  readonly CLOSING: number;
  readonly CONNECTING: number;
  readonly OPEN: number;
  addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
  removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
}

declare var WebSocket: {
  prototype: WebSocket;
  new(url: string, protocols?: string | string[]): WebSocket;
  readonly CLOSED: number;
  readonly CLOSING: number;
  readonly CONNECTING: number;
  readonly OPEN: number;
};

</details>

The presence of declare makes the difference (export also seems to work). We can reproduce this locally:

$ cat example1.ts
interface Foo { x: number };
var Foo: { y: string };

$ deno doc example1.ts

$ cat example2.ts
interface Foo { x: number };
declare var Foo: { y: string };

$ deno doc example2.ts
Defined in file:///home/scott/Projects/dotfiles/scripts/docbug/example2.ts:2:8

var Foo: { y: string; }


$ cat example3.ts
declare interface Foo { x: number };
var Foo: { y: string };

$ deno doc example3.ts
Defined in file:///home/scott/Projects/dotfiles/scripts/docbug/example3.ts:1:0

interface Foo

  x: number


$ cat example4.ts
declare interface Foo { x: number };
declare var Foo: { y: string };

$ deno doc example4.ts
Defined in file:///home/scott/Projects/dotfiles/scripts/docbug/example4.ts:2:8

var Foo: { y: string; }

Defined in file:///home/scott/Projects/dotfiles/scripts/docbug/example4.ts:1:0

interface Foo

  x: number

The doc website has the same problem, as far as I can tell.

closed time in 15 days

solson

issue commentdenoland/deno

Some interfaces are hidden from `deno doc`

Yes, fixed by #7514.

solson

comment created time in 15 days

pull request commentNixOS/nixpkgs

deno 1.3.3 -> 1.4.0

Ahh, that makes sense. I don't personally need that, I just misunderstood what state this PR was in.

06kellyjac

comment created time in 16 days

pull request commentNixOS/nixpkgs

deno 1.3.3 -> 1.4.0

Deno has moved up to version 1.4.4.

06kellyjac

comment created time in 16 days

push eventsolson/dotfiles

Scott Olson

commit sha 0c6b07eb988eae936bb44cb876231b0ca356f56b

vim: Add vim-characterize.

view details

push time in 17 days

issue commentdenoland/deno

Idle REPL uses CPU instead of actually idling

I figured out that line 450 here is waking up constantly, but I don't yet know why:

https://github.com/denoland/deno/blob/4c7f53b04bc631525a4512576fc0d7dca05dec09/cli/main.rs#L445-L452

solson

comment created time in 17 days

issue commentdenoland/deno

REPL: inaccessible variables if not declared properly

Yeah, looks like we should close. I can also reproduce in the Chrome inspector:

image

MasterJames

comment created time in 17 days

issue openeddenoland/deno

Idle REPL uses CPU instead of actually idling

When I open the REPL on Deno master, the Deno process idles at around 12% CPU usage (and I can hear my fans spin up a bit), while Deno 1.4.2 actually idles at 0%.

Version info: https://github.com/denoland/deno/commit/e5348a6a38b3c06a916223ad0b99e8cfe47725b1 with cargo build --release

cc @caspervonb

created time in 17 days

issue commentdenoland/deno

REPL: inaccessible variables if not declared properly

After https://github.com/denoland/deno/pull/7784, we can now get around this with let a = ..., but a = ... still fails, in line with what @nayeemrmn said:

> let a = (() => { throw new Error(); })(); // The initializer throws.
Uncaught Error:
    at <anonymous>:2:24
    at <anonymous>:2:39
> a = "abc";
Uncaught ReferenceError: Cannot access 'a' before initialization
    at <anonymous>:2:3
> let a = "abc"
undefined
> a
"abc"
MasterJames

comment created time in 17 days

pull request commentNixOS/nixpkgs

wrapQtAppsHook: wrap binaries in all outputs

qdbusviewer is still broken today. Can we move towards merging this or figuring out the correct fix for qdbusviewer and any similarly broken apps?

For reference, qdbusviewer fails like this:

$ qdbusviewer
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb, wayland-org.kde.kwin.qpa.

Aborted (core dumped)
B4dM4n

comment created time in 18 days

delete branch solson/nixpkgs

delete branch : dbus-manpages

delete time in 18 days

issue openeddenoland/deno

`--allow-read` allows writes to Unix sockets

Deno.connect({ transport: "unix", path: "/path/to/socket" }) only requires --allow-read=/path/to/socket, yet allows you to write to the socket. On typical Linux systems, that means deno run --unstable --allow-read foo.ts could connect to the DBus socket and potentially run arbitrary commands, depending on what services are running.

Note: transport: "unix" is only available with --unstable right now.

Here's a proof-of-concept script that should produce a little notification like this with deno run --unstable --allow-read dbus-notify.ts on a typical Linux system with systemd and a user ID of 1000.

image

created time in 18 days

push eventsolson/etc-nixos

Scott Olson

commit sha f45a2b5bb28fb60d648ec0c221c20fc86638bfb8

Disable spammy firewall logging.

view details

push time in 18 days

push eventsolson/etc-nixos

Scott Olson

commit sha afd21591570b928ba0947c36d9aefc790b85b914

Serve .ts files as application/typescript.

view details

push time in 18 days

startedtpope/vim-characterize

started time in 19 days

startedMartchus/syncthingtray

started time in 20 days

startedrfjakob/systembus-notify

started time in 20 days

startedrfjakob/earlyoom

started time in 20 days

issue closedmozilla/nixpkgs-mozilla

Combine efforts with rust-nightly-nix

I haven't looked into the details yet, but it's likely that we are dealing with the same problems. I made an issue over at https://github.com/solson/rust-nightly-nix/issues/21.

closed time in 21 days

solson

issue commentmozilla/nixpkgs-mozilla

Combine efforts with rust-nightly-nix

This issue is now out of date, see https://github.com/solson/rust-nightly-nix/issues/27 for a summary of the situation.

solson

comment created time in 21 days

issue closedsolson/rust-nightly-nix

Looking for a new maintainer, otherwise abandoning

I have not used rust-nightly-nix for years now. The mozilla overlay worked better, from what I can remember, and I just use rustup now that the Nix package makes it do patchelf automatically.

In a couple weeks I'm going to archive this repo and close the open issues/PRs as stale, unless someone else wants to pick up maintainership (in which case I'd like to transfer the repo to your account).

cc @Ericson2314

closed time in 21 days

solson

issue commentsolson/rust-nightly-nix

Looking for a new maintainer, otherwise abandoning

Ok, archiving the repo now. If anyone has any further comments they can email me.

solson

comment created time in 21 days

push eventsolson/nixpkgs

Scott Olson

commit sha aba3abc79b233aa2d4836fc3a0e031aecdf5e715

dbus: build manpages from xml The `docbook_xml_dtd_44` and `docbook-xsl-nons` bits are necessary to prevent `xmlto` from trying to use the network during the build.

view details

push time in 21 days

pull request commentNixOS/nixpkgs

dbus: build manpages from xml

I have squashed and rebased onto staging. I have no idea why GitHub did that mass review request.

solson

comment created time in 21 days

push eventsolson/nixpkgs

Matthew Bauer

commit sha c36cf877f17ce8cf547f921c3a65d9aad46c85bb

darwin.xcode: add hash for 11.3.1

view details

Matthew Bauer

commit sha 39c536c8db4e0982f89b67a194cd36ba9f4fbdd5

darwin.libtapi: update, fix installTargets

view details

Matthew Bauer

commit sha 3c6bd61560d042ce1e366989b92b615dfa1dffb3

darwin.cctools: 927.0.2 -> 949.0.1 Needed for iOS 13 support

view details

Matthew Bauer

commit sha bb5d0a47b738844d6e95768d995614062e22d119

systems/examples.nix: update to iOS 13 new apps need iOS 13, so we should try to use that here

view details

Matthew Bauer

commit sha 753e80125fd071f6d4cd3ea9988c3c4da86f6cba

darwin/xcode: default to 11.3.1

view details

Matthew Bauer

commit sha 95eabdfd5f6197c83e9e5f53ddb65dbbea3c13fd

xcode/sdk-pkgs.nix: set -platform_version in addition to -miphoneos-version-min The App Store looks at LC_VERSION_MIN_IPHONEOS to verify you have a new enough SDK version. This is not just the minimum version, but also the sdk version used. When the linker can’t figure it out, it tries to infer it from the sdk path[1]. When no sdk version is found, it defaults to just using the -miphoneos-version-min value[2]. So, to make sure we don’t rely on inference (which doesn’t work in the current directory structure), we have to specify -platform_version. [1]: https://github.com/tpoechtrager/cctools-port/blob/43f32a4c61b5ba7fde011e816136c550b1b3146f/cctools/ld64/src/ld/Options.cpp#L5355-L5376 [2]: https://github.com/tpoechtrager/cctools-port/blob/43f32a4c61b5ba7fde011e816136c550b1b3146f/cctools/ld64/src/ld/ld.hpp#L58

view details

Andrew Childs

commit sha b418d4c6a4a3b34e317327ff7e80ab7a8fc1c02a

libtapi: fix build, install phase and install name installTarget looks like a typo for installTargets. This causes a lot of llvm and clang to be built and installed. Clang is not intended to be an external dependency. The source bundle includes llvm and clang. Adding include paths and building clangBasic first is sufficient to use the internal clang components.

view details

Andrew Childs

commit sha 630f5d30df4256991b2e72658eedeb954f7559f6

stdenv/darwin: enable tapi support in cctools

view details

Christian Kampka

commit sha b935375becd5334720cf375d7a5773f4e343ea8e

gts: Fix cross compilation gts generate binaries during the build process that are used during the build process. When building cross-platform, these binaries are not executable as they are built with for the target platform instead of the host platform. The boostrap build introduced here will first build gts natively and then cross-platform, using the native binaries in the cross-build.

view details

Daniël de Kok

commit sha b1700a73361284c6c0132e6caf5e0345223f3010

stdenv: unset SDKROOT on Darwin The Rust `cc` crate started running `xcrun` when SDKROOT is defined: https://github.com/alexcrichton/cc-rs/commit/a970b0ab0beecec1d9c589d2e6aa5f3ad1bd3f9b Consequently, building crates that use newer versions of the `cc` crate fail, because xcrun is not available in pure build environments.

view details

Pavol Rusnak

commit sha 43eae86de2f0f08cac4cc8c8f0e73f928bf97ad4

libfido2: 1.4.0 -> 1.5.0

view details

Graham Bennett

commit sha 8e4e38cdcdc5f2be6875e6506d0789e9e5411ea6

octave: Fix libtool framework link failure on Darwin This fix moves linker flags of the form `-framework foo` from dependency_libs to inherited_linker_flags, since libtool doesn't understand them. See #96977 for details. Fixes #96977

view details

R. RyanTM

commit sha 749a260edd4b29c446a02b8bee5cdb44a3bf4a95

bmake: 20200710 -> 20200902

view details

R. RyanTM

commit sha f03235e5289d2217544bd1a70c2a27433800b6d7

cimg: 2.9.1 -> 2.9.2

view details

Thomas Tuegel

commit sha 6805511b625b6eb0900c9c2670280267b1aad4d6

Merge pull request #96979 from graham33/fix/96977_octave_libtool octave: Fix libtool framework link failure on Darwin

view details

Mario Rodas

commit sha 18a8a9ff6acaa0cbb041e7063be6af45633b1e60

Merge pull request #97366 from r-ryantm/auto-update/bmake bmake: 20200710 -> 20200902

view details

Mario Rodas

commit sha 9b7cf1aa42e1ad0892e2894c41562752050c0366

Merge pull request #97367 from r-ryantm/auto-update/cimg cimg: 2.9.1 -> 2.9.2

view details

Mario Rodas

commit sha 90c5f2f9537cde699424943e2b63036ca50a479e

libuv: 1.38.1 -> 1.39.0

view details

Mario Rodas

commit sha 204eb76c7eadc2dc90ecdbf24b7d2b30391d6340

nodejs-14_x: 14.9.0 -> 14.10.0 https://github.com/nodejs/node/releases/tag/v14.10.0

view details

volth

commit sha 682465a45ad7bc91336ca60418796f4fce922b44

perlPackages: make it easier for the parser

view details

push time in 21 days

Pull request review commentNixOS/nixpkgs

dbus: build manpages from xml

 stdenv.mkDerivation rec {       --replace 'DBUS_DAEMONDIR"/dbus-daemon"' '"/run/current-system/sw/bin/dbus-daemon"'   ''; -  outputs = [ "out" "dev" "lib" "doc" ];+  preConfigure = ''+    for file in doc/*.xml doc/*.xml.in; do+      substituteInPlace "$file" --replace "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" \+        "${docbook_xml_dtd_44}/xml/dtd/docbook/docbookx.dtd"+    done+  '';++  preBuild = ''+    makeFlagsArray+=XMLTO="${xmlto}/bin/xmlto -x ${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl"

Done, thanks! I wasn't sure how to deal with this and that is much cleaner.

solson

comment created time in 21 days

PullRequestReviewEvent

push eventsolson/nixpkgs

Scott Olson

commit sha 4f535156765077f636a31b3994ccff84f5958ec3

dbus: provide XML DTD/XSL more cleanly

view details

push time in 21 days

create barnchsolson/nixpkgs

branch : dbus-manpages

created branch time in 21 days

PR opened NixOS/nixpkgs

dbus: build manpages from xml
Motivation for this change

I noticed that manual pages like dbus-send(1) and dbus-monitor(1) were missing from my system.

The docbook_xml_dtd_44 and docbook_xsl bits are necessary to prevent xmlto from trying to use the network during build. I copied from other nix packages that have the same issue.

Things done
  • [ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • [x] NixOS
    • [ ] macOS
    • [ ] other Linux distributions
  • [ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • [ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • [ ] Tested execution of all binary files (usually in ./result/bin/)
  • [ ] Determined the impact on package closure size (by running nix path-info -S before and after)
  • [ ] Ensured that relevant documentation is up to date
  • [x] Fits CONTRIBUTING.md.

I don't think my machine is powerful enough to run the nixpkgs-review for this change, given the sheer number of packages that depend on dbus. I confirmed the manpages were generated correctly and that simple binaries like dbus-send, dbus-monitor, and dbus-uuidgen work (I'm not sure how to use or test the others).

+17 -1

0 comment

1 changed file

pr created time in 21 days

push eventsolson/dotfiles

Scott Olson

commit sha 6fc63388d895f04c9ab0b038a2f9760d84068513

fish: Add aliases for getting nixpkgs sources easily.

view details

Scott Olson

commit sha 5e786e01ed72f148c45e7c75a2a8e2f4f9856ae3

vim: Add vim-xquery-syntax.

view details

push time in 21 days

pull request commentdenoland/deno

fix(cli): Use safe shell escaping in `deno install`

I added a simple test for something which currently generates a syntactically invalid shell script:

$ deno install foo.ts '"'

$ /home/scott/.deno/bin/foo
/home/scott/.deno/bin/foo: line 3: unexpected EOF while looking for matching `"'
/home/scott/.deno/bin/foo: line 4: syntax error: unexpected end of file

$ cat /home/scott/.deno/bin/foo
#!/bin/sh
# generated by deno install
deno "run" "file:///home/scott/foo.ts" """ "$@"

On another note, the Windows tests are going to be broken — I just noticed that the existing tests assume the Windows batch scripts and the non-Windows shell scripts will contain the same syntax, which shouldn't generally be true. How would you prefer to deal with this? We could use platform-specific if cfg!(windows) assertions.

solson

comment created time in a month

push eventsolson/deno

Scott Olson

commit sha 19bf16933363a95e78d25771170bf12b50cd4648

test(cli): Add `deno install` shell escaping test

view details

push time in a month

PR opened denoland/deno

fix(cli): Use safe shell escaping in `deno install`

I was hesitant to add a new dependency, but shell escaping is one of those things you really don't want to get wrong. The shell-escape crate is used by cargo itself.

I did not handle Windows, if any similar issue exists there, since I cannot easily test it.

This also adds exec so the parent shell process doesn't stick around — I think this should close https://github.com/denoland/deno/issues/3961.

+21 -9

0 comment

3 changed files

pr created time in a month

push eventsolson/deno

Nayeem Rahman

commit sha aaa5e6613a739f8e2ff7579b69c2504bcdc37d4f

fix(cli/rt): make some web API constructors illegal at runtime (#7468)

view details

Bartek Iwańczuk

commit sha b657d743a22802b8232fbf558f2f00bf2942096f

refactor: remove CliState, use OpState, add CliModuleLoader (#7588) - remove "CliState.workers" and "CliState.next_worker_id", instead store them on "OpState" using type aliases. - remove "CliState.global_timer" and "CliState.start_time", instead store them on "OpState" using type aliases. - remove "CliState.is_internal", instead pass it to Worker::new - move "CliState::permissions" to "OpState" - move "CliState::main_module" to "OpState" - move "CliState::global_state" to "OpState" - move "CliState::check_unstable()" to "GlobalState" - change "cli_state()" to "global_state()" - change "deno_core::ModuleLoader" trait to pass "OpState" to callbacks - rename "CliState" to "CliModuleLoader"

view details

Nayeem Rahman

commit sha 51019dc2674de9b4f5c3beb09c193b98fd582d25

fix(cli/flags): Make --unstable a global flag (#7585)

view details

Yusuke Tanaka

commit sha db5004f2003486aa78751a5dd5bf2989824e724e

fix(fmt,lint): do not print number of checked files when `--quiet` is enabled (#7579)

view details

Nayeem Rahman

commit sha 0a9d7e4e397a688dbd5d9448cdcbb119182ed446

fix(cli/installer): Don't reload by default (#7596)

view details

Bartek Iwańczuk

commit sha d1b88510cf31e1a9e5218f3195d15390e904f38a

refactor: remove GlobalState::compile_lock (#7598)

view details

Rob Waller

commit sha 333462b9c2ca662a9a26c9de6eeddbd545428a18

docs: titles in examples should be sentence case (#7609)

view details

Luca Casonato

commit sha dc6571909ba446fc732b2c6a48742eb4b9614513

fix: make --watch and --inspect conflicting args (#7610)

view details

tokiedokie

commit sha c4ed3fb7e767311dc5a6fc931fceaf4fdee885de

chore: add copyright (#7593)

view details

Casper Beyer

commit sha e06875e9f7e4b3365b9f30322e3e5307903feed4

refactor(cli/coverage): await for inspector message response (#7584)

view details

William Perron

commit sha 42772845f6dde1b27a9e55c7738743388350f2b2

fix(info): add --importmap flag (#7424)

view details

Casper Beyer

commit sha 9d738fc1977e0bd3d36f361198a1101e17c3b3b3

test(std/wasi): add fd_renumber test (#7574)

view details

Scott Olson

commit sha d88d26a0486c2b2d2cb34d65fd1b5521960002c5

fix(cli): Use safe shell escaping in `deno install`.

view details

Scott Olson

commit sha f982200e7a503acf18939492a6d678d6735921c9

fix(cli): Use `exec` in `deno install` scripts. Fixes #3961

view details

push time in a month

push eventsolson/deno

Scott Olson

commit sha 6ac50f67b62b2788e8bb4d3ea99b243270f1b8bf

fix(cli): Use safe shell escaping in `deno install`.

view details

Scott Olson

commit sha 925acd264a966ee550dd0cbcdd282b81d8170d75

fix(cli): Use `exec` in `deno install` scripts. Fixes #3961

view details

push time in a month

push eventsolson/deno

Scott Olson

commit sha 963a4babfdd56a2372d4474963bbdfa1541ab517

fix(cli): Use safe shell escaping in `deno install`.

view details

Scott Olson

commit sha 5d89e214d65609210e182be8e9b3264ab480a622

fix(cli): Use `exec` in `deno install` scripts. Fixes #3961

view details

push time in a month

create barnchsolson/deno

branch : install-exec

created branch time in a month

PR closed denoland/deno

feat(cli): add a REPL option for module imports

This is a work-in-progress implementation of #7425. It supports the examples in that issue exactly as written.

The general idea is deno repl -i a=url,b=url -i c=url gives you a list of pairs [("a", "url"), ("b", "url"), ("c", "url")] that the REPL implementation will resolve before starting up. Both comma-separation and flag repetition are built-in clap features. The --allow-read (and similar) flags accept only the comma-separated form, but I think it's convenient to allow multiple flags here, so if someone has an alias foo to deno repl -i foo=url they can easily run foo -i bar=url to add an additional import.

TODO:

  • [ ] Open questions: See #7425 - the Permissions section is especially important.
  • [ ] Documentation: Should this be added to the manual and/or release notes, not just the CLI help?
  • [ ] Tests: Do we have support for tests of interactive things like the REPL?

Regarding cargo test, I currently can't run every test because some of them download and run a deno binary from the internet, which doesn't work on NixOS without a patchelf step.

Regarding the implementation, I wanted some advice:

  1. Should I use a more semantic type than Vec<(String, String)> for the imports field?
  2. Should I hide the imports feature behind --unstable?
  3. Should we use globalThis? I looked into the possibility of injecting let/const/import-like local bindings with V8, but it currently seems quite difficult. @nayeemrmn suggested globalThis would be okay.
  4. I'm not sure if file://${cwd}/ is the right approach to the URL base, but it seems to make both https:// URLs and local file paths (both absolute and relative) work perfectly, so you can do things like deno repl -i local=./local.ts instead of deno repl -i "local=file://$(pwd)/local.ts".
+55 -11

5 comments

5 changed files

solson

pr closed time in a month

pull request commentdenoland/deno

feat(cli): add a REPL option for module imports

Closing in favour of a different approach — discussion of the feature should be had over on the issue, anyway.

solson

comment created time in a month

push eventsolson/dotfiles

Scott Olson

commit sha d7a08c7b187bcb5a1b5df6bba6d68521f8d9fb98

vim: Remove unused config.

view details

push time in a month

startedjunegunn/vim-plug

started time in a month

push eventsolson/dotfiles

Scott Olson

commit sha 55146733d35b5f65dfa9b59e7233d5564a4292f1

vim: Make config Neovim-only.

view details

Scott Olson

commit sha acc788ce285f226261b194087d94d01cae149987

vim: Enable undofile.

view details

push time in a month

push eventsolson/dotfiles

Scott Olson

commit sha b531dcb79c1903e7bff486259906ba5cc3c3651a

scripts: Add basic terminal colors test script.

view details

push time in a month

push eventsolson/dotfiles

Scott Olson

commit sha 5242611a410084954568c5554709bfee4163477a

install: Simplify by symlinking whole directories.

view details

Scott Olson

commit sha 387dbbdde57487ab8a7c1c80ceacdc62d55f9d3f

Consolidate .gitignores.

view details

Scott Olson

commit sha 1a23aabf52bd8d7fa973cc49d4da863c760b0c9a

fish: Work around bug with aliases and completion. Because aliases use `function --wraps` and the wrapped commands are `env` around the same name as the alias, Fish enters an infinite loop on autocompletion.

view details

Scott Olson

commit sha fd9e1d6a12fdd5a96d0fda4c7e87632fd0c8acd2

fish: Use a faster check for Nix shells.

view details

Scott Olson

commit sha 1616d1f4f32c90463354976300939951393ba51f

fish: Remove old commented code.

view details

Scott Olson

commit sha f022a3701fc19ddf5d31abf14576e7e0d8a04f04

fish: Pull in additional files from config dir.

view details

Scott Olson

commit sha f6b9416bbd66585e33b5ab3d372348a45ce9628e

vim: Define Coc extensions declaratively.

view details

Scott Olson

commit sha 43eb4ef291f2139527f0f7d07ead8dff0cf9cfa0

vim: Open vimrc without split view.

view details

push time in a month

startedkeepassxreboot/keepassxc

started time in a month

issue commentdenoland/deno

feature proposal: Deno builtin function & ops to create an anonymous pipe.

I think this would solve the problem in https://github.com/denoland/deno/issues/2494 — using OS-level pipes between the child processes (with no copying through the parent Deno process) would work exactly like shell piping, and when the writing process quits and closes its stdout, the reading process will detect this on its stdin the usual way.

PaulThompson

comment created time in a month

issue commentdenoland/deno

Require https for url imports

That's a good point, I didn't quite think it through. I just confirmed that deno run https://... (or deno cache or deno install) with a script that imports from http://... is blocked, so I agree. I think this issue could potentially be closed.

brandonkal

comment created time in a month

pull request commentdenoland/deno

feat(cli): add a REPL option for module imports

@bartlomieju Even when we have top-level await, I would still argue for including something like this flag. See the referenced issue for an explanation of my usecase that would go unmet ("Example 2" is the quickest thing to look at).

solson

comment created time in a month

issue commentdenoland/deno

More granular priveldge separation

Maybe we should close this in favour of https://github.com/denoland/deno/issues/2620? It would be good to make sure all the discussion ends up in one place.

Smithx10

comment created time in a month

issue commentdenoland/deno

Potential security issues with shebang script with flags

I'm going through inactive issues doing some triage — it looks like this issue can be closed?

kevinkassimo

comment created time in a month

more