From cbfe6c0e8df5d5334f0f7d3c22f018f457c86018 Mon Sep 17 00:00:00 2001 From: Domen Kožar Date: Fri, 23 Aug 2013 17:05:50 +0200 Subject: pypy: patch ncurses name correctly --- pkgs/development/interpreters/pypy/2.0/default.nix | 92 ---------------------- .../interpreters/pypy/2.0/setup-hook.sh | 15 ---- pkgs/development/interpreters/pypy/2.1/default.nix | 92 ++++++++++++++++++++++ .../interpreters/pypy/2.1/setup-hook.sh | 15 ++++ 4 files changed, 107 insertions(+), 107 deletions(-) delete mode 100644 pkgs/development/interpreters/pypy/2.0/default.nix delete mode 100644 pkgs/development/interpreters/pypy/2.0/setup-hook.sh create mode 100644 pkgs/development/interpreters/pypy/2.1/default.nix create mode 100644 pkgs/development/interpreters/pypy/2.1/setup-hook.sh (limited to 'pkgs/development/interpreters/pypy') diff --git a/pkgs/development/interpreters/pypy/2.0/default.nix b/pkgs/development/interpreters/pypy/2.0/default.nix deleted file mode 100644 index d02d5a8cb67f..000000000000 --- a/pkgs/development/interpreters/pypy/2.0/default.nix +++ /dev/null @@ -1,92 +0,0 @@ -{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi -, sqlite, openssl, ncurses, pythonFull, expat }: - -assert zlibSupport -> zlib != null; - -let - - majorVersion = "2.1"; - version = "${majorVersion}"; - pythonVersion = "2.7"; - libPrefix = "pypy${majorVersion}"; - - pypy = stdenv.mkDerivation rec { - name = "pypy-${version}"; - - inherit majorVersion version; - - src = fetchurl { - url = "https://bitbucket.org/pypy/pypy/downloads/pypy-${version}-src.tar.bz2"; - sha256 = "05vz7ya6jh5pw5yl607cf1rvdhwxj5d4ip0vpgb1gc9rjxn0dcri"; - }; - - buildInputs = [ bzip2 openssl pkgconfig pythonFull libffi ncurses expat sqlite ] - ++ stdenv.lib.optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc - ++ stdenv.lib.optional zlibSupport zlib; - - C_INCLUDE_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/include") buildInputs); - LIBRARY_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/lib") buildInputs); - LD_LIBRARY_PATH = LIBRARY_PATH; - - preConfigure = '' - substituteInPlace Makefile \ - --replace "-Ojit" "-Ojit --batch" \ - --replace "pypy/goal/targetpypystandalone.py" "pypy/goal/targetpypystandalone.py --withmod-_minimal_curses --withmod-unicodedata --withmod-thread --withmod-bz2 --withmod-_multiprocessing" - - # we are using cpython and not pypy to do translation - substituteInPlace rpython/bin/rpython \ - --replace "/usr/bin/env pypy" "${pythonFull}/bin/python" - substituteInPlace pypy/goal/targetpypystandalone.py \ - --replace "/usr/bin/env pypy" "${pythonFull}/bin/python" - - # convince pypy to find nix ncurses - substituteInPlace pypy/module/_minimal_curses/fficurses.py \ - --replace "/usr/include/ncurses/curses.h" "${ncurses}/include/curses.h" \ - --replace "ncurses/curses.h" "${ncurses}/include/curses.h" \ - --replace "ncurses/term.h" "${ncurses}/include/term.h" \ - --replace "libraries = ['curses']" "libraries = ['ncurses']" - ''; - - setupHook = ./setup-hook.sh; - - doCheck = true; - checkPhase = '' - export TERMINFO="${ncurses}/share/terminfo/"; - export TERM="xterm"; - export HOME="$TMPDIR"; - # disable shutils because it assumes gid 0 exists - # disable socket because it has two actual network tests that fail - ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k '-test_socket -test_shutil' lib-python - ''; - - installPhase = '' - mkdir -p $out/{bin,include,lib,pypy-c} - - cp -R {include,lib_pypy,lib-python,pypy-c} $out/pypy-c - ln -s $out/pypy-c/pypy-c $out/bin/pypy - chmod +x $out/bin/pypy - - # other packages expect to find stuff according to libPrefix - ln -s $out/pypy-c/include $out/include/${libPrefix} - ln -s $out/pypy-c/lib-python/${pythonVersion} $out/lib/${libPrefix} - - # TODO: compile python files? - ''; - - passthru = { - inherit zlibSupport libPrefix; - executable = "pypy"; - }; - - enableParallelBuilding = true; - - meta = with stdenv.lib; { - homepage = "http://pypy.org/"; - description = "PyPy is a fast, compliant alternative implementation of the Python language (2.7.3)"; - license = licenses.mit; - platforms = platforms.all; - maintainers = with maintainers; [ iElectric ]; - }; - }; - -in pypy diff --git a/pkgs/development/interpreters/pypy/2.0/setup-hook.sh b/pkgs/development/interpreters/pypy/2.0/setup-hook.sh deleted file mode 100644 index 87874f0370be..000000000000 --- a/pkgs/development/interpreters/pypy/2.0/setup-hook.sh +++ /dev/null @@ -1,15 +0,0 @@ -addPythonPath() { - addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/pypy2.1/site-packages -} - -toPythonPath() { - local paths="$1" - local result= - for i in $paths; do - p="$i/lib/pypy2.1/site-packages" - result="${result}${result:+:}$p" - done - echo $result -} - -envHooks=(${envHooks[@]} addPythonPath) diff --git a/pkgs/development/interpreters/pypy/2.1/default.nix b/pkgs/development/interpreters/pypy/2.1/default.nix new file mode 100644 index 000000000000..f80a1dc72428 --- /dev/null +++ b/pkgs/development/interpreters/pypy/2.1/default.nix @@ -0,0 +1,92 @@ +{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi +, sqlite, openssl, ncurses, pythonFull, expat }: + +assert zlibSupport -> zlib != null; + +let + + majorVersion = "2.1"; + version = "${majorVersion}"; + pythonVersion = "2.7"; + libPrefix = "pypy${majorVersion}"; + + pypy = stdenv.mkDerivation rec { + name = "pypy-${version}"; + + inherit majorVersion version; + + src = fetchurl { + url = "https://bitbucket.org/pypy/pypy/downloads/pypy-${version}-src.tar.bz2"; + sha256 = "05vz7ya6jh5pw5yl607cf1rvdhwxj5d4ip0vpgb1gc9rjxn0dcri"; + }; + + buildInputs = [ bzip2 openssl pkgconfig pythonFull libffi ncurses expat sqlite ] + ++ stdenv.lib.optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc + ++ stdenv.lib.optional zlibSupport zlib; + + C_INCLUDE_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/include") buildInputs); + LIBRARY_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/lib") buildInputs); + LD_LIBRARY_PATH = LIBRARY_PATH; + + preConfigure = '' + substituteInPlace Makefile \ + --replace "-Ojit" "-Ojit --batch" \ + --replace "pypy/goal/targetpypystandalone.py" "pypy/goal/targetpypystandalone.py --withmod-_minimal_curses --withmod-unicodedata --withmod-thread --withmod-bz2 --withmod-_multiprocessing" + + # we are using cpython and not pypy to do translation + substituteInPlace rpython/bin/rpython \ + --replace "/usr/bin/env pypy" "${pythonFull}/bin/python" + substituteInPlace pypy/goal/targetpypystandalone.py \ + --replace "/usr/bin/env pypy" "${pythonFull}/bin/python" + + # convince pypy to find nix ncurses + substituteInPlace pypy/module/_minimal_curses/fficurses.py \ + --replace "/usr/include/ncurses/curses.h" "${ncurses}/include/curses.h" \ + --replace "ncurses/curses.h" "${ncurses}/include/curses.h" \ + --replace "ncurses/term.h" "${ncurses}/include/term.h" \ + --replace "libraries=['curses']" "libraries=['ncurses']" + ''; + + setupHook = ./setup-hook.sh; + + doCheck = true; + checkPhase = '' + export TERMINFO="${ncurses}/share/terminfo/"; + export TERM="xterm"; + export HOME="$TMPDIR"; + # disable shutils because it assumes gid 0 exists + # disable socket because it has two actual network tests that fail + ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k '-test_socket -test_shutil' lib-python + ''; + + installPhase = '' + mkdir -p $out/{bin,include,lib,pypy-c} + + cp -R {include,lib_pypy,lib-python,pypy-c} $out/pypy-c + ln -s $out/pypy-c/pypy-c $out/bin/pypy + chmod +x $out/bin/pypy + + # other packages expect to find stuff according to libPrefix + ln -s $out/pypy-c/include $out/include/${libPrefix} + ln -s $out/pypy-c/lib-python/${pythonVersion} $out/lib/${libPrefix} + + # TODO: compile python files? + ''; + + passthru = { + inherit zlibSupport libPrefix; + executable = "pypy"; + }; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = "http://pypy.org/"; + description = "PyPy is a fast, compliant alternative implementation of the Python language (2.7.3)"; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ iElectric ]; + }; + }; + +in pypy diff --git a/pkgs/development/interpreters/pypy/2.1/setup-hook.sh b/pkgs/development/interpreters/pypy/2.1/setup-hook.sh new file mode 100644 index 000000000000..87874f0370be --- /dev/null +++ b/pkgs/development/interpreters/pypy/2.1/setup-hook.sh @@ -0,0 +1,15 @@ +addPythonPath() { + addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/pypy2.1/site-packages +} + +toPythonPath() { + local paths="$1" + local result= + for i in $paths; do + p="$i/lib/pypy2.1/site-packages" + result="${result}${result:+:}$p" + done + echo $result +} + +envHooks=(${envHooks[@]} addPythonPath) -- cgit 1.4.1