summary refs log blame commit diff
path: root/pkgs/top-level/wine-packages.nix
blob: 7cf5533da7f2a3ea05aee49875ce5842e40b35c3 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                                           

     

                                                                  
                                                  
                      


                           
                          

                                       
                         
                         

                       

                                  
                         
                                 
                                                            

                                     
                      
                        
                      


                        
                                
                            

                         

                                   
                       
                                
                          
                       
                           


                                                     

                                                         
                                                         

                                                             
                                                       
                                                           


                                                           
 
{ stdenv, config, callPackage, wineBuild }:

rec {
  fonts = callPackage ../applications/emulators/wine/fonts.nix {};
  minimal = callPackage ../applications/emulators/wine {
    wineRelease = config.wine.release or "stable";
    inherit wineBuild;
  };

  base = minimal.override {
    gettextSupport = true;
    fontconfigSupport = stdenv.isLinux;
    alsaSupport = stdenv.isLinux;
    openglSupport = true;
    vulkanSupport = true;
    tlsSupport = true;
    cupsSupport = true;
    dbusSupport = stdenv.isLinux;
    cairoSupport = stdenv.isLinux;
    cursesSupport = true;
    saneSupport = stdenv.isLinux;
    pulseaudioSupport = config.pulseaudio or stdenv.isLinux;
    udevSupport = stdenv.isLinux;
    xineramaSupport = stdenv.isLinux;
    sdlSupport = true;
    mingwSupport = true;
    usbSupport = true;
  };

  full = base.override {
    gtkSupport = stdenv.isLinux;
    gstreamerSupport = true;
    openclSupport = true;
    odbcSupport = true;
    netapiSupport = stdenv.isLinux;
    vaSupport = stdenv.isLinux;
    pcapSupport = true;
    v4lSupport = stdenv.isLinux;
    gphoto2Support = true;
    krb5Support = true;
    embedInstallers = true;
  };

  stable = base.override { wineRelease = "stable"; };
  stableFull = full.override { wineRelease = "stable"; };

  unstable = base.override { wineRelease = "unstable"; };
  unstableFull = full.override { wineRelease = "unstable"; };

  staging = base.override { wineRelease = "staging"; };
  stagingFull = full.override { wineRelease = "staging"; };

  wayland = base.override { wineRelease = "wayland"; };
  waylandFull = full.override { wineRelease = "wayland"; };
}