nixpkgs-suyu/pkgs/games/adom/default.nix
Profpatsch 4a7f99d55d treewide: with stdenv.lib; in meta -> with lib;
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
2021-01-11 10:38:22 +01:00

59 lines
1.4 KiB
Nix

{ lib, stdenv, fetchurl, patchelf, zlib, libmad, libpng12, libcaca, libGLU, libGL, alsaLib, libpulseaudio
, xorg }:
let
inherit (xorg) libXext libX11;
lpath = "${stdenv.cc.cc.lib}/lib64:" + stdenv.lib.makeLibraryPath [
zlib libmad libpng12 libcaca libXext libX11 libGLU libGL alsaLib libpulseaudio];
in
stdenv.mkDerivation rec {
name = "adom-${version}-noteye";
version = "1.2.0_pre23";
src = fetchurl {
url = "http://ancardia.uk.to/download/adom_noteye_linux_ubuntu_64_${version}.tar.gz";
sha256 = "0sbn0csaqb9cqi0z5fdwvnymkf84g64csg0s9mm6fzh0sm2mi0hz";
};
buildCommand = ''
. $stdenv/setup
unpackPhase
mkdir -pv $out
cp -r -t $out adom/*
chmod u+w $out/lib
for l in $out/lib/*so* ; do
chmod u+w $l
${patchelf}/bin/patchelf \
--set-rpath "$out/lib:${lpath}" \
$l
done
${patchelf}/bin/patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "$out/lib:${lpath}" \
$out/adom
mkdir $out/bin
cat >$out/bin/adom <<EOF
#! ${stdenv.shell}
(cd $out; exec $out/adom ; )
EOF
chmod +x $out/bin/adom
'';
meta = with lib; {
description = "A rogue-like game with nice graphical interface";
homepage = "http://adom.de/";
license = licenses.unfreeRedistributable;
maintainers = [maintainers.smironov];
# Please, notify me (smironov) if you need the x86 version
platforms = ["x86_64-linux"];
};
}