Merge remote-tracking branch 'upstream/master' into hardened-stdenv

This commit is contained in:
Robin Gloster
2016-07-15 14:41:01 +00:00
1603 changed files with 132258 additions and 39568 deletions
+14 -9
View File
@@ -1,13 +1,17 @@
{ stdenv, pkgconfig, cmake, bluez, ffmpeg, libao, mesa, gtk2, glib
, gettext, libpthreadstubs, libXrandr, libXext, readline
, openal, libXdmcp, portaudio, SDL, wxGTK30, fetchurl
, gettext, libpthreadstubs, libXrandr, libXext, readline, openal
, libXdmcp, portaudio, fetchFromGitHub, libusb, libevdev
, libpulseaudio ? null }:
stdenv.mkDerivation rec {
name = "dolphin-emu-4.0.2";
src = fetchurl {
url = https://github.com/dolphin-emu/dolphin/archive/4.0.2.tar.gz;
sha256 = "0a8ikcxdify9d7lqz8fn2axk2hq4q1nvbcsi1b8vb9z0mdrhzw89";
name = "dolphin-emu-${version}";
version = "5.0";
src = fetchFromGitHub {
owner = "dolphin-emu";
repo = "dolphin";
rev = version;
sha256 = "07mlfnh0hwvk6xarcg315x7z2j0qbg9g7cm040df9c8psiahc3g6";
};
cmakeFlags = ''
@@ -22,14 +26,15 @@ stdenv.mkDerivation rec {
buildInputs = [ pkgconfig cmake bluez ffmpeg libao mesa gtk2 glib
gettext libpthreadstubs libXrandr libXext readline openal
libXdmcp portaudio SDL wxGTK30 libpulseaudio ];
libevdev libXdmcp portaudio libusb libpulseaudio ];
meta = {
homepage = http://dolphin-emu.org/;
description = "Gamecube/Wii/Triforce emulator for x86_64 and ARM";
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ MP2E ];
broken = true;
# x86_32 is an unsupported platform.
# Enable generic build if you really want a JIT-less binary.
platforms = [ "x86_64-linux" ];
};
}
+2 -2
View File
@@ -1,4 +1,4 @@
{ stdenv, gcc5, pkgconfig, cmake, bluez, ffmpeg, libao, mesa, gtk2, glib
{ stdenv, gcc, pkgconfig, cmake, bluez, ffmpeg, libao, mesa, gtk2, glib
, gettext, git, libpthreadstubs, libXrandr, libXext, readline
, openal, libXdmcp, portaudio, fetchgit, libusb, libevdev
, libpulseaudio ? null }:
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
buildInputs = [ gcc5 pkgconfig cmake bluez ffmpeg libao mesa gtk2 glib
buildInputs = [ gcc pkgconfig cmake bluez ffmpeg libao mesa gtk2 glib
gettext libpthreadstubs libXrandr libXext readline openal
libevdev git libXdmcp portaudio libusb libpulseaudio ];
+3 -2
View File
@@ -11,16 +11,17 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "higan-${version}";
version = "098";
version = "099";
sourceName = "higan_v${version}-source";
src = fetchurl {
urls = [ "http://download.byuu.org/${sourceName}.7z" ];
sha256 = "0qphvjfv17dbmzgb4pny2q6ln0lsgzyhalq6qyqxc3qwm4fzdjv1";
sha256 = "11lfsas1ym3xwb1rc27z1skvb4m176swix9dih4rvnlqxkqz4qhw";
curlOpts = "--user-agent 'Mozilla/5.0'"; # the good old user-agent trick...
};
patches = [ ./0001-change-flags.diff ];
postPatch = "sed '1i#include <cmath>' -i higan/fc/ppu/ppu.cpp";
buildInputs =
[ p7zip pkgconfig libX11 libXv udev mesa SDL libao openal libpulseaudio gtk gtksourceview ];
+4
View File
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
sha256 = "0s7mxq2cgzwjfsq0vhpz6ljk7wr725nxg48128iyirf85585l691";
};
postPatch = "sed '1i#include \"x86intrin.h\"' -i common/src/x86emitter/cpudetect.cpp";
configurePhase = ''
mkdir -p build
cd build
@@ -50,6 +52,8 @@ stdenv.mkDerivation rec {
soundtouch wxGTK30 zlib
];
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "Playstation 2 emulator";
longDescription= ''
+24 -15
View File
@@ -1,6 +1,12 @@
{ stdenv, fetchgit, makeDesktopItem, pkgconfig, ffmpeg, mesa, nvidia_cg_toolkit
, freetype, libxml2, libv4l, coreutils, python34, which, udev, alsaLib
, libX11, libXext, libXxf86vm, libXdmcp, SDL, libpulseaudio ? null }:
{ stdenv, fetchFromGitHub, makeDesktopItem, coreutils, which, pkgconfig
, ffmpeg, mesa, freetype, libxml2, python34
, enableNvidiaCgToolkit ? false, nvidia_cg_toolkit ? null
, alsaLib ? null, libv4l ? null
, udev ? null, libX11 ? null, libXext ? null, libXxf86vm ? null
, libXdmcp ? null, SDL ? null, libpulseaudio ? null
}:
with stdenv.lib;
let
desktopItem = makeDesktopItem {
@@ -9,25 +15,28 @@ let
icon = "retroarch";
comment = "Multi-Engine Platform";
desktopName = "RetroArch";
genericName = "Libretro Frontend";
genericName = "Libretro Frontend";
categories = "Game;Emulator;";
#keywords = "multi;engine;emulator;xmb;";
};
in
stdenv.mkDerivation rec {
name = "retroarch-bare-${version}";
version = "2015-11-20";
version = "1.3.4";
src = fetchgit {
url = https://github.com/libretro/RetroArch.git;
rev = "09dda14549fc13231311fd522a07a75e923889aa";
sha256 = "0yrisl61iaa70ahswzgb505bvm5cxq8ndnv2bw7gqrlm5qrh54qy";
src = fetchFromGitHub {
owner = "libretro";
repo = "RetroArch";
sha256 = "0ccp17580w0884baxj5kcynlm03jgd7i62dprz1ajxbi2s7b3mi3";
rev = "v${version}";
};
buildInputs = [ pkgconfig ffmpeg mesa nvidia_cg_toolkit freetype libxml2 libv4l coreutils
python34 which udev alsaLib libX11 libXext libXxf86vm libXdmcp SDL libpulseaudio ];
buildInputs = [ pkgconfig ffmpeg mesa freetype libxml2 coreutils python34 which SDL ]
++ optional enableNvidiaCgToolkit nvidia_cg_toolkit
++ optionals stdenv.isLinux [ udev alsaLib libX11 libXext libXxf86vm libXdmcp libv4l libpulseaudio ];
configureScript = "sh configure";
patchPhase = ''
export GLOBAL_CONFIG_DIR=$out/etc
@@ -44,11 +53,11 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
meta = with stdenv.lib; {
meta = {
homepage = http://libretro.org/;
description = "Multi-platform emulator frontend for libretro cores";
license = licenses.gpl3;
platforms = stdenv.lib.platforms.linux;
maintainers = with maintainers; [ MP2E edwtjo ];
platforms = platforms.all;
maintainers = with maintainers; [ MP2E edwtjo matthewbauer ];
};
}
+1 -1
View File
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
'';
meta = {
description = "a portable, freeware Super Nintendo Entertainment System (SNES) emulator";
description = "A portable, freeware Super Nintendo Entertainment System (SNES) emulator";
longDescription = "Snes9x is a portable, freeware Super Nintendo Entertainment System (SNES) emulator. It basically allows you to play most games designed for the SNES and Super Famicom Nintendo game systems on your PC or Workstation; which includes some real gems that were only ever released in Japan.";
license = stdenv.lib.licenses.lgpl2;
maintainers = [ stdenv.lib.maintainers.qknight ];
+41 -10
View File
@@ -1,7 +1,7 @@
{ stdenv, lib, pkgArches,
name, version, src, monos, geckos, platforms,
pkgconfig, fontforge, makeWrapper, flex, bison,
pulseaudioSupport,
supportFlags,
buildScript ? null, configureFlags ? ""
}:
@@ -19,14 +19,41 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) {
pkgconfig fontforge makeWrapper flex bison
];
buildInputs = toBuildInputs pkgArches (pkgs: (with pkgs; [
freetype fontconfig mesa mesa_noglu.osmesa libdrm libpng libjpeg openssl gnutls cups ncurses
alsaLib libxml2 libxslt lcms2 gettext dbus mpg123 openal
])
++ lib.optional pulseaudioSupport pkgs.libpulseaudio
buildInputs = toBuildInputs pkgArches (with supportFlags; (pkgs:
[ pkgs.freetype ]
++ lib.optional pngSupport pkgs.libpng
++ lib.optional jpegSupport pkgs.libjpeg
++ lib.optional cupsSupport pkgs.cups
++ lib.optional colorManagementSupport pkgs.lcms2
++ lib.optional gettextSupport pkgs.gettext
++ lib.optional dbusSupport pkgs.dbus
++ lib.optional mpg123Support pkgs.mpg123
++ lib.optional openalSupport pkgs.openal
++ lib.optional cairoSupport pkgs.cairo
++ lib.optional tiffSupport pkgs.libtiff
++ lib.optional odbcSupport pkgs.unixODBC
++ lib.optional netapiSupport pkgs.samba3_light
++ lib.optional cursesSupport pkgs.ncurses
++ lib.optional vaSupport pkgs.libva
++ lib.optional pcapSupport pkgs.libpcap
++ lib.optional v4lSupport pkgs.libv4l
++ lib.optional saneSupport pkgs.saneBackends
++ lib.optional gsmSupport pkgs.gsm
++ lib.optional gphoto2Support pkgs.libgphoto2
++ lib.optional ldapSupport pkgs.openldap
++ lib.optional fontconfigSupport pkgs.fontconfig
++ lib.optional alsaSupport pkgs.alsaLib
++ lib.optional pulseaudioSupport pkgs.libpulseaudio
++ lib.optional xineramaSupport pkgs.xorg.libXinerama
++ lib.optionals gstreamerSupport (with pkgs.gst_all; [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-ffmpeg ])
++ lib.optionals gtkSupport [ pkgs.gtk3 pkgs.gnome.glib ]
++ lib.optionals openclSupport [ pkgs.opencl-headers pkgs.opencl-icd ]
++ lib.optionals xmlSupport [ pkgs.libxml2 pkgs.libxslt ]
++ lib.optionals tlsSupport [ pkgs.openssl pkgs.gnutls ]
++ lib.optionals openglSupport [ pkgs.mesa pkgs.mesa_noglu.osmesa pkgs.libdrm ]
++ (with pkgs.xorg; [
libXi libXcursor libXinerama libXrandr libXrender libXxf86vm libXcomposite libXext
]));
libX11 libXi libXcursor libXrandr libXrender libXxf86vm libXcomposite libXext
])));
# Wine locates a lot of libraries dynamically through dlopen(). Add
# them to the RPATH so that the user doesn't have to set them in
@@ -34,7 +61,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) {
NIX_LDFLAGS = map (path: "-rpath " + path) (
map (x: "${lib.getLib x}/lib") ([ stdenv.cc.cc ] ++ buildInputs)
# libpulsecommon.so is linked but not found otherwise
++ lib.optionals pulseaudioSupport (map (x: "${lib.getLib x}/lib/pulseaudio")
++ lib.optionals supportFlags.pulseaudioSupport (map (x: "${lib.getLib x}/lib/pulseaudio")
(toBuildInputs pkgArches (pkgs: [ pkgs.libpulseaudio ])))
);
@@ -61,6 +88,10 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) {
${lib.strings.concatStringsSep "\n"
((map (links "share/wine/gecko") geckos)
++ (map (links "share/wine/mono") monos))}
'' + lib.optionalString supportFlags.gstreamerSupport ''
wrapProgram "$out/bin/wine" \
--argv0 "" \
--prefix GST_PLUGIN_SYSTEM_PATH ":" "$GST_PLUGIN_SYSTEM_PATH"
'';
enableParallelBuilding = true;
@@ -71,6 +102,6 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) {
homepage = "http://www.winehq.org/";
license = "LGPL";
description = "An Open Source implementation of the Windows API on top of X, OpenGL, and Unix";
maintainers = [stdenv.lib.maintainers.raskin];
maintainers = with stdenv.lib.maintainers; [ avnik raskin ];
};
})
+38 -2
View File
@@ -9,13 +9,49 @@
{ lib, pkgs, system, callPackage,
wineRelease ? "stable",
wineBuild ? (if system == "x86_64-linux" then "wineWow" else "wine32"),
libtxc_dxtn_Name ? "libtxc_dxtn_s2tc",
pngSupport ? false,
jpegSupport ? false,
tiffSupport ? false,
gettextSupport ? false,
fontconfigSupport ? false,
alsaSupport ? false,
gtkSupport ? false,
openglSupport ? false,
tlsSupport ? false,
gstreamerSupport ? false,
cupsSupport ? false,
colorManagementSupport ? false,
dbusSupport ? false,
mpg123Support ? false,
openalSupport ? false,
openclSupport ? false,
cairoSupport ? false,
odbcSupport ? false,
netapiSupport ? false,
cursesSupport ? false,
vaSupport ? false,
pcapSupport ? false,
v4lSupport ? false,
saneSupport ? false,
gsmSupport ? false,
gphoto2Support ? false,
ldapSupport ? false,
pulseaudioSupport ? false,
libtxc_dxtn_Name ? "libtxc_dxtn_s2tc" }:
xineramaSupport ? false,
xmlSupport ? false }:
let wine-build = build: release:
lib.getAttr build (callPackage ./packages.nix {
wineRelease = release;
inherit pulseaudioSupport;
supportFlags = {
inherit pngSupport jpegSupport cupsSupport colorManagementSupport gettextSupport
dbusSupport mpg123Support openalSupport cairoSupport tiffSupport odbcSupport
netapiSupport cursesSupport vaSupport pcapSupport v4lSupport saneSupport
gsmSupport gphoto2Support ldapSupport fontconfigSupport alsaSupport
pulseaudioSupport xineramaSupport gtkSupport openclSupport xmlSupport tlsSupport
openglSupport gstreamerSupport;
};
});
in if wineRelease == "staging" then
+5 -5
View File
@@ -1,14 +1,14 @@
{ system, stdenv, stdenv_32bit, lib, pkgs, pkgsi686Linux, callPackage, callPackage_i686,
overrideCC, wrapCCMulti, gcc49,
pulseaudioSupport,
wineRelease ? "stable"
wineRelease ? "stable",
supportFlags
}:
let src = lib.getAttr wineRelease (callPackage ./sources.nix {});
in with src; {
wine32 = callPackage_i686 ./base.nix {
name = "wine-${version}";
inherit src version pulseaudioSupport;
inherit src version supportFlags;
pkgArches = [ pkgsi686Linux ];
geckos = [ gecko32 ];
monos = [ mono ];
@@ -16,7 +16,7 @@ in with src; {
};
wine64 = callPackage ./base.nix {
name = "wine64-${version}";
inherit src version pulseaudioSupport;
inherit src version supportFlags;
# FIXME: drop this when GCC is updated to >5.3.
# Corresponding bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69140
stdenv = overrideCC stdenv gcc49;
@@ -28,7 +28,7 @@ in with src; {
};
wineWow = callPackage ./base.nix {
name = "wine-wow-${version}";
inherit src version pulseaudioSupport;
inherit src version supportFlags;
# FIXME: see above.
stdenv = overrideCC stdenv_32bit (wrapCCMulti gcc49);
pkgArches = [ pkgs pkgsi686Linux ];
+7 -7
View File
@@ -6,9 +6,9 @@ let fetchurl = args@{url, sha256, ...}:
in rec {
stable = fetchurl rec {
version = "1.8.1";
version = "1.8.3";
url = "mirror://sourceforge/wine/wine-${version}.tar.bz2";
sha256 = "15ya496qq24ipqii7ij8x8h5x8n21vgqa4h6binb74w5mzdd76hl";
sha256 = "0v3sq5zzj3z5pw1aicn7i03pgf41cr9fr0vg1sazwfxrmbvwvknp";
## see http://wiki.winehq.org/Gecko
gecko32 = fetchurl rec {
@@ -30,9 +30,9 @@ in rec {
};
unstable = fetchurl rec {
version = "1.9.7";
version = "1.9.14";
url = "mirror://sourceforge/wine/wine-${version}.tar.bz2";
sha256 = "1v47i0pxqcixnh06x23kzp2dbz1cf3d2sric0bw6xqh54ph5yw29";
sha256 = "0b65j8lc2axyc7lpa5rjr7vbjz4y78gkd7hhmvhra78pmwf9dgkz";
inherit (stable) mono;
gecko32 = fetchurl rec {
version = "2.44";
@@ -48,15 +48,15 @@ in rec {
staging = fetchFromGitHub rec {
inherit (unstable) version;
sha256 = "1h5hwd07qyx0qw5whf6lcp7v57kqd6mrrcvwwg1bydir68b0zp16";
sha256 = "0582ylrvl7racpb0il3wmbivb2d7lh6n3mymh19yw94qzgifwqrw";
owner = "wine-compholio";
repo = "wine-staging";
rev = "v${version}";
};
winetricks = fetchFromGitHub rec {
version = "20160219";
sha256 = "1wqsbdh2qa5xxswilniki9wzbhlmkl6jqmryjd9f5smirr7ryy2r";
version = "20160622";
sha256 = "0xh7mc5xby0zxx2g3q1ky18s20y6s7wp3vzvgxydwzhhwf32189q";
owner = "Winetricks";
repo = "winetricks";
rev = version;
+1 -2
View File
@@ -8,8 +8,7 @@ let patch = (callPackage ./sources.nix {}).staging;
in assert (builtins.parseDrvName wineUnstable.name).version == patch.version;
stdenv.lib.overrideDerivation wineUnstable (self: {
nativeBuildInputs = build-inputs [ libtxc_dxtn_Name ] self.nativeBuildInputs;
buildInputs = build-inputs [ "perl" "utillinux" "autoconf" ] self.buildInputs;
buildInputs = build-inputs [ "perl" "utillinux" "autoconf" libtxc_dxtn_Name ] self.buildInputs;
name = "${self.name}-staging";