Giter Site home page Giter Site logo

phar.io's People

Contributors

andreasschroth avatar arhell avatar dereuromark avatar dzentota avatar e-moe avatar ericsizemore avatar jpuck avatar jrfnl avatar keradus avatar ktomk avatar maglnet avatar michaelbiberich avatar mihaeu avatar mikaelcom avatar muglug avatar mwender avatar ngabor84 avatar nielsdeblaauw avatar ondrejmirtes avatar prudloff-insite avatar qwp6t avatar ravage84 avatar sebastianbergmann avatar sebastianfeldmann avatar sebastianheuer avatar theofidry avatar theseer avatar thomasweinert avatar tysonandre avatar williamdes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

phar.io's Issues

PHIVE not supported by PHIVE

We need to install a copy of PHIVE because it is not natively available to GitHub Actions (see actions/runner-images#199).

We need to be able to run PHIVE to switch to a different version of, say, PHPUnit, to be able to run tests against all versions of PHP (from 7.1 through 8.0).

It would seem logical to add PHIVE itself to the phive.xml file, but it seems this is not possible, so we must manually download the .phar and dump it in some tools directory. We will later find we have an obsolete version and need to manually update it.

Provide List of Available Packages (in full)

I like Phive, its really easy to use and keeps things neat...but it isn't easy to find out what packages are available for use with Phive.

Sure there is the list on the homepage: https://phar.io/

But this is incomplete, as it states, "many more". I think from a user onboarding standpoint it would be useful to have another button next to "Yours missing?" that says something like, "View Available Packages" or "View Package Repository" that would provide a full list of the available packages.

After searching a bit I stumbled across this listing, which I'm guessing is the complete list?
https://github.com/phar-io/phar.io/blob/master/data/repositories.xml

I think a tool like Phive can make the onboarding of new PHP developers much simpler but that right now the lack of a package listing hampers this, fwiw.

Thanks for your hard work!

Feature idea: repositories.xml - support not only GH releases, but also shim packages

Example tool: https://github.com/FriendsOfPHP/PHP-CS-Fixer/

Right now, Phive/phar.io is only reason why we are uploading phar files to GitHub releases:
https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/tag/v3.9.3
(files: php-cs-fixer.phar, php-cs-fixer.phar.asc)

I wonder if we could have if possible to have an option to read phar files also from dedicated shim releases? like
https://github.com/PHP-CS-Fixer/shim/tree/v3.9.3
(files: php-cs-fixer, php-cs-fixer.asc)

Add support for psy/psysh

https://github.com/bobthecow/psysh/ doesn't provide their phar releases directly on GitHub, so I can't use phive install bobthecow/psysh to install them.

The latest release is available from https://psysh.org/psysh, however (see https://github.com/bobthecow/psysh/wiki/Installation).

But, phive install https://psysh.org/psysh results in the error "Could not extract PHAR version from https://psysh.org/psysh".

It would be great if it was supported directly with phive install psysh.

Feature Idea: Funding

Afaik we do have currently two options to enable funding for PHP OSS.

On the one hand, there is the funding section for composer https://getcomposer.org/doc/04-schema.md#funding
On the other, there is GitHub sponsoring.

If one is installing a dependency using composer, a prompt will get shown that some packages have a funding.
Sadly with phive this is not possible.

So this is small discussion if we should add funding information to phive as well.

For example we could edit the repositories.xml accordingly:

<phar alias="composer-unused" composer="composer-unused/composer-unused">
    <repository type="github" url="https://api.github.com/repos/composer-unused/composer-unused/releases" />
    <funding type="GittHub" url="https://github.com/sponsors/icanhazstring"/>
    <funding type="Paypal" url="https://paypal.me/icanhazstring"/>
 </phar>

If we run phive install ... we could display information about the available funding for the installed tool.

$ phive install composer-unused --copy
Phive 0.14.4 - Copyright (C) 2015-2020 by Arne Blankerts, Sebastian Heuer and Contributors
Fetching repository list
Downloading https://phar.io/data/repositories.xml
Downloading https://github.com/composer-unused/composer-unused/releases/download/0.7.5/composer-unused.phar
Downloading https://github.com/composer-unused/composer-unused/releases/download/0.7.5/composer-unused.phar.asc
Copying composer-unused-0.7.5.phar to /Users/andreas.froemer/test/tools/composer-unused

There is funding available:
Github: https://github.com/sponsors/icanhazstring
Paypal: https://paypal.me/icanhazstring

add documentation for phive install

  • how does Phive install PHARs?
  • which sources are supported (GitHub, Phar.io repo, URL)
  • where are they stored?
  • explain phive.xml

maybe skip global installation for now, since we do not know if this feature will actually be kept like it is today.

No matching release found for sensiolabs/security-checker

Hi, i am new to phive so still a lot of unexplored land for me. Wanted to see if it's something i can contribute for https://github.com/sensiolabs/security-checker repo to allow phive to install it. Below you can see the command output and also link to where releases should be listed.

root@project:/vagrant# phive install sensiolabs/security-checker
Phive 0.14.4 - Copyright (C) 2015-2020 by Arne Blankerts, Sebastian Heuer and Contributors
Downloading https://api.github.com/rate_limit
[ERROR]    No matching release found! 

https://api.github.com/repos/sensiolabs/security-checker/releases

Goal

Failing to verify the PHAR

When executing the instruction from the website:

wget -O phive.phar "https://phar.io/releases/phive.phar"
wget -O phive.phar.asc "https://phar.io/releases/phive.phar.asc"
gpg --keyserver hkps://keys.openpgp.org --recv-keys 0x6AF725270AB81E04D79442549D8A98B29B2D5D79
gpg --verify phive.phar.asc phive.phar

I am currently getting a warning:

2022-11-30 20:59:48 (50.9 MB/s) - ‘phive.phar.asc’ saved [854/854]

gpg: key 9D8A98B29B2D5D79: "phar.io <[email protected]>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1
gpg: Signature made Tue  2 Aug 09:40:05 2022 CEST
gpg:                using RSA key 6AF725270AB81E04D79442549D8A98B29B2D5D79
gpg:                issuer "[email protected]"
gpg: Good signature from "phar.io <[email protected]>" [unknown]
gpg:                 aka "[jpeg image of size 4811]" [unknown]
gpg: WARNING: The key's User ID is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 6AF7 2527 0AB8 1E04 D794  4254 9D8A 98B2 9B2D 5D79

See "WARNING: The key's User ID is not certified with a trusted signature!".

Is this expected?

Replace `release.php` with a set of static links updated upon release

The release redirect is powered by a small PHP script which connects to the Github API to find the latest release and redirect to the appropriate asset.

Performing such an API call to github.com upon every request is a hack, particularly since the current release information doesn't change very often.

The links to the asset files associated with a release are static.
So instead of calling the API, we should create the redirects statically upon release.

Consider adding Zephir

Hello,

Consider adding support for zephir.phar.

Zephir - is a high level programming language that eases the creation and maintainability of extensions for PHP. Zephir extensions are exported to C code that can be compiled and optimized by major C compilers such as gcc/clang/vc++. Functionality is exposed to the PHP language.

Website for alias registration

I think it's time we add an option to the website to "claim" an alias and provide the information needed.

We could automate it, so that the form submit performs the checks (e.g. the URL, the alias and whatever else we require), apply the changes to the repositories.xml and automagically open a PR for that.

Trying to install `phpmd`

Hi, I'm trying to install phpmd using PHIVE, but am running into the following error:

./Bin/phive install phpmd --target Bin --copy --force-accept-unsigned
Phive 0.14.5 - Copyright (C) 2015-2021 by Arne Blankerts, Sebastian Heuer and Contributors
Downloading https://api.github.com/rate_limit
Downloading https://github.com/phpmd/phpmd/releases/download/2.9.1/phpmd.phar
Downloading https://github.com/phpmd/phpmd/releases/download/2.9.1/phpmd.phar.asc
sh: line 1:  5779 Abort trap: 6           '/Users/xxxxx/Developer/yyyyy/Bin/gpg' --homedir '/Users/xxxxx/.phive/gpg' --quiet --status-fd 1 --lock-multiple --no-permission-warning --no-greeting --exit-on-status-write-error --batch --no-tty --with-colons --verify '/var/folders/j0/3wvd954n18ldwg2xbhmggswm0000gn/T/phive_gpg_6063e812136511.26513987' '/var/folders/j0/3wvd954n18ldwg2xbhmggswm0000gn/T/phive_gpg_6063e81212a589.86813106' 2> /dev/null
[ERROR]    GnuPG verify call returned false

I'm not quite sure how to address this error, as other packages seem to install fine. Thanks for your help!

Wrong example "phive install phpdox bin/phpdox"

The way I understand the phive install phpdox bin/phpdox example on the phar.io website is that this syntax installs the tool identified by phpdox to bin/phpdox.

Per phar-io/phive#43 (comment) this "example is wrong" and the functionality is not yet implemented.

This ticket is intended to remove the wrong example from the phar.io website.

Multiple repositories for one PHAR

Is it possible to have multiple repository URL for one PHAR in repositories.xml. This would be useful if one URL will be unavailable, so PHIVE could fallback to another.

Example:

<?xml version="1.0" encoding="UTF-8"?>
<repositories xmlns="https://phar.io/repository-list">
    <phar alias="phpunit" composer="phpunit/phpunit">
        <repository url="https://phar.phpunit.de/phive.xml"/>
        <repository type="github" url="https://api.github.com/repos/sebastianbergmann/phpunit/releases" />
    </phar>
</repositories>

Also, is it possible to host PHAR on other GIT systems, like GitLab or BitBucket?

Installing PHIVE on Windows 10

I have a development environment based on Visual Studio Code 1.68.1 and WampServer 3.2.7. I need to install phpDocumentor to document my PHP code containing phpDoc blocks.
I installed composer in Windows 10 Pro but it is not recommended to install phpDocumentor. A good alternative would be phive, but I cannot find a way to install phive on Windows 10.
Furthermore WampServer allows to switch among different PHP versions, so I need to know how to use phpDocumentor for all of them.

Any help appreciated.

Release linked to not latest release

When I use wget -O phive.phar https://phar.io/releases/phive.phar I receive version 0.13.2, while the newer Phive version at GitHub is 0.14.*.

We're getting some errors with our tool installations with the 0.13.2. version, and the problem is fixed in some later version, but we would not like to hard code a version to fix this.

Thanks!

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.