Skip to content

Package request: shadps4 #339617

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

Closed
ghost opened this issue Sep 4, 2024 · 3 comments · Fixed by #340215
Closed

Package request: shadps4 #339617

ghost opened this issue Sep 4, 2024 · 3 comments · Fixed by #340215
Labels
0.kind: packaging request Request for a new package to be added

Comments

@ghost
Copy link

ghost commented Sep 4, 2024

Project description

shadPS4 is a cross platform PlayStation 4 emulator.

Metadata

@ghost ghost added the 0.kind: packaging request Request for a new package to be added label Sep 4, 2024
@urioTV
Copy link
Contributor

urioTV commented Sep 6, 2024

Well I'm trying to make it build but I have some problems.

I create devShell with those packages:

devShells.${system} = {
        default = pkgs.mkShell {
          buildInputs = [
            pkgs.git
            pkgs.cmake
            pkgs.gnumake
            pkgs.alsaLib
            pkgs.pulseaudio
            pkgs.openal
            pkgs.zlib
            pkgs.libedit
            pkgs.vulkan-loader
            # pkgs.systemd.libudev
            pkgs.libevdev
            pkgs.SDL2
            pkgs.jack2
            pkgs.sndio
            pkgs.xorg.libXext
            pkgs.xorg.libX11
            pkgs.spirv-tools
            pkgs.vulkan-utility-libraries
            pkgs.mesa
            pkgs.vulkan-validation-layers
            pkgs.ffmpeg_7-full
          ];

          # Optional shell hooks or prebuild steps
          shellHook = ''
            echo "Entering development shell for shadPS4 emulator"
          '';
        };
      };

However it builds to this point:

 88%] Building CXX object CMakeFiles/shadps4.dir/src/core/linker.cpp.o
In file included from /home/urio/Projects/shadps4-nix/shadPS4/src/common/assert.h:7,
                 from /home/urio/Projects/shadps4-nix/shadPS4/src/core/libraries/avplayer/avplayer_common.h:8,
                 from /home/urio/Projects/shadps4-nix/shadPS4/src/core/libraries/avplayer/avplayer_source.h:7,
                 from /home/urio/Projects/shadps4-nix/shadPS4/src/core/libraries/avplayer/avplayer_source.cpp:4:
/home/urio/Projects/shadps4-nix/shadPS4/src/core/libraries/avplayer/avplayer_source.cpp: In member function ‘Libraries::AvPlayer::AvPlayerSource::AVFramePtr Libraries::AvPlayer::AvPlayerSource::ConvertVideoFrame(const AVFrame&)’:
/home/urio/Projects/shadps4-nix/shadPS4/externals/ffmpeg-core/include/libavutil/error.h:122:58: error: taking address of temporary array
  122 |     av_make_error_string((char[AV_ERROR_MAX_STRING_SIZE]){0}, AV_ERROR_MAX_STRING_SIZE, errnum)
      |                                                          ^~~
/home/urio/Projects/shadps4-nix/shadPS4/src/common/logging/log.h:66:32: note: in definition of macro ‘LOG_ERROR’
   66 |                                __VA_ARGS__)
      |                                ^~~~~~~~~~~
/home/urio/Projects/shadps4-nix/shadPS4/src/core/libraries/avplayer/avplayer_source.cpp:518:66: note: in expansion of macro ‘av_err2str’
  518 |         LOG_ERROR(Lib_AvPlayer, "Could not convert to NV12: {}", av_err2str(res));
      |                                                                  ^~~~~~~~~~
/home/urio/Projects/shadps4-nix/shadPS4/src/core/libraries/avplayer/avplayer_source.cpp: In member function ‘void Libraries::AvPlayer::AvPlayerSource::VideoDecoderThread(std::stop_token)’:
/home/urio/Projects/shadps4-nix/shadPS4/externals/ffmpeg-core/include/libavutil/error.h:122:58: error: taking address of temporary array
  122 |     av_make_error_string((char[AV_ERROR_MAX_STRING_SIZE]){0}, AV_ERROR_MAX_STRING_SIZE, errnum)
      |                                                          ^~~
/home/urio/Projects/shadps4-nix/shadPS4/src/common/logging/log.h:66:32: note: in definition of macro ‘LOG_ERROR’
   66 |                                __VA_ARGS__)
      |                                ^~~~~~~~~~~
/home/urio/Projects/shadps4-nix/shadPS4/src/core/libraries/avplayer/avplayer_source.cpp:604:23: note: in expansion of macro ‘av_err2str’
  604 |                       av_err2str(res));
      |                       ^~~~~~~~~~
