4a7f99d55d
Part of: https://github.com/NixOS/nixpkgs/issues/108938 meta = with stdenv.lib; is a widely used pattern. We want to slowly remove the `stdenv.lib` indirection and encourage people to use `lib` directly. Thus let’s start with the meta field. This used a rewriting script to mostly automatically replace all occurances of this pattern, and add the `lib` argument to the package header if it doesn’t exist yet. The script in its current form is available at https://cs.tvl.fyi/depot@2f807d7f141068d2d60676a89213eaa5353ca6e0/-/blob/users/Profpatsch/nixpkgs-rewriter/default.nix
88 lines
3.2 KiB
Nix
88 lines
3.2 KiB
Nix
{ lib, stdenv, fetchurl, autoreconfHook, intltool, pkgconfig, gtk3, SDL2, xorg
|
|
, wrapGAppsHook, libcdio, nasm, ffmpeg, file
|
|
, fetchpatch }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "pcsxr";
|
|
version = "1.9.94";
|
|
|
|
# codeplex does not support direct downloading
|
|
src = fetchurl {
|
|
url = "mirror://debian/pool/main/p/pcsxr/pcsxr_${version}.orig.tar.xz";
|
|
sha256 = "0q7nj0z687lmss7sgr93ij6my4dmhkm2nhjvlwx48dn2lxl6ndla";
|
|
};
|
|
|
|
patches = [
|
|
( fetchpatch {
|
|
url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/01_fix-i386-exec-stack.patch";
|
|
sha256 = "17497wjxd6b92bj458s2769d9bpp68ydbvmfs9gp51yhnq4zl81x";
|
|
})
|
|
( fetchpatch {
|
|
url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/02_disable-ppc-auto-dynarec.patch";
|
|
sha256 = "0v8n79z034w6cqdrzhgd9fkdpri42mzvkdjm19x4asz94gg2i2kf";
|
|
})
|
|
( fetchpatch {
|
|
url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/03_fix-plugin-dir.patch";
|
|
sha256 = "0vkl0mv6whqaz79kvvvlmlmjpynyq4lh352j3bbxcr0vjqffxvsy";
|
|
})
|
|
( fetchpatch {
|
|
url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/04_update-homedir-symlinks.patch";
|
|
sha256 = "18r6n025ybr8fljfsaqm4ap31wp8838j73lrsffi49fkis60dp4j";
|
|
})
|
|
( fetchpatch {
|
|
url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/05_format-security.patch";
|
|
sha256 = "03m4kfc9bk5669hf7ji1anild08diliapx634f9cigyxh72jcvni";
|
|
})
|
|
( fetchpatch {
|
|
url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/06_warnings.patch";
|
|
sha256 = "0iz3g9ihnhisfgrzma9l74y4lhh57na9h41bmiam1millb796g71";
|
|
})
|
|
( fetchpatch {
|
|
url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/07_non-linux-ip-addr.patch";
|
|
sha256 = "14vb9l0l4nzxcymhjjs4q57nmsncmby9qpdr7c19rly5wavm4k77";
|
|
})
|
|
( fetchpatch {
|
|
url = "https://salsa.debian.org/games-team/pcsxr/raw/315e56d16e36ef3011f72d0fe86190728d2ba596/debian/patches/08_reproducible.patch";
|
|
sha256 = "1cx9q59drsk9h6l31097lg4aanaj93ysdz5p88pg9c7wvxk1qz06";
|
|
})
|
|
|
|
./uncompress2.patch
|
|
];
|
|
|
|
nativeBuildInputs = [ autoreconfHook intltool pkgconfig wrapGAppsHook ];
|
|
buildInputs = [
|
|
gtk3 SDL2 xorg.libXv xorg.libXtst libcdio nasm ffmpeg file
|
|
];
|
|
|
|
dynarecTarget =
|
|
if stdenv.isx86_64 then "x86_64"
|
|
else if stdenv.isi686 then "x86"
|
|
else "no"; #debian patch 2 says ppc doesn't work
|
|
|
|
configureFlags = [
|
|
"--enable-opengl"
|
|
"--enable-ccdda"
|
|
"--enable-libcdio"
|
|
"--enable-dynarec=${dynarecTarget}"
|
|
];
|
|
|
|
postInstall = ''
|
|
mkdir -p "$out/share/doc/${pname}-${version}"
|
|
cp README \
|
|
AUTHORS \
|
|
doc/keys.txt \
|
|
doc/tweaks.txt \
|
|
ChangeLog.df \
|
|
ChangeLog \
|
|
"$out/share/doc/${pname}-${version}"
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Playstation 1 emulator";
|
|
homepage = "https://pcsxr.codeplex.com/";
|
|
maintainers = with maintainers; [ rardiol ];
|
|
license = licenses.gpl2Plus;
|
|
platforms = platforms.all;
|
|
};
|
|
}
|