Merge remote-tracking branch 'upstream/master' into hardened-stdenv
This commit is contained in:
@@ -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" ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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= ''
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user