mirror of
https://github.com/httpie/cli.git
synced 2024-11-22 07:43:20 +01:00
Add the Snap build file for general Linux packaging
Based on the work of @elopio and @chipaca. - Added support for the `snapd` protocol URL. - Packaged Unix socket transport plugin.
This commit is contained in:
parent
1ef127c61d
commit
cf21790411
@ -57,7 +57,13 @@ $ port install httpie
|
||||
|
||||
### Linux
|
||||
|
||||
Most Linux distributions provide a package that can be installed using the
|
||||
HTTPie is available on the [Snap Store](https://snapcraft.io/httpie):
|
||||
|
||||
```bash
|
||||
$ snap install httpie
|
||||
```
|
||||
|
||||
And most Linux distributions provide a package that can be installed using the
|
||||
system package manager, for example:
|
||||
|
||||
```bash
|
||||
|
108
snapcraft.yaml
Normal file
108
snapcraft.yaml
Normal file
@ -0,0 +1,108 @@
|
||||
name: httpie
|
||||
title: HTTPie
|
||||
summary: Modern, user-friendly command-line HTTP client for the API era
|
||||
description: |
|
||||
HTTPie *aitch-tee-tee-pie* is a user-friendly command-line HTTP client
|
||||
for the API era.
|
||||
It comes with JSON support, syntax highlighting, persistent sessions,
|
||||
wget-like downloads, plugins, and more.
|
||||
|
||||
The project's goal is to make CLI interaction with web services as
|
||||
human-friendly as possible. HTTPie is designed for testing, debugging,
|
||||
and generally interacting with APIs & HTTP servers.
|
||||
The http & https commands allow for creating and sending arbitrary HTTP
|
||||
requests. They use simple and natural syntax and provide formatted and
|
||||
colorized output.
|
||||
|
||||
Main features:
|
||||
- Built-in JSON support
|
||||
- Colorized and formatted terminal output
|
||||
- Sensible defaults for the API era
|
||||
- Persistent sessions
|
||||
- Forms and file uploads
|
||||
- HTTPS, proxies, and authentication support
|
||||
- Support for arbitrary request data and headers
|
||||
- Wget-like downloads
|
||||
- Extensions API
|
||||
- Expressive and intuitive syntax
|
||||
- Linux, macOS, and Windows support
|
||||
- All that & more in 2 simple commands: http + https
|
||||
|
||||
Links
|
||||
- Documentation: https://httpie.io/docs
|
||||
- Try in browser: https://httpie.io/run
|
||||
- GitHub: https://github.com/httpie/httpie
|
||||
- Twitter: https://twitter.com/httpie
|
||||
- Discord: https://httpie.io/chat
|
||||
license: BSD-3-Clause-LBNL
|
||||
|
||||
# Automatically change the current version based on the source code
|
||||
adopt-info: httpie
|
||||
|
||||
# https://snapcraft.io/docs/snapcraft-top-level-metadata#heading--icon
|
||||
# icon:
|
||||
|
||||
base: core20
|
||||
confinement: strict
|
||||
grade: stable
|
||||
|
||||
parts:
|
||||
httpie:
|
||||
source: .
|
||||
plugin: python
|
||||
|
||||
# Guess the current version from sources
|
||||
override-pull: |
|
||||
snapcraftctl pull
|
||||
snapcraftctl set-version $(grep '__version__' httpie/__init__.py | cut -d"'" -f2)
|
||||
|
||||
override-build: |
|
||||
snapcraftctl build
|
||||
|
||||
echo "Adding HTTPie plugins ..."
|
||||
python -m pip install httpie-unixsocket
|
||||
python -m pip install httpie-snapdsocket
|
||||
|
||||
echo "Removing no more needed modules ..."
|
||||
python -m pip uninstall -y pip wheel
|
||||
|
||||
override-prime: |
|
||||
snapcraftctl prime
|
||||
|
||||
echo "Removing useless files ..."
|
||||
packages=$SNAPCRAFT_PRIME/lib/python3.8/site-packages
|
||||
rm -rfv $packages/_distutils_hack
|
||||
rm -rfv $packages/pkg_resources/tests
|
||||
rm -rfv $packages/requests_unixsocket/test*
|
||||
rm -rfv $packages/setuptools
|
||||
|
||||
echo "Compiling pyc files ..."
|
||||
python -m compileall -f $packages
|
||||
|
||||
echo "Copying extra files ..."
|
||||
cp $SNAPCRAFT_PART_SRC/extras/httpie-completion.bash $SNAPCRAFT_PRIME/bin/
|
||||
|
||||
plugs:
|
||||
dot-config-httpie:
|
||||
interface: personal-files
|
||||
write:
|
||||
- $HOME/.config/httpie
|
||||
|
||||
apps:
|
||||
http:
|
||||
command: bin/http
|
||||
plugs: &plugs
|
||||
- dot-config-httpie
|
||||
- home
|
||||
- network
|
||||
- removable-media
|
||||
completer: bin/httpie-completion.bash
|
||||
environment:
|
||||
LC_ALL: C.UTF-8
|
||||
|
||||
https:
|
||||
command: bin/https
|
||||
plugs: *plugs
|
||||
completer: bin/httpie-completion.bash
|
||||
environment:
|
||||
LC_ALL: C.UTF-8
|
Loading…
Reference in New Issue
Block a user