Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add gcompris educational package #37377

Merged
merged 2 commits into from Apr 1, 2018
Merged

Conversation

guibou
Copy link
Contributor

@guibou guibou commented Mar 19, 2018

Motivation for this change

Add gcompris, which is a mandatory educational package for kids.

Things done
  • [ X] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • 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 nox --run "nox-review wip"
  • [X ] Tested execution of all binary files (usually in ./result/bin/)
  • [ X] Fits CONTRIBUTING.md.

@guibou guibou changed the title Guibou add gcompris Add gcompris educational package Mar 19, 2018

cmakeFlags = "-DQML_BOX2D_LIBRARY=${qmlbox2d}/${qtbase.qtQmlPrefix}/Box2D.2.0";

nativeBuildInputs = [ cmake makeWrapper ];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add ninja when using cmake.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was not aware of the runtime detection of ninja by cmake. Thank you. Fixed.

sha256 = "1i5adxnhig849qxwi3c4v7r84q6agx1zxkd69fh4y7lcmq2qiaza";
};

enableParallelBuilding = true;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cmake builds in parallel by default.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Explicit is better than implicit no? Do you really want me to remove it?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, there are a lot of other attributes that are implicit:) I also think we can let default values to be applied.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

@nlewo
Copy link
Member

nlewo commented Mar 20, 2018

I've got this error:

 /nix/store/c90qjb1n7p7gkj4xf29rj8lx84jbm92h-gcompris-0.90/bin/gcompris-qt 
QCursor: Cannot create bitmap cursor; invalid bitmap(s)
exeCount set to:  1
QQmlApplicationEngine failed to load component
qrc:/gcompris/src/core/main.qml:22 module "QtQuick.Controls" is not installed
qrc:/gcompris/src/core/main.qml:23 module "QtQuick.Window" is not installed
qrc:/gcompris/src/core/main.qml:21 module "QtQuick" is not installed
qrc:/gcompris/src/core/main.qml:22 module "QtQuick.Controls" is not installed
qrc:/gcompris/src/core/main.qml:23 module "QtQuick.Window" is not installed
qrc:/gcompris/src/core/main.qml:21 module "QtQuick" is not installed
qrc:/gcompris/src/core/main.qml:22 module "QtQuick.Controls" is not installed
qrc:/gcompris/src/core/main.qml:23 module "QtQuick.Window" is not installed
qrc:/gcompris/src/core/main.qml:21 module "QtQuick" is not installed

Cannot mix incompatible Qt library (version 0x50901) with this library (version 0x50903)
Aborted

Any idea about what is happening?

@guibou
Copy link
Contributor Author

guibou commented Mar 20, 2018

@nlewo try to install the package in your env : nix-env -i /nix/store/c90qjb1n7p7gkj4xf29rj8lx84jbm92h-gcompris-0.90/. The nixpkgs manual told so, I don't know why...

@nlewo
Copy link
Member

nlewo commented Mar 20, 2018

@guibou ok, it works with nix-env.

This is a dependency for `gcompris`
@guibou guibou force-pushed the guibou_add_gcompris branch 2 times, most recently from 814eb92 to 0b0464f Compare March 30, 2018 15:50
@guibou
Copy link
Contributor Author

guibou commented Mar 30, 2018

I fixed the enableParallelBuilding as requested by @jtojnar and added a .desktop file entry. However this PR does not see the changes, I wonder why. I will let a few time to github to see if it refreshs itself and if not, I'll open a new PR.

@nlewo
Copy link
Member

nlewo commented Mar 30, 2018

@guibou looks like the PR has now been updated.
@GrahamcOfBorg build gcompris

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: gcompris

Partial log (click to expand)

post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/6iac8bg0yal285a9sy3993nhbifyk2k3-gcompris-0.90
shrinking /nix/store/6iac8bg0yal285a9sy3993nhbifyk2k3-gcompris-0.90/bin/.gcompris-qt-wrapped
strip is /nix/store/fzcs0fn6bb04m82frhlb78nc03ny3w55-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/6iac8bg0yal285a9sy3993nhbifyk2k3-gcompris-0.90/bin
/nix/store/6iac8bg0yal285a9sy3993nhbifyk2k3-gcompris-0.90
patching script interpreter paths in /nix/store/6iac8bg0yal285a9sy3993nhbifyk2k3-gcompris-0.90
checking for references to /tmp/nix-build-gcompris-0.90.drv-0 in /nix/store/6iac8bg0yal285a9sy3993nhbifyk2k3-gcompris-0.90...
postPatchMkspecs
postPatchMkspecs

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: gcompris

Partial log (click to expand)

   Compiling backtrace v0.3.4
   Compiling rustc_const_math v0.0.0 (file:///build/rustc-1.24.0-src/src/librustc_const_math)
   Compiling proc_macro v0.0.0 (file:///build/rustc-1.24.0-src/src/libproc_macro)
   Compiling syntax_ext v0.0.0 (file:///build/rustc-1.24.0-src/src/libsyntax_ext)
building of '/nix/store/whsyh46wr0zfkw420xcc8ffgahszsd80-rustc-1.24.0.drv' timed out after 3600 seconds
cannot build derivation '/nix/store/nfjkyviyyy9ly6hq1pj5wzy6qxmd491n-cargo-0.24.0.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/bbqaq71xj30lggbbbf6calm3g7g56c02-librsvg-2.42.2.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/z97wv2682mjz6bvgffwa3994ryav1vgs-gst-plugins-bad-1.12.3.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/npjyjxy73wzazv90r7gkhwj643v4g67b-gcompris-0.90.drv': 1 dependencies couldn't be built
�[31;1merror:�[0m build of '/nix/store/npjyjxy73wzazv90r7gkhwj643v4g67b-gcompris-0.90.drv' failed

@nlewo
Copy link
Member

nlewo commented Mar 31, 2018

@guibou could you either fix the aarch64 build or restrict the platforms to x86 only?

- uses qt 5.9 (qt 5.10 gives runtime error)
- add a desktop file
@guibou
Copy link
Contributor Author

guibou commented Mar 31, 2018

@nlewo

Done, set to [ "i686-linux" "x86_64-linux" ].

@nlewo
Copy link
Member

nlewo commented Apr 1, 2018

@GrahamcOfBorg build qmlbox2d

@GrahamcOfBorg
Copy link

No attempt on x86_64-linux (full log)

The following builds were skipped because they don't evaluate on x86_64-linux: qmlbox2d

Partial log (click to expand)

Cannot nix-instantiate `qmlbox2d' because:
�[31;1merror:�[0m attribute 'qmlbox2d' in selection path 'qmlbox2d' not found

@GrahamcOfBorg
Copy link

No attempt on aarch64-linux (full log)

The following builds were skipped because they don't evaluate on aarch64-linux: qmlbox2d

Partial log (click to expand)

Cannot nix-instantiate `qmlbox2d' because:
�[31;1merror:�[0m attribute 'qmlbox2d' in selection path 'qmlbox2d' not found

@nlewo
Copy link
Member

nlewo commented Apr 1, 2018

Thanks... from my child:)

@nlewo nlewo merged commit 4a6d637 into NixOS:master Apr 1, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants