first commit
This commit is contained in:
commit
c5222e1686
13
default.nix
Normal file
13
default.nix
Normal file
@ -0,0 +1,13 @@
|
||||
{ nixpkgs ? import <nixpkgs> {
|
||||
} }:
|
||||
|
||||
let
|
||||
inherit (nixpkgs) pkgs;
|
||||
in
|
||||
|
||||
pkgs.stdenv.mkDerivation {
|
||||
name = "example-project";
|
||||
buildInputs = with pkgs; [
|
||||
(python3.withPackages (ppkgs: with ppkgs; [ (callPackage ./nix/kivy/default.nix {}) ]))
|
||||
];
|
||||
}
|
101
nix/kivy/bork.nix
Normal file
101
nix/kivy/bork.nix
Normal file
@ -0,0 +1,101 @@
|
||||
{ stdenv, buildPythonPackage, fetchPypi, maintainers, platforms, licenses, pkgs }:
|
||||
|
||||
# From the 1.10.0 documentation:
|
||||
# "This version of Kivy requires at least Cython version 0.23, and has been
|
||||
# tested through 0.25.2. Later versions may work, but as they have not been
|
||||
# tested there is no guarantee."
|
||||
|
||||
assert stdenv.lib.versionAtLeast pkgs.cython.version "0.23";
|
||||
|
||||
# Rather than depending on a specific older version of Cython, we accept the
|
||||
# off-chance of breakage:
|
||||
# assert stdenv.lib.versionOlder self.cython.version "0.25.3";
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "Kivy";
|
||||
version = "1.10.0";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1394zh6kvf7k5d8vlzxcsfcailr3q59xwg9b1n7qaf25bvyq1h98";
|
||||
};
|
||||
|
||||
# setup.py invokes git on build but we're fetching a tarball, so
|
||||
# can't retrieve git version. We remove the git-invocation from setup.py
|
||||
# This patch can presumably be removed on the next version of Kivy, because the problem
|
||||
# was addressed in https://github.com/kivy/kivy/issues/5365
|
||||
patches = [
|
||||
./setup.py.patch
|
||||
];
|
||||
|
||||
buildInputs = with pkgs; [
|
||||
pkgconfig
|
||||
cython
|
||||
|
||||
#kivygarden # See https://github.com/kivy/kivy/issues/5367 suggestion I-2
|
||||
requests # See https://github.com/kivy/kivy/issues/5367 suggestion I-3
|
||||
docutils # See https://github.com/kivy/kivy/issues/5367 question Q-5
|
||||
pygments # See https://github.com/kivy/kivy/issues/5367 question Q-6
|
||||
|
||||
# nose # needed for tests (which are currently disabled)
|
||||
|
||||
# The setup below is, as much as I can figure out how to make it, an attempt
|
||||
# to create a "canonical full install" of Kivy on linux, as allued to in
|
||||
# https://github.com/kivy/kivy/issues/5367 question Q-7
|
||||
|
||||
# Some sources to reconstruct such a thing are:
|
||||
# .travis.yml (which contains the actual build instructions for CI)
|
||||
# https://kivy.org/docs/installation/installation.html
|
||||
# https://kivy.org/docs/installation/installation-linux.html
|
||||
|
||||
pkgs.mesa
|
||||
pkgs.mtdev
|
||||
|
||||
pkgs.SDL2
|
||||
pkgs.SDL2_image
|
||||
pkgs.SDL2_ttf
|
||||
pkgs.SDL2_mixer
|
||||
|
||||
# NOTE: The degree to which gstreamer actually works is unclear
|
||||
pkgs.gst_all_1.gstreamer
|
||||
pkgs.gst_all_1.gst-plugins-base
|
||||
pkgs.gst_all_1.gst-plugins-good
|
||||
pkgs.gst_all_1.gst-plugins-bad
|
||||
|
||||
# Not done yet:
|
||||
# "Camera is also unclear in the cross-platform sense, though for a
|
||||
# canonical linux configuration the answer is probably opencv. SDL2 for
|
||||
# image provider qualifies as "canonical", though it is my impression that
|
||||
# ffpyplayer has wider and better format support."
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with pkgs; [
|
||||
pillow
|
||||
] ;
|
||||
|
||||
# We're not currently running tests, because there are 38 errors and 1 failure
|
||||
# This number may be reduced somewhat once https://github.com/kivy/kivy/issues/5373 is fixed
|
||||
|
||||
# KIVY_NO_CONFIG is needed, because otherwise tests attempt to write to the non-existing $HOME
|
||||
# checkPhase = ''
|
||||
# export KIVY_NO_CONFIG=1
|
||||
# nosetests
|
||||
# '';
|
||||
|
||||
doCheck = false;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace kivy/lib/mtdev.py \
|
||||
--replace "LoadLibrary('libmtdev.so.1')" "LoadLibrary('${pkgs.mtdev}/lib/libmtdev.so.1')"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A software library for rapid development of hardware-accelerated multitouch applications.";
|
||||
homepage = "https://pypi.python.org/pypi/kivy";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ vanschelven ];
|
||||
platforms = platforms.unix; # I can only test linux; in principle other platforms are supported
|
||||
};
|
||||
|
||||
}
|
100
nix/kivy/default.nix
Normal file
100
nix/kivy/default.nix
Normal file
@ -0,0 +1,100 @@
|
||||
{ stdenv, buildPythonPackage, fetchPypi, pkgs, self }:
|
||||
|
||||
# From the 1.10.0 documentation:
|
||||
# "This version of Kivy requires at least Cython version 0.23, and has been
|
||||
# tested through 0.25.2. Later versions may work, but as they have not been
|
||||
# tested there is no guarantee."
|
||||
|
||||
assert stdenv.lib.versionAtLeast self.cython.version "0.23";
|
||||
|
||||
# Rather than depending on a specific older version of Cython, we accept the
|
||||
# off-chance of breakage:
|
||||
# assert stdenv.lib.versionOlder self.cython.version "0.25.3";
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "Kivy";
|
||||
version = "1.10.0";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1394zh6kvf7k5d8vlzxcsfcailr3q59xwg9b1n7qaf25bvyq1h98";
|
||||
};
|
||||
|
||||
# setup.py invokes git on build but we're fetching a tarball, so
|
||||
# can't retrieve git version. We remove the git-invocation from setup.py
|
||||
# This patch can presumably be removed on the next version of Kivy, because the problem
|
||||
# was addressed in https://github.com/kivy/kivy/issues/5365
|
||||
patches = [
|
||||
./setup.py.patch
|
||||
];
|
||||
|
||||
buildInputs = with self; [
|
||||
pkgconfig
|
||||
cython
|
||||
|
||||
kivygarden # See https://github.com/kivy/kivy/issues/5367 suggestion I-2
|
||||
requests # See https://github.com/kivy/kivy/issues/5367 suggestion I-3
|
||||
docutils # See https://github.com/kivy/kivy/issues/5367 question Q-5
|
||||
pygments # See https://github.com/kivy/kivy/issues/5367 question Q-6
|
||||
|
||||
# nose # needed for tests (which are currently disabled)
|
||||
|
||||
# The setup below is, as much as I can figure out how to make it, an attempt
|
||||
# to create a "canonical full install" of Kivy on linux, as allued to in
|
||||
# https://github.com/kivy/kivy/issues/5367 question Q-7
|
||||
|
||||
# Some sources to reconstruct such a thing are:
|
||||
# .travis.yml (which contains the actual build instructions for CI)
|
||||
# https://kivy.org/docs/installation/installation.html
|
||||
# https://kivy.org/docs/installation/installation-linux.html
|
||||
|
||||
pkgs.mesa
|
||||
pkgs.mtdev
|
||||
|
||||
pkgs.SDL2
|
||||
pkgs.SDL2_image
|
||||
pkgs.SDL2_ttf
|
||||
pkgs.SDL2_mixer
|
||||
|
||||
# NOTE: The degree to which gstreamer actually works is unclear
|
||||
pkgs.gst_all_1.gstreamer
|
||||
pkgs.gst_all_1.gst-plugins-base
|
||||
pkgs.gst_all_1.gst-plugins-good
|
||||
pkgs.gst_all_1.gst-plugins-bad
|
||||
|
||||
# Not done yet:
|
||||
# "Camera is also unclear in the cross-platform sense, though for a
|
||||
# canonical linux configuration the answer is probably opencv. SDL2 for
|
||||
# image provider qualifies as "canonical", though it is my impression that
|
||||
# ffpyplayer has wider and better format support."
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with self; [
|
||||
pillow
|
||||
] ;
|
||||
|
||||
# We're not currently running tests, because there are 38 errors and 1 failure
|
||||
# This number may be reduced somewhat once https://github.com/kivy/kivy/issues/5373 is fixed
|
||||
|
||||
# KIVY_NO_CONFIG is needed, because otherwise tests attempt to write to the non-existing $HOME
|
||||
# checkPhase = ''
|
||||
# export KIVY_NO_CONFIG=1
|
||||
# nosetests
|
||||
# '';
|
||||
|
||||
doCheck = false;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace kivy/lib/mtdev.py \
|
||||
--replace "LoadLibrary('libmtdev.so.1')" "LoadLibrary('${pkgs.mtdev}/lib/libmtdev.so.1')"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A software library for rapid development of hardware-accelerated multitouch applications.";
|
||||
homepage = "https://pypi.python.org/pypi/kivy";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ vanschelven ];
|
||||
platforms = platforms.unix; # I can only test linux; in principle other platforms are supported
|
||||
};
|
||||
}
|
16
nix/kivy/setup.py.patch
Normal file
16
nix/kivy/setup.py.patch
Normal file
@ -0,0 +1,16 @@
|
||||
--- Kivy-1.10.0/setup.py 2017-05-07 17:24:57.000000000 +0200
|
||||
+++ setup.py 2017-09-04 14:27:13.222721223 +0200
|
||||
@@ -42,12 +42,7 @@
|
||||
def get_version(filename='kivy/version.py'):
|
||||
VERSION = kivy.__version__
|
||||
DATE = datetime.utcnow().strftime('%Y%m%d')
|
||||
- try:
|
||||
- GIT_REVISION = check_output(
|
||||
- ['git', 'rev-parse', 'HEAD']
|
||||
- ).strip().decode('ascii')
|
||||
- except CalledProcessError:
|
||||
- GIT_REVISION = "Unknown"
|
||||
+ GIT_REVISION = "Unknown"
|
||||
|
||||
cnt = (
|
||||
"# THIS FILE IS GENERATED FROM KIVY SETUP.PY\n"
|
Loading…
x
Reference in New Issue
Block a user