-
Notifications
You must be signed in to change notification settings - Fork 126
Add psp-pacman #121
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 psp-pacman #121
Conversation
|
This could be a solution for pspdev/psplibraries#50 and can help in resolving pspdev/psplibraries#51. |
|
pspdev/pspdev-docker#10 is related to this PR. |
|
Somehow I hadn't pushed the change which fixes the paths to the patches yet. Now I've tested it again and it installs like expected |
|
it also installs bash completion files, but since the packages are renamed that may not be useful right now. |
|
I've found another problem with the installation. If it is already installed, the install command will fail. This is because it can't overwrite the autocompletion files. |
|
I've converted this PR to a draft for now since it has the following problems still unfixed:
I will be able to work on this on the weekend, I can't really give any garantees befofe then. My plan is to see if I can modify the meson configuration files to hopefully solve these issues and try to see if upstream would accept those changes. Help or feedback on this approach is welcome. |
|
There are some problems with the current approach unfortunately:
For macos we can provide an own binary without much trouble, under windows we can utilize msys2, as it is maintained with a series of patches already. There is no need to patch pacman too much, a set of wrapper scripts can do all we need. For example #!/bin/bash
export PACMAN=psp-pacman
export MAKEPKG_CONF=$(psp-config --pspdev-path)/pacman/makepkg.conf
makepkg -p PSPBUILD "$@"And #!/bin/bash
pacman --config $(psp-config --pspdev-path)/pacman/pacman.conf "$@" |
|
As per our Discord conversation, I'll try to make the following changes in the coming days:
Besides these things, the following will also need to be done, but either can't be done by me or should be done after the previously mentioned things:
There is probably more, but these seem like most of the important bits. |
|
Most of the work which was required has been done. It can be found in this repository: https://github.com/sharkwouter/psp-pacman Some notes on how it works:
Could you set up an empty repo called |
|
Btw, #114 will need to be merged before this PR. |
|
I've now tested and fixed https://github.com/sharkwouter/psp-pacman for Arch. It should now also work on other systems which already have pacman installed. One issue on Arch, which I'm not seeing on Debian, is that stripping fails. |
|
I have now removed almost all of the logic from this PR. It now instead uses the psp-pacman repo. Once pspdev/psp-pacman#1 has been merged, it should work. |
|
The README has been updated with the dependencies for this. We might want to wait with merging this until this issue with installing |
|
Applied this in https://github.com/pspdev/pspdev. |
This reverts commit c8c0c9c.
This makes stripping work and removes some variables which weren't needed.
This PR adds a step to install the package manager psp-pacman for managing PSP libraries install in your $PSPDEV/psp directory. There is a patch and custom configuration in
patchesin this PR, but the changes are extremely minor. This is basically upstream pacman with some different build flags.Differences from what you might be used to with pacman:
$PSPDEV/binwith the use of wrappers calledpsp-pacmanandpsp-makepkg. The rest of the binaries is installed in$PSPDEV/share/pacman/bin. This directory is added to the path whilepsp-pacmanandpsp-makepkgare being used, but it's never added to the user's shell.PKGBUILD,PSPBUILDis expected.-In packages and PSPBUILD files,
$PSPDEV/is/. This means psp-pacman can't do anything to the actual system files, so no harmful /broken packages will destroy your system.$PSPDEV/etc/bash-completioninstead of system wide. Users can copy them if they wish to use them, but they won't work without renaming them anyway.I didn't update the README.md yet to include dependencies, since there is a change to that which will be merged soon which would cause a conflict. To clarify, this does add the following dependencies for Ubuntu/Debian:
Building without
libcurl4-openssl-devis possible, but would require the configuration file to be changed to usewgetinstead. This package is only 250 kb, though, so that's probably not worth it.Where should I document how to use this? I now have one example
PSPBUILDto test with set up in another repo: https://github.com/sharkwouter/psp-packagesI have not tested setting up a repository yet, we should set one up in the future.
PS, please squish this when merged. The commit history is a mess because of experimentation.
Edit: Updated dependencies and list of changes to reflect current state of psp-pacman.