Giter Club home page Giter Club logo

psp-pacman's Issues

Wrong strip binary is used by makepkg

Here an example of the tidy step when building the angelscript package:

==> Tidying install...
  -> Purging unwanted files...
  -> Stripping unneeded symbols from binaries and libraries...
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_atomic.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_builder.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_bytecode.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_callfunc.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_callfunc_x86.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_callfunc_x64_gcc.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_callfunc_x64_msvc.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_callfunc_x64_mingw.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_compiler.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_configgroup.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_context.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_datatype.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_gc.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_generic.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_globalproperty.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_memory.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_module.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_objecttype.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_outputbuffer.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_parser.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_restore.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_scriptcode.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_scriptengine.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_scriptfunction.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_scriptnode.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_scriptobject.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_string.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_string_util.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_thread.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_tokenizer.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_typeinfo.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_variablescope.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_callfunc_mips.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_atomic.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_builder.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_bytecode.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_callfunc.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_callfunc_x86.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_callfunc_x64_gcc.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_callfunc_x64_msvc.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_callfunc_x64_mingw.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_compiler.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_configgroup.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_context.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_datatype.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_gc.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_generic.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_globalproperty.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_memory.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_module.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_objecttype.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_outputbuffer.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_parser.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_restore.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_scriptcode.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_scriptengine.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_scriptfunction.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_scriptnode.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_scriptobject.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_string.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_string_util.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_thread.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_tokenizer.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_typeinfo.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_variablescope.cpp.obj)'
strip: Unable to recognise the format of the input file `./psp/lib/libAngelscript.a(as_callfunc_mips.cpp.obj)'

It should be using psp-strip, but it instead uses the strip binary in the user's path. This is meant for x86_64 and doesn't work.

Pacman uses bsdtar

This is not really a problem, but we do need to make sure we install this with all the prepare scripts and inside the docker container. I put up this issue to not forget it.

Set up a pacman repository

I think this would be quite a challenge to set this up right, but I think it's needed.

I would propose we do the following:

  • Build and upload the psptoolchain docker container to the dockerhub automatically with each commit to the master branch of the psptoolchain repo
  • Convert psplibraries to just containing directories with PSPBUILDs
  • Build all packages in the psplibraries repo automatically using the psptoolchain docker container
  • Add to build packages to an arch repository we host, automatically, somehow

For this we need webhosting, a domain name and an SSL certificate, though, which is not free.

Let me know if you'd do any of this in a different way, there might be easier solutions.

I found some documentation on how setting up an Arch repository works. Since it took a while to find, here is the link:
https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#Custom_local_repository

Pacman needs root on systems which use the existing pacman

I've discussed this with @carstene1ns yesterday. Since our patches don't apply to the system's pacman, root is required for software installation when using it. We have decided that we should build our version of pacman also on these systems, to lower the amount of work we need to do and to make sure it works for everyone. I will be working on this.

warning: no 'XferCommand' configured

When running the script build-all.sh from pspdev/pspdev, I get an error when it tries to run pacman -Sy. These are the last three lines from the log (I'm going from memory here, if I have the time to rerun the whole script I'll update this):

...
warning: no 'XferCommand' configured
:: Synchronizing package databases...
error: no usable package repositories configured.

To solve this problem, I had to uncomment one of the XferCommand lines from the pacman.conf file (so either line 19 or line 20).
I'm creating an issue instead of a PR because this problem happens on my laptop but not on my desktop. Both systems run Fedora 37 (x86_64).

psp-pacman does not build on MacOS

It fails with the following error:

 Run-time dependency libarchive found: NO (tried framework and cmake)

meson.build:85:0: ERROR: Dependency lookup for libarchive with method 'pkgconfig' failed: Could not generate cargs for libarchive:
Package iconv was not found in the pkg-config search path.
Perhaps you should add the directory containing `iconv.pc'
to the PKG_CONFIG_PATH environment variable
Package 'iconv', required by 'libarchive', not found

This seems to be an issue with the libarchive package provided by Brew. There is an issue up on their GitHub repo here: Homebrew/homebrew-core#120526

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.