forked from mirrors/nixpkgs
Merge branch 'staging-next'
This commit is contained in:
commit
570d84a01e
nixos/modules
hardware
installer/cd-dvd
system/boot/loader
generations-dir
generic-extlinux-compatible
init-script
raspberrypi
systemd-boot
pkgs
applications
audio
editors/ed
graphics
misc
blender
clipmenu
dunst
evilvte
keepassx
mrxvt
pwsafe
xkbd
xterm
networking
browsers
instant-messengers
mailreaders/thunderbird
science
video
virtualization/virtualbox
window-managers
evilwm
fluxbox
i3
jwm
oroborus
ratpoison
stalonetray
tabbed
build-support/fetchurl
data/misc/xorg-rgb
desktops
development
compilers
fpc
gcc
gcl
llvm/7
nasm
ocaml
interpreters
clisp
lush
python
libraries
|
@ -38,7 +38,7 @@ in {
|
|||
firmwareLinuxNonfree
|
||||
intel2200BGFirmware
|
||||
rtl8192su-firmware
|
||||
] ++ optional (pkgs.stdenv.isAarch32 || pkgs.stdenv.isAarch64) raspberrypiWirelessFirmware
|
||||
] ++ optional (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) raspberrypiWirelessFirmware
|
||||
++ optionals (versionOlder config.boot.kernelPackages.kernel.version "4.13") [
|
||||
rtl8723bs-firmware
|
||||
];
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
let
|
||||
extlinux-conf-builder =
|
||||
import ../../system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.nix {
|
||||
inherit pkgs;
|
||||
pkgs = pkgs.buildPackages;
|
||||
};
|
||||
in
|
||||
{
|
||||
|
@ -15,13 +15,6 @@ in
|
|||
./sd-image.nix
|
||||
];
|
||||
|
||||
assertions = lib.singleton {
|
||||
assertion = pkgs.stdenv.hostPlatform.system == "aarch64-linux"
|
||||
&& pkgs.stdenv.hostPlatform.system == pkgs.stdenv.buildPlatform.system;
|
||||
message = "sd-image-aarch64.nix can be only built natively on Aarch64 / ARM64; " +
|
||||
"it cannot be cross compiled";
|
||||
};
|
||||
|
||||
boot.loader.grub.enable = false;
|
||||
boot.loader.generic-extlinux-compatible.enable = true;
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
let
|
||||
extlinux-conf-builder =
|
||||
import ../../system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.nix {
|
||||
inherit pkgs;
|
||||
pkgs = pkgs.buildPackages;
|
||||
};
|
||||
in
|
||||
{
|
||||
|
@ -15,13 +15,6 @@ in
|
|||
./sd-image.nix
|
||||
];
|
||||
|
||||
assertions = lib.singleton {
|
||||
assertion = pkgs.stdenv.hostPlatform.system == "armv7l-linux"
|
||||
&& pkgs.stdenv.hostPlatform.system == pkgs.stdenv.buildPlatform.system;
|
||||
message = "sd-image-armv7l-multiplatform.nix can be only built natively on ARMv7; " +
|
||||
"it cannot be cross compiled";
|
||||
};
|
||||
|
||||
boot.loader.grub.enable = false;
|
||||
boot.loader.generic-extlinux-compatible.enable = true;
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
let
|
||||
extlinux-conf-builder =
|
||||
import ../../system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.nix {
|
||||
inherit pkgs;
|
||||
pkgs = pkgs.buildPackages;
|
||||
};
|
||||
in
|
||||
{
|
||||
|
@ -15,13 +15,6 @@ in
|
|||
./sd-image.nix
|
||||
];
|
||||
|
||||
assertions = lib.singleton {
|
||||
assertion = pkgs.stdenv.hostPlatform.system == "armv6l-linux"
|
||||
&& pkgs.stdenv.hostPlatform.system == pkgs.stdenv.buildPlatform.system;
|
||||
message = "sd-image-raspberrypi.nix can be only built natively on ARMv6; " +
|
||||
"it cannot be cross compiled";
|
||||
};
|
||||
|
||||
boot.loader.grub.enable = false;
|
||||
boot.loader.generic-extlinux-compatible.enable = true;
|
||||
|
||||
|
|
|
@ -7,8 +7,8 @@ let
|
|||
generationsDirBuilder = pkgs.substituteAll {
|
||||
src = ./generations-dir-builder.sh;
|
||||
isExecutable = true;
|
||||
inherit (pkgs) bash;
|
||||
path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep];
|
||||
inherit (pkgs.buildPackages) bash;
|
||||
path = with pkgs.buildPackages; [coreutils gnused gnugrep];
|
||||
inherit (config.boot.loader.generationsDir) copyKernels;
|
||||
};
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ let
|
|||
|
||||
timeoutStr = if blCfg.timeout == null then "-1" else toString blCfg.timeout;
|
||||
|
||||
builder = import ./extlinux-conf-builder.nix { inherit pkgs; };
|
||||
builder = import ./extlinux-conf-builder.nix { pkgs = pkgs.buildPackages; };
|
||||
in
|
||||
{
|
||||
options = {
|
||||
|
|
|
@ -7,8 +7,8 @@ let
|
|||
initScriptBuilder = pkgs.substituteAll {
|
||||
src = ./init-script-builder.sh;
|
||||
isExecutable = true;
|
||||
inherit (pkgs) bash;
|
||||
path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep];
|
||||
inherit (pkgs.buildPackages) bash;
|
||||
path = with pkgs.buildPackages; [coreutils gnused gnugrep];
|
||||
};
|
||||
|
||||
in
|
||||
|
|
|
@ -19,7 +19,7 @@ let
|
|||
blCfg = config.boot.loader;
|
||||
timeoutStr = if blCfg.timeout == null then "-1" else toString blCfg.timeout;
|
||||
|
||||
isAarch64 = pkgs.stdenv.isAarch64;
|
||||
isAarch64 = pkgs.stdenv.hostPlatform.isAarch64;
|
||||
optional = pkgs.stdenv.lib.optionalString;
|
||||
|
||||
configTxt =
|
||||
|
@ -97,7 +97,7 @@ in
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
assertions = singleton {
|
||||
assertion = !pkgs.stdenv.isAarch64 || cfg.version == 3;
|
||||
assertion = !pkgs.stdenv.hostPlatform.isAarch64 || cfg.version == 3;
|
||||
message = "Only Raspberry Pi 3 supports aarch64.";
|
||||
};
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ pkgs, version, configTxt }:
|
||||
|
||||
let
|
||||
isAarch64 = pkgs.stdenv.isAarch64;
|
||||
isAarch64 = pkgs.stdenv.hostPlatform.isAarch64;
|
||||
|
||||
uboot =
|
||||
if version == 0 then
|
||||
|
@ -18,18 +18,17 @@ let
|
|||
|
||||
extlinuxConfBuilder =
|
||||
import ../generic-extlinux-compatible/extlinux-conf-builder.nix {
|
||||
inherit pkgs;
|
||||
pkgs = pkgs.buildPackages;
|
||||
};
|
||||
in
|
||||
pkgs.substituteAll {
|
||||
src = ./uboot-builder.sh;
|
||||
isExecutable = true;
|
||||
inherit (pkgs) bash;
|
||||
path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep];
|
||||
inherit (pkgs.buildPackages) bash;
|
||||
path = with pkgs.buildPackages; [coreutils gnused gnugrep];
|
||||
firmware = pkgs.raspberrypifw;
|
||||
inherit uboot;
|
||||
inherit configTxt;
|
||||
inherit extlinuxConfBuilder;
|
||||
inherit version;
|
||||
}
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ let
|
|||
|
||||
isExecutable = true;
|
||||
|
||||
inherit (pkgs) python3;
|
||||
inherit (pkgs.buildPackages) python3;
|
||||
|
||||
systemd = config.systemd.package;
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
|||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [
|
||||
alsaLib libjack2 libpulseaudio xorg.libX11 xorg.libXext
|
||||
xorg.xproto
|
||||
xorg.xorgproto
|
||||
];
|
||||
|
||||
patchPhase = "sed -i '41,43d' libbristolaudio/audioEngineJack.c"; # disable alsa/iatomic
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchFromGitHub, xorg, xproto, cairo, lv2, pkgconfig }:
|
||||
{ stdenv, fetchFromGitHub, xorg, xorgproto, cairo, lv2, pkgconfig }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${pname}-${version}";
|
||||
|
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [
|
||||
xorg.libX11 xproto cairo lv2
|
||||
xorg.libX11 xorgproto cairo lv2
|
||||
];
|
||||
|
||||
installFlags = [ "INSTALL_DIR=$(out)/lib/lv2" ];
|
||||
|
|
|
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
|
|||
for program in ingenams ingenish
|
||||
do
|
||||
wrapProgram $out/bin/$program \
|
||||
--prefix PYTHONPATH : $out/lib/python${python.majorVersion}/site-packages:$PYTHONPATH
|
||||
--prefix PYTHONPATH : $out/${python.sitePackages}:$PYTHONPATH
|
||||
done
|
||||
'';
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchurl, alsaLib, libX11, libXi, libXtst, xextproto }:
|
||||
{ stdenv, fetchurl, alsaLib, libX11, libXi, libXtst, xorgproto }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mid2key-r1";
|
||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
unpackPhase = "tar xvzf $src";
|
||||
|
||||
buildInputs = [ alsaLib libX11 libXi libXtst xextproto ];
|
||||
buildInputs = [ alsaLib libX11 libXi libXtst xorgproto ];
|
||||
|
||||
buildPhase = "make";
|
||||
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
|
||||
stdenv.mkDerivation (rec {
|
||||
name = "ed-${version}";
|
||||
version = "1.14.2";
|
||||
version = "1.15";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/ed/${name}.tar.lz";
|
||||
sha256 = "1nqhk3n1s1p77g2bjnj55acicsrlyb2yasqxqwpx0w0djfx64ygm";
|
||||
sha256 = "0x6ivy5k0d7dy5z9g8q8nipr89m4qbk2ink2898qq43smp08ji5d";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ lzip ];
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ stdenv, fetchurl, cmake, pkgconfig, gtk2, freetype, fontconfig, lcms,
|
||||
flex, libtiff, libjpeg, libpng, libexif, zlib, perlPackages, libX11,
|
||||
pythonPackages, gettext, intltool, babl, gegl,
|
||||
glib, makedepend, xf86vidmodeproto, xineramaproto, libXmu, openexr,
|
||||
glib, makedepend, xorgproto, libXmu, openexr,
|
||||
libGLU_combined, libXext, libXpm, libXau, libXxf86vm, pixman, libpthreadstubs, fltk } :
|
||||
|
||||
let
|
||||
|
@ -16,7 +16,7 @@ in stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [ libpng gtk2 freetype fontconfig lcms flex libtiff libjpeg
|
||||
libexif zlib libX11 python pygtk gettext intltool babl
|
||||
gegl glib makedepend xf86vidmodeproto xineramaproto libXmu openexr libGLU_combined
|
||||
gegl glib makedepend xorgproto libXmu openexr libGLU_combined
|
||||
libXext libXpm libXau libXxf86vm pixman libpthreadstubs fltk
|
||||
] ++ (with perlPackages; [ perl XMLParser ]);
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, fetchurl, aalib, gsl, libpng, libX11, xproto, libXext
|
||||
, xextproto, libXt, zlib, gettext, intltool, perl }:
|
||||
{ stdenv, fetchurl, aalib, gsl, libpng, libX11, xorgproto, libXext
|
||||
, libXt, zlib, gettext, intltool, perl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "xaos-${version}";
|
||||
|
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
|||
hardeningDisable = [ "format" ];
|
||||
|
||||
buildInputs = [
|
||||
aalib gsl libpng libX11 xproto libXext xextproto
|
||||
aalib gsl libpng libX11 xorgproto libXext
|
||||
libXt zlib gettext intltool perl
|
||||
];
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ stdenv, fetchurl, makeDesktopItem
|
||||
, ghostscript, atk, gtk2, glib, fontconfig, freetype
|
||||
, libgnomecanvas, libgnomeprint, libgnomeprintui
|
||||
, pango, libX11, xproto, zlib, poppler
|
||||
, pango, libX11, xorgproto, zlib, poppler
|
||||
, autoconf, automake, libtool, pkgconfig}:
|
||||
|
||||
let
|
||||
|
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
|||
buildInputs = [
|
||||
ghostscript atk gtk2 glib fontconfig freetype
|
||||
libgnomecanvas
|
||||
pango libX11 xproto zlib poppler
|
||||
pango libX11 xorgproto zlib poppler
|
||||
] ++ stdenv.lib.optionals (!stdenv.isDarwin) [
|
||||
libgnomeprint libgnomeprintui
|
||||
];
|
||||
|
|
|
@ -51,10 +51,10 @@ stdenv.mkDerivation rec {
|
|||
"-DWITH_SYSTEM_OPENJPEG=ON"
|
||||
"-DWITH_PLAYER=ON"
|
||||
"-DWITH_OPENSUBDIV=ON"
|
||||
"-DPYTHON_LIBRARY=python${python.majorVersion}m"
|
||||
"-DPYTHON_LIBRARY=${python.libPrefix}"
|
||||
"-DPYTHON_LIBPATH=${python}/lib"
|
||||
"-DPYTHON_INCLUDE_DIR=${python}/include/python${python.majorVersion}m"
|
||||
"-DPYTHON_VERSION=${python.majorVersion}"
|
||||
"-DPYTHON_INCLUDE_DIR=${python}/include/${python.libPrefix}"
|
||||
"-DPYTHON_VERSION=${python.pythonVersion}"
|
||||
"-DWITH_PYTHON_INSTALL=OFF"
|
||||
"-DWITH_PYTHON_INSTALL_NUMPY=OFF"
|
||||
]
|
||||
|
@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
|
|||
]
|
||||
++ optional colladaSupport "-DWITH_OPENCOLLADA=ON";
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR -I${python}/include/${python.libPrefix}m";
|
||||
NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR -I${python}/include/${python.libPrefix}";
|
||||
|
||||
# Since some dependencies are built with gcc 6, we need gcc 6's
|
||||
# libstdc++ in our RPATH. Sigh.
|
||||
|
@ -77,7 +77,7 @@ stdenv.mkDerivation rec {
|
|||
postInstall = optionalString enableNumpy
|
||||
''
|
||||
wrapProgram $out/bin/blender \
|
||||
--prefix PYTHONPATH : ${pythonPackages.numpy}/lib/python${python.majorVersion}/site-packages
|
||||
--prefix PYTHONPATH : ${pythonPackages.numpy}/${python.sitePackages}
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
|
|
@ -4,13 +4,13 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "clipmenu-${version}";
|
||||
version = "5.5.0";
|
||||
version = "5.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cdown";
|
||||
repo = "clipmenu";
|
||||
rev = version;
|
||||
sha256 = "15if7bwqviyynbrcwrn04r418cfnxf2mkmq112696np24bggvljg";
|
||||
sha256 = "13hyarzazh6j33d808h3s5yk320wqzivc0ni9xm8kalvn4k3a0bq";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ stdenv, fetchFromGitHub, makeWrapper
|
||||
, pkgconfig, which, perl, libXrandr
|
||||
, cairo, dbus, systemd, gdk_pixbuf, glib, libX11, libXScrnSaver
|
||||
, libXinerama, libnotify, libxdg_basedir, pango, xproto, librsvg, dunstify ? false
|
||||
, libXinerama, libnotify, libxdg_basedir, pango, xorgproto, librsvg, dunstify ? false
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [
|
||||
cairo dbus gdk_pixbuf glib libX11 libXScrnSaver
|
||||
libXinerama libnotify libxdg_basedir pango xproto librsvg libXrandr
|
||||
libXinerama libnotify libxdg_basedir pango xorgproto librsvg libXrandr
|
||||
];
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
|
|
|
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [
|
||||
gnome2.vte glib pango gnome2.gtk cairo gdk_pixbuf atk freetype xorg.libX11
|
||||
xorg.xproto xorg.kbproto xorg.libXext xorg.xextproto makeWrapper pkgconfig
|
||||
xorg.xorgproto xorg.libXext makeWrapper pkgconfig
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchurl, bzip2, qt4, qmake4Hook, libX11, xextproto, libXtst }:
|
||||
{ stdenv, fetchurl, bzip2, qt4, qmake4Hook, libX11, xorgproto, libXtst }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "keepassx-${version}";
|
||||
|
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
patches = [ ./random.patch ];
|
||||
|
||||
buildInputs = [ bzip2 qt4 libX11 xextproto libXtst ];
|
||||
buildInputs = [ bzip2 qt4 libX11 xorgproto libXtst ];
|
||||
|
||||
nativeBuildInputs = [ qmake4Hook ];
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ stdenv, fetchurl, libX11, libXft, libXi, inputproto, libSM, libICE
|
||||
{ stdenv, fetchurl, libX11, libXft, libXi, xorgproto, libSM, libICE
|
||||
, freetype, pkgconfig, which }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "mrxvt-0.5.4";
|
||||
|
||||
buildInputs =
|
||||
[ libX11 libXft libXi inputproto libSM libICE freetype pkgconfig which ];
|
||||
[ libX11 libXft libXi xorgproto libSM libICE freetype pkgconfig which ];
|
||||
|
||||
configureFlags = [
|
||||
"--with-x"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, fetchFromGitHub, cmake, pkgconfig, zip, gettext, perl
|
||||
, wxGTK31, libXi, libXt, libXtst, xercesc, xextproto
|
||||
, wxGTK31, libXi, libXt, libXtst, xercesc, xorgproto
|
||||
, qrencode, libuuid, libyubikey, yubikey-personalization
|
||||
}:
|
||||
|
||||
|
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
|||
nativeBuildInputs = [ cmake pkgconfig zip ];
|
||||
buildInputs = [
|
||||
gettext perl qrencode libuuid
|
||||
libXi libXt libXtst wxGTK31 xercesc xextproto
|
||||
libXi libXt libXtst wxGTK31 xercesc xorgproto
|
||||
libyubikey yubikey-personalization
|
||||
];
|
||||
cmakeFlags = [
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, fetchFromGitHub, freetype, libXrender, libXft, xextproto
|
||||
, xinput, libXi, libXext, libXtst, libXpm, libX11, xproto, autoreconfHook
|
||||
{ stdenv, fetchFromGitHub, freetype, libXrender, libXft, xorgproto
|
||||
, xinput, libXi, libXext, libXtst, libXpm, libX11, autoreconfHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [
|
||||
freetype libXrender libXft libXext libXtst libXpm libX11
|
||||
libXi xextproto xinput xproto
|
||||
libXi xorgproto xinput
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
|
|
|
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
|
||||
buildInputs =
|
||||
[ xorg.libXaw xorg.xproto xorg.libXt xorg.libXext xorg.libX11 xorg.libSM xorg.libICE
|
||||
[ xorg.libXaw xorg.xorgproto xorg.libXt xorg.libXext xorg.libX11 xorg.libSM xorg.libICE
|
||||
ncurses freetype fontconfig pkgconfig xorg.libXft xorg.luit makeWrapper
|
||||
];
|
||||
|
||||
|
|
|
@ -92,8 +92,8 @@ stdenv.mkDerivation rec {
|
|||
dbus dbus-glib pango freetype fontconfig xorg.libXi xorg.libXcursor
|
||||
xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file
|
||||
libnotify xorg.pixman yasm libGLU_combined
|
||||
xorg.libXScrnSaver xorg.scrnsaverproto
|
||||
xorg.libXext xorg.xextproto sqlite unzip makeWrapper
|
||||
xorg.libXScrnSaver xorg.xorgproto
|
||||
xorg.libXext sqlite unzip makeWrapper
|
||||
libevent libstartup_notification libvpx /* cairo */
|
||||
icu libpng jemalloc glib
|
||||
]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchurl, firefox, libX11, xproto }:
|
||||
{ stdenv, fetchurl, firefox, libX11, xorgproto }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mozplugger-${version}";
|
||||
|
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "1vszkq4kdbaxsrqr2xn9rq6ipza9fngdri79gvjqk3bvsdmg0k19";
|
||||
};
|
||||
|
||||
buildInputs = [ firefox libX11 xproto ];
|
||||
buildInputs = [ firefox libX11 xorgproto ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p "$out/etc" "$out/bin" "$out/lib/mozilla/plugins" "$out/share/man/man7"
|
||||
|
|
|
@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
|
|||
libpulseaudio sqlite unzip which yasm zip zlib
|
||||
] ++ (with xorg; [
|
||||
libX11 libXext libXft libXi libXrender libXScrnSaver
|
||||
libXt pixman scrnsaverproto xextproto
|
||||
libXt pixman xorgproto
|
||||
]);
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{ stdenv, glib, fetchurl, fetchpatch, cyrus_sasl, gettext, openldap, ptlib, opal, libXv, rarian, intltool
|
||||
, perlPackages, evolution-data-server, gnome-doc-utils, avahi, autoreconfHook
|
||||
, libsigcxx, gtk, dbus-glib, libnotify, libXext, xextproto, gnome3, boost, libsecret
|
||||
, pkgconfig, libxml2, videoproto, unixODBC, db, nspr, nss, zlib
|
||||
, libXrandr, randrproto, which, libxslt, libtasn1, gmp, nettle, sqlite, makeWrapper }:
|
||||
, libsigcxx, gtk, dbus-glib, libnotify, libXext, xorgproto, gnome3, boost, libsecret
|
||||
, pkgconfig, libxml2, unixODBC, db, nspr, nss, zlib
|
||||
, libXrandr, which, libxslt, libtasn1, gmp, nettle, sqlite, makeWrapper }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ekiga-4.0.1";
|
||||
|
@ -14,10 +14,10 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [ cyrus_sasl gettext openldap ptlib opal libXv rarian intltool
|
||||
evolution-data-server gnome-doc-utils avahi
|
||||
libsigcxx gtk dbus-glib libnotify libXext xextproto sqlite
|
||||
libsigcxx gtk dbus-glib libnotify libXext xorgproto sqlite
|
||||
gnome3.libsoup glib gnome3.defaultIconTheme boost
|
||||
autoreconfHook pkgconfig libxml2 videoproto unixODBC db nspr
|
||||
nss zlib libsecret libXrandr randrproto which libxslt libtasn1
|
||||
autoreconfHook pkgconfig libxml2 unixODBC db nspr
|
||||
nss zlib libsecret libXrandr which libxslt libtasn1
|
||||
gmp nettle makeWrapper ]
|
||||
++ (with perlPackages; [ perl XMLParser ]);
|
||||
|
||||
|
|
|
@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
|
|||
++ optionals pythonPluginSupport [ "-I${python}/include/${python.libPrefix}" ];
|
||||
|
||||
LDFLAGS = [ ]
|
||||
++ optionals pythonPluginSupport [ "-L${python}/lib" "-lpython${python.majorVersion}m" ];
|
||||
++ optionals pythonPluginSupport [ "-L${python}/lib" "-l${python.libPrefix}" ];
|
||||
|
||||
meta = {
|
||||
description = "A console based XMPP client";
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ stdenv, fetchurl, enchant, qt4, zlib, sox, libX11, xproto, libSM
|
||||
{ stdenv, fetchurl, enchant, qt4, zlib, sox, libX11, xorgproto, libSM
|
||||
, libICE, qca2, pkgconfig, which, glib
|
||||
, libXScrnSaver, scrnsaverproto
|
||||
, libXScrnSaver
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -12,8 +12,8 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
|
||||
buildInputs =
|
||||
[ enchant qt4 zlib sox libX11 xproto libSM libICE
|
||||
qca2 pkgconfig which glib scrnsaverproto libXScrnSaver
|
||||
[ enchant qt4 zlib sox libX11 xorgproto libSM libICE
|
||||
qca2 pkgconfig which glib libXScrnSaver
|
||||
];
|
||||
|
||||
NIX_CFLAGS_COMPILE="-I${qca2}/include/QtCrypto";
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ stdenv, fetchFromGitHub
|
||||
, qt4, qmake4Hook, openssl
|
||||
, xproto, libX11, libXScrnSaver, scrnsaverproto
|
||||
, xorgproto, libX11, libXScrnSaver
|
||||
, xz, zlib
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
|
||||
buildInputs = [
|
||||
qt4 openssl xproto libX11 libXScrnSaver scrnsaverproto xz zlib
|
||||
qt4 openssl xorgproto libX11 libXScrnSaver xz zlib
|
||||
];
|
||||
|
||||
# hack: needed to fix build issues in
|
||||
|
|
|
@ -37,8 +37,8 @@ in stdenv.mkDerivation rec {
|
|||
dbus dbus-glib pango freetype fontconfig xorg.libXi
|
||||
xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file
|
||||
nspr nss libnotify xorg.pixman yasm libGLU_combined
|
||||
xorg.libXScrnSaver xorg.scrnsaverproto
|
||||
xorg.libXext xorg.xextproto sqlite unzip
|
||||
xorg.libXScrnSaver xorg.xorgproto
|
||||
xorg.libXext sqlite unzip
|
||||
hunspell libevent libstartup_notification /* cairo */
|
||||
icu libpng jemalloc
|
||||
]
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, fetchurl
|
||||
, xproto, motif, libX11, libXt, libXpm, bison
|
||||
, xorgproto, motif, libX11, libXt, libXpm, bison
|
||||
, flex, automake, autoconf, libtool
|
||||
}:
|
||||
|
||||
|
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
|
||||
nativeBuildInputs = [ libtool automake autoconf flex ];
|
||||
buildInputs = [ xproto motif xproto libX11 libXt libXpm bison ];
|
||||
buildInputs = [ xorgproto motif libX11 libXt libXpm bison ];
|
||||
|
||||
sourceRoot = "alliance/src/";
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchurl, tcl, tk, libX11, glibc, which, yacc, flex, imake, xproto, gccmakedep }:
|
||||
{ stdenv, fetchurl, tcl, tk, libX11, glibc, which, yacc, flex, imake, xorgproto, gccmakedep }:
|
||||
|
||||
let
|
||||
libiconvInc = stdenv.lib.optionalString stdenv.isLinux "${glibc.dev}/include";
|
||||
|
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
|
||||
nativeBuildInputs = [ which yacc flex imake gccmakedep ];
|
||||
buildInputs = [ tcl tk libX11 xproto ];
|
||||
buildInputs = [ tcl tk libX11 xorgproto ];
|
||||
dontUseImakeConfigure = true;
|
||||
|
||||
patchPhase = ''
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "golly-${version}";
|
||||
pname = "golly";
|
||||
version = "2.8.99.2.20161122";
|
||||
#src = fetchurl {
|
||||
# url="mirror://sourceforge/project/golly/golly/golly-2.8/golly-2.8-src.tar.gz";
|
||||
|
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
|||
makeFlags=[
|
||||
"AM_LDFLAGS="
|
||||
];
|
||||
NIX_LDFLAGS="-lpython${python2.majorVersion} -lperl -ldl -lGL";
|
||||
NIX_LDFLAGS="-l${python2.libPrefix} -lperl -ldl -lGL";
|
||||
preConfigure=''
|
||||
export NIX_LDFLAGS="$NIX_LDFLAGS -L$(dirname "$(find ${perl} -name libperl.so)")"
|
||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
{stdenv, fetchurl, wxGTK, perl, python2, zlib, libGLU_combined, libX11}:
|
||||
stdenv.mkDerivation rec {
|
||||
baseName="golly";
|
||||
pname = "golly";
|
||||
version = "3.2";
|
||||
name="${baseName}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
sha256 = "0cg9mbwmf4q6qxhqlnzrxh9y047banxdb8pd3hgj3smmja2zf0jd";
|
||||
|
@ -21,7 +20,7 @@ stdenv.mkDerivation rec {
|
|||
makeFlags=[
|
||||
"AM_LDFLAGS="
|
||||
];
|
||||
NIX_LDFLAGS="-lpython${python2.majorVersion} -lperl";
|
||||
NIX_LDFLAGS="-l${python2.libPrefix} -lperl";
|
||||
preConfigure=''
|
||||
export NIX_LDFLAGS="$NIX_LDFLAGS -L$(dirname "$(find ${perl} -name libperl.so)")"
|
||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
, pkgconfig, faad2, faac, a52dec, alsaLib, fftw, lame, libavc1394
|
||||
, libiec61883, libraw1394, libsndfile, libvorbis, libogg, libjpeg
|
||||
, libtiff, freetype, mjpegtools, x264, gettext, openexr
|
||||
, libXext, libXxf86vm, libXv, libXi, libX11, libXft, xextproto, libtheora, libpng
|
||||
, libXext, libXxf86vm, libXv, libXi, libX11, libXft, xorgproto, libtheora, libpng
|
||||
, libdv, libuuid, file, nasm, perl
|
||||
, fontconfig, intltool }:
|
||||
|
||||
|
@ -30,7 +30,7 @@ stdenv.mkDerivation {
|
|||
a52dec alsaLib fftw lame libavc1394 libiec61883
|
||||
libraw1394 libsndfile libvorbis libogg libjpeg libtiff freetype
|
||||
mjpegtools x264 gettext openexr
|
||||
libXext libXxf86vm libXv libXi libX11 libXft xextproto
|
||||
libXext libXxf86vm libXv libXi libX11 libXft xorgproto
|
||||
libtheora libpng libdv libuuid
|
||||
nasm
|
||||
perl
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
, boost, avahi, lame, autoreconfHook
|
||||
, gettext, pcre-cpp, yajl, fribidi, which
|
||||
, openssl, gperf, tinyxml2, taglib, libssh, swig, jre
|
||||
, libX11, xproto, inputproto, libxml2
|
||||
, libXt, libXmu, libXext, xextproto
|
||||
, libXinerama, libXrandr, randrproto
|
||||
, libXtst, libXfixes, fixesproto, systemd
|
||||
, libX11, xorgproto, libxml2
|
||||
, libXt, libXmu, libXext
|
||||
, libXinerama, libXrandr
|
||||
, libXtst, libXfixes, systemd
|
||||
, alsaLib, libGLU_combined, glew, fontconfig, freetype, ftgl
|
||||
, libjpeg, jasper, libpng, libtiff
|
||||
, libmpeg2, libsamplerate, libmad
|
||||
|
@ -123,8 +123,8 @@ in stdenv.mkDerivation rec {
|
|||
boost libmicrohttpd
|
||||
gettext pcre-cpp yajl fribidi libva libdrm
|
||||
openssl gperf tinyxml2 taglib libssh swig jre
|
||||
libX11 xproto inputproto libXt libXmu libXext xextproto
|
||||
libXinerama libXrandr randrproto libXtst libXfixes fixesproto
|
||||
libX11 xorgproto libXt libXmu libXext
|
||||
libXinerama libXrandr libXtst libXfixes
|
||||
alsaLib libGLU_combined glew fontconfig freetype ftgl
|
||||
libjpeg jasper libpng libtiff wayland
|
||||
libmpeg2 libsamplerate libmad
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{stdenv, fetchurl, ncurses, libjpeg, libX11, libXt, alsaLib, aalib, libXft, xproto, libv4l
|
||||
, libFS, fontsproto, libXaw, libXpm, libXext, libSM, libICE, perl, xextproto, linux}:
|
||||
{stdenv, fetchurl, ncurses, libjpeg, libX11, libXt, alsaLib, aalib, libXft, xorgproto, libv4l
|
||||
, libFS, libXaw, libXpm, libXext, libSM, libICE, perl, linux}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "xawtv-3.105";
|
||||
|
@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
|
|||
|
||||
makeFlags = "SUID_ROOT= DESTDIR=\$(out) PREFIX=";
|
||||
|
||||
buildInputs = [ncurses libjpeg libX11 libXt libXft xproto libFS perl alsaLib aalib
|
||||
fontsproto libXaw libXpm libXext libSM libICE xextproto libv4l];
|
||||
buildInputs = [ncurses libjpeg libX11 libXt libXft xorgproto libFS perl alsaLib aalib
|
||||
libXaw libXpm libXext libSM libICE libv4l];
|
||||
|
||||
meta = {
|
||||
description = "TV application for Linux with apps and tools such as a teletext browser";
|
||||
|
|
|
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs =
|
||||
[ xineLib libpng readline ncurses curl lirc libjpeg
|
||||
xorg.xlibsWrapper xorg.libXext xorg.libXv xorg.libXxf86vm xorg.libXtst xorg.inputproto
|
||||
xorg.xlibsWrapper xorg.libXext xorg.libXv xorg.libXxf86vm xorg.libXtst xorg.xorgproto
|
||||
xorg.libXinerama xorg.libXi xorg.libXft
|
||||
];
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, fetchurl, lib, fetchpatch, iasl, dev86, pam, libxslt, libxml2
|
||||
, libX11, xproto, libXext, libXcursor, libXmu, qt5, libIDL, SDL, libcap
|
||||
, libX11, xorgproto, libXext, libXcursor, libXmu, qt5, libIDL, SDL, libcap
|
||||
, libpng, glib, lvm2, libXrandr, libXinerama, libopus
|
||||
, pkgconfig, which, docbook_xsl, docbook_xml_dtd_43
|
||||
, alsaLib, curl, libvpx, nettools, dbus
|
||||
|
@ -35,7 +35,7 @@ in stdenv.mkDerivation {
|
|||
nativeBuildInputs = [ pkgconfig which docbook_xsl docbook_xml_dtd_43 patchelfUnstable ];
|
||||
|
||||
buildInputs =
|
||||
[ iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor libIDL
|
||||
[ iasl dev86 libxslt libxml2 xorgproto libX11 libXext libXcursor libIDL
|
||||
libcap glib lvm2 alsaLib curl libvpx pam makeself perl
|
||||
libXmu libpng libopus python ]
|
||||
++ optional javaBindings jdk
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, fetchurl, libX11, libXext, libXrandr, libXrender,
|
||||
xproto, xextproto, randrproto, renderproto, kbproto, patches ? [] }:
|
||||
xorgproto, patches ? [] }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "evilwm-1.1.1";
|
||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
|
||||
buildInputs = [ libX11 libXext libXrandr libXrender
|
||||
xproto xextproto randrproto renderproto kbproto ];
|
||||
xorgproto ];
|
||||
|
||||
prePatch = ''substituteInPlace ./Makefile --replace /usr $out \
|
||||
--replace "CC = gcc" "#CC = gcc"'';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ stdenv, fetchurl, pkgconfig
|
||||
, freetype, fribidi
|
||||
, libXext, libXft, libXpm, libXrandr, libXrender, xextproto
|
||||
, libXext, libXft, libXpm, libXrandr, libXrender, xorgproto
|
||||
, libXinerama
|
||||
, imlib2 }:
|
||||
|
||||
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
buildInputs = [ freetype fribidi libXext libXft libXpm libXrandr libXrender xextproto libXinerama imlib2 ];
|
||||
buildInputs = [ freetype fribidi libXext libXft libXpm libXrandr libXrender xorgproto libXinerama imlib2 ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchFromGitHub, pkgconfig, xproto, libxcb, xcbutilkeysyms
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, xorgproto, libxcb, xcbutilkeysyms
|
||||
, xorg , i3ipc-glib , glib
|
||||
}:
|
||||
|
||||
|
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ libxcb xcbutilkeysyms xproto xorg.libX11.dev i3ipc-glib glib.dev ];
|
||||
buildInputs = [ libxcb xcbutilkeysyms xorgproto xorg.libX11.dev i3ipc-glib glib.dev ];
|
||||
|
||||
# Makefile has no rule for 'install'
|
||||
installPhase = ''
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchFromGitHub, pkgconfig, xproto, libxcb
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, xorgproto, libxcb
|
||||
, autoreconfHook, json-glib, gtk-doc, which
|
||||
, gobject-introspection
|
||||
}:
|
||||
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
nativeBuildInputs = [ autoreconfHook which pkgconfig ];
|
||||
|
||||
buildInputs = [ libxcb json-glib gtk-doc xproto gobject-introspection ];
|
||||
buildInputs = [ libxcb json-glib gtk-doc xorgproto gobject-introspection ];
|
||||
|
||||
|
||||
preAutoreconf = ''
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ stdenv, fetchFromGitHub, pkgconfig, automake, autoconf, libtool,
|
||||
gettext, which, xorg, libX11, libXext, libXinerama, libXpm, libXft,
|
||||
libXau, libXdmcp, libXmu, libpng, libjpeg, expat, xproto, xextproto,
|
||||
xineramaproto, librsvg, freetype, fontconfig }:
|
||||
libXau, libXdmcp, libXmu, libpng, libjpeg, expat, xorgproto,
|
||||
librsvg, freetype, fontconfig }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "jwm-${version}";
|
||||
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
|||
nativeBuildInputs = [ pkgconfig automake autoconf libtool gettext which ];
|
||||
|
||||
buildInputs = [ libX11 libXext libXinerama libXpm libXft xorg.libXrender
|
||||
libXau libXdmcp libXmu libpng libjpeg expat xproto xextproto xineramaproto
|
||||
libXau libXdmcp libXmu libpng libjpeg expat xorgproto
|
||||
librsvg freetype fontconfig ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
, freetype, fribidi
|
||||
, libSM, libICE, libXt, libXaw, libXmu
|
||||
, libXext, libXft, libXpm, libXrandr
|
||||
, libXrender, xextproto, libXinerama }:
|
||||
, libXrender, xorgproto, libXinerama }:
|
||||
|
||||
with stdenv.lib;
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ freetype fribidi libSM libICE libXt libXaw libXmu libXext
|
||||
libXft libXpm libXrandr libXrender xextproto libXinerama ];
|
||||
libXft libXpm libXrandr libXrender xorgproto libXinerama ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://ftp.debian.org/debian/pool/main/o/oroborus/oroborus_${version}.tar.gz";
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, fetchurl, pkgconfig, perl, autoconf, automake
|
||||
, libX11, inputproto, libXt, libXpm, libXft, libXtst, xextproto, libXi
|
||||
, libX11, xorgproto, libXt, libXpm, libXft, libXtst, libXi
|
||||
, libXrandr, fontconfig, freetype, readline
|
||||
}:
|
||||
|
||||
|
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs =
|
||||
[ perl
|
||||
libX11 inputproto libXt libXpm libXft libXtst xextproto libXi libXrandr
|
||||
libX11 xorgproto libXt libXpm libXft libXtst libXi libXrandr
|
||||
fontconfig freetype readline ];
|
||||
|
||||
postInstall = ''
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchurl, libX11, xproto }:
|
||||
{ stdenv, fetchurl, libX11, xorgproto }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "stalonetray-${version}";
|
||||
|
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "0k7xnpdb6dvx25d67v0crlr32cdnzykdsi9j889njiididc8lm1n";
|
||||
};
|
||||
|
||||
buildInputs = [ libX11 xproto ];
|
||||
buildInputs = [ libX11 xorgproto ];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{stdenv, fetchgit, xproto, libX11, libXft, customConfig ? null, patches ? [] }:
|
||||
{stdenv, fetchgit, xorgproto, libX11, libXft, customConfig ? null, patches ? [] }:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
|||
cp ${builtins.toFile "config.h" customConfig} ./config.h
|
||||
'';
|
||||
|
||||
buildInputs = [ xproto libX11 libXft ];
|
||||
buildInputs = [ xorgproto libX11 libXft ];
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=$(out)"
|
||||
|
|
|
@ -257,9 +257,8 @@ rec {
|
|||
|
||||
# X.org.
|
||||
xorg = [
|
||||
http://xorg.freedesktop.org/releases/
|
||||
http://ftp.gwdg.de/pub/x11/x.org/pub/
|
||||
http://ftp.x.org/pub/ # often incomplete (e.g. files missing from X.org 7.4)
|
||||
https://xorg.freedesktop.org/releases/
|
||||
https://ftp.x.org/archive/
|
||||
];
|
||||
|
||||
# Apache mirrors (see http://www.apache.org/mirrors/).
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{stdenv, fetchurl, pkgconfig, xproto}:
|
||||
{stdenv, fetchurl, pkgconfig, xorgproto}:
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "rgb";
|
||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
|
||||
nativeBuildInputs = [pkgconfig];
|
||||
buildInputs = [xproto];
|
||||
buildInputs = [xorgproto];
|
||||
meta = {
|
||||
inherit version;
|
||||
description = "X11 colorname to RGB mapping database";
|
||||
|
|
|
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [ openssl zlib lz4 freetype fontconfig SDL libGL mesa_noglu
|
||||
giflib libpng libtiff glib gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
|
||||
gst_all_1.gst-libav libpulseaudio libsndfile xorg.libXcursor xorg.printproto
|
||||
gst_all_1.gst-libav libpulseaudio libsndfile xorg.libXcursor xorg.xorgproto
|
||||
xorg.libX11 udev systemd ];
|
||||
|
||||
propagatedBuildInputs = [ libxkbcommon python27Packages.dbus-python dbus libjpeg xorg.libXcomposite
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, libXtst, xproto, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk, hicolor-icon-theme }:
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, libXtst, xorgproto, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk, hicolor-icon-theme }:
|
||||
|
||||
with stdenv.lib;
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
|||
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ intltool glib exo libXtst xproto libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk hicolor-icon-theme ];
|
||||
buildInputs = [ intltool glib exo libXtst xorgproto libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk hicolor-icon-theme ];
|
||||
|
||||
meta = {
|
||||
homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, libXtst, xproto, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk, hicolor-icon-theme }:
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, libXtst, xorgproto, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk, hicolor-icon-theme }:
|
||||
|
||||
with stdenv.lib;
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
|||
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ intltool glib exo libXtst xproto libxfce4util libxfce4ui xfce4-panel xfconf gtk hicolor-icon-theme ];
|
||||
buildInputs = [ intltool glib exo libXtst xorgproto libxfce4util libxfce4ui xfce4-panel xfconf gtk hicolor-icon-theme ];
|
||||
|
||||
meta = {
|
||||
homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
stdenv, fetchurl
|
||||
, fpc
|
||||
, gtk2, glib, pango, atk, gdk_pixbuf
|
||||
, libXi, inputproto, libX11, xproto, libXext, xextproto
|
||||
, libXi, xorgproto, libX11, libXext
|
||||
, makeWrapper
|
||||
}:
|
||||
let
|
||||
|
@ -15,8 +15,8 @@ let
|
|||
name = "lazarus-${version}";
|
||||
};
|
||||
buildInputs = [
|
||||
fpc gtk2 glib libXi inputproto
|
||||
libX11 xproto libXext xextproto pango atk
|
||||
fpc gtk2 glib libXi xorgproto
|
||||
libX11 libXext pango atk
|
||||
stdenv.cc makeWrapper gdk_pixbuf
|
||||
];
|
||||
in
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
, zip ? null, unzip ? null, pkgconfig ? null
|
||||
, gtk2 ? null, libart_lgpl ? null
|
||||
, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
|
||||
, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null
|
||||
, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null
|
||||
, libXrender ? null, xorgproto ? null
|
||||
, libXrandr ? null, libXi ? null
|
||||
, x11Support ? langJava
|
||||
, enableMultilib ? false
|
||||
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
||||
|
@ -89,7 +89,7 @@ let version = "4.8.5";
|
|||
|
||||
xlibs = [
|
||||
libX11 libXt libSM libICE libXtst libXrender libXrandr libXi
|
||||
xproto renderproto xextproto inputproto randrproto
|
||||
xorgproto
|
||||
];
|
||||
|
||||
javaAwtGtk = langJava && x11Support;
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
, zip ? null, unzip ? null, pkgconfig ? null
|
||||
, gtk2 ? null, libart_lgpl ? null
|
||||
, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
|
||||
, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null
|
||||
, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null
|
||||
, libXrender ? null, xorgproto ? null
|
||||
, libXrandr ? null, libXi ? null
|
||||
, x11Support ? langJava
|
||||
, enableMultilib ? false
|
||||
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
||||
|
@ -94,7 +94,7 @@ let version = "4.9.4";
|
|||
|
||||
xlibs = [
|
||||
libX11 libXt libSM libICE libXtst libXrender libXrandr libXi
|
||||
xproto renderproto xextproto inputproto randrproto
|
||||
xorgproto
|
||||
];
|
||||
|
||||
javaAwtGtk = langJava && x11Support;
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
, zip ? null, unzip ? null, pkgconfig ? null
|
||||
, gtk2 ? null, libart_lgpl ? null
|
||||
, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
|
||||
, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null
|
||||
, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null
|
||||
, libXrender ? null, xorgproto ? null
|
||||
, libXrandr ? null, libXi ? null
|
||||
, x11Support ? langJava
|
||||
, enableMultilib ? false
|
||||
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
||||
|
@ -81,7 +81,7 @@ let version = "5.5.0";
|
|||
|
||||
xlibs = [
|
||||
libX11 libXt libSM libICE libXtst libXrender libXrandr libXi
|
||||
xproto renderproto xextproto inputproto randrproto
|
||||
xorgproto
|
||||
];
|
||||
|
||||
javaAwtGtk = langJava && x11Support;
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
, zip ? null, unzip ? null, pkgconfig ? null
|
||||
, gtk2 ? null, libart_lgpl ? null
|
||||
, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
|
||||
, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null
|
||||
, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null
|
||||
, libXrender ? null, xorgproto ? null
|
||||
, libXrandr ? null, libXi ? null
|
||||
, x11Support ? langJava
|
||||
, enableMultilib ? false
|
||||
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
||||
|
@ -78,7 +78,7 @@ let version = "6.5.0";
|
|||
|
||||
xlibs = [
|
||||
libX11 libXt libSM libICE libXtst libXrender libXrandr libXi
|
||||
xproto renderproto xextproto inputproto randrproto
|
||||
xorgproto
|
||||
];
|
||||
|
||||
javaAwtGtk = langJava && x11Support;
|
||||
|
|
|
@ -37,7 +37,7 @@ assert langGo -> langCC;
|
|||
with stdenv.lib;
|
||||
with builtins;
|
||||
|
||||
let version = "7.3.0";
|
||||
let version = "7.4.0";
|
||||
|
||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||
|
||||
|
@ -138,7 +138,7 @@ stdenv.mkDerivation ({
|
|||
|
||||
src = fetchurl {
|
||||
url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz";
|
||||
sha256 = "0p71bij6bfhzyrs8676a8jmpjsfz392s2rg862sdnsk30jpacb43";
|
||||
sha256 = "0lgy170b0pp60j9cczqkmaqyjjb584vfamj4c30swd7k0j6y5pgd";
|
||||
};
|
||||
|
||||
inherit patches;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ stdenv, fetchgit, mpfr, m4, binutils, emacs, zlib, which
|
||||
, texinfo, libX11, xproto, inputproto, libXi, gmp, readline, strace
|
||||
, libXext, xextproto, libXt, libXaw, libXmu } :
|
||||
, texinfo, libX11, xorgproto, libXi, gmp, readline, strace
|
||||
, libXext, libXt, libXaw, libXmu } :
|
||||
|
||||
assert stdenv ? cc ;
|
||||
assert stdenv.cc.isGNU ;
|
||||
|
@ -27,8 +27,8 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [
|
||||
mpfr m4 binutils emacs gmp
|
||||
libX11 xproto inputproto libXi
|
||||
libXext xextproto libXt libXaw libXmu
|
||||
libX11 xorgproto libXi
|
||||
libXext libXt libXaw libXmu
|
||||
zlib which texinfo readline strace
|
||||
];
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ stdenv, fetchurl, mpfr, m4, binutils, emacs, zlib, which
|
||||
, texinfo, libX11, xproto, inputproto, libXi, gmp
|
||||
, libXext, xextproto, libXt, libXaw, libXmu } :
|
||||
, texinfo, libX11, xorgproto, libXi, gmp
|
||||
, libXext, libXt, libXaw, libXmu } :
|
||||
|
||||
assert stdenv ? cc ;
|
||||
assert stdenv.cc.isGNU ;
|
||||
|
@ -23,8 +23,8 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [
|
||||
mpfr m4 binutils emacs gmp
|
||||
libX11 xproto inputproto libXi
|
||||
libXext xextproto libXt libXaw libXmu
|
||||
libX11 xorgproto libXi
|
||||
libXext libXt libXaw libXmu
|
||||
zlib which texinfo
|
||||
];
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ let
|
|||
name = "clang-${version}";
|
||||
|
||||
unpackPhase = ''
|
||||
unpackFile ${fetch "cfe" "0mdsbgj3p7mayhzm8hclzl3i46r2lwa8fr1cz399f9km3iqi40jm"}
|
||||
unpackFile ${fetch "cfe" "067lwggnbg0w1dfrps790r5l6k8n5zwhlsw7zb6zvmfpwpfn4nx4"}
|
||||
mv cfe-${version}* clang
|
||||
sourceRoot=$PWD/clang
|
||||
unpackFile ${clang-tools-extra_src}
|
||||
|
|
|
@ -3,7 +3,7 @@ with stdenv.lib;
|
|||
stdenv.mkDerivation rec {
|
||||
name = "compiler-rt-${version}";
|
||||
inherit version;
|
||||
src = fetch "compiler-rt" "1mkhqvs8cxbfmprkzwyq7lmnzr1sv45znzf0arbgb19crzipzv5x";
|
||||
src = fetch "compiler-rt" "065ybd8fsc4h2hikbdyricj6pyv4r7r7kpcikhb2y5zf370xybkq";
|
||||
|
||||
nativeBuildInputs = [ cmake python llvm ];
|
||||
buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
}:
|
||||
|
||||
let
|
||||
release_version = "7.0.0";
|
||||
release_version = "7.0.1";
|
||||
version = release_version; # differentiating these is important for rc's
|
||||
|
||||
fetch = name: sha256: fetchurl {
|
||||
|
@ -13,7 +13,7 @@ let
|
|||
inherit sha256;
|
||||
};
|
||||
|
||||
clang-tools-extra_src = fetch "clang-tools-extra" "1glxl7bnr4k3j16s8xy8r9cl0llyg524f50591g1ig23ij65lz4k";
|
||||
clang-tools-extra_src = fetch "clang-tools-extra" "1v9vc7id1761qm7mywlknsp810232iwyz8rd4y5km4h7pg9cg4sc";
|
||||
|
||||
tools = stdenv.lib.makeExtensible (tools: let
|
||||
callPackage = newScope (tools // { inherit stdenv cmake libxml2 python isl release_version version fetch; });
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
stdenv.mkDerivation rec {
|
||||
name = "libc++-${version}";
|
||||
|
||||
src = fetch "libcxx" "1w1l472p03csgz76p70pn9yk7h0nw5hj1av44ysnakigp8jjcd4v";
|
||||
src = fetch "libcxx" "1wdrxg365ig0kngx52pd0n820sncp24blb0zpalc579iidhh4002";
|
||||
|
||||
postUnpack = ''
|
||||
unpackFile ${libcxxabi.src}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
stdenv.mkDerivation {
|
||||
name = "libc++abi-${version}";
|
||||
|
||||
src = fetch "libcxxabi" "0pr4xfx61r5mwmvhg4j9pb6df6vvha1gyf6rwkm14x9rzxcwficv";
|
||||
src = fetch "libcxxabi" "1n6yx0949l9bprh75dffchahn8wplkm79ffk4f2ap9vw2lx90s41";
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind;
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
stdenv.mkDerivation {
|
||||
name = "lld-${version}";
|
||||
|
||||
src = fetch "lld" "173z50vx5mlsaiqmbz7asxy2297z4xivrfxrdfncvx23wp2lgkzv";
|
||||
src = fetch "lld" "0ca0qygrk87lhjk6cpv1wbmdfnficqqjsda3k7b013idvnralsc8";
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ llvm libxml2 ];
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
stdenv.mkDerivation {
|
||||
name = "lldb-${version}";
|
||||
|
||||
src = fetch "lldb" "0cmah36ybyfws0z2ikq9fqn5k4kvjci7vgk97ddx4xwrwkzdixkz";
|
||||
src = fetch "lldb" "10k9lyk3i72j9hca523r9pz79qp7d8q7jqnjy0i3saj1bgknpd3n";
|
||||
|
||||
postPatch = ''
|
||||
# Fix up various paths that assume llvm and clang are installed in the same place
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
let
|
||||
inherit (stdenv.lib) optional optionals optionalString;
|
||||
|
||||
src = fetch "llvm" "08p27wv1pr9ql2zc3f3qkkymci46q7myvh8r5ijippnbwr2gihcb";
|
||||
src = fetch "llvm" "16s196wqzdw4pmri15hadzqgdi926zln3an2viwyq0kini6zr3d3";
|
||||
|
||||
# Used when creating a version-suffixed symlink of libLLVM.dylib
|
||||
shortVersion = with stdenv.lib;
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
stdenv.mkDerivation {
|
||||
name = "openmp-${version}";
|
||||
|
||||
src = fetch "openmp" "1zrqlaxr954sp8lcr7g8m0z0pr8xyq4i6p11x6gcamjm5xijnrih";
|
||||
src = fetch "openmp" "030dkg5cypd7j9hq0mcqb5gs31lxwmzfq52j81l7v9ldcy5bf5mz";
|
||||
|
||||
nativeBuildInputs = [ cmake perl ];
|
||||
buildInputs = [ llvm ];
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "nasm-${version}";
|
||||
version = "2.14.01";
|
||||
version = "2.14.02";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.nasm.us/pub/nasm/releasebuilds/${version}/${name}.tar.bz2";
|
||||
sha256 = "1v9fazd3in0rphnw5ck58wqnl8dis4dyqpsqgjsm4h9jjj0vylvz";
|
||||
sha256 = "1g409sr1kj7v1089s9kv0i4azvddkcwcypnbakfryyi71b3jdz9l";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ perl ];
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ stdenv, fetchurl
|
||||
, ncurses
|
||||
, libX11, xproto, buildEnv
|
||||
, libX11, xorgproto, buildEnv
|
||||
}:
|
||||
|
||||
let
|
||||
useX11 = stdenv.isi686 || stdenv.isx86_64;
|
||||
x11deps = [ libX11 xproto ];
|
||||
x11deps = [ libX11 xorgproto ];
|
||||
inherit (stdenv.lib) optionals;
|
||||
|
||||
baseOcamlBranch = "4.07";
|
||||
|
|
|
@ -11,7 +11,7 @@ let
|
|||
in
|
||||
|
||||
{ stdenv, fetchurl, ncurses, buildEnv
|
||||
, libX11, xproto, useX11 ? safeX11 stdenv
|
||||
, libX11, xorgproto, useX11 ? safeX11 stdenv
|
||||
, flambdaSupport ? false
|
||||
}:
|
||||
|
||||
|
@ -25,7 +25,7 @@ let
|
|||
in
|
||||
|
||||
let
|
||||
x11env = buildEnv { name = "x11env"; paths = [libX11 xproto]; };
|
||||
x11env = buildEnv { name = "x11env"; paths = [libX11 xorgproto]; };
|
||||
x11lib = x11env + "/lib";
|
||||
x11inc = x11env + "/include";
|
||||
in
|
||||
|
@ -48,7 +48,7 @@ stdenv.mkDerivation (args // rec {
|
|||
|
||||
buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt";
|
||||
buildInputs = optional (!stdenv.lib.versionAtLeast version "4.07") ncurses
|
||||
++ optionals useX11 [ libX11 xproto ];
|
||||
++ optionals useX11 [ libX11 xorgproto ];
|
||||
installTargets = "install" + optionalString useNativeCompilers " installopt";
|
||||
preConfigure = optionalString (!stdenv.lib.versionAtLeast version "4.04") ''
|
||||
CAT=$(type -tp cat)
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
# by default
|
||||
# - full: contains base plus modules in withModules
|
||||
{ stdenv, fetchurl, libsigsegv, gettext, ncurses, readline, libX11
|
||||
, libXau, libXt, pcre, zlib, libXpm, xproto, libXext, xextproto
|
||||
, libXau, libXt, pcre, zlib, libXpm, xorgproto, libXext
|
||||
, libffi
|
||||
, libffcall
|
||||
, coreutils
|
||||
|
@ -21,7 +21,7 @@
|
|||
}:
|
||||
|
||||
assert x11Support -> (libX11 != null && libXau != null && libXt != null
|
||||
&& libXpm != null && xproto != null && libXext != null && xextproto != null);
|
||||
&& libXpm != null && xorgproto != null && libXext != null);
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
v = "2.49";
|
||||
|
@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
|
|||
++ stdenv.lib.optional (ffcallAvailable && (libffi != null)) libffi
|
||||
++ stdenv.lib.optional ffcallAvailable libffcall
|
||||
++ stdenv.lib.optionals x11Support [
|
||||
libX11 libXau libXt libXpm xproto libXext xextproto
|
||||
libX11 libXau libXt libXpm xorgproto libXext
|
||||
];
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
# by default
|
||||
# - full: contains base plus modules in withModules
|
||||
{ stdenv, fetchhg, libsigsegv, gettext, ncurses, readline, libX11
|
||||
, libXau, libXt, pcre, zlib, libXpm, xproto, libXext, xextproto
|
||||
, libXau, libXt, pcre, zlib, libXpm, xorgproto, libXext
|
||||
, libffi, libffcall, automake
|
||||
, coreutils
|
||||
# build options
|
||||
|
@ -20,7 +20,7 @@
|
|||
}:
|
||||
|
||||
assert x11Support -> (libX11 != null && libXau != null && libXt != null
|
||||
&& libXpm != null && xproto != null && libXext != null && xextproto != null);
|
||||
&& libXpm != null && xorgproto != null && libXext != null);
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
v = "2.50pre20171114";
|
||||
|
@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
|
|||
++ stdenv.lib.optional (ffcallAvailable && (libffi != null)) libffi
|
||||
++ stdenv.lib.optional ffcallAvailable libffcall
|
||||
++ stdenv.lib.optionals x11Support [
|
||||
libX11 libXau libXt libXpm xproto libXext xextproto
|
||||
libX11 libXau libXt libXpm xorgproto libXext
|
||||
];
|
||||
|
||||
# First, replace port 9090 (rather low, can be used)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{stdenv, fetchurl, libX11, xproto, indent, readline, gsl, freeglut, libGLU_combined, SDL
|
||||
{stdenv, fetchurl, libX11, xorgproto, indent, readline, gsl, freeglut, libGLU_combined, SDL
|
||||
, blas, libbfd, intltool, gettext, zlib, libSM}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
|
||||
buildInputs = [
|
||||
libX11 libSM xproto indent readline gsl freeglut libGLU_combined SDL blas libbfd
|
||||
libX11 libSM xorgproto indent readline gsl freeglut libGLU_combined SDL blas libbfd
|
||||
intltool gettext zlib
|
||||
];
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
# This function provides generic bits to install a Python wheel.
|
||||
|
||||
{ python
|
||||
, bootstrapped-pip
|
||||
}:
|
||||
|
||||
{ buildInputs ? []
|
||||
|
@ -10,7 +9,7 @@
|
|||
, ... } @ attrs:
|
||||
|
||||
attrs // {
|
||||
buildInputs = buildInputs ++ [ bootstrapped-pip ];
|
||||
buildInputs = buildInputs ++ [ python.pythonForBuild.pkgs.bootstrapped-pip ];
|
||||
|
||||
configurePhase = attrs.configurePhase or ''
|
||||
runHook preConfigure
|
||||
|
@ -24,7 +23,7 @@ attrs // {
|
|||
export PYTHONPATH="$out/${python.sitePackages}:$PYTHONPATH"
|
||||
|
||||
pushd dist
|
||||
${bootstrapped-pip}/bin/pip install *.whl --no-index --prefix=$out --no-cache ${toString installFlags} --build tmpbuild
|
||||
${python.pythonForBuild.pkgs.bootstrapped-pip}/bin/pip install *.whl --no-index --prefix=$out --no-cache ${toString installFlags} --build tmpbuild
|
||||
popd
|
||||
|
||||
runHook postInstall
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
{ lib
|
||||
, python
|
||||
, bootstrapped-pip
|
||||
}:
|
||||
|
||||
{
|
||||
|
@ -26,13 +25,13 @@ in attrs // {
|
|||
buildPhase = attrs.buildPhase or ''
|
||||
runHook preBuild
|
||||
cp ${setuppy} nix_run_setup
|
||||
${python.interpreter} nix_run_setup ${lib.optionalString (setupPyBuildFlags != []) ("build_ext " + (lib.concatStringsSep " " setupPyBuildFlags))} bdist_wheel
|
||||
${python.pythonForBuild.interpreter} nix_run_setup ${lib.optionalString (setupPyBuildFlags != []) ("build_ext " + (lib.concatStringsSep " " setupPyBuildFlags))} bdist_wheel
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installCheckPhase = attrs.checkPhase or ''
|
||||
runHook preCheck
|
||||
${python.interpreter} nix_run_setup test
|
||||
${python.pythonForBuild.interpreter} nix_run_setup test
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
|
@ -47,9 +46,9 @@ in attrs // {
|
|||
if test -e setup.py; then
|
||||
tmp_path=$(mktemp -d)
|
||||
export PATH="$tmp_path/bin:$PATH"
|
||||
export PYTHONPATH="$tmp_path/${python.sitePackages}:$PYTHONPATH"
|
||||
mkdir -p $tmp_path/${python.sitePackages}
|
||||
${bootstrapped-pip}/bin/pip install -e . --prefix $tmp_path >&2
|
||||
export PYTHONPATH="$tmp_path/${python.pythonForBuild.sitePackages}:$PYTHONPATH"
|
||||
mkdir -p $tmp_path/${python.pythonForBuild.sitePackages}
|
||||
${python.pythonForBuild.pkgs.bootstrapped-pip}/bin/pip install -e . --prefix $tmp_path >&2
|
||||
fi
|
||||
${postShellHook}
|
||||
'';
|
||||
|
|
|
@ -10,17 +10,16 @@
|
|||
, ensureNewerSourcesForZipFilesHook
|
||||
, toPythonModule
|
||||
, namePrefix
|
||||
, bootstrapped-pip
|
||||
, flit
|
||||
, writeScript
|
||||
, update-python-libraries
|
||||
}:
|
||||
|
||||
let
|
||||
setuptools-specific = import ./build-python-package-setuptools.nix { inherit lib python bootstrapped-pip; };
|
||||
setuptools-specific = import ./build-python-package-setuptools.nix { inherit lib python; };
|
||||
flit-specific = import ./build-python-package-flit.nix { inherit python flit; };
|
||||
wheel-specific = import ./build-python-package-wheel.nix { };
|
||||
common = import ./build-python-package-common.nix { inherit python bootstrapped-pip; };
|
||||
common = import ./build-python-package-common.nix { inherit python; };
|
||||
mkPythonDerivation = import ./mk-python-derivation.nix {
|
||||
inherit lib config python wrapPython setuptools unzip ensureNewerSourcesForZipFilesHook;
|
||||
inherit toPythonModule namePrefix writeScript update-python-libraries;
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
{ stdenv, buildPackages, fetchurl
|
||||
{ stdenv, fetchurl, fetchpatch
|
||||
, bzip2
|
||||
, expat
|
||||
, libffi
|
||||
, gdbm
|
||||
, fetchpatch
|
||||
, db
|
||||
, ncurses
|
||||
, openssl
|
||||
, readline
|
||||
|
@ -10,15 +12,16 @@
|
|||
, zlib
|
||||
, callPackage
|
||||
, self
|
||||
, db
|
||||
, expat
|
||||
, libffi
|
||||
, CF, configd, coreutils
|
||||
, python-setup-hook
|
||||
# Some proprietary libs assume UCS2 unicode, especially on darwin :(
|
||||
, ucsEncoding ? 4
|
||||
# For the Python package set
|
||||
, packageOverrides ? (self: super: {})
|
||||
, buildPackages
|
||||
, sourceVersion
|
||||
, sha256
|
||||
, passthruFun
|
||||
}:
|
||||
|
||||
assert x11Support -> tcl != null
|
||||
|
@ -29,16 +32,26 @@ assert x11Support -> tcl != null
|
|||
with stdenv.lib;
|
||||
|
||||
let
|
||||
majorVersion = "2.7";
|
||||
minorVersion = "15";
|
||||
minorVersionSuffix = "";
|
||||
version = "${majorVersion}.${minorVersion}${minorVersionSuffix}";
|
||||
libPrefix = "python${majorVersion}";
|
||||
sitePackages = "lib/${libPrefix}/site-packages";
|
||||
|
||||
pythonForBuild = buildPackages.${"python${sourceVersion.major}${sourceVersion.minor}"};
|
||||
|
||||
passthru = passthruFun rec {
|
||||
inherit self sourceVersion packageOverrides;
|
||||
implementation = "cpython";
|
||||
libPrefix = "python${pythonVersion}";
|
||||
executable = libPrefix;
|
||||
pythonVersion = with sourceVersion; "${major}.${minor}";
|
||||
sitePackages = "lib/${libPrefix}/site-packages";
|
||||
inherit pythonForBuild;
|
||||
} // {
|
||||
inherit ucsEncoding;
|
||||
};
|
||||
|
||||
version = with sourceVersion; "${major}.${minor}.${patch}${suffix}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.python.org/ftp/python/${majorVersion}.${minorVersion}/Python-${version}.tar.xz";
|
||||
sha256 = "0x2mvz9dp11wj7p5ccvmk9s0hzjk2fa1m462p395l4r6bfnb3n92";
|
||||
url = with sourceVersion; "https://www.python.org/ftp/python/${major}.${minor}.${patch}/Python-${version}.tar.xz";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false);
|
||||
|
@ -191,12 +204,11 @@ let
|
|||
# Build the basic Python interpreter without modules that have
|
||||
# external dependencies.
|
||||
|
||||
in stdenv.mkDerivation ({
|
||||
name = "python-${version}";
|
||||
pythonVersion = majorVersion;
|
||||
in with passthru; stdenv.mkDerivation ({
|
||||
pname = "python";
|
||||
inherit version;
|
||||
|
||||
inherit majorVersion version src patches buildInputs nativeBuildInputs
|
||||
preConfigure configureFlags;
|
||||
inherit src patches buildInputs nativeBuildInputs preConfigure configureFlags;
|
||||
|
||||
LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
|
||||
inherit (mkPaths buildInputs) C_INCLUDE_PATH LIBRARY_PATH;
|
||||
|
@ -215,7 +227,7 @@ in stdenv.mkDerivation ({
|
|||
''
|
||||
# needed for some packages, especially packages that backport
|
||||
# functionality to 2.x from 3.x
|
||||
for item in $out/lib/python${majorVersion}/test/*; do
|
||||
for item in $out/lib/${libPrefix}/test/*; do
|
||||
if [[ "$item" != */test_support.py*
|
||||
&& "$item" != */test/support
|
||||
&& "$item" != */test/regrtest.py* ]]; then
|
||||
|
@ -224,9 +236,9 @@ in stdenv.mkDerivation ({
|
|||
echo $item
|
||||
fi
|
||||
done
|
||||
touch $out/lib/python${majorVersion}/test/__init__.py
|
||||
ln -s $out/lib/python${majorVersion}/pdb.py $out/bin/pdb
|
||||
ln -s $out/lib/python${majorVersion}/pdb.py $out/bin/pdb${majorVersion}
|
||||
touch $out/lib/${libPrefix}/test/__init__.py
|
||||
ln -s $out/lib/${libPrefix}/pdb.py $out/bin/pdb
|
||||
ln -s $out/lib/${libPrefix}/pdb.py $out/bin/pdb${sourceVersion.major}.${sourceVersion.minor}
|
||||
ln -s $out/share/man/man1/{python2.7.1.gz,python.1.gz}
|
||||
|
||||
# Python on Nix is not manylinux1 compatible. https://github.com/NixOS/nixpkgs/issues/18484
|
||||
|
@ -249,21 +261,7 @@ in stdenv.mkDerivation ({
|
|||
cp libpython2.7.dll.a $out/lib
|
||||
'';
|
||||
|
||||
passthru = let
|
||||
pythonPackages = callPackage ../../../../../top-level/python-packages.nix {
|
||||
python = self;
|
||||
overrides = packageOverrides;
|
||||
};
|
||||
in rec {
|
||||
inherit libPrefix sitePackages x11Support hasDistutilsCxxPatch ucsEncoding;
|
||||
executable = libPrefix;
|
||||
buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
|
||||
withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
|
||||
pkgs = pythonPackages;
|
||||
isPy2 = true;
|
||||
isPy27 = true;
|
||||
interpreter = "${self}/bin/${executable}";
|
||||
};
|
||||
inherit passthru;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
|
|
@ -1,212 +0,0 @@
|
|||
{ stdenv, fetchurl, fetchpatch
|
||||
, bzip2
|
||||
, expat
|
||||
, libffi
|
||||
, gdbm
|
||||
, lzma
|
||||
, ncurses
|
||||
, openssl
|
||||
, readline
|
||||
, sqlite
|
||||
, tcl ? null, tk ? null, tix ? null, libX11 ? null, xproto ? null, x11Support ? false
|
||||
, zlib
|
||||
, callPackage
|
||||
, self
|
||||
, CF, configd
|
||||
, python-setup-hook
|
||||
# For the Python package set
|
||||
, packageOverrides ? (self: super: {})
|
||||
}:
|
||||
|
||||
assert x11Support -> tcl != null
|
||||
&& tk != null
|
||||
&& xproto != null
|
||||
&& libX11 != null;
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
majorVersion = "3.5";
|
||||
minorVersion = "6";
|
||||
minorVersionSuffix = "";
|
||||
version = "${majorVersion}.${minorVersion}${minorVersionSuffix}";
|
||||
libPrefix = "python${majorVersion}";
|
||||
sitePackages = "lib/${libPrefix}/site-packages";
|
||||
|
||||
buildInputs = filter (p: p != null) [
|
||||
zlib bzip2 expat lzma libffi gdbm sqlite readline ncurses openssl ]
|
||||
++ optionals x11Support [ tcl tk libX11 xproto ]
|
||||
++ optionals stdenv.isDarwin [ CF configd ];
|
||||
|
||||
hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false);
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
name = "python3-${version}";
|
||||
pythonVersion = majorVersion;
|
||||
inherit majorVersion version;
|
||||
|
||||
inherit buildInputs;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.python.org/ftp/python/${majorVersion}.${minorVersion}/Python-${version}.tar.xz";
|
||||
sha256 = "0pqmf51zy2lzhbaj4yya2py2qr653j9152d0rg3p7wi1yl2dwp7m";
|
||||
};
|
||||
|
||||
NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s";
|
||||
|
||||
# Determinism: The interpreter is patched to write null timestamps when compiling python files.
|
||||
# This way python doesn't try to update them when we freeze timestamps in nix store.
|
||||
DETERMINISTIC_BUILD=1;
|
||||
# Determinism: We fix the hashes of str, bytes and datetime objects.
|
||||
PYTHONHASHSEED=0;
|
||||
|
||||
prePatch = optionalString stdenv.isDarwin ''
|
||||
substituteInPlace configure --replace '`/usr/bin/arch`' '"i386"'
|
||||
substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' '
|
||||
'';
|
||||
|
||||
patches = [
|
||||
./no-ldconfig.patch
|
||||
./ld_library_path.patch
|
||||
] ++ optionals stdenv.isDarwin [
|
||||
# Fix for https://bugs.python.org/issue24658
|
||||
(fetchpatch {
|
||||
url = "https://bugs.python.org/file45178/issue24658-3-3.6.diff";
|
||||
sha256 = "1x060hs80nl34mcl2ji2i7l4shxkmxwgq8h8lcmav8rjqqz1nb4a";
|
||||
})
|
||||
] ++ optionals (x11Support && stdenv.isDarwin) [
|
||||
./use-correct-tcl-tk-on-darwin.patch
|
||||
] ++ optionals hasDistutilsCxxPatch [
|
||||
# Fix for http://bugs.python.org/issue1222585
|
||||
# Upstream distutils is calling C compiler to compile C++ code, which
|
||||
# only works for GCC and Apple Clang. This makes distutils to call C++
|
||||
# compiler when needed.
|
||||
(fetchpatch {
|
||||
url = "https://bugs.python.org/file47046/python-3.x-distutils-C++.patch";
|
||||
sha256 = "0dgdn9k2kmw4wh90vdnjcrnn97ylxgx7mbn9l87fwz6j501jqvk8";
|
||||
extraPrefix = "";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Determinism
|
||||
substituteInPlace "Lib/py_compile.py" --replace "source_stats['mtime']" "(1 if 'DETERMINISTIC_BUILD' in os.environ else source_stats['mtime'])"
|
||||
# Determinism. This is done unconditionally
|
||||
substituteInPlace "Lib/importlib/_bootstrap_external.py" --replace "source_mtime = int(st['mtime'])" "source_mtime = 1"
|
||||
'' + optionalString (x11Support && (tix != null)) ''
|
||||
substituteInPlace "Lib/tkinter/tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
|
||||
'';
|
||||
|
||||
CPPFLAGS="${concatStringsSep " " (map (p: "-I${getDev p}/include") buildInputs)}";
|
||||
LDFLAGS="${concatStringsSep " " (map (p: "-L${getLib p}/lib") buildInputs)}";
|
||||
LIBS="${optionalString (!stdenv.isDarwin) "-lcrypt"} ${optionalString (ncurses != null) "-lncurses"}";
|
||||
|
||||
configureFlags = [
|
||||
"--enable-shared"
|
||||
"--with-threads"
|
||||
"--without-ensurepip"
|
||||
"--with-system-expat"
|
||||
"--with-system-ffi"
|
||||
]
|
||||
# Never even try to use lchmod on linux,
|
||||
# don't rely on detecting glibc-isms.
|
||||
++ optional stdenv.hostPlatform.isLinux "ac_cv_func_lchmod=no";
|
||||
|
||||
preConfigure = ''
|
||||
for i in /usr /sw /opt /pkg; do # improve purity
|
||||
substituteInPlace ./setup.py --replace $i /no-such-path
|
||||
done
|
||||
${optionalString stdenv.isDarwin ''
|
||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"
|
||||
export MACOSX_DEPLOYMENT_TARGET=10.6
|
||||
''
|
||||
+ optionalString stdenv.hostPlatform.isMusl ''
|
||||
export NIX_CFLAGS_COMPILE+=" -DTHREAD_STACK_SIZE=0x100000"
|
||||
''}
|
||||
'';
|
||||
|
||||
setupHook = python-setup-hook sitePackages;
|
||||
|
||||
postInstall = ''
|
||||
# needed for some packages, especially packages that backport functionality
|
||||
# to 2.x from 3.x
|
||||
for item in $out/lib/python${majorVersion}/test/*; do
|
||||
if [[ "$item" != */test_support.py*
|
||||
&& "$item" != */test/support
|
||||
&& "$item" != */test/libregrtest
|
||||
&& "$item" != */test/regrtest.py* ]]; then
|
||||
rm -rf "$item"
|
||||
else
|
||||
echo $item
|
||||
fi
|
||||
done
|
||||
touch $out/lib/python${majorVersion}/test/__init__.py
|
||||
|
||||
ln -s "$out/include/python${majorVersion}m" "$out/include/python${majorVersion}"
|
||||
|
||||
# Python on Nix is not manylinux1 compatible. https://github.com/NixOS/nixpkgs/issues/18484
|
||||
echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py
|
||||
|
||||
# Determinism: Windows installers were not deterministic.
|
||||
# We're also not interested in building Windows installers.
|
||||
find "$out" -name 'wininst*.exe' | xargs -r rm -f
|
||||
|
||||
# Use Python3 as default python
|
||||
ln -s "$out/bin/idle3" "$out/bin/idle"
|
||||
ln -s "$out/bin/pydoc3" "$out/bin/pydoc"
|
||||
ln -s "$out/bin/python3" "$out/bin/python"
|
||||
ln -s "$out/bin/python3-config" "$out/bin/python-config"
|
||||
ln -s "$out/lib/pkgconfig/python3.pc" "$out/lib/pkgconfig/python.pc"
|
||||
|
||||
# Get rid of retained dependencies on -dev packages, and remove
|
||||
# some $TMPDIR references to improve binary reproducibility.
|
||||
# Note that the .pyc file of _sysconfigdata.py should be regenerated!
|
||||
for i in $out/lib/python${majorVersion}/_sysconfigdata.py $out/lib/python${majorVersion}/config-${majorVersion}m/Makefile; do
|
||||
sed -i $i -e "s|-I/nix/store/[^ ']*||g" -e "s|-L/nix/store/[^ ']*||g" -e "s|$TMPDIR|/no-such-path|g"
|
||||
done
|
||||
|
||||
# Determinism: rebuild all bytecode
|
||||
# We exclude lib2to3 because that's Python 2 code which fails
|
||||
# We rebuild three times, once for each optimization level
|
||||
find $out -name "*.py" | $out/bin/python -m compileall -q -f -x "lib2to3" -i -
|
||||
find $out -name "*.py" | $out/bin/python -O -m compileall -q -f -x "lib2to3" -i -
|
||||
find $out -name "*.py" | $out/bin/python -OO -m compileall -q -f -x "lib2to3" -i -
|
||||
'';
|
||||
|
||||
passthru = let
|
||||
pythonPackages = callPackage ../../../../../top-level/python-packages.nix {
|
||||
python = self;
|
||||
overrides = packageOverrides;
|
||||
};
|
||||
in rec {
|
||||
inherit libPrefix sitePackages x11Support hasDistutilsCxxPatch;
|
||||
executable = "${libPrefix}m";
|
||||
buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
|
||||
withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
|
||||
pkgs = pythonPackages;
|
||||
isPy3 = true;
|
||||
isPy35 = true;
|
||||
interpreter = "${self}/bin/${executable}";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = false; # expensive, and fails
|
||||
|
||||
meta = {
|
||||
homepage = http://python.org;
|
||||
description = "A high-level dynamically-typed programming language";
|
||||
longDescription = ''
|
||||
Python is a remarkably powerful dynamic programming language that
|
||||
is used in a wide variety of application domains. Some of its key
|
||||
distinguishing features include: clear, readable syntax; strong
|
||||
introspection capabilities; intuitive object orientation; natural
|
||||
expression of procedural code; full modularity, supporting
|
||||
hierarchical packages; exception-based error handling; and very
|
||||
high level dynamic data types.
|
||||
'';
|
||||
license = licenses.psfl;
|
||||
platforms = with platforms; linux ++ darwin;
|
||||
maintainers = with maintainers; [ fridh ];
|
||||
};
|
||||
}
|
|
@ -1,228 +0,0 @@
|
|||
{ stdenv, fetchurl, fetchpatch, buildPackages
|
||||
, bzip2
|
||||
, expat
|
||||
, libffi
|
||||
, gdbm
|
||||
, lzma
|
||||
, ncurses
|
||||
, openssl
|
||||
, readline
|
||||
, sqlite
|
||||
, tcl ? null, tk ? null, tix ? null, libX11 ? null, xproto ? null, x11Support ? false
|
||||
, zlib
|
||||
, callPackage
|
||||
, self
|
||||
, CF, configd
|
||||
, python-setup-hook
|
||||
# For the Python package set
|
||||
, packageOverrides ? (self: super: {})
|
||||
}:
|
||||
|
||||
assert x11Support -> tcl != null
|
||||
&& tk != null
|
||||
&& xproto != null
|
||||
&& libX11 != null;
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
majorVersion = "3.6";
|
||||
minorVersion = "8";
|
||||
minorVersionSuffix = "";
|
||||
version = "${majorVersion}.${minorVersion}${minorVersionSuffix}";
|
||||
libPrefix = "python${majorVersion}";
|
||||
sitePackages = "lib/${libPrefix}/site-packages";
|
||||
|
||||
buildInputs = filter (p: p != null) [
|
||||
zlib bzip2 expat lzma libffi gdbm sqlite readline ncurses openssl ]
|
||||
++ optionals x11Support [ tcl tk libX11 xproto ]
|
||||
++ optionals stdenv.isDarwin [ CF configd ];
|
||||
|
||||
nativeBuildInputs =
|
||||
optional (stdenv.hostPlatform != stdenv.buildPlatform) buildPackages.python3;
|
||||
|
||||
hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false);
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
name = "python3-${version}";
|
||||
pythonVersion = majorVersion;
|
||||
inherit majorVersion version;
|
||||
|
||||
inherit buildInputs nativeBuildInputs;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.python.org/ftp/python/${majorVersion}.${minorVersion}/Python-${version}.tar.xz";
|
||||
sha256 = "14qi6n5gpcjnwy165wi9hkfcmbadc95ny6bxxldknxwmx50n4i1m";
|
||||
};
|
||||
|
||||
NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s";
|
||||
|
||||
# Determinism: The interpreter is patched to write null timestamps when compiling python files.
|
||||
# This way python doesn't try to update them when we freeze timestamps in nix store.
|
||||
DETERMINISTIC_BUILD=1;
|
||||
# Determinism: We fix the hashes of str, bytes and datetime objects.
|
||||
PYTHONHASHSEED=0;
|
||||
|
||||
prePatch = optionalString stdenv.isDarwin ''
|
||||
substituteInPlace configure --replace '`/usr/bin/arch`' '"i386"'
|
||||
substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' '
|
||||
'';
|
||||
|
||||
patches = [
|
||||
./no-ldconfig.patch
|
||||
] ++ optionals (x11Support && stdenv.isDarwin) [
|
||||
./use-correct-tcl-tk-on-darwin.patch
|
||||
] ++ optionals hasDistutilsCxxPatch [
|
||||
# Fix for http://bugs.python.org/issue1222585
|
||||
# Upstream distutils is calling C compiler to compile C++ code, which
|
||||
# only works for GCC and Apple Clang. This makes distutils to call C++
|
||||
# compiler when needed.
|
||||
(fetchpatch {
|
||||
url = "https://bugs.python.org/file48016/python-3.x-distutils-C++.patch";
|
||||
sha256 = "1h18lnpx539h5lfxyk379dxwr8m2raigcjixkf133l4xy3f4bzi2";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Determinism
|
||||
substituteInPlace "Lib/py_compile.py" --replace "source_stats['mtime']" "(1 if 'DETERMINISTIC_BUILD' in os.environ else source_stats['mtime'])"
|
||||
# Determinism. This is done unconditionally
|
||||
substituteInPlace "Lib/importlib/_bootstrap_external.py" --replace "source_mtime = int(st['mtime'])" "source_mtime = 1"
|
||||
'' + optionalString (x11Support && (tix != null)) ''
|
||||
substituteInPlace "Lib/tkinter/tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
|
||||
'';
|
||||
|
||||
CPPFLAGS="${concatStringsSep " " (map (p: "-I${getDev p}/include") buildInputs)}";
|
||||
LDFLAGS="${concatStringsSep " " (map (p: "-L${getLib p}/lib") buildInputs)}";
|
||||
LIBS="${optionalString (!stdenv.isDarwin) "-lcrypt"} ${optionalString (ncurses != null) "-lncurses"}";
|
||||
|
||||
configureFlags = [
|
||||
"--enable-shared"
|
||||
"--with-threads"
|
||||
"--without-ensurepip"
|
||||
"--with-system-expat"
|
||||
"--with-system-ffi"
|
||||
] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
"ac_cv_buggy_getaddrinfo=no"
|
||||
# Assume little-endian IEEE 754 floating point when cross compiling
|
||||
"ac_cv_little_endian_double=yes"
|
||||
"ac_cv_big_endian_double=no"
|
||||
"ac_cv_mixed_endian_double=no"
|
||||
"ac_cv_x87_double_rounding=yes"
|
||||
"ac_cv_tanh_preserves_zero_sign=yes"
|
||||
# Generally assume that things are present and work
|
||||
"ac_cv_posix_semaphores_enabled=yes"
|
||||
"ac_cv_broken_sem_getvalue=no"
|
||||
"ac_cv_wchar_t_signed=yes"
|
||||
"ac_cv_rshift_extends_sign=yes"
|
||||
"ac_cv_broken_nice=no"
|
||||
"ac_cv_broken_poll=no"
|
||||
"ac_cv_working_tzset=yes"
|
||||
"ac_cv_have_long_long_format=yes"
|
||||
"ac_cv_have_size_t_format=yes"
|
||||
"ac_cv_computed_gotos=yes"
|
||||
"ac_cv_file__dev_ptmx=yes"
|
||||
"ac_cv_file__dev_ptc=yes"
|
||||
]
|
||||
# Never even try to use lchmod on linux,
|
||||
# don't rely on detecting glibc-isms.
|
||||
++ optional stdenv.hostPlatform.isLinux "ac_cv_func_lchmod=no";
|
||||
|
||||
preConfigure = ''
|
||||
for i in /usr /sw /opt /pkg; do # improve purity
|
||||
substituteInPlace ./setup.py --replace $i /no-such-path
|
||||
done
|
||||
${optionalString stdenv.isDarwin ''
|
||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"
|
||||
export MACOSX_DEPLOYMENT_TARGET=10.6
|
||||
''
|
||||
+ optionalString stdenv.hostPlatform.isMusl ''
|
||||
export NIX_CFLAGS_COMPILE+=" -DTHREAD_STACK_SIZE=0x100000"
|
||||
''}
|
||||
'';
|
||||
|
||||
setupHook = python-setup-hook sitePackages;
|
||||
|
||||
postInstall = ''
|
||||
# needed for some packages, especially packages that backport functionality
|
||||
# to 2.x from 3.x
|
||||
for item in $out/lib/python${majorVersion}/test/*; do
|
||||
if [[ "$item" != */test_support.py*
|
||||
&& "$item" != */test/support
|
||||
&& "$item" != */test/libregrtest
|
||||
&& "$item" != */test/regrtest.py* ]]; then
|
||||
rm -rf "$item"
|
||||
else
|
||||
echo $item
|
||||
fi
|
||||
done
|
||||
touch $out/lib/python${majorVersion}/test/__init__.py
|
||||
|
||||
ln -s "$out/include/python${majorVersion}m" "$out/include/python${majorVersion}"
|
||||
|
||||
# Python on Nix is not manylinux1 compatible. https://github.com/NixOS/nixpkgs/issues/18484
|
||||
echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py
|
||||
|
||||
# Determinism: Windows installers were not deterministic.
|
||||
# We're also not interested in building Windows installers.
|
||||
find "$out" -name 'wininst*.exe' | xargs -r rm -f
|
||||
|
||||
# Use Python3 as default python
|
||||
ln -s "$out/bin/idle3" "$out/bin/idle"
|
||||
ln -s "$out/bin/pydoc3" "$out/bin/pydoc"
|
||||
ln -s "$out/bin/python3" "$out/bin/python"
|
||||
ln -s "$out/bin/python3-config" "$out/bin/python-config"
|
||||
ln -s "$out/lib/pkgconfig/python3.pc" "$out/lib/pkgconfig/python.pc"
|
||||
|
||||
# Get rid of retained dependencies on -dev packages, and remove
|
||||
# some $TMPDIR references to improve binary reproducibility.
|
||||
# Note that the .pyc file of _sysconfigdata.py should be regenerated!
|
||||
for i in $out/lib/python${majorVersion}/_sysconfigdata*.py $out/lib/python${majorVersion}/config-${majorVersion}m*/Makefile; do
|
||||
sed -i $i -e "s|-I/nix/store/[^ ']*||g" -e "s|-L/nix/store/[^ ']*||g" -e "s|$TMPDIR|/no-such-path|g"
|
||||
done
|
||||
'' + optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
|
||||
# Determinism: rebuild all bytecode
|
||||
# We exclude lib2to3 because that's Python 2 code which fails
|
||||
# We rebuild three times, once for each optimization level
|
||||
find $out -name "*.py" | $out/bin/python -m compileall -q -f -x "lib2to3" -i -
|
||||
find $out -name "*.py" | $out/bin/python -O -m compileall -q -f -x "lib2to3" -i -
|
||||
find $out -name "*.py" | $out/bin/python -OO -m compileall -q -f -x "lib2to3" -i -
|
||||
'';
|
||||
|
||||
passthru = let
|
||||
pythonPackages = callPackage ../../../../../top-level/python-packages.nix {
|
||||
python = self;
|
||||
overrides = packageOverrides;
|
||||
};
|
||||
in rec {
|
||||
inherit libPrefix sitePackages x11Support hasDistutilsCxxPatch;
|
||||
executable = "${libPrefix}m";
|
||||
buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
|
||||
withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
|
||||
pkgs = pythonPackages;
|
||||
isPy3 = true;
|
||||
isPy36 = true;
|
||||
is_py3k = true; # deprecated
|
||||
interpreter = "${self}/bin/${executable}";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = false; # expensive, and fails
|
||||
|
||||
meta = {
|
||||
homepage = http://python.org;
|
||||
description = "A high-level dynamically-typed programming language";
|
||||
longDescription = ''
|
||||
Python is a remarkably powerful dynamic programming language that
|
||||
is used in a wide variety of application domains. Some of its key
|
||||
distinguishing features include: clear, readable syntax; strong
|
||||
introspection capabilities; intuitive object orientation; natural
|
||||
expression of procedural code; full modularity, supporting
|
||||
hierarchical packages; exception-based error handling; and very
|
||||
high level dynamic data types.
|
||||
'';
|
||||
license = licenses.psfl;
|
||||
platforms = with platforms; linux ++ darwin;
|
||||
maintainers = with maintainers; [ fridh kragniz ];
|
||||
};
|
||||
}
|
|
@ -8,7 +8,7 @@
|
|||
, openssl
|
||||
, readline
|
||||
, sqlite
|
||||
, tcl ? null, tk ? null, tix ? null, libX11 ? null, xproto ? null, x11Support ? false
|
||||
, tcl ? null, tk ? null, tix ? null, libX11 ? null, xorgproto ? null, x11Support ? false
|
||||
, zlib
|
||||
, callPackage
|
||||
, self
|
||||
|
@ -18,66 +18,85 @@
|
|||
# For the Python package set
|
||||
, packageOverrides ? (self: super: {})
|
||||
, buildPackages
|
||||
, sourceVersion
|
||||
, sha256
|
||||
, passthruFun
|
||||
, bash
|
||||
}:
|
||||
|
||||
assert x11Support -> tcl != null
|
||||
&& tk != null
|
||||
&& xproto != null
|
||||
&& xorgproto != null
|
||||
&& libX11 != null;
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
majorVersion = "3.7";
|
||||
minorVersion = "2";
|
||||
minorVersionSuffix = "";
|
||||
version = "${majorVersion}.${minorVersion}${minorVersionSuffix}";
|
||||
libPrefix = "python${majorVersion}";
|
||||
sitePackages = "lib/${libPrefix}/site-packages";
|
||||
|
||||
passthru = passthruFun rec {
|
||||
inherit self sourceVersion packageOverrides;
|
||||
implementation = "cpython";
|
||||
libPrefix = "python${pythonVersion}";
|
||||
executable = libPrefix;
|
||||
pythonVersion = with sourceVersion; "${major}.${minor}";
|
||||
sitePackages = "lib/${libPrefix}/site-packages";
|
||||
inherit pythonForBuild;
|
||||
};
|
||||
|
||||
version = with sourceVersion; "${major}.${minor}.${patch}${suffix}";
|
||||
|
||||
nativeBuildInputs = [
|
||||
nukeReferences
|
||||
] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
buildPackages.stdenv.cc
|
||||
pythonForBuild
|
||||
];
|
||||
|
||||
buildInputs = filter (p: p != null) [
|
||||
zlib bzip2 expat lzma libffi gdbm sqlite readline ncurses openssl nukeReferences ]
|
||||
++ optionals x11Support [ tcl tk libX11 xproto ]
|
||||
zlib bzip2 expat lzma libffi gdbm sqlite readline ncurses openssl ]
|
||||
++ optionals x11Support [ tcl tk libX11 xorgproto ]
|
||||
++ optionals stdenv.isDarwin [ CF configd ];
|
||||
|
||||
hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false);
|
||||
pythonForBuild = if stdenv.hostPlatform == stdenv.buildPlatform then
|
||||
|
||||
pythonForBuild = buildPackages.${"python${sourceVersion.major}${sourceVersion.minor}"};
|
||||
|
||||
pythonForBuildInterpreter = if stdenv.hostPlatform == stdenv.buildPlatform then
|
||||
"$out/bin/python"
|
||||
else
|
||||
buildPackages.python37.interpreter;
|
||||
in stdenv.mkDerivation {
|
||||
name = "python3-${version}";
|
||||
pythonVersion = majorVersion;
|
||||
inherit majorVersion version;
|
||||
else pythonForBuild.interpreter;
|
||||
|
||||
inherit buildInputs;
|
||||
in with passthru; stdenv.mkDerivation {
|
||||
pname = "python3";
|
||||
inherit version;
|
||||
|
||||
nativeBuildInputs =
|
||||
optionals (stdenv.hostPlatform != stdenv.buildPlatform)
|
||||
[ buildPackages.stdenv.cc buildPackages.python37 ];
|
||||
inherit buildInputs nativeBuildInputs;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.python.org/ftp/python/${majorVersion}.${minorVersion}/Python-${version}.tar.xz";
|
||||
sha256 = "1fzi9d2gibh0wzwidyckzbywsxcsbckgsl05ryxlifxia77fhgyq";
|
||||
url = with sourceVersion; "https://www.python.org/ftp/python/${major}.${minor}.${patch}/Python-${version}.tar.xz";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s";
|
||||
|
||||
# Determinism: We fix the hashes of str, bytes and datetime objects.
|
||||
PYTHONHASHSEED=0;
|
||||
|
||||
prePatch = optionalString stdenv.isDarwin ''
|
||||
substituteInPlace configure --replace '`/usr/bin/arch`' '"i386"'
|
||||
substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' '
|
||||
'';
|
||||
|
||||
patches = [
|
||||
./no-ldconfig.patch
|
||||
# Disable the use of ldconfig in ctypes.util.find_library (since
|
||||
# ldconfig doesn't work on NixOS), and don't use
|
||||
# ctypes.util.find_library during the loading of the uuid module
|
||||
# (since it will do a futile invocation of gcc (!) to find
|
||||
# libuuid, slowing down program startup a lot).
|
||||
(./. + "/${sourceVersion.major}.${sourceVersion.minor}/no-ldconfig.patch")
|
||||
] ++ optionals isPy35 [
|
||||
# Backports support for LD_LIBRARY_PATH from 3.6
|
||||
./3.5/ld_library_path.patch
|
||||
] ++ optionals isPy37 [
|
||||
# Fix darwin build https://bugs.python.org/issue34027
|
||||
(fetchpatch {
|
||||
url = https://bugs.python.org/file47666/darwin-libutil.patch;
|
||||
sha256 = "0242gihnw3wfskl4fydp2xanpl8k5q7fj4dp7dbbqf46a4iwdzpa";
|
||||
})
|
||||
] ++ optionals hasDistutilsCxxPatch [
|
||||
] ++ optionals (isPy3k && hasDistutilsCxxPatch) [
|
||||
# Fix for http://bugs.python.org/issue1222585
|
||||
# Upstream distutils is calling C compiler to compile C++ code, which
|
||||
# only works for GCC and Apple Clang. This makes distutils to call C++
|
||||
|
@ -93,9 +112,12 @@ in stdenv.mkDerivation {
|
|||
substituteInPlace "Lib/tkinter/tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
|
||||
'';
|
||||
|
||||
CPPFLAGS="${concatStringsSep " " (map (p: "-I${getDev p}/include") buildInputs)}";
|
||||
LDFLAGS="${concatStringsSep " " (map (p: "-L${getLib p}/lib") buildInputs)}";
|
||||
LIBS="${optionalString (!stdenv.isDarwin) "-lcrypt"} ${optionalString (ncurses != null) "-lncurses"}";
|
||||
CPPFLAGS = "${concatStringsSep " " (map (p: "-I${getDev p}/include") buildInputs)}";
|
||||
LDFLAGS = "${concatStringsSep " " (map (p: "-L${getLib p}/lib") buildInputs)}";
|
||||
LIBS = "${optionalString (!stdenv.isDarwin) "-lcrypt"} ${optionalString (ncurses != null) "-lncurses"}";
|
||||
NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s";
|
||||
# Determinism: We fix the hashes of str, bytes and datetime objects.
|
||||
PYTHONHASHSEED=0;
|
||||
|
||||
configureFlags = [
|
||||
"--enable-shared"
|
||||
|
@ -125,16 +147,25 @@ in stdenv.mkDerivation {
|
|||
"ac_cv_computed_gotos=yes"
|
||||
"ac_cv_file__dev_ptmx=yes"
|
||||
"ac_cv_file__dev_ptc=yes"
|
||||
] ++ optionals stdenv.hostPlatform.isLinux [
|
||||
# Never even try to use lchmod on linux,
|
||||
# don't rely on detecting glibc-isms.
|
||||
"ac_cv_func_lchmod=no"
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
for i in /usr /sw /opt /pkg; do # improve purity
|
||||
substituteInPlace ./setup.py --replace $i /no-such-path
|
||||
done
|
||||
${optionalString stdenv.isDarwin ''
|
||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"
|
||||
export MACOSX_DEPLOYMENT_TARGET=10.6
|
||||
''}
|
||||
'' + optionalString stdenv.isDarwin ''
|
||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"
|
||||
export MACOSX_DEPLOYMENT_TARGET=10.6
|
||||
'' + optionalString (isPy3k && pythonOlder "3.7") ''
|
||||
# Determinism: The interpreter is patched to write null timestamps when compiling python files.
|
||||
# This way python does not try to update them when we freeze timestamps in nix store.
|
||||
export DETERMINISTIC_BUILD=1;
|
||||
'' + optionalString stdenv.hostPlatform.isMusl ''
|
||||
export NIX_CFLAGS_COMPILE+=" -DTHREAD_STACK_SIZE=0x100000"
|
||||
'';
|
||||
|
||||
setupHook = python-setup-hook sitePackages;
|
||||
|
@ -142,7 +173,7 @@ in stdenv.mkDerivation {
|
|||
postInstall = ''
|
||||
# needed for some packages, especially packages that backport functionality
|
||||
# to 2.x from 3.x
|
||||
for item in $out/lib/python${majorVersion}/test/*; do
|
||||
for item in $out/lib/${libPrefix}/test/*; do
|
||||
if [[ "$item" != */test_support.py*
|
||||
&& "$item" != */test/support
|
||||
&& "$item" != */test/libregrtest
|
||||
|
@ -152,9 +183,9 @@ in stdenv.mkDerivation {
|
|||
echo $item
|
||||
fi
|
||||
done
|
||||
touch $out/lib/python${majorVersion}/test/__init__.py
|
||||
touch $out/lib/${libPrefix}/test/__init__.py
|
||||
|
||||
ln -s "$out/include/python${majorVersion}m" "$out/include/python${majorVersion}"
|
||||
ln -s "$out/include/${executable}m" "$out/include/${executable}"
|
||||
|
||||
# Python on Nix is not manylinux1 compatible. https://github.com/NixOS/nixpkgs/issues/18484
|
||||
echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py
|
||||
|
@ -173,45 +204,40 @@ in stdenv.mkDerivation {
|
|||
# Get rid of retained dependencies on -dev packages, and remove
|
||||
# some $TMPDIR references to improve binary reproducibility.
|
||||
# Note that the .pyc file of _sysconfigdata.py should be regenerated!
|
||||
for i in $out/lib/python${majorVersion}/_sysconfigdata*.py $out/lib/python${majorVersion}/config-${majorVersion}m*/Makefile; do
|
||||
sed -i $i -e "s|$TMPDIR|/no-such-path|g"
|
||||
nuke-refs $i
|
||||
for i in $out/lib/${libPrefix}/_sysconfigdata*.py $out/lib/${libPrefix}/config-${sourceVersion.major}${sourceVersion.minor}*/Makefile; do
|
||||
sed -i $i -e "s|$TMPDIR|/no-such-path|g"
|
||||
done
|
||||
|
||||
# Further get rid of references. https://github.com/NixOS/nixpkgs/issues/51668
|
||||
find $out/lib/python*/config-*-* -type f -print -exec nuke-refs '{}' +
|
||||
find $out/lib -name '_sysconfigdata_m*.py*' -print -exec nuke-refs '{}' +
|
||||
find $out/lib/python*/config-* -type f -print -exec nuke-refs '{}' +
|
||||
find $out/lib -name '_sysconfigdata*.py*' -print -exec nuke-refs '{}' +
|
||||
|
||||
# Determinism: rebuild all bytecode
|
||||
# We exclude lib2to3 because that's Python 2 code which fails
|
||||
# We rebuild three times, once for each optimization level
|
||||
# Python 3.7 implements PEP 552, introducing support for deterministic bytecode.
|
||||
# This is automatically used when `SOURCE_DATE_EPOCH` is set.
|
||||
find $out -name "*.py" | ${pythonForBuild} -m compileall -q -f -x "lib2to3" -i -
|
||||
find $out -name "*.py" | ${pythonForBuild} -O -m compileall -q -f -x "lib2to3" -i -
|
||||
find $out -name "*.py" | ${pythonForBuild} -OO -m compileall -q -f -x "lib2to3" -i -
|
||||
find $out -name "*.py" | ${pythonForBuildInterpreter} -m compileall -q -f -x "lib2to3" -i -
|
||||
find $out -name "*.py" | ${pythonForBuildInterpreter} -O -m compileall -q -f -x "lib2to3" -i -
|
||||
find $out -name "*.py" | ${pythonForBuildInterpreter} -OO -m compileall -q -f -x "lib2to3" -i -
|
||||
'';
|
||||
|
||||
preFixup = stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
|
||||
# Ensure patch-shebangs uses shebangs of host interpreter.
|
||||
export PATH=${stdenv.lib.makeBinPath [ "$out" bash ]}:$PATH
|
||||
'';
|
||||
|
||||
# Enforce that we don't have references to the OpenSSL -dev package, which we
|
||||
# explicitly specify in our configure flags above.
|
||||
disallowedReferences = [ openssl.dev ];
|
||||
disallowedReferences = [
|
||||
openssl.dev
|
||||
] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
# Ensure we don't have references to build-time packages.
|
||||
# These typically end up in shebangs.
|
||||
pythonForBuild buildPackages.bash
|
||||
];
|
||||
|
||||
passthru = let
|
||||
pythonPackages = callPackage ../../../../../top-level/python-packages.nix {
|
||||
python = self;
|
||||
overrides = packageOverrides;
|
||||
};
|
||||
in rec {
|
||||
inherit libPrefix sitePackages x11Support hasDistutilsCxxPatch;
|
||||
executable = "${libPrefix}m";
|
||||
buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
|
||||
withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
|
||||
pkgs = pythonPackages;
|
||||
isPy3 = true;
|
||||
isPy37 = true;
|
||||
is_py3k = true; # deprecated
|
||||
interpreter = "${self}/bin/${executable}";
|
||||
};
|
||||
inherit passthru;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
@ -229,6 +255,6 @@ in stdenv.mkDerivation {
|
|||
'';
|
||||
license = licenses.psfl;
|
||||
platforms = with platforms; linux ++ darwin;
|
||||
maintainers = with maintainers; [ fridh kragniz ];
|
||||
maintainers = with maintainers; [ fridh ];
|
||||
};
|
||||
}
|
156
pkgs/development/interpreters/python/default.nix
Normal file
156
pkgs/development/interpreters/python/default.nix
Normal file
|
@ -0,0 +1,156 @@
|
|||
{ pkgs, lib }:
|
||||
|
||||
with pkgs;
|
||||
|
||||
(let
|
||||
|
||||
# Common passthru for all Python interpreters.
|
||||
passthruFun =
|
||||
{ implementation
|
||||
, libPrefix
|
||||
, executable
|
||||
, sourceVersion
|
||||
, pythonVersion
|
||||
, packageOverrides
|
||||
, sitePackages
|
||||
, pythonForBuild
|
||||
, self
|
||||
}: let
|
||||
pythonPackages = callPackage ../../../top-level/python-packages.nix {
|
||||
python = self;
|
||||
overrides = packageOverrides;
|
||||
};
|
||||
in rec {
|
||||
isPy27 = pythonVersion == "2.7";
|
||||
isPy33 = pythonVersion == "3.3"; # TODO: remove
|
||||
isPy34 = pythonVersion == "3.4"; # TODO: remove
|
||||
isPy35 = pythonVersion == "3.5";
|
||||
isPy36 = pythonVersion == "3.6";
|
||||
isPy37 = pythonVersion == "3.7";
|
||||
isPy2 = lib.strings.substring 0 1 pythonVersion == "2";
|
||||
isPy3 = lib.strings.substring 0 1 pythonVersion == "3";
|
||||
isPy3k = isPy3;
|
||||
isPyPy = interpreter == "pypy";
|
||||
|
||||
buildEnv = callPackage ./wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
|
||||
withPackages = import ./with-packages.nix { inherit buildEnv pythonPackages;};
|
||||
pkgs = pythonPackages;
|
||||
interpreter = "${self}/bin/${executable}";
|
||||
inherit executable implementation libPrefix pythonVersion sitePackages;
|
||||
inherit sourceVersion;
|
||||
pythonAtLeast = lib.versionAtLeast pythonVersion;
|
||||
pythonOlder = lib.versionOlder pythonVersion;
|
||||
inherit pythonForBuild;
|
||||
};
|
||||
|
||||
in {
|
||||
|
||||
python27 = callPackage ./cpython/2.7 {
|
||||
self = python27;
|
||||
sourceVersion = {
|
||||
major = "2";
|
||||
minor = "7";
|
||||
patch = "15";
|
||||
suffix = "";
|
||||
};
|
||||
sha256 = "0x2mvz9dp11wj7p5ccvmk9s0hzjk2fa1m462p395l4r6bfnb3n92";
|
||||
inherit (darwin) CF configd;
|
||||
inherit passthruFun;
|
||||
};
|
||||
|
||||
python35 = callPackage ./cpython {
|
||||
self = python35;
|
||||
sourceVersion = {
|
||||
major = "3";
|
||||
minor = "5";
|
||||
patch = "6";
|
||||
suffix = "";
|
||||
};
|
||||
sha256 = "0pqmf51zy2lzhbaj4yya2py2qr653j9152d0rg3p7wi1yl2dwp7m";
|
||||
inherit (darwin) CF configd;
|
||||
inherit passthruFun;
|
||||
};
|
||||
|
||||
python36 = callPackage ./cpython {
|
||||
self = python36;
|
||||
sourceVersion = {
|
||||
major = "3";
|
||||
minor = "6";
|
||||
patch = "8";
|
||||
suffix = "";
|
||||
};
|
||||
sha256 = "14qi6n5gpcjnwy165wi9hkfcmbadc95ny6bxxldknxwmx50n4i1m";
|
||||
inherit (darwin) CF configd;
|
||||
inherit passthruFun;
|
||||
};
|
||||
|
||||
python37 = callPackage ./cpython {
|
||||
self = python37;
|
||||
sourceVersion = {
|
||||
major = "3";
|
||||
minor = "7";
|
||||
patch = "2";
|
||||
suffix = "";
|
||||
};
|
||||
sha256 = "1fzi9d2gibh0wzwidyckzbywsxcsbckgsl05ryxlifxia77fhgyq";
|
||||
inherit (darwin) CF configd;
|
||||
inherit passthruFun;
|
||||
};
|
||||
|
||||
pypy27 = callPackage ./pypy {
|
||||
self = pypy27;
|
||||
sourceVersion = {
|
||||
major = "6";
|
||||
minor = "0";
|
||||
patch = "0";
|
||||
};
|
||||
sha256 = "1qjwpc8n68sxxlfg36s5vn1h2gdfvvd6lxvr4lzbvfwhzrgqahsw";
|
||||
pythonVersion = "2.7";
|
||||
db = db.override { dbmSupport = true; };
|
||||
python = python27;
|
||||
inherit passthruFun;
|
||||
};
|
||||
|
||||
pypy35 = callPackage ./pypy {
|
||||
self = pypy35;
|
||||
sourceVersion = {
|
||||
major = "6";
|
||||
minor = "0";
|
||||
patch = "0";
|
||||
};
|
||||
sha256 = "0lwq8nn0r5yj01bwmkk5p7xvvrp4s550l8184mkmn74d3gphrlwg";
|
||||
pythonVersion = "3.5";
|
||||
db = db.override { dbmSupport = true; };
|
||||
python = python27;
|
||||
inherit passthruFun;
|
||||
};
|
||||
|
||||
pypy27_prebuilt = callPackage ./pypy/prebuilt.nix {
|
||||
# Not included at top-level
|
||||
self = pythonInterpreters.pypy27_prebuilt;
|
||||
sourceVersion = {
|
||||
major = "6";
|
||||
minor = "0";
|
||||
patch = "0";
|
||||
};
|
||||
sha256 = "0rxgnp3fm18b87ln8bbjr13g2fsf4ka4abkaim6m03y9lwmr9gvc"; # linux64
|
||||
pythonVersion = "2.7";
|
||||
inherit passthruFun;
|
||||
ncurses = ncurses5;
|
||||
};
|
||||
|
||||
pypy35_prebuilt = callPackage ./pypy/prebuilt.nix {
|
||||
# Not included at top-level
|
||||
self = pythonInterpreters.pypy35_prebuilt;
|
||||
sourceVersion = {
|
||||
major = "6";
|
||||
minor = "0";
|
||||
patch = "0";
|
||||
};
|
||||
sha256 = "0j3h08s7wpglghasmym3baycpif5jshvmk9rpav4pwwy5clzmzsc"; # linux64
|
||||
pythonVersion = "3.5";
|
||||
inherit passthruFun;
|
||||
ncurses = ncurses5;
|
||||
};
|
||||
|
||||
})
|
|
@ -77,7 +77,7 @@ let self = toPythonModule (python.stdenv.mkDerivation (builtins.removeAttrs attr
|
|||
|
||||
buildInputs = [ wrapPython ]
|
||||
++ lib.optional (lib.hasSuffix "zip" (attrs.src.name or "")) unzip
|
||||
++ lib.optional catchConflicts setuptools # If we no longer propagate setuptools
|
||||
# ++ lib.optional catchConflicts setuptools # If we no longer propagate setuptools
|
||||
++ buildInputs
|
||||
++ pythonPath;
|
||||
|
||||
|
@ -100,9 +100,12 @@ let self = toPythonModule (python.stdenv.mkDerivation (builtins.removeAttrs attr
|
|||
# Check if we have two packages with the same name in the closure and fail.
|
||||
# If this happens, something went wrong with the dependencies specs.
|
||||
# Intentionally kept in a subdirectory, see catch_conflicts/README.md.
|
||||
${python.interpreter} ${./catch_conflicts}/catch_conflicts.py
|
||||
${python.pythonForBuild.interpreter} ${./catch_conflicts}/catch_conflicts.py
|
||||
'' + attrs.postFixup or '''';
|
||||
|
||||
# Python packages built through cross-compilation are always for the host platform.
|
||||
disallowedReferences = lib.optionals (python.stdenv.hostPlatform != python.stdenv.buildPlatform) [ python.pythonForBuild ];
|
||||
|
||||
meta = {
|
||||
# default to python's platforms
|
||||
platforms = python.meta.platforms;
|
||||
|
|
|
@ -1,136 +0,0 @@
|
|||
{ stdenv, substituteAll, fetchurl
|
||||
, zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi
|
||||
, sqlite, openssl, ncurses, python, expat, tcl, tk, tix, xlibsWrapper, libX11
|
||||
, makeWrapper, callPackage, self, gdbm, db
|
||||
, python-setup-hook
|
||||
# For the Python package set
|
||||
, packageOverrides ? (self: super: {})
|
||||
}:
|
||||
|
||||
assert zlibSupport -> zlib != null;
|
||||
|
||||
let
|
||||
version = "6.0.0";
|
||||
pythonVersion = "2.7";
|
||||
libPrefix = "pypy${pythonVersion}";
|
||||
sitePackages = "site-packages";
|
||||
|
||||
pythonForPypy = python.withPackages (ppkgs: [ ppkgs.pycparser ]);
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "pypy-${version}";
|
||||
inherit version pythonVersion;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://bitbucket.org/pypy/pypy/get/release-pypy${pythonVersion}-v${version}.tar.bz2";
|
||||
sha256 = "1qjwpc8n68sxxlfg36s5vn1h2gdfvvd6lxvr4lzbvfwhzrgqahsw";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig makeWrapper ];
|
||||
buildInputs = [
|
||||
bzip2 openssl pythonForPypy libffi ncurses expat sqlite tk tcl xlibsWrapper libX11 gdbm db
|
||||
] ++ stdenv.lib.optional (stdenv ? cc && stdenv.cc.libc != null) stdenv.cc.libc
|
||||
++ stdenv.lib.optional zlibSupport zlib;
|
||||
|
||||
hardeningDisable = stdenv.lib.optional stdenv.isi686 "pic";
|
||||
|
||||
C_INCLUDE_PATH = stdenv.lib.makeSearchPathOutput "dev" "include" buildInputs;
|
||||
LIBRARY_PATH = stdenv.lib.makeLibraryPath buildInputs;
|
||||
LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath (stdenv.lib.filter (x : x.outPath != stdenv.cc.libc.outPath or "") buildInputs);
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./tk_tcl_paths.patch;
|
||||
inherit tk tcl;
|
||||
tk_dev = tk.dev;
|
||||
tcl_dev = tcl;
|
||||
tk_libprefix = tk.libPrefix;
|
||||
tcl_libprefix = tcl.libPrefix;
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace "lib-python/2.7/lib-tk/Tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
|
||||
|
||||
# hint pypy to find nix ncurses
|
||||
substituteInPlace pypy/module/_minimal_curses/fficurses.py \
|
||||
--replace "/usr/include/ncurses/curses.h" "${ncurses.dev}/include/curses.h" \
|
||||
--replace "ncurses/curses.h" "${ncurses.dev}/include/curses.h" \
|
||||
--replace "ncurses/term.h" "${ncurses.dev}/include/term.h" \
|
||||
--replace "libraries=['curses']" "libraries=['ncurses']"
|
||||
|
||||
sed -i "s@libraries=\['sqlite3'\]\$@libraries=['sqlite3'], include_dirs=['${sqlite.dev}/include'], library_dirs=['${sqlite.out}/lib']@" lib_pypy/_sqlite3_build.py
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
${pythonForPypy.interpreter} rpython/bin/rpython \
|
||||
--make-jobs="$NIX_BUILD_CORES" \
|
||||
-Ojit \
|
||||
--batch pypy/goal/targetpypystandalone.py
|
||||
'';
|
||||
|
||||
setupHook = python-setup-hook sitePackages;
|
||||
|
||||
doCheck = true;
|
||||
checkPhase = ''
|
||||
export TERMINFO="${ncurses.out}/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
|
||||
# disable test_urllib2net, test_urllib2_localnet, and test_urllibnet because they require networking (example.com)
|
||||
./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k 'not ( test_urllib2net or test_urllibnet or test_urllib2_localnet or test_socket or 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
|
||||
cp libpypy-c.so $out/lib/
|
||||
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}
|
||||
|
||||
# We must wrap the original, not the symlink.
|
||||
# PyPy uses argv[0] to find its standard library, and while it knows
|
||||
# how to follow symlinks, it doesn't know about wrappers. So, it
|
||||
# will think the wrapper is the original. As long as the wrapper has
|
||||
# the same path as the original, this is OK.
|
||||
wrapProgram "$out/pypy-c/pypy-c" \
|
||||
--set LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:$out/lib" \
|
||||
--set LIBRARY_PATH "${LIBRARY_PATH}:$out/lib"
|
||||
|
||||
# verify cffi modules
|
||||
$out/bin/pypy -c "import Tkinter;import sqlite3;import curses"
|
||||
|
||||
# Python on Nix is not manylinux1 compatible. https://github.com/NixOS/nixpkgs/issues/18484
|
||||
echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py
|
||||
'';
|
||||
|
||||
passthru = let
|
||||
pythonPackages = callPackage ../../../../../top-level/python-packages.nix {python=self; overrides=packageOverrides;};
|
||||
in rec {
|
||||
inherit zlibSupport libPrefix sitePackages;
|
||||
executable = "pypy";
|
||||
isPypy = true;
|
||||
isPy2 = true;
|
||||
isPy27 = true;
|
||||
buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
|
||||
interpreter = "${self}/bin/${executable}";
|
||||
withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
|
||||
pkgs = pythonPackages;
|
||||
};
|
||||
|
||||
enableParallelBuilding = true; # almost no parallelization without STM
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://pypy.org/;
|
||||
description = "Fast, compliant alternative implementation of the Python language (2.7.13)";
|
||||
license = licenses.mit;
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
--- pypy-pypy-84a2f3e6a7f8.org/lib_pypy/_tkinter/tklib_build.py 2017-10-03 11:49:20.000000000 +0100
|
||||
+++ pypy-pypy-84a2f3e6a7f8/lib_pypy/_tkinter/tklib_build.py 2017-11-21 13:20:51.398607530 +0000
|
||||
@@ -24,11 +24,11 @@
|
||||
else:
|
||||
# On some Linux distributions, the tcl and tk libraries are
|
||||
# stored in /usr/include, so we must check this case also
|
||||
- libdirs = []
|
||||
+ libdirs = ["@tcl@/lib", "@tk@/lib"]
|
||||
found = False
|
||||
for _ver in ['', '8.6', '8.5']:
|
||||
- incdirs = ['/usr/include/tcl' + _ver]
|
||||
- linklibs = ['tcl' + _ver, 'tk' + _ver]
|
||||
+ incdirs = ['@tcl_dev@/include', '@tk_dev@/include']
|
||||
+ linklibs = ['@tcl_libprefix@', '@tk_libprefix@']
|
||||
if os.path.isdir(incdirs[0]):
|
||||
found = True
|
||||
break
|
|
@ -5,38 +5,54 @@
|
|||
, python-setup-hook
|
||||
# For the Python package set
|
||||
, packageOverrides ? (self: super: {})
|
||||
, sourceVersion
|
||||
, pythonVersion
|
||||
, sha256
|
||||
, passthruFun
|
||||
}:
|
||||
|
||||
assert zlibSupport -> zlib != null;
|
||||
|
||||
let
|
||||
version = "6.0.0";
|
||||
pythonVersion = "3.5";
|
||||
libPrefix = "pypy${pythonVersion}";
|
||||
sitePackages = "site-packages";
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
isPy3k = substring 0 1 pythonVersion == "3";
|
||||
passthru = passthruFun rec {
|
||||
inherit self sourceVersion pythonVersion packageOverrides;
|
||||
implementation = "pypy";
|
||||
libPrefix = "pypy${pythonVersion}";
|
||||
executable = "pypy${if isPy3k then "3" else ""}";
|
||||
pythonForBuild = self; # No cross-compiling for now.
|
||||
sitePackages = "site-packages";
|
||||
};
|
||||
pname = passthru.executable;
|
||||
version = with sourceVersion; "${major}.${minor}.${patch}";
|
||||
pythonForPypy = python.withPackages (ppkgs: [ ppkgs.pycparser ]);
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "pypy3-${version}";
|
||||
inherit version pythonVersion;
|
||||
in with passthru; stdenv.mkDerivation rec {
|
||||
inherit pname version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://bitbucket.org/pypy/pypy/get/release-pypy${pythonVersion}-v${version}.tar.bz2";
|
||||
sha256 = "0lwq8nn0r5yj01bwmkk5p7xvvrp4s550l8184mkmn74d3gphrlwg";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig makeWrapper ];
|
||||
buildInputs = [
|
||||
bzip2 openssl pythonForPypy libffi ncurses expat sqlite tk tcl xlibsWrapper libX11 gdbm db lzma
|
||||
] ++ stdenv.lib.optional (stdenv ? cc && stdenv.cc.libc != null) stdenv.cc.libc
|
||||
++ stdenv.lib.optional zlibSupport zlib;
|
||||
bzip2 openssl pythonForPypy libffi ncurses expat sqlite tk tcl xlibsWrapper libX11 gdbm db
|
||||
] ++ optionals isPy3k [
|
||||
lzma
|
||||
] ++ optionals (stdenv ? cc && stdenv.cc.libc != null) [
|
||||
stdenv.cc.libc
|
||||
] ++ optionals zlibSupport [
|
||||
zlib
|
||||
];
|
||||
|
||||
hardeningDisable = stdenv.lib.optional stdenv.isi686 "pic";
|
||||
hardeningDisable = optional stdenv.isi686 "pic";
|
||||
|
||||
C_INCLUDE_PATH = stdenv.lib.makeSearchPathOutput "dev" "include" buildInputs;
|
||||
LIBRARY_PATH = stdenv.lib.makeLibraryPath buildInputs;
|
||||
LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath (stdenv.lib.filter (x : x.outPath != stdenv.cc.libc.outPath or "") buildInputs);
|
||||
C_INCLUDE_PATH = makeSearchPathOutput "dev" "include" buildInputs;
|
||||
LIBRARY_PATH = makeLibraryPath buildInputs;
|
||||
LD_LIBRARY_PATH = makeLibraryPath (filter (x : x.outPath != stdenv.cc.libc.outPath or "") buildInputs);
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
|
@ -50,7 +66,7 @@ in stdenv.mkDerivation rec {
|
|||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace "lib-python/3/tkinter/tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
|
||||
substituteInPlace "lib-python/${if isPy3k then "3/tkinter/tix.py" else "2.7/lib-tk/Tix.py"}" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
|
||||
|
||||
# hint pypy to find nix ncurses
|
||||
substituteInPlace pypy/module/_minimal_curses/fficurses.py \
|
||||
|
@ -72,60 +88,63 @@ in stdenv.mkDerivation rec {
|
|||
setupHook = python-setup-hook sitePackages;
|
||||
|
||||
doCheck = true;
|
||||
checkPhase = ''
|
||||
checkPhase = let
|
||||
disabledTests = [
|
||||
# disable shutils because it assumes gid 0 exists
|
||||
"test_shutil"
|
||||
# disable socket because it has two actual network tests that fail
|
||||
"test_socket"
|
||||
] ++ optionals (!isPy3k) [
|
||||
# disable test_urllib2net, test_urllib2_localnet, and test_urllibnet because they require networking (example.com)
|
||||
"test_urllib2net"
|
||||
"test_urllibnet"
|
||||
"test_urllib2_localnet"
|
||||
] ++ optionals isPy3k [
|
||||
# disable asyncio due to https://github.com/NixOS/nix/issues/1238
|
||||
"test_asyncio"
|
||||
# disable os due to https://github.com/NixOS/nixpkgs/issues/10496
|
||||
"test_os"
|
||||
# disable pathlib due to https://bitbucket.org/pypy/pypy/pull-requests/594
|
||||
"test_pathlib"
|
||||
# disable tarfile because it assumes gid 0 exists
|
||||
"test_tarfile"
|
||||
];
|
||||
in ''
|
||||
export TERMINFO="${ncurses.out}/share/terminfo/";
|
||||
export TERM="xterm";
|
||||
export HOME="$TMPDIR";
|
||||
# disable asyncio due to https://github.com/NixOS/nix/issues/1238
|
||||
# disable os due to https://github.com/NixOS/nixpkgs/issues/10496
|
||||
# disable pathlib due to https://bitbucket.org/pypy/pypy/pull-requests/594
|
||||
# disable shutils because it assumes gid 0 exists
|
||||
# disable socket because it has two actual network tests that fail
|
||||
# disable tarfile because it assumes gid 0 exists
|
||||
${pythonForPypy.interpreter} ./pypy/test_all.py --pypy=./pypy3-c -k 'not ( test_asyncio or test_os or test_pathlib or test_shutil or test_socket or test_tarfile )' lib-python
|
||||
|
||||
${pythonForPypy.interpreter} ./pypy/test_all.py --pypy=./${executable}-c -k 'not (${concatStringsSep " or " disabledTests})' lib-python
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/{bin,include,lib,pypy3-c}
|
||||
mkdir -p $out/{bin,include,lib,${executable}-c}
|
||||
|
||||
cp -R {include,lib_pypy,lib-python,pypy3-c} $out/pypy3-c
|
||||
cp libpypy3-c.so $out/lib/
|
||||
ln -s $out/pypy3-c/pypy3-c $out/bin/pypy3
|
||||
cp -R {include,lib_pypy,lib-python,${executable}-c} $out/${executable}-c
|
||||
cp lib${executable}-c.so $out/lib/
|
||||
ln -s $out/${executable}-c/${executable}-c $out/bin/${executable}
|
||||
|
||||
# other packages expect to find stuff according to libPrefix
|
||||
ln -s $out/pypy3-c/include $out/include/${libPrefix}
|
||||
ln -s $out/pypy3-c/lib-python/3 $out/lib/${libPrefix}
|
||||
ln -s $out/${executable}/include $out/include/${libPrefix}
|
||||
ln -s $out/${executable}-c/lib-python/${if isPy3k then "3" else pythonVersion} $out/lib/${libPrefix}
|
||||
|
||||
# We must wrap the original, not the symlink.
|
||||
# PyPy uses argv[0] to find its standard library, and while it knows
|
||||
# how to follow symlinks, it doesn't know about wrappers. So, it
|
||||
# will think the wrapper is the original. As long as the wrapper has
|
||||
# the same path as the original, this is OK.
|
||||
wrapProgram "$out/pypy3-c/pypy3-c" \
|
||||
wrapProgram "$out/${executable}-c/${executable}-c" \
|
||||
--set LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:$out/lib" \
|
||||
--set LIBRARY_PATH "${LIBRARY_PATH}:$out/lib"
|
||||
|
||||
# verify cffi modules
|
||||
$out/bin/pypy3 -c "import tkinter;import sqlite3;import curses;import lzma"
|
||||
$out/bin/${executable} -c ${if isPy3k then "'import tkinter;import sqlite3;import curses;import lzma'" else "'import Tkinter;import sqlite3;import curses'"}
|
||||
|
||||
# Python on Nix is not manylinux1 compatible. https://github.com/NixOS/nixpkgs/issues/18484
|
||||
echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py
|
||||
'';
|
||||
|
||||
passthru = let
|
||||
pythonPackages = callPackage ../../../../../top-level/python-packages.nix {python=self; overrides=packageOverrides;};
|
||||
in rec {
|
||||
inherit zlibSupport libPrefix sitePackages;
|
||||
executable = "pypy3";
|
||||
isPypy = true;
|
||||
isPy3 = true;
|
||||
isPy35 = true;
|
||||
buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
|
||||
interpreter = "${self}/bin/${executable}";
|
||||
withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
|
||||
pkgs = pythonPackages;
|
||||
};
|
||||
|
||||
inherit passthru;
|
||||
enableParallelBuilding = true; # almost no parallelization without STM
|
||||
|
||||
meta = with stdenv.lib; {
|
123
pkgs/development/interpreters/python/pypy/prebuilt.nix
Normal file
123
pkgs/development/interpreters/python/pypy/prebuilt.nix
Normal file
|
@ -0,0 +1,123 @@
|
|||
{ stdenv
|
||||
, fetchurl
|
||||
, python-setup-hook
|
||||
, self
|
||||
, which
|
||||
# Dependencies
|
||||
, bzip2
|
||||
, zlib
|
||||
, openssl
|
||||
, expat
|
||||
, libffi
|
||||
, ncurses
|
||||
, tcl
|
||||
, tk
|
||||
# For the Python package set
|
||||
, packageOverrides ? (self: super: {})
|
||||
, sourceVersion
|
||||
, pythonVersion
|
||||
, sha256
|
||||
, passthruFun
|
||||
}:
|
||||
|
||||
# This version of PyPy is primarily added to speed-up translation of
|
||||
# our PyPy source build when developing that expression.
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
isPy3k = majorVersion == "3";
|
||||
passthru = passthruFun rec {
|
||||
inherit self sourceVersion pythonVersion packageOverrides;
|
||||
implementation = "pypy";
|
||||
libPrefix = "pypy${pythonVersion}";
|
||||
executable = "pypy${if isPy3k then "3" else ""}";
|
||||
pythonForBuild = self; # Not possible to cross-compile with.
|
||||
sitePackages = "site-packages";
|
||||
};
|
||||
pname = "${passthru.executable}_prebuilt";
|
||||
version = with sourceVersion; "${major}.${minor}.${patch}";
|
||||
|
||||
majorVersion = substring 0 1 pythonVersion;
|
||||
|
||||
setupHook = python-setup-hook sitePackages;
|
||||
|
||||
deps = [
|
||||
bzip2
|
||||
zlib
|
||||
openssl
|
||||
expat
|
||||
libffi
|
||||
ncurses
|
||||
tcl
|
||||
tk
|
||||
];
|
||||
|
||||
in with passthru; stdenv.mkDerivation {
|
||||
inherit pname version;
|
||||
|
||||
src = fetchurl {
|
||||
url= "https://bitbucket.org/pypy/pypy/downloads/pypy${majorVersion}-v${version}-linux64.tar.bz2";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
buildInputs = [ which ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib
|
||||
echo "Moving files to $out"
|
||||
mv -t $out bin include lib-python lib_pypy site-packages
|
||||
|
||||
mv $out/bin/libpypy*-c.so $out/lib/
|
||||
|
||||
rm $out/bin/*.debug
|
||||
|
||||
echo "Patching binaries"
|
||||
interpreter=$(patchelf --print-interpreter $(readlink -f $(which patchelf)))
|
||||
patchelf --set-interpreter $interpreter \
|
||||
--set-rpath $out/lib \
|
||||
$out/bin/pypy*
|
||||
|
||||
pushd $out
|
||||
find {lib,lib_pypy*} -name "*.so" -exec patchelf --replace-needed "libbz2.so.1.0" "libbz2.so.1" {} \;
|
||||
find {lib,lib_pypy*} -name "*.so" -exec patchelf --set-rpath ${stdenv.lib.makeLibraryPath deps} {} \;
|
||||
|
||||
echo "Removing bytecode"
|
||||
find . -name "__pycache__" -type d -depth -exec rm -rf {} \;
|
||||
popd
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
# Check whether importing of (extension) modules functions
|
||||
installCheckPhase = let
|
||||
modules = [
|
||||
"ssl"
|
||||
"sys"
|
||||
"curses"
|
||||
] ++ optionals (!isPy3k) [
|
||||
"Tkinter"
|
||||
] ++ optionals isPy3k [
|
||||
"tkinter"
|
||||
];
|
||||
imports = concatMapStringsSep "; " (x: "import ${x}") modules;
|
||||
in ''
|
||||
echo "Testing whether we can import modules"
|
||||
$out/bin/${executable} -c '${imports}'
|
||||
'';
|
||||
|
||||
setupHook = python-setup-hook sitePackages;
|
||||
|
||||
donPatchElf = true;
|
||||
dontStrip = true;
|
||||
|
||||
inherit passthru;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://pypy.org/;
|
||||
description = "Fast, compliant alternative implementation of the Python language (3.5.3)";
|
||||
license = licenses.mit;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
|
||||
}
|
|
@ -9,7 +9,8 @@ makeSetupHook {
|
|||
deps = makeWrapper;
|
||||
substitutions.sitePackages = python.sitePackages;
|
||||
substitutions.executable = python.interpreter;
|
||||
substitutions.python = python;
|
||||
substitutions.python = python.pythonForBuild;
|
||||
substitutions.pythonHost = python;
|
||||
substitutions.magicalSedExpression = let
|
||||
# Looks weird? Of course, it's between single quoted shell strings.
|
||||
# NOTE: Order DOES matter here, so single character quotes need to be
|
||||
|
|
|
@ -16,8 +16,8 @@ buildPythonPath() {
|
|||
declare -A pythonPathsSeen=()
|
||||
program_PYTHONPATH=
|
||||
program_PATH=
|
||||
pythonPathsSeen["@python@"]=1
|
||||
addToSearchPath program_PATH @python@/bin
|
||||
pythonPathsSeen["@pythonHost@"]=1
|
||||
addToSearchPath program_PATH @pythonHost@/bin
|
||||
for path in $pythonPath; do
|
||||
_addToPythonPath $path
|
||||
done
|
||||
|
@ -53,7 +53,13 @@ wrapPythonProgramsIn() {
|
|||
# Strip suffix, like "3" or "2.7m" -- we don't have any choice on which
|
||||
# Python to use besides one with this hook anyway.
|
||||
if head -n1 "$f" | grep -q '#!.*/env.*\(python\|pypy\)'; then
|
||||
sed -i "$f" -e "1 s^.*/env[ ]*\(python\|pypy\)[^ ]*^#! @executable@^"
|
||||
sed -i "$f" -e "1 s^.*/env[ ]*\(python\|pypy\)[^ ]*^#!@executable@^"
|
||||
fi
|
||||
|
||||
if head -n1 "$f" | grep -q '#!.*'; then
|
||||
# Cross-compilation hack: ensure shebangs are for the host
|
||||
echo "Rewriting $(head -n 1 $f) to #!@pythonHost@"
|
||||
sed -i "$f" -e "1 s^#!@python@^#!@pythonHost@^"
|
||||
fi
|
||||
|
||||
# catch /python and /.python-wrapped
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ stdenv, config, libGLSupported, fetchurl, pkgconfig, pruneLibtoolFiles
|
||||
, openglSupport ? libGLSupported, libGL
|
||||
, alsaSupport ? stdenv.isLinux, alsaLib
|
||||
, x11Support ? !stdenv.isCygwin, libX11, xproto, libICE, libXi, libXScrnSaver, libXcursor, libXinerama, libXext, libXxf86vm, libXrandr
|
||||
, x11Support ? !stdenv.isCygwin, libX11, xorgproto, libICE, libXi, libXScrnSaver, libXcursor, libXinerama, libXext, libXxf86vm, libXrandr
|
||||
, waylandSupport ? stdenv.isLinux, wayland, wayland-protocols, libxkbcommon
|
||||
, dbusSupport ? stdenv.isLinux, dbus
|
||||
, udevSupport ? false, udev
|
||||
|
@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
|
|||
# Propagated for #include <GLES/gl.h> in SDL_opengles.h.
|
||||
++ optional openglSupport libGL
|
||||
# Propagated for #include <X11/Xlib.h> and <X11/Xatom.h> in SDL_syswm.h.
|
||||
++ optionals x11Support [ libX11 xproto ];
|
||||
++ optionals x11Support [ libX11 xorgproto ];
|
||||
|
||||
dlopenBuildInputs = [ ]
|
||||
++ optional alsaSupport alsaLib
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{ stdenv, fetchFromGitHub, fetchpatch, texinfo, libXext, xextproto, libX11, xproto
|
||||
{ stdenv, fetchFromGitHub, fetchpatch, texinfo, libXext, xorgproto, libX11
|
||||
, libXpm, libXt, libXcursor, alsaLib, cmake, zlib, libpng, libvorbis
|
||||
, libXxf86dga, libXxf86misc, xf86dgaproto, xf86miscproto
|
||||
, xf86vidmodeproto, libXxf86vm, openal, libGLU_combined, kbproto, libjpeg, flac
|
||||
, inputproto, libXi, fixesproto, libXfixes, freetype, libopus, libtheora
|
||||
, libXxf86dga, libXxf86misc
|
||||
, libXxf86vm, openal, libGLU_combined, libjpeg, flac
|
||||
, libXi, libXfixes, freetype, libopus, libtheora
|
||||
, physfs, enet, pkgconfig, gtk2, pcre, libpulseaudio, libpthreadstubs
|
||||
, libXdmcp
|
||||
}:
|
||||
|
@ -19,11 +19,11 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
|
||||
buildInputs = [
|
||||
texinfo libXext xextproto libX11 xproto libXpm libXt libXcursor
|
||||
texinfo libXext xorgproto libX11 libXpm libXt libXcursor
|
||||
alsaLib cmake zlib libpng libvorbis libXxf86dga libXxf86misc
|
||||
xf86dgaproto xf86miscproto xf86vidmodeproto libXxf86vm openal libGLU_combined
|
||||
kbproto libjpeg flac
|
||||
inputproto libXi fixesproto libXfixes
|
||||
libXxf86vm openal libGLU_combined
|
||||
libjpeg flac
|
||||
libXi libXfixes
|
||||
enet libtheora freetype physfs libopus pkgconfig gtk2 pcre libXdmcp
|
||||
libpulseaudio libpthreadstubs
|
||||
];
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ stdenv, fetchurl, texinfo, libXext, xextproto, libX11, xproto
|
||||
{ stdenv, fetchurl, texinfo, libXext, xorgproto, libX11
|
||||
, libXpm, libXt, libXcursor, alsaLib, cmake, zlib, libpng, libvorbis
|
||||
, libXxf86dga, libXxf86misc, xf86dgaproto, xf86miscproto
|
||||
, xf86vidmodeproto, libXxf86vm, openal, libGLU_combined }:
|
||||
, libXxf86dga, libXxf86misc
|
||||
, libXxf86vm, openal, libGLU_combined }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "allegro-${version}";
|
||||
|
@ -18,9 +18,9 @@ stdenv.mkDerivation rec {
|
|||
];
|
||||
|
||||
buildInputs = [
|
||||
texinfo libXext xextproto libX11 xproto libXpm libXt libXcursor
|
||||
texinfo libXext xorgproto libX11 libXpm libXt libXcursor
|
||||
alsaLib cmake zlib libpng libvorbis libXxf86dga libXxf86misc
|
||||
xf86dgaproto xf86miscproto xf86vidmodeproto libXxf86vm openal libGLU_combined
|
||||
libXxf86vm openal libGLU_combined
|
||||
];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue