profile
viewpoint
simlay simlay Give me job San Francisco, CA simlay.net

att14/XPBoard 5

Extreme Programming Board

probinso/color-pollution 3

Color Pollution Lecture Materials

simlay/.dotfiles 3

.files, including ~/.osx — sensible hacker defaults for OS X

fitzgen/pybeasttree 1

Library for parsing/consuming BEAST tree files

simlay/build-uikit-sys-blog-post 1

The code for uikit-sys blog post

simlay/aamvajs 0

AAMVA parser

simlay/actix-web 0

Actix web is a small, pragmatic, and extremely fast rust web framework.

push eventsimlay/node-bindgen

simlay

commit sha e81c41968425c6c546220ae3dcf1d9e78d6d00a0

Added n-api-v7 to nj-sys (#99) * Added n-api-v7 to nj-sys * Updated Cargo.toml

view details

Sebastian Imlay

commit sha ed308d9c99e97da301775134557822fd25607ca5

Merge branch 'master' of github.com:infinyon/node-bindgen into add-n-api-v7

view details

push time in 3 days

push eventsimlay/node-bindgen

Sebastian Imlay

commit sha 95fda11e006071ee8193b89efd469adafe2d201a

Updated Cargo.toml

view details

push time in 3 days

push eventsimlay/node-bindgen

Sebastian Imlay

commit sha e90ae8397cff52b91366191cf018224211e7de14

Update from comment

view details

push time in 3 days

pull request commentinfinyon/node-bindgen

Add BigInt support and more nj-core support for N-API v7.

Can you split these into separate PR? It would be easier to track changes. Thanks

Sure. I've made #99 to pull out the nj-sys changes which is the bulk of this PR.

simlay

comment created time in 3 days

PR opened infinyon/node-bindgen

Added n-api-v7 to nj-sys

This is a sub task for #28 and a split up of some of the things in #97.

+1313 -636

0 comment

6 changed files

pr created time in 3 days

create barnchsimlay/node-bindgen

branch : nj-sys-napi-v7

created branch time in 3 days

Pull request review commentinfinyon/node-bindgen

Support N API v7

+use std::ptr;+use log::trace;++use crate::TryIntoJs;+use crate::JSValue;+use crate::sys::napi_value;+use crate::val::JsEnv;+use crate::NjError;++pub use num_bigint::*;++impl<'a> JSValue<'a> for BigInt {+    fn convert_to_rust(env: &'a JsEnv, js_value: napi_value) -> Result<Self, NjError> {+        println!("Converting JS BigInt to Rust!");

Whoops. Yeah. That was suppose to be a using the trace macro from the log crate.

simlay

comment created time in 3 days

PullRequestReviewEvent

pull request commentinfinyon/node-bindgen

Support N API v7

I spent a bunch of time today in my non-computer time occasionally thinking about the need to convert Vec<u64> to/from Vec<u8> for bigint. Anyway, I finally decided to look into the implementation of the rust BigInt crate used in this PR and well depending on your system it actually does use u64's internally. In https://github.com/rust-num/num-bigint/issues/152, a suggestion to expose the internal data structure BigDigitbut the maintainer has some reservations. Depending on how ambitious I am, I might look into adding aFrom<Vec> for BigInt` in the bigint crate. I think that'd be the way to gain the best performance and maintainability here.

simlay

comment created time in 4 days

pull request commentinfinyon/node-bindgen

Added bindgen as build dependency for nj-sys

I spent a bunch of time today in my non-computer time occasionally thinking about the need to convert Vec<u64> to/from Vec<u8> for bigint. Anyway, I finally decided to look into the implementation of the rust BigInt crate used in this PR and well depending on your system it actually does use [u64's internally](https://github.com/rust-num/num-bigint/blob/7562ab24330792817e42b808f60b0cac51ca261a/src/lib.rs#L241-L244). In https://github.com/rust-num/num-bigint/issues/152, a suggestion to expose the internal data structureBigDigitbut the maintainer has some reservations. Depending on how ambitious I am, I might look into adding aFrom<Vec<u64>> for BigInt` in the bigint crate. I think that'd be the way to gain the best performance and maintainability here.

simlay

comment created time in 4 days

issue commentTimNN/cargo-lipo

Add support for `--test`

@bbqsrc That's some cool xcrun simctl mangling you did. You might wanna try out dinghy. I added iOS simulator support like about a year ago. They run the tests for dinghy in CI for the iOS simulator.

bbqsrc

comment created time in 4 days

pull request commentinfinyon/node-bindgen

Added bindgen as build dependency for nj-sys

I'm not actually sure the best way to fix CI for this PR. With Ubuntu and macOS, apt and brew would work in CI but I'm not super well versed in the package managers windows has. It looks like chocolatey has a github action we could use to install llvm.

This issue brings to light the need for an external dependency. Thoughts?

simlay

comment created time in 4 days

PR opened infinyon/node-bindgen

Added bindgen as build dependency for nj-sys

Over in #97, adding bindgen as a build dependency was brought up and as it really doesn't require any of the features in #97, I figure it's best to make in a separate PR so we can benchmark and see the differences easily.

One thing I've noticed is that the bindings are actually different in Linux vs on macOS. Here's the differences. The tests all still pass though.

I compared these changes on my archlinux desktop that has i7 with 8 cores and 16gb of ram and the build time for cargo build --workspace went from 25 seconds to 30 seconds.

+189 -4

0 comment

3 changed files

pr created time in 4 days

create barnchsimlay/node-bindgen

branch : bindgen-build-rs

created branch time in 4 days

push eventsimlay/node-bindgen

Sebastian Imlay

commit sha f226054e541d8bca183c4b8ced93262a92c94876

Update to N-API v7 and add BigInt support. * Updated to N-API v7 in nj-sys. * Updated CHANGELOG. * Added detach buffer calls in JsEnv. * Added BigInt for going to-from rust and JS. * Re-export the rust bigint exports.

view details

push time in 4 days

Pull request review commentinfinyon/node-bindgen

Support N API v7

 impl JSValue<'_> for i64 {     } } +impl JSValue<'_> for u64 {++    fn convert_to_rust(env: &JsEnv,js_value: napi_value) -> Result<Self, NjError> {+        env.assert_type(js_value, crate::sys::napi_valuetype_napi_bigint)?;++        let mut value: u64 = 0;+        let mut lossy: bool = false;

I've removed this entirely in favor of wrapping BigInt and not supporting u64s. Though, I guess there's an argument to be made about adding the TryIntoJs implementation for u64s. I'll think about this more and maybe re-add it.

simlay

comment created time in 5 days

PullRequestReviewEvent

push eventsimlay/node-bindgen

Sebastian Imlay

commit sha 7dc43a74091255903a1dae902105d1ec2cf98548

Removed nodejs_14_6 and removed support for u64

view details

push time in 5 days

push eventsimlay/node-bindgen

Sebastian Imlay

commit sha 10f3f27f91b3ea76fc857f23d9d74a8a65043c55

Change to fix CI

view details

push time in 5 days

Pull request review commentinfinyon/node-bindgen

Support N API v7

+use std::ptr;+use log::trace;++use crate::TryIntoJs;+use crate::JSValue;+use crate::sys::napi_value;+use crate::val::JsEnv;+use crate::NjError;++pub use num_bigint::{BigInt, Sign};++impl<'a> JSValue<'a> for BigInt {+    fn convert_to_rust(env: &'a JsEnv, js_value: napi_value) -> Result<Self, NjError> {+        println!("Converting JS BigInt to Rust!");++        env.assert_type(js_value, crate::sys::napi_valuetype_napi_bigint)?;+        let mut word_count: usize = 0;++        // https://nodejs.org/api/n-api.html#n_api_napi_get_value_bigint_words+        // Frist call is to figure out how long of a vec to make.+        crate::napi_call_result!(crate::sys::napi_get_value_bigint_words(+            env.inner(),+            js_value,+            ptr::null_mut(),+            &mut word_count,+            ptr::null_mut(),+        ))?;++        // Now we actually get the sign and the vector.+        let mut napi_buffer: Vec<u64> = vec![0; word_count];+        let mut sign = 0;++        crate::napi_call_result!(crate::sys::napi_get_value_bigint_words(+            env.inner(),+            js_value,+            &mut sign,+            &mut word_count,+            napi_buffer.as_mut_ptr(),+        ))?;++        // BigInt is initialized via a little endian &[u8] so we need to build the u8s from the+        // u64s+        let mut bytes: Vec<u8> = Vec::new();+        for i in &napi_buffer {+            bytes.extend_from_slice(&i.to_le_bytes());+        }++        // The N-API documentation on the signs is lacking.+        let sign = match sign {+            0 => Sign::Plus,+            1 => Sign::Minus,+            _ => unreachable!(),+        };+        let res = BigInt::from_bytes_le(sign, &bytes);+        trace!(+            "Converted JS BigInt to Rust! words: {:#X?}, bytes: {:#?}, len: {:?}, bigint: {:#?}",+            napi_buffer,+            bytes,+            bytes.len(),+            res+        );+        Ok(res)+    }+}++impl TryIntoJs for BigInt {+    fn try_to_js(self, env: &JsEnv) -> Result<napi_value, NjError> {+        let (sign, bytes) = self.to_bytes_le();+        let mut words: Vec<u64> = Vec::new();+        use std::cmp::min;++        // bytes can be non-multiples of 8.

I was tempted to use something like byteorder for this because byte mangling like this can be error prone. Also, doing this took way longer that I wanted. I'm open adding it but as we've seen with rust-bindgen, it'll add more compile time to whatever depends on this project.

simlay

comment created time in 5 days

PullRequestReviewEvent

Pull request review commentinfinyon/node-bindgen

Support N API v7

 use node_bindgen::core::val::JsEnv; /// JsEnv argument does not manipulate JsCb arguments #[node_bindgen] fn multiply(env: JsEnv, arg: f64) -> Result<napi_value, NjError> {-    +     println!("arg: {}",arg);     env.create_double(arg * 2.0)-} +}

My Vim really wants to get ride of these spaces at the end of lines.

simlay

comment created time in 5 days

PullRequestReviewEvent

Pull request review commentinfinyon/node-bindgen

Support N API v7

 impl JSValue<'_> for i64 {     } } +impl JSValue<'_> for u64 {++    fn convert_to_rust(env: &JsEnv,js_value: napi_value) -> Result<Self, NjError> {+        env.assert_type(js_value, crate::sys::napi_valuetype_napi_bigint)?;++        let mut value: u64 = 0;+        let mut lossy: bool = false;

After implementing JSValue and TryIntoJSs for BigInt, I think this function should just use napi_get_value_bigint_words and then we don't have to worry about any loss.

simlay

comment created time in 5 days

PullRequestReviewEvent

push eventsimlay/node-bindgen

Sebastian Imlay

commit sha 9c8855a18405891a0a9c461929850bc55ca119cf

Added BigInt support

view details

push time in 5 days

Pull request review commentinfinyon/node-bindgen

Support N API v7

 /* automatically generated by rust-bindgen */ -pub const NAPI_VERSION: u32 = 5;+pub const NAPI_VERSION: u32 = 7;

Initial version of the node-bindgen used build.rs to generate binding. Main issue was build time which was long. Hopefully, current rust compiler performance has improved that that is no longer concern.

Ah. Yeah. That's definitely a con. I'll play around with it and see what the compile time is like.

simlay

comment created time in 6 days

PullRequestReviewEvent

Pull request review commentinfinyon/node-bindgen

Support N API v7

 impl JSValue<'_> for i64 {     } } +impl JSValue<'_> for u64 {++    fn convert_to_rust(env: &JsEnv,js_value: napi_value) -> Result<Self, NjError> {+        env.assert_type(js_value, crate::sys::napi_valuetype_napi_bigint)?;++        let mut value: u64 = 0;+        let mut lossy: bool = false;

It would be ideal do something with this lossy boolean other than pass it in to be modified by the node runtime and never actually used. I'm not quite sure what though.

simlay

comment created time in 7 days

PullRequestReviewEvent

push eventsimlay/node-bindgen

Sebastian Imlay

commit sha 277b4993470208e6ac43fb3ab9369d38ae6e2680

Added simple bigint example to js-env example

view details

push time in 7 days

Pull request review commentinfinyon/node-bindgen

Support N API v7

+#ifndef SRC_JS_NATIVE_API_TYPES_H_

This is from #54. I'll remove it and rebase at somepoint.

simlay

comment created time in 7 days

PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commentinfinyon/node-bindgen

Support N API v7

 /* automatically generated by rust-bindgen */ -pub const NAPI_VERSION: u32 = 5;+pub const NAPI_VERSION: u32 = 7;

I don't wanna preemptively add more scope to this task but I accidentally ended up pushing the wrong bindings earlier because I didn't run make generate in js-sys. If we're open to it, I'd love to move to using bindgen as a build dependency and generate these bindings at build time rather than having them in the source code. The pros for doing this are that when the next person to come along and update the N-API version, they'll pop in the new headers into the vendor directory, update the version and then just simply run cargo build in the parent directory and deal with whatever bugs exist. The cons of this are that build times will be longer and the jump-to-definition feature of rust-analyzer may not work for things in nj-sys :/.

simlay

comment created time in 7 days

PR opened infinyon/node-bindgen

Support N API v7

This PR will resolve #28 and will also deal with some of the undone parts of #96.

For now, this is a draft PR as I intend to add a bunch of examples. If you feel like giving some feedback, I'm all ears.

In an unlisted manner this PR should include:

  • [x] Go get the node.js src, and copy the headers from it for nj-sys.
  • [ ] Add calls from nj-core to nj-sys for N-API v6:
    • [x] napi_create_bigint_uint64
    • [x] napi_create_bigint_int64
    • [ ] napi_get_value_bigint_words
    • [ ] napi_set_instance_data
    • [ ] napi_get_instance_data
    • [ ] napi_get_all_property_names
  • [ ] Add calls from nj-core to nj-sys for N-API v7:
    • [ ] napi_detach_arraybuffer
    • [ ] napi_is_detached_arraybuffer
  • [ ] Add examples for integration tests.
  • [ ] Add words to CHANGLOG.md
+2323 -636

0 comment

11 changed files

pr created time in 7 days

push eventsimlay/node-bindgen

Sebastian Imlay

commit sha 458d7172f4261c926e8f5e1d370525937ee55257

ran make generate

view details

push time in 7 days

push eventsimlay/node-bindgen

Sebastian Imlay

commit sha 80409f0f9319bbfec44308b15989cd88355110c8

Added NAPI v7 from git tag in node v14.12.0

view details

push time in 7 days

issue commentinfinyon/node-bindgen

Support n-api v7

After a bit of review of the project and some thought, it seems that adding N-API v7 to nj-sys is very trivial and adding it to js-core doesn't look too bad either. I figure it's best to get some clarity on what we'd like to support or not to support. A lot of projects use feature flags to add support to new backend features such as clang-sys.

The version matrix for N-API shows, not all versions of node support the latest N-API. So, if node-bindgen had things like like NAPI_V5 and NAPI_V6, this would allow for compile time checks of if the rust side will actually work with that version of node. Because all N-API versions are supersets of each other (at least from what I can tell), when you'd specify NAPI_V6 what that really means is "not N-API v7".

Anyway, I'm not sure what the thoughts are on supporting older versions of node are but I just wanted to bring it up. Thoughts?

sehz

comment created time in 7 days

create barnchsimlay/node-bindgen

branch : add-n-api-v7

created branch time in 8 days

fork simlay/node-bindgen

Easy way to write Node.js module using Rust

fork in 8 days

pull request commentRustAudio/coreaudio-rs

Fix iOS compilation error and add macOS + iOS feedback example applications

I gave this a test and found some compilation errors on my end. I had to add the ios example as a new workspace member and then make a Cargo.toml in examples/ios and then change some of the imports (I don't really understand the need for these though). Here are the changes I had to do: https://github.com/simlay/coreaudio-rs/commit/eb73670daf386cc18ceb498ae3b1442881aa18e5

I did manage to get the feedback example to run on my iPhone 7. I'm not sure what the example should do but it runs and I see some of the printlns but don't hear anything. Should I?

The iOS simulator crashes with this stacktrace:

2020-10-17 12:26:30.157982-0700 coreaudio-ios-example[98758:6316601]  HALDefaultDevice::Initialize: couldn't add the default input device listener, Error: 1102 ()
2020-10-17 12:26:30.158269-0700 coreaudio-ios-example[98758:6316601]  HALDefaultDevice::Initialize: couldn't add the default output device listener, Error: 1102 ()
2020-10-17 12:26:30.158481-0700 coreaudio-ios-example[98758:6316601]  HALDefaultDevice::Initialize: couldn't add the default system output device listener, Error: 1102 ()
2020-10-17 12:26:30.158682-0700 coreaudio-ios-example[98758:6316601]  HALDefaultDevice::Initialize: couldn't add the default shared output device listener, Error: 1102 ()
2020-10-17 12:26:30.158993-0700 coreaudio-ios-example[98758:6316601] [plugin] AddInstanceForFactory: No factory registered for id <CFUUID 0x60000311a7a0> F8BB1C28-BAE8-11D6-9C31-00039315CD46
2020-10-17 12:26:30.159495-0700 coreaudio-ios-example[98758:6316601]  AudioObjectSetPropertyData: no object with given ID 0
2020-10-17 12:26:30.159618-0700 coreaudio-ios-example[98758:6316601] AudioSessionSimulatorClientManager.cpp:83:SimulatorUpdateHALForPrimaySession_Priv: Failed to set processVolumeScalar on device. Error: 560947818
2020-10-17 12:26:30.160191-0700 coreaudio-ios-example[98758:6316601] Calling rust_ios_main()
2020-10-17 12:26:30.256334-0700 coreaudio-ios-example[98758:6316700]  HALCADClient::GetPropertyData: unknown property
2020-10-17 12:26:30.256449-0700 coreaudio-ios-example[98758:6316700] [ddagg]        AggregateDevice.mm:790   couldn't get default input device, ID = 0, err = 0!
2020-10-17 12:26:30.256723-0700 coreaudio-ios-example[98758:6316700]  HALCADClient::GetPropertyData: unknown property
2020-10-17 12:26:30.256822-0700 coreaudio-ios-example[98758:6316700] [ddagg]        AggregateDevice.mm:790   couldn't get default output device, ID = 0, err = 0!
2020-10-17 12:26:30.256947-0700 coreaudio-ios-example[98758:6316700]  AudioDeviceStop: no device with given ID
2020-10-17 12:26:30.257052-0700 coreaudio-ios-example[98758:6316700] [aqme] AQMEIO.cpp:320:_FindIOUnit: error -66680 finding/initializing AQDefaultDevice
2020-10-17 12:26:30.257428-0700 coreaudio-ios-example[98758:6316601] [aurioc] AURemoteIO.cpp:1086:Initialize: failed: -10851 (enable 2, outf< 2 ch,      0 Hz, Int16, inter> inf< 2 ch,      0 Hz, Int16, inter>)
2020-10-17 12:26:30.257433-0700 coreaudio-ios-example[98758:6316705]  AudioDeviceStop: no device with given ID
2020-10-17 12:26:30.260231-0700 coreaudio-ios-example[98758:6316705] [aqme] AQMEIO.cpp:320:_FindIOUnit: error -66680 finding/initializing AQDefaultDevice
2020-10-17 12:26:30.260360-0700 coreaudio-ios-example[98758:6316705] CA_UISoundClient.cpp:110:CA_UISoundClientBase: * * * NULL AQIONode object
2020-10-17 12:26:30.260499-0700 coreaudio-ios-example[98758:6316705] CA_UISoundClient.cpp:772:UISoundNewRenderer: Can't make UISound Renderer
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: AudioUnit(InvalidPropertyValue)', examples/ios/src/lib.rs:5:3
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
libc++abi.dylib: terminating with uncaught foreign exception
MichaelHills

comment created time in 11 days

create barnchsimlay/coreaudio-rs

branch : simlay-ios-support-feedback

created branch time in 11 days

pull request commentRustAudio/coreaudio-sys

Fixes iOS compiling.

Might be nice to also clean up all the warnings. One thing at a time I guess.

You mean the 128 warnings emitted that are pretty much all warning:externblock uses typeu128, which is not FFI-safe? I'm pretty sure the reason why those are emitted is because of https://github.com/rust-lang/rust/issues/54341

I'm not familiar with the release process of rust crates and versioning. What should the new version number be?

Well, for everyone else in the non-iOS rust ecosystem this is a pretty small change and it's non breaking to anything. I'd say going from 0.2.5 to 0.2.6 is reasonable.

simlay

comment created time in 11 days

startedBrainiumLLC/mobile-entry-point

started time in 19 days

startedBrainiumLLC/cargo-mobile

started time in 20 days

push eventsimlay/simlay.github.io

GitHub Actions

commit sha 07200a38c58e6b5a564a8599d75562b23c3b2e63

Deploy simlay/simlay.github.io to simlay/simlay.github.io:gh-pages

view details

push time in 21 days

push eventsimlay/simlay.github.io

Sebastian Imlay

commit sha 401ace620827c1151be15f00f6a3bbda6d757cbb

Added updated resume and link

view details

push time in 21 days

issue openedgoogle/shaderc-rs

Update shaderc-rs (and shaderc-sys) on crates.io please

The folks over at https://github.com/bevyengine/bevy/pull/539#issuecomment-703835175 want the addition of #83 on crates.io, to have iOS support in bevy in an upcoming release. Could someone push a new version to cratesi.o please?

Thanks!

created time in 23 days

pull request commentgoogle/shaderc-rs

Initial iOS support

Did this break the build? I'm looking at the current build and it's failed but there's not a clear reason why.

simlay

comment created time in 23 days

Pull request review commentRustAudio/coreaudio-rs

Fix iOS compilation error

 script: - cargo build --verbose - cargo test --verbose - cargo doc --verbose+- cargo build --verbose --target aarch64-apple-ios+- cargo test --verbose --target aarch64-apple-ios

cargo test won't work with different architectures. If you'd really want to run the tests in an iOS simulator, dinghy is your friend but you'd still only be able to have CI run it with the x86_64-apple-ios target.

MichaelHills

comment created time in a month

PullRequestReviewEvent

PR closed RustAudio/coreaudio-rs

Added initial changes for iOS support.

The only real change here I think is the usage of: kAudioSessionProperty_CurrentHardwareIOBufferDuration rather than kAudioDevicePropertyBufferFrameSize which I found at https://stackoverflow.com/questions/13157523/kaudiodevicepropertybufferframesize-replacement-for-ios

Most of these changes are conditional compilation things and mapping the names of the iOS version of the bindings.

This is obviously dependent on https://github.com/RustAudio/coreaudio-sys/pull/33

+43 -6

6 comments

4 changed files

simlay

pr closed time in a month

pull request commentRustAudio/coreaudio-rs

Added initial changes for iOS support.

I'll just need to figure out how to exercise this code, perhaps by getting an example going using this crate directly rather than using cpal and rodio.

I'd probably publish PRs to rodio and/or cpal and have an example Xcode project that uses them showing the changes to coreaudio-sys and coreaudio-rs work. There are pros and cons to this because when a given update to Xcode gets published, the coreaudio-sys bindings will change bit by bit and if CI is 3 crates up, it'll be hard to track down. There eventually be enough people that when it breaks, someone will notice and figure out how to fix it.

For now, given that there's no iOS support for all four crates, I think you should have an example project that builds as part of CI either rodio or cpal depending on how ambitious you're feeling.

Closing in favor of #72. @MichaelHills got more context and knows how this works better than I do at this point.

simlay

comment created time in a month

pull request commentRustAudio/coreaudio-rs

Added initial changes for iOS support.

@MichaelHills Could you push that code to a branch/fork? You've mentioned that you've rebased so applying the raw diff seems error prone. I'm also fine with closing this PR and you can open a new PR. Thoughts?

simlay

comment created time in a month

push eventsimlay/bevy

Sebastian Imlay

commit sha b250abe0d8dafbf51fc199d3d70af511c1409ac2

Updates from comments

view details

push time in a month

pull request commentrust-lang/rust

Defer Apple SDKROOT detection to link time.

It used appletvsimulator before 6b17330, and that was just a refactoring that appears to have used the wrong value.

Bleh. It looks like I screwed up in that PR. My bad. I was trying to refactor it so we could add watchOS without much work.

@simlay, can you answer the questions here? It looks like this line should have used AppleOS::tvOS, is that correct?

Yes.

Also, I am unable to build the x86_64-apple-tvos target because the data_layout does not appear correct (it is using the aarch64 layout, not x86-64). Should that be changed?

Yes.

Are there any other instructions on how to build that target (does it need Apple's LLVM?)?

This I unfortunately do not know.

This PR is good. It makes the logic clearer. Once someone figures out the the data_layout and such parameters for the watchOS targets, it'll be a pretty small PR.

ehuss

comment created time in a month

push eventsimlay/coreaudio-sys

Sebastian Imlay

commit sha ff8b3fe55b506a74d50520fb9512691ff9d5a3d8

3rd try on CI

view details

push time in a month

push eventsimlay/coreaudio-sys

Sebastian Imlay

commit sha adb3e2975a4d7c21ab8966ac21b122ae01018ff9

2nd try on CI

view details

push time in a month

push eventsimlay/coreaudio-sys

Emilio Cobos Álvarez

commit sha 6fc93b38e9db16f5f5ab294dfcaadbfa51a7a697

Bump bindgen. Untested as I'm not on macos, but it should be behavior-identical as the only potential relevant breaking change for coreaudio is the size_t -> usize mapping, that this PR restores.

view details

est31

commit sha 5f3e12ce28f07627f3dc584116e6424fa1ace3e0

Merge pull request #34 from emilio/master Bump bindgen.

view details

est31

commit sha 7fad5bbba38ca3c0f15bde984b241f7e75dc09a0

We don't have to specify rustfmt any more as bindgen uses it from path See a298e1d29c52d6e3b29481ff05896e841252a1e3 , we had since a bindgen release (and the corresponding update in coraudio-sys).

view details

est31

commit sha 091c023decab2ea3ab1f8a64b017622107922ddb

Release 0.2.4

view details

est31

commit sha c917e2e0e2fc4f4951b291595c45fc883a2eae71

Merge pull request #35 from est31/release Release 0.2.4

view details

mitchmindtree

commit sha a4d08292542b77f72ad546a8aaaef4649e49a9ee

Ensure docs.rs defaults to apple darwin docs

view details

mitchmindtree

commit sha 462b5b2ebbdfa18af65715c65ba0cd6e014871c3

Add github CI and auto-publish workflow

view details

mitchmindtree

commit sha a29b148e97a12c151395d9c33971ee8716cb8420

Remove old .travis.yml config

view details

mitchmindtree

commit sha 0d524226c0e174b35e41e1f54737f123967b50fe

Update status badge to point to CI action status

view details

mitchmindtree

commit sha 0f60f34e73795daef75f6e9a1df631855b5aabbd

Fix no-default-features build

view details

mitchmindtree

commit sha f97abf7adf56444a37d7afb04b30d76b18e9121b

Move docs check into separate action

view details

mitchmindtree

commit sha 37a11980a65df5647433526196df728b7a34bb4e

Temporarily remove cross-compile check action

view details

mitchmindtree

commit sha a49648576db50181a86b337e558f690e18989ef6

Merge pull request #37 from mitchmindtree/maintainer_qol Maintainer quality-of-life improvements (CI, auto-publising, docs for apple-darwin, testing).

view details

mitchmindtree

commit sha eb88d838a83de2e82f9ac5491d04e236d0e09069

Add docs.rs badge. Publish 0.2.5. This is a tiny release to: - Fix docs generated and presented on docs.rs. - Fixes builds using --no-default-features.

view details

mitchmindtree

commit sha 8d27848335dea18129dffe60643572497cc42d6f

Merge pull request #39 from mitchmindtree/publish Add docs.rs badge. Publish 0.2.5.

view details

Sebastian Imlay

commit sha ce8b18b2bc36a56f131d83f43a6f52497c7677da

Merge branch 'master' of github.com:RustAudio/coreaudio-sys into add-ios-support

view details

Sebastian Imlay

commit sha f603e290cd83e13661fe638f6fcfb4cce17b3702

Update CI

view details

push time in a month

push eventsimlay/coreaudio-sys

Sebastian Imlay

commit sha 6c7790bbbbe0c482b55ddc97206a1a02b1d01e57

Updates from PR comments

view details

Sebastian Imlay

commit sha b1a71217e74689dc62c3695266df97e748d50806

Merge branch 'add-ios-support' of github.com:simlay/coreaudio-sys into add-ios-support

view details

push time in a month

push eventsimlay/bevy

Sebastian Imlay

commit sha a8e67e927841a12abd10ae10c3abcd433f7475e5

Add CI badge to README

view details

push time in a month

pull request commentbevyengine/bevy

An initial xcode setup for using xcode

The makefile works to boot the simulator, but I can't launch on my phone from Xcode.

@MichaelHills I tried it with my Xcode and iPhone and it worked. Maybe something is up with your path? The build script does assume you use rustup with the default config (~/.cargo/bin for where cargo install cargo-lipo goes).

simlay

comment created time in a month

push eventsimlay/bevy

Carter Anderson

commit sha 74dba5f36be1fc64bec8312e5d4fccfa08a02b8b

release: 0.2.1 (#533)

view details

memoryruins

commit sha fd1d6a388d551da1dadd393d18776477093d832a

Stop looping when scheduler receives an AppExit (#536)

view details

Stjepan Glavina

commit sha 5aa77979d15a13cf8b532f3eb03abb1c29981309

Remove some unsafe code (#540)

view details

Zooce

commit sha 18a8532f320c0236ddf2b91a87c29fca1941fff5

Add `libudev-dev` to Ubuntu dependencies (#538)

view details

HyperLightKitsune

commit sha 295e1f0a18ef579139890f33f81d4e8043ca9415

use FnOnce in Commands and ChildBuilder where possible (#535) use FnOnce in Commands and ChildBuilder

view details

Léo Gillot-Lamure

commit sha d562063abf19dee9b9da9dee6054fb425de1e94d

Add systemd-devel for Fedora Linux dependencies (#528) It is required for the dependency crate libudev-sys (error about missing libudev.pc)

view details

Logan Magee

commit sha b5f3585d2e9093028e4c9e243545aa85dca6240e

Merge some imports in bevy_winit/src/lib.rs (#522)

view details

Stjepan Glavina

commit sha 74f881f20d6c3e8588be8e523424a2be99ed6bf5

Fix compilation error on wasm (#549) Fix compilation error on wasm

view details

Tomasz Sterna

commit sha dd6f0b5e046fbf78d13b8478b5356a4e3c53e13f

Option to give existing canvas element as winit window (#515)

view details

Carter Anderson

commit sha 028a22b12936797d3a7ca1ad5d715a98bdf27907

asset: use bevy_tasks in AssetServer (#550)

view details

Carter Anderson

commit sha a768bae33b9902475d5b50326751b26e10ed36cf

properly update bind group ids when setting dynamic bindings. (#560)

view details

Carter Anderson

commit sha 3dbc6550a0b5049be4453cd5b00a12591d8e3532

add rg3d to "alternatives"

view details

Logan Magee

commit sha 3ca0a2b0ac36ddfb7ed36a66806c0e5686d58548

Suggest -Zrun-dsymutil-no for macOS fast compiles (#552) This keeps original object files around after compilation in the event that debug information is needed.

view details

Gray Olson

commit sha f7c8882c0408902ce6d5e22ac05f51d0f5381ff1

Index buffer specialization (#568) index buffer specialization

view details

Alexander Sepity

commit sha 3abfcad7ab5e194e1b79daedc0234e2d3afbfb24

Patch memory leak in `Archetype::grow()`. (#569)

view details

Logan Magee

commit sha c2299c75636f98de27dc1de7f64215c07f02d47a

Add dependabot config for cargo and GitHub Actions (#570)

view details

Gray Olson

commit sha afc656701d83bc09e1d444b4c33247a766ba8b37

switch to u32 indices by default (#572)

view details

Mariusz Kryński

commit sha a3012d94bb4d24a1fb788896f42afb7178ca7de8

WASM asset loading (#559) wasm assets

view details

Carter Anderson

commit sha 05db806e15397b2887e663f7c46baff694c51f81

fix DrawableText crash (#574)

view details

Carter Anderson

commit sha dd07674b594570024116d875341d54d878264fe9

github actions: use stable clippy (#577)

view details

push time in a month

Pull request review commentbevyengine/bevy

An initial xcode setup for using xcode

+// !$*UTF8*$!+{+	archiveVersion = 1;+	classes = {+	};+	objectVersion = 51;+	objects = {++/* Begin PBXBuildFile section */+		134866208A035F8615C99114 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 96A1E5B62F48B379829E8A0D /* Metal.framework */; };+		2604C99FAB5A8322EDCABB9F /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FE71FBCAA714DB4F42459106 /* UIKit.framework */; };+		442540D056ADB9AE61A0A590 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F1B41978FA53999AA836D0F /* Security.framework */; };+		55892F1396056740E1AF9685 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = AF7DE91055EBD05ED77E57F9 /* main.m */; };+		55B7188F81C3C4183F81D3AE /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = A39528EB2CCB182F5328223A /* libc++.tbd */; };+/* End PBXBuildFile section */++/* Begin PBXContainerItemProxy section */+		26BF2C4863C966DABAB40DC8 /* PBXContainerItemProxy */ = {+			isa = PBXContainerItemProxy;+			containerPortal = 8DBF1E2B5C613DA41701F6D9 /* Project object */;+			proxyType = 1;+			remoteGlobalIDString = D08AEBE0B1A9C9A7B8C7B33F;+			remoteInfo = cargo_ios;+		};+/* End PBXContainerItemProxy section */++/* Begin PBXFileReference section */+		160DB77300A3F1806F024D47 /* bindings.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = bindings.h; sourceTree = "<group>"; };+		55EAC02897847195D2F44C15 /* bevy_ios_example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = bevy_ios_example.app; sourceTree = BUILT_PRODUCTS_DIR; };+		8EE7F1E3B0303533925D7E33 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };+		96A1E5B62F48B379829E8A0D /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = System/Library/Frameworks/Metal.framework; sourceTree = SDKROOT; };+		9F1B41978FA53999AA836D0F /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };+		A39528EB2CCB182F5328223A /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };+		AF7DE91055EBD05ED77E57F9 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };+		FE71FBCAA714DB4F42459106 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };+/* End PBXFileReference section */++/* Begin PBXFrameworksBuildPhase section */+		D5A822CB2D6847BA8800BE4C /* Frameworks */ = {+			isa = PBXFrameworksBuildPhase;+			buildActionMask = 2147483647;+			files = (+				442540D056ADB9AE61A0A590 /* Security.framework in Frameworks */,+				134866208A035F8615C99114 /* Metal.framework in Frameworks */,+				2604C99FAB5A8322EDCABB9F /* UIKit.framework in Frameworks */,+				55B7188F81C3C4183F81D3AE /* libc++.tbd in Frameworks */,+			);+			runOnlyForDeploymentPostprocessing = 0;+		};+/* End PBXFrameworksBuildPhase section */++/* Begin PBXGroup section */+		321F7D6A765B38E746C35105 /* Products */ = {+			isa = PBXGroup;+			children = (+				55EAC02897847195D2F44C15 /* bevy_ios_example.app */,+			);+			name = Products;+			sourceTree = "<group>";+		};+		4F1D6F28B8A5D1927AB0ADED /* ios-src */ = {+			isa = PBXGroup;+			children = (+				160DB77300A3F1806F024D47 /* bindings.h */,+				8EE7F1E3B0303533925D7E33 /* Info.plist */,+				AF7DE91055EBD05ED77E57F9 /* main.m */,+			);+			path = "ios-src";+			sourceTree = "<group>";+		};+		8F2E3E6040EAD2EC9F3FA530 = {+			isa = PBXGroup;+			children = (+				4F1D6F28B8A5D1927AB0ADED /* ios-src */,+				EB028409C2D0655412DA6E44 /* Frameworks */,+				321F7D6A765B38E746C35105 /* Products */,+			);+			sourceTree = "<group>";+		};+		EB028409C2D0655412DA6E44 /* Frameworks */ = {+			isa = PBXGroup;+			children = (+				A39528EB2CCB182F5328223A /* libc++.tbd */,+				96A1E5B62F48B379829E8A0D /* Metal.framework */,+				9F1B41978FA53999AA836D0F /* Security.framework */,+				FE71FBCAA714DB4F42459106 /* UIKit.framework */,+			);+			name = Frameworks;+			sourceTree = "<group>";+		};+/* End PBXGroup section */++/* Begin PBXLegacyTarget section */+		D08AEBE0B1A9C9A7B8C7B33F /* cargo_ios */ = {+			isa = PBXLegacyTarget;+			buildArgumentsString = build_rust_deps.sh;+			buildConfigurationList = AA00A0CFDB11F37F2BA3FC2E /* Build configuration list for PBXLegacyTarget "cargo_ios" */;+			buildPhases = (+				FE045B3D04D57B713A565FF8 /* Sources */,+			);+			buildToolPath = /bin/sh;+			buildWorkingDirectory = .;+			dependencies = (+			);+			name = cargo_ios;+			passBuildSettingsInEnvironment = 1;+			productName = cargo_ios;+		};+/* End PBXLegacyTarget section */++/* Begin PBXNativeTarget section */+		3BDB8152E4962373181B4FE5 /* bevy_ios_example */ = {+			isa = PBXNativeTarget;+			buildConfigurationList = E714A1AEAAE517C348B5BD27 /* Build configuration list for PBXNativeTarget "bevy_ios_example" */;+			buildPhases = (+				9F13800790AD9DBC2BC0F116 /* Sources */,+				D5A822CB2D6847BA8800BE4C /* Frameworks */,+			);+			buildRules = (+			);+			dependencies = (+				19D4B9C22ADC6705B5132B4C /* PBXTargetDependency */,+			);+			name = bevy_ios_example;+			productName = bevy_ios_example;+			productReference = 55EAC02897847195D2F44C15 /* bevy_ios_example.app */;+			productType = "com.apple.product-type.application";+		};+/* End PBXNativeTarget section */++/* Begin PBXProject section */+		8DBF1E2B5C613DA41701F6D9 /* Project object */ = {+			isa = PBXProject;+			attributes = {+				LastUpgradeCheck = 1020;+			};+			buildConfigurationList = 9D43D41707A5C30B227B83F9 /* Build configuration list for PBXProject "bevy_ios_example" */;+			compatibilityVersion = "Xcode 10.0";+			developmentRegion = en;+			hasScannedForEncodings = 0;+			knownRegions = (+				en,+			);+			mainGroup = 8F2E3E6040EAD2EC9F3FA530;+			projectDirPath = "";+			projectRoot = "";+			targets = (+				3BDB8152E4962373181B4FE5 /* bevy_ios_example */,+				D08AEBE0B1A9C9A7B8C7B33F /* cargo_ios */,+			);+		};+/* End PBXProject section */++/* Begin PBXSourcesBuildPhase section */+		9F13800790AD9DBC2BC0F116 /* Sources */ = {+			isa = PBXSourcesBuildPhase;+			buildActionMask = 2147483647;+			files = (+				55892F1396056740E1AF9685 /* main.m in Sources */,+			);+			runOnlyForDeploymentPostprocessing = 0;+		};+		FE045B3D04D57B713A565FF8 /* Sources */ = {+			isa = PBXSourcesBuildPhase;+			buildActionMask = 2147483647;+			files = (+			);+			runOnlyForDeploymentPostprocessing = 0;+		};+/* End PBXSourcesBuildPhase section */++/* Begin PBXTargetDependency section */+		19D4B9C22ADC6705B5132B4C /* PBXTargetDependency */ = {+			isa = PBXTargetDependency;+			target = D08AEBE0B1A9C9A7B8C7B33F /* cargo_ios */;+			targetProxy = 26BF2C4863C966DABAB40DC8 /* PBXContainerItemProxy */;+		};+/* End PBXTargetDependency section */++/* Begin XCBuildConfiguration section */+		4AD7BC6FDD56FF18FA6DA7D7 /* Debug */ = {+			isa = XCBuildConfiguration;+			buildSettings = {+				ALWAYS_SEARCH_USER_PATHS = NO;+				CLANG_ANALYZER_NONNULL = YES;+				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";+				CLANG_CXX_LIBRARY = "libc++";+				CLANG_ENABLE_MODULES = YES;+				CLANG_ENABLE_OBJC_ARC = YES;+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;+				CLANG_WARN_BOOL_CONVERSION = YES;+				CLANG_WARN_COMMA = YES;+				CLANG_WARN_CONSTANT_CONVERSION = YES;+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;+				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;+				CLANG_WARN_EMPTY_BODY = YES;+				CLANG_WARN_ENUM_CONVERSION = YES;+				CLANG_WARN_INFINITE_RECURSION = YES;+				CLANG_WARN_INT_CONVERSION = YES;+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;+				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;+				CLANG_WARN_STRICT_PROTOTYPES = YES;+				CLANG_WARN_SUSPICIOUS_MOVE = YES;+				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;+				CLANG_WARN_UNREACHABLE_CODE = YES;+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;+				COPY_PHASE_STRIP = NO;+				DEBUG_INFORMATION_FORMAT = dwarf;+				ENABLE_STRICT_OBJC_MSGSEND = YES;+				ENABLE_TESTABILITY = YES;+				GCC_C_LANGUAGE_STANDARD = gnu11;+				GCC_DYNAMIC_NO_PIC = NO;+				GCC_NO_COMMON_BLOCKS = YES;+				GCC_OPTIMIZATION_LEVEL = 0;+				GCC_PREPROCESSOR_DEFINITIONS = (+					"$(inherited)",+					"DEBUG=1",+				);+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;+				GCC_WARN_UNDECLARED_SELECTOR = YES;+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;+				GCC_WARN_UNUSED_FUNCTION = YES;+				GCC_WARN_UNUSED_VARIABLE = YES;+				MTL_ENABLE_DEBUG_INFO = YES;+				ONLY_ACTIVE_ARCH = YES;+				PRODUCT_NAME = "$(TARGET_NAME)";+				SDKROOT = iphoneos;+				SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;+				SWIFT_OPTIMIZATION_LEVEL = "-Onone";+				SWIFT_VERSION = 5.0;+			};+			name = Debug;+		};+		5B14EC4ADC81FBF1F8CF20E9 /* Release */ = {+			isa = XCBuildConfiguration;+			buildSettings = {+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;+				CLANG_CXX_LANGUAGE_STANDARD = "c++11";+				CLANG_CXX_LIBRARY = "libc++";+				CODE_SIGN_IDENTITY = "iPhone Developer";+				DEVELOPMENT_TEAM = W32CWPPFAJ;

Whoops, yeah that wasn't suppose to be in there.

simlay

comment created time in a month

PullRequestReviewEvent

push eventsimlay/bevy

Sebastian Imlay

commit sha 913e9c5716d10033f9412b828e9857bbdacc932f

Removed development team

view details

push time in a month

startedndarilek/tts-rs

started time in a month

issue openedrust-windowing/android-ndk-rs

[cargo-apk] `cargo apk --help` breaks - thread 'main' panicked at 'called `Result::unwrap()` on an `Err`

Hi, normally try and give a better title on my issues but I'm a little at a loss as to why this is breaking so feel free to change the title.

I'm messing around with adding an example to bevy and am getting an odd stack trace that I find pretty unhelpful.

Repro steps:

$ git clone https://github.com/bevyengine/bevy
$ git checkout 028a22b12936797d3a7ca1ad5d715a98bdf27907 # for my exact commit
$ cargo install cargo-apk --git https://github.com/rust-windowing/android-ndk-rs # I'm at c7284925a318baf5b7c9ed19add7271a2bad41ab which is current master
$ cd bevy
$ RUST_BACKTRACE=full cargo apk --help

And I get:

simlay@tower-1:~/projects/bevy ((HEAD detached at 028a22b1))$ RUST_BACKTRACE=full cargo apk --help
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Io(Os { code: 2, kind: NotFound, message: "No such file or directory" })', /home/simlay/.cargo/registry/src/github.com-1ecc6299db9ec823/cargo-subcommand-0.4.5/src/subcommand.rs:89:60
stack backtrace:
   0:     0x55e81ab8db85 - backtrace::backtrace::libunwind::trace::h14d338b30b3ea0a7
                               at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86
   1:     0x55e81ab8db85 - backtrace::backtrace::trace_unsynchronized::h73ea91d74a3fd67f
                               at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66
   2:     0x55e81ab8db85 - std::sys_common::backtrace::_print_fmt::hd42948c952866e12
                               at src/libstd/sys_common/backtrace.rs:78
   3:     0x55e81ab8db85 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::ha8f928866ff7571e
                               at src/libstd/sys_common/backtrace.rs:59
   4:     0x55e81abb7b2c - core::fmt::write::he0c1e5f7426d2718
                               at src/libcore/fmt/mod.rs:1076
   5:     0x55e81ab89fb2 - std::io::Write::write_fmt::hf3afc6cfd57d0033
                               at src/libstd/io/mod.rs:1537
   6:     0x55e81ab900a0 - std::sys_common::backtrace::_print::hfc0110703f3696fd
                               at src/libstd/sys_common/backtrace.rs:62
   7:     0x55e81ab900a0 - std::sys_common::backtrace::print::h3f77c6990ddfaa22
                               at src/libstd/sys_common/backtrace.rs:49
   8:     0x55e81ab900a0 - std::panicking::default_hook::{{closure}}::heae49580a8d62d75
                               at src/libstd/panicking.rs:198
   9:     0x55e81ab8fdec - std::panicking::default_hook::hecc34e3f729e213c
                               at src/libstd/panicking.rs:217
  10:     0x55e81ab906e3 - std::panicking::rust_panic_with_hook::he82f5d0644692441
                               at src/libstd/panicking.rs:526
  11:     0x55e81ab902db - rust_begin_unwind
                               at src/libstd/panicking.rs:437
  12:     0x55e81abb64c1 - core::panicking::panic_fmt::h09c929f06bb87c98
                               at src/libcore/panicking.rs:85
  13:     0x55e81abb62e3 - core::option::expect_none_failed::h188f17af6c9f404b
                               at src/libcore/option.rs:1269
  14:     0x55e81aa839d8 - cargo_subcommand::subcommand::Subcommand::new::h04a93f6f7aa5ee89
  15:     0x55e81aa857bd - cargo_apk::main::h63589c3a63722054
  16:     0x55e81aa849e7 - std::rt::lang_start::{{closure}}::h6254fd9aa7a68139
  17:     0x55e81ab90ab3 - std::rt::lang_start_internal::{{closure}}::h5d3ea623498f5f43
                               at src/libstd/rt.rs:52
  18:     0x55e81ab90ab3 - std::panicking::try::do_call::hac65e71be769a440
                               at src/libstd/panicking.rs:348
  19:     0x55e81ab90ab3 - std::panicking::try::hd4706e264bcf6712
                               at src/libstd/panicking.rs:325
  20:     0x55e81ab90ab3 - std::panic::catch_unwind::h948a0fb4a8b3ee82
                               at src/libstd/panic.rs:394
  21:     0x55e81ab90ab3 - std::rt::lang_start_internal::h72cc068ed2d0ac53
                               at src/libstd/rt.rs:51
  22:     0x55e81aa861d2 - main
  23:     0x7f808ee71152 - __libc_start_main
  24:     0x55e81aa8118e - _start
  25:                0x0 - <unknown>
simlay@tower-1:~/projects/bevy ((HEAD detached at 028a22b1))

I'm guessing there's some edge case with the bevy workspace that breaks cargo-apk but I'd like to bring up how this could be a more helpful error and we should improve it.

created time in a month

push eventsimlay/bevy

Sebastian Imlay

commit sha 64cfa6de56eb9458a89ee7127e2ee384907bc8c0

An example of bevy using xcode

view details

push time in a month

push eventsimlay/bevy

Sebastian Imlay

commit sha deb4ec54a3213b9c13a710b80ffafe5e83954805

Updates to CI

view details

push time in a month

push eventsimlay/bevy

Sebastian Imlay

commit sha f0a0fb8d3af928927a5c9bee4e51bd8941504b8b

try 2nd time

view details

push time in a month

push eventsimlay/bevy

Sebastian Imlay

commit sha b972ba13cc3d23fcbf1beeba3cc335dee184975a

try again

view details

push time in a month

push eventsimlay/bevy

Sebastian Imlay

commit sha 7d619e1ff500b66357266a2c17201fb717bcead5

Move cron time to 1am for testing

view details

push time in a month

push eventsimlay/bevy

Sebastian Imlay

commit sha 621809cbeae5a1383ec670703d113f9cdeb77cbb

Fix icon for iOS CI badge

view details

push time in a month

Pull request review commentbevyengine/bevy

An initial xcode setup for using xcode

 Bevy is still in the _very_ early stages of development. APIs can and will chang  ## Design Goals -* **Capable**: Offer a complete 2D and 3D feature set +* **Capable**: Offer a complete 2D and 3D feature set

Bah, my vim removes spaces at the end of lines. Great for code, not as great for READMEs.

simlay

comment created time in a month

PullRequestReviewEvent

push eventsimlay/bevy

Sebastian Imlay

commit sha e40c1de9d972745769861f2e0943139627d75504

cargo fmt and device id grep addition

view details

Sebastian Imlay

commit sha 3a8e5d965a43164209f17844b0c940cefbb8c952

More CI tries and github badge

view details

push time in a month

Pull request review commentbevyengine/bevy

An initial xcode setup for using xcode

+.PHONY: xcodebuild run install boot-sim generate clean++run: install+	xcrun simctl launch --console $(DEVICE_ID) com.rust.bevy-ios-example++boot-sim:+	xcrun simctl boot $(DEVICE_ID) || true++install: xcodebuild boot-sim+	 xcrun simctl install $(DEVICE_ID) build/Build/Products/Debug-iphonesimulator/bevy_ios_example.app++DEVICE_ID=$(shell xcrun simctl list  devices 'iOS' | grep -v '^--' | grep -v '==' | head -n 1 | cut -d ' ' -f 7 | sed 's/[()]//g')

Done.

simlay

comment created time in a month

PullRequestReviewEvent

push eventsimlay/bevy

Sebastian Imlay

commit sha 24db0fc725349745a3ceb894743775beee185fec

move to cron CI, updates for PR

view details

push time in a month

Pull request review commentbevyengine/bevy

An initial xcode setup for using xcode

+use bevy::{+    prelude::*,

What I kind of wanted to do was use #[path ../game/breakout.rs] mod breakout; and use actual code from the example itself. That would require modifying the underlying examples with a punch of pubs. I'll move it to using 3d_scene or something.

simlay

comment created time in a month

PullRequestReviewEvent

pull request commentbevyengine/bevy

An initial xcode setup for using xcode

Building this now... will report back later after it runs.

FWIW I haven't been using cargo lipo lately. A universal binary is a slower dev cycle, so I have my own script that I run like:

./build-ios.sh sim
./build-ios.sh ios
./build.sh # this is a universal binary

looks like this

$ cat build-ios.sh
#!/usr/bin/env bash

set -eo pipefail

if [ "$1" == "ios" ]; then
  TARGET="aarch64-apple-ios"
  cargo build --target $TARGET
elif [ "$1" == "sim" ]; then
  TARGET="x86_64-apple-ios"
  cargo build --target $TARGET
else
  TARGET=universal
  cargo lipo
fi

cp target/$TARGET/debug/libcallisto.a ../ios/Callisto/callisto-rs/libs/libcallisto.a
#cbindgen src/lib.rs -l c >../ios/Callisto/callisto-rs/include/callisto-rs.h

Yeah, I definitely want something like that. I'll see if I can get an environment variable to pass through using xcode and using the make script. Xcode I think has a tendency to squash environment variables. Also, cargo lipo --targets aarch64-apple-ios or cargo lipo --target x86_64-apple-ios will make it so it's in the same location for both and therefor use the path in the xcode project without needing to copy it around. I'm sure cargo-lipo has a little bit of overhead but I doubt it's all that noticeable.

Unrelated to this example, I also see your commented cbindgen call you've got. Might I suggest using it as a build.rs. It'll just save you one more dependency to install on a new system. :)

simlay

comment created time in a month

PullRequestReviewEvent

Pull request review commentbevyengine/bevy

An initial xcode setup for using xcode

 wayland = ["bevy_winit/wayland"] x11 = ["bevy_winit/x11"]  [workspace]-members = ["crates/*", "crates/bevy_ecs/hecs"]+members = ["crates/*", "crates/bevy_ecs/hecs", "examples/ios"]

Because this example is a full cargo project it's gotta be added to the workspace. Cargo gets angry if it's in a sub directory of a workspace without being added too it. I find it a bit annoying but think there's probably a good reason why the cargo folks did that.

simlay

comment created time in a month

Pull request review commentbevyengine/bevy

An initial xcode setup for using xcode

 jobs:             target           key: ${{ runner.os }}-cargo-check-test-${{ matrix.toolchain }}-${{ hashFiles('**/Cargo.lock') }} +      - name: Install cargo-lipo+        run: cargo install cargo-lipo+        if: ${{ runner.os == 'macOS' }}++      - name: Add iOS targets+        run: rustup target add aarch64-apple-ios x86_64-apple-ios+        if: ${{ runner.os == 'macOS' }}++      - name: Add iOS targets

s/Add iOS targets/Build iOS app

simlay

comment created time in a month

PullRequestReviewEvent

push eventsimlay/bevy

Sebastian Imlay

commit sha d2c2a7d8be938cf37ee9cd8157d071673cdb9348

An example of bevy using xcode

view details

push time in a month

push eventsimlay/bevy

Sebastian Imlay

commit sha 27129259a56ada6932ba1ce0148e51ca4c366688

First try at github CI

view details

Sebastian Imlay

commit sha 28446bf7b9b7f0dfb699f95566d6d9163bf6ee71

Moved actions to top to quickly test CI

view details

push time in a month

pull request commentbevyengine/bevy

An initial xcode setup for using xcode

@MichaelHills or @naithar, thoughts?

simlay

comment created time in a month

push eventsimlay/bevy

Sebastian Imlay

commit sha 19ce191216ec14c4c94962392d2efd2b1ed06320

Update README, cargo fmt

view details

push time in a month

push eventsimlay/bevy

Sebastian Imlay

commit sha aaa77bded07e9a8b1082c3b7eb1e65c558f3ecc1

Updates from PR comments

view details

push time in a month

Pull request review commentbevyengine/bevy

An initial xcode setup for using xcode

 to point to the correct `.js` file. Then serve `examples/wasm` dir to browser. i.e.      $ basic-http-server examples/wasm++## ios++#### pre-req++    $ rustup target add aarch64-apple-ios x86_64-apple-ios+    $ brew install xcodegen

Yeah, it's a fair. In a lot of other projects (glutin, etc), I've just added the whole Xcode project and it's not too big.

simlay

comment created time in a month

PullRequestReviewEvent

pull request commentbevyengine/bevy

An initial xcode setup for using xcode

In general this "looks" good to me, but I unfortunately don't have an iOS device to test on or iOS dev experience. I'd like at least one review from someone else with iOS dev experience and an iOS device to test with.

Yeah. I kind of like the way that the winit project has testers and maintainers for the different platforms. Maybe @francesca64 also has some interest in a review?

simlay

comment created time in a month

Pull request review commentbevyengine/bevy

An initial xcode setup for using xcode

+.PHONY: xcodebuild run install boot-sim generate clean++run: install boot-sim+	xcrun simctl launch --console $(DEVICE_ID) com.rust.bevy-ios-example++boot-sim:+	xcrun simctl boot $(DEVICE_ID) || true++

This extra \n isn't needed.

simlay

comment created time in a month

PullRequestReviewEvent

Pull request review commentbevyengine/bevy

An initial xcode setup for using xcode

 to point to the correct `.js` file. Then serve `examples/wasm` dir to browser. i.e.      $ basic-http-server examples/wasm++## ios++#### pre-req++    $ rustup target add aarch64-apple-ios x86_64-apple-ios+    $ brew install xcodegen++#### build & run++    $ cd examples/ios+    $ make run

Need cargo install cargo-lipo here.

simlay

comment created time in a month

PullRequestReviewEvent
more