Buildozer failing with pip dependencies, 'no valid dependency graph' - python-3.x

I'm attempting to compile a kivy app for android using the python3crystax recipe. When building only with recipes listed in python-for-android, it compiles fine, but whenever I attempt to add a pip dependency, it fails with this error:
[ERROR]: Didn't find any valid dependency graphs.
[ERROR]: This means that some of your requirements pull in conflicting dependencies.
[ERROR]: Exiting.
When using the python2 recipe, however, it compiles fine. Does python3crystax support installing dependencies over pip?

It sounds like your dependency does have a recipe, but that the recipe isn't marked as python3crystax compatible. Give more information about what you're attempting if you want a more specific answer.

I was able to workaround this issue by changing the python-for-android branch that buildozer uses from stable to master in my buildozer.spec file. This gave me access to the new python3 recipe and that seems to be working fine.

Related

cabal dependency build fails

hello I am new to haskell/cabal so this might be a stupid question but i couldn't find it anywhere.
When I try to build a cabal package it correctly list the dependencies.
cabal build main
In order, the following will be built (use -v for more details):
- dependency-1.0
cabal: Failed to build dependency-1.0
so then I do
cabal build dependency
and it build fine listing the correct version. I go back to cabal build main and it still fails. And what is more weird when I go to build the dependency again it says build required
There are 2 questions. Why would it fail in the main if it build by itself just fine. And also even if I run cabal build dependency over and over it always says build required, like it isn't caching anything? Is this normal?

Building maciejhirsz/logos on Rust nightly-2020-06-13

I have a project using Rust nightly with logos 0.11.4 as a dependency. When I run cargo build, I get
error: failed to download `logos v0.11.4`
Caused by:
unable to get packages from source
Caused by:
failed to parse manifest at `C:\Users\jonat\.cargo\registry\src\github.com-1ecc6299db9ec823\logos-0.11.4\Cargo.toml`
Caused by:
readme file with name '../README.md' was not found
It turns out that logos has a nested package called logos-derive, and the Cargo.toml for this project has the line readme = "../README.md". In other words, it's pointing to the README from the parent directory. However, the Cargo source registry places the logos-0-11.4 and logos-derive-0.11.5 directories at the same level, rather than nesting them, which explains why the file is not found. I can actually get it to build by creating an empty .cargo/registry/src/github.com-1ecc6299db9ec823/README.md. But that's obviously not a satisfactory long-term fix.
Note that I was able to build just fine two days ago (2020-06-11), but despite there not being any changes to logos or logos-derive in that time, I'm now unable to build - even after checking out my project from that time and downgrading my toolchain to nightly-2020-06-11. I'm not sure how that's possible or what in my build process has changed.
Am I doing something wrong, is logos-derive doing something wrong, or has Cargo changed something recently? Anyone have a proper solution?
The issue seems to have mysteriously disappeared again in nightly-2020-06-13. I don't know what the cause was, but I guess this is resolved.

Stack: 'hdevtools is a library dependency, but the package provides no library needed since my-app is a build target.'

I was trying to add hdevtools to my stack project, so I ran stack build hdevtools. The install seemed to work successfully, and my text editor stopped reporting imported libraries installed via stack (like aeson and tasty) as missing.
However, things went wrong when I added this line to the dependencies section of my package.yaml file:
- hdevtools >= 0.1 && < 1
And then tried to run stack build again. I received the following error output:
Error: While constructing the build plan, the following exceptions were encountered:
In the dependencies for my-app-name-0.1.0.0:
hdevtools is a library dependency, but the package provides no library
needed since my-app-name is a build target.
Some different approaches to resolving this:
* Consider trying 'stack solver', which uses the cabal-install solver to attempt
to find some working build configuration. This can be convenient when dealing
with many complicated constraint errors, but results may be unpredictable.
Plan construction failed.
I tried running stack solver, but that threw the exception documented here.
How can I declare hdevtools as a dependency of my project?
#alexis-king recommends using stack build --copy-compiler-tool hdevtools in this guide, in the section titled Setting up editor integration.
This works for the current project, and other projects using the same GHC version, but you will need to run it again when you upgrade to a new GHC version.
More context from King's guide:
As mentioned above, stack install is not what you want. Tools like ghc-mod, hlint, hoogle, weeder, and intero work best when installed as part of the sandbox, not globally, since that ensures they will match the current GHC version your project is using.
How can I declare hdevtools as a dependency of my project?
hdevtool is an executable and cabal doesn't have a concept of development dependencies (like in other package managers like npm etc). So, all you can do is install hdevtools globally and make it work.

Making a Recipe for Node package Noble

I'm trying to make a recipe for Noble.
It includes this optional dependency xpc-connection.
I'm using devtool to make the recipe.
I know that recipetool recoginizes that xpc-connection does not support Linux and ignores it. I found a bug in oe-core related to that. Patch here.
However, when I build the recipe, I get this error:
DEBUG: Executing shell function do_install | npm ERR!
...workspace/sources/noble/node_modules/xpc-connection is not a child of
/home/sarah/l/l-alpha/build-l/work/cortexa7hf-neon-vfpv4-oe-linux-
gnueabi/noble/1.9.1+git999-r0/image/usr/lib
I can verify that xpc-connection is not in the SRC_URI for the recipe.
If I try to remove xpc-connection from the node_modules folder, it reappears on build. How can I prevent it from performing this check for the installation of xpc-connection? It shouldn't be a part of the image packages, because it doesn't support Linux.
I solved this by changing the version of node specified by the openembedded layer here - https://github.com/openembedded/meta-openembedded/blob/master/meta-oe/recipes-devtools/nodejs/nodejs_8.9.4.bb.
I changed the file name to nodejs_8.1.0.bb to revert the version. I also modified the checksum in that file for the right node package. I have other issues in the Noble recipe, but this one is solved for now.

How to get Cabal Sandbox to install correctly linked HTML documentation?

I created a cabal library inside a sandbox with the following commands:
cabal sandbox init
cabal init
I added the line documentation: True to cabal.config to make sure that documentation is generated, and I added a dependency to the vector package in mylib.cabal. Then I ran:
cabal install --only-dependencies
I got the following output:
/scm/hs-proj/.cabal-sandbox
Configuring primitive-0.6...
Building primitive-0.6...
Installed primitive-0.6
Configuring vector-0.10.12.3...
Building vector-0.10.12.3...
Installed vector-0.10.12.3
Updating documentation index
/scm/hs-proj/.cabal-sandbox/share/doc/x86_64-osx-ghc-7.10.1/index.html
So far so good.
When I opened the index file it contained links to a lot of packages, like:
file:///scm/hs-proj/.cabal-sandbox/share/doc/x86_64-osx-ghc-7.10.1/Data-List.html
file:///scm/hs-proj/.cabal-sandbox/share/doc/x86_64-osx-ghc-7.10.1/Data-Vector.html
But of these links pointed to any real files. Note that this is the case for the extra dependencies like vector and also for built-in packages list Data.List.
So I think I've installed the documentation incorrectly. Can someone point out how I've installed the documentation incorrectly and how to do it correctly?
It's not your fault, this is a known bug in haddock.
It only affects ghc 7.10, so a workaround could be to use ghc 7.8.4 until this is fixed.

Resources