desktop/ipython/PKGBUILD

146 lines
6.1 KiB
Bash
Raw Normal View History

2015-12-10 22:56:35 +08:00
# Contributor : Arch Linux https://www.archlinux.org/packages/community/any/ipython/
2016-04-27 21:24:40 +08:00
# https://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/ipython
2015-12-10 22:56:35 +08:00
pkgbase=ipython
pkgname=('ipython3' 'ipython2')
2016-08-20 22:16:18 +08:00
pkgver=5.1.0
2016-04-27 21:24:40 +08:00
pkgrel=1
2015-12-10 22:56:35 +08:00
pkgdesc="An enhanced Interactive Python shell."
arch=('any')
url="http://ipython.org"
license=('BSD')
2016-04-09 17:50:40 +08:00
makedepends=('python3' 'python2' 'python3-setuptools' 'python2-setuptools')
2015-12-10 22:56:35 +08:00
optdepends=("python3-nose: for IPython's test suite")
# some of these will update rapidly, others never
# so _vars will be phased in as new updates are released
2016-07-28 01:51:21 +08:00
_traitv=4.2.0
_psharev=0.7.3
2016-04-27 21:24:40 +08:00
_backshutil=1.0.0
_pathlib=1.0.1
2015-12-10 22:56:35 +08:00
2016-04-27 21:24:40 +08:00
source=("ipython-$pkgver.tgz::https://github.com/ipython/ipython/archive/$pkgver.tar.gz"
2016-01-16 19:34:03 +08:00
"https://pypi.python.org/packages/source/t/traitlets/traitlets-$_traitv.tar.gz"
2015-12-10 22:56:35 +08:00
"https://pypi.python.org/packages/source/i/ipython_genutils/ipython_genutils-0.1.0.tar.gz"
2016-07-28 01:51:21 +08:00
"https://files.pythonhosted.org/packages/source/p/pickleshare/pickleshare-$_psharev.tar.gz"
2016-01-16 19:34:03 +08:00
"https://pypi.python.org/packages/source/s/simplegeneric/simplegeneric-0.8.1.zip"
2016-04-27 21:24:40 +08:00
#only ipython2
"https://github.com/chrippa/backports.shutil_get_terminal_size/archive/v$_backshutil.tar.gz"
"http://pypi.python.org/packages/source/p/pathlib/pathlib-$_pathlib.tar.gz"
2016-01-16 19:34:03 +08:00
"ipython.png")
2016-08-20 22:16:18 +08:00
sha256sums=('82f733341c2b9b49fb51453dcd274cd4b3b7373c0e703a95ad796dfcd1fa2d92'
2016-07-28 01:51:21 +08:00
'e4c39210f2f2ff7361b86043b6512adbcf6f024b44b501f7b42fd9a23402dea9'
2016-01-16 19:34:03 +08:00
'3a0624a251a26463c9dfa0ffa635ec51c4265380980d9a50d65611c3c2bd82a6'
2016-07-28 01:51:21 +08:00
'b9710d01f777b1bf3b69c8f889b1d05a5145668f79e980cbd0f849e059edd274'
2016-01-16 19:34:03 +08:00
'dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173'
2016-04-27 21:24:40 +08:00
'ebeddf414a973f6b1c08c35892a8c5330aa9368171d9f70d749909525d72c9f1'
'6940718dfc3eff4258203ad5021090933e5c04707d5ca8cc9e73c94a7894ea9f'
'6dea629da7ed8ad8109029e27ec435b400e98fcd7f73a2cd00fc383f26250852')
2015-12-10 22:56:35 +08:00
# With 4.0 many previously bundled external libraries are no longer bundled
# Since there are so many and they are so small, they get re-bundled here
# Break them out if any non-ipython package ends up needing these
# traitlets (depends on python-decorator)
# ipython_genutils
# "Pretend this doesnt exist. Nobody should use it."
# "Vestigial IPython utilities: DO NOT USE"
# (still required for now though, but drop at first chance)
# pickleshare (depends on path.py)
# simplegeneric (so old that it only comes in .zip and still refers to the cheeseshop)
2016-04-27 21:24:40 +08:00
2015-12-10 22:56:35 +08:00
prepare() {
cd "$srcdir"
cp -r ipython-$pkgver ipython2-$pkgver
cp -r ipython_genutils-0.1.0 ipython2_genutils-0.1.0
2016-04-27 21:24:40 +08:00
cp -r pickleshare-$_psharev python2-pickleshare-$_psharev
2016-01-16 19:34:03 +08:00
cp -r traitlets-$_traitv python2-traitlets-$_traitv
2015-12-10 22:56:35 +08:00
cp -r simplegeneric-0.8.1 python2-simplegeneric-0.8.1
2016-04-27 21:24:40 +08:00
# python 3.5 does not need a 3.3 backport hack
cd "$srcdir/ipython-$pkgver"
sed -i 's|backports.shutil_get_terminal_size|shutil|' IPython/utils/terminal.py
2015-12-10 22:56:35 +08:00
}
package_ipython3() {
2016-07-28 01:51:21 +08:00
depends=('python3' 'python3-decorator' 'python3-pexpect' 'sqlite3' 'python3-setuptools' 'python3-path' 'python3-prompt_toolkit')
2015-12-10 22:56:35 +08:00
# see https://github.com/ipython/ipython/issues/2057
#export LC_ALL=en_US.UTF-8
cd "$srcdir/ipython-$pkgver"
python3 setup.py install --prefix=/usr --root="$pkgdir" --optimize=0
# TEMPORARY!
cd "$srcdir/ipython_genutils-0.1.0"
python3 setup.py install --prefix=/usr --root="$pkgdir" --optimize=0
2016-04-27 21:24:40 +08:00
cd "$srcdir/pickleshare-$_psharev"
2015-12-10 22:56:35 +08:00
python3 setup.py install --prefix=/usr --root="$pkgdir" --optimize=0
2016-01-16 19:34:03 +08:00
cd "$srcdir/traitlets-$_traitv"
2015-12-10 22:56:35 +08:00
python3 setup.py install --prefix=/usr --root="$pkgdir" --optimize=0
cd "$srcdir/simplegeneric-0.8.1"
python3 setup.py install --prefix=/usr --root="$pkgdir" --optimize=0
cd "$srcdir/ipython-$pkgver"
install -Dm644 docs/source/about/license_and_copyright.rst "$pkgdir/usr/share/licenses/ipython/LICENSE"
cd "$srcdir/ipython-$pkgver/examples/IPython Kernel/"
# FS#45120
sed -i 's/gnome-netstatus-idle/ipython/' *.desktop
2016-01-16 19:34:03 +08:00
sed -i s!"IPython"!"IPython3"! *.desktop
sed -i s!"Name[en_US]=ipython"!"Name[en_US]=ipython3"! *.desktop
sed -i s!"Name=ipython"!"Name=ipython3"! *.desktop
2016-04-27 21:24:40 +08:00
sed -i s!"Icon=ipython"!"Icon=ipython3"! *.desktop
2016-01-16 19:34:03 +08:00
sed -i s!"Development;Utility;"!"Development;"! *.desktop
2016-04-27 21:24:40 +08:00
install -Dm644 ipython.desktop "$pkgdir/usr/share/applications/ipython3.desktop"
install -Dm644 "$srcdir/ipython.png" "$pkgdir/usr/share/pixmaps/ipython3.png"
2015-12-10 22:56:35 +08:00
}
package_ipython2() {
pkgdesc="An enhanced Interactive Python2 shell."
2016-07-28 01:51:21 +08:00
depends=('python2' 'python2-decorator' 'python2-pexpect' 'sqlite3' 'python2-setuptools' 'python2-path' 'python2-prompt_toolkit')
2015-12-10 22:56:35 +08:00
optdepends=("python2-nose: for IPython's test suite")
cd "$srcdir/ipython2-$pkgver"
python2 setup.py install --prefix=/usr --root="$pkgdir" --optimize=0
# TEMPORARY!
cd "$srcdir/ipython2_genutils-0.1.0"
python2 setup.py install --prefix=/usr --root="$pkgdir" --optimize=0
2016-04-27 21:24:40 +08:00
cd "$srcdir/python2-pickleshare-$_psharev"
2015-12-10 22:56:35 +08:00
python2 setup.py install --prefix=/usr --root="$pkgdir" --optimize=0
2016-01-16 19:34:03 +08:00
cd "$srcdir/python2-traitlets-$_traitv"
2015-12-10 22:56:35 +08:00
python2 setup.py install --prefix=/usr --root="$pkgdir" --optimize=0
cd "$srcdir/python2-simplegeneric-0.8.1"
python2 setup.py install --prefix=/usr --root="$pkgdir" --optimize=0
2016-04-27 21:24:40 +08:00
cd "$srcdir/backports.shutil_get_terminal_size-$_backshutil"
python2 setup.py install --prefix=/usr --root="$pkgdir" --optimize=0
cd "$srcdir/pathlib-$_pathlib"
python2 setup.py install --root="$pkgdir/" --optimize=1
2015-12-10 22:56:35 +08:00
cd "$srcdir/ipython2-$pkgver"
install -Dm644 docs/source/about/license_and_copyright.rst "$pkgdir/usr/share/licenses/ipython2/LICENSE"
# hack to get around ipython collision
cd "$pkgdir/usr/share/man/man1/"
for i in *; do
mv $i ${i/%.1/2.1}
done
find "$pkgdir/usr/bin/" -type f -regex '.*[^2]$' -delete
cd "$srcdir/ipython2-$pkgver/examples/IPython Kernel/"
sed -i 's/ython/ython2/g' *.desktop
sed -i 's/gnome-netstatus-idle/ipython2/' *.desktop
2016-01-16 19:34:03 +08:00
sed -i s!"Development;Utility;"!"Development;"! *.desktop
2015-12-10 22:56:35 +08:00
install -Dm644 ipython.desktop "$pkgdir/usr/share/applications/ipython2.desktop"
2016-04-27 21:24:40 +08:00
install -Dm644 "$srcdir/ipython.png" "$pkgdir/usr/share/pixmaps/ipython2.png"
2016-03-02 06:41:55 +08:00
}