Comments (4)
Thanks for finding this issue, and for the simple reproduction instructions! Seems like it's from this assert in here: https://github.com/ralismark/nix-appimage/blob/main/flake.nix#L130
let
# use same auto-detect that <https://github.com/NixOS/bundlers> uses
main =
if drv?meta && drv.meta?mainProgram then drv.meta.mainProgram
else (builtins.parseDrvName (builtins.unsafeDiscardStringContext drv.name)).name;
mainPath = "${drv}/bin/${main}";
in
assert pkgs.lib.assertMsg (builtins.pathExists mainPath) "main program ${mainPath} does not exist"; # <-----
mainPath;
I added it since if it didn't guess the right main program it would just silently create a broken AppImage, but I guess it doesn't work reliably in pure mode. Simple fix would be to remove the check, but I'd prefer there to still be some safeguard against that happening.
I'm not extremely familiar with nix but I can try figure something out over the next few days. Do you know any good ways of checking if a derivation has a specific file?
from nix-appimage.
Well, one workaround I can see right now is one is another derivation that depends on the first one and checks if the file exists, if Yes then create a folder in $out, if not raise an error. If that derivation is marked as a dependency to the final derivation it will run. In pure mode you cant access arbitrary nix paths, you must have that declared as some kind of dependency.
from nix-appimage.
I've pushed a fix to the develop
branch that uses builtins.readDir
instead, and it seems to work with your example:
nix bundle --bundler github:ralismark/nix-appimage?ref=develop github:lucasew/nixcfg#pkgs.wineApps.wine7zip
Can you try this and let me know if it fixes it?
from nix-appimage.
It works!!
Thank you, now it builds without --impure.
from nix-appimage.
Related Issues (15)
- Fails for applications that use user namespaces HOT 5
- Type error when running README example HOT 3
- Replace writeReferencesToFile with writeClosure
- Support for aarch64/raspberry-pi HOT 3
- error: path '/nix/store/...-neovim-0.10.0/bin/nvim' is not in the Nix store HOT 4
- Update appimage runtime to the static runtime to remove libfuse2 dependency HOT 8
- Fully Conform to the AppImage format by including `.desktop` & `icons`
- GLIBC version issue HOT 1
- Bundling local derivations HOT 1
- Create a script that allows specifying the binary to package HOT 4
- Inclusion into NixOS/bundlers HOT 1
- Does this solve the issues with OpenGL? HOT 5
- Not an issues HOT 1
- Fail to build python script from nixpkgs as appimage HOT 2
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 nix-appimage.