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

Package request: argos3 #391494

Open
3 tasks done
Iorvethe opened this issue Mar 20, 2025 · 1 comment
Open
3 tasks done

Package request: argos3 #391494

Iorvethe opened this issue Mar 20, 2025 · 1 comment
Labels
0.kind: enhancement Add something new 0.kind: packaging request Request for a new package to be added 9.needs: package (new) This needs a new package to be added

Comments

@Iorvethe
Copy link
Contributor

Describe the package

A parallel, multi-engine simulator for heterogeneous swarm robotics

Upstream homepage

https://www.argos-sim.info/

Source URL

https://github.com/ilpincy/argos3

License

MIT

Platforms

x86_64-linux

Additional context

No response

I assert that this issue is relevant for Nixpkgs

For this package's maintainers:

Please tag this issue in your pull request description. (i.e. Resolves #ISSUE.)


Add a 👍 reaction to issues you find important.

@Iorvethe Iorvethe added 0.kind: enhancement Add something new 0.kind: packaging request Request for a new package to be added 9.needs: package (new) This needs a new package to be added labels Mar 20, 2025
@Iorvethe
Copy link
Contributor Author

Iorvethe commented Mar 20, 2025

I have tried to create a derivation for it myself, but I lack the sufficient skills and have hit a few issues I am unsure how to resolve. Here’s the derivation I ended up with:

{
stdenv
, lib
, fetchFromGitHub
, cmake
, libsForQt5
# , freeimage
, freeglut
, libGLU
, lua5_3_compat
, doxygen
, graphviz
, asciidoc
}:

stdenv.mkDerivation rec {
  pname = "argos3";
  version = "3.0.0-beta59";

  src = fetchFromGitHub {
    owner = "ilpincy";
    repo = "argos3";
    rev = "${version}";
    hash = "sha256-eRT9689nONoOfgpqSBecgKeEVVHjCND6rvdbvpby4lI=";
  };

  nativeBuildInputs = [
    cmake
    libsForQt5.wrapQtAppsHook
  ];

  buildInputs = [
    libsForQt5.qtbase
    # freeimage
    freeglut
    libGLU
    lua5_3_compat
    doxygen
    graphviz
    asciidoc
  ];

  cmakeFlags = [
    (lib.strings.cmakeFeature "CMAKE_SOURCE_DIR" "${src}/src")
    # I think these should be used somehow, from their doc?
    # (lib.strings.cmakeBool "ARGOS_INSTALL_LDSOCONF" false)
    # (lib.strings.cmakeBool "ARGOS_BUILD_NATIVE" true)
  ];

  meta = with lib; {
    description = "A parallel, multi-engine simulator for heterogeneous swarm robotics";
    homepage    = "https://github.com/ilpincy/argos3";
    license     = licenses.mit;
    platforms = platforms.unix;
    maintainers = [ ];
  };
}

The current roadblock is with how to specify the source dir to CMake. The repo has src and doc sub-directories, both of which are needed for the compilation. The issue is that there is no CMakeLists.txt in the root, only in src. I tried setting the derivation’s src to point to the repo’s src, but then there is an error with doc being not found.

This seems like a trivial issue to resolve, but, as I lack the skills, I can’t get my head around it. I hope that someone more experienced may enlighten me (or be able to use that unfinished derivation).

Another issue is with freeimage, which is marked as having security issues and I don’t know how to work around this, whether there is something specific to do here or it’s only resolved at evaluation time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.kind: enhancement Add something new 0.kind: packaging request Request for a new package to be added 9.needs: package (new) This needs a new package to be added
Projects
None yet
Development

No branches or pull requests

1 participant