/home/urio/Projects/shadps4-nix/shadPS4/externals/ffmpeg-core/include/libavutil/error.h:122:58: error: taking address of temporary array
  122 |     av_make_error_string((char[AV_ERROR_MAX_STRING_SIZE]){0}, AV_ERROR_MAX_STRING_SIZE, errnum)
      |                                                          ^~~
/home/urio/Projects/shadps4-nix/shadPS4/src/common/logging/log.h:66:32: note: in definition of macro ‘LOG_ERROR’
   66 |                                __VA_ARGS__)
      |                                ^~~~~~~~~~~
/home/urio/Projects/shadps4-nix/shadPS4/src/core/libraries/avplayer/avplayer_source.cpp:623:31: note: in expansion of macro ‘av_err2str’
  623 |                               av_err2str(res));
      |                               ^~~~~~~~~~
/home/urio/Projects/shadps4-nix/shadPS4/src/core/libraries/avplayer/avplayer_source.cpp: In member function ‘Libraries::AvPlayer::AvPlayerSource::AVFramePtr Libraries::AvPlayer::AvPlayerSource::ConvertAudioFrame(const AVFrame&)’:
/home/urio/Projects/shadps4-nix/shadPS4/externals/ffmpeg-core/include/libavutil/error.h:122:58: error: taking address of temporary array
  122 |     av_make_error_string((char[AV_ERROR_MAX_STRING_SIZE]){0}, AV_ERROR_MAX_STRING_SIZE, errnum)
      |                                                          ^~~
/home/urio/Projects/shadps4-nix/shadPS4/src/common/logging/log.h:66:32: note: in definition of macro ‘LOG_ERROR’
   66 |                                __VA_ARGS__)
      |                                ^~~~~~~~~~~
/home/urio/Projects/shadps4-nix/shadPS4/src/core/libraries/avplayer/avplayer_source.cpp:667:66: note: in expansion of macro ‘av_err2str’
  667 |         LOG_ERROR(Lib_AvPlayer, "Could not convert to NV12: {}", av_err2str(res));
      |                                                                  ^~~~~~~~~~
/home/urio/Projects/shadps4-nix/shadPS4/src/core/libraries/avplayer/avplayer_source.cpp: In member function ‘void Libraries::AvPlayer::AvPlayerSource::AudioDecoderThread(std::stop_token)’:
/home/urio/Projects/shadps4-nix/shadPS4/externals/ffmpeg-core/include/libavutil/error.h:122:58: error: taking address of temporary array
  122 |     av_make_error_string((char[AV_ERROR_MAX_STRING_SIZE]){0}, AV_ERROR_MAX_STRING_SIZE, errnum)
      |                                                          ^~~
/home/urio/Projects/shadps4-nix/shadPS4/src/common/logging/log.h:66:32: note: in definition of macro ‘LOG_ERROR’
   66 |                                __VA_ARGS__)
      |                                ^~~~~~~~~~~
/home/urio/Projects/shadps4-nix/shadPS4/src/core/libraries/avplayer/avplayer_source.cpp:723:23: note: in expansion of macro ‘av_err2str’
  723 |                       av_err2str(res));
      |                       ^~~~~~~~~~
/home/urio/Projects/shadps4-nix/shadPS4/externals/ffmpeg-core/include/libavutil/error.h:122:58: error: taking address of temporary array
  122 |     av_make_error_string((char[AV_ERROR_MAX_STRING_SIZE]){0}, AV_ERROR_MAX_STRING_SIZE, errnum)
      |                                                          ^~~
/home/urio/Projects/shadps4-nix/shadPS4/src/common/logging/log.h:66:32: note: in definition of macro ‘LOG_ERROR’
   66 |                                __VA_ARGS__)
      |                                ^~~~~~~~~~~
/home/urio/Projects/shadps4-nix/shadPS4/src/core/libraries/avplayer/avplayer_source.cpp:744:31: note: in expansion of macro ‘av_err2str’
  744 |                               av_err2str(res));
      |                               ^~~~~~~~~~

From what I understand there is some problem with ffmpeg. On shadPS4 github I've that someone on old Linux Mint had similar problem.

Right now I'm stuck. If someone knows how to fix it It would be helpful. If it's the same case as on Linux Mint it's something with dependencies.

@ryand56
Copy link
Member

ryand56 commented Sep 6, 2024

I've had issues when packaging this where the config directory had issues being created.

@HermitsA
Copy link

HermitsA commented Sep 13, 2024

I also attempted this, but failed due to nix not recursively cloning the repo and submodules.

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

Successfully merging a pull request may close this issue.

3 participants