Comments (15)
Comment by rfdickerson
Friday Jan 08, 2016 at 20:43 GMT
We have a patched code that @baileyc has produced. It is good enough to get the functions we call in libdispatch to work for now. However, it doesn't support all flags in libdispatch.
from kitura.
Comment by i-partridge
Friday Jan 08, 2016 at 20:45 GMT
Have you identified any unsupported flags which Phoenix might need in the short/medium term?
from kitura.
Comment by rfdickerson
Friday Jan 08, 2016 at 20:52 GMT
It's my understanding that the sys module is the only module that will make calls to libdispatch, and everything in sys module seems to build fine so far. So as long as new calls aren't introduced, the Linux port should work fine. I'm not sure about medium term outlook, however.
We do need to have a discussion eventually about concurrency models and potentially using thread pools, but that might not be introduced for a few weeks.
from kitura.
Comment by ricardo-olivieri
Monday Jan 18, 2016 at 16:08 GMT
In order to move to the official libdispatch version, the pull request from Chris must be accepted.
from kitura.
Comment by babt
Monday Jan 18, 2016 at 17:07 GMT
There doesn't seem to be a PR from Chris that I can see.
from kitura.
Comment by ricardo-olivieri
Monday Jan 18, 2016 at 18:27 GMT
@baileyc Hi Chris, we were under the assumption that there was a forked version (opaque-pointer) of the libdispatch library that you were planning on submitting to the official libdispatch repo. Is this still the plan?
from kitura.
Comment by babt
Monday Jan 18, 2016 at 21:00 GMT
You can use the Apple "official" version very easily. Clone it and then edit dispatch/queue.h... Do a search for DISPATCH_QUEUE_CONCURRENT. Add the following snippet right after the definition of the struct.
DISPATCH_INLINE DISPATCH_ALWAYS_INLINE DISPATCH_CONST DISPATCH_NOTHROW
dispatch_queue_attr_t
get_dispatch_queue_concurrent(void) {
return DISPATCH_QUEUE_CONCURRENT;
}
Then make and make install just like you'd do with the "unofficial" version. The chances of Apple accepting a PR with this patch are unlikely. They're more likely to look at solution that would obviate the need for the function and just have Swift recognize the #DEFINE properly. The change above is simple and makes it possible to take advantage of fixes, changes, etc that are going into the main repository and keeps you on the main track so that when they finally figure it out, you don't have to worry about incompatibilities.
from kitura.
Comment by ricardo-olivieri
Monday Jan 18, 2016 at 21:34 GMT
@babt - Thanks for the info. One question and comment: 1) Do you know if the change you described above is the same that Chris implemented in his branch? 2) We are working on the continuous integration build using Travis CI and would prefer not to have to edit source code. Ideally, we want to pull down the repos and build them as they are.
from kitura.
Comment by groved
Monday Jan 18, 2016 at 22:32 GMT
Chris is out on vacation for a week or two. Yes, the change in his branch is similar to what Bill has in his snippet. FWIW, there hasn't been too much activity in libdispatch in the last week that is relevant. We're basically done with the functional port to Linux and the next steps are around build system and plumbing to get libdispatch integration with Swift really working upstream. I think you are probably ok sticking with Chris's branch of libdispatch for at least the next few days.
from kitura.
Comment by babt
Monday Jan 18, 2016 at 22:55 GMT
My patch is basically the same thing just implemented in a simpler less intrusive manner. 😃
Regards,
Bill Abt
[email protected]
Sent from my iPhone 6s
On Jan 18, 2016, at 4:39 PM, Ricardo N. Olivieri [email protected] wrote:
@babt - Thanks for the info. One question and comment: 1) Do you know if the change you described above is the same that Chris implemented in his branch? 2) We are working on the continuous integration build using Travis CI and would prefer not to have to edit source code. Ideally, we want to pull down the repos and build them as they are.
—
Reply to this email directly or view it on GitHub Enterprise.
from kitura.
Comment by pushkar-nk
Tuesday Jan 19, 2016 at 09:51 GMT
Chris has proposed a "Dispatch overlay" on Linux where the DISPATCH_QUEUE_CONCURRENT (like a few other macros from dispatch.h) is made available via libSwiftDispatch. We are still working on getting this accepted.
Here is Chris's pull request - apple/swift#974
from kitura.
This should become unblocked once this PR gets accepted: apple/swift-corelibs-libdispatch#49
from kitura.
Now that the PR is accepted, we should confirm that the official libdispatch library works with Kitura
from kitura.
I am moving this to blocked again as I am unable to figure out how to get libdispatch properly installed and configured. I configured libdispatch with ./configure --with-swift-toolchain=<path>
and then made it but am not sure what to do next. I am waiting on a response from @dgrove-oss or anyone else on the runtime team on how to do this.
from kitura.
Updated tags to use the new version of sys, confirm that kitura builds in osx and linux with official libdispatch
from kitura.
Related Issues (20)
- Update CLA HOT 1
- NET::ERR_CERT_COMMON_NAME_INVALID
- Exported OpenApi uses unexpected type for date. HOT 1
- XCode 12 Build broken due to static package dependency HOT 10
- [Question]Is it possible set Kitura-NIO as default in Xcode 11.6 HOT 2
- [Question]It is possible set custom working dir(without using Xcode)?
- [Issue]Swift-Kuery-SQLite (Release 2.0.200) in Xcode HOT 4
- Kitura cannot build and run project HOT 1
- Is it possible use response to render html string? HOT 3
- Document SwaggerDocument
- Kitura.dev should point to valid Slack group HOT 3
- Some tests need investigation
- BUG DETECTED: wait() error when using SwiftyRequest, CouchDB and NIO
- upgrade from 0.1.0 to 0.2.1, kitura command totally mess up HOT 3
- No support for Get with ID and Query params
- align dependencies URLs HOT 1
- Investigate alternative CI systems
- Thank you dannys42! HOT 1
- Odd behavior when 2 simultaneous POST requests happen HOT 1
- Slack link on web page is broken HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kitura.