Merge branch 'master' of github.com:nixos/nixpkgs into pleasant-ruby

Conflicts:
	pkgs/applications/version-management/redmine/default.nix
	pkgs/development/interpreters/ruby/gem.nix
	pkgs/development/interpreters/ruby/generated.nix
	pkgs/development/interpreters/ruby/patches.nix
	pkgs/development/tools/vagrant/default.nix
	pkgs/servers/consul/default.nix
This commit is contained in:
Charles Strahan
2014-12-28 14:29:52 -05:00
3039 changed files with 76778 additions and 42039 deletions
+8 -6
View File
@@ -1,19 +1,21 @@
{ stdenv, fetchurl, alsaLib, cmake, pkgconfig, glib }:
{ stdenv, fetchFromGitHub, alsaLib, cmake, pkgconfig, glib }:
stdenv.mkDerivation rec {
name = "apulse-${version}";
version = "0.1.2";
version = "0.1.4";
src = fetchurl {
url = "https://github.com/i-rinat/apulse/archive/v${version}.tar.gz";
sha256 = "02906a8iwwjzzkjvhqqai2yd1636cgz9vl69vwq0vkv2v6cn21ky";
src = fetchFromGitHub {
owner = "i-rinat";
repo = "apulse";
rev = "v${version}";
sha256 = "115z5a0n8lkcqfgz0cgvjw3p7d0nvzfxzd9g0h137ziflyx3ysh1";
};
buildInputs =
[ alsaLib cmake pkgconfig glib ];
meta = with stdenv.lib; {
description = "PulseAudio emulation for ALSA.";
description = "PulseAudio emulation for ALSA";
homepage = "https://github.com/i-rinat/apulse";
license = licenses.mit;
platforms = platforms.linux;
+10 -3
View File
@@ -1,7 +1,7 @@
{ stdenv, fetchurl, pkgconfig, zlib, libjpeg, libpng, libtiff, pam, openssl
, dbus, libusb, acl }:
let version = "1.5.4"; in
let version = "1.7.5"; in
stdenv.mkDerivation {
name = "cups-${version}";
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "https://www.cups.org/software/${version}/cups-${version}-source.tar.bz2";
sha256 = "1rfhlv9b37120d6shngvyrcp99vh4a3lwdkrfanv3sjqid7068w0";
sha256 = "00mx4rpiqw9cwx46bd3hd5lcgmcxy63zfnmkr02smanv8xl4rjqq";
};
buildInputs = [ pkgconfig zlib libjpeg libpng libtiff libusb ]
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
propagatedBuildInputs = [ openssl ];
configureFlags = "--localstatedir=/var --enable-dbus"; # --with-dbusdir
configureFlags = "--localstatedir=/var --sysconfdir=/etc --enable-dbus"; # --with-dbusdir
installFlags =
[ # Don't try to write in /var at build time.
@@ -31,6 +31,7 @@ stdenv.mkDerivation {
"DBUSDIR=$(out)/etc/dbus-1"
"INITDIR=$(out)/etc/rc.d"
"XINETD=$(out)/etc/xinetd.d"
"SERVERROOT=$(out)/etc/cups"
# Idem for /usr.
"MENUDIR=$(out)/share/applications"
"ICONDIR=$(out)/share/icons"
@@ -38,6 +39,12 @@ stdenv.mkDerivation {
"CUPS_PRIMARY_SYSTEM_GROUP=root"
];
postInstall =
''
# Delete obsolete stuff that conflicts with cups-filters.
rm -rf $out/share/cups/banners $out/share/cups/data/testprint
'';
meta = {
homepage = "http://www.cups.org/";
description = "A standards-based printing system for UNIX";
+1 -1
View File
@@ -28,7 +28,7 @@ ln -s ppd model
cd $out/lib/cups/filter
for i in $(ls); do
echo patching $i...
patchelf --set-interpreter $(cat $NIX_GCC/nix-support/dynamic-linker) $i || echo "(couldn't set interpreter)"
patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $i || echo "(couldn't set interpreter)"
patchelf --set-rpath $cups/lib:$gcc/lib:$glibc/lib $i # This might not be necessary.
done
+57
View File
@@ -0,0 +1,57 @@
{ stdenv, fetchurl, pkgconfig, cups, poppler, fontconfig
, libjpeg, libpng, perl, ijs, qpdf, dbus, substituteAll, bash }:
stdenv.mkDerivation rec {
name = "cups-filters-${version}";
version = "1.0.61";
src = fetchurl {
url = "http://openprinting.org/download/cups-filters/${name}.tar.xz";
sha256 = "1bq48nnrarlbf6qc93bz1n5wlh6j420gppbck3r45sinwhz5wa7m";
};
buildInputs = [
pkgconfig cups poppler fontconfig libjpeg libpng perl
ijs qpdf dbus
];
preBuild = ''
substituteInPlace Makefile --replace "/etc/rc.d" "$out/etc/rc.d"
'';
configureFlags = "--with-pdftops=pdftops --enable-imagefilters";
makeFlags = "CUPS_SERVERBIN=$(out)/lib/cups CUPS_DATADIR=$(out)/share/cups CUPS_SERVERROOT=$(out)/etc/cups";
postConfigure =
''
# Ensure that bannertopdf can find the PDF templates in
# $out. (By default, it assumes that cups and cups-filters are
# installed in the same prefix.)
substituteInPlace config.h --replace ${cups}/share/cups/data $out/share/cups/data
# Ensure that gstoraster can find gs in $PATH.
substituteInPlace filter/gstoraster.c --replace execve execvpe
'';
patches = [
(substituteAll {
src = ./longer-shell-path.patch;
bash = "${bash}/bin/bash";
})
];
postInstall =
''
for i in $out/lib/cups/filter/{pstopdf,texttops,imagetops}; do
substituteInPlace $i --replace 'which ' 'type -p '
done
'';
meta = {
homepage = http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters;
description = "Backends, filters, and other software that was once part of the core CUPS distribution but is no longer maintained by Apple Inc";
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.linux;
};
}
+13
View File
@@ -0,0 +1,13 @@
diff --git a/filter/foomatic-rip/foomaticrip.c b/filter/foomatic-rip/foomaticrip.c
index 1c019aa..431d2f9 100644
--- a/filter/foomatic-rip/foomaticrip.c
+++ b/filter/foomatic-rip/foomaticrip.c
@@ -174,7 +174,7 @@ char cupsfilterpath[PATH_MAX] = "/usr/local/lib/cups/filter:"
"/opt/cups/filter:"
"/usr/lib/cups/filter";
-char modern_shell[64] = "/bin/bash";
+char modern_shell[128] = "@bash@";
void config_set_option(const char *key, const char *value)
{
-39
View File
@@ -1,39 +0,0 @@
{ stdenv, fetchurl, pkgconfig, cups, poppler }:
stdenv.mkDerivation {
name = "cups-pdf-filter-${cups.version}";
inherit (cups) src;
buildInputs = [ pkgconfig cups poppler ];
preConfigure = ''
sed -e 's@\.\./cups/$(LIBCUPS)@@' -e 's@$(LIBCUPSIMAGE)@@' -i filter/Makefile
'';
NIX_LDFLAGS="-L${cups}/lib";
configureFlags = ''
--localstatedir=/var --enable-dbus
--enable-image --with-pdftops=pdftops'';
buildPhase = ''
cd filter
make pdftops
'';
installPhase = ''
mkdir -pv $out/lib/cups/filter $out/share/cups/mime
cp -v pdftops $out/lib/cups/filter
echo >$out/share/cups/mime/pdftops.convs 'application/pdf application/vnd.cups-postscript 66 pdftops'
'';
meta = {
homepage = http://www.cups.org/;
description = "Image and pdf filters for CUPS";
license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.urkud ];
platforms = stdenv.lib.platforms.linux;
};
}
@@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, perl, cups, dbus }:
{ stdenv, fetchurl, pkgconfig, perl, cups, dbus, enscript }:
stdenv.mkDerivation rec {
name = "foomatic-filters-4.0.17";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
sha256 = "1qrkgbm5jay2r7sh9qbyf0aiyrsl1mdc844hxf7fhw95a0zfbqm2";
};
buildInputs = [ pkgconfig perl cups dbus ];
buildInputs = [ pkgconfig perl cups dbus enscript ];
preConfigure =
''
+2 -2
View File
@@ -38,7 +38,7 @@ stdenv.mkDerivation {
phases = "buildPhase";
libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.gcc zlib ];
libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.gcc zlib ];
buildPhase = ''
ar -x $src data.tar.gz
@@ -53,7 +53,7 @@ stdenv.mkDerivation {
$out/cups/lib/backend/{canon,epson} \
$out/sbin/cups-genppd.5.0 \
; do
patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath $libPath $p
done
+4 -2
View File
@@ -118,8 +118,10 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "Print, scan and fax HP drivers for Linux";
homepage = http://hplipopensource.com/;
license = if withPlugin then licenses.unfree else "free"; # MIT/BSD/GPL
license = if withPlugin
then licenses.unfree
else with licenses; [ mit bsd2 gpl2Plus ];
platforms = platforms.linux;
maintainers = with maintainers; [ ttuegel ];
maintainers = with maintainers; [ ttuegel jgeerds ];
};
}
+2 -3
View File
@@ -18,9 +18,8 @@ in stdenv.mkDerivation {
buildInputs = [ scons libX11 pkgconfig libusb1 boost glib dbus_glib];
meta = with stdenv.lib; {
homepage = "http://pingus.seul.org/~grumbel/xboxdrv/";
description =
"Xbox/Xbox360 (and more) gamepad driver for Linux that works in userspace.";
homepage = http://pingus.seul.org/~grumbel/xboxdrv/;
description = "Xbox/Xbox360 (and more) gamepad driver for Linux that works in userspace";
license = licenses.gpl3Plus;
maintainers = [ maintainers.fuuzetsu ];
};
+24
View File
@@ -0,0 +1,24 @@
{ stdenv, udev, ncurses, pkgconfig, fetchurl, bluez }:
stdenv.mkDerivation rec {
name = "xwiimote";
src = fetchurl {
url = "https://github.com/dvdhrm/xwiimote/releases/download/xwiimote-2/xwiimote-2.tar.xz";
sha256 = "1g9cbhblll47l300zr999xr51x2g98y49l222f77fhswd12kjzhd";
};
buildInputs = [ udev ncurses pkgconfig bluez ];
configureFlags = "--with-doxygen=no";
meta = {
homepage = http://dvdhrm.github.io/xwiimote;
description = "Userspace utilities to control connected Nintendo Wii Remotes";
platforms = stdenv.lib.platforms.linux;
};
postInstallPhase = ''
mkdir -p "$out/etc/X11/xorg.conf.d/"
cp "res/50-xorg-fix-xwiimote.conf" "$out/etc/X11/xorg.conf.d/50-fix-xwiimote.conf"
'';
}
+2 -2
View File
@@ -2,7 +2,7 @@
assert stdenv.system == "i686-linux";
stdenv.mkDerivation {
stdenv.mkDerivation {
name = "darcnes-9b0401";
src = fetchurl {
url = http://www.dridus.com/~nyef/darcnes/download/dn9b0401.tgz;
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
homepage = http://www.dridus.com/~nyef/darcnes/;
description = "Multi-System emulator, specially for NES";
/* Prohibited commercial use, credit required. */
license = "free";
license = stdenv.lib.licenses.free;
};
}
+2 -1
View File
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
buildInputs = [ stdenv pkgconfig cmake bluez ffmpeg libao mesa gtk2 glib
buildInputs = [ pkgconfig cmake bluez ffmpeg libao mesa gtk2 glib
gettext libpthreadstubs libXrandr libXext readline openal
libXdmcp portaudio SDL wxGTK30 pulseaudio ];
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
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 ];
};
}
+7 -4
View File
@@ -4,11 +4,11 @@
, pulseaudio ? null }:
stdenv.mkDerivation rec {
name = "dolphin-emu-20141002";
name = "dolphin-emu-20141201";
src = fetchgit {
url = git://github.com/dolphin-emu/dolphin.git;
rev = "ed7f0739ae31c07c31d013964986c549317aba6e";
sha256 = "01qwlkh3c0ij97zycq0v4kclxmnlbwcc1bmvjzl4cbczhxbbx4hk";
rev = "54f1e3a3c148d36e694d8bb08d282225bdcb3440";
sha256 = "1i0ps3ayga6m4v0jyflv2x6rr3cjrym0laafjdslggqkk04b2vjp";
fetchSubmodules = false;
};
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
buildInputs = [ stdenv pkgconfig cmake bluez ffmpeg libao mesa gtk2 glib
buildInputs = [ pkgconfig cmake bluez ffmpeg libao mesa gtk2 glib
gettext libpthreadstubs libXrandr libXext readline openal
git libXdmcp portaudio SDL wxGTK30 pulseaudio ];
@@ -31,5 +31,8 @@ stdenv.mkDerivation rec {
description = "Gamecube/Wii/Triforce emulator for x86_64 and ARM";
license = stdenv.lib.licenses.gpl2;
maintainers = with stdenv.lib.maintainers; [ MP2E ];
# x86_32 is an unsupported platform.
# Enable generic build if you really want a JIT-less binary.
platforms = [ "x86_64-linux" ];
};
}
@@ -0,0 +1,18 @@
diff -wbBur rdanbrook-nestopia-f1dde9b/Makefile rdanbrook-nestopia-f1dde9b.my/Makefile
--- rdanbrook-nestopia-f1dde9b/Makefile 2013-01-20 20:10:25.000000000 +0400
+++ rdanbrook-nestopia-f1dde9b.my/Makefile 2013-01-21 15:18:54.727577673 +0400
@@ -197,11 +197,11 @@
install -m 0644 NstDatabase.xml $(DATADIR)
install -m 0644 source/unix/icons/*.png $(DATADIR)/icons
install -m 0644 source/unix/icons/*.svg $(DATADIR)/icons
- install -m 0644 source/unix/icons/nestopia.svg $(PREFIX)/share/pixmaps
- xdg-desktop-menu install --novendor $(DATADIR)/nestopia.desktop
+ install -m 0644 source/unix/icons/nestopia.svg $(PREFIX)/share/pixmaps/nestopia.svg
+ install -Dm0644 $(DATADIR)/nestopia.desktop $(PREFIX)/share/applications/nestopia.desktop
uninstall:
- xdg-desktop-menu uninstall $(DATADIR)/nestopia.desktop
+ rm $(PREFIX)/share/applications/nestopia.desktop
rm $(PREFIX)/share/pixmaps/nestopia.svg
rm $(BINDIR)/$(BIN)
rm -rf $(DATADIR)
+38
View File
@@ -0,0 +1,38 @@
{ stdenv, fetchurl, pkgconfig, SDL2, alsaLib, gtk3, mesa_glu, makeWrapper
, mesa, libarchive, libao, unzip, xdg_utils, gsettings_desktop_schemas }:
stdenv.mkDerivation rec {
name = "nestopia-1.46.2";
src = fetchurl {
url = https://github.com/rdanbrook/nestopia/archive/1.46.2.tar.gz;
sha256 = "07h49xwvg61dx20rk5p4r3ax2ar5y0ppvm60cqwqljyi9rdfbh7p";
};
enableParallelBuilding = true;
buildInputs = [ pkgconfig SDL2 alsaLib gtk3 mesa_glu mesa makeWrapper
libarchive libao unzip xdg_utils gsettings_desktop_schemas ];
installPhase = ''
mkdir -p $out/{bin,share/nestopia}
make install PREFIX=$out
'';
preFixup = ''
for f in $out/bin/*; do
wrapProgram $f \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
done
'';
patches = [ ./build-fix.patch ];
meta = {
homepage = http://0ldsk00l.ca/nestopia/;
description = "NES emulator with a focus on accuracy";
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ MP2E ];
};
}
+1 -1
View File
@@ -23,7 +23,7 @@ in stdenv.mkDerivation {
meta = with stdenv.lib; {
homepage = "http://www.ppsspp.org/";
description = "A PSP emulator, the Qt4 version.";
description = "A PSP emulator, the Qt4 version";
license = licenses.gpl2Plus;
maintainers = [ maintainers.fuuzetsu ];
platforms = platforms.linux ++ platforms.darwin ++ platforms.cygwin;
+53 -42
View File
@@ -9,7 +9,7 @@ let
stdenv.lib.makeOverridable stdenv.mkDerivation rec {
name = "libretro-${core}-${version}";
version = "20141009";
version = "20141224";
inherit src;
buildInputs = [ makeWrapper retroarch zlib ] ++ a.extraBuildInputs or [];
@@ -33,7 +33,7 @@ let
inherit description;
homepage = "http://www.libretro.com/";
license = licenses.gpl3Plus;
maintainers = [ maintainers.edwtjo ];
maintainers = [ maintainers.edwtjo maintainers.MP2E ];
platforms = platforms.linux;
};
} // a);
@@ -53,8 +53,8 @@ in
core = "4do";
src = fetchRetro {
repo = core + "-libretro";
rev = "700e5c2b28252ed7d3fb086ab016b3b964a5030a";
sha256 = "0wxiapbp6i3r9ir75xgmah0jhrfvy9jgqr6i22grgmnga1qv5pcf";
rev = "47fee1687d8946e84af2ef4d28a693f5f14199d3";
sha256 = "0bhn761akcb5623yvbndm79pbfackbhaqcaqhrqwvk0ja13pry4l";
};
description = "Port of 4DO/libfreedo to libretro";
}).override {
@@ -65,8 +65,8 @@ in
core = "bsnes-mercury";
src = fetchRetro {
repo = core;
rev = "5fa7c035a604cd207c5833af0fdd55d7cf68acb0";
sha256 = "19drxpspid0y3wi3zp3ls4jlhx1ndqmr51jici7w2vsajk9x9dyg";
rev = "6e08947a3eeee4c3ac0c33a5e6739cde02dbda3c";
sha256 = "1dkbjhm99r26fagypqlgdrp6v4dhs554cspzp1maryl3nrr57wf8";
};
description = "Fork of bsnes with HLE DSP emulation restored";
}).override {
@@ -77,8 +77,8 @@ in
core = "desmume";
src = fetchRetro {
repo = core;
rev = "57bbabfe71fb8e131fa14ab1504f1959937b8ce5";
sha256 = "19kbl361ggzhmmc5alsfwq9gcl0zc9zhz0nx562l6k2lj7fwwr0g";
rev = "362fee2cc242082d73cd0f7260554e202dd80d78";
sha256 = "0n27kgjqam81q0cbmnmlq1dslyg9wbnz96r8pwjlbv7pp97rp7br";
};
description = "libretro wrapper for desmume NDS emulator";
}).override {
@@ -89,8 +89,8 @@ in
core = "fceumm";
src = fetchRetro {
repo = "libretro-" + core;
rev = "1b27f5abafa4ace43badebea82a8374be3a5a96b";
sha256 = "04v0in7nazmkfsbvl0wn5klnz4f8rpjsar1v3c07j2qrma42k60w";
rev = "b10d6d4600bfe6b0f2d793785d19a46479a4e7ef";
sha256 = "1nrs8hb5yb0iigz1nhzzamlmybjyhjcb41y07ckwx9kzx0w72sjz";
};
description = "FCEUmm libretro port";
};
@@ -99,8 +99,8 @@ in
core = "fba";
src = fetchRetro {
repo = core + "-libretro";
rev = "21a78df085a0d964828c5c0940c03e656e2ad808";
sha256 = "01ycszinral19ni22a3x8afiz23y9xw6idzx9a22xnc6zqvj0fjm";
rev = "55023b0466465f9d50ad82fd6f1549a89234bcab";
sha256 = "147a9if99mnv12fp70r4h3171m95gzmiq6rlf9axf4693h6kzb02";
};
description = "Port of Final Burn Alpha to libretro";
}).override {
@@ -115,8 +115,8 @@ in
core = "gambatte";
src = fetchRetro {
repo = core + "-libretro";
rev = "6f3c97d86483368ec446b6b08ae21b1cb644312c";
sha256 = "19kbisbl5lqxfsaff4knp2rrl17af21c1kgccxhgp5liqnqk92k5";
rev = "6aa6a514b58671106352a525cbc9c39ce8633cdd";
sha256 = "0ai0l8wwi61rsq4cm3h5n039s78xrhrxvxn4nbav1mn70ynzijx7";
};
description = "Gambatte libretro port";
}).override {
@@ -127,18 +127,30 @@ in
core = "genesis-plus-gx";
src = fetchRetro {
repo = "Genesis-Plus-GX";
rev = "d634da83d29d39d293c1aba3c14f6259e13e525e";
sha256 = "0mhn2h2wr2kh5rgda5rj7xkmg4b6glg4rnd0f1ak6rp3sh8dfhv1";
rev = "3b3eae18e742b99142ea2a412e80b9152933ab59";
sha256 = "01mn2m1wg026wy1ffcv36wv0pvm18xnin27v681vd7bma96dl7p0";
};
description = "Enhanced Genesis Plus libretro port";
};
mednafen-pce-fast = (mkLibRetroCore rec {
core = "mednafen-pce-fast";
src = fetchRetro {
repo = "beetle-pce-fast-libretro";
rev = "0a389287025c0166e7b89bf0320ab1c6f8a5a561";
sha256 = "1s8l3pddgw060wb177wx6ysa040k45wy5vlvbjjvq1rj3352izk4";
};
description = "Port of Mednafen's PC Engine core to libretro";
}).override {
buildPhase = "make";
};
mupen64plus = (mkLibRetroCore rec {
core = "mupen64plus";
src = fetchRetro {
repo = core + "-libretro";
rev = "021ab383e2ac44533e9babd3e7f5fed97a988225";
sha256 = "13hph19b24bbp9d6s8zm4a939dhy96n2fbkcknmsp473kfnm9mf6";
rev = "b97ce52e49d255cd3e87fd6dc44ddd9a596d0be4";
sha256 = "1disddd35c45ffp7irsgcf0y906f44d7rkjv96gxs6vvzwxifiih";
};
description = "Libretro port of Mupen64 Plus, GL only";
@@ -151,8 +163,8 @@ in
core = "nestopia";
src = fetchRetro {
repo = core;
rev = "3468f3c16c80935e8c4078a5771e9379a981989c";
sha256 = "1k9kd25z4hyna48gwxb8rkm9q402xzhw18wmgbzkf8y6zqxn50j0";
rev = "3b030c93edcc8f49e2f6323b1df7fc78759accd8";
sha256 = "0gr4s6p40j5qiyg94kpa8v3083cbp2ccdq5zp6kkpjskxzkdfhqg";
};
description = "nestopia undead libretro port";
}).override {
@@ -163,8 +175,8 @@ in
core = "picodrive";
src = fetchRetro {
repo = core;
rev = "3f4b091194d29dd90a3cb88fd6520f677ffece65";
sha256 = "0jb89g5xmq7nzx4gm1mam1hym20fcyzp95k9as0k2gnwxrd4ymxv";
rev = "2babf3518e258cc3d6649f6e34a267e83dffd7d9";
sha256 = "13l9ppr8v33a7jmgjpg9hqwim30mybscnwqj2bch5v0w6h3qynzh";
};
description = "Fast MegaDrive/MegaCD/32X emulator";
@@ -178,8 +190,8 @@ in
core = "prboom";
src = fetchRetro {
repo = "libretro-" + core;
rev = "7c5e74a8f8a973278d46604f2816aae538e9cce7";
sha256 = "1mkxc7zcyc2nj7spsrasbnz6k182g8i1snahbbwj4qi41db6cjc9";
rev = "437fd00bf58158bf3c5e2e49237d9344f320584a";
sha256 = "0g9dvmywph5r8ly20bn3xkm12271n726s5g9z0f2pd75pnv13q86";
};
description = "Prboom libretro port";
}).override {
@@ -190,11 +202,10 @@ in
core = "ppsspp";
src = fetchRetro {
repo = "libretro-" + core;
rev = "af5050be6b421e08be42d4edf0015693ceba1f06";
sha256 = "0h4crdq6n6npbv6sidp3bgz5g2z3ws6ikg37f0amshh3rj36p7q0";
rev = "b82a36232f677f48e95d6f284184cb8c935d4ad2";
sha256 = "0bzqs9v37qyh6dl5jsrmm46iwy04h7ypgnibxajrxg1795ccb3rr";
};
description = "ppsspp libretro port";
extraBuildInputs = [ mesa ffmpeg ];
}).override {
buildPhase = "cd libretro && make";
@@ -204,8 +215,8 @@ in
core = "quicknes";
src = fetchRetro {
repo = "QuickNES_Core";
rev = "3e8935cc937d3bf64dc44b63cef5d584ec2673fa";
sha256 = "003hrxkskrkqv5h39p4gd9mg2k3ki5l1cmm0kxq7c454yliljjxc";
rev = "0dab65e2a962640c517f23f2668b76315faf977e";
sha256 = "12cv2ph72y6c0clcqssdyma1jxn8yi7x2ifyf2g77rbaswxr26r4";
};
description = "QuickNES libretro port";
}).override {
@@ -216,8 +227,8 @@ in
core = "scummvm";
src = fetchRetro {
repo = core;
rev = "0a703f6546c5a0d8ef835aa624681f7877c36df6";
sha256 = "1v1a6zvc1sjvvnvcarcmdym7qwyqyvl4b6ianjgzbpaxwmw457g0";
rev = "bf30f7a146ab3d0ea5bcff43b1db489118b78cdf";
sha256 = "1xgl2vsssa5mxhavcyghxrbab4lfbp9gnpy6ckhrxdd0n08kvyys";
};
description = "Libretro port of ScummVM";
@@ -230,8 +241,8 @@ in
core = "snes9x";
src = fetchRetro {
repo = core;
rev = "0724786eb2ed1436946a2e2b42c77cddf8412a63";
sha256 = "15wnq12mkfz766dzafhlmmh8a8b463ybssj84fhijj8c1x75scd1";
rev = "e41b0a2832fdcacc30498f23ddadd193376f837f";
sha256 = "0k9zxc9g6hhkc18mdgskjp99ljgay8jqmqhir4aahsfqyxhwypgm";
};
description = " Port of SNES9x git to libretro";
}).override {
@@ -242,8 +253,8 @@ in
core = "snes9x-next";
src = fetchRetro {
repo = core;
rev = "c701a1e4357bc80e46cae5bdfa0d359bcbce23ad";
sha256 = "0410dj7rxcadvyghc1yqwqidn1g3scm52i3gb9d8haymg9q1zbjs";
rev = "c04566c04b1f07979f8a8f6d5bbcb844d7594aec";
sha256 = "0lmrbmjk7qnkgz7n7dm744nps8zgbv76kz62vcja2kl5bq24kaxc";
};
description = "Optimized port/rewrite of SNES9x 1.52+ to Libretro";
};
@@ -252,8 +263,8 @@ in
core = "stella";
src = fetchRetro {
repo = core + "-libretro";
rev = "394ef8c10b8057fe3f92ff9d7c73886ae2eefec2";
sha256 = "1a5m157fqpspi2zafmqhcd6864dvfpwh44d4n47ngswp6ii9bq0f";
rev = "4c8e93ce4b250b3b2d2743bae48eca25983f29db";
sha256 = "1r016r9a0vwdnlms9s9hnzvszvkhpshjiyi2zql0zs2c1jbja6ia";
};
description = "Port of Stella to libretro";
}).override {
@@ -264,8 +275,8 @@ in
core = "vbam";
src = fetchRetro {
repo = core + "-libretro";
rev = "26a030ce01a6473d35bac2a6db4f0a360989d72f";
sha256 = "065gljk2nijnjg2c2zbnpg25s5zam7x0z8lq7kbz9zb87sp73ha1";
rev = "9baba21956add58fba7c411ddd752682f0d93270";
sha256 = "1dxshbkgv7xjg3lzv9lwsyhgxjmxzfsvd6xpwmdmh3pjllfrgy1p";
};
description = "vanilla VBA-M libretro port";
}).override {
@@ -276,9 +287,9 @@ in
core = "vba-next";
src = fetchRetro {
repo = core;
rev = "136fe2020e941f27036754dd0524bfec750025dc";
sha256 = "17bvx2wp2r5lkgffvqrirhgic1bfy39m7c1v74z245hg6z1jvqcf";
rev = "54c37ea9e26c5480352eee92a80eb659c9b5cb39";
sha256 = "0hkd1n00i3kwr5ids7b2c034xvx3nskg2316nli99ky511yq5cfd";
};
description = "VBA-M libretro port with modifications for speed";
};
}
}
+4 -3
View File
@@ -4,12 +4,12 @@
stdenv.mkDerivation rec {
name = "retroarch-bare-${version}";
version = "20141009";
version = "20141224";
src = fetchgit {
url = git://github.com/libretro/RetroArch.git;
rev = "72f26dfb49f236294c52eb9cb4c9d5c15da4837a";
sha256 = "0dn9fh1frnbxykhw3q229ck50a800p8r4va8nssfcdxh8cys385w";
rev = "8b4176263988e750daf0c6d709fdceb4672e111e";
sha256 = "1l2iqgb7vlkh6kcwr4ggcn58ldyh63v9zvjmv26z8pxiqa1zr1xs";
};
buildInputs = [ pkgconfig ffmpeg mesa nvidia_cg_toolkit freetype libxml2 libv4l coreutils
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
homepage = http://libretro.org/;
description = "Multi-platform emulator frontend for libretro cores";
license = licenses.gpl3;
platforms = stdenv.lib.platforms.linux;
maintainers = with maintainers; [ MP2E ];
};
}
@@ -34,6 +34,6 @@ stdenv.mkDerivation rec {
anglescry advanced launcher for XBMC since device input is
caught by both XBMC and the retroarch process.
'';
license = "GPL-3";
license = stdenv.lib.licenses.gpl3;
};
}
+3 -4
View File
@@ -1,14 +1,13 @@
{ stdenv, fetchurl, pkgconfig
, SDL2 }:
{ stdenv, fetchurl, pkgconfig, SDL2 }:
stdenv.mkDerivation rec {
name = "stella-${version}";
version = "4.0";
version = "4.2";
src = fetchurl {
url = "http://downloads.sourceforge.net/project/stella/stella/${version}/${name}-src.tar.gz";
sha256 = "1j96sj2qflq3agb7fvb08ih3pxy8nsvlkwj40q3n00q9k884ad5w";
sha256 = "0aikd7l5ill0vl5q06dg1wly8v9vav7wd78yjm6rmikd0cd2irzh";
};
buildInputs = with stdenv.lib;
+3 -3
View File
@@ -4,7 +4,7 @@
}:
assert stdenv.isLinux;
assert stdenv.gcc.gcc != null;
assert stdenv.cc.gcc != null;
let
version = "1.6.2";
@@ -46,7 +46,7 @@ in stdenv.mkDerivation rec {
# them to the RPATH so that the user doesn't have to set them in
# LD_LIBRARY_PATH.
NIX_LDFLAGS = map (path: "-rpath ${path}/lib ") [
freetype fontconfig stdenv.gcc.gcc mesa mesa_noglu.osmesa libdrm
freetype fontconfig stdenv.cc.gcc mesa mesa_noglu.osmesa libdrm
xlibs.libXinerama xlibs.libXrender xlibs.libXrandr
xlibs.libXcursor xlibs.libXcomposite libpng libjpeg
openssl gnutls cups
@@ -65,7 +65,7 @@ in stdenv.mkDerivation rec {
paxmark psmr $out/bin/wine{,-preloader}
wrapProgram $out/bin/wine --prefix LD_LIBRARY_PATH : ${stdenv.gcc.gcc}/lib
wrapProgram $out/bin/wine --prefix LD_LIBRARY_PATH : ${stdenv.cc.gcc}/lib
'';
enableParallelBuilding = true;
+5 -5
View File
@@ -4,15 +4,15 @@
}:
assert stdenv.isLinux;
assert stdenv.gcc.gcc != null;
assert stdenv.cc.gcc != null;
let
version = "1.7.29";
version = "1.7.33";
name = "wine-${version}";
src = fetchurl {
url = "mirror://sourceforge/wine/${name}.tar.bz2";
sha256 = "0qnyp1svzh2yyc3p34dg8hf21lwzxn4xkgpa3s0rfcak6l6ijj5f";
sha256 = "0xcjsh3635i8wpzixzsl05m3dkq74vq193x3ipjr3fy0l9prslg3";
};
gecko = fetchurl {
@@ -46,7 +46,7 @@ in stdenv.mkDerivation rec {
# them to the RPATH so that the user doesn't have to set them in
# LD_LIBRARY_PATH.
NIX_LDFLAGS = map (path: "-rpath ${path}/lib ") [
freetype fontconfig stdenv.gcc.gcc mesa mesa_noglu.osmesa libdrm
freetype fontconfig stdenv.cc.gcc mesa mesa_noglu.osmesa libdrm
xlibs.libXinerama xlibs.libXrender xlibs.libXrandr
xlibs.libXcursor xlibs.libXcomposite libpng libjpeg
openssl gnutls cups ncurses
@@ -62,7 +62,7 @@ in stdenv.mkDerivation rec {
install -D ${gecko} $out/share/wine/gecko/${gecko64.name}
'' + ''
install -D ${mono} $out/share/wine/mono/${mono.name}
wrapProgram $out/bin/wine --prefix LD_LIBRARY_PATH : ${stdenv.gcc.gcc}/lib
wrapProgram $out/bin/wine --prefix LD_LIBRARY_PATH : ${stdenv.cc.gcc}/lib
'';
enableParallelBuilding = true;
+1 -1
View File
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
installPhase = ''
BINFILES="fah6 mpiexec";
for a in $BINFILES; do
patchelf --set-interpreter $(cat $NIX_GCC/nix-support/dynamic-linker) $a
patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $a
done
mkdir -p $out/bin
cp $BINFILES $out/bin
+37
View File
@@ -0,0 +1,37 @@
{ stdenv, fetchurl, pythonPackages, lilypond, pyqt4 }:
pythonPackages.buildPythonPackage rec {
name = "frescobaldi-${version}";
version = "2.0.16";
src = fetchurl {
url = "https://github.com/wbsoft/frescobaldi/releases/download/"
+ "v2.0.16/${name}.tar.gz";
sha256 = "12pabvq5b2lq84q3kx8lh02zh6ali6v4wnin2k2ycnm45mk9ms6q";
};
propagatedBuildInputs = with pythonPackages; [ lilypond
pyqt4 poppler-qt4 ];
patches = [ ./setup.cfg.patch ./python-path.patch ];
meta = with stdenv.lib; {
homepage = http://frescobaldi.org/;
description = ''Frescobaldi is a LilyPond sheet music text editor'';
longDescription = ''
Powerful text editor with syntax highlighting and automatic completion,
Music view with advanced Point & Click, Midi player to proof-listen
LilyPond-generated MIDI files, Midi capturing to enter music,
Powerful Score Wizard to quickly setup a music score, Snippet Manager
to store and apply text snippets, templates or scripts, Use multiple
versions of LilyPond, automatically selects the correct version, Built-in
LilyPond documentation browser and built-in User Guide, Smart
layout-control functions like coloring specific objects in the PDF,
MusicXML import, Modern user iterface with configurable colors,
fonts and keyboard shortcuts
'';
license = licenses.gpl2Plus;
maintainers = [ maintainers.sepi ];
platforms = platforms.all;
};
}
+11
View File
@@ -0,0 +1,11 @@
diff -u frescobaldi-2.0.16.old/frescobaldi frescobaldi-2.0.16/frescobaldi
--- frescobaldi-2.0.16/frescobaldi 2014-10-24 11:29:28.705687224 +0200
+++ frescobaldi-2.0.16.new/frescobaldi 2014-10-24 11:31:08.086444793 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python
import sys
import frescobaldi_app.main
import app
Common subdirectories: frescobaldi-2.0.16/frescobaldi_app and frescobaldi-2.0.16.new/frescobaldi_app
Common subdirectories: frescobaldi-2.0.16/macosx and frescobaldi-2.0.16.new/macosx
+13
View File
@@ -0,0 +1,13 @@
Common subdirectories: frescobaldi-2.0.16.old/build and frescobaldi-2.0.16/build
Common subdirectories: frescobaldi-2.0.16.old/frescobaldi_app and frescobaldi-2.0.16/frescobaldi_app
Common subdirectories: frescobaldi-2.0.16.old/macosx and frescobaldi-2.0.16/macosx
diff -u frescobaldi-2.0.16.old/setup.cfg frescobaldi-2.0.16/setup.cfg
--- frescobaldi-2.0.16.old/setup.cfg 2012-02-05 07:08:24.000000000 +0100
+++ frescobaldi-2.0.16/setup.cfg 2014-10-24 15:08:48.141335620 +0200
@@ -1,6 +1,2 @@
-[bdist_wininst]
-bitmap=frescobaldi-wininst.bmp
-install-script=frescobaldi-wininst.py
-
[sdist]
force-manifest=1
+43 -72
View File
@@ -3,69 +3,18 @@
, libiconvOrEmpty
, x11Support ? false, x11 ? null
, cupsSupport ? false, cups ? null
, gnuFork ? true
}:
assert x11Support -> x11 != null;
assert cupsSupport -> cups != null;
let
meta_common = {
homepage = "http://www.gnu.org/software/ghostscript/";
description = "PostScript interpreter (GNU version)";
longDescription = ''
Ghostscript is the name of a set of tools that provides (i) an
interpreter for the PostScript language and the PDF file format,
(ii) a set of C procedures (the Ghostscript library) that
implement the graphics capabilities that appear as primitive
operations in the PostScript language, and (iii) a wide variety
of output drivers for various file formats and printers.
'';
license = stdenv.lib.licenses.gpl3Plus;
platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.viric ];
};
gnuForkSrc = rec {
name = "ghostscript-9.04.1";
src = fetchurl {
url = "mirror://gnu/ghostscript/gnu-${name}.tar.bz2";
sha256 = "0zqa6ggbkdqiszsywgrra4ij0sddlmrfa50bx2mh568qid4ga0a2";
};
meta = meta_common;
patches = [ ./purity.patch ];
};
mainlineSrc = rec {
name = "ghostscript-9.06";
src = fetchurl {
url = "http://downloads.ghostscript.com/public/${name}.tar.bz2";
sha256 = "014f10rxn4ihvcr1frby4szd1jvkrwvmdhnbivpp55c9fssx3b05";
};
meta = meta_common // {
homepage = "http://www.ghostscript.com/";
description = "PostScript interpreter (mainline version)";
};
preConfigure = ''
rm -R libpng jpeg lcms{,2} tiff freetype jbig2dec expat openjpeg
substituteInPlace base/unix-aux.mak --replace "INCLUDE=/usr/include" "INCLUDE=/no-such-path"
sed "s@if ( test -f \$(INCLUDE)[^ ]* )@if ( true )@" -i base/unix-aux.mak
'';
patches = [];
};
variant = if gnuFork then gnuForkSrc else mainlineSrc;
in
stdenv.mkDerivation rec {
inherit (variant) name src meta;
name = "ghostscript-9.15";
src = fetchurl {
url = "http://downloads.ghostscript.com/public/${name}.tar.bz2";
sha256 = "0p1isp6ssfay141klirn7n9s8b546vcz6paksfmksbwy0ljsypg6";
};
fonts = [
(fetchurl {
@@ -91,34 +40,56 @@ stdenv.mkDerivation rec {
# [] # maybe sometimes jpeg2000 support
;
CFLAGS = "-fPIC";
NIX_LDFLAGS =
"-lz -rpath${ if stdenv.isDarwin then " " else "="}${freetype}/lib";
patches = [ ./urw-font-files.patch ];
patches = variant.patches ++ [ ./urw-font-files.patch ];
preConfigure = ''
# "ijs" is impure: it contains symlinks to /usr/share/automake etc.!
rm -rf ijs/ltmain.sh
# Don't install stuff in the Cups store path.
makeFlagsArray=(CUPSSERVERBIN=$out/lib/cups CUPSSERVERROOT=$out/etc/cups CUPSDATA=$out/share/cups)
'' + stdenv.lib.optionalString (variant ? preConfigure) variant.preConfigure;
makeFlags = [ "cups_serverroot=$(out)" "cups_serverbin=$(out)/lib/cups" ];
configureFlags =
[ "--with-system-libtiff"
[ "--with-system-libtiff" "--disable-sse2"
"--enable-dynamic"
(if x11Support then "--with-x" else "--without-x")
(if cupsSupport then "--enable-cups --with-install-cups" else "--disable-cups")
(if cupsSupport then "--enable-cups" else "--disable-cups")
];
doCheck = true;
installTargets="install soinstall";
# ToDo: web says the fonts should be already included
#CFLAGS = "-fPIC";
#NIX_LDFLAGS =
# "-lz -rpath${ if stdenv.isDarwin then " " else "="}${freetype}/lib";
preConfigure = ''
rm -rf jpeg libpng zlib jasper expat tiff lcms{,2} jbig2dec openjpeg freetype cups/libs
sed "s@if ( test -f \$(INCLUDE)[^ ]* )@if ( true )@; s@INCLUDE=/usr/include@INCLUDE=/no-such-path@" -i base/unix-aux.mak
'';
postInstall = ''
# ToDo: web says the fonts should be already included
for i in $fonts; do
(cd $out/share/ghostscript && tar xvfz $i)
done
rm -rf $out/lib/cups/filter/{gstopxl,gstoraster}
'';
meta = {
homepage = "http://www.ghostscript.com/";
description = "PostScript interpreter (mainline version)";
longDescription = ''
Ghostscript is the name of a set of tools that provides (i) an
interpreter for the PostScript language and the PDF file format,
(ii) a set of C procedures (the Ghostscript library) that
implement the graphics capabilities that appear as primitive
operations in the PostScript language, and (iii) a wide variety
of output drivers for various file formats and printers.
'';
license = stdenv.lib.licenses.gpl3Plus;
platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.viric ];
};
}
-26
View File
@@ -1,26 +0,0 @@
Don't look for files under `/usr/include' since we don't have that directory
under NixOS.
--- gnu-ghostscript-8.64.0/base/unix-aux.mak 2009-04-19 19:00:20.000000000 +0200
+++ gnu-ghostscript-8.64.0/base/unix-aux.mak 2009-04-27 11:58:31.000000000 +0200
@@ -103,13 +103,13 @@ $(MKROMFS_XE): $(GLSRC)mkromfs.c $(MKROM
# The "else true;" is required because Ultrix's implementation of sh -e
# terminates execution of a command if any error occurs, even if the command
# traps the error with ||.
-INCLUDE=/usr/include
+INCLUDE=/no-such-path
$(gconfig__h): $(UNIX_AUX_MAK) $(ECHOGS_XE)
$(ECHOGS_XE) -w $(gconfig__h) -x 2f2a -s This file was generated automatically by unix-aux.mak. -s -x 2a2f
- if ( test -f $(INCLUDE)/dirent.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_DIRENT_H; else true; fi
- if ( test -f $(INCLUDE)/ndir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_NDIR_H; else true; fi
- if ( test -f $(INCLUDE)/sys/dir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_DIR_H; else true; fi
- if ( test -f $(INCLUDE)/sys/ndir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_NDIR_H; else true; fi
- if ( test -f $(INCLUDE)/sys/time.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_TIME_H; else true; fi
- if ( test -f $(INCLUDE)/sys/times.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_TIMES_H; else true; fi
+ if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_DIRENT_H; else true; fi
+ if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_NDIR_H; else true; fi
+ if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_DIR_H; else true; fi
+ if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_NDIR_H; else true; fi
+ if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_TIME_H; else true; fi
+ if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_TIMES_H; else true; fi
if ( test -f $(JSRCDIR)/jmemsys.h); then true; else $(ECHOGS_XE) -a $(gconfig__h) -x 23 define DONT_HAVE_JMEMSYS_H; fi
+3 -3
View File
@@ -1,4 +1,4 @@
{ composableDerivation, fetchurl }:
{ stdenv, composableDerivation, fetchurl }:
let edf = composableDerivation.edf;
name = "gxemul-0.4.6";
@@ -29,9 +29,9 @@ composableDerivation.composableDerivation {} {
configurePhase = "./configure";
meta = {
license = "BSD";
license = stdenv.lib.licenses.bsd3;
description = "A Machine Emulator, mainly emulates MIPS, but supports other CPU types";
homepage = http://gavare.se/gxemul/;
homepage = http://gxemul.sourceforge.net/;
};
mergeAttrBy = { installPhase = a : b : "${a}\n${b}"; };
+7 -6
View File
@@ -58,7 +58,7 @@
{ mkDerivation, substituteAll, pkgs }:
{ stdenv ? pkgs.stdenv, name, buildInputs ? []
, propagatedBuildInputs ? [], gcc ? stdenv.gcc, cTags ? [], extraCmds ? ""
, propagatedBuildInputs ? [], gcc ? stdenv.cc, cTags ? [], extraCmds ? ""
, cleanupCmds ? "", shell ? "${pkgs.bashInteractive}/bin/bash --norc"}:
mkDerivation {
@@ -72,20 +72,21 @@ mkDerivation {
phases = [ "buildPhase" "fixupPhase" ];
setupNew = substituteAll {
src = ../../stdenv/generic/setup.sh;
initialPath= (import ../../stdenv/common-path.nix) { inherit pkgs; };
inherit gcc;
};
buildPhase = ''
buildPhase = let
initialPath = import ../../stdenv/common-path.nix { inherit pkgs; };
in ''
set -x
mkdir -p "$out/dev-envs" "$out/nix-support" "$out/bin"
s="$out/nix-support/setup-new-modified"
cp "$setupNew" "$s"
# shut some warning up.., do not use set -e
sed -e 's@set -e@@' \
-e 's@assertEnvExists\s\+NIX_STORE@:@' \
-e 's@trap.*@@' \
-i "$s"
-e '1i initialPath="${toString initialPath}"' \
"$setupNew" > "$s"
cat >> "$out/dev-envs/''${name/env-/}" << EOF
nativeBuildInputs="$nativeBuildInputs"
propagatedBuildInputs="$propagatedBuildInputs2"
@@ -131,7 +132,7 @@ mkDerivation {
echo "\$tmp/script";
source "\$tmp/script";
fi
rm -fr "\$tmp"
${pkgs.coreutils}/bin/rm -fr "\$tmp"
${extraCmds}
nix_cleanup() {
+3 -3
View File
@@ -2,13 +2,13 @@
, libX11, pam, libgcrypt, libXrender, imlib2 }:
stdenv.mkDerivation rec {
date = "20140724";
date = "20141209";
name = "alock-${date}";
src = fetchgit {
url = https://github.com/Arkq/alock;
rev = "928ae09a85627570b7f6986fe161b71327405fc0";
sha256 = "0z605w2cf0pc988qq931b2zis6dqavm0wcjfdmr6q4vamvinjfv0";
rev = "5ab7e6014faa1659c2d55bf9734bfa3ce7137443";
sha256 = "07wf3vxh54ncxslp3zf8m7szpqbissxf8q9rs5zgvg333zdqd49s";
};
preConfigure = "autoreconf -fvi";
+13 -10
View File
@@ -2,23 +2,20 @@
stdenv.mkDerivation rec {
name = "xlockmore-5.43";
name = "xlockmore-5.45";
src = fetchurl {
url = "http://www.tux.org/~bagleyd/xlock/${name}/${name}.tar.bz2";
sha256 = "1l36n8x51j7lwdalv6yi37cil290vzd3djjqydhsm0pnm8hiz499";
sha256 = "1xqm61bbfn5q056w57vp16gvai8nqpcw570ysxlm5h46nh6ai0bz";
};
# Optionally, it can use GTK+.
buildInputs = [ pam x11 ];
# The `xlock' program needs to be linked against Glibc's
# `libgcrypt', which contains `crypt(3)'.
patches = [ ./makefile-libcrypt.patch ];
# Don't try to install `xlock' setuid. Password authentication works
# fine via PAM without super user privileges.
configureFlags =
" --with-crypt" # TODO: set --enable-appdefaultdir to a suitable value
" --with-crypt"
+ " --enable-appdefaultdir=$out/share/X11/app-defaults"
+ " --disable-setuid"
+ " --without-editres"
+ " --without-xpm"
@@ -38,9 +35,15 @@ stdenv.mkDerivation rec {
+ " --without-gtk"
+ (if pam != null then " --enable-pam --enable-bad-pam" else " --disable-pam");
meta = {
preConfigure = ''
configureFlags+=" --enable-appdefaultdir=$out/share/X11/app-defaults"
'';
meta = with stdenv.lib; {
description = "Screen locker for the X Window System";
homepage = "http://www.tux.org/~bagleyd/xlockmore.html";
license = "GPL";
homepage = http://www.tux.org/~bagleyd/xlockmore.html;
license = licenses.gpl2;
maintainers = with maintainers; [ pSub ];
platforms = platforms.linux;
};
}
@@ -1,11 +0,0 @@
--- xlockmore-5.24/modes/Makefile.in 2007-01-22 23:02:07.000000000 +0100
+++ xlockmore-5.24/modes/Makefile.in 2008-02-11 17:24:34.000000000 +0100
@@ -326,7 +326,7 @@ CFLAGS = @CFLAGS@
CXXFLAGS = @CXXFLAGS@
#CFLAGS = -O
#CFLAGS = -g
-XLOCKLDFLAGS = @XLOCKLDFLAGS@ $(CHECKLDFLAG)
+XLOCKLDFLAGS = @XLOCKLDFLAGS@ $(CHECKLDFLAG) -lcrypt
XLIBS = @XLIBS@
XLOCKLIBS = $(MODULELIB) @XLOCKLIBS@
@@ -4,12 +4,12 @@
}:
stdenv.mkDerivation rec {
version = "5.30";
version = "5.32";
name = "xscreensaver-${version}";
src = fetchurl {
url = "http://www.jwz.org/xscreensaver/${name}.tar.gz";
sha256 = "0ljx10fsypdddcx43lwhrwqa9ksp9djv7p4i1y7760m4frl1fw9p";
sha256 = "1gckra8lsd383av15r7lv9rszw6mp8n1gpcb5qs5nbrdkl3sclj2";
};
buildInputs =
+2 -2
View File
@@ -2,12 +2,12 @@
cmake, dbus_glib, glib, gtk, gdk_pixbuf, pkgconfig, xorg }:
stdenv.mkDerivation rec {
version = "1.4.5";
version = "1.4.6";
name = "oxygen-gtk2-${version}";
src = fetchurl {
url = "mirror://kde/stable/oxygen-gtk2/${version}/src/${name}.tar.bz2";
sha256 = "00ykq4aafakdkvww7kz84bvg9wc2gdji4m7z87f49hj1jxm84v2v";
sha256 = "09mz4szsz3yswbj0nbw6qzlc5bc4id0f9r6ifm60b5nc8x1l72d2";
};
buildInputs = [ cmake dbus_glib glib gtk gdk_pixbuf
@@ -0,0 +1,36 @@
{ stdenv, fetchurl, gtk }:
stdenv.mkDerivation rec {
version = "5.0.7";
name = "clearlooks-phenix-${version}";
src = fetchurl {
url = "http://github.com/jpfleury/clearlooks-phenix/archive/${version}.tar.gz";
sha256 = "107jx3p3zwzy8xy0m8hwzs1kp8j60xgc3dja27r3vwhb3x3y1i8k";
};
dontBuild = true;
installPhase = ''
mkdir -p $out/share/themes/Clearlooks-Phenix
cp -r . $out/share/themes/Clearlooks-Phenix/
'';
preferLocalBuild = true;
meta = with stdenv.lib; {
description = "GTK3 port of the Clearlooks theme";
longDescription = ''
The Clearlooks-Phénix project aims at creating a GTK3 port of Clearlooks,
the default theme for Gnome 2. Style is also included for GTK2, Unity and
for Metacity, Openbox and Xfwm4 window managers.
You should install this theme into your user profile and then set
GTK_DATA_PREFIX to `~/.nix-profile`.
'';
homepage = https://github.com/jpfleury/clearlooks-phenix;
downloadPage = https://github.com/jpfleury/clearlooks-phenix/releases;
license = licenses.gpl3;
maintainers = [ maintainers.prikhi ];
platforms = platforms.linux;
};
}
@@ -2,12 +2,12 @@
, cmake, dbus_glib, glib, gtk3, gdk_pixbuf, pkgconfig, xorg }:
stdenv.mkDerivation rec {
version = "1.4.0";
version = "1.4.1";
name = "oxygen-gtk3-${version}";
src = fetchurl {
url = "mirror://kde/stable/oxygen-gtk3/${version}/src/${name}.tar.bz2";
sha256 = "d119bcc94ffc04b67e7d238fc922b37f2904447085a06758451b8c0b0302ab80";
sha256 = "0pd7wjzh5xgd24yg6b2avaiz1aq6rmh13d7c0jclffkmhmy24r0f";
};
buildInputs = [ cmake dbus_glib glib gtk3 gdk_pixbuf
File diff suppressed because it is too large Load Diff
+55
View File
@@ -0,0 +1,55 @@
"vim-addon-syntax-checker"
"vim-addon-other"
"vim-addon-local-vimrc"
"snipmate"
"vim-snippets"
"vim-addon-mru"
"vim-addon-commenting"
"vim-addon-sql"
"vim-addon-async"
"vim-addon-toggle-buffer"
"vim-addon-mw-utils"
"matchit.zip"
"vim-addon-xdebug"
"vim-addon-php-manual"
"sourcemap.vim"
"vim-iced-coffee-script"
"ctrlp"
"commentary"
"Colour_Sampler_Pack"
"Solarized"
"vim-coffee-script"
"vim-easy-align"
"Tagbar"
"Tabular"
"table-mode"
"Syntastic"
"vim-signature"
"surround"
"Supertab"
"rust"
"rainbow_parentheses"
"pathogen"
"quickfixstatus"
"The_NERD_Commenter"
"The_NERD_tree"
"vim-latex-live-preview"
"Hoogle"
"Gundo"
"vim-gitgutter"
"Gist"
"ghcmod"
"fugitive"
"extradite"
"vim-airline"
"VimOutliner"
"vim2hs"
"undotree"
"UltiSnips"
"wombat256"
"vundle"
"WebAPI"
"YankRing"
"vim-addon-manager"
"vim-addon-nix"
"github:MarcWeber/vim-addon-vim2nix"
+384
View File
@@ -0,0 +1,384 @@
{stdenv, vim, vimPlugins, vim_configurable, buildEnv, writeText, writeScriptBin}:
/*
USAGE EXAMPLE
=============
Install Vim like this eg using nixos option environment.systemPackages which will provide
vim-with-plugins in PATH:
vim_configurable.customize {
name = "vim-with-plugins";
# add custom .vimrc lines like this:
vimrcConfig.customRC = ''
set hidden
'';
vimrcConfig.vam.knownPlugins = pkgs.vimPlugins; # optional
vimrcConfig.vam.pluginDictionaries = [
# load always
{ name = "youcompleteme"; }
{ names = ["youcompleteme" "foo"]; }
# only load when opening a .php file
{ name = "phpCompletion"; ft_regex = "^php\$"; }
{ name = "phpCompletion"; filename_regex = "^.php\$"; }
# provide plugin which can be loaded manually:
{ name = "phpCompletion"; tag = "lazy"; }
# full ducomentation at github.com/MarcWeber/vim-addon-manager
];
# there is a pathogen implementation as well, but its startup is slower and [VAM] has more feature
# vimrcConfig.pathogen.knownPlugins = vimPlugins; # optional
# vimrcConfig.pathogen.pluginNames = ["vim-addon-nix"];
};
WHAT IS A VIM PLUGIN?
=====================
Typical plugin files:
plugin/P1.vim
autoload/P1.vim
ftplugin/xyz.vim
doc/plugin-documentation.txt (traditional documentation)
README(.md) (nowadays thanks to github)
Vim offers the :h rtp setting which works for most plugins. Thus adding
this to your .vimrc should make most plugins work:
set rtp+=~/.nix-profile/share/vim-plugins/youcompleteme
" or for p in ["youcompleteme"] | exec 'set rtp+=~/.nix-profile/share/vim-plugins/'.p | endfor
which is what the [VAM]/pathogen solutions above basically do.
Learn about about plugin Vim plugin mm managers at
http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html.
The documentation can be accessed by Vim's :help command if it was tagged.
See vimHelpTags sample code below.
CONTRIBUTING AND CUSTOMIZING
============================
The example file pkgs/misc/vim-plugins/default.nix provides both:
* manually mantained plugins
* plugins created by VAM's nix#ExportPluginsForNix implementation
I highly recommend to lookup vim plugin attribute names at the [vim-pi] project
which is a database containing all plugins from
vim.org and quite a lot of found at github and similar sources. vim-pi's documented purpose
is to associate vim.org script ids to human readable names so that dependencies
can be describe easily.
How to find a name?
* http://vam.mawercer.de/ or VAM's
* grep vim-pi
* use VAM's completion or :AddonsInfo command
It might happen than a plugin is not known by vim-pi yet. We encourage you to
contribute to vim-pi so that plugins can be updated automatically.
CREATING DERVITATIONS AUTOMATICALLY BY PLUGIN NAME
==================================================
Most convenient is to use a ~/.vim-scripts file putting a plugin name into each line
as documented by [VAM]'s README.md
It is the same format you pass to vimrcConfig.vam.pluginDictionaries from the
usage example above.
Then create a temp vim file and insert:
let opts = {}
let opts.path_to_nixpkgs = '/etc/nixos/nixpkgs'
let opts.cache_file = '/tmp/export-vim-plugin-for-nix-cache-file'
let opts.plugin_dictionaries = map(readfile("vim-plugins"), 'eval(v:val)')
" add more files
" let opts.plugin_dictionaries += map(.. other file )
call nix#ExportPluginsForNix(opts)
Then ":source %" it.
nix#ExportPluginsForNix is provided by github.com/MarcWeber/vim-addon-vim2nix
A buffer will open containing the plugin derivation lines as well list
fitting the vimrcConfig.vam.pluginDictionaries option.
Thus the most simple usage would be:
vim_with_plugins =
let vim = vim_configurable;
inherit (vimUtil.override {inherit vim}) rtpPath addRtp buildVimPlugin vimHelpTags;
vimPlugins = [
# the derivation list from the buffer created by nix#ExportPluginsForNix
# don't set which will default to pkgs.vimPlugins
];
in vim.customize {
name = "vim-with-plugins";
vimrcConfig.customRC = '' .. '';
vimrcConfig.vam.knownPlugins = vimPlugins;
vimrcConfig.vam.pluginDictionaries = [
# the plugin list form ~/.vim-scripts turned into nix format added to
# the buffer created by the nix#ExportPluginsForNix
];
}
vim_with_plugins can be installed like any other application within Nix.
[VAM] https://github.com/MarcWeber/vim-addon-manager
[vim-pi] https://bitbucket.org/vimcommunity/vim-pi
*/
let
inherit (stdenv) lib;
findDependenciesRecursively = {knownPlugins, names}:
let depsOf = name: (builtins.getAttr name knownPlugins).dependencies or [];
recurseNames = path: names: lib.concatMap (name: recurse ([name]++path)) names;
recurse = path:
let name = builtins.head path;
in if builtins.elem name (builtins.tail path)
then throw "recursive vim dependencies"
else [name] ++ recurseNames path (depsOf name);
in lib.uniqList { inputList = recurseNames [] names; };
vimrcFile = {
vam ? null,
pathogen ? null,
customRC ? ""
}:
let
/* pathogen mostly can set &rtp at startup time. Its used very commonly.
*/
pathogenImpl = lib.optionalString (pathogen != null)
(let
knownPlugins = pathogen.knownPlugins or vimPlugins;
plugins = map (name: knownPlugins.${name}) (findDependenciesRecursively { inherit knownPlugins; names = pathogen.pluginNames; });
pluginsEnv = buildEnv {
name = "pathogen-plugin-env";
paths = map (x: "${x}/${vimPlugins.rtpPath}") plugins;
};
in
''
let &rtp.=(empty(&rtp)?"":',')."${vimPlugins.pathogen.rtp}"
execute pathogen#infect('${pluginsEnv}/{}')
'');
/*
vim-addon-manager = VAM
* maps names to plugin location
* manipulates &rtp at startup time
or when Vim has been running for a while
* can activate plugins laziy (eg when loading a specific filetype)
* knows about vim plugin dependencies (addon-info.json files)
* still is minimalistic (only loads one file), the "check out" code it also
has only gets loaded when a plugin is requested which is not found on disk
yet
*/
vamImpl = lib.optionalString (vam != null)
(let
knownPlugins = vam.knownPlugins or vimPlugins;
toNames = x:
if builtins.isString x then [x]
else (lib.optional (x ? name) x.name)
++ (x.names or []);
names = findDependenciesRecursively { inherit knownPlugins; names = lib.concatMap toNames vam.pluginDictionaries; };
# Vim almost reads JSON, so eventually JSON support should be added to Nix
# TODO: proper quoting
toNix = x:
if (builtins.isString x) then "'${x}'"
else if builtins.isAttrs x && builtins ? out then toNix "${x}" # a derivation
else if builtins.isAttrs x then "{${lib.concatStringsSep ", " (lib.mapAttrsToList (n: v: "${toNix n}: ${toNix v}") x)}}"
else if builtins.isList x then "[${lib.concatMapStringsSep ", " toNix x}]"
else throw "turning ${lib.showVal x} into a VimL thing not implemented yet";
in assert builtins.hasAttr "vim-addon-manager" knownPlugins;
''
let g:nix_plugin_locations = {}
${lib.concatMapStrings (name: ''
let g:nix_plugin_locations['${name}'] = "${knownPlugins.${name}.rtp}"
'') names}
let g:nix_plugin_locations['vim-addon-manager'] = "${knownPlugins."vim-addon-manager".rtp}"
let g:vim_addon_manager = {}
if exists('g:nix_plugin_locations')
" nix managed config
" override default function making VAM aware of plugin locations:
fun! NixPluginLocation(name)
let path = get(g:nix_plugin_locations, a:name, "")
return path == "" ? vam#DefaultPluginDirFromName(a:name) : path
endfun
let g:vim_addon_manager.plugin_dir_by_name = 'NixPluginLocation'
" tell Vim about VAM:
let &rtp.=(empty(&rtp)?"":','). g:nix_plugin_locations['vim-addon-manager']
else
" standalone config
let &rtp.=(empty(&rtp)?"":',').c.plugin_root_dir.'/vim-addon-manager'
if !isdirectory(c.plugin_root_dir.'/vim-addon-manager/autoload')
" checkout VAM
execute '!git clone --depth=1 git://github.com/MarcWeber/vim-addon-manager '
\ shellescape(c.plugin_root_dir.'/vim-addon-manager', 1)
endif
endif
" tell vam about which plugins to load when:
let l = []
${lib.concatMapStrings (p: "call add(l, ${toNix p})\n") vam.pluginDictionaries}
call vam#Scripts(l, {})
'');
# somebody else could provide these implementations
vundleImpl = "";
neobundleImpl = "";
in writeText "vimrc" ''
" minimal setup, generated by NIX
set nocompatible
filetype indent plugin on | syn on
${vamImpl}
${pathogenImpl}
${vundleImpl}
${neobundleImpl}
${customRC}
'';
in
rec {
inherit vimrcFile;
# shell script with custom name passing [-u vimrc] [-U gvimrc] to vim
vimWithRC = {vimExecutable, name ? null, vimrcFile ? null, gvimrcFile ? null}:
let rcOption = o: file: stdenv.lib.optionalString (file != null) "-${o} ${file}";
in writeScriptBin (if name == null then "vim" else name) ''
#!/bin/sh
exec ${vimExecutable} ${rcOption "u" vimrcFile} ${rcOption "U" gvimrcFile} "$@"
'';
# add a customize option to a vim derivation
makeCustomizable = vim: vim // {
customize = {name, vimrcConfig}: vimWithRC {
vimExecutable = "${vim}/bin/vim";
inherit name;
vimrcFile = vimrcFile vimrcConfig;
};
};
pluginnames2Nix = {name, namefiles} : vim_configurable.customize {
inherit name;
vimrcConfig.vam.knownPlugins = vimPlugins;
vimrcConfig.vam.pluginDictionaries = ["github:MarcWeber/vim-addon-vim2nix"];
vimrcConfig.customRC = ''
" Yes - this is impure and will create the cache file and checkout vim-pi
" into ~/.vim/vim-addons
let g:vim_addon_manager.plugin_root_dir = "/tmp/vim2nix-".$USER
if !isdirectory(g:vim_addon_manager.plugin_root_dir)
call mkdir(g:vim_addon_manager.plugin_root_dir)
else
echom repeat("=", 80)
echom "WARNING: reusing cache directory :".g:vim_addon_manager.plugin_root_dir
echom repeat("=", 80)
endif
let opts = {}
let opts.nix_prefetch_git = "${../../../pkgs/build-support/fetchgit/nix-prefetch-git}"
let opts.nix_prefetch_hg = "${../../../pkgs/build-support/fetchhg/nix-prefetch-hg}"
let opts.cache_file = g:vim_addon_manager.plugin_root_dir.'/cache'
let opts.plugin_dictionaries = []
${lib.concatMapStrings (file: "let opts.plugin_dictionaries += map(readfile(\"${file}\"), 'eval(v:val)')\n") namefiles }
" uncomment for debugging failures
" let opts.try_catch = 0
" add more files
" let opts.plugin_dictionaries += map(.. other file )
call nix#ExportPluginsForNix(opts)
'';
};
rtpPath = "share/vim-plugins";
vimHelpTags = ''
vimHelpTags(){
if [ -d "$1/doc" ]; then
${vim}/bin/vim -N -u NONE -i NONE -n -e -s -c "helptags $1/doc" +quit!
fi
}
'';
addRtp = path: derivation:
derivation // { rtp = "${derivation}/${path}"; };
buildVimPlugin = a@{
name,
namePrefix ? "vimplugin-",
src,
unpackPhase ? "",
configurePhase ? "",
buildPhase ? "",
path ? (builtins.parseDrvName name).name,
addonInfo ? null,
...
}:
addRtp "${rtpPath}/${path}" (stdenv.mkDerivation (a // {
name = namePrefix + name;
inherit unpackPhase configurePhase buildPhase addonInfo;
installPhase = ''
target=$out/${rtpPath}/${path}
mkdir -p $out/${rtpPath}
cp -r . $target
${vimHelpTags}
vimHelpTags $target
if [ -n "$addonInfo" ]; then
echo "$addonInfo" > $target/addon-info.json
fi
'';
}));
buildVimPluginFrom2Nix = a: buildVimPlugin ({
buildPhase = ":";
configurePhase =":";
} // a);
# test cases:
test_vim_with_vim_addon_nix_using_vam = vim_configurable.customize {
name = "vim-with-vim-addon-nix-using-vam";
vimrcConfig.vam.pluginDictionaries = [{name = "vim-addon-nix"; }];
};
test_vim_with_vim_addon_nix_using_pathogen = vim_configurable.customize {
name = "vim-with-vim-addon-nix-using-pathogen";
vimrcConfig.pathogen.pluginNames = [ "vim-addon-nix" ];
};
}